diff --git a/src/TEST#FE1000 b/src/TEST#FE1000 deleted file mode 100644 index b3d7349..0000000 Binary files a/src/TEST#FE1000 and /dev/null differ diff --git a/src/TESTLIB#FE1000 b/src/TESTLIB#FE1000 deleted file mode 100644 index db5864a..0000000 Binary files a/src/TESTLIB#FE1000 and /dev/null differ diff --git a/src/libsrc/apple/conio.a b/src/libsrc/apple/conio.a deleted file mode 100644 index 1e183a8..0000000 --- a/src/libsrc/apple/conio.a +++ /dev/null @@ -1,1932 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0003: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0004: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0005: const ECHO_ON = $80 - ; ECHO_ON = 128 -; inc/conio.plh: 0006: const ECHO_OFF = $00 - ; ECHO_OFF = 0 -; inc/conio.plh: 0007: struc t_conio -; inc/conio.plh: 0008: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0009: word getkey - ; getkey = 2 -; inc/conio.plh: 0010: word echo - ; echo = 4 -; inc/conio.plh: 0011: word home - ; home = 6 -; inc/conio.plh: 0012: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0013: word viewport - ; viewport = 10 -; inc/conio.plh: 0014: word texttype - ; texttype = 12 -; inc/conio.plh: 0015: word textmode - ; textmode = 14 -; inc/conio.plh: 0016: word grmode - ; grmode = 16 -; inc/conio.plh: 0017: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0018: word grplot - ; grplot = 20 -; inc/conio.plh: 0019: word tone - ; tone = 22 -; inc/conio.plh: 0020: word rnd - ; rnd = 24 -; inc/conio.plh: 0021: end - ; t_conio = 26 -; inc/conio.plh: 0022: 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 speaker = $C030 - ; speaker = 49200 -; libsrc/apple/conio.pla: 0019: const showgraphics = $C050 - ; showgraphics = 49232 -; libsrc/apple/conio.pla: 0020: const showtext = $C051 - ; showtext = 49233 -; libsrc/apple/conio.pla: 0021: const showfull = $C052 - ; showfull = 49234 -; libsrc/apple/conio.pla: 0022: const showmix = $C053 - ; showmix = 49235 -; libsrc/apple/conio.pla: 0023: const showpage1 = $C054 - ; showpage1 = 49236 -; libsrc/apple/conio.pla: 0024: const showpage2 = $C055 - ; showpage2 = 49237 -; libsrc/apple/conio.pla: 0025: const showlores = $C056 - ; showlores = 49238 -; libsrc/apple/conio.pla: 0026: const showhires = $C057 - ; showhires = 49239 -; libsrc/apple/conio.pla: 0027: const keyboard = $C000 - ; keyboard = 49152 -; libsrc/apple/conio.pla: 0028: const keystrobe = $C010 - ; keystrobe = 49168 -; libsrc/apple/conio.pla: 0029: const hgr1 = $2000 - ; hgr1 = 8192 -; libsrc/apple/conio.pla: 0030: const hgr2 = $4000 - ; hgr2 = 16384 -; libsrc/apple/conio.pla: 0031: const page1 = 0 - ; page1 = 0 -; libsrc/apple/conio.pla: 0032: const page2 = 1 - ; page2 = 1 -; libsrc/apple/conio.pla: 0033: // -; libsrc/apple/conio.pla: 0034: // Apple III hardware constants. -; libsrc/apple/conio.pla: 0035: // -; libsrc/apple/conio.pla: 0036: const ENV_REG = $FFDF - ; ENV_REG = 65503 -; libsrc/apple/conio.pla: 0037: // -; libsrc/apple/conio.pla: 0038: // Predefined functions. -; libsrc/apple/conio.pla: 0039: // -; libsrc/apple/conio.pla: 0040: predef a2keypressed,a2home,a12echo(state),a2gotoxy(x,y),a2viewport(left, top, width, height),a2texttype(type) -; libsrc/apple/conio.pla: 0041: predef a2textmode(cols),a2grmode(mix),a2grcolor(color),a2grplot(x,y),a2tone(duration, delay),a2rnd -; libsrc/apple/conio.pla: 0042: // -; libsrc/apple/conio.pla: 0043: // Exported function table. -; libsrc/apple/conio.pla: 0044: // -; libsrc/apple/conio.pla: 0045: word conio[] -_D040 ; conio[] -; libsrc/apple/conio.pla: 0046: // -; libsrc/apple/conio.pla: 0047: // Function pointers. -; libsrc/apple/conio.pla: 0048: // -; libsrc/apple/conio.pla: 0049: word = @a2keypressed -_F000 !WORD _P000 -; libsrc/apple/conio.pla: 0050: word = @getc -_F001 !WORD 0 ; _X006 -; libsrc/apple/conio.pla: 0051: word = @a12echo -_F002 !WORD _P002 -; libsrc/apple/conio.pla: 0052: word = @a2home -_F003 !WORD _P001 -; libsrc/apple/conio.pla: 0053: word = @a2gotoxy -_F004 !WORD _P003 -; libsrc/apple/conio.pla: 0054: word = @a2viewport -_F005 !WORD _P004 -; libsrc/apple/conio.pla: 0055: word = @a2texttype -_F006 !WORD _P005 -; libsrc/apple/conio.pla: 0056: word = @a2textmode -_F007 !WORD _P006 -; libsrc/apple/conio.pla: 0057: word = @a2grmode -_F008 !WORD _P007 -; libsrc/apple/conio.pla: 0058: word = @a2grcolor -_F009 !WORD _P008 -; libsrc/apple/conio.pla: 0059: word = @a2grplot -_F010 !WORD _P009 -; libsrc/apple/conio.pla: 0060: word = @a2tone -_F011 !WORD _P010 -; libsrc/apple/conio.pla: 0061: word = @a2rnd -_F012 !WORD _P011 -; libsrc/apple/conio.pla: 0062: // -; libsrc/apple/conio.pla: 0063: // Screen row address arrays. -; libsrc/apple/conio.pla: 0064: // -; libsrc/apple/conio.pla: 0065: word txt1scrn[] = $0400,$0480,$0500,$0580,$0600,$0680,$0700,$0780 -_D041 ; 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: 0066: 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: 0067: 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: 0068: word txt2scrn[] = $0800,$0880,$0900,$0980,$0A00,$0A80,$0B00,$0B80 -_D042 ; 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: 0069: 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: 0070: 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: 0071: // -; libsrc/apple/conio.pla: 0072: // Text screen parameters. -; libsrc/apple/conio.pla: 0073: // -; libsrc/apple/conio.pla: 0074: //byte textcols = 40 -; libsrc/apple/conio.pla: 0075: //byte curshpos = 0 -; libsrc/apple/conio.pla: 0076: //byte cursvpos = 0 -; libsrc/apple/conio.pla: 0077: // -; libsrc/apple/conio.pla: 0078: // Apple 3 console codes. -; libsrc/apple/conio.pla: 0079: // -; libsrc/apple/conio.pla: 0080: byte textbwmode[] = 2, 16, 0 -_D043 ; textbwmode[] = 2, 16, 0 - !BYTE $02 - !BYTE $10 - !BYTE $00 -; libsrc/apple/conio.pla: 0081: byte textclrmode[] = 2, 16, 1 -_D044 ; textclrmode[] = 2, 16, 1 - !BYTE $02 - !BYTE $10 - !BYTE $01 -; libsrc/apple/conio.pla: 0082: byte grcharset[] = 1, 0, $7F, $7F, $7F, $7F, $00, $00, $00, $00 -_D045 ; 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: 0083: // -; libsrc/apple/conio.pla: 0084: // Random number for Apple 1 and III. -; libsrc/apple/conio.pla: 0085: // -; libsrc/apple/conio.pla: 0086: word randnum = 12345 -_D046 ; randnum = 12345 - !WORD $3039 -; libsrc/apple/conio.pla: 0087: // -; libsrc/apple/conio.pla: 0088: // Native routines. -; libsrc/apple/conio.pla: 0089: // -; libsrc/apple/conio.pla: 0090: asm equates -_A000 ; equates() -; libsrc/apple/conio.pla: 0091: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/conio.pla: 0092: end -; libsrc/apple/conio.pla: 0093: // -; libsrc/apple/conio.pla: 0094: // def grscrn(rowaddrs) -; libsrc/apple/conio.pla: 0095: // -; libsrc/apple/conio.pla: 0096: asm a2grscrn(rowaddrs) -_A001 ; a2grscrn() -; libsrc/apple/conio.pla: 0097: GRSCRN = $26 -GRSCRN = $26 -; libsrc/apple/conio.pla: 0098: GRSCRNL = GRSCRN -GRSCRNL = GRSCRN -; libsrc/apple/conio.pla: 0099: GRSCRNH = GRSCRNL+1 -GRSCRNH = GRSCRNL+1 -; libsrc/apple/conio.pla: 0100: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/conio.pla: 0101: STA GRSCRNL - STA GRSCRNL -; libsrc/apple/conio.pla: 0102: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/conio.pla: 0103: STA GRSCRNH - STA GRSCRNH -; libsrc/apple/conio.pla: 0104: RTS - RTS -; libsrc/apple/conio.pla: 0105: end -; libsrc/apple/conio.pla: 0106: // -; libsrc/apple/conio.pla: 0107: // def grcolor(color) -; libsrc/apple/conio.pla: 0108: // -; libsrc/apple/conio.pla: 0109: asm a2grcolor(color) -_P008 ; a2grcolor(color)() -_A002 ; a2grcolor() -; libsrc/apple/conio.pla: 0110: GRCLR = $30 -GRCLR = $30 -; libsrc/apple/conio.pla: 0111: LDA #$0F - LDA #$0F -; libsrc/apple/conio.pla: 0112: AND ESTKL,X - AND ESTKL,X -; libsrc/apple/conio.pla: 0113: STA GRCLR - STA GRCLR -; libsrc/apple/conio.pla: 0114: ASL - ASL -; libsrc/apple/conio.pla: 0115: ASL - ASL -; libsrc/apple/conio.pla: 0116: ASL - ASL -; libsrc/apple/conio.pla: 0117: ASL - ASL -; libsrc/apple/conio.pla: 0118: ORA GRCLR - ORA GRCLR -; libsrc/apple/conio.pla: 0119: STA GRCLR - STA GRCLR -; libsrc/apple/conio.pla: 0120: RTS - RTS -; libsrc/apple/conio.pla: 0121: end -; libsrc/apple/conio.pla: 0122: // -; libsrc/apple/conio.pla: 0123: // def grplot(x, y) -; libsrc/apple/conio.pla: 0124: // -; libsrc/apple/conio.pla: 0125: asm a2grplot(x, y) -_P009 ; a2grplot(x, y)() -_A003 ; a2grplot() -; libsrc/apple/conio.pla: 0126: STY IPY - STY IPY -; libsrc/apple/conio.pla: 0127: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/conio.pla: 0128: AND #$FE - AND #$FE -; libsrc/apple/conio.pla: 0129: CMP ESTKL,X - CMP ESTKL,X -; libsrc/apple/conio.pla: 0130: TAY - TAY -; libsrc/apple/conio.pla: 0131: LDA (GRSCRN),Y - LDA (GRSCRN),Y -; libsrc/apple/conio.pla: 0132: STA DSTL - STA DSTL -; libsrc/apple/conio.pla: 0133: INY - INY -; libsrc/apple/conio.pla: 0134: LDA (GRSCRN),Y - LDA (GRSCRN),Y -; libsrc/apple/conio.pla: 0135: STA DSTH - STA DSTH -; libsrc/apple/conio.pla: 0136: LDY ESTKL+1,X - LDY ESTKL+1,X -; libsrc/apple/conio.pla: 0137: LDA (DST),Y - LDA (DST),Y -; libsrc/apple/conio.pla: 0138: EOR GRCLR - EOR GRCLR -; libsrc/apple/conio.pla: 0139: STA TMPL - STA TMPL -; libsrc/apple/conio.pla: 0140: LDA #$FF - LDA #$FF -; libsrc/apple/conio.pla: 0141: ADC #$00 - ADC #$00 -; libsrc/apple/conio.pla: 0142: EOR #$F0 - EOR #$F0 -; libsrc/apple/conio.pla: 0143: AND TMPL - AND TMPL -; libsrc/apple/conio.pla: 0144: EOR GRCLR - EOR GRCLR -; libsrc/apple/conio.pla: 0145: STA (DST),Y - STA (DST),Y -; libsrc/apple/conio.pla: 0146: LDY IPY - LDY IPY -; libsrc/apple/conio.pla: 0147: INX - INX -; libsrc/apple/conio.pla: 0148: RTS - RTS -; libsrc/apple/conio.pla: 0149: end -; libsrc/apple/conio.pla: 0150: // -; libsrc/apple/conio.pla: 0151: // Apple 1 routines. -; libsrc/apple/conio.pla: 0152: // -; libsrc/apple/conio.pla: 0153: def a1keypressed - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; a1keypressed() -; libsrc/apple/conio.pla: 0154: return ^$D011 >= 128 - !BYTE $68,$11,$D0 ; LAB 53265 - !BYTE $2A,$80 ; CB 128 - !BYTE $48 ; ISGE - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 0155: end -; libsrc/apple/conio.pla: 0156: def a12echo(state) - ; state -> [0] -_P002 ; a12echo(state)() -_C001 ; a12echo() -; libsrc/apple/conio.pla: 0157: return 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0158: end -; libsrc/apple/conio.pla: 0159: def a1home -_C002 ; a1home() -; libsrc/apple/conio.pla: 0160: byte l - ; l -> [0] -; libsrc/apple/conio.pla: 0161: for l = 0 to 23 - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $2A,$17 ; CB 23 - !BYTE $00 ; CN 0 -_B002 - !BYTE $6C,$00 ; DLB [0] -; libsrc/apple/conio.pla: 0162: putln -; libsrc/apple/conio.pla: 0163: next - !BYTE $54 ; CALL _X003 -_F013 !WORD 0 -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0164: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$01 ; LEAVE 1 -; libsrc/apple/conio.pla: 0165: end -; libsrc/apple/conio.pla: 0166: def a1gotoxy(x, y) - ; x -> [0] - ; y -> [2] -_C003 ; a1gotoxy() -; libsrc/apple/conio.pla: 0167: //curshpos = x -; libsrc/apple/conio.pla: 0168: //cursvpos = y -; libsrc/apple/conio.pla: 0169: putln - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/conio.pla: 0170: while x - !BYTE $54 ; CALL _X003 -_F014 !WORD 0 - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B004 -; libsrc/apple/conio.pla: 0171: putc(' ') -; libsrc/apple/conio.pla: 0172: x = x - 1 -; libsrc/apple/conio.pla: 0173: loop - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F015 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $76,$00 ; SLW [0] -_B006 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B004 - !WORD _B004-* -_B005 -; libsrc/apple/conio.pla: 0174: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/conio.pla: 0175: end -; libsrc/apple/conio.pla: 0176: def a1viewport(left, top, width, height) - ; left -> [0] - ; top -> [2] - ; width -> [4] - ; height -> [6] -_C004 ; a1viewport() -; libsrc/apple/conio.pla: 0177: return 0 - !BYTE $58,$08,$04 ; ENTER 8,4 - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/conio.pla: 0178: end -; libsrc/apple/conio.pla: 0179: def a1texttype(type) - ; type -> [0] -_C005 ; a1texttype() -; libsrc/apple/conio.pla: 0180: return 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0181: end -; libsrc/apple/conio.pla: 0182: def a1textmode(columns) - ; columns -> [0] -_C006 ; a1textmode() -; libsrc/apple/conio.pla: 0183: return 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0184: end -; libsrc/apple/conio.pla: 0185: def a1grmode(mix) - ; mix -> [0] -_C007 ; a1grmode() -; libsrc/apple/conio.pla: 0186: return 0 // not supported - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0187: end -; libsrc/apple/conio.pla: 0188: def a1tone(duration, delay) - ; duration -> [0] - ; delay -> [2] -_C008 ; a1tone() -; libsrc/apple/conio.pla: 0189: byte i - ; i -> [4] -; libsrc/apple/conio.pla: 0190: -; libsrc/apple/conio.pla: 0191: while duration - !BYTE $58,$05,$02 ; ENTER 5,2 - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -_B007 -; libsrc/apple/conio.pla: 0192: for i = delay downto 0; next - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $A2 ; BRLT _B010 - !WORD _B010-* -_B011 - !BYTE $6C,$04 ; DLB [4] -_B012 - !BYTE $A8 ; DECBRGE _B011 - !WORD _B011-* -_B010 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0193: duration-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; libsrc/apple/conio.pla: 0194: loop - !BYTE $76,$00 ; SLW [0] -_B009 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B007 - !WORD _B007-* -_B008 -; libsrc/apple/conio.pla: 0195: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/conio.pla: 0196: end -; libsrc/apple/conio.pla: 0197: // -; libsrc/apple/conio.pla: 0198: // Apple II routines. -; libsrc/apple/conio.pla: 0199: // -; libsrc/apple/conio.pla: 0200: def a2keypressed -_P000 ; a2keypressed() -_C009 ; a2keypressed() -; libsrc/apple/conio.pla: 0201: return ^keyboard >= 128 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $2A,$80 ; CB 128 - !BYTE $48 ; ISGE - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 0202: end -; libsrc/apple/conio.pla: 0203: def a2home -_P001 ; a2home() -_C010 ; a2home() -; libsrc/apple/conio.pla: 0204: //curshpos = 0 -; libsrc/apple/conio.pla: 0205: //cursvpos = 0 -; libsrc/apple/conio.pla: 0206: return call($FC58, 0, 0, 0, 0) // home() - !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 -_F016 !WORD 0 - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 0207: end -; libsrc/apple/conio.pla: 0208: def a2gotoxy(x, y) - ; x -> [0] - ; y -> [2] -_P003 ; a2gotoxy(x, y)() -_C011 ; a2gotoxy() -; libsrc/apple/conio.pla: 0209: //curshpos = x -; libsrc/apple/conio.pla: 0210: //cursvpos = y -; libsrc/apple/conio.pla: 0211: ^$24 = x + ^$20 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/conio.pla: 0212: return call($FB5B, y + ^$22, 0, 0, 0) - !BYTE $66,$00 ; LLW [0] - !BYTE $B4,$20,$00 ; ADDAB 32 - !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 -_F017 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/conio.pla: 0213: end -; libsrc/apple/conio.pla: 0214: def a2viewport(left, top, width, height) - ; left -> [0] - ; top -> [2] - ; width -> [4] - ; height -> [6] -_P004 ; a2viewport(left, top, width, height)() -_C012 ; a2viewport() -; libsrc/apple/conio.pla: 0215: if !width or !height - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/conio.pla: 0216: left = 0 -; libsrc/apple/conio.pla: 0217: top = 0 -; libsrc/apple/conio.pla: 0218: width = 40 -; libsrc/apple/conio.pla: 0219: height = 24 -; libsrc/apple/conio.pla: 0220: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B013 - !WORD _B013-* - !BYTE $66,$06 ; LLW [6] - !BYTE $80 ; NOT -_B013 - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !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] -_B014 -_B015 -; libsrc/apple/conio.pla: 0221: ^$20 = left -; libsrc/apple/conio.pla: 0222: ^$21 = width -; libsrc/apple/conio.pla: 0223: ^$22 = top -; libsrc/apple/conio.pla: 0224: ^$23 = height + top - 1 -; libsrc/apple/conio.pla: 0225: return a2gotoxy(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 $8E ; DECR - !BYTE $78,$23,$00 ; SAB 35 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C011 -_F018 !WORD _C011 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/conio.pla: 0226: end -; libsrc/apple/conio.pla: 0227: def a2texttype(type) - ; type -> [0] -_P005 ; a2texttype(type)() -_C013 ; a2texttype() -; libsrc/apple/conio.pla: 0228: ^$32 = type - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/conio.pla: 0229: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $78,$32,$00 ; SAB 50 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0230: end -; libsrc/apple/conio.pla: 0231: def a2textmode(columns) - ; columns -> [0] -_P006 ; a2textmode(columns)() -_C014 ; a2textmode() -; libsrc/apple/conio.pla: 0232: call($FB39, 0, 0, 0, 0) // textmode() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/conio.pla: 0233: return a2home - !BYTE $2C,$39,$FB ; CW 64313 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F019 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C010 -_F020 !WORD _C010 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0234: end -; libsrc/apple/conio.pla: 0235: def a2grmode(mix) - ; mix -> [0] -_P007 ; a2grmode(mix)() -_C015 ; a2grmode() -; libsrc/apple/conio.pla: 0236: call($FB2F, 0, 0, 0, 0) // initmode() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/conio.pla: 0237: call($FB40, 0, 0, 0, 0) // grmode() -; libsrc/apple/conio.pla: 0238: if !mix -; libsrc/apple/conio.pla: 0239: ^showfull -; libsrc/apple/conio.pla: 0240: fin - !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 -_F021 !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 -_F022 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B016 - !WORD _B016-* - !BYTE $68,$52,$C0 ; LAB 49234 - !BYTE $30 ; DROP -_B016 -_B017 -; libsrc/apple/conio.pla: 0241: a2home -; libsrc/apple/conio.pla: 0242: return a2grscrn(@txt1scrn) // point to lo-res screen - !BYTE $54 ; CALL _C010 -_F023 !WORD _C010 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D041+0 -_F024 !WORD _D041+0 - !BYTE $54 ; CALL _A001 -_F025 !WORD _A001 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0243: end -; libsrc/apple/conio.pla: 0244: def a2tone(duration, delay) - ; duration -> [0] - ; delay -> [2] -_P010 ; a2tone(duration, delay)() -_C016 ; a2tone() -; libsrc/apple/conio.pla: 0245: byte i - ; i -> [4] -; libsrc/apple/conio.pla: 0246: -; libsrc/apple/conio.pla: 0247: while duration - !BYTE $58,$05,$02 ; ENTER 5,2 - !BYTE $50 ; BRNCH _B020 - !WORD _B020-* -_B018 -; libsrc/apple/conio.pla: 0248: ^speaker // toggle speaker -; libsrc/apple/conio.pla: 0249: 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 _B021 - !WORD _B021-* -_B022 - !BYTE $6C,$04 ; DLB [4] -_B023 - !BYTE $A8 ; DECBRGE _B022 - !WORD _B022-* -_B021 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0250: duration-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; libsrc/apple/conio.pla: 0251: loop - !BYTE $76,$00 ; SLW [0] -_B020 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B018 - !WORD _B018-* -_B019 -; libsrc/apple/conio.pla: 0252: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/conio.pla: 0253: end -; libsrc/apple/conio.pla: 0254: def a2rnd -_P011 ; a2rnd() -_C017 ; a2rnd() -; libsrc/apple/conio.pla: 0255: *a2rndnum = (*a2rndnum << 1) + *a2rndnum + 123 -; libsrc/apple/conio.pla: 0256: return *a2rndnum & $7FFF - !BYTE $6A,$4E,$00 ; LAW 78 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $B6,$4E,$00 ; ADDAW 78 - !BYTE $38,$7B ; ADDI 123 - !BYTE $7E,$4E,$00 ; DAW 78 - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 0257: end -; libsrc/apple/conio.pla: 0258: // -; libsrc/apple/conio.pla: 0259: // Apple III routines. -; libsrc/apple/conio.pla: 0260: // -; libsrc/apple/conio.pla: 0261: def dev_control(devnum, code, list) - ; devnum -> [0] - ; code -> [2] - ; list -> [4] -_C018 ; dev_control() -; libsrc/apple/conio.pla: 0262: byte params[5] - ; params -> [6] -; libsrc/apple/conio.pla: 0263: -; libsrc/apple/conio.pla: 0264: params.0 = 3 - !BYTE $58,$0B,$03 ; ENTER 11,3 -; libsrc/apple/conio.pla: 0265: params.1 = devnum -; libsrc/apple/conio.pla: 0266: params.2 = code -; libsrc/apple/conio.pla: 0267: params:3 = list -; libsrc/apple/conio.pla: 0268: 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 _X011 -_F026 !WORD 0 - !BYTE $5A,$0B ; LEAVE 11 -; libsrc/apple/conio.pla: 0269: end -; libsrc/apple/conio.pla: 0270: def dev_status(devnum, code, list) - ; devnum -> [0] - ; code -> [2] - ; list -> [4] -_C019 ; dev_status() -; libsrc/apple/conio.pla: 0271: byte params[5] - ; params -> [6] -; libsrc/apple/conio.pla: 0272: -; libsrc/apple/conio.pla: 0273: params.0 = 3 - !BYTE $58,$0B,$03 ; ENTER 11,3 -; libsrc/apple/conio.pla: 0274: params.1 = devnum -; libsrc/apple/conio.pla: 0275: params.2 = code -; libsrc/apple/conio.pla: 0276: params:3 = list -; libsrc/apple/conio.pla: 0277: return syscall($82, @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,$82 ; CB 130 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F027 !WORD 0 - !BYTE $5A,$0B ; LEAVE 11 -; libsrc/apple/conio.pla: 0278: end -; libsrc/apple/conio.pla: 0279: def a3keypressed -_C020 ; a3keypressed() -; libsrc/apple/conio.pla: 0280: byte count - ; count -> [0] -; libsrc/apple/conio.pla: 0281: dev_status(cmdsys.devcons, 5, @count) - !BYTE $58,$01,$00 ; ENTER 1,0 -; libsrc/apple/conio.pla: 0282: return count - !BYTE $68 ; LAB _X000+20 -_F028 !WORD 0+20 - !BYTE $0A ; CN 5 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C019 -_F029 !WORD _C019 - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $5A,$01 ; LEAVE 1 -; libsrc/apple/conio.pla: 0283: end -; libsrc/apple/conio.pla: 0284: def a3echo(state) - ; state -> [0] -_C021 ; a3echo() -; libsrc/apple/conio.pla: 0285: return dev_control(cmdsys.devcons, 11, @state) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $68 ; LAB _X000+20 -_F030 !WORD 0+20 - !BYTE $16 ; CN 11 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C018 -_F031 !WORD _C018 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0286: end -; libsrc/apple/conio.pla: 0287: def a3home -_C022 ; a3home() -; libsrc/apple/conio.pla: 0288: //curshpos = 0 -; libsrc/apple/conio.pla: 0289: //cursvpos = 0 -; libsrc/apple/conio.pla: 0290: putc(28) -; libsrc/apple/conio.pla: 0291: return 0 - !BYTE $2A,$1C ; CB 28 - !BYTE $54 ; CALL _X002 -_F032 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 0292: end -; libsrc/apple/conio.pla: 0293: def a3gotoxy(x, y) - ; x -> [0] - ; y -> [2] -_C023 ; a3gotoxy() -; libsrc/apple/conio.pla: 0294: //curshpos = x -; libsrc/apple/conio.pla: 0295: //cursvpos = y -; libsrc/apple/conio.pla: 0296: putc(24) - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/conio.pla: 0297: putc(x) -; libsrc/apple/conio.pla: 0298: putc(25) -; libsrc/apple/conio.pla: 0299: putc(y) -; libsrc/apple/conio.pla: 0300: return 0 - !BYTE $2A,$18 ; CB 24 - !BYTE $54 ; CALL _X002 -_F033 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X002 -_F034 !WORD 0 - !BYTE $2A,$19 ; CB 25 - !BYTE $54 ; CALL _X002 -_F035 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X002 -_F036 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/conio.pla: 0301: end -; libsrc/apple/conio.pla: 0302: def a3viewport(left, top, width, height) - ; left -> [0] - ; top -> [2] - ; width -> [4] - ; height -> [6] -_C024 ; a3viewport() -; libsrc/apple/conio.pla: 0303: if !width or !height - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/conio.pla: 0304: // -; libsrc/apple/conio.pla: 0305: // Reset the full-screen viewport -; libsrc/apple/conio.pla: 0306: // -; libsrc/apple/conio.pla: 0307: left = 0 -; libsrc/apple/conio.pla: 0308: top = 0 -; libsrc/apple/conio.pla: 0309: width = 40//textcols -; libsrc/apple/conio.pla: 0310: height = 24 -; libsrc/apple/conio.pla: 0311: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B024 - !WORD _B024-* - !BYTE $66,$06 ; LLW [6] - !BYTE $80 ; NOT -_B024 - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* - !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] -_B025 -_B026 -; libsrc/apple/conio.pla: 0312: putc(1) // Reset viewport -; libsrc/apple/conio.pla: 0313: putc(26) -; libsrc/apple/conio.pla: 0314: putc(left) -; libsrc/apple/conio.pla: 0315: putc(top) -; libsrc/apple/conio.pla: 0316: putc(2) -; libsrc/apple/conio.pla: 0317: putc(26) -; libsrc/apple/conio.pla: 0318: putc(left + width - 1) -; libsrc/apple/conio.pla: 0319: putc(top + height - 1) -; libsrc/apple/conio.pla: 0320: putc(3) -; libsrc/apple/conio.pla: 0321: return a3gotoxy(0, 0) - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X002 -_F037 !WORD 0 - !BYTE $2A,$1A ; CB 26 - !BYTE $54 ; CALL _X002 -_F038 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X002 -_F039 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X002 -_F040 !WORD 0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X002 -_F041 !WORD 0 - !BYTE $2A,$1A ; CB 26 - !BYTE $54 ; CALL _X002 -_F042 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _X002 -_F043 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _X002 -_F044 !WORD 0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X002 -_F045 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C023 -_F046 !WORD _C023 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/conio.pla: 0322: end -; libsrc/apple/conio.pla: 0323: def a3texttype(type) - ; type -> [0] -_C025 ; a3texttype() -; libsrc/apple/conio.pla: 0324: return 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0325: end -; libsrc/apple/conio.pla: 0326: def a3textmode(columns) - ; columns -> [0] -_C026 ; a3textmode() -; libsrc/apple/conio.pla: 0327: puts(@textbwmode) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/conio.pla: 0328: if columns > 40 -; libsrc/apple/conio.pla: 0329: a3viewport(0, 0, 80, 24) -; libsrc/apple/conio.pla: 0330: else - !BYTE $26 ; LA _D043+0 -_F047 !WORD _D043+0 - !BYTE $54 ; CALL _X004 -_F048 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$28 ; CB 40 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$50 ; CB 80 - !BYTE $2A,$18 ; CB 24 - !BYTE $54 ; CALL _C024 -_F049 !WORD _C024 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B028 - !WORD _B028-* -_B027 -; libsrc/apple/conio.pla: 0331: a3viewport(0, 0, 40, 24) -; libsrc/apple/conio.pla: 0332: fin - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$28 ; CB 40 - !BYTE $2A,$18 ; CB 24 - !BYTE $54 ; CALL _C024 -_F050 !WORD _C024 - !BYTE $30 ; DROP -_B028 -; libsrc/apple/conio.pla: 0333: putc(28) -; libsrc/apple/conio.pla: 0334: return 0 - !BYTE $2A,$1C ; CB 28 - !BYTE $54 ; CALL _X002 -_F051 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0335: end -; libsrc/apple/conio.pla: 0336: def a3grmode(mix) - ; mix -> [0] -_C027 ; a3grmode() -; libsrc/apple/conio.pla: 0337: byte i - ; i -> [2] -; libsrc/apple/conio.pla: 0338: if mix - !BYTE $58,$03,$01 ; ENTER 3,1 -; libsrc/apple/conio.pla: 0339: mix = 19 -; libsrc/apple/conio.pla: 0340: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $2A,$13 ; CB 19 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B030 - !WORD _B030-* -_B029 -; libsrc/apple/conio.pla: 0341: mix = 23 -; libsrc/apple/conio.pla: 0342: fin - !BYTE $2A,$17 ; CB 23 - !BYTE $76,$00 ; SLW [0] -_B030 -; libsrc/apple/conio.pla: 0343: puts(@textclrmode) -; libsrc/apple/conio.pla: 0344: dev_control(cmdsys.devcons, 17, @grcharset) -; libsrc/apple/conio.pla: 0345: a3viewport(0, 20, 40, 4) -; libsrc/apple/conio.pla: 0346: putc(28) -; libsrc/apple/conio.pla: 0347: for i = 0 to mix - !BYTE $26 ; LA _D044+0 -_F052 !WORD _D044+0 - !BYTE $54 ; CALL _X004 -_F053 !WORD 0 - !BYTE $68 ; LAB _X000+20 -_F054 !WORD 0+20 - !BYTE $2A,$11 ; CB 17 - !BYTE $26 ; LA _D045+0 -_F055 !WORD _D045+0 - !BYTE $54 ; CALL _C018 -_F056 !WORD _C018 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $2A,$14 ; CB 20 - !BYTE $2A,$28 ; CB 40 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _C024 -_F057 !WORD _C024 - !BYTE $30 ; DROP - !BYTE $2A,$1C ; CB 28 - !BYTE $54 ; CALL _X002 -_F058 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B031 - !WORD _B031-* -_B032 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/conio.pla: 0348: memset(txt1scrn[i], $0000, 40) // text screen -; libsrc/apple/conio.pla: 0349: memset(txt2scrn[i], $0000, 40) // color screen -; libsrc/apple/conio.pla: 0350: next - !BYTE $26 ; LA _D041+0 -_F059 !WORD _D041+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $2A,$28 ; CB 40 - !BYTE $54 ; CALL _X017 -_F060 !WORD 0 - !BYTE $26 ; LA _D042+0 -_F061 !WORD _D042+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $2A,$28 ; CB 40 - !BYTE $54 ; CALL _X017 -_F062 !WORD 0 -_B033 - !BYTE $A4 ; INCBRLE _B032 - !WORD _B032-* -_B031 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0351: return a2grscrn(@txt2scrn) // point to color screen - !BYTE $26 ; LA _D042+0 -_F063 !WORD _D042+0 - !BYTE $54 ; CALL _A001 -_F064 !WORD _A001 - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/conio.pla: 0352: end -; libsrc/apple/conio.pla: 0353: def a3tone(duration, pitch) - ; duration -> [0] - ; pitch -> [2] -_C028 ; a3tone() -; libsrc/apple/conio.pla: 0354: byte env - ; env -> [4] -; libsrc/apple/conio.pla: 0355: -; libsrc/apple/conio.pla: 0356: env = ^ENV_REG - !BYTE $58,$05,$02 ; ENTER 5,2 -; libsrc/apple/conio.pla: 0357: ^ENV_REG = env | $C0 -; libsrc/apple/conio.pla: 0358: a2tone(duration, pitch) -; libsrc/apple/conio.pla: 0359: ^ENV_REG = env -; libsrc/apple/conio.pla: 0360: 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 _C016 -_F065 !WORD _C016 - !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: 0361: end -; libsrc/apple/conio.pla: 0362: // -; libsrc/apple/conio.pla: 0363: // Apple 1 and III combined routines. -; libsrc/apple/conio.pla: 0364: // -; libsrc/apple/conio.pla: 0365: def a13getkey -_C029 ; a13getkey() -; libsrc/apple/conio.pla: 0366: while not conio:keypressed() - !BYTE $50 ; BRNCH _B036 - !WORD _B036-* -_B034 -; libsrc/apple/conio.pla: 0367: randnum = randnum + 123 -; libsrc/apple/conio.pla: 0368: loop - !BYTE $6A ; LAW _D046+0 -_F066 !WORD _D046+0 - !BYTE $38,$7B ; ADDI 123 - !BYTE $7A ; SAW _D046+0 -_F067 !WORD _D046+0 -_B036 - !BYTE $6A ; LAW _D040+0 -_F068 !WORD _D040+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* -_B035 -; libsrc/apple/conio.pla: 0369: return getc() - !BYTE $54 ; CALL _X006 -_F069 !WORD 0 - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 0370: end -; libsrc/apple/conio.pla: 0371: def a13rnd -_C030 ; a13rnd() -; libsrc/apple/conio.pla: 0372: randnum = (randnum << 1) + randnum + 123 -; libsrc/apple/conio.pla: 0373: return randnum & $7FFF - !BYTE $6A ; LAW _D046+0 -_F070 !WORD _D046+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $B6 ; ADDAW _D046+0 -_F071 !WORD _D046+0 - !BYTE $38,$7B ; ADDI 123 - !BYTE $7E ; DAW _D046+0 -_F072 !WORD _D046+0 - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 0374: end -; libsrc/apple/conio.pla: 0375: // -; libsrc/apple/conio.pla: 0376: // Machine specific initialization. -; libsrc/apple/conio.pla: 0377: // -; libsrc/apple/conio.pla: 0378: when MACHID & MACHID_MODEL -_INIT - !BYTE $68 ; LAB _X001+0 -_F073 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B038-* -; libsrc/apple/conio.pla: 0379: is MACHID_III -_B039 -; libsrc/apple/conio.pla: 0380: conio:keypressed = @a3keypressed -; libsrc/apple/conio.pla: 0381: conio:getkey = @a13getkey -; libsrc/apple/conio.pla: 0382: conio:echo = @a3echo -; libsrc/apple/conio.pla: 0383: conio:home = @a3home -; libsrc/apple/conio.pla: 0384: conio:gotoxy = @a3gotoxy -; libsrc/apple/conio.pla: 0385: conio:viewport = @a3viewport -; libsrc/apple/conio.pla: 0386: conio:texttype = @a3texttype -; libsrc/apple/conio.pla: 0387: conio:textmode = @a3textmode -; libsrc/apple/conio.pla: 0388: conio:grmode = @a3grmode -; libsrc/apple/conio.pla: 0389: conio:tone = @a3tone -; libsrc/apple/conio.pla: 0390: conio:rnd = @a13rnd -; libsrc/apple/conio.pla: 0391: break - !BYTE $26 ; LA _C020+0 -_F074 !WORD _C020+0 - !BYTE $7A ; SAW _D040+0 -_F075 !WORD _D040+0 - !BYTE $26 ; LA _C029+0 -_F076 !WORD _C029+0 - !BYTE $7A ; SAW _D040+2 -_F077 !WORD _D040+2 - !BYTE $26 ; LA _C021+0 -_F078 !WORD _C021+0 - !BYTE $7A ; SAW _D040+4 -_F079 !WORD _D040+4 - !BYTE $26 ; LA _C022+0 -_F080 !WORD _C022+0 - !BYTE $7A ; SAW _D040+6 -_F081 !WORD _D040+6 - !BYTE $26 ; LA _C023+0 -_F082 !WORD _C023+0 - !BYTE $7A ; SAW _D040+8 -_F083 !WORD _D040+8 - !BYTE $26 ; LA _C024+0 -_F084 !WORD _C024+0 - !BYTE $7A ; SAW _D040+10 -_F085 !WORD _D040+10 - !BYTE $26 ; LA _C025+0 -_F086 !WORD _C025+0 - !BYTE $7A ; SAW _D040+12 -_F087 !WORD _D040+12 - !BYTE $26 ; LA _C026+0 -_F088 !WORD _C026+0 - !BYTE $7A ; SAW _D040+14 -_F089 !WORD _D040+14 - !BYTE $26 ; LA _C027+0 -_F090 !WORD _C027+0 - !BYTE $7A ; SAW _D040+16 -_F091 !WORD _D040+16 - !BYTE $26 ; LA _C028+0 -_F092 !WORD _C028+0 - !BYTE $7A ; SAW _D040+22 -_F093 !WORD _D040+22 - !BYTE $26 ; LA _C030+0 -_F094 !WORD _C030+0 - !BYTE $7A ; SAW _D040+24 -_F095 !WORD _D040+24 - !BYTE $50 ; BRNCH _B037 - !WORD _B037-* -; libsrc/apple/conio.pla: 0392: is MACHID_I -_B040 -; libsrc/apple/conio.pla: 0393: conio:keypressed = @a1keypressed -; libsrc/apple/conio.pla: 0394: conio:getkey = @a13getkey -; libsrc/apple/conio.pla: 0395: conio:home = @a1home -; libsrc/apple/conio.pla: 0396: conio:gotoxy = @a1gotoxy -; libsrc/apple/conio.pla: 0397: conio:viewport = @a1viewport -; libsrc/apple/conio.pla: 0398: conio:texttype = @a1texttype -; libsrc/apple/conio.pla: 0399: conio:textmode = @a1textmode -; libsrc/apple/conio.pla: 0400: conio:grmode = @a1grmode -; libsrc/apple/conio.pla: 0401: conio:tone = @a1tone -; libsrc/apple/conio.pla: 0402: conio:rnd = @a13rnd -; libsrc/apple/conio.pla: 0403: break - !BYTE $26 ; LA _C000+0 -_F096 !WORD _C000+0 - !BYTE $7A ; SAW _D040+0 -_F097 !WORD _D040+0 - !BYTE $26 ; LA _C029+0 -_F098 !WORD _C029+0 - !BYTE $7A ; SAW _D040+2 -_F099 !WORD _D040+2 - !BYTE $26 ; LA _C002+0 -_F100 !WORD _C002+0 - !BYTE $7A ; SAW _D040+6 -_F101 !WORD _D040+6 - !BYTE $26 ; LA _C003+0 -_F102 !WORD _C003+0 - !BYTE $7A ; SAW _D040+8 -_F103 !WORD _D040+8 - !BYTE $26 ; LA _C004+0 -_F104 !WORD _C004+0 - !BYTE $7A ; SAW _D040+10 -_F105 !WORD _D040+10 - !BYTE $26 ; LA _C005+0 -_F106 !WORD _C005+0 - !BYTE $7A ; SAW _D040+12 -_F107 !WORD _D040+12 - !BYTE $26 ; LA _C006+0 -_F108 !WORD _C006+0 - !BYTE $7A ; SAW _D040+14 -_F109 !WORD _D040+14 - !BYTE $26 ; LA _C007+0 -_F110 !WORD _C007+0 - !BYTE $7A ; SAW _D040+16 -_F111 !WORD _D040+16 - !BYTE $26 ; LA _C008+0 -_F112 !WORD _C008+0 - !BYTE $7A ; SAW _D040+22 -_F113 !WORD _D040+22 - !BYTE $26 ; LA _C030+0 -_F114 !WORD _C030+0 - !BYTE $7A ; SAW _D040+24 -_F115 !WORD _D040+24 - !BYTE $50 ; BRNCH _B037 - !WORD _B037-* -; libsrc/apple/conio.pla: 0404: otherwise // MACHID_II puts("Found MACHID_MODEL = $"); putb(MACHID & MACHID_MODEL); putln -_B038 - !BYTE $02 ; CASEBLOCK - !WORD $0008 - !WORD _B040-* - !WORD $00C0 - !WORD _B039-* -; libsrc/apple/conio.pla: 0405: wend -_B037 -; libsrc/apple/conio.pla: 0406: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 32 -_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 $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 6 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 3 ; 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 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !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 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 2 ; 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 4 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 0 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !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 6 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 1 ; 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 $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 $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: 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 65dc9b8..0000000 --- a/src/libsrc/apple/dgrlib.a +++ /dev/null @@ -1,1839 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: // Wait for VLB -; libsrc/apple/dgrlib.pla: 0496: // -; libsrc/apple/dgrlib.pla: 0497: export asm dgrVLB#0 -_A020 ; dgrVLB() -; libsrc/apple/dgrlib.pla: 0498: PHP - PHP -; libsrc/apple/dgrlib.pla: 0499: SEI - SEI -; libsrc/apple/dgrlib.pla: 0500: STA $C079 ; Enable IOU access and reset VBL int on //c - STA $C079 ; Enable IOU access and reset VBL int on //c -; libsrc/apple/dgrlib.pla: 0501: STA $C05B ; Enable VBL int - STA $C05B ; Enable VBL int -; libsrc/apple/dgrlib.pla: 0502: - LDA $C019 -- LDA $C019 -; libsrc/apple/dgrlib.pla: 0503: STA $C079 ; Reset VBL int on //c - STA $C079 ; Reset VBL int on //c -; libsrc/apple/dgrlib.pla: 0504: BMI - - BMI - -; libsrc/apple/dgrlib.pla: 0505: - LDA $C019 -- LDA $C019 -; libsrc/apple/dgrlib.pla: 0506: BPL - - BPL - -; libsrc/apple/dgrlib.pla: 0507: STA $C05A ; Disable VBL int on //c - STA $C05A ; Disable VBL int on //c -; libsrc/apple/dgrlib.pla: 0508: STA $C078 ; Disable IOU access on //c - STA $C078 ; Disable IOU access on //c -; libsrc/apple/dgrlib.pla: 0509: PLP - PLP -; libsrc/apple/dgrlib.pla: 0510: RTS - RTS -; libsrc/apple/dgrlib.pla: 0511: end -; libsrc/apple/dgrlib.pla: 0512: // -; libsrc/apple/dgrlib.pla: 0513: // Clear the buffer -; libsrc/apple/dgrlib.pla: 0514: // -; libsrc/apple/dgrlib.pla: 0515: export def dgrClear(clr)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; clr -> [0] -_C000 ; dgrClear() -; libsrc/apple/dgrlib.pla: 0516: byte[32] clrtile - ; clrtile -> [2] -; libsrc/apple/dgrlib.pla: 0517: -; libsrc/apple/dgrlib.pla: 0518: clr = evnclr[clr&$0F] | (oddclr[clr&$0F] << 8) - !BYTE $58,$22,$01 ; ENTER 34,1 -; libsrc/apple/dgrlib.pla: 0519: memset(@clrtile, clr, 32) -; libsrc/apple/dgrlib.pla: 0520: dgrFill(0, 0, @clrtile) -; libsrc/apple/dgrlib.pla: 0521: 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: 0522: export def dgrMode(mode)#1 - ; mode -> [0] -_C001 ; dgrMode() -; libsrc/apple/dgrlib.pla: 0523: if mode - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/dgrlib.pla: 0524: // -; libsrc/apple/dgrlib.pla: 0525: // Set double lores graphics, return draw buffer -; libsrc/apple/dgrlib.pla: 0526: // -; libsrc/apple/dgrlib.pla: 0527: ^showlores -; libsrc/apple/dgrlib.pla: 0528: ^showfull -; libsrc/apple/dgrlib.pla: 0529: ^showgraphics -; libsrc/apple/dgrlib.pla: 0530: ^showpage1 -; libsrc/apple/dgrlib.pla: 0531: ^ena80 = 0 -; libsrc/apple/dgrlib.pla: 0532: ^show80 = 0 -; libsrc/apple/dgrlib.pla: 0533: ^an3on -; libsrc/apple/dgrlib.pla: 0534: drawpage = 1 -; libsrc/apple/dgrlib.pla: 0535: drawbuff = dgrbuff[1] -; libsrc/apple/dgrlib.pla: 0536: return 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !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 -_F006 !WORD _D032+0 - !BYTE $6A ; LAW _D030+2 -_F007 !WORD _D030+2 - !BYTE $7A ; SAW _D031+0 -_F008 !WORD _D031+0 - !BYTE $02 ; CN 1 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/dgrlib.pla: 0537: fin -_B001 -_B002 -; libsrc/apple/dgrlib.pla: 0538: // -; libsrc/apple/dgrlib.pla: 0539: // Set text mode -; libsrc/apple/dgrlib.pla: 0540: // -; libsrc/apple/dgrlib.pla: 0541: ^showtext -; libsrc/apple/dgrlib.pla: 0542: ^showpage1 -; libsrc/apple/dgrlib.pla: 0543: ^ena80 = 0 -; libsrc/apple/dgrlib.pla: 0544: ^show40 = 0 -; libsrc/apple/dgrlib.pla: 0545: ^mapmain = 0 -; libsrc/apple/dgrlib.pla: 0546: ^an3off -; libsrc/apple/dgrlib.pla: 0547: call($FC58, 0, 0, 0, 0) // home() -; libsrc/apple/dgrlib.pla: 0548: return 0 - !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,$58,$FC ; CW 64600 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F009 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/dgrlib.pla: 0549: end -; libsrc/apple/dgrlib.pla: 0550: // -; libsrc/apple/dgrlib.pla: 0551: // Set display page, return other page -; libsrc/apple/dgrlib.pla: 0552: // -; libsrc/apple/dgrlib.pla: 0553: export def dgrShow(page)#1 - ; page -> [0] -_C002 ; dgrShow() -; libsrc/apple/dgrlib.pla: 0554: page = page & 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/dgrlib.pla: 0555: ^(showpage1 + page) -; libsrc/apple/dgrlib.pla: 0556: 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: 0557: end -; libsrc/apple/dgrlib.pla: 0558: export def dgrSwap#0 -_C003 ; dgrSwap() -; libsrc/apple/dgrlib.pla: 0559: ^(showpage1 + drawpage) -; libsrc/apple/dgrlib.pla: 0560: drawpage = drawpage ^ 1 -; libsrc/apple/dgrlib.pla: 0561: drawbuff = dgrbuff[drawpage] -; libsrc/apple/dgrlib.pla: 0562: end - !BYTE $2C,$54,$C0 ; CW 49236 - !BYTE $B4 ; ADDAB _D032+0 -_F010 !WORD _D032+0 - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D032+0 -_F011 !WORD _D032+0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D032+0 -_F012 !WORD _D032+0 - !BYTE $26 ; LA _D030+0 -_F013 !WORD _D030+0 - !BYTE $BC ; IDXAB _D032+0 -_F014 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D031+0 -_F015 !WORD _D031+0 - !BYTE $5C ; RET -; libsrc/apple/dgrlib.pla: 0563: export def dgrDrawBuf(page)#0 - ; page -> [0] -_C004 ; dgrDrawBuf() -; libsrc/apple/dgrlib.pla: 0564: drawpage = page - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/dgrlib.pla: 0565: drawbuff = dgrbuff[drawpage] -; libsrc/apple/dgrlib.pla: 0566: end - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _D032+0 -_F016 !WORD _D032+0 - !BYTE $26 ; LA _D030+0 -_F017 !WORD _D030+0 - !BYTE $BC ; IDXAB _D032+0 -_F018 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D031+0 -_F019 !WORD _D031+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/dgrlib.pla: 0567: // -; libsrc/apple/dgrlib.pla: 0568: // Set color for clear & plot routines -; libsrc/apple/dgrlib.pla: 0569: // -; libsrc/apple/dgrlib.pla: 0570: export def dgrColor(clr)#0 - ; clr -> [0] -_C005 ; dgrColor() -; libsrc/apple/dgrlib.pla: 0571: ^$30 = clr & $0F - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/dgrlib.pla: 0572: 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: 0573: // -; libsrc/apple/dgrlib.pla: 0574: // Make sure we are a 128K //e or //c -; libsrc/apple/dgrlib.pla: 0575: // -; libsrc/apple/dgrlib.pla: 0576: if MACHID & $F0 <> $B0 -_INIT -; libsrc/apple/dgrlib.pla: 0577: puts("\n128K required for double-lores.\n") - !BYTE $68 ; LAB _X001+0 -_F020 !WORD 0+0 - !BYTE $3C,$F0 ; ANDI 240 - !BYTE $2A,$B0 ; CB 176 - !BYTE $22 ; BREQ _B003 - !WORD _B003-* - !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 -_F021 !WORD 0 -; libsrc/apple/dgrlib.pla: 0578: ^$C010 -; libsrc/apple/dgrlib.pla: 0579: while ^$C000 < 128; loop - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -_B005 -_B007 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B005 - !WORD _B005-* -_B006 -; libsrc/apple/dgrlib.pla: 0580: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/dgrlib.pla: 0581: fin -_B003 -_B004 -; libsrc/apple/dgrlib.pla: 0582: // -; libsrc/apple/dgrlib.pla: 0583: // Assembly fixups -; libsrc/apple/dgrlib.pla: 0584: // -; libsrc/apple/dgrlib.pla: 0585: _dgrPlotPix:1 = @_dgrSetPix -; libsrc/apple/dgrlib.pla: 0586: _dgrHLinPix:1 = @_dgrSetPix -; libsrc/apple/dgrlib.pla: 0587: _dgrVLinPix:1 = @_dgrSetPix -; libsrc/apple/dgrlib.pla: 0588: _dgrBLTPix:1 = @_dgrSetPix -; libsrc/apple/dgrlib.pla: 0589: _dgrTileTile:1 = @dgrTile -; libsrc/apple/dgrlib.pla: 0590: _dgrFillTile:1 = @dgrTile -; libsrc/apple/dgrlib.pla: 0591: _dgrSetEvnEvn:1 = @evnclr -; libsrc/apple/dgrlib.pla: 0592: _dgrSetEvnOdd:1 = @oddclr -; libsrc/apple/dgrlib.pla: 0593: _dgrSetOddEvn:1 = @evnclr -; libsrc/apple/dgrlib.pla: 0594: _dgrSetOddOdd:1 = @oddclr -; libsrc/apple/dgrlib.pla: 0595: // -; libsrc/apple/dgrlib.pla: 0596: // Fixups for drawbuff -; libsrc/apple/dgrlib.pla: 0597: // -; libsrc/apple/dgrlib.pla: 0598: dgrPlot:1 = @drawbuff -; libsrc/apple/dgrlib.pla: 0599: dgrPlot:6 = @drawbuff+1 -; libsrc/apple/dgrlib.pla: 0600: dgrHLin:1 = @drawbuff -; libsrc/apple/dgrlib.pla: 0601: dgrHLin:6 = @drawbuff+1 -; libsrc/apple/dgrlib.pla: 0602: dgrVLin:1 = @drawbuff -; libsrc/apple/dgrlib.pla: 0603: dgrVLin:6 = @drawbuff+1 -; libsrc/apple/dgrlib.pla: 0604: dgrBLT:1 = @drawbuff -; libsrc/apple/dgrlib.pla: 0605: dgrBLT:6 = @drawbuff+1 -; libsrc/apple/dgrlib.pla: 0606: dgrTile:1 = @drawbuff -; libsrc/apple/dgrlib.pla: 0607: dgrTile:6 = @drawbuff+1 -; libsrc/apple/dgrlib.pla: 0608: // Put read AUX mem routine in scary location -; libsrc/apple/dgrlib.pla: 0609: memcpy($0100, @auxRead, 9) -; libsrc/apple/dgrlib.pla: 0610: done - !BYTE $26 ; LA _A009+0 -_F022 !WORD _A009+0 - !BYTE $7A ; SAW _A002+1 -_F023 !WORD _A002+1 - !BYTE $26 ; LA _A009+0 -_F024 !WORD _A009+0 - !BYTE $7A ; SAW _A004+1 -_F025 !WORD _A004+1 - !BYTE $26 ; LA _A009+0 -_F026 !WORD _A009+0 - !BYTE $7A ; SAW _A006+1 -_F027 !WORD _A006+1 - !BYTE $26 ; LA _A009+0 -_F028 !WORD _A009+0 - !BYTE $7A ; SAW _A008+1 -_F029 !WORD _A008+1 - !BYTE $26 ; LA _A015+0 -_F030 !WORD _A015+0 - !BYTE $7A ; SAW _A017+1 -_F031 !WORD _A017+1 - !BYTE $26 ; LA _A015+0 -_F032 !WORD _A015+0 - !BYTE $7A ; SAW _A019+1 -_F033 !WORD _A019+1 - !BYTE $26 ; LA _D033+0 -_F034 !WORD _D033+0 - !BYTE $7A ; SAW _A010+1 -_F035 !WORD _A010+1 - !BYTE $26 ; LA _D034+0 -_F036 !WORD _D034+0 - !BYTE $7A ; SAW _A011+1 -_F037 !WORD _A011+1 - !BYTE $26 ; LA _D033+0 -_F038 !WORD _D033+0 - !BYTE $7A ; SAW _A012+1 -_F039 !WORD _A012+1 - !BYTE $26 ; LA _D034+0 -_F040 !WORD _D034+0 - !BYTE $7A ; SAW _A013+1 -_F041 !WORD _A013+1 - !BYTE $26 ; LA _D031+0 -_F042 !WORD _D031+0 - !BYTE $7A ; SAW _A001+1 -_F043 !WORD _A001+1 - !BYTE $26 ; LA _D031+1 -_F044 !WORD _D031+1 - !BYTE $7A ; SAW _A001+6 -_F045 !WORD _A001+6 - !BYTE $26 ; LA _D031+0 -_F046 !WORD _D031+0 - !BYTE $7A ; SAW _A003+1 -_F047 !WORD _A003+1 - !BYTE $26 ; LA _D031+1 -_F048 !WORD _D031+1 - !BYTE $7A ; SAW _A003+6 -_F049 !WORD _A003+6 - !BYTE $26 ; LA _D031+0 -_F050 !WORD _D031+0 - !BYTE $7A ; SAW _A005+1 -_F051 !WORD _A005+1 - !BYTE $26 ; LA _D031+1 -_F052 !WORD _D031+1 - !BYTE $7A ; SAW _A005+6 -_F053 !WORD _A005+6 - !BYTE $26 ; LA _D031+0 -_F054 !WORD _D031+0 - !BYTE $7A ; SAW _A007+1 -_F055 !WORD _A007+1 - !BYTE $26 ; LA _D031+1 -_F056 !WORD _D031+1 - !BYTE $7A ; SAW _A007+6 -_F057 !WORD _A007+6 - !BYTE $26 ; LA _D031+0 -_F058 !WORD _D031+0 - !BYTE $7A ; SAW _A015+1 -_F059 !WORD _A015+1 - !BYTE $26 ; LA _D031+1 -_F060 !WORD _D031+1 - !BYTE $7A ; SAW _A015+6 -_F061 !WORD _A015+6 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $26 ; LA _A014+0 -_F062 !WORD _A014+0 - !BYTE $12 ; CN 9 - !BYTE $54 ; CALL _X018 -_F063 !WORD 0 - !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 $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 17 ; 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 10 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 4 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 18 ; 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: 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: DGRVLB - !BYTE $C4,$C7,$D2,$D6,$CC,$42 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A020 - ; 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 bc9efe4..0000000 --- a/src/libsrc/apple/fileio.a +++ /dev/null @@ -1,2550 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr -; inc/fileio.plh: 0080: 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), a23setpfx(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: // -; libsrc/apple/fileio.pla: 0030: // Exported function table. -; libsrc/apple/fileio.pla: 0031: // -; libsrc/apple/fileio.pla: 0032: word fileio[] -_D046 ; fileio[] -; libsrc/apple/fileio.pla: 0033: word = @a2getpfx, @a23setpfx, @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: 0034: 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: 0035: word = @a2newline, @a2online, @a2readblock, @a2writeblock -_F014 !WORD _P014 -_F015 !WORD _P015 -_F016 !WORD _P016 -_F017 !WORD _P017 -; libsrc/apple/fileio.pla: 0036: // -; libsrc/apple/fileio.pla: 0037: // SOS/ProDOS error code -; libsrc/apple/fileio.pla: 0038: // -; libsrc/apple/fileio.pla: 0039: export byte perr -_D047 !FILL 1 ; perr -; libsrc/apple/fileio.pla: 0040: // -; libsrc/apple/fileio.pla: 0041: // I/O buffers -; libsrc/apple/fileio.pla: 0042: // -; libsrc/apple/fileio.pla: 0043: const MAX_IOBUFS = 4 - ; MAX_IOBUFS = 4 -; libsrc/apple/fileio.pla: 0044: byte iobuf_ref[MAX_IOBUFS] -_D048 !FILL 4 ; iobuf_ref[MAX_IOBUFS] -; libsrc/apple/fileio.pla: 0045: word iobuf_addr[MAX_IOBUFS] = sysbuf -_D049 ; iobuf_addr[MAX_IOBUFS] = sysbuf - !WORD $0800 - !FILL $06 -; libsrc/apple/fileio.pla: 0046: // -; libsrc/apple/fileio.pla: 0047: // ProDOS/SOS routines -; libsrc/apple/fileio.pla: 0048: // -; libsrc/apple/fileio.pla: 0049: def a1getpfx(path) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; path -> [0] -_C000 ; a1getpfx() -; libsrc/apple/fileio.pla: 0050: ^path = 0 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/fileio.pla: 0051: 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: 0052: end -; libsrc/apple/fileio.pla: 0053: def a2getpfx(path) - ; path -> [0] -_P000 ; a2getpfx(path)() -_C001 ; a2getpfx() -; libsrc/apple/fileio.pla: 0054: byte params[3] - ; params -> [2] -; libsrc/apple/fileio.pla: 0055: -; libsrc/apple/fileio.pla: 0056: ^path = 0 - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/apple/fileio.pla: 0057: params.0 = 1 -; libsrc/apple/fileio.pla: 0058: params:1 = path -; libsrc/apple/fileio.pla: 0059: perr = syscall($C7, @params) -; libsrc/apple/fileio.pla: 0060: 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 -_F018 !WORD 0 - !BYTE $78 ; SAB _D047+0 -_F019 !WORD _D047+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/fileio.pla: 0061: end -; libsrc/apple/fileio.pla: 0062: def a3getpfx(path) - ; path -> [0] -_C002 ; a3getpfx() -; libsrc/apple/fileio.pla: 0063: byte params[3] - ; params -> [2] -; libsrc/apple/fileio.pla: 0064: -; libsrc/apple/fileio.pla: 0065: params.0 = 2 - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/apple/fileio.pla: 0066: params:1 = path -; libsrc/apple/fileio.pla: 0067: params.3 = 64 -; libsrc/apple/fileio.pla: 0068: perr = syscall($C7, @params) -; libsrc/apple/fileio.pla: 0069: 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 -_F020 !WORD 0 - !BYTE $78 ; SAB _D047+0 -_F021 !WORD _D047+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/fileio.pla: 0070: end -; libsrc/apple/fileio.pla: 0071: def a1setpfx(path) - ; path -> [0] -_C003 ; a1setpfx() -; libsrc/apple/fileio.pla: 0072: return path - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/fileio.pla: 0073: end -; libsrc/apple/fileio.pla: 0074: def a23setpfx(path) - ; path -> [0] -_P001 ; a23setpfx(path)() -_C004 ; a23setpfx() -; libsrc/apple/fileio.pla: 0075: byte params[3] - ; params -> [2] -; libsrc/apple/fileio.pla: 0076: -; libsrc/apple/fileio.pla: 0077: params.0 = 1 - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/apple/fileio.pla: 0078: params:1 = path -; libsrc/apple/fileio.pla: 0079: perr = syscall($C6, @params) -; libsrc/apple/fileio.pla: 0080: 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 -_F022 !WORD 0 - !BYTE $78 ; SAB _D047+0 -_F023 !WORD _D047+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/fileio.pla: 0081: end -; libsrc/apple/fileio.pla: 0082: def a1getfileinfo(path, fileinfo) - ; path -> [0] - ; fileinfo -> [2] -_C005 ; a1getfileinfo() -; libsrc/apple/fileio.pla: 0083: perr = $01 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/fileio.pla: 0084: return perr - !BYTE $02 ; CN 1 - !BYTE $7C ; DAB _D047+0 -_F024 !WORD _D047+0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/fileio.pla: 0085: end -; libsrc/apple/fileio.pla: 0086: def a2getfileinfo(path, fileinfo) - ; path -> [0] - ; fileinfo -> [2] -_P002 ; a2getfileinfo(path, fileinfo)() -_C006 ; a2getfileinfo() -; libsrc/apple/fileio.pla: 0087: byte params[18] - ; params -> [4] -; libsrc/apple/fileio.pla: 0088: -; libsrc/apple/fileio.pla: 0089: params.0 = 10 - !BYTE $58,$16,$02 ; ENTER 22,2 -; libsrc/apple/fileio.pla: 0090: params:1 = path -; libsrc/apple/fileio.pla: 0091: perr = syscall($C4, @params) -; libsrc/apple/fileio.pla: 0092: memcpy(fileinfo, @params + 3, 15) -; libsrc/apple/fileio.pla: 0093: 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 -_F025 !WORD 0 - !BYTE $78 ; SAB _D047+0 -_F026 !WORD _D047+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $28,$07 ; LLA [7] - !BYTE $1E ; CN 15 - !BYTE $54 ; CALL _X018 -_F027 !WORD 0 - !BYTE $68 ; LAB _D047+0 -_F028 !WORD _D047+0 - !BYTE $5A,$16 ; LEAVE 22 -; libsrc/apple/fileio.pla: 0094: end -; libsrc/apple/fileio.pla: 0095: def a3getfileinfo(path, fileinfo) - ; path -> [0] - ; fileinfo -> [2] -_C007 ; a3getfileinfo() -; libsrc/apple/fileio.pla: 0096: byte params[6] - ; params -> [4] -; libsrc/apple/fileio.pla: 0097: -; libsrc/apple/fileio.pla: 0098: params.0 = 3 - !BYTE $58,$0A,$02 ; ENTER 10,2 -; libsrc/apple/fileio.pla: 0099: params:1 = path -; libsrc/apple/fileio.pla: 0100: params:3 = fileinfo -; libsrc/apple/fileio.pla: 0101: params.5 = 15 -; libsrc/apple/fileio.pla: 0102: perr = syscall($C4, @params) -; libsrc/apple/fileio.pla: 0103: 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 -_F029 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F030 !WORD _D047+0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/apple/fileio.pla: 0104: end -; libsrc/apple/fileio.pla: 0105: def a1setfileinfo(path, fileinfo) - ; path -> [0] - ; fileinfo -> [2] -_C008 ; a1setfileinfo() -; libsrc/apple/fileio.pla: 0106: perr = $01 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/fileio.pla: 0107: return perr - !BYTE $02 ; CN 1 - !BYTE $7C ; DAB _D047+0 -_F031 !WORD _D047+0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/fileio.pla: 0108: end -; libsrc/apple/fileio.pla: 0109: def a2setfileinfo(path, fileinfo) - ; path -> [0] - ; fileinfo -> [2] -_P003 ; a2setfileinfo(path, fileinfo)() -_C009 ; a2setfileinfo() -; libsrc/apple/fileio.pla: 0110: byte params[14] - ; params -> [4] -; libsrc/apple/fileio.pla: 0111: -; libsrc/apple/fileio.pla: 0112: params.0 = 7 - !BYTE $58,$12,$02 ; ENTER 18,2 -; libsrc/apple/fileio.pla: 0113: params:1 = path -; libsrc/apple/fileio.pla: 0114: memcpy(@params + 3, fileinfo, 11) -; libsrc/apple/fileio.pla: 0115: perr = syscall($C3, @params) -; libsrc/apple/fileio.pla: 0116: 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 -_F032 !WORD 0 - !BYTE $2A,$C3 ; CB 195 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X011 -_F033 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F034 !WORD _D047+0 - !BYTE $5A,$12 ; LEAVE 18 -; libsrc/apple/fileio.pla: 0117: end -; libsrc/apple/fileio.pla: 0118: def a3setfileinfo(path, fileinfo) - ; path -> [0] - ; fileinfo -> [2] -_C010 ; a3setfileinfo() -; libsrc/apple/fileio.pla: 0119: byte params[6] - ; params -> [4] -; libsrc/apple/fileio.pla: 0120: -; libsrc/apple/fileio.pla: 0121: params.0 = 3 - !BYTE $58,$0A,$02 ; ENTER 10,2 -; libsrc/apple/fileio.pla: 0122: params:1 = path -; libsrc/apple/fileio.pla: 0123: params:3 = fileinfo -; libsrc/apple/fileio.pla: 0124: params.5 = 15 -; libsrc/apple/fileio.pla: 0125: perr = syscall($C3, @params) -; libsrc/apple/fileio.pla: 0126: 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 -_F035 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F036 !WORD _D047+0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/apple/fileio.pla: 0127: end -; libsrc/apple/fileio.pla: 0128: def a1geteof(refnum)#2 - ; refnum -> [0] -_C011 ; a1geteof() -; libsrc/apple/fileio.pla: 0129: 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: 0130: end -; libsrc/apple/fileio.pla: 0131: def a23geteof(refnum)#2 - ; refnum -> [0] -_P004 ; a23geteof(refnum)#2() -_C012 ; a23geteof() -; libsrc/apple/fileio.pla: 0132: byte params[5] - ; params -> [2] -; libsrc/apple/fileio.pla: 0133: -; libsrc/apple/fileio.pla: 0134: params.0 = 2 - !BYTE $58,$07,$01 ; ENTER 7,1 -; libsrc/apple/fileio.pla: 0135: params.1 = refnum -; libsrc/apple/fileio.pla: 0136: params:2 = 0 -; libsrc/apple/fileio.pla: 0137: params.4 = 0 -; libsrc/apple/fileio.pla: 0138: syscall($D1, @params) -; libsrc/apple/fileio.pla: 0139: 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 -_F037 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/fileio.pla: 0140: end -; libsrc/apple/fileio.pla: 0141: def a1seteof(refnum, eofl, eofh) - ; refnum -> [0] - ; eofl -> [2] - ; eofh -> [4] -_C013 ; a1seteof() -; libsrc/apple/fileio.pla: 0142: return 0 - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0143: end -; libsrc/apple/fileio.pla: 0144: def a23seteof(refnum, eofl, eofh) - ; refnum -> [0] - ; eofl -> [2] - ; eofh -> [4] -_P005 ; a23seteof(refnum, eofl, eofh)() -_C014 ; a23seteof() -; libsrc/apple/fileio.pla: 0145: byte params[5] - ; params -> [6] -; libsrc/apple/fileio.pla: 0146: -; libsrc/apple/fileio.pla: 0147: params.0 = 2 - !BYTE $58,$0B,$03 ; ENTER 11,3 -; libsrc/apple/fileio.pla: 0148: params.1 = refnum -; libsrc/apple/fileio.pla: 0149: params:2 = eofl -; libsrc/apple/fileio.pla: 0150: params.4 = eofh -; libsrc/apple/fileio.pla: 0151: syscall($D0, @params) -; libsrc/apple/fileio.pla: 0152: return params:2 - !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 -_F038 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0B ; LEAVE 11 -; libsrc/apple/fileio.pla: 0153: end -; libsrc/apple/fileio.pla: 0154: def a1open(path) - ; path -> [0] -_C015 ; a1open() -; libsrc/apple/fileio.pla: 0155: *CFFA1FileName = path - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/fileio.pla: 0156: 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: 0157: end -; libsrc/apple/fileio.pla: 0158: def a2iobufs(iobufs) - ; iobufs -> [0] -_P006 ; a2iobufs(iobufs)() -_C016 ; a2iobufs() -; libsrc/apple/fileio.pla: 0159: byte i - ; i -> [2] -; libsrc/apple/fileio.pla: 0160: word freebuf, bufaddr - ; freebuf -> [3] - ; bufaddr -> [5] -; libsrc/apple/fileio.pla: 0161: -; libsrc/apple/fileio.pla: 0162: if iobufs > MAX_IOBUFS - !BYTE $58,$07,$01 ; ENTER 7,1 -; libsrc/apple/fileio.pla: 0163: iobufs = MAX_IOBUFS -; libsrc/apple/fileio.pla: 0164: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $08 ; CN 4 - !BYTE $76,$00 ; SLW [0] -_B001 -_B002 -; libsrc/apple/fileio.pla: 0165: if iobufs -; libsrc/apple/fileio.pla: 0166: iobufs-- // Subtract off system I/O buffer - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; libsrc/apple/fileio.pla: 0167: if iobufs -; libsrc/apple/fileio.pla: 0168: bufaddr = heapallocalign(1024 * iobufs, 8, @freebuf) -; libsrc/apple/fileio.pla: 0169: for i = 1 to MAX_IOBUFS-1 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !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 -_F039 !WORD 0 - !BYTE $76,$05 ; SLW [5] - !BYTE $06 ; CN 3 - !BYTE $02 ; CN 1 -_B008 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/fileio.pla: 0170: if not iobuf_addr[i] -; libsrc/apple/fileio.pla: 0171: iobuf_addr[i] = bufaddr -; libsrc/apple/fileio.pla: 0172: bufaddr = bufaddr + 1024 -; libsrc/apple/fileio.pla: 0173: iobufs-- - !BYTE $26 ; LA _D049+0 -_F040 !WORD _D049+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B010 - !WORD _B010-* - !BYTE $66,$05 ; LLW [5] - !BYTE $26 ; LA _D049+0 -_F041 !WORD _D049+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: 0174: if not iobufs -; libsrc/apple/fileio.pla: 0175: return freebuf - !BYTE $6E,$00 ; DLW [0] - !BYTE $4E ; BRTRU _B012 - !WORD _B012-* - !BYTE $32 ; DROP2 - !BYTE $66,$03 ; LLW [3] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/fileio.pla: 0176: fin -_B012 -_B013 -; libsrc/apple/fileio.pla: 0177: fin -_B010 -_B011 -; libsrc/apple/fileio.pla: 0178: next -_B009 - !BYTE $A4 ; INCBRLE _B008 - !WORD _B008-* -_B007 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/fileio.pla: 0179: return freebuf - !BYTE $66,$03 ; LLW [3] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/fileio.pla: 0180: fin -_B005 -_B006 -; libsrc/apple/fileio.pla: 0181: else - !BYTE $50 ; BRNCH _B004 - !WORD _B004-* -_B003 -; libsrc/apple/fileio.pla: 0182: for i = 1 to MAX_IOBUFS-1 - !BYTE $06 ; CN 3 - !BYTE $02 ; CN 1 -_B015 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/fileio.pla: 0183: iobuf_addr[i] = 0 // Free I/O buffers if 0 passed in -; libsrc/apple/fileio.pla: 0184: next - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D049+0 -_F042 !WORD _D049+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $72 ; SW -_B016 - !BYTE $A4 ; INCBRLE _B015 - !WORD _B015-* -_B014 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/fileio.pla: 0185: fin -_B004 -; libsrc/apple/fileio.pla: 0186: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/fileio.pla: 0187: end -; libsrc/apple/fileio.pla: 0188: def a13iobufs(iobufs) - ; iobufs -> [0] -_C017 ; a13iobufs() -; libsrc/apple/fileio.pla: 0189: return 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/fileio.pla: 0190: end -; libsrc/apple/fileio.pla: 0191: def a2open(path) - ; path -> [0] -_P007 ; a2open(path)() -_C018 ; a2open() -; libsrc/apple/fileio.pla: 0192: byte i, params[6] - ; i -> [2] - ; params -> [3] -; libsrc/apple/fileio.pla: 0193: -; libsrc/apple/fileio.pla: 0194: for i = 0 to MAX_IOBUFS-1 - !BYTE $58,$09,$01 ; ENTER 9,1 - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B018 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/fileio.pla: 0195: if iobuf_addr[i] and not iobuf_ref[i] -; libsrc/apple/fileio.pla: 0196: params.0 = 3 -; libsrc/apple/fileio.pla: 0197: params:1 = path -; libsrc/apple/fileio.pla: 0198: params:3 = iobuf_addr[i] -; libsrc/apple/fileio.pla: 0199: params.5 = 0 -; libsrc/apple/fileio.pla: 0200: perr = syscall($C8, @params) -; libsrc/apple/fileio.pla: 0201: iobuf_ref[i] = params.5 -; libsrc/apple/fileio.pla: 0202: return params.5 - !BYTE $26 ; LA _D049+0 -_F043 !WORD _D049+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $AC ; BRAND _B020 - !WORD _B020-* - !BYTE $26 ; LA _D048+0 -_F044 !WORD _D048+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $80 ; NOT -_B020 - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $06 ; CN 3 - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $26 ; LA _D049+0 -_F045 !WORD _D049+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 -_F046 !WORD 0 - !BYTE $78 ; SAB _D047+0 -_F047 !WORD _D047+0 - !BYTE $64,$08 ; LLB [8] - !BYTE $26 ; LA _D048+0 -_F048 !WORD _D048+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: 0203: fin -_B021 -_B022 -; libsrc/apple/fileio.pla: 0204: next -_B019 - !BYTE $A4 ; INCBRLE _B018 - !WORD _B018-* -_B017 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/fileio.pla: 0205: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/fileio.pla: 0206: end -; libsrc/apple/fileio.pla: 0207: def a3open(path) - ; path -> [0] -_C019 ; a3open() -; libsrc/apple/fileio.pla: 0208: byte params[7] - ; params -> [2] -; libsrc/apple/fileio.pla: 0209: -; libsrc/apple/fileio.pla: 0210: params.0 = 4 - !BYTE $58,$09,$01 ; ENTER 9,1 -; libsrc/apple/fileio.pla: 0211: params:1 = path -; libsrc/apple/fileio.pla: 0212: params.3 = 0 -; libsrc/apple/fileio.pla: 0213: params:4 = 0 -; libsrc/apple/fileio.pla: 0214: params.6 = 0 -; libsrc/apple/fileio.pla: 0215: perr = syscall($C8, @params) -; libsrc/apple/fileio.pla: 0216: 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 -_F049 !WORD 0 - !BYTE $78 ; SAB _D047+0 -_F050 !WORD _D047+0 - !BYTE $64,$05 ; LLB [5] - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/fileio.pla: 0217: end -; libsrc/apple/fileio.pla: 0218: def a1close(refnum) - ; refnum -> [0] -_C020 ; a1close() -; libsrc/apple/fileio.pla: 0219: return perr - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $68 ; LAB _D047+0 -_F051 !WORD _D047+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/fileio.pla: 0220: end -; libsrc/apple/fileio.pla: 0221: def a2close(refnum) - ; refnum -> [0] -_P008 ; a2close(refnum)() -_C021 ; a2close() -; libsrc/apple/fileio.pla: 0222: byte i, params[2] - ; i -> [2] - ; params -> [3] -; libsrc/apple/fileio.pla: 0223: -; libsrc/apple/fileio.pla: 0224: for i = 0 to MAX_IOBUFS-1 - !BYTE $58,$05,$01 ; ENTER 5,1 - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B024 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/fileio.pla: 0225: if refnum == iobuf_ref[i] -; libsrc/apple/fileio.pla: 0226: iobuf_ref[i] = 0 -; libsrc/apple/fileio.pla: 0227: params.0 = 1 -; libsrc/apple/fileio.pla: 0228: params.1 = refnum -; libsrc/apple/fileio.pla: 0229: perr = syscall($CC, @params) -; libsrc/apple/fileio.pla: 0230: return perr - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D048+0 -_F052 !WORD _D048+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B026 - !WORD _B026-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D048+0 -_F053 !WORD _D048+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 -_F054 !WORD 0 - !BYTE $78 ; SAB _D047+0 -_F055 !WORD _D047+0 - !BYTE $32 ; DROP2 - !BYTE $68 ; LAB _D047+0 -_F056 !WORD _D047+0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/fileio.pla: 0231: fin -_B026 -_B027 -; libsrc/apple/fileio.pla: 0232: next -_B025 - !BYTE $A4 ; INCBRLE _B024 - !WORD _B024-* -_B023 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/fileio.pla: 0233: perr = $45 -; libsrc/apple/fileio.pla: 0234: return perr - !BYTE $2A,$45 ; CB 69 - !BYTE $7C ; DAB _D047+0 -_F057 !WORD _D047+0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/fileio.pla: 0235: end -; libsrc/apple/fileio.pla: 0236: def a3close(refnum) - ; refnum -> [0] -_C022 ; a3close() -; libsrc/apple/fileio.pla: 0237: byte params[2] - ; params -> [2] -; libsrc/apple/fileio.pla: 0238: -; libsrc/apple/fileio.pla: 0239: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; libsrc/apple/fileio.pla: 0240: params.1 = refnum -; libsrc/apple/fileio.pla: 0241: perr = syscall($CC, @params) -; libsrc/apple/fileio.pla: 0242: 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 -_F058 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F059 !WORD _D047+0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/fileio.pla: 0243: end -; libsrc/apple/fileio.pla: 0244: def a1read(refnum, buf, len) - ; refnum -> [0] - ; buf -> [2] - ; len -> [4] -_C023 ; a1read() -; libsrc/apple/fileio.pla: 0245: *CFFA1Dest = buf - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/fileio.pla: 0246: perr = syscall($22, 0) // This reads the entire file from CFFA -; libsrc/apple/fileio.pla: 0247: 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 -_F060 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F061 !WORD _D047+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0248: end -; libsrc/apple/fileio.pla: 0249: def a23read(refnum, buf, len) - ; refnum -> [0] - ; buf -> [2] - ; len -> [4] -_P009 ; a23read(refnum, buf, len)() -_C024 ; a23read() -; libsrc/apple/fileio.pla: 0250: byte params[8] - ; params -> [6] -; libsrc/apple/fileio.pla: 0251: -; libsrc/apple/fileio.pla: 0252: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; libsrc/apple/fileio.pla: 0253: params.1 = refnum -; libsrc/apple/fileio.pla: 0254: params:2 = buf -; libsrc/apple/fileio.pla: 0255: params:4 = len -; libsrc/apple/fileio.pla: 0256: params:6 = 0 -; libsrc/apple/fileio.pla: 0257: perr = syscall($CA, @params) -; libsrc/apple/fileio.pla: 0258: 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 -_F062 !WORD 0 - !BYTE $78 ; SAB _D047+0 -_F063 !WORD _D047+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; libsrc/apple/fileio.pla: 0259: end -; libsrc/apple/fileio.pla: 0260: def a1write(refnum, buf, len) - ; refnum -> [0] - ; buf -> [2] - ; len -> [4] -_C025 ; a1write() -; libsrc/apple/fileio.pla: 0261: return perr - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $68 ; LAB _D047+0 -_F064 !WORD _D047+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0262: end -; libsrc/apple/fileio.pla: 0263: def a2write(refnum, buf, len) - ; refnum -> [0] - ; buf -> [2] - ; len -> [4] -_P010 ; a2write(refnum, buf, len)() -_C026 ; a2write() -; libsrc/apple/fileio.pla: 0264: byte params[8] - ; params -> [6] -; libsrc/apple/fileio.pla: 0265: -; libsrc/apple/fileio.pla: 0266: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; libsrc/apple/fileio.pla: 0267: params.1 = refnum -; libsrc/apple/fileio.pla: 0268: params:2 = buf -; libsrc/apple/fileio.pla: 0269: params:4 = len -; libsrc/apple/fileio.pla: 0270: params:6 = 0 -; libsrc/apple/fileio.pla: 0271: perr = syscall($CB, @params) -; libsrc/apple/fileio.pla: 0272: 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 -_F065 !WORD 0 - !BYTE $78 ; SAB _D047+0 -_F066 !WORD _D047+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; libsrc/apple/fileio.pla: 0273: end -; libsrc/apple/fileio.pla: 0274: def a3write(refnum, buff, len) - ; refnum -> [0] - ; buff -> [2] - ; len -> [4] -_C027 ; a3write() -; libsrc/apple/fileio.pla: 0275: byte params[6] - ; params -> [6] -; libsrc/apple/fileio.pla: 0276: -; libsrc/apple/fileio.pla: 0277: params.0 = 3 - !BYTE $58,$0C,$03 ; ENTER 12,3 -; libsrc/apple/fileio.pla: 0278: params.1 = refnum -; libsrc/apple/fileio.pla: 0279: params:2 = buff -; libsrc/apple/fileio.pla: 0280: params:4 = len -; libsrc/apple/fileio.pla: 0281: perr = syscall($CB, @params) -; libsrc/apple/fileio.pla: 0282: 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 -_F067 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F068 !WORD _D047+0 - !BYTE $4C ; BRFLS _B028 - !WORD _B028-* - !BYTE $00 ; CN 0 - !BYTE $50 ; BRNCH _B029 - !WORD _B029-* -_B028 - !BYTE $66,$04 ; LLW [4] -_B029 - !BYTE $5A,$0C ; LEAVE 12 -; libsrc/apple/fileio.pla: 0283: end -; libsrc/apple/fileio.pla: 0284: def a1create(path, type, aux) - ; path -> [0] - ; type -> [2] - ; aux -> [4] -_C028 ; a1create() -; libsrc/apple/fileio.pla: 0285: return perr - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $68 ; LAB _D047+0 -_F069 !WORD _D047+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0286: end -; libsrc/apple/fileio.pla: 0287: def a2create(path, type, aux) - ; path -> [0] - ; type -> [2] - ; aux -> [4] -_P011 ; a2create(path, type, aux)() -_C029 ; a2create() -; libsrc/apple/fileio.pla: 0288: byte params[12] - ; params -> [6] -; libsrc/apple/fileio.pla: 0289: -; libsrc/apple/fileio.pla: 0290: params.0 = 7 - !BYTE $58,$12,$03 ; ENTER 18,3 -; libsrc/apple/fileio.pla: 0291: params:1 = path -; libsrc/apple/fileio.pla: 0292: params.3 = $C3 -; libsrc/apple/fileio.pla: 0293: params.4 = type -; libsrc/apple/fileio.pla: 0294: params:5 = aux -; libsrc/apple/fileio.pla: 0295: params.7 = type == $0F ?? $0D :: $01 -; libsrc/apple/fileio.pla: 0296: params:8 = 0 -; libsrc/apple/fileio.pla: 0297: params:10 = 0 -; libsrc/apple/fileio.pla: 0298: perr = syscall($C0, @params) -; libsrc/apple/fileio.pla: 0299: 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 _B030 - !WORD _B030-* - !BYTE $1A ; CN 13 - !BYTE $50 ; BRNCH _B031 - !WORD _B031-* -_B030 - !BYTE $02 ; CN 1 -_B031 - !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 -_F070 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F071 !WORD _D047+0 - !BYTE $5A,$12 ; LEAVE 18 -; libsrc/apple/fileio.pla: 0300: end -; libsrc/apple/fileio.pla: 0301: def a3create(path, type, aux) - ; path -> [0] - ; type -> [2] - ; aux -> [4] -_C030 ; a3create() -; libsrc/apple/fileio.pla: 0302: byte params[6] - ; params -> [6] -; libsrc/apple/fileio.pla: 0303: byte options[4] - ; options -> [12] -; libsrc/apple/fileio.pla: 0304: -; libsrc/apple/fileio.pla: 0305: params.0 = 3 - !BYTE $58,$10,$03 ; ENTER 16,3 -; libsrc/apple/fileio.pla: 0306: params:1 = path -; libsrc/apple/fileio.pla: 0307: params:3 = @options -; libsrc/apple/fileio.pla: 0308: params.5 = 4 -; libsrc/apple/fileio.pla: 0309: options.0 = type -; libsrc/apple/fileio.pla: 0310: options:1 = aux -; libsrc/apple/fileio.pla: 0311: options.3 = type == $0F ?? $0D :: $01 -; libsrc/apple/fileio.pla: 0312: perr = syscall($C0, @params) -; libsrc/apple/fileio.pla: 0313: 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 _B032 - !WORD _B032-* - !BYTE $1A ; CN 13 - !BYTE $50 ; BRNCH _B033 - !WORD _B033-* -_B032 - !BYTE $02 ; CN 1 -_B033 - !BYTE $74,$0F ; SLB [15] - !BYTE $2A,$C0 ; CB 192 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F072 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F073 !WORD _D047+0 - !BYTE $5A,$10 ; LEAVE 16 -; libsrc/apple/fileio.pla: 0314: end -; libsrc/apple/fileio.pla: 0315: def a1destroy(path) - ; path -> [0] -_C031 ; a1destroy() -; libsrc/apple/fileio.pla: 0316: perr = $01 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/fileio.pla: 0317: return perr - !BYTE $02 ; CN 1 - !BYTE $7C ; DAB _D047+0 -_F074 !WORD _D047+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/fileio.pla: 0318: end -; libsrc/apple/fileio.pla: 0319: def a23destroy(path) - ; path -> [0] -_P012 ; a23destroy(path)() -_C032 ; a23destroy() -; libsrc/apple/fileio.pla: 0320: byte params[3] - ; params -> [2] -; libsrc/apple/fileio.pla: 0321: -; libsrc/apple/fileio.pla: 0322: params.0 = 1 - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/apple/fileio.pla: 0323: params:1 = path -; libsrc/apple/fileio.pla: 0324: perr = syscall($C1, @params) -; libsrc/apple/fileio.pla: 0325: 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 -_F075 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F076 !WORD _D047+0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/fileio.pla: 0326: end -; libsrc/apple/fileio.pla: 0327: def a1rename(oldpath, newpath) - ; oldpath -> [0] - ; newpath -> [2] -_C033 ; a1rename() -; libsrc/apple/fileio.pla: 0328: perr = $01 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/fileio.pla: 0329: return perr - !BYTE $02 ; CN 1 - !BYTE $7C ; DAB _D047+0 -_F077 !WORD _D047+0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/fileio.pla: 0330: end -; libsrc/apple/fileio.pla: 0331: def a23rename(path, newpath) - ; path -> [0] - ; newpath -> [2] -_P013 ; a23rename(path, newpath)() -_C034 ; a23rename() -; libsrc/apple/fileio.pla: 0332: byte params[5] - ; params -> [4] -; libsrc/apple/fileio.pla: 0333: -; libsrc/apple/fileio.pla: 0334: params.0 = 2 - !BYTE $58,$09,$02 ; ENTER 9,2 -; libsrc/apple/fileio.pla: 0335: params:1 = path -; libsrc/apple/fileio.pla: 0336: params:3 = newpath -; libsrc/apple/fileio.pla: 0337: perr = syscall($C2, @params) -; libsrc/apple/fileio.pla: 0338: 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 -_F078 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F079 !WORD _D047+0 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/fileio.pla: 0339: end -; libsrc/apple/fileio.pla: 0340: def a1newline(refnum, emask, nlchar) - ; refnum -> [0] - ; emask -> [2] - ; nlchar -> [4] -_C035 ; a1newline() -; libsrc/apple/fileio.pla: 0341: return perr - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $68 ; LAB _D047+0 -_F080 !WORD _D047+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0342: end -; libsrc/apple/fileio.pla: 0343: def a2newline(refnum, emask, nlchar) - ; refnum -> [0] - ; emask -> [2] - ; nlchar -> [4] -_P014 ; a2newline(refnum, emask, nlchar)() -_C036 ; a2newline() -; libsrc/apple/fileio.pla: 0344: byte params[4] - ; params -> [6] -; libsrc/apple/fileio.pla: 0345: -; libsrc/apple/fileio.pla: 0346: params.0 = 3 - !BYTE $58,$0A,$03 ; ENTER 10,3 -; libsrc/apple/fileio.pla: 0347: params.1 = refnum -; libsrc/apple/fileio.pla: 0348: params.2 = emask -; libsrc/apple/fileio.pla: 0349: params.3 = nlchar -; libsrc/apple/fileio.pla: 0350: perr = syscall($C9, @params) -; libsrc/apple/fileio.pla: 0351: 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 -_F081 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F082 !WORD _D047+0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/apple/fileio.pla: 0352: end -; libsrc/apple/fileio.pla: 0353: def a3newline(refnum, emask, nlchar) - ; refnum -> [0] - ; emask -> [2] - ; nlchar -> [4] -_C037 ; a3newline() -; libsrc/apple/fileio.pla: 0354: byte params[4] - ; params -> [6] -; libsrc/apple/fileio.pla: 0355: -; libsrc/apple/fileio.pla: 0356: params.0 = 3 - !BYTE $58,$0A,$03 ; ENTER 10,3 -; libsrc/apple/fileio.pla: 0357: params.1 = refnum -; libsrc/apple/fileio.pla: 0358: params.2 = emask ?? $FF :: $00 -; libsrc/apple/fileio.pla: 0359: params.3 = nlchar -; libsrc/apple/fileio.pla: 0360: perr = syscall($C9, @params) -; libsrc/apple/fileio.pla: 0361: 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 _B034 - !WORD _B034-* - !BYTE $2A,$FF ; CB 255 - !BYTE $50 ; BRNCH _B035 - !WORD _B035-* -_B034 - !BYTE $00 ; CN 0 -_B035 - !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 -_F083 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F084 !WORD _D047+0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/apple/fileio.pla: 0362: end -; libsrc/apple/fileio.pla: 0363: def a1online(unit, buf) - ; unit -> [0] - ; buf -> [2] -_C038 ; a1online() -; libsrc/apple/fileio.pla: 0364: perr = $27 // IOERR - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/fileio.pla: 0365: return perr - !BYTE $2A,$27 ; CB 39 - !BYTE $7C ; DAB _D047+0 -_F085 !WORD _D047+0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/fileio.pla: 0366: end -; libsrc/apple/fileio.pla: 0367: def a2online(unit, buf) - ; unit -> [0] - ; buf -> [2] -_P015 ; a2online(unit, buf)() -_C039 ; a2online() -; libsrc/apple/fileio.pla: 0368: byte params[4] - ; params -> [4] -; libsrc/apple/fileio.pla: 0369: -; libsrc/apple/fileio.pla: 0370: params.0 = 2 - !BYTE $58,$08,$02 ; ENTER 8,2 -; libsrc/apple/fileio.pla: 0371: params.1 = unit -; libsrc/apple/fileio.pla: 0372: params:2 = buf -; libsrc/apple/fileio.pla: 0373: perr = syscall($C5, @params) -; libsrc/apple/fileio.pla: 0374: 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 -_F086 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F087 !WORD _D047+0 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/fileio.pla: 0375: end -; libsrc/apple/fileio.pla: 0376: def a3volume(unit, volname) - ; unit -> [0] - ; volname -> [2] -_C040 ; a3volume() -; libsrc/apple/fileio.pla: 0377: byte devname[17] - ; devname -> [4] -; libsrc/apple/fileio.pla: 0378: byte info[11] - ; info -> [21] -; libsrc/apple/fileio.pla: 0379: byte params[9] - ; params -> [32] -; libsrc/apple/fileio.pla: 0380: -; libsrc/apple/fileio.pla: 0381: ^volname = 0 - !BYTE $58,$29,$02 ; ENTER 41,2 -; libsrc/apple/fileio.pla: 0382: params.0 = 4 -; libsrc/apple/fileio.pla: 0383: params.1 = unit -; libsrc/apple/fileio.pla: 0384: params:2 = @devname -; libsrc/apple/fileio.pla: 0385: params:4 = @info -; libsrc/apple/fileio.pla: 0386: params.6 = 11 -; libsrc/apple/fileio.pla: 0387: if syscall($85, @params) == 0 -; libsrc/apple/fileio.pla: 0388: params.0 = 4 -; libsrc/apple/fileio.pla: 0389: params:1 = @devname -; libsrc/apple/fileio.pla: 0390: params:3 = volname -; libsrc/apple/fileio.pla: 0391: params:5 = 0 -; libsrc/apple/fileio.pla: 0392: params:7 = 0 -; libsrc/apple/fileio.pla: 0393: 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 -_F088 !WORD 0 - !BYTE $4E ; BRTRU _B036 - !WORD _B036-* - !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 -_F089 !WORD 0 - !BYTE $5A,$29 ; LEAVE 41 -; libsrc/apple/fileio.pla: 0394: fin -_B036 -_B037 -; libsrc/apple/fileio.pla: 0395: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$29 ; LEAVE 41 -; libsrc/apple/fileio.pla: 0396: end -; libsrc/apple/fileio.pla: 0397: def a3online(unit, buf) - ; unit -> [0] - ; buf -> [2] -_C041 ; a3online() -; libsrc/apple/fileio.pla: 0398: byte info[11] - ; info -> [4] -; libsrc/apple/fileio.pla: 0399: byte volname[17] - ; volname -> [15] -; libsrc/apple/fileio.pla: 0400: byte i - ; i -> [32] -; libsrc/apple/fileio.pla: 0401: -; libsrc/apple/fileio.pla: 0402: if unit == 0 - !BYTE $58,$21,$02 ; ENTER 33,2 -; libsrc/apple/fileio.pla: 0403: for i = $01 to $0F - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B038 - !WORD _B038-* - !BYTE $1E ; CN 15 - !BYTE $02 ; CN 1 -_B041 - !BYTE $6C,$20 ; DLB [32] -; libsrc/apple/fileio.pla: 0404: if a3volume(i, buf) == 0 -; libsrc/apple/fileio.pla: 0405: ^buf = ^buf | (i << 4) -; libsrc/apple/fileio.pla: 0406: fin - !BYTE $64,$20 ; LLB [32] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C040 -_F090 !WORD _C040 - !BYTE $4E ; BRTRU _B043 - !WORD _B043-* - !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 -_B043 -_B044 -; libsrc/apple/fileio.pla: 0407: buf = buf + 16 -; libsrc/apple/fileio.pla: 0408: next - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$02 ; SLW [2] -_B042 - !BYTE $A4 ; INCBRLE _B041 - !WORD _B041-* -_B040 - !BYTE $74,$20 ; SLB [32] - !BYTE $30 ; DROP -; libsrc/apple/fileio.pla: 0409: else - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -_B038 -; libsrc/apple/fileio.pla: 0410: return a3volume(unit, buf) - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C040 -_F091 !WORD _C040 - !BYTE $5A,$21 ; LEAVE 33 -; libsrc/apple/fileio.pla: 0411: fin -_B039 -; libsrc/apple/fileio.pla: 0412: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$21 ; LEAVE 33 -; libsrc/apple/fileio.pla: 0413: end -; libsrc/apple/fileio.pla: 0414: def a13readblock(unit, buf, block) - ; unit -> [0] - ; buf -> [2] - ; block -> [4] -_C042 ; a13readblock() -; libsrc/apple/fileio.pla: 0415: perr = $27 // IOERR - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/fileio.pla: 0416: return perr - !BYTE $2A,$27 ; CB 39 - !BYTE $7C ; DAB _D047+0 -_F092 !WORD _D047+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0417: end -; libsrc/apple/fileio.pla: 0418: def a2readblock(unit, buf, block) - ; unit -> [0] - ; buf -> [2] - ; block -> [4] -_P016 ; a2readblock(unit, buf, block)() -_C043 ; a2readblock() -; libsrc/apple/fileio.pla: 0419: byte params[6] - ; params -> [6] -; libsrc/apple/fileio.pla: 0420: -; libsrc/apple/fileio.pla: 0421: params.0 = 3 - !BYTE $58,$0C,$03 ; ENTER 12,3 -; libsrc/apple/fileio.pla: 0422: params.1 = unit -; libsrc/apple/fileio.pla: 0423: params:2 = buf -; libsrc/apple/fileio.pla: 0424: params:4 = block -; libsrc/apple/fileio.pla: 0425: perr = syscall($80, @params) -; libsrc/apple/fileio.pla: 0426: 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 -_F093 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F094 !WORD _D047+0 - !BYTE $5A,$0C ; LEAVE 12 -; libsrc/apple/fileio.pla: 0427: end -; libsrc/apple/fileio.pla: 0428: def a13writeblock(unit, buf, block) - ; unit -> [0] - ; buf -> [2] - ; block -> [4] -_C044 ; a13writeblock() -; libsrc/apple/fileio.pla: 0429: perr = $27 // IOERR - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/fileio.pla: 0430: return perr - !BYTE $2A,$27 ; CB 39 - !BYTE $7C ; DAB _D047+0 -_F095 !WORD _D047+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0431: end -; libsrc/apple/fileio.pla: 0432: def a2writeblock(unit, buf, block) - ; unit -> [0] - ; buf -> [2] - ; block -> [4] -_P017 ; a2writeblock(unit, buf, block)() -_C045 ; a2writeblock() -; libsrc/apple/fileio.pla: 0433: byte params[6] - ; params -> [6] -; libsrc/apple/fileio.pla: 0434: -; libsrc/apple/fileio.pla: 0435: params.0 = 3 - !BYTE $58,$0C,$03 ; ENTER 12,3 -; libsrc/apple/fileio.pla: 0436: params.1 = unit -; libsrc/apple/fileio.pla: 0437: params:2 = buf -; libsrc/apple/fileio.pla: 0438: params:4 = block -; libsrc/apple/fileio.pla: 0439: perr = syscall($81, @params) -; libsrc/apple/fileio.pla: 0440: 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 -_F096 !WORD 0 - !BYTE $7C ; DAB _D047+0 -_F097 !WORD _D047+0 - !BYTE $5A,$0C ; LEAVE 12 -; libsrc/apple/fileio.pla: 0441: end -; libsrc/apple/fileio.pla: 0442: // -; libsrc/apple/fileio.pla: 0443: // Machine specific initialization. -; libsrc/apple/fileio.pla: 0444: // -; libsrc/apple/fileio.pla: 0445: when MACHID & MACHID_MODEL -_INIT - !BYTE $68 ; LAB _X001+0 -_F098 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B046-* -; libsrc/apple/fileio.pla: 0446: is MACHID_III -_B047 -; libsrc/apple/fileio.pla: 0447: fileio:getpfx = @a3getpfx -; libsrc/apple/fileio.pla: 0448: fileio:getfileinfo = @a3getfileinfo -; libsrc/apple/fileio.pla: 0449: fileio:setfileinfo = @a3setfileinfo -; libsrc/apple/fileio.pla: 0450: fileio:iobufalloc = @a13iobufs -; libsrc/apple/fileio.pla: 0451: fileio:open = @a3open -; libsrc/apple/fileio.pla: 0452: fileio:close = @a3close -; libsrc/apple/fileio.pla: 0453: fileio:write = @a3write -; libsrc/apple/fileio.pla: 0454: fileio:create = @a3create -; libsrc/apple/fileio.pla: 0455: fileio:newline = @a3newline -; libsrc/apple/fileio.pla: 0456: fileio:online = @a3online -; libsrc/apple/fileio.pla: 0457: fileio:readblock = @a13readblock -; libsrc/apple/fileio.pla: 0458: fileio:writeblock = @a13writeblock -; libsrc/apple/fileio.pla: 0459: break - !BYTE $26 ; LA _C002+0 -_F099 !WORD _C002+0 - !BYTE $7A ; SAW _D046+0 -_F100 !WORD _D046+0 - !BYTE $26 ; LA _C007+0 -_F101 !WORD _C007+0 - !BYTE $7A ; SAW _D046+4 -_F102 !WORD _D046+4 - !BYTE $26 ; LA _C010+0 -_F103 !WORD _C010+0 - !BYTE $7A ; SAW _D046+6 -_F104 !WORD _D046+6 - !BYTE $26 ; LA _C017+0 -_F105 !WORD _C017+0 - !BYTE $7A ; SAW _D046+12 -_F106 !WORD _D046+12 - !BYTE $26 ; LA _C019+0 -_F107 !WORD _C019+0 - !BYTE $7A ; SAW _D046+14 -_F108 !WORD _D046+14 - !BYTE $26 ; LA _C022+0 -_F109 !WORD _C022+0 - !BYTE $7A ; SAW _D046+16 -_F110 !WORD _D046+16 - !BYTE $26 ; LA _C027+0 -_F111 !WORD _C027+0 - !BYTE $7A ; SAW _D046+20 -_F112 !WORD _D046+20 - !BYTE $26 ; LA _C030+0 -_F113 !WORD _C030+0 - !BYTE $7A ; SAW _D046+22 -_F114 !WORD _D046+22 - !BYTE $26 ; LA _C037+0 -_F115 !WORD _C037+0 - !BYTE $7A ; SAW _D046+28 -_F116 !WORD _D046+28 - !BYTE $26 ; LA _C041+0 -_F117 !WORD _C041+0 - !BYTE $7A ; SAW _D046+30 -_F118 !WORD _D046+30 - !BYTE $26 ; LA _C042+0 -_F119 !WORD _C042+0 - !BYTE $7A ; SAW _D046+32 -_F120 !WORD _D046+32 - !BYTE $26 ; LA _C044+0 -_F121 !WORD _C044+0 - !BYTE $7A ; SAW _D046+34 -_F122 !WORD _D046+34 - !BYTE $50 ; BRNCH _B045 - !WORD _B045-* -; libsrc/apple/fileio.pla: 0460: is MACHID_I -_B048 -; libsrc/apple/fileio.pla: 0461: fileio:getpfx = @a1getpfx -; libsrc/apple/fileio.pla: 0462: fileio:setpfx = @a1setpfx -; libsrc/apple/fileio.pla: 0463: fileio:getfileinfo = @a1getfileinfo -; libsrc/apple/fileio.pla: 0464: fileio:setfileinfo = @a1setfileinfo -; libsrc/apple/fileio.pla: 0465: fileio:geteof = @a1geteof -; libsrc/apple/fileio.pla: 0466: fileio:seteof = @a1seteof -; libsrc/apple/fileio.pla: 0467: fileio:iobufalloc = @a13iobufs -; libsrc/apple/fileio.pla: 0468: fileio:open = @a1open -; libsrc/apple/fileio.pla: 0469: fileio:close = @a1close -; libsrc/apple/fileio.pla: 0470: fileio:read = @a1read -; libsrc/apple/fileio.pla: 0471: fileio:write = @a1write -; libsrc/apple/fileio.pla: 0472: fileio:create = @a1create -; libsrc/apple/fileio.pla: 0473: fileio:destroy = @a1destroy -; libsrc/apple/fileio.pla: 0474: fileio:rename = @a1rename -; libsrc/apple/fileio.pla: 0475: fileio:newline = @a1newline -; libsrc/apple/fileio.pla: 0476: fileio:online = @a1online -; libsrc/apple/fileio.pla: 0477: fileio:readblock = @a13readblock -; libsrc/apple/fileio.pla: 0478: fileio:writeblock = @a13writeblock -; libsrc/apple/fileio.pla: 0479: break - !BYTE $26 ; LA _C000+0 -_F123 !WORD _C000+0 - !BYTE $7A ; SAW _D046+0 -_F124 !WORD _D046+0 - !BYTE $26 ; LA _C003+0 -_F125 !WORD _C003+0 - !BYTE $7A ; SAW _D046+2 -_F126 !WORD _D046+2 - !BYTE $26 ; LA _C005+0 -_F127 !WORD _C005+0 - !BYTE $7A ; SAW _D046+4 -_F128 !WORD _D046+4 - !BYTE $26 ; LA _C008+0 -_F129 !WORD _C008+0 - !BYTE $7A ; SAW _D046+6 -_F130 !WORD _D046+6 - !BYTE $26 ; LA _C011+0 -_F131 !WORD _C011+0 - !BYTE $7A ; SAW _D046+8 -_F132 !WORD _D046+8 - !BYTE $26 ; LA _C013+0 -_F133 !WORD _C013+0 - !BYTE $7A ; SAW _D046+10 -_F134 !WORD _D046+10 - !BYTE $26 ; LA _C017+0 -_F135 !WORD _C017+0 - !BYTE $7A ; SAW _D046+12 -_F136 !WORD _D046+12 - !BYTE $26 ; LA _C015+0 -_F137 !WORD _C015+0 - !BYTE $7A ; SAW _D046+14 -_F138 !WORD _D046+14 - !BYTE $26 ; LA _C020+0 -_F139 !WORD _C020+0 - !BYTE $7A ; SAW _D046+16 -_F140 !WORD _D046+16 - !BYTE $26 ; LA _C023+0 -_F141 !WORD _C023+0 - !BYTE $7A ; SAW _D046+18 -_F142 !WORD _D046+18 - !BYTE $26 ; LA _C025+0 -_F143 !WORD _C025+0 - !BYTE $7A ; SAW _D046+20 -_F144 !WORD _D046+20 - !BYTE $26 ; LA _C028+0 -_F145 !WORD _C028+0 - !BYTE $7A ; SAW _D046+22 -_F146 !WORD _D046+22 - !BYTE $26 ; LA _C031+0 -_F147 !WORD _C031+0 - !BYTE $7A ; SAW _D046+24 -_F148 !WORD _D046+24 - !BYTE $26 ; LA _C033+0 -_F149 !WORD _C033+0 - !BYTE $7A ; SAW _D046+26 -_F150 !WORD _D046+26 - !BYTE $26 ; LA _C035+0 -_F151 !WORD _C035+0 - !BYTE $7A ; SAW _D046+28 -_F152 !WORD _D046+28 - !BYTE $26 ; LA _C038+0 -_F153 !WORD _C038+0 - !BYTE $7A ; SAW _D046+30 -_F154 !WORD _D046+30 - !BYTE $26 ; LA _C042+0 -_F155 !WORD _C042+0 - !BYTE $7A ; SAW _D046+32 -_F156 !WORD _D046+32 - !BYTE $26 ; LA _C044+0 -_F157 !WORD _C044+0 - !BYTE $7A ; SAW _D046+34 -_F158 !WORD _D046+34 - !BYTE $50 ; BRNCH _B045 - !WORD _B045-* -; libsrc/apple/fileio.pla: 0480: otherwise // Apple ][ -_B046 - !BYTE $02 ; CASEBLOCK - !WORD $0008 - !WORD _B048-* - !WORD $00C0 - !WORD _B047-* -; libsrc/apple/fileio.pla: 0481: wend -_B045 -; libsrc/apple/fileio.pla: 0482: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 47 -_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 $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 $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !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 $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 $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 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 18 ; 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 $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 13 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 11 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE 11 ; 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 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE 11 ; 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 11 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !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 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 $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !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 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !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 $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: PERR - !BYTE $D0,$C5,$D2,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D047 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/grafix.a b/src/libsrc/apple/grafix.a deleted file mode 100644 index 265cc6f..0000000 --- a/src/libsrc/apple/grafix.a +++ /dev/null @@ -1,1327 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: -; libsrc/apple/grafix.pla: 0006: export def pencolor(clr)#0 -_SUBSEG ; BYTECODE STARTS - ; clr -> [0] -_C000 ; pencolor() -; libsrc/apple/grafix.pla: 0007: params:4 = 2 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grafix.pla: 0008: cmd.0 = 19 // Pen color -; libsrc/apple/grafix.pla: 0009: cmd.1 = clr -; libsrc/apple/grafix.pla: 0010: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0011: 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: 0012: -; libsrc/apple/grafix.pla: 0013: export def fillcolor(clr)#0 - ; clr -> [0] -_C001 ; fillcolor() -; libsrc/apple/grafix.pla: 0014: params:4 = 2 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grafix.pla: 0015: cmd.0 = 20 // Fill color -; libsrc/apple/grafix.pla: 0016: cmd.1 = clr -; libsrc/apple/grafix.pla: 0017: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0018: 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: 0019: -; libsrc/apple/grafix.pla: 0020: export def fillscreen()#0 -_C002 ; fillscreen() -; libsrc/apple/grafix.pla: 0021: params:4 = 1 -; libsrc/apple/grafix.pla: 0022: cmd.9 = 28 // Clear viewport -; libsrc/apple/grafix.pla: 0023: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0024: 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: 0025: -; libsrc/apple/grafix.pla: 0026: export def penmove(x, y)#0 - ; x -> [0] - ; y -> [2] -_C003 ; penmove() -; libsrc/apple/grafix.pla: 0027: params:4 = 5 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/grafix.pla: 0028: cmd.0 = 26 // Move pen -; libsrc/apple/grafix.pla: 0029: cmd:1 = x -; libsrc/apple/grafix.pla: 0030: cmd:3 = y -; libsrc/apple/grafix.pla: 0031: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0032: 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: 0033: -; libsrc/apple/grafix.pla: 0034: export def plot(x, y)#0 - ; x -> [0] - ; y -> [2] -_C004 ; plot() -; libsrc/apple/grafix.pla: 0035: params:4 = 5 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/grafix.pla: 0036: cmd.0 = 25 // Plot -; libsrc/apple/grafix.pla: 0037: cmd:1 = x -; libsrc/apple/grafix.pla: 0038: cmd:3 = y -; libsrc/apple/grafix.pla: 0039: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0040: 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: 0041: -; libsrc/apple/grafix.pla: 0042: export def line(x1, y1, x2, y2)#0 - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] -_C005 ; line() -; libsrc/apple/grafix.pla: 0043: params:4 = 10 - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/grafix.pla: 0044: cmd.0 = 26 // Move pen -; libsrc/apple/grafix.pla: 0045: cmd:1 = x1 -; libsrc/apple/grafix.pla: 0046: cmd:3 = y1 -; libsrc/apple/grafix.pla: 0047: cmd.5 = 24 // Line -; libsrc/apple/grafix.pla: 0048: cmd:6 = x2 -; libsrc/apple/grafix.pla: 0049: cmd:8 = y2 -; libsrc/apple/grafix.pla: 0050: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0051: 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: 0052: -; libsrc/apple/grafix.pla: 0053: export def lineto(x, y)#0 - ; x -> [0] - ; y -> [2] -_C006 ; lineto() -; libsrc/apple/grafix.pla: 0054: params:4 = 5 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/grafix.pla: 0055: cmd.0 = 24 // Line -; libsrc/apple/grafix.pla: 0056: cmd:1 = x -; libsrc/apple/grafix.pla: 0057: cmd:3 = y -; libsrc/apple/grafix.pla: 0058: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0059: 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: 0060: -; libsrc/apple/grafix.pla: 0061: export def rect(x1, y1, x2, y2)#0 - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] -_C007 ; rect() -; libsrc/apple/grafix.pla: 0062: params:4 = 10 - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/grafix.pla: 0063: cmd.0 = 26 // Move pen -; libsrc/apple/grafix.pla: 0064: cmd:1 = x1 -; libsrc/apple/grafix.pla: 0065: cmd:3 = y1 -; libsrc/apple/grafix.pla: 0066: cmd.5 = 24 // Line -; libsrc/apple/grafix.pla: 0067: cmd:6 = x2 -; libsrc/apple/grafix.pla: 0068: cmd:8 = y1 -; libsrc/apple/grafix.pla: 0069: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0070: params:4 = 15 -; libsrc/apple/grafix.pla: 0071: cmd.0 = 24 // Line -; libsrc/apple/grafix.pla: 0072: cmd:1 = x2 -; libsrc/apple/grafix.pla: 0073: cmd:3 = y2 -; libsrc/apple/grafix.pla: 0074: cmd.5 = 24 // Line -; libsrc/apple/grafix.pla: 0075: cmd:6 = x1 -; libsrc/apple/grafix.pla: 0076: cmd:8 = y2 -; libsrc/apple/grafix.pla: 0077: cmd.10 = 24 // Line -; libsrc/apple/grafix.pla: 0078: cmd:11 = x1 -; libsrc/apple/grafix.pla: 0079: cmd:13 = y1 -; libsrc/apple/grafix.pla: 0080: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0081: 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: 0082: -; libsrc/apple/grafix.pla: 0083: export def fillrect(x1, y1, x2, y2)#0 - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] -_C008 ; fillrect() -; libsrc/apple/grafix.pla: 0084: params:4 = 11 - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/grafix.pla: 0085: cmd.0 = 2 // Set viewport -; libsrc/apple/grafix.pla: 0086: cmd:1 = x1 -; libsrc/apple/grafix.pla: 0087: cmd:3 = x2 -; libsrc/apple/grafix.pla: 0088: cmd:5 = y1 -; libsrc/apple/grafix.pla: 0089: cmd:7 = y2 -; libsrc/apple/grafix.pla: 0090: cmd.9 = 28 // Clear viewport -; libsrc/apple/grafix.pla: 0091: cmd.10 = 1 // Reset viewport -; libsrc/apple/grafix.pla: 0092: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0093: 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: 0094: -; libsrc/apple/grafix.pla: 0095: 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: 0096: params:4 = 14 - !BYTE $58,$0C,$06 ; ENTER 12,6 -; libsrc/apple/grafix.pla: 0097: cmd.0 = 4 // Draw block -; libsrc/apple/grafix.pla: 0098: cmd:1 = bits -; libsrc/apple/grafix.pla: 0099: cmd.3 = ^$FFED & $8F -; libsrc/apple/grafix.pla: 0100: cmd:4 = pitch -; libsrc/apple/grafix.pla: 0101: cmd:6 = x -; libsrc/apple/grafix.pla: 0102: cmd:8 = y -; libsrc/apple/grafix.pla: 0103: cmd:10 = width -; libsrc/apple/grafix.pla: 0104: cmd:12 = height -; libsrc/apple/grafix.pla: 0105: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0106: 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: 0107: -; libsrc/apple/grafix.pla: 0108: export def drawmode(mode)#0 - ; mode -> [0] -_C010 ; drawmode() -; libsrc/apple/grafix.pla: 0109: params:4 = 2 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grafix.pla: 0110: cmd.0 = 21 // Transfer mode -; libsrc/apple/grafix.pla: 0111: cmd.1 = mode -; libsrc/apple/grafix.pla: 0112: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0113: 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: 0114: -; libsrc/apple/grafix.pla: 0115: export def setmode(mode)#0 - ; mode -> [0] -_C011 ; setmode() -; libsrc/apple/grafix.pla: 0116: if mode < 0 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grafix.pla: 0117: // -; libsrc/apple/grafix.pla: 0118: // Free driver -; libsrc/apple/grafix.pla: 0119: // -; libsrc/apple/grafix.pla: 0120: params.0 = 1 -; libsrc/apple/grafix.pla: 0121: params.1 = gfxref -; libsrc/apple/grafix.pla: 0122: syscall($CC, @params) -; libsrc/apple/grafix.pla: 0123: gfxref = 0 -; libsrc/apple/grafix.pla: 0124: // -; libsrc/apple/grafix.pla: 0125: // Deaalocate bank 0 -; libsrc/apple/grafix.pla: 0126: // -; libsrc/apple/grafix.pla: 0127: params.0 = 1 -; libsrc/apple/grafix.pla: 0128: params.1 = gfxseg -; libsrc/apple/grafix.pla: 0129: syscall($45, @params) -; libsrc/apple/grafix.pla: 0130: ^$1907 = $00 // Unset graphics pages allocated -; libsrc/apple/grafix.pla: 0131: fin - !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 -_F088 !WORD _D030+0 - !BYTE $68 ; LAB _D028+0 -_F089 !WORD _D028+0 - !BYTE $78 ; SAB _D030+1 -_F090 !WORD _D030+1 - !BYTE $2A,$CC ; CB 204 - !BYTE $26 ; LA _D030+0 -_F091 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F092 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D028+0 -_F093 !WORD _D028+0 - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D030+0 -_F094 !WORD _D030+0 - !BYTE $68 ; LAB _D029+0 -_F095 !WORD _D029+0 - !BYTE $78 ; SAB _D030+1 -_F096 !WORD _D030+1 - !BYTE $2A,$45 ; CB 69 - !BYTE $26 ; LA _D030+0 -_F097 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F098 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78,$07,$19 ; SAB 6407 -_B001 -_B002 -; libsrc/apple/grafix.pla: 0132: if not gfxref -; libsrc/apple/grafix.pla: 0133: return - !BYTE $68 ; LAB _D028+0 -_F099 !WORD _D028+0 - !BYTE $4E ; BRTRU _B003 - !WORD _B003-* - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grafix.pla: 0134: fin -_B003 -_B004 -; libsrc/apple/grafix.pla: 0135: params.0 = 3 -; libsrc/apple/grafix.pla: 0136: params.1 = gfxref -; libsrc/apple/grafix.pla: 0137: params:2 = @cmd -; libsrc/apple/grafix.pla: 0138: params:4 = 8 -; libsrc/apple/grafix.pla: 0139: cmd.0 = 16 // Set mode -; libsrc/apple/grafix.pla: 0140: cmd.1 = mode -; libsrc/apple/grafix.pla: 0141: cmd.2 = 19 // Pen color -; libsrc/apple/grafix.pla: 0142: cmd.3 = 0 -; libsrc/apple/grafix.pla: 0143: cmd.4 = 1 // Reset viewport -; libsrc/apple/grafix.pla: 0144: cmd.5 = 28 // Clear viewport -; libsrc/apple/grafix.pla: 0145: cmd.7 = 15 // Turn on screen -; libsrc/apple/grafix.pla: 0146: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0147: end - !BYTE $06 ; CN 3 - !BYTE $78 ; SAB _D030+0 -_F100 !WORD _D030+0 - !BYTE $68 ; LAB _D028+0 -_F101 !WORD _D028+0 - !BYTE $78 ; SAB _D030+1 -_F102 !WORD _D030+1 - !BYTE $26 ; LA _D031+0 -_F103 !WORD _D031+0 - !BYTE $7A ; SAW _D030+2 -_F104 !WORD _D030+2 - !BYTE $10 ; CN 8 - !BYTE $7A ; SAW _D030+4 -_F105 !WORD _D030+4 - !BYTE $2A,$10 ; CB 16 - !BYTE $78 ; SAB _D031+0 -_F106 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _D031+1 -_F107 !WORD _D031+1 - !BYTE $2A,$13 ; CB 19 - !BYTE $78 ; SAB _D031+2 -_F108 !WORD _D031+2 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D031+3 -_F109 !WORD _D031+3 - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D031+4 -_F110 !WORD _D031+4 - !BYTE $2A,$1C ; CB 28 - !BYTE $78 ; SAB _D031+5 -_F111 !WORD _D031+5 - !BYTE $1E ; CN 15 - !BYTE $78 ; SAB _D031+7 -_F112 !WORD _D031+7 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F113 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F114 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grafix.pla: 0148: -; libsrc/apple/grafix.pla: 0149: if MACHID <> $F2 -_INIT -; libsrc/apple/grafix.pla: 0150: puts("Apple /// only.\n") - !BYTE $68 ; LAB _X001+0 -_F115 !WORD 0+0 - !BYTE $2A,$F2 ; CB 242 - !BYTE $22 ; BREQ _B005 - !WORD _B005-* - !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 -_F116 !WORD 0 -; libsrc/apple/grafix.pla: 0151: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/grafix.pla: 0152: fin -_B005 -_B006 -; libsrc/apple/grafix.pla: 0153: // -; libsrc/apple/grafix.pla: 0154: // Allocate bank 0 -; libsrc/apple/grafix.pla: 0155: // -; libsrc/apple/grafix.pla: 0156: params.0 = 4 -; libsrc/apple/grafix.pla: 0157: params:1 = $2000 -; libsrc/apple/grafix.pla: 0158: params:3 = $9F00 -; libsrc/apple/grafix.pla: 0159: params.5 = $10 -; libsrc/apple/grafix.pla: 0160: params.6 = $00 -; libsrc/apple/grafix.pla: 0161: syscall($40, @params) -; libsrc/apple/grafix.pla: 0162: gfxseg = params.6 -; libsrc/apple/grafix.pla: 0163: ^$1907 = $80 // Set graphics pages allocated -; libsrc/apple/grafix.pla: 0164: // -; libsrc/apple/grafix.pla: 0165: // Open graphics driver -; libsrc/apple/grafix.pla: 0166: // -; libsrc/apple/grafix.pla: 0167: params.0 = 4 -; libsrc/apple/grafix.pla: 0168: params:1 = ".GRAFIX" - !BYTE $08 ; CN 4 - !BYTE $78 ; SAB _D030+0 -_F117 !WORD _D030+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $7A ; SAW _D030+1 -_F118 !WORD _D030+1 - !BYTE $2C,$00,$9F ; CW 40704 - !BYTE $7A ; SAW _D030+3 -_F119 !WORD _D030+3 - !BYTE $2A,$10 ; CB 16 - !BYTE $78 ; SAB _D030+5 -_F120 !WORD _D030+5 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D030+6 -_F121 !WORD _D030+6 - !BYTE $2A,$40 ; CB 64 - !BYTE $26 ; LA _D030+0 -_F122 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F123 !WORD 0 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D030+6 -_F124 !WORD _D030+6 - !BYTE $78 ; SAB _D029+0 -_F125 !WORD _D029+0 - !BYTE $2A,$80 ; CB 128 - !BYTE $78,$07,$19 ; SAB 6407 - !BYTE $08 ; CN 4 - !BYTE $78 ; SAB _D030+0 -_F126 !WORD _D030+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $2E,$47,$52,$41,$46,$49,$58 - !BYTE $7A ; SAW _D030+1 -_F127 !WORD _D030+1 -; libsrc/apple/grafix.pla: 0169: params.3 = 0 -; libsrc/apple/grafix.pla: 0170: params:4 = 0 -; libsrc/apple/grafix.pla: 0171: params.6 = 0 -; libsrc/apple/grafix.pla: 0172: syscall($C8, @params) -; libsrc/apple/grafix.pla: 0173: gfxref = params.3 -; libsrc/apple/grafix.pla: 0174: done - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D030+3 -_F128 !WORD _D030+3 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D030+4 -_F129 !WORD _D030+4 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D030+6 -_F130 !WORD _D030+6 - !BYTE $2A,$C8 ; CB 200 - !BYTE $26 ; LA _D030+0 -_F131 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F132 !WORD 0 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D030+3 -_F133 !WORD _D030+3 - !BYTE $78 ; SAB _D028+0 -_F134 !WORD _D028+0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_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 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 $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !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 11 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_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: 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 _C011 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/grlib.a b/src/libsrc/apple/grlib.a deleted file mode 100644 index 3532da6..0000000 --- a/src/libsrc/apple/grlib.a +++ /dev/null @@ -1,1512 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: // Wait for VLB -; libsrc/apple/grlib.pla: 0411: // -; libsrc/apple/grlib.pla: 0412: export asm grVLB#0 -_A010 ; grVLB() -; libsrc/apple/grlib.pla: 0413: LDA $BF98 - LDA $BF98 -; libsrc/apple/grlib.pla: 0414: AND #$C0 - AND #$C0 -; libsrc/apple/grlib.pla: 0415: CMP #$80 - CMP #$80 -; libsrc/apple/grlib.pla: 0416: BNE + - BNE + -; libsrc/apple/grlib.pla: 0417: PHP - PHP -; libsrc/apple/grlib.pla: 0418: SEI - SEI -; libsrc/apple/grlib.pla: 0419: STA $C079 ; Enable IOU access and reset VBL int on //c - STA $C079 ; Enable IOU access and reset VBL int on //c -; libsrc/apple/grlib.pla: 0420: STA $C05B ; Enable VBL int - STA $C05B ; Enable VBL int -; libsrc/apple/grlib.pla: 0421: - LDA $C019 -- LDA $C019 -; libsrc/apple/grlib.pla: 0422: STA $C079 ; Reset VBL int on //c - STA $C079 ; Reset VBL int on //c -; libsrc/apple/grlib.pla: 0423: BMI - - BMI - -; libsrc/apple/grlib.pla: 0424: - LDA $C019 -- LDA $C019 -; libsrc/apple/grlib.pla: 0425: BPL - - BPL - -; libsrc/apple/grlib.pla: 0426: STA $C05A ; Disable VBL int on //c - STA $C05A ; Disable VBL int on //c -; libsrc/apple/grlib.pla: 0427: STA $C078 ; Disable IOU access on //c - STA $C078 ; Disable IOU access on //c -; libsrc/apple/grlib.pla: 0428: PLP - PLP -; libsrc/apple/grlib.pla: 0429: + RTS -+ RTS -; libsrc/apple/grlib.pla: 0430: end -; libsrc/apple/grlib.pla: 0431: // -; libsrc/apple/grlib.pla: 0432: // Clear the buffer -; libsrc/apple/grlib.pla: 0433: // -; libsrc/apple/grlib.pla: 0434: export def grClear(clr)#0 -_SUBSEG ; BYTECODE STARTS - ; clr -> [0] -_C000 ; grClear() -; libsrc/apple/grlib.pla: 0435: byte[32] clrtile - ; clrtile -> [2] -; libsrc/apple/grlib.pla: 0436: -; libsrc/apple/grlib.pla: 0437: clr = (clr & $0F) | (clr << 4) - !BYTE $58,$22,$01 ; ENTER 34,1 -; libsrc/apple/grlib.pla: 0438: clr = (clr & $FF) | (clr << 8) -; libsrc/apple/grlib.pla: 0439: memset(@clrtile, clr, 32) -; libsrc/apple/grlib.pla: 0440: grFill(0, 0, @clrtile) -; libsrc/apple/grlib.pla: 0441: 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: 0442: // -; libsrc/apple/grlib.pla: 0443: // Set lores graphics, return draw buffer -; libsrc/apple/grlib.pla: 0444: // -; libsrc/apple/grlib.pla: 0445: export def grMode(mode)#1 - ; mode -> [0] -_C001 ; grMode() -; libsrc/apple/grlib.pla: 0446: if mode - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grlib.pla: 0447: // -; libsrc/apple/grlib.pla: 0448: // Set GR mode -; libsrc/apple/grlib.pla: 0449: // -; libsrc/apple/grlib.pla: 0450: ^showlores -; libsrc/apple/grlib.pla: 0451: ^showfull -; libsrc/apple/grlib.pla: 0452: ^showgraphics -; libsrc/apple/grlib.pla: 0453: ^showpage1 -; libsrc/apple/grlib.pla: 0454: ^ena80 = 0 -; libsrc/apple/grlib.pla: 0455: ^show40 = 0 -; libsrc/apple/grlib.pla: 0456: ^mapmain = 0 -; libsrc/apple/grlib.pla: 0457: ^an3off -; libsrc/apple/grlib.pla: 0458: drawpage = 1 -; libsrc/apple/grlib.pla: 0459: drawbuff = grbuff[1] -; libsrc/apple/grlib.pla: 0460: return 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !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 -_F004 !WORD _D032+0 - !BYTE $6A ; LAW _D030+2 -_F005 !WORD _D030+2 - !BYTE $7A ; SAW _D031+0 -_F006 !WORD _D031+0 - !BYTE $02 ; CN 1 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grlib.pla: 0461: fin -_B001 -_B002 -; libsrc/apple/grlib.pla: 0462: // -; libsrc/apple/grlib.pla: 0463: // Set text mode -; libsrc/apple/grlib.pla: 0464: // -; libsrc/apple/grlib.pla: 0465: ^showtext -; libsrc/apple/grlib.pla: 0466: ^showpage1 -; libsrc/apple/grlib.pla: 0467: ^ena80 = 0 -; libsrc/apple/grlib.pla: 0468: ^show40 = 0 -; libsrc/apple/grlib.pla: 0469: ^mapmain = 0 -; libsrc/apple/grlib.pla: 0470: ^an3off -; libsrc/apple/grlib.pla: 0471: call($FC58, 0, 0, 0, 0) // home() -; libsrc/apple/grlib.pla: 0472: return 0 - !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,$58,$FC ; CW 64600 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F007 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grlib.pla: 0473: end -; libsrc/apple/grlib.pla: 0474: // -; libsrc/apple/grlib.pla: 0475: // Set display page, return other page -; libsrc/apple/grlib.pla: 0476: // -; libsrc/apple/grlib.pla: 0477: export def grShow(page)#1 - ; page -> [0] -_C002 ; grShow() -; libsrc/apple/grlib.pla: 0478: page = page & 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grlib.pla: 0479: ^(showpage1 + page) -; libsrc/apple/grlib.pla: 0480: 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: 0481: end -; libsrc/apple/grlib.pla: 0482: export def grSwap#0 -_C003 ; grSwap() -; libsrc/apple/grlib.pla: 0483: //vlbWait -; libsrc/apple/grlib.pla: 0484: ^(showpage1 + drawpage) -; libsrc/apple/grlib.pla: 0485: drawpage = drawpage ^ 1 -; libsrc/apple/grlib.pla: 0486: drawbuff = grbuff[drawpage] -; libsrc/apple/grlib.pla: 0487: end - !BYTE $2C,$54,$C0 ; CW 49236 - !BYTE $B4 ; ADDAB _D032+0 -_F008 !WORD _D032+0 - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D032+0 -_F009 !WORD _D032+0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D032+0 -_F010 !WORD _D032+0 - !BYTE $26 ; LA _D030+0 -_F011 !WORD _D030+0 - !BYTE $BC ; IDXAB _D032+0 -_F012 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D031+0 -_F013 !WORD _D031+0 - !BYTE $5C ; RET -; libsrc/apple/grlib.pla: 0488: export def grDrawBuf(page)#0 - ; page -> [0] -_C004 ; grDrawBuf() -; libsrc/apple/grlib.pla: 0489: drawpage = page - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grlib.pla: 0490: drawbuff = grbuff[drawpage] -; libsrc/apple/grlib.pla: 0491: end - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _D032+0 -_F014 !WORD _D032+0 - !BYTE $26 ; LA _D030+0 -_F015 !WORD _D030+0 - !BYTE $BC ; IDXAB _D032+0 -_F016 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D031+0 -_F017 !WORD _D031+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grlib.pla: 0492: // -; libsrc/apple/grlib.pla: 0493: // Set color for clear & plot routines -; libsrc/apple/grlib.pla: 0494: // -; libsrc/apple/grlib.pla: 0495: export def grColor(clr)#0 - ; clr -> [0] -_C005 ; grColor() -; libsrc/apple/grlib.pla: 0496: ^$30 = (clr & $0F) | (clr << 4) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grlib.pla: 0497: 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: 0498: // -; libsrc/apple/grlib.pla: 0499: // Assembly fixups -; libsrc/apple/grlib.pla: 0500: // -; libsrc/apple/grlib.pla: 0501: _grTileTile:1 = @grTile -_INIT -; libsrc/apple/grlib.pla: 0502: _grFillTile:1 = @grTile -; libsrc/apple/grlib.pla: 0503: // -; libsrc/apple/grlib.pla: 0504: // Fixups for drawbuff -; libsrc/apple/grlib.pla: 0505: // -; libsrc/apple/grlib.pla: 0506: grPlot:1 = @drawbuff -; libsrc/apple/grlib.pla: 0507: grPlot:6 = @drawbuff+1 -; libsrc/apple/grlib.pla: 0508: grHLin:1 = @drawbuff -; libsrc/apple/grlib.pla: 0509: grHLin:6 = @drawbuff+1 -; libsrc/apple/grlib.pla: 0510: grVLin:1 = @drawbuff -; libsrc/apple/grlib.pla: 0511: grVLin:6 = @drawbuff+1 -; libsrc/apple/grlib.pla: 0512: grBLT:1 = @drawbuff -; libsrc/apple/grlib.pla: 0513: grBLT:6 = @drawbuff+1 -; libsrc/apple/grlib.pla: 0514: grTile:1 = @drawbuff -; libsrc/apple/grlib.pla: 0515: grTile:6 = @drawbuff+1 -; libsrc/apple/grlib.pla: 0516: done - !BYTE $26 ; LA _A005+0 -_F018 !WORD _A005+0 - !BYTE $7A ; SAW _A007+1 -_F019 !WORD _A007+1 - !BYTE $26 ; LA _A005+0 -_F020 !WORD _A005+0 - !BYTE $7A ; SAW _A009+1 -_F021 !WORD _A009+1 - !BYTE $26 ; LA _D031+0 -_F022 !WORD _D031+0 - !BYTE $7A ; SAW _A001+1 -_F023 !WORD _A001+1 - !BYTE $26 ; LA _D031+1 -_F024 !WORD _D031+1 - !BYTE $7A ; SAW _A001+6 -_F025 !WORD _A001+6 - !BYTE $26 ; LA _D031+0 -_F026 !WORD _D031+0 - !BYTE $7A ; SAW _A002+1 -_F027 !WORD _A002+1 - !BYTE $26 ; LA _D031+1 -_F028 !WORD _D031+1 - !BYTE $7A ; SAW _A002+6 -_F029 !WORD _A002+6 - !BYTE $26 ; LA _D031+0 -_F030 !WORD _D031+0 - !BYTE $7A ; SAW _A003+1 -_F031 !WORD _A003+1 - !BYTE $26 ; LA _D031+1 -_F032 !WORD _D031+1 - !BYTE $7A ; SAW _A003+6 -_F033 !WORD _A003+6 - !BYTE $26 ; LA _D031+0 -_F034 !WORD _D031+0 - !BYTE $7A ; SAW _A004+1 -_F035 !WORD _A004+1 - !BYTE $26 ; LA _D031+1 -_F036 !WORD _D031+1 - !BYTE $7A ; SAW _A004+6 -_F037 !WORD _A004+6 - !BYTE $26 ; LA _D031+0 -_F038 !WORD _D031+0 - !BYTE $7A ; SAW _A005+1 -_F039 !WORD _A005+1 - !BYTE $26 ; LA _D031+1 -_F040 !WORD _D031+1 - !BYTE $7A ; SAW _A005+6 -_F041 !WORD _A005+6 - !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 $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 17 ; 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 10 ; 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 $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: 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: GRVLB - !BYTE $C7,$D2,$D6,$CC,$42 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A010 - ; 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 5835748..0000000 --- a/src/libsrc/apple/hgrfont.a +++ /dev/null @@ -1,2275 +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/hgrtile.plh" -; inc/hgrtile.plh: 0001: import hgrtile - ; DCI STRING: HGRTILE - !BYTE $C8,$C7,$D2,$D4,$C9,$CC,$45 - ; HGRTILE -> X000 -; inc/hgrtile.plh: 0002: predef tileDraw(x, y, tileptr)#0 - ; TILEDRAW -> X001 -; inc/hgrtile.plh: 0003: predef tileXorDraw(x, y, tileptr)#0 - ; TILEXORDRAW -> X002 -; inc/hgrtile.plh: 0004: predef tileOrDraw(x, y, tileptr)#0 - ; TILEORDRAW -> X003 -; inc/hgrtile.plh: 0005: predef tileAndDraw(x, y, tileptr)#0 - ; TILEANDDRAW -> X004 -; inc/hgrtile.plh: 0006: predef tileDrawStr(x, y, strptr, strlen, tileset)#0 - ; TILEDRAWSTR -> X005 -; inc/hgrtile.plh: 0007: predef tileFromText(txtpage, tileset)#0 - ; TILEFROMTEXT -> X006 -; inc/hgrtile.plh: 0008: predef tileMode(mode)#1 - ; TILEMODE -> X007 -; inc/hgrtile.plh: 0009: predef tileClear#0 - ; TILECLEAR -> X008 -; inc/hgrtile.plh: 0010: predef tileShow(page)#1 - ; TILESHOW -> X009 -; inc/hgrtile.plh: 0011: predef tileSwap#1 - ; TILESWAP -> X010 -; inc/hgrtile.plh: 0012: predef tileDrawBuf(page)#1 - ; TILEDRAWBUF -> X011 -; inc/hgrtile.plh: 0013: end -; libsrc/apple/hgrfont.pla: 0001: -; libsrc/apple/hgrfont.pla: 0002: // -; libsrc/apple/hgrfont.pla: 0003: // Apple //e hires character font -; libsrc/apple/hgrfont.pla: 0004: // -; libsrc/apple/hgrfont.pla: 0005: byte hgrFont[] - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D012 ; hgrFont[] -; libsrc/apple/hgrfont.pla: 0006: 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: 0007: 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: 0008: 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: 0009: 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: 0010: 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: 0011: 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: 0012: 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: 0013: 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: 0014: 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: 0015: 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: 0016: 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: 0017: 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: 0018: 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: 0019: 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: 0020: 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: 0021: 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: 0022: 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: 0023: 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: 0024: 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: 0025: 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: 0026: 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: 0027: 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: 0028: 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: 0029: 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: 0030: 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: 0031: 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: 0032: 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: 0033: 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: 0034: 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: 0035: 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: 0036: 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: 0037: 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: 0038: 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: 0039: 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: 0040: 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: 0041: 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: 0042: 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: 0043: 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: 0044: 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: 0045: 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: 0046: 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: 0047: 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: 0048: 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: 0049: 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: 0050: 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: 0051: 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: 0052: 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: 0053: 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: 0054: 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: 0055: 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: 0056: 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: 0057: 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: 0058: 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: 0059: 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: 0060: 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: 0061: 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: 0062: 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: 0063: 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: 0064: 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: 0065: 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: 0066: 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: 0067: 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: 0068: 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: 0069: 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: 0070: 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: 0071: 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: 0072: 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: 0073: 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: 0074: 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: 0075: 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: 0076: 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: 0077: 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: 0078: 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: 0079: 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: 0080: 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: 0081: 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: 0082: 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: 0083: 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: 0084: 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: 0085: 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: 0086: 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: 0087: 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: 0088: 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: 0089: 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: 0090: 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: 0091: 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: 0092: 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: 0093: 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: 0094: 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: 0095: 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: 0096: 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: 0097: 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: 0098: 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: 0099: 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: 0100: 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: 0101: 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: 0102: 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: 0103: 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: 0104: 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: 0105: 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: 0106: 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: 0107: 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: 0108: 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: 0109: 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: 0110: 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: 0111: 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: 0112: 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: 0113: 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: 0114: 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: 0115: 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: 0116: 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: 0117: 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: 0118: 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: 0119: 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: 0120: 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: 0121: 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: 0122: 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: 0123: 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: 0124: 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: 0125: 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: 0126: 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: 0127: 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: 0128: 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: 0129: 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: 0130: 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: 0131: 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: 0132: 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: 0133: 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: 0134: // -; libsrc/apple/hgrfont.pla: 0135: // Print string with HGR tile library -; libsrc/apple/hgrfont.pla: 0136: // -; libsrc/apple/hgrfont.pla: 0137: 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: 0138: tileDrawStr(x, y, strptr + 1, ^strptr, @hgrFont + 1024) // Offset into regular char - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/hgrfont.pla: 0139: 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 _D012+1024 -_F000 !WORD _D012+1024 - !BYTE $54 ; CALL _X005 -_F001 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/hgrfont.pla: 0140: done -_INIT - !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 5 ; 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 5 ; 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 4b22d44..0000000 --- a/src/libsrc/apple/hgrlib.a +++ /dev/null @@ -1,3962 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: if mode - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/hgrlib.pla: 1160: // -; libsrc/apple/hgrlib.pla: 1161: // Set HGR mode -; libsrc/apple/hgrlib.pla: 1162: // -; libsrc/apple/hgrlib.pla: 1163: memset(hgr1, 0, $2000) // Clear HGR page 1 -; libsrc/apple/hgrlib.pla: 1164: ^showpage1 -; libsrc/apple/hgrlib.pla: 1165: ^showfull -; libsrc/apple/hgrlib.pla: 1166: ^showhires -; libsrc/apple/hgrlib.pla: 1167: ^showgraphics -; libsrc/apple/hgrlib.pla: 1168: drawpage = 1 -; libsrc/apple/hgrlib.pla: 1169: drawbuff = hgrbuff[1] -; libsrc/apple/hgrlib.pla: 1170: return 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $00 ; CN 0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _X017 -_F007 !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 -_F008 !WORD _D036+0 - !BYTE $6A ; LAW _D028+2 -_F009 !WORD _D028+2 - !BYTE $7A ; SAW _D037+0 -_F010 !WORD _D037+0 - !BYTE $02 ; CN 1 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrlib.pla: 1171: fin -_B014 -_B015 -; libsrc/apple/hgrlib.pla: 1172: // -; libsrc/apple/hgrlib.pla: 1173: // Show text mode -; libsrc/apple/hgrlib.pla: 1174: // -; libsrc/apple/hgrlib.pla: 1175: ^showpage1 -; libsrc/apple/hgrlib.pla: 1176: ^showtext -; libsrc/apple/hgrlib.pla: 1177: return 0 - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $68,$51,$C0 ; LAB 49233 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrlib.pla: 1178: end -; libsrc/apple/hgrlib.pla: 1179: export def hgrClear#0 -_C004 ; hgrClear() -; libsrc/apple/hgrlib.pla: 1180: memset(drawbuff, curhclr, drawbuff) // Clear current HGR page -; libsrc/apple/hgrlib.pla: 1181: end - !BYTE $6A ; LAW _D037+0 -_F011 !WORD _D037+0 - !BYTE $6A ; LAW _D035+0 -_F012 !WORD _D035+0 - !BYTE $6A ; LAW _D037+0 -_F013 !WORD _D037+0 - !BYTE $54 ; CALL _X017 -_F014 !WORD 0 - !BYTE $5C ; RET -; libsrc/apple/hgrlib.pla: 1182: // -; libsrc/apple/hgrlib.pla: 1183: // Set display page, return other page -; libsrc/apple/hgrlib.pla: 1184: // -; libsrc/apple/hgrlib.pla: 1185: export def hgrShow(page)#1 - ; page -> [0] -_C005 ; hgrShow() -; libsrc/apple/hgrlib.pla: 1186: page = page & 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/hgrlib.pla: 1187: ^(showpage1 + page) -; libsrc/apple/hgrlib.pla: 1188: 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: 1189: end -; libsrc/apple/hgrlib.pla: 1190: export def hgrSwap#1 -_C006 ; hgrSwap() -; libsrc/apple/hgrlib.pla: 1191: ^(showpage1 + drawpage) -; libsrc/apple/hgrlib.pla: 1192: drawpage = drawpage ^ 1 -; libsrc/apple/hgrlib.pla: 1193: drawbuff = hgrbuff[drawpage] -; libsrc/apple/hgrlib.pla: 1194: return drawpage - !BYTE $2C,$54,$C0 ; CW 49236 - !BYTE $B4 ; ADDAB _D036+0 -_F015 !WORD _D036+0 - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D036+0 -_F016 !WORD _D036+0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D036+0 -_F017 !WORD _D036+0 - !BYTE $26 ; LA _D028+0 -_F018 !WORD _D028+0 - !BYTE $BC ; IDXAB _D036+0 -_F019 !WORD _D036+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D037+0 -_F020 !WORD _D037+0 - !BYTE $68 ; LAB _D036+0 -_F021 !WORD _D036+0 - !BYTE $5C ; RET -; libsrc/apple/hgrlib.pla: 1195: end -; libsrc/apple/hgrlib.pla: 1196: export def hgrDrawBuf(page)#1 - ; page -> [0] -_C007 ; hgrDrawBuf() -; libsrc/apple/hgrlib.pla: 1197: drawpage = page & 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/hgrlib.pla: 1198: drawbuff = hgrbuff[drawpage] -; libsrc/apple/hgrlib.pla: 1199: return drawpage - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $78 ; SAB _D036+0 -_F022 !WORD _D036+0 - !BYTE $26 ; LA _D028+0 -_F023 !WORD _D028+0 - !BYTE $BC ; IDXAB _D036+0 -_F024 !WORD _D036+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D037+0 -_F025 !WORD _D037+0 - !BYTE $68 ; LAB _D036+0 -_F026 !WORD _D036+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrlib.pla: 1200: end -; libsrc/apple/hgrlib.pla: 1201: // -; libsrc/apple/hgrlib.pla: 1202: // Machine compatibility check -; libsrc/apple/hgrlib.pla: 1203: // -; libsrc/apple/hgrlib.pla: 1204: if MACHID & MACHID_MODEL == MACHID_III or MACHID & MACHID_MODEL == MACHID_I -_INIT -; libsrc/apple/hgrlib.pla: 1205: puts("Apple II compatible only.\n") - !BYTE $68 ; LAB _X001+0 -_F027 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $2A,$C0 ; CB 192 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B016 - !WORD _B016-* - !BYTE $68 ; LAB _X001+0 -_F028 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $10 ; CN 8 - !BYTE $40 ; ISEQ -_B016 - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !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 -_F029 !WORD 0 -; libsrc/apple/hgrlib.pla: 1206: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/hgrlib.pla: 1207: fin -_B017 -_B018 -; libsrc/apple/hgrlib.pla: 1208: // -; libsrc/apple/hgrlib.pla: 1209: // Assembly fixups -; libsrc/apple/hgrlib.pla: 1210: // -; libsrc/apple/hgrlib.pla: 1211: hgrCopyDst:1 = @clipsrc -; libsrc/apple/hgrlib.pla: 1212: _hgrCopyDst:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1213: _hgrCopyDst:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1214: _hgrCopyDst:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1215: hgrCopySrc:1 = @clipsrc -; libsrc/apple/hgrlib.pla: 1216: _hgrCopySrc:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1217: _hgrCopySrc:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1218: _hgrCopySrc:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1219: hgrAndSrc:1 = @clipsrc -; libsrc/apple/hgrlib.pla: 1220: _hgrAndSrc:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1221: _hgrAndSrc:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1222: _hgrAndSrc:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1223: hgrXorSrc:1 = @clipsrc -; libsrc/apple/hgrlib.pla: 1224: _hgrXorSrc:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1225: _hgrXorSrc:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1226: _hgrXorSrc:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1227: hgrOrSrc:1 = @clipsrc -; libsrc/apple/hgrlib.pla: 1228: _hgrOrSrc:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1229: _hgrOrSrc:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1230: _hgrOrSrc:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1231: _hgrPlotA:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1232: _hgrPlotA:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1233: _hgrPlotA:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1234: _hgrPlotB:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1235: _hgrPlotC:1 = @hbmask -; libsrc/apple/hgrlib.pla: 1236: _hgrPlotD:1 = @curhclr -; libsrc/apple/hgrlib.pla: 1237: _hgrXorPlotA:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1238: _hgrXorPlotA:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1239: _hgrXorPlotA:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1240: _hgrXorPlotB:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1241: _hgrXorPlotC:1 = @hbmask -; libsrc/apple/hgrlib.pla: 1242: _hgrXorPlotD:1 = @curhclr -; libsrc/apple/hgrlib.pla: 1243: _hgrOrPlotA:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1244: _hgrOrPlotA:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1245: _hgrOrPlotA:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1246: _hgrOrPlotB:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1247: _hgrOrPlotC:1 = @hbmask -; libsrc/apple/hgrlib.pla: 1248: _hgrOrPlotD:1 = @curhclr -; libsrc/apple/hgrlib.pla: 1249: _hgrHLinA:1 = @hgrPlot -; libsrc/apple/hgrlib.pla: 1250: _hgrHLinB:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1251: _hgrHLinB:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1252: _hgrHLinB:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1253: _hgrHLinC:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1254: _hgrHLinD:1 = @hrmask -; libsrc/apple/hgrlib.pla: 1255: _hgrHLinE:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1256: _hgrHLinF:1 = @hlmask -; libsrc/apple/hgrlib.pla: 1257: _hgrHLinG:1 = @curhclr.1 -; libsrc/apple/hgrlib.pla: 1258: _hgrHLinG:6 = @curhclr -; libsrc/apple/hgrlib.pla: 1259: _hgrHLinG:13 = @curhclr -; libsrc/apple/hgrlib.pla: 1260: _hgrHLinG:18 = @curhclr.1 -; libsrc/apple/hgrlib.pla: 1261: _hgrXHLinA:1 = @hgrXorPlot -; libsrc/apple/hgrlib.pla: 1262: _hgrXHLinB:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1263: _hgrXHLinB:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1264: _hgrXHLinB:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1265: _hgrXHLinC:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1266: _hgrXHLinD:1 = @hrmask -; libsrc/apple/hgrlib.pla: 1267: _hgrXHLinE:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1268: _hgrXHLinF:1 = @hlmask -; libsrc/apple/hgrlib.pla: 1269: _hgrXHLinG:1 = @curhclr.1 -; libsrc/apple/hgrlib.pla: 1270: _hgrXHLinG:6 = @curhclr -; libsrc/apple/hgrlib.pla: 1271: _hgrXHLinG:13 = @curhclr -; libsrc/apple/hgrlib.pla: 1272: _hgrXHLinG:18 = @curhclr.1 -; libsrc/apple/hgrlib.pla: 1273: hgrVLin:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1274: _hgrVLinA:1 = @hbmask -; libsrc/apple/hgrlib.pla: 1275: _hgrVLinB:1 = @curhclr -; libsrc/apple/hgrlib.pla: 1276: _hgrVLinC:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1277: _hgrVLinC:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1278: _hgrVLinC:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1279: hgrXorVLin:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1280: _hgrXVLinA:1 = @hbmask -; libsrc/apple/hgrlib.pla: 1281: _hgrXVLinB:1 = @curhclr -; libsrc/apple/hgrlib.pla: 1282: _hgrXVLinC:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1283: _hgrXVLinC:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1284: _hgrXVLinC:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1285: hgrColor:7 = @hcolor -; libsrc/apple/hgrlib.pla: 1286: hgrColor:10 = @curhclr -; libsrc/apple/hgrlib.pla: 1287: hgrColor:13 = @hcolor.1 -; libsrc/apple/hgrlib.pla: 1288: hgrColor:16 = @curhclr.1 -; libsrc/apple/hgrlib.pla: 1289: _scanBLTA:1 = @hgrColor -; libsrc/apple/hgrlib.pla: 1290: _scanBLTB:1 = @hgrPlot -; libsrc/apple/hgrlib.pla: 1291: _scanBLTB:8 = @hgrOrPlot -; libsrc/apple/hgrlib.pla: 1292: _scanBLTC:1 = @hgrColor -; libsrc/apple/hgrlib.pla: 1293: _scanBLTD:1 = @hgrPlot -; libsrc/apple/hgrlib.pla: 1294: _scanBLTD:8 = @hgrOrPlot -; libsrc/apple/hgrlib.pla: 1295: done - !BYTE $26 ; LA _A001+0 -_F030 !WORD _A001+0 - !BYTE $7A ; SAW _A003+1 -_F031 !WORD _A003+1 - !BYTE $26 ; LA _D029+0 -_F032 !WORD _D029+0 - !BYTE $7A ; SAW _A004+1 -_F033 !WORD _A004+1 - !BYTE $26 ; LA _D037+1 -_F034 !WORD _D037+1 - !BYTE $7A ; SAW _A004+6 -_F035 !WORD _A004+6 - !BYTE $26 ; LA _D030+0 -_F036 !WORD _D030+0 - !BYTE $7A ; SAW _A004+9 -_F037 !WORD _A004+9 - !BYTE $26 ; LA _A001+0 -_F038 !WORD _A001+0 - !BYTE $7A ; SAW _A005+1 -_F039 !WORD _A005+1 - !BYTE $26 ; LA _D029+0 -_F040 !WORD _D029+0 - !BYTE $7A ; SAW _A006+1 -_F041 !WORD _A006+1 - !BYTE $26 ; LA _D037+1 -_F042 !WORD _D037+1 - !BYTE $7A ; SAW _A006+6 -_F043 !WORD _A006+6 - !BYTE $26 ; LA _D030+0 -_F044 !WORD _D030+0 - !BYTE $7A ; SAW _A006+9 -_F045 !WORD _A006+9 - !BYTE $26 ; LA _A001+0 -_F046 !WORD _A001+0 - !BYTE $7A ; SAW _A007+1 -_F047 !WORD _A007+1 - !BYTE $26 ; LA _D029+0 -_F048 !WORD _D029+0 - !BYTE $7A ; SAW _A008+1 -_F049 !WORD _A008+1 - !BYTE $26 ; LA _D037+1 -_F050 !WORD _D037+1 - !BYTE $7A ; SAW _A008+6 -_F051 !WORD _A008+6 - !BYTE $26 ; LA _D030+0 -_F052 !WORD _D030+0 - !BYTE $7A ; SAW _A008+9 -_F053 !WORD _A008+9 - !BYTE $26 ; LA _A001+0 -_F054 !WORD _A001+0 - !BYTE $7A ; SAW _A009+1 -_F055 !WORD _A009+1 - !BYTE $26 ; LA _D029+0 -_F056 !WORD _D029+0 - !BYTE $7A ; SAW _A010+1 -_F057 !WORD _A010+1 - !BYTE $26 ; LA _D037+1 -_F058 !WORD _D037+1 - !BYTE $7A ; SAW _A010+6 -_F059 !WORD _A010+6 - !BYTE $26 ; LA _D030+0 -_F060 !WORD _D030+0 - !BYTE $7A ; SAW _A010+9 -_F061 !WORD _A010+9 - !BYTE $26 ; LA _A001+0 -_F062 !WORD _A001+0 - !BYTE $7A ; SAW _A011+1 -_F063 !WORD _A011+1 - !BYTE $26 ; LA _D029+0 -_F064 !WORD _D029+0 - !BYTE $7A ; SAW _A012+1 -_F065 !WORD _A012+1 - !BYTE $26 ; LA _D037+1 -_F066 !WORD _D037+1 - !BYTE $7A ; SAW _A012+6 -_F067 !WORD _A012+6 - !BYTE $26 ; LA _D030+0 -_F068 !WORD _D030+0 - !BYTE $7A ; SAW _A012+9 -_F069 !WORD _A012+9 - !BYTE $26 ; LA _D029+0 -_F070 !WORD _D029+0 - !BYTE $7A ; SAW _A014+1 -_F071 !WORD _A014+1 - !BYTE $26 ; LA _D037+1 -_F072 !WORD _D037+1 - !BYTE $7A ; SAW _A014+6 -_F073 !WORD _A014+6 - !BYTE $26 ; LA _D030+0 -_F074 !WORD _D030+0 - !BYTE $7A ; SAW _A014+9 -_F075 !WORD _A014+9 - !BYTE $26 ; LA _A000+0 -_F076 !WORD _A000+0 - !BYTE $7A ; SAW _A015+1 -_F077 !WORD _A015+1 - !BYTE $26 ; LA _D031+0 -_F078 !WORD _D031+0 - !BYTE $7A ; SAW _A016+1 -_F079 !WORD _A016+1 - !BYTE $26 ; LA _D035+0 -_F080 !WORD _D035+0 - !BYTE $7A ; SAW _A017+1 -_F081 !WORD _A017+1 - !BYTE $26 ; LA _D029+0 -_F082 !WORD _D029+0 - !BYTE $7A ; SAW _A019+1 -_F083 !WORD _A019+1 - !BYTE $26 ; LA _D037+1 -_F084 !WORD _D037+1 - !BYTE $7A ; SAW _A019+6 -_F085 !WORD _A019+6 - !BYTE $26 ; LA _D030+0 -_F086 !WORD _D030+0 - !BYTE $7A ; SAW _A019+9 -_F087 !WORD _A019+9 - !BYTE $26 ; LA _A000+0 -_F088 !WORD _A000+0 - !BYTE $7A ; SAW _A020+1 -_F089 !WORD _A020+1 - !BYTE $26 ; LA _D031+0 -_F090 !WORD _D031+0 - !BYTE $7A ; SAW _A021+1 -_F091 !WORD _A021+1 - !BYTE $26 ; LA _D035+0 -_F092 !WORD _D035+0 - !BYTE $7A ; SAW _A022+1 -_F093 !WORD _A022+1 - !BYTE $26 ; LA _D029+0 -_F094 !WORD _D029+0 - !BYTE $7A ; SAW _A024+1 -_F095 !WORD _A024+1 - !BYTE $26 ; LA _D037+1 -_F096 !WORD _D037+1 - !BYTE $7A ; SAW _A024+6 -_F097 !WORD _A024+6 - !BYTE $26 ; LA _D030+0 -_F098 !WORD _D030+0 - !BYTE $7A ; SAW _A024+9 -_F099 !WORD _A024+9 - !BYTE $26 ; LA _A000+0 -_F100 !WORD _A000+0 - !BYTE $7A ; SAW _A025+1 -_F101 !WORD _A025+1 - !BYTE $26 ; LA _D031+0 -_F102 !WORD _D031+0 - !BYTE $7A ; SAW _A026+1 -_F103 !WORD _A026+1 - !BYTE $26 ; LA _D035+0 -_F104 !WORD _D035+0 - !BYTE $7A ; SAW _A027+1 -_F105 !WORD _A027+1 - !BYTE $26 ; LA _A013+0 -_F106 !WORD _A013+0 - !BYTE $7A ; SAW _A029+1 -_F107 !WORD _A029+1 - !BYTE $26 ; LA _D029+0 -_F108 !WORD _D029+0 - !BYTE $7A ; SAW _A030+1 -_F109 !WORD _A030+1 - !BYTE $26 ; LA _D037+1 -_F110 !WORD _D037+1 - !BYTE $7A ; SAW _A030+6 -_F111 !WORD _A030+6 - !BYTE $26 ; LA _D030+0 -_F112 !WORD _D030+0 - !BYTE $7A ; SAW _A030+9 -_F113 !WORD _A030+9 - !BYTE $26 ; LA _A000+0 -_F114 !WORD _A000+0 - !BYTE $7A ; SAW _A031+1 -_F115 !WORD _A031+1 - !BYTE $26 ; LA _D033+0 -_F116 !WORD _D033+0 - !BYTE $7A ; SAW _A032+1 -_F117 !WORD _A032+1 - !BYTE $26 ; LA _A000+0 -_F118 !WORD _A000+0 - !BYTE $7A ; SAW _A033+1 -_F119 !WORD _A033+1 - !BYTE $26 ; LA _D032+0 -_F120 !WORD _D032+0 - !BYTE $7A ; SAW _A034+1 -_F121 !WORD _A034+1 - !BYTE $26 ; LA _D035+1 -_F122 !WORD _D035+1 - !BYTE $7A ; SAW _A035+1 -_F123 !WORD _A035+1 - !BYTE $26 ; LA _D035+0 -_F124 !WORD _D035+0 - !BYTE $7A ; SAW _A035+6 -_F125 !WORD _A035+6 - !BYTE $26 ; LA _D035+0 -_F126 !WORD _D035+0 - !BYTE $7A ; SAW _A035+13 -_F127 !WORD _A035+13 - !BYTE $26 ; LA _D035+1 -_F128 !WORD _D035+1 - !BYTE $7A ; SAW _A035+18 -_F129 !WORD _A035+18 - !BYTE $26 ; LA _A018+0 -_F130 !WORD _A018+0 - !BYTE $7A ; SAW _A037+1 -_F131 !WORD _A037+1 - !BYTE $26 ; LA _D029+0 -_F132 !WORD _D029+0 - !BYTE $7A ; SAW _A038+1 -_F133 !WORD _A038+1 - !BYTE $26 ; LA _D037+1 -_F134 !WORD _D037+1 - !BYTE $7A ; SAW _A038+6 -_F135 !WORD _A038+6 - !BYTE $26 ; LA _D030+0 -_F136 !WORD _D030+0 - !BYTE $7A ; SAW _A038+9 -_F137 !WORD _A038+9 - !BYTE $26 ; LA _A000+0 -_F138 !WORD _A000+0 - !BYTE $7A ; SAW _A039+1 -_F139 !WORD _A039+1 - !BYTE $26 ; LA _D033+0 -_F140 !WORD _D033+0 - !BYTE $7A ; SAW _A040+1 -_F141 !WORD _A040+1 - !BYTE $26 ; LA _A000+0 -_F142 !WORD _A000+0 - !BYTE $7A ; SAW _A041+1 -_F143 !WORD _A041+1 - !BYTE $26 ; LA _D032+0 -_F144 !WORD _D032+0 - !BYTE $7A ; SAW _A042+1 -_F145 !WORD _A042+1 - !BYTE $26 ; LA _D035+1 -_F146 !WORD _D035+1 - !BYTE $7A ; SAW _A043+1 -_F147 !WORD _A043+1 - !BYTE $26 ; LA _D035+0 -_F148 !WORD _D035+0 - !BYTE $7A ; SAW _A043+6 -_F149 !WORD _A043+6 - !BYTE $26 ; LA _D035+0 -_F150 !WORD _D035+0 - !BYTE $7A ; SAW _A043+13 -_F151 !WORD _A043+13 - !BYTE $26 ; LA _D035+1 -_F152 !WORD _D035+1 - !BYTE $7A ; SAW _A043+18 -_F153 !WORD _A043+18 - !BYTE $26 ; LA _A000+0 -_F154 !WORD _A000+0 - !BYTE $7A ; SAW _A044+1 -_F155 !WORD _A044+1 - !BYTE $26 ; LA _D031+0 -_F156 !WORD _D031+0 - !BYTE $7A ; SAW _A045+1 -_F157 !WORD _A045+1 - !BYTE $26 ; LA _D035+0 -_F158 !WORD _D035+0 - !BYTE $7A ; SAW _A046+1 -_F159 !WORD _A046+1 - !BYTE $26 ; LA _D029+0 -_F160 !WORD _D029+0 - !BYTE $7A ; SAW _A047+1 -_F161 !WORD _A047+1 - !BYTE $26 ; LA _D037+1 -_F162 !WORD _D037+1 - !BYTE $7A ; SAW _A047+6 -_F163 !WORD _A047+6 - !BYTE $26 ; LA _D030+0 -_F164 !WORD _D030+0 - !BYTE $7A ; SAW _A047+9 -_F165 !WORD _A047+9 - !BYTE $26 ; LA _A000+0 -_F166 !WORD _A000+0 - !BYTE $7A ; SAW _A048+1 -_F167 !WORD _A048+1 - !BYTE $26 ; LA _D031+0 -_F168 !WORD _D031+0 - !BYTE $7A ; SAW _A049+1 -_F169 !WORD _A049+1 - !BYTE $26 ; LA _D035+0 -_F170 !WORD _D035+0 - !BYTE $7A ; SAW _A050+1 -_F171 !WORD _A050+1 - !BYTE $26 ; LA _D029+0 -_F172 !WORD _D029+0 - !BYTE $7A ; SAW _A051+1 -_F173 !WORD _A051+1 - !BYTE $26 ; LA _D037+1 -_F174 !WORD _D037+1 - !BYTE $7A ; SAW _A051+6 -_F175 !WORD _A051+6 - !BYTE $26 ; LA _D030+0 -_F176 !WORD _D030+0 - !BYTE $7A ; SAW _A051+9 -_F177 !WORD _A051+9 - !BYTE $26 ; LA _D034+0 -_F178 !WORD _D034+0 - !BYTE $7A ; SAW _A002+7 -_F179 !WORD _A002+7 - !BYTE $26 ; LA _D035+0 -_F180 !WORD _D035+0 - !BYTE $7A ; SAW _A002+10 -_F181 !WORD _A002+10 - !BYTE $26 ; LA _D034+1 -_F182 !WORD _D034+1 - !BYTE $7A ; SAW _A002+13 -_F183 !WORD _A002+13 - !BYTE $26 ; LA _D035+1 -_F184 !WORD _D035+1 - !BYTE $7A ; SAW _A002+16 -_F185 !WORD _A002+16 - !BYTE $26 ; LA _A002+0 -_F186 !WORD _A002+0 - !BYTE $7A ; SAW _A053+1 -_F187 !WORD _A053+1 - !BYTE $26 ; LA _A013+0 -_F188 !WORD _A013+0 - !BYTE $7A ; SAW _A054+1 -_F189 !WORD _A054+1 - !BYTE $26 ; LA _A023+0 -_F190 !WORD _A023+0 - !BYTE $7A ; SAW _A054+8 -_F191 !WORD _A054+8 - !BYTE $26 ; LA _A002+0 -_F192 !WORD _A002+0 - !BYTE $7A ; SAW _A055+1 -_F193 !WORD _A055+1 - !BYTE $26 ; LA _A013+0 -_F194 !WORD _A013+0 - !BYTE $7A ; SAW _A056+1 -_F195 !WORD _A056+1 - !BYTE $26 ; LA _A023+0 -_F196 !WORD _A023+0 - !BYTE $7A ; SAW _A056+8 -_F197 !WORD _A056+8 - !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 $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 $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 $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 17 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !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 $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 $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: 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 ce713f2..0000000 --- a/src/libsrc/apple/hgrsprite.a +++ /dev/null @@ -1,2340 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X052 -; inc/fileio.plh: 0080: 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: done - !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 $00 ; CN 0 - !BYTE $5C ; RET -_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 5dc018a..0000000 --- a/src/libsrc/apple/hgrtile.a +++ /dev/null @@ -1,1532 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: export def tileMode(mode)#1 - ; mode -> [0] -_C001 ; tileMode() -; libsrc/apple/hgrtile.pla: 0357: if mode - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/hgrtile.pla: 0358: // -; libsrc/apple/hgrtile.pla: 0359: // Set HGR mode -; libsrc/apple/hgrtile.pla: 0360: // -; libsrc/apple/hgrtile.pla: 0361: memset(hgr1, 0, $2000) // Clear HGR page 1 -; libsrc/apple/hgrtile.pla: 0362: ^showpage1 -; libsrc/apple/hgrtile.pla: 0363: ^showfull -; libsrc/apple/hgrtile.pla: 0364: ^showhires -; libsrc/apple/hgrtile.pla: 0365: ^showgraphics -; libsrc/apple/hgrtile.pla: 0366: drawpage = 0 -; libsrc/apple/hgrtile.pla: 0367: drawbuff = hgr1 -; libsrc/apple/hgrtile.pla: 0368: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $00 ; CN 0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _X017 -_F003 !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 $00 ; CN 0 - !BYTE $78 ; SAB _D035+0 -_F004 !WORD _D035+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $7A ; SAW _D036+0 -_F005 !WORD _D036+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrtile.pla: 0369: fin -_B004 -_B005 -; libsrc/apple/hgrtile.pla: 0370: // -; libsrc/apple/hgrtile.pla: 0371: // Show text mode -; libsrc/apple/hgrtile.pla: 0372: // -; libsrc/apple/hgrtile.pla: 0373: ^showpage1 -; libsrc/apple/hgrtile.pla: 0374: ^showtext -; libsrc/apple/hgrtile.pla: 0375: return 0 - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $68,$51,$C0 ; LAB 49233 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrtile.pla: 0376: end -; libsrc/apple/hgrtile.pla: 0377: export def tileClear#0 -_C002 ; tileClear() -; libsrc/apple/hgrtile.pla: 0378: memset(drawbuff, $0000, drawbuff) // Clear current HGR page -; libsrc/apple/hgrtile.pla: 0379: end - !BYTE $6A ; LAW _D036+0 -_F006 !WORD _D036+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D036+0 -_F007 !WORD _D036+0 - !BYTE $54 ; CALL _X017 -_F008 !WORD 0 - !BYTE $5C ; RET -; libsrc/apple/hgrtile.pla: 0380: // -; libsrc/apple/hgrtile.pla: 0381: // Set display page, return other page -; libsrc/apple/hgrtile.pla: 0382: // -; libsrc/apple/hgrtile.pla: 0383: export def tileShow(page)#1 - ; page -> [0] -_C003 ; tileShow() -; libsrc/apple/hgrtile.pla: 0384: page = page & 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/hgrtile.pla: 0385: ^(showpage1 + page) -; libsrc/apple/hgrtile.pla: 0386: 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/hgrtile.pla: 0387: end -; libsrc/apple/hgrtile.pla: 0388: export def tileSwap#1 -_C004 ; tileSwap() -; libsrc/apple/hgrtile.pla: 0389: ^(showpage1 + drawpage) -; libsrc/apple/hgrtile.pla: 0390: drawpage = drawpage ^ 1 -; libsrc/apple/hgrtile.pla: 0391: drawbuff = hgrbuff[drawpage] -; libsrc/apple/hgrtile.pla: 0392: return drawpage - !BYTE $2C,$54,$C0 ; CW 49236 - !BYTE $B4 ; ADDAB _D035+0 -_F009 !WORD _D035+0 - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D035+0 -_F010 !WORD _D035+0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D035+0 -_F011 !WORD _D035+0 - !BYTE $26 ; LA _D029+0 -_F012 !WORD _D029+0 - !BYTE $BC ; IDXAB _D035+0 -_F013 !WORD _D035+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D036+0 -_F014 !WORD _D036+0 - !BYTE $68 ; LAB _D035+0 -_F015 !WORD _D035+0 - !BYTE $5C ; RET -; libsrc/apple/hgrtile.pla: 0393: end -; libsrc/apple/hgrtile.pla: 0394: export def tileDrawBuf(page)#1 - ; page -> [0] -_C005 ; tileDrawBuf() -; libsrc/apple/hgrtile.pla: 0395: drawpage = page & 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/hgrtile.pla: 0396: drawbuff = hgrbuff[drawpage] -; libsrc/apple/hgrtile.pla: 0397: return drawpage - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $78 ; SAB _D035+0 -_F016 !WORD _D035+0 - !BYTE $26 ; LA _D029+0 -_F017 !WORD _D029+0 - !BYTE $BC ; IDXAB _D035+0 -_F018 !WORD _D035+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D036+0 -_F019 !WORD _D036+0 - !BYTE $68 ; LAB _D035+0 -_F020 !WORD _D035+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrtile.pla: 0398: end -; libsrc/apple/hgrtile.pla: 0399: // -; libsrc/apple/hgrtile.pla: 0400: // Assembly fixups -; libsrc/apple/hgrtile.pla: 0401: // -; libsrc/apple/hgrtile.pla: 0402: _tileDraw:1 = @scanbttml -_INIT -; libsrc/apple/hgrtile.pla: 0403: _tileDraw:6 = @drawbuff.1 -; libsrc/apple/hgrtile.pla: 0404: _tileDraw:9 = @scanbttmh -; libsrc/apple/hgrtile.pla: 0405: _tileXDraw:1 = @scanbttml -; libsrc/apple/hgrtile.pla: 0406: _tileXDraw:6 = @drawbuff.1 -; libsrc/apple/hgrtile.pla: 0407: _tileXDraw:9 = @scanbttmh -; libsrc/apple/hgrtile.pla: 0408: _tileODraw:1 = @scanbttml -; libsrc/apple/hgrtile.pla: 0409: _tileODraw:6 = @drawbuff.1 -; libsrc/apple/hgrtile.pla: 0410: _tileODraw:9 = @scanbttmh -; libsrc/apple/hgrtile.pla: 0411: _tileADraw:1 = @scanbttml -; libsrc/apple/hgrtile.pla: 0412: _tileADraw:6 = @drawbuff.1 -; libsrc/apple/hgrtile.pla: 0413: _tileADraw:9 = @scanbttmh -; libsrc/apple/hgrtile.pla: 0414: _tileDSa:1 = @scanbttml -; libsrc/apple/hgrtile.pla: 0415: _tileDSa:4 = @_tileDSc.3 -; libsrc/apple/hgrtile.pla: 0416: _tileDSa:7 = @_tileDSc.9 -; libsrc/apple/hgrtile.pla: 0417: _tileDSa:10 = @_tileDSc.15 -; libsrc/apple/hgrtile.pla: 0418: _tileDSa:13 = @_tileDSc.21 -; libsrc/apple/hgrtile.pla: 0419: _tileDSa:16 = @_tileDSc.27 -; libsrc/apple/hgrtile.pla: 0420: _tileDSa:19 = @_tileDSc.33 -; libsrc/apple/hgrtile.pla: 0421: _tileDSa:22 = @_tileDSc.39 -; libsrc/apple/hgrtile.pla: 0422: _tileDSa:25 = @_tileDSc.45 -; libsrc/apple/hgrtile.pla: 0423: _tileDSa:28 = @_tileDSc.51 -; libsrc/apple/hgrtile.pla: 0424: _tileDSb:1 = @drawbuff.1 -; libsrc/apple/hgrtile.pla: 0425: _tileDSb:4 = @scanbttmh -; libsrc/apple/hgrtile.pla: 0426: _tileDSb:7 = @_tileDSc.4 -; libsrc/apple/hgrtile.pla: 0427: _tileDSb:13 = @_tileDSc.10 -; libsrc/apple/hgrtile.pla: 0428: _tileDSb:18 = @_tileDSc.16 -; libsrc/apple/hgrtile.pla: 0429: _tileDSb:23 = @_tileDSc.22 -; libsrc/apple/hgrtile.pla: 0430: _tileDSb:28 = @_tileDSc.28 -; libsrc/apple/hgrtile.pla: 0431: _tileDSb:33 = @_tileDSc.34 -; libsrc/apple/hgrtile.pla: 0432: _tileDSb:38 = @_tileDSc.40 -; libsrc/apple/hgrtile.pla: 0433: _tileDSb:43 = @_tileDSc.46 -; libsrc/apple/hgrtile.pla: 0434: done - !BYTE $26 ; LA _D031+0 -_F021 !WORD _D031+0 - !BYTE $7A ; SAW _A002+1 -_F022 !WORD _A002+1 - !BYTE $26 ; LA _D036+1 -_F023 !WORD _D036+1 - !BYTE $7A ; SAW _A002+6 -_F024 !WORD _A002+6 - !BYTE $26 ; LA _D032+0 -_F025 !WORD _D032+0 - !BYTE $7A ; SAW _A002+9 -_F026 !WORD _A002+9 - !BYTE $26 ; LA _D031+0 -_F027 !WORD _D031+0 - !BYTE $7A ; SAW _A004+1 -_F028 !WORD _A004+1 - !BYTE $26 ; LA _D036+1 -_F029 !WORD _D036+1 - !BYTE $7A ; SAW _A004+6 -_F030 !WORD _A004+6 - !BYTE $26 ; LA _D032+0 -_F031 !WORD _D032+0 - !BYTE $7A ; SAW _A004+9 -_F032 !WORD _A004+9 - !BYTE $26 ; LA _D031+0 -_F033 !WORD _D031+0 - !BYTE $7A ; SAW _A006+1 -_F034 !WORD _A006+1 - !BYTE $26 ; LA _D036+1 -_F035 !WORD _D036+1 - !BYTE $7A ; SAW _A006+6 -_F036 !WORD _A006+6 - !BYTE $26 ; LA _D032+0 -_F037 !WORD _D032+0 - !BYTE $7A ; SAW _A006+9 -_F038 !WORD _A006+9 - !BYTE $26 ; LA _D031+0 -_F039 !WORD _D031+0 - !BYTE $7A ; SAW _A008+1 -_F040 !WORD _A008+1 - !BYTE $26 ; LA _D036+1 -_F041 !WORD _D036+1 - !BYTE $7A ; SAW _A008+6 -_F042 !WORD _A008+6 - !BYTE $26 ; LA _D032+0 -_F043 !WORD _D032+0 - !BYTE $7A ; SAW _A008+9 -_F044 !WORD _A008+9 - !BYTE $26 ; LA _D031+0 -_F045 !WORD _D031+0 - !BYTE $7A ; SAW _A010+1 -_F046 !WORD _A010+1 - !BYTE $26 ; LA _A012+3 -_F047 !WORD _A012+3 - !BYTE $7A ; SAW _A010+4 -_F048 !WORD _A010+4 - !BYTE $26 ; LA _A012+9 -_F049 !WORD _A012+9 - !BYTE $7A ; SAW _A010+7 -_F050 !WORD _A010+7 - !BYTE $26 ; LA _A012+15 -_F051 !WORD _A012+15 - !BYTE $7A ; SAW _A010+10 -_F052 !WORD _A010+10 - !BYTE $26 ; LA _A012+21 -_F053 !WORD _A012+21 - !BYTE $7A ; SAW _A010+13 -_F054 !WORD _A010+13 - !BYTE $26 ; LA _A012+27 -_F055 !WORD _A012+27 - !BYTE $7A ; SAW _A010+16 -_F056 !WORD _A010+16 - !BYTE $26 ; LA _A012+33 -_F057 !WORD _A012+33 - !BYTE $7A ; SAW _A010+19 -_F058 !WORD _A010+19 - !BYTE $26 ; LA _A012+39 -_F059 !WORD _A012+39 - !BYTE $7A ; SAW _A010+22 -_F060 !WORD _A010+22 - !BYTE $26 ; LA _A012+45 -_F061 !WORD _A012+45 - !BYTE $7A ; SAW _A010+25 -_F062 !WORD _A010+25 - !BYTE $26 ; LA _A012+51 -_F063 !WORD _A012+51 - !BYTE $7A ; SAW _A010+28 -_F064 !WORD _A010+28 - !BYTE $26 ; LA _D036+1 -_F065 !WORD _D036+1 - !BYTE $7A ; SAW _A011+1 -_F066 !WORD _A011+1 - !BYTE $26 ; LA _D032+0 -_F067 !WORD _D032+0 - !BYTE $7A ; SAW _A011+4 -_F068 !WORD _A011+4 - !BYTE $26 ; LA _A012+4 -_F069 !WORD _A012+4 - !BYTE $7A ; SAW _A011+7 -_F070 !WORD _A011+7 - !BYTE $26 ; LA _A012+10 -_F071 !WORD _A012+10 - !BYTE $7A ; SAW _A011+13 -_F072 !WORD _A011+13 - !BYTE $26 ; LA _A012+16 -_F073 !WORD _A012+16 - !BYTE $7A ; SAW _A011+18 -_F074 !WORD _A011+18 - !BYTE $26 ; LA _A012+22 -_F075 !WORD _A012+22 - !BYTE $7A ; SAW _A011+23 -_F076 !WORD _A011+23 - !BYTE $26 ; LA _A012+28 -_F077 !WORD _A012+28 - !BYTE $7A ; SAW _A011+28 -_F078 !WORD _A011+28 - !BYTE $26 ; LA _A012+34 -_F079 !WORD _A012+34 - !BYTE $7A ; SAW _A011+33 -_F080 !WORD _A011+33 - !BYTE $26 ; LA _A012+40 -_F081 !WORD _A012+40 - !BYTE $7A ; SAW _A011+38 -_F082 !WORD _A011+38 - !BYTE $26 ; LA _A012+46 -_F083 !WORD _A012+46 - !BYTE $7A ; SAW _A011+43 -_F084 !WORD _A011+43 - !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 $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 17 ; 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 $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 17 ; 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 $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 $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; 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: TILEMODE - !BYTE $D4,$C9,$CC,$C5,$CD,$CF,$C4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: TILECLEAR - !BYTE $D4,$C9,$CC,$C5,$C3,$CC,$C5,$C1,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: TILESHOW - !BYTE $D4,$C9,$CC,$C5,$D3,$C8,$CF,$57 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: TILESWAP - !BYTE $D4,$C9,$CC,$C5,$D3,$D7,$C1,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: TILEDRAWBUF - !BYTE $D4,$C9,$CC,$C5,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/jit.a b/src/libsrc/apple/jit.a deleted file mode 100644 index f9bb193..0000000 --- a/src/libsrc/apple/jit.a +++ /dev/null @@ -1,7080 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 = $C000 - ; estkh8 = 49152 -; libsrc/apple/jit.pla: 0022: const estkh = $00C0 - ; estkh = 192 -; libsrc/apple/jit.pla: 0023: const estkl8 = $D000 - ; estkl8 = 53248 -; libsrc/apple/jit.pla: 0024: const estkl = $00D0 - ; estkl = 208 -; 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,$D0 ; CW 53397 - !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,$D0 ; CW 53397 - !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,$C0 ; CW 49300 - !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,$D0 ; CW 53397 - !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,$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 $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,$CE ; CW 52917 - !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,$CF ; CW 53205 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$BE ; CW 48821 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$D5,$BF ; CW 49109 - !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,$D0 ; CW 53397 - !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,$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 $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,$D0 ; CW 53397 - !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,$D0 ; CW 53397 - !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,$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 $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,$D0 ; CW 53397 - !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,$C0 ; CW 49300 - !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,$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 $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,$D0 ; CW 53397 - !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,$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 $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,$D0 ; CW 53429 - !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,$D0 ; CW 53397 - !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,$C0 ; CW 49332 - !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,$C0 ; CW 49300 - !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,$D0 ; CW 53429 - !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,$C0 ; CW 49398 - !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,$D0 ; CW 53429 - !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,$C0 ; CW 49366 - !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,$D0 ; CW 53429 - !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,$C0 ; CW 49300 - !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,$D0 ; CW 53429 - !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,$D0 ; CW 53429 - !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,$D1 ; CW 53717 - !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,$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,$04 ; ADDI 4 - !BYTE $72 ; SW - !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 $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,$C1 ; CW 49556 - !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,$D0 ; CW 53429 - !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,$D1 ; CW 53717 - !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,$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,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F5,$C1 ; CW 49653 - !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,$C1 ; CW 49556 - !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,$D0 ; CW 53397 - !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,$D1 ; CW 53685 - !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,$D0 ; CW 53461 - !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,$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,$04 ; ADDI 4 - !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,$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,$C1 ; CW 49556 - !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,$CF ; CW 53173 - !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,$BF ; CW 48917 - !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,$D0 ; CW 53397 - !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,$D0 ; CW 53429 - !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,$C0 ; CW 49332 - !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,$D0 ; CW 53397 - !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,$D0 ; CW 53429 - !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,$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,$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,$D0 ; CW 53397 - !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,$D0 ; CW 53397 - !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,$D0 ; CW 53429 - !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,$BF ; CW 49045 - !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,$BF ; CW 49057 - !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,$C0 ; CW 49300 - !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,$D0 ; CW 53429 - !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,$BF ; CW 49045 - !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,$BF ; CW 49057 - !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,$D0 ; CW 53397 - !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,$BF ; CW 49142 - !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,$C0 ; CW 49398 - !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,$BF ; CW 49057 - !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,$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,$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,$D0 ; CW 53397 - !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,$C0 ; CW 49300 - !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,$D0 ; CW 53397 - !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,$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 $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,$D0 ; CW 53397 - !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,$C0 ; CW 49300 - !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,$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,$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,$D0 ; CW 53429 - !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,$C0 ; CW 49300 - !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,$D0 ; CW 53397 - !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,$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 $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,$D0 ; CW 53429 - !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,$D0 ; CW 53429 - !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,$BF ; CW 49045 - !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,$D1 ; CW 53685 - !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,$BF ; CW 49025 - !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,$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,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$F6,$BF ; CW 49142 - !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,$C0 ; CW 49398 - !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,$BF ; CW 49025 - !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,$D0 ; CW 53429 - !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,$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,$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,$D0 ; CW 53429 - !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,$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,$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,$D0 ; CW 53429 - !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,$C0 ; CW 49300 - !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,$C0 ; CW 49332 - !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,$D0 ; CW 53429 - !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,$C0 ; CW 49173 - !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,$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,$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,$D0 ; CW 53429 - !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,$D1 ; CW 53621 - !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,$D1 ; CW 53653 - !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,$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,$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,$07 ; ADDI 7 - !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,$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,$D0 ; CW 53397 - !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,$D1 ; CW 53685 - !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,$D0 ; CW 53493 - !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,$D1 ; CW 53653 - !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,$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,$07 ; ADDI 7 - !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,$09 ; ADDI 9 - !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,$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,$D0 ; CW 53397 - !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,$D0 ; CW 53397 - !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,$D0 ; CW 53493 - !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,$D0 ; CW 53397 - !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,$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,$07 ; ADDI 7 - !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,$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,$D0 ; CW 53429 - !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,$D0 ; CW 53397 - !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,$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,$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,$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,$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,$D0 ; CW 53429 - !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,$D1 ; CB 209 - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2C,$95,$D1 ; CW 53653 - !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,$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,$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,$C1 ; CB 193 - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !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,$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,$D0 ; CW 53429 - !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,$C0 ; CW 49206 - !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,$D1 ; CW 53621 - !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,$D1 ; CW 53653 - !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,$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,$08 ; ADDI 8 - !BYTE $72 ; SW - !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,$0A ; ADDI 10 - !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,$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,$D0 ; CW 53397 - !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,$D1 ; CW 53685 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$D5,$D0 ; CW 53461 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F5,$C0 ; CW 49397 - !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,$D0 ; CW 53429 - !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,$D0 ; CW 53397 - !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,$D1 ; CW 53717 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F5,$C1 ; CW 49653 - !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,$D0 ; CW 53429 - !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,$D0 ; CW 53397 - !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,$C0 ; CW 49398 - !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,$D1 ; CW 53621 - !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,$D1 ; CW 53653 - !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,$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,$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,$07 ; ADDI 7 - !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,$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,$D1 ; CW 53685 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$D5,$D0 ; CW 53461 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F5,$C0 ; CW 49397 - !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,$D0 ; CW 53397 - !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,$D0 ; CW 53429 - !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,$D0 ; CW 53397 - !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,$C0 ; CW 49366 - !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,$D0 ; CW 53397 - !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,$D1 ; CW 53685 - !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,$D0 ; CW 53493 - !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,$D1 ; CW 53653 - !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,$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,$07 ; ADDI 7 - !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,$09 ; ADDI 9 - !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,$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,$D0 ; CW 53429 - !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,$D1 ; CW 53717 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F5,$C1 ; CW 49653 - !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,$D0 ; CW 53429 - !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,$D0 ; CW 53397 - !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,$C0 ; CW 49173 - !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,$D0 ; CW 53429 - !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,$C0 ; CW 49398 - !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,$D0 ; CW 53397 - !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,$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 $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,$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 $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,$D0 ; CW 53429 - !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,$C0 ; CW 49398 - !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,$D0 ; CW 53397 - !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,$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,$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,$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,$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,$D0 ; CW 53397 - !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,$D0 ; CW 53365 - !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,$D0 ; CW 53397 - !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,$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,$0A ; ADDI 10 - !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,$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,$D0 ; CW 53397 - !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,$D0 ; CW 53365 - !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,$D0 ; CW 53397 - !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,$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,$12 ; ADDI 18 - !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,$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,$D0 ; CW 53397 - !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,$D0 ; CW 53365 - !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,$D0 ; CW 53397 - !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,$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 $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,$D0 ; CW 53397 - !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,$D0 ; CW 53365 - !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,$D0 ; CW 53397 - !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,$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,$13 ; ADDI 19 - !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,$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 = 36 -; libsrc/apple/jit.pla: 0053: cmdsys.jitsize = 96 -; 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,$24 ; CB 36 - !BYTE $78 ; SAB _X000+17 -_F029 !WORD 0+17 - !BYTE $2A,$60 ; CB 96 - !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 aa6306c..0000000 --- a/src/libsrc/apple/jit16.a +++ /dev/null @@ -1,5445 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 = $C000 - ; estkh8 = 49152 -; libsrc/apple/jit16.pla: 0022: const estkh = $00C0 - ; estkh = 192 -; libsrc/apple/jit16.pla: 0023: const estkl8 = $D000 - ; estkl8 = 53248 -; libsrc/apple/jit16.pla: 0024: const estkl = $00D0 - ; estkl = 208 -; 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 = 96 -; 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,$60 ; CB 96 - !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 d4b7313..0000000 --- a/src/libsrc/apple/joybuzz.a +++ /dev/null @@ -1,143 +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: asm asmdefs - !BYTE $00 ; END OF MODULE DEPENDENCIES -_A000 ; asmdefs() -; libsrc/apple/joybuzz.pla: 0002: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/joybuzz.pla: 0003: SPEAKER = $C030 -SPEAKER = $C030 -; libsrc/apple/joybuzz.pla: 0004: GCSTRB = $C070 -GCSTRB = $C070 -; libsrc/apple/joybuzz.pla: 0005: GC0 = $C064 -GC0 = $C064 -; libsrc/apple/joybuzz.pla: 0006: GC1 = $C065 -GC1 = $C065 -; libsrc/apple/joybuzz.pla: 0007: GCPB1 = $C061 -GCPB1 = $C061 -; libsrc/apple/joybuzz.pla: 0008: GCPB2 = $C062 -GCPB2 = $C062 -; libsrc/apple/joybuzz.pla: 0009: GCMAX = 79 ; MAX VALUE FOR GAME CONTROLLER -GCMAX = 79 ; MAX VALUE FOR GAME CONTROLLER -; libsrc/apple/joybuzz.pla: 0010: end -; libsrc/apple/joybuzz.pla: 0011: // -; libsrc/apple/joybuzz.pla: 0012: // Read both game controllers in parallel -; libsrc/apple/joybuzz.pla: 0013: // -; libsrc/apple/joybuzz.pla: 0014: export asm joypos(buzz)#4 -_A001 ; joypos() -; libsrc/apple/joybuzz.pla: 0015: LDY ESTKL,X ; BUZZ TONE - LDY ESTKL,X ; BUZZ TONE -; libsrc/apple/joybuzz.pla: 0016: STY TMPH - STY TMPH -; libsrc/apple/joybuzz.pla: 0017: DEX - DEX -; libsrc/apple/joybuzz.pla: 0018: DEX - DEX -; libsrc/apple/joybuzz.pla: 0019: DEX - DEX -; libsrc/apple/joybuzz.pla: 0020: LDA #$00 - LDA #$00 -; libsrc/apple/joybuzz.pla: 0021: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/joybuzz.pla: 0022: STA ESTKH+2,X - STA ESTKH+2,X -; libsrc/apple/joybuzz.pla: 0023: STA ESTKL+3,X - STA ESTKL+3,X -; libsrc/apple/joybuzz.pla: 0024: STA ESTKH+3,X - STA ESTKH+3,X -; libsrc/apple/joybuzz.pla: 0025: LDA #GCMAX - LDA #GCMAX -; libsrc/apple/joybuzz.pla: 0026: SEC - SEC -; libsrc/apple/joybuzz.pla: 0027: BIT GCSTRB - BIT GCSTRB -; libsrc/apple/joybuzz.pla: 0028: BUZZ DEY -BUZZ DEY -; libsrc/apple/joybuzz.pla: 0029: BNE BUZZDLY - BNE BUZZDLY -; libsrc/apple/joybuzz.pla: 0030: BIT SPEAKER - BIT SPEAKER -; libsrc/apple/joybuzz.pla: 0031: LDY TMPH ; BUZZ TONE - LDY TMPH ; BUZZ TONE -; libsrc/apple/joybuzz.pla: 0032: GC0READ BIT GC0 -GC0READ BIT GC0 -; libsrc/apple/joybuzz.pla: 0033: BPL GC0DLY - BPL GC0DLY -; libsrc/apple/joybuzz.pla: 0034: INC ESTKL+3,X - INC ESTKL+3,X -; libsrc/apple/joybuzz.pla: 0035: GC1READ BIT GC1 -GC1READ BIT GC1 -; libsrc/apple/joybuzz.pla: 0036: BPL GC1DLY - BPL GC1DLY -; libsrc/apple/joybuzz.pla: 0037: INC ESTKL+2,X - INC ESTKL+2,X -; libsrc/apple/joybuzz.pla: 0038: JOYLP SBC #$01 -JOYLP SBC #$01 -; libsrc/apple/joybuzz.pla: 0039: BNE BUZZ - BNE BUZZ -; libsrc/apple/joybuzz.pla: 0040: TAY ; LDY #$00 - TAY ; LDY #$00 -; libsrc/apple/joybuzz.pla: 0041: BIT GCPB1 ; READ GC BUTTONS - BIT GCPB1 ; READ GC BUTTONS -; libsrc/apple/joybuzz.pla: 0042: BPL + - BPL + -; libsrc/apple/joybuzz.pla: 0043: DEY - DEY -; libsrc/apple/joybuzz.pla: 0044: + STY ESTKL+1,X -+ STY ESTKL+1,X -; libsrc/apple/joybuzz.pla: 0045: STY ESTKH+1,X - STY ESTKH+1,X -; libsrc/apple/joybuzz.pla: 0046: TAY ; LDY #$00 - TAY ; LDY #$00 -; libsrc/apple/joybuzz.pla: 0047: BIT GCPB2 - BIT GCPB2 -; libsrc/apple/joybuzz.pla: 0048: BPL + - BPL + -; libsrc/apple/joybuzz.pla: 0049: DEY - DEY -; libsrc/apple/joybuzz.pla: 0050: + STY ESTKL,X -+ STY ESTKL,X -; libsrc/apple/joybuzz.pla: 0051: STY ESTKH,X - STY ESTKH,X -; libsrc/apple/joybuzz.pla: 0052: RTS - RTS -; libsrc/apple/joybuzz.pla: 0053: GC0DLY NOP ; TIMING -GC0DLY NOP ; TIMING -; libsrc/apple/joybuzz.pla: 0054: BPL GC1READ - BPL GC1READ -; libsrc/apple/joybuzz.pla: 0055: GC1DLY NOP ; TIMING -GC1DLY NOP ; TIMING -; libsrc/apple/joybuzz.pla: 0056: BPL JOYLP - BPL JOYLP -; libsrc/apple/joybuzz.pla: 0057: BUZZDLY BNE + ; TIMING -BUZZDLY BNE + ; TIMING -; libsrc/apple/joybuzz.pla: 0058: + BNE GC0READ -+ BNE GC0READ -; libsrc/apple/joybuzz.pla: 0059: end -; libsrc/apple/joybuzz.pla: 0060: 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: 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 6e03539..0000000 --- a/src/libsrc/apple/matchfiles.a +++ /dev/null @@ -1,945 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0080: 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: // -; libsrc/apple/matchfiles.pla: 0006: // Match next section of source and expression -; libsrc/apple/matchfiles.pla: 0007: // -; libsrc/apple/matchfiles.pla: 0008: def matchNext(src, srcofst, exp, expofst) -_SUBSEG ; BYTECODE STARTS - ; src -> [0] - ; srcofst -> [2] - ; exp -> [4] - ; expofst -> [6] -_C000 ; matchNext() -; libsrc/apple/matchfiles.pla: 0009: if ^exp >= expofst - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/matchfiles.pla: 0010: 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: 0011: is '*' // Multi-char wildcard -_B005 -; libsrc/apple/matchfiles.pla: 0012: if matchNext(src, srcofst, exp, expofst + 1) // Match zero wild chars -; libsrc/apple/matchfiles.pla: 0013: 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: 0014: 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: 0015: 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: 0016: fin -_B009 -_B007 -; libsrc/apple/matchfiles.pla: 0017: is '?' // Single char wildcard -_B010 -; libsrc/apple/matchfiles.pla: 0018: if ^src >= srcofst -; libsrc/apple/matchfiles.pla: 0019: 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: 0020: fin -_B011 -_B012 -; libsrc/apple/matchfiles.pla: 0021: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/matchfiles.pla: 0022: 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: 0023: if ^src >= srcofst and src->[srcofst] == exp->[expofst] -; libsrc/apple/matchfiles.pla: 0024: 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: 0025: fin -_B015 -_B016 -; libsrc/apple/matchfiles.pla: 0026: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/matchfiles.pla: 0027: wend -_B003 -; libsrc/apple/matchfiles.pla: 0028: fin -_B001 -_B002 -; libsrc/apple/matchfiles.pla: 0029: 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: 0030: end -; libsrc/apple/matchfiles.pla: 0031: // -; libsrc/apple/matchfiles.pla: 0032: // Start off matching process -; libsrc/apple/matchfiles.pla: 0033: // -; libsrc/apple/matchfiles.pla: 0034: export def matchName(src, exp)#1 - ; src -> [0] - ; exp -> [2] -_C001 ; matchName() -; libsrc/apple/matchfiles.pla: 0035: // -; libsrc/apple/matchfiles.pla: 0036: // Match on empty wildcard name (same as '*') -; libsrc/apple/matchfiles.pla: 0037: // -; libsrc/apple/matchfiles.pla: 0038: if not ^exp - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/matchfiles.pla: 0039: 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: 0040: fin -_B018 -_B019 -; libsrc/apple/matchfiles.pla: 0041: 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: 0042: end -; libsrc/apple/matchfiles.pla: 0043: export def matchList(pathstr, exp)#2 - ; pathstr -> [0] - ; exp -> [2] -_C002 ; matchList() -; libsrc/apple/matchfiles.pla: 0044: byte refnum - ; refnum -> [4] -; libsrc/apple/matchfiles.pla: 0045: char[64] curpath - ; curpath -> [5] -; libsrc/apple/matchfiles.pla: 0046: 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: 0047: -; libsrc/apple/matchfiles.pla: 0048: if not dirbuf - !BYTE $58,$55,$02 ; ENTER 85,2 -; libsrc/apple/matchfiles.pla: 0049: dirbuf = heapallocalign(512, 8, 0) -; libsrc/apple/matchfiles.pla: 0050: 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: 0051: if not ^pathstr -; libsrc/apple/matchfiles.pla: 0052: fileio:getpfx(@curpath) -; libsrc/apple/matchfiles.pla: 0053: pathstr = @curpath -; libsrc/apple/matchfiles.pla: 0054: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B022 - !WORD _B022-* - !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] -_B022 -_B023 -; libsrc/apple/matchfiles.pla: 0055: if pathstr->[^pathstr] <> '/' // Make sure path ends with a '/' -; libsrc/apple/matchfiles.pla: 0056: ^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 _B024 - !WORD _B024-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8C ; INCR -; libsrc/apple/matchfiles.pla: 0057: pathstr->[^pathstr] = '/' -; libsrc/apple/matchfiles.pla: 0058: 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 -_B024 -_B025 -; libsrc/apple/matchfiles.pla: 0059: entrylist = 0 -; libsrc/apple/matchfiles.pla: 0060: entrycnt = 0 -; libsrc/apple/matchfiles.pla: 0061: firstblk = 1 -; libsrc/apple/matchfiles.pla: 0062: refnum = fileio:open(pathstr) -; libsrc/apple/matchfiles.pla: 0063: 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 _B028 - !WORD _B028-* -_B026 -; libsrc/apple/matchfiles.pla: 0064: // -; libsrc/apple/matchfiles.pla: 0065: // Skip block pointers -; libsrc/apple/matchfiles.pla: 0066: // -; libsrc/apple/matchfiles.pla: 0067: entry = dirbuf + 4 -; libsrc/apple/matchfiles.pla: 0068: if firstblk -; libsrc/apple/matchfiles.pla: 0069: // -; libsrc/apple/matchfiles.pla: 0070: // Pull out revelant details from the first block -; libsrc/apple/matchfiles.pla: 0071: // -; libsrc/apple/matchfiles.pla: 0072: entrylen = dirbuf->$23 -; libsrc/apple/matchfiles.pla: 0073: entriesblk = dirbuf->$24 - 1 -; libsrc/apple/matchfiles.pla: 0074: entry = entry + entrylen -; libsrc/apple/matchfiles.pla: 0075: 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 _B029 - !WORD _B029-* - !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] -_B029 -_B030 -; libsrc/apple/matchfiles.pla: 0076: for i = firstblk to entriesblk - !BYTE $66,$49 ; LLW [73] - !BYTE $66,$45 ; LLW [69] - !BYTE $A0 ; BRGT _B031 - !WORD _B031-* -_B032 - !BYTE $6E,$4B ; DLW [75] -; libsrc/apple/matchfiles.pla: 0077: // -; libsrc/apple/matchfiles.pla: 0078: // Copy directory entry details -; libsrc/apple/matchfiles.pla: 0079: // -; libsrc/apple/matchfiles.pla: 0080: ^entry = ^entry & $0F -; libsrc/apple/matchfiles.pla: 0081: if ^entry -; libsrc/apple/matchfiles.pla: 0082: // -; libsrc/apple/matchfiles.pla: 0083: // Match wildcard filename -; libsrc/apple/matchfiles.pla: 0084: // -; libsrc/apple/matchfiles.pla: 0085: if matchName(entry, exp) -; libsrc/apple/matchfiles.pla: 0086: entryptr = heapalloc(t_fileentry) -; libsrc/apple/matchfiles.pla: 0087: memcpy(entryptr, entry, t_fileentry) -; libsrc/apple/matchfiles.pla: 0088: 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 _B034 - !WORD _B034-* - !BYTE $66,$4D ; LLW [77] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C001 -_F013 !WORD _C001 - !BYTE $4C ; BRFLS _B036 - !WORD _B036-* - !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: 0089: if not entrylist -; libsrc/apple/matchfiles.pla: 0090: entrylist = entryptr -; libsrc/apple/matchfiles.pla: 0091: fin - !BYTE $76,$53 ; SLW [83] - !BYTE $66,$4F ; LLW [79] - !BYTE $4E ; BRTRU _B038 - !WORD _B038-* - !BYTE $66,$51 ; LLW [81] - !BYTE $76,$4F ; SLW [79] -_B038 -_B039 -; libsrc/apple/matchfiles.pla: 0092: fin -_B036 -_B037 -; libsrc/apple/matchfiles.pla: 0093: fin -_B034 -_B035 -; libsrc/apple/matchfiles.pla: 0094: entry = entry + entrylen -; libsrc/apple/matchfiles.pla: 0095: next - !BYTE $66,$4D ; LLW [77] - !BYTE $B2,$47 ; ADDLW [71] - !BYTE $76,$4D ; SLW [77] -_B033 - !BYTE $A4 ; INCBRLE _B032 - !WORD _B032-* -_B031 - !BYTE $76,$4B ; SLW [75] - !BYTE $30 ; DROP -; libsrc/apple/matchfiles.pla: 0096: firstblk = 0 -; libsrc/apple/matchfiles.pla: 0097: loop - !BYTE $00 ; CN 0 - !BYTE $76,$45 ; SLW [69] -_B028 - !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 _B026 - !WORD _B026-* -_B027 -; libsrc/apple/matchfiles.pla: 0098: fileio:close(refnum) -; libsrc/apple/matchfiles.pla: 0099: 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: 0100: end -; libsrc/apple/matchfiles.pla: 0101: // -; libsrc/apple/matchfiles.pla: 0102: // Is this a wildcard name? -; libsrc/apple/matchfiles.pla: 0103: // -; libsrc/apple/matchfiles.pla: 0104: export def isWildName(exp)#1 - ; exp -> [0] -_C003 ; isWildName() -; libsrc/apple/matchfiles.pla: 0105: byte i - ; i -> [2] -; libsrc/apple/matchfiles.pla: 0106: -; libsrc/apple/matchfiles.pla: 0107: if ^exp - !BYTE $58,$03,$01 ; ENTER 3,1 -; libsrc/apple/matchfiles.pla: 0108: for i = 1 to ^exp - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B040 - !WORD _B040-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B042 - !WORD _B042-* -_B043 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/matchfiles.pla: 0109: if exp->[i] == '*' or exp->[i] == '?' -; libsrc/apple/matchfiles.pla: 0110: 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 _B045 - !WORD _B045-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$3F ; CB 63 - !BYTE $40 ; ISEQ -_B045 - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $32 ; DROP2 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/matchfiles.pla: 0111: fin -_B046 -_B047 -; libsrc/apple/matchfiles.pla: 0112: next -_B044 - !BYTE $A4 ; INCBRLE _B043 - !WORD _B043-* -_B042 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/matchfiles.pla: 0113: fin -_B040 -_B041 -; libsrc/apple/matchfiles.pla: 0114: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/matchfiles.pla: 0115: end -; libsrc/apple/matchfiles.pla: 0116: // -; libsrc/apple/matchfiles.pla: 0117: // Utility routine to separate filename from path -; libsrc/apple/matchfiles.pla: 0118: // -; libsrc/apple/matchfiles.pla: 0119: export def fileFromPath(filestr, pathstr)#0 - ; filestr -> [0] - ; pathstr -> [2] -_C004 ; fileFromPath() -; libsrc/apple/matchfiles.pla: 0120: byte i - ; i -> [4] -; libsrc/apple/matchfiles.pla: 0121: -; libsrc/apple/matchfiles.pla: 0122: 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 _B048 - !WORD _B048-* -_B049 - !BYTE $6C,$04 ; DLB [4] -; libsrc/apple/matchfiles.pla: 0123: if pathstr->[i] == '/' -; libsrc/apple/matchfiles.pla: 0124: break - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B051 - !WORD _B051-* - !BYTE $50 ; BRNCH _B048 - !WORD _B048-* -; libsrc/apple/matchfiles.pla: 0125: fin -_B051 -_B052 -; libsrc/apple/matchfiles.pla: 0126: next -_B050 - !BYTE $A8 ; DECBRGE _B049 - !WORD _B049-* -_B048 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/matchfiles.pla: 0127: ^filestr = ^pathstr - i -; libsrc/apple/matchfiles.pla: 0128: memcpy(filestr + 1, pathstr + 1 + i, ^filestr) -; libsrc/apple/matchfiles.pla: 0129: 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: 0130: done -_INIT - !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 $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 $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: 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 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/mouse.a b/src/libsrc/apple/mouse.a deleted file mode 100644 index c218ea5..0000000 --- a/src/libsrc/apple/mouse.a +++ /dev/null @@ -1,1232 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: 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: 0210: fin -_B012 -_B013 -; libsrc/apple/mouse.pla: 0211: 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: 0212: // -; libsrc/apple/mouse.pla: 0213: // Not found -; libsrc/apple/mouse.pla: 0214: // -; libsrc/apple/mouse.pla: 0215: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/mouse.pla: 0216: 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 1edbd75..0000000 --- a/src/libsrc/apple/portio.a +++ /dev/null @@ -1,386 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 = $C060 - ; FLAG0 = 49248 -; libsrc/apple/portio.pla: 0014: const FLAG1 = $C061 - ; FLAG1 = 49249 -; libsrc/apple/portio.pla: 0015: const FLAG2 = $C062 - ; FLAG2 = 49250 -; libsrc/apple/portio.pla: 0016: const FLAG3 = $C063 - ; FLAG3 = 49251 -; 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: -; libsrc/apple/portio.pla: 0020: export def digitalRead(pin) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; pin -> [0] -_C000 ; digitalRead() -; libsrc/apple/portio.pla: 0021: return FLAG0[pin&3] > 127 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $2C,$60,$C0 ; CW 49248 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $2A,$7F ; CB 127 - !BYTE $44 ; ISGT - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/portio.pla: 0022: end -; libsrc/apple/portio.pla: 0023: -; libsrc/apple/portio.pla: 0024: export def portRead -_C001 ; portRead() -; libsrc/apple/portio.pla: 0025: return (^FLAG0>>7)&1|(^FLAG1>>6)&2|(^FLAG2>>5)&4|(^FLAG3>>4)&8 - !BYTE $68,$60,$C0 ; LAB 49248 - !BYTE $0E ; CN 7 - !BYTE $9C ; SHR - !BYTE $3C,$01 ; ANDI 1 - !BYTE $68,$61,$C0 ; LAB 49249 - !BYTE $0C ; CN 6 - !BYTE $9C ; SHR - !BYTE $3C,$02 ; ANDI 2 - !BYTE $68,$62,$C0 ; LAB 49250 - !BYTE $0A ; CN 5 - !BYTE $9C ; SHR - !BYTE $3C,$04 ; ANDI 4 - !BYTE $68,$63,$C0 ; LAB 49251 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$08 ; ANDI 8 - !BYTE $96 ; OR - !BYTE $96 ; OR - !BYTE $96 ; OR - !BYTE $5C ; RET -; libsrc/apple/portio.pla: 0026: end -; libsrc/apple/portio.pla: 0027: -; libsrc/apple/portio.pla: 0028: export def digitalWrite(pin, val)#0 - ; pin -> [0] - ; val -> [2] -_C002 ; digitalWrite() -; libsrc/apple/portio.pla: 0029: ANN0[((pin&3)<<1)+(val&1)] - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/portio.pla: 0030: end - !BYTE $2C,$58,$C0 ; CW 49240 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/portio.pla: 0031: -; libsrc/apple/portio.pla: 0032: export def portWrite(val)#0 - ; val -> [0] -_C003 ; portWrite() -; libsrc/apple/portio.pla: 0033: ANN0[val&1] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/portio.pla: 0034: ANN1[(val>>1)&1] -; libsrc/apple/portio.pla: 0035: ANN2[(val>>2)&1] -; libsrc/apple/portio.pla: 0036: ANN3[(val>>3)&1] -; libsrc/apple/portio.pla: 0037: end - !BYTE $2C,$58,$C0 ; CW 49240 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $2C,$5A,$C0 ; CW 49242 - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $3C,$01 ; ANDI 1 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $2C,$5C,$C0 ; CW 49244 - !BYTE $66,$00 ; LLW [0] - !BYTE $04 ; CN 2 - !BYTE $9C ; SHR - !BYTE $3C,$01 ; ANDI 1 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $2C,$5E,$C0 ; CW 49246 - !BYTE $66,$00 ; LLW [0] - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $3C,$01 ; ANDI 1 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/portio.pla: 0038: -; libsrc/apple/portio.pla: 0039: export def analogRead(pin) - ; pin -> [0] -_C004 ; analogRead() -; libsrc/apple/portio.pla: 0040: 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: 0041: end -; libsrc/apple/portio.pla: 0042: -; libsrc/apple/portio.pla: 0043: export def delay(time)#0 - ; time -> [0] -_C005 ; delay() -; libsrc/apple/portio.pla: 0044: call(WAIT,time,0,0,0) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/portio.pla: 0045: 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: 0046: -; libsrc/apple/portio.pla: 0047: 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 $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 _C000 - ; DCI STRING: PORTREAD - !BYTE $D0,$CF,$D2,$D4,$D2,$C5,$C1,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: DIGITALWRITE - !BYTE $C4,$C9,$C7,$C9,$D4,$C1,$CC,$D7,$D2,$C9,$D4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: PORTWRITE - !BYTE $D0,$CF,$D2,$D4,$D7,$D2,$C9,$D4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: ANALOGREAD - !BYTE $C1,$CE,$C1,$CC,$CF,$C7,$D2,$C5,$C1,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: DELAY - !BYTE $C4,$C5,$CC,$C1,$59 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/sdfat.a b/src/libsrc/apple/sdfat.a deleted file mode 100644 index 6503fd8..0000000 --- a/src/libsrc/apple/sdfat.a +++ /dev/null @@ -1,951 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 26322b6..0000000 --- a/src/libsrc/apple/sndseq.a +++ /dev/null @@ -1,3984 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0080: 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 a2spkrPWM(sample, speed, len)#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 spkrTone = @a2spkrTone -_D040 ; spkrTone = @a2spkrTone -_F001 !WORD _P003 -; libsrc/apple/sndseq.pla: 0076: export word spkrPWM = @a2spkrPWM -_D041 ; spkrPWM = @a2spkrPWM -_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 a2spkrPWM(sample, speed, len)#0 -_P004 ; a2spkrPWM(sample, speed, len)#0() -_A010 ; a2spkrPWM() -; libsrc/apple/sndseq.pla: 0319: STX ESP - STX ESP -; libsrc/apple/sndseq.pla: 0320: LDY ESTKH,X - LDY ESTKH,X -; libsrc/apple/sndseq.pla: 0321: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/sndseq.pla: 0322: BEQ + - BEQ + -; libsrc/apple/sndseq.pla: 0323: INY - INY -; libsrc/apple/sndseq.pla: 0324: + STY DSTH -+ STY DSTH -; libsrc/apple/sndseq.pla: 0325: STA DSTL - STA DSTL -; libsrc/apple/sndseq.pla: 0326: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/apple/sndseq.pla: 0327: STA SRCL - STA SRCL -; libsrc/apple/sndseq.pla: 0328: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/apple/sndseq.pla: 0329: STA SRCH - STA SRCH -; libsrc/apple/sndseq.pla: 0330: LDY ESTKL+1,X - LDY ESTKL+1,X -; libsrc/apple/sndseq.pla: 0331: INY - INY -; libsrc/apple/sndseq.pla: 0332: STY TMPL - STY TMPL -; libsrc/apple/sndseq.pla: 0333: LDY #$00 - LDY #$00 -; libsrc/apple/sndseq.pla: 0334: PHP - PHP -; libsrc/apple/sndseq.pla: 0335: SEI - SEI -; libsrc/apple/sndseq.pla: 0336: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/sndseq.pla: 0337: SEC - SEC -; libsrc/apple/sndseq.pla: 0338: -- LDX TMPL --- LDX TMPL -; libsrc/apple/sndseq.pla: 0339: --- DEX ---- DEX -; libsrc/apple/sndseq.pla: 0340: BNE --- - BNE --- -; libsrc/apple/sndseq.pla: 0341: SBC #$01 - SBC #$01 -; libsrc/apple/sndseq.pla: 0342: BCS -- - BCS -- -; libsrc/apple/sndseq.pla: 0343: BIT $C030 - BIT $C030 -; libsrc/apple/sndseq.pla: 0344: INY - INY -; libsrc/apple/sndseq.pla: 0345: BNE + - BNE + -; libsrc/apple/sndseq.pla: 0346: INC SRCH - INC SRCH -; libsrc/apple/sndseq.pla: 0347: + DEC DSTL -+ DEC DSTL -; libsrc/apple/sndseq.pla: 0348: BNE - - BNE - -; libsrc/apple/sndseq.pla: 0349: DEC DSTH - DEC DSTH -; libsrc/apple/sndseq.pla: 0350: BNE - - BNE - -; libsrc/apple/sndseq.pla: 0351: PLP - PLP -; libsrc/apple/sndseq.pla: 0352: LDX ESP - LDX ESP -; libsrc/apple/sndseq.pla: 0353: INX - INX -; libsrc/apple/sndseq.pla: 0354: INX - INX -; libsrc/apple/sndseq.pla: 0355: INX - INX -; libsrc/apple/sndseq.pla: 0356: RTS - RTS -; libsrc/apple/sndseq.pla: 0357: end -; libsrc/apple/sndseq.pla: 0358: asm a2keypressed -_P005 ; a2keypressed() -_A011 ; a2keypressed() -; libsrc/apple/sndseq.pla: 0359: INC $004E ; rndseed - INC $004E ; rndseed -; libsrc/apple/sndseq.pla: 0360: BNE + - BNE + -; libsrc/apple/sndseq.pla: 0361: INC $004F - INC $004F -; libsrc/apple/sndseq.pla: 0362: + DEX -+ DEX -; libsrc/apple/sndseq.pla: 0363: LDY #$00 - LDY #$00 -; libsrc/apple/sndseq.pla: 0364: BIT $C000 - BIT $C000 -; libsrc/apple/sndseq.pla: 0365: BPL + - BPL + -; libsrc/apple/sndseq.pla: 0366: DEY - DEY -; libsrc/apple/sndseq.pla: 0367: + STY ESTKL,X -+ STY ESTKL,X -; libsrc/apple/sndseq.pla: 0368: STY ESTKH,X - STY ESTKH,X -; libsrc/apple/sndseq.pla: 0369: RTS - RTS -; libsrc/apple/sndseq.pla: 0370: end -; libsrc/apple/sndseq.pla: 0371: def a3keypressed - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; a3keypressed() -; libsrc/apple/sndseq.pla: 0372: byte count - ; count -> [0] -; libsrc/apple/sndseq.pla: 0373: byte params[5] - ; params -> [1] -; libsrc/apple/sndseq.pla: 0374: -; libsrc/apple/sndseq.pla: 0375: params.0 = 3 - !BYTE $58,$06,$00 ; ENTER 6,0 -; libsrc/apple/sndseq.pla: 0376: params.1 = cmdsys.devcons -; libsrc/apple/sndseq.pla: 0377: params.2 = 5 -; libsrc/apple/sndseq.pla: 0378: params:3 = @count -; libsrc/apple/sndseq.pla: 0379: syscall($82, @params) -; libsrc/apple/sndseq.pla: 0380: 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: 0381: end -; libsrc/apple/sndseq.pla: 0382: def a3spkrTone(pitch, duration)#0 - ; pitch -> [0] - ; duration -> [2] -_C001 ; a3spkrTone() -; libsrc/apple/sndseq.pla: 0383: byte env - ; env -> [4] -; libsrc/apple/sndseq.pla: 0384: -; libsrc/apple/sndseq.pla: 0385: env = ^ENV_REG - !BYTE $58,$05,$02 ; ENTER 5,2 -; libsrc/apple/sndseq.pla: 0386: ^ENV_REG = env | $C0 -; libsrc/apple/sndseq.pla: 0387: a2spkrTone(pitch, duration) -; libsrc/apple/sndseq.pla: 0388: ^ENV_REG = env -; libsrc/apple/sndseq.pla: 0389: 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: 0390: def a3spkrPWM(sample, speed, len)#0 - ; sample -> [0] - ; speed -> [2] - ; len -> [4] -_C002 ; a3spkrPWM() -; libsrc/apple/sndseq.pla: 0391: byte env - ; env -> [6] -; libsrc/apple/sndseq.pla: 0392: -; libsrc/apple/sndseq.pla: 0393: env = ^ENV_REG - !BYTE $58,$07,$03 ; ENTER 7,3 -; libsrc/apple/sndseq.pla: 0394: ^ENV_REG = env | $C0 -; libsrc/apple/sndseq.pla: 0395: a2spkrPWM(sample, speed, len) -; libsrc/apple/sndseq.pla: 0396: ^ENV_REG = env -; libsrc/apple/sndseq.pla: 0397: end - !BYTE $68,$DF,$FF ; LAB 65503 - !BYTE $6C,$06 ; DLB [6] - !BYTE $3E,$C0 ; ORI 192 - !BYTE $78,$DF,$FF ; SAB 65503 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A010 -_F011 !WORD _A010 - !BYTE $64,$06 ; LLB [6] - !BYTE $78,$DF,$FF ; SAB 65503 - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/sndseq.pla: 0398: // -; libsrc/apple/sndseq.pla: 0399: // Search slots for MockingBoard -; libsrc/apple/sndseq.pla: 0400: // -; libsrc/apple/sndseq.pla: 0401: def mbTicklePSG(pVIA) - ; pVIA -> [0] -_C003 ; mbTicklePSG() -; libsrc/apple/sndseq.pla: 0402: //puts("VIA address: $"); puth(pVIA); puts(" Timer Diff = "); puti(viaCheck(pVIA)); putln -; libsrc/apple/sndseq.pla: 0403: if viaCheck(pVIA) == 8 and viaCheck(pVIA) == 8 // Check twice - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/sndseq.pla: 0404: pVIA->IER = $7F // Mask all interrupts -; libsrc/apple/sndseq.pla: 0405: //pVIA->ACR = $00 // Stop T1 countdown -; libsrc/apple/sndseq.pla: 0406: pVIA->DDRB = $FF // Output enable port A and B -; libsrc/apple/sndseq.pla: 0407: pVIA->DDRA = $FF -; libsrc/apple/sndseq.pla: 0408: pVIA->IORA = $00 // Reset MockingBoard -; libsrc/apple/sndseq.pla: 0409: //if pVIA->IORA == $00 -; libsrc/apple/sndseq.pla: 0410: pVIA->IORA = $04 // Inactive MockingBoard control lines -; libsrc/apple/sndseq.pla: 0411: //if pVIA->IORA == $04 -; libsrc/apple/sndseq.pla: 0412: // -; libsrc/apple/sndseq.pla: 0413: // At least we know we have some sort of R/W in the ROM -; libsrc/apple/sndseq.pla: 0414: // address space. Most likely a MockingBoard or John Bell -; libsrc/apple/sndseq.pla: 0415: // 6522 board. We will assume its a MockingBoard because -; libsrc/apple/sndseq.pla: 0416: // emulators fail the following PSG read test. -; libsrc/apple/sndseq.pla: 0417: // -; libsrc/apple/sndseq.pla: 0418: //psgWriteWord(pVIA, 2, $DA7E) -; libsrc/apple/sndseq.pla: 0419: //if mbReadP(pVIA, 2) == $7E and mbReadP(pVIA, 3) == $0A -; libsrc/apple/sndseq.pla: 0420: 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: 0421: //fin -; libsrc/apple/sndseq.pla: 0422: //fin -; libsrc/apple/sndseq.pla: 0423: fin -_B002 -_B003 -; libsrc/apple/sndseq.pla: 0424: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sndseq.pla: 0425: end -; libsrc/apple/sndseq.pla: 0426: def mbSearch(slot) - ; slot -> [0] -_C004 ; mbSearch() -; libsrc/apple/sndseq.pla: 0427: if slot >= 0 and slot <= 7 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/sndseq.pla: 0428: if slot -; libsrc/apple/sndseq.pla: 0429: mbVIA1 = mbTicklePSG($C000 + (slot << 8)) -; libsrc/apple/sndseq.pla: 0430: if mbVIA1 -; libsrc/apple/sndseq.pla: 0431: mbVIA2 = mbTicklePSG(mbVIA1 + $80) -; libsrc/apple/sndseq.pla: 0432: 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: 0433: fin -_B009 -_B010 -; libsrc/apple/sndseq.pla: 0434: else - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B007 -; libsrc/apple/sndseq.pla: 0435: for slot = 1 to 7 - !BYTE $0E ; CN 7 - !BYTE $02 ; CN 1 -_B012 - !BYTE $6E,$00 ; DLW [0] -; libsrc/apple/sndseq.pla: 0436: if slot == 3 or slot == 6 -; libsrc/apple/sndseq.pla: 0437: 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: 0438: fin -_B015 -_B016 -; libsrc/apple/sndseq.pla: 0439: mbVIA1 = mbTicklePSG($C000 + (slot << 8)) -; libsrc/apple/sndseq.pla: 0440: if mbVIA1 -; libsrc/apple/sndseq.pla: 0441: mbVIA2 = mbTicklePSG(mbVIA1 + $80) -; libsrc/apple/sndseq.pla: 0442: 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: 0443: fin -_B017 -_B018 -; libsrc/apple/sndseq.pla: 0444: next -_B013 - !BYTE $A4 ; INCBRLE _B012 - !WORD _B012-* -_B011 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0445: fin -_B008 -; libsrc/apple/sndseq.pla: 0446: fin -_B005 -_B006 -; libsrc/apple/sndseq.pla: 0447: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sndseq.pla: 0448: end -; libsrc/apple/sndseq.pla: 0449: def psgSetup(pVIA)#0 - ; pVIA -> [0] -_C005 ; psgSetup() -; libsrc/apple/sndseq.pla: 0450: psgWrite(pVIA, MIXER, $3F) // Turn everything off - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/sndseq.pla: 0451: psgWrite(pVIA, AENVAMP, $00) -; libsrc/apple/sndseq.pla: 0452: psgWrite(pVIA, BENVAMP, $00) -; libsrc/apple/sndseq.pla: 0453: psgWrite(pVIA, CENVAMP, $10) -; libsrc/apple/sndseq.pla: 0454: psgWrite(pVIA, NGFREQ, $01) -; libsrc/apple/sndseq.pla: 0455: psgWriteWord(pVIA, ENVPERIOD, $0001) -; libsrc/apple/sndseq.pla: 0456: psgWrite(pVIA, ENVSHAPE, $00) // Single decay -; libsrc/apple/sndseq.pla: 0457: psgWriteWord(pVIA, AFREQ, $0000) // Fast response to update -; libsrc/apple/sndseq.pla: 0458: psgWriteWord(pVIA, BFREQ, $0000) -; libsrc/apple/sndseq.pla: 0459: psgWriteWord(pVIA, CFREQ, $0000) -; libsrc/apple/sndseq.pla: 0460: psgWrite(pVIA, MIXER, $38) // Tone on C, B, A -; libsrc/apple/sndseq.pla: 0461: 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: 0462: // -; libsrc/apple/sndseq.pla: 0463: // Sequence notes through MockingBoard -; libsrc/apple/sndseq.pla: 0464: // -; libsrc/apple/sndseq.pla: 0465: def mbSequence(yield, func)#0 - ; yield -> [0] - ; func -> [2] -_C006 ; mbSequence() -; libsrc/apple/sndseq.pla: 0466: word period, n, yieldTime - ; period -> [4] - ; n -> [6] - ; yieldTime -> [8] -; libsrc/apple/sndseq.pla: 0467: 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: 0468: -; libsrc/apple/sndseq.pla: 0469: // -; libsrc/apple/sndseq.pla: 0470: // Reset oscillator table -; libsrc/apple/sndseq.pla: 0471: // -; libsrc/apple/sndseq.pla: 0472: indexA[0] = 0; indexA[1] = 0 - !BYTE $58,$11,$02 ; ENTER 17,2 -; libsrc/apple/sndseq.pla: 0473: indexB[0] = 1; indexB[1] = 1 -; libsrc/apple/sndseq.pla: 0474: indexC[0] = 2; indexC[1] = 2 -; libsrc/apple/sndseq.pla: 0475: noteA[0] = 0; noteA[1] = 0 -; libsrc/apple/sndseq.pla: 0476: noteB[0] = 0; noteB[1] = 0 -; libsrc/apple/sndseq.pla: 0477: noteC[0] = 0; noteC[1] = 0 -; libsrc/apple/sndseq.pla: 0478: // -; libsrc/apple/sndseq.pla: 0479: // Get the PSGs ready -; libsrc/apple/sndseq.pla: 0480: // -; libsrc/apple/sndseq.pla: 0481: status = getStatusReg -; libsrc/apple/sndseq.pla: 0482: disableInts -; libsrc/apple/sndseq.pla: 0483: mbVIA1->ACR = $40 // Continuous T1 interrupts -; libsrc/apple/sndseq.pla: 0484: mbVIA1=>T1L = $F9C2 // 16 Ints/sec -; libsrc/apple/sndseq.pla: 0485: mbVIA1=>T1C = $F9C2 // 16 Ints/sec -; libsrc/apple/sndseq.pla: 0486: mbVIA1->IFR = $40 // Clear interrupt -; libsrc/apple/sndseq.pla: 0487: mbVIA1->IER = $C0 // Enable Timer1 interrupt -; libsrc/apple/sndseq.pla: 0488: psgSetup(mbVIA1) -; libsrc/apple/sndseq.pla: 0489: 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: 0490: overflow = 0 -; libsrc/apple/sndseq.pla: 0491: if yield and func -; libsrc/apple/sndseq.pla: 0492: yieldTime = seqTime + yield -; libsrc/apple/sndseq.pla: 0493: 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: 0494: yieldTime = $7FFF -; libsrc/apple/sndseq.pla: 0495: fin - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $76,$08 ; SLW [8] -_B023 -; libsrc/apple/sndseq.pla: 0496: updateTime = seqTime -; libsrc/apple/sndseq.pla: 0497: quit = FALSE -; libsrc/apple/sndseq.pla: 0498: 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: 0499: while eventTime == seqTime - !BYTE $50 ; BRNCH _B029 - !WORD _B029-* -_B027 -; libsrc/apple/sndseq.pla: 0500: note = seqEvent->percnote -; libsrc/apple/sndseq.pla: 0501: if note & $80 -; libsrc/apple/sndseq.pla: 0502: // -; libsrc/apple/sndseq.pla: 0503: // Note event -; libsrc/apple/sndseq.pla: 0504: // -; libsrc/apple/sndseq.pla: 0505: volume = seqEvent->perchanvol -; libsrc/apple/sndseq.pla: 0506: channel = (volume & mbVIA2.LSB) >> 7 // Clever - mbVIA2.0 will be $80 if it exists -; libsrc/apple/sndseq.pla: 0507: if volume & $0F -; libsrc/apple/sndseq.pla: 0508: // -; libsrc/apple/sndseq.pla: 0509: // Note on -; libsrc/apple/sndseq.pla: 0510: // -; libsrc/apple/sndseq.pla: 0511: 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: 0512: // -; libsrc/apple/sndseq.pla: 0513: // Look for available slot in active note table -; libsrc/apple/sndseq.pla: 0514: // -; libsrc/apple/sndseq.pla: 0515: if !notes[channel, i].LSB //or notes[channel, i] == note -; libsrc/apple/sndseq.pla: 0516: 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: 0517: fin -_B037 -_B038 -; libsrc/apple/sndseq.pla: 0518: next -_B036 - !BYTE $A4 ; INCBRLE _B035 - !WORD _B035-* -_B034 - !BYTE $74,$0D ; SLB [13] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0519: // -; libsrc/apple/sndseq.pla: 0520: // Full note table, kick one out -; libsrc/apple/sndseq.pla: 0521: // -; libsrc/apple/sndseq.pla: 0522: if i == MAX_MBCH_NOTES -; libsrc/apple/sndseq.pla: 0523: i = overflow -; libsrc/apple/sndseq.pla: 0524: overflow = (overflow + 1) % MAX_MBCH_NOTES -; libsrc/apple/sndseq.pla: 0525: 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: 0526: numNotes++ - !BYTE $68 ; LAB _D049+0 -_F066 !WORD _D049+0 - !BYTE $8C ; INCR -; libsrc/apple/sndseq.pla: 0527: fin - !BYTE $78 ; SAB _D049+0 -_F067 !WORD _D049+0 -_B040 -; libsrc/apple/sndseq.pla: 0528: notes[channel, i] = note | (volume << 8) -; libsrc/apple/sndseq.pla: 0529: periods[channel, i] = mbOctave0[note & $0F] >> ((note >> 4) & $07) -; libsrc/apple/sndseq.pla: 0530: 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: 0531: // -; libsrc/apple/sndseq.pla: 0532: // Note off -; libsrc/apple/sndseq.pla: 0533: // -; libsrc/apple/sndseq.pla: 0534: 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: 0535: // -; libsrc/apple/sndseq.pla: 0536: // Remove from active note table -; libsrc/apple/sndseq.pla: 0537: // -; libsrc/apple/sndseq.pla: 0538: if notes[channel, i].LSB == note -; libsrc/apple/sndseq.pla: 0539: notes[channel, i] = 0 -; libsrc/apple/sndseq.pla: 0540: 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: 0541: break - !BYTE $78 ; SAB _D049+0 -_F074 !WORD _D049+0 - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; libsrc/apple/sndseq.pla: 0542: fin -_B044 -_B045 -; libsrc/apple/sndseq.pla: 0543: next -_B043 - !BYTE $A4 ; INCBRLE _B042 - !WORD _B042-* -_B041 - !BYTE $74,$0D ; SLB [13] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0544: fin -_B033 -; libsrc/apple/sndseq.pla: 0545: updateTime = seqTime -; libsrc/apple/sndseq.pla: 0546: 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: 0547: // -; libsrc/apple/sndseq.pla: 0548: // Percussion event -; libsrc/apple/sndseq.pla: 0549: // -; libsrc/apple/sndseq.pla: 0550: period = seqEvent->perchanvol -; libsrc/apple/sndseq.pla: 0551: if period -; libsrc/apple/sndseq.pla: 0552: if (period & $80) -; libsrc/apple/sndseq.pla: 0553: psgWrite(mbVIA1, MIXER, $1C) // NG on C, Tone on B, A -; libsrc/apple/sndseq.pla: 0554: psgWrite(mbVIA1, CENVAMP, $10) -; libsrc/apple/sndseq.pla: 0555: psgWrite(mbVIA1, ENVSHAPE, (note >> 4) & $04) -; libsrc/apple/sndseq.pla: 0556: psgWrite(mbVIA1, NGFREQ, (note >> 1) & $1F) -; libsrc/apple/sndseq.pla: 0557: psgWrite(mbVIA1, ENVPERIOD+1, period & $7F) -; libsrc/apple/sndseq.pla: 0558: 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: 0559: psgWrite(mbVIA2, MIXER, $1C) // NG on C, Tone on B, A -; libsrc/apple/sndseq.pla: 0560: psgWrite(mbVIA2, CENVAMP, $10) -; libsrc/apple/sndseq.pla: 0561: psgWrite(mbVIA2, ENVSHAPE, (note >> 4) & $04) -; libsrc/apple/sndseq.pla: 0562: psgWrite(mbVIA2, NGFREQ, (note >> 1) & $1F) -; libsrc/apple/sndseq.pla: 0563: psgWrite(mbVIA2, ENVPERIOD+1, period) -; libsrc/apple/sndseq.pla: 0564: 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: 0565: else - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -_B046 -; libsrc/apple/sndseq.pla: 0566: if seqRepeat -; libsrc/apple/sndseq.pla: 0567: // -; libsrc/apple/sndseq.pla: 0568: // Reset sequence -; libsrc/apple/sndseq.pla: 0569: // -; libsrc/apple/sndseq.pla: 0570: musicPlay(seqTrack, TRUE) -; libsrc/apple/sndseq.pla: 0571: seqTime = -1 // Offset seqTime++ later -; libsrc/apple/sndseq.pla: 0572: 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: 0573: musicStop -; libsrc/apple/sndseq.pla: 0574: fin - !BYTE $54 ; CALL _P001 -_F103 !WORD _P001 -_B052 -; libsrc/apple/sndseq.pla: 0575: quit = TRUE // Exit out -; libsrc/apple/sndseq.pla: 0576: break - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B028 - !WORD _B028-* -; libsrc/apple/sndseq.pla: 0577: fin -_B047 -; libsrc/apple/sndseq.pla: 0578: fin -_B031 -; libsrc/apple/sndseq.pla: 0579: // -; libsrc/apple/sndseq.pla: 0580: // Next event -; libsrc/apple/sndseq.pla: 0581: // -; libsrc/apple/sndseq.pla: 0582: seqEvent = seqEvent + t_event -; libsrc/apple/sndseq.pla: 0583: eventTime = seqEvent->deltatime + eventTime -; libsrc/apple/sndseq.pla: 0584: 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: 0585: if updateTime <= seqTime -; libsrc/apple/sndseq.pla: 0586: // -; libsrc/apple/sndseq.pla: 0587: // Time slice active note tables (arpeggio) -; libsrc/apple/sndseq.pla: 0588: // -; libsrc/apple/sndseq.pla: 0589: 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: 0590: // -; libsrc/apple/sndseq.pla: 0591: // Multiplex oscillator A -; libsrc/apple/sndseq.pla: 0592: // -; libsrc/apple/sndseq.pla: 0593: i = indexA[channel] -; libsrc/apple/sndseq.pla: 0594: 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: 0595: i = (i + 3) % MAX_MBCH_NOTES -; libsrc/apple/sndseq.pla: 0596: n = notes[channel, i] -; libsrc/apple/sndseq.pla: 0597: if n // Non-zero volume -; libsrc/apple/sndseq.pla: 0598: 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: 0599: fin -_B061 -_B062 -; libsrc/apple/sndseq.pla: 0600: 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: 0601: if n.LSB <> noteA[channel] -; libsrc/apple/sndseq.pla: 0602: psgWriteTone(mbVIAs[channel], AFREQ, periods[channel, i], n.MSB) -; libsrc/apple/sndseq.pla: 0603: noteA[channel] = n.LSB -; libsrc/apple/sndseq.pla: 0604: indexA[channel] = i -; libsrc/apple/sndseq.pla: 0605: 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: 0606: // -; libsrc/apple/sndseq.pla: 0607: // Multiplex oscillator B -; libsrc/apple/sndseq.pla: 0608: // -; libsrc/apple/sndseq.pla: 0609: i = indexB[channel] -; libsrc/apple/sndseq.pla: 0610: 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: 0611: i = (i + 3) % MAX_MBCH_NOTES -; libsrc/apple/sndseq.pla: 0612: n = notes[channel, i] -; libsrc/apple/sndseq.pla: 0613: if n // Non-zero volume -; libsrc/apple/sndseq.pla: 0614: 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: 0615: fin -_B068 -_B069 -; libsrc/apple/sndseq.pla: 0616: 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: 0617: if n.LSB <> noteB[channel] -; libsrc/apple/sndseq.pla: 0618: psgWriteTone(mbVIAs[channel], BFREQ, periods[channel, i], n.MSB) -; libsrc/apple/sndseq.pla: 0619: noteB[channel] = n.LSB -; libsrc/apple/sndseq.pla: 0620: indexB[channel] = i -; libsrc/apple/sndseq.pla: 0621: 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: 0622: // -; libsrc/apple/sndseq.pla: 0623: // Multiplex oscillator C -; libsrc/apple/sndseq.pla: 0624: // -; libsrc/apple/sndseq.pla: 0625: i = indexC[channel] -; libsrc/apple/sndseq.pla: 0626: 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: 0627: i = (i + 3) % MAX_MBCH_NOTES -; libsrc/apple/sndseq.pla: 0628: n = notes[channel, i] -; libsrc/apple/sndseq.pla: 0629: if n // Non-zero volume -; libsrc/apple/sndseq.pla: 0630: 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: 0631: fin -_B075 -_B076 -; libsrc/apple/sndseq.pla: 0632: 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: 0633: if n.LSB <> noteC[channel] -; libsrc/apple/sndseq.pla: 0634: psgWrite(mbVIAs[channel], MIXER, $38) // Tone on C, B, A -; libsrc/apple/sndseq.pla: 0635: psgWriteTone(mbVIAs[channel], CFREQ, periods[channel, i], n.MSB) -; libsrc/apple/sndseq.pla: 0636: noteC[channel] = n.LSB -; libsrc/apple/sndseq.pla: 0637: indexC[channel] = i -; libsrc/apple/sndseq.pla: 0638: 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: 0639: next -_B057 - !BYTE $A4 ; INCBRLE _B056 - !WORD _B056-* -_B055 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0640: updateTime = seqTime + MB_ARPEGGIO - (numNotes >> 2) -; libsrc/apple/sndseq.pla: 0641: 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: 0642: // -; libsrc/apple/sndseq.pla: 0643: // Increment time tick -; libsrc/apple/sndseq.pla: 0644: // -; libsrc/apple/sndseq.pla: 0645: seqTime++ - !BYTE $6A ; LAW _D046+0 -_F144 !WORD _D046+0 - !BYTE $8C ; INCR -; libsrc/apple/sndseq.pla: 0646: 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: 0647: if a2keypressed(); quit = TRUE; break; fin - !BYTE $54 ; CALL _A011 -_F146 !WORD _A011 - !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: 0648: 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: 0649: mbVIA1->IFR = $40 // Clear interrupt -; libsrc/apple/sndseq.pla: 0650: 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: 0651: until quit -_B026 - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* -_B024 -; libsrc/apple/sndseq.pla: 0652: psgWrite(mbVIA1, MIXER, $FF) // Turn everything off -; libsrc/apple/sndseq.pla: 0653: psgWrite(mbVIA1, AENVAMP, $00) -; libsrc/apple/sndseq.pla: 0654: psgWrite(mbVIA1, BENVAMP, $00) -; libsrc/apple/sndseq.pla: 0655: psgWrite(mbVIA1, CENVAMP, $00) -; libsrc/apple/sndseq.pla: 0656: if mbVIA2 -; libsrc/apple/sndseq.pla: 0657: psgWrite(mbVIA2, MIXER, $FF) -; libsrc/apple/sndseq.pla: 0658: psgWrite(mbVIA2, AENVAMP, $00) -; libsrc/apple/sndseq.pla: 0659: psgWrite(mbVIA2, BENVAMP, $00) -; libsrc/apple/sndseq.pla: 0660: psgWrite(mbVIA2, CENVAMP, $00) -; libsrc/apple/sndseq.pla: 0661: 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: 0662: //mbVIA1->ACR = $00 // Stop T1 countdown -; libsrc/apple/sndseq.pla: 0663: mbVIA1->IER = $7F // Mask all interrupts -; libsrc/apple/sndseq.pla: 0664: mbVIA1->IFR = $40 // Clear interrupt -; libsrc/apple/sndseq.pla: 0665: setStatusReg(status) -; libsrc/apple/sndseq.pla: 0666: 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: 0667: // -; libsrc/apple/sndseq.pla: 0668: // Sequence notes through Apple II speaker -; libsrc/apple/sndseq.pla: 0669: // -; libsrc/apple/sndseq.pla: 0670: def spkrSequence(yield, func)#0 - ; yield -> [0] - ; func -> [2] -_P002 ; spkrSequence(yield, func)#0() -_C007 ; spkrSequence() -; libsrc/apple/sndseq.pla: 0671: word period, duration, yieldTime - ; period -> [4] - ; duration -> [6] - ; yieldTime -> [8] -; libsrc/apple/sndseq.pla: 0672: byte note, i, n, overflow - ; note -> [10] - ; i -> [11] - ; n -> [12] - ; overflow -> [13] -; libsrc/apple/sndseq.pla: 0673: -; libsrc/apple/sndseq.pla: 0674: // -; libsrc/apple/sndseq.pla: 0675: // Start sequencing -; libsrc/apple/sndseq.pla: 0676: // -; libsrc/apple/sndseq.pla: 0677: overflow = 0 - !BYTE $58,$0E,$02 ; ENTER 14,2 -; libsrc/apple/sndseq.pla: 0678: if yield and func -; libsrc/apple/sndseq.pla: 0679: yieldTime = seqTime + yield -; libsrc/apple/sndseq.pla: 0680: 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: 0681: yieldTime = $7FFF -; libsrc/apple/sndseq.pla: 0682: fin - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $76,$08 ; SLW [8] -_B090 -; libsrc/apple/sndseq.pla: 0683: updateTime = seqTime -; libsrc/apple/sndseq.pla: 0684: repeat - !BYTE $6A ; LAW _D046+0 -_F172 !WORD _D046+0 - !BYTE $7A ; SAW _D048+0 -_F173 !WORD _D048+0 -_B092 -; libsrc/apple/sndseq.pla: 0685: while eventTime == seqTime - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -_B094 -; libsrc/apple/sndseq.pla: 0686: note = seqEvent->percnote -; libsrc/apple/sndseq.pla: 0687: if note & $80 -; libsrc/apple/sndseq.pla: 0688: // -; libsrc/apple/sndseq.pla: 0689: // Note event -; libsrc/apple/sndseq.pla: 0690: // -; libsrc/apple/sndseq.pla: 0691: if seqEvent->perchanvol & $0F -; libsrc/apple/sndseq.pla: 0692: // -; libsrc/apple/sndseq.pla: 0693: // Note on -; libsrc/apple/sndseq.pla: 0694: // -; libsrc/apple/sndseq.pla: 0695: 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: 0696: // -; libsrc/apple/sndseq.pla: 0697: // Look for available slot in active note table -; libsrc/apple/sndseq.pla: 0698: // -; libsrc/apple/sndseq.pla: 0699: if !notes1[i] or note == notes1[i] -; libsrc/apple/sndseq.pla: 0700: 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: 0701: fin -_B105 -_B106 -; libsrc/apple/sndseq.pla: 0702: next -_B103 - !BYTE $A4 ; INCBRLE _B102 - !WORD _B102-* -_B101 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0703: if i == MAX_SPKR_NOTES -; libsrc/apple/sndseq.pla: 0704: // -; libsrc/apple/sndseq.pla: 0705: // Full note table, kick one out -; libsrc/apple/sndseq.pla: 0706: // -; libsrc/apple/sndseq.pla: 0707: overflow = (overflow + 1) & (MAX_SPKR_NOTES-1) -; libsrc/apple/sndseq.pla: 0708: i = overflow -; libsrc/apple/sndseq.pla: 0709: 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: 0710: // -; libsrc/apple/sndseq.pla: 0711: // Add new note -; libsrc/apple/sndseq.pla: 0712: // -; libsrc/apple/sndseq.pla: 0713: 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: 0714: fin - !BYTE $78 ; SAB _D049+0 -_F180 !WORD _D049+0 -_B109 -_B108 -; libsrc/apple/sndseq.pla: 0715: notes1[i] = note -; libsrc/apple/sndseq.pla: 0716: periods1[i] = spkrOctave0[note & $0F] >> ((note >> 4) & $07) -; libsrc/apple/sndseq.pla: 0717: 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: 0718: // -; libsrc/apple/sndseq.pla: 0719: // Note off -; libsrc/apple/sndseq.pla: 0720: // -; libsrc/apple/sndseq.pla: 0721: 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: 0722: // -; libsrc/apple/sndseq.pla: 0723: // Remove from active note table -; libsrc/apple/sndseq.pla: 0724: // -; libsrc/apple/sndseq.pla: 0725: if notes1[i] == note -; libsrc/apple/sndseq.pla: 0726: notes1[i] = 0 -; libsrc/apple/sndseq.pla: 0727: 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: 0728: break - !BYTE $78 ; SAB _D049+0 -_F187 !WORD _D049+0 - !BYTE $50 ; BRNCH _B110 - !WORD _B110-* -; libsrc/apple/sndseq.pla: 0729: fin -_B113 -_B114 -; libsrc/apple/sndseq.pla: 0730: next -_B112 - !BYTE $A4 ; INCBRLE _B111 - !WORD _B111-* -_B110 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0731: fin -_B100 -; libsrc/apple/sndseq.pla: 0732: else - !BYTE $50 ; BRNCH _B098 - !WORD _B098-* -_B097 -; libsrc/apple/sndseq.pla: 0733: // -; libsrc/apple/sndseq.pla: 0734: // Percussion event -; libsrc/apple/sndseq.pla: 0735: // -; libsrc/apple/sndseq.pla: 0736: if seqEvent->perchanvol -; libsrc/apple/sndseq.pla: 0737: //spkrPWM($D000, 0, 64) // Play some random sample as percussion -; libsrc/apple/sndseq.pla: 0738: 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: 0739: if seqRepeat -; libsrc/apple/sndseq.pla: 0740: musicPlay(seqTrack, TRUE) -; libsrc/apple/sndseq.pla: 0741: 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: 0742: musicStop -; libsrc/apple/sndseq.pla: 0743: fin - !BYTE $54 ; CALL _P001 -_F192 !WORD _P001 -_B118 -; libsrc/apple/sndseq.pla: 0744: return - !BYTE $5A,$0E ; LEAVE 14 -; libsrc/apple/sndseq.pla: 0745: fin -_B116 -; libsrc/apple/sndseq.pla: 0746: fin -_B098 -; libsrc/apple/sndseq.pla: 0747: // -; libsrc/apple/sndseq.pla: 0748: // Next event -; libsrc/apple/sndseq.pla: 0749: // -; libsrc/apple/sndseq.pla: 0750: seqEvent = seqEvent + t_event -; libsrc/apple/sndseq.pla: 0751: eventTime = eventTime + seqEvent->deltatime -; libsrc/apple/sndseq.pla: 0752: 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: 0753: if numNotes > 1 -; libsrc/apple/sndseq.pla: 0754: 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: 0755: if notes1[i] -; libsrc/apple/sndseq.pla: 0756: spkrTone(periods1[i], arpeggioDuration[numNotes])#0 -; libsrc/apple/sndseq.pla: 0757: 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: 0758: next -_B123 - !BYTE $A4 ; INCBRLE _B122 - !WORD _B122-* -_B121 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0759: seqTime++ - !BYTE $6A ; LAW _D046+0 -_F206 !WORD _D046+0 - !BYTE $8C ; INCR -; libsrc/apple/sndseq.pla: 0760: else - !BYTE $7A ; SAW _D046+0 -_F207 !WORD _D046+0 - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -_B119 -; libsrc/apple/sndseq.pla: 0761: period = 0 -; libsrc/apple/sndseq.pla: 0762: 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: 0763: if notes1[i] -; libsrc/apple/sndseq.pla: 0764: period = periods1[i] -; libsrc/apple/sndseq.pla: 0765: 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: 0766: fin -_B129 -_B130 -; libsrc/apple/sndseq.pla: 0767: next -_B128 - !BYTE $A4 ; INCBRLE _B127 - !WORD _B127-* -_B126 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0768: duration = eventTime - seqTime -; libsrc/apple/sndseq.pla: 0769: seqTime = duration + seqTime -; libsrc/apple/sndseq.pla: 0770: spkrTone(period, DUR16TH * duration)#0 -; libsrc/apple/sndseq.pla: 0771: 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: 0772: if keypressed(); return; fin - !BYTE $6A ; LAW _D042+0 -_F215 !WORD _D042+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B131 - !WORD _B131-* - !BYTE $5A,$0E ; LEAVE 14 -_B131 -_B132 -; libsrc/apple/sndseq.pla: 0773: if yieldTime <= seqTime; func()#0; yieldTime = seqTime + yield; fin - !BYTE $66,$08 ; LLW [8] - !BYTE $6A ; LAW _D046+0 -_F216 !WORD _D046+0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B133 - !WORD _B133-* - !BYTE $66,$02 ; LLW [2] - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _D046+0 -_F217 !WORD _D046+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $76,$08 ; SLW [8] -_B133 -_B134 -; libsrc/apple/sndseq.pla: 0774: until FALSE -_B093 - !BYTE $50 ; BRNCH _B092 - !WORD _B092-* -_B091 -; libsrc/apple/sndseq.pla: 0775: end - !BYTE $5A,$0E ; LEAVE 14 -; libsrc/apple/sndseq.pla: 0776: // -; libsrc/apple/sndseq.pla: 0777: // No sequence, just waste time and yield -; libsrc/apple/sndseq.pla: 0778: // -; libsrc/apple/sndseq.pla: 0779: def noSequence(yield, func)#0 - ; yield -> [0] - ; func -> [2] -_C008 ; noSequence() -; libsrc/apple/sndseq.pla: 0780: // -; libsrc/apple/sndseq.pla: 0781: // Start wasting time -; libsrc/apple/sndseq.pla: 0782: // -; libsrc/apple/sndseq.pla: 0783: if !yield or !func - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/sndseq.pla: 0784: yield = 0 -; libsrc/apple/sndseq.pla: 0785: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B135 - !WORD _B135-* - !BYTE $66,$02 ; LLW [2] - !BYTE $80 ; NOT -_B135 - !BYTE $4C ; BRFLS _B136 - !WORD _B136-* - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B136 -_B137 -; libsrc/apple/sndseq.pla: 0786: seqTime = 0 -; libsrc/apple/sndseq.pla: 0787: repeat - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D046+0 -_F218 !WORD _D046+0 -_B139 -; libsrc/apple/sndseq.pla: 0788: seqTime++ - !BYTE $6A ; LAW _D046+0 -_F219 !WORD _D046+0 - !BYTE $8C ; INCR -; libsrc/apple/sndseq.pla: 0789: 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 _B141 - !WORD _B141-* - !BYTE $02 ; CN 1 - !BYTE $7A ; SAW _D046+0 -_F221 !WORD _D046+0 -_B141 -_B142 -; libsrc/apple/sndseq.pla: 0790: spkrTone(0, DUR16TH) // Waste 16th of a second playing silence -; libsrc/apple/sndseq.pla: 0791: 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 _B143 - !WORD _B143-* - !BYTE $5A,$04 ; LEAVE 4 -_B143 -_B144 -; libsrc/apple/sndseq.pla: 0792: 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 _B145 - !WORD _B145-* - !BYTE $66,$02 ; LLW [2] - !BYTE $56 ; ICAL - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D046+0 -_F225 !WORD _D046+0 -_B145 -_B146 -; libsrc/apple/sndseq.pla: 0793: until FALSE -_B140 - !BYTE $50 ; BRNCH _B139 - !WORD _B139-* -_B138 -; libsrc/apple/sndseq.pla: 0794: end - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/sndseq.pla: 0795: // -; libsrc/apple/sndseq.pla: 0796: // Start sequencing music track -; libsrc/apple/sndseq.pla: 0797: // -; libsrc/apple/sndseq.pla: 0798: export def musicPlay(track, rept)#0 - ; track -> [0] - ; rept -> [2] -_P000 ; musicPlay(track, rept)#0() -_C009 ; musicPlay() -; libsrc/apple/sndseq.pla: 0799: byte i - ; i -> [4] -; libsrc/apple/sndseq.pla: 0800: -; libsrc/apple/sndseq.pla: 0801: // -; libsrc/apple/sndseq.pla: 0802: // Select proper sequencer based on hardware -; libsrc/apple/sndseq.pla: 0803: // -; libsrc/apple/sndseq.pla: 0804: if mbSlot > 0 - !BYTE $58,$05,$02 ; ENTER 5,2 -; libsrc/apple/sndseq.pla: 0805: musicSequence = @mbSequence -; libsrc/apple/sndseq.pla: 0806: else - !BYTE $6A ; LAW _D066+0 -_F226 !WORD _D066+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B147 - !WORD _B147-* - !BYTE $26 ; LA _C006+0 -_F227 !WORD _C006+0 - !BYTE $7A ; SAW _D039+0 -_F228 !WORD _D039+0 - !BYTE $50 ; BRNCH _B148 - !WORD _B148-* -_B147 -; libsrc/apple/sndseq.pla: 0807: musicSequence = @spkrSequence -; libsrc/apple/sndseq.pla: 0808: fin - !BYTE $26 ; LA _C007+0 -_F229 !WORD _C007+0 - !BYTE $7A ; SAW _D039+0 -_F230 !WORD _D039+0 -_B148 -; libsrc/apple/sndseq.pla: 0809: // -; libsrc/apple/sndseq.pla: 0810: // Zero out active notes -; libsrc/apple/sndseq.pla: 0811: // -; libsrc/apple/sndseq.pla: 0812: for i = 0 to MAX_MBCH_NOTES-1; notes1[i] = 0; notes2[i] = 0; next - !BYTE $10 ; CN 8 - !BYTE $00 ; CN 0 -_B150 - !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 -_B151 - !BYTE $A4 ; INCBRLE _B150 - !WORD _B150-* -_B149 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0813: for i = 0 to MAX_MBCH_NOTES-1; periods1[i] = 0; periods2[i] = 0; next - !BYTE $10 ; CN 8 - !BYTE $00 ; CN 0 -_B153 - !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 -_B154 - !BYTE $A4 ; INCBRLE _B153 - !WORD _B153-* -_B152 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0814: // -; libsrc/apple/sndseq.pla: 0815: // Start sequencing -; libsrc/apple/sndseq.pla: 0816: // -; libsrc/apple/sndseq.pla: 0817: seqRepeat = rept -; libsrc/apple/sndseq.pla: 0818: seqTrack = track -; libsrc/apple/sndseq.pla: 0819: seqEvent = seqTrack -; libsrc/apple/sndseq.pla: 0820: seqTime = 0 -; libsrc/apple/sndseq.pla: 0821: eventTime = seqEvent->deltatime -; libsrc/apple/sndseq.pla: 0822: numNotes = 0 -; libsrc/apple/sndseq.pla: 0823: 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: 0824: // -; libsrc/apple/sndseq.pla: 0825: // Stop sequencing music track -; libsrc/apple/sndseq.pla: 0826: // -; libsrc/apple/sndseq.pla: 0827: export def musicStop#0 -_P001 ; musicStop#0() -_C010 ; musicStop() -; libsrc/apple/sndseq.pla: 0828: musicSequence = @noSequence -; libsrc/apple/sndseq.pla: 0829: 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: 0830: // -; libsrc/apple/sndseq.pla: 0831: // Play until keystroke -; libsrc/apple/sndseq.pla: 0832: // -; libsrc/apple/sndseq.pla: 0833: export def musicGetKey(yield, backgroundProc)#1 - ; yield -> [0] - ; backgroundProc -> [2] -_C011 ; musicGetKey() -; libsrc/apple/sndseq.pla: 0834: while not keypressed() - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B157 - !WORD _B157-* -_B155 -; libsrc/apple/sndseq.pla: 0835: musicSequence(yield, backgroundProc)#0 // Call background proc every half second -; libsrc/apple/sndseq.pla: 0836: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D039+0 -_F244 !WORD _D039+0 - !BYTE $56 ; ICAL -_B157 - !BYTE $6A ; LAW _D042+0 -_F245 !WORD _D042+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B155 - !WORD _B155-* -_B156 -; libsrc/apple/sndseq.pla: 0837: return getc - !BYTE $54 ; CALL _X006 -_F246 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/sndseq.pla: 0838: end -; libsrc/apple/sndseq.pla: 0839: -; libsrc/apple/sndseq.pla: 0840: when MACHID & MACHID_MODEL -_INIT - !BYTE $68 ; LAB _X001+0 -_F247 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B159-* -; libsrc/apple/sndseq.pla: 0841: is MACHID_III -_B160 -; libsrc/apple/sndseq.pla: 0842: spkrTone = @a3spkrTone -; libsrc/apple/sndseq.pla: 0843: spkrPWM = @a3spkrPWM -; libsrc/apple/sndseq.pla: 0844: keypressed = @a3keypressed -; libsrc/apple/sndseq.pla: 0845: break - !BYTE $26 ; LA _C001+0 -_F248 !WORD _C001+0 - !BYTE $7A ; SAW _D040+0 -_F249 !WORD _D040+0 - !BYTE $26 ; LA _C002+0 -_F250 !WORD _C002+0 - !BYTE $7A ; SAW _D041+0 -_F251 !WORD _D041+0 - !BYTE $26 ; LA _C000+0 -_F252 !WORD _C000+0 - !BYTE $7A ; SAW _D042+0 -_F253 !WORD _D042+0 - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -; libsrc/apple/sndseq.pla: 0846: is MACHID_I -_B161 -; libsrc/apple/sndseq.pla: 0847: 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 -_F254 !WORD 0 -; libsrc/apple/sndseq.pla: 0848: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/sndseq.pla: 0849: break - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -; libsrc/apple/sndseq.pla: 0850: otherwise -_B159 - !BYTE $02 ; CASEBLOCK - !WORD $0008 - !WORD _B161-* - !WORD $00C0 - !WORD _B160-* -; libsrc/apple/sndseq.pla: 0851: //puts("MockingBoard Slot:\n") -; libsrc/apple/sndseq.pla: 0852: //puts("ENTER = None\n") -; libsrc/apple/sndseq.pla: 0853: //puts("0 = Scan\n") -; libsrc/apple/sndseq.pla: 0854: //puts("1-7 = Slot #\n") -; libsrc/apple/sndseq.pla: 0855: //instr = gets('>'|$80) -; libsrc/apple/sndseq.pla: 0856: //if ^instr -; libsrc/apple/sndseq.pla: 0857: // mbSlot = mbSearch(^(instr + 1) - '0') -; libsrc/apple/sndseq.pla: 0858: //fin -; libsrc/apple/sndseq.pla: 0859: mbSlot = mbSearch(0) -; libsrc/apple/sndseq.pla: 0860: break - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C004 -_F255 !WORD _C004 - !BYTE $7A ; SAW _D066+0 -_F256 !WORD _D066+0 - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -; libsrc/apple/sndseq.pla: 0861: wend -_B158 -; libsrc/apple/sndseq.pla: 0862: if mbSlot < 0 -; libsrc/apple/sndseq.pla: 0863: // -; libsrc/apple/sndseq.pla: 0864: // No MockingBoard - scale octave0 for speaker -; libsrc/apple/sndseq.pla: 0865: // -; libsrc/apple/sndseq.pla: 0866: for instr = 0 to 11 - !BYTE $6A ; LAW _D066+0 -_F257 !WORD _D066+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B162 - !WORD _B162-* - !BYTE $16 ; CN 11 - !BYTE $00 ; CN 0 -_B165 - !BYTE $7E ; DAW _D043+0 -_F258 !WORD _D043+0 -; libsrc/apple/sndseq.pla: 0867: spkrOctave0[instr] = mbOctave0[instr]/NOTEDIV -; libsrc/apple/sndseq.pla: 0868: next - !BYTE $26 ; LA _D068+0 -_F259 !WORD _D068+0 - !BYTE $BE ; IDXAW _D043+0 -_F260 !WORD _D043+0 - !BYTE $62 ; LW - !BYTE $04 ; CN 2 - !BYTE $9C ; SHR - !BYTE $26 ; LA _D067+0 -_F261 !WORD _D067+0 - !BYTE $BE ; IDXAW _D043+0 -_F262 !WORD _D043+0 - !BYTE $72 ; SW -_B166 - !BYTE $A4 ; INCBRLE _B165 - !WORD _B165-* -_B164 - !BYTE $7A ; SAW _D043+0 -_F263 !WORD _D043+0 - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0869: fin -_B162 -_B163 -; libsrc/apple/sndseq.pla: 0870: -; libsrc/apple/sndseq.pla: 0871: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_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 $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 $91 ; EXTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !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 $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: 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: SPKRTONE - !BYTE $D3,$D0,$CB,$D2,$D4,$CF,$CE,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D040 - ; DCI STRING: SPKRPWM - !BYTE $D3,$D0,$CB,$D2,$D0,$D7,$4D - !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 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/spiport.a b/src/libsrc/apple/spiport.a deleted file mode 100644 index 5c7c485..0000000 --- a/src/libsrc/apple/spiport.a +++ /dev/null @@ -1,1369 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: -; libsrc/apple/spiport.pla: 0009: word spiReadWriteByte, spiWriteBytes, spiReadBytes -_D028 !FILL 2 ; spiReadWriteByte, spiWriteBytes, spiReadBytes -_D029 !FILL 2 ; spiWriteBytes, spiReadBytes -_D030 !FILL 2 ; spiReadBytes -; libsrc/apple/spiport.pla: 0010: -; libsrc/apple/spiport.pla: 0011: asm spiInc -_A000 ; spiInc() -; libsrc/apple/spiport.pla: 0012: !SOURCE "vmsrc/plvmzp.inc" -!SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/spiport.pla: 0013: !CPU 65C02 -!CPU 65C02 -; libsrc/apple/spiport.pla: 0014: end -; libsrc/apple/spiport.pla: 0015: -; libsrc/apple/spiport.pla: 0016: asm spiXferByteStd(outbyte) -_A001 ; spiXferByteStd() -; libsrc/apple/spiport.pla: 0017: PHP ; DISABLE INTS - PHP ; DISABLE INTS -; libsrc/apple/spiport.pla: 0018: SEI - SEI -; libsrc/apple/spiport.pla: 0019: STA $C05A ; ENABLE SLAVE - STA $C05A ; ENABLE SLAVE -; libsrc/apple/spiport.pla: 0020: LDY #0 ; ASSUME MSB IS ZERO - LDY #0 ; ASSUME MSB IS ZERO -; libsrc/apple/spiport.pla: 0021: LDA ESTKL,X ; GET ARGUMENT - LDA ESTKL,X ; GET ARGUMENT -; libsrc/apple/spiport.pla: 0022: BPL + ; CHECK MSB - BPL + ; CHECK MSB -; libsrc/apple/spiport.pla: 0023: INY ; IT'S A ONE - INY ; IT'S A ONE -; libsrc/apple/spiport.pla: 0024: + STA $C058,Y ; WRITE BIT 7 -+ STA $C058,Y ; WRITE BIT 7 -; libsrc/apple/spiport.pla: 0025: STA $C040 ; CLOCK - STA $C040 ; CLOCK -; libsrc/apple/spiport.pla: 0026: 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: 0027: ASL $C061 ; READ BIT 7 INTO CARRY - ASL $C061 ; READ BIT 7 INTO CARRY -; libsrc/apple/spiport.pla: 0028: ROL ; ROTATE INTO ACC - ROL ; ROTATE INTO ACC -; libsrc/apple/spiport.pla: 0029: BPL + ; REPEAT FOR ALL BITS - BPL + ; REPEAT FOR ALL BITS -; libsrc/apple/spiport.pla: 0030: INY - INY -; libsrc/apple/spiport.pla: 0031: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0032: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0033: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0034: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0035: ROL - ROL -; libsrc/apple/spiport.pla: 0036: BPL + - BPL + -; libsrc/apple/spiport.pla: 0037: INY - INY -; libsrc/apple/spiport.pla: 0038: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0039: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0040: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0041: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0042: ROL - ROL -; libsrc/apple/spiport.pla: 0043: BPL + - BPL + -; libsrc/apple/spiport.pla: 0044: INY - INY -; libsrc/apple/spiport.pla: 0045: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0046: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0047: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0048: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0049: ROL - ROL -; libsrc/apple/spiport.pla: 0050: BPL + - BPL + -; libsrc/apple/spiport.pla: 0051: INY - INY -; libsrc/apple/spiport.pla: 0052: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0053: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0054: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0055: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0056: ROL - ROL -; libsrc/apple/spiport.pla: 0057: BPL + - BPL + -; libsrc/apple/spiport.pla: 0058: INY - INY -; libsrc/apple/spiport.pla: 0059: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0060: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0061: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0062: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0063: ROL - ROL -; libsrc/apple/spiport.pla: 0064: BPL + - BPL + -; libsrc/apple/spiport.pla: 0065: INY - INY -; libsrc/apple/spiport.pla: 0066: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0067: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0068: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0069: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0070: ROL - ROL -; libsrc/apple/spiport.pla: 0071: BPL + - BPL + -; libsrc/apple/spiport.pla: 0072: INY - INY -; libsrc/apple/spiport.pla: 0073: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0074: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0075: NOP - NOP -; libsrc/apple/spiport.pla: 0076: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0077: STA $C05B ; DISABLE SLAVE - STA $C05B ; DISABLE SLAVE -; libsrc/apple/spiport.pla: 0078: ROL - ROL -; libsrc/apple/spiport.pla: 0079: STA ESTKL,X ; SAVE RETURN PARAMETER - STA ESTKL,X ; SAVE RETURN PARAMETER -; libsrc/apple/spiport.pla: 0080: PLP - PLP -; libsrc/apple/spiport.pla: 0081: RTS - RTS -; libsrc/apple/spiport.pla: 0082: end -; libsrc/apple/spiport.pla: 0083: -; libsrc/apple/spiport.pla: 0084: asm spiXferByteGS(outbyte) -_A002 ; spiXferByteGS() -; libsrc/apple/spiport.pla: 0085: PHP ; DISABLE INTS - PHP ; DISABLE INTS -; libsrc/apple/spiport.pla: 0086: SEI - SEI -; libsrc/apple/spiport.pla: 0087: LDA $C036 ; SET 1 MHZ - LDA $C036 ; SET 1 MHZ -; libsrc/apple/spiport.pla: 0088: PHA - PHA -; libsrc/apple/spiport.pla: 0089: AND #$7F - AND #$7F -; libsrc/apple/spiport.pla: 0090: STA $C036 - STA $C036 -; libsrc/apple/spiport.pla: 0091: STA $C05A ; ENABLE SLAVE - STA $C05A ; ENABLE SLAVE -; libsrc/apple/spiport.pla: 0092: LDY #0 ; ASSUME MSB IS ZERO - LDY #0 ; ASSUME MSB IS ZERO -; libsrc/apple/spiport.pla: 0093: LDA ESTKL,X ; GET ARGUMENT - LDA ESTKL,X ; GET ARGUMENT -; libsrc/apple/spiport.pla: 0094: BPL + ; CHECK MSB - BPL + ; CHECK MSB -; libsrc/apple/spiport.pla: 0095: INY ; IT'S A ONE - INY ; IT'S A ONE -; libsrc/apple/spiport.pla: 0096: + STA $C058,Y ; WRITE BIT 7 -+ STA $C058,Y ; WRITE BIT 7 -; libsrc/apple/spiport.pla: 0097: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0098: 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: 0099: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0100: ASL $C061 ; READ BIT 7 INTO CARRY - ASL $C061 ; READ BIT 7 INTO CARRY -; libsrc/apple/spiport.pla: 0101: ROL ; ROTATE INTO ACC - ROL ; ROTATE INTO ACC -; libsrc/apple/spiport.pla: 0102: BPL + ; REPEAT FOR ALL BITS - BPL + ; REPEAT FOR ALL BITS -; libsrc/apple/spiport.pla: 0103: INY - INY -; libsrc/apple/spiport.pla: 0104: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0105: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0106: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0107: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0108: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0109: ROL - ROL -; libsrc/apple/spiport.pla: 0110: BPL + - BPL + -; libsrc/apple/spiport.pla: 0111: INY - INY -; libsrc/apple/spiport.pla: 0112: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0113: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0114: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0115: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0116: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0117: ROL - ROL -; libsrc/apple/spiport.pla: 0118: BPL + - BPL + -; libsrc/apple/spiport.pla: 0119: INY - INY -; libsrc/apple/spiport.pla: 0120: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0121: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0122: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0123: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0124: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0125: ROL - ROL -; libsrc/apple/spiport.pla: 0126: BPL + - BPL + -; libsrc/apple/spiport.pla: 0127: INY - INY -; libsrc/apple/spiport.pla: 0128: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0129: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0130: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0131: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0132: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0133: ROL - ROL -; libsrc/apple/spiport.pla: 0134: BPL + - BPL + -; libsrc/apple/spiport.pla: 0135: INY - INY -; libsrc/apple/spiport.pla: 0136: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0137: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0138: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0139: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0140: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0141: ROL - ROL -; libsrc/apple/spiport.pla: 0142: BPL + - BPL + -; libsrc/apple/spiport.pla: 0143: INY - INY -; libsrc/apple/spiport.pla: 0144: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0145: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0146: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0147: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0148: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0149: ROL - ROL -; libsrc/apple/spiport.pla: 0150: BPL + - BPL + -; libsrc/apple/spiport.pla: 0151: INY - INY -; libsrc/apple/spiport.pla: 0152: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0153: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0154: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0155: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0156: STA $C05B ; DISABLE SLAVE - STA $C05B ; DISABLE SLAVE -; libsrc/apple/spiport.pla: 0157: ROL - ROL -; libsrc/apple/spiport.pla: 0158: STA ESTKL,X ; SAVE RETURN PARAMETER - STA ESTKL,X ; SAVE RETURN PARAMETER -; libsrc/apple/spiport.pla: 0159: PLA - PLA -; libsrc/apple/spiport.pla: 0160: STA $C036 - STA $C036 -; libsrc/apple/spiport.pla: 0161: PLP - PLP -; libsrc/apple/spiport.pla: 0162: RTS - RTS -; libsrc/apple/spiport.pla: 0163: end -; libsrc/apple/spiport.pla: 0164: asm spiReadBytesStd(buf, len) -_A003 ; spiReadBytesStd() -; libsrc/apple/spiport.pla: 0165: PHP ; DISABLE INTS - PHP ; DISABLE INTS -; libsrc/apple/spiport.pla: 0166: SEI - SEI -; libsrc/apple/spiport.pla: 0167: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/spiport.pla: 0168: STA DSTL - STA DSTL -; libsrc/apple/spiport.pla: 0169: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/spiport.pla: 0170: STA DSTH - STA DSTH -; libsrc/apple/spiport.pla: 0171: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/spiport.pla: 0172: BEQ + - BEQ + -; libsrc/apple/spiport.pla: 0173: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/spiport.pla: 0174: + LDY #$00 -+ LDY #$00 -; libsrc/apple/spiport.pla: 0175: - STA $C05A ; ENABLE SLAVE -- STA $C05A ; ENABLE SLAVE -; libsrc/apple/spiport.pla: 0176: STA $C040 ; CLOCK - STA $C040 ; CLOCK -; libsrc/apple/spiport.pla: 0177: NOP - NOP -; libsrc/apple/spiport.pla: 0178: ASL $C061 ; SHIFT IN ALL BITS STARTING WITH MSB - ASL $C061 ; SHIFT IN ALL BITS STARTING WITH MSB -; 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 $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0198: ROL - ROL -; libsrc/apple/spiport.pla: 0199: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0200: STA $C05B ; DISABLE SLAVE - STA $C05B ; DISABLE SLAVE -; libsrc/apple/spiport.pla: 0201: ROL - ROL -; libsrc/apple/spiport.pla: 0202: STA (DST),Y ; SAVE TO BUFFER - STA (DST),Y ; SAVE TO BUFFER -; libsrc/apple/spiport.pla: 0203: INY - INY -; libsrc/apple/spiport.pla: 0204: BNE + - BNE + -; libsrc/apple/spiport.pla: 0205: INC DSTH - INC DSTH -; libsrc/apple/spiport.pla: 0206: + DEC ESTKL,X -+ DEC ESTKL,X -; libsrc/apple/spiport.pla: 0207: BNE - - BNE - -; libsrc/apple/spiport.pla: 0208: DEC ESTKH,X - DEC ESTKH,X -; libsrc/apple/spiport.pla: 0209: BNE - - BNE - -; libsrc/apple/spiport.pla: 0210: INX ; REMOVE AN ARGUMENT - INX ; REMOVE AN ARGUMENT -; libsrc/apple/spiport.pla: 0211: PLP - PLP -; libsrc/apple/spiport.pla: 0212: RTS - RTS -; libsrc/apple/spiport.pla: 0213: end -; libsrc/apple/spiport.pla: 0214: -; libsrc/apple/spiport.pla: 0215: asm spiReadBytesGS(buf, len) -_A004 ; spiReadBytesGS() -; libsrc/apple/spiport.pla: 0216: PHP ; DISABLE INTS - PHP ; DISABLE INTS -; libsrc/apple/spiport.pla: 0217: SEI - SEI -; libsrc/apple/spiport.pla: 0218: LDA $C036 ; SET 1 MHZ - LDA $C036 ; SET 1 MHZ -; libsrc/apple/spiport.pla: 0219: PHA - PHA -; libsrc/apple/spiport.pla: 0220: AND #$7F - AND #$7F -; libsrc/apple/spiport.pla: 0221: STA $C036 - STA $C036 -; libsrc/apple/spiport.pla: 0222: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/spiport.pla: 0223: STA DSTL - STA DSTL -; libsrc/apple/spiport.pla: 0224: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/spiport.pla: 0225: STA DSTH - STA DSTH -; libsrc/apple/spiport.pla: 0226: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/spiport.pla: 0227: BEQ + - BEQ + -; libsrc/apple/spiport.pla: 0228: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/spiport.pla: 0229: + LDY #$00 -+ LDY #$00 -; libsrc/apple/spiport.pla: 0230: - STA $C05A ; ENABLE SLAVE -- STA $C05A ; ENABLE SLAVE -; 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 ; SHIFT IN ALL BITS STARTING WITH MSB - ASL $C061 ; SHIFT IN ALL BITS STARTING WITH MSB -; 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: ROL - ROL -; libsrc/apple/spiport.pla: 0259: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0260: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0261: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0262: STA $C05B ; DISABLE SLAVE - STA $C05B ; DISABLE SLAVE -; libsrc/apple/spiport.pla: 0263: ROL - ROL -; libsrc/apple/spiport.pla: 0264: STA (DST),Y ; SAVE TO BUFFER - STA (DST),Y ; SAVE TO BUFFER -; libsrc/apple/spiport.pla: 0265: INY - INY -; libsrc/apple/spiport.pla: 0266: BNE + - BNE + -; libsrc/apple/spiport.pla: 0267: INC DSTH - INC DSTH -; libsrc/apple/spiport.pla: 0268: + DEC ESTKL,X -+ DEC ESTKL,X -; libsrc/apple/spiport.pla: 0269: BNE - - BNE - -; libsrc/apple/spiport.pla: 0270: DEC ESTKH,X - DEC ESTKH,X -; libsrc/apple/spiport.pla: 0271: BNE - - BNE - -; libsrc/apple/spiport.pla: 0272: INX ; REMOVE AN ARGUMENT - INX ; REMOVE AN ARGUMENT -; libsrc/apple/spiport.pla: 0273: PLA - PLA -; libsrc/apple/spiport.pla: 0274: STA $C036 - STA $C036 -; libsrc/apple/spiport.pla: 0275: PLP - PLP -; libsrc/apple/spiport.pla: 0276: RTS - RTS -; libsrc/apple/spiport.pla: 0277: end -; libsrc/apple/spiport.pla: 0278: -; libsrc/apple/spiport.pla: 0279: asm spiWriteBytesStd(buf, len) -_A005 ; spiWriteBytesStd() -; libsrc/apple/spiport.pla: 0280: PHP ; DISABLE INTS - PHP ; DISABLE INTS -; libsrc/apple/spiport.pla: 0281: SEI - SEI -; libsrc/apple/spiport.pla: 0282: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/spiport.pla: 0283: STA SRCL - STA SRCL -; libsrc/apple/spiport.pla: 0284: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/spiport.pla: 0285: STA SRCH - STA SRCH -; libsrc/apple/spiport.pla: 0286: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/spiport.pla: 0287: BEQ + - BEQ + -; libsrc/apple/spiport.pla: 0288: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/spiport.pla: 0289: + -+ -; libsrc/apple/spiport.pla: 0290: - STA $C05A ; ENABLE SLAVE -- STA $C05A ; ENABLE SLAVE -; libsrc/apple/spiport.pla: 0291: LDY #0 ; ASSUME MSB IS ZERO - LDY #0 ; ASSUME MSB IS ZERO -; libsrc/apple/spiport.pla: 0292: LDA (SRC),Y ; GET BYTE - LDA (SRC),Y ; GET BYTE -; libsrc/apple/spiport.pla: 0293: BPL + ; CHECK MSB - BPL + ; CHECK MSB -; libsrc/apple/spiport.pla: 0294: INY ; IT'S A ONE - INY ; IT'S A ONE -; libsrc/apple/spiport.pla: 0295: + STA $C058,Y ; WRITE BIT 7 -+ STA $C058,Y ; WRITE BIT 7 -; libsrc/apple/spiport.pla: 0296: STA $C040 ; CLOCK - STA $C040 ; CLOCK -; libsrc/apple/spiport.pla: 0297: 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: 0298: ASL ; ROTATE NEXT BIT TO SEND - ASL ; ROTATE NEXT BIT TO SEND -; libsrc/apple/spiport.pla: 0299: BPL + ; REPEAT FOR ALL BITS - BPL + ; REPEAT FOR ALL BITS -; libsrc/apple/spiport.pla: 0300: INY - INY -; libsrc/apple/spiport.pla: 0301: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0302: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0303: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0304: ASL - ASL -; libsrc/apple/spiport.pla: 0305: BPL + - BPL + -; libsrc/apple/spiport.pla: 0306: INY - INY -; libsrc/apple/spiport.pla: 0307: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0308: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0309: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0310: ASL - ASL -; libsrc/apple/spiport.pla: 0311: BPL + - BPL + -; libsrc/apple/spiport.pla: 0312: INY - INY -; libsrc/apple/spiport.pla: 0313: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0314: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0315: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0316: ASL - ASL -; libsrc/apple/spiport.pla: 0317: BPL + - BPL + -; libsrc/apple/spiport.pla: 0318: INY - INY -; libsrc/apple/spiport.pla: 0319: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0320: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0321: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0322: ASL - ASL -; libsrc/apple/spiport.pla: 0323: BPL + - BPL + -; libsrc/apple/spiport.pla: 0324: INY - INY -; libsrc/apple/spiport.pla: 0325: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0326: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0327: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0328: ASL - ASL -; libsrc/apple/spiport.pla: 0329: BPL + - BPL + -; libsrc/apple/spiport.pla: 0330: INY - INY -; libsrc/apple/spiport.pla: 0331: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0332: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0333: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0334: ASL - ASL -; libsrc/apple/spiport.pla: 0335: BPL + - BPL + -; libsrc/apple/spiport.pla: 0336: INY - INY -; libsrc/apple/spiport.pla: 0337: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0338: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0339: STA $C05B ; DISABLE SLAVE - STA $C05B ; DISABLE SLAVE -; libsrc/apple/spiport.pla: 0340: INC SRCL - INC SRCL -; libsrc/apple/spiport.pla: 0341: BNE + - BNE + -; libsrc/apple/spiport.pla: 0342: INC SRCH - INC SRCH -; libsrc/apple/spiport.pla: 0343: + DEC ESTKL,X -+ DEC ESTKL,X -; libsrc/apple/spiport.pla: 0344: BNE - - BNE - -; libsrc/apple/spiport.pla: 0345: DEC ESTKH,X - DEC ESTKH,X -; libsrc/apple/spiport.pla: 0346: BNE - - BNE - -; libsrc/apple/spiport.pla: 0347: INX ; REMOVE AN ARGUMENT - INX ; REMOVE AN ARGUMENT -; libsrc/apple/spiport.pla: 0348: PLP - PLP -; libsrc/apple/spiport.pla: 0349: RTS - RTS -; libsrc/apple/spiport.pla: 0350: end -; libsrc/apple/spiport.pla: 0351: -; libsrc/apple/spiport.pla: 0352: asm spiWriteBytesGS(buf, len) -_A006 ; spiWriteBytesGS() -; libsrc/apple/spiport.pla: 0353: PHP ; DISABLE INTS - PHP ; DISABLE INTS -; libsrc/apple/spiport.pla: 0354: SEI - SEI -; libsrc/apple/spiport.pla: 0355: LDA $C036 ; SET 1 MHZ - LDA $C036 ; SET 1 MHZ -; libsrc/apple/spiport.pla: 0356: PHA - PHA -; libsrc/apple/spiport.pla: 0357: AND #$7F - AND #$7F -; libsrc/apple/spiport.pla: 0358: STA $C036 - STA $C036 -; libsrc/apple/spiport.pla: 0359: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/spiport.pla: 0360: STA SRCL - STA SRCL -; libsrc/apple/spiport.pla: 0361: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/spiport.pla: 0362: STA SRCH - STA SRCH -; libsrc/apple/spiport.pla: 0363: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/spiport.pla: 0364: BEQ + - BEQ + -; libsrc/apple/spiport.pla: 0365: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/spiport.pla: 0366: + -+ -; libsrc/apple/spiport.pla: 0367: -- STA $C05A ; ENABLE SLAVE --- STA $C05A ; ENABLE SLAVE -; libsrc/apple/spiport.pla: 0368: PHX - PHX -; libsrc/apple/spiport.pla: 0369: LDX #8 - LDX #8 -; libsrc/apple/spiport.pla: 0370: LDY #0 ; ASSUME MSB IS ZERO - LDY #0 ; ASSUME MSB IS ZERO -; libsrc/apple/spiport.pla: 0371: LDA (SRC),Y ; GET BYTE - LDA (SRC),Y ; GET BYTE -; libsrc/apple/spiport.pla: 0372: - ASL -- ASL -; libsrc/apple/spiport.pla: 0373: BCC + ; CHECK MSB - BCC + ; CHECK MSB -; libsrc/apple/spiport.pla: 0374: INY ; IT'S A ONE - INY ; IT'S A ONE -; libsrc/apple/spiport.pla: 0375: + STA $C058,Y ; WRITE BIT 7 -+ STA $C058,Y ; WRITE BIT 7 -; libsrc/apple/spiport.pla: 0376: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0377: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0378: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0379: DEX - DEX -; libsrc/apple/spiport.pla: 0380: BNE - - BNE - -; libsrc/apple/spiport.pla: 0381: STA $C05B ; DISABLE SLAVE - STA $C05B ; DISABLE SLAVE -; libsrc/apple/spiport.pla: 0382: INC SRCL - INC SRCL -; libsrc/apple/spiport.pla: 0383: BNE + - BNE + -; libsrc/apple/spiport.pla: 0384: INC SRCH - INC SRCH -; libsrc/apple/spiport.pla: 0385: + PLX -+ PLX -; libsrc/apple/spiport.pla: 0386: DEC ESTKL,X - DEC ESTKL,X -; libsrc/apple/spiport.pla: 0387: BNE -- - BNE -- -; libsrc/apple/spiport.pla: 0388: DEC ESTKH,X - DEC ESTKH,X -; libsrc/apple/spiport.pla: 0389: BNE -- - BNE -- -; libsrc/apple/spiport.pla: 0390: INX ; REMOVE AN ARGUMENT - INX ; REMOVE AN ARGUMENT -; libsrc/apple/spiport.pla: 0391: PLA - PLA -; libsrc/apple/spiport.pla: 0392: STA $C036 - STA $C036 -; libsrc/apple/spiport.pla: 0393: PLP - PLP -; libsrc/apple/spiport.pla: 0394: RTS - RTS -; libsrc/apple/spiport.pla: 0395: end -; libsrc/apple/spiport.pla: 0396: -; libsrc/apple/spiport.pla: 0397: export def spiXferByte(outbyte) -_SUBSEG ; BYTECODE STARTS - ; outbyte -> [0] -_C000 ; spiXferByte() -; libsrc/apple/spiport.pla: 0398: 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: 0399: end -; libsrc/apple/spiport.pla: 0400: -; libsrc/apple/spiport.pla: 0401: export def spiDelay(time) - ; time -> [0] -_C001 ; spiDelay() -; libsrc/apple/spiport.pla: 0402: 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: 0403: end -; libsrc/apple/spiport.pla: 0404: -; libsrc/apple/spiport.pla: 0405: export def spiSend(data) - ; data -> [0] -_C002 ; spiSend() -; libsrc/apple/spiport.pla: 0406: byte timeout, status - ; timeout -> [2] - ; status -> [3] -; libsrc/apple/spiport.pla: 0407: -; libsrc/apple/spiport.pla: 0408: 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: 0409: status = (spiReadWriteByte)(data) -; libsrc/apple/spiport.pla: 0410: if status <> SPI_SLAVE_BUSY -; libsrc/apple/spiport.pla: 0411: 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: 0412: fin -_B004 -_B005 -; libsrc/apple/spiport.pla: 0413: spiDelay(timeout) -; libsrc/apple/spiport.pla: 0414: 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: 0415: putc(status);putc('0'+data/10);putc('0'+data%10) -; libsrc/apple/spiport.pla: 0416: 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: 0417: end -; libsrc/apple/spiport.pla: 0418: -; libsrc/apple/spiport.pla: 0419: export def spiRecv -_C003 ; spiRecv() -; libsrc/apple/spiport.pla: 0420: return spiSend(0) - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F007 !WORD _C002 - !BYTE $5C ; RET -; libsrc/apple/spiport.pla: 0421: end -; libsrc/apple/spiport.pla: 0422: -; libsrc/apple/spiport.pla: 0423: export def spiWriteBuf(buf, len) - ; buf -> [0] - ; len -> [2] -_C004 ; spiWriteBuf() -; libsrc/apple/spiport.pla: 0424: spiSend(13) // CMD_BUF_WRITE - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/spiport.pla: 0425: spiSend(len >> 8); spiSend(len) -; libsrc/apple/spiport.pla: 0426: 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: 0427: end -; libsrc/apple/spiport.pla: 0428: -; libsrc/apple/spiport.pla: 0429: export def spiReadBuf(buf, len) - ; buf -> [0] - ; len -> [2] -_C005 ; spiReadBuf() -; libsrc/apple/spiport.pla: 0430: spiSend(12) // CMD_BUF_READ - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/spiport.pla: 0431: spiSend(len >> 8); spiSend(len) -; libsrc/apple/spiport.pla: 0432: 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: 0433: end -; libsrc/apple/spiport.pla: 0434: -; libsrc/apple/spiport.pla: 0435: export def spiReady -_C006 ; spiReady() -; libsrc/apple/spiport.pla: 0436: byte timeout - ; timeout -> [0] -; libsrc/apple/spiport.pla: 0437: -; libsrc/apple/spiport.pla: 0438: timeout = 0xFF - !BYTE $58,$01,$00 ; ENTER 1,0 -; libsrc/apple/spiport.pla: 0439: 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: 0440: timeout-- - !BYTE $64,$00 ; LLB [0] - !BYTE $8E ; DECR -; libsrc/apple/spiport.pla: 0441: spiDelay(10) -; libsrc/apple/spiport.pla: 0442: 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: 0443: return timeout - !BYTE $64,$00 ; LLB [0] - !BYTE $5A,$01 ; LEAVE 1 -; libsrc/apple/spiport.pla: 0444: end -; libsrc/apple/spiport.pla: 0445: -; libsrc/apple/spiport.pla: 0446: export def spiReset -_C007 ; spiReset() -; libsrc/apple/spiport.pla: 0447: ^$C05B // DISABLE SLAVE SELECT -; libsrc/apple/spiport.pla: 0448: ^$C05D // CLOCK RAISE (GS ONLY) -; libsrc/apple/spiport.pla: 0449: 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: 0450: end -; libsrc/apple/spiport.pla: 0451: -; libsrc/apple/spiport.pla: 0452: if call($FE1F, 0, 0, 0, 1).3 & 1 // GS ID ROUTINE -_INIT -; libsrc/apple/spiport.pla: 0453: spiReadWriteByte = @spiXferByteStd -; libsrc/apple/spiport.pla: 0454: spiReadBytes = @spiReadBytesStd -; libsrc/apple/spiport.pla: 0455: spiWriteBytes = @spiWriteBytesStd -; libsrc/apple/spiport.pla: 0456: 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: 0457: spiReadWriteByte = @spiXferByteGS -; libsrc/apple/spiport.pla: 0458: spiReadBytes = @spiReadBytesGS -; libsrc/apple/spiport.pla: 0459: spiWriteBytes = @spiWriteBytesGS -; libsrc/apple/spiport.pla: 0460: 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: 0461: return spiReset <> 0 - !BYTE $54 ; CALL _C007 -_F032 !WORD _C007 - !BYTE $5C ; RET -; libsrc/apple/spiport.pla: 0462: 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 b39b8fa..0000000 --- a/src/libsrc/apple/uthernet.a +++ /dev/null @@ -1,1192 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: 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: 0247: fin -_B018 -_B019 -; libsrc/apple/uthernet.pla: 0248: fin -_B016 -_B017 -; libsrc/apple/uthernet.pla: 0249: fin -_B014 -_B015 -; libsrc/apple/uthernet.pla: 0250: 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: 0251: // -; libsrc/apple/uthernet.pla: 0252: // Not found -; libsrc/apple/uthernet.pla: 0253: // -; libsrc/apple/uthernet.pla: 0254: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/uthernet.pla: 0255: 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 88dd21f..0000000 --- a/src/libsrc/apple/uthernet2.a +++ /dev/null @@ -1,3876 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: 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: 0913: fin -_B150 -_B151 -; libsrc/apple/uthernet2.pla: 0914: fin -_B148 -_B149 -; libsrc/apple/uthernet2.pla: 0915: pokeio(slot, regdata) // Restore register -; libsrc/apple/uthernet2.pla: 0916: 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: 0917: fin -_B144 -_B145 -; libsrc/apple/uthernet2.pla: 0918: 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: 0919: // -; libsrc/apple/uthernet2.pla: 0920: // Not found -; libsrc/apple/uthernet2.pla: 0921: // -; libsrc/apple/uthernet2.pla: 0922: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/uthernet2.pla: 0923: 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/args.a b/src/libsrc/args.a deleted file mode 100644 index ccca063..0000000 --- a/src/libsrc/args.a +++ /dev/null @@ -1,325 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 8ddb757..0000000 --- a/src/libsrc/dhcp.a +++ /dev/null @@ -1,1261 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 a4a9a37..0000000 --- a/src/libsrc/etherip.a +++ /dev/null @@ -1,2483 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: done - !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 $00 ; CN 0 - !BYTE $5C ; RET -_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 bb970d6..0000000 --- a/src/libsrc/fiber.a +++ /dev/null @@ -1,1213 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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[$10] - ; estkhi = 0 -; libsrc/fiber.pla: 0028: byte estklo[$10] - ; estklo = 16 -; libsrc/fiber.pla: 0029: word ifp - ; ifp = 32 -; libsrc/fiber.pla: 0030: word pp - ; pp = 34 -; libsrc/fiber.pla: 0031: byte hwsp - ; hwsp = 36 -; libsrc/fiber.pla: 0032: byte esp - ; esp = 37 -; libsrc/fiber.pla: 0033: byte jmptmp - ; jmptmp = 38 -; libsrc/fiber.pla: 0034: byte fill[8] - ; fill = 39 -; libsrc/fiber.pla: 0035: byte dropop - ; dropop = 47 -; libsrc/fiber.pla: 0036: byte nextop[$10] - ; nextop = 48 -; libsrc/fiber.pla: 0037: byte hwstk[$C0] - ; hwstk = 64 -; libsrc/fiber.pla: 0038: end - ; t_vm = 256 -; 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 #$26 - LDY #$26 -; 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 #$26 - LDY #$26 -; 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: // Initialize fiber pool -; libsrc/fiber.pla: 0106: // -; libsrc/fiber.pla: 0107: export def fbrInit(numPool) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; numPool -> [0] -_C000 ; fbrInit() -; libsrc/fiber.pla: 0108: byte i - ; i -> [2] -; libsrc/fiber.pla: 0109: word pool - ; pool -> [3] -; libsrc/fiber.pla: 0110: -; libsrc/fiber.pla: 0111: if numPool >= MAX_FIBERS - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/fiber.pla: 0112: numPool = MAX_FIBERS -; libsrc/fiber.pla: 0113: 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: 0114: fbrMax = numPool - 1 -; libsrc/fiber.pla: 0115: // -; libsrc/fiber.pla: 0116: // Allocate the fiber pool and initialize it to FREE -; libsrc/fiber.pla: 0117: // -; libsrc/fiber.pla: 0118: fbrPool = heapalloc(fbrMax * 512 + 256) -; libsrc/fiber.pla: 0119: if fbrPool -; libsrc/fiber.pla: 0120: // -; libsrc/fiber.pla: 0121: // Each fiber gets 256 bytes of stack and 256 bytes -; libsrc/fiber.pla: 0122: // for frame (local) data - except fiber 0 uses original frame data -; libsrc/fiber.pla: 0123: // -; libsrc/fiber.pla: 0124: pool = fbrPool + 256 -; libsrc/fiber.pla: 0125: 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: 0126: if i < numPool -; libsrc/fiber.pla: 0127: fbrState[i] = FIBER_FREE -; libsrc/fiber.pla: 0128: fbrVMState[i] = pool -; libsrc/fiber.pla: 0129: pool = pool + 512 -; libsrc/fiber.pla: 0130: 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: 0131: next -_B007 - !BYTE $A8 ; DECBRGE _B006 - !WORD _B006-* -_B005 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/fiber.pla: 0132: // -; libsrc/fiber.pla: 0133: // Set fiber 0 to the RUNning fiber -; libsrc/fiber.pla: 0134: // -; libsrc/fiber.pla: 0135: fbrState = FIBER_RUN -; libsrc/fiber.pla: 0136: fbrVMState = fbrPool -; libsrc/fiber.pla: 0137: 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: 0138: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/fiber.pla: 0139: fin -_B004 -; libsrc/fiber.pla: 0140: fbrCount = 1 -; libsrc/fiber.pla: 0141: 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: 0142: end -; libsrc/fiber.pla: 0143: // -; libsrc/fiber.pla: 0144: // Stop fiber and return it to FREE pool -; libsrc/fiber.pla: 0145: // -; libsrc/fiber.pla: 0146: export def fbrStop(fid)#0 - ; fid -> [0] -_C001 ; fbrStop() -; libsrc/fiber.pla: 0147: byte i - ; i -> [2] -; libsrc/fiber.pla: 0148: -; libsrc/fiber.pla: 0149: // -; libsrc/fiber.pla: 0150: // Don't STOP fiber 0 (avoid deadlock) -; libsrc/fiber.pla: 0151: // -; libsrc/fiber.pla: 0152: if fid - !BYTE $58,$03,$01 ; ENTER 3,1 -; libsrc/fiber.pla: 0153: // -; libsrc/fiber.pla: 0154: // Remove fiber from RUN list and tag as free -; libsrc/fiber.pla: 0155: // -; libsrc/fiber.pla: 0156: 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: 0157: fbrState[fid] = FIBER_FREE -; libsrc/fiber.pla: 0158: i = 0 -; libsrc/fiber.pla: 0159: 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: 0160: i = fbrNext[i] -; libsrc/fiber.pla: 0161: 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: 0162: fbrNext[i] = fbrNext[fid] -; libsrc/fiber.pla: 0163: if fid == fbrRunning -; libsrc/fiber.pla: 0164: fbrRunning = fbrNext[fbrRunning] -; libsrc/fiber.pla: 0165: fbrLoad(fbrVMState[fbrRunning]) // This doesn't actually return here - returns to next fiber -; libsrc/fiber.pla: 0166: 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: 0167: fin -_B010 -_B011 -; libsrc/fiber.pla: 0168: end - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/fiber.pla: 0169: // -; libsrc/fiber.pla: 0170: // Stop current fiber -; libsrc/fiber.pla: 0171: // -; libsrc/fiber.pla: 0172: export def fbrExit#0 -_C002 ; fbrExit() -; libsrc/fiber.pla: 0173: // -; libsrc/fiber.pla: 0174: // Stop running fiber -; libsrc/fiber.pla: 0175: // -; libsrc/fiber.pla: 0176: fbrStop(fbrRunning) -; libsrc/fiber.pla: 0177: end - !BYTE $68 ; LAB _D033+0 -_F025 !WORD _D033+0 - !BYTE $54 ; CALL _C001 -_F026 !WORD _C001 - !BYTE $5C ; RET -; libsrc/fiber.pla: 0178: // -; libsrc/fiber.pla: 0179: // Start a fiber RUNning -; libsrc/fiber.pla: 0180: // -; libsrc/fiber.pla: 0181: export def fbrStart(defaddr, param) - ; defaddr -> [0] - ; param -> [2] -_C003 ; fbrStart() -; libsrc/fiber.pla: 0182: byte i - ; i -> [4] -; libsrc/fiber.pla: 0183: word vmstate - ; vmstate -> [5] -; libsrc/fiber.pla: 0184: -; libsrc/fiber.pla: 0185: 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: 0186: if fbrState[i] == FIBER_FREE -; libsrc/fiber.pla: 0187: // -; libsrc/fiber.pla: 0188: // Allocate fiber from pool -; libsrc/fiber.pla: 0189: // -; libsrc/fiber.pla: 0190: fbrState[i] = FIBER_RUN -; libsrc/fiber.pla: 0191: vmstate = fbrVMState[i] -; libsrc/fiber.pla: 0192: vmstate=>ifp = vmstate + 512 -; libsrc/fiber.pla: 0193: vmstate=>pp = vmstate + 512 -; libsrc/fiber.pla: 0194: // -; libsrc/fiber.pla: 0195: // Set fiber parameters to fiber ID and passed-in value -; libsrc/fiber.pla: 0196: // -; libsrc/fiber.pla: 0197: vmstate->esp = $0E -; libsrc/fiber.pla: 0198: vmstate->estklo.$0F = i -; libsrc/fiber.pla: 0199: vmstate->estkhi.$0F = 0 -; libsrc/fiber.pla: 0200: vmstate->estklo.$0E = param.0 // param lo byte -; libsrc/fiber.pla: 0201: vmstate->estkhi.$0E = param.1 // param hi byte -; libsrc/fiber.pla: 0202: // -; libsrc/fiber.pla: 0203: // Initialize stack to point to fiber def and fbrExit -; libsrc/fiber.pla: 0204: // This allows a fiber to return and it will fall into fbrExit -; libsrc/fiber.pla: 0205: // -; libsrc/fiber.pla: 0206: vmstate->jmptmp = $4C -; libsrc/fiber.pla: 0207: vmstate->hwsp = $FB -; libsrc/fiber.pla: 0208: vmstate=>$FE = @fbrExit - 1 -; libsrc/fiber.pla: 0209: vmstate=>$FC = defaddr - 1 -; libsrc/fiber.pla: 0210: // -; libsrc/fiber.pla: 0211: // Link into RUN list -; libsrc/fiber.pla: 0212: // -; libsrc/fiber.pla: 0213: fbrNext[i] = fbrNext[fbrRunning] -; libsrc/fiber.pla: 0214: fbrNext[fbrRunning] = i -; libsrc/fiber.pla: 0215: // -; libsrc/fiber.pla: 0216: // Return fiber ID (index) -; libsrc/fiber.pla: 0217: // -; libsrc/fiber.pla: 0218: 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,$20 ; ADDI 32 - !BYTE $72 ; SW - !BYTE $66,$05 ; LLW [5] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $82 ; ADD - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$22 ; ADDI 34 - !BYTE $72 ; SW - !BYTE $1C ; CN 14 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$25 ; ADDI 37 - !BYTE $70 ; SB - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$10 ; ADDI 16 - !BYTE $38,$0F ; ADDI 15 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$0F ; ADDI 15 - !BYTE $70 ; SB - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$10 ; ADDI 16 - !BYTE $38,$0E ; ADDI 14 - !BYTE $70 ; SB - !BYTE $64,$03 ; LLB [3] - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$0E ; ADDI 14 - !BYTE $70 ; SB - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$26 ; ADDI 38 - !BYTE $70 ; SB - !BYTE $2A,$FB ; CB 251 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$24 ; ADDI 36 - !BYTE $70 ; SB - !BYTE $26 ; LA _C002+0 -_F031 !WORD _C002+0 - !BYTE $8E ; DECR - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$FE ; ADDI 254 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$FC ; ADDI 252 - !BYTE $72 ; SW - !BYTE $26 ; LA _D030+0 -_F032 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F033 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $26 ; LA _D030+0 -_F034 !WORD _D030+0 - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB - !BYTE $64,$04 ; LLB [4] - !BYTE $26 ; LA _D030+0 -_F035 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F036 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $68 ; LAB _D034+0 -_F037 !WORD _D034+0 - !BYTE $8C ; INCR -; libsrc/fiber.pla: 0219: return i - !BYTE $78 ; SAB _D034+0 -_F038 !WORD _D034+0 - !BYTE $32 ; DROP2 - !BYTE $64,$04 ; LLB [4] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/fiber.pla: 0220: fin -_B020 -_B021 -; libsrc/fiber.pla: 0221: next -_B019 - !BYTE $A8 ; DECBRGE _B018 - !WORD _B018-* -_B017 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/fiber.pla: 0222: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/fiber.pla: 0223: end -; libsrc/fiber.pla: 0224: // -; libsrc/fiber.pla: 0225: // Round-robin schedule RUNning fibers -; libsrc/fiber.pla: 0226: // -; libsrc/fiber.pla: 0227: export def fbrYield#0 -_C004 ; fbrYield() -; libsrc/fiber.pla: 0228: byte prev - ; prev -> [0] -; libsrc/fiber.pla: 0229: -; libsrc/fiber.pla: 0230: // -; libsrc/fiber.pla: 0231: // Swap to text fiber if this isn't the only fiber RUNning -; libsrc/fiber.pla: 0232: // -; libsrc/fiber.pla: 0233: if fbrNext[fbrRunning] <> fbrRunning - !BYTE $58,$01,$00 ; ENTER 1,0 -; libsrc/fiber.pla: 0234: prev = fbrRunning -; libsrc/fiber.pla: 0235: fbrRunning = fbrNext[fbrRunning] -; libsrc/fiber.pla: 0236: fbrSwap(fbrVMState[prev], fbrVMState[fbrRunning]) -; libsrc/fiber.pla: 0237: fin - !BYTE $26 ; LA _D030+0 -_F039 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F040 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $68 ; LAB _D033+0 -_F041 !WORD _D033+0 - !BYTE $22 ; BREQ _B022 - !WORD _B022-* - !BYTE $68 ; LAB _D033+0 -_F042 !WORD _D033+0 - !BYTE $74,$00 ; SLB [0] - !BYTE $26 ; LA _D030+0 -_F043 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F044 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $78 ; SAB _D033+0 -_F045 !WORD _D033+0 - !BYTE $26 ; LA _D031+0 -_F046 !WORD _D031+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $26 ; LA _D031+0 -_F047 !WORD _D031+0 - !BYTE $BC ; IDXAB _D033+0 -_F048 !WORD _D033+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A000 -_F049 !WORD _A000 -_B022 -_B023 -; libsrc/fiber.pla: 0238: end - !BYTE $5A,$01 ; LEAVE 1 -; libsrc/fiber.pla: 0239: // -; libsrc/fiber.pla: 0240: // HALT current fiber and await a RESUME -; libsrc/fiber.pla: 0241: // -; libsrc/fiber.pla: 0242: export def fbrHalt#0 -_C005 ; fbrHalt() -; libsrc/fiber.pla: 0243: byte i - ; i -> [0] -; libsrc/fiber.pla: 0244: -; libsrc/fiber.pla: 0245: // -; libsrc/fiber.pla: 0246: // Cannot HALT fiber 0 (avoid deadlock) -; libsrc/fiber.pla: 0247: // -; libsrc/fiber.pla: 0248: if fbrRunning - !BYTE $58,$01,$00 ; ENTER 1,0 -; libsrc/fiber.pla: 0249: // -; libsrc/fiber.pla: 0250: // Remove fiber from RUN list -; libsrc/fiber.pla: 0251: // -; libsrc/fiber.pla: 0252: i = 0 -; libsrc/fiber.pla: 0253: while fbrNext[i] <> fbrRunning - !BYTE $68 ; LAB _D033+0 -_F050 !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: 0254: i = fbrNext[i] -; libsrc/fiber.pla: 0255: loop - !BYTE $26 ; LA _D030+0 -_F051 !WORD _D030+0 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $60 ; LB - !BYTE $74,$00 ; SLB [0] -_B028 - !BYTE $26 ; LA _D030+0 -_F052 !WORD _D030+0 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $60 ; LB - !BYTE $68 ; LAB _D033+0 -_F053 !WORD _D033+0 - !BYTE $24 ; BRNE _B026 - !WORD _B026-* -_B027 -; libsrc/fiber.pla: 0256: fbrState[fbrRunning] = FIBER_HALT -; libsrc/fiber.pla: 0257: fbrNext[i] = fbrNext[fbrRunning] -; libsrc/fiber.pla: 0258: i = fbrRunning -; libsrc/fiber.pla: 0259: fbrRunning = fbrNext[fbrRunning] -; libsrc/fiber.pla: 0260: fbrSwap(fbrVMState[i], fbrVMState[fbrRunning]) -; libsrc/fiber.pla: 0261: fin - !BYTE $04 ; CN 2 - !BYTE $26 ; LA _D029+0 -_F054 !WORD _D029+0 - !BYTE $B4 ; ADDAB _D033+0 -_F055 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $26 ; LA _D030+0 -_F056 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F057 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $26 ; LA _D030+0 -_F058 !WORD _D030+0 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $70 ; SB - !BYTE $68 ; LAB _D033+0 -_F059 !WORD _D033+0 - !BYTE $74,$00 ; SLB [0] - !BYTE $26 ; LA _D030+0 -_F060 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F061 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $78 ; SAB _D033+0 -_F062 !WORD _D033+0 - !BYTE $26 ; LA _D031+0 -_F063 !WORD _D031+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $26 ; LA _D031+0 -_F064 !WORD _D031+0 - !BYTE $BC ; IDXAB _D033+0 -_F065 !WORD _D033+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A000 -_F066 !WORD _A000 -_B024 -_B025 -; libsrc/fiber.pla: 0262: end - !BYTE $5A,$01 ; LEAVE 1 -; libsrc/fiber.pla: 0263: // -; libsrc/fiber.pla: 0264: // Restore HALTed fiber to RUN list -; libsrc/fiber.pla: 0265: // -; libsrc/fiber.pla: 0266: export def fbrResume(fid)#0 - ; fid -> [0] -_C006 ; fbrResume() -; libsrc/fiber.pla: 0267: if fbrState[fid] == FIBER_HALT - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fiber.pla: 0268: // -; libsrc/fiber.pla: 0269: // Insert HALTed fiber back into RUN list -; libsrc/fiber.pla: 0270: // -; libsrc/fiber.pla: 0271: fbrState[fid] = FIBER_RUN -; libsrc/fiber.pla: 0272: fbrNext[fid] = fbrNext[fbrRunning] -; libsrc/fiber.pla: 0273: fbrNext[fbrRunning] = fid -; libsrc/fiber.pla: 0274: fin - !BYTE $26 ; LA _D029+0 -_F067 !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 -_F068 !WORD _D029+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $70 ; SB - !BYTE $26 ; LA _D030+0 -_F069 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F070 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $26 ; LA _D030+0 -_F071 !WORD _D030+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D030+0 -_F072 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F073 !WORD _D033+0 - !BYTE $70 ; SB -_B029 -_B030 -; libsrc/fiber.pla: 0275: end - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fiber.pla: 0276: 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 $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 $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: 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 d11710c..0000000 --- a/src/libsrc/fpstr.a +++ /dev/null @@ -1,1596 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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:exp -; 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 $66,$08 ; LLW [8] - !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 -_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 $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 791eef3..0000000 --- a/src/libsrc/fpu.a +++ /dev/null @@ -1,3871 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: sane:initFP() -; libsrc/fpu.pla: 0365: sane:saveZP() -; libsrc/fpu.pla: 0366: for i = 0 to 3 - !BYTE $00 ; CN 0 - !BYTE $76,$01 ; SLW [1] - !BYTE $6A ; LAW _X028+0 -_F429 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X028+18 -_F430 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B002 - !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 -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !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: done -_INIT - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_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/inet.a b/src/libsrc/inet.a deleted file mode 100644 index 7f09083..0000000 --- a/src/libsrc/inet.a +++ /dev/null @@ -1,1090 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: done - !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 $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 $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 7cc0136..0000000 --- a/src/libsrc/int32.a +++ /dev/null @@ -1,1700 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: 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 $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 8a6c37d..0000000 --- a/src/libsrc/lines.a +++ /dev/null @@ -1,1945 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: done - !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 $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 $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 d0209fa..0000000 --- a/src/libsrc/longjmp.a +++ /dev/null @@ -1,173 +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 TMPL - LDY TMPL -; libsrc/longjmp.pla: 0064: - LDA (DST),Y -- LDA (DST),Y -; libsrc/longjmp.pla: 0065: STA $0100,Y - STA $0100,Y -; libsrc/longjmp.pla: 0066: INY - INY -; libsrc/longjmp.pla: 0067: BNE - - BNE - -; libsrc/longjmp.pla: 0068: LDX ESP - LDX ESP -; libsrc/longjmp.pla: 0069: LDA SRC - LDA SRC -; libsrc/longjmp.pla: 0070: STA ESTKL,X - STA ESTKL,X -; libsrc/longjmp.pla: 0071: LDA SRC+1 - LDA SRC+1 -; libsrc/longjmp.pla: 0072: STA ESTKH,X - STA ESTKH,X -; libsrc/longjmp.pla: 0073: RTS - RTS -; libsrc/longjmp.pla: 0074: end -; libsrc/longjmp.pla: 0075: 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 b734aed..0000000 --- a/src/libsrc/lz4.a +++ /dev/null @@ -1,489 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: end -; libsrc/lz4.pla: 0001: -; libsrc/lz4.pla: 0002: asm incs - !BYTE $00 ; END OF MODULE DEPENDENCIES -_A000 ; incs() -; libsrc/lz4.pla: 0003: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/lz4.pla: 0004: end -; libsrc/lz4.pla: 0005: // -; libsrc/lz4.pla: 0006: // Always forward copy memory - important for overlapping match sequences -; libsrc/lz4.pla: 0007: // -; libsrc/lz4.pla: 0008: asm bcpy(dst, src, len)#0 -_A001 ; bcpy() -; libsrc/lz4.pla: 0009: INX - INX -; libsrc/lz4.pla: 0010: INX - INX -; libsrc/lz4.pla: 0011: INX - INX -; libsrc/lz4.pla: 0012: LDA ESTKL-3,X - LDA ESTKL-3,X -; libsrc/lz4.pla: 0013: ORA ESTKH-3,X - ORA ESTKH-3,X -; libsrc/lz4.pla: 0014: BEQ CPYEX - BEQ CPYEX -; libsrc/lz4.pla: 0015: LDA ESTKL-1,X - LDA ESTKL-1,X -; libsrc/lz4.pla: 0016: STA DSTL - STA DSTL -; libsrc/lz4.pla: 0017: LDA ESTKH-1,X - LDA ESTKH-1,X -; libsrc/lz4.pla: 0018: STA DSTH - STA DSTH -; libsrc/lz4.pla: 0019: LDA ESTKL-2,X - LDA ESTKL-2,X -; libsrc/lz4.pla: 0020: STA SRCL - STA SRCL -; libsrc/lz4.pla: 0021: LDA ESTKH-2,X - LDA ESTKH-2,X -; libsrc/lz4.pla: 0022: STA SRCH - STA SRCH -; libsrc/lz4.pla: 0023: LDY ESTKL-3,X - LDY ESTKL-3,X -; libsrc/lz4.pla: 0024: BEQ CPYLP - BEQ CPYLP -; libsrc/lz4.pla: 0025: INC ESTKH-3,X - INC ESTKH-3,X -; libsrc/lz4.pla: 0026: LDY #$00 - LDY #$00 -; libsrc/lz4.pla: 0027: CPYLP LDA (SRC),Y -CPYLP LDA (SRC),Y -; libsrc/lz4.pla: 0028: STA (DST),Y - STA (DST),Y -; libsrc/lz4.pla: 0029: INY - INY -; libsrc/lz4.pla: 0030: BNE + - BNE + -; libsrc/lz4.pla: 0031: INC DSTH - INC DSTH -; libsrc/lz4.pla: 0032: INC SRCH - INC SRCH -; libsrc/lz4.pla: 0033: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; libsrc/lz4.pla: 0034: BNE CPYLP - BNE CPYLP -; libsrc/lz4.pla: 0035: DEC ESTKH-3,X - DEC ESTKH-3,X -; libsrc/lz4.pla: 0036: BNE CPYLP - BNE CPYLP -; libsrc/lz4.pla: 0037: CPYEX RTS -CPYEX RTS -; libsrc/lz4.pla: 0038: end -; libsrc/lz4.pla: 0039: // -; libsrc/lz4.pla: 0040: // Unpack LZ4 sequence into buffer, return unpacked length -; libsrc/lz4.pla: 0041: // -; libsrc/lz4.pla: 0042: export def lz4Unpack(seq, seqend, buff, buffend) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; seq -> [0] - ; seqend -> [2] - ; buff -> [4] - ; buffend -> [6] -_C000 ; lz4Unpack() -; libsrc/lz4.pla: 0043: word data, len, match, i - ; data -> [8] - ; len -> [10] - ; match -> [12] - ; i -> [14] -; libsrc/lz4.pla: 0044: byte token - ; token -> [16] -; libsrc/lz4.pla: 0045: -; libsrc/lz4.pla: 0046: data = buff - !BYTE $58,$11,$04 ; ENTER 17,4 -; libsrc/lz4.pla: 0047: while isult(seq, seqend) - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; libsrc/lz4.pla: 0048: token = ^seq -; libsrc/lz4.pla: 0049: 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: 0050: len = token >> 4 -; libsrc/lz4.pla: 0051: if len -; libsrc/lz4.pla: 0052: // -; libsrc/lz4.pla: 0053: // Literal sequence -; libsrc/lz4.pla: 0054: // -; libsrc/lz4.pla: 0055: if len == 15 -; libsrc/lz4.pla: 0056: 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: 0057: len = len + 255 -; libsrc/lz4.pla: 0058: 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: 0059: 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: 0060: len = len + ^seq -; libsrc/lz4.pla: 0061: 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: 0062: fin - !BYTE $76,$00 ; SLW [0] -_B006 -_B007 -; libsrc/lz4.pla: 0063: 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: 0064: bcpy(data, seq, len) -; libsrc/lz4.pla: 0065: data = data + len -; libsrc/lz4.pla: 0066: seq = seq + len -; libsrc/lz4.pla: 0067: 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: 0068: len = token & $0F -; libsrc/lz4.pla: 0069: if len or isult(seq, seqend) -; libsrc/lz4.pla: 0070: // -; libsrc/lz4.pla: 0071: // Match sequence -; libsrc/lz4.pla: 0072: // -; libsrc/lz4.pla: 0073: match = data - *seq -; libsrc/lz4.pla: 0074: seq = seq + 2 -; libsrc/lz4.pla: 0075: len = len + 4 -; libsrc/lz4.pla: 0076: if len == 19 // $0F + 4 -; libsrc/lz4.pla: 0077: 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: 0078: len = len + 255 -; libsrc/lz4.pla: 0079: 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: 0080: 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: 0081: len = len + ^seq -; libsrc/lz4.pla: 0082: 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: 0083: fin - !BYTE $76,$00 ; SLW [0] -_B016 -_B017 -; libsrc/lz4.pla: 0084: 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: 0085: bcpy(data, match, len) -; libsrc/lz4.pla: 0086: data = data + len -; libsrc/lz4.pla: 0087: 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: 0088: 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: 0089: return data - buff - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $5A,$11 ; LEAVE 17 -; libsrc/lz4.pla: 0090: end -; libsrc/lz4.pla: 0091: done -_INIT - !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 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 $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; 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 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/memmgr.a b/src/libsrc/memmgr.a deleted file mode 100644 index 08fa3b4..0000000 --- a/src/libsrc/memmgr.a +++ /dev/null @@ -1,4063 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0080: 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 8392c71..0000000 --- a/src/libsrc/sane.a +++ /dev/null @@ -1,2830 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0080: 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 = "); prbyte(ref); puts(" perr = "); prbyte(perr); putln -; libsrc/sane.pla: 0736: if ref -; libsrc/sane.pla: 0737: pcode = heapalloc(512) -; libsrc/sane.pla: 0738: fileio:read(ref, pcode, 512) -; libsrc/sane.pla: 0739: //puts("Read header bytes: "); puti(seglen) -; libsrc/sane.pla: 0740: //if seglen == 0; puts(" perr = "); prbyte(perr); fin -; libsrc/sane.pla: 0741: //getc; putln -; libsrc/sane.pla: 0742: //dumpheader(pcode) -; libsrc/sane.pla: 0743: //putname(pcode + segname + 8); putc('='); prword(pcode); putln -; libsrc/sane.pla: 0744: heaprelease(pcode + (pcode + t_diskinfo)=>codeaddr) // REserve heap to end of buffer -; libsrc/sane.pla: 0745: seglen = fileio:read(ref, pcode, (pcode + t_diskinfo)=>codeaddr) -; libsrc/sane.pla: 0746: //puts("Read segment bytes: "); puti(seglen); putln -; libsrc/sane.pla: 0747: fileio:close(ref) -; libsrc/sane.pla: 0748: if !fp6502 and (MACHID & $F0 == $B0) // 128K Apple //e or //c -; libsrc/sane.pla: 0749: seglen = fixup(AUXADDR, pcode + seglen - 2) - pcode -; libsrc/sane.pla: 0750: auxmove(AUXADDR, pcode, seglen) -; libsrc/sane.pla: 0751: heaprelease(pcode) -; libsrc/sane.pla: 0752: pcode = AUXADDR -; libsrc/sane.pla: 0753: 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 $76,$03 ; SLW [3] - !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 $34 ; DUP - !BYTE $38,$04 ; ADDI 4 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X015 -_F023 !WORD 0 - !BYTE $30 ; DROP - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$03 ; LLW [3] - !BYTE $34 ; DUP - !BYTE $38,$04 ; ADDI 4 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _X028+18 -_F024 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $76,$05 ; SLW [5] - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _X028+16 -_F025 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D037+0 -_F026 !WORD _D037+0 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B011 - !WORD _B011-* - !BYTE $68 ; LAB _X001+0 -_F027 !WORD 0+0 - !BYTE $3C,$F0 ; ANDI 240 - !BYTE $2A,$B0 ; CB 176 - !BYTE $40 ; ISEQ -_B011 - !BYTE $4C ; BRFLS _B012 - !WORD _B012-* - !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 _B013 - !WORD _B013-* -_B012 -; libsrc/sane.pla: 0754: heaprelease(fixup(pcode, pcode + seglen - 2)) // Set heap to beginning of relocation list -; libsrc/sane.pla: 0755: 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 -_B013 -; libsrc/sane.pla: 0756: fin -_B009 -_B010 -; libsrc/sane.pla: 0757: return pcode - !BYTE $66,$03 ; LLW [3] - !BYTE $5A,$47 ; LEAVE 71 -; libsrc/sane.pla: 0758: end -; libsrc/sane.pla: 0759: // -; libsrc/sane.pla: 0760: // Load ELEMS6502 library -; libsrc/sane.pla: 0761: // -; libsrc/sane.pla: 0762: def loadElems -_C003 ; loadElems() -; libsrc/sane.pla: 0763: word elems - ; elems -> [0] -; libsrc/sane.pla: 0764: -; libsrc/sane.pla: 0765: 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 -_F033 !WORD _C002 - !BYTE $76,$00 ; SLW [0] -; libsrc/sane.pla: 0766: if !elems -; libsrc/sane.pla: 0767: puts("ELEMS library not found.\n") - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B014 - !WORD _B014-* - !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 -_F034 !WORD 0 -; libsrc/sane.pla: 0768: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/sane.pla: 0769: fin -_B014 -_B015 -; libsrc/sane.pla: 0770: if fp6502 == AUXADDR -; libsrc/sane.pla: 0771: (@fixupXEL1)=>1 = elems -; libsrc/sane.pla: 0772: (@fixupXEL2)=>1 = elems -; libsrc/sane.pla: 0773: (@fixupXEL3)=>1 = elems -; libsrc/sane.pla: 0774: sane[6] = @xelemsOp1 -; libsrc/sane.pla: 0775: sane[7] = @xelemsOp2 -; libsrc/sane.pla: 0776: sane[8] = @xelemsOp3 -; libsrc/sane.pla: 0777: else - !BYTE $6A ; LAW _D037+0 -_F035 !WORD _D037+0 - !BYTE $2C,$00,$E0 ; CW 57344 - !BYTE $24 ; BRNE _B016 - !WORD _B016-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A023+1 -_F036 !WORD _A023+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A025+1 -_F037 !WORD _A025+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A027+1 -_F038 !WORD _A027+1 - !BYTE $26 ; LA _A022+0 -_F039 !WORD _A022+0 - !BYTE $7A ; SAW _D036+12 -_F040 !WORD _D036+12 - !BYTE $26 ; LA _A024+0 -_F041 !WORD _A024+0 - !BYTE $7A ; SAW _D036+14 -_F042 !WORD _D036+14 - !BYTE $26 ; LA _A026+0 -_F043 !WORD _A026+0 - !BYTE $7A ; SAW _D036+16 -_F044 !WORD _D036+16 - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -_B016 -; libsrc/sane.pla: 0778: (@fixupEL1)=>1 = elems -; libsrc/sane.pla: 0779: (@fixupEL2)=>1 = elems -; libsrc/sane.pla: 0780: (@fixupEL3)=>1 = elems -; libsrc/sane.pla: 0781: sane[6] = @elemsOp1 -; libsrc/sane.pla: 0782: sane[7] = @elemsOp2 -; libsrc/sane.pla: 0783: sane[8] = @elemsOp3 -; libsrc/sane.pla: 0784: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A017+1 -_F045 !WORD _A017+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A019+1 -_F046 !WORD _A019+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A021+1 -_F047 !WORD _A021+1 - !BYTE $26 ; LA _A016+0 -_F048 !WORD _A016+0 - !BYTE $7A ; SAW _D036+12 -_F049 !WORD _D036+12 - !BYTE $26 ; LA _A018+0 -_F050 !WORD _A018+0 - !BYTE $7A ; SAW _D036+14 -_F051 !WORD _D036+14 - !BYTE $26 ; LA _A020+0 -_F052 !WORD _A020+0 - !BYTE $7A ; SAW _D036+16 -_F053 !WORD _D036+16 -_B017 -; libsrc/sane.pla: 0785: return 1 - !BYTE $02 ; CN 1 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/sane.pla: 0786: end -; libsrc/sane.pla: 0787: // -; libsrc/sane.pla: 0788: // Don't load ELEMS6502 until referenced -; libsrc/sane.pla: 0789: // -; libsrc/sane.pla: 0790: def elemsLoad1(op, dst)#1 - ; op -> [0] - ; dst -> [2] -_C004 ; elemsLoad1() -; libsrc/sane.pla: 0791: if loadElems - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/sane.pla: 0792: return sane[6](op, dst) - !BYTE $54 ; CALL _C003 -_F054 !WORD _C003 - !BYTE $4C ; BRFLS _B018 - !WORD _B018-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D036+12 -_F055 !WORD _D036+12 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/sane.pla: 0793: fin -_B018 -_B019 -; libsrc/sane.pla: 0794: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/sane.pla: 0795: end -; libsrc/sane.pla: 0796: def elemsLoad2(op, dst, src)#1 - ; op -> [0] - ; dst -> [2] - ; src -> [4] -_C005 ; elemsLoad2() -; libsrc/sane.pla: 0797: if loadElems - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/sane.pla: 0798: return sane[7](op, dst, src) - !BYTE $54 ; CALL _C003 -_F056 !WORD _C003 - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D036+14 -_F057 !WORD _D036+14 - !BYTE $56 ; ICAL - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/sane.pla: 0799: fin -_B020 -_B021 -; libsrc/sane.pla: 0800: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/sane.pla: 0801: end -; libsrc/sane.pla: 0802: def elemsLoad3(op, dst, src, src2)#1 - ; op -> [0] - ; dst -> [2] - ; src -> [4] - ; src2 -> [6] -_C006 ; elemsLoad3() -; libsrc/sane.pla: 0803: if loadElems - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/sane.pla: 0804: return sane[8](op, dst, src, src2) - !BYTE $54 ; CALL _C003 -_F058 !WORD _C003 - !BYTE $4C ; BRFLS _B022 - !WORD _B022-* - !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 -_F059 !WORD _D036+16 - !BYTE $56 ; ICAL - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/sane.pla: 0805: fin -_B022 -_B023 -; libsrc/sane.pla: 0806: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/sane.pla: 0807: end -; libsrc/sane.pla: 0808: // -; libsrc/sane.pla: 0809: // Load SANE library and fixup function pointers -; libsrc/sane.pla: 0810: // -; libsrc/sane.pla: 0811: def fpInit() -_P000 ; fpInit()() -_C007 ; fpInit() -; libsrc/sane.pla: 0812: word fpzpsave - ; fpzpsave -> [0] -; libsrc/sane.pla: 0813: -; libsrc/sane.pla: 0814: if !fp6502 - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/sane.pla: 0815: fp6502 = loadcode("FP6502.CODE") - !BYTE $6A ; LAW _D037+0 -_F060 !WORD _D037+0 - !BYTE $4E ; BRTRU _B024 - !WORD _B024-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $46,$50,$36,$35,$30,$32,$2E,$43 - !BYTE $4F,$44,$45 - !BYTE $54 ; CALL _C002 -_F061 !WORD _C002 - !BYTE $7A ; SAW _D037+0 -_F062 !WORD _D037+0 -; libsrc/sane.pla: 0816: if !fp6502 -; libsrc/sane.pla: 0817: puts("SANE library not found.\n") - !BYTE $6A ; LAW _D037+0 -_F063 !WORD _D037+0 - !BYTE $4E ; BRTRU _B026 - !WORD _B026-* - !BYTE $2E ; CS - !BYTE $18 - !BYTE $53,$41,$4E,$45,$20,$6C,$69,$62 - !BYTE $72,$61,$72,$79,$20,$6E,$6F,$74 - !BYTE $20,$66,$6F,$75,$6E,$64,$2E,$0D - !BYTE $54 ; CALL _X004 -_F064 !WORD 0 -; libsrc/sane.pla: 0818: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/sane.pla: 0819: fin -_B026 -_B027 -; libsrc/sane.pla: 0820: if fp6502 == AUXADDR -; libsrc/sane.pla: 0821: // -; libsrc/sane.pla: 0822: // Fixup AUX calls in interface routines -; libsrc/sane.pla: 0823: // -; libsrc/sane.pla: 0824: sane[2] = @xfpOp0 -; libsrc/sane.pla: 0825: sane[3] = @xfpOp1 -; libsrc/sane.pla: 0826: sane[4] = @xfpOp2 -; libsrc/sane.pla: 0827: sane[5] = @xfpOp3 -; libsrc/sane.pla: 0828: sane[9] = @zpNopSave -; libsrc/sane.pla: 0829: sane[10] = @zpNopRestore -; libsrc/sane.pla: 0830: // -; libsrc/sane.pla: 0831: // Install AUX HALT handler -; libsrc/sane.pla: 0832: // -; libsrc/sane.pla: 0833: xfpOp1($0005, @xfpHalt) -; libsrc/sane.pla: 0834: else - !BYTE $6A ; LAW _D037+0 -_F065 !WORD _D037+0 - !BYTE $2C,$00,$E0 ; CW 57344 - !BYTE $24 ; BRNE _B028 - !WORD _B028-* - !BYTE $26 ; LA _A012+0 -_F066 !WORD _A012+0 - !BYTE $7A ; SAW _D036+4 -_F067 !WORD _D036+4 - !BYTE $26 ; LA _A013+0 -_F068 !WORD _A013+0 - !BYTE $7A ; SAW _D036+6 -_F069 !WORD _D036+6 - !BYTE $26 ; LA _A014+0 -_F070 !WORD _A014+0 - !BYTE $7A ; SAW _D036+8 -_F071 !WORD _D036+8 - !BYTE $26 ; LA _A015+0 -_F072 !WORD _A015+0 - !BYTE $7A ; SAW _D036+10 -_F073 !WORD _D036+10 - !BYTE $26 ; LA _A032+0 -_F074 !WORD _A032+0 - !BYTE $7A ; SAW _D036+18 -_F075 !WORD _D036+18 - !BYTE $26 ; LA _A037+0 -_F076 !WORD _A037+0 - !BYTE $7A ; SAW _D036+20 -_F077 !WORD _D036+20 - !BYTE $0A ; CN 5 - !BYTE $26 ; LA _A001+0 -_F078 !WORD _A001+0 - !BYTE $54 ; CALL _A013 -_F079 !WORD _A013 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B029 - !WORD _B029-* -_B028 -; libsrc/sane.pla: 0835: // -; libsrc/sane.pla: 0836: // Fixup MAIN calls in interface routines -; libsrc/sane.pla: 0837: // -; libsrc/sane.pla: 0838: if MACHID & $F0 == $F0 // Apple /// -; libsrc/sane.pla: 0839: fpzpsave = heapalloc($0034*2) -; libsrc/sane.pla: 0840: (@fixupXS)=>1 = fpzpsave+$34 -; libsrc/sane.pla: 0841: (@fixupXR)=>1 = fpzpsave+$34 -; libsrc/sane.pla: 0842: zpSaveX // Clear XBYTEs -; libsrc/sane.pla: 0843: heaprelease(fpzpsave) -; libsrc/sane.pla: 0844: sane[9] = @zpNopSave//zpSaveX -; libsrc/sane.pla: 0845: sane[10] = @zpNopRestore//zpRestoreX -; libsrc/sane.pla: 0846: else // Apple II - !BYTE $68 ; LAB _X001+0 -_F080 !WORD 0+0 - !BYTE $3C,$F0 ; ANDI 240 - !BYTE $2A,$F0 ; CB 240 - !BYTE $24 ; BRNE _B030 - !WORD _B030-* - !BYTE $2A,$68 ; CB 104 - !BYTE $54 ; CALL _X014 -_F081 !WORD 0 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$34 ; ADDI 52 - !BYTE $7A ; SAW _A029+1 -_F082 !WORD _A029+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$34 ; ADDI 52 - !BYTE $7A ; SAW _A034+1 -_F083 !WORD _A034+1 - !BYTE $54 ; CALL _A028 -_F084 !WORD _A028 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X015 -_F085 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _A032+0 -_F086 !WORD _A032+0 - !BYTE $7A ; SAW _D036+18 -_F087 !WORD _D036+18 - !BYTE $26 ; LA _A037+0 -_F088 !WORD _A037+0 - !BYTE $7A ; SAW _D036+20 -_F089 !WORD _D036+20 - !BYTE $50 ; BRNCH _B031 - !WORD _B031-* -_B030 -; libsrc/sane.pla: 0847: fpzpsave = heapalloc($0034) -; libsrc/sane.pla: 0848: sane[9] = @zpSave -; libsrc/sane.pla: 0849: sane[10] = @zpRestore -; libsrc/sane.pla: 0850: fin - !BYTE $2A,$34 ; CB 52 - !BYTE $54 ; CALL _X014 -_F090 !WORD 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $26 ; LA _A030+0 -_F091 !WORD _A030+0 - !BYTE $7A ; SAW _D036+18 -_F092 !WORD _D036+18 - !BYTE $26 ; LA _A035+0 -_F093 !WORD _A035+0 - !BYTE $7A ; SAW _D036+20 -_F094 !WORD _D036+20 -_B031 -; libsrc/sane.pla: 0851: (@fixupFP0)=>1 = fp6502 -; libsrc/sane.pla: 0852: (@fixupFP1)=>1 = fp6502 -; libsrc/sane.pla: 0853: (@fixupFP2)=>1 = fp6502 -; libsrc/sane.pla: 0854: (@fixupFP3)=>1 = fp6502 -; libsrc/sane.pla: 0855: (@fixupZPS)=>1 = fpzpsave -; libsrc/sane.pla: 0856: (@fixupZPR)=>1 = fpzpsave -; libsrc/sane.pla: 0857: sane[2] = @fpOp0 -; libsrc/sane.pla: 0858: sane[3] = @fpOp1 -; libsrc/sane.pla: 0859: sane[4] = @fpOp2 -; libsrc/sane.pla: 0860: sane[5] = @fpOp3 -; libsrc/sane.pla: 0861: // -; libsrc/sane.pla: 0862: // Install MAIN HALT handler -; libsrc/sane.pla: 0863: // -; libsrc/sane.pla: 0864: sane[9]() -; libsrc/sane.pla: 0865: sane[10](fpOp1($0005, @fpHalt)) -; libsrc/sane.pla: 0866: fin - !BYTE $6A ; LAW _D037+0 -_F095 !WORD _D037+0 - !BYTE $7A ; SAW _A005+1 -_F096 !WORD _A005+1 - !BYTE $6A ; LAW _D037+0 -_F097 !WORD _D037+0 - !BYTE $7A ; SAW _A007+1 -_F098 !WORD _A007+1 - !BYTE $6A ; LAW _D037+0 -_F099 !WORD _D037+0 - !BYTE $7A ; SAW _A009+1 -_F100 !WORD _A009+1 - !BYTE $6A ; LAW _D037+0 -_F101 !WORD _D037+0 - !BYTE $7A ; SAW _A011+1 -_F102 !WORD _A011+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A031+1 -_F103 !WORD _A031+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A036+1 -_F104 !WORD _A036+1 - !BYTE $26 ; LA _A004+0 -_F105 !WORD _A004+0 - !BYTE $7A ; SAW _D036+4 -_F106 !WORD _D036+4 - !BYTE $26 ; LA _A006+0 -_F107 !WORD _A006+0 - !BYTE $7A ; SAW _D036+6 -_F108 !WORD _D036+6 - !BYTE $26 ; LA _A008+0 -_F109 !WORD _A008+0 - !BYTE $7A ; SAW _D036+8 -_F110 !WORD _D036+8 - !BYTE $26 ; LA _A010+0 -_F111 !WORD _A010+0 - !BYTE $7A ; SAW _D036+10 -_F112 !WORD _D036+10 - !BYTE $6A ; LAW _D036+18 -_F113 !WORD _D036+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $0A ; CN 5 - !BYTE $26 ; LA _A002+0 -_F114 !WORD _A002+0 - !BYTE $54 ; CALL _A006 -_F115 !WORD _A006 - !BYTE $6A ; LAW _D036+20 -_F116 !WORD _D036+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B029 -; libsrc/sane.pla: 0867: sane[6] = @elemsLoad1 -; libsrc/sane.pla: 0868: sane[7] = @elemsLoad2 -; libsrc/sane.pla: 0869: sane[8] = @elemsLoad3 -; libsrc/sane.pla: 0870: fin - !BYTE $26 ; LA _C004+0 -_F117 !WORD _C004+0 - !BYTE $7A ; SAW _D036+12 -_F118 !WORD _D036+12 - !BYTE $26 ; LA _C005+0 -_F119 !WORD _C005+0 - !BYTE $7A ; SAW _D036+14 -_F120 !WORD _D036+14 - !BYTE $26 ; LA _C006+0 -_F121 !WORD _C006+0 - !BYTE $7A ; SAW _D036+16 -_F122 !WORD _D036+16 -_B024 -_B025 -; libsrc/sane.pla: 0871: (@fixupHLT)=>1 = @sane+2 -; libsrc/sane.pla: 0872: sane[1] = @fpDefaultHalt -; libsrc/sane.pla: 0873: // -; libsrc/sane.pla: 0874: // Reset environment word -; libsrc/sane.pla: 0875: // -; libsrc/sane.pla: 0876: sane[9]() -; libsrc/sane.pla: 0877: sane[3]($0001, $0000) -; libsrc/sane.pla: 0878: return sane[10](0) - !BYTE $26 ; LA _D036+2 -_F123 !WORD _D036+2 - !BYTE $7A ; SAW _A003+1 -_F124 !WORD _A003+1 - !BYTE $26 ; LA _C000+0 -_F125 !WORD _C000+0 - !BYTE $7A ; SAW _D036+2 -_F126 !WORD _D036+2 - !BYTE $6A ; LAW _D036+18 -_F127 !WORD _D036+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D036+6 -_F128 !WORD _D036+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D036+20 -_F129 !WORD _D036+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/sane.pla: 0879: end -; libsrc/sane.pla: 0880: // -; libsrc/sane.pla: 0881: // Uninitialized placeholders of API -; libsrc/sane.pla: 0882: // -; libsrc/sane.pla: 0883: def uninit -_C008 ; uninit() -; libsrc/sane.pla: 0884: 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 -_F130 !WORD 0 -; libsrc/sane.pla: 0885: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/sane.pla: 0886: end -; libsrc/sane.pla: 0887: def uninit0() -_P002 ; uninit0()() -_C009 ; uninit0() -; libsrc/sane.pla: 0888: return uninit - !BYTE $54 ; CALL _C008 -_F131 !WORD _C008 - !BYTE $5C ; RET -; libsrc/sane.pla: 0889: end -; libsrc/sane.pla: 0890: def uninit1(op, dst) - ; op -> [0] - ; dst -> [2] -_P003 ; uninit1(op, dst)() -_C010 ; uninit1() -; libsrc/sane.pla: 0891: return uninit - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $54 ; CALL _C008 -_F132 !WORD _C008 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/sane.pla: 0892: end -; libsrc/sane.pla: 0893: def uninit2(op, dst, src) - ; op -> [0] - ; dst -> [2] - ; src -> [4] -_P004 ; uninit2(op, dst, src)() -_C011 ; uninit2() -; libsrc/sane.pla: 0894: return uninit - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $54 ; CALL _C008 -_F133 !WORD _C008 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/sane.pla: 0895: end -; libsrc/sane.pla: 0896: 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: 0897: return uninit - !BYTE $58,$08,$04 ; ENTER 8,4 - !BYTE $54 ; CALL _C008 -_F134 !WORD _C008 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/sane.pla: 0898: end -; libsrc/sane.pla: 0899: done -_INIT - !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 $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 28 ; 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 $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 4 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 14 ; 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 15 ; 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 14 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !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 $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/plasm b/src/plasm deleted file mode 100755 index cfe3644..0000000 Binary files a/src/plasm and /dev/null differ diff --git a/src/plvm b/src/plvm deleted file mode 100755 index a2a5cce..0000000 Binary files a/src/plvm and /dev/null differ diff --git a/src/rel/ARGS#FE1000 b/src/rel/ARGS#FE1000 deleted file mode 100644 index 63b00a0..0000000 Binary files a/src/rel/ARGS#FE1000 and /dev/null differ diff --git a/src/rel/CODEOPT#FE1000 b/src/rel/CODEOPT#FE1000 deleted file mode 100644 index e96ca08..0000000 Binary files a/src/rel/CODEOPT#FE1000 and /dev/null differ diff --git a/src/rel/DHCP#FE1000 b/src/rel/DHCP#FE1000 deleted file mode 100644 index 9036d47..0000000 Binary files a/src/rel/DHCP#FE1000 and /dev/null differ diff --git a/src/rel/ED#FE1000 b/src/rel/ED#FE1000 deleted file mode 100644 index 8910199..0000000 Binary files a/src/rel/ED#FE1000 and /dev/null differ diff --git a/src/rel/ETHERIP#FE1000 b/src/rel/ETHERIP#FE1000 deleted file mode 100644 index 2d17fd3..0000000 Binary files a/src/rel/ETHERIP#FE1000 and /dev/null differ diff --git a/src/rel/FIBER#FE1000 b/src/rel/FIBER#FE1000 deleted file mode 100644 index 3682ef4..0000000 Binary files a/src/rel/FIBER#FE1000 and /dev/null differ diff --git a/src/rel/FIBERTEST#FE1000 b/src/rel/FIBERTEST#FE1000 deleted file mode 100644 index db33300..0000000 Binary files a/src/rel/FIBERTEST#FE1000 and /dev/null differ diff --git a/src/rel/FPSTR#FE1000 b/src/rel/FPSTR#FE1000 deleted file mode 100644 index 96909ae..0000000 Binary files a/src/rel/FPSTR#FE1000 and /dev/null differ diff --git a/src/rel/FPU#FE1000 b/src/rel/FPU#FE1000 deleted file mode 100644 index c27308e..0000000 Binary files a/src/rel/FPU#FE1000 and /dev/null differ diff --git a/src/rel/HTTPD#FE1000 b/src/rel/HTTPD#FE1000 deleted file mode 100644 index 78be0a5..0000000 Binary files a/src/rel/HTTPD#FE1000 and /dev/null differ diff --git a/src/rel/INET#FE1000 b/src/rel/INET#FE1000 deleted file mode 100644 index b42c312..0000000 Binary files a/src/rel/INET#FE1000 and /dev/null differ diff --git a/src/rel/INT32#FE1000 b/src/rel/INT32#FE1000 deleted file mode 100644 index f3b6f3e..0000000 Binary files a/src/rel/INT32#FE1000 and /dev/null differ diff --git a/src/rel/INT32TEST#FE1000 b/src/rel/INT32TEST#FE1000 deleted file mode 100644 index ad86a6d..0000000 Binary files a/src/rel/INT32TEST#FE1000 and /dev/null differ diff --git a/src/rel/LINES#FE1000 b/src/rel/LINES#FE1000 deleted file mode 100644 index 5675711..0000000 Binary files a/src/rel/LINES#FE1000 and /dev/null differ diff --git a/src/rel/LONGJMP#FE1000 b/src/rel/LONGJMP#FE1000 deleted file mode 100644 index fa1a19e..0000000 Binary files a/src/rel/LONGJMP#FE1000 and /dev/null differ diff --git a/src/rel/LZ4#FE1000 b/src/rel/LZ4#FE1000 deleted file mode 100644 index 880760a..0000000 Binary files a/src/rel/LZ4#FE1000 and /dev/null differ diff --git a/src/rel/LZ4CAT#FE1000 b/src/rel/LZ4CAT#FE1000 deleted file mode 100644 index 962c029..0000000 Binary files a/src/rel/LZ4CAT#FE1000 and /dev/null differ diff --git a/src/rel/MEMMGR#FE1000 b/src/rel/MEMMGR#FE1000 deleted file mode 100644 index 80c58cd..0000000 Binary files a/src/rel/MEMMGR#FE1000 and /dev/null differ diff --git a/src/rel/MEMTEST#FE1000 b/src/rel/MEMTEST#FE1000 deleted file mode 100644 index 0315cc6..0000000 Binary files a/src/rel/MEMTEST#FE1000 and /dev/null differ diff --git a/src/rel/PLASM#FE1000 b/src/rel/PLASM#FE1000 deleted file mode 100644 index 8ea2932..0000000 Binary files a/src/rel/PLASM#FE1000 and /dev/null differ diff --git a/src/rel/PLFORTH#FE1000 b/src/rel/PLFORTH#FE1000 deleted file mode 100644 index b1c4706..0000000 Binary files a/src/rel/PLFORTH#FE1000 and /dev/null differ diff --git a/src/rel/PRIMEGAP#FE1000 b/src/rel/PRIMEGAP#FE1000 deleted file mode 100644 index c887d86..0000000 Binary files a/src/rel/PRIMEGAP#FE1000 and /dev/null differ diff --git a/src/rel/ROGUE#FE1000 b/src/rel/ROGUE#FE1000 deleted file mode 100644 index 3ac3965..0000000 Binary files a/src/rel/ROGUE#FE1000 and /dev/null differ diff --git a/src/rel/ROGUECOMBAT#FE1000 b/src/rel/ROGUECOMBAT#FE1000 deleted file mode 100644 index cd85120..0000000 Binary files a/src/rel/ROGUECOMBAT#FE1000 and /dev/null differ diff --git a/src/rel/ROGUEMAP#FE1000 b/src/rel/ROGUEMAP#FE1000 deleted file mode 100644 index 1aed444..0000000 Binary files a/src/rel/ROGUEMAP#FE1000 and /dev/null differ diff --git a/src/rel/RPNCALC#FE1000 b/src/rel/RPNCALC#FE1000 deleted file mode 100644 index 60989e0..0000000 Binary files a/src/rel/RPNCALC#FE1000 and /dev/null differ diff --git a/src/rel/SANE#FE1000 b/src/rel/SANE#FE1000 deleted file mode 100644 index 1f4145a..0000000 Binary files a/src/rel/SANE#FE1000 and /dev/null differ diff --git a/src/rel/SANITY#FE1000 b/src/rel/SANITY#FE1000 deleted file mode 100644 index fdcd8ba..0000000 Binary files a/src/rel/SANITY#FE1000 and /dev/null differ diff --git a/src/rel/SIEVE#FE1000 b/src/rel/SIEVE#FE1000 deleted file mode 100644 index 2254c02..0000000 Binary files a/src/rel/SIEVE#FE1000 and /dev/null differ diff --git a/src/rel/TFTPD#FE1000 b/src/rel/TFTPD#FE1000 deleted file mode 100644 index 6417596..0000000 Binary files a/src/rel/TFTPD#FE1000 and /dev/null differ diff --git a/src/rel/apple/A1PLASMA#060280 b/src/rel/apple/A1PLASMA#060280 deleted file mode 100644 index 7b77f3a..0000000 Binary files a/src/rel/apple/A1PLASMA#060280 and /dev/null differ diff --git a/src/rel/apple/CAT#FE1000 b/src/rel/apple/CAT#FE1000 deleted file mode 100644 index 117d20d..0000000 Binary files a/src/rel/apple/CAT#FE1000 and /dev/null differ diff --git a/src/rel/apple/CMD#061000 b/src/rel/apple/CMD#061000 deleted file mode 100644 index 3eca4f3..0000000 Binary files a/src/rel/apple/CMD#061000 and /dev/null differ diff --git a/src/rel/apple/CMD128#061000 b/src/rel/apple/CMD128#061000 deleted file mode 100644 index e720560..0000000 Binary files a/src/rel/apple/CMD128#061000 and /dev/null differ diff --git a/src/rel/apple/CONIO#FE1000 b/src/rel/apple/CONIO#FE1000 deleted file mode 100644 index 6402fd6..0000000 Binary files a/src/rel/apple/CONIO#FE1000 and /dev/null differ diff --git a/src/rel/apple/CONIOTST#FE1000 b/src/rel/apple/CONIOTST#FE1000 deleted file mode 100644 index 96155f8..0000000 Binary files a/src/rel/apple/CONIOTST#FE1000 and /dev/null differ diff --git a/src/rel/apple/COPY#FE1000 b/src/rel/apple/COPY#FE1000 deleted file mode 100644 index 37fbf9c..0000000 Binary files a/src/rel/apple/COPY#FE1000 and /dev/null differ diff --git a/src/rel/apple/DEL#FE1000 b/src/rel/apple/DEL#FE1000 deleted file mode 100644 index c722ef5..0000000 Binary files a/src/rel/apple/DEL#FE1000 and /dev/null differ diff --git a/src/rel/apple/DGRLIB#FE1000 b/src/rel/apple/DGRLIB#FE1000 deleted file mode 100644 index aa08333..0000000 Binary files a/src/rel/apple/DGRLIB#FE1000 and /dev/null differ diff --git a/src/rel/apple/DGRTEST#FE1000 b/src/rel/apple/DGRTEST#FE1000 deleted file mode 100644 index 3397ab4..0000000 Binary files a/src/rel/apple/DGRTEST#FE1000 and /dev/null differ diff --git a/src/rel/apple/FATCAT#FE1000 b/src/rel/apple/FATCAT#FE1000 deleted file mode 100644 index 34c0425..0000000 Binary files a/src/rel/apple/FATCAT#FE1000 and /dev/null differ diff --git a/src/rel/apple/FATGET#FE1000 b/src/rel/apple/FATGET#FE1000 deleted file mode 100644 index 27a88ed..0000000 Binary files a/src/rel/apple/FATGET#FE1000 and /dev/null differ diff --git a/src/rel/apple/FATPUT#FE1000 b/src/rel/apple/FATPUT#FE1000 deleted file mode 100644 index 3673bb5..0000000 Binary files a/src/rel/apple/FATPUT#FE1000 and /dev/null differ diff --git a/src/rel/apple/FATREADDSK#FE1000 b/src/rel/apple/FATREADDSK#FE1000 deleted file mode 100644 index b9b0b49..0000000 Binary files a/src/rel/apple/FATREADDSK#FE1000 and /dev/null differ diff --git a/src/rel/apple/FATWRITEDSK#FE1000 b/src/rel/apple/FATWRITEDSK#FE1000 deleted file mode 100644 index 4908536..0000000 Binary files a/src/rel/apple/FATWRITEDSK#FE1000 and /dev/null differ diff --git a/src/rel/apple/FILEIO#FE1000 b/src/rel/apple/FILEIO#FE1000 deleted file mode 100644 index 02208db..0000000 Binary files a/src/rel/apple/FILEIO#FE1000 and /dev/null differ diff --git a/src/rel/apple/GFXDEMO#FE1000 b/src/rel/apple/GFXDEMO#FE1000 deleted file mode 100644 index 2ee57b2..0000000 Binary files a/src/rel/apple/GFXDEMO#FE1000 and /dev/null differ diff --git a/src/rel/apple/GRAFIX#FE1000 b/src/rel/apple/GRAFIX#FE1000 deleted file mode 100644 index 4c8b6ab..0000000 Binary files a/src/rel/apple/GRAFIX#FE1000 and /dev/null differ diff --git a/src/rel/apple/GRLIB#FE1000 b/src/rel/apple/GRLIB#FE1000 deleted file mode 100644 index 1a5ccfe..0000000 Binary files a/src/rel/apple/GRLIB#FE1000 and /dev/null differ diff --git a/src/rel/apple/GRTEST#FE1000 b/src/rel/apple/GRTEST#FE1000 deleted file mode 100644 index bc07479..0000000 Binary files a/src/rel/apple/GRTEST#FE1000 and /dev/null differ diff --git a/src/rel/apple/HGRFONT#FE1000 b/src/rel/apple/HGRFONT#FE1000 deleted file mode 100644 index 210284a..0000000 Binary files a/src/rel/apple/HGRFONT#FE1000 and /dev/null differ diff --git a/src/rel/apple/HGRLIB#FE1000 b/src/rel/apple/HGRLIB#FE1000 deleted file mode 100644 index 2289f7c..0000000 Binary files a/src/rel/apple/HGRLIB#FE1000 and /dev/null differ diff --git a/src/rel/apple/HGRSPRITE#FE1000 b/src/rel/apple/HGRSPRITE#FE1000 deleted file mode 100644 index c8622b4..0000000 Binary files a/src/rel/apple/HGRSPRITE#FE1000 and /dev/null differ diff --git a/src/rel/apple/HGRTEST#FE1000 b/src/rel/apple/HGRTEST#FE1000 deleted file mode 100644 index aa1e494..0000000 Binary files a/src/rel/apple/HGRTEST#FE1000 and /dev/null differ diff --git a/src/rel/apple/HGRTILE#FE1000 b/src/rel/apple/HGRTILE#FE1000 deleted file mode 100644 index 2572d19..0000000 Binary files a/src/rel/apple/HGRTILE#FE1000 and /dev/null differ diff --git a/src/rel/apple/JIT#FE1000 b/src/rel/apple/JIT#FE1000 deleted file mode 100644 index 9289502..0000000 Binary files a/src/rel/apple/JIT#FE1000 and /dev/null differ diff --git a/src/rel/apple/JIT16#FE1000 b/src/rel/apple/JIT16#FE1000 deleted file mode 100644 index 855d3ed..0000000 Binary files a/src/rel/apple/JIT16#FE1000 and /dev/null differ diff --git a/src/rel/apple/JITUNE#FE1000 b/src/rel/apple/JITUNE#FE1000 deleted file mode 100644 index cfb9d00..0000000 Binary files a/src/rel/apple/JITUNE#FE1000 and /dev/null differ diff --git a/src/rel/apple/JOYBUZZ#FE1000 b/src/rel/apple/JOYBUZZ#FE1000 deleted file mode 100644 index 8cdefaf..0000000 Binary files a/src/rel/apple/JOYBUZZ#FE1000 and /dev/null differ diff --git a/src/rel/apple/MATCHFILES#FE1000 b/src/rel/apple/MATCHFILES#FE1000 deleted file mode 100644 index 92b3593..0000000 Binary files a/src/rel/apple/MATCHFILES#FE1000 and /dev/null differ diff --git a/src/rel/apple/MON#FE1000 b/src/rel/apple/MON#FE1000 deleted file mode 100644 index fc595d1..0000000 Binary files a/src/rel/apple/MON#FE1000 and /dev/null differ diff --git a/src/rel/apple/MOUSE#FE1000 b/src/rel/apple/MOUSE#FE1000 deleted file mode 100644 index dac4821..0000000 Binary files a/src/rel/apple/MOUSE#FE1000 and /dev/null differ diff --git a/src/rel/apple/NEWDIR#FE1000 b/src/rel/apple/NEWDIR#FE1000 deleted file mode 100644 index 81a09b7..0000000 Binary files a/src/rel/apple/NEWDIR#FE1000 and /dev/null differ diff --git a/src/rel/apple/PLASMA.SYSTEM#FF2000 b/src/rel/apple/PLASMA.SYSTEM#FF2000 deleted file mode 100644 index 0e401b0..0000000 Binary files a/src/rel/apple/PLASMA.SYSTEM#FF2000 and /dev/null differ diff --git a/src/rel/apple/PLAYSEQ#FE1000 b/src/rel/apple/PLAYSEQ#FE1000 deleted file mode 100644 index c9f9359..0000000 Binary files a/src/rel/apple/PLAYSEQ#FE1000 and /dev/null differ diff --git a/src/rel/apple/PLVM.128#FF2000 b/src/rel/apple/PLVM.128#FF2000 deleted file mode 100644 index a71f1db..0000000 Binary files a/src/rel/apple/PLVM.128#FF2000 and /dev/null differ diff --git a/src/rel/apple/PLVM16#FF2000 b/src/rel/apple/PLVM16#FF2000 deleted file mode 100644 index 9e75d48..0000000 Binary files a/src/rel/apple/PLVM16#FF2000 and /dev/null differ diff --git a/src/rel/apple/PORTIO#FE1000 b/src/rel/apple/PORTIO#FE1000 deleted file mode 100644 index 44d75a8..0000000 Binary files a/src/rel/apple/PORTIO#FE1000 and /dev/null differ diff --git a/src/rel/apple/REN#FE1000 b/src/rel/apple/REN#FE1000 deleted file mode 100644 index 952b6c3..0000000 Binary files a/src/rel/apple/REN#FE1000 and /dev/null differ diff --git a/src/rel/apple/ROD#FE1000 b/src/rel/apple/ROD#FE1000 deleted file mode 100644 index d7c86c0..0000000 Binary files a/src/rel/apple/ROD#FE1000 and /dev/null differ diff --git a/src/rel/apple/SDFAT#FE1000 b/src/rel/apple/SDFAT#FE1000 deleted file mode 100644 index 173fb3e..0000000 Binary files a/src/rel/apple/SDFAT#FE1000 and /dev/null differ diff --git a/src/rel/apple/SFM#FE1000 b/src/rel/apple/SFM#FE1000 deleted file mode 100644 index 393a9e6..0000000 Binary files a/src/rel/apple/SFM#FE1000 and /dev/null differ diff --git a/src/rel/apple/SFMSPRT#FE1000 b/src/rel/apple/SFMSPRT#FE1000 deleted file mode 100644 index 8934f8b..0000000 Binary files a/src/rel/apple/SFMSPRT#FE1000 and /dev/null differ diff --git a/src/rel/apple/SNDSEQ#FE1000 b/src/rel/apple/SNDSEQ#FE1000 deleted file mode 100644 index 43751c9..0000000 Binary files a/src/rel/apple/SNDSEQ#FE1000 and /dev/null differ diff --git a/src/rel/apple/SOS#FE1000 b/src/rel/apple/SOS#FE1000 deleted file mode 100644 index ed96ca1..0000000 Binary files a/src/rel/apple/SOS#FE1000 and /dev/null differ diff --git a/src/rel/apple/SOS.CMD#FE1000 b/src/rel/apple/SOS.CMD#FE1000 deleted file mode 100644 index 653e73c..0000000 Binary files a/src/rel/apple/SOS.CMD#FE1000 and /dev/null differ diff --git a/src/rel/apple/SOS.CMDJIT#FE1000 b/src/rel/apple/SOS.CMDJIT#FE1000 deleted file mode 100644 index ffcdac1..0000000 Binary files a/src/rel/apple/SOS.CMDJIT#FE1000 and /dev/null differ diff --git a/src/rel/apple/SOS.INTERP#050000 b/src/rel/apple/SOS.INTERP#050000 deleted file mode 100644 index f085c32..0000000 Binary files a/src/rel/apple/SOS.INTERP#050000 and /dev/null differ diff --git a/src/rel/apple/SOS.INTERPJIT#050000 b/src/rel/apple/SOS.INTERPJIT#050000 deleted file mode 100644 index fc53a13..0000000 Binary files a/src/rel/apple/SOS.INTERPJIT#050000 and /dev/null differ diff --git a/src/rel/apple/SPIPORT#FE1000 b/src/rel/apple/SPIPORT#FE1000 deleted file mode 100644 index bf89759..0000000 Binary files a/src/rel/apple/SPIPORT#FE1000 and /dev/null differ diff --git a/src/rel/apple/TILETEST#FE1000 b/src/rel/apple/TILETEST#FE1000 deleted file mode 100644 index a8ab15b..0000000 Binary files a/src/rel/apple/TILETEST#FE1000 and /dev/null differ diff --git a/src/rel/apple/TYPE#FE1000 b/src/rel/apple/TYPE#FE1000 deleted file mode 100644 index e2496d1..0000000 Binary files a/src/rel/apple/TYPE#FE1000 and /dev/null differ diff --git a/src/rel/apple/UTHERNET#FE1000 b/src/rel/apple/UTHERNET#FE1000 deleted file mode 100644 index 12f57cb..0000000 Binary files a/src/rel/apple/UTHERNET#FE1000 and /dev/null differ diff --git a/src/rel/apple/UTHERNET2#FE1000 b/src/rel/apple/UTHERNET2#FE1000 deleted file mode 100644 index 4bce287..0000000 Binary files a/src/rel/apple/UTHERNET2#FE1000 and /dev/null differ diff --git a/src/rel/apple/ZIPCHIP#FE1000 b/src/rel/apple/ZIPCHIP#FE1000 deleted file mode 100644 index 36c5896..0000000 Binary files a/src/rel/apple/ZIPCHIP#FE1000 and /dev/null differ diff --git a/src/samplesrc/coniotst.a b/src/samplesrc/coniotst.a deleted file mode 100644 index 5d836c2..0000000 --- a/src/samplesrc/coniotst.a +++ /dev/null @@ -1,456 +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/coniotst.pla: 0001: // text screen -; samplesrc/coniotst.pla: 0002: 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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: end -; samplesrc/coniotst.pla: 0002: -; samplesrc/coniotst.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: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0003: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0004: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0005: const ECHO_ON = $80 - ; ECHO_ON = 128 -; inc/conio.plh: 0006: const ECHO_OFF = $00 - ; ECHO_OFF = 0 -; inc/conio.plh: 0007: struc t_conio -; inc/conio.plh: 0008: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0009: word getkey - ; getkey = 2 -; inc/conio.plh: 0010: word echo - ; echo = 4 -; inc/conio.plh: 0011: word home - ; home = 6 -; inc/conio.plh: 0012: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0013: word viewport - ; viewport = 10 -; inc/conio.plh: 0014: word texttype - ; texttype = 12 -; inc/conio.plh: 0015: word textmode - ; textmode = 14 -; inc/conio.plh: 0016: word grmode - ; grmode = 16 -; inc/conio.plh: 0017: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0018: word grplot - ; grplot = 20 -; inc/conio.plh: 0019: word tone - ; tone = 22 -; inc/conio.plh: 0020: word rnd - ; rnd = 24 -; inc/conio.plh: 0021: end - ; t_conio = 26 -; inc/conio.plh: 0022: end -; samplesrc/coniotst.pla: 0003: -; samplesrc/coniotst.pla: 0004: const SCR_PTR = $0400 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; SCR_PTR = 1024 -; samplesrc/coniotst.pla: 0005: const SCR_SIZE = 1024 - ; SCR_SIZE = 1024 -; samplesrc/coniotst.pla: 0006: -; samplesrc/coniotst.pla: 0007: byte[SCR_SIZE] ScrSave -_D029 !FILL 1024 ; ScrSave -; samplesrc/coniotst.pla: 0008: byte I -_D030 !FILL 1 ; I -; samplesrc/coniotst.pla: 0009: word Name -_D031 !FILL 2 ; Name -; samplesrc/coniotst.pla: 0010: -; samplesrc/coniotst.pla: 0011: // save text screen -; samplesrc/coniotst.pla: 0012: memcpy(@ScrSave, SCR_PTR, SCR_SIZE) -_SUBSEG ; BYTECODE STARTS -_INIT -; samplesrc/coniotst.pla: 0013: conio:home() -; samplesrc/coniotst.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 $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/coniotst.pla: 0015: conio:gotoxy(I,I) -; samplesrc/coniotst.pla: 0016: putc('A'+I) -; samplesrc/coniotst.pla: 0017: putc(' ') -; samplesrc/coniotst.pla: 0018: puti(I) -; samplesrc/coniotst.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/coniotst.pla: 0020: conio:gotoxy(10, 5) -; samplesrc/coniotst.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/coniotst.pla: 0022: Name = gets('?'|$80) // $BF -; samplesrc/coniotst.pla: 0023: conio:gotoxy(12, 7) -; samplesrc/coniotst.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/coniotst.pla: 0025: puts(Name) -; samplesrc/coniotst.pla: 0026: conio:gotoxy(16, 10) -; samplesrc/coniotst.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/coniotst.pla: 0028: getc() -; samplesrc/coniotst.pla: 0029: conio:gotoxy(0, 5) -; samplesrc/coniotst.pla: 0030: memcpy(SCR_PTR, @ScrSave, SCR_SIZE) -; samplesrc/coniotst.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 bc5a722..0000000 --- a/src/samplesrc/dgrtest.a +++ /dev/null @@ -1,639 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 dgrVLB#0 - ; DGRVLB -> X036 -; inc/dgrlib.plh: 0010: predef dgrClear(clr)#0 - ; DGRCLEAR -> X037 -; inc/dgrlib.plh: 0011: predef dgrMode(mode)#1 - ; DGRMODE -> X038 -; inc/dgrlib.plh: 0012: predef dgrShow(page)#1 - ; DGRSHOW -> X039 -; inc/dgrlib.plh: 0013: predef dgrSwap#0 - ; DGRSWAP -> X040 -; inc/dgrlib.plh: 0014: predef dgrDrawBuf(page)#0 - ; DGRDRAWBUF -> X041 -; inc/dgrlib.plh: 0015: predef dgrColor(clr)#0 - ; DGRCOLOR -> X042 -; inc/dgrlib.plh: 0016: end -; samplesrc/dgrtest.pla: 0002: -; samplesrc/dgrtest.pla: 0003: include "inc/lines.plh" -; inc/lines.plh: 0001: import lines - ; DCI STRING: LINES - !BYTE $CC,$C9,$CE,$C5,$53 - ; LINES -> X043 -; inc/lines.plh: 0002: predef setlinespans(h, v)#0 - ; SETLINESPANS -> X044 -; inc/lines.plh: 0003: predef linespans(x1, y1, x2, y2)#0 - ; LINESPANS -> X045 -; inc/lines.plh: 0004: predef setlineplot(p)#0 - ; SETLINEPLOT -> X046 -; inc/lines.plh: 0005: predef line(x1, y1, x2, y2)#0 - ; LINE -> X047 -; inc/lines.plh: 0006: end -; samplesrc/dgrtest.pla: 0003: -; samplesrc/dgrtest.pla: 0004: sysflags restxt1|restxt2|resxtxt1|resxtxt2 // Reserve all text pages - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $000F ; SYSTEM FLAGS -; samplesrc/dgrtest.pla: 0005: -; samplesrc/dgrtest.pla: 0006: byte[] sprite1 = $80,$80,$00,$00,$00,$00,$80,$80 -_D048 ; 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: 0007: 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: 0008: 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: 0009: 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: 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,$0F,$0F,$0F,$0A,$00 - !BYTE $00 - !BYTE $0A - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0A - !BYTE $00 -; samplesrc/dgrtest.pla: 0012: 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: 0013: 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: 0014: -; samplesrc/dgrtest.pla: 0015: byte[] tile1 = $88,$11,$88,$11,$88,$11,$AA,$00 -_D049 ; 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: 0016: 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: 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[] = $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: 0019: -; samplesrc/dgrtest.pla: 0020: // -; samplesrc/dgrtest.pla: 0021: // Test routine -; samplesrc/dgrtest.pla: 0022: // -; samplesrc/dgrtest.pla: 0023: def dgrTest#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; dgrTest() -; samplesrc/dgrtest.pla: 0024: byte b, l, k - ; b -> [0] - ; l -> [1] - ; k -> [2] -; samplesrc/dgrtest.pla: 0025: word i, j, ii, ij - ; i -> [3] - ; j -> [5] - ; ii -> [7] - ; ij -> [9] -; samplesrc/dgrtest.pla: 0026: -; samplesrc/dgrtest.pla: 0027: b = dgrMode(TRUE) - !BYTE $58,$0B,$00 ; ENTER 11,0 -; samplesrc/dgrtest.pla: 0028: dgrDrawBuf(0) -; samplesrc/dgrtest.pla: 0029: for k = 15 downto 0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X038 -_F000 !WORD 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X041 -_F001 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $1E ; CN 15 -_B002 - !BYTE $6C,$02 ; DLB [2] -; samplesrc/dgrtest.pla: 0030: dgrClear(k) -; samplesrc/dgrtest.pla: 0031: next - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X037 -_F002 !WORD 0 -_B003 - !BYTE $A8 ; DECBRGE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; samplesrc/dgrtest.pla: 0032: setlinespans(@dgrHLin, @dgrVLin) -; samplesrc/dgrtest.pla: 0033: 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 _X044 -_F005 !WORD 0 - !BYTE $2A,$4F ; CB 79 - !BYTE $00 ; CN 0 -_B005 - !BYTE $6C,$01 ; DLB [1] -; samplesrc/dgrtest.pla: 0034: dgrColor(l) -; samplesrc/dgrtest.pla: 0035: linespans(0, 0, l, 47) -; samplesrc/dgrtest.pla: 0036: next - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X042 -_F006 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $64,$01 ; LLB [1] - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X045 -_F007 !WORD 0 -_B006 - !BYTE $A4 ; INCBRLE _B005 - !WORD _B005-* -_B004 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; samplesrc/dgrtest.pla: 0037: for l = 47 downto 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$2F ; CB 47 -_B008 - !BYTE $6C,$01 ; DLB [1] -; samplesrc/dgrtest.pla: 0038: dgrColor(l) -; samplesrc/dgrtest.pla: 0039: linespans(0, 0, 79, l) -; samplesrc/dgrtest.pla: 0040: next - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X042 -_F008 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$4F ; CB 79 - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X045 -_F009 !WORD 0 -_B009 - !BYTE $A8 ; DECBRGE _B008 - !WORD _B008-* -_B007 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; samplesrc/dgrtest.pla: 0041: ii = 2 -; samplesrc/dgrtest.pla: 0042: ij = -1 -; samplesrc/dgrtest.pla: 0043: i = 40 -; samplesrc/dgrtest.pla: 0044: j = 10 -; samplesrc/dgrtest.pla: 0045: ^$C010 -; samplesrc/dgrtest.pla: 0046: dgrDrawBuf(1) -; samplesrc/dgrtest.pla: 0047: 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 _X041 -_F010 !WORD 0 - !BYTE $50 ; BRNCH _B012 - !WORD _B012-* -_B010 -; samplesrc/dgrtest.pla: 0048: dgrFill(k, k, @tile1) -; samplesrc/dgrtest.pla: 0049: dgrBLT(i, j, 8, 8, @sprite1) -; samplesrc/dgrtest.pla: 0050: dgrSwap -; samplesrc/dgrtest.pla: 0051: k++ - !BYTE $64,$02 ; LLB [2] - !BYTE $34 ; DUP - !BYTE $26 ; LA _D049+0 -_F011 !WORD _D049+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 _D048+0 -_F013 !WORD _D048+0 - !BYTE $54 ; CALL _X032 -_F014 !WORD 0 - !BYTE $54 ; CALL _X040 -_F015 !WORD 0 - !BYTE $64,$02 ; LLB [2] - !BYTE $8C ; INCR -; samplesrc/dgrtest.pla: 0052: i = i + ii -; samplesrc/dgrtest.pla: 0053: if i < -3 or i > 75 -; samplesrc/dgrtest.pla: 0054: ii = -ii -; samplesrc/dgrtest.pla: 0055: 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: 0056: j = j + ij -; samplesrc/dgrtest.pla: 0057: if j < -3 or j > 43 -; samplesrc/dgrtest.pla: 0058: ij = -ij -; samplesrc/dgrtest.pla: 0059: 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: 0060: 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: 0061: ^$C010 -; samplesrc/dgrtest.pla: 0062: dgrMode(FALSE) -; samplesrc/dgrtest.pla: 0063: end - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X038 -_F016 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$0B ; LEAVE 11 -; samplesrc/dgrtest.pla: 0064: -; samplesrc/dgrtest.pla: 0065: dgrTest -_INIT -; samplesrc/dgrtest.pla: 0066: done - !BYTE $54 ; CALL _C000 -_F017 !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 38 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 37 ; 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 44 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 41 ; 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 40 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 38 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_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 37 ; ESD INDEX - ; DCI STRING: DGRMODE - !BYTE $C4,$C7,$D2,$CD,$CF,$C4,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 38 ; ESD INDEX - ; DCI STRING: DGRSWAP - !BYTE $C4,$C7,$D2,$D3,$D7,$C1,$50 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - ; DCI STRING: DGRDRAWBUF - !BYTE $C4,$C7,$D2,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 41 ; ESD INDEX - ; DCI STRING: DGRCOLOR - !BYTE $C4,$C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 42 ; ESD INDEX - ; DCI STRING: SETLINESPANS - !BYTE $D3,$C5,$D4,$CC,$C9,$CE,$C5,$D3,$D0,$C1,$CE,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 44 ; ESD INDEX - ; DCI STRING: LINESPANS - !BYTE $CC,$C9,$CE,$C5,$D3,$D0,$C1,$CE,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 45 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/fatcat.a b/src/samplesrc/fatcat.a deleted file mode 100644 index a787856..0000000 --- a/src/samplesrc/fatcat.a +++ /dev/null @@ -1,690 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 2aa4c0f..0000000 --- a/src/samplesrc/fatget.a +++ /dev/null @@ -1,1471 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0080: 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 1c7bcbb..0000000 --- a/src/samplesrc/fatput.a +++ /dev/null @@ -1,1204 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0080: 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 31ca9f5..0000000 --- a/src/samplesrc/fatreaddsk.a +++ /dev/null @@ -1,1435 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0080: 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 5f26347..0000000 --- a/src/samplesrc/fatwritedsk.a +++ /dev/null @@ -1,1438 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0080: 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 1002499..0000000 --- a/src/samplesrc/fibertest.a +++ /dev/null @@ -1,329 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 6dbe214..0000000 --- a/src/samplesrc/gfxdemo.a +++ /dev/null @@ -1,599 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0080: 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 d992421..0000000 --- a/src/samplesrc/grtest.a +++ /dev/null @@ -1,639 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 dgrVLB#0 - ; DGRVLB -> X036 -; inc/grlib.plh: 0010: predef grClear(clr)#0 - ; GRCLEAR -> X037 -; inc/grlib.plh: 0011: predef grMode(mode)#1 - ; GRMODE -> X038 -; inc/grlib.plh: 0012: predef grShow(page)#1 - ; GRSHOW -> X039 -; inc/grlib.plh: 0013: predef grSwap#0 - ; GRSWAP -> X040 -; inc/grlib.plh: 0014: predef grDrawBuf(page)#0 - ; GRDRAWBUF -> X041 -; inc/grlib.plh: 0015: predef grColor(clr)#0 - ; GRCOLOR -> X042 -; inc/grlib.plh: 0016: end -; samplesrc/grtest.pla: 0002: -; samplesrc/grtest.pla: 0003: include "inc/lines.plh" -; inc/lines.plh: 0001: import lines - ; DCI STRING: LINES - !BYTE $CC,$C9,$CE,$C5,$53 - ; LINES -> X043 -; inc/lines.plh: 0002: predef setlinespans(h, v)#0 - ; SETLINESPANS -> X044 -; inc/lines.plh: 0003: predef linespans(x1, y1, x2, y2)#0 - ; LINESPANS -> X045 -; inc/lines.plh: 0004: predef setlineplot(p)#0 - ; SETLINEPLOT -> X046 -; inc/lines.plh: 0005: predef line(x1, y1, x2, y2)#0 - ; LINE -> X047 -; inc/lines.plh: 0006: end -; samplesrc/grtest.pla: 0003: -; samplesrc/grtest.pla: 0004: sysflags restxt1|restxt2 // Reserve all text pages - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0003 ; SYSTEM FLAGS -; samplesrc/grtest.pla: 0005: -; samplesrc/grtest.pla: 0006: byte[] sprite1 = $80,$80,$00,$00,$00,$00,$80,$80 -_D048 ; 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: 0007: 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: 0008: 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: 0009: 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: 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,$0F,$0F,$0F,$0A,$00 - !BYTE $00 - !BYTE $0A - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0A - !BYTE $00 -; samplesrc/grtest.pla: 0012: 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: 0013: 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: 0014: -; samplesrc/grtest.pla: 0015: byte[] tile1 = $11,$11,$11,$11,$11,$11,$55,$00 -_D049 ; 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: 0016: 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: 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[] = $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: 0019: -; samplesrc/grtest.pla: 0020: // -; samplesrc/grtest.pla: 0021: // Test routine -; samplesrc/grtest.pla: 0022: // -; samplesrc/grtest.pla: 0023: def grTest#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; grTest() -; samplesrc/grtest.pla: 0024: byte b, l, k - ; b -> [0] - ; l -> [1] - ; k -> [2] -; samplesrc/grtest.pla: 0025: word i, j, ii, ij - ; i -> [3] - ; j -> [5] - ; ii -> [7] - ; ij -> [9] -; samplesrc/grtest.pla: 0026: -; samplesrc/grtest.pla: 0027: b = grMode(TRUE) - !BYTE $58,$0B,$00 ; ENTER 11,0 -; samplesrc/grtest.pla: 0028: grDrawBuf(0) -; samplesrc/grtest.pla: 0029: for k = 15 downto 0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X038 -_F000 !WORD 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X041 -_F001 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $1E ; CN 15 -_B002 - !BYTE $6C,$02 ; DLB [2] -; samplesrc/grtest.pla: 0030: grClear(k) -; samplesrc/grtest.pla: 0031: next - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X037 -_F002 !WORD 0 -_B003 - !BYTE $A8 ; DECBRGE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; samplesrc/grtest.pla: 0032: setlinespans(@grHLin, @grVLin) -; samplesrc/grtest.pla: 0033: 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 _X044 -_F005 !WORD 0 - !BYTE $2A,$27 ; CB 39 - !BYTE $00 ; CN 0 -_B005 - !BYTE $6C,$01 ; DLB [1] -; samplesrc/grtest.pla: 0034: grColor(l) -; samplesrc/grtest.pla: 0035: linespans(0, 0, l, 47) -; samplesrc/grtest.pla: 0036: next - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X042 -_F006 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $64,$01 ; LLB [1] - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X045 -_F007 !WORD 0 -_B006 - !BYTE $A4 ; INCBRLE _B005 - !WORD _B005-* -_B004 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; samplesrc/grtest.pla: 0037: for l = 47 downto 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$2F ; CB 47 -_B008 - !BYTE $6C,$01 ; DLB [1] -; samplesrc/grtest.pla: 0038: grColor(l) -; samplesrc/grtest.pla: 0039: linespans(0, 0, 39, l) -; samplesrc/grtest.pla: 0040: next - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X042 -_F008 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$27 ; CB 39 - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X045 -_F009 !WORD 0 -_B009 - !BYTE $A8 ; DECBRGE _B008 - !WORD _B008-* -_B007 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; samplesrc/grtest.pla: 0041: ii = 2 -; samplesrc/grtest.pla: 0042: ij = -1 -; samplesrc/grtest.pla: 0043: i = 20 -; samplesrc/grtest.pla: 0044: j = 10 -; samplesrc/grtest.pla: 0045: ^$C010 -; samplesrc/grtest.pla: 0046: grDrawBuf(1) -; samplesrc/grtest.pla: 0047: 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 _X041 -_F010 !WORD 0 - !BYTE $50 ; BRNCH _B012 - !WORD _B012-* -_B010 -; samplesrc/grtest.pla: 0048: grFill(k, k, @tile1) -; samplesrc/grtest.pla: 0049: grBLT(i, j, 8, 8, @sprite1) -; samplesrc/grtest.pla: 0050: grSwap -; samplesrc/grtest.pla: 0051: k++ - !BYTE $64,$02 ; LLB [2] - !BYTE $34 ; DUP - !BYTE $26 ; LA _D049+0 -_F011 !WORD _D049+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 _D048+0 -_F013 !WORD _D048+0 - !BYTE $54 ; CALL _X032 -_F014 !WORD 0 - !BYTE $54 ; CALL _X040 -_F015 !WORD 0 - !BYTE $64,$02 ; LLB [2] - !BYTE $8C ; INCR -; samplesrc/grtest.pla: 0052: i = i + ii -; samplesrc/grtest.pla: 0053: if i < -3 or i > 35 -; samplesrc/grtest.pla: 0054: ii = -ii -; samplesrc/grtest.pla: 0055: 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: 0056: j = j + ij -; samplesrc/grtest.pla: 0057: if j < -3 or j > 43 -; samplesrc/grtest.pla: 0058: ij = -ij -; samplesrc/grtest.pla: 0059: 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: 0060: 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: 0061: ^$C010 -; samplesrc/grtest.pla: 0062: grMode(FALSE) -; samplesrc/grtest.pla: 0063: end - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X038 -_F016 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$0B ; LEAVE 11 -; samplesrc/grtest.pla: 0064: -; samplesrc/grtest.pla: 0065: grTest -_INIT -; samplesrc/grtest.pla: 0066: done - !BYTE $54 ; CALL _C000 -_F017 !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 38 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 37 ; 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 44 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 41 ; 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 40 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 38 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_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 37 ; ESD INDEX - ; DCI STRING: GRMODE - !BYTE $C7,$D2,$CD,$CF,$C4,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 38 ; ESD INDEX - ; DCI STRING: GRSWAP - !BYTE $C7,$D2,$D3,$D7,$C1,$50 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - ; DCI STRING: GRDRAWBUF - !BYTE $C7,$D2,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 41 ; ESD INDEX - ; DCI STRING: GRCOLOR - !BYTE $C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 42 ; ESD INDEX - ; DCI STRING: SETLINESPANS - !BYTE $D3,$C5,$D4,$CC,$C9,$CE,$C5,$D3,$D0,$C1,$CE,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 44 ; ESD INDEX - ; DCI STRING: LINESPANS - !BYTE $CC,$C9,$CE,$C5,$D3,$D0,$C1,$CE,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 45 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/hgrtest.a b/src/samplesrc/hgrtest.a deleted file mode 100644 index 01ca68e..0000000 --- a/src/samplesrc/hgrtest.a +++ /dev/null @@ -1,883 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: 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(TRUE) -_INIT -; samplesrc/hgrtest.pla: 0069: spriteDrawBuf(hgrDrawBuf(0)) // 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(1)) -; samplesrc/hgrtest.pla: 0076: spriteAdd(0, sprtBall) -; samplesrc/hgrtest.pla: 0077: testblt(16) -; samplesrc/hgrtest.pla: 0078: getc -; samplesrc/hgrtest.pla: 0079: hgrMode(FALSE) -; samplesrc/hgrtest.pla: 0080: done - !BYTE $20 ; MINUS ONE - !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 $00 ; CN 0 - !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 d9e450c..0000000 --- a/src/samplesrc/httpd.a +++ /dev/null @@ -1,1643 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X030 -; inc/fileio.plh: 0080: 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: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0003: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0004: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0005: const ECHO_ON = $80 - ; ECHO_ON = 128 -; inc/conio.plh: 0006: const ECHO_OFF = $00 - ; ECHO_OFF = 0 -; inc/conio.plh: 0007: struc t_conio -; inc/conio.plh: 0008: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0009: word getkey - ; getkey = 2 -; inc/conio.plh: 0010: word echo - ; echo = 4 -; inc/conio.plh: 0011: word home - ; home = 6 -; inc/conio.plh: 0012: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0013: word viewport - ; viewport = 10 -; inc/conio.plh: 0014: word texttype - ; texttype = 12 -; inc/conio.plh: 0015: word textmode - ; textmode = 14 -; inc/conio.plh: 0016: word grmode - ; grmode = 16 -; inc/conio.plh: 0017: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0018: word grplot - ; grplot = 20 -; inc/conio.plh: 0019: word tone - ; tone = 22 -; inc/conio.plh: 0020: word rnd - ; rnd = 24 -; inc/conio.plh: 0021: end - ; t_conio = 26 -; inc/conio.plh: 0022: 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 3a94411..0000000 --- a/src/samplesrc/int32test.a +++ /dev/null @@ -1,747 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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/lz4cat.a b/src/samplesrc/lz4cat.a deleted file mode 100644 index cb0f68a..0000000 --- a/src/samplesrc/lz4cat.a +++ /dev/null @@ -1,926 +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/lz4cat.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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: end -; samplesrc/lz4cat.pla: 0001: -; samplesrc/lz4cat.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/lz4cat.pla: 0002: -; samplesrc/lz4cat.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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0080: end -; samplesrc/lz4cat.pla: 0003: -; samplesrc/lz4cat.pla: 0004: include "inc/lz4.plh" -; inc/lz4.plh: 0001: import lz4 - ; DCI STRING: LZ4 - !BYTE $CC,$DA,$34 - ; LZ4 -> X033 -; inc/lz4.plh: 0002: predef lz4Unpack(seq, seqend, buff, buffend) - ; LZ4UNPACK -> X034 -; inc/lz4.plh: 0003: end -; samplesrc/lz4cat.pla: 0004: -; samplesrc/lz4cat.pla: 0005: -; samplesrc/lz4cat.pla: 0006: struc t_header - !BYTE $00 ; END OF MODULE DEPENDENCIES -; samplesrc/lz4cat.pla: 0007: word magic[2] - ; magic = 0 -; samplesrc/lz4cat.pla: 0008: byte FLG - ; FLG = 4 -; samplesrc/lz4cat.pla: 0009: byte BD - ; BD = 5 -; samplesrc/lz4cat.pla: 0010: end - ; t_header = 6 -; samplesrc/lz4cat.pla: 0011: word arg -_D035 !FILL 2 ; arg -; samplesrc/lz4cat.pla: 0012: byte ref -_D036 !FILL 1 ; ref -; samplesrc/lz4cat.pla: 0013: -; samplesrc/lz4cat.pla: 0014: def lz4ReadBlock(flags)#2 -_SUBSEG ; BYTECODE STARTS - ; flags -> [0] -_C000 ; lz4ReadBlock() -; samplesrc/lz4cat.pla: 0015: word size[2], block, data, len - ; size -> [2] - ; block -> [6] - ; data -> [8] - ; len -> [10] -; samplesrc/lz4cat.pla: 0016: -; samplesrc/lz4cat.pla: 0017: len = fileio:read(ref, @size, 4) - !BYTE $58,$0C,$01 ; ENTER 12,1 -; samplesrc/lz4cat.pla: 0018: if len <> 4 or size[0] == 0 or size[1] & $7FFF -; samplesrc/lz4cat.pla: 0019: return NULL, 0 - !BYTE $68 ; LAB _D036+0 -_F000 !WORD _D036+0 - !BYTE $28,$02 ; LLA [2] - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X031+18 -_F001 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6E,$0A ; DLW [10] - !BYTE $08 ; CN 4 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B001 - !WORD _B001-* - !BYTE $66,$02 ; LLW [2] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B002 - !WORD _B002-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND -_B002 -_B001 - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0C ; LEAVE 12 -; samplesrc/lz4cat.pla: 0020: fin -_B003 -_B004 -; samplesrc/lz4cat.pla: 0021: block = heapalloc(size[0]) -; samplesrc/lz4cat.pla: 0022: if block -; samplesrc/lz4cat.pla: 0023: len = fileio:read(ref, block, size[0]) -; samplesrc/lz4cat.pla: 0024: if len <> size[0] -; samplesrc/lz4cat.pla: 0025: heaprelease(block) -; samplesrc/lz4cat.pla: 0026: return NULL, 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X014 -_F002 !WORD 0 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $68 ; LAB _D036+0 -_F003 !WORD _D036+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X031+18 -_F004 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6E,$0A ; DLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $22 ; BREQ _B007 - !WORD _B007-* - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X015 -_F005 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0C ; LEAVE 12 -; samplesrc/lz4cat.pla: 0027: fin -_B007 -_B008 -; samplesrc/lz4cat.pla: 0028: else - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B005 -; samplesrc/lz4cat.pla: 0029: return NULL, 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0C ; LEAVE 12 -; samplesrc/lz4cat.pla: 0030: fin -_B006 -; samplesrc/lz4cat.pla: 0031: if size[1] & $8000 -; samplesrc/lz4cat.pla: 0032: // -; samplesrc/lz4cat.pla: 0033: // Uncompressed block -; samplesrc/lz4cat.pla: 0034: // -; samplesrc/lz4cat.pla: 0035: data = block -; samplesrc/lz4cat.pla: 0036: else - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $66,$06 ; LLW [6] - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -_B009 -; samplesrc/lz4cat.pla: 0037: // -; samplesrc/lz4cat.pla: 0038: // Decompress block -; samplesrc/lz4cat.pla: 0039: // -; samplesrc/lz4cat.pla: 0040: len = heapavail - 256 // Allocate almost entire heap to decompress into -; samplesrc/lz4cat.pla: 0041: data = heapalloc(len) -; samplesrc/lz4cat.pla: 0042: if data -; samplesrc/lz4cat.pla: 0043: len = lz4Unpack(block, block + size[0], data, data + len) -; samplesrc/lz4cat.pla: 0044: memcpy(block, data, len) -; samplesrc/lz4cat.pla: 0045: data = block -; samplesrc/lz4cat.pla: 0046: else - !BYTE $54 ; CALL _X016 -_F006 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $84 ; SUB - !BYTE $6E,$0A ; DLW [10] - !BYTE $54 ; CALL _X014 -_F007 !WORD 0 - !BYTE $6E,$08 ; DLW [8] - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $66,$06 ; LLW [6] - !BYTE $34 ; DUP - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $34 ; DUP - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $54 ; CALL _X034 -_F008 !WORD 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _X018 -_F009 !WORD 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B012 - !WORD _B012-* -_B011 -; samplesrc/lz4cat.pla: 0047: len = 0 -; samplesrc/lz4cat.pla: 0048: fin - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] -_B012 -; samplesrc/lz4cat.pla: 0049: heaprelease(block + len) -; samplesrc/lz4cat.pla: 0050: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $54 ; CALL _X015 -_F010 !WORD 0 - !BYTE $30 ; DROP -_B010 -; samplesrc/lz4cat.pla: 0051: if flags & $10 // Block Checksum -; samplesrc/lz4cat.pla: 0052: fileio:read(ref, @size, 4) -; samplesrc/lz4cat.pla: 0053: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $68 ; LAB _D036+0 -_F011 !WORD _D036+0 - !BYTE $28,$02 ; LLA [2] - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X031+18 -_F012 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B013 -_B014 -; samplesrc/lz4cat.pla: 0054: return data, len - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $5A,$0C ; LEAVE 12 -; samplesrc/lz4cat.pla: 0055: end -; samplesrc/lz4cat.pla: 0056: def lz4ReadFrame#0 -_C001 ; lz4ReadFrame() -; samplesrc/lz4cat.pla: 0057: word data, len - ; data -> [0] - ; len -> [2] -; samplesrc/lz4cat.pla: 0058: byte header[t_header], opt - ; header -> [4] - ; opt -> [10] -; samplesrc/lz4cat.pla: 0059: -; samplesrc/lz4cat.pla: 0060: fileio:read(ref, @header, t_header) - !BYTE $58,$0B,$00 ; ENTER 11,0 -; samplesrc/lz4cat.pla: 0061: if header:magic[1] <> $184D or header:magic[0] <> $2204 -; samplesrc/lz4cat.pla: 0062: puts("Not LZ4 file.\n") - !BYTE $68 ; LAB _D036+0 -_F013 !WORD _D036+0 - !BYTE $28,$04 ; LLA [4] - !BYTE $0C ; CN 6 - !BYTE $6A ; LAW _X031+18 -_F014 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$06 ; LLW [6] - !BYTE $2C,$4D,$18 ; CW 6221 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B015 - !WORD _B015-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$04,$22 ; CW 8708 - !BYTE $42 ; ISNE -_B015 - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* - !BYTE $2E ; CS - !BYTE $0E - !BYTE $4E,$6F,$74,$20,$4C,$5A,$34,$20 - !BYTE $66,$69,$6C,$65,$2E,$0D - !BYTE $54 ; CALL _X004 -_F015 !WORD 0 -; samplesrc/lz4cat.pla: 0063: return - !BYTE $5A,$0B ; LEAVE 11 -; samplesrc/lz4cat.pla: 0064: fin -_B016 -_B017 -; samplesrc/lz4cat.pla: 0065: if header.FLG & $C0 <> $40 -; samplesrc/lz4cat.pla: 0066: puts("Wrong LZ4 version.\n") - !BYTE $64,$08 ; LLB [8] - !BYTE $3C,$C0 ; ANDI 192 - !BYTE $2A,$40 ; CB 64 - !BYTE $22 ; BREQ _B018 - !WORD _B018-* - !BYTE $2E ; CS - !BYTE $13 - !BYTE $57,$72,$6F,$6E,$67,$20,$4C,$5A - !BYTE $34,$20,$76,$65,$72,$73,$69,$6F - !BYTE $6E,$2E,$0D - !BYTE $54 ; CALL _X004 -_F016 !WORD 0 -; samplesrc/lz4cat.pla: 0067: return - !BYTE $5A,$0B ; LEAVE 11 -; samplesrc/lz4cat.pla: 0068: fin -_B018 -_B019 -; samplesrc/lz4cat.pla: 0069: if header.BD & $70 <> $40 -; samplesrc/lz4cat.pla: 0070: puts("Not 64K block size.\n") - !BYTE $64,$09 ; LLB [9] - !BYTE $3C,$70 ; ANDI 112 - !BYTE $2A,$40 ; CB 64 - !BYTE $22 ; BREQ _B020 - !WORD _B020-* - !BYTE $2E ; CS - !BYTE $14 - !BYTE $4E,$6F,$74,$20,$36,$34,$4B,$20 - !BYTE $62,$6C,$6F,$63,$6B,$20,$73,$69 - !BYTE $7A,$65,$2E,$0D - !BYTE $54 ; CALL _X004 -_F017 !WORD 0 -; samplesrc/lz4cat.pla: 0071: return - !BYTE $5A,$0B ; LEAVE 11 -; samplesrc/lz4cat.pla: 0072: fin -_B020 -_B021 -; samplesrc/lz4cat.pla: 0073: opt = 1 -; samplesrc/lz4cat.pla: 0074: if header.FLG & $08 // Content Size -; samplesrc/lz4cat.pla: 0075: opt = opt + 8 -; samplesrc/lz4cat.pla: 0076: fin - !BYTE $02 ; CN 1 - !BYTE $74,$0A ; SLB [10] - !BYTE $64,$08 ; LLB [8] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B022 - !WORD _B022-* - !BYTE $64,$0A ; LLB [10] - !BYTE $38,$08 ; ADDI 8 - !BYTE $74,$0A ; SLB [10] -_B022 -_B023 -; samplesrc/lz4cat.pla: 0077: if header.FLG & $01 // Dictionary ID -; samplesrc/lz4cat.pla: 0078: opt = opt + 4 -; samplesrc/lz4cat.pla: 0079: fin - !BYTE $64,$08 ; LLB [8] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $64,$0A ; LLB [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $74,$0A ; SLB [10] -_B024 -_B025 -; samplesrc/lz4cat.pla: 0080: fileio:read(ref, heapmark, opt) // Read rest of header and throw away -; samplesrc/lz4cat.pla: 0081: repeat - !BYTE $68 ; LAB _D036+0 -_F018 !WORD _D036+0 - !BYTE $54 ; CALL _X012 -_F019 !WORD 0 - !BYTE $64,$0A ; LLB [10] - !BYTE $6A ; LAW _X031+18 -_F020 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B027 -; samplesrc/lz4cat.pla: 0082: data, len = lz4ReadBlock(header.FLG) -; samplesrc/lz4cat.pla: 0083: if len -; samplesrc/lz4cat.pla: 0084: while len - !BYTE $64,$08 ; LLB [8] - !BYTE $54 ; CALL _C000 -_F021 !WORD _C000 - !BYTE $76,$02 ; SLW [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $50 ; BRNCH _B033 - !WORD _B033-* -_B031 -; samplesrc/lz4cat.pla: 0085: putc(^data <> $0A ?? ^data :: $0D) -; samplesrc/lz4cat.pla: 0086: data++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $14 ; CN 10 - !BYTE $22 ; BREQ _B036 - !WORD _B036-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $50 ; BRNCH _B037 - !WORD _B037-* -_B036 - !BYTE $1A ; CN 13 -_B037 - !BYTE $54 ; CALL _X002 -_F022 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; samplesrc/lz4cat.pla: 0087: len-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; samplesrc/lz4cat.pla: 0088: loop - !BYTE $76,$02 ; SLW [2] -_B033 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B031 - !WORD _B031-* -_B032 -; samplesrc/lz4cat.pla: 0089: heaprelease(data) -; samplesrc/lz4cat.pla: 0090: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X015 -_F023 !WORD 0 - !BYTE $30 ; DROP -_B029 -_B030 -; samplesrc/lz4cat.pla: 0091: until not data -_B028 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B027 - !WORD _B027-* -_B026 -; samplesrc/lz4cat.pla: 0092: if header.FLG & $04 // Content Checksun -; samplesrc/lz4cat.pla: 0093: fileio:read(ref, heapmark, 4) -; samplesrc/lz4cat.pla: 0094: fin - !BYTE $64,$08 ; LLB [8] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B038 - !WORD _B038-* - !BYTE $68 ; LAB _D036+0 -_F024 !WORD _D036+0 - !BYTE $54 ; CALL _X012 -_F025 !WORD 0 - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X031+18 -_F026 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B038 -_B039 -; samplesrc/lz4cat.pla: 0095: end - !BYTE $5A,$0B ; LEAVE 11 -; samplesrc/lz4cat.pla: 0096: arg = argNext(argFirst) -_INIT -; samplesrc/lz4cat.pla: 0097: if ^arg -; samplesrc/lz4cat.pla: 0098: ref = fileio:open(arg) -; samplesrc/lz4cat.pla: 0099: if ref -; samplesrc/lz4cat.pla: 0100: lz4ReadFrame -; samplesrc/lz4cat.pla: 0101: fileio:close(ref) -; samplesrc/lz4cat.pla: 0102: else - !BYTE $54 ; CALL _X029 -_F027 !WORD 0 - !BYTE $54 ; CALL _X030 -_F028 !WORD 0 - !BYTE $7A ; SAW _D035+0 -_F029 !WORD _D035+0 - !BYTE $6A ; LAW _D035+0 -_F030 !WORD _D035+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B040 - !WORD _B040-* - !BYTE $6A ; LAW _D035+0 -_F031 !WORD _D035+0 - !BYTE $6A ; LAW _X031+14 -_F032 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D036+0 -_F033 !WORD _D036+0 - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $54 ; CALL _C001 -_F034 !WORD _C001 - !BYTE $68 ; LAB _D036+0 -_F035 !WORD _D036+0 - !BYTE $6A ; LAW _X031+16 -_F036 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B043 - !WORD _B043-* -_B042 -; samplesrc/lz4cat.pla: 0103: 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 -_F037 !WORD 0 -; samplesrc/lz4cat.pla: 0104: fin -_B043 -; samplesrc/lz4cat.pla: 0105: fin -_B040 -_B041 -; samplesrc/lz4cat.pla: 0106: -; samplesrc/lz4cat.pla: 0107: 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 $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 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !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 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 4 ; 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 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 31 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_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: 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: LZ4UNPACK - !BYTE $CC,$DA,$B4,$D5,$CE,$D0,$C1,$C3,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/memtest.a b/src/samplesrc/memtest.a deleted file mode 100644 index 053fbf5..0000000 --- a/src/samplesrc/memtest.a +++ /dev/null @@ -1,959 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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/playseq.a b/src/samplesrc/playseq.a deleted file mode 100644 index 19cbd8c..0000000 --- a/src/samplesrc/playseq.a +++ /dev/null @@ -1,585 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0080: 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 spkrTone // spkrTone(pitch, duration)#0 - ; SPKRTONE -> X035 -; inc/sndseq.plh: 0004: word spkrPWM // spkrPWM(sample, speed, len)#0 - ; SPKRPWM -> X036 -; inc/sndseq.plh: 0005: predef musicPlay(track, rept)#0, musicStop#0, musicGetKey(yield, backgroundProc)#1 - ; MUSICPLAY -> X037 - ; MUSICSTOP -> X038 - ; MUSICGETKEY -> X039 -; inc/sndseq.plh: 0006: 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 -_D040 !FILL 2 ; arg, seq, len -_D041 !FILL 2 ; seq, len -_D042 !FILL 2 ; len -; samplesrc/playseq.pla: 0010: byte ref -_D043 !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 _D040+0 -_F003 !WORD _D040+0 - !BYTE $6A ; LAW _D040+0 -_F004 !WORD _D040+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $6A ; LAW _D040+0 -_F005 !WORD _D040+0 - !BYTE $6A ; LAW _X031+14 -_F006 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D043+0 -_F007 !WORD _D043+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 _D041+0 -_F010 !WORD _D041+0 - !BYTE $68 ; LAB _D043+0 -_F011 !WORD _D043+0 - !BYTE $6A ; LAW _D041+0 -_F012 !WORD _D041+0 - !BYTE $54 ; CALL _X012 -_F013 !WORD 0 - !BYTE $6A ; LAW _D041+0 -_F014 !WORD _D041+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X031+18 -_F015 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $7A ; SAW _D042+0 -_F016 !WORD _D042+0 - !BYTE $68 ; LAB _D043+0 -_F017 !WORD _D043+0 - !BYTE $6A ; LAW _X031+16 -_F018 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D041+0 -_F019 !WORD _D041+0 - !BYTE $B6 ; ADDAW _D042+0 -_F020 !WORD _D042+0 - !BYTE $54 ; CALL _X015 -_F021 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D041+0 -_F022 !WORD _D041+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 _X039 -_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 39 ; 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 39 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/primegap.a b/src/samplesrc/primegap.a deleted file mode 100644 index cbe3cae..0000000 --- a/src/samplesrc/primegap.a +++ /dev/null @@ -1,610 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 72dae05..0000000 --- a/src/samplesrc/rod.a +++ /dev/null @@ -1,489 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0003: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0004: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0005: const ECHO_ON = $80 - ; ECHO_ON = 128 -; inc/conio.plh: 0006: const ECHO_OFF = $00 - ; ECHO_OFF = 0 -; inc/conio.plh: 0007: struc t_conio -; inc/conio.plh: 0008: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0009: word getkey - ; getkey = 2 -; inc/conio.plh: 0010: word echo - ; echo = 4 -; inc/conio.plh: 0011: word home - ; home = 6 -; inc/conio.plh: 0012: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0013: word viewport - ; viewport = 10 -; inc/conio.plh: 0014: word texttype - ; texttype = 12 -; inc/conio.plh: 0015: word textmode - ; textmode = 14 -; inc/conio.plh: 0016: word grmode - ; grmode = 16 -; inc/conio.plh: 0017: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0018: word grplot - ; grplot = 20 -; inc/conio.plh: 0019: word tone - ; tone = 22 -; inc/conio.plh: 0020: word rnd - ; rnd = 24 -; inc/conio.plh: 0021: end - ; t_conio = 26 -; inc/conio.plh: 0022: 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: getc -; 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 $06 ; CN 3 - !BYTE $86 ; MUL - !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 $54 ; CALL _X006 -_F010 !WORD 0 - !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(40) -; samplesrc/rod.pla: 0041: puts("That's all, folks!\n") - !BYTE $54 ; CALL _C000 -_F014 !WORD _C000 - !BYTE $2A,$28 ; CB 40 - !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 6 ; 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: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; 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 8f3b5a1..0000000 --- a/src/samplesrc/rogue.a +++ /dev/null @@ -1,3855 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0003: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0004: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0005: const ECHO_ON = $80 - ; ECHO_ON = 128 -; inc/conio.plh: 0006: const ECHO_OFF = $00 - ; ECHO_OFF = 0 -; inc/conio.plh: 0007: struc t_conio -; inc/conio.plh: 0008: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0009: word getkey - ; getkey = 2 -; inc/conio.plh: 0010: word echo - ; echo = 4 -; inc/conio.plh: 0011: word home - ; home = 6 -; inc/conio.plh: 0012: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0013: word viewport - ; viewport = 10 -; inc/conio.plh: 0014: word texttype - ; texttype = 12 -; inc/conio.plh: 0015: word textmode - ; textmode = 14 -; inc/conio.plh: 0016: word grmode - ; grmode = 16 -; inc/conio.plh: 0017: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0018: word grplot - ; grplot = 20 -; inc/conio.plh: 0019: word tone - ; tone = 22 -; inc/conio.plh: 0020: word rnd - ; rnd = 24 -; inc/conio.plh: 0021: end - ; t_conio = 26 -; inc/conio.plh: 0022: 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:echo(ECHO_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 $00 ; CN 0 - !BYTE $6A ; LAW _X028+4 -_F250 !WORD 0+4 - !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:echo(ECHO_ON) -; samplesrc/rogue.pla: 0679: if player.health > 0 -; samplesrc/rogue.pla: 0680: puts(@youmadeitstr) -; samplesrc/rogue.pla: 0681: puti(player.gold) -; samplesrc/rogue.pla: 0682: else - !BYTE $2A,$80 ; CB 128 - !BYTE $6A ; LAW _X028+4 -_F276 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D049+6 -_F277 !WORD _D049+6 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B208 - !WORD _B208-* - !BYTE $26 ; LA _D061+0 -_F278 !WORD _D061+0 - !BYTE $54 ; CALL _X004 -_F279 !WORD 0 - !BYTE $68 ; LAB _D049+10 -_F280 !WORD _D049+10 - !BYTE $54 ; CALL _X005 -_F281 !WORD 0 - !BYTE $50 ; BRNCH _B209 - !WORD _B209-* -_B208 -; samplesrc/rogue.pla: 0683: puts(@youdiedstr) -; samplesrc/rogue.pla: 0684: fin - !BYTE $26 ; LA _D062+0 -_F282 !WORD _D062+0 - !BYTE $54 ; CALL _X004 -_F283 !WORD 0 -_B209 -; samplesrc/rogue.pla: 0685: puts(@againstr) -; samplesrc/rogue.pla: 0686: done - !BYTE $26 ; LA _D063+0 -_F284 !WORD _D063+0 - !BYTE $54 ; CALL _X004 -_F285 !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 $81 ; INTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE 5 ; 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 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 7b7d5ae..0000000 --- a/src/samplesrc/rogue.combat.a +++ /dev/null @@ -1,1246 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0003: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0004: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0005: const ECHO_ON = $80 - ; ECHO_ON = 128 -; inc/conio.plh: 0006: const ECHO_OFF = $00 - ; ECHO_OFF = 0 -; inc/conio.plh: 0007: struc t_conio -; inc/conio.plh: 0008: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0009: word getkey - ; getkey = 2 -; inc/conio.plh: 0010: word echo - ; echo = 4 -; inc/conio.plh: 0011: word home - ; home = 6 -; inc/conio.plh: 0012: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0013: word viewport - ; viewport = 10 -; inc/conio.plh: 0014: word texttype - ; texttype = 12 -; inc/conio.plh: 0015: word textmode - ; textmode = 14 -; inc/conio.plh: 0016: word grmode - ; grmode = 16 -; inc/conio.plh: 0017: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0018: word grplot - ; grplot = 20 -; inc/conio.plh: 0019: word tone - ; tone = 22 -; inc/conio.plh: 0020: word rnd - ; rnd = 24 -; inc/conio.plh: 0021: end - ; t_conio = 26 -; inc/conio.plh: 0022: 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:echo(ECHO_ON) - !BYTE $58,$08,$02 ; ENTER 8,2 -; samplesrc/rogue.combat.pla: 0139: repeat - !BYTE $2A,$80 ; CB 128 - !BYTE $6A ; LAW _X028+4 -_F012 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B002 -; samplesrc/rogue.combat.pla: 0140: conio:home() -; 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 $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:echo(ECHO_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 $00 ; CN 0 - !BYTE $6A ; LAW _X028+4 -_F044 !WORD 0+4 - !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 $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $2A,$19 ; CB 25 - !BYTE $88 ; DIV - !BYTE $6A ; LAW _X028+24 -_F046 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $3C,$07 ; ANDI 7 - !BYTE $82 ; ADD - !BYTE $84 ; SUB - !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 $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $2A,$14 ; CB 20 - !BYTE $88 ; DIV - !BYTE $6A ; LAW _X028+24 -_F047 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $3C,$07 ; ANDI 7 - !BYTE $82 ; ADD - !BYTE $84 ; SUB - !BYTE $84 ; SUB - !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:echo(ECHO_OFF) -; samplesrc/rogue.combat.pla: 0209: return 0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+4 -_F051 !WORD 0+4 - !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 206bb2b..0000000 --- a/src/samplesrc/rogue.map.a +++ /dev/null @@ -1,6180 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0003: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0004: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0005: const ECHO_ON = $80 - ; ECHO_ON = 128 -; inc/conio.plh: 0006: const ECHO_OFF = $00 - ; ECHO_OFF = 0 -; inc/conio.plh: 0007: struc t_conio -; inc/conio.plh: 0008: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0009: word getkey - ; getkey = 2 -; inc/conio.plh: 0010: word echo - ; echo = 4 -; inc/conio.plh: 0011: word home - ; home = 6 -; inc/conio.plh: 0012: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0013: word viewport - ; viewport = 10 -; inc/conio.plh: 0014: word texttype - ; texttype = 12 -; inc/conio.plh: 0015: word textmode - ; textmode = 14 -; inc/conio.plh: 0016: word grmode - ; grmode = 16 -; inc/conio.plh: 0017: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0018: word grplot - ; grplot = 20 -; inc/conio.plh: 0019: word tone - ; tone = 22 -; inc/conio.plh: 0020: word rnd - ; rnd = 24 -; inc/conio.plh: 0021: end - ; t_conio = 26 -; inc/conio.plh: 0022: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X030 -; inc/fileio.plh: 0080: 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:home() -_INIT -; samplesrc/rogue.map.pla: 0846: while ^titlestr - !BYTE $6A ; LAW _X028+6 -_F349 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B270 - !WORD _B270-* -_B268 -; samplesrc/rogue.map.pla: 0847: puts(titlestr) -; samplesrc/rogue.map.pla: 0848: titlestr = titlestr + ^titlestr + 1 -; samplesrc/rogue.map.pla: 0849: loop - !BYTE $6A ; LAW _D032+0 -_F350 !WORD _D032+0 - !BYTE $54 ; CALL _X004 -_F351 !WORD 0 - !BYTE $6A ; LAW _D032+0 -_F352 !WORD _D032+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D032+0 -_F353 !WORD _D032+0 -_B270 - !BYTE $6A ; LAW _D032+0 -_F354 !WORD _D032+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B268 - !WORD _B268-* -_B269 -; samplesrc/rogue.map.pla: 0850: for titlestr = 0 to scrnheight - 1 - !BYTE $2A,$15 ; CB 21 - !BYTE $00 ; CN 0 -_B272 - !BYTE $7E ; DAW _D032+0 -_F355 !WORD _D032+0 -; samplesrc/rogue.map.pla: 0851: screen[titlestr] = @screenbuffer + titlestr * scrnwidth -; samplesrc/rogue.map.pla: 0852: next - !BYTE $26 ; LA _D042+0 -_F356 !WORD _D042+0 - !BYTE $6A ; LAW _D032+0 -_F357 !WORD _D032+0 - !BYTE $2A,$28 ; CB 40 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $26 ; LA _D044+0 -_F358 !WORD _D044+0 - !BYTE $BE ; IDXAW _D032+0 -_F359 !WORD _D032+0 - !BYTE $72 ; SW -_B273 - !BYTE $A4 ; INCBRLE _B272 - !WORD _B272-* -_B271 - !BYTE $7A ; SAW _D032+0 -_F360 !WORD _D032+0 - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0853: 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 $81 ; INTERNAL FIXUP - !WORD _F350-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F351-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !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 $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 ec673c9..0000000 --- a/src/samplesrc/rpncalc.a +++ /dev/null @@ -1,3233 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0003: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0004: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0005: const ECHO_ON = $80 - ; ECHO_ON = 128 -; inc/conio.plh: 0006: const ECHO_OFF = $00 - ; ECHO_OFF = 0 -; inc/conio.plh: 0007: struc t_conio -; inc/conio.plh: 0008: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0009: word getkey - ; getkey = 2 -; inc/conio.plh: 0010: word echo - ; echo = 4 -; inc/conio.plh: 0011: word home - ; home = 6 -; inc/conio.plh: 0012: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0013: word viewport - ; viewport = 10 -; inc/conio.plh: 0014: word texttype - ; texttype = 12 -; inc/conio.plh: 0015: word textmode - ; textmode = 14 -; inc/conio.plh: 0016: word grmode - ; grmode = 16 -; inc/conio.plh: 0017: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0018: word grplot - ; grplot = 20 -; inc/conio.plh: 0019: word tone - ; tone = 22 -; inc/conio.plh: 0020: word rnd - ; rnd = 24 -; inc/conio.plh: 0021: end - ; t_conio = 26 -; inc/conio.plh: 0022: 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:home() - !BYTE $58,$03,$00 ; ENTER 3,0 -; samplesrc/rpncalc.pla: 0205: rect(0, 0, 40, 23, 1, "") - !BYTE $6A ; LAW _X032+6 -_F080 !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 -_F081 !WORD _C001 -; samplesrc/rpncalc.pla: 0206: 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 -_F082 !WORD _C001 -; samplesrc/rpncalc.pla: 0207: rect(1, 6, 19, 3, 0, 0) -; samplesrc/rpncalc.pla: 0208: 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 -_F083 !WORD _C001 - !BYTE $04 ; CN 2 - !BYTE $34 ; DUP - !BYTE $6A ; LAW _X032+8 -_F084 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $02 - !BYTE $54,$3A - !BYTE $54 ; CALL _X004 -_F085 !WORD 0 -; samplesrc/rpncalc.pla: 0209: conio:gotoxy(2, 3); puts("Z:") - !BYTE $04 ; CN 2 - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X032+8 -_F086 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $02 - !BYTE $5A,$3A - !BYTE $54 ; CALL _X004 -_F087 !WORD 0 -; samplesrc/rpncalc.pla: 0210: conio:gotoxy(2, 4); puts("Y:") - !BYTE $04 ; CN 2 - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X032+8 -_F088 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $02 - !BYTE $59,$3A - !BYTE $54 ; CALL _X004 -_F089 !WORD 0 -; samplesrc/rpncalc.pla: 0211: conio:gotoxy(2, 5); puts("X:") - !BYTE $04 ; CN 2 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X032+8 -_F090 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $02 - !BYTE $58,$3A - !BYTE $54 ; CALL _X004 -_F091 !WORD 0 -; samplesrc/rpncalc.pla: 0212: 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 -_F092 !WORD _C001 -; samplesrc/rpncalc.pla: 0213: for i = 0 to 9 - !BYTE $12 ; CN 9 - !BYTE $00 ; CN 0 -_B050 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/rpncalc.pla: 0214: conio:gotoxy(21, 2 + i); puti(i); putc(':') -; samplesrc/rpncalc.pla: 0215: next - !BYTE $2A,$15 ; CB 21 - !BYTE $04 ; CN 2 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $6A ; LAW _X032+8 -_F093 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _X005 -_F094 !WORD 0 - !BYTE $2A,$3A ; CB 58 - !BYTE $54 ; CALL _X002 -_F095 !WORD 0 -_B051 - !BYTE $A4 ; INCBRLE _B050 - !WORD _B050-* -_B049 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/rpncalc.pla: 0216: pkeys = @keypad -; samplesrc/rpncalc.pla: 0217: while ^pkeys - !BYTE $26 ; LA _D050+0 -_F096 !WORD _D050+0 - !BYTE $76,$01 ; SLW [1] - !BYTE $50 ; BRNCH _B054 - !WORD _B054-* -_B052 -; samplesrc/rpncalc.pla: 0218: conio:gotoxy(pkeys->xpos, pkeys->ypos) -; samplesrc/rpncalc.pla: 0219: puts(pkeys + keystr) -; samplesrc/rpncalc.pla: 0220: pkeys = pkeys + t_keyinput -; samplesrc/rpncalc.pla: 0221: 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 -_F097 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X004 -_F098 !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: 0222: end - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/rpncalc.pla: 0223: def initState#0 -_C010 ; initState() -; samplesrc/rpncalc.pla: 0224: byte m - ; m -> [0] -; samplesrc/rpncalc.pla: 0225: -; samplesrc/rpncalc.pla: 0226: // -; samplesrc/rpncalc.pla: 0227: // Init FPU -; samplesrc/rpncalc.pla: 0228: // -; samplesrc/rpncalc.pla: 0229: fpu:reset() - !BYTE $58,$01,$00 ; ENTER 1,0 -; samplesrc/rpncalc.pla: 0230: // -; samplesrc/rpncalc.pla: 0231: // Fill memory -; samplesrc/rpncalc.pla: 0232: // -; samplesrc/rpncalc.pla: 0233: for m = 2 to 9 - !BYTE $6A ; LAW _X031+0 -_F099 !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: 0234: fpu:storExt(@memory[m*t_fpureg], X_REG) -; samplesrc/rpncalc.pla: 0235: next - !BYTE $26 ; LA _D049+0 -_F100 !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 -_F101 !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: 0236: // -; samplesrc/rpncalc.pla: 0237: // Put some useful constants in there -; samplesrc/rpncalc.pla: 0238: // -; samplesrc/rpncalc.pla: 0239: fpu:constPi() -; samplesrc/rpncalc.pla: 0240: fpu:pullExt(@memory[0*t_fpureg]) -; samplesrc/rpncalc.pla: 0241: fpu:constE() -; samplesrc/rpncalc.pla: 0242: fpu:pullExt(@memory[1*t_fpureg]) -; samplesrc/rpncalc.pla: 0243: end - !BYTE $6A ; LAW _X031+14 -_F102 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D049+0 -_F103 !WORD _D049+0 - !BYTE $6A ; LAW _X031+34 -_F104 !WORD 0+34 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X031+16 -_F105 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D049+10 -_F106 !WORD _D049+10 - !BYTE $6A ; LAW _X031+34 -_F107 !WORD 0+34 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $5A,$01 ; LEAVE 1 -; samplesrc/rpncalc.pla: 0244: // -; samplesrc/rpncalc.pla: 0245: // Keypress input handlers -; samplesrc/rpncalc.pla: 0246: // -; samplesrc/rpncalc.pla: 0247: def delKey(pkey)#0 - ; pkey -> [0] -_P000 ; delKey(pkey)#0() -_C011 ; delKey() -; samplesrc/rpncalc.pla: 0248: if inputStr - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0249: inputStr-- - !BYTE $68 ; LAB _D046+0 -_F108 !WORD _D046+0 - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $68 ; LAB _D046+0 -_F109 !WORD _D046+0 - !BYTE $8E ; DECR -; samplesrc/rpncalc.pla: 0250: fin - !BYTE $78 ; SAB _D046+0 -_F110 !WORD _D046+0 -_B058 -_B059 -; samplesrc/rpncalc.pla: 0251: if inputStr:0 == 1 | ('-' << 8) //inputStr == 1 and inputStr.1 == '-' -; samplesrc/rpncalc.pla: 0252: inputStr-- - !BYTE $6A ; LAW _D046+0 -_F111 !WORD _D046+0 - !BYTE $2C,$01,$2D ; CW 11521 - !BYTE $24 ; BRNE _B060 - !WORD _B060-* - !BYTE $68 ; LAB _D046+0 -_F112 !WORD _D046+0 - !BYTE $8E ; DECR -; samplesrc/rpncalc.pla: 0253: fin - !BYTE $78 ; SAB _D046+0 -_F113 !WORD _D046+0 -_B060 -_B061 -; samplesrc/rpncalc.pla: 0254: showInput -; samplesrc/rpncalc.pla: 0255: end - !BYTE $54 ; CALL _C004 -_F114 !WORD _C004 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0256: def dropKey(pkey)#0 - ; pkey -> [0] -_P002 ; dropKey(pkey)#0() -_C012 ; dropKey() -; samplesrc/rpncalc.pla: 0257: fpu:pullStr(@inputStr, displayInt, displayFix, FPSTR_STRIP|FPSTR_FLOAT|FPSTR_FLEX) - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0258: if inputStr.1 == ' ' -; samplesrc/rpncalc.pla: 0259: inputStr-- - !BYTE $26 ; LA _D046+0 -_F115 !WORD _D046+0 - !BYTE $68 ; LAB _D048+0 -_F116 !WORD _D048+0 - !BYTE $68 ; LAB _D047+0 -_F117 !WORD _D047+0 - !BYTE $04 ; CN 2 - !BYTE $3E,$08 ; ORI 8 - !BYTE $6A ; LAW _X031+36 -_F118 !WORD 0+36 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D046+1 -_F119 !WORD _D046+1 - !BYTE $2A,$20 ; CB 32 - !BYTE $24 ; BRNE _B062 - !WORD _B062-* - !BYTE $68 ; LAB _D046+0 -_F120 !WORD _D046+0 - !BYTE $8E ; DECR -; samplesrc/rpncalc.pla: 0260: memcpy(@inputStr.1, @inputStr.2, inputStr) -; samplesrc/rpncalc.pla: 0261: fin - !BYTE $78 ; SAB _D046+0 -_F121 !WORD _D046+0 - !BYTE $26 ; LA _D046+1 -_F122 !WORD _D046+1 - !BYTE $26 ; LA _D046+2 -_F123 !WORD _D046+2 - !BYTE $68 ; LAB _D046+0 -_F124 !WORD _D046+0 - !BYTE $54 ; CALL _X018 -_F125 !WORD 0 -_B062 -_B063 -; samplesrc/rpncalc.pla: 0262: showInput -; samplesrc/rpncalc.pla: 0263: showStack -; samplesrc/rpncalc.pla: 0264: end - !BYTE $54 ; CALL _C004 -_F126 !WORD _C004 - !BYTE $54 ; CALL _C002 -_F127 !WORD _C002 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0265: def copyKey(pkey)#0 - ; pkey -> [0] -_P008 ; copyKey(pkey)#0() -_C013 ; copyKey() -; samplesrc/rpncalc.pla: 0266: fpu:storStr(@inputStr, displayInt, displayFix, FPSTR_STRIP|FPSTR_FLOAT|FPSTR_FLEX, X_REG) - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0267: if inputStr.1 == ' ' -; samplesrc/rpncalc.pla: 0268: inputStr-- - !BYTE $26 ; LA _D046+0 -_F128 !WORD _D046+0 - !BYTE $68 ; LAB _D048+0 -_F129 !WORD _D048+0 - !BYTE $68 ; LAB _D047+0 -_F130 !WORD _D047+0 - !BYTE $04 ; CN 2 - !BYTE $3E,$08 ; ORI 8 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X031+56 -_F131 !WORD 0+56 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D046+1 -_F132 !WORD _D046+1 - !BYTE $2A,$20 ; CB 32 - !BYTE $24 ; BRNE _B064 - !WORD _B064-* - !BYTE $68 ; LAB _D046+0 -_F133 !WORD _D046+0 - !BYTE $8E ; DECR -; samplesrc/rpncalc.pla: 0269: memcpy(@inputStr.1, @inputStr.2, inputStr) -; samplesrc/rpncalc.pla: 0270: fin - !BYTE $78 ; SAB _D046+0 -_F134 !WORD _D046+0 - !BYTE $26 ; LA _D046+1 -_F135 !WORD _D046+1 - !BYTE $26 ; LA _D046+2 -_F136 !WORD _D046+2 - !BYTE $68 ; LAB _D046+0 -_F137 !WORD _D046+0 - !BYTE $54 ; CALL _X018 -_F138 !WORD 0 -_B064 -_B065 -; samplesrc/rpncalc.pla: 0271: showInput -; samplesrc/rpncalc.pla: 0272: end - !BYTE $54 ; CALL _C004 -_F139 !WORD _C004 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0273: def clearKey(pkey)#0 - ; pkey -> [0] -_P003 ; clearKey(pkey)#0() -_C014 ; clearKey() -; samplesrc/rpncalc.pla: 0274: initInput - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0275: showInput -; samplesrc/rpncalc.pla: 0276: end - !BYTE $54 ; CALL _C007 -_F140 !WORD _C007 - !BYTE $54 ; CALL _C004 -_F141 !WORD _C004 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0277: def digitKey(pkey)#0 - ; pkey -> [0] -_P004 ; digitKey(pkey)#0() -_C015 ; digitKey() -; samplesrc/rpncalc.pla: 0278: if inputStr < inputLen - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0279: if inputStr:0 <> ZEROSTR -; samplesrc/rpncalc.pla: 0280: inputStr++ - !BYTE $68 ; LAB _D046+0 -_F142 !WORD _D046+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B066 - !WORD _B066-* - !BYTE $6A ; LAW _D046+0 -_F143 !WORD _D046+0 - !BYTE $2C,$01,$30 ; CW 12289 - !BYTE $22 ; BREQ _B068 - !WORD _B068-* - !BYTE $68 ; LAB _D046+0 -_F144 !WORD _D046+0 - !BYTE $8C ; INCR -; samplesrc/rpncalc.pla: 0281: fin - !BYTE $78 ; SAB _D046+0 -_F145 !WORD _D046+0 -_B068 -_B069 -; samplesrc/rpncalc.pla: 0282: inputStr[inputStr] = ^pkey -; samplesrc/rpncalc.pla: 0283: showInput -; samplesrc/rpncalc.pla: 0284: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $26 ; LA _D046+0 -_F146 !WORD _D046+0 - !BYTE $B4 ; ADDAB _D046+0 -_F147 !WORD _D046+0 - !BYTE $70 ; SB - !BYTE $54 ; CALL _C004 -_F148 !WORD _C004 -_B066 -_B067 -; samplesrc/rpncalc.pla: 0285: end - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0286: def pointKey(pkey)#0 - ; pkey -> [0] -_P005 ; pointKey(pkey)#0() -_C016 ; pointKey() -; samplesrc/rpncalc.pla: 0287: byte c - ; c -> [2] -; samplesrc/rpncalc.pla: 0288: -; samplesrc/rpncalc.pla: 0289: if !inputStr - !BYTE $58,$03,$01 ; ENTER 3,1 -; samplesrc/rpncalc.pla: 0290: // -; samplesrc/rpncalc.pla: 0291: // Start off with '0' if blank input -; samplesrc/rpncalc.pla: 0292: // -; samplesrc/rpncalc.pla: 0293: inputStr:0 = ZEROSTR -; samplesrc/rpncalc.pla: 0294: else - !BYTE $68 ; LAB _D046+0 -_F149 !WORD _D046+0 - !BYTE $4E ; BRTRU _B070 - !WORD _B070-* - !BYTE $2C,$01,$30 ; CW 12289 - !BYTE $7A ; SAW _D046+0 -_F150 !WORD _D046+0 - !BYTE $50 ; BRNCH _B071 - !WORD _B071-* -_B070 -; samplesrc/rpncalc.pla: 0295: // -; samplesrc/rpncalc.pla: 0296: // Check for existing decimal point -; samplesrc/rpncalc.pla: 0297: // -; samplesrc/rpncalc.pla: 0298: for c = 1 to inputStr - !BYTE $68 ; LAB _D046+0 -_F151 !WORD _D046+0 - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B072 - !WORD _B072-* -_B073 - !BYTE $6C,$02 ; DLB [2] -; samplesrc/rpncalc.pla: 0299: if inputStr[c] == '.' -; samplesrc/rpncalc.pla: 0300: return - !BYTE $26 ; LA _D046+0 -_F152 !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: 0301: fin -_B075 -_B076 -; samplesrc/rpncalc.pla: 0302: next -_B074 - !BYTE $A4 ; INCBRLE _B073 - !WORD _B073-* -_B072 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; samplesrc/rpncalc.pla: 0303: fin -_B071 -; samplesrc/rpncalc.pla: 0304: inputStr++ - !BYTE $68 ; LAB _D046+0 -_F153 !WORD _D046+0 - !BYTE $8C ; INCR -; samplesrc/rpncalc.pla: 0305: inputStr[inputStr] = '.' -; samplesrc/rpncalc.pla: 0306: showInput -; samplesrc/rpncalc.pla: 0307: end - !BYTE $78 ; SAB _D046+0 -_F154 !WORD _D046+0 - !BYTE $2A,$2E ; CB 46 - !BYTE $26 ; LA _D046+0 -_F155 !WORD _D046+0 - !BYTE $B4 ; ADDAB _D046+0 -_F156 !WORD _D046+0 - !BYTE $70 ; SB - !BYTE $54 ; CALL _C004 -_F157 !WORD _C004 - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/rpncalc.pla: 0308: def chsKey(pkey)#0 - ; pkey -> [0] -_P009 ; chsKey(pkey)#0() -_C017 ; chsKey() -; samplesrc/rpncalc.pla: 0309: if inputStr - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0310: if inputStr.1 <> '-' -; samplesrc/rpncalc.pla: 0311: memcpy(@inputStr.2, @inputStr.1, inputStr) -; samplesrc/rpncalc.pla: 0312: inputStr++ - !BYTE $68 ; LAB _D046+0 -_F158 !WORD _D046+0 - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $68 ; LAB _D046+1 -_F159 !WORD _D046+1 - !BYTE $2A,$2D ; CB 45 - !BYTE $22 ; BREQ _B079 - !WORD _B079-* - !BYTE $26 ; LA _D046+2 -_F160 !WORD _D046+2 - !BYTE $26 ; LA _D046+1 -_F161 !WORD _D046+1 - !BYTE $68 ; LAB _D046+0 -_F162 !WORD _D046+0 - !BYTE $54 ; CALL _X018 -_F163 !WORD 0 - !BYTE $68 ; LAB _D046+0 -_F164 !WORD _D046+0 - !BYTE $8C ; INCR -; samplesrc/rpncalc.pla: 0313: inputStr.1 = '-' -; samplesrc/rpncalc.pla: 0314: else - !BYTE $78 ; SAB _D046+0 -_F165 !WORD _D046+0 - !BYTE $2A,$2D ; CB 45 - !BYTE $78 ; SAB _D046+1 -_F166 !WORD _D046+1 - !BYTE $50 ; BRNCH _B080 - !WORD _B080-* -_B079 -; samplesrc/rpncalc.pla: 0315: inputStr-- - !BYTE $68 ; LAB _D046+0 -_F167 !WORD _D046+0 - !BYTE $8E ; DECR -; samplesrc/rpncalc.pla: 0316: memcpy(@inputStr.1, @inputStr.2, inputStr) -; samplesrc/rpncalc.pla: 0317: fin - !BYTE $78 ; SAB _D046+0 -_F168 !WORD _D046+0 - !BYTE $26 ; LA _D046+1 -_F169 !WORD _D046+1 - !BYTE $26 ; LA _D046+2 -_F170 !WORD _D046+2 - !BYTE $68 ; LAB _D046+0 -_F171 !WORD _D046+0 - !BYTE $54 ; CALL _X018 -_F172 !WORD 0 -_B080 -; samplesrc/rpncalc.pla: 0318: showInput -; samplesrc/rpncalc.pla: 0319: fin - !BYTE $54 ; CALL _C004 -_F173 !WORD _C004 -_B077 -_B078 -; samplesrc/rpncalc.pla: 0320: end - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0321: def enterKey(pkey)#0 - ; pkey -> [0] -_P007 ; enterKey(pkey)#0() -_C018 ; enterKey() -; samplesrc/rpncalc.pla: 0322: fpu:pushStr(@inputStr) - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0323: showStack -; samplesrc/rpncalc.pla: 0324: initInput -; samplesrc/rpncalc.pla: 0325: showInput -; samplesrc/rpncalc.pla: 0326: end - !BYTE $26 ; LA _D046+0 -_F174 !WORD _D046+0 - !BYTE $6A ; LAW _X031+26 -_F175 !WORD 0+26 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C002 -_F176 !WORD _C002 - !BYTE $54 ; CALL _C007 -_F177 !WORD _C007 - !BYTE $54 ; CALL _C004 -_F178 !WORD _C004 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0327: def opKey(pkey)#0 - ; pkey -> [0] -_P006 ; opKey(pkey)#0() -_C019 ; opKey() -; samplesrc/rpncalc.pla: 0328: updateInput - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0329: when ^pkey - !BYTE $54 ; CALL _C008 -_F179 !WORD _C008 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B082-* -; samplesrc/rpncalc.pla: 0330: is '+' -_B083 -; samplesrc/rpncalc.pla: 0331: fpu:addXY() -; samplesrc/rpncalc.pla: 0332: break - !BYTE $6A ; LAW _X031+72 -_F180 !WORD 0+72 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -; samplesrc/rpncalc.pla: 0333: is '-' -_B084 -; samplesrc/rpncalc.pla: 0334: fpu:subXY() -; samplesrc/rpncalc.pla: 0335: break - !BYTE $6A ; LAW _X031+74 -_F181 !WORD 0+74 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -; samplesrc/rpncalc.pla: 0336: is '*' -_B085 -; samplesrc/rpncalc.pla: 0337: fpu:mulXY() -; samplesrc/rpncalc.pla: 0338: break - !BYTE $6A ; LAW _X031+76 -_F182 !WORD 0+76 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -; samplesrc/rpncalc.pla: 0339: is '/' -_B086 -; samplesrc/rpncalc.pla: 0340: fpu:divXY() -; samplesrc/rpncalc.pla: 0341: break - !BYTE $6A ; LAW _X031+78 -_F183 !WORD 0+78 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -; samplesrc/rpncalc.pla: 0342: is 'R' -_B087 -; samplesrc/rpncalc.pla: 0343: fpu:sqrtX() -; samplesrc/rpncalc.pla: 0344: break - !BYTE $6A ; LAW _X031+98 -_F184 !WORD 0+98 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -; samplesrc/rpncalc.pla: 0345: 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: 0346: showStack -; samplesrc/rpncalc.pla: 0347: end - !BYTE $54 ; CALL _C002 -_F185 !WORD _C002 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0348: def memKey(pkey)#0 - ; pkey -> [0] -_P010 ; memKey(pkey)#0() -_C020 ; memKey() -; samplesrc/rpncalc.pla: 0349: word r - ; r -> [2] -; samplesrc/rpncalc.pla: 0350: -; samplesrc/rpncalc.pla: 0351: 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 -_F186 !WORD _C005 -; samplesrc/rpncalc.pla: 0352: r = getc - '0' -; samplesrc/rpncalc.pla: 0353: clearStatus -; samplesrc/rpncalc.pla: 0354: if r >= 0 and r <= 9 -; samplesrc/rpncalc.pla: 0355: if ^pkey == '<' -; samplesrc/rpncalc.pla: 0356: fpu:pushExt(@memory[r*t_fpureg]) -; samplesrc/rpncalc.pla: 0357: showStack -; samplesrc/rpncalc.pla: 0358: else - !BYTE $54 ; CALL _X006 -_F187 !WORD 0 - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$02 ; SLW [2] - !BYTE $54 ; CALL _C006 -_F188 !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 -_F189 !WORD _D049+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $6A ; LAW _X031+24 -_F190 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C002 -_F191 !WORD _C002 - !BYTE $50 ; BRNCH _B092 - !WORD _B092-* -_B091 -; samplesrc/rpncalc.pla: 0359: fpu:storExt(@memory[r*t_fpureg], X_REG) -; samplesrc/rpncalc.pla: 0360: showMem -; samplesrc/rpncalc.pla: 0361: fin - !BYTE $26 ; LA _D049+0 -_F192 !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 -_F193 !WORD 0+54 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C003 -_F194 !WORD _C003 -_B092 -; samplesrc/rpncalc.pla: 0362: fin -_B089 -_B090 -; samplesrc/rpncalc.pla: 0363: end - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/rpncalc.pla: 0364: def elemsKey(pkey)#0 - ; pkey -> [0] -_P011 ; elemsKey(pkey)#0() -_C021 ; elemsKey() -; samplesrc/rpncalc.pla: 0365: updateInput - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0366: when ^pkey - !BYTE $54 ; CALL _C008 -_F195 !WORD _C008 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B094-* -; samplesrc/rpncalc.pla: 0367: is 'C' -_B095 -; samplesrc/rpncalc.pla: 0368: fpu:cosX() -; samplesrc/rpncalc.pla: 0369: break - !BYTE $6A ; LAW _X031+102 -_F196 !WORD 0+102 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0370: is 'S' -_B096 -; samplesrc/rpncalc.pla: 0371: fpu:sinX() -; samplesrc/rpncalc.pla: 0372: break - !BYTE $6A ; LAW _X031+104 -_F197 !WORD 0+104 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0373: is 'T' -_B097 -; samplesrc/rpncalc.pla: 0374: fpu:tanX() -; samplesrc/rpncalc.pla: 0375: break - !BYTE $6A ; LAW _X031+106 -_F198 !WORD 0+106 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0376: is 'A' -_B098 -; samplesrc/rpncalc.pla: 0377: fpu:atanX() -; samplesrc/rpncalc.pla: 0378: break - !BYTE $6A ; LAW _X031+108 -_F199 !WORD 0+108 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0379: is '^' -_B099 -; samplesrc/rpncalc.pla: 0380: fpu:powXY() -; samplesrc/rpncalc.pla: 0381: break - !BYTE $6A ; LAW _X031+130 -_F200 !WORD 0+130 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0382: is 'L' -_B100 -; samplesrc/rpncalc.pla: 0383: fpu:log2X() -; samplesrc/rpncalc.pla: 0384: break - !BYTE $6A ; LAW _X031+110 -_F201 !WORD 0+110 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0385: is 'P' -_B101 -; samplesrc/rpncalc.pla: 0386: fpu:powEX() -; samplesrc/rpncalc.pla: 0387: break - !BYTE $6A ; LAW _X031+122 -_F202 !WORD 0+122 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0388: is 'N' -_B102 -; samplesrc/rpncalc.pla: 0389: fpu:lnX() -; samplesrc/rpncalc.pla: 0390: break - !BYTE $6A ; LAW _X031+114 -_F203 !WORD 0+114 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0391: 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: 0392: showStack -; samplesrc/rpncalc.pla: 0393: end - !BYTE $54 ; CALL _C002 -_F204 !WORD _C002 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0394: // -; samplesrc/rpncalc.pla: 0395: // Command line handler -; samplesrc/rpncalc.pla: 0396: // -; samplesrc/rpncalc.pla: 0397: def cmdKey(pkey)#0 - ; pkey -> [0] -_P001 ; cmdKey(pkey)#0() -_C022 ; cmdKey() -; samplesrc/rpncalc.pla: 0398: // word cmdLine -; samplesrc/rpncalc.pla: 0399: -; samplesrc/rpncalc.pla: 0400: // showStatus("Command") -; samplesrc/rpncalc.pla: 0401: // cmdLine = gets(':'|$80) -; samplesrc/rpncalc.pla: 0402: word d - ; d -> [2] -; samplesrc/rpncalc.pla: 0403: -; samplesrc/rpncalc.pla: 0404: 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 -_F205 !WORD _C005 -; samplesrc/rpncalc.pla: 0405: d = toupper(getc) - '0' -; samplesrc/rpncalc.pla: 0406: if d >= 1 and d <= 9 -; samplesrc/rpncalc.pla: 0407: displayFix = d -; samplesrc/rpncalc.pla: 0408: displayInt = displayWidth - displayFix - 2 -; samplesrc/rpncalc.pla: 0409: elsif d == 'Q' - '0' - !BYTE $54 ; CALL _X006 -_F206 !WORD 0 - !BYTE $54 ; CALL _X021 -_F207 !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 -_F208 !WORD _D047+0 - !BYTE $1E ; CN 15 - !BYTE $68 ; LAB _D047+0 -_F209 !WORD _D047+0 - !BYTE $84 ; SUB - !BYTE $3A,$02 ; SUBI 2 - !BYTE $78 ; SAB _D048+0 -_F210 !WORD _D048+0 - !BYTE $50 ; BRNCH _B105 - !WORD _B105-* -_B104 -; samplesrc/rpncalc.pla: 0410: quit = TRUE -; samplesrc/rpncalc.pla: 0411: 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 -_F211 !WORD _D045+0 -_B106 -_B105 -; samplesrc/rpncalc.pla: 0412: clearStatus -; samplesrc/rpncalc.pla: 0413: // -; samplesrc/rpncalc.pla: 0414: // Do something -; samplesrc/rpncalc.pla: 0415: // -; samplesrc/rpncalc.pla: 0416: initDisplay -; samplesrc/rpncalc.pla: 0417: showStack -; samplesrc/rpncalc.pla: 0418: showMem -; samplesrc/rpncalc.pla: 0419: showInput -; samplesrc/rpncalc.pla: 0420: end - !BYTE $54 ; CALL _C006 -_F212 !WORD _C006 - !BYTE $54 ; CALL _C009 -_F213 !WORD _C009 - !BYTE $54 ; CALL _C002 -_F214 !WORD _C002 - !BYTE $54 ; CALL _C003 -_F215 !WORD _C003 - !BYTE $54 ; CALL _C004 -_F216 !WORD _C004 - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/rpncalc.pla: 0421: // -; samplesrc/rpncalc.pla: 0422: // Keypress handler -; samplesrc/rpncalc.pla: 0423: // -; samplesrc/rpncalc.pla: 0424: def inputKey#0 -_C023 ; inputKey() -; samplesrc/rpncalc.pla: 0425: byte inkey - ; inkey -> [0] -; samplesrc/rpncalc.pla: 0426: word pkeys - ; pkeys -> [1] -; samplesrc/rpncalc.pla: 0427: -; samplesrc/rpncalc.pla: 0428: conio:echo(ECHO_OFF) - !BYTE $58,$03,$00 ; ENTER 3,0 -; samplesrc/rpncalc.pla: 0429: while not quit - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X032+4 -_F217 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B109 - !WORD _B109-* -_B107 -; samplesrc/rpncalc.pla: 0430: pkeys = @keypad -; samplesrc/rpncalc.pla: 0431: conio:gotoxy(18, 7) -; samplesrc/rpncalc.pla: 0432: inkey = toupper(getc) -; samplesrc/rpncalc.pla: 0433: while ^pkeys - !BYTE $26 ; LA _D050+0 -_F218 !WORD _D050+0 - !BYTE $76,$01 ; SLW [1] - !BYTE $2A,$12 ; CB 18 - !BYTE $0E ; CN 7 - !BYTE $6A ; LAW _X032+8 -_F219 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X006 -_F220 !WORD 0 - !BYTE $54 ; CALL _X021 -_F221 !WORD 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B112 - !WORD _B112-* -_B110 -; samplesrc/rpncalc.pla: 0434: if inkey == ^pkeys -; samplesrc/rpncalc.pla: 0435: conio:texttype(INVERSE) -; samplesrc/rpncalc.pla: 0436: conio:gotoxy(pkeys->xpos, pkeys->ypos) -; samplesrc/rpncalc.pla: 0437: puts(pkeys + keystr) -; samplesrc/rpncalc.pla: 0438: conio:texttype(NORMAL) -; samplesrc/rpncalc.pla: 0439: pkeys=>phandler(pkeys)#0 -; samplesrc/rpncalc.pla: 0440: conio:gotoxy(pkeys->xpos, pkeys->ypos) -; samplesrc/rpncalc.pla: 0441: puts(pkeys + keystr) -; samplesrc/rpncalc.pla: 0442: break - !BYTE $64,$00 ; LLB [0] - !BYTE $66,$01 ; LLW [1] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B113 - !WORD _B113-* - !BYTE $2A,$3F ; CB 63 - !BYTE $6A ; LAW _X032+12 -_F222 !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 -_F223 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X004 -_F224 !WORD 0 - !BYTE $2A,$FF ; CB 255 - !BYTE $6A ; LAW _X032+12 -_F225 !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 -_F226 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X004 -_F227 !WORD 0 - !BYTE $50 ; BRNCH _B111 - !WORD _B111-* -; samplesrc/rpncalc.pla: 0443: fin -_B113 -_B114 -; samplesrc/rpncalc.pla: 0444: pkeys = pkeys + t_keyinput -; samplesrc/rpncalc.pla: 0445: 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: 0446: loop -_B109 - !BYTE $68 ; LAB _D045+0 -_F228 !WORD _D045+0 - !BYTE $4C ; BRFLS _B107 - !WORD _B107-* -_B108 -; samplesrc/rpncalc.pla: 0447: conio:echo(ECHO_ON) -; samplesrc/rpncalc.pla: 0448: end - !BYTE $2A,$80 ; CB 128 - !BYTE $6A ; LAW _X032+4 -_F229 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/rpncalc.pla: 0449: initDisplay -_INIT -; samplesrc/rpncalc.pla: 0450: initState -; samplesrc/rpncalc.pla: 0451: initInput -; samplesrc/rpncalc.pla: 0452: showStack -; samplesrc/rpncalc.pla: 0453: showMem -; samplesrc/rpncalc.pla: 0454: showInput -; samplesrc/rpncalc.pla: 0455: showStatus("Version 0.7") - !BYTE $54 ; CALL _C009 -_F230 !WORD _C009 - !BYTE $54 ; CALL _C010 -_F231 !WORD _C010 - !BYTE $54 ; CALL _C007 -_F232 !WORD _C007 - !BYTE $54 ; CALL _C002 -_F233 !WORD _C002 - !BYTE $54 ; CALL _C003 -_F234 !WORD _C003 - !BYTE $54 ; CALL _C004 -_F235 !WORD _C004 - !BYTE $2E ; CS - !BYTE $0B - !BYTE $56,$65,$72,$73,$69,$6F,$6E,$20 - !BYTE $30,$2E,$37 - !BYTE $54 ; CALL _C005 -_F236 !WORD _C005 -; samplesrc/rpncalc.pla: 0456: inputKey -; samplesrc/rpncalc.pla: 0457: conio:gotoxy(0, 22) -; samplesrc/rpncalc.pla: 0458: done - !BYTE $54 ; CALL _C023 -_F237 !WORD _C023 - !BYTE $00 ; CN 0 - !BYTE $2A,$16 ; CB 22 - !BYTE $6A ; LAW _X032+8 -_F238 !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 $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 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !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 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 31 ; 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 $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 18 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !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 31 ; 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 31 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !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 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !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 31 ; ESD INDEX - !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 $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 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE 32 ; 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 32 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F238-_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 4a3638b..0000000 --- a/src/samplesrc/sanity.a +++ /dev/null @@ -1,2574 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 8cebcc2..0000000 --- a/src/samplesrc/sfm.a +++ /dev/null @@ -1,3916 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: 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, $C0 // LDY ESTKH,X - !BYTE $B4 - !BYTE $C0 -; samplesrc/sfm.pla: 0045: byte = $B5, $D0 // LDA ESTKL,X - !BYTE $B5 - !BYTE $D0 -; 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, $C1 // LDY ESTKL+1,X - !BYTE $B4 - !BYTE $C1 -; samplesrc/sfm.pla: 0051: byte = $B5, $D1 // LDA ESTKL+1,X - !BYTE $B5 - !BYTE $D1 -; 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(TRUE) -; samplesrc/sfm.pla: 0579: spriteDrawBuf(hgrDrawBuf(0)) // 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 $20 ; MINUS ONE - !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(FALSE) -; samplesrc/sfm.pla: 0621: // -; samplesrc/sfm.pla: 0622: // Clear sprite lists -; samplesrc/sfm.pla: 0623: // -; samplesrc/sfm.pla: 0624: for curstar = 0 to 15 - !BYTE $00 ; CN 0 - !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: 0625: spriteDel(curstar) -; samplesrc/sfm.pla: 0626: 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: 0627: spriteDrawXorList() -; samplesrc/sfm.pla: 0628: spriteDrawXorList() -; samplesrc/sfm.pla: 0629: // -; samplesrc/sfm.pla: 0630: // Reset heap -; samplesrc/sfm.pla: 0631: // -; samplesrc/sfm.pla: 0632: heaprelease(heapstart) -; samplesrc/sfm.pla: 0633: //puts("\nAvailable memory: "); puti(heapavail()); putln -; samplesrc/sfm.pla: 0634: 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: 0635: 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: 0636: putln -; samplesrc/sfm.pla: 0637: 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 2ed308b..0000000 --- a/src/samplesrc/sfmsprt.a +++ /dev/null @@ -1,2284 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: 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(TRUE) -_SUBSEG ; BYTECODE STARTS -_INIT -; samplesrc/sfmsprt.pla: 0173: spriteDrawBuf(hgrDrawBuf(0)) // 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(FALSE) -; samplesrc/sfmsprt.pla: 0189: spriteSave("SHIP", sprtShip) - !BYTE $20 ; MINUS ONE - !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 $00 ; CN 0 - !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 4764e96..0000000 --- a/src/samplesrc/sieve.a +++ /dev/null @@ -1,487 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 665747a..0000000 --- a/src/samplesrc/test.a +++ /dev/null @@ -1,2678 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: a1[0]++ - !BYTE $7A ; SAW _D039+0 -_F017 !WORD _D039+0 - !BYTE $68 ; LAB _D031+0 -_F018 !WORD _D031+0 - !BYTE $8C ; INCR -; samplesrc/test.pla: 0075: a1++ - !BYTE $7C ; DAB _D031+0 -_F019 !WORD _D031+0 - !BYTE $8C ; INCR -; samplesrc/test.pla: 0076: puti(array[0]);putln -; samplesrc/test.pla: 0077: puti(array[1]);putln -; samplesrc/test.pla: 0078: end - !BYTE $78 ; SAB _D031+0 -_F020 !WORD _D031+0 - !BYTE $6A ; LAW _D039+0 -_F021 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F022 !WORD 0 - !BYTE $54 ; CALL _X003 -_F023 !WORD 0 - !BYTE $6A ; LAW _D039+2 -_F024 !WORD _D039+2 - !BYTE $54 ; CALL _X005 -_F025 !WORD 0 - !BYTE $54 ; CALL _X003 -_F026 !WORD 0 - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/test.pla: 0079: def printfunc(a, b, lambda)#0 - ; a -> [0] - ; b -> [2] - ; lambda -> [4] -_C003 ; printfunc() -; samplesrc/test.pla: 0080: 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 -_F027 !WORD 0 -; samplesrc/test.pla: 0081: puti(lambda(a,b)) -; samplesrc/test.pla: 0082: putln -; samplesrc/test.pla: 0083: end - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _X005 -_F028 !WORD 0 - !BYTE $54 ; CALL _X003 -_F029 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/test.pla: 0084: def vals123#3 -_C004 ; vals123() -; samplesrc/test.pla: 0085: return 1, 2, 3 - !BYTE $02 ; CN 1 - !BYTE $04 ; CN 2 - !BYTE $06 ; CN 3 - !BYTE $5C ; RET -; samplesrc/test.pla: 0086: end -; samplesrc/test.pla: 0087: export def main(range)#0 - ; range -> [0] -_C005 ; main() -; samplesrc/test.pla: 0088: word a, b, c - ; a -> [2] - ; b -> [4] - ; c -> [6] -; samplesrc/test.pla: 0089: word lambda - ; lambda -> [8] -; samplesrc/test.pla: 0090: -; samplesrc/test.pla: 0091: a = 10 - !BYTE $58,$0A,$01 ; ENTER 10,1 -; samplesrc/test.pla: 0092: nums(*range) -; samplesrc/test.pla: 0093: tens(*range*10) -; samplesrc/test.pla: 0094: ascii -; samplesrc/test.pla: 0095: putln -; samplesrc/test.pla: 0096: 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 -_F030 !WORD _C002 - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $54 ; CALL _C000 -_F031 !WORD _C000 - !BYTE $54 ; CALL _C001 -_F032 !WORD _C001 - !BYTE $54 ; CALL _X003 -_F033 !WORD 0 - !BYTE $2E ; CS - !BYTE $09 - !BYTE $31,$30,$20,$2A,$20,$38,$20,$3D - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F034 !WORD 0 -; samplesrc/test.pla: 0097: puts("10 / 2 = "); puti(a / 2); putln - !BYTE $66,$02 ; LLW [2] - !BYTE $06 ; CN 3 - !BYTE $9A ; SHL - !BYTE $54 ; CALL _X005 -_F035 !WORD 0 - !BYTE $54 ; CALL _X003 -_F036 !WORD 0 - !BYTE $2E ; CS - !BYTE $09 - !BYTE $31,$30,$20,$2F,$20,$32,$20,$3D - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F037 !WORD 0 -; samplesrc/test.pla: 0098: puts(@hello) -; samplesrc/test.pla: 0099: when MACHID & $C8 - !BYTE $66,$02 ; LLW [2] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $54 ; CALL _X005 -_F038 !WORD 0 - !BYTE $54 ; CALL _X003 -_F039 !WORD 0 - !BYTE $26 ; LA _D030+0 -_F040 !WORD _D030+0 - !BYTE $54 ; CALL _X004 -_F041 !WORD 0 - !BYTE $68 ; LAB _X001+0 -_F042 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B011-* -; samplesrc/test.pla: 0100: is $08 -_B012 -; samplesrc/test.pla: 0101: puts(@a1) -; samplesrc/test.pla: 0102: break - !BYTE $26 ; LA _D031+0 -_F043 !WORD _D031+0 - !BYTE $54 ; CALL _X004 -_F044 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; samplesrc/test.pla: 0103: is $00 -_B013 -; samplesrc/test.pla: 0104: puts(@a2) -; samplesrc/test.pla: 0105: break - !BYTE $26 ; LA _D032+0 -_F045 !WORD _D032+0 - !BYTE $54 ; CALL _X004 -_F046 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; samplesrc/test.pla: 0106: is $40 -_B014 -; samplesrc/test.pla: 0107: puts(@a2p) -; samplesrc/test.pla: 0108: break - !BYTE $26 ; LA _D033+0 -_F047 !WORD _D033+0 - !BYTE $54 ; CALL _X004 -_F048 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; samplesrc/test.pla: 0109: is $80 -_B015 -; samplesrc/test.pla: 0110: puts(@a2e) -; samplesrc/test.pla: 0111: break - !BYTE $26 ; LA _D034+0 -_F049 !WORD _D034+0 - !BYTE $54 ; CALL _X004 -_F050 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; samplesrc/test.pla: 0112: is $88 -_B016 -; samplesrc/test.pla: 0113: puts(@a2c) -; samplesrc/test.pla: 0114: break - !BYTE $26 ; LA _D035+0 -_F051 !WORD _D035+0 - !BYTE $54 ; CALL _X004 -_F052 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; samplesrc/test.pla: 0115: is $C0 -_B017 -; samplesrc/test.pla: 0116: puts(@a3) -; samplesrc/test.pla: 0117: break - !BYTE $26 ; LA _D036+0 -_F053 !WORD _D036+0 - !BYTE $54 ; CALL _X004 -_F054 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; samplesrc/test.pla: 0118: 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: 0119: putc('?') -; samplesrc/test.pla: 0120: wend - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _X002 -_F055 !WORD 0 -_B010 -; samplesrc/test.pla: 0121: putln -; samplesrc/test.pla: 0122: printfunc(1, 2, &(a,b) a+b) - ; a -> [0] - ; b -> [2] - ; a -> [0] - ; b -> [2] -; samplesrc/test.pla: 0123: printfunc(1, 2, &(a,b) (a-b)) - ; a -> [0] - ; b -> [2] - ; a -> [0] - ; b -> [2] -; samplesrc/test.pla: 0124: lambda = &(x,y) x * y - ; x -> [0] - ; y -> [2] -; samplesrc/test.pla: 0125: puti(lambda(2,3));putln -; samplesrc/test.pla: 0126: a = vals123 -; samplesrc/test.pla: 0127: drop, b, drop = vals123 -; samplesrc/test.pla: 0128: drop, drop, c = vals123 -; samplesrc/test.pla: 0129: puts("a, b, c = "); puti(a); puts(", "); puti(b); puts(", "); puti(c); putln - !BYTE $54 ; CALL _X003 -_F056 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $04 ; CN 2 - !BYTE $26 ; LA _C006+0 -_F057 !WORD _C006+0 - !BYTE $54 ; CALL _C003 -_F058 !WORD _C003 - !BYTE $02 ; CN 1 - !BYTE $04 ; CN 2 - !BYTE $26 ; LA _C007+0 -_F059 !WORD _C007+0 - !BYTE $54 ; CALL _C003 -_F060 !WORD _C003 - !BYTE $26 ; LA _C008+0 -_F061 !WORD _C008+0 - !BYTE $76,$08 ; SLW [8] - !BYTE $04 ; CN 2 - !BYTE $06 ; CN 3 - !BYTE $66,$08 ; LLW [8] - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _X005 -_F062 !WORD 0 - !BYTE $54 ; CALL _X003 -_F063 !WORD 0 - !BYTE $54 ; CALL _C004 -_F064 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $76,$02 ; SLW [2] - !BYTE $54 ; CALL _C004 -_F065 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $76,$04 ; SLW [4] - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C004 -_F066 !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 -_F067 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F068 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F069 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X005 -_F070 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F071 !WORD 0 -; samplesrc/test.pla: 0130: puts(" 7 / 3 = "); puti(7/3); puts(" ; 7 % 3 = "); puti(7%3); putln - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X005 -_F072 !WORD 0 - !BYTE $54 ; CALL _X003 -_F073 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$37,$20,$2F,$20,$20,$33,$20 - !BYTE $3D,$20 - !BYTE $54 ; CALL _X004 -_F074 !WORD 0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X005 -_F075 !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 -_F076 !WORD 0 -; samplesrc/test.pla: 0131: puts(" 7 / -3 = "); puti(7/-3); puts("; 7 % -3 = "); puti(7%-3); putln - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X005 -_F077 !WORD 0 - !BYTE $54 ; CALL _X003 -_F078 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$37,$20,$2F,$20,$2D,$33,$20 - !BYTE $3D,$20 - !BYTE $54 ; CALL _X004 -_F079 !WORD 0 - !BYTE $5E,$FE ; CFFB -2 - !BYTE $54 ; CALL _X005 -_F080 !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 -_F081 !WORD 0 -; samplesrc/test.pla: 0132: puts("-7 / 3 = "); puti(-7/3); puts("; -7 % 3 = "); puti(-7%3); putln - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X005 -_F082 !WORD 0 - !BYTE $54 ; CALL _X003 -_F083 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $2D,$37,$20,$2F,$20,$20,$33,$20 - !BYTE $3D,$20 - !BYTE $54 ; CALL _X004 -_F084 !WORD 0 - !BYTE $5E,$FE ; CFFB -2 - !BYTE $54 ; CALL _X005 -_F085 !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 -_F086 !WORD 0 -; samplesrc/test.pla: 0133: puts("-7 / -3 = "); puti(-7/-3); puts(" ; -7 % -3 = "); puti(-7%-3); putln - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X005 -_F087 !WORD 0 - !BYTE $54 ; CALL _X003 -_F088 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $2D,$37,$20,$2F,$20,$2D,$33,$20 - !BYTE $3D,$20 - !BYTE $54 ; CALL _X004 -_F089 !WORD 0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X005 -_F090 !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 -_F091 !WORD 0 -; samplesrc/test.pla: 0134: a,b=divmod(7,3); puts("divmod( 7, 3) = "); puti(a); puts(", "); puti(b); putln - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X005 -_F092 !WORD 0 - !BYTE $54 ; CALL _X003 -_F093 !WORD 0 - !BYTE $0E ; CN 7 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X023 -_F094 !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 -_F095 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F096 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F097 !WORD 0 -; samplesrc/test.pla: 0135: a,b=divmod(7,-3); puts("divmod( 7,-3) = "); puti(a); puts(", "); puti(b); putln - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X005 -_F098 !WORD 0 - !BYTE $54 ; CALL _X003 -_F099 !WORD 0 - !BYTE $0E ; CN 7 - !BYTE $5E,$FD ; CFFB -3 - !BYTE $54 ; CALL _X023 -_F100 !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 -_F101 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F102 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F103 !WORD 0 -; samplesrc/test.pla: 0136: a,b=divmod(-7,3); puts("divmod(-7, 3) = "); puti(a); puts(", "); puti(b); putln - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X005 -_F104 !WORD 0 - !BYTE $54 ; CALL _X003 -_F105 !WORD 0 - !BYTE $5E,$F9 ; CFFB -7 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X023 -_F106 !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 -_F107 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F108 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F109 !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 -_F110 !WORD 0 - !BYTE $54 ; CALL _X003 -_F111 !WORD 0 - !BYTE $5E,$F9 ; CFFB -7 - !BYTE $5E,$FD ; CFFB -3 - !BYTE $54 ; CALL _X023 -_F112 !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 -_F113 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F114 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F115 !WORD 0 -; samplesrc/test.pla: 0138: end - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X005 -_F116 !WORD 0 - !BYTE $54 ; CALL _X003 -_F117 !WORD 0 - !BYTE $5A,$0A ; LEAVE 10 -_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: 0139: -; samplesrc/test.pla: 0140: def dummy(zz)#2 - ; zz -> [0] -_C009 ; dummy() -; samplesrc/test.pla: 0141: 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 -_F118 !WORD 0 -; samplesrc/test.pla: 0142: return 0 - !BYTE $54 ; CALL _X003 -_F119 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/test.pla: 0143: end -; samplesrc/test.pla: 0144: -; samplesrc/test.pla: 0145: def value1 -_C010 ; value1() -; samplesrc/test.pla: 0146: return 1 - !BYTE $02 ; CN 1 - !BYTE $5C ; RET -; samplesrc/test.pla: 0147: end -; samplesrc/test.pla: 0148: -; samplesrc/test.pla: 0149: puti(array[0]);putc(' ') -_INIT -; samplesrc/test.pla: 0150: puti(array[1]);putc(' ') -; samplesrc/test.pla: 0151: puti(array[2]);putc(' ') -; samplesrc/test.pla: 0152: puti(array[3]);putc(' ') -; samplesrc/test.pla: 0153: puti(array[4]);putln -; samplesrc/test.pla: 0154: puti((@array)=>0);putc(' ') -; samplesrc/test.pla: 0155: puti((@array)=>2);putc(' ') -; samplesrc/test.pla: 0156: puti((@array)=>4);putc(' ') -; samplesrc/test.pla: 0157: puti((@array)=>6);putc(' ') -; samplesrc/test.pla: 0158: puti((@array)=>8);putln -; samplesrc/test.pla: 0159: ptr = @main -; samplesrc/test.pla: 0160: ptr(@array:6)#0 -; samplesrc/test.pla: 0161: ptr = @array -; samplesrc/test.pla: 0162: puti((ptr):6) -; samplesrc/test.pla: 0163: putln -; samplesrc/test.pla: 0164: puti(ptr=>6) -; samplesrc/test.pla: 0165: putln -; samplesrc/test.pla: 0166: puti((ptr).6) -; samplesrc/test.pla: 0167: putln -; samplesrc/test.pla: 0168: puti(ptr->6) -; samplesrc/test.pla: 0169: putln -; samplesrc/test.pla: 0170: puts(@offsets) -; samplesrc/test.pla: 0171: putln -; samplesrc/test.pla: 0172: puti(cmd) -; samplesrc/test.pla: 0173: putln -; samplesrc/test.pla: 0174: puti(param) -; samplesrc/test.pla: 0175: putln -; samplesrc/test.pla: 0176: puti(data) -; samplesrc/test.pla: 0177: putln -; samplesrc/test.pla: 0178: puti(mystruc) -; samplesrc/test.pla: 0179: putln -; samplesrc/test.pla: 0180: puts(@constr); puti(constval); putln -; samplesrc/test.pla: 0181: puts("Signed byte constant:"); puti(-3); putln - !BYTE $6A ; LAW _D039+0 -_F120 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F121 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F122 !WORD 0 - !BYTE $6A ; LAW _D039+2 -_F123 !WORD _D039+2 - !BYTE $54 ; CALL _X005 -_F124 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F125 !WORD 0 - !BYTE $6A ; LAW _D039+4 -_F126 !WORD _D039+4 - !BYTE $54 ; CALL _X005 -_F127 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F128 !WORD 0 - !BYTE $6A ; LAW _D039+6 -_F129 !WORD _D039+6 - !BYTE $54 ; CALL _X005 -_F130 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F131 !WORD 0 - !BYTE $6A ; LAW _D039+8 -_F132 !WORD _D039+8 - !BYTE $54 ; CALL _X005 -_F133 !WORD 0 - !BYTE $54 ; CALL _X003 -_F134 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F135 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F136 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F137 !WORD 0 - !BYTE $6A ; LAW _D039+2 -_F138 !WORD _D039+2 - !BYTE $54 ; CALL _X005 -_F139 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F140 !WORD 0 - !BYTE $6A ; LAW _D039+4 -_F141 !WORD _D039+4 - !BYTE $54 ; CALL _X005 -_F142 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F143 !WORD 0 - !BYTE $6A ; LAW _D039+6 -_F144 !WORD _D039+6 - !BYTE $54 ; CALL _X005 -_F145 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F146 !WORD 0 - !BYTE $6A ; LAW _D039+8 -_F147 !WORD _D039+8 - !BYTE $54 ; CALL _X005 -_F148 !WORD 0 - !BYTE $54 ; CALL _X003 -_F149 !WORD 0 - !BYTE $26 ; LA _C005+0 -_F150 !WORD _C005+0 - !BYTE $7A ; SAW _D040+0 -_F151 !WORD _D040+0 - !BYTE $26 ; LA _D039+6 -_F152 !WORD _D039+6 - !BYTE $6A ; LAW _D040+0 -_F153 !WORD _D040+0 - !BYTE $56 ; ICAL - !BYTE $26 ; LA _D039+0 -_F154 !WORD _D039+0 - !BYTE $7E ; DAW _D040+0 -_F155 !WORD _D040+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X005 -_F156 !WORD 0 - !BYTE $54 ; CALL _X003 -_F157 !WORD 0 - !BYTE $6A ; LAW _D040+0 -_F158 !WORD _D040+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X005 -_F159 !WORD 0 - !BYTE $54 ; CALL _X003 -_F160 !WORD 0 - !BYTE $6A ; LAW _D040+0 -_F161 !WORD _D040+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F162 !WORD 0 - !BYTE $54 ; CALL _X003 -_F163 !WORD 0 - !BYTE $6A ; LAW _D040+0 -_F164 !WORD _D040+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F165 !WORD 0 - !BYTE $54 ; CALL _X003 -_F166 !WORD 0 - !BYTE $26 ; LA _D038+0 -_F167 !WORD _D038+0 - !BYTE $54 ; CALL _X004 -_F168 !WORD 0 - !BYTE $54 ; CALL _X003 -_F169 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X005 -_F170 !WORD 0 - !BYTE $54 ; CALL _X003 -_F171 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X005 -_F172 !WORD 0 - !BYTE $54 ; CALL _X003 -_F173 !WORD 0 - !BYTE $0C ; CN 6 - !BYTE $54 ; CALL _X005 -_F174 !WORD 0 - !BYTE $54 ; CALL _X003 -_F175 !WORD 0 - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _X005 -_F176 !WORD 0 - !BYTE $54 ; CALL _X003 -_F177 !WORD 0 - !BYTE $26 ; LA _D037+0 -_F178 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F179 !WORD 0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X005 -_F180 !WORD 0 - !BYTE $54 ; CALL _X003 -_F181 !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 -_F182 !WORD 0 -; samplesrc/test.pla: 0182: puts("Hello from in-line string!\$7F\n") - !BYTE $5E,$FD ; CFFB -3 - !BYTE $54 ; CALL _X005 -_F183 !WORD 0 - !BYTE $54 ; CALL _X003 -_F184 !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 -_F185 !WORD 0 -; samplesrc/test.pla: 0183: puti(array:0); puts(" == "); puti(array:1); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F186 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F187 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3D,$3D,$20 - !BYTE $54 ; CALL _X004 -_F188 !WORD 0 - !BYTE $6A ; LAW _D039+1 -_F189 !WORD _D039+1 - !BYTE $54 ; CALL _X005 -_F190 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F191 !WORD 0 -; samplesrc/test.pla: 0184: puts(array:0 == array:1 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F192 !WORD _D039+0 - !BYTE $6A ; LAW _D039+1 -_F193 !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 -_F194 !WORD 0 -; samplesrc/test.pla: 0185: puti(array:0); puts(" <> "); puti(array:1); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F195 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F196 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3C,$3E,$20 - !BYTE $54 ; CALL _X004 -_F197 !WORD 0 - !BYTE $6A ; LAW _D039+1 -_F198 !WORD _D039+1 - !BYTE $54 ; CALL _X005 -_F199 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F200 !WORD 0 -; samplesrc/test.pla: 0186: puts(array:0 <> array:1 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F201 !WORD _D039+0 - !BYTE $6A ; LAW _D039+1 -_F202 !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 -_F203 !WORD 0 -; samplesrc/test.pla: 0187: puti(array:0); puts(" >= "); puti(array:1); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F204 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F205 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3E,$3D,$20 - !BYTE $54 ; CALL _X004 -_F206 !WORD 0 - !BYTE $6A ; LAW _D039+1 -_F207 !WORD _D039+1 - !BYTE $54 ; CALL _X005 -_F208 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F209 !WORD 0 -; samplesrc/test.pla: 0188: puts(array:0 >= array:1 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F210 !WORD _D039+0 - !BYTE $6A ; LAW _D039+1 -_F211 !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 -_F212 !WORD 0 -; samplesrc/test.pla: 0189: puti(array:0); puts(" <= "); puti(array:1); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F213 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F214 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3C,$3D,$20 - !BYTE $54 ; CALL _X004 -_F215 !WORD 0 - !BYTE $6A ; LAW _D039+1 -_F216 !WORD _D039+1 - !BYTE $54 ; CALL _X005 -_F217 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F218 !WORD 0 -; samplesrc/test.pla: 0190: puts(array:0 <= array:1 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F219 !WORD _D039+0 - !BYTE $6A ; LAW _D039+1 -_F220 !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 -_F221 !WORD 0 -; samplesrc/test.pla: 0191: puti(array:0); puts(" > "); puti(array:1); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F222 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F223 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3E,$20,$20 - !BYTE $54 ; CALL _X004 -_F224 !WORD 0 - !BYTE $6A ; LAW _D039+1 -_F225 !WORD _D039+1 - !BYTE $54 ; CALL _X005 -_F226 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F227 !WORD 0 -; samplesrc/test.pla: 0192: puts(array:0 > array:1 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F228 !WORD _D039+0 - !BYTE $6A ; LAW _D039+1 -_F229 !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 -_F230 !WORD 0 -; samplesrc/test.pla: 0193: puti(array:0); puts(" < "); puti(array:1); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F231 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F232 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3C,$20,$20 - !BYTE $54 ; CALL _X004 -_F233 !WORD 0 - !BYTE $6A ; LAW _D039+1 -_F234 !WORD _D039+1 - !BYTE $54 ; CALL _X005 -_F235 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F236 !WORD 0 -; samplesrc/test.pla: 0194: puts(array:0 < array:1 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F237 !WORD _D039+0 - !BYTE $6A ; LAW _D039+1 -_F238 !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 -_F239 !WORD 0 -; samplesrc/test.pla: 0195: puti(array:0); puts(" == "); puti(array:0); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F240 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F241 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3D,$3D,$20 - !BYTE $54 ; CALL _X004 -_F242 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F243 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F244 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F245 !WORD 0 -; samplesrc/test.pla: 0196: puts(array:0 == array:0 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F246 !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 -_F247 !WORD 0 -; samplesrc/test.pla: 0197: puti(array:0); puts(" <> "); puti(array:0); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F248 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F249 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3C,$3E,$20 - !BYTE $54 ; CALL _X004 -_F250 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F251 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F252 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F253 !WORD 0 -; samplesrc/test.pla: 0198: puts(array:0 <> array:0 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F254 !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 -_F255 !WORD 0 -; samplesrc/test.pla: 0199: puti(array:0); puts(" >= "); puti(array:0); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F256 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F257 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3E,$3D,$20 - !BYTE $54 ; CALL _X004 -_F258 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F259 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F260 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F261 !WORD 0 -; samplesrc/test.pla: 0200: puts(array:0 >= array:0 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F262 !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 -_F263 !WORD 0 -; samplesrc/test.pla: 0201: puti(array:0); puts(" <= "); puti(array:0); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F264 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F265 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3C,$3D,$20 - !BYTE $54 ; CALL _X004 -_F266 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F267 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F268 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F269 !WORD 0 -; samplesrc/test.pla: 0202: puts(array:0 <= array:0 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F270 !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 -_F271 !WORD 0 -; samplesrc/test.pla: 0203: puti(array:0); puts(" > "); puti(array:0); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F272 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F273 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3E,$20,$20 - !BYTE $54 ; CALL _X004 -_F274 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F275 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F276 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F277 !WORD 0 -; samplesrc/test.pla: 0204: puts(array:0 > array:0 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F278 !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 -_F279 !WORD 0 -; samplesrc/test.pla: 0205: puti(array:0); puts(" < "); puti(array:0); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F280 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F281 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3C,$20,$20 - !BYTE $54 ; CALL _X004 -_F282 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F283 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F284 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F285 !WORD 0 -; samplesrc/test.pla: 0206: puts(array:0 < array:0 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F286 !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 -_F287 !WORD 0 -; samplesrc/test.pla: 0207: ptr = 5 -; samplesrc/test.pla: 0208: puts("5*0="); puti(ptr*0); putln - !BYTE $0A ; CN 5 - !BYTE $7A ; SAW _D040+0 -_F288 !WORD _D040+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $35,$2A,$30,$3D - !BYTE $54 ; CALL _X004 -_F289 !WORD 0 -; samplesrc/test.pla: 0209: puts("5*1="); puti(ptr*1); putln - !BYTE $6A ; LAW _D040+0 -_F290 !WORD _D040+0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X005 -_F291 !WORD 0 - !BYTE $54 ; CALL _X003 -_F292 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $35,$2A,$31,$3D - !BYTE $54 ; CALL _X004 -_F293 !WORD 0 -; samplesrc/test.pla: 0210: puts("5*2="); puti(ptr*2); putln - !BYTE $6A ; LAW _D040+0 -_F294 !WORD _D040+0 - !BYTE $54 ; CALL _X005 -_F295 !WORD 0 - !BYTE $54 ; CALL _X003 -_F296 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $35,$2A,$32,$3D - !BYTE $54 ; CALL _X004 -_F297 !WORD 0 -; samplesrc/test.pla: 0211: puts("5/1="); puti(ptr/1); putln - !BYTE $6A ; LAW _D040+0 -_F298 !WORD _D040+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X005 -_F299 !WORD 0 - !BYTE $54 ; CALL _X003 -_F300 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $35,$2F,$31,$3D - !BYTE $54 ; CALL _X004 -_F301 !WORD 0 -; samplesrc/test.pla: 0212: ptr = -1 -; samplesrc/test.pla: 0213: puts("-1 * -1 = "); puti(ptr * ptr); putln - !BYTE $6A ; LAW _D040+0 -_F302 !WORD _D040+0 - !BYTE $54 ; CALL _X005 -_F303 !WORD 0 - !BYTE $54 ; CALL _X003 -_F304 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $7A ; SAW _D040+0 -_F305 !WORD _D040+0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $2D,$31,$20,$2A,$20,$2D,$31,$20 - !BYTE $3D,$20 - !BYTE $54 ; CALL _X004 -_F306 !WORD 0 -; samplesrc/test.pla: 0214: done - !BYTE $6A ; LAW _D040+0 -_F307 !WORD _D040+0 - !BYTE $34 ; DUP - !BYTE $86 ; MUL - !BYTE $54 ; CALL _X005 -_F308 !WORD 0 - !BYTE $54 ; CALL _X003 -_F309 !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 $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 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 3 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !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 1 ; 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 $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE 3 ; 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 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 3 ; 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 $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 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !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 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE 23 ; 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 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 23 ; 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 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE 23 ; 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 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE 23 ; 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 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE 2 ; 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 3 ; 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 2 ; 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 3 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE 3 ; 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 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !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 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE 4 ; 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 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE 5 ; 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 $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !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 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F285-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F286-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F287-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F288-_SEGBEGIN - !BYTE $00 - !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 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F292-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F293-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F294-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F295-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F296-_SEGBEGIN - !BYTE 3 ; 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 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F300-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F305-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F306-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F307-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F308-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F309-_SEGBEGIN - !BYTE 3 ; 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: 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 961ac10..0000000 --- a/src/samplesrc/testlib.a +++ /dev/null @@ -1,341 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 87d973d..0000000 --- a/src/samplesrc/tiletest.a +++ /dev/null @@ -1,283 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: end -; samplesrc/tiletest.pla: 0001: -; samplesrc/tiletest.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 tileMode(mode)#1 - ; TILEMODE -> X035 -; inc/hgrtile.plh: 0009: predef tileClear#0 - ; TILECLEAR -> X036 -; inc/hgrtile.plh: 0010: predef tileShow(page)#1 - ; TILESHOW -> X037 -; inc/hgrtile.plh: 0011: predef tileSwap#1 - ; TILESWAP -> X038 -; inc/hgrtile.plh: 0012: predef tileDrawBuf(page)#1 - ; TILEDRAWBUF -> X039 -; inc/hgrtile.plh: 0013: end -; samplesrc/tiletest.pla: 0002: -; samplesrc/tiletest.pla: 0003: include "inc/hgrfont.plh" -; inc/hgrfont.plh: 0001: import hgrfont - ; DCI STRING: HGRFONT - !BYTE $C8,$C7,$D2,$C6,$CF,$CE,$54 - ; HGRFONT -> X040 -; inc/hgrfont.plh: 0002: predef hgrPutStr(x, y, strptr)#0 - ; HGRPUTSTR -> X041 -; inc/hgrfont.plh: 0003: end -; samplesrc/tiletest.pla: 0003: -; samplesrc/tiletest.pla: 0004: sysflags reshgr1 // Reserve HGR page 1 - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0010 ; SYSTEM FLAGS -; samplesrc/tiletest.pla: 0005: -; samplesrc/tiletest.pla: 0006: tileMode(TRUE) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_INIT -; samplesrc/tiletest.pla: 0007: hgrPutStr(5, 1, "Hello HiRes Tile Demo") - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X035 -_F000 !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 _X041 -_F001 !WORD 0 -; samplesrc/tiletest.pla: 0008: getc -; samplesrc/tiletest.pla: 0009: tileFromText(0, @hgrFont) -; samplesrc/tiletest.pla: 0010: getc -; samplesrc/tiletest.pla: 0011: tileMode(FALSE) -; samplesrc/tiletest.pla: 0012: done - !BYTE $54 ; CALL _X006 -_F002 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _X040+0 -_F003 !WORD 0+0 - !BYTE $54 ; CALL _X034 -_F004 !WORD 0 - !BYTE $54 ; CALL _X006 -_F005 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X035 -_F006 !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 35 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 35 ; 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: TILEFROMTEXT - !BYTE $D4,$C9,$CC,$C5,$C6,$D2,$CF,$CD,$D4,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: TILEMODE - !BYTE $D4,$C9,$CC,$C5,$CD,$CF,$C4,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - ; DCI STRING: HGRFONT - !BYTE $C8,$C7,$D2,$C6,$CF,$CE,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - ; DCI STRING: HGRPUTSTR - !BYTE $C8,$C7,$D2,$D0,$D5,$D4,$D3,$D4,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 41 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/toolsrc/codeopt.a b/src/toolsrc/codeopt.a deleted file mode 100644 index 9a05d2e..0000000 --- a/src/toolsrc/codeopt.a +++ /dev/null @@ -1,3135 +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 -; toolsrc/codeopt.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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: end -; toolsrc/codeopt.pla: 0001: -; toolsrc/codeopt.pla: 0002: // -; toolsrc/codeopt.pla: 0003: // Imports from main compiler -; toolsrc/codeopt.pla: 0004: // -; toolsrc/codeopt.pla: 0005: import plasm - ; DCI STRING: PLASM - !BYTE $D0,$CC,$C1,$D3,$4D - ; PLASM -> X028 -; toolsrc/codeopt.pla: 0006: word freeop_lst - ; FREEOP_LST -> X029 -; toolsrc/codeopt.pla: 0007: word optimize_seq - ; OPTIMIZE_SEQ -> X030 -; toolsrc/codeopt.pla: 0008: end -; toolsrc/codeopt.pla: 0009: // -; toolsrc/codeopt.pla: 0010: // Code sequence values shares with main compiler -; toolsrc/codeopt.pla: 0011: // -; toolsrc/codeopt.pla: 0012: include "toolsrc/codeseq.plh" -; toolsrc/codeseq.plh: 0001: // -; toolsrc/codeseq.plh: 0002: // Constant code group -; toolsrc/codeseq.plh: 0003: // -; toolsrc/codeseq.plh: 0004: const CONST_GROUP = $00 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; CONST_GROUP = 0 -; toolsrc/codeseq.plh: 0005: const CONST_CODE = $2C - ; CONST_CODE = 44 -; toolsrc/codeseq.plh: 0006: const ADDI_CODE = $38 - ; ADDI_CODE = 56 -; toolsrc/codeseq.plh: 0007: const SUBI_CODE = $3A - ; SUBI_CODE = 58 -; toolsrc/codeseq.plh: 0008: const ANDI_CODE = $3C - ; ANDI_CODE = 60 -; toolsrc/codeseq.plh: 0009: const ORI_CODE = $3E - ; ORI_CODE = 62 -; toolsrc/codeseq.plh: 0010: const CONSTR_GROUP = $01 - ; CONSTR_GROUP = 1 -; toolsrc/codeseq.plh: 0011: const CONSTR_CODE = $2E - ; CONSTR_CODE = 46 -; toolsrc/codeseq.plh: 0012: // -; toolsrc/codeseq.plh: 0013: // Stack code group -; toolsrc/codeseq.plh: 0014: // -; toolsrc/codeseq.plh: 0015: const STACK_GROUP = $02 - ; STACK_GROUP = 2 -; toolsrc/codeseq.plh: 0016: const INDEXB_CODE = $82 - ; INDEXB_CODE = 130 -; toolsrc/codeseq.plh: 0017: const ADD_CODE = $82 - ; ADD_CODE = 130 -; toolsrc/codeseq.plh: 0018: const SUB_CODE = $84 - ; SUB_CODE = 132 -; toolsrc/codeseq.plh: 0019: const MUL_CODE = $86 - ; MUL_CODE = 134 -; toolsrc/codeseq.plh: 0020: const DIV_CODE = $88 - ; DIV_CODE = 136 -; toolsrc/codeseq.plh: 0021: const MOD_CODE = $8A - ; MOD_CODE = 138 -; toolsrc/codeseq.plh: 0022: const INC_CODE = $8C - ; INC_CODE = 140 -; toolsrc/codeseq.plh: 0023: const DEC_CODE = $8E - ; DEC_CODE = 142 -; toolsrc/codeseq.plh: 0024: const NEG_CODE = $90 - ; NEG_CODE = 144 -; toolsrc/codeseq.plh: 0025: const COMP_CODE = $92 - ; COMP_CODE = 146 -; toolsrc/codeseq.plh: 0026: const AND_CODE = $94 - ; AND_CODE = 148 -; toolsrc/codeseq.plh: 0027: const OR_CODE = $96 - ; OR_CODE = 150 -; toolsrc/codeseq.plh: 0028: const EOR_CODE = $98 - ; EOR_CODE = 152 -; toolsrc/codeseq.plh: 0029: const SHL_CODE = $9A - ; SHL_CODE = 154 -; toolsrc/codeseq.plh: 0030: const SHR_CODE = $9C - ; SHR_CODE = 156 -; toolsrc/codeseq.plh: 0031: const INDEXW_CODE = $9E - ; INDEXW_CODE = 158 -; toolsrc/codeseq.plh: 0032: const LOGIC_NOT_CODE = $80 - ; LOGIC_NOT_CODE = 128 -; toolsrc/codeseq.plh: 0033: const DROP_CODE = $30 - ; DROP_CODE = 48 -; toolsrc/codeseq.plh: 0034: const DROP2_CODE = $32 - ; DROP2_CODE = 50 -; toolsrc/codeseq.plh: 0035: const DUP_CODE = $34 - ; DUP_CODE = 52 -; toolsrc/codeseq.plh: 0036: const EQ_CODE = $40 - ; EQ_CODE = 64 -; toolsrc/codeseq.plh: 0037: const NE_CODE = $42 - ; NE_CODE = 66 -; toolsrc/codeseq.plh: 0038: const GT_CODE = $44 - ; GT_CODE = 68 -; toolsrc/codeseq.plh: 0039: const LT_CODE = $46 - ; LT_CODE = 70 -; toolsrc/codeseq.plh: 0040: const GE_CODE = $48 - ; GE_CODE = 72 -; toolsrc/codeseq.plh: 0041: const LE_CODE = $4A - ; LE_CODE = 74 -; toolsrc/codeseq.plh: 0042: const ICAL_CODE = $56 - ; ICAL_CODE = 86 -; toolsrc/codeseq.plh: 0043: const RET_CODE = $5C - ; RET_CODE = 92 -; toolsrc/codeseq.plh: 0044: const LB_CODE = $60 - ; LB_CODE = 96 -; toolsrc/codeseq.plh: 0045: const BPTR_CODE = $60 - ; BPTR_CODE = 96 -; toolsrc/codeseq.plh: 0046: const LW_CODE = $62 - ; LW_CODE = 98 -; toolsrc/codeseq.plh: 0047: const WPTR_CODE = $62 - ; WPTR_CODE = 98 -; toolsrc/codeseq.plh: 0048: const SB_CODE = $70 - ; SB_CODE = 112 -; toolsrc/codeseq.plh: 0049: const SW_CODE = $72 - ; SW_CODE = 114 -; toolsrc/codeseq.plh: 0050: // -; toolsrc/codeseq.plh: 0051: // Local address code group -; toolsrc/codeseq.plh: 0052: // -; toolsrc/codeseq.plh: 0053: const LOCAL_GROUP = $03 - ; LOCAL_GROUP = 3 -; toolsrc/codeseq.plh: 0054: const LADDR_CODE = $28 - ; LADDR_CODE = 40 -; toolsrc/codeseq.plh: 0055: const LLB_CODE = $64 - ; LLB_CODE = 100 -; toolsrc/codeseq.plh: 0056: const LLW_CODE = $66 - ; LLW_CODE = 102 -; toolsrc/codeseq.plh: 0057: const DLB_CODE = $6C - ; DLB_CODE = 108 -; toolsrc/codeseq.plh: 0058: const DLW_CODE = $6E - ; DLW_CODE = 110 -; toolsrc/codeseq.plh: 0059: const SLB_CODE = $74 - ; SLB_CODE = 116 -; toolsrc/codeseq.plh: 0060: const SLW_CODE = $76 - ; SLW_CODE = 118 -; toolsrc/codeseq.plh: 0061: const ADDLB_CODE = $B0 - ; ADDLB_CODE = 176 -; toolsrc/codeseq.plh: 0062: const ADDLW_CODE = $B2 - ; ADDLW_CODE = 178 -; toolsrc/codeseq.plh: 0063: const IDXLB_CODE = $B8 - ; IDXLB_CODE = 184 -; toolsrc/codeseq.plh: 0064: const IDXLW_CODE = $BA - ; IDXLW_CODE = 186 -; toolsrc/codeseq.plh: 0065: // -; toolsrc/codeseq.plh: 0066: // Global address code group -; toolsrc/codeseq.plh: 0067: // -; toolsrc/codeseq.plh: 0068: const GLOBAL_GROUP = $04 - ; GLOBAL_GROUP = 4 -; toolsrc/codeseq.plh: 0069: const GADDR_CODE = $26 - ; GADDR_CODE = 38 -; toolsrc/codeseq.plh: 0070: const CALL_CODE = $54 - ; CALL_CODE = 84 -; toolsrc/codeseq.plh: 0071: const LAB_CODE = $68 - ; LAB_CODE = 104 -; toolsrc/codeseq.plh: 0072: const LAW_CODE = $6A - ; LAW_CODE = 106 -; toolsrc/codeseq.plh: 0073: const SAB_CODE = $78 - ; SAB_CODE = 120 -; toolsrc/codeseq.plh: 0074: const SAW_CODE = $7A - ; SAW_CODE = 122 -; toolsrc/codeseq.plh: 0075: const DAB_CODE = $7C - ; DAB_CODE = 124 -; toolsrc/codeseq.plh: 0076: const DAW_CODE = $7E - ; DAW_CODE = 126 -; toolsrc/codeseq.plh: 0077: const ADDAB_CODE = $B4 - ; ADDAB_CODE = 180 -; toolsrc/codeseq.plh: 0078: const ADDAW_CODE = $B6 - ; ADDAW_CODE = 182 -; toolsrc/codeseq.plh: 0079: const IDXAB_CODE = $BC - ; IDXAB_CODE = 188 -; toolsrc/codeseq.plh: 0080: const IDXAW_CODE = $BE - ; IDXAW_CODE = 190 -; toolsrc/codeseq.plh: 0081: // -; toolsrc/codeseq.plh: 0082: // Relative address code group -; toolsrc/codeseq.plh: 0083: // -; toolsrc/codeseq.plh: 0084: const RELATIVE_GROUP = $05 - ; RELATIVE_GROUP = 5 -; toolsrc/codeseq.plh: 0085: const BREQ_CODE = $22 - ; BREQ_CODE = 34 -; toolsrc/codeseq.plh: 0086: const BRNE_CODE = $24 - ; BRNE_CODE = 36 -; toolsrc/codeseq.plh: 0087: const BRFALSE_CODE = $4C - ; BRFALSE_CODE = 76 -; toolsrc/codeseq.plh: 0088: const BRTRUE_CODE = $4E - ; BRTRUE_CODE = 78 -; toolsrc/codeseq.plh: 0089: const BRNCH_CODE = $50 - ; BRNCH_CODE = 80 -; toolsrc/codeseq.plh: 0090: const BRAND_CODE = $AC - ; BRAND_CODE = 172 -; toolsrc/codeseq.plh: 0091: const BROR_CODE = $AE - ; BROR_CODE = 174 -; toolsrc/codeseq.plh: 0092: const BRGT_CODE = $A0 - ; BRGT_CODE = 160 -; toolsrc/codeseq.plh: 0093: const BRLT_CODE = $A2 - ; BRLT_CODE = 162 -; toolsrc/codeseq.plh: 0094: // -; toolsrc/codeseq.plh: 0095: // Code tag address group -; toolsrc/codeseq.plh: 0096: // -; toolsrc/codeseq.plh: 0097: const CODETAG_GROUP = $06 - ; CODETAG_GROUP = 6 -; toolsrc/codeseq.plh: 0098: // -; toolsrc/codeseq.plh: 0099: // Invalid code -; toolsrc/codeseq.plh: 0100: // -; toolsrc/codeseq.plh: 0101: const INVALID_CODE = $FF - ; INVALID_CODE = 255 -; toolsrc/codeseq.plh: 0102: // -; toolsrc/codeseq.plh: 0103: // Code sequence op -; toolsrc/codeseq.plh: 0104: // -; toolsrc/codeseq.plh: 0105: struc t_opseq -; toolsrc/codeseq.plh: 0106: byte opcode - ; opcode = 0 -; toolsrc/codeseq.plh: 0107: byte opgroup - ; opgroup = 1 -; toolsrc/codeseq.plh: 0108: word opval[] - ; opval = 2 -; toolsrc/codeseq.plh: 0109: word optag - ; optag = 2 -; toolsrc/codeseq.plh: 0110: word opoffset - ; opoffset = 4 -; toolsrc/codeseq.plh: 0111: word opnext - ; opnext = 6 -; toolsrc/codeseq.plh: 0112: end - ; t_opseq = 8 -; toolsrc/codeopt.pla: 0012: -; toolsrc/codeopt.pla: 0013: // -; toolsrc/codeopt.pla: 0014: // Replace all but the first of a series of identical load opcodes by DUP. This -; toolsrc/codeopt.pla: 0015: // doesn't reduce the number of opcodes but does reduce their size in bytes. -; toolsrc/codeopt.pla: 0016: // This is only called on the second optimisation pass because the DUP opcodes -; toolsrc/codeopt.pla: 0017: // may inhibit other peephole optimisations which are more valuable. -; toolsrc/codeopt.pla: 0018: // -; toolsrc/codeopt.pla: 0019: def try_dupify(op) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; op -> [0] -_C000 ; try_dupify() -; toolsrc/codeopt.pla: 0020: byte crunched - ; crunched -> [2] -; toolsrc/codeopt.pla: 0021: word nextop - ; nextop -> [3] -; toolsrc/codeopt.pla: 0022: -; toolsrc/codeopt.pla: 0023: crunched = FALSE - !BYTE $58,$05,$01 ; ENTER 5,1 -; toolsrc/codeopt.pla: 0024: nextop = op=>opnext -; toolsrc/codeopt.pla: 0025: while nextop - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$03 ; SLW [3] - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; toolsrc/codeopt.pla: 0026: if op->opcode <> nextop->opcode; return crunched; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$03 ; LLW [3] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B004 - !WORD _B004-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -_B004 -_B005 -; toolsrc/codeopt.pla: 0027: when op->opcode - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B007-* -; toolsrc/codeopt.pla: 0028: is CONST_CODE -_B008 -; toolsrc/codeopt.pla: 0029: if op=>opval <> nextop=>opval; return crunched; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $22 ; BREQ _B009 - !WORD _B009-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -_B009 -_B010 -; toolsrc/codeopt.pla: 0030: break - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -; toolsrc/codeopt.pla: 0031: is LADDR_CODE -_B011 -; toolsrc/codeopt.pla: 0032: is LLB_CODE -_B012 -; toolsrc/codeopt.pla: 0033: is LLW_CODE -_B013 -; toolsrc/codeopt.pla: 0034: if op=>opoffset <> nextop=>opoffset; return crunched; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $22 ; BREQ _B014 - !WORD _B014-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -_B014 -_B015 -; toolsrc/codeopt.pla: 0035: break - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -; toolsrc/codeopt.pla: 0036: is GADDR_CODE -_B016 -; toolsrc/codeopt.pla: 0037: is LAB_CODE -_B017 -; toolsrc/codeopt.pla: 0038: is LAW_CODE -_B018 -; toolsrc/codeopt.pla: 0039: if (op=>optag <> nextop=>optag) or (op=>opoffset <> nextop=>opoffset); return crunched; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B019 - !WORD _B019-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $42 ; ISNE -_B019 - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -_B020 -_B021 -; toolsrc/codeopt.pla: 0040: break - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -; toolsrc/codeopt.pla: 0041: otherwise -_B007 - !BYTE $07 ; CASEBLOCK - !WORD $0026 - !WORD _B016-* - !WORD $0028 - !WORD _B011-* - !WORD $002C - !WORD _B008-* - !WORD $0064 - !WORD _B012-* - !WORD $0066 - !WORD _B013-* - !WORD $0068 - !WORD _B017-* - !WORD $006A - !WORD _B018-* -; toolsrc/codeopt.pla: 0042: return crunched - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/codeopt.pla: 0043: wend -_B006 -; toolsrc/codeopt.pla: 0044: nextop->opcode = DUP_CODE -; toolsrc/codeopt.pla: 0045: nextop->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0046: nextop = nextop=>opnext -; toolsrc/codeopt.pla: 0047: crunched = TRUE -; toolsrc/codeopt.pla: 0048: loop - !BYTE $2A,$34 ; CB 52 - !BYTE $66,$03 ; LLW [3] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$03 ; LLW [3] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$03 ; SLW [3] - !BYTE $20 ; MINUS ONE - !BYTE $74,$02 ; SLB [2] -_B003 - !BYTE $66,$03 ; LLW [3] - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; toolsrc/codeopt.pla: 0049: return crunched - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/codeopt.pla: 0050: end -; toolsrc/codeopt.pla: 0051: def is_hardware_address(addr) - ; addr -> [0] -_C001 ; is_hardware_address() -; toolsrc/codeopt.pla: 0052: return isuge(addr, $C000) and isult(addr, $D000) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $54 ; CALL _X025 -_F000 !WORD 0 - !BYTE $AC ; BRAND _B022 - !WORD _B022-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$D0 ; CW 53248 - !BYTE $54 ; CALL _X026 -_F001 !WORD 0 -_B022 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codeopt.pla: 0053: end -; toolsrc/codeopt.pla: 0054: // -; toolsrc/codeopt.pla: 0055: // Crunch sequence (peephole optimize) -; toolsrc/codeopt.pla: 0056: // -; toolsrc/codeopt.pla: 0057: def crunch_seq(seq, pass) - ; seq -> [0] - ; pass -> [2] -_C002 ; crunch_seq() -; toolsrc/codeopt.pla: 0058: word nextop, nextopnext, opprev, op, freeops - ; nextop -> [4] - ; nextopnext -> [6] - ; opprev -> [8] - ; op -> [10] - ; freeops -> [12] -; toolsrc/codeopt.pla: 0059: byte crunched, shiftcnt - ; crunched -> [14] - ; shiftcnt -> [15] -; toolsrc/codeopt.pla: 0060: -; toolsrc/codeopt.pla: 0061: opprev = NULL - !BYTE $58,$10,$02 ; ENTER 16,2 -; toolsrc/codeopt.pla: 0062: op = *seq -; toolsrc/codeopt.pla: 0063: nextop = op=>opnext -; toolsrc/codeopt.pla: 0064: crunched = FALSE -; toolsrc/codeopt.pla: 0065: freeops = 0 -; toolsrc/codeopt.pla: 0066: while op and nextop - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $6E,$0A ; DLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $00 ; CN 0 - !BYTE $74,$0E ; SLB [14] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B025 - !WORD _B025-* -_B023 -; toolsrc/codeopt.pla: 0067: when op->opcode - !BYTE $66,$0A ; LLW [10] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B028-* -; toolsrc/codeopt.pla: 0068: is CONST_CODE -_B029 -; toolsrc/codeopt.pla: 0069: if op=>opval == 1 -; toolsrc/codeopt.pla: 0070: if nextop->opcode == ADD_CODE -; toolsrc/codeopt.pla: 0071: op->opcode = INC_CODE -; toolsrc/codeopt.pla: 0072: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0073: freeops = 1 -; toolsrc/codeopt.pla: 0074: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $24 ; BRNE _B030 - !WORD _B030-* - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$82 ; CB 130 - !BYTE $24 ; BRNE _B032 - !WORD _B032-* - !BYTE $2A,$8C ; CB 140 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0075: fin -_B032 -_B033 -; toolsrc/codeopt.pla: 0076: if nextop->opcode == SUB_CODE -; toolsrc/codeopt.pla: 0077: op->opcode = DEC_CODE -; toolsrc/codeopt.pla: 0078: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0079: freeops = 1 -; toolsrc/codeopt.pla: 0080: break - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$84 ; CB 132 - !BYTE $24 ; BRNE _B034 - !WORD _B034-* - !BYTE $2A,$8E ; CB 142 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0081: fin -_B034 -_B035 -; toolsrc/codeopt.pla: 0082: if nextop->opcode == SHL_CODE -; toolsrc/codeopt.pla: 0083: op->opcode = DUP_CODE -; toolsrc/codeopt.pla: 0084: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0085: nextop->opcode = ADD_CODE -; toolsrc/codeopt.pla: 0086: break - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$9A ; CB 154 - !BYTE $24 ; BRNE _B036 - !WORD _B036-* - !BYTE $2A,$34 ; CB 52 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2A,$82 ; CB 130 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0087: fin -_B036 -_B037 -; toolsrc/codeopt.pla: 0088: if nextop->opcode == MUL_CODE or nextop->opcode == DIV_CODE -; toolsrc/codeopt.pla: 0089: freeops = -2 -; toolsrc/codeopt.pla: 0090: break - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$86 ; CB 134 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B038 - !WORD _B038-* - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$88 ; CB 136 - !BYTE $40 ; ISEQ -_B038 - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0091: fin -_B039 -_B040 -; toolsrc/codeopt.pla: 0092: fin -_B030 -_B031 -; toolsrc/codeopt.pla: 0093: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B042-* -; toolsrc/codeopt.pla: 0094: is NEG_CODE -_B043 -; toolsrc/codeopt.pla: 0095: op=>opval = -op=>opval -; toolsrc/codeopt.pla: 0096: freeops = 1 -; toolsrc/codeopt.pla: 0097: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0098: is COMP_CODE -_B044 -; toolsrc/codeopt.pla: 0099: op=>opval = ~op=>opval -; toolsrc/codeopt.pla: 0100: freeops = 1 -; toolsrc/codeopt.pla: 0101: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $92 ; COMP - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0102: is LOGIC_NOT_CODE -_B045 -; toolsrc/codeopt.pla: 0103: op=>opval = op=>opval ?? FALSE :: TRUE -; toolsrc/codeopt.pla: 0104: freeops = 1 -; toolsrc/codeopt.pla: 0105: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $00 ; CN 0 - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -_B046 - !BYTE $20 ; MINUS ONE -_B047 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0106: is BRFALSE_CODE -_B048 -; toolsrc/codeopt.pla: 0107: if op=>opval -; toolsrc/codeopt.pla: 0108: freeops = -2 // Remove constant and never taken branch -; toolsrc/codeopt.pla: 0109: else - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B049 - !WORD _B049-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B050 - !WORD _B050-* -_B049 -; toolsrc/codeopt.pla: 0110: op->opcode = BRNCH_CODE // Always taken branch -; toolsrc/codeopt.pla: 0111: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0112: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0113: freeops = 1 -; toolsrc/codeopt.pla: 0114: fin - !BYTE $2A,$50 ; CB 80 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B050 -; toolsrc/codeopt.pla: 0115: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0116: is BRTRUE_CODE -_B051 -; toolsrc/codeopt.pla: 0117: if not op=>opval -; toolsrc/codeopt.pla: 0118: freeops = -2 // Remove constant never taken branch -; toolsrc/codeopt.pla: 0119: else - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B052 - !WORD _B052-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -_B052 -; toolsrc/codeopt.pla: 0120: op->opcode = BRNCH_CODE // Always taken branch -; toolsrc/codeopt.pla: 0121: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0122: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0123: freeops = 1 -; toolsrc/codeopt.pla: 0124: fin - !BYTE $2A,$50 ; CB 80 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B053 -; toolsrc/codeopt.pla: 0125: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0126: is BRGT_CODE -_B054 -; toolsrc/codeopt.pla: 0127: if opprev and (opprev->opcode == CONST_CODE) and (op=>opval <= opprev=>opval) -; toolsrc/codeopt.pla: 0128: freeops = 1 -; toolsrc/codeopt.pla: 0129: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $AC ; BRAND _B055 - !WORD _B055-* - !BYTE $66,$08 ; LLW [8] - !BYTE $60 ; LB - !BYTE $2A,$2C ; CB 44 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B056 - !WORD _B056-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4A ; ISLE -_B056 -_B055 - !BYTE $4C ; BRFLS _B057 - !WORD _B057-* - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B057 -_B058 -; toolsrc/codeopt.pla: 0130: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0131: is BRLT_CODE -_B059 -; toolsrc/codeopt.pla: 0132: if opprev and (opprev->opcode == CONST_CODE) and (op=>opval >= opprev=>opval) -; toolsrc/codeopt.pla: 0133: freeops = 1 -; toolsrc/codeopt.pla: 0134: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $AC ; BRAND _B060 - !WORD _B060-* - !BYTE $66,$08 ; LLW [8] - !BYTE $60 ; LB - !BYTE $2A,$2C ; CB 44 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B061 - !WORD _B061-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $48 ; ISGE -_B061 -_B060 - !BYTE $4C ; BRFLS _B062 - !WORD _B062-* - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B062 -_B063 -; toolsrc/codeopt.pla: 0135: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0136: is BROR_CODE -_B064 -; toolsrc/codeopt.pla: 0137: if not op=>opval -; toolsrc/codeopt.pla: 0138: freeops = -2 // Remove zero constant -; toolsrc/codeopt.pla: 0139: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B065 - !WORD _B065-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] -_B065 -_B066 -; toolsrc/codeopt.pla: 0140: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0141: is BRAND_CODE -_B067 -; toolsrc/codeopt.pla: 0142: if op=>opval -; toolsrc/codeopt.pla: 0143: freeops = -2 // Remove non-zero constant -; toolsrc/codeopt.pla: 0144: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B068 - !WORD _B068-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] -_B068 -_B069 -; toolsrc/codeopt.pla: 0145: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0146: is NE_CODE -_B070 -; toolsrc/codeopt.pla: 0147: if not op=>opval -; toolsrc/codeopt.pla: 0148: freeops = -2 // Remove ZERO:ISNE -; toolsrc/codeopt.pla: 0149: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B071 - !WORD _B071-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] -_B071 -_B072 -; toolsrc/codeopt.pla: 0150: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0151: is EQ_CODE -_B073 -; toolsrc/codeopt.pla: 0152: if not op=>opval -; toolsrc/codeopt.pla: 0153: op->opcode = LOGIC_NOT_CODE // Replace ZERO:ISEQ -; toolsrc/codeopt.pla: 0154: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0155: freeops = 1 -; toolsrc/codeopt.pla: 0156: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B074 - !WORD _B074-* - !BYTE $2A,$80 ; CB 128 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B074 -_B075 -; toolsrc/codeopt.pla: 0157: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0158: is CONST_CODE // Collapse constant operation -_B076 -; toolsrc/codeopt.pla: 0159: nextopnext = nextop=>opnext -; toolsrc/codeopt.pla: 0160: if nextopnext -; toolsrc/codeopt.pla: 0161: when nextopnext->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B080-* -; toolsrc/codeopt.pla: 0162: is MUL_CODE -_B081 -; toolsrc/codeopt.pla: 0163: op=>opval = op=>opval * nextop=>opval -; toolsrc/codeopt.pla: 0164: freeops = 2 -; toolsrc/codeopt.pla: 0165: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $86 ; MUL - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0166: is DIV_CODE -_B082 -; toolsrc/codeopt.pla: 0167: op=>opval = op=>opval / nextop=>opval -; toolsrc/codeopt.pla: 0168: freeops = 2 -; toolsrc/codeopt.pla: 0169: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $88 ; DIV - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0170: is MOD_CODE -_B083 -; toolsrc/codeopt.pla: 0171: op=>opval = op=>opval % nextop=>opval -; toolsrc/codeopt.pla: 0172: freeops = 2 -; toolsrc/codeopt.pla: 0173: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $8A ; MOD - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0174: is ADD_CODE -_B084 -; toolsrc/codeopt.pla: 0175: op=>opval = op=>opval + nextop=>opval -; toolsrc/codeopt.pla: 0176: freeops = 2 -; toolsrc/codeopt.pla: 0177: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0178: is SUB_CODE -_B085 -; toolsrc/codeopt.pla: 0179: op=>opval = op=>opval - nextop=>opval -; toolsrc/codeopt.pla: 0180: freeops = 2 -; toolsrc/codeopt.pla: 0181: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0182: is SHL_CODE -_B086 -; toolsrc/codeopt.pla: 0183: op=>opval = op=>opval << nextop=>opval -; toolsrc/codeopt.pla: 0184: freeops = 2 -; toolsrc/codeopt.pla: 0185: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $9A ; SHL - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0186: is SHR_CODE -_B087 -; toolsrc/codeopt.pla: 0187: op=>opval = op=>opval >> nextop=>opval -; toolsrc/codeopt.pla: 0188: freeops = 2 -; toolsrc/codeopt.pla: 0189: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $9C ; SHR - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0190: is AND_CODE -_B088 -; toolsrc/codeopt.pla: 0191: op=>opval = op=>opval & nextop=>opval -; toolsrc/codeopt.pla: 0192: freeops = 2 -; toolsrc/codeopt.pla: 0193: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $94 ; AND - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0194: is OR_CODE -_B089 -; toolsrc/codeopt.pla: 0195: op=>opval = op=>opval | nextop=>opval -; toolsrc/codeopt.pla: 0196: freeops = 2 -; toolsrc/codeopt.pla: 0197: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $96 ; OR - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0198: is EOR_CODE -_B090 -; toolsrc/codeopt.pla: 0199: op=>opval = op=>opval ^ nextop=>opval -; toolsrc/codeopt.pla: 0200: freeops = 2 -; toolsrc/codeopt.pla: 0201: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $98 ; XOR - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0202: is EQ_CODE -_B091 -; toolsrc/codeopt.pla: 0203: op=>opval = op=>opval == nextop=>opval -; toolsrc/codeopt.pla: 0204: freeops = 2 -; toolsrc/codeopt.pla: 0205: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0206: is NE_CODE -_B092 -; toolsrc/codeopt.pla: 0207: op=>opval = op=>opval <> nextop=>opval -; toolsrc/codeopt.pla: 0208: freeops = 2 -; toolsrc/codeopt.pla: 0209: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $42 ; ISNE - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0210: is GE_CODE -_B093 -; toolsrc/codeopt.pla: 0211: op=>opval = op=>opval >= nextop=>opval -; toolsrc/codeopt.pla: 0212: freeops = 2 -; toolsrc/codeopt.pla: 0213: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $48 ; ISGE - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0214: is LT_CODE -_B094 -; toolsrc/codeopt.pla: 0215: op=>opval = op=>opval < nextop=>opval -; toolsrc/codeopt.pla: 0216: freeops = 2 -; toolsrc/codeopt.pla: 0217: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $46 ; ISLT - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0218: is GT_CODE -_B095 -; toolsrc/codeopt.pla: 0219: op=>opval = op=>opval > nextop=>opval -; toolsrc/codeopt.pla: 0220: freeops = 2 -; toolsrc/codeopt.pla: 0221: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $44 ; ISGT - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0222: is LE_CODE -_B096 -; toolsrc/codeopt.pla: 0223: op=>opval = op=>opval <= nextop=>opval -; toolsrc/codeopt.pla: 0224: freeops = 2 -; toolsrc/codeopt.pla: 0225: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4A ; ISLE - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0226: wend // End of collapse constant operation - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -_B080 - !BYTE $10 ; CASEBLOCK - !WORD $0040 - !WORD _B091-* - !WORD $0042 - !WORD _B092-* - !WORD $0044 - !WORD _B095-* - !WORD $0046 - !WORD _B094-* - !WORD $0048 - !WORD _B093-* - !WORD $004A - !WORD _B096-* - !WORD $0082 - !WORD _B084-* - !WORD $0084 - !WORD _B085-* - !WORD $0086 - !WORD _B081-* - !WORD $0088 - !WORD _B082-* - !WORD $008A - !WORD _B083-* - !WORD $0094 - !WORD _B088-* - !WORD $0096 - !WORD _B089-* - !WORD $0098 - !WORD _B090-* - !WORD $009A - !WORD _B086-* - !WORD $009C - !WORD _B087-* -_B079 -; toolsrc/codeopt.pla: 0227: fin -_B077 -_B078 -; toolsrc/codeopt.pla: 0228: if pass and not freeops and op=>opval -; toolsrc/codeopt.pla: 0229: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0230: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B097 - !WORD _B097-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B098 - !WORD _B098-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW -_B098 -_B097 - !BYTE $4C ; BRFLS _B099 - !WORD _B099-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F002 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B099 -_B100 -; toolsrc/codeopt.pla: 0231: break // CONST_CODE - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0232: is ADD_CODE -_B101 -; toolsrc/codeopt.pla: 0233: if op=>opval == 0 -; toolsrc/codeopt.pla: 0234: freeops = -2 -; toolsrc/codeopt.pla: 0235: elsif op=>opval > 0 and op=>opval <= 255 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B102 - !WORD _B102-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B103 - !WORD _B103-* -_B102 -; toolsrc/codeopt.pla: 0236: op->opcode = ADDI_CODE -; toolsrc/codeopt.pla: 0237: freeops = 1 -; toolsrc/codeopt.pla: 0238: elsif op=>opval >= -255 and op=>opval < 0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B104 - !WORD _B104-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2A,$FF ; CB 255 - !BYTE $4A ; ISLE -_B104 - !BYTE $4C ; BRFLS _B105 - !WORD _B105-* - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B103 - !WORD _B103-* -_B105 -; toolsrc/codeopt.pla: 0239: op->opcode = SUBI_CODE -; toolsrc/codeopt.pla: 0240: op=>opval = -op=>opval -; toolsrc/codeopt.pla: 0241: freeops = 1 -; toolsrc/codeopt.pla: 0242: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $5E,$01 ; CFFB -255 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B106 - !WORD _B106-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT -_B106 - !BYTE $4C ; BRFLS _B107 - !WORD _B107-* - !BYTE $2A,$3A ; CB 58 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B107 -_B103 -; toolsrc/codeopt.pla: 0243: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0244: is SUB_CODE -_B108 -; toolsrc/codeopt.pla: 0245: if op=>opval == 0 -; toolsrc/codeopt.pla: 0246: freeops = -2 -; toolsrc/codeopt.pla: 0247: elsif op=>opval > 0 and op=>opval <= 255 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B109 - !WORD _B109-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B110 - !WORD _B110-* -_B109 -; toolsrc/codeopt.pla: 0248: op->opcode = SUBI_CODE -; toolsrc/codeopt.pla: 0249: freeops = 1 -; toolsrc/codeopt.pla: 0250: elsif op=>opval >= -255 and op=>opval < 0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B111 - !WORD _B111-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2A,$FF ; CB 255 - !BYTE $4A ; ISLE -_B111 - !BYTE $4C ; BRFLS _B112 - !WORD _B112-* - !BYTE $2A,$3A ; CB 58 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B110 - !WORD _B110-* -_B112 -; toolsrc/codeopt.pla: 0251: op->opcode = ADDI_CODE -; toolsrc/codeopt.pla: 0252: op=>opval = -op=>opval -; toolsrc/codeopt.pla: 0253: freeops = 1 -; toolsrc/codeopt.pla: 0254: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $5E,$01 ; CFFB -255 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B113 - !WORD _B113-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT -_B113 - !BYTE $4C ; BRFLS _B114 - !WORD _B114-* - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B114 -_B110 -; toolsrc/codeopt.pla: 0255: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0256: is AND_CODE -_B115 -; toolsrc/codeopt.pla: 0257: if op=>opval >= 0 and op=>opval <= 255 -; toolsrc/codeopt.pla: 0258: op->opcode = ANDI_CODE -; toolsrc/codeopt.pla: 0259: freeops = 1 -; toolsrc/codeopt.pla: 0260: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B116 - !WORD _B116-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2A,$FF ; CB 255 - !BYTE $4A ; ISLE -_B116 - !BYTE $4C ; BRFLS _B117 - !WORD _B117-* - !BYTE $2A,$3C ; CB 60 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B117 -_B118 -; toolsrc/codeopt.pla: 0261: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0262: is OR_CODE -_B119 -; toolsrc/codeopt.pla: 0263: if op=>opval == 0 -; toolsrc/codeopt.pla: 0264: freeops = -2 -; toolsrc/codeopt.pla: 0265: elsif op=>opval > 0 and op=>opval <= 255 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B120 - !WORD _B120-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B121 - !WORD _B121-* -_B120 -; toolsrc/codeopt.pla: 0266: op->opcode = ORI_CODE -; toolsrc/codeopt.pla: 0267: freeops = 1 -; toolsrc/codeopt.pla: 0268: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B122 - !WORD _B122-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2A,$FF ; CB 255 - !BYTE $4A ; ISLE -_B122 - !BYTE $4C ; BRFLS _B123 - !WORD _B123-* - !BYTE $2A,$3E ; CB 62 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B123 -_B121 -; toolsrc/codeopt.pla: 0269: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0270: is MUL_CODE -_B124 -; toolsrc/codeopt.pla: 0271: if op=>opval == 0 -; toolsrc/codeopt.pla: 0272: op->opcode = DROP_CODE -; toolsrc/codeopt.pla: 0273: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0274: nextop->opcode = CONST_CODE -; toolsrc/codeopt.pla: 0275: nextop->opgroup = CONST_GROUP -; toolsrc/codeopt.pla: 0276: nextop=>opval = 0 -; toolsrc/codeopt.pla: 0277: elsif op=>opval == 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B125 - !WORD _B125-* - !BYTE $2A,$30 ; CB 48 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2A,$2C ; CB 44 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B126 - !WORD _B126-* -_B125 -; toolsrc/codeopt.pla: 0278: op->opcode = DUP_CODE -; toolsrc/codeopt.pla: 0279: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0280: nextop->opcode = ADD_CODE -; toolsrc/codeopt.pla: 0281: else - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B127 - !WORD _B127-* - !BYTE $2A,$34 ; CB 52 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2A,$82 ; CB 130 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B126 - !WORD _B126-* -_B127 -; toolsrc/codeopt.pla: 0282: for shiftcnt = 2 to 15 - !BYTE $1E ; CN 15 - !BYTE $04 ; CN 2 -_B129 - !BYTE $6C,$0F ; DLB [15] -; toolsrc/codeopt.pla: 0283: if op=>opval == 1 << shiftcnt -; toolsrc/codeopt.pla: 0284: op=>opval = shiftcnt -; toolsrc/codeopt.pla: 0285: nextop->opcode = SHL_CODE -; toolsrc/codeopt.pla: 0286: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $64,$0F ; LLB [15] - !BYTE $9A ; SHL - !BYTE $24 ; BRNE _B131 - !WORD _B131-* - !BYTE $64,$0F ; LLB [15] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$9A ; CB 154 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B128 - !WORD _B128-* -; toolsrc/codeopt.pla: 0287: fin -_B131 -_B132 -; toolsrc/codeopt.pla: 0288: next -_B130 - !BYTE $A4 ; INCBRLE _B129 - !WORD _B129-* -_B128 - !BYTE $74,$0F ; SLB [15] - !BYTE $30 ; DROP -; toolsrc/codeopt.pla: 0289: fin -_B126 -; toolsrc/codeopt.pla: 0290: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0291: is DIV_CODE -_B133 -; toolsrc/codeopt.pla: 0292: for shiftcnt = 1 to 15 - !BYTE $1E ; CN 15 - !BYTE $02 ; CN 1 -_B135 - !BYTE $6C,$0F ; DLB [15] -; toolsrc/codeopt.pla: 0293: if op=>opval == 1 << shiftcnt -; toolsrc/codeopt.pla: 0294: op=>opval = shiftcnt -; toolsrc/codeopt.pla: 0295: nextop->opcode = SHR_CODE -; toolsrc/codeopt.pla: 0296: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $64,$0F ; LLB [15] - !BYTE $9A ; SHL - !BYTE $24 ; BRNE _B137 - !WORD _B137-* - !BYTE $64,$0F ; LLB [15] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$9C ; CB 156 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B134 - !WORD _B134-* -; toolsrc/codeopt.pla: 0297: fin -_B137 -_B138 -; toolsrc/codeopt.pla: 0298: next -_B136 - !BYTE $A4 ; INCBRLE _B135 - !WORD _B135-* -_B134 - !BYTE $74,$0F ; SLB [15] - !BYTE $30 ; DROP -; toolsrc/codeopt.pla: 0299: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0300: wend - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -_B042 - !BYTE $12 ; CASEBLOCK - !WORD $002C - !WORD _B076-* - !WORD $0040 - !WORD _B073-* - !WORD $0042 - !WORD _B070-* - !WORD $004C - !WORD _B048-* - !WORD $004E - !WORD _B051-* - !WORD $0080 - !WORD _B045-* - !WORD $0082 - !WORD _B101-* - !WORD $0084 - !WORD _B108-* - !WORD $0086 - !WORD _B124-* - !WORD $0088 - !WORD _B133-* - !WORD $0090 - !WORD _B043-* - !WORD $0092 - !WORD _B044-* - !WORD $0094 - !WORD _B115-* - !WORD $0096 - !WORD _B119-* - !WORD $00A0 - !WORD _B054-* - !WORD $00A2 - !WORD _B059-* - !WORD $00AC - !WORD _B067-* - !WORD $00AE - !WORD _B064-* -_B041 -; toolsrc/codeopt.pla: 0301: break // CONST_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0302: is LADDR_CODE -_B139 -; toolsrc/codeopt.pla: 0303: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B141-* -; toolsrc/codeopt.pla: 0304: is CONST_CODE -_B142 -; toolsrc/codeopt.pla: 0305: if nextop=>opnext -; toolsrc/codeopt.pla: 0306: nextopnext = nextop=>opnext -; toolsrc/codeopt.pla: 0307: when nextopnext->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B143 - !WORD _B143-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B146-* -; toolsrc/codeopt.pla: 0308: is ADD_CODE // INDEXB_CODE -_B147 -; toolsrc/codeopt.pla: 0309: op=>opoffset = op=>opoffset + nextop=>opval -; toolsrc/codeopt.pla: 0310: freeops = 2 -; toolsrc/codeopt.pla: 0311: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B145 - !WORD _B145-* -; toolsrc/codeopt.pla: 0312: is INDEXW_CODE -_B148 -; toolsrc/codeopt.pla: 0313: op=>opoffset = op=>opoffset + nextop=>opval * 2 -; toolsrc/codeopt.pla: 0314: freeops = 2 -; toolsrc/codeopt.pla: 0315: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B145 - !WORD _B145-* -; toolsrc/codeopt.pla: 0316: wend - !BYTE $50 ; BRNCH _B145 - !WORD _B145-* -_B146 - !BYTE $02 ; CASEBLOCK - !WORD $0082 - !WORD _B147-* - !WORD $009E - !WORD _B148-* -_B145 -; toolsrc/codeopt.pla: 0317: fin -_B143 -_B144 -; toolsrc/codeopt.pla: 0318: break - !BYTE $50 ; BRNCH _B140 - !WORD _B140-* -; toolsrc/codeopt.pla: 0319: is LB_CODE -_B149 -; toolsrc/codeopt.pla: 0320: op->opcode = LLB_CODE -; toolsrc/codeopt.pla: 0321: freeops = 1 -; toolsrc/codeopt.pla: 0322: break - !BYTE $2A,$64 ; CB 100 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B140 - !WORD _B140-* -; toolsrc/codeopt.pla: 0323: is LW_CODE -_B150 -; toolsrc/codeopt.pla: 0324: op->opcode = LLW_CODE -; toolsrc/codeopt.pla: 0325: freeops = 1 -; toolsrc/codeopt.pla: 0326: break - !BYTE $2A,$66 ; CB 102 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B140 - !WORD _B140-* -; toolsrc/codeopt.pla: 0327: is SB_CODE -_B151 -; toolsrc/codeopt.pla: 0328: op->opcode = SLB_CODE -; toolsrc/codeopt.pla: 0329: freeops = 1 -; toolsrc/codeopt.pla: 0330: break - !BYTE $2A,$74 ; CB 116 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B140 - !WORD _B140-* -; toolsrc/codeopt.pla: 0331: is SW_CODE -_B152 -; toolsrc/codeopt.pla: 0332: op->opcode = SLW_CODE -; toolsrc/codeopt.pla: 0333: freeops = 1 -; toolsrc/codeopt.pla: 0334: break - !BYTE $2A,$76 ; CB 118 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B140 - !WORD _B140-* -; toolsrc/codeopt.pla: 0335: wend - !BYTE $50 ; BRNCH _B140 - !WORD _B140-* -_B141 - !BYTE $05 ; CASEBLOCK - !WORD $002C - !WORD _B142-* - !WORD $0060 - !WORD _B149-* - !WORD $0062 - !WORD _B150-* - !WORD $0070 - !WORD _B151-* - !WORD $0072 - !WORD _B152-* -_B140 -; toolsrc/codeopt.pla: 0336: if pass > 0 and not freeops -; toolsrc/codeopt.pla: 0337: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0338: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B153 - !WORD _B153-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT -_B153 - !BYTE $4C ; BRFLS _B154 - !WORD _B154-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F003 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B154 -_B155 -; toolsrc/codeopt.pla: 0339: break // LADDR_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0340: is GADDR_CODE -_B156 -; toolsrc/codeopt.pla: 0341: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B158-* -; toolsrc/codeopt.pla: 0342: is CONST_CODE -_B159 -; toolsrc/codeopt.pla: 0343: if nextop=>opnext -; toolsrc/codeopt.pla: 0344: nextopnext = nextop=>opnext -; toolsrc/codeopt.pla: 0345: when nextopnext->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B160 - !WORD _B160-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B163-* -; toolsrc/codeopt.pla: 0346: is ADD_CODE // INDEXB_CODE -_B164 -; toolsrc/codeopt.pla: 0347: op=>opoffset = op=>opoffset + nextop=>opval -; toolsrc/codeopt.pla: 0348: freeops = 2 -; toolsrc/codeopt.pla: 0349: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B162 - !WORD _B162-* -; toolsrc/codeopt.pla: 0350: is INDEXW_CODE -_B165 -; toolsrc/codeopt.pla: 0351: op=>opoffset = op=>opoffset + nextop=>opval * 2 -; toolsrc/codeopt.pla: 0352: freeops = 2 -; toolsrc/codeopt.pla: 0353: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B162 - !WORD _B162-* -; toolsrc/codeopt.pla: 0354: wend - !BYTE $50 ; BRNCH _B162 - !WORD _B162-* -_B163 - !BYTE $02 ; CASEBLOCK - !WORD $0082 - !WORD _B164-* - !WORD $009E - !WORD _B165-* -_B162 -; toolsrc/codeopt.pla: 0355: fin -_B160 -_B161 -; toolsrc/codeopt.pla: 0356: break - !BYTE $50 ; BRNCH _B157 - !WORD _B157-* -; toolsrc/codeopt.pla: 0357: is LB_CODE -_B166 -; toolsrc/codeopt.pla: 0358: op->opcode = LAB_CODE -; toolsrc/codeopt.pla: 0359: freeops = 1 -; toolsrc/codeopt.pla: 0360: break - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B157 - !WORD _B157-* -; toolsrc/codeopt.pla: 0361: is LW_CODE -_B167 -; toolsrc/codeopt.pla: 0362: op->opcode = LAW_CODE -; toolsrc/codeopt.pla: 0363: freeops = 1 -; toolsrc/codeopt.pla: 0364: break - !BYTE $2A,$6A ; CB 106 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B157 - !WORD _B157-* -; toolsrc/codeopt.pla: 0365: is SB_CODE -_B168 -; toolsrc/codeopt.pla: 0366: op->opcode = SAB_CODE -; toolsrc/codeopt.pla: 0367: freeops = 1 -; toolsrc/codeopt.pla: 0368: break - !BYTE $2A,$78 ; CB 120 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B157 - !WORD _B157-* -; toolsrc/codeopt.pla: 0369: is SW_CODE -_B169 -; toolsrc/codeopt.pla: 0370: op->opcode = SAW_CODE -; toolsrc/codeopt.pla: 0371: freeops = 1 -; toolsrc/codeopt.pla: 0372: break - !BYTE $2A,$7A ; CB 122 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B157 - !WORD _B157-* -; toolsrc/codeopt.pla: 0373: is ICAL_CODE -_B170 -; toolsrc/codeopt.pla: 0374: op->opcode = CALL_CODE -; toolsrc/codeopt.pla: 0375: freeops = 1 -; toolsrc/codeopt.pla: 0376: break - !BYTE $2A,$54 ; CB 84 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B157 - !WORD _B157-* -; toolsrc/codeopt.pla: 0377: wend - !BYTE $50 ; BRNCH _B157 - !WORD _B157-* -_B158 - !BYTE $06 ; CASEBLOCK - !WORD $002C - !WORD _B159-* - !WORD $0056 - !WORD _B170-* - !WORD $0060 - !WORD _B166-* - !WORD $0062 - !WORD _B167-* - !WORD $0070 - !WORD _B168-* - !WORD $0072 - !WORD _B169-* -_B157 -; toolsrc/codeopt.pla: 0378: if pass and not freeops -; toolsrc/codeopt.pla: 0379: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0380: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B171 - !WORD _B171-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT -_B171 - !BYTE $4C ; BRFLS _B172 - !WORD _B172-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F004 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B172 -_B173 -; toolsrc/codeopt.pla: 0381: break // GADDR_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0382: is LLB_CODE -_B174 -; toolsrc/codeopt.pla: 0383: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B176-* -; toolsrc/codeopt.pla: 0384: is ADD_CODE // INDEXB_CODE -_B177 -; toolsrc/codeopt.pla: 0385: op->opcode = ADDLB_CODE -; toolsrc/codeopt.pla: 0386: freeops = 1 -; toolsrc/codeopt.pla: 0387: break - !BYTE $2A,$B0 ; CB 176 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B175 - !WORD _B175-* -; toolsrc/codeopt.pla: 0388: is INDEXW_CODE -_B178 -; toolsrc/codeopt.pla: 0389: op->opcode = IDXLB_CODE -; toolsrc/codeopt.pla: 0390: freeops = 1 -; toolsrc/codeopt.pla: 0391: break - !BYTE $2A,$B8 ; CB 184 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B175 - !WORD _B175-* -; toolsrc/codeopt.pla: 0392: wend - !BYTE $50 ; BRNCH _B175 - !WORD _B175-* -_B176 - !BYTE $02 ; CASEBLOCK - !WORD $0082 - !WORD _B177-* - !WORD $009E - !WORD _B178-* -_B175 -; toolsrc/codeopt.pla: 0393: if pass and not freeops -; toolsrc/codeopt.pla: 0394: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0395: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B179 - !WORD _B179-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT -_B179 - !BYTE $4C ; BRFLS _B180 - !WORD _B180-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F005 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B180 -_B181 -; toolsrc/codeopt.pla: 0396: break // LLB_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0397: is LLW_CODE -_B182 -; toolsrc/codeopt.pla: 0398: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B184-* -; toolsrc/codeopt.pla: 0399: is ADD_CODE // INDEXB_CODE -_B185 -; toolsrc/codeopt.pla: 0400: op->opcode = ADDLW_CODE -; toolsrc/codeopt.pla: 0401: freeops = 1 -; toolsrc/codeopt.pla: 0402: break - !BYTE $2A,$B2 ; CB 178 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B183 - !WORD _B183-* -; toolsrc/codeopt.pla: 0403: is INDEXW_CODE -_B186 -; toolsrc/codeopt.pla: 0404: op->opcode = IDXLW_CODE -; toolsrc/codeopt.pla: 0405: freeops = 1 -; toolsrc/codeopt.pla: 0406: break - !BYTE $2A,$BA ; CB 186 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B183 - !WORD _B183-* -; toolsrc/codeopt.pla: 0407: is CONST_CODE -_B187 -; toolsrc/codeopt.pla: 0408: // LLW [n]:CB 8:SHR -> LLB [n+1] -; toolsrc/codeopt.pla: 0409: if nextop=>opval == 8 and nextop=>opnext -; toolsrc/codeopt.pla: 0410: nextopnext = nextop=>opnext -; toolsrc/codeopt.pla: 0411: if nextopnext->opcode == SHR_CODE -; toolsrc/codeopt.pla: 0412: op->opcode = LLB_CODE -; toolsrc/codeopt.pla: 0413: op=>opoffset++ - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $10 ; CN 8 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B188 - !WORD _B188-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW -_B188 - !BYTE $4C ; BRFLS _B189 - !WORD _B189-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $60 ; LB - !BYTE $2A,$9C ; CB 156 - !BYTE $24 ; BRNE _B191 - !WORD _B191-* - !BYTE $2A,$64 ; CB 100 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $8C ; INCR -; toolsrc/codeopt.pla: 0414: freeops = 2 -; toolsrc/codeopt.pla: 0415: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B183 - !WORD _B183-* -; toolsrc/codeopt.pla: 0416: fin -_B191 -_B192 -; toolsrc/codeopt.pla: 0417: fin -_B189 -_B190 -; toolsrc/codeopt.pla: 0418: break - !BYTE $50 ; BRNCH _B183 - !WORD _B183-* -; toolsrc/codeopt.pla: 0419: wend - !BYTE $50 ; BRNCH _B183 - !WORD _B183-* -_B184 - !BYTE $03 ; CASEBLOCK - !WORD $002C - !WORD _B187-* - !WORD $0082 - !WORD _B185-* - !WORD $009E - !WORD _B186-* -_B183 -; toolsrc/codeopt.pla: 0420: if pass and not freeops -; toolsrc/codeopt.pla: 0421: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0422: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B193 - !WORD _B193-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT -_B193 - !BYTE $4C ; BRFLS _B194 - !WORD _B194-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F006 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B194 -_B195 -; toolsrc/codeopt.pla: 0423: break // LLW_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0424: is LAB_CODE -_B196 -; toolsrc/codeopt.pla: 0425: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B198-* -; toolsrc/codeopt.pla: 0426: is ADD_CODE // INDEXB_CODE -_B199 -; toolsrc/codeopt.pla: 0427: op->opcode = ADDAB_CODE -; toolsrc/codeopt.pla: 0428: freeops = 1 -; toolsrc/codeopt.pla: 0429: break - !BYTE $2A,$B4 ; CB 180 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B197 - !WORD _B197-* -; toolsrc/codeopt.pla: 0430: is INDEXW_CODE -_B200 -; toolsrc/codeopt.pla: 0431: op->opcode = IDXAB_CODE -; toolsrc/codeopt.pla: 0432: freeops = 1 -; toolsrc/codeopt.pla: 0433: break - !BYTE $2A,$BC ; CB 188 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B197 - !WORD _B197-* -; toolsrc/codeopt.pla: 0434: wend - !BYTE $50 ; BRNCH _B197 - !WORD _B197-* -_B198 - !BYTE $02 ; CASEBLOCK - !WORD $0082 - !WORD _B199-* - !WORD $009E - !WORD _B200-* -_B197 -; toolsrc/codeopt.pla: 0435: if pass and not freeops and not is_hardware_address(op=>opoffset) -; toolsrc/codeopt.pla: 0436: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0437: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B201 - !WORD _B201-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B202 - !WORD _B202-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C001 -_F007 !WORD _C001 - !BYTE $80 ; NOT -_B202 -_B201 - !BYTE $4C ; BRFLS _B203 - !WORD _B203-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F008 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B203 -_B204 -; toolsrc/codeopt.pla: 0438: break // LAB_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0439: is LAW_CODE -_B205 -; toolsrc/codeopt.pla: 0440: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B207-* -; toolsrc/codeopt.pla: 0441: is ADD_CODE // INDEXB_CODE -_B208 -; toolsrc/codeopt.pla: 0442: op->opcode = ADDAW_CODE -; toolsrc/codeopt.pla: 0443: freeops = 1 -; toolsrc/codeopt.pla: 0444: break - !BYTE $2A,$B6 ; CB 182 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B206 - !WORD _B206-* -; toolsrc/codeopt.pla: 0445: is INDEXW_CODE -_B209 -; toolsrc/codeopt.pla: 0446: op->opcode = IDXAW_CODE -; toolsrc/codeopt.pla: 0447: freeops = 1 -; toolsrc/codeopt.pla: 0448: break - !BYTE $2A,$BE ; CB 190 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B206 - !WORD _B206-* -; toolsrc/codeopt.pla: 0449: is CONST_CODE -_B210 -; toolsrc/codeopt.pla: 0450: // LLW [n]:CB 8:SHR -> LLB [n+1] -; toolsrc/codeopt.pla: 0451: if nextop=>opval == 8 and nextop=>opnext -; toolsrc/codeopt.pla: 0452: nextopnext = nextop=>opnext -; toolsrc/codeopt.pla: 0453: if nextopnext->opcode == SHR_CODE -; toolsrc/codeopt.pla: 0454: op->opcode = LAB_CODE -; toolsrc/codeopt.pla: 0455: op=>opoffset++ - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $10 ; CN 8 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B211 - !WORD _B211-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW -_B211 - !BYTE $4C ; BRFLS _B212 - !WORD _B212-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $60 ; LB - !BYTE $2A,$9C ; CB 156 - !BYTE $24 ; BRNE _B214 - !WORD _B214-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $8C ; INCR -; toolsrc/codeopt.pla: 0456: freeops = 2 -; toolsrc/codeopt.pla: 0457: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B206 - !WORD _B206-* -; toolsrc/codeopt.pla: 0458: fin -_B214 -_B215 -; toolsrc/codeopt.pla: 0459: fin -_B212 -_B213 -; toolsrc/codeopt.pla: 0460: break - !BYTE $50 ; BRNCH _B206 - !WORD _B206-* -; toolsrc/codeopt.pla: 0461: wend - !BYTE $50 ; BRNCH _B206 - !WORD _B206-* -_B207 - !BYTE $03 ; CASEBLOCK - !WORD $002C - !WORD _B210-* - !WORD $0082 - !WORD _B208-* - !WORD $009E - !WORD _B209-* -_B206 -; toolsrc/codeopt.pla: 0462: if pass and not freeops and not is_hardware_address(op=>opoffset) -; toolsrc/codeopt.pla: 0463: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0464: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B216 - !WORD _B216-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B217 - !WORD _B217-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C001 -_F009 !WORD _C001 - !BYTE $80 ; NOT -_B217 -_B216 - !BYTE $4C ; BRFLS _B218 - !WORD _B218-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F010 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B218 -_B219 -; toolsrc/codeopt.pla: 0465: break // LAW_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0466: is LOGIC_NOT_CODE -_B220 -; toolsrc/codeopt.pla: 0467: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B222-* -; toolsrc/codeopt.pla: 0468: is BRFALSE_CODE -_B223 -; toolsrc/codeopt.pla: 0469: op->opcode = BRTRUE_CODE -; toolsrc/codeopt.pla: 0470: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0471: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0472: freeops = 1 -; toolsrc/codeopt.pla: 0473: break - !BYTE $2A,$4E ; CB 78 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B221 - !WORD _B221-* -; toolsrc/codeopt.pla: 0474: is BRTRUE_CODE -_B224 -; toolsrc/codeopt.pla: 0475: op->opcode = BRFALSE_CODE -; toolsrc/codeopt.pla: 0476: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0477: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0478: freeops = 1 -; toolsrc/codeopt.pla: 0479: break - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B221 - !WORD _B221-* -; toolsrc/codeopt.pla: 0480: wend - !BYTE $50 ; BRNCH _B221 - !WORD _B221-* -_B222 - !BYTE $02 ; CASEBLOCK - !WORD $004C - !WORD _B223-* - !WORD $004E - !WORD _B224-* -_B221 -; toolsrc/codeopt.pla: 0481: break // LOGIC_NOT_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0482: is EQ_CODE -_B225 -; toolsrc/codeopt.pla: 0483: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B227-* -; toolsrc/codeopt.pla: 0484: is BRFALSE_CODE -_B228 -; toolsrc/codeopt.pla: 0485: op->opcode = BRNE_CODE -; toolsrc/codeopt.pla: 0486: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0487: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0488: freeops = 1 -; toolsrc/codeopt.pla: 0489: break - !BYTE $2A,$24 ; CB 36 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B226 - !WORD _B226-* -; toolsrc/codeopt.pla: 0490: is BRTRUE_CODE -_B229 -; toolsrc/codeopt.pla: 0491: op->opcode = BREQ_CODE -; toolsrc/codeopt.pla: 0492: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0493: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0494: freeops = 1 -; toolsrc/codeopt.pla: 0495: break - !BYTE $2A,$22 ; CB 34 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B226 - !WORD _B226-* -; toolsrc/codeopt.pla: 0496: wend - !BYTE $50 ; BRNCH _B226 - !WORD _B226-* -_B227 - !BYTE $02 ; CASEBLOCK - !WORD $004C - !WORD _B228-* - !WORD $004E - !WORD _B229-* -_B226 -; toolsrc/codeopt.pla: 0497: break // EQ_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0498: is NE_CODE -_B230 -; toolsrc/codeopt.pla: 0499: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B232-* -; toolsrc/codeopt.pla: 0500: is BRFALSE_CODE -_B233 -; toolsrc/codeopt.pla: 0501: op->opcode = BREQ_CODE -; toolsrc/codeopt.pla: 0502: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0503: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0504: freeops = 1 -; toolsrc/codeopt.pla: 0505: break - !BYTE $2A,$22 ; CB 34 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B231 - !WORD _B231-* -; toolsrc/codeopt.pla: 0506: is BRTRUE_CODE -_B234 -; toolsrc/codeopt.pla: 0507: op->opcode = BRNE_CODE -; toolsrc/codeopt.pla: 0508: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0509: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0510: freeops = 1 -; toolsrc/codeopt.pla: 0511: break - !BYTE $2A,$24 ; CB 36 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B231 - !WORD _B231-* -; toolsrc/codeopt.pla: 0512: wend - !BYTE $50 ; BRNCH _B231 - !WORD _B231-* -_B232 - !BYTE $02 ; CASEBLOCK - !WORD $004C - !WORD _B233-* - !WORD $004E - !WORD _B234-* -_B231 -; toolsrc/codeopt.pla: 0513: break // NE_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0514: is SLB_CODE -_B235 -; toolsrc/codeopt.pla: 0515: if nextop->opcode == LLB_CODE and op=>opoffset == nextop=>opoffset -; toolsrc/codeopt.pla: 0516: op->opcode = DLB_CODE -; toolsrc/codeopt.pla: 0517: freeops = 1 -; toolsrc/codeopt.pla: 0518: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$64 ; CB 100 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B236 - !WORD _B236-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ -_B236 - !BYTE $4C ; BRFLS _B237 - !WORD _B237-* - !BYTE $2A,$6C ; CB 108 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B237 -_B238 -; toolsrc/codeopt.pla: 0519: break // SLB_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0520: is SLW_CODE -_B239 -; toolsrc/codeopt.pla: 0521: if nextop->opcode == LLW_CODE and op=>opoffset == nextop=>opoffset -; toolsrc/codeopt.pla: 0522: op->opcode = DLW_CODE -; toolsrc/codeopt.pla: 0523: freeops = 1 -; toolsrc/codeopt.pla: 0524: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$66 ; CB 102 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B240 - !WORD _B240-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ -_B240 - !BYTE $4C ; BRFLS _B241 - !WORD _B241-* - !BYTE $2A,$6E ; CB 110 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B241 -_B242 -; toolsrc/codeopt.pla: 0525: break // SLW_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0526: is SAB_CODE -_B243 -; toolsrc/codeopt.pla: 0527: if nextop->opcode == LAB_CODE and op=>optag == nextop=>optag and op=>opoffset == nextop=>opoffset -; toolsrc/codeopt.pla: 0528: op->opcode = DAB_CODE -; toolsrc/codeopt.pla: 0529: freeops = 1 -; toolsrc/codeopt.pla: 0530: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$68 ; CB 104 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B244 - !WORD _B244-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B245 - !WORD _B245-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ -_B245 -_B244 - !BYTE $4C ; BRFLS _B246 - !WORD _B246-* - !BYTE $2A,$7C ; CB 124 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B246 -_B247 -; toolsrc/codeopt.pla: 0531: break // SAB_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0532: is SAW_CODE -_B248 -; toolsrc/codeopt.pla: 0533: if nextop->opcode == LAW_CODE and op=>optag == nextop=>optag and op=>opoffset == nextop=>opoffset -; toolsrc/codeopt.pla: 0534: op->opcode = DAW_CODE -; toolsrc/codeopt.pla: 0535: freeops = 1 -; toolsrc/codeopt.pla: 0536: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$6A ; CB 106 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B249 - !WORD _B249-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B250 - !WORD _B250-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ -_B250 -_B249 - !BYTE $4C ; BRFLS _B251 - !WORD _B251-* - !BYTE $2A,$7E ; CB 126 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B251 -_B252 -; toolsrc/codeopt.pla: 0537: break // SAW_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0538: wend - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -_B028 - !BYTE $0E ; CASEBLOCK - !WORD $0026 - !WORD _B156-* - !WORD $0028 - !WORD _B139-* - !WORD $002C - !WORD _B029-* - !WORD $0040 - !WORD _B225-* - !WORD $0042 - !WORD _B230-* - !WORD $0064 - !WORD _B174-* - !WORD $0066 - !WORD _B182-* - !WORD $0068 - !WORD _B196-* - !WORD $006A - !WORD _B205-* - !WORD $0074 - !WORD _B235-* - !WORD $0076 - !WORD _B239-* - !WORD $0078 - !WORD _B243-* - !WORD $007A - !WORD _B248-* - !WORD $0080 - !WORD _B220-* -_B027 -; toolsrc/codeopt.pla: 0539: // -; toolsrc/codeopt.pla: 0540: // Free up crunched ops. If freeops is positive we free up that many ops -; toolsrc/codeopt.pla: 0541: // *after* op; if it's negative, we free up abs(freeops) ops *starting -; toolsrc/codeopt.pla: 0542: // with* op. -; toolsrc/codeopt.pla: 0543: // -; toolsrc/codeopt.pla: 0544: if freeops < 0 -; toolsrc/codeopt.pla: 0545: freeops = -freeops -; toolsrc/codeopt.pla: 0546: if op == *seq -; toolsrc/codeopt.pla: 0547: // -; toolsrc/codeopt.pla: 0548: // If op is at the start of the sequence, we treat this as a special case. -; toolsrc/codeopt.pla: 0549: // -; toolsrc/codeopt.pla: 0550: while freeops - !BYTE $66,$0C ; LLW [12] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B253 - !WORD _B253-* - !BYTE $66,$0C ; LLW [12] - !BYTE $90 ; NEG - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $24 ; BRNE _B255 - !WORD _B255-* - !BYTE $50 ; BRNCH _B259 - !WORD _B259-* -_B257 -; toolsrc/codeopt.pla: 0551: nextop = op=>opnext -; toolsrc/codeopt.pla: 0552: op=>opnext = freeop_lst -; toolsrc/codeopt.pla: 0553: freeop_lst = op -; toolsrc/codeopt.pla: 0554: *seq = nextop -; toolsrc/codeopt.pla: 0555: op = nextop -; toolsrc/codeopt.pla: 0556: freeops-- - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _X029+0 -_F011 !WORD 0+0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _X029+0 -_F012 !WORD 0+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $8E ; DECR -; toolsrc/codeopt.pla: 0557: loop - !BYTE $76,$0C ; SLW [12] -_B259 - !BYTE $66,$0C ; LLW [12] - !BYTE $4E ; BRTRU _B257 - !WORD _B257-* -_B258 -; toolsrc/codeopt.pla: 0558: crunched = TRUE -; toolsrc/codeopt.pla: 0559: else - !BYTE $20 ; MINUS ONE - !BYTE $74,$0E ; SLB [14] - !BYTE $50 ; BRNCH _B256 - !WORD _B256-* -_B255 -; toolsrc/codeopt.pla: 0560: // -; toolsrc/codeopt.pla: 0561: // Otherwise we just move op back to point to the previous op and -; toolsrc/codeopt.pla: 0562: // let the following loop remove the required number of ops. -; toolsrc/codeopt.pla: 0563: // -; toolsrc/codeopt.pla: 0564: op = opprev -; toolsrc/codeopt.pla: 0565: nextop = op=>opnext -; toolsrc/codeopt.pla: 0566: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $6E,$0A ; DLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B256 -; toolsrc/codeopt.pla: 0567: fin -_B253 -_B254 -; toolsrc/codeopt.pla: 0568: while freeops - !BYTE $50 ; BRNCH _B262 - !WORD _B262-* -_B260 -; toolsrc/codeopt.pla: 0569: op=>opnext = nextop=>opnext -; toolsrc/codeopt.pla: 0570: nextop=>opnext = freeop_lst -; toolsrc/codeopt.pla: 0571: freeop_lst = nextop -; toolsrc/codeopt.pla: 0572: nextop = op=>opnext -; toolsrc/codeopt.pla: 0573: crunched = TRUE -; toolsrc/codeopt.pla: 0574: freeops-- - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $6A ; LAW _X029+0 -_F013 !WORD 0+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _X029+0 -_F014 !WORD 0+0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $20 ; MINUS ONE - !BYTE $74,$0E ; SLB [14] - !BYTE $66,$0C ; LLW [12] - !BYTE $8E ; DECR -; toolsrc/codeopt.pla: 0575: loop - !BYTE $76,$0C ; SLW [12] -_B262 - !BYTE $66,$0C ; LLW [12] - !BYTE $4E ; BRTRU _B260 - !WORD _B260-* -_B261 -; toolsrc/codeopt.pla: 0576: opprev = op -; toolsrc/codeopt.pla: 0577: op = nextop -; toolsrc/codeopt.pla: 0578: nextop = op=>opnext -; toolsrc/codeopt.pla: 0579: loop - !BYTE $66,$0A ; LLW [10] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $6E,$0A ; DLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B025 - !BYTE $66,$0A ; LLW [10] - !BYTE $AC ; BRAND _B026 - !WORD _B026-* - !BYTE $66,$04 ; LLW [4] -_B026 - !BYTE $4E ; BRTRU _B023 - !WORD _B023-* -_B024 -; toolsrc/codeopt.pla: 0580: return crunched - !BYTE $64,$0E ; LLB [14] - !BYTE $5A,$10 ; LEAVE 16 -; toolsrc/codeopt.pla: 0581: end -; toolsrc/codeopt.pla: 0582: // -; toolsrc/codeopt.pla: 0583: // Point to crunch function -; toolsrc/codeopt.pla: 0584: // -; toolsrc/codeopt.pla: 0585: optimize_seq = @crunch_seq -_INIT -; toolsrc/codeopt.pla: 0586: // -; toolsrc/codeopt.pla: 0587: // Keep this module in memory -; toolsrc/codeopt.pla: 0588: // -; toolsrc/codeopt.pla: 0589: return modkeep - !BYTE $26 ; LA _C002+0 -_F015 !WORD _C002+0 - !BYTE $7A ; SAW _X030+0 -_F016 !WORD 0+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; toolsrc/codeopt.pla: 0590: 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 25 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 26 ; 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 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 29 ; 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: 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: FREEOP_LST - !BYTE $C6,$D2,$C5,$C5,$CF,$D0,$DF,$CC,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: OPTIMIZE_SEQ - !BYTE $CF,$D0,$D4,$C9,$CD,$C9,$DA,$C5,$DF,$D3,$C5,$51 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/toolsrc/ed.a b/src/toolsrc/ed.a deleted file mode 100644 index 6c7441a..0000000 --- a/src/toolsrc/ed.a +++ /dev/null @@ -1,10959 +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 -; toolsrc/ed.pla: 0001: //===================================== -; toolsrc/ed.pla: 0002: // -; toolsrc/ed.pla: 0003: // Text Editor -; toolsrc/ed.pla: 0004: // -; toolsrc/ed.pla: 0005: //===================================== -; toolsrc/ed.pla: 0006: -; toolsrc/ed.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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: end -; toolsrc/ed.pla: 0007: -; toolsrc/ed.pla: 0008: 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 -; toolsrc/ed.pla: 0008: -; toolsrc/ed.pla: 0009: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0080: end -; toolsrc/ed.pla: 0009: -; toolsrc/ed.pla: 0010: sysflags nojitc // Keep JITC from compiling and pausing while editing - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0100 ; SYSTEM FLAGS -; toolsrc/ed.pla: 0011: // -; toolsrc/ed.pla: 0012: // Hardware constants -; toolsrc/ed.pla: 0013: // -; toolsrc/ed.pla: 0014: const csw = $0036 - ; csw = 54 -; toolsrc/ed.pla: 0015: const pushbttn1 = $C061 - ; pushbttn1 = 49249 -; toolsrc/ed.pla: 0016: const pushbttn2 = $C062 - ; pushbttn2 = 49250 -; toolsrc/ed.pla: 0017: const pushbttn3 = $C063 - ; pushbttn3 = 49251 -; toolsrc/ed.pla: 0018: const keyboard = $C000 - ; keyboard = 49152 -; toolsrc/ed.pla: 0019: const keystrobe = $C010 - ; keystrobe = 49168 -; toolsrc/ed.pla: 0020: const inputln = $01FF - ; inputln = 511 -; toolsrc/ed.pla: 0021: // -; toolsrc/ed.pla: 0022: // ASCII key values -; toolsrc/ed.pla: 0023: // -; toolsrc/ed.pla: 0024: const keyenter = $8D - ; keyenter = 141 -; toolsrc/ed.pla: 0025: const keyspace = $A0 - ; keyspace = 160 -; toolsrc/ed.pla: 0026: const keyarrowup = $8B - ; keyarrowup = 139 -; toolsrc/ed.pla: 0027: const keyarrowdown = $8A - ; keyarrowdown = 138 -; toolsrc/ed.pla: 0028: const keyarrowleft = $88 - ; keyarrowleft = 136 -; toolsrc/ed.pla: 0029: const keyarrowright = $95 - ; keyarrowright = 149 -; toolsrc/ed.pla: 0030: const keyescape = $9B - ; keyescape = 155 -; toolsrc/ed.pla: 0031: const keyctrla = $81 - ; keyctrla = 129 -; toolsrc/ed.pla: 0032: const keyctrlb = $82 - ; keyctrlb = 130 -; toolsrc/ed.pla: 0033: const keyctrlc = $83 - ; keyctrlc = 131 -; toolsrc/ed.pla: 0034: const keyctrld = $84 - ; keyctrld = 132 -; toolsrc/ed.pla: 0035: const keyctrle = $85 - ; keyctrle = 133 -; toolsrc/ed.pla: 0036: const keyctrlf = $86 - ; keyctrlf = 134 -; toolsrc/ed.pla: 0037: const keyctrlg = $87 - ; keyctrlg = 135 -; toolsrc/ed.pla: 0038: const keyctrli = $89 - ; keyctrli = 137 -; toolsrc/ed.pla: 0039: const keyctrlk = $8B - ; keyctrlk = 139 -; toolsrc/ed.pla: 0040: const keyctrll = $8C - ; keyctrll = 140 -; toolsrc/ed.pla: 0041: const keyctrln = $8E - ; keyctrln = 142 -; toolsrc/ed.pla: 0042: const keyctrlo = $8F - ; keyctrlo = 143 -; toolsrc/ed.pla: 0043: const keyctrlp = $90 - ; keyctrlp = 144 -; toolsrc/ed.pla: 0044: const keyctrlq = $91 - ; keyctrlq = 145 -; toolsrc/ed.pla: 0045: const keyctrlr = $92 - ; keyctrlr = 146 -; toolsrc/ed.pla: 0046: const keyctrls = $93 - ; keyctrls = 147 -; toolsrc/ed.pla: 0047: const keyctrlt = $94 - ; keyctrlt = 148 -; toolsrc/ed.pla: 0048: const keyctrlu = $95 - ; keyctrlu = 149 -; toolsrc/ed.pla: 0049: const keyctrlv = $96 - ; keyctrlv = 150 -; toolsrc/ed.pla: 0050: const keyctrlw = $97 - ; keyctrlw = 151 -; toolsrc/ed.pla: 0051: const keyctrlx = $98 - ; keyctrlx = 152 -; toolsrc/ed.pla: 0052: const keyctrly = $99 - ; keyctrly = 153 -; toolsrc/ed.pla: 0053: const keyctrlz = $9A - ; keyctrlz = 154 -; toolsrc/ed.pla: 0054: const keytab = keyctrli - ; keytab = 137 -; toolsrc/ed.pla: 0055: const keydetab = $9D - ; keydetab = 157 -; toolsrc/ed.pla: 0056: const keydelete = $FF - ; keydelete = 255 -; toolsrc/ed.pla: 0057: // -; toolsrc/ed.pla: 0058: // Data and text buffer constants -; toolsrc/ed.pla: 0059: // -; toolsrc/ed.pla: 0060: const MAXLINES = 999 - ; MAXLINES = 999 -; toolsrc/ed.pla: 0061: const MAXLINESSIZE = MAXLINES+24 - ; MAXLINESSIZE = 1023 -; toolsrc/ed.pla: 0062: const MAXCLIPLINES = 256 - ; MAXCLIPLINES = 256 -; toolsrc/ed.pla: 0063: const MAXLNLEN = 79 - ; MAXLNLEN = 79 -; toolsrc/ed.pla: 0064: const MAXSTRPLSIZE = $8000 - ; MAXSTRPLSIZE = 32768 -; toolsrc/ed.pla: 0065: //const STRPLMAPSIZE = 224 // $E0 = 28K is memory@16 bytes per bit map, 128 bytes per 8 bit map, 1K bytes per 8 byte map -; toolsrc/ed.pla: 0066: const pgjmp = 16 - ; pgjmp = 16 -; toolsrc/ed.pla: 0067: const changed = 1 - ; changed = 1 -; toolsrc/ed.pla: 0068: const insmode = 2 - ; insmode = 2 -; toolsrc/ed.pla: 0069: const gutter = 4 - ; gutter = 4 -; toolsrc/ed.pla: 0070: const uppercase = 8 - ; uppercase = 8 -; toolsrc/ed.pla: 0071: const selection = 16 - ; selection = 16 -; toolsrc/ed.pla: 0072: const showcurs = 32 - ; showcurs = 32 -; toolsrc/ed.pla: 0073: const shiftlock = 128 - ; shiftlock = 128 -; toolsrc/ed.pla: 0074: // -; toolsrc/ed.pla: 0075: // Text screen row address array -; toolsrc/ed.pla: 0076: // -; toolsrc/ed.pla: 0077: const scrnheight = 24 - ; scrnheight = 24 -; toolsrc/ed.pla: 0078: const scrnbottom = 23 - ; scrnbottom = 23 -; toolsrc/ed.pla: 0079: word scrnwidth = 36 -_D033 ; scrnwidth = 36 - !WORD $0024 -; toolsrc/ed.pla: 0080: word scrnright = 35 -_D034 ; scrnright = 35 - !WORD $0023 -; toolsrc/ed.pla: 0081: word txtscrn = $0400,$0480,$0500,$0580,$0600,$0680,$0700,$0780 -_D035 ; txtscrn = $0400,$0480,$0500,$0580,$0600,$0680,$0700,$0780 - !WORD $0400 - !WORD $0480 - !WORD $0500 - !WORD $0580 - !WORD $0600 - !WORD $0680 - !WORD $0700 - !WORD $0780 -; toolsrc/ed.pla: 0082: 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 -; toolsrc/ed.pla: 0083: 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 -; toolsrc/ed.pla: 0084: // -; toolsrc/ed.pla: 0085: // Editor variables -; toolsrc/ed.pla: 0086: // -; toolsrc/ed.pla: 0087: byte nullstr = "" -_D036 ; nullstr = "" - !BYTE $00 -; toolsrc/ed.pla: 0088: byte[80] findstr = "" -_D037 ; findstr = "" - !BYTE $00 - !FILL $4F -; toolsrc/ed.pla: 0089: byte[64] filename = "UNTITLED" -_D038 ; filename = "UNTITLED" - !BYTE $08 - !BYTE $55,$4E,$54,$49,$54,$4C,$45,$44 - !FILL $37 -; toolsrc/ed.pla: 0090: byte exit = FALSE -_D039 ; exit = FALSE - !BYTE $00 -; toolsrc/ed.pla: 0091: byte flags = 0 -_D040 ; flags = 0 - !BYTE $00 -; toolsrc/ed.pla: 0092: byte flash = 0 -_D041 ; flash = 0 - !BYTE $00 -; toolsrc/ed.pla: 0093: word numlines = 0 -_D042 ; numlines = 0 - !WORD $0000 -; toolsrc/ed.pla: 0094: word numcliplines = 0 -_D043 ; numcliplines = 0 - !WORD $0000 -; toolsrc/ed.pla: 0095: word arg -_D044 !FILL 2 ; arg -; toolsrc/ed.pla: 0096: word strplsize = MAXSTRPLSIZE -_D045 ; strplsize = MAXSTRPLSIZE - !WORD $8000 -; toolsrc/ed.pla: 0097: word strpool, strplmapsize, txtlinbuf, cliplinbuf, strpoolmap -_D046 !FILL 2 ; strpool, strplmapsize, txtlinbuf, cliplinbuf, strpoolmap -_D047 !FILL 2 ; strplmapsize, txtlinbuf, cliplinbuf, strpoolmap -_D048 !FILL 2 ; txtlinbuf, cliplinbuf, strpoolmap -_D049 !FILL 2 ; cliplinbuf, strpoolmap -_D050 !FILL 2 ; strpoolmap -; toolsrc/ed.pla: 0098: word cursx, cursy, scrnleft, curscol -_D051 !FILL 2 ; cursx, cursy, scrnleft, curscol -_D052 !FILL 2 ; cursy, scrnleft, curscol -_D053 !FILL 2 ; scrnleft, curscol -_D054 !FILL 2 ; curscol -; toolsrc/ed.pla: 0099: byte underchr, curschr -_D055 !FILL 1 ; underchr, curschr -_D056 !FILL 1 ; curschr -; toolsrc/ed.pla: 0100: word keyin, cursrow, selrow, scrntop, cursptr -_D057 !FILL 2 ; keyin, cursrow, selrow, scrntop, cursptr -_D058 !FILL 2 ; cursrow, selrow, scrntop, cursptr -_D059 !FILL 2 ; selrow, scrntop, cursptr -_D060 !FILL 2 ; scrntop, cursptr -_D061 !FILL 2 ; cursptr -; toolsrc/ed.pla: 0101: byte a3echo = $80 -_D062 ; a3echo = $80 - !BYTE $80 -; toolsrc/ed.pla: 0102: byte a3noecho = $00 -_D063 ; a3noecho = $00 - !BYTE $00 -; toolsrc/ed.pla: 0103: // -; toolsrc/ed.pla: 0104: // Predeclared functions -; toolsrc/ed.pla: 0105: // -; toolsrc/ed.pla: 0106: predef cmdmode#0 -; toolsrc/ed.pla: 0107: // -; toolsrc/ed.pla: 0108: // Utility functions -; toolsrc/ed.pla: 0109: // -; toolsrc/ed.pla: 0110: // Defines for ASM routines -; toolsrc/ed.pla: 0111: // -; toolsrc/ed.pla: 0112: asm equates -_A000 ; equates() -; toolsrc/ed.pla: 0113: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; toolsrc/ed.pla: 0114: end -; toolsrc/ed.pla: 0115: asm sethibit(strptr)#0 -_A001 ; sethibit() -; toolsrc/ed.pla: 0116: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/ed.pla: 0117: STA SRCL - STA SRCL -; toolsrc/ed.pla: 0118: LDA ESTKH,X - LDA ESTKH,X -; toolsrc/ed.pla: 0119: STA SRCH - STA SRCH -; toolsrc/ed.pla: 0120: INX - INX -; toolsrc/ed.pla: 0121: LDY #$00 - LDY #$00 -; toolsrc/ed.pla: 0122: LDA (SRC),Y - LDA (SRC),Y -; toolsrc/ed.pla: 0123: BEQ + - BEQ + -; toolsrc/ed.pla: 0124: TAY - TAY -; toolsrc/ed.pla: 0125: STHILP LDA (SRC),Y -STHILP LDA (SRC),Y -; toolsrc/ed.pla: 0126: ORA #$80 - ORA #$80 -; toolsrc/ed.pla: 0127: STA (SRC),Y - STA (SRC),Y -; toolsrc/ed.pla: 0128: DEY - DEY -; toolsrc/ed.pla: 0129: BNE STHILP - BNE STHILP -; toolsrc/ed.pla: 0130: + RTS -+ RTS -; toolsrc/ed.pla: 0131: end -; toolsrc/ed.pla: 0132: asm lncpy(dststr, srcstr)#0 -_A002 ; lncpy() -; toolsrc/ed.pla: 0133: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/ed.pla: 0134: STA SRCL - STA SRCL -; toolsrc/ed.pla: 0135: LDA ESTKH,X - LDA ESTKH,X -; toolsrc/ed.pla: 0136: STA SRCH - STA SRCH -; toolsrc/ed.pla: 0137: INX - INX -; toolsrc/ed.pla: 0138: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/ed.pla: 0139: STA DSTL - STA DSTL -; toolsrc/ed.pla: 0140: LDA ESTKH,X - LDA ESTKH,X -; toolsrc/ed.pla: 0141: STA DSTH - STA DSTH -; toolsrc/ed.pla: 0142: INX - INX -; toolsrc/ed.pla: 0143: LDY #$00 - LDY #$00 -; toolsrc/ed.pla: 0144: LDA (SRC),Y - LDA (SRC),Y -; toolsrc/ed.pla: 0145: CMP #80 - CMP #80 -; toolsrc/ed.pla: 0146: BCC + - BCC + -; toolsrc/ed.pla: 0147: LDA #79 - LDA #79 -; toolsrc/ed.pla: 0148: CLC - CLC -; toolsrc/ed.pla: 0149: + ADC #$01 ; APPEND CR TO END OF STRING -+ ADC #$01 ; APPEND CR TO END OF STRING -; toolsrc/ed.pla: 0150: STA (DST),Y - STA (DST),Y -; toolsrc/ed.pla: 0151: TAY - TAY -; toolsrc/ed.pla: 0152: LDA #$0D - LDA #$0D -; toolsrc/ed.pla: 0153: STA (DST),Y - STA (DST),Y -; toolsrc/ed.pla: 0154: DEY - DEY -; toolsrc/ed.pla: 0155: BEQ ++ - BEQ ++ -; toolsrc/ed.pla: 0156: CPLNLP LDA (SRC),Y -CPLNLP LDA (SRC),Y -; toolsrc/ed.pla: 0157: CMP #$20 - CMP #$20 -; toolsrc/ed.pla: 0158: BCS + - BCS + -; toolsrc/ed.pla: 0159: ADC #$60 - ADC #$60 -; toolsrc/ed.pla: 0160: + AND #$7F -+ AND #$7F -; toolsrc/ed.pla: 0161: STA (DST),Y - STA (DST),Y -; toolsrc/ed.pla: 0162: DEY - DEY -; toolsrc/ed.pla: 0163: BNE CPLNLP - BNE CPLNLP -; toolsrc/ed.pla: 0164: ++ RTS -++ RTS -; toolsrc/ed.pla: 0165: end -; toolsrc/ed.pla: 0166: asm lnupcpy(dststr, srcstr)#0 -_A003 ; lnupcpy() -; toolsrc/ed.pla: 0167: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/ed.pla: 0168: STA SRCL - STA SRCL -; toolsrc/ed.pla: 0169: LDA ESTKH,X - LDA ESTKH,X -; toolsrc/ed.pla: 0170: STA SRCH - STA SRCH -; toolsrc/ed.pla: 0171: INX - INX -; toolsrc/ed.pla: 0172: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/ed.pla: 0173: STA DSTL - STA DSTL -; toolsrc/ed.pla: 0174: LDA ESTKH,X - LDA ESTKH,X -; toolsrc/ed.pla: 0175: STA DSTH - STA DSTH -; toolsrc/ed.pla: 0176: INX - INX -; toolsrc/ed.pla: 0177: LDY #$00 - LDY #$00 -; toolsrc/ed.pla: 0178: LDA (SRC),Y - LDA (SRC),Y -; toolsrc/ed.pla: 0179: CMP #80 - CMP #80 -; toolsrc/ed.pla: 0180: BCC + - BCC + -; toolsrc/ed.pla: 0181: LDA #79 - LDA #79 -; toolsrc/ed.pla: 0182: + STA (DST),Y -+ STA (DST),Y -; toolsrc/ed.pla: 0183: TAY - TAY -; toolsrc/ed.pla: 0184: BEQ +++ - BEQ +++ -; toolsrc/ed.pla: 0185: CPUPLP LDA (SRC),Y -CPUPLP LDA (SRC),Y -; toolsrc/ed.pla: 0186: CMP #$20 - CMP #$20 -; toolsrc/ed.pla: 0187: BCS + - BCS + -; toolsrc/ed.pla: 0188: ADC #$60 - ADC #$60 -; toolsrc/ed.pla: 0189: + AND #$7F -+ AND #$7F -; toolsrc/ed.pla: 0190: CMP #$7B - CMP #$7B -; toolsrc/ed.pla: 0191: BCS ++ - BCS ++ -; toolsrc/ed.pla: 0192: CMP #$61 - CMP #$61 -; toolsrc/ed.pla: 0193: BCC ++ - BCC ++ -; toolsrc/ed.pla: 0194: SEC - SEC -; toolsrc/ed.pla: 0195: SBC #$20 - SBC #$20 -; toolsrc/ed.pla: 0196: ++ STA (DST),Y -++ STA (DST),Y -; toolsrc/ed.pla: 0197: DEY - DEY -; toolsrc/ed.pla: 0198: BNE CPUPLP - BNE CPUPLP -; toolsrc/ed.pla: 0199: +++ RTS -+++ RTS -; toolsrc/ed.pla: 0200: end -; toolsrc/ed.pla: 0201: def bell#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; bell() -; toolsrc/ed.pla: 0202: putc($07) -; toolsrc/ed.pla: 0203: end - !BYTE $0E ; CN 7 - !BYTE $54 ; CALL _X002 -_F000 !WORD 0 - !BYTE $5C ; RET -; toolsrc/ed.pla: 0204: // -; toolsrc/ed.pla: 0205: // Memory management routines -; toolsrc/ed.pla: 0206: // -; toolsrc/ed.pla: 0207: def sizemask(size) - ; size -> [0] -_C001 ; sizemask() -; toolsrc/ed.pla: 0208: if size <= 16 - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/ed.pla: 0209: return $01 - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$10 ; CB 16 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $02 ; CN 1 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0210: elsif size <= 32 - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B001 -; toolsrc/ed.pla: 0211: return $03 - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $06 ; CN 3 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0212: elsif size <= 48 - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B003 -; toolsrc/ed.pla: 0213: return $07 - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$30 ; CB 48 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $0E ; CN 7 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0214: elsif size <= 64 - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B004 -; toolsrc/ed.pla: 0215: return $0F - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$40 ; CB 64 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $1E ; CN 15 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0216: elsif size <= 80 - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B005 -; toolsrc/ed.pla: 0217: return $1F - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$50 ; CB 80 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $2A,$1F ; CB 31 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0218: fin -_B006 -_B002 -; toolsrc/ed.pla: 0219: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0220: end -; toolsrc/ed.pla: 0221: def strpoolalloc(size) - ; size -> [0] -_C002 ; strpoolalloc() -; toolsrc/ed.pla: 0222: byte szmask - ; szmask -> [2] -; toolsrc/ed.pla: 0223: word mapmask, addr, i - ; mapmask -> [3] - ; addr -> [5] - ; i -> [7] -; toolsrc/ed.pla: 0224: -; toolsrc/ed.pla: 0225: szmask = sizemask(size) - !BYTE $58,$09,$01 ; ENTER 9,1 -; toolsrc/ed.pla: 0226: for i = strplmapsize - 1 downto 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C001 -_F001 !WORD _C001 - !BYTE $74,$02 ; SLB [2] - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D047+0 -_F002 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B007 - !WORD _B007-* -_B008 - !BYTE $6E,$07 ; DLW [7] -; toolsrc/ed.pla: 0227: if ^(strpoolmap + i) <> $FF -; toolsrc/ed.pla: 0228: mapmask = szmask -; toolsrc/ed.pla: 0229: repeat - !BYTE $6A ; LAW _D050+0 -_F003 !WORD _D050+0 - !BYTE $B2,$07 ; ADDLW [7] - !BYTE $60 ; LB - !BYTE $2A,$FF ; CB 255 - !BYTE $22 ; BREQ _B010 - !WORD _B010-* - !BYTE $64,$02 ; LLB [2] - !BYTE $76,$03 ; SLW [3] -_B013 -; toolsrc/ed.pla: 0230: if ^(strpoolmap + i) & mapmask -; toolsrc/ed.pla: 0231: mapmask = mapmask << 1 -; toolsrc/ed.pla: 0232: else - !BYTE $6A ; LAW _D050+0 -_F004 !WORD _D050+0 - !BYTE $B2,$07 ; ADDLW [7] - !BYTE $60 ; LB - !BYTE $66,$03 ; LLW [3] - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $66,$03 ; LLW [3] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$03 ; SLW [3] - !BYTE $50 ; BRNCH _B016 - !WORD _B016-* -_B015 -; toolsrc/ed.pla: 0233: ^(strpoolmap + i) = ^(strpoolmap + i) | mapmask -; toolsrc/ed.pla: 0234: addr = (i << 7) + strpool -; toolsrc/ed.pla: 0235: while !(mapmask & 1) - !BYTE $6A ; LAW _D050+0 -_F005 !WORD _D050+0 - !BYTE $B2,$07 ; ADDLW [7] - !BYTE $60 ; LB - !BYTE $66,$03 ; LLW [3] - !BYTE $96 ; OR - !BYTE $6A ; LAW _D050+0 -_F006 !WORD _D050+0 - !BYTE $B2,$07 ; ADDLW [7] - !BYTE $70 ; SB - !BYTE $66,$07 ; LLW [7] - !BYTE $0E ; CN 7 - !BYTE $9A ; SHL - !BYTE $B6 ; ADDAW _D046+0 -_F007 !WORD _D046+0 - !BYTE $76,$05 ; SLW [5] - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -_B017 -; toolsrc/ed.pla: 0236: addr = addr + 16 -; toolsrc/ed.pla: 0237: mapmask = mapmask >> 1 -; toolsrc/ed.pla: 0238: loop - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$05 ; SLW [5] - !BYTE $66,$03 ; LLW [3] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $76,$03 ; SLW [3] -_B019 - !BYTE $66,$03 ; LLW [3] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* -_B018 -; toolsrc/ed.pla: 0239: return addr - !BYTE $32 ; DROP2 - !BYTE $66,$05 ; LLW [5] - !BYTE $5A,$09 ; LEAVE 9 -; toolsrc/ed.pla: 0240: fin -_B016 -; toolsrc/ed.pla: 0241: until mapmask & $100 -_B014 - !BYTE $66,$03 ; LLW [3] - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* -_B012 -; toolsrc/ed.pla: 0242: fin -_B010 -_B011 -; toolsrc/ed.pla: 0243: next -_B009 - !BYTE $A8 ; DECBRGE _B008 - !WORD _B008-* -_B007 - !BYTE $76,$07 ; SLW [7] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0244: bell() -; toolsrc/ed.pla: 0245: puts("OUT OF MEMORY!") - !BYTE $54 ; CALL _C000 -_F008 !WORD _C000 - !BYTE $2E ; CS - !BYTE $0E - !BYTE $4F,$55,$54,$20,$4F,$46,$20,$4D - !BYTE $45,$4D,$4F,$52,$59,$21 - !BYTE $54 ; CALL _X004 -_F009 !WORD 0 -; toolsrc/ed.pla: 0246: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; toolsrc/ed.pla: 0247: end -; toolsrc/ed.pla: 0248: def striplead(strptr, chr)#0 - ; strptr -> [0] - ; chr -> [2] -_C003 ; striplead() -; toolsrc/ed.pla: 0249: byte striplen - ; striplen -> [4] -; toolsrc/ed.pla: 0250: -; toolsrc/ed.pla: 0251: for striplen = 1 to ^strptr - !BYTE $58,$05,$02 ; ENTER 5,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B020 - !WORD _B020-* -_B021 - !BYTE $6C,$04 ; DLB [4] -; toolsrc/ed.pla: 0252: if ^(strptr + striplen) <> chr -; toolsrc/ed.pla: 0253: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $22 ; BREQ _B023 - !WORD _B023-* - !BYTE $50 ; BRNCH _B020 - !WORD _B020-* -; toolsrc/ed.pla: 0254: fin -_B023 -_B024 -; toolsrc/ed.pla: 0255: next -_B022 - !BYTE $A4 ; INCBRLE _B021 - !WORD _B021-* -_B020 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0256: if striplen > 1 -; toolsrc/ed.pla: 0257: ^strptr = ^strptr - (striplen - 1) -; toolsrc/ed.pla: 0258: memcpy(strptr + 1, strptr + striplen, ^strptr) -; toolsrc/ed.pla: 0259: fin - !BYTE $64,$04 ; LLB [4] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR - !BYTE $84 ; SUB - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F010 !WORD 0 -_B025 -_B026 -; toolsrc/ed.pla: 0260: end - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 0261: def striptail(strptr, chr)#0 - ; strptr -> [0] - ; chr -> [2] -_C004 ; striptail() -; toolsrc/ed.pla: 0262: byte strlen - ; strlen -> [4] -; toolsrc/ed.pla: 0263: -; toolsrc/ed.pla: 0264: for strlen = ^strptr downto 1 - !BYTE $58,$05,$02 ; ENTER 5,2 - !BYTE $02 ; CN 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $A2 ; BRLT _B027 - !WORD _B027-* -_B028 - !BYTE $6C,$04 ; DLB [4] -; toolsrc/ed.pla: 0265: if ^(strptr + strlen) <> $8D and ^(strptr + strlen) <> chr -; toolsrc/ed.pla: 0266: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$8D ; CB 141 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B030 - !WORD _B030-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $42 ; ISNE -_B030 - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/ed.pla: 0267: fin -_B031 -_B032 -; toolsrc/ed.pla: 0268: next -_B029 - !BYTE $A8 ; DECBRGE _B028 - !WORD _B028-* -_B027 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0269: ^strptr = strlen -; toolsrc/ed.pla: 0270: end - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 0271: def strstripcpy(dststr, srcstr)#0 - ; dststr -> [0] - ; srcstr -> [2] -_C005 ; strstripcpy() -; toolsrc/ed.pla: 0272: memcpy(dststr, srcstr, ^srcstr + 1) - !BYTE $58,$04,$02 ; ENTER 4,2 -; toolsrc/ed.pla: 0273: striptail(dststr, keyspace) -; toolsrc/ed.pla: 0274: end - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X018 -_F011 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$A0 ; CB 160 - !BYTE $54 ; CALL _C004 -_F012 !WORD _C004 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0275: def delstr(strptr)#0 - ; strptr -> [0] -_C006 ; delstr() -; toolsrc/ed.pla: 0276: byte mask, ofst - ; mask -> [2] - ; ofst -> [3] -; toolsrc/ed.pla: 0277: -; toolsrc/ed.pla: 0278: if strptr and strptr <> @nullstr - !BYTE $58,$04,$01 ; ENTER 4,1 -; toolsrc/ed.pla: 0279: mask = sizemask(^strptr + 1) -; toolsrc/ed.pla: 0280: ofst = (strptr - strpool) >> 4 -; toolsrc/ed.pla: 0281: mask = mask << (ofst & $07) -; toolsrc/ed.pla: 0282: ofst = ofst >> 3 -; toolsrc/ed.pla: 0283: ^(strpoolmap + ofst) = ^(strpoolmap + ofst) & ~mask -; toolsrc/ed.pla: 0284: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $AC ; BRAND _B033 - !WORD _B033-* - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D036+0 -_F013 !WORD _D036+0 - !BYTE $42 ; ISNE -_B033 - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C001 -_F014 !WORD _C001 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D046+0 -_F015 !WORD _D046+0 - !BYTE $84 ; SUB - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $74,$03 ; SLB [3] - !BYTE $64,$02 ; LLB [2] - !BYTE $64,$03 ; LLB [3] - !BYTE $3C,$07 ; ANDI 7 - !BYTE $9A ; SHL - !BYTE $74,$02 ; SLB [2] - !BYTE $64,$03 ; LLB [3] - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $74,$03 ; SLB [3] - !BYTE $6A ; LAW _D050+0 -_F016 !WORD _D050+0 - !BYTE $B0,$03 ; ADDLB [3] - !BYTE $60 ; LB - !BYTE $64,$02 ; LLB [2] - !BYTE $92 ; COMP - !BYTE $94 ; AND - !BYTE $6A ; LAW _D050+0 -_F017 !WORD _D050+0 - !BYTE $B0,$03 ; ADDLB [3] - !BYTE $70 ; SB -_B034 -_B035 -; toolsrc/ed.pla: 0285: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0286: def newstr(strptr) - ; strptr -> [0] -_C007 ; newstr() -; toolsrc/ed.pla: 0287: byte strlen - ; strlen -> [2] -; toolsrc/ed.pla: 0288: word newptr - ; newptr -> [3] -; toolsrc/ed.pla: 0289: -; toolsrc/ed.pla: 0290: strlen = ^strptr - !BYTE $58,$05,$01 ; ENTER 5,1 -; toolsrc/ed.pla: 0291: while ^(strptr + strlen) == keyenter or ^(strptr + strlen) == keyspace - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $74,$02 ; SLB [2] - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -_B036 -; toolsrc/ed.pla: 0292: strlen-- - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0293: loop - !BYTE $74,$02 ; SLB [2] -_B038 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$8D ; CB 141 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B039 - !WORD _B039-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$A0 ; CB 160 - !BYTE $40 ; ISEQ -_B039 - !BYTE $4E ; BRTRU _B036 - !WORD _B036-* -_B037 -; toolsrc/ed.pla: 0294: if strlen == 0 -; toolsrc/ed.pla: 0295: return @nullstr - !BYTE $64,$02 ; LLB [2] - !BYTE $4E ; BRTRU _B040 - !WORD _B040-* - !BYTE $26 ; LA _D036+0 -_F018 !WORD _D036+0 - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 0296: fin -_B040 -_B041 -; toolsrc/ed.pla: 0297: newptr = strpoolalloc(strlen + 1) -; toolsrc/ed.pla: 0298: if newptr -; toolsrc/ed.pla: 0299: memcpy(newptr, strptr, strlen + 1) -; toolsrc/ed.pla: 0300: ^newptr = strlen -; toolsrc/ed.pla: 0301: return newptr - !BYTE $64,$02 ; LLB [2] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C002 -_F019 !WORD _C002 - !BYTE $6E,$03 ; DLW [3] - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $66,$03 ; LLW [3] - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X018 -_F020 !WORD 0 - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$03 ; LLW [3] - !BYTE $70 ; SB - !BYTE $66,$03 ; LLW [3] - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 0302: fin -_B042 -_B043 -; toolsrc/ed.pla: 0303: return @nullstr - !BYTE $26 ; LA _D036+0 -_F021 !WORD _D036+0 - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 0304: end -; toolsrc/ed.pla: 0305: def inittxtbuf#0 -_C008 ; inittxtbuf() -; toolsrc/ed.pla: 0306: word i - ; i -> [0] -; toolsrc/ed.pla: 0307: -; toolsrc/ed.pla: 0308: if not strpool - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/ed.pla: 0309: txtlinbuf = heapalloc(MAXLINESSIZE*2) -; toolsrc/ed.pla: 0310: cliplinbuf = heapalloc(MAXCLIPLINES*2) -; toolsrc/ed.pla: 0311: while isult(heapavail, strplsize) - !BYTE $6A ; LAW _D046+0 -_F022 !WORD _D046+0 - !BYTE $4E ; BRTRU _B044 - !WORD _B044-* - !BYTE $2C,$FE,$07 ; CW 2046 - !BYTE $54 ; CALL _X014 -_F023 !WORD 0 - !BYTE $7A ; SAW _D048+0 -_F024 !WORD _D048+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X014 -_F025 !WORD 0 - !BYTE $7A ; SAW _D049+0 -_F026 !WORD _D049+0 - !BYTE $50 ; BRNCH _B048 - !WORD _B048-* -_B046 -; toolsrc/ed.pla: 0312: strplsize = strplsize - 4096 -; toolsrc/ed.pla: 0313: loop - !BYTE $6A ; LAW _D045+0 -_F027 !WORD _D045+0 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D045+0 -_F028 !WORD _D045+0 -_B048 - !BYTE $54 ; CALL _X016 -_F029 !WORD 0 - !BYTE $6A ; LAW _D045+0 -_F030 !WORD _D045+0 - !BYTE $54 ; CALL _X026 -_F031 !WORD 0 - !BYTE $4E ; BRTRU _B046 - !WORD _B046-* -_B047 -; toolsrc/ed.pla: 0314: if isult(heapavail - strplsize, 4096) // Keep at least 4096 free -; toolsrc/ed.pla: 0315: strplsize = strplsize - 4096 -; toolsrc/ed.pla: 0316: fin - !BYTE $54 ; CALL _X016 -_F032 !WORD 0 - !BYTE $6A ; LAW _D045+0 -_F033 !WORD _D045+0 - !BYTE $84 ; SUB - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _X026 -_F034 !WORD 0 - !BYTE $4C ; BRFLS _B049 - !WORD _B049-* - !BYTE $6A ; LAW _D045+0 -_F035 !WORD _D045+0 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D045+0 -_F036 !WORD _D045+0 -_B049 -_B050 -; toolsrc/ed.pla: 0317: strplmapsize = strplsize / 128 -; toolsrc/ed.pla: 0318: strpoolmap = heapalloc(strplmapsize) -; toolsrc/ed.pla: 0319: strpool = heapalloc(strplsize) -; toolsrc/ed.pla: 0320: memset(txtlinbuf, @nullstr, MAXLINESSIZE*2) -; toolsrc/ed.pla: 0321: memset(cliplinbuf, @nullstr, MAXCLIPLINES*2) -; toolsrc/ed.pla: 0322: memset(strpoolmap, 0, strplmapsize) -; toolsrc/ed.pla: 0323: else - !BYTE $6A ; LAW _D045+0 -_F037 !WORD _D045+0 - !BYTE $0E ; CN 7 - !BYTE $9C ; SHR - !BYTE $7E ; DAW _D047+0 -_F038 !WORD _D047+0 - !BYTE $54 ; CALL _X014 -_F039 !WORD 0 - !BYTE $7A ; SAW _D050+0 -_F040 !WORD _D050+0 - !BYTE $6A ; LAW _D045+0 -_F041 !WORD _D045+0 - !BYTE $54 ; CALL _X014 -_F042 !WORD 0 - !BYTE $7A ; SAW _D046+0 -_F043 !WORD _D046+0 - !BYTE $6A ; LAW _D048+0 -_F044 !WORD _D048+0 - !BYTE $26 ; LA _D036+0 -_F045 !WORD _D036+0 - !BYTE $2C,$FE,$07 ; CW 2046 - !BYTE $54 ; CALL _X017 -_F046 !WORD 0 - !BYTE $6A ; LAW _D049+0 -_F047 !WORD _D049+0 - !BYTE $26 ; LA _D036+0 -_F048 !WORD _D036+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X017 -_F049 !WORD 0 - !BYTE $6A ; LAW _D050+0 -_F050 !WORD _D050+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D047+0 -_F051 !WORD _D047+0 - !BYTE $54 ; CALL _X017 -_F052 !WORD 0 - !BYTE $50 ; BRNCH _B045 - !WORD _B045-* -_B044 -; toolsrc/ed.pla: 0324: for i = 0 to MAXLINESSIZE-1 - !BYTE $2C,$FE,$03 ; CW 1022 - !BYTE $00 ; CN 0 -_B052 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0325: if txtlinbuf=>[i] <> @nullstr -; toolsrc/ed.pla: 0326: delstr(txtlinbuf=>[i]) -; toolsrc/ed.pla: 0327: txtlinbuf=>[i] = @nullstr -; toolsrc/ed.pla: 0328: fin - !BYTE $6A ; LAW _D048+0 -_F053 !WORD _D048+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $26 ; LA _D036+0 -_F054 !WORD _D036+0 - !BYTE $22 ; BREQ _B054 - !WORD _B054-* - !BYTE $6A ; LAW _D048+0 -_F055 !WORD _D048+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C006 -_F056 !WORD _C006 - !BYTE $26 ; LA _D036+0 -_F057 !WORD _D036+0 - !BYTE $6A ; LAW _D048+0 -_F058 !WORD _D048+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $72 ; SW -_B054 -_B055 -; toolsrc/ed.pla: 0329: next -_B053 - !BYTE $A4 ; INCBRLE _B052 - !WORD _B052-* -_B051 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0330: fin -_B045 -; toolsrc/ed.pla: 0331: numlines = 1 -; toolsrc/ed.pla: 0332: cursrow = 0 -; toolsrc/ed.pla: 0333: curscol = 0 -; toolsrc/ed.pla: 0334: cursx = 0 -; toolsrc/ed.pla: 0335: cursy = 0 -; toolsrc/ed.pla: 0336: scrnleft = 0 -; toolsrc/ed.pla: 0337: scrntop = 0 -; toolsrc/ed.pla: 0338: flags = flags & ~selection -; toolsrc/ed.pla: 0339: end - !BYTE $02 ; CN 1 - !BYTE $7A ; SAW _D042+0 -_F059 !WORD _D042+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D058+0 -_F060 !WORD _D058+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D054+0 -_F061 !WORD _D054+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D051+0 -_F062 !WORD _D051+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D052+0 -_F063 !WORD _D052+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D053+0 -_F064 !WORD _D053+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D060+0 -_F065 !WORD _D060+0 - !BYTE $68 ; LAB _D040+0 -_F066 !WORD _D040+0 - !BYTE $5E,$EF ; CFFB -17 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D040+0 -_F067 !WORD _D040+0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0340: // -; toolsrc/ed.pla: 0341: // Case conversion/printing routines -; toolsrc/ed.pla: 0342: // -; toolsrc/ed.pla: 0343: def caseconv(chr) - ; chr -> [0] -_C009 ; caseconv() -; toolsrc/ed.pla: 0344: if flags & uppercase - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/ed.pla: 0345: if chr & $E0 == $E0 -; toolsrc/ed.pla: 0346: chr = chr - $E0 -; toolsrc/ed.pla: 0347: fin - !BYTE $68 ; LAB _D040+0 -_F068 !WORD _D040+0 - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$E0 ; ANDI 224 - !BYTE $2A,$E0 ; CB 224 - !BYTE $24 ; BRNE _B058 - !WORD _B058-* - !BYTE $66,$00 ; LLW [0] - !BYTE $3A,$E0 ; SUBI 224 - !BYTE $76,$00 ; SLW [0] -_B058 -_B059 -; toolsrc/ed.pla: 0348: fin -_B056 -_B057 -; toolsrc/ed.pla: 0349: return chr - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0350: end -; toolsrc/ed.pla: 0351: def strupper(strptr)#0 - ; strptr -> [0] -_C010 ; strupper() -; toolsrc/ed.pla: 0352: byte i, chr - ; i -> [2] - ; chr -> [3] -; toolsrc/ed.pla: 0353: -; toolsrc/ed.pla: 0354: if ^strptr - !BYTE $58,$04,$01 ; ENTER 4,1 -; toolsrc/ed.pla: 0355: for i = ^strptr downto 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* - !BYTE $02 ; CN 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $A2 ; BRLT _B062 - !WORD _B062-* -_B063 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/ed.pla: 0356: chr = (strptr).[i] -; toolsrc/ed.pla: 0357: if chr & $E0 == $E0 -; toolsrc/ed.pla: 0358: (strptr).[i] = chr - $E0 -; toolsrc/ed.pla: 0359: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $6C,$03 ; DLB [3] - !BYTE $3C,$E0 ; ANDI 224 - !BYTE $2A,$E0 ; CB 224 - !BYTE $24 ; BRNE _B065 - !WORD _B065-* - !BYTE $64,$03 ; LLB [3] - !BYTE $3A,$E0 ; SUBI 224 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $70 ; SB -_B065 -_B066 -; toolsrc/ed.pla: 0360: next -_B064 - !BYTE $A8 ; DECBRGE _B063 - !WORD _B063-* -_B062 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0361: fin -_B060 -_B061 -; toolsrc/ed.pla: 0362: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0363: def strlower(strptr)#0 - ; strptr -> [0] -_C011 ; strlower() -; toolsrc/ed.pla: 0364: byte i, chr - ; i -> [2] - ; chr -> [3] -; toolsrc/ed.pla: 0365: -; toolsrc/ed.pla: 0366: if ^strptr - !BYTE $58,$04,$01 ; ENTER 4,1 -; toolsrc/ed.pla: 0367: for i = ^strptr downto 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B067 - !WORD _B067-* - !BYTE $02 ; CN 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $A2 ; BRLT _B069 - !WORD _B069-* -_B070 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/ed.pla: 0368: chr = (strptr).[i] -; toolsrc/ed.pla: 0369: if chr & $E0 == $00 -; toolsrc/ed.pla: 0370: (strptr).[i] = chr + $E0 -; toolsrc/ed.pla: 0371: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $6C,$03 ; DLB [3] - !BYTE $3C,$E0 ; ANDI 224 - !BYTE $4E ; BRTRU _B072 - !WORD _B072-* - !BYTE $64,$03 ; LLB [3] - !BYTE $38,$E0 ; ADDI 224 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $70 ; SB -_B072 -_B073 -; toolsrc/ed.pla: 0372: next -_B071 - !BYTE $A8 ; DECBRGE _B070 - !WORD _B070-* -_B069 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0373: fin -_B067 -_B068 -; toolsrc/ed.pla: 0374: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0375: def txtupper#0 -_C012 ; txtupper() -; toolsrc/ed.pla: 0376: word i, strptr - ; i -> [0] - ; strptr -> [2] -; toolsrc/ed.pla: 0377: -; toolsrc/ed.pla: 0378: flags = flags | uppercase - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/ed.pla: 0379: for i = numlines - 1 downto 0 - !BYTE $68 ; LAB _D040+0 -_F069 !WORD _D040+0 - !BYTE $3E,$08 ; ORI 8 - !BYTE $78 ; SAB _D040+0 -_F070 !WORD _D040+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D042+0 -_F071 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B074 - !WORD _B074-* -_B075 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0380: strupper(txtlinbuf=>[i]) -; toolsrc/ed.pla: 0381: next - !BYTE $6A ; LAW _D048+0 -_F072 !WORD _D048+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C010 -_F073 !WORD _C010 -_B076 - !BYTE $A8 ; DECBRGE _B075 - !WORD _B075-* -_B074 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0382: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0383: def txtlower#0 -_C013 ; txtlower() -; toolsrc/ed.pla: 0384: word i, strptr - ; i -> [0] - ; strptr -> [2] -; toolsrc/ed.pla: 0385: -; toolsrc/ed.pla: 0386: flags = flags & ~uppercase - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/ed.pla: 0387: for i = numlines - 1 downto 0 - !BYTE $68 ; LAB _D040+0 -_F074 !WORD _D040+0 - !BYTE $5E,$F7 ; CFFB -9 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D040+0 -_F075 !WORD _D040+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D042+0 -_F076 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B077 - !WORD _B077-* -_B078 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0388: strlower(txtlinbuf=>[i]) -; toolsrc/ed.pla: 0389: next - !BYTE $6A ; LAW _D048+0 -_F077 !WORD _D048+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C011 -_F078 !WORD _C011 -_B079 - !BYTE $A8 ; DECBRGE _B078 - !WORD _B078-* -_B077 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0390: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0391: def strtonum(strptr) - ; strptr -> [0] -_C014 ; strtonum() -; toolsrc/ed.pla: 0392: word num, i - ; num -> [2] - ; i -> [4] -; toolsrc/ed.pla: 0393: byte c - ; c -> [6] -; toolsrc/ed.pla: 0394: -; toolsrc/ed.pla: 0395: num = 0 - !BYTE $58,$07,$01 ; ENTER 7,1 -; toolsrc/ed.pla: 0396: for i = 1 to ^strptr - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B080 - !WORD _B080-* -_B081 - !BYTE $6E,$04 ; DLW [4] -; toolsrc/ed.pla: 0397: c = ^(strptr + i) & $7F -; toolsrc/ed.pla: 0398: if c < '0' and c > '9' -; toolsrc/ed.pla: 0399: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $60 ; LB - !BYTE $3C,$7F ; ANDI 127 - !BYTE $6C,$06 ; DLB [6] - !BYTE $2A,$30 ; CB 48 - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B083 - !WORD _B083-* - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT -_B083 - !BYTE $4C ; BRFLS _B084 - !WORD _B084-* - !BYTE $50 ; BRNCH _B080 - !WORD _B080-* -; toolsrc/ed.pla: 0400: fin -_B084 -_B085 -; toolsrc/ed.pla: 0401: num = num * 10 + c - '0' -; toolsrc/ed.pla: 0402: next - !BYTE $66,$02 ; LLW [2] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$02 ; SLW [2] -_B082 - !BYTE $A4 ; INCBRLE _B081 - !WORD _B081-* -_B080 - !BYTE $76,$04 ; SLW [4] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0403: return num - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/ed.pla: 0404: end -; toolsrc/ed.pla: 0405: def nametostr(namestr, len, strptr)#0 - ; namestr -> [0] - ; len -> [2] - ; strptr -> [4] -_C015 ; nametostr() -; toolsrc/ed.pla: 0406: ^strptr = len - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/ed.pla: 0407: memcpy(strptr + 1, namestr, len) -; toolsrc/ed.pla: 0408: end - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X018 -_F079 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/ed.pla: 0409: // -; toolsrc/ed.pla: 0410: // File routines -; toolsrc/ed.pla: 0411: // -; toolsrc/ed.pla: 0412: def readtxt(filename, startline)#0 - ; filename -> [0] - ; startline -> [2] -_C016 ; readtxt() -; toolsrc/ed.pla: 0413: byte refnum, i, j, txtbuf[MAXLNLEN+2] - ; refnum -> [4] - ; i -> [5] - ; j -> [6] - ; txtbuf -> [7] -; toolsrc/ed.pla: 0414: -; toolsrc/ed.pla: 0415: refnum = fileio:open(filename) - !BYTE $58,$58,$02 ; ENTER 88,2 -; toolsrc/ed.pla: 0416: if refnum -; toolsrc/ed.pla: 0417: fileio:newline(refnum, $7F, $0D) -; toolsrc/ed.pla: 0418: numlines = startline -; toolsrc/ed.pla: 0419: repeat - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X031+14 -_F080 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$04 ; DLB [4] - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $64,$04 ; LLB [4] - !BYTE $2A,$7F ; CB 127 - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _X031+28 -_F081 !WORD 0+28 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D042+0 -_F082 !WORD _D042+0 -_B089 -; toolsrc/ed.pla: 0420: txtbuf = fileio:read(refnum, @txtbuf + 1, MAXLNLEN) -; toolsrc/ed.pla: 0421: if txtbuf -; toolsrc/ed.pla: 0422: sethibit(@txtbuf) -; toolsrc/ed.pla: 0423: if flags & uppercase; strupper(@txtbuf); fin - !BYTE $64,$04 ; LLB [4] - !BYTE $28,$08 ; LLA [8] - !BYTE $2A,$4F ; CB 79 - !BYTE $6A ; LAW _X031+18 -_F083 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6C,$07 ; DLB [7] - !BYTE $4C ; BRFLS _B091 - !WORD _B091-* - !BYTE $28,$07 ; LLA [7] - !BYTE $54 ; CALL _A001 -_F084 !WORD _A001 - !BYTE $68 ; LAB _D040+0 -_F085 !WORD _D040+0 - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B093 - !WORD _B093-* - !BYTE $28,$07 ; LLA [7] - !BYTE $54 ; CALL _C010 -_F086 !WORD _C010 -_B093 -_B094 -; toolsrc/ed.pla: 0424: txtlinbuf=>[numlines] = newstr(@txtbuf) -; toolsrc/ed.pla: 0425: numlines++ - !BYTE $28,$07 ; LLA [7] - !BYTE $54 ; CALL _C007 -_F087 !WORD _C007 - !BYTE $6A ; LAW _D048+0 -_F088 !WORD _D048+0 - !BYTE $BE ; IDXAW _D042+0 -_F089 !WORD _D042+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D042+0 -_F090 !WORD _D042+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0426: fin - !BYTE $7A ; SAW _D042+0 -_F091 !WORD _D042+0 -_B091 -_B092 -; toolsrc/ed.pla: 0427: if !(numlines & $0F); putc('.'); fin - !BYTE $6A ; LAW _D042+0 -_F092 !WORD _D042+0 - !BYTE $3C,$0F ; ANDI 15 - !BYTE $4E ; BRTRU _B095 - !WORD _B095-* - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F093 !WORD 0 -_B095 -_B096 -; toolsrc/ed.pla: 0428: until txtbuf == 0 or numlines == MAXLINES -_B090 - !BYTE $64,$07 ; LLB [7] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B097 - !WORD _B097-* - !BYTE $6A ; LAW _D042+0 -_F094 !WORD _D042+0 - !BYTE $2C,$E7,$03 ; CW 999 - !BYTE $40 ; ISEQ -_B097 - !BYTE $4C ; BRFLS _B089 - !WORD _B089-* -_B088 -; toolsrc/ed.pla: 0429: fileio:close(refnum) -; toolsrc/ed.pla: 0430: // -; toolsrc/ed.pla: 0431: // Make sure there is a blank line at the end of the buffer -; toolsrc/ed.pla: 0432: // -; toolsrc/ed.pla: 0433: if numlines < MAXLINES and txtlinbuf=>[numlines - 1] <> @nullstr -; toolsrc/ed.pla: 0434: txtlinbuf=>[numlines] = @nullstr -; toolsrc/ed.pla: 0435: numlines++ - !BYTE $64,$04 ; LLB [4] - !BYTE $6A ; LAW _X031+16 -_F095 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D042+0 -_F096 !WORD _D042+0 - !BYTE $2C,$E7,$03 ; CW 999 - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B098 - !WORD _B098-* - !BYTE $6A ; LAW _D048+0 -_F097 !WORD _D048+0 - !BYTE $6A ; LAW _D042+0 -_F098 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $26 ; LA _D036+0 -_F099 !WORD _D036+0 - !BYTE $42 ; ISNE -_B098 - !BYTE $4C ; BRFLS _B099 - !WORD _B099-* - !BYTE $26 ; LA _D036+0 -_F100 !WORD _D036+0 - !BYTE $6A ; LAW _D048+0 -_F101 !WORD _D048+0 - !BYTE $BE ; IDXAW _D042+0 -_F102 !WORD _D042+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D042+0 -_F103 !WORD _D042+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0436: fin - !BYTE $7A ; SAW _D042+0 -_F104 !WORD _D042+0 -_B099 -_B100 -; toolsrc/ed.pla: 0437: fin -_B086 -_B087 -; toolsrc/ed.pla: 0438: putln -; toolsrc/ed.pla: 0439: end - !BYTE $54 ; CALL _X003 -_F105 !WORD 0 - !BYTE $5A,$58 ; LEAVE 88 -; toolsrc/ed.pla: 0440: def writetxt(filename)#0 - ; filename -> [0] -_C017 ; writetxt() -; toolsrc/ed.pla: 0441: word i - ; i -> [2] -; toolsrc/ed.pla: 0442: byte refnum, txtbuf[MAXLNLEN+2] - ; refnum -> [4] - ; txtbuf -> [5] -; toolsrc/ed.pla: 0443: -; toolsrc/ed.pla: 0444: // -; toolsrc/ed.pla: 0445: // Remove blank lines at end of text. -; toolsrc/ed.pla: 0446: // -; toolsrc/ed.pla: 0447: while numlines > 1 and txtlinbuf=>[numlines - 1] == @nullstr; numlines--; loop - !BYTE $58,$56,$01 ; ENTER 86,1 - !BYTE $50 ; BRNCH _B103 - !WORD _B103-* -_B101 - !BYTE $6A ; LAW _D042+0 -_F106 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D042+0 -_F107 !WORD _D042+0 -_B103 - !BYTE $6A ; LAW _D042+0 -_F108 !WORD _D042+0 - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B104 - !WORD _B104-* - !BYTE $6A ; LAW _D048+0 -_F109 !WORD _D048+0 - !BYTE $6A ; LAW _D042+0 -_F110 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $26 ; LA _D036+0 -_F111 !WORD _D036+0 - !BYTE $40 ; ISEQ -_B104 - !BYTE $4E ; BRTRU _B101 - !WORD _B101-* -_B102 -; toolsrc/ed.pla: 0448: // -; toolsrc/ed.pla: 0449: // Delete old file and re-create -; toolsrc/ed.pla: 0450: // -; toolsrc/ed.pla: 0451: fileio:destroy(filename) -; toolsrc/ed.pla: 0452: fileio:create(filename, $04, $00) // full access, TXT file -; toolsrc/ed.pla: 0453: refnum = fileio:open(filename) -; toolsrc/ed.pla: 0454: if refnum == 0 -; toolsrc/ed.pla: 0455: puts("\nError $"); puth(perr); puts(" opening: "); puts(filename); putln - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X031+24 -_F112 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X031+22 -_F113 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X031+14 -_F114 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$04 ; DLB [4] - !BYTE $4E ; BRTRU _B105 - !WORD _B105-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $0D,$45,$72,$72,$6F,$72,$20,$24 - !BYTE $54 ; CALL _X004 -_F115 !WORD 0 - !BYTE $68 ; LAB _X032+0 -_F116 !WORD 0+0 - !BYTE $54 ; CALL _X009 -_F117 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$6F,$70,$65,$6E,$69,$6E,$67 - !BYTE $3A,$20 - !BYTE $54 ; CALL _X004 -_F118 !WORD 0 -; toolsrc/ed.pla: 0456: return - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F119 !WORD 0 - !BYTE $54 ; CALL _X003 -_F120 !WORD 0 - !BYTE $5A,$56 ; LEAVE 86 -; toolsrc/ed.pla: 0457: fin -_B105 -_B106 -; toolsrc/ed.pla: 0458: // -; toolsrc/ed.pla: 0459: // Write all the text lines to the file. -; toolsrc/ed.pla: 0460: // -; toolsrc/ed.pla: 0461: for i = 0 to numlines - 1 - !BYTE $6A ; LAW _D042+0 -_F121 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B107 - !WORD _B107-* -_B108 - !BYTE $6E,$02 ; DLW [2] -; toolsrc/ed.pla: 0462: lncpy(@txtbuf, txtlinbuf=>[i]) -; toolsrc/ed.pla: 0463: if fileio:write(refnum, @txtbuf + 1, txtbuf) <> txtbuf -; toolsrc/ed.pla: 0464: puts("\nError $"); puth(perr); puts(" writing: "); puts(filename); putln - !BYTE $28,$05 ; LLA [5] - !BYTE $6A ; LAW _D048+0 -_F122 !WORD _D048+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _A002 -_F123 !WORD _A002 - !BYTE $64,$04 ; LLB [4] - !BYTE $28,$06 ; LLA [6] - !BYTE $64,$05 ; LLB [5] - !BYTE $6A ; LAW _X031+20 -_F124 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $64,$05 ; LLB [5] - !BYTE $22 ; BREQ _B110 - !WORD _B110-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $0D,$45,$72,$72,$6F,$72,$20,$24 - !BYTE $54 ; CALL _X004 -_F125 !WORD 0 - !BYTE $68 ; LAB _X032+0 -_F126 !WORD 0+0 - !BYTE $54 ; CALL _X009 -_F127 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$77,$72,$69,$74,$69,$6E,$67 - !BYTE $3A,$20 - !BYTE $54 ; CALL _X004 -_F128 !WORD 0 -; toolsrc/ed.pla: 0465: fileio:close(refnum) -; toolsrc/ed.pla: 0466: return - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F129 !WORD 0 - !BYTE $54 ; CALL _X003 -_F130 !WORD 0 - !BYTE $64,$04 ; LLB [4] - !BYTE $6A ; LAW _X031+16 -_F131 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $32 ; DROP2 - !BYTE $5A,$56 ; LEAVE 86 -; toolsrc/ed.pla: 0467: fin -_B110 -_B111 -; toolsrc/ed.pla: 0468: if !(i & $0F); putc('.'); fin - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $4E ; BRTRU _B112 - !WORD _B112-* - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F132 !WORD 0 -_B112 -_B113 -; toolsrc/ed.pla: 0469: next -_B109 - !BYTE $A4 ; INCBRLE _B108 - !WORD _B108-* -_B107 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0470: if fileio:close(refnum) <> FILE_ERR_OK -; toolsrc/ed.pla: 0471: puts("\nError $"); puth(perr); puts(" closing: "); puts(filename) - !BYTE $64,$04 ; LLB [4] - !BYTE $6A ; LAW _X031+16 -_F133 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B114 - !WORD _B114-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $0D,$45,$72,$72,$6F,$72,$20,$24 - !BYTE $54 ; CALL _X004 -_F134 !WORD 0 - !BYTE $68 ; LAB _X032+0 -_F135 !WORD 0+0 - !BYTE $54 ; CALL _X009 -_F136 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$63,$6C,$6F,$73,$69,$6E,$67 - !BYTE $3A,$20 - !BYTE $54 ; CALL _X004 -_F137 !WORD 0 -; toolsrc/ed.pla: 0472: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F138 !WORD 0 -_B114 -_B115 -; toolsrc/ed.pla: 0473: putln -; toolsrc/ed.pla: 0474: end - !BYTE $54 ; CALL _X003 -_F139 !WORD 0 - !BYTE $5A,$56 ; LEAVE 86 -; toolsrc/ed.pla: 0475: // -; toolsrc/ed.pla: 0476: // Screen routines -; toolsrc/ed.pla: 0477: // -; toolsrc/ed.pla: 0478: def clrscrn#0 -_C018 ; clrscrn() -; toolsrc/ed.pla: 0479: if MACHID == $F2 // Apple 3 -; toolsrc/ed.pla: 0480: putc(28) -; toolsrc/ed.pla: 0481: else - !BYTE $68 ; LAB _X001+0 -_F140 !WORD 0+0 - !BYTE $2A,$F2 ; CB 242 - !BYTE $24 ; BRNE _B116 - !WORD _B116-* - !BYTE $2A,$1C ; CB 28 - !BYTE $54 ; CALL _X002 -_F141 !WORD 0 - !BYTE $50 ; BRNCH _B117 - !WORD _B117-* -_B116 -; toolsrc/ed.pla: 0482: call($FC58, 0, 0, 0, 0) -; toolsrc/ed.pla: 0483: 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 -_F142 !WORD 0 - !BYTE $30 ; DROP -_B117 -; toolsrc/ed.pla: 0484: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 0485: def drawrow(row, ofst, strptr)#0 - ; row -> [0] - ; ofst -> [2] - ; strptr -> [4] -_C019 ; drawrow() -; toolsrc/ed.pla: 0486: byte numchars - ; numchars -> [6] -; toolsrc/ed.pla: 0487: word scrnptr - ; scrnptr -> [7] -; toolsrc/ed.pla: 0488: -; toolsrc/ed.pla: 0489: scrnptr = txtscrn[row] + (flags & gutter) - !BYTE $58,$09,$03 ; ENTER 9,3 -; toolsrc/ed.pla: 0490: if ofst >= ^strptr -; toolsrc/ed.pla: 0491: numchars = 0 -; toolsrc/ed.pla: 0492: else - !BYTE $26 ; LA _D035+0 -_F143 !WORD _D035+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $68 ; LAB _D040+0 -_F144 !WORD _D040+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $82 ; ADD - !BYTE $76,$07 ; SLW [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B118 - !WORD _B118-* - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $50 ; BRNCH _B119 - !WORD _B119-* -_B118 -; toolsrc/ed.pla: 0493: numchars = ^strptr - ofst -; toolsrc/ed.pla: 0494: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $74,$06 ; SLB [6] -_B119 -; toolsrc/ed.pla: 0495: if numchars >= scrnwidth -; toolsrc/ed.pla: 0496: numchars = scrnwidth -; toolsrc/ed.pla: 0497: else - !BYTE $64,$06 ; LLB [6] - !BYTE $6A ; LAW _D033+0 -_F145 !WORD _D033+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B120 - !WORD _B120-* - !BYTE $6A ; LAW _D033+0 -_F146 !WORD _D033+0 - !BYTE $74,$06 ; SLB [6] - !BYTE $50 ; BRNCH _B121 - !WORD _B121-* -_B120 -; toolsrc/ed.pla: 0498: memset(scrnptr + numchars, $A0A0, scrnwidth - numchars) -; toolsrc/ed.pla: 0499: fin - !BYTE $66,$07 ; LLW [7] - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $2C,$A0,$A0 ; CW 41120 - !BYTE $6A ; LAW _D033+0 -_F147 !WORD _D033+0 - !BYTE $64,$06 ; LLB [6] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X017 -_F148 !WORD 0 -_B121 -; toolsrc/ed.pla: 0500: memcpy(scrnptr, strptr + ofst + 1, numchars) -; toolsrc/ed.pla: 0501: end - !BYTE $66,$07 ; LLW [7] - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $8C ; INCR - !BYTE $64,$06 ; LLB [6] - !BYTE $54 ; CALL _X018 -_F149 !WORD 0 - !BYTE $5A,$09 ; LEAVE 9 -; toolsrc/ed.pla: 0502: def drawgutter(scrnrow, ofst)#0 - ; scrnrow -> [0] - ; ofst -> [2] -_C020 ; drawgutter() -; toolsrc/ed.pla: 0503: byte row, hilite, ofstch, huns, tens, ones - ; row -> [4] - ; hilite -> [5] - ; ofstch -> [6] - ; huns -> [7] - ; tens -> [8] - ; ones -> [9] -; toolsrc/ed.pla: 0504: word scrnptr, scrnrow - ; scrnptr -> [10] - ; scrnrow -> [12] -; toolsrc/ed.pla: 0505: -; toolsrc/ed.pla: 0506: // -; toolsrc/ed.pla: 0507: // Draw line numbers and gutter hilites -; toolsrc/ed.pla: 0508: // -; toolsrc/ed.pla: 0509: //ofstch = ofst ?? $80 | '<' :: keyspace -; toolsrc/ed.pla: 0510: ofstch = ofst ?? '<' :: ' ' - !BYTE $58,$0E,$02 ; ENTER 14,2 -; toolsrc/ed.pla: 0511: huns, tens = divmod(scrnrow + 1, 100) -; toolsrc/ed.pla: 0512: tens, ones = divmod(tens, 10) -; toolsrc/ed.pla: 0513: for row = 0 to 23 - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B122 - !WORD _B122-* - !BYTE $2A,$3C ; CB 60 - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -_B122 - !BYTE $2A,$20 ; CB 32 -_B123 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X023 -_F150 !WORD 0 - !BYTE $74,$08 ; SLB [8] - !BYTE $74,$07 ; SLB [7] - !BYTE $64,$08 ; LLB [8] - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X023 -_F151 !WORD 0 - !BYTE $74,$09 ; SLB [9] - !BYTE $74,$08 ; SLB [8] - !BYTE $2A,$17 ; CB 23 - !BYTE $00 ; CN 0 -_B125 - !BYTE $6C,$04 ; DLB [4] -; toolsrc/ed.pla: 0514: scrnptr = txtscrn[row] -; toolsrc/ed.pla: 0515: if scrnrow < numlines -; toolsrc/ed.pla: 0516: if flags & selection and (scrnrow >= selrow and scrnrow <= cursrow) or (scrnrow >= cursrow and scrnrow <= selrow) -; toolsrc/ed.pla: 0517: hilite = $00 -; toolsrc/ed.pla: 0518: elsif scrnrow == cursrow - !BYTE $26 ; LA _D035+0 -_F152 !WORD _D035+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $62 ; LW - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D042+0 -_F153 !WORD _D042+0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B127 - !WORD _B127-* - !BYTE $68 ; LAB _D040+0 -_F154 !WORD _D040+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $AC ; BRAND _B129 - !WORD _B129-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D059+0 -_F155 !WORD _D059+0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B130 - !WORD _B130-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D058+0 -_F156 !WORD _D058+0 - !BYTE $4A ; ISLE -_B130 - !BYTE $AE ; BROR _B131 - !WORD _B131-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D058+0 -_F157 !WORD _D058+0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B132 - !WORD _B132-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D059+0 -_F158 !WORD _D059+0 - !BYTE $4A ; ISLE -_B132 -_B131 -_B129 - !BYTE $4C ; BRFLS _B133 - !WORD _B133-* - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B134 - !WORD _B134-* -_B133 -; toolsrc/ed.pla: 0519: hilite = $00 -; toolsrc/ed.pla: 0520: else - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D058+0 -_F159 !WORD _D058+0 - !BYTE $24 ; BRNE _B135 - !WORD _B135-* - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B134 - !WORD _B134-* -_B135 -; toolsrc/ed.pla: 0521: hilite = $80 -; toolsrc/ed.pla: 0522: fin - !BYTE $2A,$80 ; CB 128 - !BYTE $74,$05 ; SLB [5] -_B134 -; toolsrc/ed.pla: 0523: if huns -; toolsrc/ed.pla: 0524: ^scrnptr = hilite + '0' + huns -; toolsrc/ed.pla: 0525: ^(scrnptr+1) = hilite + '0' + tens -; toolsrc/ed.pla: 0526: ^(scrnptr+2) = hilite + '0' + ones -; toolsrc/ed.pla: 0527: ones++ - !BYTE $64,$07 ; LLB [7] - !BYTE $4C ; BRFLS _B136 - !WORD _B136-* - !BYTE $64,$05 ; LLB [5] - !BYTE $38,$30 ; ADDI 48 - !BYTE $B0,$07 ; ADDLB [7] - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $64,$05 ; LLB [5] - !BYTE $38,$30 ; ADDI 48 - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $64,$05 ; LLB [5] - !BYTE $38,$30 ; ADDI 48 - !BYTE $B0,$09 ; ADDLB [9] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $64,$09 ; LLB [9] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0528: if ones > 9 -; toolsrc/ed.pla: 0529: ones = 0 -; toolsrc/ed.pla: 0530: tens++ - !BYTE $6C,$09 ; DLB [9] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B138 - !WORD _B138-* - !BYTE $00 ; CN 0 - !BYTE $74,$09 ; SLB [9] - !BYTE $64,$08 ; LLB [8] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0531: if tens > 9 -; toolsrc/ed.pla: 0532: tens = 0 -; toolsrc/ed.pla: 0533: huns++ - !BYTE $6C,$08 ; DLB [8] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B140 - !WORD _B140-* - !BYTE $00 ; CN 0 - !BYTE $74,$08 ; SLB [8] - !BYTE $64,$07 ; LLB [7] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0534: fin - !BYTE $74,$07 ; SLB [7] -_B140 -_B141 -; toolsrc/ed.pla: 0535: fin -_B138 -_B139 -; toolsrc/ed.pla: 0536: elsif tens - !BYTE $50 ; BRNCH _B137 - !WORD _B137-* -_B136 -; toolsrc/ed.pla: 0537: ^scrnptr = hilite + ' ' -; toolsrc/ed.pla: 0538: ^(scrnptr+1) = hilite + '0' + tens -; toolsrc/ed.pla: 0539: ^(scrnptr+2) = hilite + '0' + ones -; toolsrc/ed.pla: 0540: ones++ - !BYTE $64,$08 ; LLB [8] - !BYTE $4C ; BRFLS _B142 - !WORD _B142-* - !BYTE $64,$05 ; LLB [5] - !BYTE $38,$20 ; ADDI 32 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $64,$05 ; LLB [5] - !BYTE $38,$30 ; ADDI 48 - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $64,$05 ; LLB [5] - !BYTE $38,$30 ; ADDI 48 - !BYTE $B0,$09 ; ADDLB [9] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $64,$09 ; LLB [9] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0541: if ones > 9 -; toolsrc/ed.pla: 0542: ones = 0 -; toolsrc/ed.pla: 0543: tens++ - !BYTE $6C,$09 ; DLB [9] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B143 - !WORD _B143-* - !BYTE $00 ; CN 0 - !BYTE $74,$09 ; SLB [9] - !BYTE $64,$08 ; LLB [8] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0544: if tens > 9 -; toolsrc/ed.pla: 0545: tens = 0 -; toolsrc/ed.pla: 0546: huns = 1 -; toolsrc/ed.pla: 0547: fin - !BYTE $6C,$08 ; DLB [8] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B145 - !WORD _B145-* - !BYTE $00 ; CN 0 - !BYTE $74,$08 ; SLB [8] - !BYTE $02 ; CN 1 - !BYTE $74,$07 ; SLB [7] -_B145 -_B146 -; toolsrc/ed.pla: 0548: fin -_B143 -_B144 -; toolsrc/ed.pla: 0549: elsif ones - !BYTE $50 ; BRNCH _B137 - !WORD _B137-* -_B142 -; toolsrc/ed.pla: 0550: ^scrnptr = hilite + ' ' -; toolsrc/ed.pla: 0551: ^(scrnptr+1) = hilite + ' ' -; toolsrc/ed.pla: 0552: ^(scrnptr+2) = hilite + '0' + ones -; toolsrc/ed.pla: 0553: ones++ - !BYTE $64,$09 ; LLB [9] - !BYTE $4C ; BRFLS _B147 - !WORD _B147-* - !BYTE $64,$05 ; LLB [5] - !BYTE $38,$20 ; ADDI 32 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $64,$05 ; LLB [5] - !BYTE $38,$20 ; ADDI 32 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $64,$05 ; LLB [5] - !BYTE $38,$30 ; ADDI 48 - !BYTE $B0,$09 ; ADDLB [9] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $64,$09 ; LLB [9] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0554: if ones > 9 -; toolsrc/ed.pla: 0555: ones = 0 -; toolsrc/ed.pla: 0556: tens = 1 -; toolsrc/ed.pla: 0557: fin - !BYTE $6C,$09 ; DLB [9] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B148 - !WORD _B148-* - !BYTE $00 ; CN 0 - !BYTE $74,$09 ; SLB [9] - !BYTE $02 ; CN 1 - !BYTE $74,$08 ; SLB [8] -_B148 -_B149 -; toolsrc/ed.pla: 0558: fin -_B147 -_B137 -; toolsrc/ed.pla: 0559: ^(scrnptr+3) = ofstch -; toolsrc/ed.pla: 0560: else - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B128 - !WORD _B128-* -_B127 -; toolsrc/ed.pla: 0561: *scrnptr = $A0A0 -; toolsrc/ed.pla: 0562: *(scrnptr+2) = $A0A0 -; toolsrc/ed.pla: 0563: fin - !BYTE $2C,$A0,$A0 ; CW 41120 - !BYTE $66,$0A ; LLW [10] - !BYTE $72 ; SW - !BYTE $2C,$A0,$A0 ; CW 41120 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW -_B128 -; toolsrc/ed.pla: 0564: scrnrow++ - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0565: next - !BYTE $76,$00 ; SLW [0] -_B126 - !BYTE $A4 ; INCBRLE _B125 - !WORD _B125-* -_B124 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0566: end - !BYTE $5A,$0E ; LEAVE 14 -; toolsrc/ed.pla: 0567: def drawscrn(toprow, ofst)#0 - ; toprow -> [0] - ; ofst -> [2] -_C021 ; drawscrn() -; toolsrc/ed.pla: 0568: byte row, numchars, lofst - ; row -> [4] - ; numchars -> [5] - ; lofst -> [6] -; toolsrc/ed.pla: 0569: word strptr, scrnptr - ; strptr -> [7] - ; scrnptr -> [9] -; toolsrc/ed.pla: 0570: -; toolsrc/ed.pla: 0571: lofst = flags & gutter - !BYTE $58,$0B,$02 ; ENTER 11,2 -; toolsrc/ed.pla: 0572: if lofst -; toolsrc/ed.pla: 0573: drawgutter(toprow, ofst) -; toolsrc/ed.pla: 0574: fin - !BYTE $68 ; LAB _D040+0 -_F160 !WORD _D040+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $6C,$06 ; DLB [6] - !BYTE $4C ; BRFLS _B150 - !WORD _B150-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C020 -_F161 !WORD _C020 -_B150 -_B151 -; toolsrc/ed.pla: 0575: // -; toolsrc/ed.pla: 0576: // Draw text -; toolsrc/ed.pla: 0577: // -; toolsrc/ed.pla: 0578: if ofst -; toolsrc/ed.pla: 0579: for row = 0 to 23 - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B152 - !WORD _B152-* - !BYTE $2A,$17 ; CB 23 - !BYTE $00 ; CN 0 -_B155 - !BYTE $6C,$04 ; DLB [4] -; toolsrc/ed.pla: 0580: strptr = txtlinbuf=>[toprow + row] -; toolsrc/ed.pla: 0581: scrnptr = txtscrn[row] + lofst -; toolsrc/ed.pla: 0582: if ofst >= ^strptr -; toolsrc/ed.pla: 0583: numchars = 0 -; toolsrc/ed.pla: 0584: else - !BYTE $6A ; LAW _D048+0 -_F162 !WORD _D048+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$07 ; SLW [7] - !BYTE $26 ; LA _D035+0 -_F163 !WORD _D035+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $62 ; LW - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$07 ; LLW [7] - !BYTE $60 ; LB - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B157 - !WORD _B157-* - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -_B157 -; toolsrc/ed.pla: 0585: numchars = ^strptr - ofst -; toolsrc/ed.pla: 0586: fin - !BYTE $66,$07 ; LLW [7] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $74,$05 ; SLB [5] -_B158 -; toolsrc/ed.pla: 0587: if numchars >= scrnwidth -; toolsrc/ed.pla: 0588: numchars = scrnwidth -; toolsrc/ed.pla: 0589: else - !BYTE $64,$05 ; LLB [5] - !BYTE $6A ; LAW _D033+0 -_F164 !WORD _D033+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B159 - !WORD _B159-* - !BYTE $6A ; LAW _D033+0 -_F165 !WORD _D033+0 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B160 - !WORD _B160-* -_B159 -; toolsrc/ed.pla: 0590: memset(scrnptr + numchars, $A0A0, scrnwidth - numchars) -; toolsrc/ed.pla: 0591: fin - !BYTE $66,$09 ; LLW [9] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $2C,$A0,$A0 ; CW 41120 - !BYTE $6A ; LAW _D033+0 -_F166 !WORD _D033+0 - !BYTE $64,$05 ; LLB [5] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X017 -_F167 !WORD 0 -_B160 -; toolsrc/ed.pla: 0592: memcpy(scrnptr, strptr + ofst + 1, numchars) -; toolsrc/ed.pla: 0593: next - !BYTE $66,$09 ; LLW [9] - !BYTE $66,$07 ; LLW [7] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $8C ; INCR - !BYTE $64,$05 ; LLB [5] - !BYTE $54 ; CALL _X018 -_F168 !WORD 0 -_B156 - !BYTE $A4 ; INCBRLE _B155 - !WORD _B155-* -_B154 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0594: else - !BYTE $50 ; BRNCH _B153 - !WORD _B153-* -_B152 -; toolsrc/ed.pla: 0595: for row = 0 to 23 - !BYTE $2A,$17 ; CB 23 - !BYTE $00 ; CN 0 -_B162 - !BYTE $6C,$04 ; DLB [4] -; toolsrc/ed.pla: 0596: strptr = txtlinbuf=>[toprow + row] -; toolsrc/ed.pla: 0597: scrnptr = txtscrn[row] + lofst -; toolsrc/ed.pla: 0598: numchars = ^strptr -; toolsrc/ed.pla: 0599: if numchars >= scrnwidth -; toolsrc/ed.pla: 0600: numchars = scrnwidth -; toolsrc/ed.pla: 0601: else - !BYTE $6A ; LAW _D048+0 -_F169 !WORD _D048+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$07 ; SLW [7] - !BYTE $26 ; LA _D035+0 -_F170 !WORD _D035+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $62 ; LW - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$07 ; LLW [7] - !BYTE $60 ; LB - !BYTE $6C,$05 ; DLB [5] - !BYTE $6A ; LAW _D033+0 -_F171 !WORD _D033+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B164 - !WORD _B164-* - !BYTE $6A ; LAW _D033+0 -_F172 !WORD _D033+0 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B165 - !WORD _B165-* -_B164 -; toolsrc/ed.pla: 0602: memset(scrnptr + numchars, $A0A0, scrnwidth - numchars) -; toolsrc/ed.pla: 0603: fin - !BYTE $66,$09 ; LLW [9] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $2C,$A0,$A0 ; CW 41120 - !BYTE $6A ; LAW _D033+0 -_F173 !WORD _D033+0 - !BYTE $64,$05 ; LLB [5] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X017 -_F174 !WORD 0 -_B165 -; toolsrc/ed.pla: 0604: memcpy(scrnptr, strptr + 1, numchars) -; toolsrc/ed.pla: 0605: next - !BYTE $66,$09 ; LLW [9] - !BYTE $66,$07 ; LLW [7] - !BYTE $8C ; INCR - !BYTE $64,$05 ; LLB [5] - !BYTE $54 ; CALL _X018 -_F175 !WORD 0 -_B163 - !BYTE $A4 ; INCBRLE _B162 - !WORD _B162-* -_B161 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0606: fin -_B153 -; toolsrc/ed.pla: 0607: end - !BYTE $5A,$0B ; LEAVE 11 -; toolsrc/ed.pla: 0608: def cursoff#0 -_C022 ; cursoff() -; toolsrc/ed.pla: 0609: word scrnptr - ; scrnptr -> [0] -; toolsrc/ed.pla: 0610: -; toolsrc/ed.pla: 0611: if flags & showcurs - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/ed.pla: 0612: ^cursptr = underchr -; toolsrc/ed.pla: 0613: if flags & gutter -; toolsrc/ed.pla: 0614: scrnptr = txtscrn[cursy] -; toolsrc/ed.pla: 0615: *scrnptr = *scrnptr | $8080 -; toolsrc/ed.pla: 0616: ^(scrnptr+2) = ^(scrnptr+2) | $80 -; toolsrc/ed.pla: 0617: fin - !BYTE $68 ; LAB _D040+0 -_F176 !WORD _D040+0 - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B166 - !WORD _B166-* - !BYTE $68 ; LAB _D055+0 -_F177 !WORD _D055+0 - !BYTE $6A ; LAW _D061+0 -_F178 !WORD _D061+0 - !BYTE $70 ; SB - !BYTE $68 ; LAB _D040+0 -_F179 !WORD _D040+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B168 - !WORD _B168-* - !BYTE $26 ; LA _D035+0 -_F180 !WORD _D035+0 - !BYTE $BE ; IDXAW _D052+0 -_F181 !WORD _D052+0 - !BYTE $62 ; LW - !BYTE $6E,$00 ; DLW [0] - !BYTE $62 ; LW - !BYTE $2C,$80,$80 ; CW 32896 - !BYTE $96 ; OR - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3E,$80 ; ORI 128 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB -_B168 -_B169 -; toolsrc/ed.pla: 0618: flags = flags & ~showcurs -; toolsrc/ed.pla: 0619: -; toolsrc/ed.pla: 0620: fin - !BYTE $68 ; LAB _D040+0 -_F182 !WORD _D040+0 - !BYTE $5E,$DF ; CFFB -33 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D040+0 -_F183 !WORD _D040+0 -_B166 -_B167 -; toolsrc/ed.pla: 0621: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0622: def curson#0 -_C023 ; curson() -; toolsrc/ed.pla: 0623: byte lofst - ; lofst -> [0] -; toolsrc/ed.pla: 0624: word scrnptr - ; scrnptr -> [1] -; toolsrc/ed.pla: 0625: -; toolsrc/ed.pla: 0626: if !(flags & showcurs) - !BYTE $58,$03,$00 ; ENTER 3,0 -; toolsrc/ed.pla: 0627: lofst = flags & gutter -; toolsrc/ed.pla: 0628: if lofst -; toolsrc/ed.pla: 0629: scrnptr = txtscrn[cursy] -; toolsrc/ed.pla: 0630: *scrnptr = *scrnptr & $7F7F -; toolsrc/ed.pla: 0631: ^(scrnptr+2) = ^(scrnptr+2) & $7F -; toolsrc/ed.pla: 0632: fin - !BYTE $68 ; LAB _D040+0 -_F184 !WORD _D040+0 - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4E ; BRTRU _B170 - !WORD _B170-* - !BYTE $68 ; LAB _D040+0 -_F185 !WORD _D040+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $6C,$00 ; DLB [0] - !BYTE $4C ; BRFLS _B172 - !WORD _B172-* - !BYTE $26 ; LA _D035+0 -_F186 !WORD _D035+0 - !BYTE $BE ; IDXAW _D052+0 -_F187 !WORD _D052+0 - !BYTE $62 ; LW - !BYTE $6E,$01 ; DLW [1] - !BYTE $62 ; LW - !BYTE $2C,$7F,$7F ; CW 32639 - !BYTE $94 ; AND - !BYTE $66,$01 ; LLW [1] - !BYTE $72 ; SW - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$7F ; ANDI 127 - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB -_B172 -_B173 -; toolsrc/ed.pla: 0633: cursptr = txtscrn[cursy] + lofst + cursx -; toolsrc/ed.pla: 0634: underchr = ^cursptr -; toolsrc/ed.pla: 0635: ^cursptr = curschr -; toolsrc/ed.pla: 0636: flags = flags | showcurs -; toolsrc/ed.pla: 0637: fin - !BYTE $26 ; LA _D035+0 -_F188 !WORD _D035+0 - !BYTE $BE ; IDXAW _D052+0 -_F189 !WORD _D052+0 - !BYTE $62 ; LW - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $B6 ; ADDAW _D051+0 -_F190 !WORD _D051+0 - !BYTE $7A ; SAW _D061+0 -_F191 !WORD _D061+0 - !BYTE $6A ; LAW _D061+0 -_F192 !WORD _D061+0 - !BYTE $60 ; LB - !BYTE $78 ; SAB _D055+0 -_F193 !WORD _D055+0 - !BYTE $68 ; LAB _D056+0 -_F194 !WORD _D056+0 - !BYTE $6A ; LAW _D061+0 -_F195 !WORD _D061+0 - !BYTE $70 ; SB - !BYTE $68 ; LAB _D040+0 -_F196 !WORD _D040+0 - !BYTE $3E,$20 ; ORI 32 - !BYTE $78 ; SAB _D040+0 -_F197 !WORD _D040+0 -_B170 -_B171 -; toolsrc/ed.pla: 0638: end - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/ed.pla: 0639: def cursflash#0 -_C024 ; cursflash() -; toolsrc/ed.pla: 0640: if flags & showcurs -; toolsrc/ed.pla: 0641: if flash == 0 -; toolsrc/ed.pla: 0642: ^cursptr = curschr -; toolsrc/ed.pla: 0643: elsif flash == 128 - !BYTE $68 ; LAB _D040+0 -_F198 !WORD _D040+0 - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B174 - !WORD _B174-* - !BYTE $68 ; LAB _D041+0 -_F199 !WORD _D041+0 - !BYTE $4E ; BRTRU _B176 - !WORD _B176-* - !BYTE $68 ; LAB _D056+0 -_F200 !WORD _D056+0 - !BYTE $6A ; LAW _D061+0 -_F201 !WORD _D061+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B177 - !WORD _B177-* -_B176 -; toolsrc/ed.pla: 0644: ^cursptr = underchr -; toolsrc/ed.pla: 0645: fin - !BYTE $68 ; LAB _D041+0 -_F202 !WORD _D041+0 - !BYTE $2A,$80 ; CB 128 - !BYTE $24 ; BRNE _B178 - !WORD _B178-* - !BYTE $68 ; LAB _D055+0 -_F203 !WORD _D055+0 - !BYTE $6A ; LAW _D061+0 -_F204 !WORD _D061+0 - !BYTE $70 ; SB -_B178 -_B177 -; toolsrc/ed.pla: 0646: flash++ - !BYTE $68 ; LAB _D041+0 -_F205 !WORD _D041+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0647: fin - !BYTE $78 ; SAB _D041+0 -_F206 !WORD _D041+0 -_B174 -_B175 -; toolsrc/ed.pla: 0648: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 0649: def redraw#0 -_C025 ; redraw() -; toolsrc/ed.pla: 0650: cursoff -; toolsrc/ed.pla: 0651: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 0652: curson -; toolsrc/ed.pla: 0653: end - !BYTE $54 ; CALL _C022 -_F207 !WORD _C022 - !BYTE $6A ; LAW _D060+0 -_F208 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F209 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F210 !WORD _C021 - !BYTE $54 ; CALL _C023 -_F211 !WORD _C023 - !BYTE $5C ; RET -; toolsrc/ed.pla: 0654: def curshpos(hpos)#1 - ; hpos -> [0] -_C026 ; curshpos() -; toolsrc/ed.pla: 0655: byte needredraw - ; needredraw -> [2] -; toolsrc/ed.pla: 0656: -; toolsrc/ed.pla: 0657: needredraw = TRUE - !BYTE $58,$03,$01 ; ENTER 3,1 -; toolsrc/ed.pla: 0658: if hpos < 0; hpos = 0; fin - !BYTE $20 ; MINUS ONE - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B179 - !WORD _B179-* - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B179 -_B180 -; toolsrc/ed.pla: 0659: if hpos > MAXLNLEN; hpos = MAXLNLEN; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$4F ; CB 79 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B181 - !WORD _B181-* - !BYTE $2A,$4F ; CB 79 - !BYTE $76,$00 ; SLW [0] -_B181 -_B182 -; toolsrc/ed.pla: 0660: curscol = hpos -; toolsrc/ed.pla: 0661: cursx = curscol - scrnleft -; toolsrc/ed.pla: 0662: if cursx > scrnright -; toolsrc/ed.pla: 0663: cursx = scrnright -; toolsrc/ed.pla: 0664: scrnleft = curscol - scrnright -; toolsrc/ed.pla: 0665: elsif cursx < 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7E ; DAW _D054+0 -_F212 !WORD _D054+0 - !BYTE $6A ; LAW _D053+0 -_F213 !WORD _D053+0 - !BYTE $84 ; SUB - !BYTE $7E ; DAW _D051+0 -_F214 !WORD _D051+0 - !BYTE $6A ; LAW _D034+0 -_F215 !WORD _D034+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B183 - !WORD _B183-* - !BYTE $6A ; LAW _D034+0 -_F216 !WORD _D034+0 - !BYTE $7A ; SAW _D051+0 -_F217 !WORD _D051+0 - !BYTE $6A ; LAW _D054+0 -_F218 !WORD _D054+0 - !BYTE $6A ; LAW _D034+0 -_F219 !WORD _D034+0 - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D053+0 -_F220 !WORD _D053+0 - !BYTE $50 ; BRNCH _B184 - !WORD _B184-* -_B183 -; toolsrc/ed.pla: 0666: cursx = 0 -; toolsrc/ed.pla: 0667: scrnleft = curscol -; toolsrc/ed.pla: 0668: else - !BYTE $6A ; LAW _D051+0 -_F221 !WORD _D051+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B185 - !WORD _B185-* - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D051+0 -_F222 !WORD _D051+0 - !BYTE $6A ; LAW _D054+0 -_F223 !WORD _D054+0 - !BYTE $7A ; SAW _D053+0 -_F224 !WORD _D053+0 - !BYTE $50 ; BRNCH _B184 - !WORD _B184-* -_B185 -; toolsrc/ed.pla: 0669: needredraw = FALSE -; toolsrc/ed.pla: 0670: fin - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] -_B184 -; toolsrc/ed.pla: 0671: return needredraw - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/ed.pla: 0672: end -; toolsrc/ed.pla: 0673: def cursvpos(vpos)#1 - ; vpos -> [0] -_C027 ; cursvpos() -; toolsrc/ed.pla: 0674: byte needredraw - ; needredraw -> [2] -; toolsrc/ed.pla: 0675: -; toolsrc/ed.pla: 0676: needredraw = TRUE - !BYTE $58,$03,$01 ; ENTER 3,1 -; toolsrc/ed.pla: 0677: if vpos < 0; vpos = 0; fin - !BYTE $20 ; MINUS ONE - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B186 - !WORD _B186-* - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B186 -_B187 -; toolsrc/ed.pla: 0678: if vpos > numlines - 1; vpos = numlines - 1; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D042+0 -_F225 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B188 - !WORD _B188-* - !BYTE $6A ; LAW _D042+0 -_F226 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $76,$00 ; SLW [0] -_B188 -_B189 -; toolsrc/ed.pla: 0679: cursrow = vpos -; toolsrc/ed.pla: 0680: cursy = cursrow - scrntop -; toolsrc/ed.pla: 0681: if cursy > scrnbottom -; toolsrc/ed.pla: 0682: cursy = scrnbottom -; toolsrc/ed.pla: 0683: scrntop = cursrow - scrnbottom -; toolsrc/ed.pla: 0684: elsif cursy < 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7E ; DAW _D058+0 -_F227 !WORD _D058+0 - !BYTE $6A ; LAW _D060+0 -_F228 !WORD _D060+0 - !BYTE $84 ; SUB - !BYTE $7E ; DAW _D052+0 -_F229 !WORD _D052+0 - !BYTE $2A,$17 ; CB 23 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B190 - !WORD _B190-* - !BYTE $2A,$17 ; CB 23 - !BYTE $7A ; SAW _D052+0 -_F230 !WORD _D052+0 - !BYTE $6A ; LAW _D058+0 -_F231 !WORD _D058+0 - !BYTE $3A,$17 ; SUBI 23 - !BYTE $7A ; SAW _D060+0 -_F232 !WORD _D060+0 - !BYTE $50 ; BRNCH _B191 - !WORD _B191-* -_B190 -; toolsrc/ed.pla: 0685: cursy = 0 -; toolsrc/ed.pla: 0686: scrntop = cursrow -; toolsrc/ed.pla: 0687: else - !BYTE $6A ; LAW _D052+0 -_F233 !WORD _D052+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B192 - !WORD _B192-* - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D052+0 -_F234 !WORD _D052+0 - !BYTE $6A ; LAW _D058+0 -_F235 !WORD _D058+0 - !BYTE $7A ; SAW _D060+0 -_F236 !WORD _D060+0 - !BYTE $50 ; BRNCH _B191 - !WORD _B191-* -_B192 -; toolsrc/ed.pla: 0688: needredraw = FALSE -; toolsrc/ed.pla: 0689: fin - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] -_B191 -; toolsrc/ed.pla: 0690: return needredraw - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/ed.pla: 0691: end -; toolsrc/ed.pla: 0692: def curshome#0 -_C028 ; curshome() -; toolsrc/ed.pla: 0693: cursoff -; toolsrc/ed.pla: 0694: cursrow = 0 -; toolsrc/ed.pla: 0695: curscol = 0 -; toolsrc/ed.pla: 0696: cursx = 0 -; toolsrc/ed.pla: 0697: cursy = 0 -; toolsrc/ed.pla: 0698: scrnleft = 0 -; toolsrc/ed.pla: 0699: scrntop = 0 -; toolsrc/ed.pla: 0700: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 0701: curson -; toolsrc/ed.pla: 0702: end - !BYTE $54 ; CALL _C022 -_F237 !WORD _C022 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D058+0 -_F238 !WORD _D058+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D054+0 -_F239 !WORD _D054+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D051+0 -_F240 !WORD _D051+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D052+0 -_F241 !WORD _D052+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D053+0 -_F242 !WORD _D053+0 - !BYTE $00 ; CN 0 - !BYTE $7E ; DAW _D060+0 -_F243 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F244 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F245 !WORD _C021 - !BYTE $54 ; CALL _C023 -_F246 !WORD _C023 - !BYTE $5C ; RET -; toolsrc/ed.pla: 0703: def cursend#0 -_C029 ; cursend() -; toolsrc/ed.pla: 0704: cursoff -; toolsrc/ed.pla: 0705: if numlines > 23 -; toolsrc/ed.pla: 0706: cursrow = numlines - 1 -; toolsrc/ed.pla: 0707: cursy = 23 -; toolsrc/ed.pla: 0708: scrntop = cursrow - 23 -; toolsrc/ed.pla: 0709: else - !BYTE $54 ; CALL _C022 -_F247 !WORD _C022 - !BYTE $6A ; LAW _D042+0 -_F248 !WORD _D042+0 - !BYTE $2A,$17 ; CB 23 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B193 - !WORD _B193-* - !BYTE $6A ; LAW _D042+0 -_F249 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D058+0 -_F250 !WORD _D058+0 - !BYTE $2A,$17 ; CB 23 - !BYTE $7A ; SAW _D052+0 -_F251 !WORD _D052+0 - !BYTE $6A ; LAW _D058+0 -_F252 !WORD _D058+0 - !BYTE $3A,$17 ; SUBI 23 - !BYTE $7A ; SAW _D060+0 -_F253 !WORD _D060+0 - !BYTE $50 ; BRNCH _B194 - !WORD _B194-* -_B193 -; toolsrc/ed.pla: 0710: cursrow = numlines - 1 -; toolsrc/ed.pla: 0711: cursy = numlines - 1 -; toolsrc/ed.pla: 0712: scrntop = 0 -; toolsrc/ed.pla: 0713: fin - !BYTE $6A ; LAW _D042+0 -_F254 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D058+0 -_F255 !WORD _D058+0 - !BYTE $6A ; LAW _D042+0 -_F256 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D052+0 -_F257 !WORD _D052+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D060+0 -_F258 !WORD _D060+0 -_B194 -; toolsrc/ed.pla: 0714: curscol = 0 -; toolsrc/ed.pla: 0715: cursx = 0 -; toolsrc/ed.pla: 0716: scrnleft = 0 -; toolsrc/ed.pla: 0717: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 0718: curson -; toolsrc/ed.pla: 0719: end - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D054+0 -_F259 !WORD _D054+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D051+0 -_F260 !WORD _D051+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D053+0 -_F261 !WORD _D053+0 - !BYTE $6A ; LAW _D060+0 -_F262 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F263 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F264 !WORD _C021 - !BYTE $54 ; CALL _C023 -_F265 !WORD _C023 - !BYTE $5C ; RET -; toolsrc/ed.pla: 0720: def cursup#0 -_C030 ; cursup() -; toolsrc/ed.pla: 0721: if cursrow > 0 -; toolsrc/ed.pla: 0722: cursoff -; toolsrc/ed.pla: 0723: cursrow-- - !BYTE $6A ; LAW _D058+0 -_F266 !WORD _D058+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B195 - !WORD _B195-* - !BYTE $54 ; CALL _C022 -_F267 !WORD _C022 - !BYTE $6A ; LAW _D058+0 -_F268 !WORD _D058+0 - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0724: if cursy > 0 -; toolsrc/ed.pla: 0725: cursy-- - !BYTE $7A ; SAW _D058+0 -_F269 !WORD _D058+0 - !BYTE $6A ; LAW _D052+0 -_F270 !WORD _D052+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B197 - !WORD _B197-* - !BYTE $6A ; LAW _D052+0 -_F271 !WORD _D052+0 - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0726: if flags & selection -; toolsrc/ed.pla: 0727: drawgutter(scrntop, scrnleft) -; toolsrc/ed.pla: 0728: fin - !BYTE $7A ; SAW _D052+0 -_F272 !WORD _D052+0 - !BYTE $68 ; LAB _D040+0 -_F273 !WORD _D040+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B199 - !WORD _B199-* - !BYTE $6A ; LAW _D060+0 -_F274 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F275 !WORD _D053+0 - !BYTE $54 ; CALL _C020 -_F276 !WORD _C020 -_B199 -_B200 -; toolsrc/ed.pla: 0729: else - !BYTE $50 ; BRNCH _B198 - !WORD _B198-* -_B197 -; toolsrc/ed.pla: 0730: scrntop = cursrow -; toolsrc/ed.pla: 0731: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 0732: fin - !BYTE $6A ; LAW _D058+0 -_F277 !WORD _D058+0 - !BYTE $7E ; DAW _D060+0 -_F278 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F279 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F280 !WORD _C021 -_B198 -; toolsrc/ed.pla: 0733: curson -; toolsrc/ed.pla: 0734: fin - !BYTE $54 ; CALL _C023 -_F281 !WORD _C023 -_B195 -_B196 -; toolsrc/ed.pla: 0735: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 0736: def pgup#0 -_C031 ; pgup() -; toolsrc/ed.pla: 0737: cursoff -; toolsrc/ed.pla: 0738: if cursvpos(cursrow - pgjmp) -; toolsrc/ed.pla: 0739: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 0740: else - !BYTE $54 ; CALL _C022 -_F282 !WORD _C022 - !BYTE $6A ; LAW _D058+0 -_F283 !WORD _D058+0 - !BYTE $3A,$10 ; SUBI 16 - !BYTE $54 ; CALL _C027 -_F284 !WORD _C027 - !BYTE $4C ; BRFLS _B201 - !WORD _B201-* - !BYTE $6A ; LAW _D060+0 -_F285 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F286 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F287 !WORD _C021 - !BYTE $50 ; BRNCH _B202 - !WORD _B202-* -_B201 -; toolsrc/ed.pla: 0741: if flags & selection -; toolsrc/ed.pla: 0742: drawgutter(scrntop, scrnleft) -; toolsrc/ed.pla: 0743: fin - !BYTE $68 ; LAB _D040+0 -_F288 !WORD _D040+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B203 - !WORD _B203-* - !BYTE $6A ; LAW _D060+0 -_F289 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F290 !WORD _D053+0 - !BYTE $54 ; CALL _C020 -_F291 !WORD _C020 -_B203 -_B204 -; toolsrc/ed.pla: 0744: fin -_B202 -; toolsrc/ed.pla: 0745: curson -; toolsrc/ed.pla: 0746: end - !BYTE $54 ; CALL _C023 -_F292 !WORD _C023 - !BYTE $5C ; RET -; toolsrc/ed.pla: 0747: def cursdown#0 -_C032 ; cursdown() -; toolsrc/ed.pla: 0748: if cursrow < numlines - 1 -; toolsrc/ed.pla: 0749: cursoff -; toolsrc/ed.pla: 0750: cursrow++ - !BYTE $6A ; LAW _D058+0 -_F293 !WORD _D058+0 - !BYTE $6A ; LAW _D042+0 -_F294 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B205 - !WORD _B205-* - !BYTE $54 ; CALL _C022 -_F295 !WORD _C022 - !BYTE $6A ; LAW _D058+0 -_F296 !WORD _D058+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0751: if cursy < 23 -; toolsrc/ed.pla: 0752: cursy++ - !BYTE $7A ; SAW _D058+0 -_F297 !WORD _D058+0 - !BYTE $6A ; LAW _D052+0 -_F298 !WORD _D052+0 - !BYTE $2A,$17 ; CB 23 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B207 - !WORD _B207-* - !BYTE $6A ; LAW _D052+0 -_F299 !WORD _D052+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0753: if flags & selection -; toolsrc/ed.pla: 0754: drawgutter(scrntop, scrnleft) -; toolsrc/ed.pla: 0755: fin - !BYTE $7A ; SAW _D052+0 -_F300 !WORD _D052+0 - !BYTE $68 ; LAB _D040+0 -_F301 !WORD _D040+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B209 - !WORD _B209-* - !BYTE $6A ; LAW _D060+0 -_F302 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F303 !WORD _D053+0 - !BYTE $54 ; CALL _C020 -_F304 !WORD _C020 -_B209 -_B210 -; toolsrc/ed.pla: 0756: else - !BYTE $50 ; BRNCH _B208 - !WORD _B208-* -_B207 -; toolsrc/ed.pla: 0757: scrntop = cursrow - 23 -; toolsrc/ed.pla: 0758: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 0759: fin - !BYTE $6A ; LAW _D058+0 -_F305 !WORD _D058+0 - !BYTE $3A,$17 ; SUBI 23 - !BYTE $7E ; DAW _D060+0 -_F306 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F307 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F308 !WORD _C021 -_B208 -; toolsrc/ed.pla: 0760: curson -; toolsrc/ed.pla: 0761: fin - !BYTE $54 ; CALL _C023 -_F309 !WORD _C023 -_B205 -_B206 -; toolsrc/ed.pla: 0762: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 0763: def pgdown#0 -_C033 ; pgdown() -; toolsrc/ed.pla: 0764: cursoff -; toolsrc/ed.pla: 0765: if cursvpos(cursrow + pgjmp) -; toolsrc/ed.pla: 0766: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 0767: else - !BYTE $54 ; CALL _C022 -_F310 !WORD _C022 - !BYTE $6A ; LAW _D058+0 -_F311 !WORD _D058+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $54 ; CALL _C027 -_F312 !WORD _C027 - !BYTE $4C ; BRFLS _B211 - !WORD _B211-* - !BYTE $6A ; LAW _D060+0 -_F313 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F314 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F315 !WORD _C021 - !BYTE $50 ; BRNCH _B212 - !WORD _B212-* -_B211 -; toolsrc/ed.pla: 0768: if flags & selection -; toolsrc/ed.pla: 0769: drawgutter(scrntop, scrnleft) -; toolsrc/ed.pla: 0770: fin - !BYTE $68 ; LAB _D040+0 -_F316 !WORD _D040+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B213 - !WORD _B213-* - !BYTE $6A ; LAW _D060+0 -_F317 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F318 !WORD _D053+0 - !BYTE $54 ; CALL _C020 -_F319 !WORD _C020 -_B213 -_B214 -; toolsrc/ed.pla: 0771: fin -_B212 -; toolsrc/ed.pla: 0772: curson -; toolsrc/ed.pla: 0773: end - !BYTE $54 ; CALL _C023 -_F320 !WORD _C023 - !BYTE $5C ; RET -; toolsrc/ed.pla: 0774: def cursleft#0 -_C034 ; cursleft() -; toolsrc/ed.pla: 0775: if curscol > 0 -; toolsrc/ed.pla: 0776: cursoff -; toolsrc/ed.pla: 0777: curscol-- - !BYTE $6A ; LAW _D054+0 -_F321 !WORD _D054+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B215 - !WORD _B215-* - !BYTE $54 ; CALL _C022 -_F322 !WORD _C022 - !BYTE $6A ; LAW _D054+0 -_F323 !WORD _D054+0 - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0778: if cursx > 0 -; toolsrc/ed.pla: 0779: cursx-- - !BYTE $7A ; SAW _D054+0 -_F324 !WORD _D054+0 - !BYTE $6A ; LAW _D051+0 -_F325 !WORD _D051+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B217 - !WORD _B217-* - !BYTE $6A ; LAW _D051+0 -_F326 !WORD _D051+0 - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0780: else - !BYTE $7A ; SAW _D051+0 -_F327 !WORD _D051+0 - !BYTE $50 ; BRNCH _B218 - !WORD _B218-* -_B217 -; toolsrc/ed.pla: 0781: scrnleft = curscol -; toolsrc/ed.pla: 0782: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 0783: fin - !BYTE $6A ; LAW _D054+0 -_F328 !WORD _D054+0 - !BYTE $7A ; SAW _D053+0 -_F329 !WORD _D053+0 - !BYTE $6A ; LAW _D060+0 -_F330 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F331 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F332 !WORD _C021 -_B218 -; toolsrc/ed.pla: 0784: curson -; toolsrc/ed.pla: 0785: fin - !BYTE $54 ; CALL _C023 -_F333 !WORD _C023 -_B215 -_B216 -; toolsrc/ed.pla: 0786: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 0787: def pgleft#0 -_C035 ; pgleft() -; toolsrc/ed.pla: 0788: word i, strptr - ; i -> [0] - ; strptr -> [2] -; toolsrc/ed.pla: 0789: -; toolsrc/ed.pla: 0790: strptr = txtlinbuf=>[cursrow] - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/ed.pla: 0791: if curscol > ^strptr -; toolsrc/ed.pla: 0792: i = ^strptr -; toolsrc/ed.pla: 0793: else - !BYTE $6A ; LAW _D048+0 -_F334 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F335 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D054+0 -_F336 !WORD _D054+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B219 - !WORD _B219-* - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B220 - !WORD _B220-* -_B219 -; toolsrc/ed.pla: 0794: for i = 1 to ^strptr - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B221 - !WORD _B221-* -_B222 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0795: if ^(strptr + i) <> keyspace -; toolsrc/ed.pla: 0796: break - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $2A,$A0 ; CB 160 - !BYTE $22 ; BREQ _B224 - !WORD _B224-* - !BYTE $50 ; BRNCH _B221 - !WORD _B221-* -; toolsrc/ed.pla: 0797: fin -_B224 -_B225 -; toolsrc/ed.pla: 0798: next -_B223 - !BYTE $A4 ; INCBRLE _B222 - !WORD _B222-* -_B221 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0799: i-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0800: if i >= curscol -; toolsrc/ed.pla: 0801: i = 0 -; toolsrc/ed.pla: 0802: fin - !BYTE $6E,$00 ; DLW [0] - !BYTE $6A ; LAW _D054+0 -_F337 !WORD _D054+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B226 - !WORD _B226-* - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B226 -_B227 -; toolsrc/ed.pla: 0803: fin -_B220 -; toolsrc/ed.pla: 0804: cursoff -; toolsrc/ed.pla: 0805: if curshpos(i) -; toolsrc/ed.pla: 0806: //if curshpos(curscol - 8) -; toolsrc/ed.pla: 0807: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 0808: else - !BYTE $54 ; CALL _C022 -_F338 !WORD _C022 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C026 -_F339 !WORD _C026 - !BYTE $4C ; BRFLS _B228 - !WORD _B228-* - !BYTE $6A ; LAW _D060+0 -_F340 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F341 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F342 !WORD _C021 - !BYTE $50 ; BRNCH _B229 - !WORD _B229-* -_B228 -; toolsrc/ed.pla: 0809: if flags & selection -; toolsrc/ed.pla: 0810: drawgutter(scrntop, scrnleft) -; toolsrc/ed.pla: 0811: fin - !BYTE $68 ; LAB _D040+0 -_F343 !WORD _D040+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B230 - !WORD _B230-* - !BYTE $6A ; LAW _D060+0 -_F344 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F345 !WORD _D053+0 - !BYTE $54 ; CALL _C020 -_F346 !WORD _C020 -_B230 -_B231 -; toolsrc/ed.pla: 0812: fin -_B229 -; toolsrc/ed.pla: 0813: curson -; toolsrc/ed.pla: 0814: end - !BYTE $54 ; CALL _C023 -_F347 !WORD _C023 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0815: def cursright#0 -_C036 ; cursright() -; toolsrc/ed.pla: 0816: if curscol < MAXLNLEN -; toolsrc/ed.pla: 0817: cursoff -; toolsrc/ed.pla: 0818: curscol++ - !BYTE $6A ; LAW _D054+0 -_F348 !WORD _D054+0 - !BYTE $2A,$4F ; CB 79 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B232 - !WORD _B232-* - !BYTE $54 ; CALL _C022 -_F349 !WORD _C022 - !BYTE $6A ; LAW _D054+0 -_F350 !WORD _D054+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0819: if cursx < scrnright -; toolsrc/ed.pla: 0820: cursx++ - !BYTE $7A ; SAW _D054+0 -_F351 !WORD _D054+0 - !BYTE $6A ; LAW _D051+0 -_F352 !WORD _D051+0 - !BYTE $6A ; LAW _D034+0 -_F353 !WORD _D034+0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B234 - !WORD _B234-* - !BYTE $6A ; LAW _D051+0 -_F354 !WORD _D051+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0821: else - !BYTE $7A ; SAW _D051+0 -_F355 !WORD _D051+0 - !BYTE $50 ; BRNCH _B235 - !WORD _B235-* -_B234 -; toolsrc/ed.pla: 0822: scrnleft = curscol - scrnright -; toolsrc/ed.pla: 0823: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 0824: fin - !BYTE $6A ; LAW _D054+0 -_F356 !WORD _D054+0 - !BYTE $6A ; LAW _D034+0 -_F357 !WORD _D034+0 - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D053+0 -_F358 !WORD _D053+0 - !BYTE $6A ; LAW _D060+0 -_F359 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F360 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F361 !WORD _C021 -_B235 -; toolsrc/ed.pla: 0825: curson -; toolsrc/ed.pla: 0826: fin - !BYTE $54 ; CALL _C023 -_F362 !WORD _C023 -_B232 -_B233 -; toolsrc/ed.pla: 0827: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 0828: def pgright#0 -_C037 ; pgright() -; toolsrc/ed.pla: 0829: word i, strptr - ; i -> [0] - ; strptr -> [2] -; toolsrc/ed.pla: 0830: -; toolsrc/ed.pla: 0831: strptr = txtlinbuf=>[cursrow] - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/ed.pla: 0832: if curscol >= ^strptr -; toolsrc/ed.pla: 0833: i = curscol + 8 -; toolsrc/ed.pla: 0834: else - !BYTE $6A ; LAW _D048+0 -_F363 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F364 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D054+0 -_F365 !WORD _D054+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B236 - !WORD _B236-* - !BYTE $6A ; LAW _D054+0 -_F366 !WORD _D054+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B237 - !WORD _B237-* -_B236 -; toolsrc/ed.pla: 0835: for i = 1 to ^strptr - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B238 - !WORD _B238-* -_B239 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0836: if ^(strptr + i) <> keyspace -; toolsrc/ed.pla: 0837: break - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $2A,$A0 ; CB 160 - !BYTE $22 ; BREQ _B241 - !WORD _B241-* - !BYTE $50 ; BRNCH _B238 - !WORD _B238-* -; toolsrc/ed.pla: 0838: fin -_B241 -_B242 -; toolsrc/ed.pla: 0839: next -_B240 - !BYTE $A4 ; INCBRLE _B239 - !WORD _B239-* -_B238 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0840: i-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0841: if curscol >= i -; toolsrc/ed.pla: 0842: i = ^strptr -; toolsrc/ed.pla: 0843: fin - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D054+0 -_F367 !WORD _D054+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B243 - !WORD _B243-* - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $76,$00 ; SLW [0] -_B243 -_B244 -; toolsrc/ed.pla: 0844: fin -_B237 -; toolsrc/ed.pla: 0845: cursoff -; toolsrc/ed.pla: 0846: if curshpos(i) -; toolsrc/ed.pla: 0847: //if curshpos(curscol + 8) -; toolsrc/ed.pla: 0848: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 0849: else - !BYTE $54 ; CALL _C022 -_F368 !WORD _C022 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C026 -_F369 !WORD _C026 - !BYTE $4C ; BRFLS _B245 - !WORD _B245-* - !BYTE $6A ; LAW _D060+0 -_F370 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F371 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F372 !WORD _C021 - !BYTE $50 ; BRNCH _B246 - !WORD _B246-* -_B245 -; toolsrc/ed.pla: 0850: if flags & selection -; toolsrc/ed.pla: 0851: drawgutter(scrntop, scrnleft) -; toolsrc/ed.pla: 0852: fin - !BYTE $68 ; LAB _D040+0 -_F373 !WORD _D040+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B247 - !WORD _B247-* - !BYTE $6A ; LAW _D060+0 -_F374 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F375 !WORD _D053+0 - !BYTE $54 ; CALL _C020 -_F376 !WORD _C020 -_B247 -_B248 -; toolsrc/ed.pla: 0853: fin -_B246 -; toolsrc/ed.pla: 0854: curson -; toolsrc/ed.pla: 0855: end - !BYTE $54 ; CALL _C023 -_F377 !WORD _C023 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0856: // -; toolsrc/ed.pla: 0857: // Find string in text -; toolsrc/ed.pla: 0858: // -; toolsrc/ed.pla: 0859: def findline(strptr, start)#1 - ; strptr -> [0] - ; start -> [2] -_C038 ; findline() -; toolsrc/ed.pla: 0860: byte scan, i, upstr[MAXLNLEN+1] - ; scan -> [4] - ; i -> [5] - ; upstr -> [6] -; toolsrc/ed.pla: 0861: -; toolsrc/ed.pla: 0862: if ^strptr >= findstr - !BYTE $58,$56,$02 ; ENTER 86,2 -; toolsrc/ed.pla: 0863: lnupcpy(@upstr, strptr) -; toolsrc/ed.pla: 0864: for scan = start to upstr - findstr + 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $68 ; LAB _D037+0 -_F378 !WORD _D037+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B249 - !WORD _B249-* - !BYTE $28,$06 ; LLA [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A003 -_F379 !WORD _A003 - !BYTE $64,$06 ; LLB [6] - !BYTE $68 ; LAB _D037+0 -_F380 !WORD _D037+0 - !BYTE $84 ; SUB - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $A0 ; BRGT _B251 - !WORD _B251-* -_B252 - !BYTE $6C,$04 ; DLB [4] -; toolsrc/ed.pla: 0865: if upstr[scan] == findstr[1] -; toolsrc/ed.pla: 0866: for i = 2 to findstr - !BYTE $28,$06 ; LLA [6] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $68 ; LAB _D037+1 -_F381 !WORD _D037+1 - !BYTE $24 ; BRNE _B254 - !WORD _B254-* - !BYTE $68 ; LAB _D037+0 -_F382 !WORD _D037+0 - !BYTE $04 ; CN 2 - !BYTE $A0 ; BRGT _B256 - !WORD _B256-* -_B257 - !BYTE $6C,$05 ; DLB [5] -; toolsrc/ed.pla: 0867: if upstr[scan + i - 1] <> findstr[i] -; toolsrc/ed.pla: 0868: break - !BYTE $28,$06 ; LLA [6] - !BYTE $64,$04 ; LLB [4] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $26 ; LA _D037+0 -_F383 !WORD _D037+0 - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B259 - !WORD _B259-* - !BYTE $50 ; BRNCH _B256 - !WORD _B256-* -; toolsrc/ed.pla: 0869: fin -_B259 -_B260 -; toolsrc/ed.pla: 0870: next -_B258 - !BYTE $A4 ; INCBRLE _B257 - !WORD _B257-* -_B256 - !BYTE $74,$05 ; SLB [5] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0871: if i > findstr -; toolsrc/ed.pla: 0872: curshpos(scan - 1) -; toolsrc/ed.pla: 0873: return TRUE - !BYTE $64,$05 ; LLB [5] - !BYTE $68 ; LAB _D037+0 -_F384 !WORD _D037+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B261 - !WORD _B261-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C026 -_F385 !WORD _C026 - !BYTE $30 ; DROP - !BYTE $32 ; DROP2 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$56 ; LEAVE 86 -; toolsrc/ed.pla: 0874: fin -_B261 -_B262 -; toolsrc/ed.pla: 0875: fin -_B254 -_B255 -; toolsrc/ed.pla: 0876: next -_B253 - !BYTE $A4 ; INCBRLE _B252 - !WORD _B252-* -_B251 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0877: fin -_B249 -_B250 -; toolsrc/ed.pla: 0878: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$56 ; LEAVE 86 -; toolsrc/ed.pla: 0879: end -; toolsrc/ed.pla: 0880: def findtxt#0 -_C039 ; findtxt() -; toolsrc/ed.pla: 0881: word f - ; f -> [0] -; toolsrc/ed.pla: 0882: -; toolsrc/ed.pla: 0883: // -; toolsrc/ed.pla: 0884: // Search from current pos to end -; toolsrc/ed.pla: 0885: // -; toolsrc/ed.pla: 0886: if findline(txtlinbuf=>[cursrow], curscol + 2) - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/ed.pla: 0887: return - !BYTE $6A ; LAW _D048+0 -_F386 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F387 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D054+0 -_F388 !WORD _D054+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $54 ; CALL _C038 -_F389 !WORD _C038 - !BYTE $4C ; BRFLS _B263 - !WORD _B263-* - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0888: fin -_B263 -_B264 -; toolsrc/ed.pla: 0889: for f = cursrow + 1 to numlines - 1 - !BYTE $6A ; LAW _D042+0 -_F390 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $6A ; LAW _D058+0 -_F391 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $A0 ; BRGT _B265 - !WORD _B265-* -_B266 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0890: if findline(txtlinbuf=>[f], 1) -; toolsrc/ed.pla: 0891: cursvpos(f) -; toolsrc/ed.pla: 0892: return - !BYTE $6A ; LAW _D048+0 -_F392 !WORD _D048+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C038 -_F393 !WORD _C038 - !BYTE $4C ; BRFLS _B268 - !WORD _B268-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C027 -_F394 !WORD _C027 - !BYTE $30 ; DROP - !BYTE $32 ; DROP2 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0893: fin -_B268 -_B269 -; toolsrc/ed.pla: 0894: next -_B267 - !BYTE $A4 ; INCBRLE _B266 - !WORD _B266-* -_B265 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0895: // -; toolsrc/ed.pla: 0896: // Search from beginning to current pos -; toolsrc/ed.pla: 0897: // -; toolsrc/ed.pla: 0898: for f = 0 to cursrow - !BYTE $6A ; LAW _D058+0 -_F395 !WORD _D058+0 - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B270 - !WORD _B270-* -_B271 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0899: if findline(txtlinbuf=>[f], 1) -; toolsrc/ed.pla: 0900: cursvpos(f) -; toolsrc/ed.pla: 0901: return - !BYTE $6A ; LAW _D048+0 -_F396 !WORD _D048+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C038 -_F397 !WORD _C038 - !BYTE $4C ; BRFLS _B273 - !WORD _B273-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C027 -_F398 !WORD _C027 - !BYTE $30 ; DROP - !BYTE $32 ; DROP2 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0902: fin -_B273 -_B274 -; toolsrc/ed.pla: 0903: next -_B272 - !BYTE $A4 ; INCBRLE _B271 - !WORD _B271-* -_B270 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0904: bell -; toolsrc/ed.pla: 0905: end - !BYTE $54 ; CALL _C000 -_F399 !WORD _C000 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0906: // -; toolsrc/ed.pla: 0907: // Keyboard routines -; toolsrc/ed.pla: 0908: // -; toolsrc/ed.pla: 0909: def dev_control(devnum, code, list)#1 - ; devnum -> [0] - ; code -> [2] - ; list -> [4] -_C040 ; dev_control() -; toolsrc/ed.pla: 0910: byte params[5] - ; params -> [6] -; toolsrc/ed.pla: 0911: -; toolsrc/ed.pla: 0912: params.0 = 3 - !BYTE $58,$0B,$03 ; ENTER 11,3 -; toolsrc/ed.pla: 0913: params.1 = devnum -; toolsrc/ed.pla: 0914: params.2 = code -; toolsrc/ed.pla: 0915: params:3 = list -; toolsrc/ed.pla: 0916: perr = syscall($83, @params) -; toolsrc/ed.pla: 0917: 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 $76,$09 ; SLW [9] - !BYTE $2A,$83 ; CB 131 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F400 !WORD 0 - !BYTE $7C ; DAB _X032+0 -_F401 !WORD 0+0 - !BYTE $5A,$0B ; LEAVE 11 -; toolsrc/ed.pla: 0918: end -; toolsrc/ed.pla: 0919: def cons_keyavail -_C041 ; cons_keyavail() -; toolsrc/ed.pla: 0920: byte params[5] - ; params -> [0] -; toolsrc/ed.pla: 0921: byte count - ; count -> [5] -; toolsrc/ed.pla: 0922: -; toolsrc/ed.pla: 0923: params.0 = 3 - !BYTE $58,$06,$00 ; ENTER 6,0 -; toolsrc/ed.pla: 0924: params.1 = cmdsys.devcons -; toolsrc/ed.pla: 0925: params.2 = 5 -; toolsrc/ed.pla: 0926: params:3 = @count -; toolsrc/ed.pla: 0927: return syscall($82, @params) ?? 0 :: count - !BYTE $06 ; CN 3 - !BYTE $74,$00 ; SLB [0] - !BYTE $68 ; LAB _X000+20 -_F402 !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 -_F403 !WORD 0 - !BYTE $4C ; BRFLS _B275 - !WORD _B275-* - !BYTE $00 ; CN 0 - !BYTE $50 ; BRNCH _B276 - !WORD _B276-* -_B275 - !BYTE $64,$05 ; LLB [5] -_B276 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/ed.pla: 0928: end -; toolsrc/ed.pla: 0929: def cons_keyread -_C042 ; cons_keyread() -; toolsrc/ed.pla: 0930: byte params[8] - ; params -> [0] -; toolsrc/ed.pla: 0931: byte key - ; key -> [8] -; toolsrc/ed.pla: 0932: -; toolsrc/ed.pla: 0933: params.0 = 4 - !BYTE $58,$09,$00 ; ENTER 9,0 -; toolsrc/ed.pla: 0934: params.1 = cmdsys.refcons -; toolsrc/ed.pla: 0935: params:2 = @key -; toolsrc/ed.pla: 0936: params:4 = 1 -; toolsrc/ed.pla: 0937: params:6 = 0 -; toolsrc/ed.pla: 0938: syscall($CA, @params) -; toolsrc/ed.pla: 0939: return params:6 ?? key :: 0 - !BYTE $08 ; CN 4 - !BYTE $74,$00 ; SLB [0] - !BYTE $68 ; LAB _X000+19 -_F404 !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 -_F405 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$06 ; LLW [6] - !BYTE $4C ; BRFLS _B277 - !WORD _B277-* - !BYTE $64,$08 ; LLB [8] - !BYTE $50 ; BRNCH _B278 - !WORD _B278-* -_B277 - !BYTE $00 ; CN 0 -_B278 - !BYTE $5A,$09 ; LEAVE 9 -; toolsrc/ed.pla: 0940: end -; toolsrc/ed.pla: 0941: def keyin3 -_C043 ; keyin3() -; toolsrc/ed.pla: 0942: byte key - ; key -> [0] -; toolsrc/ed.pla: 0943: -; toolsrc/ed.pla: 0944: repeat - !BYTE $58,$01,$00 ; ENTER 1,0 -_B280 -; toolsrc/ed.pla: 0945: cursflash -; toolsrc/ed.pla: 0946: until cons_keyavail - !BYTE $54 ; CALL _C024 -_F406 !WORD _C024 -_B281 - !BYTE $54 ; CALL _C041 -_F407 !WORD _C041 - !BYTE $4C ; BRFLS _B280 - !WORD _B280-* -_B279 -; toolsrc/ed.pla: 0947: key = cons_keyread -; toolsrc/ed.pla: 0948: if key & $80 // Open Apple modifier -; toolsrc/ed.pla: 0949: when key - !BYTE $54 ; CALL _C042 -_F408 !WORD _C042 - !BYTE $6C,$00 ; DLB [0] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B282 - !WORD _B282-* - !BYTE $64,$00 ; LLB [0] - !BYTE $52 ; SEL - !WORD _B285-* -; toolsrc/ed.pla: 0950: is keyarrowleft -_B286 -; toolsrc/ed.pla: 0951: key = keyctrla; break - !BYTE $2A,$81 ; CB 129 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0952: is keyarrowright -_B287 -; toolsrc/ed.pla: 0953: key = keyctrls; break - !BYTE $2A,$93 ; CB 147 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0954: is keyarrowup -_B288 -; toolsrc/ed.pla: 0955: key = keyctrlw; break - !BYTE $2A,$97 ; CB 151 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0956: is keyarrowdown -_B289 -; toolsrc/ed.pla: 0957: key = keyctrlz; break - !BYTE $2A,$9A ; CB 154 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0958: is keyenter -_B290 -; toolsrc/ed.pla: 0959: key = keyctrlf; break - !BYTE $2A,$86 ; CB 134 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0960: is keytab -_B291 -; toolsrc/ed.pla: 0961: key = keydetab; break - !BYTE $2A,$9D ; CB 157 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0962: is $80 | '\\' -_B292 -; toolsrc/ed.pla: 0963: key = keydelete; break // Delete - !BYTE $2A,$FF ; CB 255 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0964: // -; toolsrc/ed.pla: 0965: // Map OA+keypad -; toolsrc/ed.pla: 0966: // -; toolsrc/ed.pla: 0967: is $80 | '4' -_B293 -; toolsrc/ed.pla: 0968: key = keyarrowleft; break - !BYTE $2A,$88 ; CB 136 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0969: is $80 | '6' -_B294 -; toolsrc/ed.pla: 0970: key = keyarrowright; break - !BYTE $2A,$95 ; CB 149 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0971: is $80 | '8' -_B295 -; toolsrc/ed.pla: 0972: key = keyarrowup; break - !BYTE $2A,$8B ; CB 139 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0973: is $80 | '2' -_B296 -; toolsrc/ed.pla: 0974: key = keyarrowdown; break - !BYTE $2A,$8A ; CB 138 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0975: is $80 | '7' -_B297 -; toolsrc/ed.pla: 0976: key = keyctrlq; break // Top - !BYTE $2A,$91 ; CB 145 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0977: is $80 | '1' -_B298 -; toolsrc/ed.pla: 0978: key = keyctrle; break // Bottom - !BYTE $2A,$85 ; CB 133 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0979: is $80 | '9' -_B299 -; toolsrc/ed.pla: 0980: key = keyctrlw; break // Pg Up - !BYTE $2A,$97 ; CB 151 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0981: is $80 | '3' -_B300 -; toolsrc/ed.pla: 0982: key = keyctrlz; break // Pg Dn - !BYTE $2A,$9A ; CB 154 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0983: is $80 | '5' -_B301 -; toolsrc/ed.pla: 0984: key = keyctrld; break // Del - !BYTE $2A,$84 ; CB 132 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0985: is $80 | '.' -_B302 -; toolsrc/ed.pla: 0986: key = keyctrlc; break // Copy - !BYTE $2A,$83 ; CB 131 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0987: is $80 | '0' -_B303 -; toolsrc/ed.pla: 0988: key = keyctrlv; break // Paste - !BYTE $2A,$96 ; CB 150 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0989: is $80 | '-' -_B304 -; toolsrc/ed.pla: 0990: key = keyctrlx; break // Cut - !BYTE $2A,$98 ; CB 152 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -; toolsrc/ed.pla: 0991: wend - !BYTE $50 ; BRNCH _B284 - !WORD _B284-* -_B285 - !BYTE $13 ; CASEBLOCK - !WORD $0088 - !WORD _B286-* - !WORD $0089 - !WORD _B291-* - !WORD $008A - !WORD _B289-* - !WORD $008B - !WORD _B288-* - !WORD $008D - !WORD _B290-* - !WORD $0095 - !WORD _B287-* - !WORD $00AD - !WORD _B304-* - !WORD $00AE - !WORD _B302-* - !WORD $00B0 - !WORD _B303-* - !WORD $00B1 - !WORD _B298-* - !WORD $00B2 - !WORD _B296-* - !WORD $00B3 - !WORD _B300-* - !WORD $00B4 - !WORD _B293-* - !WORD $00B5 - !WORD _B301-* - !WORD $00B6 - !WORD _B294-* - !WORD $00B7 - !WORD _B297-* - !WORD $00B8 - !WORD _B295-* - !WORD $00B9 - !WORD _B299-* - !WORD $00DC - !WORD _B292-* -_B284 -; toolsrc/ed.pla: 0992: fin -_B282 -_B283 -; toolsrc/ed.pla: 0993: return key | $80 - !BYTE $64,$00 ; LLB [0] - !BYTE $3E,$80 ; ORI 128 - !BYTE $5A,$01 ; LEAVE 1 -; toolsrc/ed.pla: 0994: end -; toolsrc/ed.pla: 0995: def keyin2e -_C044 ; keyin2e() -; toolsrc/ed.pla: 0996: byte key, vbl - ; key -> [0] - ; vbl -> [1] -; toolsrc/ed.pla: 0997: ^$C079 = 0 // IOU enable and clear VBL int on //c - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/ed.pla: 0998: ^$C05B = 0 // Enable VBL Ints on //c -; toolsrc/ed.pla: 0999: vbl = ^$C019 -; toolsrc/ed.pla: 1000: repeat - !BYTE $00 ; CN 0 - !BYTE $78,$79,$C0 ; SAB 49273 - !BYTE $00 ; CN 0 - !BYTE $78,$5B,$C0 ; SAB 49243 - !BYTE $68,$19,$C0 ; LAB 49177 - !BYTE $74,$01 ; SLB [1] -_B306 -; toolsrc/ed.pla: 1001: if flags & showcurs -; toolsrc/ed.pla: 1002: if flash == 0 -; toolsrc/ed.pla: 1003: ^cursptr = curschr -; toolsrc/ed.pla: 1004: elsif flash == 128 - !BYTE $68 ; LAB _D040+0 -_F409 !WORD _D040+0 - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B308 - !WORD _B308-* - !BYTE $68 ; LAB _D041+0 -_F410 !WORD _D041+0 - !BYTE $4E ; BRTRU _B310 - !WORD _B310-* - !BYTE $68 ; LAB _D056+0 -_F411 !WORD _D056+0 - !BYTE $6A ; LAW _D061+0 -_F412 !WORD _D061+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B311 - !WORD _B311-* -_B310 -; toolsrc/ed.pla: 1005: ^cursptr = underchr -; toolsrc/ed.pla: 1006: fin - !BYTE $68 ; LAB _D041+0 -_F413 !WORD _D041+0 - !BYTE $2A,$80 ; CB 128 - !BYTE $24 ; BRNE _B312 - !WORD _B312-* - !BYTE $68 ; LAB _D055+0 -_F414 !WORD _D055+0 - !BYTE $6A ; LAW _D061+0 -_F415 !WORD _D061+0 - !BYTE $70 ; SB -_B312 -_B311 -; toolsrc/ed.pla: 1007: if vbl ^ ^$C019 -; toolsrc/ed.pla: 1008: flash = flash + 8 -; toolsrc/ed.pla: 1009: vbl = ^$C019 -; toolsrc/ed.pla: 1010: ^$C079 = 0 // Clear VBL int on //c -; toolsrc/ed.pla: 1011: fin - !BYTE $64,$01 ; LLB [1] - !BYTE $68,$19,$C0 ; LAB 49177 - !BYTE $98 ; XOR - !BYTE $4C ; BRFLS _B313 - !WORD _B313-* - !BYTE $68 ; LAB _D041+0 -_F416 !WORD _D041+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $78 ; SAB _D041+0 -_F417 !WORD _D041+0 - !BYTE $68,$19,$C0 ; LAB 49177 - !BYTE $74,$01 ; SLB [1] - !BYTE $00 ; CN 0 - !BYTE $78,$79,$C0 ; SAB 49273 -_B313 -_B314 -; toolsrc/ed.pla: 1012: fin -_B308 -_B309 -; toolsrc/ed.pla: 1013: key = ^keyboard -; toolsrc/ed.pla: 1014: until key >= 128 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $74,$00 ; SLB [0] -_B307 - !BYTE $64,$00 ; LLB [0] - !BYTE $2A,$80 ; CB 128 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B306 - !WORD _B306-* -_B305 -; toolsrc/ed.pla: 1015: ^$C05A = 0 // Disable VBL Ints on //c -; toolsrc/ed.pla: 1016: ^$C078 = 0 // IOU disable on //c -; toolsrc/ed.pla: 1017: ^keystrobe -; toolsrc/ed.pla: 1018: if ^pushbttn2 & 128 // Closed Apple pressed -; toolsrc/ed.pla: 1019: when key - !BYTE $00 ; CN 0 - !BYTE $78,$5A,$C0 ; SAB 49242 - !BYTE $00 ; CN 0 - !BYTE $78,$78,$C0 ; SAB 49272 - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $68,$62,$C0 ; LAB 49250 - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B315 - !WORD _B315-* - !BYTE $64,$00 ; LLB [0] - !BYTE $52 ; SEL - !WORD _B318-* -; toolsrc/ed.pla: 1020: is keyarrowleft -_B319 -; toolsrc/ed.pla: 1021: key = keyctrla; break - !BYTE $2A,$81 ; CB 129 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B317 - !WORD _B317-* -; toolsrc/ed.pla: 1022: is keyarrowright -_B320 -; toolsrc/ed.pla: 1023: key = keyctrls; break - !BYTE $2A,$93 ; CB 147 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B317 - !WORD _B317-* -; toolsrc/ed.pla: 1024: is keyarrowup -_B321 -; toolsrc/ed.pla: 1025: key = keyctrlw; break - !BYTE $2A,$97 ; CB 151 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B317 - !WORD _B317-* -; toolsrc/ed.pla: 1026: is keyarrowdown -_B322 -; toolsrc/ed.pla: 1027: key = keyctrlz; break - !BYTE $2A,$9A ; CB 154 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B317 - !WORD _B317-* -; toolsrc/ed.pla: 1028: is keyenter -_B323 -; toolsrc/ed.pla: 1029: key = keyctrlf; break - !BYTE $2A,$86 ; CB 134 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B317 - !WORD _B317-* -; toolsrc/ed.pla: 1030: is keytab -_B324 -; toolsrc/ed.pla: 1031: key = keydetab; break - !BYTE $2A,$9D ; CB 157 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B317 - !WORD _B317-* -; toolsrc/ed.pla: 1032: wend - !BYTE $50 ; BRNCH _B317 - !WORD _B317-* -_B318 - !BYTE $06 ; CASEBLOCK - !WORD $0088 - !WORD _B319-* - !WORD $0089 - !WORD _B324-* - !WORD $008A - !WORD _B322-* - !WORD $008B - !WORD _B321-* - !WORD $008D - !WORD _B323-* - !WORD $0095 - !WORD _B320-* -_B317 -; toolsrc/ed.pla: 1033: fin -_B315 -_B316 -; toolsrc/ed.pla: 1034: return key - !BYTE $64,$00 ; LLB [0] - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 1035: end -; toolsrc/ed.pla: 1036: def keyin2 -_C045 ; keyin2() -; toolsrc/ed.pla: 1037: byte key - ; key -> [0] -; toolsrc/ed.pla: 1038: -; toolsrc/ed.pla: 1039: repeat - !BYTE $58,$01,$00 ; ENTER 1,0 -_B326 -; toolsrc/ed.pla: 1040: cursflash -; toolsrc/ed.pla: 1041: key = ^keyboard -; toolsrc/ed.pla: 1042: if key == keyctrll -; toolsrc/ed.pla: 1043: ^keystrobe -; toolsrc/ed.pla: 1044: flags = flags ^ shiftlock -; toolsrc/ed.pla: 1045: key = 0 -; toolsrc/ed.pla: 1046: fin - !BYTE $54 ; CALL _C024 -_F418 !WORD _C024 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $6C,$00 ; DLB [0] - !BYTE $2A,$8C ; CB 140 - !BYTE $24 ; BRNE _B328 - !WORD _B328-* - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D040+0 -_F419 !WORD _D040+0 - !BYTE $2A,$80 ; CB 128 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D040+0 -_F420 !WORD _D040+0 - !BYTE $00 ; CN 0 - !BYTE $74,$00 ; SLB [0] -_B328 -_B329 -; toolsrc/ed.pla: 1047: until key >= 128 -_B327 - !BYTE $64,$00 ; LLB [0] - !BYTE $2A,$80 ; CB 128 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B326 - !WORD _B326-* -_B325 -; toolsrc/ed.pla: 1048: ^keystrobe -; toolsrc/ed.pla: 1049: when key - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $52 ; SEL - !WORD _B331-* -; toolsrc/ed.pla: 1050: is keyctrln -_B332 -; toolsrc/ed.pla: 1051: key = $DB // '[' -; toolsrc/ed.pla: 1052: break - !BYTE $2A,$DB ; CB 219 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B330 - !WORD _B330-* -; toolsrc/ed.pla: 1053: is $9E // SHIFT+CTRL+N -_B333 -; toolsrc/ed.pla: 1054: key = $FE // '~' -; toolsrc/ed.pla: 1055: break - !BYTE $2A,$FE ; CB 254 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B330 - !WORD _B330-* -; toolsrc/ed.pla: 1056: is keyctrlp -_B334 -; toolsrc/ed.pla: 1057: key = $DC // '\' -; toolsrc/ed.pla: 1058: break - !BYTE $2A,$DC ; CB 220 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B330 - !WORD _B330-* -; toolsrc/ed.pla: 1059: is $80 // SHIFT+CTRL+P -> CTRL+@ -_B335 -; toolsrc/ed.pla: 1060: key = $FC // '|' -; toolsrc/ed.pla: 1061: break - !BYTE $2A,$FC ; CB 252 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B330 - !WORD _B330-* -; toolsrc/ed.pla: 1062: is keyctrlg -_B336 -; toolsrc/ed.pla: 1063: key = $DF // '_' -; toolsrc/ed.pla: 1064: break - !BYTE $2A,$DF ; CB 223 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B330 - !WORD _B330-* -; toolsrc/ed.pla: 1065: is keyarrowleft -_B337 -; toolsrc/ed.pla: 1066: if ^pushbttn3 < 128 -; toolsrc/ed.pla: 1067: key = keydelete -; toolsrc/ed.pla: 1068: fin - !BYTE $68,$63,$C0 ; LAB 49251 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B338 - !WORD _B338-* - !BYTE $2A,$FF ; CB 255 - !BYTE $74,$00 ; SLB [0] -_B338 -_B339 -; toolsrc/ed.pla: 1069: break - !BYTE $50 ; BRNCH _B330 - !WORD _B330-* -; toolsrc/ed.pla: 1070: is keyarrowright -_B340 -; toolsrc/ed.pla: 1071: if ^pushbttn3 < 128 -; toolsrc/ed.pla: 1072: key = keytab -; toolsrc/ed.pla: 1073: fin - !BYTE $68,$63,$C0 ; LAB 49251 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B341 - !WORD _B341-* - !BYTE $2A,$89 ; CB 137 - !BYTE $74,$00 ; SLB [0] -_B341 -_B342 -; toolsrc/ed.pla: 1074: break - !BYTE $50 ; BRNCH _B330 - !WORD _B330-* -; toolsrc/ed.pla: 1075: otherwise -_B331 - !BYTE $07 ; CASEBLOCK - !WORD $0080 - !WORD _B335-* - !WORD $0087 - !WORD _B336-* - !WORD $0088 - !WORD _B337-* - !WORD $008E - !WORD _B332-* - !WORD $0090 - !WORD _B334-* - !WORD $0095 - !WORD _B340-* - !WORD $009E - !WORD _B333-* -; toolsrc/ed.pla: 1076: if key >= $C0 and flags < shiftlock -; toolsrc/ed.pla: 1077: if ^pushbttn3 < 128 -; toolsrc/ed.pla: 1078: when key - !BYTE $64,$00 ; LLB [0] - !BYTE $2A,$C0 ; CB 192 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B343 - !WORD _B343-* - !BYTE $68 ; LAB _D040+0 -_F421 !WORD _D040+0 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT -_B343 - !BYTE $4C ; BRFLS _B344 - !WORD _B344-* - !BYTE $68,$63,$C0 ; LAB 49251 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B346 - !WORD _B346-* - !BYTE $64,$00 ; LLB [0] - !BYTE $52 ; SEL - !WORD _B349-* -; toolsrc/ed.pla: 1079: is $C0 -_B350 -; toolsrc/ed.pla: 1080: key = $D0 // P -; toolsrc/ed.pla: 1081: break - !BYTE $2A,$D0 ; CB 208 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B348 - !WORD _B348-* -; toolsrc/ed.pla: 1082: is $DD -_B351 -; toolsrc/ed.pla: 1083: key = $CD // M -; toolsrc/ed.pla: 1084: break - !BYTE $2A,$CD ; CB 205 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B348 - !WORD _B348-* -; toolsrc/ed.pla: 1085: is $DE -_B352 -; toolsrc/ed.pla: 1086: key = $CE // N -; toolsrc/ed.pla: 1087: wend - !BYTE $2A,$CE ; CB 206 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B348 - !WORD _B348-* -_B349 - !BYTE $03 ; CASEBLOCK - !WORD $00C0 - !WORD _B350-* - !WORD $00DD - !WORD _B351-* - !WORD $00DE - !WORD _B352-* -_B348 -; toolsrc/ed.pla: 1088: else - !BYTE $50 ; BRNCH _B347 - !WORD _B347-* -_B346 -; toolsrc/ed.pla: 1089: key = key | $E0 -; toolsrc/ed.pla: 1090: fin - !BYTE $64,$00 ; LLB [0] - !BYTE $3E,$E0 ; ORI 224 - !BYTE $74,$00 ; SLB [0] -_B347 -; toolsrc/ed.pla: 1091: fin -_B344 -_B345 -; toolsrc/ed.pla: 1092: wend -_B330 -; toolsrc/ed.pla: 1093: return key - !BYTE $64,$00 ; LLB [0] - !BYTE $5A,$01 ; LEAVE 1 -; toolsrc/ed.pla: 1094: end -; toolsrc/ed.pla: 1095: def setkeyin#0 -_C046 ; setkeyin() -; toolsrc/ed.pla: 1096: when MACHID & MACHID_MODEL - !BYTE $68 ; LAB _X001+0 -_F422 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B354-* -; toolsrc/ed.pla: 1097: is MACHID_IIE -_B355 -; toolsrc/ed.pla: 1098: is MACHID_IIC -_B356 -; toolsrc/ed.pla: 1099: keyin = @keyin2e -; toolsrc/ed.pla: 1100: break - !BYTE $26 ; LA _C044+0 -_F423 !WORD _C044+0 - !BYTE $7A ; SAW _D057+0 -_F424 !WORD _D057+0 - !BYTE $50 ; BRNCH _B353 - !WORD _B353-* -; toolsrc/ed.pla: 1101: is MACHID_III -_B357 -; toolsrc/ed.pla: 1102: keyin = @keyin3 -; toolsrc/ed.pla: 1103: break - !BYTE $26 ; LA _C043+0 -_F425 !WORD _C043+0 - !BYTE $7A ; SAW _D057+0 -_F426 !WORD _D057+0 - !BYTE $50 ; BRNCH _B353 - !WORD _B353-* -; toolsrc/ed.pla: 1104: otherwise // ][ or ][+ -_B354 - !BYTE $03 ; CASEBLOCK - !WORD $0080 - !WORD _B355-* - !WORD $0088 - !WORD _B356-* - !WORD $00C0 - !WORD _B357-* -; toolsrc/ed.pla: 1105: keyin = @keyin2 -; toolsrc/ed.pla: 1106: wend - !BYTE $26 ; LA _C045+0 -_F427 !WORD _C045+0 - !BYTE $7A ; SAW _D057+0 -_F428 !WORD _D057+0 -_B353 -; toolsrc/ed.pla: 1107: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 1108: // -; toolsrc/ed.pla: 1109: // Printer routines -; toolsrc/ed.pla: 1110: // -; toolsrc/ed.pla: 1111: def printtxt(slot)#0 - ; slot -> [0] -_C047 ; printtxt() -; toolsrc/ed.pla: 1112: byte txtbuf[MAXLNLEN+1] - ; txtbuf -> [2] -; toolsrc/ed.pla: 1113: word i, scrncsw - ; i -> [82] - ; scrncsw -> [84] -; toolsrc/ed.pla: 1114: -; toolsrc/ed.pla: 1115: scrncsw = *csw - !BYTE $58,$56,$01 ; ENTER 86,1 -; toolsrc/ed.pla: 1116: *csw = $C000 | (slot << 8) -; toolsrc/ed.pla: 1117: for i = 0 to numlines - 1 - !BYTE $6A,$36,$00 ; LAW 54 - !BYTE $76,$54 ; SLW [84] - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $66,$00 ; LLW [0] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $7A,$36,$00 ; SAW 54 - !BYTE $6A ; LAW _D042+0 -_F429 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B358 - !WORD _B358-* -_B359 - !BYTE $6E,$52 ; DLW [82] -; toolsrc/ed.pla: 1118: lncpy(@txtbuf, txtlinbuf=>[i]) -; toolsrc/ed.pla: 1119: puts(@txtbuf) -; toolsrc/ed.pla: 1120: putln -; toolsrc/ed.pla: 1121: next - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _D048+0 -_F430 !WORD _D048+0 - !BYTE $BA,$52 ; IDXLW [82] - !BYTE $62 ; LW - !BYTE $54 ; CALL _A002 -_F431 !WORD _A002 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X004 -_F432 !WORD 0 - !BYTE $54 ; CALL _X003 -_F433 !WORD 0 -_B360 - !BYTE $A4 ; INCBRLE _B359 - !WORD _B359-* -_B358 - !BYTE $76,$52 ; SLW [82] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1122: *csw = scrncsw -; toolsrc/ed.pla: 1123: end - !BYTE $66,$54 ; LLW [84] - !BYTE $7A,$36,$00 ; SAW 54 - !BYTE $5A,$56 ; LEAVE 86 -; toolsrc/ed.pla: 1124: def freesel#0 -_C048 ; freesel() -; toolsrc/ed.pla: 1125: word i - ; i -> [0] -; toolsrc/ed.pla: 1126: -; toolsrc/ed.pla: 1127: for i = 0 to numcliplines - 1 - !BYTE $58,$02,$00 ; ENTER 2,0 - !BYTE $6A ; LAW _D043+0 -_F434 !WORD _D043+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B361 - !WORD _B361-* -_B362 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 1128: if cliplinbuf=>[i] <> @nullstr -; toolsrc/ed.pla: 1129: delstr(cliplinbuf=>[i]) -; toolsrc/ed.pla: 1130: cliplinbuf=>[i] = @nullstr -; toolsrc/ed.pla: 1131: fin - !BYTE $6A ; LAW _D049+0 -_F435 !WORD _D049+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $26 ; LA _D036+0 -_F436 !WORD _D036+0 - !BYTE $22 ; BREQ _B364 - !WORD _B364-* - !BYTE $6A ; LAW _D049+0 -_F437 !WORD _D049+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C006 -_F438 !WORD _C006 - !BYTE $26 ; LA _D036+0 -_F439 !WORD _D036+0 - !BYTE $6A ; LAW _D049+0 -_F440 !WORD _D049+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $72 ; SW -_B364 -_B365 -; toolsrc/ed.pla: 1132: next -_B363 - !BYTE $A4 ; INCBRLE _B362 - !WORD _B362-* -_B361 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1133: numcliplines = 0 -; toolsrc/ed.pla: 1134: end - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D043+0 -_F441 !WORD _D043+0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 1135: def selrange#2 -_C049 ; selrange() -; toolsrc/ed.pla: 1136: word first, last - ; first -> [0] - ; last -> [2] -; toolsrc/ed.pla: 1137: -; toolsrc/ed.pla: 1138: if flags & selection - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/ed.pla: 1139: if cursrow > selrow -; toolsrc/ed.pla: 1140: first, last = selrow, cursrow -; toolsrc/ed.pla: 1141: else - !BYTE $68 ; LAB _D040+0 -_F442 !WORD _D040+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B366 - !WORD _B366-* - !BYTE $6A ; LAW _D058+0 -_F443 !WORD _D058+0 - !BYTE $6A ; LAW _D059+0 -_F444 !WORD _D059+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B368 - !WORD _B368-* - !BYTE $6A ; LAW _D059+0 -_F445 !WORD _D059+0 - !BYTE $6A ; LAW _D058+0 -_F446 !WORD _D058+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B369 - !WORD _B369-* -_B368 -; toolsrc/ed.pla: 1142: first, last = cursrow, selrow -; toolsrc/ed.pla: 1143: fin - !BYTE $6A ; LAW _D058+0 -_F447 !WORD _D058+0 - !BYTE $6A ; LAW _D059+0 -_F448 !WORD _D059+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $76,$00 ; SLW [0] -_B369 -; toolsrc/ed.pla: 1144: else - !BYTE $50 ; BRNCH _B367 - !WORD _B367-* -_B366 -; toolsrc/ed.pla: 1145: first = cursrow -; toolsrc/ed.pla: 1146: last = first -; toolsrc/ed.pla: 1147: fin - !BYTE $6A ; LAW _D058+0 -_F449 !WORD _D058+0 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$02 ; SLW [2] -_B367 -; toolsrc/ed.pla: 1148: return first, last - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 1149: end -; toolsrc/ed.pla: 1150: def beginsel#0 -_C050 ; beginsel() -; toolsrc/ed.pla: 1151: flags = flags ^ selection -; toolsrc/ed.pla: 1152: selrow = cursrow -; toolsrc/ed.pla: 1153: drawgutter(scrntop, scrnleft) -; toolsrc/ed.pla: 1154: end - !BYTE $68 ; LAB _D040+0 -_F450 !WORD _D040+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D040+0 -_F451 !WORD _D040+0 - !BYTE $6A ; LAW _D058+0 -_F452 !WORD _D058+0 - !BYTE $7A ; SAW _D059+0 -_F453 !WORD _D059+0 - !BYTE $6A ; LAW _D060+0 -_F454 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F455 !WORD _D053+0 - !BYTE $54 ; CALL _C020 -_F456 !WORD _C020 - !BYTE $5C ; RET -; toolsrc/ed.pla: 1155: def copysel#0 -_C051 ; copysel() -; toolsrc/ed.pla: 1156: word firstsel, lastsel - ; firstsel -> [0] - ; lastsel -> [2] -; toolsrc/ed.pla: 1157: -; toolsrc/ed.pla: 1158: freesel - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/ed.pla: 1159: firstsel, lastsel = selrange -; toolsrc/ed.pla: 1160: for numcliplines = 0 to lastsel - firstsel - !BYTE $54 ; CALL _C048 -_F457 !WORD _C048 - !BYTE $54 ; CALL _C049 -_F458 !WORD _C049 - !BYTE $76,$02 ; SLW [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B370 - !WORD _B370-* -_B371 - !BYTE $7E ; DAW _D043+0 -_F459 !WORD _D043+0 -; toolsrc/ed.pla: 1161: cliplinbuf=>[numcliplines] = newstr(txtlinbuf=>[firstsel + numcliplines]) -; toolsrc/ed.pla: 1162: next - !BYTE $6A ; LAW _D048+0 -_F460 !WORD _D048+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B6 ; ADDAW _D043+0 -_F461 !WORD _D043+0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _C007 -_F462 !WORD _C007 - !BYTE $6A ; LAW _D049+0 -_F463 !WORD _D049+0 - !BYTE $BE ; IDXAW _D043+0 -_F464 !WORD _D043+0 - !BYTE $72 ; SW -_B372 - !BYTE $A4 ; INCBRLE _B371 - !WORD _B371-* -_B370 - !BYTE $7A ; SAW _D043+0 -_F465 !WORD _D043+0 - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1163: flags = flags & ~selection -; toolsrc/ed.pla: 1164: drawgutter(scrntop, scrnleft) -; toolsrc/ed.pla: 1165: end - !BYTE $68 ; LAB _D040+0 -_F466 !WORD _D040+0 - !BYTE $5E,$EF ; CFFB -17 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D040+0 -_F467 !WORD _D040+0 - !BYTE $6A ; LAW _D060+0 -_F468 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F469 !WORD _D053+0 - !BYTE $54 ; CALL _C020 -_F470 !WORD _C020 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 1166: def cutsel#0 -_C052 ; cutsel() -; toolsrc/ed.pla: 1167: word firstsel, lastsel - ; firstsel -> [0] - ; lastsel -> [2] -; toolsrc/ed.pla: 1168: -; toolsrc/ed.pla: 1169: freesel - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/ed.pla: 1170: firstsel, lastsel = selrange -; toolsrc/ed.pla: 1171: if lastsel - firstsel < MAXCLIPLINES -; toolsrc/ed.pla: 1172: for numcliplines = 0 to lastsel - firstsel - !BYTE $54 ; CALL _C048 -_F471 !WORD _C048 - !BYTE $54 ; CALL _C049 -_F472 !WORD _C049 - !BYTE $76,$02 ; SLW [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B373 - !WORD _B373-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B375 - !WORD _B375-* -_B376 - !BYTE $7E ; DAW _D043+0 -_F473 !WORD _D043+0 -; toolsrc/ed.pla: 1173: cliplinbuf=>[numcliplines] = txtlinbuf=>[firstsel + numcliplines] -; toolsrc/ed.pla: 1174: next - !BYTE $6A ; LAW _D048+0 -_F474 !WORD _D048+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B6 ; ADDAW _D043+0 -_F475 !WORD _D043+0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6A ; LAW _D049+0 -_F476 !WORD _D049+0 - !BYTE $BE ; IDXAW _D043+0 -_F477 !WORD _D043+0 - !BYTE $72 ; SW -_B377 - !BYTE $A4 ; INCBRLE _B376 - !WORD _B376-* -_B375 - !BYTE $7A ; SAW _D043+0 -_F478 !WORD _D043+0 - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1175: memcpy(@txtlinbuf=>[firstsel], @txtlinbuf=>[lastsel + 1], (numlines - lastsel + 1) * 2) -; toolsrc/ed.pla: 1176: numlines = numlines - numcliplines -; toolsrc/ed.pla: 1177: for lastsel = numlines to numlines + numcliplines - !BYTE $6A ; LAW _D048+0 -_F479 !WORD _D048+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $6A ; LAW _D048+0 -_F480 !WORD _D048+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $6A ; LAW _D042+0 -_F481 !WORD _D042+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $8C ; INCR - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X018 -_F482 !WORD 0 - !BYTE $6A ; LAW _D042+0 -_F483 !WORD _D042+0 - !BYTE $6A ; LAW _D043+0 -_F484 !WORD _D043+0 - !BYTE $84 ; SUB - !BYTE $7E ; DAW _D042+0 -_F485 !WORD _D042+0 - !BYTE $B6 ; ADDAW _D043+0 -_F486 !WORD _D043+0 - !BYTE $6A ; LAW _D042+0 -_F487 !WORD _D042+0 - !BYTE $A0 ; BRGT _B378 - !WORD _B378-* -_B379 - !BYTE $6E,$02 ; DLW [2] -; toolsrc/ed.pla: 1178: txtlinbuf=>[lastsel] = @nullstr -; toolsrc/ed.pla: 1179: next - !BYTE $26 ; LA _D036+0 -_F488 !WORD _D036+0 - !BYTE $6A ; LAW _D048+0 -_F489 !WORD _D048+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $72 ; SW -_B380 - !BYTE $A4 ; INCBRLE _B379 - !WORD _B379-* -_B378 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1180: cursrow = firstsel -; toolsrc/ed.pla: 1181: if cursrow >= numlines -; toolsrc/ed.pla: 1182: cursrow = numlines - 1 -; toolsrc/ed.pla: 1183: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $7E ; DAW _D058+0 -_F490 !WORD _D058+0 - !BYTE $6A ; LAW _D042+0 -_F491 !WORD _D042+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B381 - !WORD _B381-* - !BYTE $6A ; LAW _D042+0 -_F492 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D058+0 -_F493 !WORD _D058+0 -_B381 -_B382 -; toolsrc/ed.pla: 1184: if cursrow < scrntop -; toolsrc/ed.pla: 1185: scrntop = cursrow -; toolsrc/ed.pla: 1186: fin - !BYTE $6A ; LAW _D058+0 -_F494 !WORD _D058+0 - !BYTE $6A ; LAW _D060+0 -_F495 !WORD _D060+0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B383 - !WORD _B383-* - !BYTE $6A ; LAW _D058+0 -_F496 !WORD _D058+0 - !BYTE $7A ; SAW _D060+0 -_F497 !WORD _D060+0 -_B383 -_B384 -; toolsrc/ed.pla: 1187: cursy = cursrow - scrntop -; toolsrc/ed.pla: 1188: flags = flags | changed -; toolsrc/ed.pla: 1189: flags = flags & ~selection -; toolsrc/ed.pla: 1190: redraw -; toolsrc/ed.pla: 1191: else - !BYTE $6A ; LAW _D058+0 -_F498 !WORD _D058+0 - !BYTE $6A ; LAW _D060+0 -_F499 !WORD _D060+0 - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D052+0 -_F500 !WORD _D052+0 - !BYTE $68 ; LAB _D040+0 -_F501 !WORD _D040+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $7C ; DAB _D040+0 -_F502 !WORD _D040+0 - !BYTE $5E,$EF ; CFFB -17 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D040+0 -_F503 !WORD _D040+0 - !BYTE $54 ; CALL _C025 -_F504 !WORD _C025 - !BYTE $50 ; BRNCH _B374 - !WORD _B374-* -_B373 -; toolsrc/ed.pla: 1192: bell -; toolsrc/ed.pla: 1193: fin - !BYTE $54 ; CALL _C000 -_F505 !WORD _C000 -_B374 -; toolsrc/ed.pla: 1194: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 1195: def pastesel#0 -_C053 ; pastesel() -; toolsrc/ed.pla: 1196: word p - ; p -> [0] -; toolsrc/ed.pla: 1197: -; toolsrc/ed.pla: 1198: if numcliplines and numcliplines + numlines < MAXLINES - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/ed.pla: 1199: memcpy(@txtlinbuf=>[cursrow + numcliplines], @txtlinbuf=>[cursrow], (numlines - cursrow) * 2) -; toolsrc/ed.pla: 1200: for p = 0 to numcliplines - 1 - !BYTE $6A ; LAW _D043+0 -_F506 !WORD _D043+0 - !BYTE $AC ; BRAND _B385 - !WORD _B385-* - !BYTE $6A ; LAW _D043+0 -_F507 !WORD _D043+0 - !BYTE $B6 ; ADDAW _D042+0 -_F508 !WORD _D042+0 - !BYTE $2C,$E7,$03 ; CW 999 - !BYTE $46 ; ISLT -_B385 - !BYTE $4C ; BRFLS _B386 - !WORD _B386-* - !BYTE $6A ; LAW _D048+0 -_F509 !WORD _D048+0 - !BYTE $6A ; LAW _D058+0 -_F510 !WORD _D058+0 - !BYTE $B6 ; ADDAW _D043+0 -_F511 !WORD _D043+0 - !BYTE $9E ; IDXW - !BYTE $6A ; LAW _D048+0 -_F512 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F513 !WORD _D058+0 - !BYTE $6A ; LAW _D042+0 -_F514 !WORD _D042+0 - !BYTE $6A ; LAW _D058+0 -_F515 !WORD _D058+0 - !BYTE $84 ; SUB - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X018 -_F516 !WORD 0 - !BYTE $6A ; LAW _D043+0 -_F517 !WORD _D043+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B388 - !WORD _B388-* -_B389 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 1201: txtlinbuf=>[cursrow + p] = newstr(cliplinbuf=>[p]) -; toolsrc/ed.pla: 1202: next - !BYTE $6A ; LAW _D049+0 -_F518 !WORD _D049+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C007 -_F519 !WORD _C007 - !BYTE $6A ; LAW _D048+0 -_F520 !WORD _D048+0 - !BYTE $6A ; LAW _D058+0 -_F521 !WORD _D058+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $9E ; IDXW - !BYTE $72 ; SW -_B390 - !BYTE $A4 ; INCBRLE _B389 - !WORD _B389-* -_B388 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1203: numlines = numlines + numcliplines -; toolsrc/ed.pla: 1204: flags = flags | changed -; toolsrc/ed.pla: 1205: redraw -; toolsrc/ed.pla: 1206: else - !BYTE $6A ; LAW _D042+0 -_F522 !WORD _D042+0 - !BYTE $B6 ; ADDAW _D043+0 -_F523 !WORD _D043+0 - !BYTE $7A ; SAW _D042+0 -_F524 !WORD _D042+0 - !BYTE $68 ; LAB _D040+0 -_F525 !WORD _D040+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D040+0 -_F526 !WORD _D040+0 - !BYTE $54 ; CALL _C025 -_F527 !WORD _C025 - !BYTE $50 ; BRNCH _B387 - !WORD _B387-* -_B386 -; toolsrc/ed.pla: 1207: bell -; toolsrc/ed.pla: 1208: fin - !BYTE $54 ; CALL _C000 -_F528 !WORD _C000 -_B387 -; toolsrc/ed.pla: 1209: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 1210: def indentsel#0 -_C054 ; indentsel() -; toolsrc/ed.pla: 1211: byte indentstr[MAXLNLEN+1], j, l - ; indentstr -> [0] - ; j -> [80] - ; l -> [81] -; toolsrc/ed.pla: 1212: word firstsel, lastsel, i - ; firstsel -> [82] - ; lastsel -> [84] - ; i -> [86] -; toolsrc/ed.pla: 1213: -; toolsrc/ed.pla: 1214: freesel - !BYTE $58,$58,$00 ; ENTER 88,0 -; toolsrc/ed.pla: 1215: firstsel, lastsel = selrange -; toolsrc/ed.pla: 1216: for i = firstsel to lastsel - !BYTE $54 ; CALL _C048 -_F529 !WORD _C048 - !BYTE $54 ; CALL _C049 -_F530 !WORD _C049 - !BYTE $76,$54 ; SLW [84] - !BYTE $76,$52 ; SLW [82] - !BYTE $66,$54 ; LLW [84] - !BYTE $66,$52 ; LLW [82] - !BYTE $A0 ; BRGT _B391 - !WORD _B391-* -_B392 - !BYTE $6E,$56 ; DLW [86] -; toolsrc/ed.pla: 1217: l = ^(txtlinbuf=>[i]) -; toolsrc/ed.pla: 1218: if l and l < MAXLNLEN - 2 -; toolsrc/ed.pla: 1219: memcpy(@indentstr + 3, txtlinbuf=>[i] + 1, l) -; toolsrc/ed.pla: 1220: indentstr[0] = l + 2 -; toolsrc/ed.pla: 1221: indentstr[1] = keyspace -; toolsrc/ed.pla: 1222: indentstr[2] = keyspace -; toolsrc/ed.pla: 1223: // -; toolsrc/ed.pla: 1224: // Align indent -; toolsrc/ed.pla: 1225: // -; toolsrc/ed.pla: 1226: for j = 3 to indentstr[0] - !BYTE $6A ; LAW _D048+0 -_F531 !WORD _D048+0 - !BYTE $BA,$56 ; IDXLW [86] - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $6C,$51 ; DLB [81] - !BYTE $AC ; BRAND _B394 - !WORD _B394-* - !BYTE $64,$51 ; LLB [81] - !BYTE $2A,$4D ; CB 77 - !BYTE $46 ; ISLT -_B394 - !BYTE $4C ; BRFLS _B395 - !WORD _B395-* - !BYTE $28,$03 ; LLA [3] - !BYTE $6A ; LAW _D048+0 -_F532 !WORD _D048+0 - !BYTE $BA,$56 ; IDXLW [86] - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $64,$51 ; LLB [81] - !BYTE $54 ; CALL _X018 -_F533 !WORD 0 - !BYTE $64,$51 ; LLB [81] - !BYTE $38,$02 ; ADDI 2 - !BYTE $74,$00 ; SLB [0] - !BYTE $2A,$A0 ; CB 160 - !BYTE $74,$01 ; SLB [1] - !BYTE $2A,$A0 ; CB 160 - !BYTE $74,$02 ; SLB [2] - !BYTE $64,$00 ; LLB [0] - !BYTE $06 ; CN 3 - !BYTE $A0 ; BRGT _B397 - !WORD _B397-* -_B398 - !BYTE $6C,$50 ; DLB [80] -; toolsrc/ed.pla: 1227: if indentstr[j] <> keyspace -; toolsrc/ed.pla: 1228: if j & 1 == 0 -; toolsrc/ed.pla: 1229: indentstr[0]-- - !BYTE $28,$00 ; LLA [0] - !BYTE $B0,$50 ; ADDLB [80] - !BYTE $60 ; LB - !BYTE $2A,$A0 ; CB 160 - !BYTE $22 ; BREQ _B400 - !WORD _B400-* - !BYTE $64,$50 ; LLB [80] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4E ; BRTRU _B402 - !WORD _B402-* - !BYTE $64,$00 ; LLB [0] - !BYTE $8E ; DECR -; toolsrc/ed.pla: 1230: memcpy(@indentstr + 1, @indentstr + 2, indentstr[0]) -; toolsrc/ed.pla: 1231: fin - !BYTE $74,$00 ; SLB [0] - !BYTE $28,$01 ; LLA [1] - !BYTE $28,$02 ; LLA [2] - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _X018 -_F534 !WORD 0 -_B402 -_B403 -; toolsrc/ed.pla: 1232: break - !BYTE $50 ; BRNCH _B397 - !WORD _B397-* -; toolsrc/ed.pla: 1233: fin -_B400 -_B401 -; toolsrc/ed.pla: 1234: next -_B399 - !BYTE $A4 ; INCBRLE _B398 - !WORD _B398-* -_B397 - !BYTE $74,$50 ; SLB [80] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1235: delstr(txtlinbuf=>[i]) -; toolsrc/ed.pla: 1236: txtlinbuf=>[i] = newstr(@indentstr) -; toolsrc/ed.pla: 1237: flags = flags | changed -; toolsrc/ed.pla: 1238: fin - !BYTE $6A ; LAW _D048+0 -_F535 !WORD _D048+0 - !BYTE $BA,$56 ; IDXLW [86] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C006 -_F536 !WORD _C006 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C007 -_F537 !WORD _C007 - !BYTE $6A ; LAW _D048+0 -_F538 !WORD _D048+0 - !BYTE $BA,$56 ; IDXLW [86] - !BYTE $72 ; SW - !BYTE $68 ; LAB _D040+0 -_F539 !WORD _D040+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D040+0 -_F540 !WORD _D040+0 -_B395 -_B396 -; toolsrc/ed.pla: 1239: next -_B393 - !BYTE $A4 ; INCBRLE _B392 - !WORD _B392-* -_B391 - !BYTE $76,$56 ; SLW [86] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1240: redraw -; toolsrc/ed.pla: 1241: end - !BYTE $54 ; CALL _C025 -_F541 !WORD _C025 - !BYTE $5A,$58 ; LEAVE 88 -; toolsrc/ed.pla: 1242: def undentsel#0 -_C055 ; undentsel() -; toolsrc/ed.pla: 1243: byte undentstr[MAXLNLEN+1], l - ; undentstr -> [0] - ; l -> [80] -; toolsrc/ed.pla: 1244: word firstsel, lastsel, i - ; firstsel -> [81] - ; lastsel -> [83] - ; i -> [85] -; toolsrc/ed.pla: 1245: -; toolsrc/ed.pla: 1246: freesel - !BYTE $58,$57,$00 ; ENTER 87,0 -; toolsrc/ed.pla: 1247: firstsel, lastsel = selrange -; toolsrc/ed.pla: 1248: for i = firstsel to lastsel - !BYTE $54 ; CALL _C048 -_F542 !WORD _C048 - !BYTE $54 ; CALL _C049 -_F543 !WORD _C049 - !BYTE $76,$53 ; SLW [83] - !BYTE $76,$51 ; SLW [81] - !BYTE $66,$53 ; LLW [83] - !BYTE $66,$51 ; LLW [81] - !BYTE $A0 ; BRGT _B404 - !WORD _B404-* -_B405 - !BYTE $6E,$55 ; DLW [85] -; toolsrc/ed.pla: 1249: l = ^(txtlinbuf=>[i]) -; toolsrc/ed.pla: 1250: if l -; toolsrc/ed.pla: 1251: memcpy(@undentstr + 1, txtlinbuf=>[i] + 1, l) -; toolsrc/ed.pla: 1252: if undentstr[1] == keyspace -; toolsrc/ed.pla: 1253: memcpy(@undentstr + 1, @undentstr + 2, l - 1) -; toolsrc/ed.pla: 1254: l-- - !BYTE $6A ; LAW _D048+0 -_F544 !WORD _D048+0 - !BYTE $BA,$55 ; IDXLW [85] - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $6C,$50 ; DLB [80] - !BYTE $4C ; BRFLS _B407 - !WORD _B407-* - !BYTE $28,$01 ; LLA [1] - !BYTE $6A ; LAW _D048+0 -_F545 !WORD _D048+0 - !BYTE $BA,$55 ; IDXLW [85] - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $64,$50 ; LLB [80] - !BYTE $54 ; CALL _X018 -_F546 !WORD 0 - !BYTE $64,$01 ; LLB [1] - !BYTE $2A,$A0 ; CB 160 - !BYTE $24 ; BRNE _B409 - !WORD _B409-* - !BYTE $28,$01 ; LLA [1] - !BYTE $28,$02 ; LLA [2] - !BYTE $64,$50 ; LLB [80] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _X018 -_F547 !WORD 0 - !BYTE $64,$50 ; LLB [80] - !BYTE $8E ; DECR -; toolsrc/ed.pla: 1255: if l and undentstr[1] == keyspace -; toolsrc/ed.pla: 1256: memcpy(@undentstr + 1, @undentstr + 2, l - 1) -; toolsrc/ed.pla: 1257: l-- - !BYTE $6C,$50 ; DLB [80] - !BYTE $AC ; BRAND _B411 - !WORD _B411-* - !BYTE $64,$01 ; LLB [1] - !BYTE $2A,$A0 ; CB 160 - !BYTE $40 ; ISEQ -_B411 - !BYTE $4C ; BRFLS _B412 - !WORD _B412-* - !BYTE $28,$01 ; LLA [1] - !BYTE $28,$02 ; LLA [2] - !BYTE $64,$50 ; LLB [80] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _X018 -_F548 !WORD 0 - !BYTE $64,$50 ; LLB [80] - !BYTE $8E ; DECR -; toolsrc/ed.pla: 1258: fin - !BYTE $74,$50 ; SLB [80] -_B412 -_B413 -; toolsrc/ed.pla: 1259: undentstr[0] = l -; toolsrc/ed.pla: 1260: delstr(txtlinbuf=>[i]) -; toolsrc/ed.pla: 1261: txtlinbuf=>[i] = newstr(@undentstr) -; toolsrc/ed.pla: 1262: flags = flags | changed -; toolsrc/ed.pla: 1263: fin - !BYTE $64,$50 ; LLB [80] - !BYTE $74,$00 ; SLB [0] - !BYTE $6A ; LAW _D048+0 -_F549 !WORD _D048+0 - !BYTE $BA,$55 ; IDXLW [85] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C006 -_F550 !WORD _C006 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C007 -_F551 !WORD _C007 - !BYTE $6A ; LAW _D048+0 -_F552 !WORD _D048+0 - !BYTE $BA,$55 ; IDXLW [85] - !BYTE $72 ; SW - !BYTE $68 ; LAB _D040+0 -_F553 !WORD _D040+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D040+0 -_F554 !WORD _D040+0 -_B409 -_B410 -; toolsrc/ed.pla: 1264: fin -_B407 -_B408 -; toolsrc/ed.pla: 1265: next -_B406 - !BYTE $A4 ; INCBRLE _B405 - !WORD _B405-* -_B404 - !BYTE $76,$55 ; SLW [85] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1266: redraw -; toolsrc/ed.pla: 1267: end - !BYTE $54 ; CALL _C025 -_F555 !WORD _C025 - !BYTE $5A,$57 ; LEAVE 87 -; toolsrc/ed.pla: 1268: def autoindent(strptr)#0 - ; strptr -> [0] -_C056 ; autoindent() -; toolsrc/ed.pla: 1269: byte i - ; i -> [2] -; toolsrc/ed.pla: 1270: -; toolsrc/ed.pla: 1271: 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 _B414 - !WORD _B414-* -_B415 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/ed.pla: 1272: if ^(strptr + i) <> keyspace -; toolsrc/ed.pla: 1273: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$A0 ; CB 160 - !BYTE $22 ; BREQ _B417 - !WORD _B417-* - !BYTE $50 ; BRNCH _B414 - !WORD _B414-* -; toolsrc/ed.pla: 1274: fin -_B417 -_B418 -; toolsrc/ed.pla: 1275: next -_B416 - !BYTE $A4 ; INCBRLE _B415 - !WORD _B415-* -_B414 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1276: curshpos(i - 1) -; toolsrc/ed.pla: 1277: end - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C026 -_F556 !WORD _C026 - !BYTE $30 ; DROP - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/ed.pla: 1278: def openline(row) - ; row -> [0] -_C057 ; openline() -; toolsrc/ed.pla: 1279: if numlines < MAXLINES - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/ed.pla: 1280: memcpy(@txtlinbuf=>[row + 1], @txtlinbuf=>[row], (numlines - row) * 2) -; toolsrc/ed.pla: 1281: txtlinbuf=>[row] = @nullstr -; toolsrc/ed.pla: 1282: numlines++ - !BYTE $6A ; LAW _D042+0 -_F557 !WORD _D042+0 - !BYTE $2C,$E7,$03 ; CW 999 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B419 - !WORD _B419-* - !BYTE $6A ; LAW _D048+0 -_F558 !WORD _D048+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $6A ; LAW _D048+0 -_F559 !WORD _D048+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $6A ; LAW _D042+0 -_F560 !WORD _D042+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X018 -_F561 !WORD 0 - !BYTE $26 ; LA _D036+0 -_F562 !WORD _D036+0 - !BYTE $6A ; LAW _D048+0 -_F563 !WORD _D048+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $72 ; SW - !BYTE $6A ; LAW _D042+0 -_F564 !WORD _D042+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1283: flags = flags | changed -; toolsrc/ed.pla: 1284: return TRUE - !BYTE $7A ; SAW _D042+0 -_F565 !WORD _D042+0 - !BYTE $68 ; LAB _D040+0 -_F566 !WORD _D040+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D040+0 -_F567 !WORD _D040+0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 1285: fin -_B419 -_B420 -; toolsrc/ed.pla: 1286: bell -; toolsrc/ed.pla: 1287: return FALSE - !BYTE $54 ; CALL _C000 -_F568 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 1288: end -; toolsrc/ed.pla: 1289: def joinline#0 -_C058 ; joinline() -; toolsrc/ed.pla: 1290: byte joinstr[MAXLNLEN+1], joinlen, stripjoin[MAXLNLEN+1] - ; joinstr -> [0] - ; joinlen -> [80] - ; stripjoin -> [81] -; toolsrc/ed.pla: 1291: -; toolsrc/ed.pla: 1292: if cursrow < numlines - 1 - !BYTE $58,$A1,$00 ; ENTER 161,0 -; toolsrc/ed.pla: 1293: strstripcpy(@joinstr, txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1294: memcpy(@stripjoin, txtlinbuf=>[cursrow + 1], ^(txtlinbuf=>[cursrow + 1]) + 1) -; toolsrc/ed.pla: 1295: striplead(@stripjoin, keyspace); -; toolsrc/ed.pla: 1296: joinlen = joinstr + stripjoin -; toolsrc/ed.pla: 1297: if joinlen <= MAXLNLEN -; toolsrc/ed.pla: 1298: curshpos(joinstr) -; toolsrc/ed.pla: 1299: memcpy(@joinstr + joinstr + 1, @stripjoin + 1, stripjoin) -; toolsrc/ed.pla: 1300: joinstr = joinlen -; toolsrc/ed.pla: 1301: delstr(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1302: txtlinbuf=>[cursrow] = newstr(@joinstr) -; toolsrc/ed.pla: 1303: delstr(txtlinbuf=>[cursrow + 1]) -; toolsrc/ed.pla: 1304: numlines-- - !BYTE $6A ; LAW _D058+0 -_F569 !WORD _D058+0 - !BYTE $6A ; LAW _D042+0 -_F570 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B421 - !WORD _B421-* - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D048+0 -_F571 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F572 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C005 -_F573 !WORD _C005 - !BYTE $28,$51 ; LLA [81] - !BYTE $6A ; LAW _D048+0 -_F574 !WORD _D048+0 - !BYTE $6A ; LAW _D058+0 -_F575 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6A ; LAW _D048+0 -_F576 !WORD _D048+0 - !BYTE $6A ; LAW _D058+0 -_F577 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X018 -_F578 !WORD 0 - !BYTE $28,$51 ; LLA [81] - !BYTE $2A,$A0 ; CB 160 - !BYTE $54 ; CALL _C003 -_F579 !WORD _C003 - !BYTE $64,$00 ; LLB [0] - !BYTE $B0,$51 ; ADDLB [81] - !BYTE $6C,$50 ; DLB [80] - !BYTE $2A,$4F ; CB 79 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B423 - !WORD _B423-* - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _C026 -_F580 !WORD _C026 - !BYTE $30 ; DROP - !BYTE $28,$00 ; LLA [0] - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $8C ; INCR - !BYTE $28,$52 ; LLA [82] - !BYTE $64,$51 ; LLB [81] - !BYTE $54 ; CALL _X018 -_F581 !WORD 0 - !BYTE $64,$50 ; LLB [80] - !BYTE $74,$00 ; SLB [0] - !BYTE $6A ; LAW _D048+0 -_F582 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F583 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C006 -_F584 !WORD _C006 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C007 -_F585 !WORD _C007 - !BYTE $6A ; LAW _D048+0 -_F586 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F587 !WORD _D058+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D048+0 -_F588 !WORD _D048+0 - !BYTE $6A ; LAW _D058+0 -_F589 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _C006 -_F590 !WORD _C006 - !BYTE $6A ; LAW _D042+0 -_F591 !WORD _D042+0 - !BYTE $8E ; DECR -; toolsrc/ed.pla: 1305: memcpy(@txtlinbuf=>[cursrow + 1], @txtlinbuf=>[cursrow + 2], (numlines - cursrow) * 2) -; toolsrc/ed.pla: 1306: flags = flags | changed -; toolsrc/ed.pla: 1307: return - !BYTE $7A ; SAW _D042+0 -_F592 !WORD _D042+0 - !BYTE $6A ; LAW _D048+0 -_F593 !WORD _D048+0 - !BYTE $6A ; LAW _D058+0 -_F594 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $6A ; LAW _D048+0 -_F595 !WORD _D048+0 - !BYTE $6A ; LAW _D058+0 -_F596 !WORD _D058+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $9E ; IDXW - !BYTE $6A ; LAW _D042+0 -_F597 !WORD _D042+0 - !BYTE $6A ; LAW _D058+0 -_F598 !WORD _D058+0 - !BYTE $84 ; SUB - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X018 -_F599 !WORD 0 - !BYTE $68 ; LAB _D040+0 -_F600 !WORD _D040+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D040+0 -_F601 !WORD _D040+0 - !BYTE $5A,$A1 ; LEAVE 161 -; toolsrc/ed.pla: 1308: fin -_B423 -_B424 -; toolsrc/ed.pla: 1309: fin -_B421 -_B422 -; toolsrc/ed.pla: 1310: bell -; toolsrc/ed.pla: 1311: end - !BYTE $54 ; CALL _C000 -_F602 !WORD _C000 - !BYTE $5A,$A1 ; LEAVE 161 -; toolsrc/ed.pla: 1312: def splitline#0 -_C059 ; splitline() -; toolsrc/ed.pla: 1313: byte splitstr[MAXLNLEN+1], splitlen, i - ; splitstr -> [0] - ; splitlen -> [80] - ; i -> [81] -; toolsrc/ed.pla: 1314: -; toolsrc/ed.pla: 1315: if openline(cursrow + 1) - !BYTE $58,$52,$00 ; ENTER 82,0 -; toolsrc/ed.pla: 1316: if curscol -; toolsrc/ed.pla: 1317: splitlen = ^(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1318: if curscol < splitlen - 1 -; toolsrc/ed.pla: 1319: splitstr = splitlen - curscol -; toolsrc/ed.pla: 1320: memcpy(@splitstr + 1, txtlinbuf=>[cursrow] + curscol + 1, splitstr) -; toolsrc/ed.pla: 1321: striplead(@splitstr, keyspace) -; toolsrc/ed.pla: 1322: for i = 1 to curscol - !BYTE $6A ; LAW _D058+0 -_F603 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C057 -_F604 !WORD _C057 - !BYTE $4C ; BRFLS _B425 - !WORD _B425-* - !BYTE $6A ; LAW _D054+0 -_F605 !WORD _D054+0 - !BYTE $4C ; BRFLS _B427 - !WORD _B427-* - !BYTE $6A ; LAW _D048+0 -_F606 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F607 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $74,$50 ; SLB [80] - !BYTE $6A ; LAW _D054+0 -_F608 !WORD _D054+0 - !BYTE $64,$50 ; LLB [80] - !BYTE $8E ; DECR - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B429 - !WORD _B429-* - !BYTE $64,$50 ; LLB [80] - !BYTE $6A ; LAW _D054+0 -_F609 !WORD _D054+0 - !BYTE $84 ; SUB - !BYTE $74,$00 ; SLB [0] - !BYTE $28,$01 ; LLA [1] - !BYTE $6A ; LAW _D048+0 -_F610 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F611 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $B6 ; ADDAW _D054+0 -_F612 !WORD _D054+0 - !BYTE $8C ; INCR - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _X018 -_F613 !WORD 0 - !BYTE $28,$00 ; LLA [0] - !BYTE $2A,$A0 ; CB 160 - !BYTE $54 ; CALL _C003 -_F614 !WORD _C003 - !BYTE $6A ; LAW _D054+0 -_F615 !WORD _D054+0 - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B431 - !WORD _B431-* -_B432 - !BYTE $6C,$51 ; DLB [81] -; toolsrc/ed.pla: 1323: if ^(txtlinbuf=>[cursrow] + i) <> keyspace -; toolsrc/ed.pla: 1324: break - !BYTE $6A ; LAW _D048+0 -_F616 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F617 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $B0,$51 ; ADDLB [81] - !BYTE $60 ; LB - !BYTE $2A,$A0 ; CB 160 - !BYTE $22 ; BREQ _B434 - !WORD _B434-* - !BYTE $50 ; BRNCH _B431 - !WORD _B431-* -; toolsrc/ed.pla: 1325: fin -_B434 -_B435 -; toolsrc/ed.pla: 1326: memcpy(@splitstr + 2, @splitstr + 1, splitstr) -; toolsrc/ed.pla: 1327: splitstr[1] = keyspace -; toolsrc/ed.pla: 1328: splitstr++ - !BYTE $28,$02 ; LLA [2] - !BYTE $28,$01 ; LLA [1] - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _X018 -_F618 !WORD 0 - !BYTE $2A,$A0 ; CB 160 - !BYTE $74,$01 ; SLB [1] - !BYTE $64,$00 ; LLB [0] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1329: next - !BYTE $74,$00 ; SLB [0] -_B433 - !BYTE $A4 ; INCBRLE _B432 - !WORD _B432-* -_B431 - !BYTE $74,$51 ; SLB [81] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1330: txtlinbuf=>[cursrow + 1] = newstr(@splitstr) -; toolsrc/ed.pla: 1331: splitstr = curscol -; toolsrc/ed.pla: 1332: memcpy(@splitstr + 1, txtlinbuf=>[cursrow] + 1, splitstr) -; toolsrc/ed.pla: 1333: delstr(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1334: txtlinbuf=>[cursrow] = newstr(@splitstr) -; toolsrc/ed.pla: 1335: curshpos(i - 1) -; toolsrc/ed.pla: 1336: else - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C007 -_F619 !WORD _C007 - !BYTE $6A ; LAW _D048+0 -_F620 !WORD _D048+0 - !BYTE $6A ; LAW _D058+0 -_F621 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $6A ; LAW _D054+0 -_F622 !WORD _D054+0 - !BYTE $74,$00 ; SLB [0] - !BYTE $28,$01 ; LLA [1] - !BYTE $6A ; LAW _D048+0 -_F623 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F624 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _X018 -_F625 !WORD 0 - !BYTE $6A ; LAW _D048+0 -_F626 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F627 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C006 -_F628 !WORD _C006 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C007 -_F629 !WORD _C007 - !BYTE $6A ; LAW _D048+0 -_F630 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F631 !WORD _D058+0 - !BYTE $72 ; SW - !BYTE $64,$51 ; LLB [81] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C026 -_F632 !WORD _C026 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B430 - !WORD _B430-* -_B429 -; toolsrc/ed.pla: 1337: if splitlen > 0 -; toolsrc/ed.pla: 1338: for curscol = 1 to splitlen - 1 - !BYTE $64,$50 ; LLB [80] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B436 - !WORD _B436-* - !BYTE $64,$50 ; LLB [80] - !BYTE $8E ; DECR - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B438 - !WORD _B438-* -_B439 - !BYTE $7E ; DAW _D054+0 -_F633 !WORD _D054+0 -; toolsrc/ed.pla: 1339: if ^(txtlinbuf=>[cursrow] + curscol) <> keyspace -; toolsrc/ed.pla: 1340: break - !BYTE $6A ; LAW _D048+0 -_F634 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F635 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $B6 ; ADDAW _D054+0 -_F636 !WORD _D054+0 - !BYTE $60 ; LB - !BYTE $2A,$A0 ; CB 160 - !BYTE $22 ; BREQ _B441 - !WORD _B441-* - !BYTE $50 ; BRNCH _B438 - !WORD _B438-* -; toolsrc/ed.pla: 1341: fin -_B441 -_B442 -; toolsrc/ed.pla: 1342: next -_B440 - !BYTE $A4 ; INCBRLE _B439 - !WORD _B439-* -_B438 - !BYTE $7A ; SAW _D054+0 -_F637 !WORD _D054+0 - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1343: curshpos(curscol - 1) -; toolsrc/ed.pla: 1344: fin - !BYTE $6A ; LAW _D054+0 -_F638 !WORD _D054+0 - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C026 -_F639 !WORD _C026 - !BYTE $30 ; DROP -_B436 -_B437 -; toolsrc/ed.pla: 1345: fin -_B430 -; toolsrc/ed.pla: 1346: else - !BYTE $50 ; BRNCH _B428 - !WORD _B428-* -_B427 -; toolsrc/ed.pla: 1347: txtlinbuf=>[cursrow + 1] = txtlinbuf=>[cursrow] -; toolsrc/ed.pla: 1348: txtlinbuf=>[cursrow] = @nullstr -; toolsrc/ed.pla: 1349: fin - !BYTE $6A ; LAW _D048+0 -_F640 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F641 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D048+0 -_F642 !WORD _D048+0 - !BYTE $6A ; LAW _D058+0 -_F643 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $26 ; LA _D036+0 -_F644 !WORD _D036+0 - !BYTE $6A ; LAW _D048+0 -_F645 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F646 !WORD _D058+0 - !BYTE $72 ; SW -_B428 -; toolsrc/ed.pla: 1350: fin -_B425 -_B426 -; toolsrc/ed.pla: 1351: end - !BYTE $5A,$52 ; LEAVE 82 -; toolsrc/ed.pla: 1352: def editkey(key) - ; key -> [0] -_C060 ; editkey() -; toolsrc/ed.pla: 1353: if key >= keyspace or key == keydelete or key == keyctrld or key == keyctrlr - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/ed.pla: 1354: return TRUE - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$A0 ; CB 160 - !BYTE $48 ; ISGE - !BYTE $AE ; BROR _B443 - !WORD _B443-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$FF ; CB 255 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B444 - !WORD _B444-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$84 ; CB 132 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B445 - !WORD _B445-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$92 ; CB 146 - !BYTE $40 ; ISEQ -_B445 -_B444 -_B443 - !BYTE $4C ; BRFLS _B446 - !WORD _B446-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 1355: fin -_B446 -_B447 -; toolsrc/ed.pla: 1356: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 1357: end -; toolsrc/ed.pla: 1358: def editline(key) - ; key -> [0] -_C061 ; editline() -; toolsrc/ed.pla: 1359: word undoline - ; undoline -> [2] -; toolsrc/ed.pla: 1360: byte undopos, localchange, editstr[], editlen, editchars[MAXLNLEN+1] - ; undopos -> [4] - ; localchange -> [5] - ; editstr -> [6] - ; editlen -> [6] - ; editchars -> [7] -; toolsrc/ed.pla: 1361: -; toolsrc/ed.pla: 1362: if (editkey(key)) - !BYTE $58,$57,$01 ; ENTER 87,1 -; toolsrc/ed.pla: 1363: undopos = curscol -; toolsrc/ed.pla: 1364: undoline = txtlinbuf=>[cursrow] -; toolsrc/ed.pla: 1365: editlen = MAXLNLEN -; toolsrc/ed.pla: 1366: memset(@editchars, $A0A0, MAXLNLEN) -; toolsrc/ed.pla: 1367: memcpy(@editchars, undoline + 1, ^undoline) -; toolsrc/ed.pla: 1368: txtlinbuf=>[cursrow] = @editstr -; toolsrc/ed.pla: 1369: localchange = FALSE -; toolsrc/ed.pla: 1370: repeat - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C060 -_F647 !WORD _C060 - !BYTE $4C ; BRFLS _B448 - !WORD _B448-* - !BYTE $6A ; LAW _D054+0 -_F648 !WORD _D054+0 - !BYTE $74,$04 ; SLB [4] - !BYTE $6A ; LAW _D048+0 -_F649 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F650 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $2A,$4F ; CB 79 - !BYTE $74,$06 ; SLB [6] - !BYTE $28,$07 ; LLA [7] - !BYTE $2C,$A0,$A0 ; CW 41120 - !BYTE $2A,$4F ; CB 79 - !BYTE $54 ; CALL _X017 -_F651 !WORD 0 - !BYTE $28,$07 ; LLA [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F652 !WORD 0 - !BYTE $28,$06 ; LLA [6] - !BYTE $6A ; LAW _D048+0 -_F653 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F654 !WORD _D058+0 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] -_B451 -; toolsrc/ed.pla: 1371: when key - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B454-* -; toolsrc/ed.pla: 1372: is keyctrld -_B455 -; toolsrc/ed.pla: 1373: memcpy(@editchars[curscol], @editchars[curscol + 1], MAXLNLEN - 1 - curscol) -; toolsrc/ed.pla: 1374: editchars[MAXLNLEN - 1] = keyspace -; toolsrc/ed.pla: 1375: cursoff -; toolsrc/ed.pla: 1376: drawrow(cursy, scrnleft, @editstr) -; toolsrc/ed.pla: 1377: curson -; toolsrc/ed.pla: 1378: localchange = TRUE -; toolsrc/ed.pla: 1379: break - !BYTE $28,$07 ; LLA [7] - !BYTE $B6 ; ADDAW _D054+0 -_F655 !WORD _D054+0 - !BYTE $28,$07 ; LLA [7] - !BYTE $6A ; LAW _D054+0 -_F656 !WORD _D054+0 - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $2A,$4E ; CB 78 - !BYTE $6A ; LAW _D054+0 -_F657 !WORD _D054+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F658 !WORD 0 - !BYTE $2A,$A0 ; CB 160 - !BYTE $74,$55 ; SLB [85] - !BYTE $54 ; CALL _C022 -_F659 !WORD _C022 - !BYTE $6A ; LAW _D052+0 -_F660 !WORD _D052+0 - !BYTE $6A ; LAW _D053+0 -_F661 !WORD _D053+0 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C019 -_F662 !WORD _C019 - !BYTE $54 ; CALL _C023 -_F663 !WORD _C023 - !BYTE $20 ; MINUS ONE - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B453 - !WORD _B453-* -; toolsrc/ed.pla: 1380: is keyctrlr -_B456 -; toolsrc/ed.pla: 1381: memset(@editchars, $A0A0, MAXLNLEN) -; toolsrc/ed.pla: 1382: memcpy(@editchars, undoline + 1, ^undoline) -; toolsrc/ed.pla: 1383: cursoff -; toolsrc/ed.pla: 1384: if curshpos(undopos) -; toolsrc/ed.pla: 1385: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 1386: else - !BYTE $28,$07 ; LLA [7] - !BYTE $2C,$A0,$A0 ; CW 41120 - !BYTE $2A,$4F ; CB 79 - !BYTE $54 ; CALL _X017 -_F664 !WORD 0 - !BYTE $28,$07 ; LLA [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F665 !WORD 0 - !BYTE $54 ; CALL _C022 -_F666 !WORD _C022 - !BYTE $64,$04 ; LLB [4] - !BYTE $54 ; CALL _C026 -_F667 !WORD _C026 - !BYTE $4C ; BRFLS _B457 - !WORD _B457-* - !BYTE $6A ; LAW _D060+0 -_F668 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F669 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F670 !WORD _C021 - !BYTE $50 ; BRNCH _B458 - !WORD _B458-* -_B457 -; toolsrc/ed.pla: 1387: drawrow(cursy, scrnleft, @editstr) -; toolsrc/ed.pla: 1388: fin - !BYTE $6A ; LAW _D052+0 -_F671 !WORD _D052+0 - !BYTE $6A ; LAW _D053+0 -_F672 !WORD _D053+0 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C019 -_F673 !WORD _C019 -_B458 -; toolsrc/ed.pla: 1389: curson -; toolsrc/ed.pla: 1390: localchange = FALSE -; toolsrc/ed.pla: 1391: break - !BYTE $54 ; CALL _C023 -_F674 !WORD _C023 - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B453 - !WORD _B453-* -; toolsrc/ed.pla: 1392: is keydelete -_B459 -; toolsrc/ed.pla: 1393: if curscol > 0 -; toolsrc/ed.pla: 1394: memcpy(@editchars[curscol - 1], @editchars[curscol], MAXLNLEN - curscol) -; toolsrc/ed.pla: 1395: editchars[MAXLNLEN - 1] = keyspace -; toolsrc/ed.pla: 1396: cursoff -; toolsrc/ed.pla: 1397: if curshpos(curscol - 1) -; toolsrc/ed.pla: 1398: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 1399: else - !BYTE $6A ; LAW _D054+0 -_F675 !WORD _D054+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B460 - !WORD _B460-* - !BYTE $28,$07 ; LLA [7] - !BYTE $6A ; LAW _D054+0 -_F676 !WORD _D054+0 - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $28,$07 ; LLA [7] - !BYTE $B6 ; ADDAW _D054+0 -_F677 !WORD _D054+0 - !BYTE $2A,$4F ; CB 79 - !BYTE $6A ; LAW _D054+0 -_F678 !WORD _D054+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F679 !WORD 0 - !BYTE $2A,$A0 ; CB 160 - !BYTE $74,$55 ; SLB [85] - !BYTE $54 ; CALL _C022 -_F680 !WORD _C022 - !BYTE $6A ; LAW _D054+0 -_F681 !WORD _D054+0 - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C026 -_F682 !WORD _C026 - !BYTE $4C ; BRFLS _B462 - !WORD _B462-* - !BYTE $6A ; LAW _D060+0 -_F683 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F684 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F685 !WORD _C021 - !BYTE $50 ; BRNCH _B463 - !WORD _B463-* -_B462 -; toolsrc/ed.pla: 1400: drawrow(cursy, scrnleft, @editstr) -; toolsrc/ed.pla: 1401: fin - !BYTE $6A ; LAW _D052+0 -_F686 !WORD _D052+0 - !BYTE $6A ; LAW _D053+0 -_F687 !WORD _D053+0 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C019 -_F688 !WORD _C019 -_B463 -; toolsrc/ed.pla: 1402: curson -; toolsrc/ed.pla: 1403: localchange = TRUE -; toolsrc/ed.pla: 1404: fin - !BYTE $54 ; CALL _C023 -_F689 !WORD _C023 - !BYTE $20 ; MINUS ONE - !BYTE $74,$05 ; SLB [5] -_B460 -_B461 -; toolsrc/ed.pla: 1405: break - !BYTE $50 ; BRNCH _B453 - !WORD _B453-* -; toolsrc/ed.pla: 1406: otherwise -_B454 - !BYTE $03 ; CASEBLOCK - !WORD $0084 - !WORD _B455-* - !WORD $0092 - !WORD _B456-* - !WORD $00FF - !WORD _B459-* -; toolsrc/ed.pla: 1407: if flags & insmode -; toolsrc/ed.pla: 1408: if editchars[MAXLNLEN - 1] == keyspace -; toolsrc/ed.pla: 1409: memcpy(@editchars[curscol+1], @editchars[curscol], MAXLNLEN - 1 - curscol) -; toolsrc/ed.pla: 1410: else - !BYTE $68 ; LAB _D040+0 -_F690 !WORD _D040+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B464 - !WORD _B464-* - !BYTE $64,$55 ; LLB [85] - !BYTE $2A,$A0 ; CB 160 - !BYTE $24 ; BRNE _B466 - !WORD _B466-* - !BYTE $28,$07 ; LLA [7] - !BYTE $6A ; LAW _D054+0 -_F691 !WORD _D054+0 - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $28,$07 ; LLA [7] - !BYTE $B6 ; ADDAW _D054+0 -_F692 !WORD _D054+0 - !BYTE $2A,$4E ; CB 78 - !BYTE $6A ; LAW _D054+0 -_F693 !WORD _D054+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F694 !WORD 0 - !BYTE $50 ; BRNCH _B467 - !WORD _B467-* -_B466 -; toolsrc/ed.pla: 1411: bell -; toolsrc/ed.pla: 1412: break - !BYTE $54 ; CALL _C000 -_F695 !WORD _C000 - !BYTE $50 ; BRNCH _B453 - !WORD _B453-* -; toolsrc/ed.pla: 1413: fin -_B467 -; toolsrc/ed.pla: 1414: fin -_B464 -_B465 -; toolsrc/ed.pla: 1415: editchars[curscol] = caseconv(key) -; toolsrc/ed.pla: 1416: cursoff -; toolsrc/ed.pla: 1417: if curshpos(curscol + 1) -; toolsrc/ed.pla: 1418: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 1419: else - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F696 !WORD _C009 - !BYTE $28,$07 ; LLA [7] - !BYTE $B6 ; ADDAW _D054+0 -_F697 !WORD _D054+0 - !BYTE $70 ; SB - !BYTE $54 ; CALL _C022 -_F698 !WORD _C022 - !BYTE $6A ; LAW _D054+0 -_F699 !WORD _D054+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C026 -_F700 !WORD _C026 - !BYTE $4C ; BRFLS _B468 - !WORD _B468-* - !BYTE $6A ; LAW _D060+0 -_F701 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F702 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F703 !WORD _C021 - !BYTE $50 ; BRNCH _B469 - !WORD _B469-* -_B468 -; toolsrc/ed.pla: 1420: drawrow(cursy, scrnleft, @editstr) -; toolsrc/ed.pla: 1421: fin - !BYTE $6A ; LAW _D052+0 -_F704 !WORD _D052+0 - !BYTE $6A ; LAW _D053+0 -_F705 !WORD _D053+0 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C019 -_F706 !WORD _C019 -_B469 -; toolsrc/ed.pla: 1422: curson -; toolsrc/ed.pla: 1423: localchange = TRUE -; toolsrc/ed.pla: 1424: break - !BYTE $54 ; CALL _C023 -_F707 !WORD _C023 - !BYTE $20 ; MINUS ONE - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B453 - !WORD _B453-* -; toolsrc/ed.pla: 1425: wend -_B453 -; toolsrc/ed.pla: 1426: key = keyin() -; toolsrc/ed.pla: 1427: until not editkey(key) - !BYTE $6A ; LAW _D057+0 -_F708 !WORD _D057+0 - !BYTE $56 ; ICAL - !BYTE $76,$00 ; SLW [0] -_B452 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C060 -_F709 !WORD _C060 - !BYTE $4E ; BRTRU _B451 - !WORD _B451-* -_B450 -; toolsrc/ed.pla: 1428: if localchange -; toolsrc/ed.pla: 1429: flags = flags | changed -; toolsrc/ed.pla: 1430: delstr(undoline) -; toolsrc/ed.pla: 1431: txtlinbuf=>[cursrow] = newstr(@editstr) -; toolsrc/ed.pla: 1432: else - !BYTE $64,$05 ; LLB [5] - !BYTE $4C ; BRFLS _B470 - !WORD _B470-* - !BYTE $68 ; LAB _D040+0 -_F710 !WORD _D040+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D040+0 -_F711 !WORD _D040+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C006 -_F712 !WORD _C006 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C007 -_F713 !WORD _C007 - !BYTE $6A ; LAW _D048+0 -_F714 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F715 !WORD _D058+0 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B471 - !WORD _B471-* -_B470 -; toolsrc/ed.pla: 1433: txtlinbuf=>[cursrow] = undoline -; toolsrc/ed.pla: 1434: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D048+0 -_F716 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F717 !WORD _D058+0 - !BYTE $72 ; SW -_B471 -; toolsrc/ed.pla: 1435: fin -_B448 -_B449 -; toolsrc/ed.pla: 1436: return key - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$57 ; LEAVE 87 -; toolsrc/ed.pla: 1437: end -; toolsrc/ed.pla: 1438: def editmode#0 -_C062 ; editmode() -; toolsrc/ed.pla: 1439: if MACHID == $F2 // Apple 3 -; toolsrc/ed.pla: 1440: dev_control(cmdsys.devcons, 11, @a3noecho) -; toolsrc/ed.pla: 1441: fin - !BYTE $68 ; LAB _X001+0 -_F718 !WORD 0+0 - !BYTE $2A,$F2 ; CB 242 - !BYTE $24 ; BRNE _B472 - !WORD _B472-* - !BYTE $68 ; LAB _X000+20 -_F719 !WORD 0+20 - !BYTE $16 ; CN 11 - !BYTE $26 ; LA _D063+0 -_F720 !WORD _D063+0 - !BYTE $54 ; CALL _C040 -_F721 !WORD _C040 - !BYTE $30 ; DROP -_B472 -_B473 -; toolsrc/ed.pla: 1442: repeat -_B475 -; toolsrc/ed.pla: 1443: when editline(keyin()) - !BYTE $6A ; LAW _D057+0 -_F722 !WORD _D057+0 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C061 -_F723 !WORD _C061 - !BYTE $52 ; SEL - !WORD _B478-* -; toolsrc/ed.pla: 1444: is keyarrowup -_B479 -; toolsrc/ed.pla: 1445: cursup; break - !BYTE $54 ; CALL _C030 -_F724 !WORD _C030 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1446: is keyarrowdown -_B480 -; toolsrc/ed.pla: 1447: cursdown; break - !BYTE $54 ; CALL _C032 -_F725 !WORD _C032 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1448: is keyarrowleft -_B481 -; toolsrc/ed.pla: 1449: cursleft; break - !BYTE $54 ; CALL _C034 -_F726 !WORD _C034 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1450: is keyarrowright -_B482 -; toolsrc/ed.pla: 1451: cursright; break - !BYTE $54 ; CALL _C036 -_F727 !WORD _C036 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1452: is keyctrlw -_B483 -; toolsrc/ed.pla: 1453: pgup; break - !BYTE $54 ; CALL _C031 -_F728 !WORD _C031 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1454: is keyctrlz -_B484 -; toolsrc/ed.pla: 1455: pgdown; break - !BYTE $54 ; CALL _C033 -_F729 !WORD _C033 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1456: is keyctrla -_B485 -; toolsrc/ed.pla: 1457: pgleft; break - !BYTE $54 ; CALL _C035 -_F730 !WORD _C035 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1458: is keyctrls -_B486 -; toolsrc/ed.pla: 1459: pgright; break - !BYTE $54 ; CALL _C037 -_F731 !WORD _C037 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1460: is keyctrlq -_B487 -; toolsrc/ed.pla: 1461: curshome; break - !BYTE $54 ; CALL _C028 -_F732 !WORD _C028 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1462: is keyctrle -_B488 -; toolsrc/ed.pla: 1463: cursend; break - !BYTE $54 ; CALL _C029 -_F733 !WORD _C029 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1464: is keyctrlb -_B489 -; toolsrc/ed.pla: 1465: beginsel; break - !BYTE $54 ; CALL _C050 -_F734 !WORD _C050 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1466: is keyctrlc -_B490 -; toolsrc/ed.pla: 1467: copysel; break - !BYTE $54 ; CALL _C051 -_F735 !WORD _C051 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1468: is keyctrlx -_B491 -; toolsrc/ed.pla: 1469: cutsel; break - !BYTE $54 ; CALL _C052 -_F736 !WORD _C052 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1470: is keyctrlv -_B492 -; toolsrc/ed.pla: 1471: pastesel; break - !BYTE $54 ; CALL _C053 -_F737 !WORD _C053 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1472: is keyctrlf -_B493 -; toolsrc/ed.pla: 1473: if cursrow == (numlines - 1) -; toolsrc/ed.pla: 1474: if numlines < MAXLINES -; toolsrc/ed.pla: 1475: numlines++ - !BYTE $6A ; LAW _D058+0 -_F738 !WORD _D058+0 - !BYTE $6A ; LAW _D042+0 -_F739 !WORD _D042+0 - !BYTE $8E ; DECR - !BYTE $24 ; BRNE _B494 - !WORD _B494-* - !BYTE $6A ; LAW _D042+0 -_F740 !WORD _D042+0 - !BYTE $2C,$E7,$03 ; CW 999 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B496 - !WORD _B496-* - !BYTE $6A ; LAW _D042+0 -_F741 !WORD _D042+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1476: cursdown -; toolsrc/ed.pla: 1477: flags = flags | changed -; toolsrc/ed.pla: 1478: drawgutter(scrntop, scrnleft) -; toolsrc/ed.pla: 1479: else - !BYTE $7A ; SAW _D042+0 -_F742 !WORD _D042+0 - !BYTE $54 ; CALL _C032 -_F743 !WORD _C032 - !BYTE $68 ; LAB _D040+0 -_F744 !WORD _D040+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D040+0 -_F745 !WORD _D040+0 - !BYTE $6A ; LAW _D060+0 -_F746 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F747 !WORD _D053+0 - !BYTE $54 ; CALL _C020 -_F748 !WORD _C020 - !BYTE $50 ; BRNCH _B497 - !WORD _B497-* -_B496 -; toolsrc/ed.pla: 1480: bell -; toolsrc/ed.pla: 1481: fin - !BYTE $54 ; CALL _C000 -_F749 !WORD _C000 -_B497 -; toolsrc/ed.pla: 1482: break - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1483: fin -_B494 -_B495 -; toolsrc/ed.pla: 1484: cursdown -; toolsrc/ed.pla: 1485: is keyctrlo - !BYTE $54 ; CALL _C032 -_F750 !WORD _C032 -_B498 -; toolsrc/ed.pla: 1486: openline(cursrow) -; toolsrc/ed.pla: 1487: if cursrow -; toolsrc/ed.pla: 1488: autoindent(txtlinbuf=>[cursrow - 1]) -; toolsrc/ed.pla: 1489: else - !BYTE $6A ; LAW _D058+0 -_F751 !WORD _D058+0 - !BYTE $54 ; CALL _C057 -_F752 !WORD _C057 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D058+0 -_F753 !WORD _D058+0 - !BYTE $4C ; BRFLS _B499 - !WORD _B499-* - !BYTE $6A ; LAW _D048+0 -_F754 !WORD _D048+0 - !BYTE $6A ; LAW _D058+0 -_F755 !WORD _D058+0 - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _C056 -_F756 !WORD _C056 - !BYTE $50 ; BRNCH _B500 - !WORD _B500-* -_B499 -; toolsrc/ed.pla: 1490: curshpos(0) -; toolsrc/ed.pla: 1491: fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C026 -_F757 !WORD _C026 - !BYTE $30 ; DROP -_B500 -; toolsrc/ed.pla: 1492: redraw -; toolsrc/ed.pla: 1493: break - !BYTE $54 ; CALL _C025 -_F758 !WORD _C025 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1494: is keyenter -_B501 -; toolsrc/ed.pla: 1495: if flags & insmode -; toolsrc/ed.pla: 1496: splitline -; toolsrc/ed.pla: 1497: else - !BYTE $68 ; LAB _D040+0 -_F759 !WORD _D040+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B502 - !WORD _B502-* - !BYTE $54 ; CALL _C059 -_F760 !WORD _C059 - !BYTE $50 ; BRNCH _B503 - !WORD _B503-* -_B502 -; toolsrc/ed.pla: 1498: openline(cursrow + 1) -; toolsrc/ed.pla: 1499: fin - !BYTE $6A ; LAW _D058+0 -_F761 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C057 -_F762 !WORD _C057 - !BYTE $30 ; DROP -_B503 -; toolsrc/ed.pla: 1500: autoindent(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1501: cursvpos(cursrow + 1) -; toolsrc/ed.pla: 1502: redraw -; toolsrc/ed.pla: 1503: break - !BYTE $6A ; LAW _D048+0 -_F763 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F764 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C056 -_F765 !WORD _C056 - !BYTE $6A ; LAW _D058+0 -_F766 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C027 -_F767 !WORD _C027 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C025 -_F768 !WORD _C025 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1504: is keyctrlt -_B504 -; toolsrc/ed.pla: 1505: joinline -; toolsrc/ed.pla: 1506: redraw -; toolsrc/ed.pla: 1507: break - !BYTE $54 ; CALL _C058 -_F769 !WORD _C058 - !BYTE $54 ; CALL _C025 -_F770 !WORD _C025 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1508: is keytab -_B505 -; toolsrc/ed.pla: 1509: if flags & insmode -; toolsrc/ed.pla: 1510: indentsel -; toolsrc/ed.pla: 1511: cursoff -; toolsrc/ed.pla: 1512: if not ^(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1513: curshpos((curscol + 2) & $FE) -; toolsrc/ed.pla: 1514: else - !BYTE $68 ; LAB _D040+0 -_F771 !WORD _D040+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B506 - !WORD _B506-* - !BYTE $54 ; CALL _C054 -_F772 !WORD _C054 - !BYTE $54 ; CALL _C022 -_F773 !WORD _C022 - !BYTE $6A ; LAW _D048+0 -_F774 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F775 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B508 - !WORD _B508-* - !BYTE $6A ; LAW _D054+0 -_F776 !WORD _D054+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $3C,$FE ; ANDI 254 - !BYTE $54 ; CALL _C026 -_F777 !WORD _C026 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B509 - !WORD _B509-* -_B508 -; toolsrc/ed.pla: 1515: autoindent(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1516: fin - !BYTE $6A ; LAW _D048+0 -_F778 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F779 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C056 -_F780 !WORD _C056 -_B509 -; toolsrc/ed.pla: 1517: curson -; toolsrc/ed.pla: 1518: break - !BYTE $54 ; CALL _C023 -_F781 !WORD _C023 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1519: fin -_B506 -_B507 -; toolsrc/ed.pla: 1520: is keydetab -_B510 -; toolsrc/ed.pla: 1521: undentsel -; toolsrc/ed.pla: 1522: cursoff -; toolsrc/ed.pla: 1523: if not ^(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1524: curshpos((curscol - 2) & $FFFE) -; toolsrc/ed.pla: 1525: else - !BYTE $54 ; CALL _C055 -_F782 !WORD _C055 - !BYTE $54 ; CALL _C022 -_F783 !WORD _C022 - !BYTE $6A ; LAW _D048+0 -_F784 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F785 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B511 - !WORD _B511-* - !BYTE $6A ; LAW _D054+0 -_F786 !WORD _D054+0 - !BYTE $3A,$02 ; SUBI 2 - !BYTE $5E,$FE ; CFFB 65534 - !BYTE $94 ; AND - !BYTE $54 ; CALL _C026 -_F787 !WORD _C026 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B512 - !WORD _B512-* -_B511 -; toolsrc/ed.pla: 1526: autoindent(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1527: fin - !BYTE $6A ; LAW _D048+0 -_F788 !WORD _D048+0 - !BYTE $BE ; IDXAW _D058+0 -_F789 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C056 -_F790 !WORD _C056 -_B512 -; toolsrc/ed.pla: 1528: curson -; toolsrc/ed.pla: 1529: break - !BYTE $54 ; CALL _C023 -_F791 !WORD _C023 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1530: is keyctrly -_B513 -; toolsrc/ed.pla: 1531: flags = flags ^ insmode -; toolsrc/ed.pla: 1532: curschr = flags & insmode ?? '+' :: ' ' -; toolsrc/ed.pla: 1533: break - !BYTE $68 ; LAB _D040+0 -_F792 !WORD _D040+0 - !BYTE $04 ; CN 2 - !BYTE $98 ; XOR - !BYTE $7C ; DAB _D040+0 -_F793 !WORD _D040+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B514 - !WORD _B514-* - !BYTE $2A,$2B ; CB 43 - !BYTE $50 ; BRNCH _B515 - !WORD _B515-* -_B514 - !BYTE $2A,$20 ; CB 32 -_B515 - !BYTE $78 ; SAB _D056+0 -_F794 !WORD _D056+0 - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -; toolsrc/ed.pla: 1534: is keyescape -_B516 -; toolsrc/ed.pla: 1535: if MACHID == $F2 // Apple 3 -; toolsrc/ed.pla: 1536: dev_control(cmdsys.devcons, 11, @a3echo) -; toolsrc/ed.pla: 1537: fin - !BYTE $68 ; LAB _X001+0 -_F795 !WORD 0+0 - !BYTE $2A,$F2 ; CB 242 - !BYTE $24 ; BRNE _B517 - !WORD _B517-* - !BYTE $68 ; LAB _X000+20 -_F796 !WORD 0+20 - !BYTE $16 ; CN 11 - !BYTE $26 ; LA _D062+0 -_F797 !WORD _D062+0 - !BYTE $54 ; CALL _C040 -_F798 !WORD _C040 - !BYTE $30 ; DROP -_B517 -_B518 -; toolsrc/ed.pla: 1538: cursoff -; toolsrc/ed.pla: 1539: cmdmode -; toolsrc/ed.pla: 1540: if not exit -; toolsrc/ed.pla: 1541: if MACHID == $F2 // Apple 3 -; toolsrc/ed.pla: 1542: dev_control(cmdsys.devcons, 11, @a3noecho) -; toolsrc/ed.pla: 1543: fin - !BYTE $54 ; CALL _C022 -_F799 !WORD _C022 - !BYTE $54 ; CALL _P000 -_F800 !WORD _P000 - !BYTE $68 ; LAB _D039+0 -_F801 !WORD _D039+0 - !BYTE $4E ; BRTRU _B519 - !WORD _B519-* - !BYTE $68 ; LAB _X001+0 -_F802 !WORD 0+0 - !BYTE $2A,$F2 ; CB 242 - !BYTE $24 ; BRNE _B521 - !WORD _B521-* - !BYTE $68 ; LAB _X000+20 -_F803 !WORD 0+20 - !BYTE $16 ; CN 11 - !BYTE $26 ; LA _D063+0 -_F804 !WORD _D063+0 - !BYTE $54 ; CALL _C040 -_F805 !WORD _C040 - !BYTE $30 ; DROP -_B521 -_B522 -; toolsrc/ed.pla: 1544: redraw -; toolsrc/ed.pla: 1545: fin - !BYTE $54 ; CALL _C025 -_F806 !WORD _C025 -_B519 -_B520 -; toolsrc/ed.pla: 1546: wend - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -_B478 - !BYTE $16 ; CASEBLOCK - !WORD $0081 - !WORD _B485-* - !WORD $0082 - !WORD _B489-* - !WORD $0083 - !WORD _B490-* - !WORD $0085 - !WORD _B488-* - !WORD $0086 - !WORD _B493-* - !WORD $0088 - !WORD _B481-* - !WORD $0089 - !WORD _B505-* - !WORD $008A - !WORD _B480-* - !WORD $008B - !WORD _B479-* - !WORD $008D - !WORD _B501-* - !WORD $008F - !WORD _B498-* - !WORD $0091 - !WORD _B487-* - !WORD $0093 - !WORD _B486-* - !WORD $0094 - !WORD _B504-* - !WORD $0095 - !WORD _B482-* - !WORD $0096 - !WORD _B492-* - !WORD $0097 - !WORD _B483-* - !WORD $0098 - !WORD _B491-* - !WORD $0099 - !WORD _B513-* - !WORD $009A - !WORD _B484-* - !WORD $009B - !WORD _B516-* - !WORD $009D - !WORD _B510-* -_B477 -; toolsrc/ed.pla: 1547: until exit -_B476 - !BYTE $68 ; LAB _D039+0 -_F807 !WORD _D039+0 - !BYTE $4C ; BRFLS _B475 - !WORD _B475-* -_B474 -; toolsrc/ed.pla: 1548: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 1549: // -; toolsrc/ed.pla: 1550: // Command mode -; toolsrc/ed.pla: 1551: // -; toolsrc/ed.pla: 1552: def prfiles(optpath) - ; optpath -> [0] -_C063 ; prfiles() -; toolsrc/ed.pla: 1553: byte path[64] - ; path -> [2] -; toolsrc/ed.pla: 1554: byte refnum - ; refnum -> [66] -; toolsrc/ed.pla: 1555: byte firstblk - ; firstblk -> [67] -; toolsrc/ed.pla: 1556: byte entrylen, entriesblk - ; entrylen -> [68] - ; entriesblk -> [69] -; toolsrc/ed.pla: 1557: byte i, type, len - ; i -> [70] - ; type -> [71] - ; len -> [72] -; toolsrc/ed.pla: 1558: word databuff, entry - ; databuff -> [73] - ; entry -> [75] -; toolsrc/ed.pla: 1559: -; toolsrc/ed.pla: 1560: if ^optpath - !BYTE $58,$4D,$01 ; ENTER 77,1 -; toolsrc/ed.pla: 1561: strstripcpy(@path, optpath) -; toolsrc/ed.pla: 1562: else - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B523 - !WORD _B523-* - !BYTE $28,$02 ; LLA [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C005 -_F808 !WORD _C005 - !BYTE $50 ; BRNCH _B524 - !WORD _B524-* -_B523 -; toolsrc/ed.pla: 1563: fileio:getpfx(@path) -; toolsrc/ed.pla: 1564: puts(@path) -; toolsrc/ed.pla: 1565: putln -; toolsrc/ed.pla: 1566: fin - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X031+0 -_F809 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X004 -_F810 !WORD 0 - !BYTE $54 ; CALL _X003 -_F811 !WORD 0 -_B524 -; toolsrc/ed.pla: 1567: databuff = heapalloc(512) -; toolsrc/ed.pla: 1568: refnum = fileio:open(@path) -; toolsrc/ed.pla: 1569: if perr -; toolsrc/ed.pla: 1570: return perr - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X014 -_F812 !WORD 0 - !BYTE $76,$49 ; SLW [73] - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X031+14 -_F813 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $74,$42 ; SLB [66] - !BYTE $68 ; LAB _X032+0 -_F814 !WORD 0+0 - !BYTE $4C ; BRFLS _B525 - !WORD _B525-* - !BYTE $68 ; LAB _X032+0 -_F815 !WORD 0+0 - !BYTE $5A,$4D ; LEAVE 77 -; toolsrc/ed.pla: 1571: fin -_B525 -_B526 -; toolsrc/ed.pla: 1572: firstblk = 1 -; toolsrc/ed.pla: 1573: while fileio:read(refnum, databuff, 512) == 512 - !BYTE $02 ; CN 1 - !BYTE $74,$43 ; SLB [67] - !BYTE $50 ; BRNCH _B529 - !WORD _B529-* -_B527 -; toolsrc/ed.pla: 1574: entry = databuff + 4 -; toolsrc/ed.pla: 1575: if firstblk -; toolsrc/ed.pla: 1576: entrylen = databuff->$23 -; toolsrc/ed.pla: 1577: entriesblk = databuff->$24 -; toolsrc/ed.pla: 1578: entry = entry + entrylen -; toolsrc/ed.pla: 1579: fin - !BYTE $66,$49 ; LLW [73] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$4B ; SLW [75] - !BYTE $64,$43 ; LLB [67] - !BYTE $4C ; BRFLS _B530 - !WORD _B530-* - !BYTE $66,$49 ; LLW [73] - !BYTE $38,$23 ; ADDI 35 - !BYTE $60 ; LB - !BYTE $74,$44 ; SLB [68] - !BYTE $66,$49 ; LLW [73] - !BYTE $38,$24 ; ADDI 36 - !BYTE $60 ; LB - !BYTE $74,$45 ; SLB [69] - !BYTE $66,$4B ; LLW [75] - !BYTE $B0,$44 ; ADDLB [68] - !BYTE $76,$4B ; SLW [75] -_B530 -_B531 -; toolsrc/ed.pla: 1580: for i = firstblk to entriesblk - !BYTE $64,$45 ; LLB [69] - !BYTE $64,$43 ; LLB [67] - !BYTE $A0 ; BRGT _B532 - !WORD _B532-* -_B533 - !BYTE $6C,$46 ; DLB [70] -; toolsrc/ed.pla: 1581: type = ^entry -; toolsrc/ed.pla: 1582: if type <> 0 -; toolsrc/ed.pla: 1583: len = type & $0F -; toolsrc/ed.pla: 1584: ^entry = len -; toolsrc/ed.pla: 1585: puts(entry) -; toolsrc/ed.pla: 1586: if type & $F0 == $D0 // Is it a directory? -; toolsrc/ed.pla: 1587: putc('/') -; toolsrc/ed.pla: 1588: len++ - !BYTE $66,$4B ; LLW [75] - !BYTE $60 ; LB - !BYTE $6C,$47 ; DLB [71] - !BYTE $4C ; BRFLS _B535 - !WORD _B535-* - !BYTE $64,$47 ; LLB [71] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $6C,$48 ; DLB [72] - !BYTE $66,$4B ; LLW [75] - !BYTE $70 ; SB - !BYTE $66,$4B ; LLW [75] - !BYTE $54 ; CALL _X004 -_F816 !WORD 0 - !BYTE $64,$47 ; LLB [71] - !BYTE $3C,$F0 ; ANDI 240 - !BYTE $2A,$D0 ; CB 208 - !BYTE $24 ; BRNE _B537 - !WORD _B537-* - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X002 -_F817 !WORD 0 - !BYTE $64,$48 ; LLB [72] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1589: fin - !BYTE $74,$48 ; SLB [72] -_B537 -_B538 -; toolsrc/ed.pla: 1590: for len = 20 - len downto 1 - !BYTE $02 ; CN 1 - !BYTE $2A,$14 ; CB 20 - !BYTE $64,$48 ; LLB [72] - !BYTE $84 ; SUB - !BYTE $A2 ; BRLT _B539 - !WORD _B539-* -_B540 - !BYTE $6C,$48 ; DLB [72] -; toolsrc/ed.pla: 1591: putc(' ') -; toolsrc/ed.pla: 1592: next - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F818 !WORD 0 -_B541 - !BYTE $A8 ; DECBRGE _B540 - !WORD _B540-* -_B539 - !BYTE $74,$48 ; SLB [72] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1593: fin -_B535 -_B536 -; toolsrc/ed.pla: 1594: entry = entry + entrylen -; toolsrc/ed.pla: 1595: next - !BYTE $66,$4B ; LLW [75] - !BYTE $B0,$44 ; ADDLB [68] - !BYTE $76,$4B ; SLW [75] -_B534 - !BYTE $A4 ; INCBRLE _B533 - !WORD _B533-* -_B532 - !BYTE $74,$46 ; SLB [70] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1596: firstblk = 0 -; toolsrc/ed.pla: 1597: loop - !BYTE $00 ; CN 0 - !BYTE $74,$43 ; SLB [67] -_B529 - !BYTE $64,$42 ; LLB [66] - !BYTE $66,$49 ; LLW [73] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $6A ; LAW _X031+18 -_F819 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $22 ; BREQ _B527 - !WORD _B527-* -_B528 -; toolsrc/ed.pla: 1598: fileio:close(refnum) -; toolsrc/ed.pla: 1599: heaprelease(databuff) -; toolsrc/ed.pla: 1600: putln -; toolsrc/ed.pla: 1601: return 0 - !BYTE $64,$42 ; LLB [66] - !BYTE $6A ; LAW _X031+16 -_F820 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$49 ; LLW [73] - !BYTE $54 ; CALL _X015 -_F821 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X003 -_F822 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$4D ; LEAVE 77 -; toolsrc/ed.pla: 1602: end -; toolsrc/ed.pla: 1603: def parsecmd(strptr) - ; strptr -> [0] -_C064 ; parsecmd() -; toolsrc/ed.pla: 1604: byte cmd - ; cmd -> [2] -; toolsrc/ed.pla: 1605: -; toolsrc/ed.pla: 1606: cmd = 0 - !BYTE $58,$03,$01 ; ENTER 3,1 -; toolsrc/ed.pla: 1607: striplead(strptr, ' ') -; toolsrc/ed.pla: 1608: if ^strptr -; toolsrc/ed.pla: 1609: cmd = ^(strptr + 1) -; toolsrc/ed.pla: 1610: memcpy(strptr + 1, strptr + 2, ^strptr) -; toolsrc/ed.pla: 1611: ^strptr-- - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C003 -_F823 !WORD _C003 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B542 - !WORD _B542-* - !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 -_F824 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; toolsrc/ed.pla: 1612: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B542 -_B543 -; toolsrc/ed.pla: 1613: if ^strptr -; toolsrc/ed.pla: 1614: striplead(strptr, ' ') -; toolsrc/ed.pla: 1615: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B544 - !WORD _B544-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C003 -_F825 !WORD _C003 -_B544 -_B545 -; toolsrc/ed.pla: 1616: return cmd - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/ed.pla: 1617: end -; toolsrc/ed.pla: 1618: def chkchng -_C065 ; chkchng() -; toolsrc/ed.pla: 1619: if flags & changed -; toolsrc/ed.pla: 1620: puts("LOSE CHANGES TO FILE (Y/N)?") - !BYTE $68 ; LAB _D040+0 -_F826 !WORD _D040+0 - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B546 - !WORD _B546-* - !BYTE $2E ; CS - !BYTE $1B - !BYTE $4C,$4F,$53,$45,$20,$43,$48,$41 - !BYTE $4E,$47,$45,$53,$20,$54,$4F,$20 - !BYTE $46,$49,$4C,$45,$20,$28,$59,$2F - !BYTE $4E,$29,$3F - !BYTE $54 ; CALL _X004 -_F827 !WORD 0 -; toolsrc/ed.pla: 1621: if toupper(keyin()) == 'N' -; toolsrc/ed.pla: 1622: putln -; toolsrc/ed.pla: 1623: return FALSE - !BYTE $6A ; LAW _D057+0 -_F828 !WORD _D057+0 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _X021 -_F829 !WORD 0 - !BYTE $2A,$4E ; CB 78 - !BYTE $24 ; BRNE _B548 - !WORD _B548-* - !BYTE $54 ; CALL _X003 -_F830 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; toolsrc/ed.pla: 1624: fin -_B548 -_B549 -; toolsrc/ed.pla: 1625: putln -; toolsrc/ed.pla: 1626: fin - !BYTE $54 ; CALL _X003 -_F831 !WORD 0 -_B546 -_B547 -; toolsrc/ed.pla: 1627: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; toolsrc/ed.pla: 1628: end -; toolsrc/ed.pla: 1629: def cmdmode#0 -_P000 ; cmdmode#0() -_C066 ; cmdmode() -; toolsrc/ed.pla: 1630: byte slot - ; slot -> [0] -; toolsrc/ed.pla: 1631: word cmdptr, line - ; cmdptr -> [1] - ; line -> [3] -; toolsrc/ed.pla: 1632: -; toolsrc/ed.pla: 1633: clrscrn - !BYTE $58,$05,$00 ; ENTER 5,0 -; toolsrc/ed.pla: 1634: puts("PLASMA Editor, Version 2.0\n") - !BYTE $54 ; CALL _C018 -_F832 !WORD _C018 - !BYTE $2E ; CS - !BYTE $1B - !BYTE $50,$4C,$41,$53,$4D,$41,$20,$45 - !BYTE $64,$69,$74,$6F,$72,$2C,$20,$56 - !BYTE $65,$72,$73,$69,$6F,$6E,$20,$32 - !BYTE $2E,$30,$0D - !BYTE $54 ; CALL _X004 -_F833 !WORD 0 -; toolsrc/ed.pla: 1635: while not exit - !BYTE $50 ; BRNCH _B552 - !WORD _B552-* -_B550 -; toolsrc/ed.pla: 1636: puts(@filename) -; toolsrc/ed.pla: 1637: cmdptr = gets($BA) -; toolsrc/ed.pla: 1638: when toupper(parsecmd(cmdptr)) - !BYTE $26 ; LA _D038+0 -_F834 !WORD _D038+0 - !BYTE $54 ; CALL _X004 -_F835 !WORD 0 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _X007 -_F836 !WORD 0 - !BYTE $6E,$01 ; DLW [1] - !BYTE $54 ; CALL _C064 -_F837 !WORD _C064 - !BYTE $54 ; CALL _X021 -_F838 !WORD 0 - !BYTE $52 ; SEL - !WORD _B554-* -; toolsrc/ed.pla: 1639: is 'F' // Find string -_B555 -; toolsrc/ed.pla: 1640: if ^cmdptr -; toolsrc/ed.pla: 1641: lnupcpy(@findstr, cmdptr) -; toolsrc/ed.pla: 1642: fin - !BYTE $66,$01 ; LLW [1] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B556 - !WORD _B556-* - !BYTE $26 ; LA _D037+0 -_F839 !WORD _D037+0 - !BYTE $66,$01 ; LLW [1] - !BYTE $54 ; CALL _A003 -_F840 !WORD _A003 -_B556 -_B557 -; toolsrc/ed.pla: 1643: findtxt -; toolsrc/ed.pla: 1644: return - !BYTE $54 ; CALL _C039 -_F841 !WORD _C039 - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 1645: is 'T' // Toggle upper/lower case display -_B558 -; toolsrc/ed.pla: 1646: if ^cmdptr -; toolsrc/ed.pla: 1647: when toupper(^(cmdptr + 1)) - !BYTE $66,$01 ; LLW [1] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B559 - !WORD _B559-* - !BYTE $66,$01 ; LLW [1] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F842 !WORD 0 - !BYTE $52 ; SEL - !WORD _B562-* -; toolsrc/ed.pla: 1648: is 'G' // Gutter view -_B563 -; toolsrc/ed.pla: 1649: flags = flags ^ gutter -; toolsrc/ed.pla: 1650: if flags & gutter -; toolsrc/ed.pla: 1651: scrnwidth = 36 -; toolsrc/ed.pla: 1652: scrnright = 35 -; toolsrc/ed.pla: 1653: else - !BYTE $68 ; LAB _D040+0 -_F843 !WORD _D040+0 - !BYTE $08 ; CN 4 - !BYTE $98 ; XOR - !BYTE $7C ; DAB _D040+0 -_F844 !WORD _D040+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B564 - !WORD _B564-* - !BYTE $2A,$24 ; CB 36 - !BYTE $7A ; SAW _D033+0 -_F845 !WORD _D033+0 - !BYTE $2A,$23 ; CB 35 - !BYTE $7A ; SAW _D034+0 -_F846 !WORD _D034+0 - !BYTE $50 ; BRNCH _B565 - !WORD _B565-* -_B564 -; toolsrc/ed.pla: 1654: scrnwidth = 40 -; toolsrc/ed.pla: 1655: scrnright = 39 -; toolsrc/ed.pla: 1656: fin - !BYTE $2A,$28 ; CB 40 - !BYTE $7A ; SAW _D033+0 -_F847 !WORD _D033+0 - !BYTE $2A,$27 ; CB 39 - !BYTE $7A ; SAW _D034+0 -_F848 !WORD _D034+0 -_B565 -; toolsrc/ed.pla: 1657: break - !BYTE $50 ; BRNCH _B561 - !WORD _B561-* -; toolsrc/ed.pla: 1658: is 'C' // Lower case chip (Apple ][/][+ only) -_B566 -; toolsrc/ed.pla: 1659: if flags & uppercase -; toolsrc/ed.pla: 1660: txtlower -; toolsrc/ed.pla: 1661: else - !BYTE $68 ; LAB _D040+0 -_F849 !WORD _D040+0 - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B567 - !WORD _B567-* - !BYTE $54 ; CALL _C013 -_F850 !WORD _C013 - !BYTE $50 ; BRNCH _B568 - !WORD _B568-* -_B567 -; toolsrc/ed.pla: 1662: txtupper -; toolsrc/ed.pla: 1663: fin - !BYTE $54 ; CALL _C012 -_F851 !WORD _C012 -_B568 -; toolsrc/ed.pla: 1664: break - !BYTE $50 ; BRNCH _B561 - !WORD _B561-* -; toolsrc/ed.pla: 1665: wend - !BYTE $50 ; BRNCH _B561 - !WORD _B561-* -_B562 - !BYTE $02 ; CASEBLOCK - !WORD $0043 - !WORD _B566-* - !WORD $0047 - !WORD _B563-* -_B561 -; toolsrc/ed.pla: 1666: fin -_B559 -_B560 -; toolsrc/ed.pla: 1667: return - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 1668: is 'G' // Goto line # -_B569 -; toolsrc/ed.pla: 1669: line = strtonum(cmdptr) -; toolsrc/ed.pla: 1670: if line -; toolsrc/ed.pla: 1671: curshpos(0) -; toolsrc/ed.pla: 1672: cursvpos(line - 1) -; toolsrc/ed.pla: 1673: fin - !BYTE $66,$01 ; LLW [1] - !BYTE $54 ; CALL _C014 -_F852 !WORD _C014 - !BYTE $6E,$03 ; DLW [3] - !BYTE $4C ; BRFLS _B570 - !WORD _B570-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C026 -_F853 !WORD _C026 - !BYTE $30 ; DROP - !BYTE $66,$03 ; LLW [3] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C027 -_F854 !WORD _C027 - !BYTE $30 ; DROP -_B570 -_B571 -; toolsrc/ed.pla: 1674: is 'E' // Edit mode -_B572 -; toolsrc/ed.pla: 1675: is 0 -_B573 -; toolsrc/ed.pla: 1676: return - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 1677: is 'A' // Append file -_B574 -; toolsrc/ed.pla: 1678: readtxt(cmdptr, numlines) -; toolsrc/ed.pla: 1679: flags = flags | changed -; toolsrc/ed.pla: 1680: break - !BYTE $66,$01 ; LLW [1] - !BYTE $6A ; LAW _D042+0 -_F855 !WORD _D042+0 - !BYTE $54 ; CALL _C016 -_F856 !WORD _C016 - !BYTE $68 ; LAB _D040+0 -_F857 !WORD _D040+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D040+0 -_F858 !WORD _D040+0 - !BYTE $50 ; BRNCH _B553 - !WORD _B553-* -; toolsrc/ed.pla: 1681: is 'R' // Read file -_B575 -; toolsrc/ed.pla: 1682: if chkchng -; toolsrc/ed.pla: 1683: inittxtbuf -; toolsrc/ed.pla: 1684: strstripcpy(@filename, cmdptr) -; toolsrc/ed.pla: 1685: readtxt(@filename, 0) -; toolsrc/ed.pla: 1686: flags = flags & ~changed -; toolsrc/ed.pla: 1687: fin - !BYTE $54 ; CALL _C065 -_F859 !WORD _C065 - !BYTE $4C ; BRFLS _B576 - !WORD _B576-* - !BYTE $54 ; CALL _C008 -_F860 !WORD _C008 - !BYTE $26 ; LA _D038+0 -_F861 !WORD _D038+0 - !BYTE $66,$01 ; LLW [1] - !BYTE $54 ; CALL _C005 -_F862 !WORD _C005 - !BYTE $26 ; LA _D038+0 -_F863 !WORD _D038+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F864 !WORD _C016 - !BYTE $68 ; LAB _D040+0 -_F865 !WORD _D040+0 - !BYTE $5E,$FE ; CFFB -2 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D040+0 -_F866 !WORD _D040+0 -_B576 -_B577 -; toolsrc/ed.pla: 1688: break - !BYTE $50 ; BRNCH _B553 - !WORD _B553-* -; toolsrc/ed.pla: 1689: is 'W' // Write file -_B578 -; toolsrc/ed.pla: 1690: if ^cmdptr -; toolsrc/ed.pla: 1691: strstripcpy(@filename, cmdptr) -; toolsrc/ed.pla: 1692: fin - !BYTE $66,$01 ; LLW [1] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B579 - !WORD _B579-* - !BYTE $26 ; LA _D038+0 -_F867 !WORD _D038+0 - !BYTE $66,$01 ; LLW [1] - !BYTE $54 ; CALL _C005 -_F868 !WORD _C005 -_B579 -_B580 -; toolsrc/ed.pla: 1693: writetxt(@filename) -; toolsrc/ed.pla: 1694: //if flags & changed; fin -; toolsrc/ed.pla: 1695: flags = flags & ~changed -; toolsrc/ed.pla: 1696: break - !BYTE $26 ; LA _D038+0 -_F869 !WORD _D038+0 - !BYTE $54 ; CALL _C017 -_F870 !WORD _C017 - !BYTE $68 ; LAB _D040+0 -_F871 !WORD _D040+0 - !BYTE $5E,$FE ; CFFB -2 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D040+0 -_F872 !WORD _D040+0 - !BYTE $50 ; BRNCH _B553 - !WORD _B553-* -; toolsrc/ed.pla: 1697: is 'C' // Catalog -_B581 -; toolsrc/ed.pla: 1698: prfiles(cmdptr); break - !BYTE $66,$01 ; LLW [1] - !BYTE $54 ; CALL _C063 -_F873 !WORD _C063 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B553 - !WORD _B553-* -; toolsrc/ed.pla: 1699: is 'P' // Prefix -_B582 -; toolsrc/ed.pla: 1700: fileio:setpfx(cmdptr); break - !BYTE $66,$01 ; LLW [1] - !BYTE $6A ; LAW _X031+2 -_F874 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B553 - !WORD _B553-* -; toolsrc/ed.pla: 1701: is 'H' // Hardcopy -_B583 -; toolsrc/ed.pla: 1702: if ^cmdptr -; toolsrc/ed.pla: 1703: slot = cmdptr.1 - '0' -; toolsrc/ed.pla: 1704: else - !BYTE $66,$01 ; LLW [1] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B584 - !WORD _B584-* - !BYTE $64,$02 ; LLB [2] - !BYTE $3A,$30 ; SUBI 48 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B585 - !WORD _B585-* -_B584 -; toolsrc/ed.pla: 1705: slot = 1 -; toolsrc/ed.pla: 1706: fin - !BYTE $02 ; CN 1 - !BYTE $74,$00 ; SLB [0] -_B585 -; toolsrc/ed.pla: 1707: printtxt(slot) -; toolsrc/ed.pla: 1708: break - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _C047 -_F875 !WORD _C047 - !BYTE $50 ; BRNCH _B553 - !WORD _B553-* -; toolsrc/ed.pla: 1709: is 'Q' // Quit -_B586 -; toolsrc/ed.pla: 1710: exit = chkchng -; toolsrc/ed.pla: 1711: if not exit -; toolsrc/ed.pla: 1712: return - !BYTE $54 ; CALL _C065 -_F876 !WORD _C065 - !BYTE $7C ; DAB _D039+0 -_F877 !WORD _D039+0 - !BYTE $4E ; BRTRU _B587 - !WORD _B587-* - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 1713: fin -_B587 -_B588 -; toolsrc/ed.pla: 1714: break - !BYTE $50 ; BRNCH _B553 - !WORD _B553-* -; toolsrc/ed.pla: 1715: is 'N' -_B589 -; toolsrc/ed.pla: 1716: if chkchng -; toolsrc/ed.pla: 1717: inittxtbuf -; toolsrc/ed.pla: 1718: strstripcpy(@filename, "UNTITLED") - !BYTE $54 ; CALL _C065 -_F878 !WORD _C065 - !BYTE $4C ; BRFLS _B590 - !WORD _B590-* - !BYTE $54 ; CALL _C008 -_F879 !WORD _C008 - !BYTE $26 ; LA _D038+0 -_F880 !WORD _D038+0 - !BYTE $2E ; CS - !BYTE $08 - !BYTE $55,$4E,$54,$49,$54,$4C,$45,$44 - !BYTE $54 ; CALL _C005 -_F881 !WORD _C005 -; toolsrc/ed.pla: 1719: fin -_B590 -_B591 -; toolsrc/ed.pla: 1720: break - !BYTE $50 ; BRNCH _B553 - !WORD _B553-* -; toolsrc/ed.pla: 1721: otherwise -_B554 - !BYTE $0D ; CASEBLOCK - !WORD $0000 - !WORD _B573-* - !WORD $0041 - !WORD _B574-* - !WORD $0043 - !WORD _B581-* - !WORD $0045 - !WORD _B572-* - !WORD $0046 - !WORD _B555-* - !WORD $0047 - !WORD _B569-* - !WORD $0048 - !WORD _B583-* - !WORD $004E - !WORD _B589-* - !WORD $0050 - !WORD _B582-* - !WORD $0051 - !WORD _B586-* - !WORD $0052 - !WORD _B575-* - !WORD $0054 - !WORD _B558-* - !WORD $0057 - !WORD _B578-* -; toolsrc/ed.pla: 1722: bell -; toolsrc/ed.pla: 1723: putc('?') -; toolsrc/ed.pla: 1724: putln -; toolsrc/ed.pla: 1725: wend - !BYTE $54 ; CALL _C000 -_F882 !WORD _C000 - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _X002 -_F883 !WORD 0 - !BYTE $54 ; CALL _X003 -_F884 !WORD 0 -_B553 -; toolsrc/ed.pla: 1726: if perr -; toolsrc/ed.pla: 1727: puts("ERROR: $") - !BYTE $68 ; LAB _X032+0 -_F885 !WORD 0+0 - !BYTE $4C ; BRFLS _B592 - !WORD _B592-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $45,$52,$52,$4F,$52,$3A,$20,$24 - !BYTE $54 ; CALL _X004 -_F886 !WORD 0 -; toolsrc/ed.pla: 1728: putb(perr) -; toolsrc/ed.pla: 1729: putln -; toolsrc/ed.pla: 1730: fin - !BYTE $68 ; LAB _X032+0 -_F887 !WORD 0+0 - !BYTE $54 ; CALL _X008 -_F888 !WORD 0 - !BYTE $54 ; CALL _X003 -_F889 !WORD 0 -_B592 -_B593 -; toolsrc/ed.pla: 1731: loop -_B552 - !BYTE $68 ; LAB _D039+0 -_F890 !WORD _D039+0 - !BYTE $4C ; BRFLS _B550 - !WORD _B550-* -_B551 -; toolsrc/ed.pla: 1732: end - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 1733: // -; toolsrc/ed.pla: 1734: // Init editor -; toolsrc/ed.pla: 1735: // -; toolsrc/ed.pla: 1736: setkeyin -_INIT -; toolsrc/ed.pla: 1737: if not (MACHID & $80) // ][ or ][+ -; toolsrc/ed.pla: 1738: flags = uppercase | shiftlock -; toolsrc/ed.pla: 1739: fin - !BYTE $54 ; CALL _C046 -_F891 !WORD _C046 - !BYTE $68 ; LAB _X001+0 -_F892 !WORD 0+0 - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B594 - !WORD _B594-* - !BYTE $2A,$88 ; CB 136 - !BYTE $78 ; SAB _D040+0 -_F893 !WORD _D040+0 -_B594 -_B595 -; toolsrc/ed.pla: 1740: inittxtbuf -; toolsrc/ed.pla: 1741: arg = argNext(argFirst) -; toolsrc/ed.pla: 1742: if ^arg -; toolsrc/ed.pla: 1743: strcpy(@filename, arg) -; toolsrc/ed.pla: 1744: puts(@filename) -; toolsrc/ed.pla: 1745: readtxt(@filename, 0) -; toolsrc/ed.pla: 1746: arg = argNext(arg) -; toolsrc/ed.pla: 1747: if ^arg -; toolsrc/ed.pla: 1748: cursrow = strtonum(arg) -; toolsrc/ed.pla: 1749: if cursrow -; toolsrc/ed.pla: 1750: curshpos(0) -; toolsrc/ed.pla: 1751: cursvpos(cursrow - 1) -; toolsrc/ed.pla: 1752: fin - !BYTE $54 ; CALL _C008 -_F894 !WORD _C008 - !BYTE $54 ; CALL _X029 -_F895 !WORD 0 - !BYTE $54 ; CALL _X030 -_F896 !WORD 0 - !BYTE $7A ; SAW _D044+0 -_F897 !WORD _D044+0 - !BYTE $6A ; LAW _D044+0 -_F898 !WORD _D044+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B596 - !WORD _B596-* - !BYTE $26 ; LA _D038+0 -_F899 !WORD _D038+0 - !BYTE $6A ; LAW _D044+0 -_F900 !WORD _D044+0 - !BYTE $54 ; CALL _X019 -_F901 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D038+0 -_F902 !WORD _D038+0 - !BYTE $54 ; CALL _X004 -_F903 !WORD 0 - !BYTE $26 ; LA _D038+0 -_F904 !WORD _D038+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F905 !WORD _C016 - !BYTE $6A ; LAW _D044+0 -_F906 !WORD _D044+0 - !BYTE $54 ; CALL _X030 -_F907 !WORD 0 - !BYTE $7A ; SAW _D044+0 -_F908 !WORD _D044+0 - !BYTE $6A ; LAW _D044+0 -_F909 !WORD _D044+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B598 - !WORD _B598-* - !BYTE $6A ; LAW _D044+0 -_F910 !WORD _D044+0 - !BYTE $54 ; CALL _C014 -_F911 !WORD _C014 - !BYTE $7E ; DAW _D058+0 -_F912 !WORD _D058+0 - !BYTE $4C ; BRFLS _B600 - !WORD _B600-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C026 -_F913 !WORD _C026 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D058+0 -_F914 !WORD _D058+0 - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C027 -_F915 !WORD _C027 - !BYTE $30 ; DROP -_B600 -_B601 -; toolsrc/ed.pla: 1753: fin -_B598 -_B599 -; toolsrc/ed.pla: 1754: fin -_B596 -_B597 -; toolsrc/ed.pla: 1755: curschr = '+' -; toolsrc/ed.pla: 1756: flags = flags | insmode | gutter -; toolsrc/ed.pla: 1757: drawscrn(scrntop, scrnleft) -; toolsrc/ed.pla: 1758: curson -; toolsrc/ed.pla: 1759: editmode -; toolsrc/ed.pla: 1760: done - !BYTE $2A,$2B ; CB 43 - !BYTE $78 ; SAB _D056+0 -_F916 !WORD _D056+0 - !BYTE $68 ; LAB _D040+0 -_F917 !WORD _D040+0 - !BYTE $3E,$02 ; ORI 2 - !BYTE $3E,$04 ; ORI 4 - !BYTE $78 ; SAB _D040+0 -_F918 !WORD _D040+0 - !BYTE $6A ; LAW _D060+0 -_F919 !WORD _D060+0 - !BYTE $6A ; LAW _D053+0 -_F920 !WORD _D053+0 - !BYTE $54 ; CALL _C021 -_F921 !WORD _C021 - !BYTE $54 ; CALL _C023 -_F922 !WORD _C023 - !BYTE $54 ; CALL _C062 -_F923 !WORD _C062 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 68 -_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 $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 2 ; 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 $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 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 18 ; 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 $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 18 ; 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 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 14 ; 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 16 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 26 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 14 ; 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 14 ; 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 17 ; ESD INDEX - !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 17 ; 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 17 ; 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 $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 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !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 $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 3 ; 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 $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !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 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !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 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE 10 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE 23 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE 18 ; 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 $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 18 ; 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 $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 $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 $91 ; EXTERNAL FIXUP - !WORD _F400-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F401-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F402-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F403-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F404-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F405-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F422-_SEGBEGIN - !BYTE 1 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F432-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F433-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F476-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F477-_SEGBEGIN - !BYTE $00 - !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 $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 $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 $91 ; EXTERNAL FIXUP - !WORD _F516-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F533-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F534-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F546-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F547-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F548-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F561-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F578-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F579-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F580-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F581-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !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 $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 $91 ; EXTERNAL FIXUP - !WORD _F599-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F600-_SEGBEGIN - !BYTE $00 - !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 $91 ; EXTERNAL FIXUP - !WORD _F613-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F614-_SEGBEGIN - !BYTE $00 - !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 $91 ; EXTERNAL FIXUP - !WORD _F618-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F619-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F620-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F621-_SEGBEGIN - !BYTE $00 - !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 $91 ; EXTERNAL FIXUP - !WORD _F625-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F626-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F627-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F628-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F632-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F633-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F634-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F635-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F636-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F637-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F638-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F639-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F640-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F641-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F642-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F643-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F644-_SEGBEGIN - !BYTE $00 - !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 $91 ; EXTERNAL FIXUP - !WORD _F651-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F652-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F653-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F654-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F655-_SEGBEGIN - !BYTE $00 - !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 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F659-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F660-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F661-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F662-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F663-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F664-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F665-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F666-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F667-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F668-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F669-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F670-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F671-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F672-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F673-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F674-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F675-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F676-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F677-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F678-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F679-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F680-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F681-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F682-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F683-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F684-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F685-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F686-_SEGBEGIN - !BYTE $00 - !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 $91 ; EXTERNAL FIXUP - !WORD _F694-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F698-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F699-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F700-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F701-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F702-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F703-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F704-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F708-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F709-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F710-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F711-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F712-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F713-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F714-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F715-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F716-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F717-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F718-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F719-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F726-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F727-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F728-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F729-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F730-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F731-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F732-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F733-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F734-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F735-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F736-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F737-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F738-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F739-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F740-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F741-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F742-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F743-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F744-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F745-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F746-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F747-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F748-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F749-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F750-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F751-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F752-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F753-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F754-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F755-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F760-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F761-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F762-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F763-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F764-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F765-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F769-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F770-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F771-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F772-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F773-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F774-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F775-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F776-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F777-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F778-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F779-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F780-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F781-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F782-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F783-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F784-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F785-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F786-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F787-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F788-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F789-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F790-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F791-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F792-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F793-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F794-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F795-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F796-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F797-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F798-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F799-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F800-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F801-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F802-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F803-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F804-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F805-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F806-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F807-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F808-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F809-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F810-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F811-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F812-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F813-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F814-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F815-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F816-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F817-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F818-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F819-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F820-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F821-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F822-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F823-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F824-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F825-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F826-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F827-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F828-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F829-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F830-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F831-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F832-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F833-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F834-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F835-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F836-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F837-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F838-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F839-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F840-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F841-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F842-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F843-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F844-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F845-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F846-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F847-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F848-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F849-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F850-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F851-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F852-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F853-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F854-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F855-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F856-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F857-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F858-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F859-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F860-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F861-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F862-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F863-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F864-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F865-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F866-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F867-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F868-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F869-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F870-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F871-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F872-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F873-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F874-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F875-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F876-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F877-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F878-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F879-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F880-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F881-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F882-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F883-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F884-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F885-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F886-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F887-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F888-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F889-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F890-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F891-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F892-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F893-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F894-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F895-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F896-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F897-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F898-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F899-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F900-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F901-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F902-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F903-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F904-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F905-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F906-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F907-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F908-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F909-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F910-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F911-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F912-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F913-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F914-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F915-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F916-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F917-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F918-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F919-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F920-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F921-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F922-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F923-_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: 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: PUTH - !BYTE $D0,$D5,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 9 ; 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: 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: 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: DIVMOD - !BYTE $C4,$C9,$D6,$CD,$CF,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 23 ; ESD INDEX - ; DCI STRING: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; 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/toolsrc/plasm.a b/src/toolsrc/plasm.a deleted file mode 100644 index 74e44df..0000000 --- a/src/toolsrc/plasm.a +++ /dev/null @@ -1,20990 +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 -; toolsrc/plasm.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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: end -; toolsrc/plasm.pla: 0001: -; toolsrc/plasm.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 -; toolsrc/plasm.pla: 0002: -; toolsrc/plasm.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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0080: end -; toolsrc/plasm.pla: 0003: -; toolsrc/plasm.pla: 0004: include "inc/longjmp.plh" -; inc/longjmp.plh: 0001: import longjmp - ; DCI STRING: LONGJMP - !BYTE $CC,$CF,$CE,$C7,$CA,$CD,$50 - ; LONGJMP -> X033 -; inc/longjmp.plh: 0002: const t_except = $0140 - ; t_except = 320 -; inc/longjmp.plh: 0003: predef except(env), throw(env, retval) - ; EXCEPT -> X034 - ; THROW -> X035 -; inc/longjmp.plh: 0004: end -; toolsrc/plasm.pla: 0004: -; toolsrc/plasm.pla: 0005: // -; toolsrc/plasm.pla: 0006: // Tokens -; toolsrc/plasm.pla: 0007: // -; toolsrc/plasm.pla: 0008: const ID_LEN = 32 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; ID_LEN = 32 -; toolsrc/plasm.pla: 0009: const ID_TKN = $D6 // V - ; ID_TKN = 214 -; toolsrc/plasm.pla: 0010: const CHR_TKN = $C3 // C - ; CHR_TKN = 195 -; toolsrc/plasm.pla: 0011: const INT_TKN = $C9 // I - ; INT_TKN = 201 -; toolsrc/plasm.pla: 0012: const STR_TKN = $D3 // S - ; STR_TKN = 211 -; toolsrc/plasm.pla: 0013: const EOL_TKN = $02 - ; EOL_TKN = 2 -; toolsrc/plasm.pla: 0014: const EOF_TKN = $01 - ; EOF_TKN = 1 -; toolsrc/plasm.pla: 0015: const ERR_TKN = $00 - ; ERR_TKN = 0 -; toolsrc/plasm.pla: 0016: // -; toolsrc/plasm.pla: 0017: //Ternary operand operators -; toolsrc/plasm.pla: 0018: // -; toolsrc/plasm.pla: 0019: const TERNARY_TKN = $BF // ? - ; TERNARY_TKN = 191 -; toolsrc/plasm.pla: 0020: const TRIELSE_TKN = $DF // _ - ; TRIELSE_TKN = 223 -; toolsrc/plasm.pla: 0021: // -; toolsrc/plasm.pla: 0022: // Binary operand operators -; toolsrc/plasm.pla: 0023: // -; toolsrc/plasm.pla: 0024: const SET_TKN = $BD // = - ; SET_TKN = 189 -; toolsrc/plasm.pla: 0025: const ADD_TKN = $AB // + - ; ADD_TKN = 171 -; toolsrc/plasm.pla: 0026: const SUB_TKN = $AD // - - ; SUB_TKN = 173 -; toolsrc/plasm.pla: 0027: const MUL_TKN = $AA // * - ; MUL_TKN = 170 -; toolsrc/plasm.pla: 0028: const DIV_TKN = $AF // / - ; DIV_TKN = 175 -; toolsrc/plasm.pla: 0029: const MOD_TKN = $A5 // % - ; MOD_TKN = 165 -; toolsrc/plasm.pla: 0030: const OR_TKN = $FC // | - ; OR_TKN = 252 -; toolsrc/plasm.pla: 0031: const EOR_TKN = $DE // ^ - ; EOR_TKN = 222 -; toolsrc/plasm.pla: 0032: const AND_TKN = $A6 // & - ; AND_TKN = 166 -; toolsrc/plasm.pla: 0033: const SHR_TKN = $D2 // R - ; SHR_TKN = 210 -; toolsrc/plasm.pla: 0034: const SHL_TKN = $CC // L - ; SHL_TKN = 204 -; toolsrc/plasm.pla: 0035: const GT_TKN = $BE // > - ; GT_TKN = 190 -; toolsrc/plasm.pla: 0036: const GE_TKN = $C8 // H - ; GE_TKN = 200 -; toolsrc/plasm.pla: 0037: const LT_TKN = $BC // < - ; LT_TKN = 188 -; toolsrc/plasm.pla: 0038: const LE_TKN = $C2 // B - ; LE_TKN = 194 -; toolsrc/plasm.pla: 0039: const NE_TKN = $D5 // U - ; NE_TKN = 213 -; toolsrc/plasm.pla: 0040: const EQ_TKN = $C5 // E - ; EQ_TKN = 197 -; toolsrc/plasm.pla: 0041: const LOGIC_AND_TKN = $CE // N - ; LOGIC_AND_TKN = 206 -; toolsrc/plasm.pla: 0042: const LOGIC_OR_TKN = $CF // O - ; LOGIC_OR_TKN = 207 -; toolsrc/plasm.pla: 0043: // -; toolsrc/plasm.pla: 0044: // Unary operand operators -; toolsrc/plasm.pla: 0045: // -; toolsrc/plasm.pla: 0046: const AT_TKN = $C0 // @ - ; AT_TKN = 192 -; toolsrc/plasm.pla: 0047: const DOT_TKN = $AE // . - ; DOT_TKN = 174 -; toolsrc/plasm.pla: 0048: const COLON_TKN = $BA // : - ; COLON_TKN = 186 -; toolsrc/plasm.pla: 0049: const NEG_TKN = $AD // - - ; NEG_TKN = 173 -; toolsrc/plasm.pla: 0050: const POUND_TKN = $A3 // # - ; POUND_TKN = 163 -; toolsrc/plasm.pla: 0051: const COMP_TKN = $FE // ~ - ; COMP_TKN = 254 -; toolsrc/plasm.pla: 0052: const LOGIC_NOT_TKN = $A1 // ! - ; LOGIC_NOT_TKN = 161 -; toolsrc/plasm.pla: 0053: const BPTR_TKN = $DE // ^ - ; BPTR_TKN = 222 -; toolsrc/plasm.pla: 0054: const WPTR_TKN = $AA // * - ; WPTR_TKN = 170 -; toolsrc/plasm.pla: 0055: const PTRB_TKN = $D8 // X - ; PTRB_TKN = 216 -; toolsrc/plasm.pla: 0056: const PTRW_TKN = $D7 // W - ; PTRW_TKN = 215 -; toolsrc/plasm.pla: 0057: const INC_TKN = $C1 // A - ; INC_TKN = 193 -; toolsrc/plasm.pla: 0058: const DEC_TKN = $C4 // D - ; DEC_TKN = 196 -; toolsrc/plasm.pla: 0059: const LAMBDA_TKN = $A6 // & - ; LAMBDA_TKN = 166 -; toolsrc/plasm.pla: 0060: // -; toolsrc/plasm.pla: 0061: // Enclosure tokens -; toolsrc/plasm.pla: 0062: // -; toolsrc/plasm.pla: 0063: const OPEN_PAREN_TKN = $A8 // ( - ; OPEN_PAREN_TKN = 168 -; toolsrc/plasm.pla: 0064: const CLOSE_PAREN_TKN = $A9 // ) - ; CLOSE_PAREN_TKN = 169 -; toolsrc/plasm.pla: 0065: const OPEN_BRACKET_TKN = $DB // [ - ; OPEN_BRACKET_TKN = 219 -; toolsrc/plasm.pla: 0066: const CLOSE_BRACKET_TKN = $DD // ] - ; CLOSE_BRACKET_TKN = 221 -; toolsrc/plasm.pla: 0067: // -; toolsrc/plasm.pla: 0068: // Misc. tokens -; toolsrc/plasm.pla: 0069: // -; toolsrc/plasm.pla: 0070: const COMMA_TKN = $AC // , - ; COMMA_TKN = 172 -; toolsrc/plasm.pla: 0071: //const COMMENT_TKN = $BB // // -; toolsrc/plasm.pla: 0072: const DROP_TKN = $BB - ; DROP_TKN = 187 -; toolsrc/plasm.pla: 0073: // -; toolsrc/plasm.pla: 0074: // Keyword tokens -; toolsrc/plasm.pla: 0075: // -; toolsrc/plasm.pla: 0076: const CONST_TKN = $80 - ; CONST_TKN = 128 -; toolsrc/plasm.pla: 0077: const BYTE_TKN = $81 - ; BYTE_TKN = 129 -; toolsrc/plasm.pla: 0078: const WORD_TKN = $82 - ; WORD_TKN = 130 -; toolsrc/plasm.pla: 0079: const IF_TKN = $83 - ; IF_TKN = 131 -; toolsrc/plasm.pla: 0080: const ELSEIF_TKN = $84 - ; ELSEIF_TKN = 132 -; toolsrc/plasm.pla: 0081: const ELSE_TKN = $85 - ; ELSE_TKN = 133 -; toolsrc/plasm.pla: 0082: const FIN_TKN = $86 - ; FIN_TKN = 134 -; toolsrc/plasm.pla: 0083: const END_TKN = $87 - ; END_TKN = 135 -; toolsrc/plasm.pla: 0084: const WHILE_TKN = $88 - ; WHILE_TKN = 136 -; toolsrc/plasm.pla: 0085: const LOOP_TKN = $89 - ; LOOP_TKN = 137 -; toolsrc/plasm.pla: 0086: const CASE_TKN = $8A - ; CASE_TKN = 138 -; toolsrc/plasm.pla: 0087: const OF_TKN = $8B - ; OF_TKN = 139 -; toolsrc/plasm.pla: 0088: const DEFAULT_TKN = $8C - ; DEFAULT_TKN = 140 -; toolsrc/plasm.pla: 0089: const ENDCASE_TKN = $8D - ; ENDCASE_TKN = 141 -; toolsrc/plasm.pla: 0090: const FOR_TKN = $8E - ; FOR_TKN = 142 -; toolsrc/plasm.pla: 0091: const TO_TKN = $8F - ; TO_TKN = 143 -; toolsrc/plasm.pla: 0092: const DOWNTO_TKN = $90 - ; DOWNTO_TKN = 144 -; toolsrc/plasm.pla: 0093: const STEP_TKN = $91 - ; STEP_TKN = 145 -; toolsrc/plasm.pla: 0094: const NEXT_TKN = $92 - ; NEXT_TKN = 146 -; toolsrc/plasm.pla: 0095: const REPEAT_TKN = $93 - ; REPEAT_TKN = 147 -; toolsrc/plasm.pla: 0096: const UNTIL_TKN = $94 - ; UNTIL_TKN = 148 -; toolsrc/plasm.pla: 0097: const DEF_TKN = $95 - ; DEF_TKN = 149 -; toolsrc/plasm.pla: 0098: const STRUC_TKN = $96 - ; STRUC_TKN = 150 -; toolsrc/plasm.pla: 0099: const SYSFLAGS_TKN = $97 - ; SYSFLAGS_TKN = 151 -; toolsrc/plasm.pla: 0100: const DONE_TKN = $98 - ; DONE_TKN = 152 -; toolsrc/plasm.pla: 0101: const RETURN_TKN = $99 - ; RETURN_TKN = 153 -; toolsrc/plasm.pla: 0102: const BREAK_TKN = $9A - ; BREAK_TKN = 154 -; toolsrc/plasm.pla: 0103: const CONT_TKN = $9B - ; CONT_TKN = 155 -; toolsrc/plasm.pla: 0104: const PREDEF_TKN = $9C - ; PREDEF_TKN = 156 -; toolsrc/plasm.pla: 0105: const IMPORT_TKN = $9D - ; IMPORT_TKN = 157 -; toolsrc/plasm.pla: 0106: const EXPORT_TKN = $9E - ; EXPORT_TKN = 158 -; toolsrc/plasm.pla: 0107: const INCLUDE_TKN = $9F - ; INCLUDE_TKN = 159 -; toolsrc/plasm.pla: 0108: // -; toolsrc/plasm.pla: 0109: // Types -; toolsrc/plasm.pla: 0110: // -; toolsrc/plasm.pla: 0111: const GLOBAL_TYPE = $0000 - ; GLOBAL_TYPE = 0 -; toolsrc/plasm.pla: 0112: const CONST_TYPE = $0001 - ; CONST_TYPE = 1 -; toolsrc/plasm.pla: 0113: const BYTE_TYPE = $0002 - ; BYTE_TYPE = 2 -; toolsrc/plasm.pla: 0114: const WORD_TYPE = $0004 - ; WORD_TYPE = 4 -; toolsrc/plasm.pla: 0115: const VAR_TYPE = $0006 // (WORD_TYPE | BYTE_TYPE) - ; VAR_TYPE = 6 -; toolsrc/plasm.pla: 0116: const FUNC_TYPE = $0008 - ; FUNC_TYPE = 8 -; toolsrc/plasm.pla: 0117: const FUNC_CONST_TYPE = $0009 - ; FUNC_CONST_TYPE = 9 -; toolsrc/plasm.pla: 0118: const ADDR_TYPE = $000E // (VAR_TYPE | FUNC_TYPE) - ; ADDR_TYPE = 14 -; toolsrc/plasm.pla: 0119: const LOCAL_TYPE = $0010 - ; LOCAL_TYPE = 16 -; toolsrc/plasm.pla: 0120: const BPTR_TYPE = $0020 - ; BPTR_TYPE = 32 -; toolsrc/plasm.pla: 0121: const WPTR_TYPE = $0040 - ; WPTR_TYPE = 64 -; toolsrc/plasm.pla: 0122: const PTR_TYPE = $0060 // (BPTR_TYPE | WPTR_TYPE) - ; PTR_TYPE = 96 -; toolsrc/plasm.pla: 0123: const XBYTE_TYPE = $0022 // (BPTR_TYPE | BYTE_TYPE) - ; XBYTE_TYPE = 34 -; toolsrc/plasm.pla: 0124: const XWORD_TYPE = $0044 // (WPTR_TYPE | WORD_TYPE) - ; XWORD_TYPE = 68 -; toolsrc/plasm.pla: 0125: const CONSTADDR_TYPE = $0061 // (CONST_TYPE | PTR_TYPE) - ; CONSTADDR_TYPE = 97 -; toolsrc/plasm.pla: 0126: const STR_TYPE = $0080 - ; STR_TYPE = 128 -; toolsrc/plasm.pla: 0127: const PREDEF_TYPE = $0100 - ; PREDEF_TYPE = 256 -; toolsrc/plasm.pla: 0128: const EXPORT_TYPE = $0200 - ; EXPORT_TYPE = 512 -; toolsrc/plasm.pla: 0129: const EXTERN_TYPE = $0400 - ; EXTERN_TYPE = 1024 -; toolsrc/plasm.pla: 0130: const EXTACCESS_TYPE = $0800 - ; EXTACCESS_TYPE = 2048 -; toolsrc/plasm.pla: 0131: const RELATIVE_TYPE = $8000 - ; RELATIVE_TYPE = 32768 -; toolsrc/plasm.pla: 0132: // -; toolsrc/plasm.pla: 0133: // Fixup flags mask -; toolsrc/plasm.pla: 0134: // -; toolsrc/plasm.pla: 0135: const RESOLVED_FIXUP = $01 - ; RESOLVED_FIXUP = 1 -; toolsrc/plasm.pla: 0136: const RELATIVE_FIXUP = $02 - ; RELATIVE_FIXUP = 2 -; toolsrc/plasm.pla: 0137: const MASK_FIXUP = $90 - ; MASK_FIXUP = 144 -; toolsrc/plasm.pla: 0138: const WORD_FIXUP = $80 - ; WORD_FIXUP = 128 -; toolsrc/plasm.pla: 0139: const BYTE_FIXUP = $00 - ; BYTE_FIXUP = 0 -; toolsrc/plasm.pla: 0140: const EXTERN_FIXUP = $10 - ; EXTERN_FIXUP = 16 -; toolsrc/plasm.pla: 0141: // -; toolsrc/plasm.pla: 0142: // Keywords -; toolsrc/plasm.pla: 0143: // -; toolsrc/plasm.pla: 0144: byte keywrds = "IF", IF_TKN -_D036 ; keywrds = "IF", IF_TKN - !BYTE $02 - !BYTE $49,$46 - !BYTE $83 -; toolsrc/plasm.pla: 0145: byte = "TO", TO_TKN - !BYTE $02 - !BYTE $54,$4F - !BYTE $8F -; toolsrc/plasm.pla: 0146: byte = "IS", OF_TKN - !BYTE $02 - !BYTE $49,$53 - !BYTE $8B -; toolsrc/plasm.pla: 0147: byte = "OR", LOGIC_OR_TKN - !BYTE $02 - !BYTE $4F,$52 - !BYTE $CF -; toolsrc/plasm.pla: 0148: byte = "FOR", FOR_TKN - !BYTE $03 - !BYTE $46,$4F,$52 - !BYTE $8E -; toolsrc/plasm.pla: 0149: byte = "FIN", FIN_TKN - !BYTE $03 - !BYTE $46,$49,$4E - !BYTE $86 -; toolsrc/plasm.pla: 0150: byte = "DEF", DEF_TKN - !BYTE $03 - !BYTE $44,$45,$46 - !BYTE $95 -; toolsrc/plasm.pla: 0151: byte = "END", END_TKN - !BYTE $03 - !BYTE $45,$4E,$44 - !BYTE $87 -; toolsrc/plasm.pla: 0152: byte = "AND", LOGIC_AND_TKN - !BYTE $03 - !BYTE $41,$4E,$44 - !BYTE $CE -; toolsrc/plasm.pla: 0153: byte = "NOT", LOGIC_NOT_TKN - !BYTE $03 - !BYTE $4E,$4F,$54 - !BYTE $A1 -; toolsrc/plasm.pla: 0154: byte = "RES", BYTE_TKN - !BYTE $03 - !BYTE $52,$45,$53 - !BYTE $81 -; toolsrc/plasm.pla: 0155: byte = "VAR", WORD_TKN - !BYTE $03 - !BYTE $56,$41,$52 - !BYTE $82 -; toolsrc/plasm.pla: 0156: byte = "WORD", WORD_TKN - !BYTE $04 - !BYTE $57,$4F,$52,$44 - !BYTE $82 -; toolsrc/plasm.pla: 0157: byte = "CHAR", BYTE_TKN - !BYTE $04 - !BYTE $43,$48,$41,$52 - !BYTE $81 -; toolsrc/plasm.pla: 0158: byte = "BYTE", BYTE_TKN - !BYTE $04 - !BYTE $42,$59,$54,$45 - !BYTE $81 -; toolsrc/plasm.pla: 0159: byte = "ELSE", ELSE_TKN - !BYTE $04 - !BYTE $45,$4C,$53,$45 - !BYTE $85 -; toolsrc/plasm.pla: 0160: byte = "NEXT", NEXT_TKN - !BYTE $04 - !BYTE $4E,$45,$58,$54 - !BYTE $92 -; toolsrc/plasm.pla: 0161: byte = "WHEN", CASE_TKN - !BYTE $04 - !BYTE $57,$48,$45,$4E - !BYTE $8A -; toolsrc/plasm.pla: 0162: byte = "LOOP", LOOP_TKN - !BYTE $04 - !BYTE $4C,$4F,$4F,$50 - !BYTE $89 -; toolsrc/plasm.pla: 0163: byte = "STEP", STEP_TKN - !BYTE $04 - !BYTE $53,$54,$45,$50 - !BYTE $91 -; toolsrc/plasm.pla: 0164: byte = "DONE", DONE_TKN - !BYTE $04 - !BYTE $44,$4F,$4E,$45 - !BYTE $98 -; toolsrc/plasm.pla: 0165: byte = "WEND", ENDCASE_TKN - !BYTE $04 - !BYTE $57,$45,$4E,$44 - !BYTE $8D -; toolsrc/plasm.pla: 0166: byte = "DROP", DROP_TKN - !BYTE $04 - !BYTE $44,$52,$4F,$50 - !BYTE $BB -; toolsrc/plasm.pla: 0167: byte = "CONST", CONST_TKN - !BYTE $05 - !BYTE $43,$4F,$4E,$53,$54 - !BYTE $80 -; toolsrc/plasm.pla: 0168: byte = "STRUC", STRUC_TKN - !BYTE $05 - !BYTE $53,$54,$52,$55,$43 - !BYTE $96 -; toolsrc/plasm.pla: 0169: byte = "ELSIF", ELSEIF_TKN - !BYTE $05 - !BYTE $45,$4C,$53,$49,$46 - !BYTE $84 -; toolsrc/plasm.pla: 0170: byte = "WHILE", WHILE_TKN - !BYTE $05 - !BYTE $57,$48,$49,$4C,$45 - !BYTE $88 -; toolsrc/plasm.pla: 0171: byte = "UNTIL", UNTIL_TKN - !BYTE $05 - !BYTE $55,$4E,$54,$49,$4C - !BYTE $94 -; toolsrc/plasm.pla: 0172: byte = "BREAK", BREAK_TKN - !BYTE $05 - !BYTE $42,$52,$45,$41,$4B - !BYTE $9A -; toolsrc/plasm.pla: 0173: byte = "IMPORT", IMPORT_TKN - !BYTE $06 - !BYTE $49,$4D,$50,$4F,$52,$54 - !BYTE $9D -; toolsrc/plasm.pla: 0174: byte = "EXPORT", EXPORT_TKN - !BYTE $06 - !BYTE $45,$58,$50,$4F,$52,$54 - !BYTE $9E -; toolsrc/plasm.pla: 0175: byte = "DOWNTO", DOWNTO_TKN - !BYTE $06 - !BYTE $44,$4F,$57,$4E,$54,$4F - !BYTE $90 -; toolsrc/plasm.pla: 0176: byte = "REPEAT", REPEAT_TKN - !BYTE $06 - !BYTE $52,$45,$50,$45,$41,$54 - !BYTE $93 -; toolsrc/plasm.pla: 0177: byte = "RETURN", RETURN_TKN - !BYTE $06 - !BYTE $52,$45,$54,$55,$52,$4E - !BYTE $99 -; toolsrc/plasm.pla: 0178: byte = "PREDEF", PREDEF_TKN - !BYTE $06 - !BYTE $50,$52,$45,$44,$45,$46 - !BYTE $9C -; toolsrc/plasm.pla: 0179: byte = "INCLUDE", INCLUDE_TKN - !BYTE $07 - !BYTE $49,$4E,$43,$4C,$55,$44,$45 - !BYTE $9F -; toolsrc/plasm.pla: 0180: byte = "CONTINUE", CONT_TKN - !BYTE $08 - !BYTE $43,$4F,$4E,$54,$49,$4E,$55,$45 - !BYTE $9B -; toolsrc/plasm.pla: 0181: byte = "SYSFLAGS", SYSFLAGS_TKN - !BYTE $08 - !BYTE $53,$59,$53,$46,$4C,$41,$47,$53 - !BYTE $97 -; toolsrc/plasm.pla: 0182: byte = "OTHERWISE",DEFAULT_TKN - !BYTE $09 - !BYTE $4F,$54,$48,$45,$52,$57,$49,$53 - !BYTE $45 - !BYTE $8C -; toolsrc/plasm.pla: 0183: byte = $FF - !BYTE $FF -; toolsrc/plasm.pla: 0184: // -; toolsrc/plasm.pla: 0185: // Mathematical ops -; toolsrc/plasm.pla: 0186: // -; toolsrc/plasm.pla: 0187: const bops_tblsz = 17 // minus 1 - ; bops_tblsz = 17 -; toolsrc/plasm.pla: 0188: byte[] bops_tbl // Highest precedence -_D037 ; bops_tbl // Highest precedence -; toolsrc/plasm.pla: 0189: byte = MUL_TKN, DIV_TKN, MOD_TKN - !BYTE $AA - !BYTE $AF - !BYTE $A5 -; toolsrc/plasm.pla: 0190: byte = ADD_TKN, SUB_TKN - !BYTE $AB - !BYTE $AD -; toolsrc/plasm.pla: 0191: byte = SHR_TKN, SHL_TKN - !BYTE $D2 - !BYTE $CC -; toolsrc/plasm.pla: 0192: byte = AND_TKN - !BYTE $A6 -; toolsrc/plasm.pla: 0193: byte = EOR_TKN - !BYTE $DE -; toolsrc/plasm.pla: 0194: byte = OR_TKN - !BYTE $FC -; toolsrc/plasm.pla: 0195: byte = GT_TKN, GE_TKN, LT_TKN, LE_TKN - !BYTE $BE - !BYTE $C8 - !BYTE $BC - !BYTE $C2 -; toolsrc/plasm.pla: 0196: byte = EQ_TKN, NE_TKN - !BYTE $C5 - !BYTE $D5 -; toolsrc/plasm.pla: 0197: // Lowest precedence -; toolsrc/plasm.pla: 0198: byte[] bops_prec // Highest precedence -_D038 ; bops_prec // Highest precedence -; toolsrc/plasm.pla: 0199: byte = 1, 1, 1 - !BYTE $01 - !BYTE $01 - !BYTE $01 -; toolsrc/plasm.pla: 0200: byte = 2, 2 - !BYTE $02 - !BYTE $02 -; toolsrc/plasm.pla: 0201: byte = 3, 3 - !BYTE $03 - !BYTE $03 -; toolsrc/plasm.pla: 0202: byte = 4 - !BYTE $04 -; toolsrc/plasm.pla: 0203: byte = 5 - !BYTE $05 -; toolsrc/plasm.pla: 0204: byte = 6 - !BYTE $06 -; toolsrc/plasm.pla: 0205: byte = 7, 7, 7, 7 - !BYTE $07 - !BYTE $07 - !BYTE $07 - !BYTE $07 -; toolsrc/plasm.pla: 0206: byte = 8, 8 - !BYTE $08 - !BYTE $08 -; toolsrc/plasm.pla: 0207: // Lowest precedence -; toolsrc/plasm.pla: 0208: byte[16] opstack -_D039 !FILL 16 ; opstack -; toolsrc/plasm.pla: 0209: byte[16] precstack -_D040 !FILL 16 ; precstack -; toolsrc/plasm.pla: 0210: word opsp -_D041 !FILL 2 ; opsp -; toolsrc/plasm.pla: 0211: word[16] valstack -_D042 !FILL 32 ; valstack -; toolsrc/plasm.pla: 0212: byte[16] sizestack -_D043 !FILL 16 ; sizestack -; toolsrc/plasm.pla: 0213: byte[16] typestack -_D044 !FILL 16 ; typestack -; toolsrc/plasm.pla: 0214: word valsp -_D045 !FILL 2 ; valsp -; toolsrc/plasm.pla: 0215: // -; toolsrc/plasm.pla: 0216: // Code sequence shared with optimizer -; toolsrc/plasm.pla: 0217: // -; toolsrc/plasm.pla: 0218: include "toolsrc/codeseq.plh" -; toolsrc/codeseq.plh: 0001: // -; toolsrc/codeseq.plh: 0002: // Constant code group -; toolsrc/codeseq.plh: 0003: // -; toolsrc/codeseq.plh: 0004: const CONST_GROUP = $00 - ; CONST_GROUP = 0 -; toolsrc/codeseq.plh: 0005: const CONST_CODE = $2C - ; CONST_CODE = 44 -; toolsrc/codeseq.plh: 0006: const ADDI_CODE = $38 - ; ADDI_CODE = 56 -; toolsrc/codeseq.plh: 0007: const SUBI_CODE = $3A - ; SUBI_CODE = 58 -; toolsrc/codeseq.plh: 0008: const ANDI_CODE = $3C - ; ANDI_CODE = 60 -; toolsrc/codeseq.plh: 0009: const ORI_CODE = $3E - ; ORI_CODE = 62 -; toolsrc/codeseq.plh: 0010: const CONSTR_GROUP = $01 - ; CONSTR_GROUP = 1 -; toolsrc/codeseq.plh: 0011: const CONSTR_CODE = $2E - ; CONSTR_CODE = 46 -; toolsrc/codeseq.plh: 0012: // -; toolsrc/codeseq.plh: 0013: // Stack code group -; toolsrc/codeseq.plh: 0014: // -; toolsrc/codeseq.plh: 0015: const STACK_GROUP = $02 - ; STACK_GROUP = 2 -; toolsrc/codeseq.plh: 0016: const INDEXB_CODE = $82 - ; INDEXB_CODE = 130 -; toolsrc/codeseq.plh: 0017: const ADD_CODE = $82 - ; ADD_CODE = 130 -; toolsrc/codeseq.plh: 0018: const SUB_CODE = $84 - ; SUB_CODE = 132 -; toolsrc/codeseq.plh: 0019: const MUL_CODE = $86 - ; MUL_CODE = 134 -; toolsrc/codeseq.plh: 0020: const DIV_CODE = $88 - ; DIV_CODE = 136 -; toolsrc/codeseq.plh: 0021: const MOD_CODE = $8A - ; MOD_CODE = 138 -; toolsrc/codeseq.plh: 0022: const INC_CODE = $8C - ; INC_CODE = 140 -; toolsrc/codeseq.plh: 0023: const DEC_CODE = $8E - ; DEC_CODE = 142 -; toolsrc/codeseq.plh: 0024: const NEG_CODE = $90 - ; NEG_CODE = 144 -; toolsrc/codeseq.plh: 0025: const COMP_CODE = $92 - ; COMP_CODE = 146 -; toolsrc/codeseq.plh: 0026: const AND_CODE = $94 - ; AND_CODE = 148 -; toolsrc/codeseq.plh: 0027: const OR_CODE = $96 - ; OR_CODE = 150 -; toolsrc/codeseq.plh: 0028: const EOR_CODE = $98 - ; EOR_CODE = 152 -; toolsrc/codeseq.plh: 0029: const SHL_CODE = $9A - ; SHL_CODE = 154 -; toolsrc/codeseq.plh: 0030: const SHR_CODE = $9C - ; SHR_CODE = 156 -; toolsrc/codeseq.plh: 0031: const INDEXW_CODE = $9E - ; INDEXW_CODE = 158 -; toolsrc/codeseq.plh: 0032: const LOGIC_NOT_CODE = $80 - ; LOGIC_NOT_CODE = 128 -; toolsrc/codeseq.plh: 0033: const DROP_CODE = $30 - ; DROP_CODE = 48 -; toolsrc/codeseq.plh: 0034: const DROP2_CODE = $32 - ; DROP2_CODE = 50 -; toolsrc/codeseq.plh: 0035: const DUP_CODE = $34 - ; DUP_CODE = 52 -; toolsrc/codeseq.plh: 0036: const EQ_CODE = $40 - ; EQ_CODE = 64 -; toolsrc/codeseq.plh: 0037: const NE_CODE = $42 - ; NE_CODE = 66 -; toolsrc/codeseq.plh: 0038: const GT_CODE = $44 - ; GT_CODE = 68 -; toolsrc/codeseq.plh: 0039: const LT_CODE = $46 - ; LT_CODE = 70 -; toolsrc/codeseq.plh: 0040: const GE_CODE = $48 - ; GE_CODE = 72 -; toolsrc/codeseq.plh: 0041: const LE_CODE = $4A - ; LE_CODE = 74 -; toolsrc/codeseq.plh: 0042: const ICAL_CODE = $56 - ; ICAL_CODE = 86 -; toolsrc/codeseq.plh: 0043: const RET_CODE = $5C - ; RET_CODE = 92 -; toolsrc/codeseq.plh: 0044: const LB_CODE = $60 - ; LB_CODE = 96 -; toolsrc/codeseq.plh: 0045: const BPTR_CODE = $60 - ; BPTR_CODE = 96 -; toolsrc/codeseq.plh: 0046: const LW_CODE = $62 - ; LW_CODE = 98 -; toolsrc/codeseq.plh: 0047: const WPTR_CODE = $62 - ; WPTR_CODE = 98 -; toolsrc/codeseq.plh: 0048: const SB_CODE = $70 - ; SB_CODE = 112 -; toolsrc/codeseq.plh: 0049: const SW_CODE = $72 - ; SW_CODE = 114 -; toolsrc/codeseq.plh: 0050: // -; toolsrc/codeseq.plh: 0051: // Local address code group -; toolsrc/codeseq.plh: 0052: // -; toolsrc/codeseq.plh: 0053: const LOCAL_GROUP = $03 - ; LOCAL_GROUP = 3 -; toolsrc/codeseq.plh: 0054: const LADDR_CODE = $28 - ; LADDR_CODE = 40 -; toolsrc/codeseq.plh: 0055: const LLB_CODE = $64 - ; LLB_CODE = 100 -; toolsrc/codeseq.plh: 0056: const LLW_CODE = $66 - ; LLW_CODE = 102 -; toolsrc/codeseq.plh: 0057: const DLB_CODE = $6C - ; DLB_CODE = 108 -; toolsrc/codeseq.plh: 0058: const DLW_CODE = $6E - ; DLW_CODE = 110 -; toolsrc/codeseq.plh: 0059: const SLB_CODE = $74 - ; SLB_CODE = 116 -; toolsrc/codeseq.plh: 0060: const SLW_CODE = $76 - ; SLW_CODE = 118 -; toolsrc/codeseq.plh: 0061: const ADDLB_CODE = $B0 - ; ADDLB_CODE = 176 -; toolsrc/codeseq.plh: 0062: const ADDLW_CODE = $B2 - ; ADDLW_CODE = 178 -; toolsrc/codeseq.plh: 0063: const IDXLB_CODE = $B8 - ; IDXLB_CODE = 184 -; toolsrc/codeseq.plh: 0064: const IDXLW_CODE = $BA - ; IDXLW_CODE = 186 -; toolsrc/codeseq.plh: 0065: // -; toolsrc/codeseq.plh: 0066: // Global address code group -; toolsrc/codeseq.plh: 0067: // -; toolsrc/codeseq.plh: 0068: const GLOBAL_GROUP = $04 - ; GLOBAL_GROUP = 4 -; toolsrc/codeseq.plh: 0069: const GADDR_CODE = $26 - ; GADDR_CODE = 38 -; toolsrc/codeseq.plh: 0070: const CALL_CODE = $54 - ; CALL_CODE = 84 -; toolsrc/codeseq.plh: 0071: const LAB_CODE = $68 - ; LAB_CODE = 104 -; toolsrc/codeseq.plh: 0072: const LAW_CODE = $6A - ; LAW_CODE = 106 -; toolsrc/codeseq.plh: 0073: const SAB_CODE = $78 - ; SAB_CODE = 120 -; toolsrc/codeseq.plh: 0074: const SAW_CODE = $7A - ; SAW_CODE = 122 -; toolsrc/codeseq.plh: 0075: const DAB_CODE = $7C - ; DAB_CODE = 124 -; toolsrc/codeseq.plh: 0076: const DAW_CODE = $7E - ; DAW_CODE = 126 -; toolsrc/codeseq.plh: 0077: const ADDAB_CODE = $B4 - ; ADDAB_CODE = 180 -; toolsrc/codeseq.plh: 0078: const ADDAW_CODE = $B6 - ; ADDAW_CODE = 182 -; toolsrc/codeseq.plh: 0079: const IDXAB_CODE = $BC - ; IDXAB_CODE = 188 -; toolsrc/codeseq.plh: 0080: const IDXAW_CODE = $BE - ; IDXAW_CODE = 190 -; toolsrc/codeseq.plh: 0081: // -; toolsrc/codeseq.plh: 0082: // Relative address code group -; toolsrc/codeseq.plh: 0083: // -; toolsrc/codeseq.plh: 0084: const RELATIVE_GROUP = $05 - ; RELATIVE_GROUP = 5 -; toolsrc/codeseq.plh: 0085: const BREQ_CODE = $22 - ; BREQ_CODE = 34 -; toolsrc/codeseq.plh: 0086: const BRNE_CODE = $24 - ; BRNE_CODE = 36 -; toolsrc/codeseq.plh: 0087: const BRFALSE_CODE = $4C - ; BRFALSE_CODE = 76 -; toolsrc/codeseq.plh: 0088: const BRTRUE_CODE = $4E - ; BRTRUE_CODE = 78 -; toolsrc/codeseq.plh: 0089: const BRNCH_CODE = $50 - ; BRNCH_CODE = 80 -; toolsrc/codeseq.plh: 0090: const BRAND_CODE = $AC - ; BRAND_CODE = 172 -; toolsrc/codeseq.plh: 0091: const BROR_CODE = $AE - ; BROR_CODE = 174 -; toolsrc/codeseq.plh: 0092: const BRGT_CODE = $A0 - ; BRGT_CODE = 160 -; toolsrc/codeseq.plh: 0093: const BRLT_CODE = $A2 - ; BRLT_CODE = 162 -; toolsrc/codeseq.plh: 0094: // -; toolsrc/codeseq.plh: 0095: // Code tag address group -; toolsrc/codeseq.plh: 0096: // -; toolsrc/codeseq.plh: 0097: const CODETAG_GROUP = $06 - ; CODETAG_GROUP = 6 -; toolsrc/codeseq.plh: 0098: // -; toolsrc/codeseq.plh: 0099: // Invalid code -; toolsrc/codeseq.plh: 0100: // -; toolsrc/codeseq.plh: 0101: const INVALID_CODE = $FF - ; INVALID_CODE = 255 -; toolsrc/codeseq.plh: 0102: // -; toolsrc/codeseq.plh: 0103: // Code sequence op -; toolsrc/codeseq.plh: 0104: // -; toolsrc/codeseq.plh: 0105: struc t_opseq -; toolsrc/codeseq.plh: 0106: byte opcode - ; opcode = 0 -; toolsrc/codeseq.plh: 0107: byte opgroup - ; opgroup = 1 -; toolsrc/codeseq.plh: 0108: word opval[] - ; opval = 2 -; toolsrc/codeseq.plh: 0109: word optag - ; optag = 2 -; toolsrc/codeseq.plh: 0110: word opoffset - ; opoffset = 4 -; toolsrc/codeseq.plh: 0111: word opnext - ; opnext = 6 -; toolsrc/codeseq.plh: 0112: end - ; t_opseq = 8 -; toolsrc/plasm.pla: 0218: -; toolsrc/plasm.pla: 0219: // -; toolsrc/plasm.pla: 0220: // -; toolsrc/plasm.pla: 0221: // Symbol table variables -; toolsrc/plasm.pla: 0222: // -; toolsrc/plasm.pla: 0223: struc t_id -; toolsrc/plasm.pla: 0224: word idval - ; idval = 0 -; toolsrc/plasm.pla: 0225: word idtype - ; idtype = 2 -; toolsrc/plasm.pla: 0226: byte funcparms - ; funcparms = 4 -; toolsrc/plasm.pla: 0227: byte funcvals - ; funcvals = 5 -; toolsrc/plasm.pla: 0228: byte extnum - ; extnum = 6 -; toolsrc/plasm.pla: 0229: byte idname - ; idname = 7 -; toolsrc/plasm.pla: 0230: end - ; t_id = 8 -; toolsrc/plasm.pla: 0231: // -; toolsrc/plasm.pla: 0232: // Generated code buffers -; toolsrc/plasm.pla: 0233: // -; toolsrc/plasm.pla: 0234: const OPSEQNUM = 256 - ; OPSEQNUM = 256 -; toolsrc/plasm.pla: 0235: const DFDNUM = 128 - ; DFDNUM = 128 -; toolsrc/plasm.pla: 0236: const TAGNUM = 1024 - ; TAGNUM = 1024 -; toolsrc/plasm.pla: 0237: const FIXUPNUM = 2048 - ; FIXUPNUM = 2048 -; toolsrc/plasm.pla: 0238: const MODDEPNUM = 8 - ; MODDEPNUM = 8 -; toolsrc/plasm.pla: 0239: const IDGLOBALSZ = 4096 - ; IDGLOBALSZ = 4096 -; toolsrc/plasm.pla: 0240: const IDLOCALSZ = 512 - ; IDLOCALSZ = 512 -; toolsrc/plasm.pla: 0241: const CASENUM = 64 - ; CASENUM = 64 -; toolsrc/plasm.pla: 0242: word fixup_cnt, tag_cnt = -1 -_D046 !FILL 2 ; fixup_cnt, tag_cnt = -1 -_D047 ; tag_cnt = -1 - !WORD $FFFF -; toolsrc/plasm.pla: 0243: word dfd_tag, dfd_cnt -_D048 !FILL 2 ; dfd_tag, dfd_cnt -_D049 !FILL 2 ; dfd_cnt -; toolsrc/plasm.pla: 0244: word fixup_tag, fixup_addr -_D050 !FILL 2 ; fixup_tag, fixup_addr -_D051 !FILL 2 ; fixup_addr -; toolsrc/plasm.pla: 0245: word tag_addr, tag_type -_D052 !FILL 2 ; tag_addr, tag_type -_D053 !FILL 2 ; tag_type -; toolsrc/plasm.pla: 0246: word idglobal_tbl, idlocal_tbl -_D054 !FILL 2 ; idglobal_tbl, idlocal_tbl -_D055 !FILL 2 ; idlocal_tbl -; toolsrc/plasm.pla: 0247: word pending_seq -_D056 !FILL 2 ; pending_seq -; toolsrc/plasm.pla: 0248: word globals, lastglobal, lastglobalsize, lastlocal, savelast, savetbl -_D057 !FILL 2 ; globals, lastglobal, lastglobalsize, lastlocal, savelast, savetbl -_D058 !FILL 2 ; lastglobal, lastglobalsize, lastlocal, savelast, savetbl -_D059 !FILL 2 ; lastglobalsize, lastlocal, savelast, savetbl -_D060 !FILL 2 ; lastlocal, savelast, savetbl -_D061 !FILL 2 ; savelast, savetbl -_D062 !FILL 2 ; savetbl -; toolsrc/plasm.pla: 0249: word dfd_num, tag_num, fixup_num, globalbufsz, localbufsz, codebufsz -_D063 !FILL 2 ; dfd_num, tag_num, fixup_num, globalbufsz, localbufsz, codebufsz -_D064 !FILL 2 ; tag_num, fixup_num, globalbufsz, localbufsz, codebufsz -_D065 !FILL 2 ; fixup_num, globalbufsz, localbufsz, codebufsz -_D066 !FILL 2 ; globalbufsz, localbufsz, codebufsz -_D067 !FILL 2 ; localbufsz, codebufsz -_D068 !FILL 2 ; codebufsz -; toolsrc/plasm.pla: 0250: word datasize, framesize, savesize -_D069 !FILL 2 ; datasize, framesize, savesize -_D070 !FILL 2 ; framesize, savesize -_D071 !FILL 2 ; savesize -; toolsrc/plasm.pla: 0251: byte locals, savelocals -_D072 !FILL 1 ; locals, savelocals -_D073 !FILL 1 ; savelocals -; toolsrc/plasm.pla: 0252: word codebuff, codeptr, entrypoint -_D074 !FILL 2 ; codebuff, codeptr, entrypoint -_D075 !FILL 2 ; codeptr, entrypoint -_D076 !FILL 2 ; entrypoint -; toolsrc/plasm.pla: 0253: word modsysflags -_D077 !FILL 2 ; modsysflags -; toolsrc/plasm.pla: 0254: byte[16] moddep_tbl[MODDEPNUM] -_D078 !FILL 128 ; moddep_tbl[MODDEPNUM] -; toolsrc/plasm.pla: 0255: byte moddep_cnt, def_cnt = 1 -_D079 !FILL 1 ; moddep_cnt, def_cnt = 1 -_D080 ; def_cnt = 1 - !BYTE $01 -; toolsrc/plasm.pla: 0256: predef parse_mods -; toolsrc/plasm.pla: 0257: predef emit_pending_seq#0 -; toolsrc/plasm.pla: 0258: // -; toolsrc/plasm.pla: 0259: // Module relocation base address -; toolsrc/plasm.pla: 0260: // -; toolsrc/plasm.pla: 0261: const RELADDR = $1000 - ; RELADDR = 4096 -; toolsrc/plasm.pla: 0262: // -; toolsrc/plasm.pla: 0263: // Exports for optimizer module -; toolsrc/plasm.pla: 0264: // -; toolsrc/plasm.pla: 0265: export word freeop_lst -_D083 !FILL 2 ; freeop_lst -; toolsrc/plasm.pla: 0266: export word optimize_seq -_D084 !FILL 2 ; optimize_seq -; toolsrc/plasm.pla: 0267: // -; toolsrc/plasm.pla: 0268: // Compiler flags -; toolsrc/plasm.pla: 0269: // -; toolsrc/plasm.pla: 0270: const OPTIMIZE = 1 - ; OPTIMIZE = 1 -; toolsrc/plasm.pla: 0271: const OPTIMIZE2 = 2 - ; OPTIMIZE2 = 2 -; toolsrc/plasm.pla: 0272: const NO_COMBINE = 4 - ; NO_COMBINE = 4 -; toolsrc/plasm.pla: 0273: const WARNINGS = 8 - ; WARNINGS = 8 -; toolsrc/plasm.pla: 0274: byte outflags -_D085 !FILL 1 ; outflags -; toolsrc/plasm.pla: 0275: // -; toolsrc/plasm.pla: 0276: // ProDOS/SOS file references -; toolsrc/plasm.pla: 0277: // -; toolsrc/plasm.pla: 0278: byte refnum, srcref, incref -_D086 !FILL 1 ; refnum, srcref, incref -_D087 !FILL 1 ; srcref, incref -_D088 !FILL 1 ; incref -; toolsrc/plasm.pla: 0279: byte[32] srcfile, incfile, relfile, modfile -_D089 !FILL 32 ; srcfile, incfile, relfile, modfile -_D090 !FILL 32 ; incfile, relfile, modfile -_D091 !FILL 32 ; relfile, modfile -_D092 !FILL 32 ; modfile -; toolsrc/plasm.pla: 0280: word parsefile // Pointer to current file -_D093 !FILL 2 ; parsefile // Pointer to current file -; toolsrc/plasm.pla: 0281: word srcline // Saved source line number -_D094 !FILL 2 ; srcline // Saved source line number -; toolsrc/plasm.pla: 0282: // -; toolsrc/plasm.pla: 0283: // Scanner variables -; toolsrc/plasm.pla: 0284: // -; toolsrc/plasm.pla: 0285: word instr -_D095 !FILL 2 ; instr -; toolsrc/plasm.pla: 0286: word inbuff -_D096 !FILL 2 ; inbuff -; toolsrc/plasm.pla: 0287: word scanptr -_D097 !FILL 2 ; scanptr -; toolsrc/plasm.pla: 0288: byte token = EOL_TKN -_D098 ; token = EOL_TKN - !BYTE $02 -; toolsrc/plasm.pla: 0289: byte scanchr, tknlen -_D099 !FILL 1 ; scanchr, tknlen -_D100 !FILL 1 ; tknlen -; toolsrc/plasm.pla: 0290: word tknptr, parserrln -_D101 !FILL 2 ; tknptr, parserrln -_D102 !FILL 2 ; parserrln -; toolsrc/plasm.pla: 0291: word constval -_D103 !FILL 2 ; constval -; toolsrc/plasm.pla: 0292: word lineno -_D104 !FILL 2 ; lineno -; toolsrc/plasm.pla: 0293: // -; toolsrc/plasm.pla: 0294: // Parser variables -; toolsrc/plasm.pla: 0295: // -; toolsrc/plasm.pla: 0296: const LVALUE = 0 - ; LVALUE = 0 -; toolsrc/plasm.pla: 0297: const RVALUE = 1 - ; RVALUE = 1 -; toolsrc/plasm.pla: 0298: const LAMBDANUM = 16 - ; LAMBDANUM = 16 -; toolsrc/plasm.pla: 0299: word strconstbuff -_D105 !FILL 2 ; strconstbuff -; toolsrc/plasm.pla: 0300: word strconstptr -_D106 !FILL 2 ; strconstptr -; toolsrc/plasm.pla: 0301: byte infunc, inlambda -_D107 !FILL 1 ; infunc, inlambda -_D108 !FILL 1 ; inlambda -; toolsrc/plasm.pla: 0302: byte stack_loop -_D109 !FILL 1 ; stack_loop -; toolsrc/plasm.pla: 0303: byte prevstmnt -_D110 !FILL 1 ; prevstmnt -; toolsrc/plasm.pla: 0304: word infuncvals -_D111 !FILL 2 ; infuncvals -; toolsrc/plasm.pla: 0305: word break_tag -_D112 !FILL 2 ; break_tag -; toolsrc/plasm.pla: 0306: word cont_tag -_D113 !FILL 2 ; cont_tag -; toolsrc/plasm.pla: 0307: byte lambda_cnt, lambda_num -_D114 !FILL 1 ; lambda_cnt, lambda_num -_D115 !FILL 1 ; lambda_num -; toolsrc/plasm.pla: 0308: byte[LAMBDANUM] lambda_cparms -_D116 !FILL 16 ; lambda_cparms -; toolsrc/plasm.pla: 0309: word[LAMBDANUM] lambda_seq, lambda_tag -_D117 !FILL 32 ; lambda_seq, lambda_tag -_D118 !FILL 32 ; lambda_tag -; toolsrc/plasm.pla: 0310: predef parse_constexpr#3, parse_expr(codeseq)#2, parse_lambda -; toolsrc/plasm.pla: 0311: byte bytesln = " bytes\n" -_D122 ; bytesln = " bytes\n" - !BYTE $07 - !BYTE $20,$62,$79,$74,$65,$73,$0D -; toolsrc/plasm.pla: 0312: // -; toolsrc/plasm.pla: 0313: // Arg pointer -; toolsrc/plasm.pla: 0314: // -; toolsrc/plasm.pla: 0315: word arg, opt -_D123 !FILL 2 ; arg, opt -_D124 !FILL 2 ; opt -; toolsrc/plasm.pla: 0316: // -; toolsrc/plasm.pla: 0317: // Long jump environment -; toolsrc/plasm.pla: 0318: // -; toolsrc/plasm.pla: 0319: word exit -_D125 !FILL 2 ; exit -; toolsrc/plasm.pla: 0320: // -; toolsrc/plasm.pla: 0321: // Error string flags -; toolsrc/plasm.pla: 0322: // -; toolsrc/plasm.pla: 0323: const ERR_DUP = $0001 - ; ERR_DUP = 1 -; toolsrc/plasm.pla: 0324: const ERR_UNDECL = $0002 - ; ERR_UNDECL = 2 -; toolsrc/plasm.pla: 0325: const ERR_INVAL = $0004 - ; ERR_INVAL = 4 -; toolsrc/plasm.pla: 0326: const ERR_MISS = $0008 - ; ERR_MISS = 8 -; toolsrc/plasm.pla: 0327: const ERR_OVER = $0010 - ; ERR_OVER = 16 -; toolsrc/plasm.pla: 0328: const ERR_CLOSE = $0020 - ; ERR_CLOSE = 32 -; toolsrc/plasm.pla: 0329: const ERR_LOCAL = $0040 - ; ERR_LOCAL = 64 -; toolsrc/plasm.pla: 0330: const ERR_GLOBAL = $0080 - ; ERR_GLOBAL = 128 -; toolsrc/plasm.pla: 0331: const ERR_CODE = $0100 - ; ERR_CODE = 256 -; toolsrc/plasm.pla: 0332: const ERR_ID = $0200 - ; ERR_ID = 512 -; toolsrc/plasm.pla: 0333: const ERR_CONST = $0400 - ; ERR_CONST = 1024 -; toolsrc/plasm.pla: 0334: const ERR_INIT = $0800 - ; ERR_INIT = 2048 -; toolsrc/plasm.pla: 0335: const ERR_STATE = $1000 - ; ERR_STATE = 4096 -; toolsrc/plasm.pla: 0336: const ERR_FRAME = $2000 - ; ERR_FRAME = 8192 -; toolsrc/plasm.pla: 0337: const ERR_TABLE = $4000 - ; ERR_TABLE = 16384 -; toolsrc/plasm.pla: 0338: const ERR_SYNTAX = $8000 - ; ERR_SYNTAX = 32768 -; toolsrc/plasm.pla: 0339: -; toolsrc/plasm.pla: 0340: //===================================== -; toolsrc/plasm.pla: 0341: // -; toolsrc/plasm.pla: 0342: // PLASMA Compiler -; toolsrc/plasm.pla: 0343: // -; toolsrc/plasm.pla: 0344: //===================================== -; toolsrc/plasm.pla: 0345: -; toolsrc/plasm.pla: 0346: // -; toolsrc/plasm.pla: 0347: // Lexical scanner helper for keyword/IDs -; toolsrc/plasm.pla: 0348: // -; toolsrc/plasm.pla: 0349: asm scanid(scanptr, keywrds)#3 -_A000 ; scanid() -; toolsrc/plasm.pla: 0350: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; toolsrc/plasm.pla: 0351: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/plasm.pla: 0352: STA DSTL - STA DSTL -; toolsrc/plasm.pla: 0353: LDA ESTKH,X - LDA ESTKH,X -; toolsrc/plasm.pla: 0354: STA DSTH - STA DSTH -; toolsrc/plasm.pla: 0355: LDA ESTKL+1,X - LDA ESTKL+1,X -; toolsrc/plasm.pla: 0356: STA ESTKL,X ; COPY OUTPUT SCANPTR - STA ESTKL,X ; COPY OUTPUT SCANPTR -; toolsrc/plasm.pla: 0357: STA SRCL - STA SRCL -; toolsrc/plasm.pla: 0358: LDA ESTKH+1,X - LDA ESTKH+1,X -; toolsrc/plasm.pla: 0359: STA ESTKH,X - STA ESTKH,X -; toolsrc/plasm.pla: 0360: STA SRCH - STA SRCH -; toolsrc/plasm.pla: 0361: DEX - DEX -; toolsrc/plasm.pla: 0362: LDA #$00 - LDA #$00 -; toolsrc/plasm.pla: 0363: STA ESTKL,X ; CLEAR OUTPUT TOKEN - STA ESTKL,X ; CLEAR OUTPUT TOKEN -; toolsrc/plasm.pla: 0364: STA ESTKH,X - STA ESTKH,X -; toolsrc/plasm.pla: 0365: STA ESTKH+2,X ; CLEAR MSB OF SCANCHR - STA ESTKH+2,X ; CLEAR MSB OF SCANCHR -; toolsrc/plasm.pla: 0366: TAY - TAY -; toolsrc/plasm.pla: 0367: LDA (SRC),Y - LDA (SRC),Y -; toolsrc/plasm.pla: 0368: AND #$7F - AND #$7F -; toolsrc/plasm.pla: 0369: CMP #'a' - CMP #'a' -; toolsrc/plasm.pla: 0370: BCC + - BCC + -; toolsrc/plasm.pla: 0371: CMP #'z'+1 - CMP #'z'+1 -; toolsrc/plasm.pla: 0372: BCS + - BCS + -; toolsrc/plasm.pla: 0373: SBC #$1F - SBC #$1F -; toolsrc/plasm.pla: 0374: STA (SRC),Y - STA (SRC),Y -; toolsrc/plasm.pla: 0375: + STA ESTKL+2,X ; SET SCANCHR -+ STA ESTKL+2,X ; SET SCANCHR -; toolsrc/plasm.pla: 0376: CMP #'_' - CMP #'_' -; toolsrc/plasm.pla: 0377: BEQ + - BEQ + -; toolsrc/plasm.pla: 0378: CMP #'A' - CMP #'A' -; toolsrc/plasm.pla: 0379: BCC SCANEX - BCC SCANEX -; toolsrc/plasm.pla: 0380: CMP #'Z'+1 - CMP #'Z'+1 -; toolsrc/plasm.pla: 0381: BCS SCANEX - BCS SCANEX -; toolsrc/plasm.pla: 0382: + LDA #$D6 ; ID_TKN -+ LDA #$D6 ; ID_TKN -; toolsrc/plasm.pla: 0383: STA ESTKL,X ; SET OUTPUT TOKEN = ID_TKN - STA ESTKL,X ; SET OUTPUT TOKEN = ID_TKN -; toolsrc/plasm.pla: 0384: SCANID INY -SCANID INY -; toolsrc/plasm.pla: 0385: LDA (SRC),Y - LDA (SRC),Y -; toolsrc/plasm.pla: 0386: AND #$7F - AND #$7F -; toolsrc/plasm.pla: 0387: BEQ ++ - BEQ ++ -; toolsrc/plasm.pla: 0388: CMP #'a' - CMP #'a' -; toolsrc/plasm.pla: 0389: BCC + - BCC + -; toolsrc/plasm.pla: 0390: CMP #'z'+1 - CMP #'z'+1 -; toolsrc/plasm.pla: 0391: BCS ++ - BCS ++ -; toolsrc/plasm.pla: 0392: SBC #$1F - SBC #$1F -; toolsrc/plasm.pla: 0393: STA (SRC),Y ; COPY UPPERCASE CHAR BACK TO ^SCANPTR - STA (SRC),Y ; COPY UPPERCASE CHAR BACK TO ^SCANPTR -; toolsrc/plasm.pla: 0394: BNE SCANID - BNE SCANID -; toolsrc/plasm.pla: 0395: + CMP #'_' -+ CMP #'_' -; toolsrc/plasm.pla: 0396: BEQ SCANID - BEQ SCANID -; toolsrc/plasm.pla: 0397: CMP #'0' - CMP #'0' -; toolsrc/plasm.pla: 0398: BCC ++ - BCC ++ -; toolsrc/plasm.pla: 0399: CMP #'9'+1 - CMP #'9'+1 -; toolsrc/plasm.pla: 0400: BCC SCANID - BCC SCANID -; toolsrc/plasm.pla: 0401: CMP #'A' - CMP #'A' -; toolsrc/plasm.pla: 0402: BCC ++ - BCC ++ -; toolsrc/plasm.pla: 0403: CMP #'Z'+1 - CMP #'Z'+1 -; toolsrc/plasm.pla: 0404: BCC SCANID - BCC SCANID -; toolsrc/plasm.pla: 0405: ++ STY TMPL -++ STY TMPL -; toolsrc/plasm.pla: 0406: TYA - TYA -; toolsrc/plasm.pla: 0407: LDY #$00 - LDY #$00 -; toolsrc/plasm.pla: 0408: CLC - CLC -; toolsrc/plasm.pla: 0409: ADC SRCL - ADC SRCL -; toolsrc/plasm.pla: 0410: STA ESTKL+1,X ; UPDATE SCANPTR - STA ESTKL+1,X ; UPDATE SCANPTR -; toolsrc/plasm.pla: 0411: BCC MATCHLEN - BCC MATCHLEN -; toolsrc/plasm.pla: 0412: INC ESTKH+1,X - INC ESTKH+1,X -; toolsrc/plasm.pla: 0413: MATCHLEN LDA (DST),Y -MATCHLEN LDA (DST),Y -; toolsrc/plasm.pla: 0414: CMP TMPL - CMP TMPL -; toolsrc/plasm.pla: 0415: BCS + - BCS + -; toolsrc/plasm.pla: 0416: ADC #$02 - ADC #$02 -; toolsrc/plasm.pla: 0417: ADC DSTL - ADC DSTL -; toolsrc/plasm.pla: 0418: STA DSTL - STA DSTL -; toolsrc/plasm.pla: 0419: BCC MATCHLEN - BCC MATCHLEN -; toolsrc/plasm.pla: 0420: INC DSTH - INC DSTH -; toolsrc/plasm.pla: 0421: BNE MATCHLEN - BNE MATCHLEN -; toolsrc/plasm.pla: 0422: + BNE SCANEX ; NO KEY MATCH -+ BNE SCANEX ; NO KEY MATCH -; toolsrc/plasm.pla: 0423: TAY - TAY -; toolsrc/plasm.pla: 0424: DEY - DEY -; toolsrc/plasm.pla: 0425: INC DSTL - INC DSTL -; toolsrc/plasm.pla: 0426: BNE MATCHKEY - BNE MATCHKEY -; toolsrc/plasm.pla: 0427: INC DSTH - INC DSTH -; toolsrc/plasm.pla: 0428: MATCHKEY LDA (SRC),Y -MATCHKEY LDA (SRC),Y -; toolsrc/plasm.pla: 0429: CMP (DST),Y - CMP (DST),Y -; toolsrc/plasm.pla: 0430: BNE NEXTKEY - BNE NEXTKEY -; toolsrc/plasm.pla: 0431: DEY - DEY -; toolsrc/plasm.pla: 0432: BPL MATCHKEY - BPL MATCHKEY -; toolsrc/plasm.pla: 0433: LDY TMPL - LDY TMPL -; toolsrc/plasm.pla: 0434: LDA (DST),Y - LDA (DST),Y -; toolsrc/plasm.pla: 0435: STA ESTKL,X ; SET OUTPUT TOKEN - STA ESTKL,X ; SET OUTPUT TOKEN -; toolsrc/plasm.pla: 0436: SCANEX RTS -SCANEX RTS -; toolsrc/plasm.pla: 0437: NEXTKEY LDY #$00 -NEXTKEY LDY #$00 -; toolsrc/plasm.pla: 0438: LDA TMPL - LDA TMPL -; toolsrc/plasm.pla: 0439: SEC - SEC -; toolsrc/plasm.pla: 0440: ADC DSTL - ADC DSTL -; toolsrc/plasm.pla: 0441: STA DSTL - STA DSTL -; toolsrc/plasm.pla: 0442: BCC MATCHLEN - BCC MATCHLEN -; toolsrc/plasm.pla: 0443: INC DSTH - INC DSTH -; toolsrc/plasm.pla: 0444: BNE MATCHLEN - BNE MATCHLEN -; toolsrc/plasm.pla: 0445: end -; toolsrc/plasm.pla: 0446: // -; toolsrc/plasm.pla: 0447: // Handy functions -; toolsrc/plasm.pla: 0448: // -; toolsrc/plasm.pla: 0449: def nametostr(namestr, len, strptr)#0 -_SUBSEG ; BYTECODE STARTS - ; namestr -> [0] - ; len -> [2] - ; strptr -> [4] -_C000 ; nametostr() -; toolsrc/plasm.pla: 0450: ^strptr = len - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/plasm.pla: 0451: memcpy(strptr + 1, namestr, len) -; toolsrc/plasm.pla: 0452: end - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X018 -_F000 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/plasm.pla: 0453: def putcurln#0 -_C001 ; putcurln() -; toolsrc/plasm.pla: 0454: byte i - ; i -> [0] -; toolsrc/plasm.pla: 0455: putln; puts(parsefile); putc('['); puti(lineno); puts("]\n") - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $54 ; CALL _X003 -_F001 !WORD 0 - !BYTE $6A ; LAW _D093+0 -_F002 !WORD _D093+0 - !BYTE $54 ; CALL _X004 -_F003 !WORD 0 - !BYTE $2A,$5B ; CB 91 - !BYTE $54 ; CALL _X002 -_F004 !WORD 0 - !BYTE $6A ; LAW _D104+0 -_F005 !WORD _D104+0 - !BYTE $54 ; CALL _X005 -_F006 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $5D,$0D - !BYTE $54 ; CALL _X004 -_F007 !WORD 0 -; toolsrc/plasm.pla: 0456: puts(instr); putln -; toolsrc/plasm.pla: 0457: for i = tknptr - inbuff downto 1 - !BYTE $6A ; LAW _D095+0 -_F008 !WORD _D095+0 - !BYTE $54 ; CALL _X004 -_F009 !WORD 0 - !BYTE $54 ; CALL _X003 -_F010 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _D101+0 -_F011 !WORD _D101+0 - !BYTE $6A ; LAW _D096+0 -_F012 !WORD _D096+0 - !BYTE $84 ; SUB - !BYTE $A2 ; BRLT _B001 - !WORD _B001-* -_B002 - !BYTE $6C,$00 ; DLB [0] -; toolsrc/plasm.pla: 0458: putc(' ') -; toolsrc/plasm.pla: 0459: next - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F013 !WORD 0 -_B003 - !BYTE $A8 ; DECBRGE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; toolsrc/plasm.pla: 0460: puts("^\n") - !BYTE $2E ; CS - !BYTE $02 - !BYTE $5E,$0D - !BYTE $54 ; CALL _X004 -_F014 !WORD 0 -; toolsrc/plasm.pla: 0461: end - !BYTE $5A,$01 ; LEAVE 1 -; toolsrc/plasm.pla: 0462: // -; toolsrc/plasm.pla: 0463: // Error handler -; toolsrc/plasm.pla: 0464: // -; toolsrc/plasm.pla: 0465: def exit_err(err)#0 - ; err -> [0] -_C002 ; exit_err() -; toolsrc/plasm.pla: 0466: byte i - ; i -> [2] -; toolsrc/plasm.pla: 0467: -; toolsrc/plasm.pla: 0468: puts("\nError:") - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $0D,$45,$72,$72,$6F,$72,$3A - !BYTE $54 ; CALL _X004 -_F015 !WORD 0 -; toolsrc/plasm.pla: 0469: if err & ERR_DUP; puts("duplicate "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $64,$75,$70,$6C,$69,$63,$61,$74 - !BYTE $65,$20 - !BYTE $54 ; CALL _X004 -_F016 !WORD 0 -_B004 -_B005 -; toolsrc/plasm.pla: 0470: if err & ERR_UNDECL; puts("undeclared "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $75,$6E,$64,$65,$63,$6C,$61,$72 - !BYTE $65,$64,$20 - !BYTE $54 ; CALL _X004 -_F017 !WORD 0 -_B006 -_B007 -; toolsrc/plasm.pla: 0471: if err & ERR_INVAL; puts("invalid "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B008 - !WORD _B008-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $69,$6E,$76,$61,$6C,$69,$64,$20 - !BYTE $54 ; CALL _X004 -_F018 !WORD 0 -_B008 -_B009 -; toolsrc/plasm.pla: 0472: if err & ERR_MISS; puts("missing "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $6D,$69,$73,$73,$69,$6E,$67,$20 - !BYTE $54 ; CALL _X004 -_F019 !WORD 0 -_B010 -_B011 -; toolsrc/plasm.pla: 0473: if err & ERR_OVER; puts("overflowed "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B012 - !WORD _B012-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $6F,$76,$65,$72,$66,$6C,$6F,$77 - !BYTE $65,$64,$20 - !BYTE $54 ; CALL _X004 -_F020 !WORD 0 -_B012 -_B013 -; toolsrc/plasm.pla: 0474: if err & ERR_CLOSE; puts("closing "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $63,$6C,$6F,$73,$69,$6E,$67,$20 - !BYTE $54 ; CALL _X004 -_F021 !WORD 0 -_B014 -_B015 -; toolsrc/plasm.pla: 0475: if err & ERR_LOCAL; puts("local "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* - !BYTE $2E ; CS - !BYTE $06 - !BYTE $6C,$6F,$63,$61,$6C,$20 - !BYTE $54 ; CALL _X004 -_F022 !WORD 0 -_B016 -_B017 -; toolsrc/plasm.pla: 0476: if err & ERR_GLOBAL; puts("global "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B018 - !WORD _B018-* - !BYTE $2E ; CS - !BYTE $07 - !BYTE $67,$6C,$6F,$62,$61,$6C,$20 - !BYTE $54 ; CALL _X004 -_F023 !WORD 0 -_B018 -_B019 -; toolsrc/plasm.pla: 0477: if err & ERR_CODE; puts("code "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $63,$6F,$64,$65,$20 - !BYTE $54 ; CALL _X004 -_F024 !WORD 0 -_B020 -_B021 -; toolsrc/plasm.pla: 0478: if err & ERR_ID; puts("identifier "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B022 - !WORD _B022-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $69,$64,$65,$6E,$74,$69,$66,$69 - !BYTE $65,$72,$20 - !BYTE $54 ; CALL _X004 -_F025 !WORD 0 -_B022 -_B023 -; toolsrc/plasm.pla: 0479: if err & ERR_CONST; puts("constant"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $63,$6F,$6E,$73,$74,$61,$6E,$74 - !BYTE $54 ; CALL _X004 -_F026 !WORD 0 -_B024 -_B025 -; toolsrc/plasm.pla: 0480: if err & ERR_INIT; puts("initializer"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B026 - !WORD _B026-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $69,$6E,$69,$74,$69,$61,$6C,$69 - !BYTE $7A,$65,$72 - !BYTE $54 ; CALL _X004 -_F027 !WORD 0 -_B026 -_B027 -; toolsrc/plasm.pla: 0481: if err & ERR_STATE; puts("statement"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B028 - !WORD _B028-* - !BYTE $2E ; CS - !BYTE $09 - !BYTE $73,$74,$61,$74,$65,$6D,$65,$6E - !BYTE $74 - !BYTE $54 ; CALL _X004 -_F028 !WORD 0 -_B028 -_B029 -; toolsrc/plasm.pla: 0482: if err & ERR_FRAME; puts("frame"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B030 - !WORD _B030-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $66,$72,$61,$6D,$65 - !BYTE $54 ; CALL _X004 -_F029 !WORD 0 -_B030 -_B031 -; toolsrc/plasm.pla: 0483: if err & ERR_TABLE; puts("table"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B032 - !WORD _B032-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $74,$61,$62,$6C,$65 - !BYTE $54 ; CALL _X004 -_F030 !WORD 0 -_B032 -_B033 -; toolsrc/plasm.pla: 0484: if err & ERR_SYNTAX; puts("syntax"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $2E ; CS - !BYTE $06 - !BYTE $73,$79,$6E,$74,$61,$78 - !BYTE $54 ; CALL _X004 -_F031 !WORD 0 -_B034 -_B035 -; toolsrc/plasm.pla: 0485: putcurln -; toolsrc/plasm.pla: 0486: if incref -; toolsrc/plasm.pla: 0487: fileio:close(incref) // Close include file if open -; toolsrc/plasm.pla: 0488: fin - !BYTE $54 ; CALL _C001 -_F032 !WORD _C001 - !BYTE $68 ; LAB _D088+0 -_F033 !WORD _D088+0 - !BYTE $4C ; BRFLS _B036 - !WORD _B036-* - !BYTE $68 ; LAB _D088+0 -_F034 !WORD _D088+0 - !BYTE $6A ; LAW _X031+16 -_F035 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B036 -_B037 -; toolsrc/plasm.pla: 0489: fileio:close(srcref) // Close source file -; toolsrc/plasm.pla: 0490: throw(exit, TRUE) -; toolsrc/plasm.pla: 0491: end - !BYTE $68 ; LAB _D087+0 -_F036 !WORD _D087+0 - !BYTE $6A ; LAW _X031+16 -_F037 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D125+0 -_F038 !WORD _D125+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X035 -_F039 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plasm.pla: 0492: // -; toolsrc/plasm.pla: 0493: // Warning -; toolsrc/plasm.pla: 0494: // -; toolsrc/plasm.pla: 0495: def parse_warn(msg)#0 - ; msg -> [0] -_C003 ; parse_warn() -; toolsrc/plasm.pla: 0496: if outflags & WARNINGS - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plasm.pla: 0497: puts("\nWarning:") - !BYTE $68 ; LAB _D085+0 -_F040 !WORD _D085+0 - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B038 - !WORD _B038-* - !BYTE $2E ; CS - !BYTE $09 - !BYTE $0D,$57,$61,$72,$6E,$69,$6E,$67 - !BYTE $3A - !BYTE $54 ; CALL _X004 -_F041 !WORD 0 -; toolsrc/plasm.pla: 0498: puts(msg) -; toolsrc/plasm.pla: 0499: putcurln -; toolsrc/plasm.pla: 0500: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F042 !WORD 0 - !BYTE $54 ; CALL _C001 -_F043 !WORD _C001 -_B038 -_B039 -; toolsrc/plasm.pla: 0501: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plasm.pla: 0502: // -; toolsrc/plasm.pla: 0503: // Include code to reduce size of this file -; toolsrc/plasm.pla: 0504: // -; toolsrc/plasm.pla: 0505: include "toolsrc/codegen.pla" -; toolsrc/codegen.pla: 0001: // -; toolsrc/codegen.pla: 0002: // Address tags -; toolsrc/codegen.pla: 0003: // -; toolsrc/codegen.pla: 0004: def new_tag(type) - ; type -> [0] -_C004 ; new_tag() -; toolsrc/codegen.pla: 0005: tag_cnt++ - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $6A ; LAW _D047+0 -_F044 !WORD _D047+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0006: if tag_cnt >= tag_num; exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $7E ; DAW _D047+0 -_F045 !WORD _D047+0 - !BYTE $6A ; LAW _D064+0 -_F046 !WORD _D064+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B040 - !WORD _B040-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F047 !WORD _C002 -_B040 -_B041 -; toolsrc/codegen.pla: 0007: tag_addr=>[tag_cnt] = 0 // Unresolved, nothing to update yet -; toolsrc/codegen.pla: 0008: tag_type->[tag_cnt] = type -; toolsrc/codegen.pla: 0009: return tag_cnt - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D052+0 -_F048 !WORD _D052+0 - !BYTE $BE ; IDXAW _D047+0 -_F049 !WORD _D047+0 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D053+0 -_F050 !WORD _D053+0 - !BYTE $B6 ; ADDAW _D047+0 -_F051 !WORD _D047+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D047+0 -_F052 !WORD _D047+0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0010: end -; toolsrc/codegen.pla: 0011: // -; toolsrc/codegen.pla: 0012: // New/release sequence ops -; toolsrc/codegen.pla: 0013: // -; toolsrc/codegen.pla: 0014: def new_op -_C005 ; new_op() -; toolsrc/codegen.pla: 0015: word op - ; op -> [0] -; toolsrc/codegen.pla: 0016: op = freeop_lst - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/codegen.pla: 0017: if not op -; toolsrc/codegen.pla: 0018: puts("Compiler out of sequence ops!") - !BYTE $6A ; LAW _D083+0 -_F053 !WORD _D083+0 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4E ; BRTRU _B042 - !WORD _B042-* - !BYTE $2E ; CS - !BYTE $1D - !BYTE $43,$6F,$6D,$70,$69,$6C,$65,$72 - !BYTE $20,$6F,$75,$74,$20,$6F,$66,$20 - !BYTE $73,$65,$71,$75,$65,$6E,$63,$65 - !BYTE $20,$6F,$70,$73,$21 - !BYTE $54 ; CALL _X004 -_F054 !WORD 0 -; toolsrc/codegen.pla: 0019: return NULL - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0020: fin -_B042 -_B043 -; toolsrc/codegen.pla: 0021: freeop_lst = freeop_lst=>opnext -; toolsrc/codegen.pla: 0022: op=>opnext = NULL -; toolsrc/codegen.pla: 0023: return op - !BYTE $6A ; LAW _D083+0 -_F055 !WORD _D083+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D083+0 -_F056 !WORD _D083+0 - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0024: end -; toolsrc/codegen.pla: 0025: def release_op(op)#0 - ; op -> [0] -_C006 ; release_op() -; toolsrc/codegen.pla: 0026: if op - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0027: op=>opnext = freeop_lst -; toolsrc/codegen.pla: 0028: freeop_lst = op -; toolsrc/codegen.pla: 0029: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B044 - !WORD _B044-* - !BYTE $6A ; LAW _D083+0 -_F057 !WORD _D083+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D083+0 -_F058 !WORD _D083+0 -_B044 -_B045 -; toolsrc/codegen.pla: 0030: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0031: def release_seq(seq)#0 - ; seq -> [0] -_C007 ; release_seq() -; toolsrc/codegen.pla: 0032: word op - ; op -> [2] -; toolsrc/codegen.pla: 0033: -; toolsrc/codegen.pla: 0034: while seq - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $50 ; BRNCH _B048 - !WORD _B048-* -_B046 -; toolsrc/codegen.pla: 0035: op = seq -; toolsrc/codegen.pla: 0036: seq = seq=>opnext -; toolsrc/codegen.pla: 0037: // -; toolsrc/codegen.pla: 0038: //Free this op -; toolsrc/codegen.pla: 0039: // -; toolsrc/codegen.pla: 0040: op=>opnext = freeop_lst -; toolsrc/codegen.pla: 0041: freeop_lst = op -; toolsrc/codegen.pla: 0042: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D083+0 -_F059 !WORD _D083+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D083+0 -_F060 !WORD _D083+0 -_B048 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B046 - !WORD _B046-* -_B047 -; toolsrc/codegen.pla: 0043: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0044: // -; toolsrc/codegen.pla: 0045: // Append one sequence to the end of another -; toolsrc/codegen.pla: 0046: // -; toolsrc/codegen.pla: 0047: def cat_seq(seq1, seq2) - ; seq1 -> [0] - ; seq2 -> [2] -_C008 ; cat_seq() -; toolsrc/codegen.pla: 0048: word op - ; op -> [4] -; toolsrc/codegen.pla: 0049: -; toolsrc/codegen.pla: 0050: if not seq1; return seq2; fin - !BYTE $58,$06,$02 ; ENTER 6,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B049 - !WORD _B049-* - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$06 ; LEAVE 6 -_B049 -_B050 -; toolsrc/codegen.pla: 0051: op = seq1 -; toolsrc/codegen.pla: 0052: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -_B051 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B053 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B051 - !WORD _B051-* -_B052 -; toolsrc/codegen.pla: 0053: op=>opnext = seq2 -; toolsrc/codegen.pla: 0054: return seq1 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0055: end -; toolsrc/codegen.pla: 0056: // -; toolsrc/codegen.pla: 0057: // Emit data/bytecode -; toolsrc/codegen.pla: 0058: // -; toolsrc/codegen.pla: 0059: def emit_byte(bval)#0 - ; bval -> [0] -_C009 ; emit_byte() -; toolsrc/codegen.pla: 0060: ^codeptr = bval - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0061: codeptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D075+0 -_F061 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F062 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0062: if codeptr - codebuff > codebufsz; exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $7E ; DAW _D075+0 -_F063 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F064 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D068+0 -_F065 !WORD _D068+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B054 - !WORD _B054-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F066 !WORD _C002 -_B054 -_B055 -; toolsrc/codegen.pla: 0063: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0064: def emit_word(wval)#0 - ; wval -> [0] -_C010 ; emit_word() -; toolsrc/codegen.pla: 0065: *codeptr = wval - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0066: codeptr = codeptr + 2 -; toolsrc/codegen.pla: 0067: if codeptr - codebuff > codebufsz; exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D075+0 -_F067 !WORD _D075+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F068 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7E ; DAW _D075+0 -_F069 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F070 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D068+0 -_F071 !WORD _D068+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F072 !WORD _C002 -_B056 -_B057 -; toolsrc/codegen.pla: 0068: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0069: def emit_fill(size)#0 - ; size -> [0] -_C011 ; emit_fill() -; toolsrc/codegen.pla: 0070: memset(codeptr, 0, size) - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0071: codeptr = codeptr + size -; toolsrc/codegen.pla: 0072: if codeptr - codebuff > codebufsz; exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $6A ; LAW _D075+0 -_F073 !WORD _D075+0 - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X017 -_F074 !WORD 0 - !BYTE $6A ; LAW _D075+0 -_F075 !WORD _D075+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D075+0 -_F076 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F077 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D068+0 -_F078 !WORD _D068+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F079 !WORD _C002 -_B058 -_B059 -; toolsrc/codegen.pla: 0073: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0074: def emit_addr(tag, offset)#0 - ; tag -> [0] - ; offset -> [2] -_C012 ; emit_addr() -; toolsrc/codegen.pla: 0075: if tag_type->[tag] & RELATIVE_FIXUP; puts("Global fixup to relative tag"); exit_err(0); fin // DEBUG - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $6A ; LAW _D053+0 -_F080 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* - !BYTE $2E ; CS - !BYTE $1C - !BYTE $47,$6C,$6F,$62,$61,$6C,$20,$66 - !BYTE $69,$78,$75,$70,$20,$74,$6F,$20 - !BYTE $72,$65,$6C,$61,$74,$69,$76,$65 - !BYTE $20,$74,$61,$67 - !BYTE $54 ; CALL _X004 -_F081 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F082 !WORD _C002 -_B060 -_B061 -; toolsrc/codegen.pla: 0076: fixup_tag=>[fixup_cnt] = tag -; toolsrc/codegen.pla: 0077: fixup_addr=>[fixup_cnt] = codeptr -; toolsrc/codegen.pla: 0078: fixup_cnt++ - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D050+0 -_F083 !WORD _D050+0 - !BYTE $BE ; IDXAW _D046+0 -_F084 !WORD _D046+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F085 !WORD _D075+0 - !BYTE $6A ; LAW _D051+0 -_F086 !WORD _D051+0 - !BYTE $BE ; IDXAW _D046+0 -_F087 !WORD _D046+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D046+0 -_F088 !WORD _D046+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0079: if fixup_cnt >= fixup_num; exit_err(ERR_OVER|ERR_ID|ERR_TABLE); fin - !BYTE $7E ; DAW _D046+0 -_F089 !WORD _D046+0 - !BYTE $6A ; LAW _D065+0 -_F090 !WORD _D065+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B062 - !WORD _B062-* - !BYTE $2C,$10,$42 ; CW 16912 - !BYTE $54 ; CALL _C002 -_F091 !WORD _C002 -_B062 -_B063 -; toolsrc/codegen.pla: 0080: emit_word(offset + tag_addr=>[tag]) -; toolsrc/codegen.pla: 0081: end - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D052+0 -_F092 !WORD _D052+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $54 ; CALL _C010 -_F093 !WORD _C010 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0082: def emit_reladdr(tag)#0 - ; tag -> [0] -_C013 ; emit_reladdr() -; toolsrc/codegen.pla: 0083: word updtptr - ; updtptr -> [2] -; toolsrc/codegen.pla: 0084: -; toolsrc/codegen.pla: 0085: if not (tag_type->[tag] & RELATIVE_FIXUP); puts("Not relative tag fixup"); exit_err(0); fin // DEBUG - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $6A ; LAW _D053+0 -_F094 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4E ; BRTRU _B064 - !WORD _B064-* - !BYTE $2E ; CS - !BYTE $16 - !BYTE $4E,$6F,$74,$20,$72,$65,$6C,$61 - !BYTE $74,$69,$76,$65,$20,$74,$61,$67 - !BYTE $20,$66,$69,$78,$75,$70 - !BYTE $54 ; CALL _X004 -_F095 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F096 !WORD _C002 -_B064 -_B065 -; toolsrc/codegen.pla: 0086: if tag_type->[tag] & RESOLVED_FIXUP -; toolsrc/codegen.pla: 0087: updtptr = tag_addr=>[tag] - codeptr -; toolsrc/codegen.pla: 0088: else - !BYTE $6A ; LAW _D053+0 -_F097 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B066 - !WORD _B066-* - !BYTE $6A ; LAW _D052+0 -_F098 !WORD _D052+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $6A ; LAW _D075+0 -_F099 !WORD _D075+0 - !BYTE $84 ; SUB - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B067 - !WORD _B067-* -_B066 -; toolsrc/codegen.pla: 0089: // -; toolsrc/codegen.pla: 0090: // Add to list of tags needing resolution -; toolsrc/codegen.pla: 0091: // -; toolsrc/codegen.pla: 0092: updtptr = tag_addr=>[tag] -; toolsrc/codegen.pla: 0093: tag_addr=>[tag] = codeptr -; toolsrc/codegen.pla: 0094: fin - !BYTE $6A ; LAW _D052+0 -_F100 !WORD _D052+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D075+0 -_F101 !WORD _D075+0 - !BYTE $6A ; LAW _D052+0 -_F102 !WORD _D052+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $72 ; SW -_B067 -; toolsrc/codegen.pla: 0095: emit_word(updtptr) -; toolsrc/codegen.pla: 0096: end - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C010 -_F103 !WORD _C010 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0097: def emit_data(vartype, consttype, constval, constsize) - ; vartype -> [0] - ; consttype -> [2] - ; constval -> [4] - ; constsize -> [6] -_C014 ; emit_data() -; toolsrc/codegen.pla: 0098: byte type - ; type -> [8] -; toolsrc/codegen.pla: 0099: word size, chrptr - ; size -> [9] - ; chrptr -> [11] -; toolsrc/codegen.pla: 0100: -; toolsrc/codegen.pla: 0101: if consttype == 0 - !BYTE $58,$0D,$04 ; ENTER 13,4 -; toolsrc/codegen.pla: 0102: size = constsize -; toolsrc/codegen.pla: 0103: emit_fill(constsize) -; toolsrc/codegen.pla: 0104: elsif consttype == STR_TYPE - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B068 - !WORD _B068-* - !BYTE $66,$06 ; LLW [6] - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C011 -_F104 !WORD _C011 - !BYTE $50 ; BRNCH _B069 - !WORD _B069-* -_B068 -; toolsrc/codegen.pla: 0105: constsize = ^constval -; toolsrc/codegen.pla: 0106: size = constsize + 1 -; toolsrc/codegen.pla: 0107: chrptr = constval + 1 -; toolsrc/codegen.pla: 0108: emit_byte(constsize) -; toolsrc/codegen.pla: 0109: while constsize > 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$80 ; CB 128 - !BYTE $24 ; BRNE _B070 - !WORD _B070-* - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $6E,$06 ; DLW [6] - !BYTE $8C ; INCR - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $76,$0B ; SLW [11] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C009 -_F105 !WORD _C009 - !BYTE $50 ; BRNCH _B073 - !WORD _B073-* -_B071 -; toolsrc/codegen.pla: 0110: emit_byte(^chrptr) -; toolsrc/codegen.pla: 0111: chrptr++ - !BYTE $66,$0B ; LLW [11] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C009 -_F106 !WORD _C009 - !BYTE $66,$0B ; LLW [11] - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0112: constsize-- - !BYTE $76,$0B ; SLW [11] - !BYTE $66,$06 ; LLW [6] - !BYTE $8E ; DECR -; toolsrc/codegen.pla: 0113: loop - !BYTE $76,$06 ; SLW [6] -_B073 - !BYTE $66,$06 ; LLW [6] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B071 - !WORD _B071-* -_B072 -; toolsrc/codegen.pla: 0114: elsif consttype == CONSTADDR_TYPE - !BYTE $50 ; BRNCH _B069 - !WORD _B069-* -_B070 -; toolsrc/codegen.pla: 0115: size = 2 -; toolsrc/codegen.pla: 0116: emit_addr(constval, 0) -; toolsrc/codegen.pla: 0117: else - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$61 ; CB 97 - !BYTE $24 ; BRNE _B074 - !WORD _B074-* - !BYTE $04 ; CN 2 - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C012 -_F107 !WORD _C012 - !BYTE $50 ; BRNCH _B069 - !WORD _B069-* -_B074 -; toolsrc/codegen.pla: 0118: if vartype & BYTE_TYPE -; toolsrc/codegen.pla: 0119: size = 1 -; toolsrc/codegen.pla: 0120: emit_byte(constval) -; toolsrc/codegen.pla: 0121: else - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $02 ; CN 1 - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C009 -_F108 !WORD _C009 - !BYTE $50 ; BRNCH _B076 - !WORD _B076-* -_B075 -; toolsrc/codegen.pla: 0122: size = 2 -; toolsrc/codegen.pla: 0123: emit_word(constval) -; toolsrc/codegen.pla: 0124: fin - !BYTE $04 ; CN 2 - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C010 -_F109 !WORD _C010 -_B076 -; toolsrc/codegen.pla: 0125: fin -_B069 -; toolsrc/codegen.pla: 0126: return size - !BYTE $66,$09 ; LLW [9] - !BYTE $5A,$0D ; LEAVE 13 -; toolsrc/codegen.pla: 0127: end -; toolsrc/codegen.pla: 0128: def emit_codeseg#0 -_C015 ; emit_codeseg() -; toolsrc/codegen.pla: 0129: if lastglobalsize == 0 -; toolsrc/codegen.pla: 0130: emit_byte($00) // Pad byte between last data tag and code seg -; toolsrc/codegen.pla: 0131: fin - !BYTE $6A ; LAW _D059+0 -_F110 !WORD _D059+0 - !BYTE $4E ; BRTRU _B077 - !WORD _B077-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C009 -_F111 !WORD _C009 -_B077 -_B078 -; toolsrc/codegen.pla: 0132: end - !BYTE $5C ; RET -; toolsrc/codegen.pla: 0133: def emit_const(cval)#0 - ; cval -> [0] -_C016 ; emit_const() -; toolsrc/codegen.pla: 0134: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0135: if cval == $FFFF // MINUS ONE -; toolsrc/codegen.pla: 0136: emit_byte($20) -; toolsrc/codegen.pla: 0137: elsif cval & $FFF0 == $0000 // Constant NYBBLE - !BYTE $54 ; CALL _P001 -_F112 !WORD _P001 - !BYTE $66,$00 ; LLW [0] - !BYTE $20 ; MINUS ONE - !BYTE $24 ; BRNE _B079 - !WORD _B079-* - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C009 -_F113 !WORD _C009 - !BYTE $50 ; BRNCH _B080 - !WORD _B080-* -_B079 -; toolsrc/codegen.pla: 0138: emit_byte(cval*2) -; toolsrc/codegen.pla: 0139: elsif cval & $FF00 == $0000 // Constant BYTE - !BYTE $66,$00 ; LLW [0] - !BYTE $5E,$F0 ; CFFB 65520 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B081 - !WORD _B081-* - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _C009 -_F114 !WORD _C009 - !BYTE $50 ; BRNCH _B080 - !WORD _B080-* -_B081 -; toolsrc/codegen.pla: 0140: emit_byte($2A) -; toolsrc/codegen.pla: 0141: emit_byte(cval) -; toolsrc/codegen.pla: 0142: elsif cval & $FF00 == $FF00 // Constant $FF00 | BYTE - !BYTE $66,$00 ; LLW [0] - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B082 - !WORD _B082-* - !BYTE $2A,$2A ; CB 42 - !BYTE $54 ; CALL _C009 -_F115 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F116 !WORD _C009 - !BYTE $50 ; BRNCH _B080 - !WORD _B080-* -_B082 -; toolsrc/codegen.pla: 0143: emit_byte($5E) -; toolsrc/codegen.pla: 0144: emit_byte(cval) -; toolsrc/codegen.pla: 0145: else // Constant WORD - !BYTE $66,$00 ; LLW [0] - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $24 ; BRNE _B083 - !WORD _B083-* - !BYTE $2A,$5E ; CB 94 - !BYTE $54 ; CALL _C009 -_F117 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F118 !WORD _C009 - !BYTE $50 ; BRNCH _B080 - !WORD _B080-* -_B083 -; toolsrc/codegen.pla: 0146: emit_byte($2C) -; toolsrc/codegen.pla: 0147: emit_word(cval) -; toolsrc/codegen.pla: 0148: fin - !BYTE $2A,$2C ; CB 44 - !BYTE $54 ; CALL _C009 -_F119 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C010 -_F120 !WORD _C010 -_B080 -; toolsrc/codegen.pla: 0149: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0150: def emit_code(bval)#0 - ; bval -> [0] -_C017 ; emit_code() -; toolsrc/codegen.pla: 0151: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0152: ^codeptr = bval -; toolsrc/codegen.pla: 0153: codeptr++ - !BYTE $54 ; CALL _P001 -_F121 !WORD _P001 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D075+0 -_F122 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F123 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0154: if codeptr - codebuff > codebufsz; exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $7E ; DAW _D075+0 -_F124 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F125 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D068+0 -_F126 !WORD _D068+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B084 - !WORD _B084-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F127 !WORD _C002 -_B084 -_B085 -; toolsrc/codegen.pla: 0155: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0156: def emit_slb(offset)#0 - ; offset -> [0] -_C018 ; emit_slb() -; toolsrc/codegen.pla: 0157: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0158: emit_byte($74) -; toolsrc/codegen.pla: 0159: emit_byte(offset) -; toolsrc/codegen.pla: 0160: end - !BYTE $54 ; CALL _P001 -_F128 !WORD _P001 - !BYTE $2A,$74 ; CB 116 - !BYTE $54 ; CALL _C009 -_F129 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F130 !WORD _C009 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0161: def emit_slw(offset)#0 - ; offset -> [0] -_C019 ; emit_slw() -; toolsrc/codegen.pla: 0162: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0163: emit_byte($76) -; toolsrc/codegen.pla: 0164: emit_byte(offset) -; toolsrc/codegen.pla: 0165: end - !BYTE $54 ; CALL _P001 -_F131 !WORD _P001 - !BYTE $2A,$76 ; CB 118 - !BYTE $54 ; CALL _C009 -_F132 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F133 !WORD _C009 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0166: def emit_sab(tag, offset)#0 - ; tag -> [0] - ; offset -> [2] -_C020 ; emit_sab() -; toolsrc/codegen.pla: 0167: emit_pending_seq - !BYTE $58,$04,$02 ; ENTER 4,2 -; toolsrc/codegen.pla: 0168: emit_byte($78) -; toolsrc/codegen.pla: 0169: emit_addr(tag, offset) -; toolsrc/codegen.pla: 0170: end - !BYTE $54 ; CALL _P001 -_F134 !WORD _P001 - !BYTE $2A,$78 ; CB 120 - !BYTE $54 ; CALL _C009 -_F135 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C012 -_F136 !WORD _C012 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0171: def emit_saw(tag, offset)#0 - ; tag -> [0] - ; offset -> [2] -_C021 ; emit_saw() -; toolsrc/codegen.pla: 0172: emit_pending_seq - !BYTE $58,$04,$02 ; ENTER 4,2 -; toolsrc/codegen.pla: 0173: emit_byte($7A) -; toolsrc/codegen.pla: 0174: emit_addr(tag, offset) -; toolsrc/codegen.pla: 0175: end - !BYTE $54 ; CALL _P001 -_F137 !WORD _P001 - !BYTE $2A,$7A ; CB 122 - !BYTE $54 ; CALL _C009 -_F138 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C012 -_F139 !WORD _C012 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0176: def emit_dlb(offset)#0 - ; offset -> [0] -_C022 ; emit_dlb() -; toolsrc/codegen.pla: 0177: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0178: emit_byte($6C) -; toolsrc/codegen.pla: 0179: emit_byte(offset) -; toolsrc/codegen.pla: 0180: end - !BYTE $54 ; CALL _P001 -_F140 !WORD _P001 - !BYTE $2A,$6C ; CB 108 - !BYTE $54 ; CALL _C009 -_F141 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F142 !WORD _C009 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0181: def emit_dlw(offset)#0 - ; offset -> [0] -_C023 ; emit_dlw() -; toolsrc/codegen.pla: 0182: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0183: emit_byte($6E) -; toolsrc/codegen.pla: 0184: emit_byte(offset) -; toolsrc/codegen.pla: 0185: end - !BYTE $54 ; CALL _P001 -_F143 !WORD _P001 - !BYTE $2A,$6E ; CB 110 - !BYTE $54 ; CALL _C009 -_F144 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F145 !WORD _C009 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0186: def emit_dab(tag, offset)#0 - ; tag -> [0] - ; offset -> [2] -_C024 ; emit_dab() -; toolsrc/codegen.pla: 0187: emit_pending_seq - !BYTE $58,$04,$02 ; ENTER 4,2 -; toolsrc/codegen.pla: 0188: emit_byte($7C) -; toolsrc/codegen.pla: 0189: emit_addr(tag, offset) -; toolsrc/codegen.pla: 0190: end - !BYTE $54 ; CALL _P001 -_F146 !WORD _P001 - !BYTE $2A,$7C ; CB 124 - !BYTE $54 ; CALL _C009 -_F147 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C012 -_F148 !WORD _C012 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0191: def emit_daw(tag, offset)#0 - ; tag -> [0] - ; offset -> [2] -_C025 ; emit_daw() -; toolsrc/codegen.pla: 0192: emit_pending_seq - !BYTE $58,$04,$02 ; ENTER 4,2 -; toolsrc/codegen.pla: 0193: emit_byte($7E) -; toolsrc/codegen.pla: 0194: emit_addr(tag, offset) -; toolsrc/codegen.pla: 0195: end - !BYTE $54 ; CALL _P001 -_F149 !WORD _P001 - !BYTE $2A,$7E ; CB 126 - !BYTE $54 ; CALL _C009 -_F150 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C012 -_F151 !WORD _C012 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0196: def emit_select(tag)#0 - ; tag -> [0] -_C026 ; emit_select() -; toolsrc/codegen.pla: 0197: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0198: emit_byte($52) -; toolsrc/codegen.pla: 0199: emit_reladdr(tag) -; toolsrc/codegen.pla: 0200: end - !BYTE $54 ; CALL _P001 -_F152 !WORD _P001 - !BYTE $2A,$52 ; CB 82 - !BYTE $54 ; CALL _C009 -_F153 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F154 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0201: def emit_caseblock(cnt, oflist, taglist)#0 - ; cnt -> [0] - ; oflist -> [2] - ; taglist -> [4] -_C027 ; emit_caseblock() -; toolsrc/codegen.pla: 0202: byte i - ; i -> [6] -; toolsrc/codegen.pla: 0203: -; toolsrc/codegen.pla: 0204: if not cnt or cnt > 256; exit_err(ERR_OVER|ERR_STATE); fin - !BYTE $58,$07,$03 ; ENTER 7,3 - !BYTE $66,$00 ; LLW [0] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B086 - !WORD _B086-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $44 ; ISGT -_B086 - !BYTE $4C ; BRFLS _B087 - !WORD _B087-* - !BYTE $2C,$10,$10 ; CW 4112 - !BYTE $54 ; CALL _C002 -_F155 !WORD _C002 -_B087 -_B088 -; toolsrc/codegen.pla: 0205: emit_pending_seq -; toolsrc/codegen.pla: 0206: emit_byte(cnt) -; toolsrc/codegen.pla: 0207: for i = 0 to cnt-1 - !BYTE $54 ; CALL _P001 -_F156 !WORD _P001 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F157 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B089 - !WORD _B089-* -_B090 - !BYTE $6C,$06 ; DLB [6] -; toolsrc/codegen.pla: 0208: emit_word(oflist=>[i]) -; toolsrc/codegen.pla: 0209: emit_reladdr(taglist=>[i]) -; toolsrc/codegen.pla: 0210: next - !BYTE $66,$02 ; LLW [2] - !BYTE $B8,$06 ; IDXLB [6] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C010 -_F158 !WORD _C010 - !BYTE $66,$04 ; LLW [4] - !BYTE $B8,$06 ; IDXLB [6] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C013 -_F159 !WORD _C013 -_B091 - !BYTE $A4 ; INCBRLE _B090 - !WORD _B090-* -_B089 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 0211: end - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/codegen.pla: 0212: def emit_branch(tag)#0 - ; tag -> [0] -_C028 ; emit_branch() -; toolsrc/codegen.pla: 0213: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0214: emit_byte($50) -; toolsrc/codegen.pla: 0215: emit_reladdr(tag) -; toolsrc/codegen.pla: 0216: end - !BYTE $54 ; CALL _P001 -_F160 !WORD _P001 - !BYTE $2A,$50 ; CB 80 - !BYTE $54 ; CALL _C009 -_F161 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F162 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0217: def emit_brgt(tag)#0 - ; tag -> [0] -_C029 ; emit_brgt() -; toolsrc/codegen.pla: 0218: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0219: emit_byte($A0) -; toolsrc/codegen.pla: 0220: emit_reladdr(tag) -; toolsrc/codegen.pla: 0221: end - !BYTE $54 ; CALL _P001 -_F163 !WORD _P001 - !BYTE $2A,$A0 ; CB 160 - !BYTE $54 ; CALL _C009 -_F164 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F165 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0222: def emit_brlt(tag)#0 - ; tag -> [0] -_C030 ; emit_brlt() -; toolsrc/codegen.pla: 0223: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0224: emit_byte($A2) -; toolsrc/codegen.pla: 0225: emit_reladdr(tag) -; toolsrc/codegen.pla: 0226: end - !BYTE $54 ; CALL _P001 -_F166 !WORD _P001 - !BYTE $2A,$A2 ; CB 162 - !BYTE $54 ; CALL _C009 -_F167 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F168 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0227: def emit_incbrle(tag)#0 - ; tag -> [0] -_C031 ; emit_incbrle() -; toolsrc/codegen.pla: 0228: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0229: emit_byte($A4) -; toolsrc/codegen.pla: 0230: emit_reladdr(tag) -; toolsrc/codegen.pla: 0231: end - !BYTE $54 ; CALL _P001 -_F169 !WORD _P001 - !BYTE $2A,$A4 ; CB 164 - !BYTE $54 ; CALL _C009 -_F170 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F171 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0232: def emit_addbrle(tag)#0 - ; tag -> [0] -_C032 ; emit_addbrle() -; toolsrc/codegen.pla: 0233: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0234: emit_byte($A6) -; toolsrc/codegen.pla: 0235: emit_reladdr(tag) -; toolsrc/codegen.pla: 0236: end - !BYTE $54 ; CALL _P001 -_F172 !WORD _P001 - !BYTE $2A,$A6 ; CB 166 - !BYTE $54 ; CALL _C009 -_F173 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F174 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0237: def emit_decbrge(tag)#0 - ; tag -> [0] -_C033 ; emit_decbrge() -; toolsrc/codegen.pla: 0238: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0239: emit_byte($A8) -; toolsrc/codegen.pla: 0240: emit_reladdr(tag) -; toolsrc/codegen.pla: 0241: end - !BYTE $54 ; CALL _P001 -_F175 !WORD _P001 - !BYTE $2A,$A8 ; CB 168 - !BYTE $54 ; CALL _C009 -_F176 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F177 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0242: def emit_subbrge(tag)#0 - ; tag -> [0] -_C034 ; emit_subbrge() -; toolsrc/codegen.pla: 0243: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0244: emit_byte($AA) -; toolsrc/codegen.pla: 0245: emit_reladdr(tag) -; toolsrc/codegen.pla: 0246: end - !BYTE $54 ; CALL _P001 -_F178 !WORD _P001 - !BYTE $2A,$AA ; CB 170 - !BYTE $54 ; CALL _C009 -_F179 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F180 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0247: def emit_brand(tag)#0 - ; tag -> [0] -_C035 ; emit_brand() -; toolsrc/codegen.pla: 0248: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0249: emit_byte($AC) -; toolsrc/codegen.pla: 0250: emit_reladdr(tag) -; toolsrc/codegen.pla: 0251: end - !BYTE $54 ; CALL _P001 -_F181 !WORD _P001 - !BYTE $2A,$AC ; CB 172 - !BYTE $54 ; CALL _C009 -_F182 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F183 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0252: def emit_bror(tag)#0 - ; tag -> [0] -_C036 ; emit_bror() -; toolsrc/codegen.pla: 0253: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0254: emit_byte($AE) -; toolsrc/codegen.pla: 0255: emit_reladdr(tag) -; toolsrc/codegen.pla: 0256: end - !BYTE $54 ; CALL _P001 -_F184 !WORD _P001 - !BYTE $2A,$AE ; CB 174 - !BYTE $54 ; CALL _C009 -_F185 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F186 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0257: def emit_leave#0 -_C037 ; emit_leave() -; toolsrc/codegen.pla: 0258: emit_pending_seq -; toolsrc/codegen.pla: 0259: if framesize -; toolsrc/codegen.pla: 0260: emit_byte($5A) -; toolsrc/codegen.pla: 0261: emit_byte(framesize) -; toolsrc/codegen.pla: 0262: else - !BYTE $54 ; CALL _P001 -_F187 !WORD _P001 - !BYTE $6A ; LAW _D070+0 -_F188 !WORD _D070+0 - !BYTE $4C ; BRFLS _B092 - !WORD _B092-* - !BYTE $2A,$5A ; CB 90 - !BYTE $54 ; CALL _C009 -_F189 !WORD _C009 - !BYTE $6A ; LAW _D070+0 -_F190 !WORD _D070+0 - !BYTE $54 ; CALL _C009 -_F191 !WORD _C009 - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -_B092 -; toolsrc/codegen.pla: 0263: emit_byte($5C) -; toolsrc/codegen.pla: 0264: fin - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _C009 -_F192 !WORD _C009 -_B093 -; toolsrc/codegen.pla: 0265: end - !BYTE $5C ; RET -; toolsrc/codegen.pla: 0266: def emit_enter(cparms)#0 - ; cparms -> [0] -_C038 ; emit_enter() -; toolsrc/codegen.pla: 0267: if framesize - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0268: emit_byte($58) -; toolsrc/codegen.pla: 0269: emit_byte(framesize) -; toolsrc/codegen.pla: 0270: emit_byte(cparms) -; toolsrc/codegen.pla: 0271: fin - !BYTE $6A ; LAW _D070+0 -_F193 !WORD _D070+0 - !BYTE $4C ; BRFLS _B094 - !WORD _B094-* - !BYTE $2A,$58 ; CB 88 - !BYTE $54 ; CALL _C009 -_F194 !WORD _C009 - !BYTE $6A ; LAW _D070+0 -_F195 !WORD _D070+0 - !BYTE $54 ; CALL _C009 -_F196 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F197 !WORD _C009 -_B094 -_B095 -; toolsrc/codegen.pla: 0272: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0273: def emit_tag(tag)#0 - ; tag -> [0] -_C039 ; emit_tag() -; toolsrc/codegen.pla: 0274: word fixups, updtptr, nextptr, codeofst - ; fixups -> [2] - ; updtptr -> [4] - ; nextptr -> [6] - ; codeofst -> [8] -; toolsrc/codegen.pla: 0275: -; toolsrc/codegen.pla: 0276: emit_pending_seq - !BYTE $58,$0A,$01 ; ENTER 10,1 -; toolsrc/codegen.pla: 0277: if tag_type->[tag] & RESOLVED_FIXUP; puts("Tag already resolved"); exit_err(0); fin // DEBUG - !BYTE $54 ; CALL _P001 -_F198 !WORD _P001 - !BYTE $6A ; LAW _D053+0 -_F199 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B096 - !WORD _B096-* - !BYTE $2E ; CS - !BYTE $14 - !BYTE $54,$61,$67,$20,$61,$6C,$72,$65 - !BYTE $61,$64,$79,$20,$72,$65,$73,$6F - !BYTE $6C,$76,$65,$64 - !BYTE $54 ; CALL _X004 -_F200 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F201 !WORD _C002 -_B096 -_B097 -; toolsrc/codegen.pla: 0278: // -; toolsrc/codegen.pla: 0279: // Update list of addresses needing resolution -; toolsrc/codegen.pla: 0280: // -; toolsrc/codegen.pla: 0281: if tag_type->[tag] & RELATIVE_FIXUP -; toolsrc/codegen.pla: 0282: updtptr = tag_addr=>[tag] -; toolsrc/codegen.pla: 0283: while updtptr - !BYTE $6A ; LAW _D053+0 -_F202 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B098 - !WORD _B098-* - !BYTE $6A ; LAW _D052+0 -_F203 !WORD _D052+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B102 - !WORD _B102-* -_B100 -; toolsrc/codegen.pla: 0284: nextptr = *updtptr -; toolsrc/codegen.pla: 0285: *updtptr = codeptr - updtptr -; toolsrc/codegen.pla: 0286: updtptr = nextptr -; toolsrc/codegen.pla: 0287: loop - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D075+0 -_F204 !WORD _D075+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $76,$04 ; SLW [4] -_B102 - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B100 - !WORD _B100-* -_B101 -; toolsrc/codegen.pla: 0288: updtptr = codeptr -; toolsrc/codegen.pla: 0289: else - !BYTE $6A ; LAW _D075+0 -_F205 !WORD _D075+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B099 - !WORD _B099-* -_B098 -; toolsrc/codegen.pla: 0290: codeofst = codeptr - codebuff -; toolsrc/codegen.pla: 0291: for fixups = fixup_cnt-1 downto 0 - !BYTE $6A ; LAW _D075+0 -_F206 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F207 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D046+0 -_F208 !WORD _D046+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B103 - !WORD _B103-* -_B104 - !BYTE $6E,$02 ; DLW [2] -; toolsrc/codegen.pla: 0292: if fixup_tag=>[fixups] == tag -; toolsrc/codegen.pla: 0293: updtptr = fixup_addr=>[fixups] -; toolsrc/codegen.pla: 0294: *updtptr = *updtptr + codeofst -; toolsrc/codegen.pla: 0295: fin - !BYTE $6A ; LAW _D050+0 -_F209 !WORD _D050+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $24 ; BRNE _B106 - !WORD _B106-* - !BYTE $6A ; LAW _D051+0 -_F210 !WORD _D051+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $6E,$04 ; DLW [4] - !BYTE $62 ; LW - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B106 -_B107 -; toolsrc/codegen.pla: 0296: next -_B105 - !BYTE $A8 ; DECBRGE _B104 - !WORD _B104-* -_B103 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 0297: updtptr = codeptr - codebuff -; toolsrc/codegen.pla: 0298: fin - !BYTE $6A ; LAW _D075+0 -_F211 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F212 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $76,$04 ; SLW [4] -_B099 -; toolsrc/codegen.pla: 0299: tag_addr=>[tag] = updtptr -; toolsrc/codegen.pla: 0300: tag_type->[tag] = tag_type->[tag] | RESOLVED_FIXUP -; toolsrc/codegen.pla: 0301: end - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D052+0 -_F213 !WORD _D052+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $72 ; SW - !BYTE $6A ; LAW _D053+0 -_F214 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3E,$01 ; ORI 1 - !BYTE $6A ; LAW _D053+0 -_F215 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $70 ; SB - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/codegen.pla: 0302: // -; toolsrc/codegen.pla: 0303: // Emit the pending sequence -; toolsrc/codegen.pla: 0304: // -; toolsrc/codegen.pla: 0305: def emit_pending_seq#0 -_P001 ; emit_pending_seq#0() -_C040 ; emit_pending_seq() -; toolsrc/codegen.pla: 0306: word op, pending - ; op -> [0] - ; pending -> [2] -; toolsrc/codegen.pla: 0307: // -; toolsrc/codegen.pla: 0308: // This is called by some of the emit_*() functions to ensure that any -; toolsrc/codegen.pla: 0309: // pending ops are emitted before they emit their own op when they are -; toolsrc/codegen.pla: 0310: // called from the parser. However, this function itself calls some of those -; toolsrc/codegen.pla: 0311: // emit_*() functions to emit instructions from the pending sequence, which -; toolsrc/codegen.pla: 0312: // would cause an infinite loop if we weren't careful. We therefore set -; toolsrc/codegen.pla: 0313: // pending_seq to null on entry and work with a local copy, so if this -; toolsrc/codegen.pla: 0314: // function calls back into itself it is a no-op. -; toolsrc/codegen.pla: 0315: // -; toolsrc/codegen.pla: 0316: if not pending_seq; return; fin - !BYTE $58,$04,$00 ; ENTER 4,0 - !BYTE $6A ; LAW _D056+0 -_F216 !WORD _D056+0 - !BYTE $4E ; BRTRU _B108 - !WORD _B108-* - !BYTE $5A,$04 ; LEAVE 4 -_B108 -_B109 -; toolsrc/codegen.pla: 0317: pending = pending_seq; pending_seq = NULL -; toolsrc/codegen.pla: 0318: if outflags & OPTIMIZE -; toolsrc/codegen.pla: 0319: while optimize_seq(@pending, 0); loop - !BYTE $6A ; LAW _D056+0 -_F217 !WORD _D056+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D056+0 -_F218 !WORD _D056+0 - !BYTE $68 ; LAB _D085+0 -_F219 !WORD _D085+0 - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B110 - !WORD _B110-* - !BYTE $50 ; BRNCH _B114 - !WORD _B114-* -_B112 -_B114 - !BYTE $28,$02 ; LLA [2] - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D084+0 -_F220 !WORD _D084+0 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B112 - !WORD _B112-* -_B113 -; toolsrc/codegen.pla: 0320: if outflags & OPTIMIZE2 -; toolsrc/codegen.pla: 0321: while optimize_seq(@pending, 1); loop - !BYTE $68 ; LAB _D085+0 -_F221 !WORD _D085+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B115 - !WORD _B115-* - !BYTE $50 ; BRNCH _B119 - !WORD _B119-* -_B117 -_B119 - !BYTE $28,$02 ; LLA [2] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _D084+0 -_F222 !WORD _D084+0 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B117 - !WORD _B117-* -_B118 -; toolsrc/codegen.pla: 0322: fin -_B115 -_B116 -; toolsrc/codegen.pla: 0323: fin -_B110 -_B111 -; toolsrc/codegen.pla: 0324: while pending - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -_B120 -; toolsrc/codegen.pla: 0325: op = pending -; toolsrc/codegen.pla: 0326: when op->opgroup - !BYTE $66,$02 ; LLW [2] - !BYTE $6E,$00 ; DLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B124-* -; toolsrc/codegen.pla: 0327: // -; toolsrc/codegen.pla: 0328: // Constant value -; toolsrc/codegen.pla: 0329: // -; toolsrc/codegen.pla: 0330: is CONST_GROUP -_B125 -; toolsrc/codegen.pla: 0331: if op->opcode == CONST_CODE -; toolsrc/codegen.pla: 0332: if op=>opval == $FFFF // MINUS 1 -; toolsrc/codegen.pla: 0333: ^codeptr = $20 -; toolsrc/codegen.pla: 0334: codeptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2C ; CB 44 - !BYTE $24 ; BRNE _B126 - !WORD _B126-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $20 ; MINUS ONE - !BYTE $24 ; BRNE _B128 - !WORD _B128-* - !BYTE $2A,$20 ; CB 32 - !BYTE $6A ; LAW _D075+0 -_F223 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F224 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0335: elsif op=>opval & $FFF0 == $0000 // Constant NYBBLE - !BYTE $7A ; SAW _D075+0 -_F225 !WORD _D075+0 - !BYTE $50 ; BRNCH _B129 - !WORD _B129-* -_B128 -; toolsrc/codegen.pla: 0336: ^codeptr = op->opval*2 -; toolsrc/codegen.pla: 0337: codeptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $5E,$F0 ; CFFB 65520 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B130 - !WORD _B130-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $6A ; LAW _D075+0 -_F226 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F227 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0338: elsif op=>opval & $FF00 == $0000 // Constant BYTE - !BYTE $7A ; SAW _D075+0 -_F228 !WORD _D075+0 - !BYTE $50 ; BRNCH _B129 - !WORD _B129-* -_B130 -; toolsrc/codegen.pla: 0339: *codeptr = $2A | (op->opval << 8) -; toolsrc/codegen.pla: 0340: codeptr = codeptr + 2 -; toolsrc/codegen.pla: 0341: elsif op=>opval & $FF00 == $FF00 // Constant $FF00 | BYTE - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B131 - !WORD _B131-* - !BYTE $2A,$2A ; CB 42 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $6A ; LAW _D075+0 -_F229 !WORD _D075+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F230 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D075+0 -_F231 !WORD _D075+0 - !BYTE $50 ; BRNCH _B129 - !WORD _B129-* -_B131 -; toolsrc/codegen.pla: 0342: *codeptr = $5E | (op->opval << 8) -; toolsrc/codegen.pla: 0343: codeptr = codeptr + 2 -; toolsrc/codegen.pla: 0344: else // Constant WORD - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $24 ; BRNE _B132 - !WORD _B132-* - !BYTE $2A,$5E ; CB 94 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $6A ; LAW _D075+0 -_F232 !WORD _D075+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F233 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D075+0 -_F234 !WORD _D075+0 - !BYTE $50 ; BRNCH _B129 - !WORD _B129-* -_B132 -; toolsrc/codegen.pla: 0345: codeptr->0 = $2C -; toolsrc/codegen.pla: 0346: codeptr=>1 = op=>opval -; toolsrc/codegen.pla: 0347: codeptr = codeptr + 3 -; toolsrc/codegen.pla: 0348: fin - !BYTE $2A,$2C ; CB 44 - !BYTE $6A ; LAW _D075+0 -_F235 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D075+0 -_F236 !WORD _D075+0 - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F237 !WORD _D075+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D075+0 -_F238 !WORD _D075+0 -_B129 -; toolsrc/codegen.pla: 0349: else - !BYTE $50 ; BRNCH _B127 - !WORD _B127-* -_B126 -; toolsrc/codegen.pla: 0350: *codeptr = op->opcode | (op->opval << 8) // IMMEDIATE BYTE OP -; toolsrc/codegen.pla: 0351: codeptr = codeptr + 2 -; toolsrc/codegen.pla: 0352: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $6A ; LAW _D075+0 -_F239 !WORD _D075+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F240 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D075+0 -_F241 !WORD _D075+0 -_B127 -; toolsrc/codegen.pla: 0353: break - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -; toolsrc/codegen.pla: 0354: // -; toolsrc/codegen.pla: 0355: // Constant string -; toolsrc/codegen.pla: 0356: // -; toolsrc/codegen.pla: 0357: is CONSTR_GROUP -_B133 -; toolsrc/codegen.pla: 0358: ^codeptr = $2E -; toolsrc/codegen.pla: 0359: codeptr++ - !BYTE $2A,$2E ; CB 46 - !BYTE $6A ; LAW _D075+0 -_F242 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F243 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0360: emit_data(0, STR_TYPE, op=>opval, 0) -; toolsrc/codegen.pla: 0361: break - !BYTE $7A ; SAW _D075+0 -_F244 !WORD _D075+0 - !BYTE $00 ; CN 0 - !BYTE $2A,$80 ; CB 128 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C014 -_F245 !WORD _C014 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -; toolsrc/codegen.pla: 0362: // -; toolsrc/codegen.pla: 0363: // Single op codes -; toolsrc/codegen.pla: 0364: // -; toolsrc/codegen.pla: 0365: is STACK_GROUP -_B134 -; toolsrc/codegen.pla: 0366: ^codeptr = op->opcode -; toolsrc/codegen.pla: 0367: codeptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D075+0 -_F246 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F247 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0368: break - !BYTE $7A ; SAW _D075+0 -_F248 !WORD _D075+0 - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -; toolsrc/codegen.pla: 0369: // -; toolsrc/codegen.pla: 0370: // Local address codes -; toolsrc/codegen.pla: 0371: // -; toolsrc/codegen.pla: 0372: is LOCAL_GROUP -_B135 -; toolsrc/codegen.pla: 0373: *codeptr = op->opcode | (op->opoffset << 8) -; toolsrc/codegen.pla: 0374: codeptr = codeptr + 2 -; toolsrc/codegen.pla: 0375: break - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $6A ; LAW _D075+0 -_F249 !WORD _D075+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F250 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D075+0 -_F251 !WORD _D075+0 - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -; toolsrc/codegen.pla: 0376: // -; toolsrc/codegen.pla: 0377: // Global address codes -; toolsrc/codegen.pla: 0378: // -; toolsrc/codegen.pla: 0379: is GLOBAL_GROUP -_B136 -; toolsrc/codegen.pla: 0380: ^codeptr = op->opcode -; toolsrc/codegen.pla: 0381: codeptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D075+0 -_F252 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F253 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0382: emit_addr(op=>optag, op=>opoffset) -; toolsrc/codegen.pla: 0383: break - !BYTE $7A ; SAW _D075+0 -_F254 !WORD _D075+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C012 -_F255 !WORD _C012 - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -; toolsrc/codegen.pla: 0384: // -; toolsrc/codegen.pla: 0385: // Relative address codes -; toolsrc/codegen.pla: 0386: // -; toolsrc/codegen.pla: 0387: is RELATIVE_GROUP -_B137 -; toolsrc/codegen.pla: 0388: ^codeptr = op->opcode -; toolsrc/codegen.pla: 0389: codeptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D075+0 -_F256 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F257 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0390: emit_reladdr(op=>optag) -; toolsrc/codegen.pla: 0391: break - !BYTE $7A ; SAW _D075+0 -_F258 !WORD _D075+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C013 -_F259 !WORD _C013 - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -; toolsrc/codegen.pla: 0392: // -; toolsrc/codegen.pla: 0393: // Code tags -; toolsrc/codegen.pla: 0394: // -; toolsrc/codegen.pla: 0395: is CODETAG_GROUP -_B138 -; toolsrc/codegen.pla: 0396: emit_tag(op=>optag) -; toolsrc/codegen.pla: 0397: break - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C039 -_F260 !WORD _C039 - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -; toolsrc/codegen.pla: 0398: otherwise -_B124 - !BYTE $07 ; CASEBLOCK - !WORD $0000 - !WORD _B125-* - !WORD $0001 - !WORD _B133-* - !WORD $0002 - !WORD _B134-* - !WORD $0003 - !WORD _B135-* - !WORD $0004 - !WORD _B136-* - !WORD $0005 - !WORD _B137-* - !WORD $0006 - !WORD _B138-* -; toolsrc/codegen.pla: 0399: return - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0400: wend -_B123 -; toolsrc/codegen.pla: 0401: pending = pending=>opnext; -; toolsrc/codegen.pla: 0402: // -; toolsrc/codegen.pla: 0403: // Free this op -; toolsrc/codegen.pla: 0404: // -; toolsrc/codegen.pla: 0405: op=>opnext = freeop_lst -; toolsrc/codegen.pla: 0406: freeop_lst = op -; toolsrc/codegen.pla: 0407: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D083+0 -_F261 !WORD _D083+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D083+0 -_F262 !WORD _D083+0 -_B122 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B120 - !WORD _B120-* -_B121 -; toolsrc/codegen.pla: 0408: if codeptr - codebuff > codebufsz; exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $6A ; LAW _D075+0 -_F263 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F264 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D068+0 -_F265 !WORD _D068+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B139 - !WORD _B139-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F266 !WORD _C002 -_B139 -_B140 -; toolsrc/codegen.pla: 0409: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0410: // -; toolsrc/codegen.pla: 0411: // Emit a sequence of ops (into the pending sequence) -; toolsrc/codegen.pla: 0412: // -; toolsrc/codegen.pla: 0413: def emit_seq(seq)#0 - ; seq -> [0] -_C041 ; emit_seq() -; toolsrc/codegen.pla: 0414: word op - ; op -> [2] -; toolsrc/codegen.pla: 0415: byte string - ; string -> [4] -; toolsrc/codegen.pla: 0416: string = FALSE - !BYTE $58,$05,$01 ; ENTER 5,1 -; toolsrc/codegen.pla: 0417: op = seq -; toolsrc/codegen.pla: 0418: while op - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B143 - !WORD _B143-* -_B141 -; toolsrc/codegen.pla: 0419: if op->opcode == CONSTR_CODE; string = TRUE; break; fin - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $24 ; BRNE _B144 - !WORD _B144-* - !BYTE $20 ; MINUS ONE - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B142 - !WORD _B142-* -_B144 -_B145 -; toolsrc/codegen.pla: 0420: op = op=>opnext -; toolsrc/codegen.pla: 0421: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B143 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B141 - !WORD _B141-* -_B142 -; toolsrc/codegen.pla: 0422: pending_seq = cat_seq(pending_seq, seq) -; toolsrc/codegen.pla: 0423: // -; toolsrc/codegen.pla: 0424: // The source code comments in the output are much more logical if we don't -; toolsrc/codegen.pla: 0425: // merge multiple sequences together. There's no value in doing this merging -; toolsrc/codegen.pla: 0426: // if we're not optimizing, and we optionally allow it to be prevented even -; toolsrc/codegen.pla: 0427: // when we are optimizing by specifing the -N (NO_COMBINE) flag. -; toolsrc/codegen.pla: 0428: // -; toolsrc/codegen.pla: 0429: // We must also force output if the sequence includes a CS opcode, as the -; toolsrc/codegen.pla: 0430: // associated 'constant' is only temporarily valid. -; toolsrc/codegen.pla: 0431: // -; toolsrc/codegen.pla: 0432: if not (outflags & (OPTIMIZE|OPTIMIZE2)) or outflags & NO_COMBINE or string -; toolsrc/codegen.pla: 0433: emit_pending_seq -; toolsrc/codegen.pla: 0434: fin - !BYTE $6A ; LAW _D056+0 -_F267 !WORD _D056+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C008 -_F268 !WORD _C008 - !BYTE $7A ; SAW _D056+0 -_F269 !WORD _D056+0 - !BYTE $68 ; LAB _D085+0 -_F270 !WORD _D085+0 - !BYTE $3C,$03 ; ANDI 3 - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B146 - !WORD _B146-* - !BYTE $68 ; LAB _D085+0 -_F271 !WORD _D085+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $AE ; BROR _B147 - !WORD _B147-* - !BYTE $64,$04 ; LLB [4] -_B147 -_B146 - !BYTE $4C ; BRFLS _B148 - !WORD _B148-* - !BYTE $54 ; CALL _C040 -_F272 !WORD _C040 -_B148 -_B149 -; toolsrc/codegen.pla: 0435: end - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/codegen.pla: 0436: // -; toolsrc/codegen.pla: 0437: // Emit lambda function -; toolsrc/codegen.pla: 0438: // -; toolsrc/codegen.pla: 0439: def emit_lambdafunc(tag, cparms, lambda_seq)#0 - ; tag -> [0] - ; cparms -> [2] - ; lambda_seq -> [4] -_C042 ; emit_lambdafunc() -; toolsrc/codegen.pla: 0440: emit_tag(tag) - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/codegen.pla: 0441: framesize = cparms * 2 -; toolsrc/codegen.pla: 0442: emit_enter(cparms) -; toolsrc/codegen.pla: 0443: emit_seq(lambda_seq) -; toolsrc/codegen.pla: 0444: emit_leave -; toolsrc/codegen.pla: 0445: end - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C039 -_F273 !WORD _C039 - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D070+0 -_F274 !WORD _D070+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C038 -_F275 !WORD _C038 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F276 !WORD _C041 - !BYTE $54 ; CALL _C037 -_F277 !WORD _C037 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0446: // -; toolsrc/codegen.pla: 0447: // ID manager -; toolsrc/codegen.pla: 0448: // -; toolsrc/codegen.pla: 0449: def idmatch(nameptr, len, idptr, idcnt) - ; nameptr -> [0] - ; len -> [2] - ; idptr -> [4] - ; idcnt -> [6] -_C043 ; idmatch() -; toolsrc/codegen.pla: 0450: byte i - ; i -> [8] -; toolsrc/codegen.pla: 0451: -; toolsrc/codegen.pla: 0452: if len > ID_LEN; len = ID_LEN; fin - !BYTE $58,$09,$04 ; ENTER 9,4 - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B150 - !WORD _B150-* - !BYTE $2A,$20 ; CB 32 - !BYTE $76,$02 ; SLW [2] -_B150 -_B151 -; toolsrc/codegen.pla: 0453: while idcnt - !BYTE $50 ; BRNCH _B154 - !WORD _B154-* -_B152 -; toolsrc/codegen.pla: 0454: if len == idptr->idname -; toolsrc/codegen.pla: 0455: i = 1; while i <= len and nameptr->[i - 1] == idptr->idname.[i]; i++; loop - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B155 - !WORD _B155-* - !BYTE $02 ; CN 1 - !BYTE $74,$08 ; SLB [8] - !BYTE $50 ; BRNCH _B159 - !WORD _B159-* -_B157 - !BYTE $64,$08 ; LLB [8] - !BYTE $8C ; INCR - !BYTE $74,$08 ; SLB [8] -_B159 - !BYTE $64,$08 ; LLB [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $4A ; ISLE - !BYTE $AC ; BRAND _B160 - !WORD _B160-* - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$08 ; LLB [8] - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$07 ; ADDI 7 - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $60 ; LB - !BYTE $40 ; ISEQ -_B160 - !BYTE $4E ; BRTRU _B157 - !WORD _B157-* -_B158 -; toolsrc/codegen.pla: 0456: //for i = 1 to len -; toolsrc/codegen.pla: 0457: // if nameptr->[i - 1] <> idptr->idname.[i]; break; fin -; toolsrc/codegen.pla: 0458: //next -; toolsrc/codegen.pla: 0459: if i > len; return idptr; fin - !BYTE $64,$08 ; LLB [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B161 - !WORD _B161-* - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$09 ; LEAVE 9 -_B161 -_B162 -; toolsrc/codegen.pla: 0460: fin -_B155 -_B156 -; toolsrc/codegen.pla: 0461: idptr = idptr + idptr->idname + t_id -; toolsrc/codegen.pla: 0462: idcnt-- - !BYTE $66,$04 ; LLW [4] - !BYTE $34 ; DUP - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $8E ; DECR -; toolsrc/codegen.pla: 0463: loop - !BYTE $76,$06 ; SLW [6] -_B154 - !BYTE $66,$06 ; LLW [6] - !BYTE $4E ; BRTRU _B152 - !WORD _B152-* -_B153 -; toolsrc/codegen.pla: 0464: return NULL - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; toolsrc/codegen.pla: 0465: end -; toolsrc/codegen.pla: 0466: def lookup_id(nameptr, len) - ; nameptr -> [0] - ; len -> [2] -_C044 ; lookup_id() -; toolsrc/codegen.pla: 0467: word idptr - ; idptr -> [4] -; toolsrc/codegen.pla: 0468: -; toolsrc/codegen.pla: 0469: idptr = idmatch(nameptr, len, idlocal_tbl, locals) - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0470: if not idptr -; toolsrc/codegen.pla: 0471: idptr = idmatch(nameptr, len, idglobal_tbl, globals) -; toolsrc/codegen.pla: 0472: if idptr -; toolsrc/codegen.pla: 0473: if idptr=>idtype & EXTERN_TYPE -; toolsrc/codegen.pla: 0474: idptr=>idtype = idptr=>idtype | EXTACCESS_TYPE -; toolsrc/codegen.pla: 0475: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D055+0 -_F278 !WORD _D055+0 - !BYTE $68 ; LAB _D072+0 -_F279 !WORD _D072+0 - !BYTE $54 ; CALL _C043 -_F280 !WORD _C043 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B163 - !WORD _B163-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D054+0 -_F281 !WORD _D054+0 - !BYTE $6A ; LAW _D057+0 -_F282 !WORD _D057+0 - !BYTE $54 ; CALL _C043 -_F283 !WORD _C043 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B165 - !WORD _B165-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B167 - !WORD _B167-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $96 ; OR - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW -_B167 -_B168 -; toolsrc/codegen.pla: 0476: fin -_B165 -_B166 -; toolsrc/codegen.pla: 0477: fin -_B163 -_B164 -; toolsrc/codegen.pla: 0478: return idptr - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0479: end -; toolsrc/codegen.pla: 0480: def lookup_idglobal(nameptr, len) - ; nameptr -> [0] - ; len -> [2] -_C045 ; lookup_idglobal() -; toolsrc/codegen.pla: 0481: word idptr - ; idptr -> [4] -; toolsrc/codegen.pla: 0482: -; toolsrc/codegen.pla: 0483: idptr = idmatch(nameptr, len, idglobal_tbl, globals) - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0484: if idptr -; toolsrc/codegen.pla: 0485: if idptr=>idtype & EXTERN_TYPE -; toolsrc/codegen.pla: 0486: idptr=>idtype = idptr=>idtype | EXTACCESS_TYPE -; toolsrc/codegen.pla: 0487: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D054+0 -_F284 !WORD _D054+0 - !BYTE $6A ; LAW _D057+0 -_F285 !WORD _D057+0 - !BYTE $54 ; CALL _C043 -_F286 !WORD _C043 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B169 - !WORD _B169-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B171 - !WORD _B171-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $96 ; OR - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW -_B171 -_B172 -; toolsrc/codegen.pla: 0488: fin -_B169 -_B170 -; toolsrc/codegen.pla: 0489: return idptr - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0490: end -; toolsrc/codegen.pla: 0491: def new_iddata(nameptr, len, type, size)#0 - ; nameptr -> [0] - ; len -> [2] - ; type -> [4] - ; size -> [6] -_C046 ; new_iddata() -; toolsrc/codegen.pla: 0492: if idmatch(nameptr, len, idglobal_tbl, globals); exit_err(ERR_DUP|ERR_ID); fin - !BYTE $58,$08,$04 ; ENTER 8,4 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D054+0 -_F287 !WORD _D054+0 - !BYTE $6A ; LAW _D057+0 -_F288 !WORD _D057+0 - !BYTE $54 ; CALL _C043 -_F289 !WORD _C043 - !BYTE $4C ; BRFLS _B173 - !WORD _B173-* - !BYTE $2C,$01,$02 ; CW 513 - !BYTE $54 ; CALL _C002 -_F290 !WORD _C002 -_B173 -_B174 -; toolsrc/codegen.pla: 0493: nametostr(nameptr, len, lastglobal + idname) -; toolsrc/codegen.pla: 0494: lastglobal=>idtype = type -; toolsrc/codegen.pla: 0495: if type & EXTERN_TYPE -; toolsrc/codegen.pla: 0496: lastglobal=>idval = new_tag(EXTERN_FIXUP|WORD_FIXUP)//datasize -; toolsrc/codegen.pla: 0497: else - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D058+0 -_F291 !WORD _D058+0 - !BYTE $38,$07 ; ADDI 7 - !BYTE $54 ; CALL _C000 -_F292 !WORD _C000 - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D058+0 -_F293 !WORD _D058+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B175 - !WORD _B175-* - !BYTE $2A,$90 ; CB 144 - !BYTE $54 ; CALL _C004 -_F294 !WORD _C004 - !BYTE $6A ; LAW _D058+0 -_F295 !WORD _D058+0 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B176 - !WORD _B176-* -_B175 -; toolsrc/codegen.pla: 0498: lastglobal=>idval = new_tag(WORD_FIXUP)//datasize -; toolsrc/codegen.pla: 0499: emit_tag(lastglobal=>idval) -; toolsrc/codegen.pla: 0500: lastglobalsize = size -; toolsrc/codegen.pla: 0501: if size -; toolsrc/codegen.pla: 0502: emit_fill(size) -; toolsrc/codegen.pla: 0503: datasize = datasize + size -; toolsrc/codegen.pla: 0504: fin - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F296 !WORD _C004 - !BYTE $6A ; LAW _D058+0 -_F297 !WORD _D058+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D058+0 -_F298 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C039 -_F299 !WORD _C039 - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D059+0 -_F300 !WORD _D059+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $4C ; BRFLS _B177 - !WORD _B177-* - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C011 -_F301 !WORD _C011 - !BYTE $6A ; LAW _D069+0 -_F302 !WORD _D069+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $7A ; SAW _D069+0 -_F303 !WORD _D069+0 -_B177 -_B178 -; toolsrc/codegen.pla: 0505: fin -_B176 -; toolsrc/codegen.pla: 0506: globals++ - !BYTE $6A ; LAW _D057+0 -_F304 !WORD _D057+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0507: lastglobal = lastglobal + t_id + len -; toolsrc/codegen.pla: 0508: if lastglobal - idglobal_tbl > globalbufsz; exit_err(ERR_OVER|ERR_GLOBAL|ERR_ID|ERR_TABLE); fin - !BYTE $7A ; SAW _D057+0 -_F305 !WORD _D057+0 - !BYTE $6A ; LAW _D058+0 -_F306 !WORD _D058+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $7E ; DAW _D058+0 -_F307 !WORD _D058+0 - !BYTE $6A ; LAW _D054+0 -_F308 !WORD _D054+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D066+0 -_F309 !WORD _D066+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B179 - !WORD _B179-* - !BYTE $2C,$90,$42 ; CW 17040 - !BYTE $54 ; CALL _C002 -_F310 !WORD _C002 -_B179 -_B180 -; toolsrc/codegen.pla: 0509: end - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/codegen.pla: 0510: def size_iddata(type, varsize, initsize)#0 - ; type -> [0] - ; varsize -> [2] - ; initsize -> [4] -_C047 ; size_iddata() -; toolsrc/codegen.pla: 0511: if varsize > initsize - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/codegen.pla: 0512: datasize = datasize + varsize -; toolsrc/codegen.pla: 0513: emit_data(0, 0, 0, varsize - initsize) -; toolsrc/codegen.pla: 0514: else - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B181 - !WORD _B181-* - !BYTE $6A ; LAW _D069+0 -_F311 !WORD _D069+0 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $7A ; SAW _D069+0 -_F312 !WORD _D069+0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _C014 -_F313 !WORD _C014 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B182 - !WORD _B182-* -_B181 -; toolsrc/codegen.pla: 0515: datasize = datasize + initsize -; toolsrc/codegen.pla: 0516: fin - !BYTE $6A ; LAW _D069+0 -_F314 !WORD _D069+0 - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $7A ; SAW _D069+0 -_F315 !WORD _D069+0 -_B182 -; toolsrc/codegen.pla: 0517: end - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0518: def new_idglobal(nameptr, len, type, value, cparms, cvals)#0 - ; nameptr -> [0] - ; len -> [2] - ; type -> [4] - ; value -> [6] - ; cparms -> [8] - ; cvals -> [10] -_C048 ; new_idglobal() -; toolsrc/codegen.pla: 0519: if idmatch(nameptr, len, idglobal_tbl, globals); exit_err(ERR_DUP|ERR_ID); fin - !BYTE $58,$0C,$06 ; ENTER 12,6 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D054+0 -_F316 !WORD _D054+0 - !BYTE $6A ; LAW _D057+0 -_F317 !WORD _D057+0 - !BYTE $54 ; CALL _C043 -_F318 !WORD _C043 - !BYTE $4C ; BRFLS _B183 - !WORD _B183-* - !BYTE $2C,$01,$02 ; CW 513 - !BYTE $54 ; CALL _C002 -_F319 !WORD _C002 -_B183 -_B184 -; toolsrc/codegen.pla: 0520: if len > ID_LEN; len = ID_LEN; fin - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B185 - !WORD _B185-* - !BYTE $2A,$20 ; CB 32 - !BYTE $76,$02 ; SLW [2] -_B185 -_B186 -; toolsrc/codegen.pla: 0521: lastglobal=>idval = value -; toolsrc/codegen.pla: 0522: lastglobal=>idtype = type -; toolsrc/codegen.pla: 0523: lastglobal->funcparms = cparms -; toolsrc/codegen.pla: 0524: lastglobal->funcvals = cvals -; toolsrc/codegen.pla: 0525: nametostr(nameptr, len, lastglobal + idname) -; toolsrc/codegen.pla: 0526: globals++ - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D058+0 -_F320 !WORD _D058+0 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D058+0 -_F321 !WORD _D058+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $6A ; LAW _D058+0 -_F322 !WORD _D058+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $6A ; LAW _D058+0 -_F323 !WORD _D058+0 - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D058+0 -_F324 !WORD _D058+0 - !BYTE $38,$07 ; ADDI 7 - !BYTE $54 ; CALL _C000 -_F325 !WORD _C000 - !BYTE $6A ; LAW _D057+0 -_F326 !WORD _D057+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0527: lastglobal = lastglobal + t_id + len -; toolsrc/codegen.pla: 0528: if lastglobal - idglobal_tbl > globalbufsz; exit_err(ERR_OVER|ERR_GLOBAL|ERR_ID|ERR_TABLE); fin - !BYTE $7A ; SAW _D057+0 -_F327 !WORD _D057+0 - !BYTE $6A ; LAW _D058+0 -_F328 !WORD _D058+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $7E ; DAW _D058+0 -_F329 !WORD _D058+0 - !BYTE $6A ; LAW _D054+0 -_F330 !WORD _D054+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D066+0 -_F331 !WORD _D066+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B187 - !WORD _B187-* - !BYTE $2C,$90,$42 ; CW 17040 - !BYTE $54 ; CALL _C002 -_F332 !WORD _C002 -_B187 -_B188 -; toolsrc/codegen.pla: 0529: end - !BYTE $5A,$0C ; LEAVE 12 -; toolsrc/codegen.pla: 0530: def new_idconst(nameptr, len, value)#0 - ; nameptr -> [0] - ; len -> [2] - ; value -> [4] -_C049 ; new_idconst() -; toolsrc/codegen.pla: 0531: new_idglobal(nameptr, len, CONST_TYPE, value, 0, 0) - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/codegen.pla: 0532: end - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $02 ; CN 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C048 -_F333 !WORD _C048 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0533: def new_idfunc(nameptr, len, type, tag, cfnparms, cfnvals)#0 - ; nameptr -> [0] - ; len -> [2] - ; type -> [4] - ; tag -> [6] - ; cfnparms -> [8] - ; cfnvals -> [10] -_C050 ; new_idfunc() -; toolsrc/codegen.pla: 0534: new_idglobal(nameptr, len, type|FUNC_TYPE, tag, cfnparms, cfnvals) - !BYTE $58,$0C,$06 ; ENTER 12,6 -; toolsrc/codegen.pla: 0535: if not (type & EXTERN_TYPE); def_cnt++; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $3E,$08 ; ORI 8 - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C048 -_F334 !WORD _C048 - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B189 - !WORD _B189-* - !BYTE $68 ; LAB _D080+0 -_F335 !WORD _D080+0 - !BYTE $8C ; INCR - !BYTE $78 ; SAB _D080+0 -_F336 !WORD _D080+0 -_B189 -_B190 -; toolsrc/codegen.pla: 0536: end - !BYTE $5A,$0C ; LEAVE 12 -; toolsrc/codegen.pla: 0537: def set_idfunc(nameptr, len, tag, cparms, cvals)#0 - ; nameptr -> [0] - ; len -> [2] - ; tag -> [4] - ; cparms -> [6] - ; cvals -> [8] -_C051 ; set_idfunc() -; toolsrc/codegen.pla: 0538: word idptr - ; idptr -> [10] -; toolsrc/codegen.pla: 0539: -; toolsrc/codegen.pla: 0540: idptr = lookup_idglobal(nameptr, len) - !BYTE $58,$0C,$05 ; ENTER 12,5 -; toolsrc/codegen.pla: 0541: if idptr -; toolsrc/codegen.pla: 0542: if not (idptr=>idtype & FUNC_TYPE); exit_err(ERR_UNDECL|ERR_CODE); fin // DEBUG - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C045 -_F337 !WORD _C045 - !BYTE $6E,$0A ; DLW [10] - !BYTE $4C ; BRFLS _B191 - !WORD _B191-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4E ; BRTRU _B193 - !WORD _B193-* - !BYTE $2C,$02,$01 ; CW 258 - !BYTE $54 ; CALL _C002 -_F338 !WORD _C002 -_B193 -_B194 -; toolsrc/codegen.pla: 0543: idptr=>idval = tag -; toolsrc/codegen.pla: 0544: idptr->funcparms = cparms -; toolsrc/codegen.pla: 0545: idptr->funcvals = cvals -; toolsrc/codegen.pla: 0546: else - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0A ; LLW [10] - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B192 - !WORD _B192-* -_B191 -; toolsrc/codegen.pla: 0547: exit_err(ERR_UNDECL|ERR_ID) -; toolsrc/codegen.pla: 0548: fin - !BYTE $2C,$02,$02 ; CW 514 - !BYTE $54 ; CALL _C002 -_F339 !WORD _C002 -_B192 -; toolsrc/codegen.pla: 0549: end - !BYTE $5A,$0C ; LEAVE 12 -; toolsrc/codegen.pla: 0550: def init_idglobal#0 -_C052 ; init_idglobal() -; toolsrc/codegen.pla: 0551: word op - ; op -> [0] -; toolsrc/codegen.pla: 0552: word i - ; i -> [2] -; toolsrc/codegen.pla: 0553: -; toolsrc/codegen.pla: 0554: dfd_num = DFDNUM - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/codegen.pla: 0555: tag_num = TAGNUM -; toolsrc/codegen.pla: 0556: fixup_num = FIXUPNUM -; toolsrc/codegen.pla: 0557: globalbufsz = IDGLOBALSZ -; toolsrc/codegen.pla: 0558: localbufsz = IDLOCALSZ -; toolsrc/codegen.pla: 0559: if isult(heapavail, $6000) -; toolsrc/codegen.pla: 0560: dfd_num = DFDNUM/2 -; toolsrc/codegen.pla: 0561: tag_num = TAGNUM/2 -; toolsrc/codegen.pla: 0562: fixup_num = FIXUPNUM/2 -; toolsrc/codegen.pla: 0563: globalbufsz = IDGLOBALSZ -; toolsrc/codegen.pla: 0564: localbufsz = IDLOCALSZ/2 -; toolsrc/codegen.pla: 0565: fin - !BYTE $2A,$80 ; CB 128 - !BYTE $7A ; SAW _D063+0 -_F340 !WORD _D063+0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $7A ; SAW _D064+0 -_F341 !WORD _D064+0 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $7A ; SAW _D065+0 -_F342 !WORD _D065+0 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $7A ; SAW _D066+0 -_F343 !WORD _D066+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $7A ; SAW _D067+0 -_F344 !WORD _D067+0 - !BYTE $54 ; CALL _X016 -_F345 !WORD 0 - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $54 ; CALL _X026 -_F346 !WORD 0 - !BYTE $4C ; BRFLS _B195 - !WORD _B195-* - !BYTE $2A,$40 ; CB 64 - !BYTE $7A ; SAW _D063+0 -_F347 !WORD _D063+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $7A ; SAW _D064+0 -_F348 !WORD _D064+0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $7A ; SAW _D065+0 -_F349 !WORD _D065+0 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $7A ; SAW _D066+0 -_F350 !WORD _D066+0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $7A ; SAW _D067+0 -_F351 !WORD _D067+0 -_B195 -_B196 -; toolsrc/codegen.pla: 0566: // -; toolsrc/codegen.pla: 0567: //Init free op sequence list -; toolsrc/codegen.pla: 0568: // -; toolsrc/codegen.pla: 0569: freeop_lst = heapalloc(OPSEQNUM*t_opseq) -; toolsrc/codegen.pla: 0570: op = freeop_lst -; toolsrc/codegen.pla: 0571: for i = OPSEQNUM-1 downto 0 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $54 ; CALL _X014 -_F352 !WORD 0 - !BYTE $7E ; DAW _D083+0 -_F353 !WORD _D083+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $00 ; CN 0 - !BYTE $2A,$FF ; CB 255 -_B198 - !BYTE $6E,$02 ; DLW [2] -; toolsrc/codegen.pla: 0572: op=>opnext = op + t_opseq -; toolsrc/codegen.pla: 0573: op = op + t_opseq -; toolsrc/codegen.pla: 0574: next - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$00 ; SLW [0] -_B199 - !BYTE $A8 ; DECBRGE _B198 - !WORD _B198-* -_B197 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 0575: op=>opnext = NULL -; toolsrc/codegen.pla: 0576: // -; toolsrc/codegen.pla: 0577: // Allocate remaining buffers -; toolsrc/codegen.pla: 0578: // -; toolsrc/codegen.pla: 0579: dfd_tag = heapalloc(dfd_num*2) -; toolsrc/codegen.pla: 0580: tag_addr = heapalloc(tag_num*2) -; toolsrc/codegen.pla: 0581: tag_type = heapalloc(tag_num) -; toolsrc/codegen.pla: 0582: fixup_tag = heapalloc(fixup_num*2) -; toolsrc/codegen.pla: 0583: fixup_addr = heapalloc(fixup_num*2) -; toolsrc/codegen.pla: 0584: idglobal_tbl = heapalloc(globalbufsz) -; toolsrc/codegen.pla: 0585: idlocal_tbl = heapalloc(localbufsz) -; toolsrc/codegen.pla: 0586: codebufsz = heapavail - 2048 -; toolsrc/codegen.pla: 0587: codebuff = heapalloc(codebufsz) -; toolsrc/codegen.pla: 0588: codeptr = codebuff -; toolsrc/codegen.pla: 0589: lastglobal = idglobal_tbl -; toolsrc/codegen.pla: 0590: end - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D063+0 -_F354 !WORD _D063+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X014 -_F355 !WORD 0 - !BYTE $7A ; SAW _D048+0 -_F356 !WORD _D048+0 - !BYTE $6A ; LAW _D064+0 -_F357 !WORD _D064+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X014 -_F358 !WORD 0 - !BYTE $7A ; SAW _D052+0 -_F359 !WORD _D052+0 - !BYTE $6A ; LAW _D064+0 -_F360 !WORD _D064+0 - !BYTE $54 ; CALL _X014 -_F361 !WORD 0 - !BYTE $7A ; SAW _D053+0 -_F362 !WORD _D053+0 - !BYTE $6A ; LAW _D065+0 -_F363 !WORD _D065+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X014 -_F364 !WORD 0 - !BYTE $7A ; SAW _D050+0 -_F365 !WORD _D050+0 - !BYTE $6A ; LAW _D065+0 -_F366 !WORD _D065+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X014 -_F367 !WORD 0 - !BYTE $7A ; SAW _D051+0 -_F368 !WORD _D051+0 - !BYTE $6A ; LAW _D066+0 -_F369 !WORD _D066+0 - !BYTE $54 ; CALL _X014 -_F370 !WORD 0 - !BYTE $7A ; SAW _D054+0 -_F371 !WORD _D054+0 - !BYTE $6A ; LAW _D067+0 -_F372 !WORD _D067+0 - !BYTE $54 ; CALL _X014 -_F373 !WORD 0 - !BYTE $7A ; SAW _D055+0 -_F374 !WORD _D055+0 - !BYTE $54 ; CALL _X016 -_F375 !WORD 0 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $84 ; SUB - !BYTE $7E ; DAW _D068+0 -_F376 !WORD _D068+0 - !BYTE $54 ; CALL _X014 -_F377 !WORD 0 - !BYTE $7E ; DAW _D074+0 -_F378 !WORD _D074+0 - !BYTE $7A ; SAW _D075+0 -_F379 !WORD _D075+0 - !BYTE $6A ; LAW _D054+0 -_F380 !WORD _D054+0 - !BYTE $7A ; SAW _D058+0 -_F381 !WORD _D058+0 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0591: def new_idlocal(nameptr, len, type, size)#0 - ; nameptr -> [0] - ; len -> [2] - ; type -> [4] - ; size -> [6] -_C053 ; new_idlocal() -; toolsrc/codegen.pla: 0592: if idmatch(nameptr, len, @idlocal_tbl, locals); exit_err(ERR_DUP|ERR_ID); fin - !BYTE $58,$08,$04 ; ENTER 8,4 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D055+0 -_F382 !WORD _D055+0 - !BYTE $68 ; LAB _D072+0 -_F383 !WORD _D072+0 - !BYTE $54 ; CALL _C043 -_F384 !WORD _C043 - !BYTE $4C ; BRFLS _B200 - !WORD _B200-* - !BYTE $2C,$01,$02 ; CW 513 - !BYTE $54 ; CALL _C002 -_F385 !WORD _C002 -_B200 -_B201 -; toolsrc/codegen.pla: 0593: if len > ID_LEN; len = ID_LEN; fin - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B202 - !WORD _B202-* - !BYTE $2A,$20 ; CB 32 - !BYTE $76,$02 ; SLW [2] -_B202 -_B203 -; toolsrc/codegen.pla: 0594: lastlocal=>idval = framesize -; toolsrc/codegen.pla: 0595: lastlocal=>idtype = type | LOCAL_TYPE -; toolsrc/codegen.pla: 0596: nametostr(nameptr, len, lastlocal + idname) -; toolsrc/codegen.pla: 0597: locals++ - !BYTE $6A ; LAW _D070+0 -_F386 !WORD _D070+0 - !BYTE $6A ; LAW _D060+0 -_F387 !WORD _D060+0 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $3E,$10 ; ORI 16 - !BYTE $6A ; LAW _D060+0 -_F388 !WORD _D060+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D060+0 -_F389 !WORD _D060+0 - !BYTE $38,$07 ; ADDI 7 - !BYTE $54 ; CALL _C000 -_F390 !WORD _C000 - !BYTE $68 ; LAB _D072+0 -_F391 !WORD _D072+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0598: lastlocal = lastlocal + t_id + len -; toolsrc/codegen.pla: 0599: if lastlocal - idlocal_tbl > localbufsz; exit_err(ERR_OVER|ERR_LOCAL|ERR_TABLE); fin - !BYTE $78 ; SAB _D072+0 -_F392 !WORD _D072+0 - !BYTE $6A ; LAW _D060+0 -_F393 !WORD _D060+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $7E ; DAW _D060+0 -_F394 !WORD _D060+0 - !BYTE $6A ; LAW _D055+0 -_F395 !WORD _D055+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D067+0 -_F396 !WORD _D067+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B204 - !WORD _B204-* - !BYTE $2C,$50,$40 ; CW 16464 - !BYTE $54 ; CALL _C002 -_F397 !WORD _C002 -_B204 -_B205 -; toolsrc/codegen.pla: 0600: framesize = framesize + size -; toolsrc/codegen.pla: 0601: if framesize > 255; exit_err(ERR_OVER|ERR_LOCAL|ERR_FRAME); fin - !BYTE $6A ; LAW _D070+0 -_F398 !WORD _D070+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $7E ; DAW _D070+0 -_F399 !WORD _D070+0 - !BYTE $2A,$FF ; CB 255 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B206 - !WORD _B206-* - !BYTE $2C,$50,$20 ; CW 8272 - !BYTE $54 ; CALL _C002 -_F400 !WORD _C002 -_B206 -_B207 -; toolsrc/codegen.pla: 0602: end - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/codegen.pla: 0603: def init_idlocal#0 -_C054 ; init_idlocal() -; toolsrc/codegen.pla: 0604: locals = 0 -; toolsrc/codegen.pla: 0605: framesize = 0 -; toolsrc/codegen.pla: 0606: lastlocal = idlocal_tbl -; toolsrc/codegen.pla: 0607: end - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D072+0 -_F401 !WORD _D072+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D070+0 -_F402 !WORD _D070+0 - !BYTE $6A ; LAW _D055+0 -_F403 !WORD _D055+0 - !BYTE $7A ; SAW _D060+0 -_F404 !WORD _D060+0 - !BYTE $5C ; RET -; toolsrc/codegen.pla: 0608: def save_idlocal#0 -_C055 ; save_idlocal() -; toolsrc/codegen.pla: 0609: savelocals = locals -; toolsrc/codegen.pla: 0610: savesize = framesize -; toolsrc/codegen.pla: 0611: savelast = lastlocal -; toolsrc/codegen.pla: 0612: savetbl = heapalloc(lastlocal - idlocal_tbl) -; toolsrc/codegen.pla: 0613: memcpy(savetbl, idlocal_tbl, lastlocal - idlocal_tbl) -; toolsrc/codegen.pla: 0614: end - !BYTE $68 ; LAB _D072+0 -_F405 !WORD _D072+0 - !BYTE $78 ; SAB _D073+0 -_F406 !WORD _D073+0 - !BYTE $6A ; LAW _D070+0 -_F407 !WORD _D070+0 - !BYTE $7A ; SAW _D071+0 -_F408 !WORD _D071+0 - !BYTE $6A ; LAW _D060+0 -_F409 !WORD _D060+0 - !BYTE $7A ; SAW _D061+0 -_F410 !WORD _D061+0 - !BYTE $6A ; LAW _D060+0 -_F411 !WORD _D060+0 - !BYTE $6A ; LAW _D055+0 -_F412 !WORD _D055+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X014 -_F413 !WORD 0 - !BYTE $7E ; DAW _D062+0 -_F414 !WORD _D062+0 - !BYTE $6A ; LAW _D055+0 -_F415 !WORD _D055+0 - !BYTE $6A ; LAW _D060+0 -_F416 !WORD _D060+0 - !BYTE $6A ; LAW _D055+0 -_F417 !WORD _D055+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F418 !WORD 0 - !BYTE $5C ; RET -; toolsrc/codegen.pla: 0615: def restore_idlocal#0 -_C056 ; restore_idlocal() -; toolsrc/codegen.pla: 0616: locals = savelocals -; toolsrc/codegen.pla: 0617: framesize = savesize -; toolsrc/codegen.pla: 0618: lastlocal = savelast -; toolsrc/codegen.pla: 0619: memcpy(idlocal_tbl, savetbl, lastlocal - idlocal_tbl) -; toolsrc/codegen.pla: 0620: heaprelease(savetbl) -; toolsrc/codegen.pla: 0621: end - !BYTE $68 ; LAB _D073+0 -_F419 !WORD _D073+0 - !BYTE $78 ; SAB _D072+0 -_F420 !WORD _D072+0 - !BYTE $6A ; LAW _D071+0 -_F421 !WORD _D071+0 - !BYTE $7A ; SAW _D070+0 -_F422 !WORD _D070+0 - !BYTE $6A ; LAW _D061+0 -_F423 !WORD _D061+0 - !BYTE $7A ; SAW _D060+0 -_F424 !WORD _D060+0 - !BYTE $6A ; LAW _D055+0 -_F425 !WORD _D055+0 - !BYTE $6A ; LAW _D062+0 -_F426 !WORD _D062+0 - !BYTE $6A ; LAW _D060+0 -_F427 !WORD _D060+0 - !BYTE $6A ; LAW _D055+0 -_F428 !WORD _D055+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F429 !WORD 0 - !BYTE $6A ; LAW _D062+0 -_F430 !WORD _D062+0 - !BYTE $54 ; CALL _X015 -_F431 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5C ; RET -; toolsrc/codegen.pla: 0622: // -; toolsrc/codegen.pla: 0623: // Module dependency list -; toolsrc/codegen.pla: 0624: // -; toolsrc/codegen.pla: 0625: def new_moddep(nameptr, len)#0 - ; nameptr -> [0] - ; len -> [2] -_C057 ; new_moddep() -; toolsrc/codegen.pla: 0626: if len > 15; len = 15; fin - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $1E ; CN 15 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B208 - !WORD _B208-* - !BYTE $1E ; CN 15 - !BYTE $76,$02 ; SLW [2] -_B208 -_B209 -; toolsrc/codegen.pla: 0627: new_iddata(nameptr, len, EXTERN_TYPE|WORD_TYPE, 2) -; toolsrc/codegen.pla: 0628: memcpy(@moddep_tbl[moddep_cnt*16] + 1, nameptr, len) -; toolsrc/codegen.pla: 0629: moddep_tbl[moddep_cnt*16] = len -; toolsrc/codegen.pla: 0630: moddep_cnt++ - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C046 -_F432 !WORD _C046 - !BYTE $26 ; LA _D078+0 -_F433 !WORD _D078+0 - !BYTE $68 ; LAB _D079+0 -_F434 !WORD _D079+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X018 -_F435 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D078+0 -_F436 !WORD _D078+0 - !BYTE $68 ; LAB _D079+0 -_F437 !WORD _D079+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $68 ; LAB _D079+0 -_F438 !WORD _D079+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0631: if moddep_cnt > MODDEPNUM; parse_warn("Module dependency overflow"); fin - !BYTE $7C ; DAB _D079+0 -_F439 !WORD _D079+0 - !BYTE $10 ; CN 8 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B210 - !WORD _B210-* - !BYTE $2E ; CS - !BYTE $1A - !BYTE $4D,$6F,$64,$75,$6C,$65,$20,$64 - !BYTE $65,$70,$65,$6E,$64,$65,$6E,$63 - !BYTE $79,$20,$6F,$76,$65,$72,$66,$6C - !BYTE $6F,$77 - !BYTE $54 ; CALL _C003 -_F440 !WORD _C003 -_B210 -_B211 -; toolsrc/codegen.pla: 0632: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0633: // -; toolsrc/codegen.pla: 0634: // DFD list -; toolsrc/codegen.pla: 0635: // -; toolsrc/codegen.pla: 0636: def new_dfd(tag)#0 - ; tag -> [0] -_C058 ; new_dfd() -; toolsrc/codegen.pla: 0637: if dfd_cnt >= dfd_num; exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $6A ; LAW _D049+0 -_F441 !WORD _D049+0 - !BYTE $6A ; LAW _D063+0 -_F442 !WORD _D063+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B212 - !WORD _B212-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F443 !WORD _C002 -_B212 -_B213 -; toolsrc/codegen.pla: 0638: dfd_tag=>[dfd_cnt] = tag -; toolsrc/codegen.pla: 0639: dfd_cnt++ - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D048+0 -_F444 !WORD _D048+0 - !BYTE $BE ; IDXAW _D049+0 -_F445 !WORD _D049+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D049+0 -_F446 !WORD _D049+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0640: end - !BYTE $7A ; SAW _D049+0 -_F447 !WORD _D049+0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0641: // -; toolsrc/codegen.pla: 0642: // Generate/add to a sequence of code -; toolsrc/codegen.pla: 0643: // -; toolsrc/codegen.pla: 0644: def gen_op(seq, code) - ; seq -> [0] - ; code -> [2] -_C059 ; gen_op() -; toolsrc/codegen.pla: 0645: word op - ; op -> [4] -; toolsrc/codegen.pla: 0646: -; toolsrc/codegen.pla: 0647: if not seq - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0648: seq = new_op -; toolsrc/codegen.pla: 0649: op = seq -; toolsrc/codegen.pla: 0650: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B214 - !WORD _B214-* - !BYTE $54 ; CALL _C005 -_F448 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B215 - !WORD _B215-* -_B214 -; toolsrc/codegen.pla: 0651: op = seq -; toolsrc/codegen.pla: 0652: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B218 - !WORD _B218-* -_B216 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B218 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B216 - !WORD _B216-* -_B217 -; toolsrc/codegen.pla: 0653: op=>opnext = new_op -; toolsrc/codegen.pla: 0654: op = op=>opnext -; toolsrc/codegen.pla: 0655: fin - !BYTE $54 ; CALL _C005 -_F449 !WORD _C005 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B215 -; toolsrc/codegen.pla: 0656: op->opcode = code -; toolsrc/codegen.pla: 0657: op->opgroup = STACK_GROUP -; toolsrc/codegen.pla: 0658: return seq - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0659: end -; toolsrc/codegen.pla: 0660: def gen_const(seq, cval) - ; seq -> [0] - ; cval -> [2] -_C060 ; gen_const() -; toolsrc/codegen.pla: 0661: word op - ; op -> [4] -; toolsrc/codegen.pla: 0662: -; toolsrc/codegen.pla: 0663: if not seq - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0664: seq = new_op -; toolsrc/codegen.pla: 0665: op = seq -; toolsrc/codegen.pla: 0666: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B219 - !WORD _B219-* - !BYTE $54 ; CALL _C005 -_F450 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B220 - !WORD _B220-* -_B219 -; toolsrc/codegen.pla: 0667: op = seq -; toolsrc/codegen.pla: 0668: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B223 - !WORD _B223-* -_B221 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B223 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B221 - !WORD _B221-* -_B222 -; toolsrc/codegen.pla: 0669: op=>opnext = new_op -; toolsrc/codegen.pla: 0670: op = op=>opnext -; toolsrc/codegen.pla: 0671: fin - !BYTE $54 ; CALL _C005 -_F451 !WORD _C005 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B220 -; toolsrc/codegen.pla: 0672: op->opcode = CONST_CODE -; toolsrc/codegen.pla: 0673: op->opgroup = CONST_GROUP -; toolsrc/codegen.pla: 0674: op=>opval = cval -; toolsrc/codegen.pla: 0675: return seq - !BYTE $2A,$2C ; CB 44 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0676: end -; toolsrc/codegen.pla: 0677: def gen_str(seq, cval) - ; seq -> [0] - ; cval -> [2] -_C061 ; gen_str() -; toolsrc/codegen.pla: 0678: word op - ; op -> [4] -; toolsrc/codegen.pla: 0679: -; toolsrc/codegen.pla: 0680: if not seq - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0681: seq = new_op -; toolsrc/codegen.pla: 0682: op = seq -; toolsrc/codegen.pla: 0683: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B224 - !WORD _B224-* - !BYTE $54 ; CALL _C005 -_F452 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B225 - !WORD _B225-* -_B224 -; toolsrc/codegen.pla: 0684: op = seq -; toolsrc/codegen.pla: 0685: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B228 - !WORD _B228-* -_B226 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B228 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B226 - !WORD _B226-* -_B227 -; toolsrc/codegen.pla: 0686: op=>opnext = new_op -; toolsrc/codegen.pla: 0687: op = op=>opnext -; toolsrc/codegen.pla: 0688: fin - !BYTE $54 ; CALL _C005 -_F453 !WORD _C005 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B225 -; toolsrc/codegen.pla: 0689: op->opcode = CONSTR_CODE -; toolsrc/codegen.pla: 0690: op->opgroup = CONSTR_GROUP -; toolsrc/codegen.pla: 0691: op=>opval = cval -; toolsrc/codegen.pla: 0692: return seq - !BYTE $2A,$2E ; CB 46 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0693: end -; toolsrc/codegen.pla: 0694: def gen_oplcl(seq, code, offsz) - ; seq -> [0] - ; code -> [2] - ; offsz -> [4] -_C062 ; gen_oplcl() -; toolsrc/codegen.pla: 0695: word op - ; op -> [6] -; toolsrc/codegen.pla: 0696: -; toolsrc/codegen.pla: 0697: if not seq - !BYTE $58,$08,$03 ; ENTER 8,3 -; toolsrc/codegen.pla: 0698: seq = new_op -; toolsrc/codegen.pla: 0699: op = seq -; toolsrc/codegen.pla: 0700: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B229 - !WORD _B229-* - !BYTE $54 ; CALL _C005 -_F454 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B230 - !WORD _B230-* -_B229 -; toolsrc/codegen.pla: 0701: op = seq -; toolsrc/codegen.pla: 0702: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B233 - !WORD _B233-* -_B231 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B233 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B231 - !WORD _B231-* -_B232 -; toolsrc/codegen.pla: 0703: op=>opnext = new_op -; toolsrc/codegen.pla: 0704: op = op=>opnext -; toolsrc/codegen.pla: 0705: fin - !BYTE $54 ; CALL _C005 -_F455 !WORD _C005 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B230 -; toolsrc/codegen.pla: 0706: op->opcode = code -; toolsrc/codegen.pla: 0707: op->opgroup = LOCAL_GROUP -; toolsrc/codegen.pla: 0708: op=>opoffset = offsz -; toolsrc/codegen.pla: 0709: return seq - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $06 ; CN 3 - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/codegen.pla: 0710: end -; toolsrc/codegen.pla: 0711: def gen_opglbl(seq, code, tag, offsz) - ; seq -> [0] - ; code -> [2] - ; tag -> [4] - ; offsz -> [6] -_C063 ; gen_opglbl() -; toolsrc/codegen.pla: 0712: word op - ; op -> [8] -; toolsrc/codegen.pla: 0713: -; toolsrc/codegen.pla: 0714: if not seq - !BYTE $58,$0A,$04 ; ENTER 10,4 -; toolsrc/codegen.pla: 0715: seq = new_op -; toolsrc/codegen.pla: 0716: op = seq -; toolsrc/codegen.pla: 0717: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B234 - !WORD _B234-* - !BYTE $54 ; CALL _C005 -_F456 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B235 - !WORD _B235-* -_B234 -; toolsrc/codegen.pla: 0718: op = seq -; toolsrc/codegen.pla: 0719: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B238 - !WORD _B238-* -_B236 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] -_B238 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B236 - !WORD _B236-* -_B237 -; toolsrc/codegen.pla: 0720: op=>opnext = new_op -; toolsrc/codegen.pla: 0721: op = op=>opnext -; toolsrc/codegen.pla: 0722: fin - !BYTE $54 ; CALL _C005 -_F457 !WORD _C005 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] -_B235 -; toolsrc/codegen.pla: 0723: op->opcode = code -; toolsrc/codegen.pla: 0724: op->opgroup = GLOBAL_GROUP -; toolsrc/codegen.pla: 0725: op=>optag = tag -; toolsrc/codegen.pla: 0726: op=>opoffset = offsz -; toolsrc/codegen.pla: 0727: return seq - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $70 ; SB - !BYTE $08 ; CN 4 - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/codegen.pla: 0728: end -; toolsrc/codegen.pla: 0729: def gen_oprel(seq, code, tag) - ; seq -> [0] - ; code -> [2] - ; tag -> [4] -_C064 ; gen_oprel() -; toolsrc/codegen.pla: 0730: word op - ; op -> [6] -; toolsrc/codegen.pla: 0731: -; toolsrc/codegen.pla: 0732: if not seq - !BYTE $58,$08,$03 ; ENTER 8,3 -; toolsrc/codegen.pla: 0733: seq = new_op -; toolsrc/codegen.pla: 0734: op = seq -; toolsrc/codegen.pla: 0735: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B239 - !WORD _B239-* - !BYTE $54 ; CALL _C005 -_F458 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B240 - !WORD _B240-* -_B239 -; toolsrc/codegen.pla: 0736: op = seq -; toolsrc/codegen.pla: 0737: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B243 - !WORD _B243-* -_B241 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B243 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B241 - !WORD _B241-* -_B242 -; toolsrc/codegen.pla: 0738: op=>opnext = new_op -; toolsrc/codegen.pla: 0739: op = op=>opnext -; toolsrc/codegen.pla: 0740: fin - !BYTE $54 ; CALL _C005 -_F459 !WORD _C005 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B240 -; toolsrc/codegen.pla: 0741: op->opcode = code -; toolsrc/codegen.pla: 0742: op->opgroup = RELATIVE_GROUP -; toolsrc/codegen.pla: 0743: op=>optag = tag -; toolsrc/codegen.pla: 0744: return seq - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/codegen.pla: 0745: end -; toolsrc/codegen.pla: 0746: def gen_ctag(seq, tag) - ; seq -> [0] - ; tag -> [2] -_C065 ; gen_ctag() -; toolsrc/codegen.pla: 0747: word op - ; op -> [4] -; toolsrc/codegen.pla: 0748: -; toolsrc/codegen.pla: 0749: if not seq - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0750: seq = new_op -; toolsrc/codegen.pla: 0751: op = seq -; toolsrc/codegen.pla: 0752: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B244 - !WORD _B244-* - !BYTE $54 ; CALL _C005 -_F460 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B245 - !WORD _B245-* -_B244 -; toolsrc/codegen.pla: 0753: op = seq -; toolsrc/codegen.pla: 0754: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B248 - !WORD _B248-* -_B246 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B248 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B246 - !WORD _B246-* -_B247 -; toolsrc/codegen.pla: 0755: op=>opnext = new_op -; toolsrc/codegen.pla: 0756: op = op=>opnext -; toolsrc/codegen.pla: 0757: fin - !BYTE $54 ; CALL _C005 -_F461 !WORD _C005 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B245 -; toolsrc/codegen.pla: 0758: op->opcode = INVALID_CODE -; toolsrc/codegen.pla: 0759: op->opgroup = CODETAG_GROUP -; toolsrc/codegen.pla: 0760: op=>optag = tag -; toolsrc/codegen.pla: 0761: return seq - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $0C ; CN 6 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0762: end -; toolsrc/codegen.pla: 0763: def gen_uop(seq, tkn) - ; seq -> [0] - ; tkn -> [2] -_C066 ; gen_uop() -; toolsrc/codegen.pla: 0764: byte code - ; code -> [4] -; toolsrc/codegen.pla: 0765: word op - ; op -> [5] -; toolsrc/codegen.pla: 0766: -; toolsrc/codegen.pla: 0767: if not seq - !BYTE $58,$07,$02 ; ENTER 7,2 -; toolsrc/codegen.pla: 0768: seq = new_op -; toolsrc/codegen.pla: 0769: op = seq -; toolsrc/codegen.pla: 0770: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B249 - !WORD _B249-* - !BYTE $54 ; CALL _C005 -_F462 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $50 ; BRNCH _B250 - !WORD _B250-* -_B249 -; toolsrc/codegen.pla: 0771: op = seq -; toolsrc/codegen.pla: 0772: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $50 ; BRNCH _B253 - !WORD _B253-* -_B251 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$05 ; SLW [5] -_B253 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B251 - !WORD _B251-* -_B252 -; toolsrc/codegen.pla: 0773: op=>opnext = new_op -; toolsrc/codegen.pla: 0774: op = op=>opnext -; toolsrc/codegen.pla: 0775: fin - !BYTE $54 ; CALL _C005 -_F463 !WORD _C005 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$05 ; SLW [5] -_B250 -; toolsrc/codegen.pla: 0776: when tkn - !BYTE $66,$02 ; LLW [2] - !BYTE $52 ; SEL - !WORD _B255-* -; toolsrc/codegen.pla: 0777: is NEG_TKN -_B256 -; toolsrc/codegen.pla: 0778: code = $90; break - !BYTE $2A,$90 ; CB 144 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B254 - !WORD _B254-* -; toolsrc/codegen.pla: 0779: is COMP_TKN -_B257 -; toolsrc/codegen.pla: 0780: code = $92; break - !BYTE $2A,$92 ; CB 146 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B254 - !WORD _B254-* -; toolsrc/codegen.pla: 0781: is LOGIC_NOT_TKN -_B258 -; toolsrc/codegen.pla: 0782: code = $80; break - !BYTE $2A,$80 ; CB 128 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B254 - !WORD _B254-* -; toolsrc/codegen.pla: 0783: is INC_TKN -_B259 -; toolsrc/codegen.pla: 0784: code = $8C; break - !BYTE $2A,$8C ; CB 140 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B254 - !WORD _B254-* -; toolsrc/codegen.pla: 0785: is DEC_TKN -_B260 -; toolsrc/codegen.pla: 0786: code = $8E; break - !BYTE $2A,$8E ; CB 142 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B254 - !WORD _B254-* -; toolsrc/codegen.pla: 0787: is BPTR_TKN -_B261 -; toolsrc/codegen.pla: 0788: code = $60; break - !BYTE $2A,$60 ; CB 96 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B254 - !WORD _B254-* -; toolsrc/codegen.pla: 0789: is WPTR_TKN -_B262 -; toolsrc/codegen.pla: 0790: code = $62; break - !BYTE $2A,$62 ; CB 98 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B254 - !WORD _B254-* -; toolsrc/codegen.pla: 0791: otherwise -_B255 - !BYTE $07 ; CASEBLOCK - !WORD $00A1 - !WORD _B258-* - !WORD $00AA - !WORD _B262-* - !WORD $00AD - !WORD _B256-* - !WORD $00C1 - !WORD _B259-* - !WORD $00C4 - !WORD _B260-* - !WORD $00DE - !WORD _B261-* - !WORD $00FE - !WORD _B257-* -; toolsrc/codegen.pla: 0792: exit_err(ERR_INVAL|ERR_SYNTAX) -; toolsrc/codegen.pla: 0793: wend - !BYTE $2C,$04,$80 ; CW 32772 - !BYTE $54 ; CALL _C002 -_F464 !WORD _C002 -_B254 -; toolsrc/codegen.pla: 0794: op->opcode = code -; toolsrc/codegen.pla: 0795: op->opgroup = STACK_GROUP -; toolsrc/codegen.pla: 0796: return seq - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$05 ; LLW [5] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$05 ; LLW [5] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/codegen.pla: 0797: end -; toolsrc/codegen.pla: 0798: def gen_bop(seq, tkn) - ; seq -> [0] - ; tkn -> [2] -_C067 ; gen_bop() -; toolsrc/codegen.pla: 0799: byte code - ; code -> [4] -; toolsrc/codegen.pla: 0800: word op - ; op -> [5] -; toolsrc/codegen.pla: 0801: -; toolsrc/codegen.pla: 0802: if not seq - !BYTE $58,$07,$02 ; ENTER 7,2 -; toolsrc/codegen.pla: 0803: seq = new_op -; toolsrc/codegen.pla: 0804: op = seq -; toolsrc/codegen.pla: 0805: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B263 - !WORD _B263-* - !BYTE $54 ; CALL _C005 -_F465 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $50 ; BRNCH _B264 - !WORD _B264-* -_B263 -; toolsrc/codegen.pla: 0806: op = seq -; toolsrc/codegen.pla: 0807: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $50 ; BRNCH _B267 - !WORD _B267-* -_B265 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$05 ; SLW [5] -_B267 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B265 - !WORD _B265-* -_B266 -; toolsrc/codegen.pla: 0808: op=>opnext = new_op -; toolsrc/codegen.pla: 0809: op = op=>opnext -; toolsrc/codegen.pla: 0810: fin - !BYTE $54 ; CALL _C005 -_F466 !WORD _C005 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$05 ; SLW [5] -_B264 -; toolsrc/codegen.pla: 0811: when tkn - !BYTE $66,$02 ; LLW [2] - !BYTE $52 ; SEL - !WORD _B269-* -; toolsrc/codegen.pla: 0812: is MUL_TKN -_B270 -; toolsrc/codegen.pla: 0813: code = $86; break - !BYTE $2A,$86 ; CB 134 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0814: is DIV_TKN -_B271 -; toolsrc/codegen.pla: 0815: code = $88; break - !BYTE $2A,$88 ; CB 136 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0816: is MOD_TKN -_B272 -; toolsrc/codegen.pla: 0817: code = $8A; break - !BYTE $2A,$8A ; CB 138 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0818: is ADD_TKN -_B273 -; toolsrc/codegen.pla: 0819: code = $82; break - !BYTE $2A,$82 ; CB 130 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0820: is SUB_TKN -_B274 -; toolsrc/codegen.pla: 0821: code = $84; break - !BYTE $2A,$84 ; CB 132 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0822: is SHL_TKN -_B275 -; toolsrc/codegen.pla: 0823: code = $9A; break - !BYTE $2A,$9A ; CB 154 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0824: is SHR_TKN -_B276 -; toolsrc/codegen.pla: 0825: code = $9C; break - !BYTE $2A,$9C ; CB 156 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0826: is AND_TKN -_B277 -; toolsrc/codegen.pla: 0827: code = $94; break - !BYTE $2A,$94 ; CB 148 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0828: is OR_TKN -_B278 -; toolsrc/codegen.pla: 0829: code = $96; break - !BYTE $2A,$96 ; CB 150 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0830: is EOR_TKN -_B279 -; toolsrc/codegen.pla: 0831: code = $98; break - !BYTE $2A,$98 ; CB 152 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0832: is EQ_TKN -_B280 -; toolsrc/codegen.pla: 0833: code = $40; break - !BYTE $2A,$40 ; CB 64 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0834: is NE_TKN -_B281 -; toolsrc/codegen.pla: 0835: code = $42; break - !BYTE $2A,$42 ; CB 66 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0836: is GE_TKN -_B282 -; toolsrc/codegen.pla: 0837: code = $48; break - !BYTE $2A,$48 ; CB 72 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0838: is LT_TKN -_B283 -; toolsrc/codegen.pla: 0839: code = $46; break - !BYTE $2A,$46 ; CB 70 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0840: is GT_TKN -_B284 -; toolsrc/codegen.pla: 0841: code = $44; break - !BYTE $2A,$44 ; CB 68 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0842: is LE_TKN -_B285 -; toolsrc/codegen.pla: 0843: code = $4A; break - !BYTE $2A,$4A ; CB 74 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B268 - !WORD _B268-* -; toolsrc/codegen.pla: 0844: otherwise -_B269 - !BYTE $10 ; CASEBLOCK - !WORD $00A5 - !WORD _B272-* - !WORD $00A6 - !WORD _B277-* - !WORD $00AA - !WORD _B270-* - !WORD $00AB - !WORD _B273-* - !WORD $00AD - !WORD _B274-* - !WORD $00AF - !WORD _B271-* - !WORD $00BC - !WORD _B283-* - !WORD $00BE - !WORD _B284-* - !WORD $00C2 - !WORD _B285-* - !WORD $00C5 - !WORD _B280-* - !WORD $00C8 - !WORD _B282-* - !WORD $00CC - !WORD _B275-* - !WORD $00D2 - !WORD _B276-* - !WORD $00D5 - !WORD _B281-* - !WORD $00DE - !WORD _B279-* - !WORD $00FC - !WORD _B278-* -; toolsrc/codegen.pla: 0845: exit_err(ERR_INVAL|ERR_SYNTAX) -; toolsrc/codegen.pla: 0846: wend - !BYTE $2C,$04,$80 ; CW 32772 - !BYTE $54 ; CALL _C002 -_F467 !WORD _C002 -_B268 -; toolsrc/codegen.pla: 0847: op->opcode = code -; toolsrc/codegen.pla: 0848: op->opgroup = STACK_GROUP -; toolsrc/codegen.pla: 0849: return seq - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$05 ; LLW [5] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$05 ; LLW [5] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/codegen.pla: 0850: end -; toolsrc/codegen.pla: 0851: // -; toolsrc/codegen.pla: 0852: // A DCI string is one that has the high bit set for every character except the last. -; toolsrc/codegen.pla: 0853: // More efficient than C or Pascal strings. -; toolsrc/codegen.pla: 0854: // -; toolsrc/codegen.pla: 0855: def dcitos(dci, str) - ; dci -> [0] - ; str -> [2] -_C068 ; dcitos() -; toolsrc/codegen.pla: 0856: byte len, c - ; len -> [4] - ; c -> [5] -; toolsrc/codegen.pla: 0857: len = 0 - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0858: repeat - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] -_B287 -; toolsrc/codegen.pla: 0859: c = ^(dci + len) -; toolsrc/codegen.pla: 0860: len++ - !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 -; toolsrc/codegen.pla: 0861: ^(str + len) = c & $7F -; toolsrc/codegen.pla: 0862: until not (c & $80) - !BYTE $74,$04 ; SLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB -_B288 - !BYTE $64,$05 ; LLB [5] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B287 - !WORD _B287-* -_B286 -; toolsrc/codegen.pla: 0863: ^str = len -; toolsrc/codegen.pla: 0864: return len - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $64,$04 ; LLB [4] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0865: end -; toolsrc/codegen.pla: 0866: def stodci(str, dci) - ; str -> [0] - ; dci -> [2] -_C069 ; stodci() -; toolsrc/codegen.pla: 0867: byte len, c - ; len -> [4] - ; c -> [5] -; toolsrc/codegen.pla: 0868: len = ^str - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0869: if not len; return 0; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6C,$04 ; DLB [4] - !BYTE $4E ; BRTRU _B289 - !WORD _B289-* - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -_B289 -_B290 -; toolsrc/codegen.pla: 0870: c = toupper(^(str + len)) & $7F -; toolsrc/codegen.pla: 0871: len-- - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F468 !WORD 0 - !BYTE $3C,$7F ; ANDI 127 - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR -; toolsrc/codegen.pla: 0872: ^(dci + len) = c -; toolsrc/codegen.pla: 0873: while len - !BYTE $74,$04 ; SLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B293 - !WORD _B293-* -_B291 -; toolsrc/codegen.pla: 0874: c = toupper(^(str + len)) | $80 -; toolsrc/codegen.pla: 0875: len-- - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F469 !WORD 0 - !BYTE $3E,$80 ; ORI 128 - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR -; toolsrc/codegen.pla: 0876: ^(dci + len) = c -; toolsrc/codegen.pla: 0877: loop - !BYTE $74,$04 ; SLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB -_B293 - !BYTE $64,$04 ; LLB [4] - !BYTE $4E ; BRTRU _B291 - !WORD _B291-* -_B292 -; toolsrc/codegen.pla: 0878: return ^str - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0879: end -; toolsrc/codegen.pla: 0880: // -; toolsrc/codegen.pla: 0881: // Write Extended REL header -; toolsrc/codegen.pla: 0882: // -; toolsrc/codegen.pla: 0883: def writeheader(refnum) - ; refnum -> [0] -_C070 ; writeheader() -; toolsrc/codegen.pla: 0884: word moddep, modfix - ; moddep -> [2] - ; modfix -> [4] -; toolsrc/codegen.pla: 0885: byte len, header[128] - ; len -> [6] - ; header -> [7] -; toolsrc/codegen.pla: 0886: -; toolsrc/codegen.pla: 0887: moddep = @header:12 // Beginning of module dependency list - !BYTE $58,$87,$01 ; ENTER 135,1 -; toolsrc/codegen.pla: 0888: while moddep_cnt - !BYTE $28,$13 ; LLA [19] - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B296 - !WORD _B296-* -_B294 -; toolsrc/codegen.pla: 0889: moddep_cnt-- - !BYTE $68 ; LAB _D079+0 -_F470 !WORD _D079+0 - !BYTE $8E ; DECR -; toolsrc/codegen.pla: 0890: moddep = moddep + stodci(@moddep_tbl[moddep_cnt*16], moddep) -; toolsrc/codegen.pla: 0891: loop - !BYTE $78 ; SAB _D079+0 -_F471 !WORD _D079+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D078+0 -_F472 !WORD _D078+0 - !BYTE $68 ; LAB _D079+0 -_F473 !WORD _D079+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C069 -_F474 !WORD _C069 - !BYTE $82 ; ADD - !BYTE $76,$02 ; SLW [2] -_B296 - !BYTE $68 ; LAB _D079+0 -_F475 !WORD _D079+0 - !BYTE $4E ; BRTRU _B294 - !WORD _B294-* -_B295 -; toolsrc/codegen.pla: 0892: ^moddep = 0 // Terminate dependency list -; toolsrc/codegen.pla: 0893: len = moddep - 1 - @header -; toolsrc/codegen.pla: 0894: modfix = len + RELADDR - codebuff // Convert generated address into module adress -; toolsrc/codegen.pla: 0895: header:0 = len + codeptr - codebuff // sizeof header+data+bytecode -; toolsrc/codegen.pla: 0896: header:2 = $6502 // Magic # -; toolsrc/codegen.pla: 0897: header:4 = modsysflags // Module SYSFLAGS -; toolsrc/codegen.pla: 0898: header:6 = len + RELADDR + datasize // Byte code offset -; toolsrc/codegen.pla: 0899: header:8 = def_cnt // DEFinition count -; toolsrc/codegen.pla: 0900: header:10 = entrypoint + modfix // Init entrypoint -; toolsrc/codegen.pla: 0901: fileio:write(refnum, @header, len + 2) -; toolsrc/codegen.pla: 0902: return len - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $28,$07 ; LLA [7] - !BYTE $84 ; SUB - !BYTE $6C,$06 ; DLB [6] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $6A ; LAW _D074+0 -_F476 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $76,$04 ; SLW [4] - !BYTE $64,$06 ; LLB [6] - !BYTE $B6 ; ADDAW _D075+0 -_F477 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F478 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $76,$07 ; SLW [7] - !BYTE $2C,$02,$65 ; CW 25858 - !BYTE $76,$09 ; SLW [9] - !BYTE $6A ; LAW _D077+0 -_F479 !WORD _D077+0 - !BYTE $76,$0B ; SLW [11] - !BYTE $64,$06 ; LLB [6] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $B6 ; ADDAW _D069+0 -_F480 !WORD _D069+0 - !BYTE $76,$0D ; SLW [13] - !BYTE $68 ; LAB _D080+0 -_F481 !WORD _D080+0 - !BYTE $76,$0F ; SLW [15] - !BYTE $6A ; LAW _D076+0 -_F482 !WORD _D076+0 - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$11 ; SLW [17] - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$07 ; LLA [7] - !BYTE $64,$06 ; LLB [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $6A ; LAW _X031+20 -_F483 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$87 ; LEAVE 135 -; toolsrc/codegen.pla: 0903: end -; toolsrc/codegen.pla: 0904: // -; toolsrc/codegen.pla: 0905: // Write DeFinition Directory -; toolsrc/codegen.pla: 0906: // -; toolsrc/codegen.pla: 0907: def writeDFD(refnum, modfix)#0 - ; refnum -> [0] - ; modfix -> [2] -_C071 ; writeDFD() -; toolsrc/codegen.pla: 0908: word dfd, idptr, cnt - ; dfd -> [4] - ; idptr -> [6] - ; cnt -> [8] -; toolsrc/codegen.pla: 0909: byte defdir[128] - ; defdir -> [10] -; toolsrc/codegen.pla: 0910: -; toolsrc/codegen.pla: 0911: dfd = @defdir - !BYTE $58,$8A,$02 ; ENTER 138,2 -; toolsrc/codegen.pla: 0912: for cnt = 0 to dfd_cnt-1 - !BYTE $28,$0A ; LLA [10] - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D049+0 -_F484 !WORD _D049+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B297 - !WORD _B297-* -_B298 - !BYTE $6E,$08 ; DLW [8] -; toolsrc/codegen.pla: 0913: dfd->0 = $02 -; toolsrc/codegen.pla: 0914: dfd=>1 = tag_addr=>[dfd_tag=>[cnt]] + modfix -; toolsrc/codegen.pla: 0915: dfd->3 = 0 -; toolsrc/codegen.pla: 0916: dfd = dfd + 4 -; toolsrc/codegen.pla: 0917: next - !BYTE $04 ; CN 2 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D052+0 -_F485 !WORD _D052+0 - !BYTE $6A ; LAW _D048+0 -_F486 !WORD _D048+0 - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $62 ; LW - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$04 ; SLW [4] -_B299 - !BYTE $A4 ; INCBRLE _B298 - !WORD _B298-* -_B297 - !BYTE $76,$08 ; SLW [8] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 0918: fileio:write(refnum, @defdir, dfd - @defdir) -; toolsrc/codegen.pla: 0919: end - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$0A ; LLA [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $28,$0A ; LLA [10] - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X031+20 -_F487 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $5A,$8A ; LEAVE 138 -; toolsrc/codegen.pla: 0920: // -; toolsrc/codegen.pla: 0921: // Build External Symbol Directory on heap -; toolsrc/codegen.pla: 0922: // -; toolsrc/codegen.pla: 0923: def buildESD(modfix)#2 - ; modfix -> [0] -_C072 ; buildESD() -; toolsrc/codegen.pla: 0924: word modofst, esdtbl, esd, idptr, idcnt, len - ; modofst -> [2] - ; esdtbl -> [4] - ; esd -> [6] - ; idptr -> [8] - ; idcnt -> [10] - ; len -> [12] -; toolsrc/codegen.pla: 0925: byte symnum - ; symnum -> [14] -; toolsrc/codegen.pla: 0926: -; toolsrc/codegen.pla: 0927: symnum, esdtbl, idptr, idcnt = 0, heapalloc(heapavail - 256), idglobal_tbl, globals - !BYTE $58,$0F,$01 ; ENTER 15,1 -; toolsrc/codegen.pla: 0928: esd = esdtbl -; toolsrc/codegen.pla: 0929: while idcnt - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X016 -_F488 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X014 -_F489 !WORD 0 - !BYTE $6A ; LAW _D054+0 -_F490 !WORD _D054+0 - !BYTE $6A ; LAW _D057+0 -_F491 !WORD _D057+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $76,$08 ; SLW [8] - !BYTE $76,$04 ; SLW [4] - !BYTE $74,$0E ; SLB [14] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B302 - !WORD _B302-* -_B300 -; toolsrc/codegen.pla: 0930: if idptr=>idtype & EXPORT_TYPE -; toolsrc/codegen.pla: 0931: esd = esd + stodci(@idptr->idname, esd) -; toolsrc/codegen.pla: 0932: esd->0 = $08 -; toolsrc/codegen.pla: 0933: esd=>1 = tag_addr=>[idptr=>idval] + modfix -; toolsrc/codegen.pla: 0934: esd = esd + 3 -; toolsrc/codegen.pla: 0935: elsif idptr=>idtype & EXTACCESS_TYPE - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B303 - !WORD _B303-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$07 ; ADDI 7 - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C069 -_F492 !WORD _C069 - !BYTE $82 ; ADD - !BYTE $76,$06 ; SLW [6] - !BYTE $10 ; CN 8 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D052+0 -_F493 !WORD _D052+0 - !BYTE $66,$08 ; LLW [8] - !BYTE $62 ; LW - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B304 - !WORD _B304-* -_B303 -; toolsrc/codegen.pla: 0936: esd = esd + stodci(@idptr->idname, esd) -; toolsrc/codegen.pla: 0937: esd->0 = $10 -; toolsrc/codegen.pla: 0938: esd=>1 = symnum -; toolsrc/codegen.pla: 0939: esd = esd + 3 -; toolsrc/codegen.pla: 0940: idptr->extnum = symnum -; toolsrc/codegen.pla: 0941: symnum++ - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B305 - !WORD _B305-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$07 ; ADDI 7 - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C069 -_F494 !WORD _C069 - !BYTE $82 ; ADD - !BYTE $76,$06 ; SLW [6] - !BYTE $2A,$10 ; CB 16 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$06 ; SLW [6] - !BYTE $64,$0E ; LLB [14] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0942: fin - !BYTE $74,$0E ; SLB [14] -_B305 -_B304 -; toolsrc/codegen.pla: 0943: idptr = idptr + idptr->idname + t_id -; toolsrc/codegen.pla: 0944: idcnt-- - !BYTE $66,$08 ; LLW [8] - !BYTE $34 ; DUP - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $8E ; DECR -; toolsrc/codegen.pla: 0945: loop - !BYTE $76,$0A ; SLW [10] -_B302 - !BYTE $66,$0A ; LLW [10] - !BYTE $4E ; BRTRU _B300 - !WORD _B300-* -_B301 -; toolsrc/codegen.pla: 0946: ^esd = 0 -; toolsrc/codegen.pla: 0947: len = esd - esdtbl + 1 -; toolsrc/codegen.pla: 0948: heaprelease(esdtbl + len) -; toolsrc/codegen.pla: 0949: return esdtbl, len - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $8C ; INCR - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $54 ; CALL _X015 -_F495 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0F ; LEAVE 15 -; toolsrc/codegen.pla: 0950: end -; toolsrc/codegen.pla: 0951: // -; toolsrc/codegen.pla: 0952: // Write ReLocation Directory -; toolsrc/codegen.pla: 0953: // -; toolsrc/codegen.pla: 0954: def writeRLD(refnum, modofst)#0 - ; refnum -> [0] - ; modofst -> [2] -_C073 ; writeRLD() -; toolsrc/codegen.pla: 0955: word rldtbl, rld, rldlen, fixups, updtptr, idptr, idcnt, tag - ; rldtbl -> [4] - ; rld -> [6] - ; rldlen -> [8] - ; fixups -> [10] - ; updtptr -> [12] - ; idptr -> [14] - ; idcnt -> [16] - ; tag -> [18] -; toolsrc/codegen.pla: 0956: byte type - ; type -> [20] -; toolsrc/codegen.pla: 0957: -; toolsrc/codegen.pla: 0958: rldtbl = heapalloc(heapavail - 256) - !BYTE $58,$15,$02 ; ENTER 21,2 -; toolsrc/codegen.pla: 0959: rld = rldtbl -; toolsrc/codegen.pla: 0960: rldlen = 0 -; toolsrc/codegen.pla: 0961: for fixups = fixup_cnt-1 downto 0 - !BYTE $54 ; CALL _X016 -_F496 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X014 -_F497 !WORD 0 - !BYTE $6E,$04 ; DLW [4] - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D046+0 -_F498 !WORD _D046+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B306 - !WORD _B306-* -_B307 - !BYTE $6E,$0A ; DLW [10] -; toolsrc/codegen.pla: 0962: tag = fixup_tag=>[fixups] -; toolsrc/codegen.pla: 0963: type = tag_type->[tag] -; toolsrc/codegen.pla: 0964: if not (type & RELATIVE_FIXUP) -; toolsrc/codegen.pla: 0965: if rldlen == 64 // Write out blocks of entries -; toolsrc/codegen.pla: 0966: fileio:write(refnum, rldtbl, rld - rldtbl) -; toolsrc/codegen.pla: 0967: rld = rldtbl -; toolsrc/codegen.pla: 0968: rldlen = 0 -; toolsrc/codegen.pla: 0969: fin - !BYTE $6A ; LAW _D050+0 -_F499 !WORD _D050+0 - !BYTE $BA,$0A ; IDXLW [10] - !BYTE $62 ; LW - !BYTE $76,$12 ; SLW [18] - !BYTE $6A ; LAW _D053+0 -_F500 !WORD _D053+0 - !BYTE $B2,$12 ; ADDLW [18] - !BYTE $60 ; LB - !BYTE $6C,$14 ; DLB [20] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4E ; BRTRU _B309 - !WORD _B309-* - !BYTE $66,$08 ; LLW [8] - !BYTE $2A,$40 ; CB 64 - !BYTE $24 ; BRNE _B311 - !WORD _B311-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X031+20 -_F501 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] -_B311 -_B312 -; toolsrc/codegen.pla: 0970: if type & EXTERN_FIXUP -; toolsrc/codegen.pla: 0971: idptr = idglobal_tbl -; toolsrc/codegen.pla: 0972: for idcnt = globals-1 downto 0 - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B313 - !WORD _B313-* - !BYTE $6A ; LAW _D054+0 -_F502 !WORD _D054+0 - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D057+0 -_F503 !WORD _D057+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B315 - !WORD _B315-* -_B316 - !BYTE $6E,$10 ; DLW [16] -; toolsrc/codegen.pla: 0973: if (idptr=>idtype & EXTERN_TYPE) and (idptr=>idval == tag) -; toolsrc/codegen.pla: 0974: rld->3 = idptr->extnum -; toolsrc/codegen.pla: 0975: break - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $AC ; BRAND _B318 - !WORD _B318-* - !BYTE $66,$0E ; LLW [14] - !BYTE $62 ; LW - !BYTE $66,$12 ; LLW [18] - !BYTE $40 ; ISEQ -_B318 - !BYTE $4C ; BRFLS _B319 - !WORD _B319-* - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B315 - !WORD _B315-* -; toolsrc/codegen.pla: 0976: fin -_B319 -_B320 -; toolsrc/codegen.pla: 0977: idptr = idptr + idptr->idname + t_id -; toolsrc/codegen.pla: 0978: next - !BYTE $66,$0E ; LLW [14] - !BYTE $34 ; DUP - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$0E ; SLW [14] -_B317 - !BYTE $A8 ; DECBRGE _B316 - !WORD _B316-* -_B315 - !BYTE $76,$10 ; SLW [16] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 0979: else - !BYTE $50 ; BRNCH _B314 - !WORD _B314-* -_B313 -; toolsrc/codegen.pla: 0980: rld->3 = 0 -; toolsrc/codegen.pla: 0981: fin - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB -_B314 -; toolsrc/codegen.pla: 0982: rld->0 = $01 | (type & MASK_FIXUP) -; toolsrc/codegen.pla: 0983: rld=>1 = fixup_addr=>[fixups] + modofst -; toolsrc/codegen.pla: 0984: rld = rld + 4 -; toolsrc/codegen.pla: 0985: rldlen++ - !BYTE $02 ; CN 1 - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$90 ; ANDI 144 - !BYTE $96 ; OR - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D051+0 -_F504 !WORD _D051+0 - !BYTE $BA,$0A ; IDXLW [10] - !BYTE $62 ; LW - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0986: fin - !BYTE $76,$08 ; SLW [8] -_B309 -_B310 -; toolsrc/codegen.pla: 0987: next -_B308 - !BYTE $A8 ; DECBRGE _B307 - !WORD _B307-* -_B306 - !BYTE $76,$0A ; SLW [10] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 0988: ^rld = 0 -; toolsrc/codegen.pla: 0989: fileio:write(refnum, rldtbl, rld - rldtbl + 1) -; toolsrc/codegen.pla: 0990: heaprelease(rldtbl) -; toolsrc/codegen.pla: 0991: end - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $8C ; INCR - !BYTE $6A ; LAW _X031+20 -_F505 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X015 -_F506 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$15 ; LEAVE 21 -; toolsrc/codegen.pla: 0992: // -; toolsrc/codegen.pla: 0993: // Write Extended REL file -; toolsrc/codegen.pla: 0994: // -; toolsrc/codegen.pla: 0995: def writemodule(refnum)#0 - ; refnum -> [0] -_C074 ; writemodule() -; toolsrc/codegen.pla: 0996: word hdrlen, esd, esdlen, modfix, modadj, modofst, fixups, updtptr - ; hdrlen -> [2] - ; esd -> [4] - ; esdlen -> [6] - ; modfix -> [8] - ; modadj -> [10] - ; modofst -> [12] - ; fixups -> [14] - ; updtptr -> [16] -; toolsrc/codegen.pla: 0997: -; toolsrc/codegen.pla: 0998: // -; toolsrc/codegen.pla: 0999: // Write module header -; toolsrc/codegen.pla: 1000: // -; toolsrc/codegen.pla: 1001: hdrlen = writeheader(refnum) - !BYTE $58,$12,$01 ; ENTER 18,1 -; toolsrc/codegen.pla: 1002: modfix = hdrlen + RELADDR -; toolsrc/codegen.pla: 1003: modofst = hdrlen - codebuff -; toolsrc/codegen.pla: 1004: // -; toolsrc/codegen.pla: 1005: // Adjust internal fixups for header size -; toolsrc/codegen.pla: 1006: // -; toolsrc/codegen.pla: 1007: for fixups = fixup_cnt-1 downto 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C070 -_F507 !WORD _C070 - !BYTE $6E,$02 ; DLW [2] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D074+0 -_F508 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $76,$0C ; SLW [12] - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D046+0 -_F509 !WORD _D046+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B321 - !WORD _B321-* -_B322 - !BYTE $6E,$0E ; DLW [14] -; toolsrc/codegen.pla: 1008: if not (tag_type->[fixup_tag=>[fixups]] & (EXTERN_FIXUP|RELATIVE_FIXUP)) -; toolsrc/codegen.pla: 1009: updtptr = fixup_addr=>[fixups] -; toolsrc/codegen.pla: 1010: *updtptr = *updtptr + modfix -; toolsrc/codegen.pla: 1011: fin - !BYTE $6A ; LAW _D053+0 -_F510 !WORD _D053+0 - !BYTE $6A ; LAW _D050+0 -_F511 !WORD _D050+0 - !BYTE $BA,$0E ; IDXLW [14] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $3C,$12 ; ANDI 18 - !BYTE $4E ; BRTRU _B324 - !WORD _B324-* - !BYTE $6A ; LAW _D051+0 -_F512 !WORD _D051+0 - !BYTE $BA,$0E ; IDXLW [14] - !BYTE $62 ; LW - !BYTE $6E,$10 ; DLW [16] - !BYTE $62 ; LW - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $66,$10 ; LLW [16] - !BYTE $72 ; SW -_B324 -_B325 -; toolsrc/codegen.pla: 1012: next -_B323 - !BYTE $A8 ; DECBRGE _B322 - !WORD _B322-* -_B321 - !BYTE $76,$0E ; SLW [14] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 1013: // -; toolsrc/codegen.pla: 1014: // Write data/code buffer -; toolsrc/codegen.pla: 1015: // -; toolsrc/codegen.pla: 1016: fileio:write(refnum, codebuff, codeptr - codebuff) -; toolsrc/codegen.pla: 1017: // -; toolsrc/codegen.pla: 1018: // Write bytecode definition directory -; toolsrc/codegen.pla: 1019: // -; toolsrc/codegen.pla: 1020: writeDFD(refnum, modfix) -; toolsrc/codegen.pla: 1021: // -; toolsrc/codegen.pla: 1022: // Build EXERN/ENTRY directory -; toolsrc/codegen.pla: 1023: // -; toolsrc/codegen.pla: 1024: esd, esdlen = buildESD(modfix) -; toolsrc/codegen.pla: 1025: // -; toolsrc/codegen.pla: 1026: // Write relocation directory -; toolsrc/codegen.pla: 1027: // -; toolsrc/codegen.pla: 1028: writeRLD(refnum, modofst) -; toolsrc/codegen.pla: 1029: // -; toolsrc/codegen.pla: 1030: // Write EXTERN/EBTRY directory -; toolsrc/codegen.pla: 1031: // -; toolsrc/codegen.pla: 1032: fileio:write(refnum, esd, esdlen) -; toolsrc/codegen.pla: 1033: heaprelease(esd) -; toolsrc/codegen.pla: 1034: end - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D074+0 -_F513 !WORD _D074+0 - !BYTE $6A ; LAW _D075+0 -_F514 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F515 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X031+20 -_F516 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C071 -_F517 !WORD _C071 - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C072 -_F518 !WORD _C072 - !BYTE $76,$06 ; SLW [6] - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C073 -_F519 !WORD _C073 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X031+20 -_F520 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X015 -_F521 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$12 ; LEAVE 18 -; toolsrc/plasm.pla: 0505: -; toolsrc/plasm.pla: 0506: include "toolsrc/lex.pla" -; toolsrc/lex.pla: 0001: // -; toolsrc/lex.pla: 0002: // Lexical anaylzer -; toolsrc/lex.pla: 0003: // -; toolsrc/lex.pla: 0004: //def isalpha(c) -; toolsrc/lex.pla: 0005: // if c >= 'A' and c <= 'Z' -; toolsrc/lex.pla: 0006: // return TRUE -; toolsrc/lex.pla: 0007: // //elsif c >= 'a' and c <= 'z' -; toolsrc/lex.pla: 0008: // // return TRUE -; toolsrc/lex.pla: 0009: // elsif c == '_' -; toolsrc/lex.pla: 0010: // return TRUE -; toolsrc/lex.pla: 0011: // fin -; toolsrc/lex.pla: 0012: // return FALSE -; toolsrc/lex.pla: 0013: //end -; toolsrc/lex.pla: 0014: //def isnum(c) -; toolsrc/lex.pla: 0015: // return c >= '0' and c <= '9' -; toolsrc/lex.pla: 0016: //end -; toolsrc/lex.pla: 0017: //def isalphanum(c) -; toolsrc/lex.pla: 0018: // if c >= 'A' and c <= 'Z' -; toolsrc/lex.pla: 0019: // return TRUE -; toolsrc/lex.pla: 0020: // //elsif c >= 'a' and c <= 'z' -; toolsrc/lex.pla: 0021: // // return TRUE -; toolsrc/lex.pla: 0022: // elsif c >= '0' and c <= '9' -; toolsrc/lex.pla: 0023: // return TRUE -; toolsrc/lex.pla: 0024: // elsif c == '_' -; toolsrc/lex.pla: 0025: // return TRUE -; toolsrc/lex.pla: 0026: // fin -; toolsrc/lex.pla: 0027: // return FALSE -; toolsrc/lex.pla: 0028: //end -; toolsrc/lex.pla: 0029: //def keymatch -; toolsrc/lex.pla: 0030: // byte i, keypos -; toolsrc/lex.pla: 0031: // word chrptr -; toolsrc/lex.pla: 0032: // -; toolsrc/lex.pla: 0033: // keypos = 0 -; toolsrc/lex.pla: 0034: // while keywrds[keypos] < tknlen -; toolsrc/lex.pla: 0035: // keypos = keypos + keywrds[keypos] + 2 -; toolsrc/lex.pla: 0036: // loop -; toolsrc/lex.pla: 0037: // chrptr = tknptr - 1 -; toolsrc/lex.pla: 0038: // while keywrds[keypos] == tknlen -; toolsrc/lex.pla: 0039: // for i = 1 to tknlen -; toolsrc/lex.pla: 0040: // if ^(chrptr + i) <> keywrds[keypos + i]; break; fin -; toolsrc/lex.pla: 0041: // next -; toolsrc/lex.pla: 0042: // if i > tknlen -; toolsrc/lex.pla: 0043: // return keywrds[keypos + keywrds[keypos] + 1] -; toolsrc/lex.pla: 0044: // fin -; toolsrc/lex.pla: 0045: // keypos = keypos + keywrds[keypos] + 2 -; toolsrc/lex.pla: 0046: // loop -; toolsrc/lex.pla: 0047: // return ID_TKN -; toolsrc/lex.pla: 0048: //end -; toolsrc/lex.pla: 0049: def scannum -_C075 ; scannum() -; toolsrc/lex.pla: 0050: word num - ; num -> [0] -; toolsrc/lex.pla: 0051: num = 0 - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/lex.pla: 0052: -; toolsrc/lex.pla: 0053: if ^scanptr == '$' -; toolsrc/lex.pla: 0054: repeat - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D097+0 -_F522 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$24 ; CB 36 - !BYTE $24 ; BRNE _B326 - !WORD _B326-* -_B329 -; toolsrc/lex.pla: 0055: scanptr++ - !BYTE $6A ; LAW _D097+0 -_F523 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0056: if ^scanptr >= '0' and ^scanptr <= '9' -; toolsrc/lex.pla: 0057: num = (num << 4) + ^scanptr - '0' -; toolsrc/lex.pla: 0058: elsif ^scanptr >= 'A' and ^scanptr <= 'F' - !BYTE $7A ; SAW _D097+0 -_F524 !WORD _D097+0 - !BYTE $6A ; LAW _D097+0 -_F525 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B331 - !WORD _B331-* - !BYTE $6A ; LAW _D097+0 -_F526 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B331 - !BYTE $4C ; BRFLS _B332 - !WORD _B332-* - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D097+0 -_F527 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B333 - !WORD _B333-* -_B332 -; toolsrc/lex.pla: 0059: num = (num << 4) + ^scanptr - '7'// 'A'-10 -; toolsrc/lex.pla: 0060: elsif ^scanptr >= 'a' and ^scanptr <= 'f' - !BYTE $6A ; LAW _D097+0 -_F528 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$41 ; CB 65 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B334 - !WORD _B334-* - !BYTE $6A ; LAW _D097+0 -_F529 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$46 ; CB 70 - !BYTE $4A ; ISLE -_B334 - !BYTE $4C ; BRFLS _B335 - !WORD _B335-* - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D097+0 -_F530 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$37 ; SUBI 55 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B333 - !WORD _B333-* -_B335 -; toolsrc/lex.pla: 0061: num = (num << 4) + ^scanptr - 'W'// 'a'-10 -; toolsrc/lex.pla: 0062: else - !BYTE $6A ; LAW _D097+0 -_F531 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$61 ; CB 97 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B336 - !WORD _B336-* - !BYTE $6A ; LAW _D097+0 -_F532 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$66 ; CB 102 - !BYTE $4A ; ISLE -_B336 - !BYTE $4C ; BRFLS _B337 - !WORD _B337-* - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D097+0 -_F533 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$57 ; SUBI 87 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B333 - !WORD _B333-* -_B337 -; toolsrc/lex.pla: 0063: break - !BYTE $50 ; BRNCH _B328 - !WORD _B328-* -; toolsrc/lex.pla: 0064: fin -_B333 -; toolsrc/lex.pla: 0065: until not ^scanptr -_B330 - !BYTE $6A ; LAW _D097+0 -_F534 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B329 - !WORD _B329-* -_B328 -; toolsrc/lex.pla: 0066: elsif ^scanptr < '0' or ^scanptr > '9' - !BYTE $50 ; BRNCH _B327 - !WORD _B327-* -_B326 -; toolsrc/lex.pla: 0067: repeat - !BYTE $6A ; LAW _D097+0 -_F535 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B338 - !WORD _B338-* - !BYTE $6A ; LAW _D097+0 -_F536 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT -_B338 - !BYTE $4C ; BRFLS _B339 - !WORD _B339-* -_B341 -; toolsrc/lex.pla: 0068: num = num * 10 + ^scanptr - '0' -; toolsrc/lex.pla: 0069: scanptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $6A ; LAW _D097+0 -_F537 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D097+0 -_F538 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0070: until ^scanptr < '0' or ^scanptr > '9' - !BYTE $7A ; SAW _D097+0 -_F539 !WORD _D097+0 -_B342 - !BYTE $6A ; LAW _D097+0 -_F540 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B343 - !WORD _B343-* - !BYTE $6A ; LAW _D097+0 -_F541 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT -_B343 - !BYTE $4C ; BRFLS _B341 - !WORD _B341-* -_B340 -; toolsrc/lex.pla: 0071: else - !BYTE $50 ; BRNCH _B327 - !WORD _B327-* -_B339 -; toolsrc/lex.pla: 0072: num = ^scanptr -; toolsrc/lex.pla: 0073: fin - !BYTE $6A ; LAW _D097+0 -_F542 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $76,$00 ; SLW [0] -_B327 -; toolsrc/lex.pla: 0074: return num - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/lex.pla: 0075: end -; toolsrc/lex.pla: 0076: -; toolsrc/lex.pla: 0077: def scan -_C076 ; scan() -; toolsrc/lex.pla: 0078: // -; toolsrc/lex.pla: 0079: // Skip whitespace -; toolsrc/lex.pla: 0080: // -; toolsrc/lex.pla: 0081: while ^scanptr == ' ' - !BYTE $50 ; BRNCH _B346 - !WORD _B346-* -_B344 -; toolsrc/lex.pla: 0082: scanptr++ - !BYTE $6A ; LAW _D097+0 -_F543 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0083: loop - !BYTE $7A ; SAW _D097+0 -_F544 !WORD _D097+0 -_B346 - !BYTE $6A ; LAW _D097+0 -_F545 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B344 - !WORD _B344-* -_B345 -; toolsrc/lex.pla: 0084: tknptr = scanptr -; toolsrc/lex.pla: 0085: scanchr, scanptr, token = scanid(scanptr, @keywrds) //scanchr = toupper(^scanptr) -; toolsrc/lex.pla: 0086: // -; toolsrc/lex.pla: 0087: // Scan for token based on first character -; toolsrc/lex.pla: 0088: // -; toolsrc/lex.pla: 0089: if token //if isalpha(scanchr) -; toolsrc/lex.pla: 0090: // -; toolsrc/lex.pla: 0091: // ID, either variable name or reserved word -; toolsrc/lex.pla: 0092: // -; toolsrc/lex.pla: 0093: //repeat -; toolsrc/lex.pla: 0094: // ^scanptr = scanchr -; toolsrc/lex.pla: 0095: // scanptr++ -; toolsrc/lex.pla: 0096: // scanchr = toupper(^scanptr) -; toolsrc/lex.pla: 0097: //until not isalphanum(scanchr) -; toolsrc/lex.pla: 0098: tknlen = scanptr - tknptr -; toolsrc/lex.pla: 0099: elsif scanchr >= '0' and scanchr <= '9' // isnum() - !BYTE $6A ; LAW _D097+0 -_F546 !WORD _D097+0 - !BYTE $7A ; SAW _D101+0 -_F547 !WORD _D101+0 - !BYTE $6A ; LAW _D097+0 -_F548 !WORD _D097+0 - !BYTE $26 ; LA _D036+0 -_F549 !WORD _D036+0 - !BYTE $54 ; CALL _A000 -_F550 !WORD _A000 - !BYTE $78 ; SAB _D098+0 -_F551 !WORD _D098+0 - !BYTE $7A ; SAW _D097+0 -_F552 !WORD _D097+0 - !BYTE $78 ; SAB _D099+0 -_F553 !WORD _D099+0 - !BYTE $68 ; LAB _D098+0 -_F554 !WORD _D098+0 - !BYTE $4C ; BRFLS _B347 - !WORD _B347-* - !BYTE $6A ; LAW _D097+0 -_F555 !WORD _D097+0 - !BYTE $6A ; LAW _D101+0 -_F556 !WORD _D101+0 - !BYTE $84 ; SUB - !BYTE $78 ; SAB _D100+0 -_F557 !WORD _D100+0 - !BYTE $50 ; BRNCH _B348 - !WORD _B348-* -_B347 -; toolsrc/lex.pla: 0100: // -; toolsrc/lex.pla: 0101: // Decimal constant -; toolsrc/lex.pla: 0102: // -; toolsrc/lex.pla: 0103: token = INT_TKN -; toolsrc/lex.pla: 0104: constval = 0 -; toolsrc/lex.pla: 0105: repeat - !BYTE $68 ; LAB _D099+0 -_F558 !WORD _D099+0 - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B349 - !WORD _B349-* - !BYTE $68 ; LAB _D099+0 -_F559 !WORD _D099+0 - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B349 - !BYTE $4C ; BRFLS _B350 - !WORD _B350-* - !BYTE $2A,$C9 ; CB 201 - !BYTE $78 ; SAB _D098+0 -_F560 !WORD _D098+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D103+0 -_F561 !WORD _D103+0 -_B352 -; toolsrc/lex.pla: 0106: constval = constval * 10 + ^scanptr - '0' -; toolsrc/lex.pla: 0107: scanptr++ - !BYTE $6A ; LAW _D103+0 -_F562 !WORD _D103+0 - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $6A ; LAW _D097+0 -_F563 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $7A ; SAW _D103+0 -_F564 !WORD _D103+0 - !BYTE $6A ; LAW _D097+0 -_F565 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0108: until ^scanptr < '0' or ^scanptr > '9' - !BYTE $7A ; SAW _D097+0 -_F566 !WORD _D097+0 -_B353 - !BYTE $6A ; LAW _D097+0 -_F567 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B354 - !WORD _B354-* - !BYTE $6A ; LAW _D097+0 -_F568 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT -_B354 - !BYTE $4C ; BRFLS _B352 - !WORD _B352-* -_B351 -; toolsrc/lex.pla: 0109: else - !BYTE $50 ; BRNCH _B348 - !WORD _B348-* -_B350 -; toolsrc/lex.pla: 0110: // -; toolsrc/lex.pla: 0111: // Potential multiple character tokens -; toolsrc/lex.pla: 0112: // -; toolsrc/lex.pla: 0113: when scanchr - !BYTE $68 ; LAB _D099+0 -_F569 !WORD _D099+0 - !BYTE $52 ; SEL - !WORD _B356-* -; toolsrc/lex.pla: 0114: is '$' -_B357 -; toolsrc/lex.pla: 0115: // -; toolsrc/lex.pla: 0116: // Hexadecimal constant -; toolsrc/lex.pla: 0117: // -; toolsrc/lex.pla: 0118: token = INT_TKN -; toolsrc/lex.pla: 0119: constval = 0 -; toolsrc/lex.pla: 0120: repeat - !BYTE $2A,$C9 ; CB 201 - !BYTE $78 ; SAB _D098+0 -_F570 !WORD _D098+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D103+0 -_F571 !WORD _D103+0 -_B359 -; toolsrc/lex.pla: 0121: scanptr++ - !BYTE $6A ; LAW _D097+0 -_F572 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0122: if ^scanptr >= '0' and ^scanptr <= '9' -; toolsrc/lex.pla: 0123: constval = (constval << 4) + ^scanptr - '0' -; toolsrc/lex.pla: 0124: elsif ^scanptr >= 'A' and ^scanptr <= 'F' - !BYTE $7A ; SAW _D097+0 -_F573 !WORD _D097+0 - !BYTE $6A ; LAW _D097+0 -_F574 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B361 - !WORD _B361-* - !BYTE $6A ; LAW _D097+0 -_F575 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B361 - !BYTE $4C ; BRFLS _B362 - !WORD _B362-* - !BYTE $6A ; LAW _D103+0 -_F576 !WORD _D103+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D097+0 -_F577 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $7A ; SAW _D103+0 -_F578 !WORD _D103+0 - !BYTE $50 ; BRNCH _B363 - !WORD _B363-* -_B362 -; toolsrc/lex.pla: 0125: constval = (constval << 4) + ^scanptr - '7'// 'A'-10 -; toolsrc/lex.pla: 0126: elsif ^scanptr >= 'a' and ^scanptr <= 'f' - !BYTE $6A ; LAW _D097+0 -_F579 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$41 ; CB 65 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B364 - !WORD _B364-* - !BYTE $6A ; LAW _D097+0 -_F580 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$46 ; CB 70 - !BYTE $4A ; ISLE -_B364 - !BYTE $4C ; BRFLS _B365 - !WORD _B365-* - !BYTE $6A ; LAW _D103+0 -_F581 !WORD _D103+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D097+0 -_F582 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$37 ; SUBI 55 - !BYTE $7A ; SAW _D103+0 -_F583 !WORD _D103+0 - !BYTE $50 ; BRNCH _B363 - !WORD _B363-* -_B365 -; toolsrc/lex.pla: 0127: constval = (constval << 4) + ^scanptr - 'W'// 'a'-10 -; toolsrc/lex.pla: 0128: else - !BYTE $6A ; LAW _D097+0 -_F584 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$61 ; CB 97 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B366 - !WORD _B366-* - !BYTE $6A ; LAW _D097+0 -_F585 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$66 ; CB 102 - !BYTE $4A ; ISLE -_B366 - !BYTE $4C ; BRFLS _B367 - !WORD _B367-* - !BYTE $6A ; LAW _D103+0 -_F586 !WORD _D103+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D097+0 -_F587 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$57 ; SUBI 87 - !BYTE $7A ; SAW _D103+0 -_F588 !WORD _D103+0 - !BYTE $50 ; BRNCH _B363 - !WORD _B363-* -_B367 -; toolsrc/lex.pla: 0129: break - !BYTE $50 ; BRNCH _B358 - !WORD _B358-* -; toolsrc/lex.pla: 0130: fin -_B363 -; toolsrc/lex.pla: 0131: until not ^scanptr -_B360 - !BYTE $6A ; LAW _D097+0 -_F589 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B359 - !WORD _B359-* -_B358 -; toolsrc/lex.pla: 0132: break - !BYTE $50 ; BRNCH _B355 - !WORD _B355-* -; toolsrc/lex.pla: 0133: is '\'' -_B368 -; toolsrc/lex.pla: 0134: // -; toolsrc/lex.pla: 0135: // Character constant -; toolsrc/lex.pla: 0136: // -; toolsrc/lex.pla: 0137: token = CHR_TKN -; toolsrc/lex.pla: 0138: scanptr++ - !BYTE $2A,$C3 ; CB 195 - !BYTE $78 ; SAB _D098+0 -_F590 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F591 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0139: if ^scanptr <> '\\' -; toolsrc/lex.pla: 0140: constval = ^scanptr -; toolsrc/lex.pla: 0141: else - !BYTE $7A ; SAW _D097+0 -_F592 !WORD _D097+0 - !BYTE $6A ; LAW _D097+0 -_F593 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$5C ; CB 92 - !BYTE $22 ; BREQ _B369 - !WORD _B369-* - !BYTE $6A ; LAW _D097+0 -_F594 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $7A ; SAW _D103+0 -_F595 !WORD _D103+0 - !BYTE $50 ; BRNCH _B370 - !WORD _B370-* -_B369 -; toolsrc/lex.pla: 0142: scanptr++ - !BYTE $6A ; LAW _D097+0 -_F596 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0143: when ^scanptr - !BYTE $7A ; SAW _D097+0 -_F597 !WORD _D097+0 - !BYTE $6A ; LAW _D097+0 -_F598 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B372-* -; toolsrc/lex.pla: 0144: is 'n' -_B373 -; toolsrc/lex.pla: 0145: is 'N' -_B374 -; toolsrc/lex.pla: 0146: constval = $0D; break - !BYTE $1A ; CN 13 - !BYTE $7A ; SAW _D103+0 -_F599 !WORD _D103+0 - !BYTE $50 ; BRNCH _B371 - !WORD _B371-* -; toolsrc/lex.pla: 0147: is 'r' -_B375 -; toolsrc/lex.pla: 0148: is 'R' -_B376 -; toolsrc/lex.pla: 0149: constval = $0A; break - !BYTE $14 ; CN 10 - !BYTE $7A ; SAW _D103+0 -_F600 !WORD _D103+0 - !BYTE $50 ; BRNCH _B371 - !WORD _B371-* -; toolsrc/lex.pla: 0150: is 't' -_B377 -; toolsrc/lex.pla: 0151: is 'T' -_B378 -; toolsrc/lex.pla: 0152: constval = $09; break - !BYTE $12 ; CN 9 - !BYTE $7A ; SAW _D103+0 -_F601 !WORD _D103+0 - !BYTE $50 ; BRNCH _B371 - !WORD _B371-* -; toolsrc/lex.pla: 0153: is '\\' -_B379 -; toolsrc/lex.pla: 0154: constval = '\\'; break - !BYTE $2A,$5C ; CB 92 - !BYTE $7A ; SAW _D103+0 -_F602 !WORD _D103+0 - !BYTE $50 ; BRNCH _B371 - !WORD _B371-* -; toolsrc/lex.pla: 0155: otherwise -_B372 - !BYTE $07 ; CASEBLOCK - !WORD $004E - !WORD _B374-* - !WORD $0052 - !WORD _B376-* - !WORD $0054 - !WORD _B378-* - !WORD $005C - !WORD _B379-* - !WORD $006E - !WORD _B373-* - !WORD $0072 - !WORD _B375-* - !WORD $0074 - !WORD _B377-* -; toolsrc/lex.pla: 0156: constval = scannum -; toolsrc/lex.pla: 0157: scanptr-- - !BYTE $54 ; CALL _C075 -_F603 !WORD _C075 - !BYTE $7A ; SAW _D103+0 -_F604 !WORD _D103+0 - !BYTE $6A ; LAW _D097+0 -_F605 !WORD _D097+0 - !BYTE $8E ; DECR -; toolsrc/lex.pla: 0158: wend - !BYTE $7A ; SAW _D097+0 -_F606 !WORD _D097+0 -_B371 -; toolsrc/lex.pla: 0159: fin -_B370 -; toolsrc/lex.pla: 0160: if ^(scanptr + 1) <> '\''; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $6A ; LAW _D097+0 -_F607 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$27 ; CB 39 - !BYTE $22 ; BREQ _B380 - !WORD _B380-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F608 !WORD _C002 -_B380 -_B381 -; toolsrc/lex.pla: 0161: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0162: break - !BYTE $6A ; LAW _D097+0 -_F609 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F610 !WORD _D097+0 - !BYTE $50 ; BRNCH _B355 - !WORD _B355-* -; toolsrc/lex.pla: 0163: is '"' -_B382 -; toolsrc/lex.pla: 0164: // -; toolsrc/lex.pla: 0165: // String constant -; toolsrc/lex.pla: 0166: // -; toolsrc/lex.pla: 0167: token = STR_TKN -; toolsrc/lex.pla: 0168: constval = strconstptr -; toolsrc/lex.pla: 0169: ^constval = 0 -; toolsrc/lex.pla: 0170: strconstptr++ - !BYTE $2A,$D3 ; CB 211 - !BYTE $78 ; SAB _D098+0 -_F611 !WORD _D098+0 - !BYTE $6A ; LAW _D106+0 -_F612 !WORD _D106+0 - !BYTE $7A ; SAW _D103+0 -_F613 !WORD _D103+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D103+0 -_F614 !WORD _D103+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D106+0 -_F615 !WORD _D106+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0171: scanptr++ - !BYTE $7A ; SAW _D106+0 -_F616 !WORD _D106+0 - !BYTE $6A ; LAW _D097+0 -_F617 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0172: while ^scanptr and ^scanptr <> '"' - !BYTE $7A ; SAW _D097+0 -_F618 !WORD _D097+0 - !BYTE $50 ; BRNCH _B385 - !WORD _B385-* -_B383 -; toolsrc/lex.pla: 0173: if ^scanptr <> '\\' -; toolsrc/lex.pla: 0174: ^strconstptr = ^scanptr -; toolsrc/lex.pla: 0175: else - !BYTE $6A ; LAW _D097+0 -_F619 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$5C ; CB 92 - !BYTE $22 ; BREQ _B387 - !WORD _B387-* - !BYTE $6A ; LAW _D097+0 -_F620 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $6A ; LAW _D106+0 -_F621 !WORD _D106+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B388 - !WORD _B388-* -_B387 -; toolsrc/lex.pla: 0176: scanptr++ - !BYTE $6A ; LAW _D097+0 -_F622 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0177: when ^scanptr - !BYTE $7A ; SAW _D097+0 -_F623 !WORD _D097+0 - !BYTE $6A ; LAW _D097+0 -_F624 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B390-* -; toolsrc/lex.pla: 0178: is 'n' -_B391 -; toolsrc/lex.pla: 0179: is 'N' -_B392 -; toolsrc/lex.pla: 0180: ^strconstptr = $0D; break - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _D106+0 -_F625 !WORD _D106+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B389 - !WORD _B389-* -; toolsrc/lex.pla: 0181: is 'r' -_B393 -; toolsrc/lex.pla: 0182: is 'R' -_B394 -; toolsrc/lex.pla: 0183: ^strconstptr = $0A; break - !BYTE $14 ; CN 10 - !BYTE $6A ; LAW _D106+0 -_F626 !WORD _D106+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B389 - !WORD _B389-* -; toolsrc/lex.pla: 0184: is 't' -_B395 -; toolsrc/lex.pla: 0185: is 'T' -_B396 -; toolsrc/lex.pla: 0186: ^strconstptr = $09; break - !BYTE $12 ; CN 9 - !BYTE $6A ; LAW _D106+0 -_F627 !WORD _D106+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B389 - !WORD _B389-* -; toolsrc/lex.pla: 0187: is '\\' -_B397 -; toolsrc/lex.pla: 0188: ^strconstptr = '\\'; break - !BYTE $2A,$5C ; CB 92 - !BYTE $6A ; LAW _D106+0 -_F628 !WORD _D106+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B389 - !WORD _B389-* -; toolsrc/lex.pla: 0189: otherwise -_B390 - !BYTE $07 ; CASEBLOCK - !WORD $004E - !WORD _B392-* - !WORD $0052 - !WORD _B394-* - !WORD $0054 - !WORD _B396-* - !WORD $005C - !WORD _B397-* - !WORD $006E - !WORD _B391-* - !WORD $0072 - !WORD _B393-* - !WORD $0074 - !WORD _B395-* -; toolsrc/lex.pla: 0190: ^strconstptr = scannum -; toolsrc/lex.pla: 0191: scanptr-- - !BYTE $54 ; CALL _C075 -_F629 !WORD _C075 - !BYTE $6A ; LAW _D106+0 -_F630 !WORD _D106+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D097+0 -_F631 !WORD _D097+0 - !BYTE $8E ; DECR -; toolsrc/lex.pla: 0192: wend - !BYTE $7A ; SAW _D097+0 -_F632 !WORD _D097+0 -_B389 -; toolsrc/lex.pla: 0193: fin -_B388 -; toolsrc/lex.pla: 0194: strconstptr++ - !BYTE $6A ; LAW _D106+0 -_F633 !WORD _D106+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0195: ^constval++ - !BYTE $7A ; SAW _D106+0 -_F634 !WORD _D106+0 - !BYTE $6A ; LAW _D103+0 -_F635 !WORD _D103+0 - !BYTE $60 ; LB - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0196: scanptr++ - !BYTE $6A ; LAW _D103+0 -_F636 !WORD _D103+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D097+0 -_F637 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0197: loop - !BYTE $7A ; SAW _D097+0 -_F638 !WORD _D097+0 -_B385 - !BYTE $6A ; LAW _D097+0 -_F639 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B386 - !WORD _B386-* - !BYTE $6A ; LAW _D097+0 -_F640 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$22 ; CB 34 - !BYTE $42 ; ISNE -_B386 - !BYTE $4E ; BRTRU _B383 - !WORD _B383-* -_B384 -; toolsrc/lex.pla: 0198: if not ^scanptr; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $6A ; LAW _D097+0 -_F641 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B398 - !WORD _B398-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F642 !WORD _C002 -_B398 -_B399 -; toolsrc/lex.pla: 0199: strconstptr++ - !BYTE $6A ; LAW _D106+0 -_F643 !WORD _D106+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0200: scanptr++ - !BYTE $7A ; SAW _D106+0 -_F644 !WORD _D106+0 - !BYTE $6A ; LAW _D097+0 -_F645 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0201: break - !BYTE $7A ; SAW _D097+0 -_F646 !WORD _D097+0 - !BYTE $50 ; BRNCH _B355 - !WORD _B355-* -; toolsrc/lex.pla: 0202: is '/' -_B400 -; toolsrc/lex.pla: 0203: if ^(scanptr + 1) == '/' -; toolsrc/lex.pla: 0204: token = EOL_TKN -; toolsrc/lex.pla: 0205: ^scanptr = $00 -; toolsrc/lex.pla: 0206: else - !BYTE $6A ; LAW _D097+0 -_F647 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B401 - !WORD _B401-* - !BYTE $04 ; CN 2 - !BYTE $78 ; SAB _D098+0 -_F648 !WORD _D098+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D097+0 -_F649 !WORD _D097+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B402 - !WORD _B402-* -_B401 -; toolsrc/lex.pla: 0207: token = DIV_TKN -; toolsrc/lex.pla: 0208: scanptr++ - !BYTE $2A,$AF ; CB 175 - !BYTE $78 ; SAB _D098+0 -_F650 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F651 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0209: fin - !BYTE $7A ; SAW _D097+0 -_F652 !WORD _D097+0 -_B402 -; toolsrc/lex.pla: 0210: break - !BYTE $50 ; BRNCH _B355 - !WORD _B355-* -; toolsrc/lex.pla: 0211: is '=' -_B403 -; toolsrc/lex.pla: 0212: if ^(scanptr + 1) == '=' -; toolsrc/lex.pla: 0213: token = EQ_TKN -; toolsrc/lex.pla: 0214: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0215: elsif ^(scanptr + 1) == '>' - !BYTE $6A ; LAW _D097+0 -_F653 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3D ; CB 61 - !BYTE $24 ; BRNE _B404 - !WORD _B404-* - !BYTE $2A,$C5 ; CB 197 - !BYTE $78 ; SAB _D098+0 -_F654 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F655 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F656 !WORD _D097+0 - !BYTE $50 ; BRNCH _B405 - !WORD _B405-* -_B404 -; toolsrc/lex.pla: 0216: token = PTRW_TKN -; toolsrc/lex.pla: 0217: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0218: else - !BYTE $6A ; LAW _D097+0 -_F657 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3E ; CB 62 - !BYTE $24 ; BRNE _B406 - !WORD _B406-* - !BYTE $2A,$D7 ; CB 215 - !BYTE $78 ; SAB _D098+0 -_F658 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F659 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F660 !WORD _D097+0 - !BYTE $50 ; BRNCH _B405 - !WORD _B405-* -_B406 -; toolsrc/lex.pla: 0219: token = SET_TKN -; toolsrc/lex.pla: 0220: scanptr++ - !BYTE $2A,$BD ; CB 189 - !BYTE $78 ; SAB _D098+0 -_F661 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F662 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0221: fin - !BYTE $7A ; SAW _D097+0 -_F663 !WORD _D097+0 -_B405 -; toolsrc/lex.pla: 0222: break - !BYTE $50 ; BRNCH _B355 - !WORD _B355-* -; toolsrc/lex.pla: 0223: is '-' -_B407 -; toolsrc/lex.pla: 0224: if ^(scanptr + 1) == '>' -; toolsrc/lex.pla: 0225: token = PTRB_TKN -; toolsrc/lex.pla: 0226: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0227: elsif ^(scanptr + 1) == '-' - !BYTE $6A ; LAW _D097+0 -_F664 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3E ; CB 62 - !BYTE $24 ; BRNE _B408 - !WORD _B408-* - !BYTE $2A,$D8 ; CB 216 - !BYTE $78 ; SAB _D098+0 -_F665 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F666 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F667 !WORD _D097+0 - !BYTE $50 ; BRNCH _B409 - !WORD _B409-* -_B408 -; toolsrc/lex.pla: 0228: token = DEC_TKN -; toolsrc/lex.pla: 0229: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0230: else - !BYTE $6A ; LAW _D097+0 -_F668 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $24 ; BRNE _B410 - !WORD _B410-* - !BYTE $2A,$C4 ; CB 196 - !BYTE $78 ; SAB _D098+0 -_F669 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F670 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F671 !WORD _D097+0 - !BYTE $50 ; BRNCH _B409 - !WORD _B409-* -_B410 -; toolsrc/lex.pla: 0231: token = SUB_TKN -; toolsrc/lex.pla: 0232: scanptr++ - !BYTE $2A,$AD ; CB 173 - !BYTE $78 ; SAB _D098+0 -_F672 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F673 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0233: fin - !BYTE $7A ; SAW _D097+0 -_F674 !WORD _D097+0 -_B409 -; toolsrc/lex.pla: 0234: break - !BYTE $50 ; BRNCH _B355 - !WORD _B355-* -; toolsrc/lex.pla: 0235: is '+' -_B411 -; toolsrc/lex.pla: 0236: if ^(scanptr + 1) == '+' -; toolsrc/lex.pla: 0237: token = INC_TKN -; toolsrc/lex.pla: 0238: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0239: else - !BYTE $6A ; LAW _D097+0 -_F675 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2B ; CB 43 - !BYTE $24 ; BRNE _B412 - !WORD _B412-* - !BYTE $2A,$C1 ; CB 193 - !BYTE $78 ; SAB _D098+0 -_F676 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F677 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F678 !WORD _D097+0 - !BYTE $50 ; BRNCH _B413 - !WORD _B413-* -_B412 -; toolsrc/lex.pla: 0240: token = ADD_TKN -; toolsrc/lex.pla: 0241: scanptr++ - !BYTE $2A,$AB ; CB 171 - !BYTE $78 ; SAB _D098+0 -_F679 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F680 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0242: fin - !BYTE $7A ; SAW _D097+0 -_F681 !WORD _D097+0 -_B413 -; toolsrc/lex.pla: 0243: break - !BYTE $50 ; BRNCH _B355 - !WORD _B355-* -; toolsrc/lex.pla: 0244: is '>' -_B414 -; toolsrc/lex.pla: 0245: if ^(scanptr + 1) == '>' -; toolsrc/lex.pla: 0246: token = SHR_TKN -; toolsrc/lex.pla: 0247: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0248: elsif ^(scanptr + 1) == '=' - !BYTE $6A ; LAW _D097+0 -_F682 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3E ; CB 62 - !BYTE $24 ; BRNE _B415 - !WORD _B415-* - !BYTE $2A,$D2 ; CB 210 - !BYTE $78 ; SAB _D098+0 -_F683 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F684 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F685 !WORD _D097+0 - !BYTE $50 ; BRNCH _B416 - !WORD _B416-* -_B415 -; toolsrc/lex.pla: 0249: token = GE_TKN -; toolsrc/lex.pla: 0250: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0251: else - !BYTE $6A ; LAW _D097+0 -_F686 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3D ; CB 61 - !BYTE $24 ; BRNE _B417 - !WORD _B417-* - !BYTE $2A,$C8 ; CB 200 - !BYTE $78 ; SAB _D098+0 -_F687 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F688 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F689 !WORD _D097+0 - !BYTE $50 ; BRNCH _B416 - !WORD _B416-* -_B417 -; toolsrc/lex.pla: 0252: token = GT_TKN -; toolsrc/lex.pla: 0253: scanptr++ - !BYTE $2A,$BE ; CB 190 - !BYTE $78 ; SAB _D098+0 -_F690 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F691 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0254: fin - !BYTE $7A ; SAW _D097+0 -_F692 !WORD _D097+0 -_B416 -; toolsrc/lex.pla: 0255: break - !BYTE $50 ; BRNCH _B355 - !WORD _B355-* -; toolsrc/lex.pla: 0256: is '<' -_B418 -; toolsrc/lex.pla: 0257: if ^(scanptr + 1) == '<' -; toolsrc/lex.pla: 0258: token = SHL_TKN -; toolsrc/lex.pla: 0259: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0260: elsif ^(scanptr + 1) == '=' - !BYTE $6A ; LAW _D097+0 -_F693 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3C ; CB 60 - !BYTE $24 ; BRNE _B419 - !WORD _B419-* - !BYTE $2A,$CC ; CB 204 - !BYTE $78 ; SAB _D098+0 -_F694 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F695 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F696 !WORD _D097+0 - !BYTE $50 ; BRNCH _B420 - !WORD _B420-* -_B419 -; toolsrc/lex.pla: 0261: token = LE_TKN -; toolsrc/lex.pla: 0262: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0263: elsif ^(scanptr + 1) == '>' - !BYTE $6A ; LAW _D097+0 -_F697 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3D ; CB 61 - !BYTE $24 ; BRNE _B421 - !WORD _B421-* - !BYTE $2A,$C2 ; CB 194 - !BYTE $78 ; SAB _D098+0 -_F698 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F699 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F700 !WORD _D097+0 - !BYTE $50 ; BRNCH _B420 - !WORD _B420-* -_B421 -; toolsrc/lex.pla: 0264: token = NE_TKN -; toolsrc/lex.pla: 0265: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0266: else - !BYTE $6A ; LAW _D097+0 -_F701 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3E ; CB 62 - !BYTE $24 ; BRNE _B422 - !WORD _B422-* - !BYTE $2A,$D5 ; CB 213 - !BYTE $78 ; SAB _D098+0 -_F702 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F703 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F704 !WORD _D097+0 - !BYTE $50 ; BRNCH _B420 - !WORD _B420-* -_B422 -; toolsrc/lex.pla: 0267: token = LT_TKN -; toolsrc/lex.pla: 0268: scanptr++ - !BYTE $2A,$BC ; CB 188 - !BYTE $78 ; SAB _D098+0 -_F705 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F706 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0269: fin - !BYTE $7A ; SAW _D097+0 -_F707 !WORD _D097+0 -_B420 -; toolsrc/lex.pla: 0270: break - !BYTE $50 ; BRNCH _B355 - !WORD _B355-* -; toolsrc/lex.pla: 0271: is ':' -_B423 -; toolsrc/lex.pla: 0272: if ^(scanptr + 1) == ':' -; toolsrc/lex.pla: 0273: token = TRIELSE_TKN; -; toolsrc/lex.pla: 0274: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0275: else - !BYTE $6A ; LAW _D097+0 -_F708 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3A ; CB 58 - !BYTE $24 ; BRNE _B424 - !WORD _B424-* - !BYTE $2A,$DF ; CB 223 - !BYTE $78 ; SAB _D098+0 -_F709 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F710 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F711 !WORD _D097+0 - !BYTE $50 ; BRNCH _B425 - !WORD _B425-* -_B424 -; toolsrc/lex.pla: 0276: token = COLON_TKN; -; toolsrc/lex.pla: 0277: scanptr++ - !BYTE $2A,$BA ; CB 186 - !BYTE $78 ; SAB _D098+0 -_F712 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F713 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0278: fin - !BYTE $7A ; SAW _D097+0 -_F714 !WORD _D097+0 -_B425 -; toolsrc/lex.pla: 0279: break - !BYTE $50 ; BRNCH _B355 - !WORD _B355-* -; toolsrc/lex.pla: 0280: is '?' -_B426 -; toolsrc/lex.pla: 0281: if ^(scanptr + 1) == '?' -; toolsrc/lex.pla: 0282: token = TERNARY_TKN; -; toolsrc/lex.pla: 0283: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0284: fin - !BYTE $6A ; LAW _D097+0 -_F715 !WORD _D097+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3F ; CB 63 - !BYTE $24 ; BRNE _B427 - !WORD _B427-* - !BYTE $2A,$BF ; CB 191 - !BYTE $78 ; SAB _D098+0 -_F716 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F717 !WORD _D097+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D097+0 -_F718 !WORD _D097+0 -_B427 -_B428 -; toolsrc/lex.pla: 0285: break - !BYTE $50 ; BRNCH _B355 - !WORD _B355-* -; toolsrc/lex.pla: 0286: is 0 -_B429 -; toolsrc/lex.pla: 0287: is ';' -_B430 -; toolsrc/lex.pla: 0288: if token <> EOF_TKN -; toolsrc/lex.pla: 0289: token = EOL_TKN -; toolsrc/lex.pla: 0290: fin - !BYTE $68 ; LAB _D098+0 -_F719 !WORD _D098+0 - !BYTE $02 ; CN 1 - !BYTE $22 ; BREQ _B431 - !WORD _B431-* - !BYTE $04 ; CN 2 - !BYTE $78 ; SAB _D098+0 -_F720 !WORD _D098+0 -_B431 -_B432 -; toolsrc/lex.pla: 0291: break - !BYTE $50 ; BRNCH _B355 - !WORD _B355-* -; toolsrc/lex.pla: 0292: otherwise -_B356 - !BYTE $0D ; CASEBLOCK - !WORD $0000 - !WORD _B429-* - !WORD $0022 - !WORD _B382-* - !WORD $0024 - !WORD _B357-* - !WORD $0027 - !WORD _B368-* - !WORD $002B - !WORD _B411-* - !WORD $002D - !WORD _B407-* - !WORD $002F - !WORD _B400-* - !WORD $003A - !WORD _B423-* - !WORD $003B - !WORD _B430-* - !WORD $003C - !WORD _B418-* - !WORD $003D - !WORD _B403-* - !WORD $003E - !WORD _B414-* - !WORD $003F - !WORD _B426-* -; toolsrc/lex.pla: 0293: // -; toolsrc/lex.pla: 0294: // Simple single character tokens -; toolsrc/lex.pla: 0295: // -; toolsrc/lex.pla: 0296: token = scanchr | $80 -; toolsrc/lex.pla: 0297: scanptr++ - !BYTE $68 ; LAB _D099+0 -_F721 !WORD _D099+0 - !BYTE $3E,$80 ; ORI 128 - !BYTE $78 ; SAB _D098+0 -_F722 !WORD _D098+0 - !BYTE $6A ; LAW _D097+0 -_F723 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0298: wend - !BYTE $7A ; SAW _D097+0 -_F724 !WORD _D097+0 -_B355 -; toolsrc/lex.pla: 0299: fin -_B348 -; toolsrc/lex.pla: 0300: tknlen = scanptr - tknptr -; toolsrc/lex.pla: 0301: return token - !BYTE $6A ; LAW _D097+0 -_F725 !WORD _D097+0 - !BYTE $6A ; LAW _D101+0 -_F726 !WORD _D101+0 - !BYTE $84 ; SUB - !BYTE $78 ; SAB _D100+0 -_F727 !WORD _D100+0 - !BYTE $68 ; LAB _D098+0 -_F728 !WORD _D098+0 - !BYTE $5C ; RET -; toolsrc/lex.pla: 0302: end -; toolsrc/lex.pla: 0303: def rewind(ptr)#0 - ; ptr -> [0] -_C077 ; rewind() -; toolsrc/lex.pla: 0304: scanptr = ptr - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/lex.pla: 0305: tknptr = ptr -; toolsrc/lex.pla: 0306: end - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D097+0 -_F729 !WORD _D097+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D101+0 -_F730 !WORD _D101+0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/lex.pla: 0307: def lookahead -_C078 ; lookahead() -; toolsrc/lex.pla: 0308: word backptr, backtkn - ; backptr -> [0] - ; backtkn -> [2] -; toolsrc/lex.pla: 0309: byte prevtkn, prevlen, look - ; prevtkn -> [4] - ; prevlen -> [5] - ; look -> [6] -; toolsrc/lex.pla: 0310: backptr = scanptr - !BYTE $58,$07,$00 ; ENTER 7,0 -; toolsrc/lex.pla: 0311: backtkn = tknptr -; toolsrc/lex.pla: 0312: prevtkn = token -; toolsrc/lex.pla: 0313: prevlen = tknlen -; toolsrc/lex.pla: 0314: look = scan -; toolsrc/lex.pla: 0315: scanptr = backptr -; toolsrc/lex.pla: 0316: tknptr = backtkn -; toolsrc/lex.pla: 0317: token = prevtkn -; toolsrc/lex.pla: 0318: tknlen = prevlen -; toolsrc/lex.pla: 0319: return look - !BYTE $6A ; LAW _D097+0 -_F731 !WORD _D097+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D101+0 -_F732 !WORD _D101+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $68 ; LAB _D098+0 -_F733 !WORD _D098+0 - !BYTE $74,$04 ; SLB [4] - !BYTE $68 ; LAB _D100+0 -_F734 !WORD _D100+0 - !BYTE $74,$05 ; SLB [5] - !BYTE $54 ; CALL _C076 -_F735 !WORD _C076 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D097+0 -_F736 !WORD _D097+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D101+0 -_F737 !WORD _D101+0 - !BYTE $64,$04 ; LLB [4] - !BYTE $78 ; SAB _D098+0 -_F738 !WORD _D098+0 - !BYTE $64,$05 ; LLB [5] - !BYTE $78 ; SAB _D100+0 -_F739 !WORD _D100+0 - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/lex.pla: 0320: end -; toolsrc/lex.pla: 0321: // -; toolsrc/lex.pla: 0322: // Get next line of input -; toolsrc/lex.pla: 0323: // -; toolsrc/lex.pla: 0324: def nextln -_C079 ; nextln() -; toolsrc/lex.pla: 0325: strconstptr = strconstbuff // Reset string constant buffer -; toolsrc/lex.pla: 0326: if ^scanptr == ';' -; toolsrc/lex.pla: 0327: scanptr++ - !BYTE $6A ; LAW _D105+0 -_F740 !WORD _D105+0 - !BYTE $7A ; SAW _D106+0 -_F741 !WORD _D106+0 - !BYTE $6A ; LAW _D097+0 -_F742 !WORD _D097+0 - !BYTE $60 ; LB - !BYTE $2A,$3B ; CB 59 - !BYTE $24 ; BRNE _B433 - !WORD _B433-* - !BYTE $6A ; LAW _D097+0 -_F743 !WORD _D097+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0328: scan -; toolsrc/lex.pla: 0329: else - !BYTE $7A ; SAW _D097+0 -_F744 !WORD _D097+0 - !BYTE $54 ; CALL _C076 -_F745 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B434 - !WORD _B434-* -_B433 -; toolsrc/lex.pla: 0330: if token <> EOL_TKN and token <> EOF_TKN; putc(token&$7F); puts("Extraneous characters\n"); exit_err(0); fin - !BYTE $68 ; LAB _D098+0 -_F746 !WORD _D098+0 - !BYTE $04 ; CN 2 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B435 - !WORD _B435-* - !BYTE $68 ; LAB _D098+0 -_F747 !WORD _D098+0 - !BYTE $02 ; CN 1 - !BYTE $42 ; ISNE -_B435 - !BYTE $4C ; BRFLS _B436 - !WORD _B436-* - !BYTE $68 ; LAB _D098+0 -_F748 !WORD _D098+0 - !BYTE $3C,$7F ; ANDI 127 - !BYTE $54 ; CALL _X002 -_F749 !WORD 0 - !BYTE $2E ; CS - !BYTE $16 - !BYTE $45,$78,$74,$72,$61,$6E,$65,$6F - !BYTE $75,$73,$20,$63,$68,$61,$72,$61 - !BYTE $63,$74,$65,$72,$73,$0D - !BYTE $54 ; CALL _X004 -_F750 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F751 !WORD _C002 -_B436 -_B437 -; toolsrc/lex.pla: 0331: scanptr = inbuff -; toolsrc/lex.pla: 0332: ^instr = fileio:read(refnum, inbuff, 127) -; toolsrc/lex.pla: 0333: if ^instr -; toolsrc/lex.pla: 0334: ^(instr + ^instr) = NULL // NULL terminate string -; toolsrc/lex.pla: 0335: lineno++ - !BYTE $6A ; LAW _D096+0 -_F752 !WORD _D096+0 - !BYTE $7A ; SAW _D097+0 -_F753 !WORD _D097+0 - !BYTE $68 ; LAB _D086+0 -_F754 !WORD _D086+0 - !BYTE $6A ; LAW _D096+0 -_F755 !WORD _D096+0 - !BYTE $2A,$7F ; CB 127 - !BYTE $6A ; LAW _X031+18 -_F756 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _D095+0 -_F757 !WORD _D095+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D095+0 -_F758 !WORD _D095+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B438 - !WORD _B438-* - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D095+0 -_F759 !WORD _D095+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $6A ; LAW _D104+0 -_F760 !WORD _D104+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0336: if !(lineno & $0F); putc('.'); fin - !BYTE $7E ; DAW _D104+0 -_F761 !WORD _D104+0 - !BYTE $3C,$0F ; ANDI 15 - !BYTE $4E ; BRTRU _B440 - !WORD _B440-* - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F762 !WORD 0 -_B440 -_B441 -; toolsrc/lex.pla: 0337: if scan == INCLUDE_TKN -; toolsrc/lex.pla: 0338: if incref; puts("Nested INCLUDEs not allowed\n"); exit_err(0); fin - !BYTE $54 ; CALL _C076 -_F763 !WORD _C076 - !BYTE $2A,$9F ; CB 159 - !BYTE $24 ; BRNE _B442 - !WORD _B442-* - !BYTE $68 ; LAB _D088+0 -_F764 !WORD _D088+0 - !BYTE $4C ; BRFLS _B444 - !WORD _B444-* - !BYTE $2E ; CS - !BYTE $1C - !BYTE $4E,$65,$73,$74,$65,$64,$20,$49 - !BYTE $4E,$43,$4C,$55,$44,$45,$73,$20 - !BYTE $6E,$6F,$74,$20,$61,$6C,$6C,$6F - !BYTE $77,$65,$64,$0D - !BYTE $54 ; CALL _X004 -_F765 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F766 !WORD _C002 -_B444 -_B445 -; toolsrc/lex.pla: 0339: if scan <> STR_TKN; puts("Missing INCLUDE file\n"); exit_err(0); fin - !BYTE $54 ; CALL _C076 -_F767 !WORD _C076 - !BYTE $2A,$D3 ; CB 211 - !BYTE $22 ; BREQ _B446 - !WORD _B446-* - !BYTE $2E ; CS - !BYTE $15 - !BYTE $4D,$69,$73,$73,$69,$6E,$67,$20 - !BYTE $49,$4E,$43,$4C,$55,$44,$45,$20 - !BYTE $66,$69,$6C,$65,$0D - !BYTE $54 ; CALL _X004 -_F768 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F769 !WORD _C002 -_B446 -_B447 -; toolsrc/lex.pla: 0340: strcpy(@incfile, constval) -; toolsrc/lex.pla: 0341: incref = fileio:open(@incfile) -; toolsrc/lex.pla: 0342: if not incref -; toolsrc/lex.pla: 0343: puts("Unable to open INCLUDE file: ") - !BYTE $26 ; LA _D090+0 -_F770 !WORD _D090+0 - !BYTE $6A ; LAW _D103+0 -_F771 !WORD _D103+0 - !BYTE $54 ; CALL _X019 -_F772 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D090+0 -_F773 !WORD _D090+0 - !BYTE $6A ; LAW _X031+14 -_F774 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D088+0 -_F775 !WORD _D088+0 - !BYTE $4E ; BRTRU _B448 - !WORD _B448-* - !BYTE $2E ; CS - !BYTE $1D - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$6F,$70,$65,$6E,$20,$49 - !BYTE $4E,$43,$4C,$55,$44,$45,$20,$66 - !BYTE $69,$6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F776 !WORD 0 -; toolsrc/lex.pla: 0344: puts(@incfile) -; toolsrc/lex.pla: 0345: putln -; toolsrc/lex.pla: 0346: exit_err(0) -; toolsrc/lex.pla: 0347: fin - !BYTE $26 ; LA _D090+0 -_F777 !WORD _D090+0 - !BYTE $54 ; CALL _X004 -_F778 !WORD 0 - !BYTE $54 ; CALL _X003 -_F779 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F780 !WORD _C002 -_B448 -_B449 -; toolsrc/lex.pla: 0348: fileio:newline(incref, $7F, $0D) -; toolsrc/lex.pla: 0349: refnum = incref -; toolsrc/lex.pla: 0350: parsefile = @incfile -; toolsrc/lex.pla: 0351: srcline = lineno -; toolsrc/lex.pla: 0352: lineno = 0 -; toolsrc/lex.pla: 0353: scan -; toolsrc/lex.pla: 0354: return nextln - !BYTE $68 ; LAB _D088+0 -_F781 !WORD _D088+0 - !BYTE $2A,$7F ; CB 127 - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _X031+28 -_F782 !WORD 0+28 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D088+0 -_F783 !WORD _D088+0 - !BYTE $78 ; SAB _D086+0 -_F784 !WORD _D086+0 - !BYTE $26 ; LA _D090+0 -_F785 !WORD _D090+0 - !BYTE $7A ; SAW _D093+0 -_F786 !WORD _D093+0 - !BYTE $6A ; LAW _D104+0 -_F787 !WORD _D104+0 - !BYTE $7A ; SAW _D094+0 -_F788 !WORD _D094+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D104+0 -_F789 !WORD _D104+0 - !BYTE $54 ; CALL _C076 -_F790 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C079 -_F791 !WORD _C079 - !BYTE $5C ; RET -; toolsrc/lex.pla: 0355: fin -_B442 -_B443 -; toolsrc/lex.pla: 0356: else - !BYTE $50 ; BRNCH _B439 - !WORD _B439-* -_B438 -; toolsrc/lex.pla: 0357: if refnum == incref -; toolsrc/lex.pla: 0358: fileio:close(incref) -; toolsrc/lex.pla: 0359: incref = 0 -; toolsrc/lex.pla: 0360: refnum = srcref -; toolsrc/lex.pla: 0361: parsefile = @srcfile -; toolsrc/lex.pla: 0362: lineno = srcline -; toolsrc/lex.pla: 0363: return nextln - !BYTE $68 ; LAB _D086+0 -_F792 !WORD _D086+0 - !BYTE $68 ; LAB _D088+0 -_F793 !WORD _D088+0 - !BYTE $24 ; BRNE _B450 - !WORD _B450-* - !BYTE $68 ; LAB _D088+0 -_F794 !WORD _D088+0 - !BYTE $6A ; LAW _X031+16 -_F795 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D088+0 -_F796 !WORD _D088+0 - !BYTE $68 ; LAB _D087+0 -_F797 !WORD _D087+0 - !BYTE $78 ; SAB _D086+0 -_F798 !WORD _D086+0 - !BYTE $26 ; LA _D089+0 -_F799 !WORD _D089+0 - !BYTE $7A ; SAW _D093+0 -_F800 !WORD _D093+0 - !BYTE $6A ; LAW _D094+0 -_F801 !WORD _D094+0 - !BYTE $7A ; SAW _D104+0 -_F802 !WORD _D104+0 - !BYTE $54 ; CALL _C079 -_F803 !WORD _C079 - !BYTE $5C ; RET -; toolsrc/lex.pla: 0364: else - !BYTE $50 ; BRNCH _B451 - !WORD _B451-* -_B450 -; toolsrc/lex.pla: 0365: *instr = NULL // NULL terminated 0 length string -; toolsrc/lex.pla: 0366: token = EOF_TKN -; toolsrc/lex.pla: 0367: fin - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D095+0 -_F804 !WORD _D095+0 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D098+0 -_F805 !WORD _D098+0 -_B451 -; toolsrc/lex.pla: 0368: fin -_B439 -; toolsrc/lex.pla: 0369: fin -_B434 -; toolsrc/lex.pla: 0370: return token - !BYTE $68 ; LAB _D098+0 -_F806 !WORD _D098+0 - !BYTE $5C ; RET -; toolsrc/lex.pla: 0371: end -; toolsrc/plasm.pla: 0506: -; toolsrc/plasm.pla: 0507: include "toolsrc/parse.pla" -; toolsrc/parse.pla: 0001: // -; toolsrc/parse.pla: 0002: // Alebraic op to stack op -; toolsrc/parse.pla: 0003: // -; toolsrc/parse.pla: 0004: def push_op(op, prec)#0 - ; op -> [0] - ; prec -> [2] -_C080 ; push_op() -; toolsrc/parse.pla: 0005: if opsp == 16; exit_err(ERR_OVER|ERR_CODE|ERR_FRAME); fin - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $6A ; LAW _D041+0 -_F807 !WORD _D041+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $24 ; BRNE _B452 - !WORD _B452-* - !BYTE $2C,$10,$21 ; CW 8464 - !BYTE $54 ; CALL _C002 -_F808 !WORD _C002 -_B452 -_B453 -; toolsrc/parse.pla: 0006: opstack[opsp] = op -; toolsrc/parse.pla: 0007: precstack[opsp] = prec -; toolsrc/parse.pla: 0008: opsp++ - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D039+0 -_F809 !WORD _D039+0 - !BYTE $B6 ; ADDAW _D041+0 -_F810 !WORD _D041+0 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D040+0 -_F811 !WORD _D040+0 - !BYTE $B6 ; ADDAW _D041+0 -_F812 !WORD _D041+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D041+0 -_F813 !WORD _D041+0 - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0009: end - !BYTE $7A ; SAW _D041+0 -_F814 !WORD _D041+0 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/parse.pla: 0010: def pop_op -_C081 ; pop_op() -; toolsrc/parse.pla: 0011: opsp-- - !BYTE $6A ; LAW _D041+0 -_F815 !WORD _D041+0 - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0012: if opsp < 0; exit_err(ERR_INVAL|ERR_CODE|ERR_FRAME); fin - !BYTE $7E ; DAW _D041+0 -_F816 !WORD _D041+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B454 - !WORD _B454-* - !BYTE $2C,$04,$21 ; CW 8452 - !BYTE $54 ; CALL _C002 -_F817 !WORD _C002 -_B454 -_B455 -; toolsrc/parse.pla: 0013: return opstack[opsp] - !BYTE $26 ; LA _D039+0 -_F818 !WORD _D039+0 - !BYTE $B6 ; ADDAW _D041+0 -_F819 !WORD _D041+0 - !BYTE $60 ; LB - !BYTE $5C ; RET -; toolsrc/parse.pla: 0014: end -; toolsrc/parse.pla: 0015: def tos_op -_C082 ; tos_op() -; toolsrc/parse.pla: 0016: return opsp < 0 ?? 0 :: opstack[opsp-1] - !BYTE $6A ; LAW _D041+0 -_F820 !WORD _D041+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B456 - !WORD _B456-* - !BYTE $00 ; CN 0 - !BYTE $50 ; BRNCH _B457 - !WORD _B457-* -_B456 - !BYTE $26 ; LA _D039+0 -_F821 !WORD _D039+0 - !BYTE $6A ; LAW _D041+0 -_F822 !WORD _D041+0 - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB -_B457 - !BYTE $5C ; RET -; toolsrc/parse.pla: 0017: end -; toolsrc/parse.pla: 0018: def tos_op_prec(tos) - ; tos -> [0] -_C083 ; tos_op_prec() -; toolsrc/parse.pla: 0019: return opsp <= tos ?? 100 :: precstack[opsp-1] - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $6A ; LAW _D041+0 -_F823 !WORD _D041+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B458 - !WORD _B458-* - !BYTE $2A,$64 ; CB 100 - !BYTE $50 ; BRNCH _B459 - !WORD _B459-* -_B458 - !BYTE $26 ; LA _D040+0 -_F824 !WORD _D040+0 - !BYTE $6A ; LAW _D041+0 -_F825 !WORD _D041+0 - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB -_B459 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/parse.pla: 0020: end -; toolsrc/parse.pla: 0021: def push_val(value, size, type)#0 - ; value -> [0] - ; size -> [2] - ; type -> [4] -_C084 ; push_val() -; toolsrc/parse.pla: 0022: byte i - ; i -> [6] -; toolsrc/parse.pla: 0023: if valsp == 16; exit_err(ERR_OVER|ERR_CODE|ERR_FRAME); fin - !BYTE $58,$07,$03 ; ENTER 7,3 - !BYTE $6A ; LAW _D045+0 -_F826 !WORD _D045+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $24 ; BRNE _B460 - !WORD _B460-* - !BYTE $2C,$10,$21 ; CW 8464 - !BYTE $54 ; CALL _C002 -_F827 !WORD _C002 -_B460 -_B461 -; toolsrc/parse.pla: 0024: valstack[valsp] = value -; toolsrc/parse.pla: 0025: sizestack[valsp] = size -; toolsrc/parse.pla: 0026: typestack[valsp] = type -; toolsrc/parse.pla: 0027: valsp++ - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D042+0 -_F828 !WORD _D042+0 - !BYTE $BE ; IDXAW _D045+0 -_F829 !WORD _D045+0 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D043+0 -_F830 !WORD _D043+0 - !BYTE $B6 ; ADDAW _D045+0 -_F831 !WORD _D045+0 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $26 ; LA _D044+0 -_F832 !WORD _D044+0 - !BYTE $B6 ; ADDAW _D045+0 -_F833 !WORD _D045+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D045+0 -_F834 !WORD _D045+0 - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0028: end - !BYTE $7A ; SAW _D045+0 -_F835 !WORD _D045+0 - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/parse.pla: 0029: def pop_val#3 -_C085 ; pop_val() -; toolsrc/parse.pla: 0030: byte i - ; i -> [0] -; toolsrc/parse.pla: 0031: valsp-- - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $6A ; LAW _D045+0 -_F836 !WORD _D045+0 - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0032: if valsp < 0; exit_err(ERR_INVAL|ERR_CODE|ERR_FRAME); fin - !BYTE $7E ; DAW _D045+0 -_F837 !WORD _D045+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B462 - !WORD _B462-* - !BYTE $2C,$04,$21 ; CW 8452 - !BYTE $54 ; CALL _C002 -_F838 !WORD _C002 -_B462 -_B463 -; toolsrc/parse.pla: 0033: return valstack[valsp], sizestack[valsp], typestack[valsp] - !BYTE $26 ; LA _D042+0 -_F839 !WORD _D042+0 - !BYTE $BE ; IDXAW _D045+0 -_F840 !WORD _D045+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D043+0 -_F841 !WORD _D043+0 - !BYTE $B6 ; ADDAW _D045+0 -_F842 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $26 ; LA _D044+0 -_F843 !WORD _D044+0 - !BYTE $B6 ; ADDAW _D045+0 -_F844 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $5A,$01 ; LEAVE 1 -; toolsrc/parse.pla: 0034: end -; toolsrc/parse.pla: 0035: // -; toolsrc/parse.pla: 0036: // Constant expression parsing -; toolsrc/parse.pla: 0037: // -; toolsrc/parse.pla: 0038: def calc_binaryop(op)#0 - ; op -> [0] -_C086 ; calc_binaryop() -; toolsrc/parse.pla: 0039: word val1, val2 - ; val1 -> [2] - ; val2 -> [4] -; toolsrc/parse.pla: 0040: byte size1, size2, type1, type2 - ; size1 -> [6] - ; size2 -> [7] - ; type1 -> [8] - ; type2 -> [9] -; toolsrc/parse.pla: 0041: -; toolsrc/parse.pla: 0042: val2, size2, type2 = pop_val - !BYTE $58,$0A,$01 ; ENTER 10,1 -; toolsrc/parse.pla: 0043: val1, size1, type1 = pop_val -; toolsrc/parse.pla: 0044: if type1 <> CONST_TYPE and type2 <> CONST_TYPE; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $54 ; CALL _C085 -_F845 !WORD _C085 - !BYTE $74,$09 ; SLB [9] - !BYTE $74,$07 ; SLB [7] - !BYTE $76,$04 ; SLW [4] - !BYTE $54 ; CALL _C085 -_F846 !WORD _C085 - !BYTE $74,$08 ; SLB [8] - !BYTE $74,$06 ; SLB [6] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$08 ; LLB [8] - !BYTE $02 ; CN 1 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B464 - !WORD _B464-* - !BYTE $64,$09 ; LLB [9] - !BYTE $02 ; CN 1 - !BYTE $42 ; ISNE -_B464 - !BYTE $4C ; BRFLS _B465 - !WORD _B465-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F847 !WORD _C002 -_B465 -_B466 -; toolsrc/parse.pla: 0045: when op - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B468-* -; toolsrc/parse.pla: 0046: is MUL_TKN -_B469 -; toolsrc/parse.pla: 0047: val1 = val1 * val2 -; toolsrc/parse.pla: 0048: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $86 ; MUL - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B467 - !WORD _B467-* -; toolsrc/parse.pla: 0049: is DIV_TKN -_B470 -; toolsrc/parse.pla: 0050: val1 = val1 / val2 -; toolsrc/parse.pla: 0051: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $88 ; DIV - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B467 - !WORD _B467-* -; toolsrc/parse.pla: 0052: is MOD_TKN -_B471 -; toolsrc/parse.pla: 0053: val1 = val1 % val2 -; toolsrc/parse.pla: 0054: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $8A ; MOD - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B467 - !WORD _B467-* -; toolsrc/parse.pla: 0055: is ADD_TKN -_B472 -; toolsrc/parse.pla: 0056: val1 = val1 + val2 -; toolsrc/parse.pla: 0057: break - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B467 - !WORD _B467-* -; toolsrc/parse.pla: 0058: is SUB_TKN -_B473 -; toolsrc/parse.pla: 0059: val1 = val1 - val2 -; toolsrc/parse.pla: 0060: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B467 - !WORD _B467-* -; toolsrc/parse.pla: 0061: is SHL_TKN -_B474 -; toolsrc/parse.pla: 0062: val1 = val1 << val2 -; toolsrc/parse.pla: 0063: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $9A ; SHL - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B467 - !WORD _B467-* -; toolsrc/parse.pla: 0064: is SHR_TKN -_B475 -; toolsrc/parse.pla: 0065: val1 = val1 >> val2 -; toolsrc/parse.pla: 0066: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $9C ; SHR - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B467 - !WORD _B467-* -; toolsrc/parse.pla: 0067: is AND_TKN -_B476 -; toolsrc/parse.pla: 0068: val1 = val1 & val2 -; toolsrc/parse.pla: 0069: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $94 ; AND - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B467 - !WORD _B467-* -; toolsrc/parse.pla: 0070: is OR_TKN -_B477 -; toolsrc/parse.pla: 0071: val1 = val1 | val2 -; toolsrc/parse.pla: 0072: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $96 ; OR - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B467 - !WORD _B467-* -; toolsrc/parse.pla: 0073: is EOR_TKN -_B478 -; toolsrc/parse.pla: 0074: val1 = val1 ^ val2 -; toolsrc/parse.pla: 0075: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $98 ; XOR - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B467 - !WORD _B467-* -; toolsrc/parse.pla: 0076: otherwise -_B468 - !BYTE $0A ; CASEBLOCK - !WORD $00A5 - !WORD _B471-* - !WORD $00A6 - !WORD _B476-* - !WORD $00AA - !WORD _B469-* - !WORD $00AB - !WORD _B472-* - !WORD $00AD - !WORD _B473-* - !WORD $00AF - !WORD _B470-* - !WORD $00CC - !WORD _B474-* - !WORD $00D2 - !WORD _B475-* - !WORD $00DE - !WORD _B478-* - !WORD $00FC - !WORD _B477-* -; toolsrc/parse.pla: 0077: exit_err(ERR_INVAL|ERR_CONST) -; toolsrc/parse.pla: 0078: wend - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F848 !WORD _C002 -_B467 -; toolsrc/parse.pla: 0079: if size2 > size1; size1 = size2; fin - !BYTE $64,$07 ; LLB [7] - !BYTE $64,$06 ; LLB [6] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B479 - !WORD _B479-* - !BYTE $64,$07 ; LLB [7] - !BYTE $74,$06 ; SLB [6] -_B479 -_B480 -; toolsrc/parse.pla: 0080: push_val(val1, size1, type1) -; toolsrc/parse.pla: 0081: end - !BYTE $66,$02 ; LLW [2] - !BYTE $64,$06 ; LLB [6] - !BYTE $64,$08 ; LLB [8] - !BYTE $54 ; CALL _C084 -_F849 !WORD _C084 - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/parse.pla: 0082: def parse_constterm -_C087 ; parse_constterm() -; toolsrc/parse.pla: 0083: -; toolsrc/parse.pla: 0084: when scan - !BYTE $54 ; CALL _C076 -_F850 !WORD _C076 - !BYTE $52 ; SEL - !WORD _B482-* -; toolsrc/parse.pla: 0085: is OPEN_PAREN_TKN -_B483 -; toolsrc/parse.pla: 0086: push_val(parse_constexpr) -; toolsrc/parse.pla: 0087: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $54 ; CALL _P002 -_F851 !WORD _P002 - !BYTE $54 ; CALL _C084 -_F852 !WORD _C084 - !BYTE $68 ; LAB _D098+0 -_F853 !WORD _D098+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B484 - !WORD _B484-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F854 !WORD _C002 -_B484 -_B485 -; toolsrc/parse.pla: 0088: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; toolsrc/parse.pla: 0089: is ID_TKN -_B486 -; toolsrc/parse.pla: 0090: is INT_TKN -_B487 -; toolsrc/parse.pla: 0091: is CHR_TKN -_B488 -; toolsrc/parse.pla: 0092: is STR_TKN -_B489 -; toolsrc/parse.pla: 0093: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; toolsrc/parse.pla: 0094: wend - !BYTE $50 ; BRNCH _B481 - !WORD _B481-* -_B482 - !BYTE $05 ; CASEBLOCK - !WORD $00A8 - !WORD _B483-* - !WORD $00C3 - !WORD _B488-* - !WORD $00C9 - !WORD _B487-* - !WORD $00D3 - !WORD _B489-* - !WORD $00D6 - !WORD _B486-* -_B481 -; toolsrc/parse.pla: 0095: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; toolsrc/parse.pla: 0096: end -; toolsrc/parse.pla: 0097: def parse_constval -_C088 ; parse_constval() -; toolsrc/parse.pla: 0098: byte mod, size - ; mod -> [0] - ; size -> [1] -; toolsrc/parse.pla: 0099: word type, idptr, value - ; type -> [2] - ; idptr -> [4] - ; value -> [6] -; toolsrc/parse.pla: 0100: -; toolsrc/parse.pla: 0101: mod = 0 - !BYTE $58,$08,$00 ; ENTER 8,0 -; toolsrc/parse.pla: 0102: while not parse_constterm - !BYTE $00 ; CN 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B492 - !WORD _B492-* -_B490 -; toolsrc/parse.pla: 0103: when token - !BYTE $68 ; LAB _D098+0 -_F855 !WORD _D098+0 - !BYTE $52 ; SEL - !WORD _B494-* -; toolsrc/parse.pla: 0104: is SUB_TKN -_B495 -; toolsrc/parse.pla: 0105: mod = mod | 1; break - !BYTE $64,$00 ; LLB [0] - !BYTE $3E,$01 ; ORI 1 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B493 - !WORD _B493-* -; toolsrc/parse.pla: 0106: is COMP_TKN -_B496 -; toolsrc/parse.pla: 0107: mod = mod | 2; break - !BYTE $64,$00 ; LLB [0] - !BYTE $3E,$02 ; ORI 2 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B493 - !WORD _B493-* -; toolsrc/parse.pla: 0108: is LOGIC_NOT_TKN -_B497 -; toolsrc/parse.pla: 0109: mod = mod | 4; break - !BYTE $64,$00 ; LLB [0] - !BYTE $3E,$04 ; ORI 4 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B493 - !WORD _B493-* -; toolsrc/parse.pla: 0110: is AT_TKN -_B498 -; toolsrc/parse.pla: 0111: mod = mod | 8; break - !BYTE $64,$00 ; LLB [0] - !BYTE $3E,$08 ; ORI 8 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B493 - !WORD _B493-* -; toolsrc/parse.pla: 0112: is ADD_TKN -_B499 -; toolsrc/parse.pla: 0113: break - !BYTE $50 ; BRNCH _B493 - !WORD _B493-* -; toolsrc/parse.pla: 0114: otherwise -_B494 - !BYTE $05 ; CASEBLOCK - !WORD $00A1 - !WORD _B497-* - !WORD $00AB - !WORD _B499-* - !WORD $00AD - !WORD _B495-* - !WORD $00C0 - !WORD _B498-* - !WORD $00FE - !WORD _B496-* -; toolsrc/parse.pla: 0115: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/parse.pla: 0116: wend -_B493 -; toolsrc/parse.pla: 0117: loop -_B492 - !BYTE $54 ; CALL _C087 -_F856 !WORD _C087 - !BYTE $4C ; BRFLS _B490 - !WORD _B490-* -_B491 -; toolsrc/parse.pla: 0118: when token - !BYTE $68 ; LAB _D098+0 -_F857 !WORD _D098+0 - !BYTE $52 ; SEL - !WORD _B501-* -; toolsrc/parse.pla: 0119: is CLOSE_PAREN_TKN -_B502 -; toolsrc/parse.pla: 0120: value, size, type = pop_val -; toolsrc/parse.pla: 0121: break - !BYTE $54 ; CALL _C085 -_F858 !WORD _C085 - !BYTE $76,$02 ; SLW [2] - !BYTE $74,$01 ; SLB [1] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B500 - !WORD _B500-* -; toolsrc/parse.pla: 0122: is STR_TKN -_B503 -; toolsrc/parse.pla: 0123: size = tknlen - 1 -; toolsrc/parse.pla: 0124: value = constval -; toolsrc/parse.pla: 0125: type = STR_TYPE -; toolsrc/parse.pla: 0126: if mod; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $68 ; LAB _D100+0 -_F859 !WORD _D100+0 - !BYTE $8E ; DECR - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D103+0 -_F860 !WORD _D103+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $2A,$80 ; CB 128 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$00 ; LLB [0] - !BYTE $4C ; BRFLS _B504 - !WORD _B504-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F861 !WORD _C002 -_B504 -_B505 -; toolsrc/parse.pla: 0127: break - !BYTE $50 ; BRNCH _B500 - !WORD _B500-* -; toolsrc/parse.pla: 0128: is CHR_TKN -_B506 -; toolsrc/parse.pla: 0129: size = 1 -; toolsrc/parse.pla: 0130: value = constval -; toolsrc/parse.pla: 0131: type = CONST_TYPE -; toolsrc/parse.pla: 0132: break - !BYTE $02 ; CN 1 - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D103+0 -_F862 !WORD _D103+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $02 ; CN 1 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B500 - !WORD _B500-* -; toolsrc/parse.pla: 0133: is INT_TKN -_B507 -; toolsrc/parse.pla: 0134: size = 2 -; toolsrc/parse.pla: 0135: value = constval -; toolsrc/parse.pla: 0136: type = CONST_TYPE -; toolsrc/parse.pla: 0137: break - !BYTE $04 ; CN 2 - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D103+0 -_F863 !WORD _D103+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $02 ; CN 1 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B500 - !WORD _B500-* -; toolsrc/parse.pla: 0138: is ID_TKN -_B508 -; toolsrc/parse.pla: 0139: size = 2 -; toolsrc/parse.pla: 0140: idptr = lookup_id(tknptr, tknlen) -; toolsrc/parse.pla: 0141: if not idptr; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $04 ; CN 2 - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D101+0 -_F864 !WORD _D101+0 - !BYTE $68 ; LAB _D100+0 -_F865 !WORD _D100+0 - !BYTE $54 ; CALL _C044 -_F866 !WORD _C044 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B509 - !WORD _B509-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F867 !WORD _C002 -_B509 -_B510 -; toolsrc/parse.pla: 0142: type = idptr=>idtype -; toolsrc/parse.pla: 0143: if type & (FUNC_TYPE|ADDR_TYPE) -; toolsrc/parse.pla: 0144: if mod <> 8; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6E,$02 ; DLW [2] - !BYTE $3C,$0E ; ANDI 14 - !BYTE $4C ; BRFLS _B511 - !WORD _B511-* - !BYTE $64,$00 ; LLB [0] - !BYTE $10 ; CN 8 - !BYTE $22 ; BREQ _B513 - !WORD _B513-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F868 !WORD _C002 -_B513 -_B514 -; toolsrc/parse.pla: 0145: type = CONSTADDR_TYPE -; toolsrc/parse.pla: 0146: elsif type <> CONST_TYPE - !BYTE $2A,$61 ; CB 97 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B512 - !WORD _B512-* -_B511 -; toolsrc/parse.pla: 0147: exit_err(ERR_INVAL|ERR_CONST) -; toolsrc/parse.pla: 0148: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $02 ; CN 1 - !BYTE $22 ; BREQ _B515 - !WORD _B515-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F869 !WORD _C002 -_B515 -_B512 -; toolsrc/parse.pla: 0149: value = idptr=>idval -; toolsrc/parse.pla: 0150: break - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B500 - !WORD _B500-* -; toolsrc/parse.pla: 0151: otherwise -_B501 - !BYTE $05 ; CASEBLOCK - !WORD $00A9 - !WORD _B502-* - !WORD $00C3 - !WORD _B506-* - !WORD $00C9 - !WORD _B507-* - !WORD $00D3 - !WORD _B503-* - !WORD $00D6 - !WORD _B508-* -; toolsrc/parse.pla: 0152: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/parse.pla: 0153: wend -_B500 -; toolsrc/parse.pla: 0154: if mod & 1 -; toolsrc/parse.pla: 0155: value = -value -; toolsrc/parse.pla: 0156: fin - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B516 - !WORD _B516-* - !BYTE $66,$06 ; LLW [6] - !BYTE $90 ; NEG - !BYTE $76,$06 ; SLW [6] -_B516 -_B517 -; toolsrc/parse.pla: 0157: if mod & 2 -; toolsrc/parse.pla: 0158: value = ~value -; toolsrc/parse.pla: 0159: fin - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B518 - !WORD _B518-* - !BYTE $66,$06 ; LLW [6] - !BYTE $92 ; COMP - !BYTE $76,$06 ; SLW [6] -_B518 -_B519 -; toolsrc/parse.pla: 0160: if mod & 4 -; toolsrc/parse.pla: 0161: value = !value -; toolsrc/parse.pla: 0162: fin - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B520 - !WORD _B520-* - !BYTE $66,$06 ; LLW [6] - !BYTE $80 ; NOT - !BYTE $76,$06 ; SLW [6] -_B520 -_B521 -; toolsrc/parse.pla: 0163: push_val(value, size, type) -; toolsrc/parse.pla: 0164: return TRUE - !BYTE $66,$06 ; LLW [6] - !BYTE $64,$01 ; LLB [1] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C084 -_F870 !WORD _C084 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/parse.pla: 0165: end -; toolsrc/parse.pla: 0166: def parse_constexpr#3 -_P002 ; parse_constexpr#3() -_C089 ; parse_constexpr() -; toolsrc/parse.pla: 0167: byte prevmatch, matchop, i - ; prevmatch -> [0] - ; matchop -> [1] - ; i -> [2] -; toolsrc/parse.pla: 0168: word optos - ; optos -> [3] -; toolsrc/parse.pla: 0169: -; toolsrc/parse.pla: 0170: matchop = 0 - !BYTE $58,$05,$00 ; ENTER 5,0 -; toolsrc/parse.pla: 0171: optos = opsp -; toolsrc/parse.pla: 0172: repeat - !BYTE $00 ; CN 0 - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D041+0 -_F871 !WORD _D041+0 - !BYTE $76,$03 ; SLW [3] -_B523 -; toolsrc/parse.pla: 0173: prevmatch = matchop -; toolsrc/parse.pla: 0174: matchop = 0 -; toolsrc/parse.pla: 0175: if parse_constval -; toolsrc/parse.pla: 0176: matchop = 1 -; toolsrc/parse.pla: 0177: scan -; toolsrc/parse.pla: 0178: for i = 0 to bops_tblsz - !BYTE $64,$01 ; LLB [1] - !BYTE $74,$00 ; SLB [0] - !BYTE $00 ; CN 0 - !BYTE $74,$01 ; SLB [1] - !BYTE $54 ; CALL _C088 -_F872 !WORD _C088 - !BYTE $4C ; BRFLS _B525 - !WORD _B525-* - !BYTE $02 ; CN 1 - !BYTE $74,$01 ; SLB [1] - !BYTE $54 ; CALL _C076 -_F873 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $2A,$11 ; CB 17 - !BYTE $00 ; CN 0 -_B528 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/parse.pla: 0179: if token == bops_tbl[i] -; toolsrc/parse.pla: 0180: matchop = 2 -; toolsrc/parse.pla: 0181: if bops_prec[i] >= tos_op_prec(optos) -; toolsrc/parse.pla: 0182: calc_binaryop(pop_op) -; toolsrc/parse.pla: 0183: fin - !BYTE $68 ; LAB _D098+0 -_F874 !WORD _D098+0 - !BYTE $26 ; LA _D037+0 -_F875 !WORD _D037+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B530 - !WORD _B530-* - !BYTE $04 ; CN 2 - !BYTE $74,$01 ; SLB [1] - !BYTE $26 ; LA _D038+0 -_F876 !WORD _D038+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $66,$03 ; LLW [3] - !BYTE $54 ; CALL _C083 -_F877 !WORD _C083 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B532 - !WORD _B532-* - !BYTE $54 ; CALL _C081 -_F878 !WORD _C081 - !BYTE $54 ; CALL _C086 -_F879 !WORD _C086 -_B532 -_B533 -; toolsrc/parse.pla: 0184: push_op(token, bops_prec[i]) -; toolsrc/parse.pla: 0185: break - !BYTE $68 ; LAB _D098+0 -_F880 !WORD _D098+0 - !BYTE $26 ; LA _D038+0 -_F881 !WORD _D038+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C080 -_F882 !WORD _C080 - !BYTE $50 ; BRNCH _B527 - !WORD _B527-* -; toolsrc/parse.pla: 0186: fin -_B530 -_B531 -; toolsrc/parse.pla: 0187: next -_B529 - !BYTE $A4 ; INCBRLE _B528 - !WORD _B528-* -_B527 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 0188: fin -_B525 -_B526 -; toolsrc/parse.pla: 0189: until matchop <> 2 -_B524 - !BYTE $64,$01 ; LLB [1] - !BYTE $04 ; CN 2 - !BYTE $22 ; BREQ _B523 - !WORD _B523-* -_B522 -; toolsrc/parse.pla: 0190: if matchop == 0 and prevmatch == 0; return 0, 0, 0; fin - !BYTE $64,$01 ; LLB [1] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B534 - !WORD _B534-* - !BYTE $64,$00 ; LLB [0] - !BYTE $80 ; NOT -_B534 - !BYTE $4C ; BRFLS _B535 - !WORD _B535-* - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -_B535 -_B536 -; toolsrc/parse.pla: 0191: if matchop == 0 and prevmatch == 2; exit_err(ERR_INVAL|ERR_SYNTAX); fin - !BYTE $64,$01 ; LLB [1] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B537 - !WORD _B537-* - !BYTE $64,$00 ; LLB [0] - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ -_B537 - !BYTE $4C ; BRFLS _B538 - !WORD _B538-* - !BYTE $2C,$04,$80 ; CW 32772 - !BYTE $54 ; CALL _C002 -_F883 !WORD _C002 -_B538 -_B539 -; toolsrc/parse.pla: 0192: while optos < opsp - !BYTE $50 ; BRNCH _B542 - !WORD _B542-* -_B540 -; toolsrc/parse.pla: 0193: calc_binaryop(pop_op) -; toolsrc/parse.pla: 0194: loop - !BYTE $54 ; CALL _C081 -_F884 !WORD _C081 - !BYTE $54 ; CALL _C086 -_F885 !WORD _C086 -_B542 - !BYTE $66,$03 ; LLW [3] - !BYTE $6A ; LAW _D041+0 -_F886 !WORD _D041+0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B540 - !WORD _B540-* -_B541 -; toolsrc/parse.pla: 0195: return pop_val - !BYTE $54 ; CALL _C085 -_F887 !WORD _C085 - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/parse.pla: 0196: end -; toolsrc/parse.pla: 0197: def parse_const(valptr) - ; valptr -> [0] -_C090 ; parse_const() -; toolsrc/parse.pla: 0198: word idptr - ; idptr -> [2] -; toolsrc/parse.pla: 0199: -; toolsrc/parse.pla: 0200: when scan - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $54 ; CALL _C076 -_F888 !WORD _C076 - !BYTE $52 ; SEL - !WORD _B544-* -; toolsrc/parse.pla: 0201: is CHR_TKN -_B545 -; toolsrc/parse.pla: 0202: is INT_TKN -_B546 -; toolsrc/parse.pla: 0203: *valptr = constval -; toolsrc/parse.pla: 0204: break - !BYTE $6A ; LAW _D103+0 -_F889 !WORD _D103+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B543 - !WORD _B543-* -; toolsrc/parse.pla: 0205: is ID_TKN -_B547 -; toolsrc/parse.pla: 0206: idptr = lookup_id(tknptr, tknlen) -; toolsrc/parse.pla: 0207: if idptr=>idtype & CONST_TYPE -; toolsrc/parse.pla: 0208: *valptr = idptr=>idval -; toolsrc/parse.pla: 0209: break - !BYTE $6A ; LAW _D101+0 -_F890 !WORD _D101+0 - !BYTE $68 ; LAB _D100+0 -_F891 !WORD _D100+0 - !BYTE $54 ; CALL _C044 -_F892 !WORD _C044 - !BYTE $6E,$02 ; DLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B548 - !WORD _B548-* - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B543 - !WORD _B543-* -; toolsrc/parse.pla: 0210: fin -_B548 -_B549 -; toolsrc/parse.pla: 0211: otherwise - !BYTE $50 ; BRNCH _B550 - !WORD _B550-* -_B544 - !BYTE $03 ; CASEBLOCK - !WORD $00C3 - !WORD _B545-* - !WORD $00C9 - !WORD _B546-* - !WORD $00D6 - !WORD _B547-* -_B550 -; toolsrc/parse.pla: 0212: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/parse.pla: 0213: wend -_B543 -; toolsrc/parse.pla: 0214: return CONST_TYPE - !BYTE $02 ; CN 1 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/parse.pla: 0215: end -; toolsrc/parse.pla: 0216: // -; toolsrc/parse.pla: 0217: // Normal expression parsing -; toolsrc/parse.pla: 0218: // -; toolsrc/parse.pla: 0219: def parse_list#2 -_C091 ; parse_list() -; toolsrc/parse.pla: 0220: byte listdepth, stackdepth - ; listdepth -> [0] - ; stackdepth -> [1] -; toolsrc/parse.pla: 0221: word listseq, exprseq - ; listseq -> [2] - ; exprseq -> [4] -; toolsrc/parse.pla: 0222: -; toolsrc/parse.pla: 0223: listseq = NULL - !BYTE $58,$06,$00 ; ENTER 6,0 -; toolsrc/parse.pla: 0224: listdepth = 0 -; toolsrc/parse.pla: 0225: repeat - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$00 ; SLB [0] -_B552 -; toolsrc/parse.pla: 0226: listseq, stackdepth = parse_expr(listseq) -; toolsrc/parse.pla: 0227: listdepth = listdepth + stackdepth -; toolsrc/parse.pla: 0228: until token <> COMMA_TKN - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _P003 -_F893 !WORD _P003 - !BYTE $74,$01 ; SLB [1] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$00 ; LLB [0] - !BYTE $B0,$01 ; ADDLB [1] - !BYTE $74,$00 ; SLB [0] -_B553 - !BYTE $68 ; LAB _D098+0 -_F894 !WORD _D098+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B552 - !WORD _B552-* -_B551 -; toolsrc/parse.pla: 0229: return listseq, listdepth - !BYTE $66,$02 ; LLW [2] - !BYTE $64,$00 ; LLB [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/parse.pla: 0230: end -; toolsrc/parse.pla: 0231: def parse_value(codeseq, r_val)#2 - ; codeseq -> [0] - ; r_val -> [2] -_C092 ; parse_value() -; toolsrc/parse.pla: 0232: byte cfnparms, cfnvals, stackdepth, operation - ; cfnparms -> [4] - ; cfnvals -> [5] - ; stackdepth -> [6] - ; operation -> [7] -; toolsrc/parse.pla: 0233: word deref, type, optos, idptr, value, const_offset - ; deref -> [8] - ; type -> [10] - ; optos -> [12] - ; idptr -> [14] - ; value -> [16] - ; const_offset -> [18] -; toolsrc/parse.pla: 0234: word uopseq, valseq, idxseq - ; uopseq -> [20] - ; valseq -> [22] - ; idxseq -> [24] -; toolsrc/parse.pla: 0235: -; toolsrc/parse.pla: 0236: deref = r_val - !BYTE $58,$1A,$02 ; ENTER 26,2 -; toolsrc/parse.pla: 0237: optos = opsp -; toolsrc/parse.pla: 0238: type = 0 -; toolsrc/parse.pla: 0239: value = 0 -; toolsrc/parse.pla: 0240: cfnparms = 0 -; toolsrc/parse.pla: 0241: cfnvals = 1 -; toolsrc/parse.pla: 0242: stackdepth = 1 -; toolsrc/parse.pla: 0243: uopseq = NULL -; toolsrc/parse.pla: 0244: valseq = NULL -; toolsrc/parse.pla: 0245: idxseq = NULL -; toolsrc/parse.pla: 0246: // -; toolsrc/parse.pla: 0247: // Parse pre-ops -; toolsrc/parse.pla: 0248: // -; toolsrc/parse.pla: 0249: operation = TRUE -; toolsrc/parse.pla: 0250: repeat - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $6A ; LAW _D041+0 -_F895 !WORD _D041+0 - !BYTE $76,$0C ; SLW [12] - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] - !BYTE $02 ; CN 1 - !BYTE $74,$06 ; SLB [6] - !BYTE $00 ; CN 0 - !BYTE $76,$14 ; SLW [20] - !BYTE $00 ; CN 0 - !BYTE $76,$16 ; SLW [22] - !BYTE $00 ; CN 0 - !BYTE $76,$18 ; SLW [24] - !BYTE $20 ; MINUS ONE - !BYTE $74,$07 ; SLB [7] -_B555 -; toolsrc/parse.pla: 0251: when scan - !BYTE $54 ; CALL _C076 -_F896 !WORD _C076 - !BYTE $52 ; SEL - !WORD _B558-* -; toolsrc/parse.pla: 0252: is NEG_TKN -_B559 -; toolsrc/parse.pla: 0253: is COMP_TKN -_B560 -; toolsrc/parse.pla: 0254: is LOGIC_NOT_TKN -_B561 -; toolsrc/parse.pla: 0255: uopseq = gen_uop(uopseq, token); -; toolsrc/parse.pla: 0256: is ADD_TKN - !BYTE $66,$14 ; LLW [20] - !BYTE $68 ; LAB _D098+0 -_F897 !WORD _D098+0 - !BYTE $54 ; CALL _C066 -_F898 !WORD _C066 - !BYTE $76,$14 ; SLW [20] -_B562 -; toolsrc/parse.pla: 0257: if not r_val; exit_err(ERR_INVAL|ERR_SYNTAX); fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B563 - !WORD _B563-* - !BYTE $2C,$04,$80 ; CW 32772 - !BYTE $54 ; CALL _C002 -_F899 !WORD _C002 -_B563 -_B564 -; toolsrc/parse.pla: 0258: break - !BYTE $50 ; BRNCH _B557 - !WORD _B557-* -; toolsrc/parse.pla: 0259: is BPTR_TKN -_B565 -; toolsrc/parse.pla: 0260: is WPTR_TKN -_B566 -; toolsrc/parse.pla: 0261: if type & BPTR_TYPE; exit_err(ERR_INVAL|ERR_SYNTAX); fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B567 - !WORD _B567-* - !BYTE $2C,$04,$80 ; CW 32772 - !BYTE $54 ; CALL _C002 -_F900 !WORD _C002 -_B567 -_B568 -; toolsrc/parse.pla: 0262: type = token == BPTR_TKN ?? BPTR_TYPE :: WPTR_TYPE -; toolsrc/parse.pla: 0263: deref++ - !BYTE $68 ; LAB _D098+0 -_F901 !WORD _D098+0 - !BYTE $2A,$DE ; CB 222 - !BYTE $24 ; BRNE _B569 - !WORD _B569-* - !BYTE $2A,$20 ; CB 32 - !BYTE $50 ; BRNCH _B570 - !WORD _B570-* -_B569 - !BYTE $2A,$40 ; CB 64 -_B570 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0264: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B557 - !WORD _B557-* -; toolsrc/parse.pla: 0265: is AT_TKN -_B571 -; toolsrc/parse.pla: 0266: if not deref; exit_err(ERR_INVAL|ERR_SYNTAX); fin - !BYTE $66,$08 ; LLW [8] - !BYTE $4E ; BRTRU _B572 - !WORD _B572-* - !BYTE $2C,$04,$80 ; CW 32772 - !BYTE $54 ; CALL _C002 -_F902 !WORD _C002 -_B572 -_B573 -; toolsrc/parse.pla: 0267: deref-- - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0268: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B557 - !WORD _B557-* -; toolsrc/parse.pla: 0269: otherwise -_B558 - !BYTE $07 ; CASEBLOCK - !WORD $00A1 - !WORD _B561-* - !WORD $00AA - !WORD _B566-* - !WORD $00AB - !WORD _B562-* - !WORD $00AD - !WORD _B559-* - !WORD $00C0 - !WORD _B571-* - !WORD $00DE - !WORD _B565-* - !WORD $00FE - !WORD _B560-* -; toolsrc/parse.pla: 0270: operation = FALSE -; toolsrc/parse.pla: 0271: wend - !BYTE $00 ; CN 0 - !BYTE $74,$07 ; SLB [7] -_B557 -; toolsrc/parse.pla: 0272: until not operation -_B556 - !BYTE $64,$07 ; LLB [7] - !BYTE $4E ; BRTRU _B555 - !WORD _B555-* -_B554 -; toolsrc/parse.pla: 0273: // -; toolsrc/parse.pla: 0274: // Determine terminal type -; toolsrc/parse.pla: 0275: // -; toolsrc/parse.pla: 0276: when token - !BYTE $68 ; LAB _D098+0 -_F903 !WORD _D098+0 - !BYTE $52 ; SEL - !WORD _B575-* -; toolsrc/parse.pla: 0277: is ID_TKN -_B576 -; toolsrc/parse.pla: 0278: idptr = lookup_id(tknptr, tknlen) -; toolsrc/parse.pla: 0279: if not idptr; return codeseq, 0; fin - !BYTE $6A ; LAW _D101+0 -_F904 !WORD _D101+0 - !BYTE $68 ; LAB _D100+0 -_F905 !WORD _D100+0 - !BYTE $54 ; CALL _C044 -_F906 !WORD _C044 - !BYTE $6E,$0E ; DLW [14] - !BYTE $4E ; BRTRU _B577 - !WORD _B577-* - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -_B577 -_B578 -; toolsrc/parse.pla: 0280: if not idptr=>idtype; return codeseq, 0; fin // DEBUG - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B579 - !WORD _B579-* - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -_B579 -_B580 -; toolsrc/parse.pla: 0281: type = type | idptr=>idtype -; toolsrc/parse.pla: 0282: value = idptr=>idval -; toolsrc/parse.pla: 0283: if type & CONST_TYPE -; toolsrc/parse.pla: 0284: valseq = gen_const(NULL, value) -; toolsrc/parse.pla: 0285: deref-- - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $96 ; OR - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$0E ; LLW [14] - !BYTE $62 ; LW - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B581 - !WORD _B581-* - !BYTE $00 ; CN 0 - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C060 -_F907 !WORD _C060 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0286: else - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B582 - !WORD _B582-* -_B581 -; toolsrc/parse.pla: 0287: valseq = type & LOCAL_TYPE ?? gen_oplcl(NULL, LADDR_CODE, value) :: gen_opglbl(NULL, GADDR_CODE, value, 0) -; toolsrc/parse.pla: 0288: if type & FUNC_TYPE -; toolsrc/parse.pla: 0289: cfnparms = idptr->funcparms -; toolsrc/parse.pla: 0290: cfnvals = idptr->funcvals -; toolsrc/parse.pla: 0291: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B583 - !WORD _B583-* - !BYTE $00 ; CN 0 - !BYTE $2A,$28 ; CB 40 - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C062 -_F908 !WORD _C062 - !BYTE $50 ; BRNCH _B584 - !WORD _B584-* -_B583 - !BYTE $00 ; CN 0 - !BYTE $2A,$26 ; CB 38 - !BYTE $66,$10 ; LLW [16] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C063 -_F909 !WORD _C063 -_B584 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B585 - !WORD _B585-* - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $74,$05 ; SLB [5] -_B585 -_B586 -; toolsrc/parse.pla: 0292: fin -_B582 -; toolsrc/parse.pla: 0293: break - !BYTE $50 ; BRNCH _B574 - !WORD _B574-* -; toolsrc/parse.pla: 0294: is INT_TKN -_B587 -; toolsrc/parse.pla: 0295: is CHR_TKN -_B588 -; toolsrc/parse.pla: 0296: value = constval -; toolsrc/parse.pla: 0297: valseq = gen_const(NULL, value) -; toolsrc/parse.pla: 0298: deref-- - !BYTE $6A ; LAW _D103+0 -_F910 !WORD _D103+0 - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C060 -_F911 !WORD _C060 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0299: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B574 - !WORD _B574-* -; toolsrc/parse.pla: 0300: is STR_TKN -_B589 -; toolsrc/parse.pla: 0301: codeseq = gen_str(codeseq, constval) -; toolsrc/parse.pla: 0302: scan -; toolsrc/parse.pla: 0303: return codeseq, stackdepth // Special case return - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D103+0 -_F912 !WORD _D103+0 - !BYTE $54 ; CALL _C061 -_F913 !WORD _C061 - !BYTE $76,$00 ; SLW [0] - !BYTE $54 ; CALL _C076 -_F914 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$1A ; LEAVE 26 -; toolsrc/parse.pla: 0304: break - !BYTE $50 ; BRNCH _B574 - !WORD _B574-* -; toolsrc/parse.pla: 0305: is OPEN_PAREN_TKN -_B590 -; toolsrc/parse.pla: 0306: valseq, stackdepth = parse_expr(NULL) -; toolsrc/parse.pla: 0307: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _P003 -_F915 !WORD _P003 - !BYTE $74,$06 ; SLB [6] - !BYTE $76,$16 ; SLW [22] - !BYTE $68 ; LAB _D098+0 -_F916 !WORD _D098+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B591 - !WORD _B591-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F917 !WORD _C002 -_B591 -_B592 -; toolsrc/parse.pla: 0308: deref-- - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0309: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B574 - !WORD _B574-* -; toolsrc/parse.pla: 0310: is DROP_TKN -_B593 -; toolsrc/parse.pla: 0311: if r_val; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B594 - !WORD _B594-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F918 !WORD _C002 -_B594 -_B595 -; toolsrc/parse.pla: 0312: codeseq = gen_op(codeseq, DROP_CODE) -; toolsrc/parse.pla: 0313: scan -; toolsrc/parse.pla: 0314: return codeseq, 0 // Special case return - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F919 !WORD _C059 - !BYTE $76,$00 ; SLW [0] - !BYTE $54 ; CALL _C076 -_F920 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -; toolsrc/parse.pla: 0315: is LAMBDA_TKN -_B596 -; toolsrc/parse.pla: 0316: if not r_val; return codeseq, 0; fin // Lambdas can't be LVALUES - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B597 - !WORD _B597-* - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -_B597 -_B598 -; toolsrc/parse.pla: 0317: value = parse_lambda -; toolsrc/parse.pla: 0318: valseq = gen_opglbl(NULL, GADDR_CODE, value, 0) -; toolsrc/parse.pla: 0319: deref-- - !BYTE $54 ; CALL _P004 -_F921 !WORD _P004 - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $2A,$26 ; CB 38 - !BYTE $66,$10 ; LLW [16] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C063 -_F922 !WORD _C063 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0320: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B574 - !WORD _B574-* -; toolsrc/parse.pla: 0321: otherwise -_B575 - !BYTE $07 ; CASEBLOCK - !WORD $00A6 - !WORD _B596-* - !WORD $00A8 - !WORD _B590-* - !WORD $00BB - !WORD _B593-* - !WORD $00C3 - !WORD _B588-* - !WORD $00C9 - !WORD _B587-* - !WORD $00D3 - !WORD _B589-* - !WORD $00D6 - !WORD _B576-* -; toolsrc/parse.pla: 0322: if uopseq; release_seq(uopseq); fin - !BYTE $66,$14 ; LLW [20] - !BYTE $4C ; BRFLS _B599 - !WORD _B599-* - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C007 -_F923 !WORD _C007 -_B599 -_B600 -; toolsrc/parse.pla: 0323: if codeseq; release_seq(codeseq); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B601 - !WORD _B601-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C007 -_F924 !WORD _C007 -_B601 -_B602 -; toolsrc/parse.pla: 0324: return NULL, 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -; toolsrc/parse.pla: 0325: wend -_B574 -; toolsrc/parse.pla: 0326: // -; toolsrc/parse.pla: 0327: // Parse post-ops -; toolsrc/parse.pla: 0328: // -; toolsrc/parse.pla: 0329: operation = TRUE -; toolsrc/parse.pla: 0330: repeat - !BYTE $20 ; MINUS ONE - !BYTE $74,$07 ; SLB [7] -_B604 -; toolsrc/parse.pla: 0331: when scan - !BYTE $54 ; CALL _C076 -_F925 !WORD _C076 - !BYTE $52 ; SEL - !WORD _B607-* -; toolsrc/parse.pla: 0332: is OPEN_PAREN_TKN -_B608 -; toolsrc/parse.pla: 0333: // -; toolsrc/parse.pla: 0334: // Function call - parameters generate before call address -; toolsrc/parse.pla: 0335: // -; toolsrc/parse.pla: 0336: idxseq, value = parse_list -; toolsrc/parse.pla: 0337: valseq = cat_seq(idxseq, valseq) -; toolsrc/parse.pla: 0338: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $54 ; CALL _C091 -_F926 !WORD _C091 - !BYTE $76,$10 ; SLW [16] - !BYTE $6E,$18 ; DLW [24] - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C008 -_F927 !WORD _C008 - !BYTE $76,$16 ; SLW [22] - !BYTE $68 ; LAB _D098+0 -_F928 !WORD _D098+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B609 - !WORD _B609-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F929 !WORD _C002 -_B609 -_B610 -; toolsrc/parse.pla: 0339: if type & FUNC_TYPE // Can't check parm count on function pointers -; toolsrc/parse.pla: 0340: if cfnparms <> value; exit_err(ERR_MISS|ERR_ID); fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B611 - !WORD _B611-* - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$10 ; LLW [16] - !BYTE $22 ; BREQ _B613 - !WORD _B613-* - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F930 !WORD _C002 -_B613 -_B614 -; toolsrc/parse.pla: 0341: else - !BYTE $50 ; BRNCH _B612 - !WORD _B612-* -_B611 -; toolsrc/parse.pla: 0342: if scan == POUND_TKN // Set function pointer return vals count - can't do this to regular function call -; toolsrc/parse.pla: 0343: if not parse_const(@value); exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $54 ; CALL _C076 -_F931 !WORD _C076 - !BYTE $2A,$A3 ; CB 163 - !BYTE $24 ; BRNE _B615 - !WORD _B615-* - !BYTE $28,$10 ; LLA [16] - !BYTE $54 ; CALL _C090 -_F932 !WORD _C090 - !BYTE $4E ; BRTRU _B617 - !WORD _B617-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F933 !WORD _C002 -_B617 -_B618 -; toolsrc/parse.pla: 0344: cfnvals = value -; toolsrc/parse.pla: 0345: else - !BYTE $66,$10 ; LLW [16] - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B616 - !WORD _B616-* -_B615 -; toolsrc/parse.pla: 0346: rewind(tknptr) -; toolsrc/parse.pla: 0347: fin - !BYTE $6A ; LAW _D101+0 -_F934 !WORD _D101+0 - !BYTE $54 ; CALL _C077 -_F935 !WORD _C077 -_B616 -; toolsrc/parse.pla: 0348: if type & WORD_TYPE -; toolsrc/parse.pla: 0349: valseq = gen_op(valseq, LW_CODE) -; toolsrc/parse.pla: 0350: elsif type & BYTE_TYPE - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B619 - !WORD _B619-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$62 ; CB 98 - !BYTE $54 ; CALL _C059 -_F936 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B620 - !WORD _B620-* -_B619 -; toolsrc/parse.pla: 0351: exit_err(ERR_INVAL|ERR_CODE) -; toolsrc/parse.pla: 0352: else - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B621 - !WORD _B621-* - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $54 ; CALL _C002 -_F937 !WORD _C002 - !BYTE $50 ; BRNCH _B620 - !WORD _B620-* -_B621 -; toolsrc/parse.pla: 0353: deref++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0354: fin - !BYTE $76,$08 ; SLW [8] -_B620 -; toolsrc/parse.pla: 0355: fin -_B612 -; toolsrc/parse.pla: 0356: valseq = gen_op(valseq, ICAL_CODE) -; toolsrc/parse.pla: 0357: stackdepth = stackdepth + cfnvals - 1 -; toolsrc/parse.pla: 0358: cfnparms = 0 -; toolsrc/parse.pla: 0359: cfnvals = 1 -; toolsrc/parse.pla: 0360: type = type & PTR_TYPE -; toolsrc/parse.pla: 0361: deref-- - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$56 ; CB 86 - !BYTE $54 ; CALL _C059 -_F938 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $64,$06 ; LLB [6] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $8E ; DECR - !BYTE $74,$06 ; SLB [6] - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$60 ; ANDI 96 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0362: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B606 - !WORD _B606-* -; toolsrc/parse.pla: 0363: is OPEN_BRACKET_TKN -_B622 -; toolsrc/parse.pla: 0364: // -; toolsrc/parse.pla: 0365: // Array of arrays -; toolsrc/parse.pla: 0366: // -; toolsrc/parse.pla: 0367: if type & FUNC_TYPE // Function address dereference -; toolsrc/parse.pla: 0368: cfnparms = 0 -; toolsrc/parse.pla: 0369: cfnvals = 1 -; toolsrc/parse.pla: 0370: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B623 - !WORD _B623-* - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] -_B623 -_B624 -; toolsrc/parse.pla: 0371: repeat -_B626 -; toolsrc/parse.pla: 0372: valseq, drop = parse_expr(valseq) -; toolsrc/parse.pla: 0373: if token <> COMMA_TKN; break; fin - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _P003 -_F939 !WORD _P003 - !BYTE $30 ; DROP - !BYTE $76,$16 ; SLW [22] - !BYTE $68 ; LAB _D098+0 -_F940 !WORD _D098+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B628 - !WORD _B628-* - !BYTE $50 ; BRNCH _B625 - !WORD _B625-* -_B628 -_B629 -; toolsrc/parse.pla: 0374: valseq = gen_op(valseq, INDEXW_CODE) -; toolsrc/parse.pla: 0375: valseq = gen_op(valseq, LW_CODE) // Multi-dimenstion arrays are array pointers to arrays -; toolsrc/parse.pla: 0376: until FALSE - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$9E ; CB 158 - !BYTE $54 ; CALL _C059 -_F941 !WORD _C059 - !BYTE $6E,$16 ; DLW [22] - !BYTE $2A,$62 ; CB 98 - !BYTE $54 ; CALL _C059 -_F942 !WORD _C059 - !BYTE $76,$16 ; SLW [22] -_B627 - !BYTE $50 ; BRNCH _B626 - !WORD _B626-* -_B625 -; toolsrc/parse.pla: 0377: if token <> CLOSE_BRACKET_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D098+0 -_F943 !WORD _D098+0 - !BYTE $2A,$DD ; CB 221 - !BYTE $22 ; BREQ _B630 - !WORD _B630-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F944 !WORD _C002 -_B630 -_B631 -; toolsrc/parse.pla: 0378: if type & WORD_TYPE -; toolsrc/parse.pla: 0379: valseq = gen_op(valseq, INDEXW_CODE) -; toolsrc/parse.pla: 0380: else - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B632 - !WORD _B632-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$9E ; CB 158 - !BYTE $54 ; CALL _C059 -_F945 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B633 - !WORD _B633-* -_B632 -; toolsrc/parse.pla: 0381: valseq = gen_op(valseq, INDEXB_CODE) -; toolsrc/parse.pla: 0382: if not (type & BYTE_TYPE) -; toolsrc/parse.pla: 0383: type = (type & PTR_TYPE) | BYTE_TYPE -; toolsrc/parse.pla: 0384: deref++ - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$82 ; CB 130 - !BYTE $54 ; CALL _C059 -_F946 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4E ; BRTRU _B634 - !WORD _B634-* - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$60 ; ANDI 96 - !BYTE $3E,$02 ; ORI 2 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0385: fin - !BYTE $76,$08 ; SLW [8] -_B634 -_B635 -; toolsrc/parse.pla: 0386: fin -_B633 -; toolsrc/parse.pla: 0387: break - !BYTE $50 ; BRNCH _B606 - !WORD _B606-* -; toolsrc/parse.pla: 0388: is PTRB_TKN -_B636 -; toolsrc/parse.pla: 0389: is PTRW_TKN -_B637 -; toolsrc/parse.pla: 0390: // -; toolsrc/parse.pla: 0391: // Structure member pointer -; toolsrc/parse.pla: 0392: // -; toolsrc/parse.pla: 0393: if type & FUNC_TYPE // Function call dereference -; toolsrc/parse.pla: 0394: if cfnparms; exit_err(ERR_MISS|ERR_ID); fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B638 - !WORD _B638-* - !BYTE $64,$04 ; LLB [4] - !BYTE $4C ; BRFLS _B640 - !WORD _B640-* - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F947 !WORD _C002 -_B640 -_B641 -; toolsrc/parse.pla: 0395: valseq = gen_op(valseq, ICAL_CODE) -; toolsrc/parse.pla: 0396: stackdepth = stackdepth + cfnvals - 1 -; toolsrc/parse.pla: 0397: cfnparms = 0 -; toolsrc/parse.pla: 0398: cfnvals = 1 -; toolsrc/parse.pla: 0399: elsif type & WORD_TYPE - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$56 ; CB 86 - !BYTE $54 ; CALL _C059 -_F948 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $64,$06 ; LLB [6] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $8E ; DECR - !BYTE $74,$06 ; SLB [6] - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B639 - !WORD _B639-* -_B638 -; toolsrc/parse.pla: 0400: valseq = gen_op(valseq, LW_CODE) // Pointer dereference -; toolsrc/parse.pla: 0401: elsif type & BYTE_TYPE - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B642 - !WORD _B642-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$62 ; CB 98 - !BYTE $54 ; CALL _C059 -_F949 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B639 - !WORD _B639-* -_B642 -; toolsrc/parse.pla: 0402: exit_err(ERR_INVAL|ERR_CODE) -; toolsrc/parse.pla: 0403: else - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B643 - !WORD _B643-* - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $54 ; CALL _C002 -_F950 !WORD _C002 - !BYTE $50 ; BRNCH _B639 - !WORD _B639-* -_B643 -; toolsrc/parse.pla: 0404: deref++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0405: fin - !BYTE $76,$08 ; SLW [8] -_B639 -; toolsrc/parse.pla: 0406: type = token == PTRB_TKN ?? BYTE_TYPE :: WORD_TYPE -; toolsrc/parse.pla: 0407: if not parse_const(@const_offset) -; toolsrc/parse.pla: 0408: rewind(tknptr) // Setting type override for following operations -; toolsrc/parse.pla: 0409: elsif const_offset <> 0 - !BYTE $68 ; LAB _D098+0 -_F951 !WORD _D098+0 - !BYTE $2A,$D8 ; CB 216 - !BYTE $24 ; BRNE _B644 - !WORD _B644-* - !BYTE $04 ; CN 2 - !BYTE $50 ; BRNCH _B645 - !WORD _B645-* -_B644 - !BYTE $08 ; CN 4 -_B645 - !BYTE $76,$0A ; SLW [10] - !BYTE $28,$12 ; LLA [18] - !BYTE $54 ; CALL _C090 -_F952 !WORD _C090 - !BYTE $4E ; BRTRU _B646 - !WORD _B646-* - !BYTE $6A ; LAW _D101+0 -_F953 !WORD _D101+0 - !BYTE $54 ; CALL _C077 -_F954 !WORD _C077 - !BYTE $50 ; BRNCH _B647 - !WORD _B647-* -_B646 -; toolsrc/parse.pla: 0410: valseq = gen_const(valseq, const_offset) // Structure member pointer -; toolsrc/parse.pla: 0411: valseq = gen_op(valseq, ADD_CODE) -; toolsrc/parse.pla: 0412: fin - !BYTE $66,$12 ; LLW [18] - !BYTE $4C ; BRFLS _B648 - !WORD _B648-* - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _C060 -_F955 !WORD _C060 - !BYTE $6E,$16 ; DLW [22] - !BYTE $2A,$82 ; CB 130 - !BYTE $54 ; CALL _C059 -_F956 !WORD _C059 - !BYTE $76,$16 ; SLW [22] -_B648 -_B647 -; toolsrc/parse.pla: 0413: break - !BYTE $50 ; BRNCH _B606 - !WORD _B606-* -; toolsrc/parse.pla: 0414: is DOT_TKN -_B649 -; toolsrc/parse.pla: 0415: is COLON_TKN -_B650 -; toolsrc/parse.pla: 0416: // -; toolsrc/parse.pla: 0417: // Structure member offset -; toolsrc/parse.pla: 0418: // -; toolsrc/parse.pla: 0419: if type & FUNC_TYPE // Function address dereference -; toolsrc/parse.pla: 0420: cfnparms = 0 -; toolsrc/parse.pla: 0421: cfnvals = 1 -; toolsrc/parse.pla: 0422: elsif not (type & VAR_TYPE) - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B651 - !WORD _B651-* - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B652 - !WORD _B652-* -_B651 -; toolsrc/parse.pla: 0423: deref++ - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$06 ; ANDI 6 - !BYTE $4E ; BRTRU _B653 - !WORD _B653-* - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0424: fin - !BYTE $76,$08 ; SLW [8] -_B653 -_B652 -; toolsrc/parse.pla: 0425: type = token == DOT_TKN ?? BYTE_TYPE :: WORD_TYPE -; toolsrc/parse.pla: 0426: if not parse_const(@const_offset) -; toolsrc/parse.pla: 0427: rewind(tknptr) // Setting type override for following operations -; toolsrc/parse.pla: 0428: elsif const_offset <> 0 - !BYTE $68 ; LAB _D098+0 -_F957 !WORD _D098+0 - !BYTE $2A,$AE ; CB 174 - !BYTE $24 ; BRNE _B654 - !WORD _B654-* - !BYTE $04 ; CN 2 - !BYTE $50 ; BRNCH _B655 - !WORD _B655-* -_B654 - !BYTE $08 ; CN 4 -_B655 - !BYTE $76,$0A ; SLW [10] - !BYTE $28,$12 ; LLA [18] - !BYTE $54 ; CALL _C090 -_F958 !WORD _C090 - !BYTE $4E ; BRTRU _B656 - !WORD _B656-* - !BYTE $6A ; LAW _D101+0 -_F959 !WORD _D101+0 - !BYTE $54 ; CALL _C077 -_F960 !WORD _C077 - !BYTE $50 ; BRNCH _B657 - !WORD _B657-* -_B656 -; toolsrc/parse.pla: 0429: valseq = gen_const(valseq, const_offset) // Structure member offset -; toolsrc/parse.pla: 0430: valseq = gen_op(valseq, ADD_CODE) -; toolsrc/parse.pla: 0431: fin - !BYTE $66,$12 ; LLW [18] - !BYTE $4C ; BRFLS _B658 - !WORD _B658-* - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _C060 -_F961 !WORD _C060 - !BYTE $6E,$16 ; DLW [22] - !BYTE $2A,$82 ; CB 130 - !BYTE $54 ; CALL _C059 -_F962 !WORD _C059 - !BYTE $76,$16 ; SLW [22] -_B658 -_B657 -; toolsrc/parse.pla: 0432: break - !BYTE $50 ; BRNCH _B606 - !WORD _B606-* -; toolsrc/parse.pla: 0433: otherwise -_B607 - !BYTE $06 ; CASEBLOCK - !WORD $00A8 - !WORD _B608-* - !WORD $00AE - !WORD _B649-* - !WORD $00BA - !WORD _B650-* - !WORD $00D7 - !WORD _B637-* - !WORD $00D8 - !WORD _B636-* - !WORD $00DB - !WORD _B622-* -; toolsrc/parse.pla: 0434: operation = FALSE -; toolsrc/parse.pla: 0435: wend - !BYTE $00 ; CN 0 - !BYTE $74,$07 ; SLB [7] -_B606 -; toolsrc/parse.pla: 0436: until not operation -_B605 - !BYTE $64,$07 ; LLB [7] - !BYTE $4E ; BRTRU _B604 - !WORD _B604-* -_B603 -; toolsrc/parse.pla: 0437: // -; toolsrc/parse.pla: 0438: //Probably parsing RVALUE as LVALUE -; toolsrc/parse.pla: 0439: // -; toolsrc/parse.pla: 0440: if deref < 0 -; toolsrc/parse.pla: 0441: release_seq(valseq) -; toolsrc/parse.pla: 0442: release_seq(uopseq) -; toolsrc/parse.pla: 0443: return codeseq, 0 - !BYTE $66,$08 ; LLW [8] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B659 - !WORD _B659-* - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C007 -_F963 !WORD _C007 - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C007 -_F964 !WORD _C007 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -; toolsrc/parse.pla: 0444: fin -_B659 -_B660 -; toolsrc/parse.pla: 0445: // -; toolsrc/parse.pla: 0446: // Resolve outstanding dereference pointer loads -; toolsrc/parse.pla: 0447: // -; toolsrc/parse.pla: 0448: while deref > r_val - !BYTE $50 ; BRNCH _B663 - !WORD _B663-* -_B661 -; toolsrc/parse.pla: 0449: if type & FUNC_TYPE -; toolsrc/parse.pla: 0450: if cfnparms; exit_err(ERR_MISS|ERR_ID); fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B664 - !WORD _B664-* - !BYTE $64,$04 ; LLB [4] - !BYTE $4C ; BRFLS _B666 - !WORD _B666-* - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F965 !WORD _C002 -_B666 -_B667 -; toolsrc/parse.pla: 0451: valseq = gen_op(valseq, ICAL_CODE) -; toolsrc/parse.pla: 0452: stackdepth = stackdepth + cfnvals - 1 -; toolsrc/parse.pla: 0453: cfnparms = 0 -; toolsrc/parse.pla: 0454: cfnvals = 1 -; toolsrc/parse.pla: 0455: type = type & ~FUNC_TYPE; -; toolsrc/parse.pla: 0456: else - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$56 ; CB 86 - !BYTE $54 ; CALL _C059 -_F966 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $64,$06 ; LLB [6] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $8E ; DECR - !BYTE $74,$06 ; SLB [6] - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$0A ; LLW [10] - !BYTE $5E,$F7 ; CFFB -9 - !BYTE $94 ; AND - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B665 - !WORD _B665-* -_B664 -; toolsrc/parse.pla: 0457: valseq = gen_op(valseq, LW_CODE) -; toolsrc/parse.pla: 0458: fin - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$62 ; CB 98 - !BYTE $54 ; CALL _C059 -_F967 !WORD _C059 - !BYTE $76,$16 ; SLW [22] -_B665 -; toolsrc/parse.pla: 0459: deref-- - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0460: loop - !BYTE $76,$08 ; SLW [8] -_B663 - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B661 - !WORD _B661-* -_B662 -; toolsrc/parse.pla: 0461: if deref -; toolsrc/parse.pla: 0462: if type & FUNC_TYPE -; toolsrc/parse.pla: 0463: if cfnparms; exit_err(ERR_MISS|ERR_ID); fin - !BYTE $66,$08 ; LLW [8] - !BYTE $4C ; BRFLS _B668 - !WORD _B668-* - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B670 - !WORD _B670-* - !BYTE $64,$04 ; LLB [4] - !BYTE $4C ; BRFLS _B672 - !WORD _B672-* - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F968 !WORD _C002 -_B672 -_B673 -; toolsrc/parse.pla: 0464: valseq = gen_op(valseq, ICAL_CODE) -; toolsrc/parse.pla: 0465: stackdepth = stackdepth + cfnvals - 1 -; toolsrc/parse.pla: 0466: type = type & ~FUNC_TYPE -; toolsrc/parse.pla: 0467: elsif type & (BPTR_TYPE) // Prefer the pointer type. - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$56 ; CB 86 - !BYTE $54 ; CALL _C059 -_F969 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $64,$06 ; LLB [6] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $8E ; DECR - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$0A ; LLW [10] - !BYTE $5E,$F7 ; CFFB -9 - !BYTE $94 ; AND - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B671 - !WORD _B671-* -_B670 -; toolsrc/parse.pla: 0468: valseq = gen_op(valseq, LB_CODE) -; toolsrc/parse.pla: 0469: elsif type & (WPTR_TYPE) - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B674 - !WORD _B674-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$60 ; CB 96 - !BYTE $54 ; CALL _C059 -_F970 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B671 - !WORD _B671-* -_B674 -; toolsrc/parse.pla: 0470: valseq = gen_op(valseq, LW_CODE) -; toolsrc/parse.pla: 0471: elsif type & (BYTE_TYPE) - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B675 - !WORD _B675-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$62 ; CB 98 - !BYTE $54 ; CALL _C059 -_F971 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B671 - !WORD _B671-* -_B675 -; toolsrc/parse.pla: 0472: valseq = gen_op(valseq, LB_CODE) -; toolsrc/parse.pla: 0473: elsif type & (WORD_TYPE) - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B676 - !WORD _B676-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$60 ; CB 96 - !BYTE $54 ; CALL _C059 -_F972 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B671 - !WORD _B671-* -_B676 -; toolsrc/parse.pla: 0474: valseq = gen_op(valseq, LW_CODE) -; toolsrc/parse.pla: 0475: else - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B677 - !WORD _B677-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$62 ; CB 98 - !BYTE $54 ; CALL _C059 -_F973 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B671 - !WORD _B671-* -_B677 -; toolsrc/parse.pla: 0476: exit_err(ERR_INVAL|ERR_CODE) -; toolsrc/parse.pla: 0477: fin - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $54 ; CALL _C002 -_F974 !WORD _C002 -_B671 -; toolsrc/parse.pla: 0478: fin -_B668 -_B669 -; toolsrc/parse.pla: 0479: // -; toolsrc/parse.pla: 0480: // Output pre-operations -; toolsrc/parse.pla: 0481: // -; toolsrc/parse.pla: 0482: valseq = cat_seq(valseq, uopseq) -; toolsrc/parse.pla: 0483: // -; toolsrc/parse.pla: 0484: // Wrap up LVALUE store -; toolsrc/parse.pla: 0485: // -; toolsrc/parse.pla: 0486: if not r_val -; toolsrc/parse.pla: 0487: if type & (BYTE_TYPE | BPTR_TYPE) -; toolsrc/parse.pla: 0488: valseq = gen_op(valseq, SB_CODE) -; toolsrc/parse.pla: 0489: elsif type & (WORD_TYPE | WPTR_TYPE) - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C008 -_F975 !WORD _C008 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B678 - !WORD _B678-* - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$22 ; ANDI 34 - !BYTE $4C ; BRFLS _B680 - !WORD _B680-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$70 ; CB 112 - !BYTE $54 ; CALL _C059 -_F976 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B681 - !WORD _B681-* -_B680 -; toolsrc/parse.pla: 0490: valseq = gen_op(valseq, SW_CODE) -; toolsrc/parse.pla: 0491: else - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$44 ; ANDI 68 - !BYTE $4C ; BRFLS _B682 - !WORD _B682-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$72 ; CB 114 - !BYTE $54 ; CALL _C059 -_F977 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B681 - !WORD _B681-* -_B682 -; toolsrc/parse.pla: 0492: release_seq(valseq) -; toolsrc/parse.pla: 0493: return codeseq, 0 // Function or const cannot be LVALUE, must be RVALUE - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C007 -_F978 !WORD _C007 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -; toolsrc/parse.pla: 0494: fin -_B681 -; toolsrc/parse.pla: 0495: stackdepth-- - !BYTE $64,$06 ; LLB [6] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0496: fin - !BYTE $74,$06 ; SLB [6] -_B678 -_B679 -; toolsrc/parse.pla: 0497: return cat_seq(codeseq, valseq), stackdepth - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C008 -_F979 !WORD _C008 - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$1A ; LEAVE 26 -; toolsrc/parse.pla: 0498: end -; toolsrc/parse.pla: 0499: def parse_subexpr(codeseq)#2 - ; codeseq -> [0] -_C093 ; parse_subexpr() -; toolsrc/parse.pla: 0500: byte stackdepth, matchdepth, stkdepth1, prevmatch, matchop, i - ; stackdepth -> [2] - ; matchdepth -> [3] - ; stkdepth1 -> [4] - ; prevmatch -> [5] - ; matchop -> [6] - ; i -> [7] -; toolsrc/parse.pla: 0501: word optos - ; optos -> [8] -; toolsrc/parse.pla: 0502: word tag_else, tag_endop - ; tag_else -> [10] - ; tag_endop -> [12] -; toolsrc/parse.pla: 0503: -; toolsrc/parse.pla: 0504: stackdepth = 0 - !BYTE $58,$0E,$01 ; ENTER 14,1 -; toolsrc/parse.pla: 0505: matchop = 0 -; toolsrc/parse.pla: 0506: optos = opsp -; toolsrc/parse.pla: 0507: repeat - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $6A ; LAW _D041+0 -_F980 !WORD _D041+0 - !BYTE $76,$08 ; SLW [8] -_B684 -; toolsrc/parse.pla: 0508: prevmatch = matchop -; toolsrc/parse.pla: 0509: matchop = 0 -; toolsrc/parse.pla: 0510: codeseq, matchdepth = parse_value(codeseq, RVALUE) -; toolsrc/parse.pla: 0511: if matchdepth -; toolsrc/parse.pla: 0512: stackdepth = stackdepth + matchdepth -; toolsrc/parse.pla: 0513: matchop = 1 -; toolsrc/parse.pla: 0514: for i = 0 to bops_tblsz - !BYTE $64,$06 ; LLB [6] - !BYTE $74,$05 ; SLB [5] - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C092 -_F981 !WORD _C092 - !BYTE $74,$03 ; SLB [3] - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$03 ; LLB [3] - !BYTE $4C ; BRFLS _B686 - !WORD _B686-* - !BYTE $64,$02 ; LLB [2] - !BYTE $B0,$03 ; ADDLB [3] - !BYTE $74,$02 ; SLB [2] - !BYTE $02 ; CN 1 - !BYTE $74,$06 ; SLB [6] - !BYTE $2A,$11 ; CB 17 - !BYTE $00 ; CN 0 -_B689 - !BYTE $6C,$07 ; DLB [7] -; toolsrc/parse.pla: 0515: if token == bops_tbl[i] -; toolsrc/parse.pla: 0516: matchop = 2 -; toolsrc/parse.pla: 0517: if bops_prec[i] >= tos_op_prec(optos) -; toolsrc/parse.pla: 0518: codeseq = gen_bop(codeseq, pop_op) -; toolsrc/parse.pla: 0519: stackdepth-- - !BYTE $68 ; LAB _D098+0 -_F982 !WORD _D098+0 - !BYTE $26 ; LA _D037+0 -_F983 !WORD _D037+0 - !BYTE $B0,$07 ; ADDLB [7] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B691 - !WORD _B691-* - !BYTE $04 ; CN 2 - !BYTE $74,$06 ; SLB [6] - !BYTE $26 ; LA _D038+0 -_F984 !WORD _D038+0 - !BYTE $B0,$07 ; ADDLB [7] - !BYTE $60 ; LB - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C083 -_F985 !WORD _C083 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B693 - !WORD _B693-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C081 -_F986 !WORD _C081 - !BYTE $54 ; CALL _C067 -_F987 !WORD _C067 - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0520: fin - !BYTE $74,$02 ; SLB [2] -_B693 -_B694 -; toolsrc/parse.pla: 0521: push_op(token, bops_prec[i]) -; toolsrc/parse.pla: 0522: break - !BYTE $68 ; LAB _D098+0 -_F988 !WORD _D098+0 - !BYTE $26 ; LA _D038+0 -_F989 !WORD _D038+0 - !BYTE $B0,$07 ; ADDLB [7] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C080 -_F990 !WORD _C080 - !BYTE $50 ; BRNCH _B688 - !WORD _B688-* -; toolsrc/parse.pla: 0523: fin -_B691 -_B692 -; toolsrc/parse.pla: 0524: next -_B690 - !BYTE $A4 ; INCBRLE _B689 - !WORD _B689-* -_B688 - !BYTE $74,$07 ; SLB [7] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 0525: fin -_B686 -_B687 -; toolsrc/parse.pla: 0526: until matchop <> 2 -_B685 - !BYTE $64,$06 ; LLB [6] - !BYTE $04 ; CN 2 - !BYTE $22 ; BREQ _B684 - !WORD _B684-* -_B683 -; toolsrc/parse.pla: 0527: if matchop == 0 and prevmatch == 2; exit_err(ERR_SYNTAX); fin - !BYTE $64,$06 ; LLB [6] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B695 - !WORD _B695-* - !BYTE $64,$05 ; LLB [5] - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ -_B695 - !BYTE $4C ; BRFLS _B696 - !WORD _B696-* - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $54 ; CALL _C002 -_F991 !WORD _C002 -_B696 -_B697 -; toolsrc/parse.pla: 0528: while optos < opsp - !BYTE $50 ; BRNCH _B700 - !WORD _B700-* -_B698 -; toolsrc/parse.pla: 0529: codeseq = gen_bop(codeseq, pop_op) -; toolsrc/parse.pla: 0530: stackdepth-- - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C081 -_F992 !WORD _C081 - !BYTE $54 ; CALL _C067 -_F993 !WORD _C067 - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0531: loop - !BYTE $74,$02 ; SLB [2] -_B700 - !BYTE $66,$08 ; LLW [8] - !BYTE $6A ; LAW _D041+0 -_F994 !WORD _D041+0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B698 - !WORD _B698-* -_B699 -; toolsrc/parse.pla: 0532: if token == LOGIC_AND_TKN -; toolsrc/parse.pla: 0533: if stackdepth <> 1; exit_err(ERR_OVER|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D098+0 -_F995 !WORD _D098+0 - !BYTE $2A,$CE ; CB 206 - !BYTE $24 ; BRNE _B701 - !WORD _B701-* - !BYTE $64,$02 ; LLB [2] - !BYTE $02 ; CN 1 - !BYTE $22 ; BREQ _B703 - !WORD _B703-* - !BYTE $2C,$10,$80 ; CW 32784 - !BYTE $54 ; CALL _C002 -_F996 !WORD _C002 -_B703 -_B704 -; toolsrc/parse.pla: 0534: tag_endop = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0535: codeseq = gen_oprel(codeseq, BRAND_CODE, tag_endop) -; toolsrc/parse.pla: 0536: codeseq, stkdepth1 = parse_subexpr(codeseq) -; toolsrc/parse.pla: 0537: if stkdepth1 <> stackdepth; exit_err(ERR_INVAL|ERR_CODE); fin - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F997 !WORD _C004 - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$AC ; CB 172 - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C064 -_F998 !WORD _C064 - !BYTE $6E,$00 ; DLW [0] - !BYTE $54 ; CALL _C093 -_F999 !WORD _C093 - !BYTE $74,$04 ; SLB [4] - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$04 ; LLB [4] - !BYTE $64,$02 ; LLB [2] - !BYTE $22 ; BREQ _B705 - !WORD _B705-* - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $54 ; CALL _C002 -_F1000 !WORD _C002 -_B705 -_B706 -; toolsrc/parse.pla: 0538: codeseq = gen_ctag(codeseq, tag_endop) -; toolsrc/parse.pla: 0539: elsif token == LOGIC_OR_TKN - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C065 -_F1001 !WORD _C065 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B702 - !WORD _B702-* -_B701 -; toolsrc/parse.pla: 0540: if stackdepth <> 1; exit_err(ERR_OVER|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D098+0 -_F1002 !WORD _D098+0 - !BYTE $2A,$CF ; CB 207 - !BYTE $24 ; BRNE _B707 - !WORD _B707-* - !BYTE $64,$02 ; LLB [2] - !BYTE $02 ; CN 1 - !BYTE $22 ; BREQ _B708 - !WORD _B708-* - !BYTE $2C,$10,$80 ; CW 32784 - !BYTE $54 ; CALL _C002 -_F1003 !WORD _C002 -_B708 -_B709 -; toolsrc/parse.pla: 0541: tag_endop = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0542: codeseq = gen_oprel(codeseq, BROR_CODE, tag_endop) -; toolsrc/parse.pla: 0543: codeseq, stkdepth1 = parse_subexpr(codeseq) -; toolsrc/parse.pla: 0544: if stkdepth1 <> stackdepth; exit_err(ERR_INVAL|ERR_CODE); fin - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1004 !WORD _C004 - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$AE ; CB 174 - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C064 -_F1005 !WORD _C064 - !BYTE $6E,$00 ; DLW [0] - !BYTE $54 ; CALL _C093 -_F1006 !WORD _C093 - !BYTE $74,$04 ; SLB [4] - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$04 ; LLB [4] - !BYTE $64,$02 ; LLB [2] - !BYTE $22 ; BREQ _B710 - !WORD _B710-* - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $54 ; CALL _C002 -_F1007 !WORD _C002 -_B710 -_B711 -; toolsrc/parse.pla: 0545: codeseq = gen_ctag(codeseq, tag_endop) -; toolsrc/parse.pla: 0546: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C065 -_F1008 !WORD _C065 - !BYTE $76,$00 ; SLW [0] -_B707 -_B702 -; toolsrc/parse.pla: 0547: return codeseq, stackdepth - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$0E ; LEAVE 14 -; toolsrc/parse.pla: 0548: end -; toolsrc/parse.pla: 0549: def parse_expr(codeseq)#2 - ; codeseq -> [0] -_P003 ; parse_expr(codeseq)#2() -_C094 ; parse_expr() -; toolsrc/parse.pla: 0550: byte stackdepth, stkdepth1 - ; stackdepth -> [2] - ; stkdepth1 -> [3] -; toolsrc/parse.pla: 0551: word tag_else, tag_endop - ; tag_else -> [4] - ; tag_endop -> [6] -; toolsrc/parse.pla: 0552: -; toolsrc/parse.pla: 0553: codeseq, stackdepth = parse_subexpr(codeseq) - !BYTE $58,$08,$01 ; ENTER 8,1 -; toolsrc/parse.pla: 0554: if token == TERNARY_TKN -; toolsrc/parse.pla: 0555: if stackdepth <> 1; exit_err(ERR_OVER|ERR_SYNTAX); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C093 -_F1009 !WORD _C093 - !BYTE $74,$02 ; SLB [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D098+0 -_F1010 !WORD _D098+0 - !BYTE $2A,$BF ; CB 191 - !BYTE $24 ; BRNE _B712 - !WORD _B712-* - !BYTE $64,$02 ; LLB [2] - !BYTE $02 ; CN 1 - !BYTE $22 ; BREQ _B714 - !WORD _B714-* - !BYTE $2C,$10,$80 ; CW 32784 - !BYTE $54 ; CALL _C002 -_F1011 !WORD _C002 -_B714 -_B715 -; toolsrc/parse.pla: 0556: tag_else = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0557: tag_endop = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0558: codeseq = gen_oprel(codeseq, BRFALSE_CODE, tag_else) -; toolsrc/parse.pla: 0559: codeseq, stkdepth1 = parse_expr(codeseq) -; toolsrc/parse.pla: 0560: if token <> TRIELSE_TKN; exit_err(ERR_MISS|ERR_SYNTAX); fin - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1012 !WORD _C004 - !BYTE $76,$04 ; SLW [4] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1013 !WORD _C004 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C064 -_F1014 !WORD _C064 - !BYTE $6E,$00 ; DLW [0] - !BYTE $54 ; CALL _C094 -_F1015 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D098+0 -_F1016 !WORD _D098+0 - !BYTE $2A,$DF ; CB 223 - !BYTE $22 ; BREQ _B716 - !WORD _B716-* - !BYTE $2C,$08,$80 ; CW 32776 - !BYTE $54 ; CALL _C002 -_F1017 !WORD _C002 -_B716 -_B717 -; toolsrc/parse.pla: 0561: codeseq = gen_oprel(codeseq, BRNCH_CODE, tag_endop) -; toolsrc/parse.pla: 0562: codeseq = gen_ctag(codeseq, tag_else) -; toolsrc/parse.pla: 0563: codeseq, stackdepth = parse_expr(codeseq) -; toolsrc/parse.pla: 0564: if stkdepth1 <> stackdepth; exit_err(ERR_INVAL|ERR_CODE); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$50 ; CB 80 - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C064 -_F1018 !WORD _C064 - !BYTE $6E,$00 ; DLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C065 -_F1019 !WORD _C065 - !BYTE $6E,$00 ; DLW [0] - !BYTE $54 ; CALL _C094 -_F1020 !WORD _C094 - !BYTE $74,$02 ; SLB [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$03 ; LLB [3] - !BYTE $64,$02 ; LLB [2] - !BYTE $22 ; BREQ _B718 - !WORD _B718-* - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $54 ; CALL _C002 -_F1021 !WORD _C002 -_B718 -_B719 -; toolsrc/parse.pla: 0565: codeseq = gen_ctag(codeseq, tag_endop) -; toolsrc/parse.pla: 0566: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C065 -_F1022 !WORD _C065 - !BYTE $76,$00 ; SLW [0] -_B712 -_B713 -; toolsrc/parse.pla: 0567: return codeseq, stackdepth - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/parse.pla: 0568: end -; toolsrc/parse.pla: 0569: def parse_set(codeseq) - ; codeseq -> [0] -_C095 ; parse_set() -; toolsrc/parse.pla: 0570: word setptr, rseq, setseq[16] - ; setptr -> [2] - ; rseq -> [4] - ; setseq -> [6] -; toolsrc/parse.pla: 0571: byte lparms, rparms, i, lambda_set - ; lparms -> [38] - ; rparms -> [39] - ; i -> [40] - ; lambda_set -> [41] -; toolsrc/parse.pla: 0572: -; toolsrc/parse.pla: 0573: lparms = 0 - !BYTE $58,$2A,$01 ; ENTER 42,1 -; toolsrc/parse.pla: 0574: rparms = 0 -; toolsrc/parse.pla: 0575: lambda_set = lambda_cnt -; toolsrc/parse.pla: 0576: setptr = tknptr -; toolsrc/parse.pla: 0577: repeat - !BYTE $00 ; CN 0 - !BYTE $74,$26 ; SLB [38] - !BYTE $00 ; CN 0 - !BYTE $74,$27 ; SLB [39] - !BYTE $68 ; LAB _D114+0 -_F1023 !WORD _D114+0 - !BYTE $74,$29 ; SLB [41] - !BYTE $6A ; LAW _D101+0 -_F1024 !WORD _D101+0 - !BYTE $76,$02 ; SLW [2] -_B721 -; toolsrc/parse.pla: 0578: setseq[lparms], drop = parse_value(NULL, LVALUE) -; toolsrc/parse.pla: 0579: if not setseq[lparms]; break; fin - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C092 -_F1025 !WORD _C092 - !BYTE $30 ; DROP - !BYTE $28,$06 ; LLA [6] - !BYTE $B8,$26 ; IDXLB [38] - !BYTE $72 ; SW - !BYTE $28,$06 ; LLA [6] - !BYTE $B8,$26 ; IDXLB [38] - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B723 - !WORD _B723-* - !BYTE $50 ; BRNCH _B720 - !WORD _B720-* -_B723 -_B724 -; toolsrc/parse.pla: 0580: lparms++ - !BYTE $64,$26 ; LLB [38] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0581: until token <> COMMA_TKN - !BYTE $74,$26 ; SLB [38] -_B722 - !BYTE $68 ; LAB _D098+0 -_F1026 !WORD _D098+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B721 - !WORD _B721-* -_B720 -; toolsrc/parse.pla: 0582: if not lparms or token <> SET_TKN -; toolsrc/parse.pla: 0583: // -; toolsrc/parse.pla: 0584: // Not a set list - free everything up -; toolsrc/parse.pla: 0585: // -; toolsrc/parse.pla: 0586: rewind(setptr) -; toolsrc/parse.pla: 0587: while lparms - !BYTE $64,$26 ; LLB [38] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B725 - !WORD _B725-* - !BYTE $68 ; LAB _D098+0 -_F1027 !WORD _D098+0 - !BYTE $2A,$BD ; CB 189 - !BYTE $42 ; ISNE -_B725 - !BYTE $4C ; BRFLS _B726 - !WORD _B726-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C077 -_F1028 !WORD _C077 - !BYTE $50 ; BRNCH _B730 - !WORD _B730-* -_B728 -; toolsrc/parse.pla: 0588: lparms-- - !BYTE $64,$26 ; LLB [38] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0589: release_seq(setseq[lparms]) -; toolsrc/parse.pla: 0590: loop - !BYTE $74,$26 ; SLB [38] - !BYTE $28,$06 ; LLA [6] - !BYTE $B8,$26 ; IDXLB [38] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C007 -_F1029 !WORD _C007 -_B730 - !BYTE $64,$26 ; LLB [38] - !BYTE $4E ; BRTRU _B728 - !WORD _B728-* -_B729 -; toolsrc/parse.pla: 0591: while lambda_cnt > lambda_set - !BYTE $50 ; BRNCH _B733 - !WORD _B733-* -_B731 -; toolsrc/parse.pla: 0592: lambda_cnt-- - !BYTE $68 ; LAB _D114+0 -_F1030 !WORD _D114+0 - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0593: lambda_num-- - !BYTE $78 ; SAB _D114+0 -_F1031 !WORD _D114+0 - !BYTE $68 ; LAB _D115+0 -_F1032 !WORD _D115+0 - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0594: release_seq(lambda_seq[lambda_cnt]) -; toolsrc/parse.pla: 0595: loop - !BYTE $78 ; SAB _D115+0 -_F1033 !WORD _D115+0 - !BYTE $26 ; LA _D117+0 -_F1034 !WORD _D117+0 - !BYTE $BC ; IDXAB _D114+0 -_F1035 !WORD _D114+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C007 -_F1036 !WORD _C007 -_B733 - !BYTE $68 ; LAB _D114+0 -_F1037 !WORD _D114+0 - !BYTE $64,$29 ; LLB [41] - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B731 - !WORD _B731-* -_B732 -; toolsrc/parse.pla: 0596: return NULL - !BYTE $00 ; CN 0 - !BYTE $5A,$2A ; LEAVE 42 -; toolsrc/parse.pla: 0597: fin -_B726 -_B727 -; toolsrc/parse.pla: 0598: rseq, rparms = parse_list -; toolsrc/parse.pla: 0599: if lparms > rparms; exit_err(ERR_MISS|ERR_CODE|ERR_FRAME); fin - !BYTE $54 ; CALL _C091 -_F1038 !WORD _C091 - !BYTE $74,$27 ; SLB [39] - !BYTE $76,$04 ; SLW [4] - !BYTE $64,$26 ; LLB [38] - !BYTE $64,$27 ; LLB [39] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B734 - !WORD _B734-* - !BYTE $2C,$08,$21 ; CW 8456 - !BYTE $54 ; CALL _C002 -_F1039 !WORD _C002 -_B734 -_B735 -; toolsrc/parse.pla: 0600: codeseq = cat_seq(codeseq, rseq) -; toolsrc/parse.pla: 0601: if lparms < rparms -; toolsrc/parse.pla: 0602: parse_warn("Silently dropping extra set values") - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C008 -_F1040 !WORD _C008 - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$26 ; LLB [38] - !BYTE $64,$27 ; LLB [39] - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B736 - !WORD _B736-* - !BYTE $2E ; CS - !BYTE $22 - !BYTE $53,$69,$6C,$65,$6E,$74,$6C,$79 - !BYTE $20,$64,$72,$6F,$70,$70,$69,$6E - !BYTE $67,$20,$65,$78,$74,$72,$61,$20 - !BYTE $73,$65,$74,$20,$76,$61,$6C,$75 - !BYTE $65,$73 - !BYTE $54 ; CALL _C003 -_F1041 !WORD _C003 -; toolsrc/parse.pla: 0603: for i = rparms - lparms downto 1 - !BYTE $02 ; CN 1 - !BYTE $64,$27 ; LLB [39] - !BYTE $64,$26 ; LLB [38] - !BYTE $84 ; SUB - !BYTE $A2 ; BRLT _B738 - !WORD _B738-* -_B739 - !BYTE $6C,$28 ; DLB [40] -; toolsrc/parse.pla: 0604: codeseq = gen_op(codeseq, DROP_CODE) -; toolsrc/parse.pla: 0605: next - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1042 !WORD _C059 - !BYTE $76,$00 ; SLW [0] -_B740 - !BYTE $A8 ; DECBRGE _B739 - !WORD _B739-* -_B738 - !BYTE $74,$28 ; SLB [40] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 0606: fin -_B736 -_B737 -; toolsrc/parse.pla: 0607: while lparms - !BYTE $50 ; BRNCH _B743 - !WORD _B743-* -_B741 -; toolsrc/parse.pla: 0608: lparms-- - !BYTE $64,$26 ; LLB [38] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0609: codeseq = cat_seq(codeseq, setseq[lparms]) -; toolsrc/parse.pla: 0610: loop - !BYTE $74,$26 ; SLB [38] - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$06 ; LLA [6] - !BYTE $B8,$26 ; IDXLB [38] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C008 -_F1043 !WORD _C008 - !BYTE $76,$00 ; SLW [0] -_B743 - !BYTE $64,$26 ; LLB [38] - !BYTE $4E ; BRTRU _B741 - !WORD _B741-* -_B742 -; toolsrc/parse.pla: 0611: return codeseq - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$2A ; LEAVE 42 -; toolsrc/parse.pla: 0612: end -; toolsrc/parse.pla: 0613: def parse_stmnt -_C096 ; parse_stmnt() -; toolsrc/parse.pla: 0614: byte type, elem_type, elem_size, cfnvals - ; type -> [0] - ; elem_type -> [1] - ; elem_size -> [2] - ; cfnvals -> [3] -; toolsrc/parse.pla: 0615: word seq, fromseq, toseq, tag_prevbrk, tag_prevcnt, tag_else, tag_endif, tag_while, tag_wend - ; seq -> [4] - ; fromseq -> [6] - ; toseq -> [8] - ; tag_prevbrk -> [10] - ; tag_prevcnt -> [12] - ; tag_else -> [14] - ; tag_endif -> [16] - ; tag_while -> [18] - ; tag_wend -> [20] -; toolsrc/parse.pla: 0616: word tag_repeat, tag_for, tag_choice, tag_of, idptr, addr, stepdir - ; tag_repeat -> [22] - ; tag_for -> [24] - ; tag_choice -> [26] - ; tag_of -> [28] - ; idptr -> [30] - ; addr -> [32] - ; stepdir -> [34] -; toolsrc/parse.pla: 0617: word caseconst, casecnt, caseval, casetag, i - ; caseconst -> [36] - ; casecnt -> [38] - ; caseval -> [40] - ; casetag -> [42] - ; i -> [44] -; toolsrc/parse.pla: 0618: -; toolsrc/parse.pla: 0619: if token <> END_TKN and token <> DONE_TKN and token <> OF_TKN and token <> DEFAULT_TKN - !BYTE $58,$2E,$00 ; ENTER 46,0 -; toolsrc/parse.pla: 0620: prevstmnt = token -; toolsrc/parse.pla: 0621: fin - !BYTE $68 ; LAB _D098+0 -_F1044 !WORD _D098+0 - !BYTE $2A,$87 ; CB 135 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B744 - !WORD _B744-* - !BYTE $68 ; LAB _D098+0 -_F1045 !WORD _D098+0 - !BYTE $2A,$98 ; CB 152 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B745 - !WORD _B745-* - !BYTE $68 ; LAB _D098+0 -_F1046 !WORD _D098+0 - !BYTE $2A,$8B ; CB 139 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B746 - !WORD _B746-* - !BYTE $68 ; LAB _D098+0 -_F1047 !WORD _D098+0 - !BYTE $2A,$8C ; CB 140 - !BYTE $42 ; ISNE -_B746 -_B745 -_B744 - !BYTE $4C ; BRFLS _B747 - !WORD _B747-* - !BYTE $68 ; LAB _D098+0 -_F1048 !WORD _D098+0 - !BYTE $78 ; SAB _D110+0 -_F1049 !WORD _D110+0 -_B747 -_B748 -; toolsrc/parse.pla: 0622: when token - !BYTE $68 ; LAB _D098+0 -_F1050 !WORD _D098+0 - !BYTE $52 ; SEL - !WORD _B750-* -; toolsrc/parse.pla: 0623: is IF_TKN -_B751 -; toolsrc/parse.pla: 0624: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0625: if !seq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1051 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B752 - !WORD _B752-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1052 !WORD _C002 -_B752 -_B753 -; toolsrc/parse.pla: 0626: if cfnvals > 1 -; toolsrc/parse.pla: 0627: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B754 - !WORD _B754-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1053 !WORD _C003 -; toolsrc/parse.pla: 0628: while cfnvals > 1; cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B758 - !WORD _B758-* -_B756 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1054 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B758 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B756 - !WORD _B756-* -_B757 -; toolsrc/parse.pla: 0629: fin -_B754 -_B755 -; toolsrc/parse.pla: 0630: tag_else = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0631: tag_endif = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0632: seq = gen_oprel(seq, BRFALSE_CODE, tag_else) -; toolsrc/parse.pla: 0633: emit_seq(seq) -; toolsrc/parse.pla: 0634: repeat - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1055 !WORD _C004 - !BYTE $76,$0E ; SLW [14] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1056 !WORD _C004 - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C064 -_F1057 !WORD _C064 - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _C041 -_F1058 !WORD _C041 -_B760 -; toolsrc/parse.pla: 0635: while parse_stmnt - !BYTE $50 ; BRNCH _B764 - !WORD _B764-* -_B762 -; toolsrc/parse.pla: 0636: nextln -; toolsrc/parse.pla: 0637: loop - !BYTE $54 ; CALL _C079 -_F1059 !WORD _C079 - !BYTE $30 ; DROP -_B764 - !BYTE $54 ; CALL _C096 -_F1060 !WORD _C096 - !BYTE $4E ; BRTRU _B762 - !WORD _B762-* -_B763 -; toolsrc/parse.pla: 0638: if token <> ELSEIF_TKN -; toolsrc/parse.pla: 0639: break - !BYTE $68 ; LAB _D098+0 -_F1061 !WORD _D098+0 - !BYTE $2A,$84 ; CB 132 - !BYTE $22 ; BREQ _B765 - !WORD _B765-* - !BYTE $50 ; BRNCH _B759 - !WORD _B759-* -; toolsrc/parse.pla: 0640: fin -_B765 -_B766 -; toolsrc/parse.pla: 0641: emit_branch(tag_endif) -; toolsrc/parse.pla: 0642: emit_tag(tag_else) -; toolsrc/parse.pla: 0643: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0644: if !seq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C028 -_F1062 !WORD _C028 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C039 -_F1063 !WORD _C039 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1064 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B767 - !WORD _B767-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1065 !WORD _C002 -_B767 -_B768 -; toolsrc/parse.pla: 0645: if cfnvals > 1 -; toolsrc/parse.pla: 0646: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B769 - !WORD _B769-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1066 !WORD _C003 -; toolsrc/parse.pla: 0647: while cfnvals > 1; cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B773 - !WORD _B773-* -_B771 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1067 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B773 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B771 - !WORD _B771-* -_B772 -; toolsrc/parse.pla: 0648: fin -_B769 -_B770 -; toolsrc/parse.pla: 0649: tag_else = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0650: seq = gen_oprel(seq, BRFALSE_CODE, tag_else) -; toolsrc/parse.pla: 0651: emit_seq(seq) -; toolsrc/parse.pla: 0652: until FALSE - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1068 !WORD _C004 - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C064 -_F1069 !WORD _C064 - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _C041 -_F1070 !WORD _C041 -_B761 - !BYTE $50 ; BRNCH _B760 - !WORD _B760-* -_B759 -; toolsrc/parse.pla: 0653: if token == ELSE_TKN -; toolsrc/parse.pla: 0654: emit_branch(tag_endif) -; toolsrc/parse.pla: 0655: emit_tag(tag_else) -; toolsrc/parse.pla: 0656: scan -; toolsrc/parse.pla: 0657: while parse_stmnt - !BYTE $68 ; LAB _D098+0 -_F1071 !WORD _D098+0 - !BYTE $2A,$85 ; CB 133 - !BYTE $24 ; BRNE _B774 - !WORD _B774-* - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C028 -_F1072 !WORD _C028 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C039 -_F1073 !WORD _C039 - !BYTE $54 ; CALL _C076 -_F1074 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B778 - !WORD _B778-* -_B776 -; toolsrc/parse.pla: 0658: nextln -; toolsrc/parse.pla: 0659: loop - !BYTE $54 ; CALL _C079 -_F1075 !WORD _C079 - !BYTE $30 ; DROP -_B778 - !BYTE $54 ; CALL _C096 -_F1076 !WORD _C096 - !BYTE $4E ; BRTRU _B776 - !WORD _B776-* -_B777 -; toolsrc/parse.pla: 0660: emit_tag(tag_endif) -; toolsrc/parse.pla: 0661: else - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C039 -_F1077 !WORD _C039 - !BYTE $50 ; BRNCH _B775 - !WORD _B775-* -_B774 -; toolsrc/parse.pla: 0662: emit_tag(tag_else) -; toolsrc/parse.pla: 0663: emit_tag(tag_endif) -; toolsrc/parse.pla: 0664: fin - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C039 -_F1078 !WORD _C039 - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C039 -_F1079 !WORD _C039 -_B775 -; toolsrc/parse.pla: 0665: if token <> FIN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $68 ; LAB _D098+0 -_F1080 !WORD _D098+0 - !BYTE $2A,$86 ; CB 134 - !BYTE $22 ; BREQ _B779 - !WORD _B779-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1081 !WORD _C002 -_B779 -_B780 -; toolsrc/parse.pla: 0666: break - !BYTE $50 ; BRNCH _B749 - !WORD _B749-* -; toolsrc/parse.pla: 0667: is WHILE_TKN -_B781 -; toolsrc/parse.pla: 0668: tag_while = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0669: tag_wend = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0670: tag_prevcnt = cont_tag -; toolsrc/parse.pla: 0671: cont_tag = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0672: tag_prevbrk = break_tag -; toolsrc/parse.pla: 0673: break_tag = tag_wend -; toolsrc/parse.pla: 0674: emit_branch(cont_tag) -; toolsrc/parse.pla: 0675: emit_tag(tag_while) -; toolsrc/parse.pla: 0676: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0677: if !seq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1082 !WORD _C004 - !BYTE $76,$12 ; SLW [18] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1083 !WORD _C004 - !BYTE $76,$14 ; SLW [20] - !BYTE $6A ; LAW _D113+0 -_F1084 !WORD _D113+0 - !BYTE $76,$0C ; SLW [12] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1085 !WORD _C004 - !BYTE $7A ; SAW _D113+0 -_F1086 !WORD _D113+0 - !BYTE $6A ; LAW _D112+0 -_F1087 !WORD _D112+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$14 ; LLW [20] - !BYTE $7A ; SAW _D112+0 -_F1088 !WORD _D112+0 - !BYTE $6A ; LAW _D113+0 -_F1089 !WORD _D113+0 - !BYTE $54 ; CALL _C028 -_F1090 !WORD _C028 - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _C039 -_F1091 !WORD _C039 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1092 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B782 - !WORD _B782-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1093 !WORD _C002 -_B782 -_B783 -; toolsrc/parse.pla: 0678: if cfnvals > 1 -; toolsrc/parse.pla: 0679: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B784 - !WORD _B784-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1094 !WORD _C003 -; toolsrc/parse.pla: 0680: while cfnvals > 1;cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B788 - !WORD _B788-* -_B786 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1095 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B788 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B786 - !WORD _B786-* -_B787 -; toolsrc/parse.pla: 0681: fin -_B784 -_B785 -; toolsrc/parse.pla: 0682: seq = gen_oprel(seq, BRTRUE_CODE, tag_while) -; toolsrc/parse.pla: 0683: while parse_stmnt - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$4E ; CB 78 - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _C064 -_F1096 !WORD _C064 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B791 - !WORD _B791-* -_B789 -; toolsrc/parse.pla: 0684: nextln -; toolsrc/parse.pla: 0685: loop - !BYTE $54 ; CALL _C079 -_F1097 !WORD _C079 - !BYTE $30 ; DROP -_B791 - !BYTE $54 ; CALL _C096 -_F1098 !WORD _C096 - !BYTE $4E ; BRTRU _B789 - !WORD _B789-* -_B790 -; toolsrc/parse.pla: 0686: if token <> LOOP_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $68 ; LAB _D098+0 -_F1099 !WORD _D098+0 - !BYTE $2A,$89 ; CB 137 - !BYTE $22 ; BREQ _B792 - !WORD _B792-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1100 !WORD _C002 -_B792 -_B793 -; toolsrc/parse.pla: 0687: emit_tag(cont_tag) -; toolsrc/parse.pla: 0688: emit_seq(seq) -; toolsrc/parse.pla: 0689: emit_tag(tag_wend) -; toolsrc/parse.pla: 0690: break_tag = tag_prevbrk -; toolsrc/parse.pla: 0691: cont_tag = tag_prevcnt -; toolsrc/parse.pla: 0692: break - !BYTE $6A ; LAW _D113+0 -_F1101 !WORD _D113+0 - !BYTE $54 ; CALL _C039 -_F1102 !WORD _C039 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1103 !WORD _C041 - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C039 -_F1104 !WORD _C039 - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D112+0 -_F1105 !WORD _D112+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $7A ; SAW _D113+0 -_F1106 !WORD _D113+0 - !BYTE $50 ; BRNCH _B749 - !WORD _B749-* -; toolsrc/parse.pla: 0693: is REPEAT_TKN -_B794 -; toolsrc/parse.pla: 0694: tag_repeat = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0695: tag_prevbrk = break_tag -; toolsrc/parse.pla: 0696: break_tag = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0697: tag_prevcnt = cont_tag -; toolsrc/parse.pla: 0698: cont_tag = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0699: emit_tag(tag_repeat) -; toolsrc/parse.pla: 0700: scan -; toolsrc/parse.pla: 0701: while parse_stmnt - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1107 !WORD _C004 - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D112+0 -_F1108 !WORD _D112+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1109 !WORD _C004 - !BYTE $7A ; SAW _D112+0 -_F1110 !WORD _D112+0 - !BYTE $6A ; LAW _D113+0 -_F1111 !WORD _D113+0 - !BYTE $76,$0C ; SLW [12] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1112 !WORD _C004 - !BYTE $7A ; SAW _D113+0 -_F1113 !WORD _D113+0 - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C039 -_F1114 !WORD _C039 - !BYTE $54 ; CALL _C076 -_F1115 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B797 - !WORD _B797-* -_B795 -; toolsrc/parse.pla: 0702: nextln -; toolsrc/parse.pla: 0703: loop - !BYTE $54 ; CALL _C079 -_F1116 !WORD _C079 - !BYTE $30 ; DROP -_B797 - !BYTE $54 ; CALL _C096 -_F1117 !WORD _C096 - !BYTE $4E ; BRTRU _B795 - !WORD _B795-* -_B796 -; toolsrc/parse.pla: 0704: if token <> UNTIL_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $68 ; LAB _D098+0 -_F1118 !WORD _D098+0 - !BYTE $2A,$94 ; CB 148 - !BYTE $22 ; BREQ _B798 - !WORD _B798-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1119 !WORD _C002 -_B798 -_B799 -; toolsrc/parse.pla: 0705: emit_tag(cont_tag) -; toolsrc/parse.pla: 0706: cont_tag = tag_prevcnt -; toolsrc/parse.pla: 0707: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0708: if !seq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $6A ; LAW _D113+0 -_F1120 !WORD _D113+0 - !BYTE $54 ; CALL _C039 -_F1121 !WORD _C039 - !BYTE $66,$0C ; LLW [12] - !BYTE $7A ; SAW _D113+0 -_F1122 !WORD _D113+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1123 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B800 - !WORD _B800-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1124 !WORD _C002 -_B800 -_B801 -; toolsrc/parse.pla: 0709: if cfnvals > 1 -; toolsrc/parse.pla: 0710: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B802 - !WORD _B802-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1125 !WORD _C003 -; toolsrc/parse.pla: 0711: while cfnvals > 1; cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B806 - !WORD _B806-* -_B804 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1126 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B806 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B804 - !WORD _B804-* -_B805 -; toolsrc/parse.pla: 0712: fin -_B802 -_B803 -; toolsrc/parse.pla: 0713: seq = gen_oprel(seq, BRFALSE_CODE, tag_repeat) -; toolsrc/parse.pla: 0714: emit_seq(seq) -; toolsrc/parse.pla: 0715: emit_tag(break_tag) -; toolsrc/parse.pla: 0716: break_tag = tag_prevbrk -; toolsrc/parse.pla: 0717: break - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C064 -_F1127 !WORD _C064 - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _C041 -_F1128 !WORD _C041 - !BYTE $6A ; LAW _D112+0 -_F1129 !WORD _D112+0 - !BYTE $54 ; CALL _C039 -_F1130 !WORD _C039 - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D112+0 -_F1131 !WORD _D112+0 - !BYTE $50 ; BRNCH _B749 - !WORD _B749-* -; toolsrc/parse.pla: 0718: is FOR_TKN -_B807 -; toolsrc/parse.pla: 0719: stack_loop = stack_loop + 2 -; toolsrc/parse.pla: 0720: tag_for = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0721: tag_prevcnt = cont_tag -; toolsrc/parse.pla: 0722: cont_tag = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0723: tag_prevbrk = break_tag -; toolsrc/parse.pla: 0724: break_tag = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0725: if scan <> ID_TKN; exit_err(ERR_MISS|ERR_ID); fin - !BYTE $68 ; LAB _D109+0 -_F1132 !WORD _D109+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $78 ; SAB _D109+0 -_F1133 !WORD _D109+0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1134 !WORD _C004 - !BYTE $76,$18 ; SLW [24] - !BYTE $6A ; LAW _D113+0 -_F1135 !WORD _D113+0 - !BYTE $76,$0C ; SLW [12] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1136 !WORD _C004 - !BYTE $7A ; SAW _D113+0 -_F1137 !WORD _D113+0 - !BYTE $6A ; LAW _D112+0 -_F1138 !WORD _D112+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1139 !WORD _C004 - !BYTE $7A ; SAW _D112+0 -_F1140 !WORD _D112+0 - !BYTE $54 ; CALL _C076 -_F1141 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $22 ; BREQ _B808 - !WORD _B808-* - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F1142 !WORD _C002 -_B808 -_B809 -; toolsrc/parse.pla: 0726: idptr = lookup_id(tknptr, tknlen) -; toolsrc/parse.pla: 0727: if idptr -; toolsrc/parse.pla: 0728: type = idptr=>idtype -; toolsrc/parse.pla: 0729: addr = idptr=>idval -; toolsrc/parse.pla: 0730: else - !BYTE $6A ; LAW _D101+0 -_F1143 !WORD _D101+0 - !BYTE $68 ; LAB _D100+0 -_F1144 !WORD _D100+0 - !BYTE $54 ; CALL _C044 -_F1145 !WORD _C044 - !BYTE $6E,$1E ; DLW [30] - !BYTE $4C ; BRFLS _B810 - !WORD _B810-* - !BYTE $66,$1E ; LLW [30] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $74,$00 ; SLB [0] - !BYTE $66,$1E ; LLW [30] - !BYTE $62 ; LW - !BYTE $76,$20 ; SLW [32] - !BYTE $50 ; BRNCH _B811 - !WORD _B811-* -_B810 -; toolsrc/parse.pla: 0731: exit_err(ERR_INVAL|ERR_ID) -; toolsrc/parse.pla: 0732: fin - !BYTE $2C,$04,$02 ; CW 516 - !BYTE $54 ; CALL _C002 -_F1146 !WORD _C002 -_B811 -; toolsrc/parse.pla: 0733: if scan <> SET_TKN; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $54 ; CALL _C076 -_F1147 !WORD _C076 - !BYTE $2A,$BD ; CB 189 - !BYTE $22 ; BREQ _B812 - !WORD _B812-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1148 !WORD _C002 -_B812 -_B813 -; toolsrc/parse.pla: 0734: fromseq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0735: if !fromseq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1149 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B814 - !WORD _B814-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1150 !WORD _C002 -_B814 -_B815 -; toolsrc/parse.pla: 0736: if cfnvals > 1 -; toolsrc/parse.pla: 0737: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B816 - !WORD _B816-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1151 !WORD _C003 -; toolsrc/parse.pla: 0738: while cfnvals > 1;cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B820 - !WORD _B820-* -_B818 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1152 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B820 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B818 - !WORD _B818-* -_B819 -; toolsrc/parse.pla: 0739: fin -_B816 -_B817 -; toolsrc/parse.pla: 0740: if token == TO_TKN -; toolsrc/parse.pla: 0741: stepdir = 1 -; toolsrc/parse.pla: 0742: elsif token == DOWNTO_TKN - !BYTE $68 ; LAB _D098+0 -_F1153 !WORD _D098+0 - !BYTE $2A,$8F ; CB 143 - !BYTE $24 ; BRNE _B821 - !WORD _B821-* - !BYTE $02 ; CN 1 - !BYTE $76,$22 ; SLW [34] - !BYTE $50 ; BRNCH _B822 - !WORD _B822-* -_B821 -; toolsrc/parse.pla: 0743: stepdir = -1 -; toolsrc/parse.pla: 0744: else - !BYTE $68 ; LAB _D098+0 -_F1154 !WORD _D098+0 - !BYTE $2A,$90 ; CB 144 - !BYTE $24 ; BRNE _B823 - !WORD _B823-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$22 ; SLW [34] - !BYTE $50 ; BRNCH _B822 - !WORD _B822-* -_B823 -; toolsrc/parse.pla: 0745: exit_err(ERR_INVAL|ERR_STATE) -; toolsrc/parse.pla: 0746: fin - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1155 !WORD _C002 -_B822 -; toolsrc/parse.pla: 0747: toseq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0748: if !toseq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1156 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$08 ; DLW [8] - !BYTE $4E ; BRTRU _B824 - !WORD _B824-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1157 !WORD _C002 -_B824 -_B825 -; toolsrc/parse.pla: 0749: if cfnvals > 1 -; toolsrc/parse.pla: 0750: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B826 - !WORD _B826-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1158 !WORD _C003 -; toolsrc/parse.pla: 0751: while cfnvals > 1;cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B830 - !WORD _B830-* -_B828 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1159 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B830 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B828 - !WORD _B828-* -_B829 -; toolsrc/parse.pla: 0752: fin -_B826 -_B827 -; toolsrc/parse.pla: 0753: if token == STEP_TKN -; toolsrc/parse.pla: 0754: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0755: if !seq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $68 ; LAB _D098+0 -_F1160 !WORD _D098+0 - !BYTE $2A,$91 ; CB 145 - !BYTE $24 ; BRNE _B831 - !WORD _B831-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1161 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B833 - !WORD _B833-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1162 !WORD _C002 -_B833 -_B834 -; toolsrc/parse.pla: 0756: if cfnvals > 1 -; toolsrc/parse.pla: 0757: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B835 - !WORD _B835-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1163 !WORD _C003 -; toolsrc/parse.pla: 0758: while cfnvals > 1;cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B839 - !WORD _B839-* -_B837 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1164 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B839 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B837 - !WORD _B837-* -_B838 -; toolsrc/parse.pla: 0759: fin -_B835 -_B836 -; toolsrc/parse.pla: 0760: else - !BYTE $50 ; BRNCH _B832 - !WORD _B832-* -_B831 -; toolsrc/parse.pla: 0761: seq = NULL -; toolsrc/parse.pla: 0762: fin - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] -_B832 -; toolsrc/parse.pla: 0763: emit_seq(gen_oprel(cat_seq(toseq, fromseq), stepdir > 0 ?? BRGT_CODE :: BRLT_CODE, break_tag)) -; toolsrc/parse.pla: 0764: emit_tag(tag_for) -; toolsrc/parse.pla: 0765: if type & LOCAL_TYPE -; toolsrc/parse.pla: 0766: if type & BYTE_TYPE; emit_dlb(addr); else; emit_dlw(addr); fin - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C008 -_F1165 !WORD _C008 - !BYTE $66,$22 ; LLW [34] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B842 - !WORD _B842-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $50 ; BRNCH _B843 - !WORD _B843-* -_B842 - !BYTE $2A,$A2 ; CB 162 -_B843 - !BYTE $6A ; LAW _D112+0 -_F1166 !WORD _D112+0 - !BYTE $54 ; CALL _C064 -_F1167 !WORD _C064 - !BYTE $54 ; CALL _C041 -_F1168 !WORD _C041 - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C039 -_F1169 !WORD _C039 - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B844 - !WORD _B844-* - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B846 - !WORD _B846-* - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _C022 -_F1170 !WORD _C022 - !BYTE $50 ; BRNCH _B847 - !WORD _B847-* -_B846 - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _C023 -_F1171 !WORD _C023 -_B847 -; toolsrc/parse.pla: 0767: else - !BYTE $50 ; BRNCH _B845 - !WORD _B845-* -_B844 -; toolsrc/parse.pla: 0768: if type & BYTE_TYPE; emit_dab(addr, 0); else; emit_daw(addr, 0); fin - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B848 - !WORD _B848-* - !BYTE $66,$20 ; LLW [32] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C024 -_F1172 !WORD _C024 - !BYTE $50 ; BRNCH _B849 - !WORD _B849-* -_B848 - !BYTE $66,$20 ; LLW [32] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C025 -_F1173 !WORD _C025 -_B849 -; toolsrc/parse.pla: 0769: fin -_B845 -; toolsrc/parse.pla: 0770: while parse_stmnt - !BYTE $50 ; BRNCH _B852 - !WORD _B852-* -_B850 -; toolsrc/parse.pla: 0771: nextln -; toolsrc/parse.pla: 0772: loop - !BYTE $54 ; CALL _C079 -_F1174 !WORD _C079 - !BYTE $30 ; DROP -_B852 - !BYTE $54 ; CALL _C096 -_F1175 !WORD _C096 - !BYTE $4E ; BRTRU _B850 - !WORD _B850-* -_B851 -; toolsrc/parse.pla: 0773: if token <> NEXT_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $68 ; LAB _D098+0 -_F1176 !WORD _D098+0 - !BYTE $2A,$92 ; CB 146 - !BYTE $22 ; BREQ _B853 - !WORD _B853-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1177 !WORD _C002 -_B853 -_B854 -; toolsrc/parse.pla: 0774: emit_tag(cont_tag) -; toolsrc/parse.pla: 0775: cont_tag = tag_prevcnt -; toolsrc/parse.pla: 0776: if stepdir > 0 -; toolsrc/parse.pla: 0777: if seq -; toolsrc/parse.pla: 0778: emit_seq(seq) -; toolsrc/parse.pla: 0779: emit_addbrle(tag_for) -; toolsrc/parse.pla: 0780: else - !BYTE $6A ; LAW _D113+0 -_F1178 !WORD _D113+0 - !BYTE $54 ; CALL _C039 -_F1179 !WORD _C039 - !BYTE $66,$0C ; LLW [12] - !BYTE $7A ; SAW _D113+0 -_F1180 !WORD _D113+0 - !BYTE $66,$22 ; LLW [34] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B855 - !WORD _B855-* - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B857 - !WORD _B857-* - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1181 !WORD _C041 - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C032 -_F1182 !WORD _C032 - !BYTE $50 ; BRNCH _B858 - !WORD _B858-* -_B857 -; toolsrc/parse.pla: 0781: emit_incbrle(tag_for) -; toolsrc/parse.pla: 0782: fin - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C031 -_F1183 !WORD _C031 -_B858 -; toolsrc/parse.pla: 0783: else - !BYTE $50 ; BRNCH _B856 - !WORD _B856-* -_B855 -; toolsrc/parse.pla: 0784: if seq -; toolsrc/parse.pla: 0785: emit_seq(seq) -; toolsrc/parse.pla: 0786: emit_subbrge(tag_for) -; toolsrc/parse.pla: 0787: else - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B859 - !WORD _B859-* - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1184 !WORD _C041 - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C034 -_F1185 !WORD _C034 - !BYTE $50 ; BRNCH _B860 - !WORD _B860-* -_B859 -; toolsrc/parse.pla: 0788: emit_decbrge(tag_for) -; toolsrc/parse.pla: 0789: fin - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C033 -_F1186 !WORD _C033 -_B860 -; toolsrc/parse.pla: 0790: fin -_B856 -; toolsrc/parse.pla: 0791: emit_tag(break_tag) -; toolsrc/parse.pla: 0792: if type & LOCAL_TYPE -; toolsrc/parse.pla: 0793: if type & BYTE_TYPE; emit_slb(addr); else; emit_slw(addr); fin - !BYTE $6A ; LAW _D112+0 -_F1187 !WORD _D112+0 - !BYTE $54 ; CALL _C039 -_F1188 !WORD _C039 - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B861 - !WORD _B861-* - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B863 - !WORD _B863-* - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _C018 -_F1189 !WORD _C018 - !BYTE $50 ; BRNCH _B864 - !WORD _B864-* -_B863 - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _C019 -_F1190 !WORD _C019 -_B864 -; toolsrc/parse.pla: 0794: else - !BYTE $50 ; BRNCH _B862 - !WORD _B862-* -_B861 -; toolsrc/parse.pla: 0795: if type & BYTE_TYPE; emit_sab(addr, 0); else; emit_saw(addr, 0); fin - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B865 - !WORD _B865-* - !BYTE $66,$20 ; LLW [32] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C020 -_F1191 !WORD _C020 - !BYTE $50 ; BRNCH _B866 - !WORD _B866-* -_B865 - !BYTE $66,$20 ; LLW [32] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C021 -_F1192 !WORD _C021 -_B866 -; toolsrc/parse.pla: 0796: fin -_B862 -; toolsrc/parse.pla: 0797: emit_code(DROP_CODE) -; toolsrc/parse.pla: 0798: break_tag = tag_prevbrk -; toolsrc/parse.pla: 0799: stack_loop = stack_loop - 2 -; toolsrc/parse.pla: 0800: break - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C017 -_F1193 !WORD _C017 - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D112+0 -_F1194 !WORD _D112+0 - !BYTE $68 ; LAB _D109+0 -_F1195 !WORD _D109+0 - !BYTE $3A,$02 ; SUBI 2 - !BYTE $78 ; SAB _D109+0 -_F1196 !WORD _D109+0 - !BYTE $50 ; BRNCH _B749 - !WORD _B749-* -; toolsrc/parse.pla: 0801: is CASE_TKN -_B867 -; toolsrc/parse.pla: 0802: tag_prevbrk = break_tag -; toolsrc/parse.pla: 0803: break_tag = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0804: tag_choice = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0805: caseval = heapalloc(CASENUM) -; toolsrc/parse.pla: 0806: casetag = heapalloc(CASENUM) -; toolsrc/parse.pla: 0807: casecnt = 0 -; toolsrc/parse.pla: 0808: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0809: if !seq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $6A ; LAW _D112+0 -_F1197 !WORD _D112+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1198 !WORD _C004 - !BYTE $7A ; SAW _D112+0 -_F1199 !WORD _D112+0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1200 !WORD _C004 - !BYTE $76,$1A ; SLW [26] - !BYTE $2A,$40 ; CB 64 - !BYTE $54 ; CALL _X014 -_F1201 !WORD 0 - !BYTE $76,$28 ; SLW [40] - !BYTE $2A,$40 ; CB 64 - !BYTE $54 ; CALL _X014 -_F1202 !WORD 0 - !BYTE $76,$2A ; SLW [42] - !BYTE $00 ; CN 0 - !BYTE $76,$26 ; SLW [38] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1203 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B868 - !WORD _B868-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1204 !WORD _C002 -_B868 -_B869 -; toolsrc/parse.pla: 0810: if cfnvals > 1 -; toolsrc/parse.pla: 0811: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B870 - !WORD _B870-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1205 !WORD _C003 -; toolsrc/parse.pla: 0812: while cfnvals > 1;cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B874 - !WORD _B874-* -_B872 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1206 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B874 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B872 - !WORD _B872-* -_B873 -; toolsrc/parse.pla: 0813: fin -_B870 -_B871 -; toolsrc/parse.pla: 0814: emit_seq(seq) -; toolsrc/parse.pla: 0815: emit_select(tag_choice) -; toolsrc/parse.pla: 0816: nextln -; toolsrc/parse.pla: 0817: while token <> ENDCASE_TKN - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1207 !WORD _C041 - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C026 -_F1208 !WORD _C026 - !BYTE $54 ; CALL _C079 -_F1209 !WORD _C079 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B877 - !WORD _B877-* -_B875 -; toolsrc/parse.pla: 0818: when token - !BYTE $68 ; LAB _D098+0 -_F1210 !WORD _D098+0 - !BYTE $52 ; SEL - !WORD _B879-* -; toolsrc/parse.pla: 0819: is OF_TKN -_B880 -; toolsrc/parse.pla: 0820: if casecnt == CASENUM; exit_err(ERR_OVER|ERR_TABLE); fin - !BYTE $66,$26 ; LLW [38] - !BYTE $2A,$40 ; CB 64 - !BYTE $24 ; BRNE _B881 - !WORD _B881-* - !BYTE $2C,$10,$40 ; CW 16400 - !BYTE $54 ; CALL _C002 -_F1211 !WORD _C002 -_B881 -_B882 -; toolsrc/parse.pla: 0821: caseconst, drop, drop = parse_constexpr -; toolsrc/parse.pla: 0822: tag_of = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0823: i = casecnt -; toolsrc/parse.pla: 0824: while i > 0 and caseval=>[i-1] > caseconst - !BYTE $54 ; CALL _C089 -_F1212 !WORD _C089 - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $76,$24 ; SLW [36] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1213 !WORD _C004 - !BYTE $76,$1C ; SLW [28] - !BYTE $66,$26 ; LLW [38] - !BYTE $76,$2C ; SLW [44] - !BYTE $50 ; BRNCH _B885 - !WORD _B885-* -_B883 -; toolsrc/parse.pla: 0825: // -; toolsrc/parse.pla: 0826: // Move larger case consts up -; toolsrc/parse.pla: 0827: // -; toolsrc/parse.pla: 0828: caseval=>[i] = caseval=>[i-1] -; toolsrc/parse.pla: 0829: casetag=>[i] = casetag=>[i-1] -; toolsrc/parse.pla: 0830: i-- - !BYTE $66,$28 ; LLW [40] - !BYTE $66,$2C ; LLW [44] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$28 ; LLW [40] - !BYTE $BA,$2C ; IDXLW [44] - !BYTE $72 ; SW - !BYTE $66,$2A ; LLW [42] - !BYTE $66,$2C ; LLW [44] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$2A ; LLW [42] - !BYTE $BA,$2C ; IDXLW [44] - !BYTE $72 ; SW - !BYTE $66,$2C ; LLW [44] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0831: loop - !BYTE $76,$2C ; SLW [44] -_B885 - !BYTE $66,$2C ; LLW [44] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B886 - !WORD _B886-* - !BYTE $66,$28 ; LLW [40] - !BYTE $66,$2C ; LLW [44] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$24 ; LLW [36] - !BYTE $44 ; ISGT -_B886 - !BYTE $4E ; BRTRU _B883 - !WORD _B883-* -_B884 -; toolsrc/parse.pla: 0832: if i < casecnt and caseval=>[i] == caseconst; exit_err(ERR_DUP|ERR_STATE); fin - !BYTE $66,$2C ; LLW [44] - !BYTE $66,$26 ; LLW [38] - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B887 - !WORD _B887-* - !BYTE $66,$28 ; LLW [40] - !BYTE $BA,$2C ; IDXLW [44] - !BYTE $62 ; LW - !BYTE $66,$24 ; LLW [36] - !BYTE $40 ; ISEQ -_B887 - !BYTE $4C ; BRFLS _B888 - !WORD _B888-* - !BYTE $2C,$01,$10 ; CW 4097 - !BYTE $54 ; CALL _C002 -_F1214 !WORD _C002 -_B888 -_B889 -; toolsrc/parse.pla: 0833: caseval=>[i] = caseconst -; toolsrc/parse.pla: 0834: casetag=>[i] = tag_of -; toolsrc/parse.pla: 0835: casecnt++ - !BYTE $66,$24 ; LLW [36] - !BYTE $66,$28 ; LLW [40] - !BYTE $BA,$2C ; IDXLW [44] - !BYTE $72 ; SW - !BYTE $66,$1C ; LLW [28] - !BYTE $66,$2A ; LLW [42] - !BYTE $BA,$2C ; IDXLW [44] - !BYTE $72 ; SW - !BYTE $66,$26 ; LLW [38] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0836: emit_tag(tag_of) -; toolsrc/parse.pla: 0837: while parse_stmnt - !BYTE $76,$26 ; SLW [38] - !BYTE $66,$1C ; LLW [28] - !BYTE $54 ; CALL _C039 -_F1215 !WORD _C039 - !BYTE $50 ; BRNCH _B892 - !WORD _B892-* -_B890 -; toolsrc/parse.pla: 0838: nextln -; toolsrc/parse.pla: 0839: loop - !BYTE $54 ; CALL _C079 -_F1216 !WORD _C079 - !BYTE $30 ; DROP -_B892 - !BYTE $54 ; CALL _C096 -_F1217 !WORD _C096 - !BYTE $4E ; BRTRU _B890 - !WORD _B890-* -_B891 -; toolsrc/parse.pla: 0840: break - !BYTE $50 ; BRNCH _B878 - !WORD _B878-* -; toolsrc/parse.pla: 0841: is DEFAULT_TKN -_B893 -; toolsrc/parse.pla: 0842: tag_of = 0 -; toolsrc/parse.pla: 0843: if prevstmnt <> BREAK_TKN // Branch around caseblock if falling through -; toolsrc/parse.pla: 0844: tag_of = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0845: emit_branch(tag_of) -; toolsrc/parse.pla: 0846: fin - !BYTE $00 ; CN 0 - !BYTE $76,$1C ; SLW [28] - !BYTE $68 ; LAB _D110+0 -_F1218 !WORD _D110+0 - !BYTE $2A,$9A ; CB 154 - !BYTE $22 ; BREQ _B894 - !WORD _B894-* - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1219 !WORD _C004 - !BYTE $6E,$1C ; DLW [28] - !BYTE $54 ; CALL _C028 -_F1220 !WORD _C028 -_B894 -_B895 -; toolsrc/parse.pla: 0847: emit_tag(tag_choice) -; toolsrc/parse.pla: 0848: emit_caseblock(casecnt, caseval, casetag) -; toolsrc/parse.pla: 0849: tag_choice = 0 -; toolsrc/parse.pla: 0850: if tag_of -; toolsrc/parse.pla: 0851: emit_tag(tag_of) -; toolsrc/parse.pla: 0852: fin - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C039 -_F1221 !WORD _C039 - !BYTE $66,$26 ; LLW [38] - !BYTE $66,$28 ; LLW [40] - !BYTE $66,$2A ; LLW [42] - !BYTE $54 ; CALL _C027 -_F1222 !WORD _C027 - !BYTE $00 ; CN 0 - !BYTE $76,$1A ; SLW [26] - !BYTE $66,$1C ; LLW [28] - !BYTE $4C ; BRFLS _B896 - !WORD _B896-* - !BYTE $66,$1C ; LLW [28] - !BYTE $54 ; CALL _C039 -_F1223 !WORD _C039 -_B896 -_B897 -; toolsrc/parse.pla: 0853: scan -; toolsrc/parse.pla: 0854: while parse_stmnt - !BYTE $54 ; CALL _C076 -_F1224 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B900 - !WORD _B900-* -_B898 -; toolsrc/parse.pla: 0855: nextln -; toolsrc/parse.pla: 0856: loop - !BYTE $54 ; CALL _C079 -_F1225 !WORD _C079 - !BYTE $30 ; DROP -_B900 - !BYTE $54 ; CALL _C096 -_F1226 !WORD _C096 - !BYTE $4E ; BRTRU _B898 - !WORD _B898-* -_B899 -; toolsrc/parse.pla: 0857: if token <> ENDCASE_TKN; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $68 ; LAB _D098+0 -_F1227 !WORD _D098+0 - !BYTE $2A,$8D ; CB 141 - !BYTE $22 ; BREQ _B901 - !WORD _B901-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1228 !WORD _C002 -_B901 -_B902 -; toolsrc/parse.pla: 0858: break - !BYTE $50 ; BRNCH _B878 - !WORD _B878-* -; toolsrc/parse.pla: 0859: is EOL_TKN -_B903 -; toolsrc/parse.pla: 0860: nextln -; toolsrc/parse.pla: 0861: break - !BYTE $54 ; CALL _C079 -_F1229 !WORD _C079 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B878 - !WORD _B878-* -; toolsrc/parse.pla: 0862: otherwise -_B879 - !BYTE $03 ; CASEBLOCK - !WORD $0002 - !WORD _B903-* - !WORD $008B - !WORD _B880-* - !WORD $008C - !WORD _B893-* -; toolsrc/parse.pla: 0863: exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE) -; toolsrc/parse.pla: 0864: wend - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1230 !WORD _C002 -_B878 -; toolsrc/parse.pla: 0865: loop -_B877 - !BYTE $68 ; LAB _D098+0 -_F1231 !WORD _D098+0 - !BYTE $2A,$8D ; CB 141 - !BYTE $24 ; BRNE _B875 - !WORD _B875-* -_B876 -; toolsrc/parse.pla: 0866: if tag_choice -; toolsrc/parse.pla: 0867: emit_branch(break_tag) -; toolsrc/parse.pla: 0868: emit_tag(tag_choice) -; toolsrc/parse.pla: 0869: emit_caseblock(casecnt, caseval, casetag) -; toolsrc/parse.pla: 0870: fin - !BYTE $66,$1A ; LLW [26] - !BYTE $4C ; BRFLS _B904 - !WORD _B904-* - !BYTE $6A ; LAW _D112+0 -_F1232 !WORD _D112+0 - !BYTE $54 ; CALL _C028 -_F1233 !WORD _C028 - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C039 -_F1234 !WORD _C039 - !BYTE $66,$26 ; LLW [38] - !BYTE $66,$28 ; LLW [40] - !BYTE $66,$2A ; LLW [42] - !BYTE $54 ; CALL _C027 -_F1235 !WORD _C027 -_B904 -_B905 -; toolsrc/parse.pla: 0871: heaprelease(caseval) -; toolsrc/parse.pla: 0872: emit_tag(break_tag) -; toolsrc/parse.pla: 0873: break_tag = tag_prevbrk -; toolsrc/parse.pla: 0874: break - !BYTE $66,$28 ; LLW [40] - !BYTE $54 ; CALL _X015 -_F1236 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D112+0 -_F1237 !WORD _D112+0 - !BYTE $54 ; CALL _C039 -_F1238 !WORD _C039 - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D112+0 -_F1239 !WORD _D112+0 - !BYTE $50 ; BRNCH _B749 - !WORD _B749-* -; toolsrc/parse.pla: 0875: is BREAK_TKN -_B906 -; toolsrc/parse.pla: 0876: if break_tag -; toolsrc/parse.pla: 0877: emit_branch(break_tag) -; toolsrc/parse.pla: 0878: else - !BYTE $6A ; LAW _D112+0 -_F1240 !WORD _D112+0 - !BYTE $4C ; BRFLS _B907 - !WORD _B907-* - !BYTE $6A ; LAW _D112+0 -_F1241 !WORD _D112+0 - !BYTE $54 ; CALL _C028 -_F1242 !WORD _C028 - !BYTE $50 ; BRNCH _B908 - !WORD _B908-* -_B907 -; toolsrc/parse.pla: 0879: exit_err(ERR_INVAL|ERR_STATE) -; toolsrc/parse.pla: 0880: fin - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1243 !WORD _C002 -_B908 -; toolsrc/parse.pla: 0881: break - !BYTE $50 ; BRNCH _B749 - !WORD _B749-* -; toolsrc/parse.pla: 0882: is CONT_TKN -_B909 -; toolsrc/parse.pla: 0883: if cont_tag -; toolsrc/parse.pla: 0884: emit_branch(cont_tag) -; toolsrc/parse.pla: 0885: else - !BYTE $6A ; LAW _D113+0 -_F1244 !WORD _D113+0 - !BYTE $4C ; BRFLS _B910 - !WORD _B910-* - !BYTE $6A ; LAW _D113+0 -_F1245 !WORD _D113+0 - !BYTE $54 ; CALL _C028 -_F1246 !WORD _C028 - !BYTE $50 ; BRNCH _B911 - !WORD _B911-* -_B910 -; toolsrc/parse.pla: 0886: exit_err(ERR_INVAL|ERR_STATE) -; toolsrc/parse.pla: 0887: fin - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1247 !WORD _C002 -_B911 -; toolsrc/parse.pla: 0888: break - !BYTE $50 ; BRNCH _B749 - !WORD _B749-* -; toolsrc/parse.pla: 0889: is RETURN_TKN -_B912 -; toolsrc/parse.pla: 0890: i = stack_loop -; toolsrc/parse.pla: 0891: while i >= 2 - !BYTE $68 ; LAB _D109+0 -_F1248 !WORD _D109+0 - !BYTE $76,$2C ; SLW [44] - !BYTE $50 ; BRNCH _B915 - !WORD _B915-* -_B913 -; toolsrc/parse.pla: 0892: emit_code(DROP2_CODE) -; toolsrc/parse.pla: 0893: i = i - 2 -; toolsrc/parse.pla: 0894: loop - !BYTE $2A,$32 ; CB 50 - !BYTE $54 ; CALL _C017 -_F1249 !WORD _C017 - !BYTE $66,$2C ; LLW [44] - !BYTE $3A,$02 ; SUBI 2 - !BYTE $76,$2C ; SLW [44] -_B915 - !BYTE $66,$2C ; LLW [44] - !BYTE $04 ; CN 2 - !BYTE $48 ; ISGE - !BYTE $4E ; BRTRU _B913 - !WORD _B913-* -_B914 -; toolsrc/parse.pla: 0895: if i -; toolsrc/parse.pla: 0896: emit_code(DROP_CODE) -; toolsrc/parse.pla: 0897: fin - !BYTE $66,$2C ; LLW [44] - !BYTE $4C ; BRFLS _B916 - !WORD _B916-* - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C017 -_F1250 !WORD _C017 -_B916 -_B917 -; toolsrc/parse.pla: 0898: if infunc -; toolsrc/parse.pla: 0899: seq, cfnvals = parse_list -; toolsrc/parse.pla: 0900: emit_seq(seq) -; toolsrc/parse.pla: 0901: if cfnvals > infuncvals -; toolsrc/parse.pla: 0902: exit_err(ERR_OVER|ERR_CLOSE|ERR_STATE) -; toolsrc/parse.pla: 0903: elsif cfnvals < infuncvals - !BYTE $68 ; LAB _D107+0 -_F1251 !WORD _D107+0 - !BYTE $4C ; BRFLS _B918 - !WORD _B918-* - !BYTE $54 ; CALL _C091 -_F1252 !WORD _C091 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _C041 -_F1253 !WORD _C041 - !BYTE $64,$03 ; LLB [3] - !BYTE $6A ; LAW _D111+0 -_F1254 !WORD _D111+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B920 - !WORD _B920-* - !BYTE $2C,$30,$10 ; CW 4144 - !BYTE $54 ; CALL _C002 -_F1255 !WORD _C002 - !BYTE $50 ; BRNCH _B921 - !WORD _B921-* -_B920 -; toolsrc/parse.pla: 0904: parse_warn("Too few return values") - !BYTE $64,$03 ; LLB [3] - !BYTE $6A ; LAW _D111+0 -_F1256 !WORD _D111+0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B922 - !WORD _B922-* - !BYTE $2E ; CS - !BYTE $15 - !BYTE $54,$6F,$6F,$20,$66,$65,$77,$20 - !BYTE $72,$65,$74,$75,$72,$6E,$20,$76 - !BYTE $61,$6C,$75,$65,$73 - !BYTE $54 ; CALL _C003 -_F1257 !WORD _C003 -; toolsrc/parse.pla: 0905: while cfnvals < infuncvals - !BYTE $50 ; BRNCH _B925 - !WORD _B925-* -_B923 -; toolsrc/parse.pla: 0906: cfnvals++ - !BYTE $64,$03 ; LLB [3] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0907: emit_const(0) -; toolsrc/parse.pla: 0908: loop - !BYTE $74,$03 ; SLB [3] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F1258 !WORD _C016 -_B925 - !BYTE $64,$03 ; LLB [3] - !BYTE $6A ; LAW _D111+0 -_F1259 !WORD _D111+0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B923 - !WORD _B923-* -_B924 -; toolsrc/parse.pla: 0909: fin -_B922 -_B921 -; toolsrc/parse.pla: 0910: emit_leave -; toolsrc/parse.pla: 0911: else - !BYTE $54 ; CALL _C037 -_F1260 !WORD _C037 - !BYTE $50 ; BRNCH _B919 - !WORD _B919-* -_B918 -; toolsrc/parse.pla: 0912: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0913: if not seq -; toolsrc/parse.pla: 0914: emit_const(0) -; toolsrc/parse.pla: 0915: else - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1261 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B926 - !WORD _B926-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F1262 !WORD _C016 - !BYTE $50 ; BRNCH _B927 - !WORD _B927-* -_B926 -; toolsrc/parse.pla: 0916: if cfnvals > 1 -; toolsrc/parse.pla: 0917: exit_err(ERR_OVER|ERR_CLOSE|ERR_STATE) -; toolsrc/parse.pla: 0918: while cfnvals > 1;cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B928 - !WORD _B928-* - !BYTE $2C,$30,$10 ; CW 4144 - !BYTE $54 ; CALL _C002 -_F1263 !WORD _C002 - !BYTE $50 ; BRNCH _B932 - !WORD _B932-* -_B930 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1264 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B932 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B930 - !WORD _B930-* -_B931 -; toolsrc/parse.pla: 0919: fin -_B928 -_B929 -; toolsrc/parse.pla: 0920: emit_seq(seq) -; toolsrc/parse.pla: 0921: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1265 !WORD _C041 -_B927 -; toolsrc/parse.pla: 0922: emit_code(RET_CODE) -; toolsrc/parse.pla: 0923: fin - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _C017 -_F1266 !WORD _C017 -_B919 -; toolsrc/parse.pla: 0924: break - !BYTE $50 ; BRNCH _B749 - !WORD _B749-* -; toolsrc/parse.pla: 0925: is EOL_TKN -_B933 -; toolsrc/parse.pla: 0926: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5A,$2E ; LEAVE 46 -; toolsrc/parse.pla: 0927: is ELSE_TKN -_B934 -; toolsrc/parse.pla: 0928: is ELSEIF_TKN -_B935 -; toolsrc/parse.pla: 0929: is FIN_TKN -_B936 -; toolsrc/parse.pla: 0930: is LOOP_TKN -_B937 -; toolsrc/parse.pla: 0931: is UNTIL_TKN -_B938 -; toolsrc/parse.pla: 0932: is NEXT_TKN -_B939 -; toolsrc/parse.pla: 0933: is OF_TKN -_B940 -; toolsrc/parse.pla: 0934: is DEFAULT_TKN -_B941 -; toolsrc/parse.pla: 0935: is ENDCASE_TKN -_B942 -; toolsrc/parse.pla: 0936: is END_TKN -_B943 -; toolsrc/parse.pla: 0937: is DONE_TKN -_B944 -; toolsrc/parse.pla: 0938: is DEF_TKN -_B945 -; toolsrc/parse.pla: 0939: is EOF_TKN -_B946 -; toolsrc/parse.pla: 0940: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$2E ; LEAVE 46 -; toolsrc/parse.pla: 0941: otherwise - !BYTE $50 ; BRNCH _B947 - !WORD _B947-* -_B750 - !BYTE $16 ; CASEBLOCK - !WORD $0001 - !WORD _B946-* - !WORD $0002 - !WORD _B933-* - !WORD $0083 - !WORD _B751-* - !WORD $0084 - !WORD _B935-* - !WORD $0085 - !WORD _B934-* - !WORD $0086 - !WORD _B936-* - !WORD $0087 - !WORD _B943-* - !WORD $0088 - !WORD _B781-* - !WORD $0089 - !WORD _B937-* - !WORD $008A - !WORD _B867-* - !WORD $008B - !WORD _B940-* - !WORD $008C - !WORD _B941-* - !WORD $008D - !WORD _B942-* - !WORD $008E - !WORD _B807-* - !WORD $0092 - !WORD _B939-* - !WORD $0093 - !WORD _B794-* - !WORD $0094 - !WORD _B938-* - !WORD $0095 - !WORD _B945-* - !WORD $0098 - !WORD _B944-* - !WORD $0099 - !WORD _B912-* - !WORD $009A - !WORD _B906-* - !WORD $009B - !WORD _B909-* -_B947 -; toolsrc/parse.pla: 0942: rewind(tknptr) -; toolsrc/parse.pla: 0943: seq = parse_set(NULL) -; toolsrc/parse.pla: 0944: if seq -; toolsrc/parse.pla: 0945: emit_seq(seq) -; toolsrc/parse.pla: 0946: else - !BYTE $6A ; LAW _D101+0 -_F1267 !WORD _D101+0 - !BYTE $54 ; CALL _C077 -_F1268 !WORD _C077 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C095 -_F1269 !WORD _C095 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B948 - !WORD _B948-* - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1270 !WORD _C041 - !BYTE $50 ; BRNCH _B949 - !WORD _B949-* -_B948 -; toolsrc/parse.pla: 0947: idptr = tknptr -; toolsrc/parse.pla: 0948: seq, cfnvals = parse_value(NULL, RVALUE) -; toolsrc/parse.pla: 0949: if seq -; toolsrc/parse.pla: 0950: if token == INC_TKN or token == DEC_TKN -; toolsrc/parse.pla: 0951: emit_seq(seq) -; toolsrc/parse.pla: 0952: emit_code(token == INC_TKN ?? INC_CODE :: DEC_CODE) -; toolsrc/parse.pla: 0953: rewind(idptr) -; toolsrc/parse.pla: 0954: seq, drop = parse_value(NULL, LVALUE) -; toolsrc/parse.pla: 0955: emit_seq(seq) -; toolsrc/parse.pla: 0956: else - !BYTE $6A ; LAW _D101+0 -_F1271 !WORD _D101+0 - !BYTE $76,$1E ; SLW [30] - !BYTE $00 ; CN 0 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C092 -_F1272 !WORD _C092 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B950 - !WORD _B950-* - !BYTE $68 ; LAB _D098+0 -_F1273 !WORD _D098+0 - !BYTE $2A,$C1 ; CB 193 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B952 - !WORD _B952-* - !BYTE $68 ; LAB _D098+0 -_F1274 !WORD _D098+0 - !BYTE $2A,$C4 ; CB 196 - !BYTE $40 ; ISEQ -_B952 - !BYTE $4C ; BRFLS _B953 - !WORD _B953-* - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1275 !WORD _C041 - !BYTE $68 ; LAB _D098+0 -_F1276 !WORD _D098+0 - !BYTE $2A,$C1 ; CB 193 - !BYTE $24 ; BRNE _B957 - !WORD _B957-* - !BYTE $2A,$8C ; CB 140 - !BYTE $50 ; BRNCH _B958 - !WORD _B958-* -_B957 - !BYTE $2A,$8E ; CB 142 -_B958 - !BYTE $54 ; CALL _C017 -_F1277 !WORD _C017 - !BYTE $66,$1E ; LLW [30] - !BYTE $54 ; CALL _C077 -_F1278 !WORD _C077 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C092 -_F1279 !WORD _C092 - !BYTE $30 ; DROP - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _C041 -_F1280 !WORD _C041 - !BYTE $50 ; BRNCH _B954 - !WORD _B954-* -_B953 -; toolsrc/parse.pla: 0957: while cfnvals - !BYTE $50 ; BRNCH _B961 - !WORD _B961-* -_B959 -; toolsrc/parse.pla: 0958: seq = cat_seq(seq, gen_op(NULL, DROP_CODE)) -; toolsrc/parse.pla: 0959: cfnvals-- - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1281 !WORD _C059 - !BYTE $54 ; CALL _C008 -_F1282 !WORD _C008 - !BYTE $76,$04 ; SLW [4] - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0960: loop - !BYTE $74,$03 ; SLB [3] -_B961 - !BYTE $64,$03 ; LLB [3] - !BYTE $4E ; BRTRU _B959 - !WORD _B959-* -_B960 -; toolsrc/parse.pla: 0961: emit_seq(seq) -; toolsrc/parse.pla: 0962: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1283 !WORD _C041 -_B954 -; toolsrc/parse.pla: 0963: else - !BYTE $50 ; BRNCH _B951 - !WORD _B951-* -_B950 -; toolsrc/parse.pla: 0964: exit_err(ERR_SYNTAX) -; toolsrc/parse.pla: 0965: fin - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $54 ; CALL _C002 -_F1284 !WORD _C002 -_B951 -; toolsrc/parse.pla: 0966: fin -_B949 -; toolsrc/parse.pla: 0967: wend -_B749 -; toolsrc/parse.pla: 0968: return scan == EOL_TKN - !BYTE $54 ; CALL _C076 -_F1285 !WORD _C076 - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ - !BYTE $5A,$2E ; LEAVE 46 -; toolsrc/parse.pla: 0969: end -; toolsrc/parse.pla: 0970: def parse_var(type, basesize, ignore_var)#0 - ; type -> [0] - ; basesize -> [2] - ; ignore_var -> [4] -_C097 ; parse_var() -; toolsrc/parse.pla: 0971: byte consttype, constsize, idlen - ; consttype -> [6] - ; constsize -> [7] - ; idlen -> [8] -; toolsrc/parse.pla: 0972: word idptr, constval, arraysize, size - ; idptr -> [9] - ; constval -> [11] - ; arraysize -> [13] - ; size -> [15] -; toolsrc/parse.pla: 0973: -; toolsrc/parse.pla: 0974: idlen = 0 - !BYTE $58,$11,$03 ; ENTER 17,3 -; toolsrc/parse.pla: 0975: size = 1 -; toolsrc/parse.pla: 0976: if scan == ID_TKN -; toolsrc/parse.pla: 0977: idptr = tknptr -; toolsrc/parse.pla: 0978: idlen = tknlen -; toolsrc/parse.pla: 0979: if scan == OPEN_BRACKET_TKN -; toolsrc/parse.pla: 0980: size, constsize, consttype = parse_constexpr -; toolsrc/parse.pla: 0981: if token <> CLOSE_BRACKET_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $00 ; CN 0 - !BYTE $74,$08 ; SLB [8] - !BYTE $02 ; CN 1 - !BYTE $76,$0F ; SLW [15] - !BYTE $54 ; CALL _C076 -_F1286 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B962 - !WORD _B962-* - !BYTE $6A ; LAW _D101+0 -_F1287 !WORD _D101+0 - !BYTE $76,$09 ; SLW [9] - !BYTE $68 ; LAB _D100+0 -_F1288 !WORD _D100+0 - !BYTE $74,$08 ; SLB [8] - !BYTE $54 ; CALL _C076 -_F1289 !WORD _C076 - !BYTE $2A,$DB ; CB 219 - !BYTE $24 ; BRNE _B964 - !WORD _B964-* - !BYTE $54 ; CALL _C089 -_F1290 !WORD _C089 - !BYTE $74,$06 ; SLB [6] - !BYTE $74,$07 ; SLB [7] - !BYTE $76,$0F ; SLW [15] - !BYTE $68 ; LAB _D098+0 -_F1291 !WORD _D098+0 - !BYTE $2A,$DD ; CB 221 - !BYTE $22 ; BREQ _B966 - !WORD _B966-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1292 !WORD _C002 -_B966 -_B967 -; toolsrc/parse.pla: 0982: scan -; toolsrc/parse.pla: 0983: fin - !BYTE $54 ; CALL _C076 -_F1293 !WORD _C076 - !BYTE $30 ; DROP -_B964 -_B965 -; toolsrc/parse.pla: 0984: fin -_B962 -_B963 -; toolsrc/parse.pla: 0985: size = size * basesize -; toolsrc/parse.pla: 0986: if token == SET_TKN -; toolsrc/parse.pla: 0987: if type & (EXTERN_TYPE|LOCAL_TYPE); exit_err(ERR_INVAL|ERR_LOCAL|ERR_INIT); fin - !BYTE $66,$0F ; LLW [15] - !BYTE $66,$02 ; LLW [2] - !BYTE $86 ; MUL - !BYTE $76,$0F ; SLW [15] - !BYTE $68 ; LAB _D098+0 -_F1294 !WORD _D098+0 - !BYTE $2A,$BD ; CB 189 - !BYTE $24 ; BRNE _B968 - !WORD _B968-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B970 - !WORD _B970-* - !BYTE $2C,$44,$08 ; CW 2116 - !BYTE $54 ; CALL _C002 -_F1295 !WORD _C002 -_B970 -_B971 -; toolsrc/parse.pla: 0988: if idlen -; toolsrc/parse.pla: 0989: new_iddata(idptr, idlen, type, 0) -; toolsrc/parse.pla: 0990: fin - !BYTE $64,$08 ; LLB [8] - !BYTE $4C ; BRFLS _B972 - !WORD _B972-* - !BYTE $66,$09 ; LLW [9] - !BYTE $64,$08 ; LLB [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C046 -_F1296 !WORD _C046 -_B972 -_B973 -; toolsrc/parse.pla: 0991: constval, constsize, consttype = parse_constexpr -; toolsrc/parse.pla: 0992: arraysize = emit_data(type, consttype, constval, constsize) -; toolsrc/parse.pla: 0993: while token == COMMA_TKN - !BYTE $54 ; CALL _C089 -_F1297 !WORD _C089 - !BYTE $74,$06 ; SLB [6] - !BYTE $74,$07 ; SLB [7] - !BYTE $76,$0B ; SLW [11] - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$0B ; LLW [11] - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _C014 -_F1298 !WORD _C014 - !BYTE $76,$0D ; SLW [13] - !BYTE $50 ; BRNCH _B976 - !WORD _B976-* -_B974 -; toolsrc/parse.pla: 0994: constval, constsize, consttype = parse_constexpr -; toolsrc/parse.pla: 0995: arraysize = arraysize + emit_data(type, consttype, constval, constsize) -; toolsrc/parse.pla: 0996: loop - !BYTE $54 ; CALL _C089 -_F1299 !WORD _C089 - !BYTE $74,$06 ; SLB [6] - !BYTE $74,$07 ; SLB [7] - !BYTE $76,$0B ; SLW [11] - !BYTE $66,$0D ; LLW [13] - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$0B ; LLW [11] - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _C014 -_F1300 !WORD _C014 - !BYTE $82 ; ADD - !BYTE $76,$0D ; SLW [13] -_B976 - !BYTE $68 ; LAB _D098+0 -_F1301 !WORD _D098+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B974 - !WORD _B974-* -_B975 -; toolsrc/parse.pla: 0997: size_iddata(PTR_TYPE, size, arraysize) -; toolsrc/parse.pla: 0998: elsif not ignore_var - !BYTE $2A,$60 ; CB 96 - !BYTE $66,$0F ; LLW [15] - !BYTE $66,$0D ; LLW [13] - !BYTE $54 ; CALL _C047 -_F1302 !WORD _C047 - !BYTE $50 ; BRNCH _B969 - !WORD _B969-* -_B968 -; toolsrc/parse.pla: 0999: if idlen -; toolsrc/parse.pla: 1000: if infunc -; toolsrc/parse.pla: 1001: new_idlocal(idptr, idlen, type, size) -; toolsrc/parse.pla: 1002: else - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B977 - !WORD _B977-* - !BYTE $64,$08 ; LLB [8] - !BYTE $4C ; BRFLS _B978 - !WORD _B978-* - !BYTE $68 ; LAB _D107+0 -_F1303 !WORD _D107+0 - !BYTE $4C ; BRFLS _B980 - !WORD _B980-* - !BYTE $66,$09 ; LLW [9] - !BYTE $64,$08 ; LLB [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0F ; LLW [15] - !BYTE $54 ; CALL _C053 -_F1304 !WORD _C053 - !BYTE $50 ; BRNCH _B981 - !WORD _B981-* -_B980 -; toolsrc/parse.pla: 1003: new_iddata(idptr, idlen, type, size) -; toolsrc/parse.pla: 1004: fin - !BYTE $66,$09 ; LLW [9] - !BYTE $64,$08 ; LLB [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0F ; LLW [15] - !BYTE $54 ; CALL _C046 -_F1305 !WORD _C046 -_B981 -; toolsrc/parse.pla: 1005: elsif not type & EXTERN_TYPE - !BYTE $50 ; BRNCH _B979 - !WORD _B979-* -_B978 -; toolsrc/parse.pla: 1006: if type & LOCAL_TYPE -; toolsrc/parse.pla: 1007: framesize = framesize + size -; toolsrc/parse.pla: 1008: else - !BYTE $66,$00 ; LLW [0] - !BYTE $80 ; NOT - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B982 - !WORD _B982-* - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B983 - !WORD _B983-* - !BYTE $6A ; LAW _D070+0 -_F1306 !WORD _D070+0 - !BYTE $B2,$0F ; ADDLW [15] - !BYTE $7A ; SAW _D070+0 -_F1307 !WORD _D070+0 - !BYTE $50 ; BRNCH _B984 - !WORD _B984-* -_B983 -; toolsrc/parse.pla: 1009: size_iddata(type, size, 0) -; toolsrc/parse.pla: 1010: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0F ; LLW [15] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C047 -_F1308 !WORD _C047 -_B984 -; toolsrc/parse.pla: 1011: fin -_B982 -_B979 -; toolsrc/parse.pla: 1012: fin -_B977 -_B969 -; toolsrc/parse.pla: 1013: end - !BYTE $5A,$11 ; LEAVE 17 -; toolsrc/parse.pla: 1014: def parse_struc#0 -_C098 ; parse_struc() -; toolsrc/parse.pla: 1015: byte strucid[16] - ; strucid -> [0] -; toolsrc/parse.pla: 1016: byte idlen, struclen, constsize, consttype - ; idlen -> [16] - ; struclen -> [17] - ; constsize -> [18] - ; consttype -> [19] -; toolsrc/parse.pla: 1017: word type, basesize, size, offset, idstr - ; type -> [20] - ; basesize -> [22] - ; size -> [24] - ; offset -> [26] - ; idstr -> [28] -; toolsrc/parse.pla: 1018: -; toolsrc/parse.pla: 1019: struclen = 0 - !BYTE $58,$1E,$00 ; ENTER 30,0 -; toolsrc/parse.pla: 1020: if scan == ID_TKN -; toolsrc/parse.pla: 1021: struclen = tknlen -; toolsrc/parse.pla: 1022: if struclen > 16 -; toolsrc/parse.pla: 1023: struclen = 16 -; toolsrc/parse.pla: 1024: fin - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] - !BYTE $54 ; CALL _C076 -_F1309 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B985 - !WORD _B985-* - !BYTE $68 ; LAB _D100+0 -_F1310 !WORD _D100+0 - !BYTE $6C,$11 ; DLB [17] - !BYTE $2A,$10 ; CB 16 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B987 - !WORD _B987-* - !BYTE $2A,$10 ; CB 16 - !BYTE $74,$11 ; SLB [17] -_B987 -_B988 -; toolsrc/parse.pla: 1025: for idlen = 0 to struclen - !BYTE $64,$11 ; LLB [17] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B989 - !WORD _B989-* -_B990 - !BYTE $6C,$10 ; DLB [16] -; toolsrc/parse.pla: 1026: strucid[idlen] = ^(tknptr + idlen) -; toolsrc/parse.pla: 1027: next - !BYTE $6A ; LAW _D101+0 -_F1311 !WORD _D101+0 - !BYTE $B0,$10 ; ADDLB [16] - !BYTE $60 ; LB - !BYTE $28,$00 ; LLA [0] - !BYTE $B0,$10 ; ADDLB [16] - !BYTE $70 ; SB -_B991 - !BYTE $A4 ; INCBRLE _B990 - !WORD _B990-* -_B989 - !BYTE $74,$10 ; SLB [16] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 1028: scan -; toolsrc/parse.pla: 1029: fin - !BYTE $54 ; CALL _C076 -_F1312 !WORD _C076 - !BYTE $30 ; DROP -_B985 -_B986 -; toolsrc/parse.pla: 1030: offset = 0 -; toolsrc/parse.pla: 1031: while nextln == BYTE_TKN or token == WORD_TKN or token == EOL_TKN - !BYTE $00 ; CN 0 - !BYTE $76,$1A ; SLW [26] - !BYTE $50 ; BRNCH _B994 - !WORD _B994-* -_B992 -; toolsrc/parse.pla: 1032: if token <> EOL_TKN -; toolsrc/parse.pla: 1033: basesize = 1 -; toolsrc/parse.pla: 1034: type = token == BYTE_TKN ?? BYTE_TYPE :: WORD_TYPE -; toolsrc/parse.pla: 1035: if scan == OPEN_BRACKET_TKN -; toolsrc/parse.pla: 1036: basesize, constsize, consttype = parse_constexpr -; toolsrc/parse.pla: 1037: if token <> CLOSE_BRACKET_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D098+0 -_F1313 !WORD _D098+0 - !BYTE $04 ; CN 2 - !BYTE $22 ; BREQ _B997 - !WORD _B997-* - !BYTE $02 ; CN 1 - !BYTE $76,$16 ; SLW [22] - !BYTE $68 ; LAB _D098+0 -_F1314 !WORD _D098+0 - !BYTE $2A,$81 ; CB 129 - !BYTE $24 ; BRNE _B999 - !WORD _B999-* - !BYTE $04 ; CN 2 - !BYTE $50 ; BRNCH _B1000 - !WORD _B1000-* -_B999 - !BYTE $08 ; CN 4 -_B1000 - !BYTE $76,$14 ; SLW [20] - !BYTE $54 ; CALL _C076 -_F1315 !WORD _C076 - !BYTE $2A,$DB ; CB 219 - !BYTE $24 ; BRNE _B1001 - !WORD _B1001-* - !BYTE $54 ; CALL _C089 -_F1316 !WORD _C089 - !BYTE $74,$13 ; SLB [19] - !BYTE $74,$12 ; SLB [18] - !BYTE $76,$16 ; SLW [22] - !BYTE $68 ; LAB _D098+0 -_F1317 !WORD _D098+0 - !BYTE $2A,$DD ; CB 221 - !BYTE $22 ; BREQ _B1003 - !WORD _B1003-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1318 !WORD _C002 -_B1003 -_B1004 -; toolsrc/parse.pla: 1038: scan -; toolsrc/parse.pla: 1039: fin - !BYTE $54 ; CALL _C076 -_F1319 !WORD _C076 - !BYTE $30 ; DROP -_B1001 -_B1002 -; toolsrc/parse.pla: 1040: repeat -_B1006 -; toolsrc/parse.pla: 1041: size = 1 -; toolsrc/parse.pla: 1042: idlen = 0 -; toolsrc/parse.pla: 1043: if token == ID_TKN -; toolsrc/parse.pla: 1044: idstr = tknptr -; toolsrc/parse.pla: 1045: idlen = tknlen -; toolsrc/parse.pla: 1046: if scan == OPEN_BRACKET_TKN -; toolsrc/parse.pla: 1047: size, constsize, consttype = parse_constexpr -; toolsrc/parse.pla: 1048: if token <> CLOSE_BRACKET_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $02 ; CN 1 - !BYTE $76,$18 ; SLW [24] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $68 ; LAB _D098+0 -_F1320 !WORD _D098+0 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B1008 - !WORD _B1008-* - !BYTE $6A ; LAW _D101+0 -_F1321 !WORD _D101+0 - !BYTE $76,$1C ; SLW [28] - !BYTE $68 ; LAB _D100+0 -_F1322 !WORD _D100+0 - !BYTE $74,$10 ; SLB [16] - !BYTE $54 ; CALL _C076 -_F1323 !WORD _C076 - !BYTE $2A,$DB ; CB 219 - !BYTE $24 ; BRNE _B1010 - !WORD _B1010-* - !BYTE $54 ; CALL _C089 -_F1324 !WORD _C089 - !BYTE $74,$13 ; SLB [19] - !BYTE $74,$12 ; SLB [18] - !BYTE $76,$18 ; SLW [24] - !BYTE $68 ; LAB _D098+0 -_F1325 !WORD _D098+0 - !BYTE $2A,$DD ; CB 221 - !BYTE $22 ; BREQ _B1012 - !WORD _B1012-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1326 !WORD _C002 -_B1012 -_B1013 -; toolsrc/parse.pla: 1049: scan -; toolsrc/parse.pla: 1050: fin - !BYTE $54 ; CALL _C076 -_F1327 !WORD _C076 - !BYTE $30 ; DROP -_B1010 -_B1011 -; toolsrc/parse.pla: 1051: fin -_B1008 -_B1009 -; toolsrc/parse.pla: 1052: size = size * basesize -; toolsrc/parse.pla: 1053: if type & WORD_TYPE -; toolsrc/parse.pla: 1054: size = size * 2 -; toolsrc/parse.pla: 1055: fin - !BYTE $66,$18 ; LLW [24] - !BYTE $66,$16 ; LLW [22] - !BYTE $86 ; MUL - !BYTE $76,$18 ; SLW [24] - !BYTE $66,$14 ; LLW [20] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B1014 - !WORD _B1014-* - !BYTE $66,$18 ; LLW [24] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$18 ; SLW [24] -_B1014 -_B1015 -; toolsrc/parse.pla: 1056: if idlen -; toolsrc/parse.pla: 1057: new_idconst(idstr, idlen, offset) -; toolsrc/parse.pla: 1058: fin - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B1016 - !WORD _B1016-* - !BYTE $66,$1C ; LLW [28] - !BYTE $64,$10 ; LLB [16] - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C049 -_F1328 !WORD _C049 -_B1016 -_B1017 -; toolsrc/parse.pla: 1059: offset = offset + size -; toolsrc/parse.pla: 1060: until token <> COMMA_TKN - !BYTE $66,$1A ; LLW [26] - !BYTE $B2,$18 ; ADDLW [24] - !BYTE $76,$1A ; SLW [26] -_B1007 - !BYTE $68 ; LAB _D098+0 -_F1329 !WORD _D098+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B1006 - !WORD _B1006-* -_B1005 -; toolsrc/parse.pla: 1061: fin -_B997 -_B998 -; toolsrc/parse.pla: 1062: loop -_B994 - !BYTE $54 ; CALL _C079 -_F1330 !WORD _C079 - !BYTE $2A,$81 ; CB 129 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B995 - !WORD _B995-* - !BYTE $68 ; LAB _D098+0 -_F1331 !WORD _D098+0 - !BYTE $2A,$82 ; CB 130 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B996 - !WORD _B996-* - !BYTE $68 ; LAB _D098+0 -_F1332 !WORD _D098+0 - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ -_B996 -_B995 - !BYTE $4E ; BRTRU _B992 - !WORD _B992-* -_B993 -; toolsrc/parse.pla: 1063: if struclen -; toolsrc/parse.pla: 1064: new_idconst(@strucid, struclen, offset) -; toolsrc/parse.pla: 1065: fin - !BYTE $64,$11 ; LLB [17] - !BYTE $4C ; BRFLS _B1018 - !WORD _B1018-* - !BYTE $28,$00 ; LLA [0] - !BYTE $64,$11 ; LLB [17] - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C049 -_F1333 !WORD _C049 -_B1018 -_B1019 -; toolsrc/parse.pla: 1066: if token <> END_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $68 ; LAB _D098+0 -_F1334 !WORD _D098+0 - !BYTE $2A,$87 ; CB 135 - !BYTE $22 ; BREQ _B1020 - !WORD _B1020-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1335 !WORD _C002 -_B1020 -_B1021 -; toolsrc/parse.pla: 1067: scan -; toolsrc/parse.pla: 1068: end - !BYTE $54 ; CALL _C076 -_F1336 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $5A,$1E ; LEAVE 30 -; toolsrc/parse.pla: 1069: def parse_vars(type, ignore_vars) - ; type -> [0] - ; ignore_vars -> [2] -_C099 ; parse_vars() -; toolsrc/parse.pla: 1070: byte idlen, cfnparms, cfnvals - ; idlen -> [4] - ; cfnparms -> [5] - ; cfnvals -> [6] -; toolsrc/parse.pla: 1071: word size, value, idptr - ; size -> [7] - ; value -> [9] - ; idptr -> [11] -; toolsrc/parse.pla: 1072: -; toolsrc/parse.pla: 1073: when token - !BYTE $58,$0D,$02 ; ENTER 13,2 - !BYTE $68 ; LAB _D098+0 -_F1337 !WORD _D098+0 - !BYTE $52 ; SEL - !WORD _B1023-* -; toolsrc/parse.pla: 1074: is SYSFLAGS_TKN -_B1024 -; toolsrc/parse.pla: 1075: if type & (EXTERN_TYPE | LOCAL_TYPE); exit_err(ERR_INVAL|ERR_GLOBAL|ERR_INIT); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B1025 - !WORD _B1025-* - !BYTE $2C,$84,$08 ; CW 2180 - !BYTE $54 ; CALL _C002 -_F1338 !WORD _C002 -_B1025 -_B1026 -; toolsrc/parse.pla: 1076: modsysflags, drop, drop = parse_constexpr -; toolsrc/parse.pla: 1077: break - !BYTE $54 ; CALL _C089 -_F1339 !WORD _C089 - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $7A ; SAW _D077+0 -_F1340 !WORD _D077+0 - !BYTE $50 ; BRNCH _B1022 - !WORD _B1022-* -; toolsrc/parse.pla: 1078: is CONST_TKN -_B1027 -; toolsrc/parse.pla: 1079: if type & LOCAL_TYPE; exit_err(ERR_INVAL|ERR_GLOBAL|ERR_INIT); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B1028 - !WORD _B1028-* - !BYTE $2C,$84,$08 ; CW 2180 - !BYTE $54 ; CALL _C002 -_F1341 !WORD _C002 -_B1028 -_B1029 -; toolsrc/parse.pla: 1080: if scan <> ID_TKN; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $54 ; CALL _C076 -_F1342 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $22 ; BREQ _B1030 - !WORD _B1030-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F1343 !WORD _C002 -_B1030 -_B1031 -; toolsrc/parse.pla: 1081: idptr = tknptr -; toolsrc/parse.pla: 1082: idlen = tknlen -; toolsrc/parse.pla: 1083: if scan <> SET_TKN; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $6A ; LAW _D101+0 -_F1344 !WORD _D101+0 - !BYTE $76,$0B ; SLW [11] - !BYTE $68 ; LAB _D100+0 -_F1345 !WORD _D100+0 - !BYTE $74,$04 ; SLB [4] - !BYTE $54 ; CALL _C076 -_F1346 !WORD _C076 - !BYTE $2A,$BD ; CB 189 - !BYTE $22 ; BREQ _B1032 - !WORD _B1032-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F1347 !WORD _C002 -_B1032 -_B1033 -; toolsrc/parse.pla: 1084: value, size, type = parse_constexpr -; toolsrc/parse.pla: 1085: new_idconst(idptr, idlen, value) -; toolsrc/parse.pla: 1086: break - !BYTE $54 ; CALL _C089 -_F1348 !WORD _C089 - !BYTE $76,$00 ; SLW [0] - !BYTE $76,$07 ; SLW [7] - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$0B ; LLW [11] - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$09 ; LLW [9] - !BYTE $54 ; CALL _C049 -_F1349 !WORD _C049 - !BYTE $50 ; BRNCH _B1022 - !WORD _B1022-* -; toolsrc/parse.pla: 1087: is STRUC_TKN -_B1034 -; toolsrc/parse.pla: 1088: parse_struc -; toolsrc/parse.pla: 1089: break - !BYTE $54 ; CALL _C098 -_F1350 !WORD _C098 - !BYTE $50 ; BRNCH _B1022 - !WORD _B1022-* -; toolsrc/parse.pla: 1090: is EXPORT_TKN -_B1035 -; toolsrc/parse.pla: 1091: if type & (EXTERN_TYPE|LOCAL_TYPE); exit_err(ERR_INVAL|ERR_LOCAL|ERR_SYNTAX); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B1036 - !WORD _B1036-* - !BYTE $2C,$44,$80 ; CW 32836 - !BYTE $54 ; CALL _C002 -_F1351 !WORD _C002 -_B1036 -_B1037 -; toolsrc/parse.pla: 1092: type = EXPORT_TYPE -; toolsrc/parse.pla: 1093: idptr = tknptr -; toolsrc/parse.pla: 1094: if scan <> BYTE_TKN and token <> WORD_TKN // This could be an exported definition -; toolsrc/parse.pla: 1095: rewind(idptr) -; toolsrc/parse.pla: 1096: scan -; toolsrc/parse.pla: 1097: return FALSE - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D101+0 -_F1352 !WORD _D101+0 - !BYTE $76,$0B ; SLW [11] - !BYTE $54 ; CALL _C076 -_F1353 !WORD _C076 - !BYTE $2A,$81 ; CB 129 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B1038 - !WORD _B1038-* - !BYTE $68 ; LAB _D098+0 -_F1354 !WORD _D098+0 - !BYTE $2A,$82 ; CB 130 - !BYTE $42 ; ISNE -_B1038 - !BYTE $4C ; BRFLS _B1039 - !WORD _B1039-* - !BYTE $66,$0B ; LLW [11] - !BYTE $54 ; CALL _C077 -_F1355 !WORD _C077 - !BYTE $54 ; CALL _C076 -_F1356 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$0D ; LEAVE 13 -; toolsrc/parse.pla: 1098: fin -_B1039 -_B1040 -; toolsrc/parse.pla: 1099: // Fall through to BYTE or WORD declaration -; toolsrc/parse.pla: 1100: is BYTE_TKN -_B1041 -; toolsrc/parse.pla: 1101: is WORD_TKN -_B1042 -; toolsrc/parse.pla: 1102: type = type | (token == BYTE_TKN ?? BYTE_TYPE :: WORD_TYPE) -; toolsrc/parse.pla: 1103: size = 1 -; toolsrc/parse.pla: 1104: if scan == OPEN_BRACKET_TKN // Get basesize for data elements -; toolsrc/parse.pla: 1105: size, drop, drop = parse_constexpr -; toolsrc/parse.pla: 1106: if token <> CLOSE_BRACKET_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $68 ; LAB _D098+0 -_F1357 !WORD _D098+0 - !BYTE $2A,$81 ; CB 129 - !BYTE $24 ; BRNE _B1043 - !WORD _B1043-* - !BYTE $04 ; CN 2 - !BYTE $50 ; BRNCH _B1044 - !WORD _B1044-* -_B1043 - !BYTE $08 ; CN 4 -_B1044 - !BYTE $96 ; OR - !BYTE $76,$00 ; SLW [0] - !BYTE $02 ; CN 1 - !BYTE $76,$07 ; SLW [7] - !BYTE $54 ; CALL _C076 -_F1358 !WORD _C076 - !BYTE $2A,$DB ; CB 219 - !BYTE $24 ; BRNE _B1045 - !WORD _B1045-* - !BYTE $54 ; CALL _C089 -_F1359 !WORD _C089 - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $76,$07 ; SLW [7] - !BYTE $68 ; LAB _D098+0 -_F1360 !WORD _D098+0 - !BYTE $2A,$DD ; CB 221 - !BYTE $22 ; BREQ _B1047 - !WORD _B1047-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1361 !WORD _C002 -_B1047 -_B1048 -; toolsrc/parse.pla: 1107: else - !BYTE $50 ; BRNCH _B1046 - !WORD _B1046-* -_B1045 -; toolsrc/parse.pla: 1108: rewind(tknptr) -; toolsrc/parse.pla: 1109: fin - !BYTE $6A ; LAW _D101+0 -_F1362 !WORD _D101+0 - !BYTE $54 ; CALL _C077 -_F1363 !WORD _C077 -_B1046 -; toolsrc/parse.pla: 1110: if type & WORD_TYPE; size = size * 2; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B1049 - !WORD _B1049-* - !BYTE $66,$07 ; LLW [7] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$07 ; SLW [7] -_B1049 -_B1050 -; toolsrc/parse.pla: 1111: repeat; parse_var(type, size, ignore_vars); until token <> COMMA_TKN -_B1052 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$07 ; LLW [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C097 -_F1364 !WORD _C097 -_B1053 - !BYTE $68 ; LAB _D098+0 -_F1365 !WORD _D098+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B1052 - !WORD _B1052-* -_B1051 -; toolsrc/parse.pla: 1112: break - !BYTE $50 ; BRNCH _B1022 - !WORD _B1022-* -; toolsrc/parse.pla: 1113: is PREDEF_TKN -_B1054 -; toolsrc/parse.pla: 1114: repeat -_B1056 -; toolsrc/parse.pla: 1115: if scan == ID_TKN -; toolsrc/parse.pla: 1116: type = type | PREDEF_TYPE -; toolsrc/parse.pla: 1117: idptr = tknptr -; toolsrc/parse.pla: 1118: idlen = tknlen -; toolsrc/parse.pla: 1119: cfnparms = 0 -; toolsrc/parse.pla: 1120: cfnvals = 1 // Default to one return value for compatibility -; toolsrc/parse.pla: 1121: if scan == OPEN_PAREN_TKN -; toolsrc/parse.pla: 1122: repeat - !BYTE $54 ; CALL _C076 -_F1366 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B1058 - !WORD _B1058-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $96 ; OR - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D101+0 -_F1367 !WORD _D101+0 - !BYTE $76,$0B ; SLW [11] - !BYTE $68 ; LAB _D100+0 -_F1368 !WORD _D100+0 - !BYTE $74,$04 ; SLB [4] - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $02 ; CN 1 - !BYTE $74,$06 ; SLB [6] - !BYTE $54 ; CALL _C076 -_F1369 !WORD _C076 - !BYTE $2A,$A8 ; CB 168 - !BYTE $24 ; BRNE _B1060 - !WORD _B1060-* -_B1063 -; toolsrc/parse.pla: 1123: if scan == ID_TKN -; toolsrc/parse.pla: 1124: cfnparms++ - !BYTE $54 ; CALL _C076 -_F1370 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B1065 - !WORD _B1065-* - !BYTE $64,$05 ; LLB [5] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 1125: scan -; toolsrc/parse.pla: 1126: fin - !BYTE $74,$05 ; SLB [5] - !BYTE $54 ; CALL _C076 -_F1371 !WORD _C076 - !BYTE $30 ; DROP -_B1065 -_B1066 -; toolsrc/parse.pla: 1127: until token <> COMMA_TKN -_B1064 - !BYTE $68 ; LAB _D098+0 -_F1372 !WORD _D098+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B1063 - !WORD _B1063-* -_B1062 -; toolsrc/parse.pla: 1128: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D098+0 -_F1373 !WORD _D098+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B1067 - !WORD _B1067-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1374 !WORD _C002 -_B1067 -_B1068 -; toolsrc/parse.pla: 1129: scan -; toolsrc/parse.pla: 1130: fin - !BYTE $54 ; CALL _C076 -_F1375 !WORD _C076 - !BYTE $30 ; DROP -_B1060 -_B1061 -; toolsrc/parse.pla: 1131: if token == POUND_TKN -; toolsrc/parse.pla: 1132: if not parse_const(@cfnvals); exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $68 ; LAB _D098+0 -_F1376 !WORD _D098+0 - !BYTE $2A,$A3 ; CB 163 - !BYTE $24 ; BRNE _B1069 - !WORD _B1069-* - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C090 -_F1377 !WORD _C090 - !BYTE $4E ; BRTRU _B1071 - !WORD _B1071-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F1378 !WORD _C002 -_B1071 -_B1072 -; toolsrc/parse.pla: 1133: scan -; toolsrc/parse.pla: 1134: fin - !BYTE $54 ; CALL _C076 -_F1379 !WORD _C076 - !BYTE $30 ; DROP -_B1069 -_B1070 -; toolsrc/parse.pla: 1135: new_idfunc(idptr, idlen, type, new_tag(type & EXTERN_TYPE ?? EXTERN_FIXUP|WORD_FIXUP :: WORD_FIXUP), cfnparms, cfnvals) -; toolsrc/parse.pla: 1136: else - !BYTE $66,$0B ; LLW [11] - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B1075 - !WORD _B1075-* - !BYTE $2A,$90 ; CB 144 - !BYTE $50 ; BRNCH _B1076 - !WORD _B1076-* -_B1075 - !BYTE $2A,$80 ; CB 128 -_B1076 - !BYTE $54 ; CALL _C004 -_F1380 !WORD _C004 - !BYTE $64,$05 ; LLB [5] - !BYTE $64,$06 ; LLB [6] - !BYTE $54 ; CALL _C050 -_F1381 !WORD _C050 - !BYTE $50 ; BRNCH _B1059 - !WORD _B1059-* -_B1058 -; toolsrc/parse.pla: 1137: exit_err(ERR_MISS|ERR_ID) -; toolsrc/parse.pla: 1138: fin - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F1382 !WORD _C002 -_B1059 -; toolsrc/parse.pla: 1139: until token <> COMMA_TKN -_B1057 - !BYTE $68 ; LAB _D098+0 -_F1383 !WORD _D098+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B1056 - !WORD _B1056-* -_B1055 -; toolsrc/parse.pla: 1140: break - !BYTE $50 ; BRNCH _B1022 - !WORD _B1022-* -; toolsrc/parse.pla: 1141: is IMPORT_TKN -_B1077 -; toolsrc/parse.pla: 1142: if codeptr <> codebuff or type <> GLOBAL_TYPE; exit_err(ERR_INVAL|ERR_INIT); fin - !BYTE $6A ; LAW _D075+0 -_F1384 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F1385 !WORD _D074+0 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B1078 - !WORD _B1078-* - !BYTE $66,$00 ; LLW [0] -_B1078 - !BYTE $4C ; BRFLS _B1079 - !WORD _B1079-* - !BYTE $2C,$04,$08 ; CW 2052 - !BYTE $54 ; CALL _C002 -_F1386 !WORD _C002 -_B1079 -_B1080 -; toolsrc/parse.pla: 1143: parse_mods -; toolsrc/parse.pla: 1144: break - !BYTE $54 ; CALL _P000 -_F1387 !WORD _P000 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B1022 - !WORD _B1022-* -; toolsrc/parse.pla: 1145: is EOL_TKN -_B1081 -; toolsrc/parse.pla: 1146: break - !BYTE $50 ; BRNCH _B1022 - !WORD _B1022-* -; toolsrc/parse.pla: 1147: otherwise -_B1023 - !BYTE $09 ; CASEBLOCK - !WORD $0002 - !WORD _B1081-* - !WORD $0080 - !WORD _B1027-* - !WORD $0081 - !WORD _B1041-* - !WORD $0082 - !WORD _B1042-* - !WORD $0096 - !WORD _B1034-* - !WORD $0097 - !WORD _B1024-* - !WORD $009C - !WORD _B1054-* - !WORD $009D - !WORD _B1077-* - !WORD $009E - !WORD _B1035-* -; toolsrc/parse.pla: 1148: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$0D ; LEAVE 13 -; toolsrc/parse.pla: 1149: wend -_B1022 -; toolsrc/parse.pla: 1150: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5A,$0D ; LEAVE 13 -; toolsrc/parse.pla: 1151: end -; toolsrc/parse.pla: 1152: def parse_mods -_P000 ; parse_mods() -_C100 ; parse_mods() -; toolsrc/parse.pla: 1153: byte i, ignore_emit - ; i -> [0] - ; ignore_emit -> [1] -; toolsrc/parse.pla: 1154: -; toolsrc/parse.pla: 1155: if token == IMPORT_TKN - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/parse.pla: 1156: if scan <> ID_TKN; exit_err(ERR_MISS|ERR_ID); fin - !BYTE $68 ; LAB _D098+0 -_F1388 !WORD _D098+0 - !BYTE $2A,$9D ; CB 157 - !BYTE $24 ; BRNE _B1082 - !WORD _B1082-* - !BYTE $54 ; CALL _C076 -_F1389 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $22 ; BREQ _B1084 - !WORD _B1084-* - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F1390 !WORD _C002 -_B1084 -_B1085 -; toolsrc/parse.pla: 1157: if tknlen == modfile -; toolsrc/parse.pla: 1158: ignore_emit = TRUE -; toolsrc/parse.pla: 1159: for i = 1 to tknlen - !BYTE $68 ; LAB _D100+0 -_F1391 !WORD _D100+0 - !BYTE $68 ; LAB _D092+0 -_F1392 !WORD _D092+0 - !BYTE $24 ; BRNE _B1086 - !WORD _B1086-* - !BYTE $20 ; MINUS ONE - !BYTE $74,$01 ; SLB [1] - !BYTE $68 ; LAB _D100+0 -_F1393 !WORD _D100+0 - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B1088 - !WORD _B1088-* -_B1089 - !BYTE $6C,$00 ; DLB [0] -; toolsrc/parse.pla: 1160: if toupper(tknptr->[i - 1]) <> modfile[i]; ignore_emit = FALSE; break; fin - !BYTE $6A ; LAW _D101+0 -_F1394 !WORD _D101+0 - !BYTE $64,$00 ; LLB [0] - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F1395 !WORD 0 - !BYTE $26 ; LA _D092+0 -_F1396 !WORD _D092+0 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B1091 - !WORD _B1091-* - !BYTE $00 ; CN 0 - !BYTE $74,$01 ; SLB [1] - !BYTE $50 ; BRNCH _B1088 - !WORD _B1088-* -_B1091 -_B1092 -; toolsrc/parse.pla: 1161: next -_B1090 - !BYTE $A4 ; INCBRLE _B1089 - !WORD _B1089-* -_B1088 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 1162: else - !BYTE $50 ; BRNCH _B1087 - !WORD _B1087-* -_B1086 -; toolsrc/parse.pla: 1163: ignore_emit = FALSE -; toolsrc/parse.pla: 1164: fin - !BYTE $00 ; CN 0 - !BYTE $74,$01 ; SLB [1] -_B1087 -; toolsrc/parse.pla: 1165: if not ignore_emit -; toolsrc/parse.pla: 1166: new_moddep(tknptr, tknlen) -; toolsrc/parse.pla: 1167: fin - !BYTE $64,$01 ; LLB [1] - !BYTE $4E ; BRTRU _B1093 - !WORD _B1093-* - !BYTE $6A ; LAW _D101+0 -_F1397 !WORD _D101+0 - !BYTE $68 ; LAB _D100+0 -_F1398 !WORD _D100+0 - !BYTE $54 ; CALL _C057 -_F1399 !WORD _C057 -_B1093 -_B1094 -; toolsrc/parse.pla: 1168: scan -; toolsrc/parse.pla: 1169: while parse_vars(EXTERN_TYPE, ignore_emit); nextln; loop - !BYTE $54 ; CALL _C076 -_F1400 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B1097 - !WORD _B1097-* -_B1095 - !BYTE $54 ; CALL _C079 -_F1401 !WORD _C079 - !BYTE $30 ; DROP -_B1097 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C099 -_F1402 !WORD _C099 - !BYTE $4E ; BRTRU _B1095 - !WORD _B1095-* -_B1096 -; toolsrc/parse.pla: 1170: if token <> END_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $68 ; LAB _D098+0 -_F1403 !WORD _D098+0 - !BYTE $2A,$87 ; CB 135 - !BYTE $22 ; BREQ _B1098 - !WORD _B1098-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1404 !WORD _C002 -_B1098 -_B1099 -; toolsrc/parse.pla: 1171: scan -; toolsrc/parse.pla: 1172: fin - !BYTE $54 ; CALL _C076 -_F1405 !WORD _C076 - !BYTE $30 ; DROP -_B1082 -_B1083 -; toolsrc/parse.pla: 1173: return token == EOL_TKN - !BYTE $68 ; LAB _D098+0 -_F1406 !WORD _D098+0 - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/parse.pla: 1174: end -; toolsrc/parse.pla: 1175: def parse_lambda -_P004 ; parse_lambda() -_C101 ; parse_lambda() -; toolsrc/parse.pla: 1176: word func_tag - ; func_tag -> [0] -; toolsrc/parse.pla: 1177: byte cfnparms - ; cfnparms -> [2] -; toolsrc/parse.pla: 1178: byte lambda_id[4] - ; lambda_id -> [3] -; toolsrc/parse.pla: 1179: -; toolsrc/parse.pla: 1180: if not infunc; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $58,$07,$00 ; ENTER 7,0 - !BYTE $68 ; LAB _D107+0 -_F1407 !WORD _D107+0 - !BYTE $4E ; BRTRU _B1100 - !WORD _B1100-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1408 !WORD _C002 -_B1100 -_B1101 -; toolsrc/parse.pla: 1181: if inlambda; puts("Nested lambdas!\n"); exit_err(0); fin - !BYTE $68 ; LAB _D108+0 -_F1409 !WORD _D108+0 - !BYTE $4C ; BRFLS _B1102 - !WORD _B1102-* - !BYTE $2E ; CS - !BYTE $10 - !BYTE $4E,$65,$73,$74,$65,$64,$20,$6C - !BYTE $61,$6D,$62,$64,$61,$73,$21,$0D - !BYTE $54 ; CALL _X004 -_F1410 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F1411 !WORD _C002 -_B1102 -_B1103 -; toolsrc/parse.pla: 1182: // -; toolsrc/parse.pla: 1183: // Parse parameters and return value count -; toolsrc/parse.pla: 1184: // -; toolsrc/parse.pla: 1185: save_idlocal -; toolsrc/parse.pla: 1186: init_idlocal -; toolsrc/parse.pla: 1187: cfnparms = 0 -; toolsrc/parse.pla: 1188: inlambda = TRUE -; toolsrc/parse.pla: 1189: if scan == OPEN_PAREN_TKN -; toolsrc/parse.pla: 1190: repeat - !BYTE $54 ; CALL _C055 -_F1412 !WORD _C055 - !BYTE $54 ; CALL _C054 -_F1413 !WORD _C054 - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $20 ; MINUS ONE - !BYTE $78 ; SAB _D108+0 -_F1414 !WORD _D108+0 - !BYTE $54 ; CALL _C076 -_F1415 !WORD _C076 - !BYTE $2A,$A8 ; CB 168 - !BYTE $24 ; BRNE _B1104 - !WORD _B1104-* -_B1107 -; toolsrc/parse.pla: 1191: if scan == ID_TKN -; toolsrc/parse.pla: 1192: cfnparms++ - !BYTE $54 ; CALL _C076 -_F1416 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B1109 - !WORD _B1109-* - !BYTE $64,$02 ; LLB [2] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 1193: new_idlocal(tknptr, tknlen, WORD_TYPE, 2) -; toolsrc/parse.pla: 1194: scan -; toolsrc/parse.pla: 1195: fin - !BYTE $74,$02 ; SLB [2] - !BYTE $6A ; LAW _D101+0 -_F1417 !WORD _D101+0 - !BYTE $68 ; LAB _D100+0 -_F1418 !WORD _D100+0 - !BYTE $08 ; CN 4 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C053 -_F1419 !WORD _C053 - !BYTE $54 ; CALL _C076 -_F1420 !WORD _C076 - !BYTE $30 ; DROP -_B1109 -_B1110 -; toolsrc/parse.pla: 1196: until token <> COMMA_TKN -_B1108 - !BYTE $68 ; LAB _D098+0 -_F1421 !WORD _D098+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B1107 - !WORD _B1107-* -_B1106 -; toolsrc/parse.pla: 1197: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D098+0 -_F1422 !WORD _D098+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B1111 - !WORD _B1111-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1423 !WORD _C002 -_B1111 -_B1112 -; toolsrc/parse.pla: 1198: else - !BYTE $50 ; BRNCH _B1105 - !WORD _B1105-* -_B1104 -; toolsrc/parse.pla: 1199: exit_err(ERR_MISS|ERR_ID) -; toolsrc/parse.pla: 1200: fin - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F1424 !WORD _C002 -_B1105 -; toolsrc/parse.pla: 1201: if lookahead == OPEN_PAREN_TKN -; toolsrc/parse.pla: 1202: scan -; toolsrc/parse.pla: 1203: lambda_seq[lambda_cnt], drop = parse_list -; toolsrc/parse.pla: 1204: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $54 ; CALL _C078 -_F1425 !WORD _C078 - !BYTE $2A,$A8 ; CB 168 - !BYTE $24 ; BRNE _B1113 - !WORD _B1113-* - !BYTE $54 ; CALL _C076 -_F1426 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C091 -_F1427 !WORD _C091 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D117+0 -_F1428 !WORD _D117+0 - !BYTE $BC ; IDXAB _D114+0 -_F1429 !WORD _D114+0 - !BYTE $72 ; SW - !BYTE $68 ; LAB _D098+0 -_F1430 !WORD _D098+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B1115 - !WORD _B1115-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1431 !WORD _C002 -_B1115 -_B1116 -; toolsrc/parse.pla: 1205: else - !BYTE $50 ; BRNCH _B1114 - !WORD _B1114-* -_B1113 -; toolsrc/parse.pla: 1206: lambda_seq[lambda_cnt], drop = parse_expr(NULL) -; toolsrc/parse.pla: 1207: rewind(tknptr) -; toolsrc/parse.pla: 1208: fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1432 !WORD _C094 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D117+0 -_F1433 !WORD _D117+0 - !BYTE $BC ; IDXAB _D114+0 -_F1434 !WORD _D114+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D101+0 -_F1435 !WORD _D101+0 - !BYTE $54 ; CALL _C077 -_F1436 !WORD _C077 -_B1114 -; toolsrc/parse.pla: 1209: // -; toolsrc/parse.pla: 1210: // Build an anonymous ID string for the Lambda function -; toolsrc/parse.pla: 1211: // -; toolsrc/parse.pla: 1212: lambda_id:0 = 3 | ('&' << 8) -; toolsrc/parse.pla: 1213: lambda_id.2 = ((lambda_num >> 3) & $07) + '0' -; toolsrc/parse.pla: 1214: lambda_id.3 = (lambda_num & $07) + '0' -; toolsrc/parse.pla: 1215: lambda_num++ - !BYTE $2C,$03,$26 ; CW 9731 - !BYTE $76,$03 ; SLW [3] - !BYTE $68 ; LAB _D115+0 -_F1437 !WORD _D115+0 - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $3C,$07 ; ANDI 7 - !BYTE $38,$30 ; ADDI 48 - !BYTE $74,$05 ; SLB [5] - !BYTE $68 ; LAB _D115+0 -_F1438 !WORD _D115+0 - !BYTE $3C,$07 ; ANDI 7 - !BYTE $38,$30 ; ADDI 48 - !BYTE $74,$06 ; SLB [6] - !BYTE $68 ; LAB _D115+0 -_F1439 !WORD _D115+0 - !BYTE $8C ; INCR -; toolsrc/parse.pla: 1216: if lookup_idglobal(@lambda_id.1, 3) -; toolsrc/parse.pla: 1217: // -; toolsrc/parse.pla: 1218: // Lambda ID already exists (from failed scanning for '=') -; toolsrc/parse.pla: 1219: // -; toolsrc/parse.pla: 1220: func_tag = lambda_tag[lambda_cnt] -; toolsrc/parse.pla: 1221: set_idfunc(@lambda_id.1, 3, func_tag, cfnparms, 1) // Override any predef type & tag -; toolsrc/parse.pla: 1222: else - !BYTE $78 ; SAB _D115+0 -_F1440 !WORD _D115+0 - !BYTE $28,$04 ; LLA [4] - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C045 -_F1441 !WORD _C045 - !BYTE $4C ; BRFLS _B1117 - !WORD _B1117-* - !BYTE $26 ; LA _D118+0 -_F1442 !WORD _D118+0 - !BYTE $BC ; IDXAB _D114+0 -_F1443 !WORD _D114+0 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $28,$04 ; LLA [4] - !BYTE $06 ; CN 3 - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C051 -_F1444 !WORD _C051 - !BYTE $50 ; BRNCH _B1118 - !WORD _B1118-* -_B1117 -; toolsrc/parse.pla: 1223: // -; toolsrc/parse.pla: 1224: // Creat new Lambda ID -; toolsrc/parse.pla: 1225: // -; toolsrc/parse.pla: 1226: func_tag = new_tag(WORD_FIXUP) -; toolsrc/parse.pla: 1227: lambda_tag[lambda_cnt] = func_tag -; toolsrc/parse.pla: 1228: lambda_cparms[lambda_cnt] = cfnparms -; toolsrc/parse.pla: 1229: new_idfunc(@lambda_id.1, 3, FUNC_TYPE, func_tag, cfnparms, 1) -; toolsrc/parse.pla: 1230: fin - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F1445 !WORD _C004 - !BYTE $6E,$00 ; DLW [0] - !BYTE $26 ; LA _D118+0 -_F1446 !WORD _D118+0 - !BYTE $BC ; IDXAB _D114+0 -_F1447 !WORD _D114+0 - !BYTE $72 ; SW - !BYTE $64,$02 ; LLB [2] - !BYTE $26 ; LA _D116+0 -_F1448 !WORD _D116+0 - !BYTE $B4 ; ADDAB _D114+0 -_F1449 !WORD _D114+0 - !BYTE $70 ; SB - !BYTE $28,$04 ; LLA [4] - !BYTE $06 ; CN 3 - !BYTE $10 ; CN 8 - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C050 -_F1450 !WORD _C050 -_B1118 -; toolsrc/parse.pla: 1231: lambda_cnt++ - !BYTE $68 ; LAB _D114+0 -_F1451 !WORD _D114+0 - !BYTE $8C ; INCR -; toolsrc/parse.pla: 1232: if lambda_cnt >= LAMBDANUM; parse_warn("Lambda function overflow"); fin - !BYTE $7C ; DAB _D114+0 -_F1452 !WORD _D114+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B1119 - !WORD _B1119-* - !BYTE $2E ; CS - !BYTE $18 - !BYTE $4C,$61,$6D,$62,$64,$61,$20,$66 - !BYTE $75,$6E,$63,$74,$69,$6F,$6E,$20 - !BYTE $6F,$76,$65,$72,$66,$6C,$6F,$77 - !BYTE $54 ; CALL _C003 -_F1453 !WORD _C003 -_B1119 -_B1120 -; toolsrc/parse.pla: 1233: inlambda = FALSE -; toolsrc/parse.pla: 1234: restore_idlocal -; toolsrc/parse.pla: 1235: return func_tag - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D108+0 -_F1454 !WORD _D108+0 - !BYTE $54 ; CALL _C056 -_F1455 !WORD _C056 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/parse.pla: 1236: end -; toolsrc/parse.pla: 1237: def parse_defs -_C102 ; parse_defs() -; toolsrc/parse.pla: 1238: byte idlen, cfnparms, cfnvals, defstr[17] - ; idlen -> [0] - ; cfnparms -> [1] - ; cfnvals -> [2] - ; defstr -> [3] -; toolsrc/parse.pla: 1239: word type, idstr, func_tag, idptr, defcodeptr - ; type -> [20] - ; idstr -> [22] - ; func_tag -> [24] - ; idptr -> [26] - ; defcodeptr -> [28] -; toolsrc/parse.pla: 1240: type = FUNC_TYPE - !BYTE $58,$1E,$00 ; ENTER 30,0 -; toolsrc/parse.pla: 1241: when token - !BYTE $10 ; CN 8 - !BYTE $76,$14 ; SLW [20] - !BYTE $68 ; LAB _D098+0 -_F1456 !WORD _D098+0 - !BYTE $52 ; SEL - !WORD _B1122-* -; toolsrc/parse.pla: 1242: is CONST_TKN -_B1123 -; toolsrc/parse.pla: 1243: is STRUC_TKN -_B1124 -; toolsrc/parse.pla: 1244: return parse_vars(GLOBAL_TYPE, FALSE) - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C099 -_F1457 !WORD _C099 - !BYTE $5A,$1E ; LEAVE 30 -; toolsrc/parse.pla: 1245: is EXPORT_TKN -_B1125 -; toolsrc/parse.pla: 1246: if scan <> DEF_TKN; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $54 ; CALL _C076 -_F1458 !WORD _C076 - !BYTE $2A,$95 ; CB 149 - !BYTE $22 ; BREQ _B1126 - !WORD _B1126-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1459 !WORD _C002 -_B1126 -_B1127 -; toolsrc/parse.pla: 1247: type = type | EXPORT_TYPE -; toolsrc/parse.pla: 1248: is DEF_TKN - !BYTE $66,$14 ; LLW [20] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $96 ; OR - !BYTE $76,$14 ; SLW [20] -_B1128 -; toolsrc/parse.pla: 1249: if scan <> ID_TKN; exit_err(ERR_INVAL|ERR_ID); fin - !BYTE $54 ; CALL _C076 -_F1460 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $22 ; BREQ _B1129 - !WORD _B1129-* - !BYTE $2C,$04,$02 ; CW 516 - !BYTE $54 ; CALL _C002 -_F1461 !WORD _C002 -_B1129 -_B1130 -; toolsrc/parse.pla: 1250: lambda_cnt = 0 -; toolsrc/parse.pla: 1251: cfnparms = 0 -; toolsrc/parse.pla: 1252: infuncvals = 1 -; toolsrc/parse.pla: 1253: infunc = TRUE -; toolsrc/parse.pla: 1254: idstr = tknptr -; toolsrc/parse.pla: 1255: idlen = tknlen -; toolsrc/parse.pla: 1256: init_idlocal -; toolsrc/parse.pla: 1257: if scan == OPEN_PAREN_TKN -; toolsrc/parse.pla: 1258: repeat - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D114+0 -_F1462 !WORD _D114+0 - !BYTE $00 ; CN 0 - !BYTE $74,$01 ; SLB [1] - !BYTE $02 ; CN 1 - !BYTE $7A ; SAW _D111+0 -_F1463 !WORD _D111+0 - !BYTE $20 ; MINUS ONE - !BYTE $78 ; SAB _D107+0 -_F1464 !WORD _D107+0 - !BYTE $6A ; LAW _D101+0 -_F1465 !WORD _D101+0 - !BYTE $76,$16 ; SLW [22] - !BYTE $68 ; LAB _D100+0 -_F1466 !WORD _D100+0 - !BYTE $74,$00 ; SLB [0] - !BYTE $54 ; CALL _C054 -_F1467 !WORD _C054 - !BYTE $54 ; CALL _C076 -_F1468 !WORD _C076 - !BYTE $2A,$A8 ; CB 168 - !BYTE $24 ; BRNE _B1131 - !WORD _B1131-* -_B1134 -; toolsrc/parse.pla: 1259: if scan == ID_TKN -; toolsrc/parse.pla: 1260: cfnparms++ - !BYTE $54 ; CALL _C076 -_F1469 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B1136 - !WORD _B1136-* - !BYTE $64,$01 ; LLB [1] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 1261: new_idlocal(tknptr, tknlen, WORD_TYPE, 2) -; toolsrc/parse.pla: 1262: scan -; toolsrc/parse.pla: 1263: fin - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D101+0 -_F1470 !WORD _D101+0 - !BYTE $68 ; LAB _D100+0 -_F1471 !WORD _D100+0 - !BYTE $08 ; CN 4 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C053 -_F1472 !WORD _C053 - !BYTE $54 ; CALL _C076 -_F1473 !WORD _C076 - !BYTE $30 ; DROP -_B1136 -_B1137 -; toolsrc/parse.pla: 1264: until token <> COMMA_TKN -_B1135 - !BYTE $68 ; LAB _D098+0 -_F1474 !WORD _D098+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B1134 - !WORD _B1134-* -_B1133 -; toolsrc/parse.pla: 1265: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D098+0 -_F1475 !WORD _D098+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B1138 - !WORD _B1138-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1476 !WORD _C002 -_B1138 -_B1139 -; toolsrc/parse.pla: 1266: scan -; toolsrc/parse.pla: 1267: fin - !BYTE $54 ; CALL _C076 -_F1477 !WORD _C076 - !BYTE $30 ; DROP -_B1131 -_B1132 -; toolsrc/parse.pla: 1268: if token == POUND_TKN -; toolsrc/parse.pla: 1269: if not parse_const(@infuncvals); exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $68 ; LAB _D098+0 -_F1478 !WORD _D098+0 - !BYTE $2A,$A3 ; CB 163 - !BYTE $24 ; BRNE _B1140 - !WORD _B1140-* - !BYTE $26 ; LA _D111+0 -_F1479 !WORD _D111+0 - !BYTE $54 ; CALL _C090 -_F1480 !WORD _C090 - !BYTE $4E ; BRTRU _B1142 - !WORD _B1142-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F1481 !WORD _C002 -_B1142 -_B1143 -; toolsrc/parse.pla: 1270: scan -; toolsrc/parse.pla: 1271: fin - !BYTE $54 ; CALL _C076 -_F1482 !WORD _C076 - !BYTE $30 ; DROP -_B1140 -_B1141 -; toolsrc/parse.pla: 1272: idptr = lookup_idglobal(idstr, idlen) -; toolsrc/parse.pla: 1273: if idptr -; toolsrc/parse.pla: 1274: if not idptr=>idtype & PREDEF_TYPE; exit_err(ERR_DUP|ERR_ID); fin - !BYTE $66,$16 ; LLW [22] - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _C045 -_F1483 !WORD _C045 - !BYTE $6E,$1A ; DLW [26] - !BYTE $4C ; BRFLS _B1144 - !WORD _B1144-* - !BYTE $66,$1A ; LLW [26] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $80 ; NOT - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B1146 - !WORD _B1146-* - !BYTE $2C,$01,$02 ; CW 513 - !BYTE $54 ; CALL _C002 -_F1484 !WORD _C002 -_B1146 -_B1147 -; toolsrc/parse.pla: 1275: if idptr->funcparms <> cfnparms or idptr->funcvals <> infuncvals; exit_err(ERR_DUP|ERR_CODE|ERR_ID); fin - !BYTE $66,$1A ; LLW [26] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $64,$01 ; LLB [1] - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B1148 - !WORD _B1148-* - !BYTE $66,$1A ; LLW [26] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $6A ; LAW _D111+0 -_F1485 !WORD _D111+0 - !BYTE $42 ; ISNE -_B1148 - !BYTE $4C ; BRFLS _B1149 - !WORD _B1149-* - !BYTE $2C,$01,$03 ; CW 769 - !BYTE $54 ; CALL _C002 -_F1486 !WORD _C002 -_B1149 -_B1150 -; toolsrc/parse.pla: 1276: func_tag = idptr=>idval -; toolsrc/parse.pla: 1277: idptr=>idtype = idptr=>idtype | type -; toolsrc/parse.pla: 1278: else - !BYTE $66,$1A ; LLW [26] - !BYTE $62 ; LW - !BYTE $76,$18 ; SLW [24] - !BYTE $66,$1A ; LLW [26] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$14 ; LLW [20] - !BYTE $96 ; OR - !BYTE $66,$1A ; LLW [26] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B1145 - !WORD _B1145-* -_B1144 -; toolsrc/parse.pla: 1279: func_tag = new_tag(WORD_FIXUP) -; toolsrc/parse.pla: 1280: new_idfunc(idstr, idlen, type, func_tag, cfnparms, infuncvals) -; toolsrc/parse.pla: 1281: fin - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F1487 !WORD _C004 - !BYTE $76,$18 ; SLW [24] - !BYTE $66,$16 ; LLW [22] - !BYTE $64,$00 ; LLB [0] - !BYTE $66,$14 ; LLW [20] - !BYTE $66,$18 ; LLW [24] - !BYTE $64,$01 ; LLB [1] - !BYTE $6A ; LAW _D111+0 -_F1488 !WORD _D111+0 - !BYTE $54 ; CALL _C050 -_F1489 !WORD _C050 -_B1145 -; toolsrc/parse.pla: 1282: // -; toolsrc/parse.pla: 1283: // Print def name -; toolsrc/parse.pla: 1284: // -; toolsrc/parse.pla: 1285: nametostr(idstr, idlen > 16 ?? 16 :: idlen, @defstr); puts(@defstr); putc(':') -; toolsrc/parse.pla: 1286: defcodeptr = codeptr -; toolsrc/parse.pla: 1287: emit_tag(func_tag) -; toolsrc/parse.pla: 1288: new_dfd(func_tag) -; toolsrc/parse.pla: 1289: while parse_vars(LOCAL_TYPE, FALSE); nextln; loop - !BYTE $66,$16 ; LLW [22] - !BYTE $64,$00 ; LLB [0] - !BYTE $2A,$10 ; CB 16 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B1153 - !WORD _B1153-* - !BYTE $2A,$10 ; CB 16 - !BYTE $50 ; BRNCH _B1154 - !WORD _B1154-* -_B1153 - !BYTE $64,$00 ; LLB [0] -_B1154 - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _C000 -_F1490 !WORD _C000 - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _X004 -_F1491 !WORD 0 - !BYTE $2A,$3A ; CB 58 - !BYTE $54 ; CALL _X002 -_F1492 !WORD 0 - !BYTE $6A ; LAW _D075+0 -_F1493 !WORD _D075+0 - !BYTE $76,$1C ; SLW [28] - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C039 -_F1494 !WORD _C039 - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C058 -_F1495 !WORD _C058 - !BYTE $50 ; BRNCH _B1157 - !WORD _B1157-* -_B1155 - !BYTE $54 ; CALL _C079 -_F1496 !WORD _C079 - !BYTE $30 ; DROP -_B1157 - !BYTE $2A,$10 ; CB 16 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C099 -_F1497 !WORD _C099 - !BYTE $4E ; BRTRU _B1155 - !WORD _B1155-* -_B1156 -; toolsrc/parse.pla: 1290: emit_enter(cfnparms) -; toolsrc/parse.pla: 1291: prevstmnt = 0 -; toolsrc/parse.pla: 1292: while parse_stmnt; nextln; loop - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C038 -_F1498 !WORD _C038 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D110+0 -_F1499 !WORD _D110+0 - !BYTE $50 ; BRNCH _B1160 - !WORD _B1160-* -_B1158 - !BYTE $54 ; CALL _C079 -_F1500 !WORD _C079 - !BYTE $30 ; DROP -_B1160 - !BYTE $54 ; CALL _C096 -_F1501 !WORD _C096 - !BYTE $4E ; BRTRU _B1158 - !WORD _B1158-* -_B1159 -; toolsrc/parse.pla: 1293: infunc = FALSE -; toolsrc/parse.pla: 1294: if token <> END_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D107+0 -_F1502 !WORD _D107+0 - !BYTE $68 ; LAB _D098+0 -_F1503 !WORD _D098+0 - !BYTE $2A,$87 ; CB 135 - !BYTE $22 ; BREQ _B1161 - !WORD _B1161-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1504 !WORD _C002 -_B1161 -_B1162 -; toolsrc/parse.pla: 1295: scan -; toolsrc/parse.pla: 1296: if prevstmnt <> RETURN_TKN -; toolsrc/parse.pla: 1297: if infuncvals; parse_warn("No return values"); fin - !BYTE $54 ; CALL _C076 -_F1505 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D110+0 -_F1506 !WORD _D110+0 - !BYTE $2A,$99 ; CB 153 - !BYTE $22 ; BREQ _B1163 - !WORD _B1163-* - !BYTE $6A ; LAW _D111+0 -_F1507 !WORD _D111+0 - !BYTE $4C ; BRFLS _B1165 - !WORD _B1165-* - !BYTE $2E ; CS - !BYTE $10 - !BYTE $4E,$6F,$20,$72,$65,$74,$75,$72 - !BYTE $6E,$20,$76,$61,$6C,$75,$65,$73 - !BYTE $54 ; CALL _C003 -_F1508 !WORD _C003 -_B1165 -_B1166 -; toolsrc/parse.pla: 1298: for cfnvals = infuncvals - 1 downto 0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D111+0 -_F1509 !WORD _D111+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B1167 - !WORD _B1167-* -_B1168 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/parse.pla: 1299: emit_const(0) -; toolsrc/parse.pla: 1300: next - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F1510 !WORD _C016 -_B1169 - !BYTE $A8 ; DECBRGE _B1168 - !WORD _B1168-* -_B1167 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 1301: emit_leave -; toolsrc/parse.pla: 1302: fin - !BYTE $54 ; CALL _C037 -_F1511 !WORD _C037 -_B1163 -_B1164 -; toolsrc/parse.pla: 1303: for cfnvals = 0 to lambda_cnt-1 - !BYTE $68 ; LAB _D114+0 -_F1512 !WORD _D114+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B1170 - !WORD _B1170-* -_B1171 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/parse.pla: 1304: emit_lambdafunc(lambda_tag[cfnvals], lambda_cparms[cfnvals], lambda_seq[cfnvals]) -; toolsrc/parse.pla: 1305: new_dfd(lambda_tag[cfnvals]) -; toolsrc/parse.pla: 1306: next - !BYTE $26 ; LA _D118+0 -_F1513 !WORD _D118+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $26 ; LA _D116+0 -_F1514 !WORD _D116+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $26 ; LA _D117+0 -_F1515 !WORD _D117+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C042 -_F1516 !WORD _C042 - !BYTE $26 ; LA _D118+0 -_F1517 !WORD _D118+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C058 -_F1518 !WORD _C058 -_B1172 - !BYTE $A4 ; INCBRLE _B1171 - !WORD _B1171-* -_B1170 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 1307: puti(codeptr - defcodeptr); puts(@bytesln) -; toolsrc/parse.pla: 1308: -; toolsrc/parse.pla: 1309: wend - !BYTE $6A ; LAW _D075+0 -_F1519 !WORD _D075+0 - !BYTE $66,$1C ; LLW [28] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X005 -_F1520 !WORD 0 - !BYTE $26 ; LA _D122+0 -_F1521 !WORD _D122+0 - !BYTE $54 ; CALL _X004 -_F1522 !WORD 0 - !BYTE $50 ; BRNCH _B1121 - !WORD _B1121-* -_B1122 - !BYTE $04 ; CASEBLOCK - !WORD $0080 - !WORD _B1123-* - !WORD $0095 - !WORD _B1128-* - !WORD $0096 - !WORD _B1124-* - !WORD $009E - !WORD _B1125-* -_B1121 -; toolsrc/parse.pla: 1310: return token == EOL_TKN ?? TRUE :: FALSE - !BYTE $68 ; LAB _D098+0 -_F1523 !WORD _D098+0 - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B1173 - !WORD _B1173-* - !BYTE $20 ; MINUS ONE - !BYTE $50 ; BRNCH _B1174 - !WORD _B1174-* -_B1173 - !BYTE $00 ; CN 0 -_B1174 - !BYTE $5A,$1E ; LEAVE 30 -; toolsrc/parse.pla: 1311: end -; toolsrc/parse.pla: 1312: def parse_module#0 -_C103 ; parse_module() -; toolsrc/parse.pla: 1313: init_idglobal -; toolsrc/parse.pla: 1314: init_idlocal -; toolsrc/parse.pla: 1315: puts("Data+Code buffer size = "); puti(codebufsz); putln; putln - !BYTE $54 ; CALL _C052 -_F1524 !WORD _C052 - !BYTE $54 ; CALL _C054 -_F1525 !WORD _C054 - !BYTE $2E ; CS - !BYTE $18 - !BYTE $44,$61,$74,$61,$2B,$43,$6F,$64 - !BYTE $65,$20,$62,$75,$66,$66,$65,$72 - !BYTE $20,$73,$69,$7A,$65,$20,$3D,$20 - !BYTE $54 ; CALL _X004 -_F1526 !WORD 0 -; toolsrc/parse.pla: 1316: puts(@modfile); putln -; toolsrc/parse.pla: 1317: if nextln -; toolsrc/parse.pla: 1318: // -; toolsrc/parse.pla: 1319: // Compile module -; toolsrc/parse.pla: 1320: // -; toolsrc/parse.pla: 1321: puts("DATA:"); - !BYTE $6A ; LAW _D068+0 -_F1527 !WORD _D068+0 - !BYTE $54 ; CALL _X005 -_F1528 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1529 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1530 !WORD 0 - !BYTE $26 ; LA _D092+0 -_F1531 !WORD _D092+0 - !BYTE $54 ; CALL _X004 -_F1532 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1533 !WORD 0 - !BYTE $54 ; CALL _C079 -_F1534 !WORD _C079 - !BYTE $4C ; BRFLS _B1175 - !WORD _B1175-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $44,$41,$54,$41,$3A - !BYTE $54 ; CALL _X004 -_F1535 !WORD 0 -; toolsrc/parse.pla: 1322: while parse_mods; nextln; loop - !BYTE $50 ; BRNCH _B1179 - !WORD _B1179-* -_B1177 - !BYTE $54 ; CALL _C079 -_F1536 !WORD _C079 - !BYTE $30 ; DROP -_B1179 - !BYTE $54 ; CALL _C100 -_F1537 !WORD _C100 - !BYTE $4E ; BRTRU _B1177 - !WORD _B1177-* -_B1178 -; toolsrc/parse.pla: 1323: while parse_vars(GLOBAL_TYPE, FALSE); nextln; loop - !BYTE $50 ; BRNCH _B1182 - !WORD _B1182-* -_B1180 - !BYTE $54 ; CALL _C079 -_F1538 !WORD _C079 - !BYTE $30 ; DROP -_B1182 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C099 -_F1539 !WORD _C099 - !BYTE $4E ; BRTRU _B1180 - !WORD _B1180-* -_B1181 -; toolsrc/parse.pla: 1324: emit_codeseg -; toolsrc/parse.pla: 1325: puti(codeptr - codebuff); puts(@bytesln) -; toolsrc/parse.pla: 1326: while parse_defs; nextln; loop - !BYTE $54 ; CALL _C015 -_F1540 !WORD _C015 - !BYTE $6A ; LAW _D075+0 -_F1541 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F1542 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X005 -_F1543 !WORD 0 - !BYTE $26 ; LA _D122+0 -_F1544 !WORD _D122+0 - !BYTE $54 ; CALL _X004 -_F1545 !WORD 0 - !BYTE $50 ; BRNCH _B1185 - !WORD _B1185-* -_B1183 - !BYTE $54 ; CALL _C079 -_F1546 !WORD _C079 - !BYTE $30 ; DROP -_B1185 - !BYTE $54 ; CALL _C102 -_F1547 !WORD _C102 - !BYTE $4E ; BRTRU _B1183 - !WORD _B1183-* -_B1184 -; toolsrc/parse.pla: 1327: puts("INIT:"); - !BYTE $2E ; CS - !BYTE $05 - !BYTE $49,$4E,$49,$54,$3A - !BYTE $54 ; CALL _X004 -_F1548 !WORD 0 -; toolsrc/parse.pla: 1328: entrypoint = codeptr -; toolsrc/parse.pla: 1329: prevstmnt = 0 -; toolsrc/parse.pla: 1330: init_idlocal -; toolsrc/parse.pla: 1331: emit_enter(0) -; toolsrc/parse.pla: 1332: if token <> DONE_TKN -; toolsrc/parse.pla: 1333: while parse_stmnt; nextln; loop - !BYTE $6A ; LAW _D075+0 -_F1549 !WORD _D075+0 - !BYTE $7A ; SAW _D076+0 -_F1550 !WORD _D076+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D110+0 -_F1551 !WORD _D110+0 - !BYTE $54 ; CALL _C054 -_F1552 !WORD _C054 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C038 -_F1553 !WORD _C038 - !BYTE $68 ; LAB _D098+0 -_F1554 !WORD _D098+0 - !BYTE $2A,$98 ; CB 152 - !BYTE $22 ; BREQ _B1186 - !WORD _B1186-* - !BYTE $50 ; BRNCH _B1190 - !WORD _B1190-* -_B1188 - !BYTE $54 ; CALL _C079 -_F1555 !WORD _C079 - !BYTE $30 ; DROP -_B1190 - !BYTE $54 ; CALL _C096 -_F1556 !WORD _C096 - !BYTE $4E ; BRTRU _B1188 - !WORD _B1188-* -_B1189 -; toolsrc/parse.pla: 1334: fin -_B1186 -_B1187 -; toolsrc/parse.pla: 1335: if prevstmnt <> RETURN_TKN -; toolsrc/parse.pla: 1336: emit_const(0) -; toolsrc/parse.pla: 1337: emit_leave -; toolsrc/parse.pla: 1338: fin - !BYTE $68 ; LAB _D110+0 -_F1557 !WORD _D110+0 - !BYTE $2A,$99 ; CB 153 - !BYTE $22 ; BREQ _B1191 - !WORD _B1191-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F1558 !WORD _C016 - !BYTE $54 ; CALL _C037 -_F1559 !WORD _C037 -_B1191 -_B1192 -; toolsrc/parse.pla: 1339: puti(codeptr - entrypoint); puts(@bytesln) -; toolsrc/parse.pla: 1340: puts("\nTotal bytes compiled: "); puti(codeptr - codebuff); putln - !BYTE $6A ; LAW _D075+0 -_F1560 !WORD _D075+0 - !BYTE $6A ; LAW _D076+0 -_F1561 !WORD _D076+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X005 -_F1562 !WORD 0 - !BYTE $26 ; LA _D122+0 -_F1563 !WORD _D122+0 - !BYTE $54 ; CALL _X004 -_F1564 !WORD 0 - !BYTE $2E ; CS - !BYTE $17 - !BYTE $0D,$54,$6F,$74,$61,$6C,$20,$62 - !BYTE $79,$74,$65,$73,$20,$63,$6F,$6D - !BYTE $70,$69,$6C,$65,$64,$3A,$20 - !BYTE $54 ; CALL _X004 -_F1565 !WORD 0 -; toolsrc/parse.pla: 1341: if token <> DONE_TKN; parse_warn("Missing DONE\n"); fin - !BYTE $6A ; LAW _D075+0 -_F1566 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F1567 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X005 -_F1568 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1569 !WORD 0 - !BYTE $68 ; LAB _D098+0 -_F1570 !WORD _D098+0 - !BYTE $2A,$98 ; CB 152 - !BYTE $22 ; BREQ _B1193 - !WORD _B1193-* - !BYTE $2E ; CS - !BYTE $0D - !BYTE $4D,$69,$73,$73,$69,$6E,$67,$20 - !BYTE $44,$4F,$4E,$45,$0D - !BYTE $54 ; CALL _C003 -_F1571 !WORD _C003 -_B1193 -_B1194 -; toolsrc/parse.pla: 1342: //dumpsym(idglobal_tbl, globals) -; toolsrc/parse.pla: 1343: fin -_B1175 -_B1176 -; toolsrc/parse.pla: 1344: end - !BYTE $5C ; RET -; toolsrc/plasm.pla: 0507: -; toolsrc/plasm.pla: 0508: // -; toolsrc/plasm.pla: 0509: // Look at command line arguments and compile module -; toolsrc/plasm.pla: 0510: // -; toolsrc/plasm.pla: 0511: puts("PLASMA Compiler, Version 2.0\n") -_INIT - !BYTE $2E ; CS - !BYTE $1D - !BYTE $50,$4C,$41,$53,$4D,$41,$20,$43 - !BYTE $6F,$6D,$70,$69,$6C,$65,$72,$2C - !BYTE $20,$56,$65,$72,$73,$69,$6F,$6E - !BYTE $20,$32,$2E,$30,$0D - !BYTE $54 ; CALL _X004 -_F1572 !WORD 0 -; toolsrc/plasm.pla: 0512: arg = argNext(argFirst) -; toolsrc/plasm.pla: 0513: if ^arg and ^(arg + 1) == '-' -; toolsrc/plasm.pla: 0514: opt = arg + 2 -; toolsrc/plasm.pla: 0515: while TRUE - !BYTE $54 ; CALL _X029 -_F1573 !WORD 0 - !BYTE $54 ; CALL _X030 -_F1574 !WORD 0 - !BYTE $7A ; SAW _D123+0 -_F1575 !WORD _D123+0 - !BYTE $6A ; LAW _D123+0 -_F1576 !WORD _D123+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B1195 - !WORD _B1195-* - !BYTE $6A ; LAW _D123+0 -_F1577 !WORD _D123+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $40 ; ISEQ -_B1195 - !BYTE $4C ; BRFLS _B1196 - !WORD _B1196-* - !BYTE $6A ; LAW _D123+0 -_F1578 !WORD _D123+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D124+0 -_F1579 !WORD _D124+0 - !BYTE $50 ; BRNCH _B1200 - !WORD _B1200-* -_B1198 -; toolsrc/plasm.pla: 0516: if toupper(^opt) == 'O' -; toolsrc/plasm.pla: 0517: // -; toolsrc/plasm.pla: 0518: // Load optimizer module here -; toolsrc/plasm.pla: 0519: // -; toolsrc/plasm.pla: 0520: if cmdsys:modexec("CODEOPT") >= 0 - !BYTE $6A ; LAW _D124+0 -_F1580 !WORD _D124+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F1581 !WORD 0 - !BYTE $2A,$4F ; CB 79 - !BYTE $24 ; BRNE _B1201 - !WORD _B1201-* - !BYTE $2E ; CS - !BYTE $07 - !BYTE $43,$4F,$44,$45,$4F,$50,$54 - !BYTE $6A ; LAW _X000+6 -_F1582 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B1203 - !WORD _B1203-* -; toolsrc/plasm.pla: 0521: outflags = outflags | OPTIMIZE -; toolsrc/plasm.pla: 0522: fin - !BYTE $68 ; LAB _D085+0 -_F1583 !WORD _D085+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D085+0 -_F1584 !WORD _D085+0 -_B1203 -_B1204 -; toolsrc/plasm.pla: 0523: if not (outflags & OPTIMIZE) -; toolsrc/plasm.pla: 0524: puts("\nOptimizer disabled\n") - !BYTE $68 ; LAB _D085+0 -_F1585 !WORD _D085+0 - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4E ; BRTRU _B1205 - !WORD _B1205-* - !BYTE $2E ; CS - !BYTE $14 - !BYTE $0D,$4F,$70,$74,$69,$6D,$69,$7A - !BYTE $65,$72,$20,$64,$69,$73,$61,$62 - !BYTE $6C,$65,$64,$0D - !BYTE $54 ; CALL _X004 -_F1586 !WORD 0 -; toolsrc/plasm.pla: 0525: fin -_B1205 -_B1206 -; toolsrc/plasm.pla: 0526: opt++ - !BYTE $6A ; LAW _D124+0 -_F1587 !WORD _D124+0 - !BYTE $8C ; INCR -; toolsrc/plasm.pla: 0527: if ^opt == '2' -; toolsrc/plasm.pla: 0528: outflags = outflags | OPTIMIZE2 -; toolsrc/plasm.pla: 0529: opt++ - !BYTE $7A ; SAW _D124+0 -_F1588 !WORD _D124+0 - !BYTE $6A ; LAW _D124+0 -_F1589 !WORD _D124+0 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B1207 - !WORD _B1207-* - !BYTE $68 ; LAB _D085+0 -_F1590 !WORD _D085+0 - !BYTE $3E,$02 ; ORI 2 - !BYTE $78 ; SAB _D085+0 -_F1591 !WORD _D085+0 - !BYTE $6A ; LAW _D124+0 -_F1592 !WORD _D124+0 - !BYTE $8C ; INCR -; toolsrc/plasm.pla: 0530: fin - !BYTE $7A ; SAW _D124+0 -_F1593 !WORD _D124+0 -_B1207 -_B1208 -; toolsrc/plasm.pla: 0531: elsif toupper(^opt) == 'N' - !BYTE $50 ; BRNCH _B1202 - !WORD _B1202-* -_B1201 -; toolsrc/plasm.pla: 0532: outflags = outflags | NO_COMBINE -; toolsrc/plasm.pla: 0533: opt++ - !BYTE $6A ; LAW _D124+0 -_F1594 !WORD _D124+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F1595 !WORD 0 - !BYTE $2A,$4E ; CB 78 - !BYTE $24 ; BRNE _B1209 - !WORD _B1209-* - !BYTE $68 ; LAB _D085+0 -_F1596 !WORD _D085+0 - !BYTE $3E,$04 ; ORI 4 - !BYTE $78 ; SAB _D085+0 -_F1597 !WORD _D085+0 - !BYTE $6A ; LAW _D124+0 -_F1598 !WORD _D124+0 - !BYTE $8C ; INCR -; toolsrc/plasm.pla: 0534: elsif toupper(^opt) == 'W' - !BYTE $7A ; SAW _D124+0 -_F1599 !WORD _D124+0 - !BYTE $50 ; BRNCH _B1202 - !WORD _B1202-* -_B1209 -; toolsrc/plasm.pla: 0535: outflags = outflags | WARNINGS -; toolsrc/plasm.pla: 0536: opt++ - !BYTE $6A ; LAW _D124+0 -_F1600 !WORD _D124+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F1601 !WORD 0 - !BYTE $2A,$57 ; CB 87 - !BYTE $24 ; BRNE _B1210 - !WORD _B1210-* - !BYTE $68 ; LAB _D085+0 -_F1602 !WORD _D085+0 - !BYTE $3E,$08 ; ORI 8 - !BYTE $78 ; SAB _D085+0 -_F1603 !WORD _D085+0 - !BYTE $6A ; LAW _D124+0 -_F1604 !WORD _D124+0 - !BYTE $8C ; INCR -; toolsrc/plasm.pla: 0537: else - !BYTE $7A ; SAW _D124+0 -_F1605 !WORD _D124+0 - !BYTE $50 ; BRNCH _B1202 - !WORD _B1202-* -_B1210 -; toolsrc/plasm.pla: 0538: break - !BYTE $50 ; BRNCH _B1199 - !WORD _B1199-* -; toolsrc/plasm.pla: 0539: fin -_B1202 -; toolsrc/plasm.pla: 0540: loop -_B1200 - !BYTE $50 ; BRNCH _B1198 - !WORD _B1198-* -_B1199 -; toolsrc/plasm.pla: 0541: arg = argNext(arg) -; toolsrc/plasm.pla: 0542: fin - !BYTE $6A ; LAW _D123+0 -_F1606 !WORD _D123+0 - !BYTE $54 ; CALL _X030 -_F1607 !WORD 0 - !BYTE $7A ; SAW _D123+0 -_F1608 !WORD _D123+0 -_B1196 -_B1197 -; toolsrc/plasm.pla: 0543: if ^arg -; toolsrc/plasm.pla: 0544: strcpy(@srcfile, arg) -; toolsrc/plasm.pla: 0545: arg = argNext(arg) -; toolsrc/plasm.pla: 0546: if ^arg -; toolsrc/plasm.pla: 0547: strcpy(@relfile, arg) -; toolsrc/plasm.pla: 0548: else - !BYTE $6A ; LAW _D123+0 -_F1609 !WORD _D123+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B1211 - !WORD _B1211-* - !BYTE $26 ; LA _D089+0 -_F1610 !WORD _D089+0 - !BYTE $6A ; LAW _D123+0 -_F1611 !WORD _D123+0 - !BYTE $54 ; CALL _X019 -_F1612 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D123+0 -_F1613 !WORD _D123+0 - !BYTE $54 ; CALL _X030 -_F1614 !WORD 0 - !BYTE $7A ; SAW _D123+0 -_F1615 !WORD _D123+0 - !BYTE $6A ; LAW _D123+0 -_F1616 !WORD _D123+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B1213 - !WORD _B1213-* - !BYTE $26 ; LA _D091+0 -_F1617 !WORD _D091+0 - !BYTE $6A ; LAW _D123+0 -_F1618 !WORD _D123+0 - !BYTE $54 ; CALL _X019 -_F1619 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B1214 - !WORD _B1214-* -_B1213 -; toolsrc/plasm.pla: 0549: strcpy(@relfile, @srcfile) -; toolsrc/plasm.pla: 0550: // -; toolsrc/plasm.pla: 0551: // Strip trailing extension -; toolsrc/plasm.pla: 0552: // -; toolsrc/plasm.pla: 0553: while relfile and relfile[relfile] <> '.' - !BYTE $26 ; LA _D091+0 -_F1620 !WORD _D091+0 - !BYTE $26 ; LA _D089+0 -_F1621 !WORD _D089+0 - !BYTE $54 ; CALL _X019 -_F1622 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B1217 - !WORD _B1217-* -_B1215 -; toolsrc/plasm.pla: 0554: relfile-- - !BYTE $68 ; LAB _D091+0 -_F1623 !WORD _D091+0 - !BYTE $8E ; DECR -; toolsrc/plasm.pla: 0555: loop - !BYTE $78 ; SAB _D091+0 -_F1624 !WORD _D091+0 -_B1217 - !BYTE $68 ; LAB _D091+0 -_F1625 !WORD _D091+0 - !BYTE $AC ; BRAND _B1218 - !WORD _B1218-* - !BYTE $26 ; LA _D091+0 -_F1626 !WORD _D091+0 - !BYTE $B4 ; ADDAB _D091+0 -_F1627 !WORD _D091+0 - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $42 ; ISNE -_B1218 - !BYTE $4E ; BRTRU _B1215 - !WORD _B1215-* -_B1216 -; toolsrc/plasm.pla: 0556: if relfile; relfile--; fin // Strip '.' - !BYTE $68 ; LAB _D091+0 -_F1628 !WORD _D091+0 - !BYTE $4C ; BRFLS _B1219 - !WORD _B1219-* - !BYTE $68 ; LAB _D091+0 -_F1629 !WORD _D091+0 - !BYTE $8E ; DECR - !BYTE $78 ; SAB _D091+0 -_F1630 !WORD _D091+0 -_B1219 -_B1220 -; toolsrc/plasm.pla: 0557: if not relfile -; toolsrc/plasm.pla: 0558: // -; toolsrc/plasm.pla: 0559: // Copy default name over -; toolsrc/plasm.pla: 0560: // -; toolsrc/plasm.pla: 0561: strcpy(@relfile, "A.OUT") - !BYTE $68 ; LAB _D091+0 -_F1631 !WORD _D091+0 - !BYTE $4E ; BRTRU _B1221 - !WORD _B1221-* - !BYTE $26 ; LA _D091+0 -_F1632 !WORD _D091+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $41,$2E,$4F,$55,$54 - !BYTE $54 ; CALL _X019 -_F1633 !WORD 0 - !BYTE $30 ; DROP -; toolsrc/plasm.pla: 0562: fin -_B1221 -_B1222 -; toolsrc/plasm.pla: 0563: modfile = 0 -; toolsrc/plasm.pla: 0564: for srcref = 1 to relfile - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D092+0 -_F1634 !WORD _D092+0 - !BYTE $68 ; LAB _D091+0 -_F1635 !WORD _D091+0 - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B1223 - !WORD _B1223-* -_B1224 - !BYTE $7C ; DAB _D087+0 -_F1636 !WORD _D087+0 -; toolsrc/plasm.pla: 0565: if relfile[srcref] == '/' -; toolsrc/plasm.pla: 0566: modfile = 0 -; toolsrc/plasm.pla: 0567: else - !BYTE $26 ; LA _D091+0 -_F1637 !WORD _D091+0 - !BYTE $B4 ; ADDAB _D087+0 -_F1638 !WORD _D087+0 - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B1226 - !WORD _B1226-* - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D092+0 -_F1639 !WORD _D092+0 - !BYTE $50 ; BRNCH _B1227 - !WORD _B1227-* -_B1226 -; toolsrc/plasm.pla: 0568: modfile++ - !BYTE $68 ; LAB _D092+0 -_F1640 !WORD _D092+0 - !BYTE $8C ; INCR -; toolsrc/plasm.pla: 0569: modfile[modfile] = toupper(relfile[srcref]) -; toolsrc/plasm.pla: 0570: fin - !BYTE $78 ; SAB _D092+0 -_F1641 !WORD _D092+0 - !BYTE $26 ; LA _D091+0 -_F1642 !WORD _D091+0 - !BYTE $B4 ; ADDAB _D087+0 -_F1643 !WORD _D087+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F1644 !WORD 0 - !BYTE $26 ; LA _D092+0 -_F1645 !WORD _D092+0 - !BYTE $B4 ; ADDAB _D092+0 -_F1646 !WORD _D092+0 - !BYTE $70 ; SB -_B1227 -; toolsrc/plasm.pla: 0571: next -_B1225 - !BYTE $A4 ; INCBRLE _B1224 - !WORD _B1224-* -_B1223 - !BYTE $78 ; SAB _D087+0 -_F1647 !WORD _D087+0 - !BYTE $30 ; DROP -; toolsrc/plasm.pla: 0572: fin -_B1214 -; toolsrc/plasm.pla: 0573: fin -_B1211 -_B1212 -; toolsrc/plasm.pla: 0574: if srcfile and relfile -; toolsrc/plasm.pla: 0575: fileio:iobufalloc(2) // Reserve two I/O buffers -; toolsrc/plasm.pla: 0576: srcref = fileio:open(@srcfile) -; toolsrc/plasm.pla: 0577: if srcref -; toolsrc/plasm.pla: 0578: fileio:newline(srcref, $7F, $0D) -; toolsrc/plasm.pla: 0579: refnum = srcref -; toolsrc/plasm.pla: 0580: parsefile = @srcfile -; toolsrc/plasm.pla: 0581: strconstbuff = heapalloc(80) -; toolsrc/plasm.pla: 0582: instr = cmdsys:cmdline -; toolsrc/plasm.pla: 0583: inbuff = instr + 1 -; toolsrc/plasm.pla: 0584: scanptr = inbuff -; toolsrc/plasm.pla: 0585: *instr = NULL -; toolsrc/plasm.pla: 0586: exit = heapalloc(t_except) -; toolsrc/plasm.pla: 0587: if not except(exit) -; toolsrc/plasm.pla: 0588: // -; toolsrc/plasm.pla: 0589: // Parse source code module -; toolsrc/plasm.pla: 0590: // -; toolsrc/plasm.pla: 0591: parse_module -; toolsrc/plasm.pla: 0592: fileio:close(srcref) -; toolsrc/plasm.pla: 0593: // -; toolsrc/plasm.pla: 0594: // Write REL file -; toolsrc/plasm.pla: 0595: // -; toolsrc/plasm.pla: 0596: fileio:destroy(@relfile) -; toolsrc/plasm.pla: 0597: fileio:create(@relfile, $FE, $1000) // full access, REL file -; toolsrc/plasm.pla: 0598: srcref = fileio:open(@relfile) -; toolsrc/plasm.pla: 0599: if srcref -; toolsrc/plasm.pla: 0600: writemodule(srcref) -; toolsrc/plasm.pla: 0601: fileio:close(srcref) -; toolsrc/plasm.pla: 0602: else - !BYTE $68 ; LAB _D089+0 -_F1648 !WORD _D089+0 - !BYTE $AC ; BRAND _B1228 - !WORD _B1228-* - !BYTE $68 ; LAB _D091+0 -_F1649 !WORD _D091+0 -_B1228 - !BYTE $4C ; BRFLS _B1229 - !WORD _B1229-* - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _X031+12 -_F1650 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D089+0 -_F1651 !WORD _D089+0 - !BYTE $6A ; LAW _X031+14 -_F1652 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D087+0 -_F1653 !WORD _D087+0 - !BYTE $4C ; BRFLS _B1231 - !WORD _B1231-* - !BYTE $68 ; LAB _D087+0 -_F1654 !WORD _D087+0 - !BYTE $2A,$7F ; CB 127 - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _X031+28 -_F1655 !WORD 0+28 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D087+0 -_F1656 !WORD _D087+0 - !BYTE $78 ; SAB _D086+0 -_F1657 !WORD _D086+0 - !BYTE $26 ; LA _D089+0 -_F1658 !WORD _D089+0 - !BYTE $7A ; SAW _D093+0 -_F1659 !WORD _D093+0 - !BYTE $2A,$50 ; CB 80 - !BYTE $54 ; CALL _X014 -_F1660 !WORD 0 - !BYTE $7A ; SAW _D105+0 -_F1661 !WORD _D105+0 - !BYTE $6A ; LAW _X000+4 -_F1662 !WORD 0+4 - !BYTE $7E ; DAW _D095+0 -_F1663 !WORD _D095+0 - !BYTE $8C ; INCR - !BYTE $7E ; DAW _D096+0 -_F1664 !WORD _D096+0 - !BYTE $7A ; SAW _D097+0 -_F1665 !WORD _D097+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D095+0 -_F1666 !WORD _D095+0 - !BYTE $72 ; SW - !BYTE $2C,$40,$01 ; CW 320 - !BYTE $54 ; CALL _X014 -_F1667 !WORD 0 - !BYTE $7E ; DAW _D125+0 -_F1668 !WORD _D125+0 - !BYTE $54 ; CALL _X034 -_F1669 !WORD 0 - !BYTE $4E ; BRTRU _B1233 - !WORD _B1233-* - !BYTE $54 ; CALL _C103 -_F1670 !WORD _C103 - !BYTE $68 ; LAB _D087+0 -_F1671 !WORD _D087+0 - !BYTE $6A ; LAW _X031+16 -_F1672 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D091+0 -_F1673 !WORD _D091+0 - !BYTE $6A ; LAW _X031+24 -_F1674 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D091+0 -_F1675 !WORD _D091+0 - !BYTE $2A,$FE ; CB 254 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $6A ; LAW _X031+22 -_F1676 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D091+0 -_F1677 !WORD _D091+0 - !BYTE $6A ; LAW _X031+14 -_F1678 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D087+0 -_F1679 !WORD _D087+0 - !BYTE $4C ; BRFLS _B1235 - !WORD _B1235-* - !BYTE $68 ; LAB _D087+0 -_F1680 !WORD _D087+0 - !BYTE $54 ; CALL _C074 -_F1681 !WORD _C074 - !BYTE $68 ; LAB _D087+0 -_F1682 !WORD _D087+0 - !BYTE $6A ; LAW _X031+16 -_F1683 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B1236 - !WORD _B1236-* -_B1235 -; toolsrc/plasm.pla: 0603: puts("\nError opening: "); puts(@relfile); putln - !BYTE $2E ; CS - !BYTE $10 - !BYTE $0D,$45,$72,$72,$6F,$72,$20,$6F - !BYTE $70,$65,$6E,$69,$6E,$67,$3A,$20 - !BYTE $54 ; CALL _X004 -_F1684 !WORD 0 -; toolsrc/plasm.pla: 0604: fin - !BYTE $26 ; LA _D091+0 -_F1685 !WORD _D091+0 - !BYTE $54 ; CALL _X004 -_F1686 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1687 !WORD 0 -_B1236 -; toolsrc/plasm.pla: 0605: fin -_B1233 -_B1234 -; toolsrc/plasm.pla: 0606: else - !BYTE $50 ; BRNCH _B1232 - !WORD _B1232-* -_B1231 -; toolsrc/plasm.pla: 0607: puts("\nError opening: "); puts(@srcfile); putln - !BYTE $2E ; CS - !BYTE $10 - !BYTE $0D,$45,$72,$72,$6F,$72,$20,$6F - !BYTE $70,$65,$6E,$69,$6E,$67,$3A,$20 - !BYTE $54 ; CALL _X004 -_F1688 !WORD 0 -; toolsrc/plasm.pla: 0608: fin - !BYTE $26 ; LA _D089+0 -_F1689 !WORD _D089+0 - !BYTE $54 ; CALL _X004 -_F1690 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1691 !WORD 0 -_B1232 -; toolsrc/plasm.pla: 0609: else - !BYTE $50 ; BRNCH _B1230 - !WORD _B1230-* -_B1229 -; toolsrc/plasm.pla: 0610: puts("Usage:+PLASM [-[W][O[2]][N]] [out]\n") - !BYTE $2E ; CS - !BYTE $29 - !BYTE $55,$73,$61,$67,$65,$3A,$2B,$50 - !BYTE $4C,$41,$53,$4D,$20,$5B,$2D,$5B - !BYTE $57,$5D,$5B,$4F,$5B,$32,$5D,$5D - !BYTE $5B,$4E,$5D,$5D,$20,$3C,$73,$72 - !BYTE $63,$3E,$20,$5B,$6F,$75,$74,$5D - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F1692 !WORD 0 -; toolsrc/plasm.pla: 0611: fin -_B1230 -; toolsrc/plasm.pla: 0612: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 105 -_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 $02 ; CODE TABLE FIXUP - !WORD _C084 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C085 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C086 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C087 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C088 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C089 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C090 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C091 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C092 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C093 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C094 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C095 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C096 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C097 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C098 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C099 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C100 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C101 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C102 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C103 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !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 3 ; 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 2 ; 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 4 ; 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 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 4 ; 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 4 ; 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 4 ; 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 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !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 $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 $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 4 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 17 ; 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 $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 4 ; 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 $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 4 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE 4 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F345-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F346-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F352-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F353-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F354-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F355-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !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 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F359-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F360-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F361-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F362-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F363-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F364-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F365-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F366-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F367-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F368-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F369-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F370-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F371-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F372-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F373-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F374-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F375-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F376-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F377-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F413-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F418-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F429-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F430-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F431-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !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 18 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F468-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F469-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F477-_SEGBEGIN - !BYTE $00 - !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 $91 ; EXTERNAL FIXUP - !WORD _F483-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F487-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F488-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F489-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F495-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F496-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F497-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F501-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F505-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F506-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F516-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F520-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F521-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !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 $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 $81 ; INTERNAL FIXUP - !WORD _F600-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F614-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F621-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F628-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F632-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F633-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F634-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F635-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F636-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F637-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F638-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F639-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F640-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F641-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F642-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F643-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F644-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F655-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F656-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F657-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F658-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F659-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F660-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F661-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F665-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F666-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F667-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F668-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F669-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F670-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F671-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F672-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F673-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F674-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F675-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F676-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F677-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F678-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F679-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F680-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F681-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F682-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F683-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F684-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F685-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F686-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F698-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F699-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F700-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F701-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F702-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F703-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F704-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F708-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F709-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F710-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F711-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F712-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F713-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F714-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F715-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F716-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F717-_SEGBEGIN - !BYTE $00 - !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 $81 ; INTERNAL FIXUP - !WORD _F726-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F727-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F728-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F729-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F730-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F731-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F732-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F733-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F734-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F735-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F736-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F737-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F738-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F739-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F740-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F741-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F742-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F743-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F744-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F745-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F746-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F747-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F748-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F749-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F750-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F751-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F752-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F753-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F754-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F755-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F756-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !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 $81 ; INTERNAL FIXUP - !WORD _F760-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F761-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F762-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F763-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F764-_SEGBEGIN - !BYTE $00 - !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 $91 ; EXTERNAL FIXUP - !WORD _F768-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F769-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F770-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F771-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F772-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F773-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F774-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F775-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F776-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F777-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F778-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F779-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F780-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F781-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F782-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F783-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F784-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F785-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F786-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F787-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F788-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F789-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F790-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F791-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F792-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F793-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F794-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F795-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F796-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F797-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F798-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F799-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F800-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F801-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F802-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F803-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F804-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F805-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F806-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F807-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F808-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F809-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F810-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F811-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F812-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F813-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F814-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F815-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F816-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F817-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F818-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F819-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F820-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F821-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F822-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F823-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F824-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F825-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F826-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F827-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F828-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F829-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F830-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F831-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F832-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F833-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F834-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F835-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F836-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F837-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F838-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F839-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F840-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F841-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F842-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F843-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F844-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F845-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F846-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F847-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F848-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F849-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F850-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F851-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F852-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F853-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F854-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F855-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F856-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F857-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F858-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F859-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F860-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F861-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F862-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F863-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F864-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F865-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F866-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F867-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F868-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F869-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F870-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F871-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F872-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F873-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F874-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F875-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F876-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F877-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F878-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F879-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F880-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F881-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F882-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F883-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F884-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F885-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F886-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F887-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F888-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F889-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F890-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F891-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F892-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F893-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F894-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F895-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F896-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F897-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F898-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F899-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F900-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F901-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F902-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F903-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F904-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F905-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F906-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F907-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F908-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F909-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F910-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F911-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F912-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F913-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F914-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F915-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F916-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F917-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F918-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F919-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F920-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F921-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F922-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F923-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F924-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F925-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F926-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F927-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F928-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F929-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F930-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F931-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F932-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F933-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F934-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F935-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F936-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F937-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F938-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F939-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F940-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F941-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F942-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F943-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F944-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F945-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F946-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F947-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F948-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F949-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F950-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F951-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F952-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F953-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F954-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F955-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F956-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F957-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F958-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F959-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F960-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F961-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F962-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F963-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F964-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F965-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F966-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F967-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F968-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F969-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F970-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F971-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F972-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F973-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F974-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F975-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F976-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F977-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F978-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F979-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F980-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F981-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F982-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F983-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F984-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F985-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F986-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F987-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F988-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F989-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F990-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F991-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F992-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F993-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F994-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F995-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F996-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F997-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F998-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F999-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1172-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1194-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1196-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1198-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1199-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1200-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1201-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1202-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1205-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1206-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1207-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1208-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1210-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1211-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1219-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1220-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1221-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1222-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1223-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1224-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1226-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1227-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1230-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1235-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1236-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1241-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1242-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1243-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1246-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1247-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1248-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1249-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1250-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1252-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1253-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1254-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1255-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1256-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1258-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1259-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1260-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1261-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1263-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1264-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1265-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1266-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1267-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1268-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1270-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1271-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1272-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1273-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1274-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1275-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1276-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1277-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1278-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1279-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1280-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1281-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1282-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1283-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1284-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1285-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1286-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1287-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1288-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1289-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1290-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1291-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1292-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1293-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1294-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1295-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1296-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1297-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1298-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1299-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1300-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1301-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1302-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1303-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1304-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1305-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1306-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1307-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1308-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1309-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1310-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1311-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1312-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1313-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1314-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1315-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1316-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1317-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1318-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1319-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1320-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1321-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1322-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1323-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1324-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1325-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1326-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1327-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1328-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1329-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1330-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1331-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1332-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1333-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1334-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1335-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1336-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1337-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1338-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1339-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1340-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1341-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1342-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1343-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1344-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1345-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1346-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1347-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1348-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1349-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1350-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1351-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1352-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1353-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1354-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1355-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1356-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1357-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1358-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1359-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1360-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1361-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1362-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1363-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1364-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1365-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1366-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1367-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1368-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1369-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1370-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1371-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1372-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1373-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1374-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1375-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1376-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1377-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1378-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1379-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1380-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1381-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1382-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1383-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1384-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1385-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1386-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1387-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1388-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1389-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1390-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1391-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1392-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1393-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1394-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1395-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1396-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1397-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1398-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1399-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1400-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1401-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1402-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1403-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1404-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1405-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1406-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1407-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1408-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1409-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1410-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1411-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1412-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1413-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1414-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1415-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1416-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1417-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1418-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1419-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1420-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1421-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1422-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1423-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1424-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1425-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1426-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1427-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1428-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1429-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1430-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1431-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1432-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1433-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1434-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1435-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1436-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1437-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1438-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1439-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1440-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1441-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1442-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1443-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1444-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1445-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1446-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1447-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1448-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1449-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1450-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1451-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1452-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1453-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1454-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1455-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1456-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1457-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1458-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1459-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1460-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1461-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1462-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1463-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1464-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1465-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1466-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1467-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1468-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1469-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1470-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1471-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1472-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1473-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1474-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1475-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1476-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1477-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1478-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1479-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1480-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1481-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1482-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1483-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1484-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1485-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1486-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1487-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1488-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1489-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1490-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1491-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1492-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1493-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1494-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1495-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1496-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1497-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1498-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1499-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1500-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1501-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1502-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1503-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1504-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1505-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1506-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1507-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1508-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1509-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1510-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1511-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1512-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1513-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1514-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1515-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1516-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1517-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1518-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1519-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1520-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1521-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1522-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1523-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1524-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1525-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1526-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1527-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1528-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1529-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1530-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1531-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1532-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1533-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1534-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1535-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1536-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1537-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1538-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1539-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1540-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1541-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1542-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1543-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1544-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1545-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1546-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1547-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1548-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1549-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1550-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1551-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1552-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1553-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1554-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1555-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1556-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1557-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1558-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1559-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1560-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1561-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1562-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1563-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1564-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1565-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1566-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1567-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1568-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1569-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1570-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1571-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1572-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1573-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1574-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1575-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1576-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1577-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1578-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1579-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1580-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1581-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1582-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1583-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1584-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1585-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1586-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1587-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1588-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1589-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1590-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1591-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1592-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1593-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1594-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1595-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1596-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1597-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1598-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1599-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1600-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1601-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1602-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1603-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1604-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1605-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1606-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1607-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1608-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1609-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1610-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1611-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1612-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1613-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1614-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1615-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1616-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1617-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1618-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1619-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1620-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1621-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1622-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1623-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1624-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1625-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1626-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1627-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1628-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1629-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1630-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1631-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1632-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1633-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1634-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1635-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1636-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1637-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1638-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1639-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1640-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1641-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1642-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1643-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1644-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1645-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1646-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1647-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1648-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1649-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1650-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1651-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1652-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1653-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1654-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1655-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1656-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1657-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1658-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1659-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1660-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1661-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1662-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1663-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1664-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1665-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1666-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1667-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1668-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1669-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1670-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1671-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1672-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1673-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1674-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1675-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1676-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1677-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1678-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1679-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1680-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1681-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1682-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1683-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1684-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1685-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1686-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1687-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1688-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1689-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1690-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1691-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1692-_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: 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: 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: 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: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; 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: EXCEPT - !BYTE $C5,$D8,$C3,$C5,$D0,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: THROW - !BYTE $D4,$C8,$D2,$CF,$57 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - ; DCI STRING: FREEOP_LST - !BYTE $C6,$D2,$C5,$C5,$CF,$D0,$DF,$CC,$D3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D083 - ; DCI STRING: OPTIMIZE_SEQ - !BYTE $CF,$D0,$D4,$C9,$CD,$C9,$DA,$C5,$DF,$D3,$C5,$51 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D084 - !BYTE $00 ; END OF ESD diff --git a/src/toolsrc/plforth.a b/src/toolsrc/plforth.a deleted file mode 100644 index 2361813..0000000 --- a/src/toolsrc/plforth.a +++ /dev/null @@ -1,1037 +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 -; toolsrc/plforth.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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: end -; toolsrc/plforth.pla: 0001: -; toolsrc/plforth.pla: 0002: -; toolsrc/plforth.pla: 0003: // -; toolsrc/plforth.pla: 0004: // FORTH dictionary layout -; toolsrc/plforth.pla: 0005: // -; toolsrc/plforth.pla: 0006: // bytes usage -; toolsrc/plforth.pla: 0007: // ----- ----- -; toolsrc/plforth.pla: 0008: // [1..32] name string -; toolsrc/plforth.pla: 0009: // [2] LFA (link field address) -; toolsrc/plforth.pla: 0010: // [2] CFA (code field address) -; toolsrc/plforth.pla: 0011: // [2] PFA (param field address) -; toolsrc/plforth.pla: 0012: // -; toolsrc/plforth.pla: 0013: -; toolsrc/plforth.pla: 0014: // -; toolsrc/plforth.pla: 0015: // Predefine instrinsics -; toolsrc/plforth.pla: 0016: // -; toolsrc/plforth.pla: 0017: predef _drop_(a)#0, _swap_(a,b)#2 - !BYTE $00 ; END OF MODULE DEPENDENCIES -; toolsrc/plforth.pla: 0018: predef _add_(a,b)#1, _sub_(a,b)#1, _mul_(a,b)#1, _div_(a,b)#1 -; toolsrc/plforth.pla: 0019: predef _vlist_#0, _exit_#0 -; toolsrc/plforth.pla: 0020: // DROP -; toolsrc/plforth.pla: 0021: char d_drop = "drop" -_D036 ; d_drop = "drop" - !BYTE $04 - !BYTE $64,$72,$6F,$70 -; toolsrc/plforth.pla: 0022: word = 0, @_drop_, 0 - !WORD $0000 -_F000 !WORD _P000 - !WORD $0000 -; toolsrc/plforth.pla: 0023: // SWAP -; toolsrc/plforth.pla: 0024: char d_swap = "swap" -_D037 ; d_swap = "swap" - !BYTE $04 - !BYTE $73,$77,$61,$70 -; toolsrc/plforth.pla: 0025: word = @d_drop, @_swap_ -_F001 !WORD _D036 -_F002 !WORD _P001 -; toolsrc/plforth.pla: 0026: // ADD -; toolsrc/plforth.pla: 0027: char d_add = "+" -_D038 ; d_add = "+" - !BYTE $01 - !BYTE $2B -; toolsrc/plforth.pla: 0028: word = @d_swap, @_add_ -_F003 !WORD _D037 -_F004 !WORD _P002 -; toolsrc/plforth.pla: 0029: // SUB -; toolsrc/plforth.pla: 0030: char d_sub = "-" -_D039 ; d_sub = "-" - !BYTE $01 - !BYTE $2D -; toolsrc/plforth.pla: 0031: word = @d_add, @_sub_ -_F005 !WORD _D038 -_F006 !WORD _P003 -; toolsrc/plforth.pla: 0032: // MUL -; toolsrc/plforth.pla: 0033: char d_mul = "*" -_D040 ; d_mul = "*" - !BYTE $01 - !BYTE $2A -; toolsrc/plforth.pla: 0034: word = @d_sub, @_mul_ -_F007 !WORD _D039 -_F008 !WORD _P004 -; toolsrc/plforth.pla: 0035: // DIV -; toolsrc/plforth.pla: 0036: char d_div = "/" -_D041 ; d_div = "/" - !BYTE $01 - !BYTE $2F -; toolsrc/plforth.pla: 0037: word = @d_mul, @_div_ -_F009 !WORD _D040 -_F010 !WORD _P005 -; toolsrc/plforth.pla: 0038: // PRINT TOS -; toolsrc/plforth.pla: 0039: char d_prtos = "." -_D042 ; d_prtos = "." - !BYTE $01 - !BYTE $2E -; toolsrc/plforth.pla: 0040: word = @d_div, @puti -_F011 !WORD _D041 -_F012 !WORD 0 ; _X005 -; toolsrc/plforth.pla: 0041: // EXIT -; toolsrc/plforth.pla: 0042: char d_exit = "exit" -_D043 ; d_exit = "exit" - !BYTE $04 - !BYTE $65,$78,$69,$74 -; toolsrc/plforth.pla: 0043: word = @d_prtos, @_exit_ -_F013 !WORD _D042 -_F014 !WORD _P007 -; toolsrc/plforth.pla: 0044: // LIST VOCAB -; toolsrc/plforth.pla: 0045: char d_vlist = "vlist" -_D044 ; d_vlist = "vlist" - !BYTE $05 - !BYTE $76,$6C,$69,$73,$74 -; toolsrc/plforth.pla: 0046: word = @d_exit, @_vlist_ -_F015 !WORD _D043 -_F016 !WORD _P006 -; toolsrc/plforth.pla: 0047: // -; toolsrc/plforth.pla: 0048: // Internal variables -; toolsrc/plforth.pla: 0049: // -; toolsrc/plforth.pla: 0050: word vocab=@d_vlist -_D045 ; vocab=@d_vlist -_F017 !WORD _D044 -; toolsrc/plforth.pla: 0051: word inptr -_D046 !FILL 2 ; inptr -; toolsrc/plforth.pla: 0052: char exit = 0 -_D047 ; exit = 0 - !BYTE $00 -; toolsrc/plforth.pla: 0053: // -; toolsrc/plforth.pla: 0054: // Intrinsics -; toolsrc/plforth.pla: 0055: // -; toolsrc/plforth.pla: 0056: def _drop_(a)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; a -> [0] -_P000 ; _drop_(a)#0() -_C000 ; _drop_() -; toolsrc/plforth.pla: 0057: return - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 0058: end -; toolsrc/plforth.pla: 0059: def _swap_(a,b)#2 - ; a -> [0] - ; b -> [2] -_P001 ; _swap_(a,b)#2() -_C001 ; _swap_() -; toolsrc/plforth.pla: 0060: return b,a - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 0061: end -; toolsrc/plforth.pla: 0062: def _add_(a,b)#1 - ; a -> [0] - ; b -> [2] -_P002 ; _add_(a,b)#1() -_C002 ; _add_() -; toolsrc/plforth.pla: 0063: return a+b - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 0064: end -; toolsrc/plforth.pla: 0065: def _sub_(a,b)#1 - ; a -> [0] - ; b -> [2] -_P003 ; _sub_(a,b)#1() -_C003 ; _sub_() -; toolsrc/plforth.pla: 0066: return a-b - !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 -; toolsrc/plforth.pla: 0067: end -; toolsrc/plforth.pla: 0068: def _mul_(a,b)#1 - ; a -> [0] - ; b -> [2] -_P004 ; _mul_(a,b)#1() -_C004 ; _mul_() -; toolsrc/plforth.pla: 0069: return a*b - !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 -; toolsrc/plforth.pla: 0070: end -; toolsrc/plforth.pla: 0071: def _div_(a,b)#1 - ; a -> [0] - ; b -> [2] -_P005 ; _div_(a,b)#1() -_C005 ; _div_() -; toolsrc/plforth.pla: 0072: return a/b - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $88 ; DIV - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 0073: end -; toolsrc/plforth.pla: 0074: def _exit_#0 -_P007 ; _exit_#0() -_C006 ; _exit_() -; toolsrc/plforth.pla: 0075: exit = 1 -; toolsrc/plforth.pla: 0076: end - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D047+0 -_F018 !WORD _D047+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 0077: def _vlist_#0 -_P006 ; _vlist_#0() -_C007 ; _vlist_() -; toolsrc/plforth.pla: 0078: word v - ; v -> [0] -; toolsrc/plforth.pla: 0079: -; toolsrc/plforth.pla: 0080: v = vocab - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/plforth.pla: 0081: while v - !BYTE $6A ; LAW _D045+0 -_F019 !WORD _D045+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; toolsrc/plforth.pla: 0082: puts(v); puts(" ") - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F020 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $20,$20 - !BYTE $54 ; CALL _X004 -_F021 !WORD 0 -; toolsrc/plforth.pla: 0083: v = *(v + ^v + 1) -; toolsrc/plforth.pla: 0084: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] -_B003 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; toolsrc/plforth.pla: 0085: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 0086: // -; toolsrc/plforth.pla: 0087: // Find match in vocabulary -; toolsrc/plforth.pla: 0088: // -; toolsrc/plforth.pla: 0089: def find#1 -_C008 ; find() -; toolsrc/plforth.pla: 0090: word v - ; v -> [0] -; toolsrc/plforth.pla: 0091: byte len - ; len -> [2] -; toolsrc/plforth.pla: 0092: -; toolsrc/plforth.pla: 0093: inptr-- - !BYTE $58,$03,$00 ; ENTER 3,0 - !BYTE $6A ; LAW _D046+0 -_F022 !WORD _D046+0 - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0094: v = vocab -; toolsrc/plforth.pla: 0095: while v - !BYTE $7A ; SAW _D046+0 -_F023 !WORD _D046+0 - !BYTE $6A ; LAW _D045+0 -_F024 !WORD _D045+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B004 -; toolsrc/plforth.pla: 0096: for len = 1 to ^v - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B007 - !WORD _B007-* -_B008 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/plforth.pla: 0097: if ^(inptr+len) <> ^(v+len) -; toolsrc/plforth.pla: 0098: break - !BYTE $6A ; LAW _D046+0 -_F025 !WORD _D046+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B010 - !WORD _B010-* - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -; toolsrc/plforth.pla: 0099: fin -_B010 -_B011 -; toolsrc/plforth.pla: 0100: next -_B009 - !BYTE $A4 ; INCBRLE _B008 - !WORD _B008-* -_B007 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/plforth.pla: 0101: if len > ^v and ^(inptr+len) <= ' ' -; toolsrc/plforth.pla: 0102: //puts("[Found name = "); puts(v); puts("]\n") -; toolsrc/plforth.pla: 0103: inptr = inptr + len -; toolsrc/plforth.pla: 0104: return v + ^v + 3 - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B012 - !WORD _B012-* - !BYTE $6A ; LAW _D046+0 -_F026 !WORD _D046+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE -_B012 - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $6A ; LAW _D046+0 -_F027 !WORD _D046+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $7A ; SAW _D046+0 -_F028 !WORD _D046+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $38,$03 ; ADDI 3 - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plforth.pla: 0105: fin -_B013 -_B014 -; toolsrc/plforth.pla: 0106: v = *(v + ^v + 1) -; toolsrc/plforth.pla: 0107: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] -_B006 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B004 - !WORD _B004-* -_B005 -; toolsrc/plforth.pla: 0108: // Not found -; toolsrc/plforth.pla: 0109: inptr++ - !BYTE $6A ; LAW _D046+0 -_F029 !WORD _D046+0 - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0110: return 0 - !BYTE $7A ; SAW _D046+0 -_F030 !WORD _D046+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plforth.pla: 0111: end -; toolsrc/plforth.pla: 0112: // -; toolsrc/plforth.pla: 0113: // Execute code in CFA -; toolsrc/plforth.pla: 0114: // -; toolsrc/plforth.pla: 0115: def exec(cfa)#0 - ; cfa -> [0] -_C009 ; exec() -; toolsrc/plforth.pla: 0116: word w - ; w -> [2] -; toolsrc/plforth.pla: 0117: -; toolsrc/plforth.pla: 0118: w = *cfa - !BYTE $58,$04,$01 ; ENTER 4,1 -; toolsrc/plforth.pla: 0119: w()#0 -; toolsrc/plforth.pla: 0120: end - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $6E,$02 ; DLW [2] - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 0121: // -; toolsrc/plforth.pla: 0122: // Convert input into number -; toolsrc/plforth.pla: 0123: // -; toolsrc/plforth.pla: 0124: def isnum#2 -_C010 ; isnum() -; toolsrc/plforth.pla: 0125: word num, sign - ; num -> [0] - ; sign -> [2] -; toolsrc/plforth.pla: 0126: -; toolsrc/plforth.pla: 0127: sign = 1 - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/plforth.pla: 0128: if ^inptr == '-' -; toolsrc/plforth.pla: 0129: sign = -1 -; toolsrc/plforth.pla: 0130: inptr++ - !BYTE $02 ; CN 1 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D046+0 -_F031 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $24 ; BRNE _B015 - !WORD _B015-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D046+0 -_F032 !WORD _D046+0 - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0131: fin - !BYTE $7A ; SAW _D046+0 -_F033 !WORD _D046+0 -_B015 -_B016 -; toolsrc/plforth.pla: 0132: if ^inptr >= '0' and ^inptr <= '9' -; toolsrc/plforth.pla: 0133: num = 0 -; toolsrc/plforth.pla: 0134: repeat - !BYTE $6A ; LAW _D046+0 -_F034 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B017 - !WORD _B017-* - !BYTE $6A ; LAW _D046+0 -_F035 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B017 - !BYTE $4C ; BRFLS _B018 - !WORD _B018-* - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B021 -; toolsrc/plforth.pla: 0135: num = num * 10 + ^inptr - '0' -; toolsrc/plforth.pla: 0136: inptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $6A ; LAW _D046+0 -_F036 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D046+0 -_F037 !WORD _D046+0 - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0137: until ^inptr < '0' or ^inptr > '9' - !BYTE $7A ; SAW _D046+0 -_F038 !WORD _D046+0 -_B022 - !BYTE $6A ; LAW _D046+0 -_F039 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B023 - !WORD _B023-* - !BYTE $6A ; LAW _D046+0 -_F040 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT -_B023 - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* -_B020 -; toolsrc/plforth.pla: 0138: //if ^inptr <= ' ' -; toolsrc/plforth.pla: 0139: // puts("[Found number = "); puti(num); puts("]\n") -; toolsrc/plforth.pla: 0140: //fin -; toolsrc/plforth.pla: 0141: return num * sign, ^inptr <= ' ' - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $86 ; MUL - !BYTE $6A ; LAW _D046+0 -_F041 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 0142: fin -_B018 -_B019 -; toolsrc/plforth.pla: 0143: return 0, FALSE - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 0144: end -; toolsrc/plforth.pla: 0145: // -; toolsrc/plforth.pla: 0146: // Quit and look for user input -; toolsrc/plforth.pla: 0147: // -; toolsrc/plforth.pla: 0148: def _quit_#0 -_C011 ; _quit_() -; toolsrc/plforth.pla: 0149: word cfa, __drop, __isnum - ; cfa -> [0] - ; __drop -> [2] - ; __isnum -> [4] -; toolsrc/plforth.pla: 0150: -; toolsrc/plforth.pla: 0151: __drop = @_drop_ - !BYTE $58,$06,$00 ; ENTER 6,0 -; toolsrc/plforth.pla: 0152: __isnum = @isnum -; toolsrc/plforth.pla: 0153: repeat - !BYTE $26 ; LA _C000+0 -_F042 !WORD _C000+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $26 ; LA _C010+0 -_F043 !WORD _C010+0 - !BYTE $76,$04 ; SLW [4] -_B025 -; toolsrc/plforth.pla: 0154: puts("\nOK") - !BYTE $2E ; CS - !BYTE $03 - !BYTE $0D,$4F,$4B - !BYTE $54 ; CALL _X004 -_F044 !WORD 0 -; toolsrc/plforth.pla: 0155: inptr = gets(':'|$80) -; toolsrc/plforth.pla: 0156: if ^inptr -; toolsrc/plforth.pla: 0157: ^(inptr + ^inptr + 1) = 0 -; toolsrc/plforth.pla: 0158: // -; toolsrc/plforth.pla: 0159: // Clear high bit of input buffer -; toolsrc/plforth.pla: 0160: // -; toolsrc/plforth.pla: 0161: for cfa = 1 to ^inptr - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _X007 -_F045 !WORD 0 - !BYTE $7A ; SAW _D046+0 -_F046 !WORD _D046+0 - !BYTE $6A ; LAW _D046+0 -_F047 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D046+0 -_F048 !WORD _D046+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $6A ; LAW _D046+0 -_F049 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B029 - !WORD _B029-* -_B030 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/plforth.pla: 0162: ^(inptr + cfa) = ^(inptr + cfa) & $7F -; toolsrc/plforth.pla: 0163: next - !BYTE $6A ; LAW _D046+0 -_F050 !WORD _D046+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$7F ; ANDI 127 - !BYTE $6A ; LAW _D046+0 -_F051 !WORD _D046+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $70 ; SB -_B031 - !BYTE $A4 ; INCBRLE _B030 - !WORD _B030-* -_B029 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/plforth.pla: 0164: inptr++ - !BYTE $6A ; LAW _D046+0 -_F052 !WORD _D046+0 - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0165: repeat - !BYTE $7A ; SAW _D046+0 -_F053 !WORD _D046+0 -_B033 -; toolsrc/plforth.pla: 0166: while ^inptr == ' ' - !BYTE $50 ; BRNCH _B037 - !WORD _B037-* -_B035 -; toolsrc/plforth.pla: 0167: inptr++ - !BYTE $6A ; LAW _D046+0 -_F054 !WORD _D046+0 - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0168: loop - !BYTE $7A ; SAW _D046+0 -_F055 !WORD _D046+0 -_B037 - !BYTE $6A ; LAW _D046+0 -_F056 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B035 - !WORD _B035-* -_B036 -; toolsrc/plforth.pla: 0169: if ^inptr > ' ' -; toolsrc/plforth.pla: 0170: cfa = find -; toolsrc/plforth.pla: 0171: if cfa -; toolsrc/plforth.pla: 0172: (*cfa)()#0 //exec(*cfa) -; toolsrc/plforth.pla: 0173: elsif not __isnum()#1 - !BYTE $6A ; LAW _D046+0 -_F057 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B038 - !WORD _B038-* - !BYTE $54 ; CALL _C008 -_F058 !WORD _C008 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B040 - !WORD _B040-* - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $56 ; ICAL - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -_B040 -; toolsrc/plforth.pla: 0174: __drop()#0 -; toolsrc/plforth.pla: 0175: puts("? No match\n") - !BYTE $66,$04 ; LLW [4] - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B042 - !WORD _B042-* - !BYTE $66,$02 ; LLW [2] - !BYTE $56 ; ICAL - !BYTE $2E ; CS - !BYTE $0B - !BYTE $3F,$20,$4E,$6F,$20,$6D,$61,$74 - !BYTE $63,$68,$0D - !BYTE $54 ; CALL _X004 -_F059 !WORD 0 -; toolsrc/plforth.pla: 0176: fin -_B042 -_B041 -; toolsrc/plforth.pla: 0177: fin -_B038 -_B039 -; toolsrc/plforth.pla: 0178: until ^inptr < ' ' -_B034 - !BYTE $6A ; LAW _D046+0 -_F060 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* -_B032 -; toolsrc/plforth.pla: 0179: fin -_B027 -_B028 -; toolsrc/plforth.pla: 0180: until exit -_B026 - !BYTE $68 ; LAB _D047+0 -_F061 !WORD _D047+0 - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* -_B024 -; toolsrc/plforth.pla: 0181: end - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/plforth.pla: 0182: _quit_ -_INIT -; toolsrc/plforth.pla: 0183: done - !BYTE $54 ; CALL _C011 -_F062 !WORD _C011 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_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 $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 5 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 4 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 7 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 4 ; 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 $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: GETS - !BYTE $C7,$C5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 7 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/apple/cat.a b/src/utilsrc/apple/cat.a deleted file mode 100644 index 915e806..0000000 --- a/src/utilsrc/apple/cat.a +++ /dev/null @@ -1,1340 +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/cat.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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 = $0140 - ; t_except = 320 -; 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: 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 -> X039 -; 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X040 -; inc/fileio.plh: 0080: 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 -> X041 -; inc/int32.plh: 0002: const t_i32 = 4 - ; t_i32 = 4 -; inc/int32.plh: 0003: -; inc/int32.plh: 0004: predef zero32#0 - ; ZERO32 -> X042 -; inc/int32.plh: 0005: predef zext16to32#0 - ; ZEXT16TO32 -> X043 -; inc/int32.plh: 0006: predef neg32#0 - ; NEG32 -> X044 -; inc/int32.plh: 0007: predef load32(i32ptr)#0 - ; LOAD32 -> X045 -; inc/int32.plh: 0008: predef loadi16(imm16)#0 - ; LOADI16 -> X046 -; inc/int32.plh: 0009: predef store32(i32ptr)#0 - ; STORE32 -> X047 -; inc/int32.plh: 0010: predef add32(i32ptr)#0 - ; ADD32 -> X048 -; inc/int32.plh: 0011: predef addi16(imm16)#0 - ; ADDI16 -> X049 -; inc/int32.plh: 0012: predef sub32(i32ptr)#0 - ; SUB32 -> X050 -; inc/int32.plh: 0013: predef subi16(imm16)#0 - ; SUBI16 -> X051 -; inc/int32.plh: 0014: predef shl32(imm8)#0 - ; SHL32 -> X052 -; inc/int32.plh: 0015: predef shr32(imm8)#0 - ; SHR32 -> X053 -; inc/int32.plh: 0016: predef mul32(i32ptr)#0 - ; MUL32 -> X054 -; inc/int32.plh: 0017: predef muli16(imm16)#0 - ; MULI16 -> X055 -; inc/int32.plh: 0018: predef div32(i32ptr)#2 - ; DIV32 -> X056 -; inc/int32.plh: 0019: predef divi16(imm16)#2 - ; DIVI16 -> X057 -; inc/int32.plh: 0020: predef iseq32(i32ptr)#1 - ; ISEQ32 -> X058 -; inc/int32.plh: 0021: predef iseqi16(imm16)#1 - ; ISEQI16 -> X059 -; inc/int32.plh: 0022: predef isge32(i32ptr)#1 - ; ISGE32 -> X060 -; inc/int32.plh: 0023: predef isgei16(imm16)#1 - ; ISGEI16 -> X061 -; inc/int32.plh: 0024: predef isle32(i32ptr)#1 - ; ISLE32 -> X062 -; inc/int32.plh: 0025: predef islei16(imm16)#1 - ; ISLEI16 -> X063 -; inc/int32.plh: 0026: predef isgt32(i32ptr)#1 - ; ISGT32 -> X064 -; inc/int32.plh: 0027: predef isgti16(imm16)#1 - ; ISGTI16 -> X065 -; inc/int32.plh: 0028: predef islt32(i32ptr)#1 - ; ISLT32 -> X066 -; inc/int32.plh: 0029: predef islti16(imm16)#1 - ; ISLTI16 -> X067 -; inc/int32.plh: 0030: predef i32tos(i32ptr, strptr)#1 - ; I32TOS -> X068 -; inc/int32.plh: 0031: predef puti32(i32ptr)#0 - ; PUTI32 -> X069 -; 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 -_D071 !FILL 2 ; arg, recurse, exit -_D072 !FILL 2 ; recurse, exit -_D073 !FILL 2 ; exit -; utilsrc/apple/cat.pla: 0011: char[64] path, wildname -_D074 !FILL 64 ; path, wildname -_D075 !FILL 64 ; wildname -; utilsrc/apple/cat.pla: 0012: res[t_fileinfo] fileinfo -_D076 !FILL 15 ; fileinfo -; utilsrc/apple/cat.pla: 0013: res[t_fileentry] fileentry -_D077 !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 _X068 -_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 _D073+0 -_F017 !WORD _D073+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 _D075+0 -_F019 !WORD _D075+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 _D072+0 -_F022 !WORD _D072+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 _D073+0 -_F027 !WORD _D073+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,$40,$01 ; CW 320 - !BYTE $54 ; CALL _X014 -_F031 !WORD 0 - !BYTE $7E ; DAW _D073+0 -_F032 !WORD _D073+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 _D071+0 -_F036 !WORD _D071+0 - !BYTE $6A ; LAW _D071+0 -_F037 !WORD _D071+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B040 - !WORD _B040-* - !BYTE $6A ; LAW _D071+0 -_F038 !WORD _D071+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 _D071+0 -_F039 !WORD _D071+0 - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B043 - !WORD _B043-* - !BYTE $6A ; LAW _D071+0 -_F040 !WORD _D071+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 _D072+0 -_F042 !WORD _D072+0 -_B044 -_B045 -; utilsrc/apple/cat.pla: 0132: arg = argNext(arg) -; utilsrc/apple/cat.pla: 0133: fin - !BYTE $6A ; LAW _D071+0 -_F043 !WORD _D071+0 - !BYTE $54 ; CALL _X033 -_F044 !WORD 0 - !BYTE $7A ; SAW _D071+0 -_F045 !WORD _D071+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 _D071+0 -_F046 !WORD _D071+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $26 ; LA _D074+0 -_F047 !WORD _D074+0 - !BYTE $6A ; LAW _D071+0 -_F048 !WORD _D071+0 - !BYTE $54 ; CALL _C000 -_F049 !WORD _C000 - !BYTE $26 ; LA _D074+0 -_F050 !WORD _D074+0 - !BYTE $26 ; LA _D076+0 -_F051 !WORD _D076+0 - !BYTE $6A ; LAW _X039+4 -_F052 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $AE ; BROR _B048 - !WORD _B048-* - !BYTE $68 ; LAB _D076+4 -_F053 !WORD _D076+4 - !BYTE $3C,$0D ; ANDI 13 - !BYTE $1A ; CN 13 - !BYTE $42 ; ISNE -_B048 - !BYTE $4C ; BRFLS _B049 - !WORD _B049-* - !BYTE $26 ; LA _D075+0 -_F054 !WORD _D075+0 - !BYTE $26 ; LA _D074+0 -_F055 !WORD _D074+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 _D074+0 -_F057 !WORD _D074+0 - !BYTE $68 ; LAB _D075+0 -_F058 !WORD _D075+0 - !BYTE $84 ; SUB - !BYTE $78 ; SAB _D074+0 -_F059 !WORD _D074+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 _D074+0 -_F060 !WORD _D074+0 - !BYTE $4E ; BRTRU _B051 - !WORD _B051-* - !BYTE $26 ; LA _D074+0 -_F061 !WORD _D074+0 - !BYTE $6A ; LAW _X039+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 _D074+0 -_F063 !WORD _D074+0 - !BYTE $26 ; LA _D076+0 -_F064 !WORD _D076+0 - !BYTE $6A ; LAW _X039+4 -_F065 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B053 - !WORD _B053-* - !BYTE $26 ; LA _D074+0 -_F066 !WORD _D074+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 _D074+0 -_F069 !WORD _D074+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 68 ; 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 39 ; 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 39 ; 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 39 ; 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 39 ; ESD INDEX - ; DCI STRING: I32TOS - !BYTE $C9,$B3,$B2,$D4,$CF,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 68 ; 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 6aa78b5..0000000 --- a/src/utilsrc/apple/copy.a +++ /dev/null @@ -1,2341 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 = $0140 - ; t_except = 320 -; 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X035 -; inc/fileio.plh: 0080: 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: 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: var arg, exit, srcfilelist, srcfileptr, srccnt -_D041 !FILL 2 ; arg, exit, srcfilelist, srcfileptr, srccnt -_D042 !FILL 2 ; exit, srcfilelist, srcfileptr, srccnt -_D043 !FILL 2 ; srcfilelist, srcfileptr, srccnt -_D044 !FILL 2 ; srcfileptr, srccnt -_D045 !FILL 2 ; srccnt -; utilsrc/apple/copy.pla: 0009: var copybuff, copyrel, copysize -_D046 !FILL 2 ; copybuff, copyrel, copysize -_D047 !FILL 2 ; copyrel, copysize -_D048 !FILL 2 ; copysize -; utilsrc/apple/copy.pla: 0010: byte recurse, dstlen -_D049 !FILL 1 ; recurse, dstlen -_D050 !FILL 1 ; dstlen -; utilsrc/apple/copy.pla: 0011: char[64] curpath, dstpath -_D051 !FILL 64 ; curpath, dstpath -_D052 !FILL 64 ; dstpath -; utilsrc/apple/copy.pla: 0012: char[16] srcdir -_D053 !FILL 16 ; srcdir -; utilsrc/apple/copy.pla: 0013: res[t_fileinfo] srcfileinfo, dstfileinfo -_D054 !FILL 15 ; srcfileinfo, dstfileinfo -_D055 !FILL 15 ; dstfileinfo -; utilsrc/apple/copy.pla: 0014: // -; utilsrc/apple/copy.pla: 0015: // Copy path with upper case conversion -; utilsrc/apple/copy.pla: 0016: // -; utilsrc/apple/copy.pla: 0017: def pathcpy(dst, src)#0 -_SUBSEG ; BYTECODE STARTS - ; dst -> [0] - ; src -> [2] -_C000 ; pathcpy() -; utilsrc/apple/copy.pla: 0018: byte i, chr - ; i -> [4] - ; chr -> [5] -; utilsrc/apple/copy.pla: 0019: -; utilsrc/apple/copy.pla: 0020: if ^src - !BYTE $58,$06,$02 ; ENTER 6,2 -; utilsrc/apple/copy.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/copy.pla: 0022: chr = src->[i] -; utilsrc/apple/copy.pla: 0023: if chr >= 'a' and chr <= 'z' -; utilsrc/apple/copy.pla: 0024: dst->[i] = chr - 'a' + 'A' -; utilsrc/apple/copy.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/copy.pla: 0026: dst->[i] = chr -; utilsrc/apple/copy.pla: 0027: fin - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB -_B008 -; utilsrc/apple/copy.pla: 0028: next -_B005 - !BYTE $A4 ; INCBRLE _B004 - !WORD _B004-* -_B003 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; utilsrc/apple/copy.pla: 0029: fin -_B001 -_B002 -; utilsrc/apple/copy.pla: 0030: ^dst = ^src -; utilsrc/apple/copy.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/copy.pla: 0032: def abspath(abs, path)#0 - ; abs -> [0] - ; path -> [2] -_C001 ; abspath() -; utilsrc/apple/copy.pla: 0033: if ^path == 0 or path->[1] <> '/' - !BYTE $58,$04,$02 ; ENTER 4,2 -; utilsrc/apple/copy.pla: 0034: // -; utilsrc/apple/copy.pla: 0035: // Append relative path to absolute path -; utilsrc/apple/copy.pla: 0036: // -; utilsrc/apple/copy.pla: 0037: strcpy(abs, @curpath) -; utilsrc/apple/copy.pla: 0038: 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 _D051+0 -_F000 !WORD _D051+0 - !BYTE $54 ; CALL _X019 -_F001 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -_B010 -; utilsrc/apple/copy.pla: 0039: // -; utilsrc/apple/copy.pla: 0040: // Absolute path -; utilsrc/apple/copy.pla: 0041: // -; utilsrc/apple/copy.pla: 0042: ^abs = 0 -; utilsrc/apple/copy.pla: 0043: fin - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B011 -; utilsrc/apple/copy.pla: 0044: strcat(abs, path) -; utilsrc/apple/copy.pla: 0045: // -; utilsrc/apple/copy.pla: 0046: // Strip trailing path seperator -; utilsrc/apple/copy.pla: 0047: // -; utilsrc/apple/copy.pla: 0048: if abs->[^abs] == '/' -; utilsrc/apple/copy.pla: 0049: ^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: 0050: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B012 -_B013 -; utilsrc/apple/copy.pla: 0051: end - !BYTE $5A,$04 ; LEAVE 4 -; utilsrc/apple/copy.pla: 0052: def pathdiff(path1, path2)#1 - ; path1 -> [0] - ; path2 -> [2] -_C002 ; pathdiff() -; utilsrc/apple/copy.pla: 0053: byte i, d - ; i -> [4] - ; d -> [5] -; utilsrc/apple/copy.pla: 0054: char[64] abs1, abs2 - ; abs1 -> [6] - ; abs2 -> [70] -; utilsrc/apple/copy.pla: 0055: -; utilsrc/apple/copy.pla: 0056: abspath(@abs1, path1) - !BYTE $58,$86,$02 ; ENTER 134,2 -; utilsrc/apple/copy.pla: 0057: abspath(@abs2, path2) -; utilsrc/apple/copy.pla: 0058: -; utilsrc/apple/copy.pla: 0059: if abs1 <> abs2 -; utilsrc/apple/copy.pla: 0060: 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: 0061: fin -_B014 -_B015 -; utilsrc/apple/copy.pla: 0062: 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: 0063: d = abs1[i] - abs2[i] -; utilsrc/apple/copy.pla: 0064: if d -; utilsrc/apple/copy.pla: 0065: 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: 0066: fin -_B019 -_B020 -; utilsrc/apple/copy.pla: 0067: next -_B018 - !BYTE $A4 ; INCBRLE _B017 - !WORD _B017-* -_B016 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; utilsrc/apple/copy.pla: 0068: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$86 ; LEAVE 134 -; utilsrc/apple/copy.pla: 0069: end -; utilsrc/apple/copy.pla: 0070: // -; utilsrc/apple/copy.pla: 0071: // Check destination path -; utilsrc/apple/copy.pla: 0072: // -; utilsrc/apple/copy.pla: 0073: def chkdstpath(dstfile) - ; dstfile -> [0] -_C003 ; chkdstpath() -; utilsrc/apple/copy.pla: 0074: // -; utilsrc/apple/copy.pla: 0075: // Check if destination exists -; utilsrc/apple/copy.pla: 0076: // -; utilsrc/apple/copy.pla: 0077: if fileio:getfileinfo(dstfile, @dstfileinfo) == FILE_ERR_OK - !BYTE $58,$02,$01 ; ENTER 2,1 -; utilsrc/apple/copy.pla: 0078: // -; utilsrc/apple/copy.pla: 0079: // Check if copying into a directory -; utilsrc/apple/copy.pla: 0080: // -; utilsrc/apple/copy.pla: 0081: if dstfileinfo.storage_type & $0D == $0D -; utilsrc/apple/copy.pla: 0082: if dstfile->[^dstfile] <> '/' -; utilsrc/apple/copy.pla: 0083: // -; utilsrc/apple/copy.pla: 0084: // Add path seperator -; utilsrc/apple/copy.pla: 0085: // -; utilsrc/apple/copy.pla: 0086: ^dstfile++ - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D055+0 -_F005 !WORD _D055+0 - !BYTE $6A ; LAW _X034+4 -_F006 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B021 - !WORD _B021-* - !BYTE $68 ; LAB _D055+4 -_F007 !WORD _D055+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: 0087: dstfile->[^dstfile] = '/' -; utilsrc/apple/copy.pla: 0088: 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: 0089: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; utilsrc/apple/copy.pla: 0090: fin -_B023 -_B024 -; utilsrc/apple/copy.pla: 0091: fin -_B021 -_B022 -; utilsrc/apple/copy.pla: 0092: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; utilsrc/apple/copy.pla: 0093: end -; utilsrc/apple/copy.pla: 0094: def copyfiles(srcfile, dstfile)#0 - ; srcfile -> [0] - ; dstfile -> [2] -_C004 ; copyfiles() -; utilsrc/apple/copy.pla: 0095: var entrylist, entry, entrycnt, srcref, dstref, copyxfer - ; entrylist -> [4] - ; entry -> [6] - ; entrycnt -> [8] - ; srcref -> [10] - ; dstref -> [12] - ; copyxfer -> [14] -; utilsrc/apple/copy.pla: 0096: char[64] srcpath - ; srcpath -> [16] -; utilsrc/apple/copy.pla: 0097: char[64] srcfilepath - ; srcfilepath -> [80] -; utilsrc/apple/copy.pla: 0098: char[64] dstfilepath - ; dstfilepath -> [144] -; utilsrc/apple/copy.pla: 0099: char[16] wildname - ; wildname -> [208] -; utilsrc/apple/copy.pla: 0100: -; utilsrc/apple/copy.pla: 0101: // -; utilsrc/apple/copy.pla: 0102: // Check if copying a directory -; utilsrc/apple/copy.pla: 0103: // -; utilsrc/apple/copy.pla: 0104: strcpy(@srcpath, srcfile) - !BYTE $58,$E0,$02 ; ENTER 224,2 -; utilsrc/apple/copy.pla: 0105: wildname = 0 -; utilsrc/apple/copy.pla: 0106: if fileio:getfileinfo(@srcpath, @srcfileinfo) <> FILE_ERR_OK or (srcfileinfo.storage_type & $0D <> $0D) -; utilsrc/apple/copy.pla: 0107: fileFromPath(@wildname, @srcpath) -; utilsrc/apple/copy.pla: 0108: srcpath = srcpath - wildname -; utilsrc/apple/copy.pla: 0109: 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 _D054+0 -_F009 !WORD _D054+0 - !BYTE $6A ; LAW _X034+4 -_F010 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $AE ; BROR _B027 - !WORD _B027-* - !BYTE $68 ; LAB _D054+4 -_F011 !WORD _D054+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: 0110: entrylist, entrycnt = matchList(@srcpath, @wildname) -; utilsrc/apple/copy.pla: 0111: if not entrylist -; utilsrc/apple/copy.pla: 0112: 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: 0113: else - !BYTE $50 ; BRNCH _B031 - !WORD _B031-* -_B030 -; utilsrc/apple/copy.pla: 0114: entry = entrylist -; utilsrc/apple/copy.pla: 0115: while entrycnt - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B034 - !WORD _B034-* -_B032 -; utilsrc/apple/copy.pla: 0116: strcpy(@srcfilepath, @srcpath) -; utilsrc/apple/copy.pla: 0117: strcat(@srcfilepath, entry) -; utilsrc/apple/copy.pla: 0118: strcpy(@dstfilepath, dstfile) -; utilsrc/apple/copy.pla: 0119: if chkdstpath(@dstfilepath) -; utilsrc/apple/copy.pla: 0120: strcat(@dstfilepath, entry) -; utilsrc/apple/copy.pla: 0121: 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: 0122: if entry->entry_type == $0F -; utilsrc/apple/copy.pla: 0123: // -; utilsrc/apple/copy.pla: 0124: // Source is a directory and not referencing the destination -; utilsrc/apple/copy.pla: 0125: // -; utilsrc/apple/copy.pla: 0126: if pathdiff(@srcfilepath, dstfile) -; utilsrc/apple/copy.pla: 0127: fileio:create(@dstfilepath, $0F, $0000) -; utilsrc/apple/copy.pla: 0128: if not chkdstpath(@dstfilepath) -; utilsrc/apple/copy.pla: 0129: 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: 0130: throw(exit, TRUE) -; utilsrc/apple/copy.pla: 0131: fin - !BYTE $28,$90 ; LLA [144] - !BYTE $54 ; CALL _X004 -_F025 !WORD 0 - !BYTE $54 ; CALL _X003 -_F026 !WORD 0 - !BYTE $6A ; LAW _D042+0 -_F027 !WORD _D042+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X030 -_F028 !WORD 0 - !BYTE $30 ; DROP -_B041 -_B042 -; utilsrc/apple/copy.pla: 0132: if recurse -; utilsrc/apple/copy.pla: 0133: copyfiles(@srcfilepath, @dstfilepath) -; utilsrc/apple/copy.pla: 0134: fin - !BYTE $68 ; LAB _D049+0 -_F029 !WORD _D049+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: 0135: fin -_B039 -_B040 -; utilsrc/apple/copy.pla: 0136: else - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -_B037 -; utilsrc/apple/copy.pla: 0137: puts(@srcfilepath) -; utilsrc/apple/copy.pla: 0138: // -; utilsrc/apple/copy.pla: 0139: // Check if destination file exists -; utilsrc/apple/copy.pla: 0140: // -; utilsrc/apple/copy.pla: 0141: if fileio:getfileinfo(@dstfilepath, @dstfileinfo) == FILE_ERR_OK -; utilsrc/apple/copy.pla: 0142: fileio:destroy(@dstfilepath) -; utilsrc/apple/copy.pla: 0143: fin - !BYTE $28,$50 ; LLA [80] - !BYTE $54 ; CALL _X004 -_F031 !WORD 0 - !BYTE $28,$90 ; LLA [144] - !BYTE $26 ; LA _D055+0 -_F032 !WORD _D055+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: 0144: // -; utilsrc/apple/copy.pla: 0145: // Create the destination file and open for writing -; utilsrc/apple/copy.pla: 0146: // -; utilsrc/apple/copy.pla: 0147: if fileio:create(@dstfilepath, entry->entry_type, entry=>entry_aux) <> FILE_ERR_OK -; utilsrc/apple/copy.pla: 0148: 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: 0149: throw(exit, TRUE) -; utilsrc/apple/copy.pla: 0150: fin - !BYTE $28,$90 ; LLA [144] - !BYTE $54 ; CALL _X004 -_F037 !WORD 0 - !BYTE $54 ; CALL _X003 -_F038 !WORD 0 - !BYTE $6A ; LAW _D042+0 -_F039 !WORD _D042+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X030 -_F040 !WORD 0 - !BYTE $30 ; DROP -_B047 -_B048 -; utilsrc/apple/copy.pla: 0151: srcref = fileio:open(@srcfilepath) -; utilsrc/apple/copy.pla: 0152: if not srcref -; utilsrc/apple/copy.pla: 0153: 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: 0154: throw(exit, TRUE) -; utilsrc/apple/copy.pla: 0155: fin - !BYTE $28,$50 ; LLA [80] - !BYTE $54 ; CALL _X004 -_F043 !WORD 0 - !BYTE $54 ; CALL _X003 -_F044 !WORD 0 - !BYTE $6A ; LAW _D042+0 -_F045 !WORD _D042+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X030 -_F046 !WORD 0 - !BYTE $30 ; DROP -_B049 -_B050 -; utilsrc/apple/copy.pla: 0156: dstref = fileio:open(@dstfilepath) -; utilsrc/apple/copy.pla: 0157: if not dstref -; utilsrc/apple/copy.pla: 0158: 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: 0159: throw(exit, TRUE) -; utilsrc/apple/copy.pla: 0160: fin - !BYTE $28,$90 ; LLA [144] - !BYTE $54 ; CALL _X004 -_F049 !WORD 0 - !BYTE $54 ; CALL _X003 -_F050 !WORD 0 - !BYTE $6A ; LAW _D042+0 -_F051 !WORD _D042+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X030 -_F052 !WORD 0 - !BYTE $30 ; DROP -_B051 -_B052 -; utilsrc/apple/copy.pla: 0161: // -; utilsrc/apple/copy.pla: 0162: // Let the copying begin -; utilsrc/apple/copy.pla: 0163: // -; utilsrc/apple/copy.pla: 0164: repeat -_B054 -; utilsrc/apple/copy.pla: 0165: copyxfer = fileio:read(srcref, copybuff, copysize) -; utilsrc/apple/copy.pla: 0166: if copyxfer -; utilsrc/apple/copy.pla: 0167: if fileio:write(dstref, copybuff, copyxfer) <> copyxfer -; utilsrc/apple/copy.pla: 0168: puts("\nError writing: "); puts(@dstfilepath); putln - !BYTE $66,$0A ; LLW [10] - !BYTE $6A ; LAW _D046+0 -_F053 !WORD _D046+0 - !BYTE $6A ; LAW _D048+0 -_F054 !WORD _D048+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 _D046+0 -_F056 !WORD _D046+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: 0169: throw(exit, TRUE) -; utilsrc/apple/copy.pla: 0170: fin - !BYTE $28,$90 ; LLA [144] - !BYTE $54 ; CALL _X004 -_F059 !WORD 0 - !BYTE $54 ; CALL _X003 -_F060 !WORD 0 - !BYTE $6A ; LAW _D042+0 -_F061 !WORD _D042+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X030 -_F062 !WORD 0 - !BYTE $30 ; DROP -_B058 -_B059 -; utilsrc/apple/copy.pla: 0171: fin -_B056 -_B057 -; utilsrc/apple/copy.pla: 0172: until copyxfer == 0 -_B055 - !BYTE $66,$0E ; LLW [14] - !BYTE $4E ; BRTRU _B054 - !WORD _B054-* -_B053 -; utilsrc/apple/copy.pla: 0173: fileio:close(dstref) -; utilsrc/apple/copy.pla: 0174: fileio:close(srcref) -; utilsrc/apple/copy.pla: 0175: 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: 0176: 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: 0177: entry = entry + t_fileentry -; utilsrc/apple/copy.pla: 0178: 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: 0179: loop - !BYTE $76,$08 ; SLW [8] -_B034 - !BYTE $66,$08 ; LLW [8] - !BYTE $4E ; BRTRU _B032 - !WORD _B032-* -_B033 -; utilsrc/apple/copy.pla: 0180: heaprelease(entrylist) -; utilsrc/apple/copy.pla: 0181: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X015 -_F068 !WORD 0 - !BYTE $30 ; DROP -_B031 -; utilsrc/apple/copy.pla: 0182: end - !BYTE $5A,$E0 ; LEAVE 224 -; utilsrc/apple/copy.pla: 0183: // -; utilsrc/apple/copy.pla: 0184: // Install error exit -; utilsrc/apple/copy.pla: 0185: // -; utilsrc/apple/copy.pla: 0186: exit = heapalloc(t_except) -_INIT -; utilsrc/apple/copy.pla: 0187: if not except(exit) -; utilsrc/apple/copy.pla: 0188: fileio:getpfx(@curpath) -; utilsrc/apple/copy.pla: 0189: // -; utilsrc/apple/copy.pla: 0190: // Check arguments and file types -; utilsrc/apple/copy.pla: 0191: // -; utilsrc/apple/copy.pla: 0192: arg = argNext(argFirst) -; utilsrc/apple/copy.pla: 0193: if ^arg and arg->[1] == '-' -; utilsrc/apple/copy.pla: 0194: if ^arg > 1 and toupper(arg->[2]) == 'R' -; utilsrc/apple/copy.pla: 0195: recurse = TRUE -; utilsrc/apple/copy.pla: 0196: fin - !BYTE $2C,$40,$01 ; CW 320 - !BYTE $54 ; CALL _X014 -_F069 !WORD 0 - !BYTE $7E ; DAW _D042+0 -_F070 !WORD _D042+0 - !BYTE $54 ; CALL _X029 -_F071 !WORD 0 - !BYTE $4E ; BRTRU _B060 - !WORD _B060-* - !BYTE $26 ; LA _D051+0 -_F072 !WORD _D051+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 _D041+0 -_F076 !WORD _D041+0 - !BYTE $6A ; LAW _D041+0 -_F077 !WORD _D041+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B062 - !WORD _B062-* - !BYTE $6A ; LAW _D041+0 -_F078 !WORD _D041+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 _D041+0 -_F079 !WORD _D041+0 - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B065 - !WORD _B065-* - !BYTE $6A ; LAW _D041+0 -_F080 !WORD _D041+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 _D049+0 -_F082 !WORD _D049+0 -_B066 -_B067 -; utilsrc/apple/copy.pla: 0197: arg = argNext(arg) -; utilsrc/apple/copy.pla: 0198: fin - !BYTE $6A ; LAW _D041+0 -_F083 !WORD _D041+0 - !BYTE $54 ; CALL _X033 -_F084 !WORD 0 - !BYTE $7A ; SAW _D041+0 -_F085 !WORD _D041+0 -_B063 -_B064 -; utilsrc/apple/copy.pla: 0199: if ^arg -; utilsrc/apple/copy.pla: 0200: srcfilelist = heapalloc(^arg + 1) -; utilsrc/apple/copy.pla: 0201: pathcpy(srcfilelist, arg) -; utilsrc/apple/copy.pla: 0202: srccnt++ - !BYTE $6A ; LAW _D041+0 -_F086 !WORD _D041+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B068 - !WORD _B068-* - !BYTE $6A ; LAW _D041+0 -_F087 !WORD _D041+0 - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X014 -_F088 !WORD 0 - !BYTE $7E ; DAW _D043+0 -_F089 !WORD _D043+0 - !BYTE $6A ; LAW _D041+0 -_F090 !WORD _D041+0 - !BYTE $54 ; CALL _C000 -_F091 !WORD _C000 - !BYTE $6A ; LAW _D045+0 -_F092 !WORD _D045+0 - !BYTE $8C ; INCR -; utilsrc/apple/copy.pla: 0203: arg = argNext(arg) -; utilsrc/apple/copy.pla: 0204: if ^arg -; utilsrc/apple/copy.pla: 0205: pathcpy(@dstpath, arg) -; utilsrc/apple/copy.pla: 0206: arg = argNext(arg) -; utilsrc/apple/copy.pla: 0207: while ^arg - !BYTE $7A ; SAW _D045+0 -_F093 !WORD _D045+0 - !BYTE $6A ; LAW _D041+0 -_F094 !WORD _D041+0 - !BYTE $54 ; CALL _X033 -_F095 !WORD 0 - !BYTE $7A ; SAW _D041+0 -_F096 !WORD _D041+0 - !BYTE $6A ; LAW _D041+0 -_F097 !WORD _D041+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B070 - !WORD _B070-* - !BYTE $26 ; LA _D052+0 -_F098 !WORD _D052+0 - !BYTE $6A ; LAW _D041+0 -_F099 !WORD _D041+0 - !BYTE $54 ; CALL _C000 -_F100 !WORD _C000 - !BYTE $6A ; LAW _D041+0 -_F101 !WORD _D041+0 - !BYTE $54 ; CALL _X033 -_F102 !WORD 0 - !BYTE $7A ; SAW _D041+0 -_F103 !WORD _D041+0 - !BYTE $50 ; BRNCH _B074 - !WORD _B074-* -_B072 -; utilsrc/apple/copy.pla: 0208: // -; utilsrc/apple/copy.pla: 0209: // Add to source list -; utilsrc/apple/copy.pla: 0210: // -; utilsrc/apple/copy.pla: 0211: srcfileptr = heapalloc(dstpath + 1) -; utilsrc/apple/copy.pla: 0212: strcpy(srcfileptr, @dstpath) -; utilsrc/apple/copy.pla: 0213: srccnt++ - !BYTE $68 ; LAB _D052+0 -_F104 !WORD _D052+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X014 -_F105 !WORD 0 - !BYTE $7E ; DAW _D044+0 -_F106 !WORD _D044+0 - !BYTE $26 ; LA _D052+0 -_F107 !WORD _D052+0 - !BYTE $54 ; CALL _X019 -_F108 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D045+0 -_F109 !WORD _D045+0 - !BYTE $8C ; INCR -; utilsrc/apple/copy.pla: 0214: // -; utilsrc/apple/copy.pla: 0215: // Set new destination -; utilsrc/apple/copy.pla: 0216: // -; utilsrc/apple/copy.pla: 0217: pathcpy(@dstpath, arg) -; utilsrc/apple/copy.pla: 0218: arg = argNext(arg) -; utilsrc/apple/copy.pla: 0219: loop - !BYTE $7A ; SAW _D045+0 -_F110 !WORD _D045+0 - !BYTE $26 ; LA _D052+0 -_F111 !WORD _D052+0 - !BYTE $6A ; LAW _D041+0 -_F112 !WORD _D041+0 - !BYTE $54 ; CALL _C000 -_F113 !WORD _C000 - !BYTE $6A ; LAW _D041+0 -_F114 !WORD _D041+0 - !BYTE $54 ; CALL _X033 -_F115 !WORD 0 - !BYTE $7A ; SAW _D041+0 -_F116 !WORD _D041+0 -_B074 - !BYTE $6A ; LAW _D041+0 -_F117 !WORD _D041+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B072 - !WORD _B072-* -_B073 -; utilsrc/apple/copy.pla: 0220: if dstpath[0] == 1 and dstpath[1] == '=' -; utilsrc/apple/copy.pla: 0221: fileio:getpfx(@dstpath) -; utilsrc/apple/copy.pla: 0222: fin - !BYTE $68 ; LAB _D052+0 -_F118 !WORD _D052+0 - !BYTE $02 ; CN 1 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B075 - !WORD _B075-* - !BYTE $68 ; LAB _D052+1 -_F119 !WORD _D052+1 - !BYTE $2A,$3D ; CB 61 - !BYTE $40 ; ISEQ -_B075 - !BYTE $4C ; BRFLS _B076 - !WORD _B076-* - !BYTE $26 ; LA _D052+0 -_F120 !WORD _D052+0 - !BYTE $6A ; LAW _X034+0 -_F121 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B076 -_B077 -; utilsrc/apple/copy.pla: 0223: if not chkdstpath(@dstpath) and (srccnt > 1 or isWildName(srcfilelist)) -; utilsrc/apple/copy.pla: 0224: puts("Destination must be a directory: "); puts(@dstpath); putln - !BYTE $26 ; LA _D052+0 -_F122 !WORD _D052+0 - !BYTE $54 ; CALL _C003 -_F123 !WORD _C003 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B078 - !WORD _B078-* - !BYTE $6A ; LAW _D045+0 -_F124 !WORD _D045+0 - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $AE ; BROR _B079 - !WORD _B079-* - !BYTE $6A ; LAW _D043+0 -_F125 !WORD _D043+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: 0225: return - !BYTE $26 ; LA _D052+0 -_F128 !WORD _D052+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: 0226: fin -_B080 -_B081 -; utilsrc/apple/copy.pla: 0227: fileio:iobufalloc(2) // Reserve two I/O buffers -; utilsrc/apple/copy.pla: 0228: copysize = MAXBUFSIZE -; utilsrc/apple/copy.pla: 0229: while isult(heapavail, copysize + 512) - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _X034+12 -_F131 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $7A ; SAW _D048+0 -_F132 !WORD _D048+0 - !BYTE $50 ; BRNCH _B084 - !WORD _B084-* -_B082 -; utilsrc/apple/copy.pla: 0230: copysize = copysize / 2 -; utilsrc/apple/copy.pla: 0231: loop - !BYTE $6A ; LAW _D048+0 -_F133 !WORD _D048+0 - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $7A ; SAW _D048+0 -_F134 !WORD _D048+0 -_B084 - !BYTE $54 ; CALL _X016 -_F135 !WORD 0 - !BYTE $6A ; LAW _D048+0 -_F136 !WORD _D048+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X026 -_F137 !WORD 0 - !BYTE $4E ; BRTRU _B082 - !WORD _B082-* -_B083 -; utilsrc/apple/copy.pla: 0232: copyrel = heapalloc(copysize) -; utilsrc/apple/copy.pla: 0233: if not copyrel -; utilsrc/apple/copy.pla: 0234: puts(" No available memory for copy buffer\n") - !BYTE $6A ; LAW _D048+0 -_F138 !WORD _D048+0 - !BYTE $54 ; CALL _X014 -_F139 !WORD 0 - !BYTE $7E ; DAW _D047+0 -_F140 !WORD _D047+0 - !BYTE $4E ; BRTRU _B085 - !WORD _B085-* - !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 -_F141 !WORD 0 -; utilsrc/apple/copy.pla: 0235: return - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/copy.pla: 0236: fin -_B085 -_B086 -; utilsrc/apple/copy.pla: 0237: // -; utilsrc/apple/copy.pla: 0238: // Round buffer to page boundary for faster transfers -; utilsrc/apple/copy.pla: 0239: // -; utilsrc/apple/copy.pla: 0240: copybuff = (copyrel + $FF) & $FF00 -; utilsrc/apple/copy.pla: 0241: // -; utilsrc/apple/copy.pla: 0242: // Iterate through all sources -; utilsrc/apple/copy.pla: 0243: // -; utilsrc/apple/copy.pla: 0244: srcfileptr = srcfilelist -; utilsrc/apple/copy.pla: 0245: while srccnt - !BYTE $6A ; LAW _D047+0 -_F142 !WORD _D047+0 - !BYTE $38,$FF ; ADDI 255 - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $7A ; SAW _D046+0 -_F143 !WORD _D046+0 - !BYTE $6A ; LAW _D043+0 -_F144 !WORD _D043+0 - !BYTE $7A ; SAW _D044+0 -_F145 !WORD _D044+0 - !BYTE $50 ; BRNCH _B089 - !WORD _B089-* -_B087 -; utilsrc/apple/copy.pla: 0246: dstlen = dstpath -; utilsrc/apple/copy.pla: 0247: if fileio:getfileinfo(srcfileptr, @srcfileinfo) == FILE_ERR_OK and (srcfileinfo.storage_type & $0D == $0D) -; utilsrc/apple/copy.pla: 0248: if recurse -; utilsrc/apple/copy.pla: 0249: // -; utilsrc/apple/copy.pla: 0250: // Copy directory -; utilsrc/apple/copy.pla: 0251: // -; utilsrc/apple/copy.pla: 0252: if dstpath[dstpath] <> '/' -; utilsrc/apple/copy.pla: 0253: dstpath++ - !BYTE $68 ; LAB _D052+0 -_F146 !WORD _D052+0 - !BYTE $78 ; SAB _D050+0 -_F147 !WORD _D050+0 - !BYTE $6A ; LAW _D044+0 -_F148 !WORD _D044+0 - !BYTE $26 ; LA _D054+0 -_F149 !WORD _D054+0 - !BYTE $6A ; LAW _X034+4 -_F150 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B090 - !WORD _B090-* - !BYTE $68 ; LAB _D054+4 -_F151 !WORD _D054+4 - !BYTE $3C,$0D ; ANDI 13 - !BYTE $1A ; CN 13 - !BYTE $40 ; ISEQ -_B090 - !BYTE $4C ; BRFLS _B091 - !WORD _B091-* - !BYTE $68 ; LAB _D049+0 -_F152 !WORD _D049+0 - !BYTE $4C ; BRFLS _B093 - !WORD _B093-* - !BYTE $26 ; LA _D052+0 -_F153 !WORD _D052+0 - !BYTE $B4 ; ADDAB _D052+0 -_F154 !WORD _D052+0 - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $22 ; BREQ _B095 - !WORD _B095-* - !BYTE $68 ; LAB _D052+0 -_F155 !WORD _D052+0 - !BYTE $8C ; INCR -; utilsrc/apple/copy.pla: 0254: dstpath[dstpath] = '/' -; utilsrc/apple/copy.pla: 0255: fin - !BYTE $78 ; SAB _D052+0 -_F156 !WORD _D052+0 - !BYTE $2A,$2F ; CB 47 - !BYTE $26 ; LA _D052+0 -_F157 !WORD _D052+0 - !BYTE $B4 ; ADDAB _D052+0 -_F158 !WORD _D052+0 - !BYTE $70 ; SB -_B095 -_B096 -; utilsrc/apple/copy.pla: 0256: filefrompath(@srcdir, srcfileptr) -; utilsrc/apple/copy.pla: 0257: strcat(@dstpath, @srcdir) -; utilsrc/apple/copy.pla: 0258: if fileio:getfileinfo(@dstpath, @dstfileinfo) <> FILE_ERR_OK -; utilsrc/apple/copy.pla: 0259: fileio:create(@dstpath, $0F, $0000) -; utilsrc/apple/copy.pla: 0260: fin - !BYTE $26 ; LA _D053+0 -_F159 !WORD _D053+0 - !BYTE $6A ; LAW _D044+0 -_F160 !WORD _D044+0 - !BYTE $54 ; CALL _X040 -_F161 !WORD 0 - !BYTE $26 ; LA _D052+0 -_F162 !WORD _D052+0 - !BYTE $26 ; LA _D053+0 -_F163 !WORD _D053+0 - !BYTE $54 ; CALL _X020 -_F164 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D052+0 -_F165 !WORD _D052+0 - !BYTE $26 ; LA _D055+0 -_F166 !WORD _D055+0 - !BYTE $6A ; LAW _X034+4 -_F167 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B097 - !WORD _B097-* - !BYTE $26 ; LA _D052+0 -_F168 !WORD _D052+0 - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X034+22 -_F169 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B097 -_B098 -; utilsrc/apple/copy.pla: 0261: if not chkdstpath(@dstpath) -; utilsrc/apple/copy.pla: 0262: puts("Destination must be a directory: "); puts(@dstpath); putln - !BYTE $26 ; LA _D052+0 -_F170 !WORD _D052+0 - !BYTE $54 ; CALL _C003 -_F171 !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 -_F172 !WORD 0 -; utilsrc/apple/copy.pla: 0263: return - !BYTE $26 ; LA _D052+0 -_F173 !WORD _D052+0 - !BYTE $54 ; CALL _X004 -_F174 !WORD 0 - !BYTE $54 ; CALL _X003 -_F175 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/copy.pla: 0264: fin -_B099 -_B100 -; utilsrc/apple/copy.pla: 0265: else - !BYTE $50 ; BRNCH _B094 - !WORD _B094-* -_B093 -; utilsrc/apple/copy.pla: 0266: 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 -_F176 !WORD 0 -; utilsrc/apple/copy.pla: 0267: srcfileptr = srcfileptr + ^srcfileptr + 1 -; utilsrc/apple/copy.pla: 0268: srccnt-- - !BYTE $6A ; LAW _D044+0 -_F177 !WORD _D044+0 - !BYTE $54 ; CALL _X004 -_F178 !WORD 0 - !BYTE $54 ; CALL _X003 -_F179 !WORD 0 - !BYTE $6A ; LAW _D044+0 -_F180 !WORD _D044+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D044+0 -_F181 !WORD _D044+0 - !BYTE $6A ; LAW _D045+0 -_F182 !WORD _D045+0 - !BYTE $8E ; DECR -; utilsrc/apple/copy.pla: 0269: continue - !BYTE $7A ; SAW _D045+0 -_F183 !WORD _D045+0 - !BYTE $50 ; BRNCH _B089 - !WORD _B089-* -; utilsrc/apple/copy.pla: 0270: fin -_B094 -; utilsrc/apple/copy.pla: 0271: fin -_B091 -_B092 -; utilsrc/apple/copy.pla: 0272: // -; utilsrc/apple/copy.pla: 0273: // Copy files -; utilsrc/apple/copy.pla: 0274: // -; utilsrc/apple/copy.pla: 0275: copyfiles(srcfileptr, @dstpath) -; utilsrc/apple/copy.pla: 0276: dstpath = dstlen -; utilsrc/apple/copy.pla: 0277: srcfileptr = srcfileptr + ^srcfileptr + 1 -; utilsrc/apple/copy.pla: 0278: srccnt-- - !BYTE $6A ; LAW _D044+0 -_F184 !WORD _D044+0 - !BYTE $26 ; LA _D052+0 -_F185 !WORD _D052+0 - !BYTE $54 ; CALL _C004 -_F186 !WORD _C004 - !BYTE $68 ; LAB _D050+0 -_F187 !WORD _D050+0 - !BYTE $78 ; SAB _D052+0 -_F188 !WORD _D052+0 - !BYTE $6A ; LAW _D044+0 -_F189 !WORD _D044+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D044+0 -_F190 !WORD _D044+0 - !BYTE $6A ; LAW _D045+0 -_F191 !WORD _D045+0 - !BYTE $8E ; DECR -; utilsrc/apple/copy.pla: 0279: loop - !BYTE $7A ; SAW _D045+0 -_F192 !WORD _D045+0 -_B089 - !BYTE $6A ; LAW _D045+0 -_F193 !WORD _D045+0 - !BYTE $4E ; BRTRU _B087 - !WORD _B087-* -_B088 -; utilsrc/apple/copy.pla: 0280: heaprelease(copyrel) -; utilsrc/apple/copy.pla: 0281: return - !BYTE $6A ; LAW _D047+0 -_F194 !WORD _D047+0 - !BYTE $54 ; CALL _X015 -_F195 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/copy.pla: 0282: fin -_B070 -_B071 -; utilsrc/apple/copy.pla: 0283: fin -_B068 -_B069 -; utilsrc/apple/copy.pla: 0284: 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 -_F196 !WORD 0 -; utilsrc/apple/copy.pla: 0285: fin -_B060 -_B061 -; utilsrc/apple/copy.pla: 0286: fileio:close(0) -; utilsrc/apple/copy.pla: 0287: done - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X034+16 -_F197 !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 $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 16 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !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 20 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !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 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE 3 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F197-_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: 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 f6bc57d..0000000 --- a/src/utilsrc/apple/del.a +++ /dev/null @@ -1,1352 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 = $0140 - ; t_except = 320 -; 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X035 -; inc/fileio.plh: 0080: 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: 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 -_D041 !FILL 2 ; arg, recurse, exit, filelist, fileptr, filecnt -_D042 !FILL 2 ; recurse, exit, filelist, fileptr, filecnt -_D043 !FILL 2 ; exit, filelist, fileptr, filecnt -_D044 !FILL 2 ; filelist, fileptr, filecnt -_D045 !FILL 2 ; fileptr, filecnt -_D046 !FILL 2 ; filecnt -; utilsrc/apple/del.pla: 0008: char[64] path -_D047 !FILL 64 ; path -; utilsrc/apple/del.pla: 0009: res[t_fileinfo] fileinfo -_D048 !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 _D048+0 -_F000 !WORD _D048+0 - !BYTE $6A ; LAW _X034+4 -_F001 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B009 - !WORD _B009-* - !BYTE $68 ; LAB _D048+1 -_F002 !WORD _D048+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 _D042+0 -_F019 !WORD _D042+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,$40,$01 ; CW 320 - !BYTE $54 ; CALL _X014 -_F039 !WORD 0 - !BYTE $7E ; DAW _D043+0 -_F040 !WORD _D043+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 _D041+0 -_F044 !WORD _D041+0 - !BYTE $6A ; LAW _D041+0 -_F045 !WORD _D041+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B035 - !WORD _B035-* - !BYTE $6A ; LAW _D041+0 -_F046 !WORD _D041+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 _D041+0 -_F047 !WORD _D041+0 - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B038 - !WORD _B038-* - !BYTE $6A ; LAW _D041+0 -_F048 !WORD _D041+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 _D042+0 -_F050 !WORD _D042+0 -_B039 -_B040 -; utilsrc/apple/del.pla: 0125: arg = argNext(arg) -; utilsrc/apple/del.pla: 0126: fin - !BYTE $6A ; LAW _D041+0 -_F051 !WORD _D041+0 - !BYTE $54 ; CALL _X033 -_F052 !WORD 0 - !BYTE $7A ; SAW _D041+0 -_F053 !WORD _D041+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 _D041+0 -_F054 !WORD _D041+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B041 - !WORD _B041-* - !BYTE $54 ; CALL _X012 -_F055 !WORD 0 - !BYTE $7A ; SAW _D044+0 -_F056 !WORD _D044+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 _D041+0 -_F057 !WORD _D041+0 - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X014 -_F058 !WORD 0 - !BYTE $7E ; DAW _D045+0 -_F059 !WORD _D045+0 - !BYTE $6A ; LAW _D041+0 -_F060 !WORD _D041+0 - !BYTE $54 ; CALL _C000 -_F061 !WORD _C000 - !BYTE $6A ; LAW _D046+0 -_F062 !WORD _D046+0 - !BYTE $8C ; INCR -; utilsrc/apple/del.pla: 0136: arg = argNext(arg) -; utilsrc/apple/del.pla: 0137: loop - !BYTE $7A ; SAW _D046+0 -_F063 !WORD _D046+0 - !BYTE $6A ; LAW _D041+0 -_F064 !WORD _D041+0 - !BYTE $54 ; CALL _X033 -_F065 !WORD 0 - !BYTE $7A ; SAW _D041+0 -_F066 !WORD _D041+0 -_B045 - !BYTE $6A ; LAW _D041+0 -_F067 !WORD _D041+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 _D044+0 -_F068 !WORD _D044+0 - !BYTE $7A ; SAW _D045+0 -_F069 !WORD _D045+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 _D042+0 -_F070 !WORD _D042+0 - !BYTE $AC ; BRAND _B049 - !WORD _B049-* - !BYTE $6A ; LAW _D045+0 -_F071 !WORD _D045+0 - !BYTE $26 ; LA _D048+0 -_F072 !WORD _D048+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 _D048+4 -_F074 !WORD _D048+4 - !BYTE $3C,$0D ; ANDI 13 - !BYTE $1A ; CN 13 - !BYTE $40 ; ISEQ -_B050 -_B049 - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* - !BYTE $26 ; LA _D047+0 -_F075 !WORD _D047+0 - !BYTE $6A ; LAW _D045+0 -_F076 !WORD _D045+0 - !BYTE $54 ; CALL _X019 -_F077 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D047+0 -_F078 !WORD _D047+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 _D047+0 -_F080 !WORD _D047+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 _D045+0 -_F082 !WORD _D045+0 - !BYTE $54 ; CALL _C002 -_F083 !WORD _C002 - !BYTE $6A ; LAW _D045+0 -_F084 !WORD _D045+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D045+0 -_F085 !WORD _D045+0 - !BYTE $6A ; LAW _D046+0 -_F086 !WORD _D046+0 - !BYTE $8E ; DECR -; utilsrc/apple/del.pla: 0151: loop - !BYTE $7A ; SAW _D046+0 -_F087 !WORD _D046+0 -_B048 - !BYTE $6A ; LAW _D046+0 -_F088 !WORD _D046+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/jitune.a b/src/utilsrc/apple/jitune.a deleted file mode 100644 index 7be9b10..0000000 --- a/src/utilsrc/apple/jitune.a +++ /dev/null @@ -1,511 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 039b8bc..0000000 --- a/src/utilsrc/apple/mon.a +++ /dev/null @@ -1,227 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 c4f0011..0000000 --- a/src/utilsrc/apple/newdir.a +++ /dev/null @@ -1,504 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0080: 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 8f59a34..0000000 --- a/src/utilsrc/apple/ren.a +++ /dev/null @@ -1,577 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0080: 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 a857562..0000000 --- a/src/utilsrc/apple/sos.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/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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0080: 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 e0e85c1..0000000 --- a/src/utilsrc/apple/type.a +++ /dev/null @@ -1,902 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0080: 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 10fa1f7..0000000 --- a/src/utilsrc/apple/zipchip.a +++ /dev/null @@ -1,549 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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/utilsrc/tftpd.a b/src/utilsrc/tftpd.a deleted file mode 100644 index 38dc1e6..0000000 --- a/src/utilsrc/tftpd.a +++ /dev/null @@ -1,2676 +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/tftpd.pla: 0001: // -; utilsrc/tftpd.pla: 0002: // TFTP Daemon -; utilsrc/tftpd.pla: 0003: // -; utilsrc/tftpd.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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: end -; utilsrc/tftpd.pla: 0004: -; utilsrc/tftpd.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 -; utilsrc/tftpd.pla: 0005: -; utilsrc/tftpd.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: end - ; t_fileio = 36 -; inc/fileio.plh: 0076: // -; inc/fileio.plh: 0077: // Globally accessible error code -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: byte perr - ; PERR -> X030 -; inc/fileio.plh: 0080: end -; utilsrc/tftpd.pla: 0006: -; utilsrc/tftpd.pla: 0007: 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: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0003: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0004: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0005: const ECHO_ON = $80 - ; ECHO_ON = 128 -; inc/conio.plh: 0006: const ECHO_OFF = $00 - ; ECHO_OFF = 0 -; inc/conio.plh: 0007: struc t_conio -; inc/conio.plh: 0008: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0009: word getkey - ; getkey = 2 -; inc/conio.plh: 0010: word echo - ; echo = 4 -; inc/conio.plh: 0011: word home - ; home = 6 -; inc/conio.plh: 0012: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0013: word viewport - ; viewport = 10 -; inc/conio.plh: 0014: word texttype - ; texttype = 12 -; inc/conio.plh: 0015: word textmode - ; textmode = 14 -; inc/conio.plh: 0016: word grmode - ; grmode = 16 -; inc/conio.plh: 0017: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0018: word grplot - ; grplot = 20 -; inc/conio.plh: 0019: word tone - ; tone = 22 -; inc/conio.plh: 0020: word rnd - ; rnd = 24 -; inc/conio.plh: 0021: end - ; t_conio = 26 -; inc/conio.plh: 0022: end -; utilsrc/tftpd.pla: 0007: -; utilsrc/tftpd.pla: 0008: sysflags nojitc // Keep JITC from compiling and pausing while transferring - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0100 ; SYSTEM FLAGS -; utilsrc/tftpd.pla: 0009: // -; utilsrc/tftpd.pla: 0010: // TFTP values -; utilsrc/tftpd.pla: 0011: // -; utilsrc/tftpd.pla: 0012: const TFTP_PORT = 69 - ; TFTP_PORT = 69 -; utilsrc/tftpd.pla: 0013: const TID_INC = $0010 - ; TID_INC = 16 -; utilsrc/tftpd.pla: 0014: const RRQ = $0100 - ; RRQ = 256 -; utilsrc/tftpd.pla: 0015: const WRQ = $0200 - ; WRQ = 512 -; utilsrc/tftpd.pla: 0016: const DATAPKT = $0300 - ; DATAPKT = 768 -; utilsrc/tftpd.pla: 0017: const ACKPKT = $0400 - ; ACKPKT = 1024 -; utilsrc/tftpd.pla: 0018: const ERRPKT = $0500 - ; ERRPKT = 1280 -; utilsrc/tftpd.pla: 0019: struc t_errPkt -; utilsrc/tftpd.pla: 0020: word errOp - ; errOp = 0 -; utilsrc/tftpd.pla: 0021: word errCode - ; errCode = 2 -; utilsrc/tftpd.pla: 0022: byte errStr[] - ; errStr = 4 -; utilsrc/tftpd.pla: 0023: byte errStrNull - ; errStrNull = 4 -; utilsrc/tftpd.pla: 0024: end - ; t_errPkt = 5 -; utilsrc/tftpd.pla: 0025: struc t_ackPkt -; utilsrc/tftpd.pla: 0026: word ackOp - ; ackOp = 0 -; utilsrc/tftpd.pla: 0027: word ackBlock - ; ackBlock = 2 -; utilsrc/tftpd.pla: 0028: end - ; t_ackPkt = 4 -; utilsrc/tftpd.pla: 0029: struc t_datPkt -; utilsrc/tftpd.pla: 0030: word datOp - ; datOp = 0 -; utilsrc/tftpd.pla: 0031: word datBlock - ; datBlock = 2 -; utilsrc/tftpd.pla: 0032: byte datBytes[] - ; datBytes = 4 -; utilsrc/tftpd.pla: 0033: end - ; t_datPkt = 4 -; utilsrc/tftpd.pla: 0034: res[t_errPkt] tftpError = $00, $05, $00, $00, $00 -_D032 ; tftpError = $00, $05, $00, $00, $00 - !BYTE $00 - !BYTE $05 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; utilsrc/tftpd.pla: 0035: res[t_ackPkt] tftpAck = $00, $04, $00, $00 -_D033 ; tftpAck = $00, $04, $00, $00 - !BYTE $00 - !BYTE $04 - !BYTE $00 - !BYTE $00 -; utilsrc/tftpd.pla: 0036: // -; utilsrc/tftpd.pla: 0037: // Current file operations -; utilsrc/tftpd.pla: 0038: // -; utilsrc/tftpd.pla: 0039: byte ref, type, , netscii, filename[256] -_D034 !FILL 1 ; ref, type, , netscii, filename[256] -_D035 !FILL 1 ; type, , netscii, filename[256] - !FILL $01 -_D036 !FILL 1 ; netscii, filename[256] -_D037 !FILL 256 ; filename[256] -; utilsrc/tftpd.pla: 0040: word aux, block -_D038 !FILL 2 ; aux, block -_D039 !FILL 2 ; block -; utilsrc/tftpd.pla: 0041: word buff, TID = $1001 -_D040 !FILL 2 ; buff, TID = $1001 -_D041 ; TID = $1001 - !WORD $1001 -; utilsrc/tftpd.pla: 0042: word portTFTP, portTID -_D042 !FILL 2 ; portTFTP, portTID -_D043 !FILL 2 ; portTID -; utilsrc/tftpd.pla: 0043: // -; utilsrc/tftpd.pla: 0044: // Swap bytes in word -; utilsrc/tftpd.pla: 0045: // -; utilsrc/tftpd.pla: 0046: asm swab(val) -_A000 ; swab() -; utilsrc/tftpd.pla: 0047: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; utilsrc/tftpd.pla: 0048: LDA ESTKL,X - LDA ESTKL,X -; utilsrc/tftpd.pla: 0049: LDY ESTKH,X - LDY ESTKH,X -; utilsrc/tftpd.pla: 0050: STA ESTKH,X - STA ESTKH,X -; utilsrc/tftpd.pla: 0051: STY ESTKL,X - STY ESTKL,X -; utilsrc/tftpd.pla: 0052: RTS - RTS -; utilsrc/tftpd.pla: 0053: end -; utilsrc/tftpd.pla: 0054: // -; utilsrc/tftpd.pla: 0055: // Translate 'in' value to 'out' value -; utilsrc/tftpd.pla: 0056: // -; utilsrc/tftpd.pla: 0057: asm xlat(in, out, buf, len)#0 -_A001 ; xlat() -; utilsrc/tftpd.pla: 0058: INX - INX -; utilsrc/tftpd.pla: 0059: INX - INX -; utilsrc/tftpd.pla: 0060: INX - INX -; utilsrc/tftpd.pla: 0061: INX - INX -; utilsrc/tftpd.pla: 0062: LDA ESTKL-4,X - LDA ESTKL-4,X -; utilsrc/tftpd.pla: 0063: ORA ESTKH-4,X - ORA ESTKH-4,X -; utilsrc/tftpd.pla: 0064: BEQ XLATEX - BEQ XLATEX -; utilsrc/tftpd.pla: 0065: LDA ESTKL-3,X - LDA ESTKL-3,X -; utilsrc/tftpd.pla: 0066: STA SRCL - STA SRCL -; utilsrc/tftpd.pla: 0067: LDA ESTKH-3,X - LDA ESTKH-3,X -; utilsrc/tftpd.pla: 0068: STA SRCH - STA SRCH -; utilsrc/tftpd.pla: 0069: LDA ESTKL-1,X - LDA ESTKL-1,X -; utilsrc/tftpd.pla: 0070: LDY ESTKL-4,X - LDY ESTKL-4,X -; utilsrc/tftpd.pla: 0071: BEQ XLATLP - BEQ XLATLP -; utilsrc/tftpd.pla: 0072: INC ESTKH-4,X - INC ESTKH-4,X -; utilsrc/tftpd.pla: 0073: LDY #$00 - LDY #$00 -; utilsrc/tftpd.pla: 0074: XLATLP CMP (SRC),Y -XLATLP CMP (SRC),Y -; utilsrc/tftpd.pla: 0075: BNE + - BNE + -; utilsrc/tftpd.pla: 0076: LDA ESTKL-2,X - LDA ESTKL-2,X -; utilsrc/tftpd.pla: 0077: STA (SRC),Y - STA (SRC),Y -; utilsrc/tftpd.pla: 0078: LDA ESTKL-1,X - LDA ESTKL-1,X -; utilsrc/tftpd.pla: 0079: + INY -+ INY -; utilsrc/tftpd.pla: 0080: BNE + - BNE + -; utilsrc/tftpd.pla: 0081: INC DSTH - INC DSTH -; utilsrc/tftpd.pla: 0082: INC SRCH - INC SRCH -; utilsrc/tftpd.pla: 0083: + DEC ESTKL-4,X -+ DEC ESTKL-4,X -; utilsrc/tftpd.pla: 0084: BNE XLATLP - BNE XLATLP -; utilsrc/tftpd.pla: 0085: DEC ESTKH-4,X - DEC ESTKH-4,X -; utilsrc/tftpd.pla: 0086: BNE XLATLP - BNE XLATLP -; utilsrc/tftpd.pla: 0087: XLATEX RTS -XLATEX RTS -; utilsrc/tftpd.pla: 0088: end -; utilsrc/tftpd.pla: 0089: // -; utilsrc/tftpd.pla: 0090: // Convert byte to two hex chars -; utilsrc/tftpd.pla: 0091: // -; utilsrc/tftpd.pla: 0092: def btoh(cptr, b)#0 -_SUBSEG ; BYTECODE STARTS - ; cptr -> [0] - ; b -> [2] -_C000 ; btoh() -; utilsrc/tftpd.pla: 0093: byte h - ; h -> [4] -; utilsrc/tftpd.pla: 0094: -; utilsrc/tftpd.pla: 0095: h = ((b >> 4) & $0F) + '0' - !BYTE $58,$05,$02 ; ENTER 5,2 -; utilsrc/tftpd.pla: 0096: if h > '9' -; utilsrc/tftpd.pla: 0097: h = h + 7 -; utilsrc/tftpd.pla: 0098: 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 _B001 - !WORD _B001-* - !BYTE $64,$04 ; LLB [4] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$04 ; SLB [4] -_B001 -_B002 -; utilsrc/tftpd.pla: 0099: ^cptr = h -; utilsrc/tftpd.pla: 0100: cptr++ - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; utilsrc/tftpd.pla: 0101: h = (b & $0F) + '0' -; utilsrc/tftpd.pla: 0102: if h > '9' -; utilsrc/tftpd.pla: 0103: h = h + 7 -; utilsrc/tftpd.pla: 0104: 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 _B003 - !WORD _B003-* - !BYTE $64,$04 ; LLB [4] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$04 ; SLB [4] -_B003 -_B004 -; utilsrc/tftpd.pla: 0105: ^cptr = h -; utilsrc/tftpd.pla: 0106: end - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $5A,$05 ; LEAVE 5 -; utilsrc/tftpd.pla: 0107: -; utilsrc/tftpd.pla: 0108: def hexByte(hexChars) - ; hexChars -> [0] -_C001 ; hexByte() -; utilsrc/tftpd.pla: 0109: byte lo, hi - ; lo -> [2] - ; hi -> [3] -; utilsrc/tftpd.pla: 0110: -; utilsrc/tftpd.pla: 0111: lo = toupper(^(hexChars + 1)) - '0' - !BYTE $58,$04,$01 ; ENTER 4,1 -; utilsrc/tftpd.pla: 0112: if lo > 9 -; utilsrc/tftpd.pla: 0113: lo = lo - 7 -; utilsrc/tftpd.pla: 0114: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F000 !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 -; utilsrc/tftpd.pla: 0115: hi = toupper(^hexChars) - '0' -; utilsrc/tftpd.pla: 0116: if hi > 9 -; utilsrc/tftpd.pla: 0117: hi = hi - 7 -; utilsrc/tftpd.pla: 0118: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F001 !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 -; utilsrc/tftpd.pla: 0119: 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 -; utilsrc/tftpd.pla: 0120: end -; utilsrc/tftpd.pla: 0121: def hexWord(hexChars) - ; hexChars -> [0] -_C002 ; hexWord() -; utilsrc/tftpd.pla: 0122: return (hexByte(hexChars) << 8) | hexByte(hexChars + 2) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C001 -_F002 !WORD _C001 - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $54 ; CALL _C001 -_F003 !WORD _C001 - !BYTE $96 ; OR - !BYTE $5A,$02 ; LEAVE 2 -; utilsrc/tftpd.pla: 0123: end -; utilsrc/tftpd.pla: 0124: def mkProName(netName, proName)#3 - ; netName -> [0] - ; proName -> [2] -_C003 ; mkProName() -; utilsrc/tftpd.pla: 0125: byte n, l, ascii, proType - ; n -> [4] - ; l -> [5] - ; ascii -> [6] - ; proType -> [7] -; utilsrc/tftpd.pla: 0126: word proAux - ; proAux -> [8] -; utilsrc/tftpd.pla: 0127: -; utilsrc/tftpd.pla: 0128: proType = $02 // default to BIN - !BYTE $58,$0A,$02 ; ENTER 10,2 -; utilsrc/tftpd.pla: 0129: proAux = $0000 // default to 0 -; utilsrc/tftpd.pla: 0130: // -; utilsrc/tftpd.pla: 0131: // Check for CiderPress style extension -; utilsrc/tftpd.pla: 0132: // -; utilsrc/tftpd.pla: 0133: for l = 0 to 255 - !BYTE $04 ; CN 2 - !BYTE $74,$07 ; SLB [7] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $2A,$FF ; CB 255 - !BYTE $00 ; CN 0 -_B010 - !BYTE $6C,$05 ; DLB [5] -; utilsrc/tftpd.pla: 0134: if netName->[l] == 0; break; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B012 - !WORD _B012-* - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -_B012 -_B013 -; utilsrc/tftpd.pla: 0135: next -_B011 - !BYTE $A4 ; INCBRLE _B010 - !WORD _B010-* -_B009 - !BYTE $74,$05 ; SLB [5] - !BYTE $30 ; DROP -; utilsrc/tftpd.pla: 0136: ascii = toupper(netName->[l + 1]) == 'N' // Netscii mode -; utilsrc/tftpd.pla: 0137: if l > 7 and ^(netName + l - 7) == '#' -; utilsrc/tftpd.pla: 0138: proType = hexByte(netName + l - 6) -; utilsrc/tftpd.pla: 0139: proAux = hexWord(netName + l - 4) -; utilsrc/tftpd.pla: 0140: l = l - 7 -; utilsrc/tftpd.pla: 0141: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$05 ; LLB [5] - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F004 !WORD 0 - !BYTE $2A,$4E ; CB 78 - !BYTE $40 ; ISEQ - !BYTE $74,$06 ; SLB [6] - !BYTE $64,$05 ; LLB [5] - !BYTE $0E ; CN 7 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B014 - !WORD _B014-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $60 ; LB - !BYTE $2A,$23 ; CB 35 - !BYTE $40 ; ISEQ -_B014 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $3A,$06 ; SUBI 6 - !BYTE $54 ; CALL _C001 -_F005 !WORD _C001 - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $3A,$04 ; SUBI 4 - !BYTE $54 ; CALL _C002 -_F006 !WORD _C002 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$05 ; LLB [5] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $74,$05 ; SLB [5] -_B015 -_B016 -; utilsrc/tftpd.pla: 0142: memcpy(proName + 1, netName, l) -; utilsrc/tftpd.pla: 0143: ^proName = l -; utilsrc/tftpd.pla: 0144: return ascii, proType, proAux - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$05 ; LLB [5] - !BYTE $54 ; CALL _X018 -_F007 !WORD 0 - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $64,$06 ; LLB [6] - !BYTE $64,$07 ; LLB [7] - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; utilsrc/tftpd.pla: 0145: end -; utilsrc/tftpd.pla: 0146: def mkNetName(proName, netName) - ; proName -> [0] - ; netName -> [2] -_C004 ; mkNetName() -; utilsrc/tftpd.pla: 0147: word l, n - ; l -> [4] - ; n -> [6] -; utilsrc/tftpd.pla: 0148: byte fileinfo[t_fileinfo] - ; fileinfo -> [8] -; utilsrc/tftpd.pla: 0149: -; utilsrc/tftpd.pla: 0150: if !fileio:getfileinfo(proName, @fileinfo) - !BYTE $58,$17,$02 ; ENTER 23,2 -; utilsrc/tftpd.pla: 0151: // -; utilsrc/tftpd.pla: 0152: // Scan backward looking for dir seperator -; utilsrc/tftpd.pla: 0153: // -; utilsrc/tftpd.pla: 0154: l = ^proName -; utilsrc/tftpd.pla: 0155: for n = l downto 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$08 ; LLA [8] - !BYTE $6A ; LAW _X029+4 -_F008 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B017 - !WORD _B017-* - !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 _B019 - !WORD _B019-* -_B020 - !BYTE $6E,$06 ; DLW [6] -; utilsrc/tftpd.pla: 0156: if ^(proName + n) == '/' -; utilsrc/tftpd.pla: 0157: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B022 - !WORD _B022-* - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -; utilsrc/tftpd.pla: 0158: fin -_B022 -_B023 -; utilsrc/tftpd.pla: 0159: next -_B021 - !BYTE $A8 ; DECBRGE _B020 - !WORD _B020-* -_B019 - !BYTE $76,$06 ; SLW [6] - !BYTE $30 ; DROP -; utilsrc/tftpd.pla: 0160: memcpy(netName + 1, proName + 1 + n, l - n) -; utilsrc/tftpd.pla: 0161: ^netName = l - n + 7 -; utilsrc/tftpd.pla: 0162: // -; utilsrc/tftpd.pla: 0163: // Build CiderPress style extension -; utilsrc/tftpd.pla: 0164: // -; utilsrc/tftpd.pla: 0165: n = netName + ^netName - 6 -; utilsrc/tftpd.pla: 0166: ^n = '#' -; utilsrc/tftpd.pla: 0167: btoh(n + 1, fileinfo.file_type) -; utilsrc/tftpd.pla: 0168: btoh(n + 3, fileinfo.aux_type.1) -; utilsrc/tftpd.pla: 0169: btoh(n + 5, fileinfo.aux_type) -; utilsrc/tftpd.pla: 0170: 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 -_F009 !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 _C000 -_F010 !WORD _C000 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $28,$0A ; LLA [10] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $54 ; CALL _C000 -_F011 !WORD _C000 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $64,$0A ; LLB [10] - !BYTE $54 ; CALL _C000 -_F012 !WORD _C000 - !BYTE $50 ; BRNCH _B018 - !WORD _B018-* -_B017 -; utilsrc/tftpd.pla: 0171: // -; utilsrc/tftpd.pla: 0172: // Error getting info on file -; utilsrc/tftpd.pla: 0173: // -; utilsrc/tftpd.pla: 0174: 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 -_F013 !WORD 0 -; utilsrc/tftpd.pla: 0175: return -1 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F014 !WORD 0 - !BYTE $54 ; CALL _X003 -_F015 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$17 ; LEAVE 23 -; utilsrc/tftpd.pla: 0176: fin -_B018 -; utilsrc/tftpd.pla: 0177: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$17 ; LEAVE 23 -; utilsrc/tftpd.pla: 0178: end -; utilsrc/tftpd.pla: 0179: -; utilsrc/tftpd.pla: 0180: def readUDP(ipsrc, portsrc, data, len, param) - ; ipsrc -> [0] - ; portsrc -> [2] - ; data -> [4] - ; len -> [6] - ; param -> [8] -_C005 ; readUDP() -; utilsrc/tftpd.pla: 0181: word err - ; err -> [10] -; utilsrc/tftpd.pla: 0182: -; utilsrc/tftpd.pla: 0183: err = 0 - !BYTE $58,$0C,$05 ; ENTER 12,5 -; utilsrc/tftpd.pla: 0184: when *data - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $52 ; SEL - !WORD _B025-* -; utilsrc/tftpd.pla: 0185: is $0500 // Error -_B026 -; utilsrc/tftpd.pla: 0186: err = *data -; utilsrc/tftpd.pla: 0187: is $0400 // Ack - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $76,$0A ; SLW [10] -_B027 -; utilsrc/tftpd.pla: 0188: if swab(data=>ackBlock) <> block -; utilsrc/tftpd.pla: 0189: puts("RRQ: Out-of-sequence block\n") - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A000 -_F016 !WORD _A000 - !BYTE $6A ; LAW _D039+0 -_F017 !WORD _D039+0 - !BYTE $22 ; BREQ _B028 - !WORD _B028-* - !BYTE $2E ; CS - !BYTE $1B - !BYTE $52,$52,$51,$3A,$20,$4F,$75,$74 - !BYTE $2D,$6F,$66,$2D,$73,$65,$71,$75 - !BYTE $65,$6E,$63,$65,$20,$62,$6C,$6F - !BYTE $63,$6B,$0D - !BYTE $54 ; CALL _X004 -_F018 !WORD 0 -; utilsrc/tftpd.pla: 0190: err = $0800 // Out-of-sequence block -; utilsrc/tftpd.pla: 0191: break - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -; utilsrc/tftpd.pla: 0192: fin -_B028 -_B029 -; utilsrc/tftpd.pla: 0193: if param == 512 // Size of initial read -; utilsrc/tftpd.pla: 0194: param = fileio:read(ref, buff+datBytes, 512) -; utilsrc/tftpd.pla: 0195: if type == $04 // TXT type -; utilsrc/tftpd.pla: 0196: xlat($0D, $0A, buff+datBytes, param) -; utilsrc/tftpd.pla: 0197: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $24 ; BRNE _B030 - !WORD _B030-* - !BYTE $68 ; LAB _D034+0 -_F019 !WORD _D034+0 - !BYTE $6A ; LAW _D040+0 -_F020 !WORD _D040+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $6A ; LAW _X029+18 -_F021 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $76,$08 ; SLW [8] - !BYTE $68 ; LAB _D035+0 -_F022 !WORD _D035+0 - !BYTE $08 ; CN 4 - !BYTE $24 ; BRNE _B032 - !WORD _B032-* - !BYTE $1A ; CN 13 - !BYTE $14 ; CN 10 - !BYTE $6A ; LAW _D040+0 -_F023 !WORD _D040+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _A001 -_F024 !WORD _A001 -_B032 -_B033 -; utilsrc/tftpd.pla: 0198: block++ - !BYTE $6A ; LAW _D039+0 -_F025 !WORD _D039+0 - !BYTE $8C ; INCR -; utilsrc/tftpd.pla: 0199: buff=>datBlock = swab(block) -; utilsrc/tftpd.pla: 0200: iNet:sendUDP(portTID, ipsrc, portsrc, buff, t_datPkt + param) -; utilsrc/tftpd.pla: 0201: fin - !BYTE $7E ; DAW _D039+0 -_F026 !WORD _D039+0 - !BYTE $54 ; CALL _A000 -_F027 !WORD _A000 - !BYTE $6A ; LAW _D040+0 -_F028 !WORD _D040+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D043+0 -_F029 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D040+0 -_F030 !WORD _D040+0 - !BYTE $08 ; CN 4 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $6A ; LAW _X028+6 -_F031 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B030 -_B031 -; utilsrc/tftpd.pla: 0202: if err -; utilsrc/tftpd.pla: 0203: tftpError:errCode = err -; utilsrc/tftpd.pla: 0204: iNet:sendUDP(portTID, ipsrc, portsrc, @tftpError, t_errPkt) -; utilsrc/tftpd.pla: 0205: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D032+2 -_F032 !WORD _D032+2 - !BYTE $6A ; LAW _D043+0 -_F033 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D032+0 -_F034 !WORD _D032+0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+6 -_F035 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B034 -_B035 -; utilsrc/tftpd.pla: 0206: if param < 512 or err -; utilsrc/tftpd.pla: 0207: // -; utilsrc/tftpd.pla: 0208: // All done -; utilsrc/tftpd.pla: 0209: // -; utilsrc/tftpd.pla: 0210: iNet:closeUDP(portTID) -; utilsrc/tftpd.pla: 0211: fileio:close(ref) -; utilsrc/tftpd.pla: 0212: ref = 0 -; utilsrc/tftpd.pla: 0213: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B036 - !WORD _B036-* - !BYTE $66,$0A ; LLW [10] -_B036 - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* - !BYTE $6A ; LAW _D043+0 -_F036 !WORD _D043+0 - !BYTE $6A ; LAW _X028+8 -_F037 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D034+0 -_F038 !WORD _D034+0 - !BYTE $6A ; LAW _X029+16 -_F039 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D034+0 -_F040 !WORD _D034+0 -_B037 -_B038 -; utilsrc/tftpd.pla: 0214: break - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -; utilsrc/tftpd.pla: 0215: otherwise -_B025 - !BYTE $02 ; CASEBLOCK - !WORD $0400 - !WORD _B027-* - !WORD $0500 - !WORD _B026-* -; utilsrc/tftpd.pla: 0216: puts("TFTP: RRQ Unexpected packet opcode: $"); puth(*data); putln - !BYTE $2E ; CS - !BYTE $25 - !BYTE $54,$46,$54,$50,$3A,$20,$52,$52 - !BYTE $51,$20,$55,$6E,$65,$78,$70,$65 - !BYTE $63,$74,$65,$64,$20,$70,$61,$63 - !BYTE $6B,$65,$74,$20,$6F,$70,$63,$6F - !BYTE $64,$65,$3A,$20,$24 - !BYTE $54 ; CALL _X004 -_F041 !WORD 0 -; utilsrc/tftpd.pla: 0217: wend - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F042 !WORD 0 - !BYTE $54 ; CALL _X003 -_F043 !WORD 0 -_B024 -; utilsrc/tftpd.pla: 0218: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0C ; LEAVE 12 -; utilsrc/tftpd.pla: 0219: end -; utilsrc/tftpd.pla: 0220: def writeUDP(ipsrc, portsrc, data, len, param) - ; ipsrc -> [0] - ; portsrc -> [2] - ; data -> [4] - ; len -> [6] - ; param -> [8] -_C006 ; writeUDP() -; utilsrc/tftpd.pla: 0221: word err - ; err -> [10] -; utilsrc/tftpd.pla: 0222: -; utilsrc/tftpd.pla: 0223: err = 0 - !BYTE $58,$0C,$05 ; ENTER 12,5 -; utilsrc/tftpd.pla: 0224: when *data - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $52 ; SEL - !WORD _B040-* -; utilsrc/tftpd.pla: 0225: is $0300 // Data packet -_B041 -; utilsrc/tftpd.pla: 0226: if swab(data=>datBlock) <> block -; utilsrc/tftpd.pla: 0227: puts("WRQ: Out-of-sequence block\n") - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A000 -_F044 !WORD _A000 - !BYTE $6A ; LAW _D039+0 -_F045 !WORD _D039+0 - !BYTE $22 ; BREQ _B042 - !WORD _B042-* - !BYTE $2E ; CS - !BYTE $1B - !BYTE $57,$52,$51,$3A,$20,$4F,$75,$74 - !BYTE $2D,$6F,$66,$2D,$73,$65,$71,$75 - !BYTE $65,$6E,$63,$65,$20,$62,$6C,$6F - !BYTE $63,$6B,$0D - !BYTE $54 ; CALL _X004 -_F046 !WORD 0 -; utilsrc/tftpd.pla: 0228: err = $0800 // Out-of-sequence block -; utilsrc/tftpd.pla: 0229: break - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -; utilsrc/tftpd.pla: 0230: fin -_B042 -_B043 -; utilsrc/tftpd.pla: 0231: len = len - t_datPkt -; utilsrc/tftpd.pla: 0232: if type == $04 // TXT type -; utilsrc/tftpd.pla: 0233: xlat($0A, $0D, data+datBytes, len) -; utilsrc/tftpd.pla: 0234: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $3A,$04 ; SUBI 4 - !BYTE $76,$06 ; SLW [6] - !BYTE $68 ; LAB _D035+0 -_F047 !WORD _D035+0 - !BYTE $08 ; CN 4 - !BYTE $24 ; BRNE _B044 - !WORD _B044-* - !BYTE $14 ; CN 10 - !BYTE $1A ; CN 13 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _A001 -_F048 !WORD _A001 -_B044 -_B045 -; utilsrc/tftpd.pla: 0235: if fileio:write(ref, data+datBytes, len) <> len -; utilsrc/tftpd.pla: 0236: puts("WRQ: File write error\n") - !BYTE $68 ; LAB _D034+0 -_F049 !WORD _D034+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X029+20 -_F050 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $66,$06 ; LLW [6] - !BYTE $22 ; BREQ _B046 - !WORD _B046-* - !BYTE $2E ; CS - !BYTE $16 - !BYTE $57,$52,$51,$3A,$20,$46,$69,$6C - !BYTE $65,$20,$77,$72,$69,$74,$65,$20 - !BYTE $65,$72,$72,$6F,$72,$0D - !BYTE $54 ; CALL _X004 -_F051 !WORD 0 -; utilsrc/tftpd.pla: 0237: tftpError:errCode = $0300 // Disk full error -; utilsrc/tftpd.pla: 0238: break - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $7A ; SAW _D032+2 -_F052 !WORD _D032+2 - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -; utilsrc/tftpd.pla: 0239: fin -_B046 -_B047 -; utilsrc/tftpd.pla: 0240: if not err -; utilsrc/tftpd.pla: 0241: tftpAck:ackBlock = swab(block) -; utilsrc/tftpd.pla: 0242: block++ - !BYTE $66,$0A ; LLW [10] - !BYTE $4E ; BRTRU _B048 - !WORD _B048-* - !BYTE $6A ; LAW _D039+0 -_F053 !WORD _D039+0 - !BYTE $54 ; CALL _A000 -_F054 !WORD _A000 - !BYTE $7A ; SAW _D033+2 -_F055 !WORD _D033+2 - !BYTE $6A ; LAW _D039+0 -_F056 !WORD _D039+0 - !BYTE $8C ; INCR -; utilsrc/tftpd.pla: 0243: iNet:sendUDP(portTID, ipsrc, portsrc, @tftpAck, t_ackPkt) -; utilsrc/tftpd.pla: 0244: else - !BYTE $7A ; SAW _D039+0 -_F057 !WORD _D039+0 - !BYTE $6A ; LAW _D043+0 -_F058 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D033+0 -_F059 !WORD _D033+0 - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X028+6 -_F060 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -_B048 -; utilsrc/tftpd.pla: 0245: tftpError:errCode = err -; utilsrc/tftpd.pla: 0246: iNet:sendUDP(portTID, ipsrc, portsrc, @tftpError, t_errPkt) -; utilsrc/tftpd.pla: 0247: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D032+2 -_F061 !WORD _D032+2 - !BYTE $6A ; LAW _D043+0 -_F062 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D032+0 -_F063 !WORD _D032+0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+6 -_F064 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B049 -; utilsrc/tftpd.pla: 0248: if len < 512 or err -; utilsrc/tftpd.pla: 0249: // -; utilsrc/tftpd.pla: 0250: // All done -; utilsrc/tftpd.pla: 0251: // -; utilsrc/tftpd.pla: 0252: iNet:closeUDP(portTID) -; utilsrc/tftpd.pla: 0253: fileio:close(ref) -; utilsrc/tftpd.pla: 0254: ref = 0 -; utilsrc/tftpd.pla: 0255: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B050 - !WORD _B050-* - !BYTE $66,$0A ; LLW [10] -_B050 - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* - !BYTE $6A ; LAW _D043+0 -_F065 !WORD _D043+0 - !BYTE $6A ; LAW _X028+8 -_F066 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D034+0 -_F067 !WORD _D034+0 - !BYTE $6A ; LAW _X029+16 -_F068 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D034+0 -_F069 !WORD _D034+0 -_B051 -_B052 -; utilsrc/tftpd.pla: 0256: break - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -; utilsrc/tftpd.pla: 0257: otherwise -_B040 - !BYTE $01 ; CASEBLOCK - !WORD $0300 - !WORD _B041-* -; utilsrc/tftpd.pla: 0258: puts("WRQ: Unexpected packet opcode: $"); puth(*data); putln - !BYTE $2E ; CS - !BYTE $20 - !BYTE $57,$52,$51,$3A,$20,$55,$6E,$65 - !BYTE $78,$70,$65,$63,$74,$65,$64,$20 - !BYTE $70,$61,$63,$6B,$65,$74,$20,$6F - !BYTE $70,$63,$6F,$64,$65,$3A,$20,$24 - !BYTE $54 ; CALL _X004 -_F070 !WORD 0 -; utilsrc/tftpd.pla: 0259: wend - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F071 !WORD 0 - !BYTE $54 ; CALL _X003 -_F072 !WORD 0 -_B039 -; utilsrc/tftpd.pla: 0260: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0C ; LEAVE 12 -; utilsrc/tftpd.pla: 0261: end -; utilsrc/tftpd.pla: 0262: def servUDP(ipsrc, portsrc, data, len, param) - ; ipsrc -> [0] - ; portsrc -> [2] - ; data -> [4] - ; len -> [6] - ; param -> [8] -_C007 ; servUDP() -; utilsrc/tftpd.pla: 0263: byte info[24] - ; info -> [10] -; utilsrc/tftpd.pla: 0264: byte l, prefix[48] - ; l -> [34] - ; prefix -> [35] -; utilsrc/tftpd.pla: 0265: -; utilsrc/tftpd.pla: 0266: when *data - !BYTE $58,$53,$05 ; ENTER 83,5 - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $52 ; SEL - !WORD _B054-* -; utilsrc/tftpd.pla: 0267: is RRQ // Read request -_B055 -; utilsrc/tftpd.pla: 0268: // -; utilsrc/tftpd.pla: 0269: // Initiate file read -; utilsrc/tftpd.pla: 0270: // -; utilsrc/tftpd.pla: 0271: if ref -; utilsrc/tftpd.pla: 0272: // -; utilsrc/tftpd.pla: 0273: // File already open and active -; utilsrc/tftpd.pla: 0274: // -; utilsrc/tftpd.pla: 0275: tftpError:errCode = $0300 // Allocation exceeded -; utilsrc/tftpd.pla: 0276: iNet:sendUDP(portTFTP, ipsrc, portsrc, @tftpError, t_errPkt) -; utilsrc/tftpd.pla: 0277: return 0 - !BYTE $68 ; LAB _D034+0 -_F073 !WORD _D034+0 - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $7A ; SAW _D032+2 -_F074 !WORD _D032+2 - !BYTE $6A ; LAW _D042+0 -_F075 !WORD _D042+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D032+0 -_F076 !WORD _D032+0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+6 -_F077 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$53 ; LEAVE 83 -; utilsrc/tftpd.pla: 0278: fin -_B056 -_B057 -; utilsrc/tftpd.pla: 0279: // -; utilsrc/tftpd.pla: 0280: // Extract filename -; utilsrc/tftpd.pla: 0281: // -; utilsrc/tftpd.pla: 0282: netscii, type, aux = mkProName(data + 2, @filename) -; utilsrc/tftpd.pla: 0283: ref = fileio:open(@filename) -; utilsrc/tftpd.pla: 0284: if not ref -; utilsrc/tftpd.pla: 0285: puts("Error opening file: "); puts(@filename) - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $26 ; LA _D037+0 -_F078 !WORD _D037+0 - !BYTE $54 ; CALL _C003 -_F079 !WORD _C003 - !BYTE $7A ; SAW _D038+0 -_F080 !WORD _D038+0 - !BYTE $78 ; SAB _D035+0 -_F081 !WORD _D035+0 - !BYTE $78 ; SAB _D036+0 -_F082 !WORD _D036+0 - !BYTE $26 ; LA _D037+0 -_F083 !WORD _D037+0 - !BYTE $6A ; LAW _X029+14 -_F084 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D034+0 -_F085 !WORD _D034+0 - !BYTE $4E ; BRTRU _B058 - !WORD _B058-* - !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 -_F086 !WORD 0 -; utilsrc/tftpd.pla: 0286: puts(", Error: "); putb(perr); putln - !BYTE $26 ; LA _D037+0 -_F087 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F088 !WORD 0 - !BYTE $2E ; CS - !BYTE $09 - !BYTE $2C,$20,$45,$72,$72,$6F,$72,$3A - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F089 !WORD 0 -; utilsrc/tftpd.pla: 0287: tftpError:errCode = $0100 // File not found -; utilsrc/tftpd.pla: 0288: iNet:sendUDP(portTFTP, ipsrc, portsrc, @tftpError, t_errPkt) -; utilsrc/tftpd.pla: 0289: return 0 - !BYTE $68 ; LAB _X030+0 -_F090 !WORD 0+0 - !BYTE $54 ; CALL _X008 -_F091 !WORD 0 - !BYTE $54 ; CALL _X003 -_F092 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $7A ; SAW _D032+2 -_F093 !WORD _D032+2 - !BYTE $6A ; LAW _D042+0 -_F094 !WORD _D042+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D032+0 -_F095 !WORD _D032+0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+6 -_F096 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$53 ; LEAVE 83 -; utilsrc/tftpd.pla: 0290: fin -_B058 -_B059 -; utilsrc/tftpd.pla: 0291: info.0 = $0A -; utilsrc/tftpd.pla: 0292: info:1 = @filename -; utilsrc/tftpd.pla: 0293: syscall($C4, @info) -; utilsrc/tftpd.pla: 0294: type = info.4 -; utilsrc/tftpd.pla: 0295: puts("Reading file: "); puts(@filename); putln - !BYTE $14 ; CN 10 - !BYTE $74,$0A ; SLB [10] - !BYTE $26 ; LA _D037+0 -_F097 !WORD _D037+0 - !BYTE $76,$0B ; SLW [11] - !BYTE $2A,$C4 ; CB 196 - !BYTE $28,$0A ; LLA [10] - !BYTE $54 ; CALL _X011 -_F098 !WORD 0 - !BYTE $30 ; DROP - !BYTE $64,$0E ; LLB [14] - !BYTE $78 ; SAB _D035+0 -_F099 !WORD _D035+0 - !BYTE $2E ; CS - !BYTE $0E - !BYTE $52,$65,$61,$64,$69,$6E,$67,$20 - !BYTE $66,$69,$6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F100 !WORD 0 -; utilsrc/tftpd.pla: 0296: TID = (TID + TID_INC) | $1000 -; utilsrc/tftpd.pla: 0297: block = 1 -; utilsrc/tftpd.pla: 0298: buff=>datBlock = swab(block) -; utilsrc/tftpd.pla: 0299: len = fileio:read(ref, buff+datBytes, 512) -; utilsrc/tftpd.pla: 0300: if type == $04 // TXT type -; utilsrc/tftpd.pla: 0301: xlat($0D, $0A, buff+datBytes, 512) -; utilsrc/tftpd.pla: 0302: fin - !BYTE $26 ; LA _D037+0 -_F101 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F102 !WORD 0 - !BYTE $54 ; CALL _X003 -_F103 !WORD 0 - !BYTE $6A ; LAW _D041+0 -_F104 !WORD _D041+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $96 ; OR - !BYTE $7A ; SAW _D041+0 -_F105 !WORD _D041+0 - !BYTE $02 ; CN 1 - !BYTE $7E ; DAW _D039+0 -_F106 !WORD _D039+0 - !BYTE $54 ; CALL _A000 -_F107 !WORD _A000 - !BYTE $6A ; LAW _D040+0 -_F108 !WORD _D040+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $68 ; LAB _D034+0 -_F109 !WORD _D034+0 - !BYTE $6A ; LAW _D040+0 -_F110 !WORD _D040+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $6A ; LAW _X029+18 -_F111 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $76,$06 ; SLW [6] - !BYTE $68 ; LAB _D035+0 -_F112 !WORD _D035+0 - !BYTE $08 ; CN 4 - !BYTE $24 ; BRNE _B060 - !WORD _B060-* - !BYTE $1A ; CN 13 - !BYTE $14 ; CN 10 - !BYTE $6A ; LAW _D040+0 -_F113 !WORD _D040+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _A001 -_F114 !WORD _A001 -_B060 -_B061 -; utilsrc/tftpd.pla: 0303: portTID = iNet:openUDP(TID, @readUDP, len) -; utilsrc/tftpd.pla: 0304: iNet:sendUDP(portTID, ipsrc, portsrc, buff, t_datPkt + len) -; utilsrc/tftpd.pla: 0305: break - !BYTE $6A ; LAW _D041+0 -_F115 !WORD _D041+0 - !BYTE $26 ; LA _C005+0 -_F116 !WORD _C005+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X028+4 -_F117 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $7E ; DAW _D043+0 -_F118 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D040+0 -_F119 !WORD _D040+0 - !BYTE $08 ; CN 4 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $6A ; LAW _X028+6 -_F120 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -; utilsrc/tftpd.pla: 0306: is WRQ // Write request -_B062 -; utilsrc/tftpd.pla: 0307: // -; utilsrc/tftpd.pla: 0308: // Initiate file write -; utilsrc/tftpd.pla: 0309: // -; utilsrc/tftpd.pla: 0310: if ref -; utilsrc/tftpd.pla: 0311: // -; utilsrc/tftpd.pla: 0312: // File already open and active -; utilsrc/tftpd.pla: 0313: // -; utilsrc/tftpd.pla: 0314: tftpError:errCode = $0300 // Allocation exceeded -; utilsrc/tftpd.pla: 0315: iNet:sendUDP(portTFTP, ipsrc, portsrc, @tftpError, t_errPkt) -; utilsrc/tftpd.pla: 0316: return 0 - !BYTE $68 ; LAB _D034+0 -_F121 !WORD _D034+0 - !BYTE $4C ; BRFLS _B063 - !WORD _B063-* - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $7A ; SAW _D032+2 -_F122 !WORD _D032+2 - !BYTE $6A ; LAW _D042+0 -_F123 !WORD _D042+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D032+0 -_F124 !WORD _D032+0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+6 -_F125 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$53 ; LEAVE 83 -; utilsrc/tftpd.pla: 0317: fin -_B063 -_B064 -; utilsrc/tftpd.pla: 0318: // -; utilsrc/tftpd.pla: 0319: // Extract filename -; utilsrc/tftpd.pla: 0320: // -; utilsrc/tftpd.pla: 0321: netscii, type, aux = mkProName(data + 2, @filename) -; utilsrc/tftpd.pla: 0322: // -; utilsrc/tftpd.pla: 0323: // Scan filename prefix and create -; utilsrc/tftpd.pla: 0324: // -; utilsrc/tftpd.pla: 0325: prefix[1] = filename[1] -; utilsrc/tftpd.pla: 0326: for l = 2 to filename[0] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $26 ; LA _D037+0 -_F126 !WORD _D037+0 - !BYTE $54 ; CALL _C003 -_F127 !WORD _C003 - !BYTE $7A ; SAW _D038+0 -_F128 !WORD _D038+0 - !BYTE $78 ; SAB _D035+0 -_F129 !WORD _D035+0 - !BYTE $78 ; SAB _D036+0 -_F130 !WORD _D036+0 - !BYTE $68 ; LAB _D037+1 -_F131 !WORD _D037+1 - !BYTE $74,$24 ; SLB [36] - !BYTE $68 ; LAB _D037+0 -_F132 !WORD _D037+0 - !BYTE $04 ; CN 2 - !BYTE $A0 ; BRGT _B065 - !WORD _B065-* -_B066 - !BYTE $6C,$22 ; DLB [34] -; utilsrc/tftpd.pla: 0327: if filename[l] == '/' -; utilsrc/tftpd.pla: 0328: prefix[0] = l-1 -; utilsrc/tftpd.pla: 0329: fileio:create(@prefix, $0F, $0000) -; utilsrc/tftpd.pla: 0330: fin - !BYTE $26 ; LA _D037+0 -_F133 !WORD _D037+0 - !BYTE $B0,$22 ; ADDLB [34] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B068 - !WORD _B068-* - !BYTE $64,$22 ; LLB [34] - !BYTE $8E ; DECR - !BYTE $74,$23 ; SLB [35] - !BYTE $28,$23 ; LLA [35] - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X029+22 -_F134 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B068 -_B069 -; utilsrc/tftpd.pla: 0331: prefix[l] = filename[l] -; utilsrc/tftpd.pla: 0332: next - !BYTE $26 ; LA _D037+0 -_F135 !WORD _D037+0 - !BYTE $B0,$22 ; ADDLB [34] - !BYTE $60 ; LB - !BYTE $28,$23 ; LLA [35] - !BYTE $B0,$22 ; ADDLB [34] - !BYTE $70 ; SB -_B067 - !BYTE $A4 ; INCBRLE _B066 - !WORD _B066-* -_B065 - !BYTE $74,$22 ; SLB [34] - !BYTE $30 ; DROP -; utilsrc/tftpd.pla: 0333: fileio:destroy(@filename) -; utilsrc/tftpd.pla: 0334: if fileio:create(@filename, type, aux) -; utilsrc/tftpd.pla: 0335: puts("Create file error: "); putb(perr); putln - !BYTE $26 ; LA _D037+0 -_F136 !WORD _D037+0 - !BYTE $6A ; LAW _X029+24 -_F137 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D037+0 -_F138 !WORD _D037+0 - !BYTE $68 ; LAB _D035+0 -_F139 !WORD _D035+0 - !BYTE $6A ; LAW _D038+0 -_F140 !WORD _D038+0 - !BYTE $6A ; LAW _X029+22 -_F141 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B070 - !WORD _B070-* - !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 -_F142 !WORD 0 -; utilsrc/tftpd.pla: 0336: fin - !BYTE $68 ; LAB _X030+0 -_F143 !WORD 0+0 - !BYTE $54 ; CALL _X008 -_F144 !WORD 0 - !BYTE $54 ; CALL _X003 -_F145 !WORD 0 -_B070 -_B071 -; utilsrc/tftpd.pla: 0337: ref = fileio:open(@filename) -; utilsrc/tftpd.pla: 0338: if not ref -; utilsrc/tftpd.pla: 0339: puts("Error opening file: "); puts(@filename) - !BYTE $26 ; LA _D037+0 -_F146 !WORD _D037+0 - !BYTE $6A ; LAW _X029+14 -_F147 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D034+0 -_F148 !WORD _D034+0 - !BYTE $4E ; BRTRU _B072 - !WORD _B072-* - !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 -_F149 !WORD 0 -; utilsrc/tftpd.pla: 0340: puts(", Error: "); putb(perr); putln - !BYTE $26 ; LA _D037+0 -_F150 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F151 !WORD 0 - !BYTE $2E ; CS - !BYTE $09 - !BYTE $2C,$20,$45,$72,$72,$6F,$72,$3A - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F152 !WORD 0 -; utilsrc/tftpd.pla: 0341: tftpError:errCode = $0200 // Access violation -; utilsrc/tftpd.pla: 0342: iNet:sendUDP(portTFTP, ipsrc, portsrc, @tftpError, t_errPkt) -; utilsrc/tftpd.pla: 0343: return 0 - !BYTE $68 ; LAB _X030+0 -_F153 !WORD 0+0 - !BYTE $54 ; CALL _X008 -_F154 !WORD 0 - !BYTE $54 ; CALL _X003 -_F155 !WORD 0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $7A ; SAW _D032+2 -_F156 !WORD _D032+2 - !BYTE $6A ; LAW _D042+0 -_F157 !WORD _D042+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D032+0 -_F158 !WORD _D032+0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+6 -_F159 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$53 ; LEAVE 83 -; utilsrc/tftpd.pla: 0344: fin -_B072 -_B073 -; utilsrc/tftpd.pla: 0345: puts("Writing file: "); puts(@filename); putln - !BYTE $2E ; CS - !BYTE $0E - !BYTE $57,$72,$69,$74,$69,$6E,$67,$20 - !BYTE $66,$69,$6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F160 !WORD 0 -; utilsrc/tftpd.pla: 0346: TID = (TID + TID_INC) | $1000 -; utilsrc/tftpd.pla: 0347: block = 1 -; utilsrc/tftpd.pla: 0348: tftpAck:ackBlock = 0 -; utilsrc/tftpd.pla: 0349: portTID = iNet:openUDP(TID, @writeUDP, 0) -; utilsrc/tftpd.pla: 0350: iNet:sendUDP(portTID, ipsrc, portsrc, @tftpAck, t_ackPkt) -; utilsrc/tftpd.pla: 0351: break - !BYTE $26 ; LA _D037+0 -_F161 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F162 !WORD 0 - !BYTE $54 ; CALL _X003 -_F163 !WORD 0 - !BYTE $6A ; LAW _D041+0 -_F164 !WORD _D041+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $96 ; OR - !BYTE $7A ; SAW _D041+0 -_F165 !WORD _D041+0 - !BYTE $02 ; CN 1 - !BYTE $7A ; SAW _D039+0 -_F166 !WORD _D039+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D033+2 -_F167 !WORD _D033+2 - !BYTE $6A ; LAW _D041+0 -_F168 !WORD _D041+0 - !BYTE $26 ; LA _C006+0 -_F169 !WORD _C006+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+4 -_F170 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $7E ; DAW _D043+0 -_F171 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D033+0 -_F172 !WORD _D033+0 - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X028+6 -_F173 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -; utilsrc/tftpd.pla: 0352: otherwise -_B054 - !BYTE $02 ; CASEBLOCK - !WORD $0100 - !WORD _B055-* - !WORD $0200 - !WORD _B062-* -; utilsrc/tftpd.pla: 0353: puts("TFTP: Server Unexpected packet opcode: $"); puth(*data); putln - !BYTE $2E ; CS - !BYTE $28 - !BYTE $54,$46,$54,$50,$3A,$20,$53,$65 - !BYTE $72,$76,$65,$72,$20,$55,$6E,$65 - !BYTE $78,$70,$65,$63,$74,$65,$64,$20 - !BYTE $70,$61,$63,$6B,$65,$74,$20,$6F - !BYTE $70,$63,$6F,$64,$65,$3A,$20,$24 - !BYTE $54 ; CALL _X004 -_F174 !WORD 0 -; utilsrc/tftpd.pla: 0354: wend - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F175 !WORD 0 - !BYTE $54 ; CALL _X003 -_F176 !WORD 0 -_B053 -; utilsrc/tftpd.pla: 0355: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$53 ; LEAVE 83 -; utilsrc/tftpd.pla: 0356: end -; utilsrc/tftpd.pla: 0357: -; utilsrc/tftpd.pla: 0358: def volumes#0 -_C008 ; volumes() -; utilsrc/tftpd.pla: 0359: word strbuf - ; strbuf -> [0] -; utilsrc/tftpd.pla: 0360: byte i - ; i -> [2] -; utilsrc/tftpd.pla: 0361: -; utilsrc/tftpd.pla: 0362: strbuf = heapmark() - !BYTE $58,$03,$00 ; ENTER 3,0 -; utilsrc/tftpd.pla: 0363: fileio:online(0, strbuf) -; utilsrc/tftpd.pla: 0364: for i = 0 to 15 - !BYTE $54 ; CALL _X012 -_F177 !WORD 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X029+30 -_F178 !WORD 0+30 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B075 - !BYTE $6C,$02 ; DLB [2] -; utilsrc/tftpd.pla: 0365: ^strbuf = ^strbuf & $0F -; utilsrc/tftpd.pla: 0366: if ^strbuf -; utilsrc/tftpd.pla: 0367: putc('/'); puts(strbuf); putln() -; utilsrc/tftpd.pla: 0368: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X002 -_F179 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F180 !WORD 0 - !BYTE $54 ; CALL _X003 -_F181 !WORD 0 -_B077 -_B078 -; utilsrc/tftpd.pla: 0369: strbuf = strbuf + 16 -; utilsrc/tftpd.pla: 0370: next - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$00 ; SLW [0] -_B076 - !BYTE $A4 ; INCBRLE _B075 - !WORD _B075-* -_B074 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; utilsrc/tftpd.pla: 0371: end - !BYTE $5A,$03 ; LEAVE 3 -; utilsrc/tftpd.pla: 0372: -; utilsrc/tftpd.pla: 0373: puts("TFTP Server, Version 2.0\n") -_INIT - !BYTE $2E ; CS - !BYTE $19 - !BYTE $54,$46,$54,$50,$20,$53,$65,$72 - !BYTE $76,$65,$72,$2C,$20,$56,$65,$72 - !BYTE $73,$69,$6F,$6E,$20,$32,$2E,$30 - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F182 !WORD 0 -; utilsrc/tftpd.pla: 0374: if !iNet:initIP() -; utilsrc/tftpd.pla: 0375: return -1 - !BYTE $6A ; LAW _X028+0 -_F183 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B079 - !WORD _B079-* - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; utilsrc/tftpd.pla: 0376: fin -_B079 -_B080 -; utilsrc/tftpd.pla: 0377: puts("Online volumes:\n"); volumes() - !BYTE $2E ; CS - !BYTE $10 - !BYTE $4F,$6E,$6C,$69,$6E,$65,$20,$76 - !BYTE $6F,$6C,$75,$6D,$65,$73,$3A,$0D - !BYTE $54 ; CALL _X004 -_F184 !WORD 0 -; utilsrc/tftpd.pla: 0378: portTFTP = iNet:openUDP(TFTP_PORT, @servUDP, 0) -; utilsrc/tftpd.pla: 0379: // -; utilsrc/tftpd.pla: 0380: // Alloc aligned file/io buffers -; utilsrc/tftpd.pla: 0381: // -; utilsrc/tftpd.pla: 0382: buff = heapalloc(t_datPkt + 512) -; utilsrc/tftpd.pla: 0383: buff=>datOp = $0300 // Data op -; utilsrc/tftpd.pla: 0384: // -; utilsrc/tftpd.pla: 0385: // Service IP -; utilsrc/tftpd.pla: 0386: // -; utilsrc/tftpd.pla: 0387: repeat - !BYTE $54 ; CALL _C008 -_F185 !WORD _C008 - !BYTE $2A,$45 ; CB 69 - !BYTE $26 ; LA _C007+0 -_F186 !WORD _C007+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+4 -_F187 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $7A ; SAW _D042+0 -_F188 !WORD _D042+0 - !BYTE $2C,$04,$02 ; CW 516 - !BYTE $54 ; CALL _X014 -_F189 !WORD 0 - !BYTE $7A ; SAW _D040+0 -_F190 !WORD _D040+0 - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $6A ; LAW _D040+0 -_F191 !WORD _D040+0 - !BYTE $72 ; SW -_B082 -; utilsrc/tftpd.pla: 0388: iNet:serviceIP() -; utilsrc/tftpd.pla: 0389: until conio:keypressed() - !BYTE $6A ; LAW _X028+2 -_F192 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B083 - !BYTE $6A ; LAW _X031+0 -_F193 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* -_B081 -; utilsrc/tftpd.pla: 0390: getc // eat keypress -; utilsrc/tftpd.pla: 0391: done - !BYTE $54 ; CALL _X006 -_F194 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_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 $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 21 ; 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 $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 $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 18 ; 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 4 ; 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 $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 4 ; 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 29 ; 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 $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 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 $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !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 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !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 4 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 29 ; 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 $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 $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE 29 ; 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 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 3 ; 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 28 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 4 ; 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 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !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 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE 3 ; 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 $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !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 $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 $91 ; EXTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !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 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE 29 ; 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 $91 ; EXTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !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 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !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 $91 ; EXTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE 28 ; 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 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !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 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !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 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !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 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE 6 ; 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: 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: 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: 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: PERR - !BYTE $D0,$C5,$D2,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; 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/vmsrc/apple/a1cmd.a b/src/vmsrc/apple/a1cmd.a deleted file mode 100644 index e256cc4..0000000 --- a/src/vmsrc/apple/a1cmd.a +++ /dev/null @@ -1,3370 +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 = $200 - ; inbuff = 512 -; 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 modkeep = $1000 - ; modkeep = 4096 -; vmsrc/apple/a1cmd.pla: 0019: const modinitkeep = $2000 - ; modinitkeep = 8192 -; vmsrc/apple/a1cmd.pla: 0020: // -; vmsrc/apple/a1cmd.pla: 0021: // CFFA1 addresses. -; vmsrc/apple/a1cmd.pla: 0022: // -; vmsrc/apple/a1cmd.pla: 0023: const CFFADest = $00 - ; CFFADest = 0 -; vmsrc/apple/a1cmd.pla: 0024: const CFFAFileName = $02 - ; CFFAFileName = 2 -; vmsrc/apple/a1cmd.pla: 0025: const CFFAOldName = $04 - ; CFFAOldName = 4 -; vmsrc/apple/a1cmd.pla: 0026: const CFFAFileType = $06 - ; CFFAFileType = 6 -; vmsrc/apple/a1cmd.pla: 0027: const CFFAAuxType = $07 - ; CFFAAuxType = 7 -; vmsrc/apple/a1cmd.pla: 0028: const CFFAFileSize = $09 - ; CFFAFileSize = 9 -; vmsrc/apple/a1cmd.pla: 0029: const CFFAEntryPtr = $0B - ; CFFAEntryPtr = 11 -; vmsrc/apple/a1cmd.pla: 0030: // -; vmsrc/apple/a1cmd.pla: 0031: // Pedefined functions. -; vmsrc/apple/a1cmd.pla: 0032: // -; vmsrc/apple/a1cmd.pla: 0033: predef syscall(cmd,null)#1, call(addr,areg,xreg,yreg,status)#1 -; vmsrc/apple/a1cmd.pla: 0034: predef crout()#0, cout(c)#0, prstr(s)#0, print(i)#0, prbyte(b)#0, prword(w)#0 -; vmsrc/apple/a1cmd.pla: 0035: predef cin()#1, rdstr(p)#1, toupper(c)#1, strcpy(dst,src)#1, strcat(dst,src)#1 -; vmsrc/apple/a1cmd.pla: 0036: predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr), releaseheap(newheap)#1, availheap()#1 -; vmsrc/apple/a1cmd.pla: 0037: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0 -; vmsrc/apple/a1cmd.pla: 0038: 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: 0039: predef sext(a)#1, divmod(a,b)#2, execmod(modfile)#1 -; vmsrc/apple/a1cmd.pla: 0040: // -; vmsrc/apple/a1cmd.pla: 0041: // Exported CMDSYS table -; vmsrc/apple/a1cmd.pla: 0042: // -; vmsrc/apple/a1cmd.pla: 0043: word version = $0200 // 02.00 -_D027 ; version = $0200 // 02.00 - !WORD $0200 -; vmsrc/apple/a1cmd.pla: 0044: word syspath -_D028 !FILL 2 ; syspath -; vmsrc/apple/a1cmd.pla: 0045: word syscmdln -_D029 !FILL 2 ; syscmdln -; vmsrc/apple/a1cmd.pla: 0046: word = @execmod -_F000 !WORD _P026 -; vmsrc/apple/a1cmd.pla: 0047: word systemflags = 0 -_D030 ; systemflags = 0 - !WORD $0000 -; vmsrc/apple/a1cmd.pla: 0048: word heap -_D031 !FILL 2 ; heap -; vmsrc/apple/a1cmd.pla: 0049: word symtbl, lastsym -_D032 !FILL 2 ; symtbl, lastsym -_D033 !FILL 2 ; lastsym -; vmsrc/apple/a1cmd.pla: 0050: byte perr, refauto -_D034 !FILL 1 ; perr, refauto -_D035 !FILL 1 ; refauto -; vmsrc/apple/a1cmd.pla: 0051: // -; vmsrc/apple/a1cmd.pla: 0052: // String pool. -; vmsrc/apple/a1cmd.pla: 0053: // -; vmsrc/apple/a1cmd.pla: 0054: byte autorun[] = "AUTORUN" -_D036 ; autorun[] = "AUTORUN" - !BYTE $07 - !BYTE $41,$55,$54,$4F,$52,$55,$4E -; vmsrc/apple/a1cmd.pla: 0055: byte verstr[] = "\nPLASMA BETA" -_D037 ; verstr[] = "\nPLASMA BETA" - !BYTE $0C - !BYTE $0D,$50,$4C,$41,$53,$4D,$41,$20 - !BYTE $42,$45,$54,$41 -; vmsrc/apple/a1cmd.pla: 0056: byte freestr[] = "MEM FREE:$" -_D038 ; freestr[] = "MEM FREE:$" - !BYTE $0A - !BYTE $4D,$45,$4D,$20,$46,$52,$45,$45 - !BYTE $3A,$24 -; vmsrc/apple/a1cmd.pla: 0057: byte errorstr[] = "ERR:$" -_D039 ; errorstr[] = "ERR:$" - !BYTE $05 - !BYTE $45,$52,$52,$3A,$24 -; vmsrc/apple/a1cmd.pla: 0058: byte prompt[] = "PLASMA" -_D040 ; prompt[] = "PLASMA" - !BYTE $06 - !BYTE $50,$4C,$41,$53,$4D,$41 -; vmsrc/apple/a1cmd.pla: 0059: byte okstr[] = "OK" -_D041 ; okstr[] = "OK" - !BYTE $02 - !BYTE $4F,$4B -; vmsrc/apple/a1cmd.pla: 0060: byte huhstr[] = "?\n" -_D042 ; huhstr[] = "?\n" - !BYTE $02 - !BYTE $3F,$0D -; vmsrc/apple/a1cmd.pla: 0061: byte hexchar[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' -_D043 ; 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: 0062: // -; vmsrc/apple/a1cmd.pla: 0063: // Exported Machine ID. -; vmsrc/apple/a1cmd.pla: 0064: // -; vmsrc/apple/a1cmd.pla: 0065: byte machid = $08 // Apple 1 (NA in ProDOS Tech Ref) -_D044 ; machid = $08 // Apple 1 (NA in ProDOS Tech Ref) - !BYTE $08 -; vmsrc/apple/a1cmd.pla: 0066: // -; vmsrc/apple/a1cmd.pla: 0067: // Command line pointer -; vmsrc/apple/a1cmd.pla: 0068: // -; vmsrc/apple/a1cmd.pla: 0069: word cmdptr = @hexchar // make it point to a zero -_D045 ; cmdptr = @hexchar // make it point to a zero -_F001 !WORD _D043 -; vmsrc/apple/a1cmd.pla: 0070: // -; vmsrc/apple/a1cmd.pla: 0071: // Standard Library exported functions. -; vmsrc/apple/a1cmd.pla: 0072: // -; vmsrc/apple/a1cmd.pla: 0073: byte syslibstr[] = "CMDSYS" -_D046 ; syslibstr[] = "CMDSYS" - !BYTE $06 - !BYTE $43,$4D,$44,$53,$59,$53 -; vmsrc/apple/a1cmd.pla: 0074: byte machidstr[] = "MACHID" -_D047 ; machidstr[] = "MACHID" - !BYTE $06 - !BYTE $4D,$41,$43,$48,$49,$44 -; vmsrc/apple/a1cmd.pla: 0075: byte putcstr[] = "PUTC" -_D048 ; putcstr[] = "PUTC" - !BYTE $04 - !BYTE $50,$55,$54,$43 -; vmsrc/apple/a1cmd.pla: 0076: byte putlnstr[] = "PUTLN" -_D049 ; putlnstr[] = "PUTLN" - !BYTE $05 - !BYTE $50,$55,$54,$4C,$4E -; vmsrc/apple/a1cmd.pla: 0077: byte putsstr[] = "PUTS" -_D050 ; putsstr[] = "PUTS" - !BYTE $04 - !BYTE $50,$55,$54,$53 -; vmsrc/apple/a1cmd.pla: 0078: byte putistr[] = "PUTI" -_D051 ; putistr[] = "PUTI" - !BYTE $04 - !BYTE $50,$55,$54,$49 -; vmsrc/apple/a1cmd.pla: 0079: byte putbstr[] = "PUTB" -_D052 ; putbstr[] = "PUTB" - !BYTE $04 - !BYTE $50,$55,$54,$42 -; vmsrc/apple/a1cmd.pla: 0080: byte putwstr[] = "PUTH" -_D053 ; putwstr[] = "PUTH" - !BYTE $04 - !BYTE $50,$55,$54,$48 -; vmsrc/apple/a1cmd.pla: 0081: byte getcstr[] = "GETC" -_D054 ; getcstr[] = "GETC" - !BYTE $04 - !BYTE $47,$45,$54,$43 -; vmsrc/apple/a1cmd.pla: 0082: byte getsstr[] = "GETS" -_D055 ; getsstr[] = "GETS" - !BYTE $04 - !BYTE $47,$45,$54,$53 -; vmsrc/apple/a1cmd.pla: 0083: byte toupstr[] = "TOUPPER" -_D056 ; toupstr[] = "TOUPPER" - !BYTE $07 - !BYTE $54,$4F,$55,$50,$50,$45,$52 -; vmsrc/apple/a1cmd.pla: 0084: byte strcpystr[] = "STRCPY" -_D057 ; strcpystr[] = "STRCPY" - !BYTE $06 - !BYTE $53,$54,$52,$43,$50,$59 -; vmsrc/apple/a1cmd.pla: 0085: byte strcatstr[] = "STRCAT" -_D058 ; strcatstr[] = "STRCAT" - !BYTE $06 - !BYTE $53,$54,$52,$43,$41,$54 -; vmsrc/apple/a1cmd.pla: 0086: byte sysstr[] = "SYSCALL" -_D059 ; sysstr[] = "SYSCALL" - !BYTE $07 - !BYTE $53,$59,$53,$43,$41,$4C,$4C -; vmsrc/apple/a1cmd.pla: 0087: byte callstr[] = "CALL" -_D060 ; callstr[] = "CALL" - !BYTE $04 - !BYTE $43,$41,$4C,$4C -; vmsrc/apple/a1cmd.pla: 0088: byte hpmarkstr[] = "HEAPMARK" -_D061 ; hpmarkstr[] = "HEAPMARK" - !BYTE $08 - !BYTE $48,$45,$41,$50,$4D,$41,$52,$4B -; vmsrc/apple/a1cmd.pla: 0089: byte hpalignstr[] = "HEAPALLOCALIGN" -_D062 ; hpalignstr[] = "HEAPALLOCALIGN" - !BYTE $0E - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43,$41,$4C,$49,$47,$4E -; vmsrc/apple/a1cmd.pla: 0090: byte hpallocstr[] = "HEAPALLOC" -_D063 ; hpallocstr[] = "HEAPALLOC" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43 -; vmsrc/apple/a1cmd.pla: 0091: byte hprelstr[] = "HEAPRELEASE" -_D064 ; hprelstr[] = "HEAPRELEASE" - !BYTE $0B - !BYTE $48,$45,$41,$50,$52,$45,$4C,$45 - !BYTE $41,$53,$45 -; vmsrc/apple/a1cmd.pla: 0092: byte hpavlstr[] = "HEAPAVAIL" -_D065 ; hpavlstr[] = "HEAPAVAIL" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$56,$41,$49 - !BYTE $4C -; vmsrc/apple/a1cmd.pla: 0093: byte memsetstr[] = "MEMSET" -_D066 ; memsetstr[] = "MEMSET" - !BYTE $06 - !BYTE $4D,$45,$4D,$53,$45,$54 -; vmsrc/apple/a1cmd.pla: 0094: byte memcpystr[] = "MEMCPY" -_D067 ; memcpystr[] = "MEMCPY" - !BYTE $06 - !BYTE $4D,$45,$4D,$43,$50,$59 -; vmsrc/apple/a1cmd.pla: 0095: byte uisgtstr[] = "ISUGT" -_D068 ; uisgtstr[] = "ISUGT" - !BYTE $05 - !BYTE $49,$53,$55,$47,$54 -; vmsrc/apple/a1cmd.pla: 0096: byte uisgestr[] = "ISUGE" -_D069 ; uisgestr[] = "ISUGE" - !BYTE $05 - !BYTE $49,$53,$55,$47,$45 -; vmsrc/apple/a1cmd.pla: 0097: byte uisltstr[] = "ISULT" -_D070 ; uisltstr[] = "ISULT" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$54 -; vmsrc/apple/a1cmd.pla: 0098: byte uislestr[] = "ISULE" -_D071 ; uislestr[] = "ISULE" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$45 -; vmsrc/apple/a1cmd.pla: 0099: byte sextstr[] = "SEXT" -_D072 ; sextstr[] = "SEXT" - !BYTE $04 - !BYTE $53,$45,$58,$54 -; vmsrc/apple/a1cmd.pla: 0100: byte divmodstr[] = "DIVMOD" -_D073 ; divmodstr[] = "DIVMOD" - !BYTE $06 - !BYTE $44,$49,$56,$4D,$4F,$44 -; vmsrc/apple/a1cmd.pla: 0101: word exports[] = @syslibstr, @version -_D074 ; exports[] = @syslibstr, @version -_F002 !WORD _D046 -_F003 !WORD _D027 -; vmsrc/apple/a1cmd.pla: 0102: word = @sysstr, @syscall -_F004 !WORD _D059 -_F005 !WORD _P000 -; vmsrc/apple/a1cmd.pla: 0103: word = @callstr, @call -_F006 !WORD _D060 -_F007 !WORD _P001 -; vmsrc/apple/a1cmd.pla: 0104: word = @putcstr, @cout -_F008 !WORD _D048 -_F009 !WORD _P003 -; vmsrc/apple/a1cmd.pla: 0105: word = @putlnstr, @crout -_F010 !WORD _D049 -_F011 !WORD _P002 -; vmsrc/apple/a1cmd.pla: 0106: word = @putsstr, @prstr -_F012 !WORD _D050 -_F013 !WORD _P004 -; vmsrc/apple/a1cmd.pla: 0107: word = @putistr, @print -_F014 !WORD _D051 -_F015 !WORD _P005 -; vmsrc/apple/a1cmd.pla: 0108: word = @putbstr, @prbyte -_F016 !WORD _D052 -_F017 !WORD _P006 -; vmsrc/apple/a1cmd.pla: 0109: word = @putwstr, @prword -_F018 !WORD _D053 -_F019 !WORD _P007 -; vmsrc/apple/a1cmd.pla: 0110: word = @getcstr, @cin -_F020 !WORD _D054 -_F021 !WORD _P008 -; vmsrc/apple/a1cmd.pla: 0111: word = @getsstr, @rdstr -_F022 !WORD _D055 -_F023 !WORD _P009 -; vmsrc/apple/a1cmd.pla: 0112: word = @toupstr, @toupper -_F024 !WORD _D056 -_F025 !WORD _P010 -; vmsrc/apple/a1cmd.pla: 0113: word = @hpmarkstr, @markheap -_F026 !WORD _D061 -_F027 !WORD _P013 -; vmsrc/apple/a1cmd.pla: 0114: word = @hpallocstr,@allocheap -_F028 !WORD _D063 -_F029 !WORD _P014 -; vmsrc/apple/a1cmd.pla: 0115: word = @hpalignstr,@allocalignheap -_F030 !WORD _D062 -_F031 !WORD _P015 -; vmsrc/apple/a1cmd.pla: 0116: word = @hprelstr, @releaseheap -_F032 !WORD _D064 -_F033 !WORD _P016 -; vmsrc/apple/a1cmd.pla: 0117: word = @hpavlstr, @availheap -_F034 !WORD _D065 -_F035 !WORD _P017 -; vmsrc/apple/a1cmd.pla: 0118: word = @memsetstr, @memset -_F036 !WORD _D066 -_F037 !WORD _P018 -; vmsrc/apple/a1cmd.pla: 0119: word = @memcpystr, @memcpy -_F038 !WORD _D067 -_F039 !WORD _P019 -; vmsrc/apple/a1cmd.pla: 0120: word = @strcpystr, @strcpy -_F040 !WORD _D057 -_F041 !WORD _P011 -; vmsrc/apple/a1cmd.pla: 0121: word = @strcatstr, @strcat -_F042 !WORD _D058 -_F043 !WORD _P012 -; vmsrc/apple/a1cmd.pla: 0122: word = @uisgtstr, @uword_isgt -_F044 !WORD _D068 -_F045 !WORD _P020 -; vmsrc/apple/a1cmd.pla: 0123: word = @uisgestr, @uword_isge -_F046 !WORD _D069 -_F047 !WORD _P021 -; vmsrc/apple/a1cmd.pla: 0124: word = @uisltstr, @uword_islt -_F048 !WORD _D070 -_F049 !WORD _P022 -; vmsrc/apple/a1cmd.pla: 0125: word = @uislestr, @uword_isle -_F050 !WORD _D071 -_F051 !WORD _P023 -; vmsrc/apple/a1cmd.pla: 0126: word = @sextstr, @sext -_F052 !WORD _D072 -_F053 !WORD _P024 -; vmsrc/apple/a1cmd.pla: 0127: word = @divmodstr, @divmod -_F054 !WORD _D073 -_F055 !WORD _P025 -; vmsrc/apple/a1cmd.pla: 0128: word = @machidstr, @machid -_F056 !WORD _D047 -_F057 !WORD _D044 -; vmsrc/apple/a1cmd.pla: 0129: word = 0 - !WORD $0000 -; vmsrc/apple/a1cmd.pla: 0130: word syslibsym = @exports -_D075 ; syslibsym = @exports -_F058 !WORD _D074 -; vmsrc/apple/a1cmd.pla: 0131: // -; vmsrc/apple/a1cmd.pla: 0132: // Utility functions -; vmsrc/apple/a1cmd.pla: 0133: // -; vmsrc/apple/a1cmd.pla: 0134: asm saveX#0 -_A000 ; saveX() -; vmsrc/apple/a1cmd.pla: 0135: STX XREG+1 - STX XREG+1 -; vmsrc/apple/a1cmd.pla: 0136: end -; vmsrc/apple/a1cmd.pla: 0137: asm restoreX#0 -_A001 ; restoreX() -; vmsrc/apple/a1cmd.pla: 0138: XREG LDX #$00 -XREG LDX #$00 -; vmsrc/apple/a1cmd.pla: 0139: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0140: end -; vmsrc/apple/a1cmd.pla: 0141: // -; vmsrc/apple/a1cmd.pla: 0142: // CALL CFFA1 API ENTRYPOINT -; vmsrc/apple/a1cmd.pla: 0143: // SYSCALL(CMD, 0) -; vmsrc/apple/a1cmd.pla: 0144: // -; vmsrc/apple/a1cmd.pla: 0145: asm syscall(cmd, null)#1 -_P000 ; syscall(cmd, null)#1() -_A002 ; syscall() -; vmsrc/apple/a1cmd.pla: 0146: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0147: STX ESP - STX ESP -; vmsrc/apple/a1cmd.pla: 0148: TAX - TAX -; vmsrc/apple/a1cmd.pla: 0149: JSR $900C - JSR $900C -; vmsrc/apple/a1cmd.pla: 0150: LDX ESP - LDX ESP -; vmsrc/apple/a1cmd.pla: 0151: INX - INX -; vmsrc/apple/a1cmd.pla: 0152: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0153: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0154: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/a1cmd.pla: 0155: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0156: end -; vmsrc/apple/a1cmd.pla: 0157: // -; vmsrc/apple/a1cmd.pla: 0158: // CALL 6502 ROUTINE -; vmsrc/apple/a1cmd.pla: 0159: // CALL(ADDR, AREG, XREG, YREG, STATUS) -; vmsrc/apple/a1cmd.pla: 0160: // -; vmsrc/apple/a1cmd.pla: 0161: asm call(addr,areg,xreg,yreg,sstatus)#1 -_P001 ; call(addr,areg,xreg,yreg,sstatus)#1() -_A003 ; call() -; vmsrc/apple/a1cmd.pla: 0162: PHP - PHP -; vmsrc/apple/a1cmd.pla: 0163: LDA ESTKL+4,X - LDA ESTKL+4,X -; vmsrc/apple/a1cmd.pla: 0164: STA CALL6502+1 - STA CALL6502+1 -; vmsrc/apple/a1cmd.pla: 0165: LDA ESTKH+4,X - LDA ESTKH+4,X -; vmsrc/apple/a1cmd.pla: 0166: STA CALL6502+2 - STA CALL6502+2 -; vmsrc/apple/a1cmd.pla: 0167: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0168: PHA - PHA -; vmsrc/apple/a1cmd.pla: 0169: LDY ESTKL+1,X - LDY ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0170: LDA ESTKL+3,X - LDA ESTKL+3,X -; vmsrc/apple/a1cmd.pla: 0171: PHA - PHA -; vmsrc/apple/a1cmd.pla: 0172: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/a1cmd.pla: 0173: INX - INX -; vmsrc/apple/a1cmd.pla: 0174: INX - INX -; vmsrc/apple/a1cmd.pla: 0175: INX - INX -; vmsrc/apple/a1cmd.pla: 0176: INX - INX -; vmsrc/apple/a1cmd.pla: 0177: STX ESP - STX ESP -; vmsrc/apple/a1cmd.pla: 0178: TAX - TAX -; vmsrc/apple/a1cmd.pla: 0179: PLA - PLA -; vmsrc/apple/a1cmd.pla: 0180: PLP - PLP -; vmsrc/apple/a1cmd.pla: 0181: CALL6502 JSR $FFFF -CALL6502 JSR $FFFF -; vmsrc/apple/a1cmd.pla: 0182: PHP - PHP -; vmsrc/apple/a1cmd.pla: 0183: STA REGVALS+0 - STA REGVALS+0 -; vmsrc/apple/a1cmd.pla: 0184: STX REGVALS+1 - STX REGVALS+1 -; vmsrc/apple/a1cmd.pla: 0185: STY REGVALS+2 - STY REGVALS+2 -; vmsrc/apple/a1cmd.pla: 0186: PLA - PLA -; vmsrc/apple/a1cmd.pla: 0187: STA REGVALS+3 - STA REGVALS+3 -; vmsrc/apple/a1cmd.pla: 0188: LDX ESP - LDX ESP -; vmsrc/apple/a1cmd.pla: 0189: LDA #REGVALS - LDY #>REGVALS -; vmsrc/apple/a1cmd.pla: 0191: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0192: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/a1cmd.pla: 0193: PLP - PLP -; vmsrc/apple/a1cmd.pla: 0194: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0195: REGVALS !FILL 4 -REGVALS !FILL 4 -; vmsrc/apple/a1cmd.pla: 0196: end -; vmsrc/apple/a1cmd.pla: 0197: // -; vmsrc/apple/a1cmd.pla: 0198: // QUIT TO MONITOR -; vmsrc/apple/a1cmd.pla: 0199: // -; vmsrc/apple/a1cmd.pla: 0200: asm quit()#0 -_A004 ; quit() -; vmsrc/apple/a1cmd.pla: 0201: JMP $9000 - JMP $9000 -; vmsrc/apple/a1cmd.pla: 0202: end -; vmsrc/apple/a1cmd.pla: 0203: // -; vmsrc/apple/a1cmd.pla: 0204: // SET MEMORY TO VALUE -; vmsrc/apple/a1cmd.pla: 0205: // MEMSET(ADDR, VALUE, SIZE) -; vmsrc/apple/a1cmd.pla: 0206: // With optimizations from Peter Ferrie -; vmsrc/apple/a1cmd.pla: 0207: // -; vmsrc/apple/a1cmd.pla: 0208: asm memset(addr,value,size)#0 -_P018 ; memset(addr,value,size)#0() -_A005 ; memset() -; vmsrc/apple/a1cmd.pla: 0209: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/a1cmd.pla: 0210: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0211: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/a1cmd.pla: 0212: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0213: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/a1cmd.pla: 0214: BEQ + - BEQ + -; vmsrc/apple/a1cmd.pla: 0215: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/a1cmd.pla: 0216: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0217: + LDA ESTKH,X -+ LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0218: BEQ SETMEX - BEQ SETMEX -; vmsrc/apple/a1cmd.pla: 0219: SETMLPL CLC -SETMLPL CLC -; vmsrc/apple/a1cmd.pla: 0220: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0221: SETMLPH STA (DST),Y -SETMLPH STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0222: DEC ESTKL,X - DEC ESTKL,X -; vmsrc/apple/a1cmd.pla: 0223: BEQ ++ - BEQ ++ -; vmsrc/apple/a1cmd.pla: 0224: - INY -- INY -; vmsrc/apple/a1cmd.pla: 0225: BEQ + - BEQ + -; vmsrc/apple/a1cmd.pla: 0226: -- BCS SETMLPL --- BCS SETMLPL -; vmsrc/apple/a1cmd.pla: 0227: SEC - SEC -; vmsrc/apple/a1cmd.pla: 0228: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0229: BCS SETMLPH - BCS SETMLPH -; vmsrc/apple/a1cmd.pla: 0230: + INC DSTH -+ INC DSTH -; vmsrc/apple/a1cmd.pla: 0231: BNE -- - BNE -- -; vmsrc/apple/a1cmd.pla: 0232: ++ DEC ESTKH,X -++ DEC ESTKH,X -; vmsrc/apple/a1cmd.pla: 0233: BNE - - BNE - -; vmsrc/apple/a1cmd.pla: 0234: SETMEX INX -SETMEX INX -; vmsrc/apple/a1cmd.pla: 0235: INX - INX -; vmsrc/apple/a1cmd.pla: 0236: INX - INX -; vmsrc/apple/a1cmd.pla: 0237: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0238: end -; vmsrc/apple/a1cmd.pla: 0239: // -; vmsrc/apple/a1cmd.pla: 0240: // COPY MEMORY -; vmsrc/apple/a1cmd.pla: 0241: // MEMCPY(DSTADDR, SRCADDR, SIZE) -; vmsrc/apple/a1cmd.pla: 0242: // -; vmsrc/apple/a1cmd.pla: 0243: asm memcpy(dst,src,size)#0 -_P019 ; memcpy(dst,src,size)#0() -_A006 ; memcpy() -; vmsrc/apple/a1cmd.pla: 0244: INX - INX -; vmsrc/apple/a1cmd.pla: 0245: INX - INX -; vmsrc/apple/a1cmd.pla: 0246: INX - INX -; vmsrc/apple/a1cmd.pla: 0247: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0248: ORA ESTKH-3,X - ORA ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0249: BEQ CPYMEX - BEQ CPYMEX -; vmsrc/apple/a1cmd.pla: 0250: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/a1cmd.pla: 0251: CMP ESTKL-1,X - CMP ESTKL-1,X -; vmsrc/apple/a1cmd.pla: 0252: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/a1cmd.pla: 0253: SBC ESTKH-1,X - SBC ESTKH-1,X -; vmsrc/apple/a1cmd.pla: 0254: BCC REVCPY - BCC REVCPY -; vmsrc/apple/a1cmd.pla: 0255: ; -; vmsrc/apple/a1cmd.pla: 0256: ; FORWARD COPY -; FORWARD COPY -; vmsrc/apple/a1cmd.pla: 0257: ; -; vmsrc/apple/a1cmd.pla: 0258: LDA ESTKL-1,X - LDA ESTKL-1,X -; vmsrc/apple/a1cmd.pla: 0259: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0260: LDA ESTKH-1,X - LDA ESTKH-1,X -; vmsrc/apple/a1cmd.pla: 0261: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0262: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/a1cmd.pla: 0263: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0264: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/a1cmd.pla: 0265: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0266: LDY ESTKL-3,X - LDY ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0267: BEQ FORCPYLP - BEQ FORCPYLP -; vmsrc/apple/a1cmd.pla: 0268: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0269: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0270: FORCPYLP LDA (SRC),Y -FORCPYLP LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0271: STA (DST),Y - STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0272: INY - INY -; vmsrc/apple/a1cmd.pla: 0273: BNE + - BNE + -; vmsrc/apple/a1cmd.pla: 0274: INC DSTH - INC DSTH -; vmsrc/apple/a1cmd.pla: 0275: INC SRCH - INC SRCH -; vmsrc/apple/a1cmd.pla: 0276: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0277: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/a1cmd.pla: 0278: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0279: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/a1cmd.pla: 0280: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0281: ; -; vmsrc/apple/a1cmd.pla: 0282: ; REVERSE COPY -; REVERSE COPY -; vmsrc/apple/a1cmd.pla: 0283: ; -; vmsrc/apple/a1cmd.pla: 0284: REVCPY ;CLC -REVCPY ;CLC -; vmsrc/apple/a1cmd.pla: 0285: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0286: ADC ESTKL-1,X - ADC ESTKL-1,X -; vmsrc/apple/a1cmd.pla: 0287: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0288: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0289: ADC ESTKH-1,X - ADC ESTKH-1,X -; vmsrc/apple/a1cmd.pla: 0290: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0291: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0292: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0293: ADC ESTKL-2,X - ADC ESTKL-2,X -; vmsrc/apple/a1cmd.pla: 0294: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0295: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0296: ADC ESTKH-2,X - ADC ESTKH-2,X -; vmsrc/apple/a1cmd.pla: 0297: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0298: DEC DSTH - DEC DSTH -; vmsrc/apple/a1cmd.pla: 0299: DEC SRCH - DEC SRCH -; vmsrc/apple/a1cmd.pla: 0300: LDY #$FF - LDY #$FF -; vmsrc/apple/a1cmd.pla: 0301: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0302: BEQ REVCPYLP - BEQ REVCPYLP -; vmsrc/apple/a1cmd.pla: 0303: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0304: REVCPYLP LDA (SRC),Y -REVCPYLP LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0305: STA (DST),Y - STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0306: DEY - DEY -; vmsrc/apple/a1cmd.pla: 0307: CPY #$FF - CPY #$FF -; vmsrc/apple/a1cmd.pla: 0308: BNE + - BNE + -; vmsrc/apple/a1cmd.pla: 0309: DEC DSTH - DEC DSTH -; vmsrc/apple/a1cmd.pla: 0310: DEC SRCH - DEC SRCH -; vmsrc/apple/a1cmd.pla: 0311: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0312: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/a1cmd.pla: 0313: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0314: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/a1cmd.pla: 0315: CPYMEX RTS -CPYMEX RTS -; vmsrc/apple/a1cmd.pla: 0316: end -; vmsrc/apple/a1cmd.pla: 0317: // -; vmsrc/apple/a1cmd.pla: 0318: // Unsigned word comparisons. -; vmsrc/apple/a1cmd.pla: 0319: // -; vmsrc/apple/a1cmd.pla: 0320: asm uword_isge(a,b)#1 -_P021 ; uword_isge(a,b)#1() -_A007 ; uword_isge() -; vmsrc/apple/a1cmd.pla: 0321: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0322: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/a1cmd.pla: 0323: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0324: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/a1cmd.pla: 0325: LDA #$FF - LDA #$FF -; vmsrc/apple/a1cmd.pla: 0326: ADC #$00 - ADC #$00 -; vmsrc/apple/a1cmd.pla: 0327: EOR #$FF - EOR #$FF -; vmsrc/apple/a1cmd.pla: 0328: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0329: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0330: INX - INX -; vmsrc/apple/a1cmd.pla: 0331: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0332: end -; vmsrc/apple/a1cmd.pla: 0333: asm uword_isle(a,b)#1 -_P023 ; uword_isle(a,b)#1() -_A008 ; uword_isle() -; vmsrc/apple/a1cmd.pla: 0334: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0335: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0336: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0337: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0338: LDA #$FF - LDA #$FF -; vmsrc/apple/a1cmd.pla: 0339: ADC #$00 - ADC #$00 -; vmsrc/apple/a1cmd.pla: 0340: EOR #$FF - EOR #$FF -; vmsrc/apple/a1cmd.pla: 0341: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0342: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0343: INX - INX -; vmsrc/apple/a1cmd.pla: 0344: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0345: end -; vmsrc/apple/a1cmd.pla: 0346: asm uword_isgt(a,b)#1 -_P020 ; uword_isgt(a,b)#1() -_A009 ; uword_isgt() -; vmsrc/apple/a1cmd.pla: 0347: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0348: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0349: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0350: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0351: LDA #$FF - LDA #$FF -; vmsrc/apple/a1cmd.pla: 0352: ADC #$00 - ADC #$00 -; vmsrc/apple/a1cmd.pla: 0353: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0354: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0355: INX - INX -; vmsrc/apple/a1cmd.pla: 0356: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0357: end -; vmsrc/apple/a1cmd.pla: 0358: asm uword_islt(a,b)#1 -_P022 ; uword_islt(a,b)#1() -_A010 ; uword_islt() -; vmsrc/apple/a1cmd.pla: 0359: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0360: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/a1cmd.pla: 0361: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0362: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/a1cmd.pla: 0363: LDA #$FF - LDA #$FF -; vmsrc/apple/a1cmd.pla: 0364: ADC #$00 - ADC #$00 -; vmsrc/apple/a1cmd.pla: 0365: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0366: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0367: INX - INX -; vmsrc/apple/a1cmd.pla: 0368: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0369: end -; vmsrc/apple/a1cmd.pla: 0370: asm divmod(a,b)#2 -_P025 ; divmod(a,b)#2() -_A011 ; divmod() -; vmsrc/apple/a1cmd.pla: 0371: JSR INTERP ; CALL DINTERP - JSR INTERP ; CALL DINTERP -; vmsrc/apple/a1cmd.pla: 0372: !BYTE $36, $5C ; DIVMOD, RET - !BYTE $36, $5C ; DIVMOD, RET -; vmsrc/apple/a1cmd.pla: 0373: end -; vmsrc/apple/a1cmd.pla: 0374: asm sext(a)#1 -_P024 ; sext(a)#1() -_A012 ; sext() -; vmsrc/apple/a1cmd.pla: 0375: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0376: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0377: BPL + - BPL + -; vmsrc/apple/a1cmd.pla: 0378: DEY - DEY -; vmsrc/apple/a1cmd.pla: 0379: + STY ESTKH,X -+ STY ESTKH,X -; vmsrc/apple/a1cmd.pla: 0380: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0381: end -; vmsrc/apple/a1cmd.pla: 0382: // -; vmsrc/apple/a1cmd.pla: 0383: // Addresses of internal routines. -; vmsrc/apple/a1cmd.pla: 0384: // -; vmsrc/apple/a1cmd.pla: 0385: asm interp()#1 -_A013 ; interp() -; vmsrc/apple/a1cmd.pla: 0386: DEX - DEX -; vmsrc/apple/a1cmd.pla: 0387: LDA #IINTERP - LDA #>IINTERP -; vmsrc/apple/a1cmd.pla: 0390: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0391: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0392: end -; vmsrc/apple/a1cmd.pla: 0393: // -; vmsrc/apple/a1cmd.pla: 0394: // A DCI string is one that has the high bit set for every character except the last. -; vmsrc/apple/a1cmd.pla: 0395: // More efficient than C or Pascal strings. -; vmsrc/apple/a1cmd.pla: 0396: // -; vmsrc/apple/a1cmd.pla: 0397: //def dcitos(dci, str) -; vmsrc/apple/a1cmd.pla: 0398: // byte len, c -; vmsrc/apple/a1cmd.pla: 0399: // len = 0 -; vmsrc/apple/a1cmd.pla: 0400: // repeat -; vmsrc/apple/a1cmd.pla: 0401: // c = (dci).[len] -; vmsrc/apple/a1cmd.pla: 0402: // len = len + 1 -; vmsrc/apple/a1cmd.pla: 0403: // (str).[len] = c & $7F -; vmsrc/apple/a1cmd.pla: 0404: // until !(c & $80) -; vmsrc/apple/a1cmd.pla: 0405: // ^str = len -; vmsrc/apple/a1cmd.pla: 0406: // return len -; vmsrc/apple/a1cmd.pla: 0407: //end -; vmsrc/apple/a1cmd.pla: 0408: asm dcitos(dci, str)#1 -_A014 ; dcitos() -; vmsrc/apple/a1cmd.pla: 0409: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0410: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0411: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0412: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0413: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0414: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0415: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0416: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0417: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0418: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0419: CMP #$80 - CMP #$80 -; vmsrc/apple/a1cmd.pla: 0420: AND #$7F - AND #$7F -; vmsrc/apple/a1cmd.pla: 0421: INY - INY -; vmsrc/apple/a1cmd.pla: 0422: STA (DST),Y - STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0423: BCS - - BCS - -; vmsrc/apple/a1cmd.pla: 0424: TYA - TYA -; vmsrc/apple/a1cmd.pla: 0425: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0426: STA (DST),Y - STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0427: INX - INX -; vmsrc/apple/a1cmd.pla: 0428: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0429: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/a1cmd.pla: 0430: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0431: end -; vmsrc/apple/a1cmd.pla: 0432: //def stodci(str, dci) -; vmsrc/apple/a1cmd.pla: 0433: // byte len, c -; vmsrc/apple/a1cmd.pla: 0434: // len = ^str -; vmsrc/apple/a1cmd.pla: 0435: // if len == 0 -; vmsrc/apple/a1cmd.pla: 0436: // return -; vmsrc/apple/a1cmd.pla: 0437: // fin -; vmsrc/apple/a1cmd.pla: 0438: // c = toupper((str).[len]) & $7F -; vmsrc/apple/a1cmd.pla: 0439: // len = len - 1 -; vmsrc/apple/a1cmd.pla: 0440: // (dci).[len] = c -; vmsrc/apple/a1cmd.pla: 0441: // while len -; vmsrc/apple/a1cmd.pla: 0442: // c = toupper((str).[len]) | $80 -; vmsrc/apple/a1cmd.pla: 0443: // len = len - 1 -; vmsrc/apple/a1cmd.pla: 0444: // (dci).[len] = c -; vmsrc/apple/a1cmd.pla: 0445: // loop -; vmsrc/apple/a1cmd.pla: 0446: // return ^str -; vmsrc/apple/a1cmd.pla: 0447: //end -; vmsrc/apple/a1cmd.pla: 0448: asm stodci(str, dci)#1 -_A015 ; stodci() -; vmsrc/apple/a1cmd.pla: 0449: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0450: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0451: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0452: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0453: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0454: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0455: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0456: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0457: INX - INX -; vmsrc/apple/a1cmd.pla: 0458: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0459: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0460: BEQ ++ - BEQ ++ -; vmsrc/apple/a1cmd.pla: 0461: TAY - TAY -; vmsrc/apple/a1cmd.pla: 0462: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0463: JSR TOUPR - JSR TOUPR -; vmsrc/apple/a1cmd.pla: 0464: BNE + - BNE + -; vmsrc/apple/a1cmd.pla: 0465: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0466: JSR TOUPR - JSR TOUPR -; vmsrc/apple/a1cmd.pla: 0467: ORA #$80 - ORA #$80 -; vmsrc/apple/a1cmd.pla: 0468: + DEY -+ DEY -; vmsrc/apple/a1cmd.pla: 0469: STA (DST),Y - STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0470: BNE - - BNE - -; vmsrc/apple/a1cmd.pla: 0471: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0472: ++ STA ESTKL,X -++ STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0473: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/a1cmd.pla: 0474: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0475: end -; vmsrc/apple/a1cmd.pla: 0476: asm toupper(c)#1 -_P010 ; toupper(c)#1() -_A016 ; toupper() -; vmsrc/apple/a1cmd.pla: 0477: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0478: TOUPR AND #$7F -TOUPR AND #$7F -; vmsrc/apple/a1cmd.pla: 0479: CMP #'a' - CMP #'a' -; vmsrc/apple/a1cmd.pla: 0480: BCC + - BCC + -; vmsrc/apple/a1cmd.pla: 0481: CMP #'z'+1 - CMP #'z'+1 -; vmsrc/apple/a1cmd.pla: 0482: BCS + - BCS + -; vmsrc/apple/a1cmd.pla: 0483: SBC #$1F - SBC #$1F -; vmsrc/apple/a1cmd.pla: 0484: + STA ESTKL,X -+ STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0485: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0486: end -; vmsrc/apple/a1cmd.pla: 0487: // -; vmsrc/apple/a1cmd.pla: 0488: // Module symbols are entered into the symbol table -; vmsrc/apple/a1cmd.pla: 0489: // pre-pended with a '#' to differentiate them -; vmsrc/apple/a1cmd.pla: 0490: // from normal symbols. -; vmsrc/apple/a1cmd.pla: 0491: // -; vmsrc/apple/a1cmd.pla: 0492: // -; vmsrc/apple/a1cmd.pla: 0493: // Lookup routines. -; vmsrc/apple/a1cmd.pla: 0494: // -; vmsrc/apple/a1cmd.pla: 0495: //def lookuptbl(dci, tbl) -; vmsrc/apple/a1cmd.pla: 0496: // word match -; vmsrc/apple/a1cmd.pla: 0497: // while ^tbl -; vmsrc/apple/a1cmd.pla: 0498: // match = dci -; vmsrc/apple/a1cmd.pla: 0499: // while ^tbl == ^match -; vmsrc/apple/a1cmd.pla: 0500: // if !(^tbl & $80) -; vmsrc/apple/a1cmd.pla: 0501: // return (tbl):1 -; vmsrc/apple/a1cmd.pla: 0502: // fin -; vmsrc/apple/a1cmd.pla: 0503: // tbl = tbl + 1 -; vmsrc/apple/a1cmd.pla: 0504: // match = match + 1 -; vmsrc/apple/a1cmd.pla: 0505: // loop -; vmsrc/apple/a1cmd.pla: 0506: // while (^tbl & $80) -; vmsrc/apple/a1cmd.pla: 0507: // tbl = tbl + 1 -; vmsrc/apple/a1cmd.pla: 0508: // loop -; vmsrc/apple/a1cmd.pla: 0509: // tbl = tbl + 3 -; vmsrc/apple/a1cmd.pla: 0510: // loop -; vmsrc/apple/a1cmd.pla: 0511: // return 0 -; vmsrc/apple/a1cmd.pla: 0512: asm lookuptbl(dci, tbl)#1 -_A017 ; lookuptbl() -; vmsrc/apple/a1cmd.pla: 0513: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0514: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0515: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0516: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0517: INX - INX -; vmsrc/apple/a1cmd.pla: 0518: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0519: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0520: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0521: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0522: -- LDY #$00 --- LDY #$00 -; vmsrc/apple/a1cmd.pla: 0523: - LDA (DST),Y -- LDA (DST),Y -; vmsrc/apple/a1cmd.pla: 0524: BEQ + - BEQ + -; vmsrc/apple/a1cmd.pla: 0525: CMP (SRC),Y - CMP (SRC),Y -; vmsrc/apple/a1cmd.pla: 0526: BNE ++ - BNE ++ -; vmsrc/apple/a1cmd.pla: 0527: INY - INY -; vmsrc/apple/a1cmd.pla: 0528: ASL - ASL -; vmsrc/apple/a1cmd.pla: 0529: BCS - - BCS - -; vmsrc/apple/a1cmd.pla: 0530: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/a1cmd.pla: 0531: STA ESTKL,X ; MATCH - STA ESTKL,X ; MATCH -; vmsrc/apple/a1cmd.pla: 0532: INY - INY -; vmsrc/apple/a1cmd.pla: 0533: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/a1cmd.pla: 0534: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0535: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0536: + STA ESTKL,X ; NO MATCH -+ STA ESTKL,X ; NO MATCH -; vmsrc/apple/a1cmd.pla: 0537: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0538: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0539: ++ -++ -; vmsrc/apple/a1cmd.pla: 0540: - LDA (DST),Y ; NEXT ENTRY -- LDA (DST),Y ; NEXT ENTRY -; vmsrc/apple/a1cmd.pla: 0541: BPL + - BPL + -; vmsrc/apple/a1cmd.pla: 0542: INY - INY -; vmsrc/apple/a1cmd.pla: 0543: BNE - - BNE - -; vmsrc/apple/a1cmd.pla: 0544: + TYA -+ TYA -; vmsrc/apple/a1cmd.pla: 0545: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0546: ADC #$03 - ADC #$03 -; vmsrc/apple/a1cmd.pla: 0547: ADC DSTL - ADC DSTL -; vmsrc/apple/a1cmd.pla: 0548: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0549: BCC -- - BCC -- -; vmsrc/apple/a1cmd.pla: 0550: INC DSTH - INC DSTH -; vmsrc/apple/a1cmd.pla: 0551: BNE -- - BNE -- -; vmsrc/apple/a1cmd.pla: 0552: end -; vmsrc/apple/a1cmd.pla: 0553: // def lookupidx(esd, index) -; vmsrc/apple/a1cmd.pla: 0554: // word sym -; vmsrc/apple/a1cmd.pla: 0555: // while ^esd -; vmsrc/apple/a1cmd.pla: 0556: // sym = esd -; vmsrc/apple/a1cmd.pla: 0557: // esd = sym + dcitos(sym, @str) -; vmsrc/apple/a1cmd.pla: 0558: // if esd->0 & $10 and esd->1 == index -; vmsrc/apple/a1cmd.pla: 0559: // return sym -; vmsrc/apple/a1cmd.pla: 0560: // fin -; vmsrc/apple/a1cmd.pla: 0561: // esd = esd + 3 -; vmsrc/apple/a1cmd.pla: 0562: // loop -; vmsrc/apple/a1cmd.pla: 0563: //end -; vmsrc/apple/a1cmd.pla: 0564: asm lookupidx(esd, index)#1 -_A018 ; lookupidx() -; vmsrc/apple/a1cmd.pla: 0565: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0566: STA TMPL - STA TMPL -; vmsrc/apple/a1cmd.pla: 0567: INX - INX -; vmsrc/apple/a1cmd.pla: 0568: --- LDA ESTKH,X ---- LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0569: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0570: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0571: -- STA SRCL --- STA SRCL -; vmsrc/apple/a1cmd.pla: 0572: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0573: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0574: BPL + - BPL + -; vmsrc/apple/a1cmd.pla: 0575: INY - INY -; vmsrc/apple/a1cmd.pla: 0576: BNE - - BNE - -; vmsrc/apple/a1cmd.pla: 0577: + BEQ ++ ; END OF ESD -+ BEQ ++ ; END OF ESD -; vmsrc/apple/a1cmd.pla: 0578: INY - INY -; vmsrc/apple/a1cmd.pla: 0579: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0580: INY - INY -; vmsrc/apple/a1cmd.pla: 0581: AND #$10 ; EXTERN FLAG? - AND #$10 ; EXTERN FLAG? -; vmsrc/apple/a1cmd.pla: 0582: BEQ + - BEQ + -; vmsrc/apple/a1cmd.pla: 0583: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0584: CMP TMPL - CMP TMPL -; vmsrc/apple/a1cmd.pla: 0585: BEQ +++ ; MATCH - BEQ +++ ; MATCH -; vmsrc/apple/a1cmd.pla: 0586: + INY -+ INY -; vmsrc/apple/a1cmd.pla: 0587: TYA - TYA -; vmsrc/apple/a1cmd.pla: 0588: SEC - SEC -; vmsrc/apple/a1cmd.pla: 0589: ADC SRCL - ADC SRCL -; vmsrc/apple/a1cmd.pla: 0590: STA ESTKL,X ; SYM PTRL - STA ESTKL,X ; SYM PTRL -; vmsrc/apple/a1cmd.pla: 0591: BCC -- - BCC -- -; vmsrc/apple/a1cmd.pla: 0592: INC ESTKH,X ; SYM PTRH - INC ESTKH,X ; SYM PTRH -; vmsrc/apple/a1cmd.pla: 0593: BNE --- - BNE --- -; vmsrc/apple/a1cmd.pla: 0594: ++ STA ESTKL,X ; END OF ESD -++ STA ESTKL,X ; END OF ESD -; vmsrc/apple/a1cmd.pla: 0595: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0596: +++ RTS -+++ RTS -; vmsrc/apple/a1cmd.pla: 0597: end -; vmsrc/apple/a1cmd.pla: 0598: //def lookupdef(addr, deftbl)#1 -; vmsrc/apple/a1cmd.pla: 0599: // while deftbl->0 == $20 -; vmsrc/apple/a1cmd.pla: 0600: // if deftbl=>3 == addr -; vmsrc/apple/a1cmd.pla: 0601: // return deftbl -; vmsrc/apple/a1cmd.pla: 0602: // fin -; vmsrc/apple/a1cmd.pla: 0603: // deftbl = deftbl + 5 -; vmsrc/apple/a1cmd.pla: 0604: // loop -; vmsrc/apple/a1cmd.pla: 0605: // return 0 -; vmsrc/apple/a1cmd.pla: 0606: //end -; vmsrc/apple/a1cmd.pla: 0607: asm lookupdef(addr, deftbl)#1 -_A019 ; lookupdef() -; vmsrc/apple/a1cmd.pla: 0608: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0609: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0610: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0611: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0612: INX - INX -; vmsrc/apple/a1cmd.pla: 0613: - LDY #$00 -- LDY #$00 -; vmsrc/apple/a1cmd.pla: 0614: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0615: CMP #$20 ; JSR OPCODE? - CMP #$20 ; JSR OPCODE? -; vmsrc/apple/a1cmd.pla: 0616: BNE ++ - BNE ++ -; vmsrc/apple/a1cmd.pla: 0617: LDY #$03 - LDY #$03 -; vmsrc/apple/a1cmd.pla: 0618: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0619: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/a1cmd.pla: 0620: BNE + - BNE + -; vmsrc/apple/a1cmd.pla: 0621: INY - INY -; vmsrc/apple/a1cmd.pla: 0622: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0623: CMP ESTKH,X - CMP ESTKH,X -; vmsrc/apple/a1cmd.pla: 0624: BNE + - BNE + -; vmsrc/apple/a1cmd.pla: 0625: LDA SRCL ; MATCH - LDA SRCL ; MATCH -; vmsrc/apple/a1cmd.pla: 0626: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0627: LDA SRCH - LDA SRCH -; vmsrc/apple/a1cmd.pla: 0628: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0629: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0630: + LDA #$05 -+ LDA #$05 -; vmsrc/apple/a1cmd.pla: 0631: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0632: ADC SRCL - ADC SRCL -; vmsrc/apple/a1cmd.pla: 0633: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0634: BCC - - BCC - -; vmsrc/apple/a1cmd.pla: 0635: INC SRCH - INC SRCH -; vmsrc/apple/a1cmd.pla: 0636: BNE - - BNE - -; vmsrc/apple/a1cmd.pla: 0637: ++ STY ESTKL,X -++ STY ESTKL,X -; vmsrc/apple/a1cmd.pla: 0638: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/a1cmd.pla: 0639: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0640: end -; vmsrc/apple/a1cmd.pla: 0641: // -; vmsrc/apple/a1cmd.pla: 0642: // Reloc internal data -; vmsrc/apple/a1cmd.pla: 0643: // -; vmsrc/apple/a1cmd.pla: 0644: //def reloc(modfix, modofst, bytecode, rld)#3 -; vmsrc/apple/a1cmd.pla: 0645: // word addr, fixup -; vmsrc/apple/a1cmd.pla: 0646: // while ^rld -; vmsrc/apple/a1cmd.pla: 0647: // if ^rld & $10 // EXTERN reference. -; vmsrc/apple/a1cmd.pla: 0648: // return rld, addr, fixup -; vmsrc/apple/a1cmd.pla: 0649: // fin -; vmsrc/apple/a1cmd.pla: 0650: // addr = rld=>1 + modfix -; vmsrc/apple/a1cmd.pla: 0651: // fixup = *addr + modofst -; vmsrc/apple/a1cmd.pla: 0652: // if uword_isge(fixup, bytecode) // Bytecode address. -; vmsrc/apple/a1cmd.pla: 0653: // return rld, addr, fixup -; vmsrc/apple/a1cmd.pla: 0654: // fin -; vmsrc/apple/a1cmd.pla: 0655: // *addr = fixup -; vmsrc/apple/a1cmd.pla: 0656: // rld = rld + 4 -; vmsrc/apple/a1cmd.pla: 0657: // loop -; vmsrc/apple/a1cmd.pla: 0658: // return rld, addr, fixup -; vmsrc/apple/a1cmd.pla: 0659: //end -; vmsrc/apple/a1cmd.pla: 0660: asm reloc(modfix, modofst, bytecode, rld)#3 -_A020 ; reloc() -; vmsrc/apple/a1cmd.pla: 0661: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0662: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0663: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0664: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0665: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0666: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0667: BEQ RLDEX ; END OF RLD - BEQ RLDEX ; END OF RLD -; vmsrc/apple/a1cmd.pla: 0668: PHA - PHA -; vmsrc/apple/a1cmd.pla: 0669: INY - INY -; vmsrc/apple/a1cmd.pla: 0670: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0671: INY - INY -; vmsrc/apple/a1cmd.pla: 0672: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0673: ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX - ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX -; vmsrc/apple/a1cmd.pla: 0674: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0675: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0676: ADC ESTKH+3,X - ADC ESTKH+3,X -; vmsrc/apple/a1cmd.pla: 0677: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0678: PLA - PLA -; vmsrc/apple/a1cmd.pla: 0679: AND #$10 ; EXTERN REF - EXIT - AND #$10 ; EXTERN REF - EXIT -; vmsrc/apple/a1cmd.pla: 0680: BNE RLDEX - BNE RLDEX -; vmsrc/apple/a1cmd.pla: 0681: TAY ; FIXUP=*ADDR+MODOFST - TAY ; FIXUP=*ADDR+MODOFST -; vmsrc/apple/a1cmd.pla: 0682: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/a1cmd.pla: 0683: INY - INY -; vmsrc/apple/a1cmd.pla: 0684: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0685: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/a1cmd.pla: 0686: STA TMPL - STA TMPL -; vmsrc/apple/a1cmd.pla: 0687: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/a1cmd.pla: 0688: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/a1cmd.pla: 0689: CMP ESTKH+1,X ; FIXUP >= BYTECODE? - CMP ESTKH+1,X ; FIXUP >= BYTECODE? -; vmsrc/apple/a1cmd.pla: 0690: BCC + - BCC + -; vmsrc/apple/a1cmd.pla: 0691: STA TMPH - STA TMPH -; vmsrc/apple/a1cmd.pla: 0692: BNE RLDEX ; YEP, EXIT - BNE RLDEX ; YEP, EXIT -; vmsrc/apple/a1cmd.pla: 0693: LDA TMPL - LDA TMPL -; vmsrc/apple/a1cmd.pla: 0694: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0695: BCS RLDEX ; YEP, EXIT - BCS RLDEX ; YEP, EXIT -; vmsrc/apple/a1cmd.pla: 0696: LDA TMPH - LDA TMPH -; vmsrc/apple/a1cmd.pla: 0697: + STA (DST),Y ; *ADDR=FIXUP -+ STA (DST),Y ; *ADDR=FIXUP -; vmsrc/apple/a1cmd.pla: 0698: DEY - DEY -; vmsrc/apple/a1cmd.pla: 0699: LDA TMPL - LDA TMPL -; vmsrc/apple/a1cmd.pla: 0700: STA (DST),Y - STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0701: LDA SRCL ; NEXT ENTRY - LDA SRCL ; NEXT ENTRY -; vmsrc/apple/a1cmd.pla: 0702: ; CLC -; CLC -; vmsrc/apple/a1cmd.pla: 0703: ADC #$04 - ADC #$04 -; vmsrc/apple/a1cmd.pla: 0704: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0705: BCC - - BCC - -; vmsrc/apple/a1cmd.pla: 0706: INC SRCH - INC SRCH -; vmsrc/apple/a1cmd.pla: 0707: BNE - - BNE - -; vmsrc/apple/a1cmd.pla: 0708: RLDEX INX -RLDEX INX -; vmsrc/apple/a1cmd.pla: 0709: LDA TMPL - LDA TMPL -; vmsrc/apple/a1cmd.pla: 0710: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0711: LDA TMPH - LDA TMPH -; vmsrc/apple/a1cmd.pla: 0712: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0713: LDA DSTL - LDA DSTL -; vmsrc/apple/a1cmd.pla: 0714: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0715: LDA DSTH - LDA DSTH -; vmsrc/apple/a1cmd.pla: 0716: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0717: LDA SRCL - LDA SRCL -; vmsrc/apple/a1cmd.pla: 0718: STA ESTKL+2,X - STA ESTKL+2,X -; vmsrc/apple/a1cmd.pla: 0719: LDA SRCH - LDA SRCH -; vmsrc/apple/a1cmd.pla: 0720: STA ESTKH+2,X - STA ESTKH+2,X -; vmsrc/apple/a1cmd.pla: 0721: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0722: end -; vmsrc/apple/a1cmd.pla: 0723: // -; vmsrc/apple/a1cmd.pla: 0724: // CONSOLE I/O -; vmsrc/apple/a1cmd.pla: 0725: // -; vmsrc/apple/a1cmd.pla: 0726: asm cout(c)#0 -_P003 ; cout(c)#0() -_A021 ; cout() -; vmsrc/apple/a1cmd.pla: 0727: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0728: JSR TOUPR - JSR TOUPR -; vmsrc/apple/a1cmd.pla: 0729: ORA #$80 - ORA #$80 -; vmsrc/apple/a1cmd.pla: 0730: JMP $FFEF - JMP $FFEF -; vmsrc/apple/a1cmd.pla: 0731: end -; vmsrc/apple/a1cmd.pla: 0732: asm cin()#1 -_P008 ; cin()#1() -_A022 ; cin() -; vmsrc/apple/a1cmd.pla: 0733: DEX - DEX -; vmsrc/apple/a1cmd.pla: 0734: - LDA $D011 -- LDA $D011 -; vmsrc/apple/a1cmd.pla: 0735: BPL - - BPL - -; vmsrc/apple/a1cmd.pla: 0736: LDA $D010 - LDA $D010 -; vmsrc/apple/a1cmd.pla: 0737: AND #$7F - AND #$7F -; vmsrc/apple/a1cmd.pla: 0738: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0739: LDA #$00 - LDA #$00 -; vmsrc/apple/a1cmd.pla: 0740: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0741: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0742: end -; vmsrc/apple/a1cmd.pla: 0743: def crout()#0 -_P002 ; crout()#0() -_C000 ; crout() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0744: cout($0D) -; vmsrc/apple/a1cmd.pla: 0745: end - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _A021 -_F059 !WORD _A021 - !BYTE $5C ; RET -; vmsrc/apple/a1cmd.pla: 0746: def prstr(str)#0 - ; str -> [0] -_P004 ; prstr(str)#0() -_C001 ; prstr() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0747: byte i - ; i -> [2] -; vmsrc/apple/a1cmd.pla: 0748: 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: 0749: cout(^(str + i)) -; vmsrc/apple/a1cmd.pla: 0750: next - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A021 -_F060 !WORD _A021 -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; vmsrc/apple/a1cmd.pla: 0751: end - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/a1cmd.pla: 0752: def print(i)#0 - ; i -> [0] -_P005 ; print(i)#0() -_C002 ; print() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0753: 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 _A021 -_F061 !WORD _A021 - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $76,$00 ; SLW [0] -_B004 -_B005 -; vmsrc/apple/a1cmd.pla: 0754: 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 -_F062 !WORD _C002 -_B006 -_B007 -; vmsrc/apple/a1cmd.pla: 0755: cout(i % 10 + '0') -; vmsrc/apple/a1cmd.pla: 0756: end - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $8A ; MOD - !BYTE $38,$30 ; ADDI 48 - !BYTE $54 ; CALL _A021 -_F063 !WORD _A021 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 0757: def rdstr(prompt)#1 - ; prompt -> [0] -_P009 ; rdstr(prompt)#1() -_C003 ; rdstr() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0758: byte ch, maxlen - ; ch -> [2] - ; maxlen -> [3] -; vmsrc/apple/a1cmd.pla: 0759: maxlen = 0 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/a1cmd.pla: 0760: inbuff.0 = 0 -; vmsrc/apple/a1cmd.pla: 0761: cout(prompt) -; vmsrc/apple/a1cmd.pla: 0762: repeat - !BYTE $00 ; CN 0 - !BYTE $74,$03 ; SLB [3] - !BYTE $00 ; CN 0 - !BYTE $78,$00,$02 ; SAB 512 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A021 -_F064 !WORD _A021 -_B009 -; vmsrc/apple/a1cmd.pla: 0763: ch = cin -; vmsrc/apple/a1cmd.pla: 0764: when ch - !BYTE $54 ; CALL _A022 -_F065 !WORD _A022 - !BYTE $6C,$02 ; DLB [2] - !BYTE $52 ; SEL - !WORD _B012-* -; vmsrc/apple/a1cmd.pla: 0765: is $15 // right arrow -_B013 -; vmsrc/apple/a1cmd.pla: 0766: if ^inbuff < maxlen //inbuff.0 < maxlen -; vmsrc/apple/a1cmd.pla: 0767: inbuff.0++ - !BYTE $68,$00,$02 ; LAB 512 - !BYTE $64,$03 ; LLB [3] - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $68,$00,$02 ; LAB 512 - !BYTE $8C ; INCR -; vmsrc/apple/a1cmd.pla: 0768: ch = inbuff[inbuff.0] -; vmsrc/apple/a1cmd.pla: 0769: cout(ch) -; vmsrc/apple/a1cmd.pla: 0770: fin - !BYTE $78,$00,$02 ; SAB 512 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $B4,$00,$02 ; ADDAB 512 - !BYTE $60 ; LB - !BYTE $6C,$02 ; DLB [2] - !BYTE $54 ; CALL _A021 -_F066 !WORD _A021 -_B014 -_B015 -; vmsrc/apple/a1cmd.pla: 0771: break - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0772: is $08 // left arrow -_B016 -; vmsrc/apple/a1cmd.pla: 0773: if inbuff.0 -; vmsrc/apple/a1cmd.pla: 0774: cout('\\') -; vmsrc/apple/a1cmd.pla: 0775: cout(inbuff[inbuff.0]) -; vmsrc/apple/a1cmd.pla: 0776: inbuff.0-- - !BYTE $68,$00,$02 ; LAB 512 - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _A021 -_F067 !WORD _A021 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $B4,$00,$02 ; ADDAB 512 - !BYTE $60 ; LB - !BYTE $54 ; CALL _A021 -_F068 !WORD _A021 - !BYTE $68,$00,$02 ; LAB 512 - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 0777: fin - !BYTE $78,$00,$02 ; SAB 512 -_B017 -_B018 -; vmsrc/apple/a1cmd.pla: 0778: break - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0779: is $04 // ctrl-d -_B019 -; vmsrc/apple/a1cmd.pla: 0780: if inbuff.0 -; vmsrc/apple/a1cmd.pla: 0781: cout('#') -; vmsrc/apple/a1cmd.pla: 0782: cout(inbuff[inbuff.0]) -; vmsrc/apple/a1cmd.pla: 0783: memcpy(inbuff + inbuff.0, inbuff + inbuff.0 + 1, maxlen - inbuff.0) -; vmsrc/apple/a1cmd.pla: 0784: maxlen-- - !BYTE $68,$00,$02 ; LAB 512 - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $2A,$23 ; CB 35 - !BYTE $54 ; CALL _A021 -_F069 !WORD _A021 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $B4,$00,$02 ; ADDAB 512 - !BYTE $60 ; LB - !BYTE $54 ; CALL _A021 -_F070 !WORD _A021 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $B4,$00,$02 ; ADDAB 512 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $B4,$00,$02 ; ADDAB 512 - !BYTE $8C ; INCR - !BYTE $64,$03 ; LLB [3] - !BYTE $68,$00,$02 ; LAB 512 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _A006 -_F071 !WORD _A006 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 0785: inbuff.0-- - !BYTE $74,$03 ; SLB [3] - !BYTE $68,$00,$02 ; LAB 512 - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 0786: fin - !BYTE $78,$00,$02 ; SAB 512 -_B020 -_B021 -; vmsrc/apple/a1cmd.pla: 0787: break - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0788: is $0C // ctrl-l -_B022 -; vmsrc/apple/a1cmd.pla: 0789: crout -; vmsrc/apple/a1cmd.pla: 0790: prstr(inbuff) -; vmsrc/apple/a1cmd.pla: 0791: break - !BYTE $54 ; CALL _C000 -_F072 !WORD _C000 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _C001 -_F073 !WORD _C001 - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0792: is $0D // return -_B023 -; vmsrc/apple/a1cmd.pla: 0793: is $18 // ctrl-x -_B024 -; vmsrc/apple/a1cmd.pla: 0794: crout -; vmsrc/apple/a1cmd.pla: 0795: inbuff.0 = 0 -; vmsrc/apple/a1cmd.pla: 0796: break - !BYTE $54 ; CALL _C000 -_F074 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $78,$00,$02 ; SAB 512 - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0797: is $9B // escape -_B025 -; vmsrc/apple/a1cmd.pla: 0798: inbuff.0 = 0 -; vmsrc/apple/a1cmd.pla: 0799: ch = $0D -; vmsrc/apple/a1cmd.pla: 0800: break - !BYTE $00 ; CN 0 - !BYTE $78,$00,$02 ; SAB 512 - !BYTE $1A ; CN 13 - !BYTE $74,$02 ; SLB [2] - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0801: 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: 0802: if ch >= ' ' -; vmsrc/apple/a1cmd.pla: 0803: cout(ch) -; vmsrc/apple/a1cmd.pla: 0804: inbuff.0++ - !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 _A021 -_F075 !WORD _A021 - !BYTE $68,$00,$02 ; LAB 512 - !BYTE $8C ; INCR -; vmsrc/apple/a1cmd.pla: 0805: inbuff[inbuff.0] = ch -; vmsrc/apple/a1cmd.pla: 0806: if inbuff.0 > maxlen -; vmsrc/apple/a1cmd.pla: 0807: maxlen = inbuff.0 -; vmsrc/apple/a1cmd.pla: 0808: fin - !BYTE $78,$00,$02 ; SAB 512 - !BYTE $64,$02 ; LLB [2] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $B4,$00,$02 ; ADDAB 512 - !BYTE $70 ; SB - !BYTE $68,$00,$02 ; LAB 512 - !BYTE $64,$03 ; LLB [3] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B028 - !WORD _B028-* - !BYTE $68,$00,$02 ; LAB 512 - !BYTE $74,$03 ; SLB [3] -_B028 -_B029 -; vmsrc/apple/a1cmd.pla: 0809: fin -_B026 -_B027 -; vmsrc/apple/a1cmd.pla: 0810: wend -_B011 -; vmsrc/apple/a1cmd.pla: 0811: until ch == $0D or inbuff.0 == $7F -_B010 - !BYTE $64,$02 ; LLB [2] - !BYTE $1A ; CN 13 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B030 - !WORD _B030-* - !BYTE $68,$00,$02 ; LAB 512 - !BYTE $2A,$7F ; CB 127 - !BYTE $40 ; ISEQ -_B030 - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* -_B008 -; vmsrc/apple/a1cmd.pla: 0812: cout($0D) -; vmsrc/apple/a1cmd.pla: 0813: return inbuff - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _A021 -_F076 !WORD _A021 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/a1cmd.pla: 0814: end -; vmsrc/apple/a1cmd.pla: 0815: def prbyte(v)#0 - ; v -> [0] -_P006 ; prbyte(v)#0() -_C004 ; prbyte() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0816: cout(hexchar[(v >> 4) & $0F]) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/a1cmd.pla: 0817: cout(hexchar[v & $0F]) -; vmsrc/apple/a1cmd.pla: 0818: end - !BYTE $26 ; LA _D043+0 -_F077 !WORD _D043+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 _A021 -_F078 !WORD _A021 - !BYTE $26 ; LA _D043+0 -_F079 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _A021 -_F080 !WORD _A021 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 0819: def prword(v)#0 - ; v -> [0] -_P007 ; prword(v)#0() -_C005 ; prword() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0820: prbyte(v >> 8) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/a1cmd.pla: 0821: prbyte(v) -; vmsrc/apple/a1cmd.pla: 0822: end - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C004 -_F081 !WORD _C004 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C004 -_F082 !WORD _C004 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 0823: // -; vmsrc/apple/a1cmd.pla: 0824: // String routines. -; vmsrc/apple/a1cmd.pla: 0825: // -; vmsrc/apple/a1cmd.pla: 0826: def strcpy(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P011 ; strcpy(dst, src)#1() -_C006 ; strcpy() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0827: memcpy(dst+1, src+1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/a1cmd.pla: 0828: ^dst = ^src -; vmsrc/apple/a1cmd.pla: 0829: 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 _A006 -_F083 !WORD _A006 - !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: 0830: end -; vmsrc/apple/a1cmd.pla: 0831: def strcat(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P012 ; strcat(dst, src)#1() -_C007 ; strcat() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0832: memcpy(dst + ^dst + 1, src + 1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/a1cmd.pla: 0833: ^dst = ^dst + ^src -; vmsrc/apple/a1cmd.pla: 0834: 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 _A006 -_F084 !WORD _A006 - !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: 0835: end -; vmsrc/apple/a1cmd.pla: 0836: // -; vmsrc/apple/a1cmd.pla: 0837: // CFFA1 routines -; vmsrc/apple/a1cmd.pla: 0838: // FILE I/O -; vmsrc/apple/a1cmd.pla: 0839: // -; vmsrc/apple/a1cmd.pla: 0840: //def opendir -; vmsrc/apple/a1cmd.pla: 0841: // perr = syscall($10, 0) -; vmsrc/apple/a1cmd.pla: 0842: // return perr -; vmsrc/apple/a1cmd.pla: 0843: //end -; vmsrc/apple/a1cmd.pla: 0844: //def readdir -; vmsrc/apple/a1cmd.pla: 0845: // perr = syscall($12, 0) -; vmsrc/apple/a1cmd.pla: 0846: // return *CFFAEntryPtr -; vmsrc/apple/a1cmd.pla: 0847: //end -; vmsrc/apple/a1cmd.pla: 0848: def finddirentry(filename)#1 - ; filename -> [0] -_C008 ; finddirentry() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0849: *CFFAFileName = filename - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/a1cmd.pla: 0850: perr = syscall($14, 0) -; vmsrc/apple/a1cmd.pla: 0851: 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 _A002 -_F085 !WORD _A002 - !BYTE $78 ; SAB _D034+0 -_F086 !WORD _D034+0 - !BYTE $6A,$0B,$00 ; LAW 11 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 0852: end -; vmsrc/apple/a1cmd.pla: 0853: def readfile(filename, buffer)#1 - ; filename -> [0] - ; buffer -> [2] -_C009 ; readfile() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0854: *CFFADest = buffer - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/a1cmd.pla: 0855: *CFFAFileName = filename -; vmsrc/apple/a1cmd.pla: 0856: perr = syscall($22, 0) -; vmsrc/apple/a1cmd.pla: 0857: 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 _A002 -_F087 !WORD _A002 - !BYTE $7C ; DAB _D034+0 -_F088 !WORD _D034+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/a1cmd.pla: 0858: end -; vmsrc/apple/a1cmd.pla: 0859: // -; vmsrc/apple/a1cmd.pla: 0860: // Heap routines. -; vmsrc/apple/a1cmd.pla: 0861: // -; vmsrc/apple/a1cmd.pla: 0862: def availheap()#1 -_P017 ; availheap()#1() -_C010 ; availheap() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0863: byte fp - ; fp -> [0] -; vmsrc/apple/a1cmd.pla: 0864: return @fp - heap - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D031+0 -_F089 !WORD _D031+0 - !BYTE $84 ; SUB - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/a1cmd.pla: 0865: end -; vmsrc/apple/a1cmd.pla: 0866: def allocheap(size)#1 - ; size -> [0] -_P014 ; allocheap(size)#1() -_C011 ; allocheap() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0867: word addr - ; addr -> [2] -; vmsrc/apple/a1cmd.pla: 0868: addr = heap - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/a1cmd.pla: 0869: heap = heap + size -; vmsrc/apple/a1cmd.pla: 0870: if uword_isge(heap, @addr) -; vmsrc/apple/a1cmd.pla: 0871: return 0 - !BYTE $6A ; LAW _D031+0 -_F090 !WORD _D031+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D031+0 -_F091 !WORD _D031+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D031+0 -_F092 !WORD _D031+0 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A007 -_F093 !WORD _A007 - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/a1cmd.pla: 0872: fin -_B031 -_B032 -; vmsrc/apple/a1cmd.pla: 0873: return addr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/a1cmd.pla: 0874: end -; vmsrc/apple/a1cmd.pla: 0875: 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: 0876: word align, addr - ; align -> [6] - ; addr -> [8] -; vmsrc/apple/a1cmd.pla: 0877: if freeaddr - !BYTE $58,$0A,$03 ; ENTER 10,3 -; vmsrc/apple/a1cmd.pla: 0878: *freeaddr = heap -; vmsrc/apple/a1cmd.pla: 0879: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $6A ; LAW _D031+0 -_F094 !WORD _D031+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B033 -_B034 -; vmsrc/apple/a1cmd.pla: 0880: align = (1 << pow2) - 1 -; vmsrc/apple/a1cmd.pla: 0881: addr = (heap | align) + 1 -; vmsrc/apple/a1cmd.pla: 0882: heap = addr + size -; vmsrc/apple/a1cmd.pla: 0883: if uword_isge(heap, @addr) -; vmsrc/apple/a1cmd.pla: 0884: 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 -_F095 !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 -_F096 !WORD _D031+0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A007 -_F097 !WORD _A007 - !BYTE $4C ; BRFLS _B035 - !WORD _B035-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/a1cmd.pla: 0885: fin -_B035 -_B036 -; vmsrc/apple/a1cmd.pla: 0886: return addr - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/a1cmd.pla: 0887: end -; vmsrc/apple/a1cmd.pla: 0888: def markheap()#1 -_P013 ; markheap()#1() -_C013 ; markheap() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0889: return heap - !BYTE $6A ; LAW _D031+0 -_F098 !WORD _D031+0 - !BYTE $5C ; RET -; vmsrc/apple/a1cmd.pla: 0890: end -; vmsrc/apple/a1cmd.pla: 0891: def releaseheap(newheap)#1 - ; newheap -> [0] -_P016 ; releaseheap(newheap)#1() -_C014 ; releaseheap() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0892: heap = newheap - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/a1cmd.pla: 0893: return @newheap - heap - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D031+0 -_F099 !WORD _D031+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D031+0 -_F100 !WORD _D031+0 - !BYTE $84 ; SUB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 0894: end -; vmsrc/apple/a1cmd.pla: 0895: // -; vmsrc/apple/a1cmd.pla: 0896: // Symbol table routines. -; vmsrc/apple/a1cmd.pla: 0897: // -; vmsrc/apple/a1cmd.pla: 0898: def addsym(sym, addr)#0 - ; sym -> [0] - ; addr -> [2] -_C015 ; addsym() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0899: while ^sym & $80 - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -_B037 -; vmsrc/apple/a1cmd.pla: 0900: ^lastsym = ^sym -; vmsrc/apple/a1cmd.pla: 0901: lastsym = lastsym + 1 -; vmsrc/apple/a1cmd.pla: 0902: sym = sym + 1 -; vmsrc/apple/a1cmd.pla: 0903: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D033+0 -_F101 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D033+0 -_F102 !WORD _D033+0 - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D033+0 -_F103 !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: 0904: lastsym->0 = ^sym -; vmsrc/apple/a1cmd.pla: 0905: lastsym=>1 = addr -; vmsrc/apple/a1cmd.pla: 0906: lastsym = lastsym + 3 -; vmsrc/apple/a1cmd.pla: 0907: ^lastsym = 0 -; vmsrc/apple/a1cmd.pla: 0908: end - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D033+0 -_F104 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D033+0 -_F105 !WORD _D033+0 - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $6A ; LAW _D033+0 -_F106 !WORD _D033+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D033+0 -_F107 !WORD _D033+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D033+0 -_F108 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/a1cmd.pla: 0909: // -; vmsrc/apple/a1cmd.pla: 0910: // Module routines. -; vmsrc/apple/a1cmd.pla: 0911: // -; vmsrc/apple/a1cmd.pla: 0912: def lookupextern(esd, index)#1 - ; esd -> [0] - ; index -> [2] -_C016 ; lookupextern() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0913: word sym, addr - ; sym -> [4] - ; addr -> [6] -; vmsrc/apple/a1cmd.pla: 0914: byte str[33] - ; str -> [8] -; vmsrc/apple/a1cmd.pla: 0915: while ^esd - !BYTE $58,$29,$02 ; ENTER 41,2 - !BYTE $50 ; BRNCH _B042 - !WORD _B042-* -_B040 -; vmsrc/apple/a1cmd.pla: 0916: sym = esd -; vmsrc/apple/a1cmd.pla: 0917: esd = sym + dcitos(sym, @str) -; vmsrc/apple/a1cmd.pla: 0918: if esd->0 & $10 and esd->1 == index -; vmsrc/apple/a1cmd.pla: 0919: addr = lookuptbl(sym, symtbl) -; vmsrc/apple/a1cmd.pla: 0920: if !addr -; vmsrc/apple/a1cmd.pla: 0921: perr = $81 -; vmsrc/apple/a1cmd.pla: 0922: cout('?') -; vmsrc/apple/a1cmd.pla: 0923: prstr(@str) -; vmsrc/apple/a1cmd.pla: 0924: crout -; vmsrc/apple/a1cmd.pla: 0925: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $6E,$04 ; DLW [4] - !BYTE $66,$04 ; LLW [4] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A014 -_F109 !WORD _A014 - !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 -_F110 !WORD _D032+0 - !BYTE $54 ; CALL _A017 -_F111 !WORD _A017 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B046 - !WORD _B046-* - !BYTE $2A,$81 ; CB 129 - !BYTE $78 ; SAB _D034+0 -_F112 !WORD _D034+0 - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _A021 -_F113 !WORD _A021 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _C001 -_F114 !WORD _C001 - !BYTE $54 ; CALL _C000 -_F115 !WORD _C000 -_B046 -_B047 -; vmsrc/apple/a1cmd.pla: 0926: return addr - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/a1cmd.pla: 0927: fin -_B044 -_B045 -; vmsrc/apple/a1cmd.pla: 0928: esd = esd + 3 -; vmsrc/apple/a1cmd.pla: 0929: 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: 0930: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/a1cmd.pla: 0931: end -; vmsrc/apple/a1cmd.pla: 0932: def adddef(addr, deflast)#1 - ; addr -> [0] - ; deflast -> [2] -_C017 ; adddef() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0933: word defentry - ; defentry -> [4] -; vmsrc/apple/a1cmd.pla: 0934: defentry = *deflast - !BYTE $58,$06,$02 ; ENTER 6,2 -; vmsrc/apple/a1cmd.pla: 0935: *deflast = defentry + 5 -; vmsrc/apple/a1cmd.pla: 0936: defentry->0 = $20 -; vmsrc/apple/a1cmd.pla: 0937: defentry=>1 = interp -; vmsrc/apple/a1cmd.pla: 0938: defentry=>3 = addr -; vmsrc/apple/a1cmd.pla: 0939: defentry->5 = 0 // null out next entry -; vmsrc/apple/a1cmd.pla: 0940: 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 _A013 -_F116 !WORD _A013 - !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: 0941: end -; vmsrc/apple/a1cmd.pla: 0942: def loadmod(mod)#1 - ; mod -> [0] -_C018 ; loadmod() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0943: 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: 0944: word addr, modaddr, modfix, modofst, modend - ; addr -> [16] - ; modaddr -> [18] - ; modfix -> [20] - ; modofst -> [22] - ; modend -> [24] -; vmsrc/apple/a1cmd.pla: 0945: word deftbl, deflast - ; deftbl -> [26] - ; deflast -> [28] -; vmsrc/apple/a1cmd.pla: 0946: word moddep, rld, esd, sym - ; moddep -> [30] - ; rld -> [32] - ; esd -> [34] - ; sym -> [36] -; vmsrc/apple/a1cmd.pla: 0947: byte type, str[17], filename[17] - ; type -> [38] - ; str -> [39] - ; filename -> [56] -; vmsrc/apple/a1cmd.pla: 0948: byte header[128] - ; header -> [73] -; vmsrc/apple/a1cmd.pla: 0949: // -; vmsrc/apple/a1cmd.pla: 0950: // Read the RELocatable module header (first 128 bytes) -; vmsrc/apple/a1cmd.pla: 0951: // -; vmsrc/apple/a1cmd.pla: 0952: dcitos(mod, @filename) - !BYTE $58,$C9,$01 ; ENTER 201,1 -; vmsrc/apple/a1cmd.pla: 0953: rdlen = finddirentry(@filename)=>$15 -; vmsrc/apple/a1cmd.pla: 0954: if perr -; vmsrc/apple/a1cmd.pla: 0955: return -perr - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$38 ; LLA [56] - !BYTE $54 ; CALL _A014 -_F117 !WORD _A014 - !BYTE $30 ; DROP - !BYTE $28,$38 ; LLA [56] - !BYTE $54 ; CALL _C008 -_F118 !WORD _C008 - !BYTE $38,$15 ; ADDI 21 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $68 ; LAB _D034+0 -_F119 !WORD _D034+0 - !BYTE $4C ; BRFLS _B048 - !WORD _B048-* - !BYTE $68 ; LAB _D034+0 -_F120 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$C9 ; LEAVE 201 -; vmsrc/apple/a1cmd.pla: 0956: fin -_B048 -_B049 -; vmsrc/apple/a1cmd.pla: 0957: if rdlen > 0 -; vmsrc/apple/a1cmd.pla: 0958: readfile(@filename, heap) -; vmsrc/apple/a1cmd.pla: 0959: memcpy(@header, heap, 128) -; vmsrc/apple/a1cmd.pla: 0960: modsize = header:0 -; vmsrc/apple/a1cmd.pla: 0961: moddep = @header.1 -; vmsrc/apple/a1cmd.pla: 0962: defofst = modsize + RELADDR -; vmsrc/apple/a1cmd.pla: 0963: init = 0 -; vmsrc/apple/a1cmd.pla: 0964: if rdlen > 4 and heap=>2 == $6502 // magic number -; vmsrc/apple/a1cmd.pla: 0965: // -; vmsrc/apple/a1cmd.pla: 0966: // This is an EXTended RELocatable (data+bytecode) module. -; vmsrc/apple/a1cmd.pla: 0967: // -; vmsrc/apple/a1cmd.pla: 0968: defofst = header:6 -; vmsrc/apple/a1cmd.pla: 0969: defcnt = header:8 -; vmsrc/apple/a1cmd.pla: 0970: init = header:10 -; vmsrc/apple/a1cmd.pla: 0971: moddep = @header.12 -; vmsrc/apple/a1cmd.pla: 0972: // -; vmsrc/apple/a1cmd.pla: 0973: // Load module dependencies. -; vmsrc/apple/a1cmd.pla: 0974: // -; vmsrc/apple/a1cmd.pla: 0975: 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 -_F121 !WORD _D031+0 - !BYTE $54 ; CALL _C009 -_F122 !WORD _C009 - !BYTE $30 ; DROP - !BYTE $28,$49 ; LLA [73] - !BYTE $6A ; LAW _D031+0 -_F123 !WORD _D031+0 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _A006 -_F124 !WORD _A006 - !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 $6A ; LAW _D031+0 -_F125 !WORD _D031+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !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: 0976: if !lookuptbl(moddep, symtbl) -; vmsrc/apple/a1cmd.pla: 0977: if loadmod(moddep) < 0 -; vmsrc/apple/a1cmd.pla: 0978: return -perr - !BYTE $66,$1E ; LLW [30] - !BYTE $6A ; LAW _D032+0 -_F126 !WORD _D032+0 - !BYTE $54 ; CALL _A017 -_F127 !WORD _A017 - !BYTE $4E ; BRTRU _B058 - !WORD _B058-* - !BYTE $66,$1E ; LLW [30] - !BYTE $54 ; CALL _C018 -_F128 !WORD _C018 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* - !BYTE $68 ; LAB _D034+0 -_F129 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$C9 ; LEAVE 201 -; vmsrc/apple/a1cmd.pla: 0979: fin -_B060 -_B061 -; vmsrc/apple/a1cmd.pla: 0980: fin -_B058 -_B059 -; vmsrc/apple/a1cmd.pla: 0981: moddep = moddep + dcitos(moddep, @str) -; vmsrc/apple/a1cmd.pla: 0982: loop - !BYTE $66,$1E ; LLW [30] - !BYTE $34 ; DUP - !BYTE $28,$27 ; LLA [39] - !BYTE $54 ; CALL _A014 -_F130 !WORD _A014 - !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: 0983: // -; vmsrc/apple/a1cmd.pla: 0984: // Init def table. -; vmsrc/apple/a1cmd.pla: 0985: // -; vmsrc/apple/a1cmd.pla: 0986: deftbl = allocheap(defcnt * 5 + 1) -; vmsrc/apple/a1cmd.pla: 0987: deflast = deftbl -; vmsrc/apple/a1cmd.pla: 0988: ^deflast = 0 -; vmsrc/apple/a1cmd.pla: 0989: // -; vmsrc/apple/a1cmd.pla: 0990: // Re-read file -; vmsrc/apple/a1cmd.pla: 0991: // -; vmsrc/apple/a1cmd.pla: 0992: readfile(@filename, heap) -; vmsrc/apple/a1cmd.pla: 0993: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $0A ; CN 5 - !BYTE $86 ; MUL - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C011 -_F131 !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 -_F132 !WORD _D031+0 - !BYTE $54 ; CALL _C009 -_F133 !WORD _C009 - !BYTE $30 ; DROP -_B053 -_B054 -; vmsrc/apple/a1cmd.pla: 0994: // -; vmsrc/apple/a1cmd.pla: 0995: // Alloc heap space for relocated module (data + bytecode). -; vmsrc/apple/a1cmd.pla: 0996: // -; vmsrc/apple/a1cmd.pla: 0997: moddep = moddep + 1 - @header + heap -; vmsrc/apple/a1cmd.pla: 0998: modfix = moddep - (heap + 2) // Adjust to skip header -; vmsrc/apple/a1cmd.pla: 0999: modsize = modsize - modfix -; vmsrc/apple/a1cmd.pla: 1000: rdlen = rdlen - modfix - 2 -; vmsrc/apple/a1cmd.pla: 1001: modaddr = allocheap(modsize) -; vmsrc/apple/a1cmd.pla: 1002: memcpy(modaddr, moddep, rdlen) -; vmsrc/apple/a1cmd.pla: 1003: // -; vmsrc/apple/a1cmd.pla: 1004: // Add module to symbol table. -; vmsrc/apple/a1cmd.pla: 1005: // -; vmsrc/apple/a1cmd.pla: 1006: addsym(mod, modaddr) -; vmsrc/apple/a1cmd.pla: 1007: // -; vmsrc/apple/a1cmd.pla: 1008: // Apply all fixups and symbol import/export. -; vmsrc/apple/a1cmd.pla: 1009: // -; vmsrc/apple/a1cmd.pla: 1010: modfix = modaddr - modfix -; vmsrc/apple/a1cmd.pla: 1011: modofst = modfix - RELADDR -; vmsrc/apple/a1cmd.pla: 1012: modend = modaddr + modsize -; vmsrc/apple/a1cmd.pla: 1013: bytecode = defofst + modofst -; vmsrc/apple/a1cmd.pla: 1014: defofst = bytecode - defofst -; vmsrc/apple/a1cmd.pla: 1015: rld = modend // Re-Locatable Directory -; vmsrc/apple/a1cmd.pla: 1016: esd = rld // Extern+Entry Symbol Directory -; vmsrc/apple/a1cmd.pla: 1017: 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 -_F134 !WORD _D031+0 - !BYTE $6E,$1E ; DLW [30] - !BYTE $6A ; LAW _D031+0 -_F135 !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 -_F136 !WORD _C011 - !BYTE $6E,$12 ; DLW [18] - !BYTE $66,$1E ; LLW [30] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A006 -_F137 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _C015 -_F138 !WORD _C015 - !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: 1018: esd = esd + 4 -; vmsrc/apple/a1cmd.pla: 1019: 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: 1020: esd = esd + 1 -; vmsrc/apple/a1cmd.pla: 1021: // -; vmsrc/apple/a1cmd.pla: 1022: // Run through the DeFinition Dictionary. -; vmsrc/apple/a1cmd.pla: 1023: // -; vmsrc/apple/a1cmd.pla: 1024: 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: 1025: // -; vmsrc/apple/a1cmd.pla: 1026: // This is a bytcode def entry - add it to the def directory. -; vmsrc/apple/a1cmd.pla: 1027: // -; vmsrc/apple/a1cmd.pla: 1028: adddef(rld=>1 + defofst, @deflast) -; vmsrc/apple/a1cmd.pla: 1029: rld = rld + 4 -; vmsrc/apple/a1cmd.pla: 1030: 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 _C017 -_F139 !WORD _C017 - !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: 1031: // -; vmsrc/apple/a1cmd.pla: 1032: // Run through the Re-Location Dictionary. -; vmsrc/apple/a1cmd.pla: 1033: // -; vmsrc/apple/a1cmd.pla: 1034: while ^rld - !BYTE $50 ; BRNCH _B070 - !WORD _B070-* -_B068 -; vmsrc/apple/a1cmd.pla: 1035: rld, addr, fixup = reloc(modfix, modofst, bytecode, rld) -; vmsrc/apple/a1cmd.pla: 1036: if ^rld -; vmsrc/apple/a1cmd.pla: 1037: *addr = ^rld & $10 ?? *addr + lookupextern(esd, rld->3) :: lookupdef(fixup + defofst, deftbl) -; vmsrc/apple/a1cmd.pla: 1038: rld = rld + 4 -; vmsrc/apple/a1cmd.pla: 1039: fin - !BYTE $66,$14 ; LLW [20] - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _A020 -_F140 !WORD _A020 - !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 _C016 -_F141 !WORD _C016 - !BYTE $82 ; ADD - !BYTE $50 ; BRNCH _B074 - !WORD _B074-* -_B073 - !BYTE $66,$0E ; LLW [14] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _A019 -_F142 !WORD _A019 -_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: 1040: //addr = rld=>1 + modfix -; vmsrc/apple/a1cmd.pla: 1041: //if uword_isge(addr, modaddr) // Skip fixups to header -; vmsrc/apple/a1cmd.pla: 1042: // if type & $80 // WORD sized fixup. -; vmsrc/apple/a1cmd.pla: 1043: // fixup = *addr -; vmsrc/apple/a1cmd.pla: 1044: // else // BYTE sized fixup. -; vmsrc/apple/a1cmd.pla: 1045: // fixup = ^addr -; vmsrc/apple/a1cmd.pla: 1046: // fin -; vmsrc/apple/a1cmd.pla: 1047: // if ^rld & $10 // EXTERN reference. -; vmsrc/apple/a1cmd.pla: 1048: // fixup = fixup + lookupextern(esd, rld->3) -; vmsrc/apple/a1cmd.pla: 1049: // else // INTERN fixup. -; vmsrc/apple/a1cmd.pla: 1050: // fixup = fixup + modofst -; vmsrc/apple/a1cmd.pla: 1051: // if uword_isge(fixup, bytecode) -; vmsrc/apple/a1cmd.pla: 1052: // // -; vmsrc/apple/a1cmd.pla: 1053: // // Bytecode address - replace with call def directory. -; vmsrc/apple/a1cmd.pla: 1054: // // -; vmsrc/apple/a1cmd.pla: 1055: // fixup = lookupdef(fixup + defofst, deftbl) -; vmsrc/apple/a1cmd.pla: 1056: // fin -; vmsrc/apple/a1cmd.pla: 1057: // fin -; vmsrc/apple/a1cmd.pla: 1058: // if type & $80 // WORD sized fixup. -; vmsrc/apple/a1cmd.pla: 1059: // *addr = fixup -; vmsrc/apple/a1cmd.pla: 1060: // else // BYTE sized fixup. -; vmsrc/apple/a1cmd.pla: 1061: // ^addr = fixup -; vmsrc/apple/a1cmd.pla: 1062: // fin -; vmsrc/apple/a1cmd.pla: 1063: //fin -; vmsrc/apple/a1cmd.pla: 1064: //rld = rld + 4 -; vmsrc/apple/a1cmd.pla: 1065: loop -_B070 - !BYTE $66,$20 ; LLW [32] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B068 - !WORD _B068-* -_B069 -; vmsrc/apple/a1cmd.pla: 1066: // -; vmsrc/apple/a1cmd.pla: 1067: // Run through the External/Entry Symbol Directory. -; vmsrc/apple/a1cmd.pla: 1068: // -; vmsrc/apple/a1cmd.pla: 1069: while ^esd - !BYTE $50 ; BRNCH _B077 - !WORD _B077-* -_B075 -; vmsrc/apple/a1cmd.pla: 1070: sym = esd -; vmsrc/apple/a1cmd.pla: 1071: esd = esd + dcitos(esd, @str) -; vmsrc/apple/a1cmd.pla: 1072: if ^esd & $08 -; vmsrc/apple/a1cmd.pla: 1073: // -; vmsrc/apple/a1cmd.pla: 1074: // EXPORT symbol - add it to the global symbol table. -; vmsrc/apple/a1cmd.pla: 1075: // -; vmsrc/apple/a1cmd.pla: 1076: addr = esd=>1 + modofst -; vmsrc/apple/a1cmd.pla: 1077: if uword_isge(addr, bytecode) -; vmsrc/apple/a1cmd.pla: 1078: // -; vmsrc/apple/a1cmd.pla: 1079: // Use the def directory address for bytecode. -; vmsrc/apple/a1cmd.pla: 1080: // -; vmsrc/apple/a1cmd.pla: 1081: addr = lookupdef(addr + defofst, deftbl) -; vmsrc/apple/a1cmd.pla: 1082: 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 _A014 -_F143 !WORD _A014 - !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 _A007 -_F144 !WORD _A007 - !BYTE $4C ; BRFLS _B080 - !WORD _B080-* - !BYTE $66,$10 ; LLW [16] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _A019 -_F145 !WORD _A019 - !BYTE $76,$10 ; SLW [16] -_B080 -_B081 -; vmsrc/apple/a1cmd.pla: 1083: addsym(sym, addr) -; vmsrc/apple/a1cmd.pla: 1084: fin - !BYTE $66,$24 ; LLW [36] - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C015 -_F146 !WORD _C015 -_B078 -_B079 -; vmsrc/apple/a1cmd.pla: 1085: esd = esd + 3 -; vmsrc/apple/a1cmd.pla: 1086: 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: 1087: fin -_B050 -_B051 -; vmsrc/apple/a1cmd.pla: 1088: if perr -; vmsrc/apple/a1cmd.pla: 1089: return -perr - !BYTE $68 ; LAB _D034+0 -_F147 !WORD _D034+0 - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* - !BYTE $68 ; LAB _D034+0 -_F148 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$C9 ; LEAVE 201 -; vmsrc/apple/a1cmd.pla: 1090: fin -_B082 -_B083 -; vmsrc/apple/a1cmd.pla: 1091: // -; vmsrc/apple/a1cmd.pla: 1092: // Free up the end-of-module in main memory. -; vmsrc/apple/a1cmd.pla: 1093: // -; vmsrc/apple/a1cmd.pla: 1094: releaseheap(modend) -; vmsrc/apple/a1cmd.pla: 1095: // -; vmsrc/apple/a1cmd.pla: 1096: // Call init routine if it exists. -; vmsrc/apple/a1cmd.pla: 1097: // -; vmsrc/apple/a1cmd.pla: 1098: fixup = 0 -; vmsrc/apple/a1cmd.pla: 1099: if init -; vmsrc/apple/a1cmd.pla: 1100: init = init - defofst + bytecode -; vmsrc/apple/a1cmd.pla: 1101: fixup = adddef(init, @deflast)() -; vmsrc/apple/a1cmd.pla: 1102: if fixup < 0 -; vmsrc/apple/a1cmd.pla: 1103: perr = -fixup -; vmsrc/apple/a1cmd.pla: 1104: fin - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C014 -_F149 !WORD _C014 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$0C ; LLW [12] - !BYTE $4C ; BRFLS _B084 - !WORD _B084-* - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $84 ; SUB - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $6E,$0C ; DLW [12] - !BYTE $28,$1C ; LLA [28] - !BYTE $54 ; CALL _C017 -_F150 !WORD _C017 - !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 -_F151 !WORD _D034+0 -_B086 -_B087 -; vmsrc/apple/a1cmd.pla: 1105: if !(systemflags & modinitkeep) -; vmsrc/apple/a1cmd.pla: 1106: releaseheap(init) -; vmsrc/apple/a1cmd.pla: 1107: fin - !BYTE $6A ; LAW _D030+0 -_F152 !WORD _D030+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B088 - !WORD _B088-* - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C014 -_F153 !WORD _C014 - !BYTE $30 ; DROP -_B088 -_B089 -; vmsrc/apple/a1cmd.pla: 1108: fin -_B084 -_B085 -; vmsrc/apple/a1cmd.pla: 1109: return fixup | (systemflags & modkeep) - !BYTE $66,$0E ; LLW [14] - !BYTE $6A ; LAW _D030+0 -_F154 !WORD _D030+0 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $94 ; AND - !BYTE $96 ; OR - !BYTE $5A,$C9 ; LEAVE 201 -; vmsrc/apple/a1cmd.pla: 1110: end -; vmsrc/apple/a1cmd.pla: 1111: // -; vmsrc/apple/a1cmd.pla: 1112: // Command mode -; vmsrc/apple/a1cmd.pla: 1113: // -; vmsrc/apple/a1cmd.pla: 1114: def stripchars(strptr)#1 - ; strptr -> [0] -_C019 ; stripchars() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 1115: while ^strptr and ^(strptr + 1) <> ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B092 - !WORD _B092-* -_B090 -; vmsrc/apple/a1cmd.pla: 1116: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/a1cmd.pla: 1117: ^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 _A006 -_F155 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 1118: 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: 1119: return ^strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 1120: end -; vmsrc/apple/a1cmd.pla: 1121: def stripspaces(strptr)#0 - ; strptr -> [0] -_C020 ; stripspaces() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 1122: while ^strptr and ^(strptr + ^strptr) <= ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -_B094 -; vmsrc/apple/a1cmd.pla: 1123: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 1124: 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: 1125: while ^strptr and ^(strptr + 1) <= ' ' - !BYTE $50 ; BRNCH _B100 - !WORD _B100-* -_B098 -; vmsrc/apple/a1cmd.pla: 1126: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/a1cmd.pla: 1127: ^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 _A006 -_F156 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 1128: 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: 1129: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 1130: def striptrail(strptr)#0 - ; strptr -> [0] -_C021 ; striptrail() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 1131: byte i - ; i -> [2] -; vmsrc/apple/a1cmd.pla: 1132: -; vmsrc/apple/a1cmd.pla: 1133: 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: 1134: if (strptr)[i] == ' ' -; vmsrc/apple/a1cmd.pla: 1135: ^strptr = i - 1 -; vmsrc/apple/a1cmd.pla: 1136: 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: 1137: fin -_B105 -_B106 -; vmsrc/apple/a1cmd.pla: 1138: next -_B104 - !BYTE $A4 ; INCBRLE _B103 - !WORD _B103-* -_B102 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; vmsrc/apple/a1cmd.pla: 1139: end - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/a1cmd.pla: 1140: def parsecmd(strptr)#1 - ; strptr -> [0] -_C022 ; parsecmd() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 1141: byte cmd - ; cmd -> [2] -; vmsrc/apple/a1cmd.pla: 1142: -; vmsrc/apple/a1cmd.pla: 1143: cmd = 0 - !BYTE $58,$03,$01 ; ENTER 3,1 -; vmsrc/apple/a1cmd.pla: 1144: stripspaces(strptr) -; vmsrc/apple/a1cmd.pla: 1145: if ^strptr -; vmsrc/apple/a1cmd.pla: 1146: cmd = ^(strptr + 1) -; vmsrc/apple/a1cmd.pla: 1147: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/a1cmd.pla: 1148: ^strptr-- - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C020 -_F157 !WORD _C020 - !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 _A006 -_F158 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 1149: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B107 -_B108 -; vmsrc/apple/a1cmd.pla: 1150: stripspaces(strptr) -; vmsrc/apple/a1cmd.pla: 1151: return cmd - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C020 -_F159 !WORD _C020 - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/a1cmd.pla: 1152: end -; vmsrc/apple/a1cmd.pla: 1153: def execmod(modfile)#1 - ; modfile -> [0] -_P026 ; execmod(modfile)#1() -_C023 ; execmod() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 1154: byte moddci[17] - ; moddci -> [2] -; vmsrc/apple/a1cmd.pla: 1155: word saveheap, savesym, saveflags - ; saveheap -> [19] - ; savesym -> [21] - ; saveflags -> [23] -; vmsrc/apple/a1cmd.pla: 1156: -; vmsrc/apple/a1cmd.pla: 1157: perr = 1 - !BYTE $58,$19,$01 ; ENTER 25,1 -; vmsrc/apple/a1cmd.pla: 1158: if stodci(modfile, @moddci) -; vmsrc/apple/a1cmd.pla: 1159: saveheap = heap -; vmsrc/apple/a1cmd.pla: 1160: savesym = lastsym -; vmsrc/apple/a1cmd.pla: 1161: saveflags = systemflags -; vmsrc/apple/a1cmd.pla: 1162: if loadmod(@moddci) < modkeep -; vmsrc/apple/a1cmd.pla: 1163: lastsym = savesym -; vmsrc/apple/a1cmd.pla: 1164: heap = saveheap -; vmsrc/apple/a1cmd.pla: 1165: fin - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D034+0 -_F160 !WORD _D034+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A015 -_F161 !WORD _A015 - !BYTE $4C ; BRFLS _B109 - !WORD _B109-* - !BYTE $6A ; LAW _D031+0 -_F162 !WORD _D031+0 - !BYTE $76,$13 ; SLW [19] - !BYTE $6A ; LAW _D033+0 -_F163 !WORD _D033+0 - !BYTE $76,$15 ; SLW [21] - !BYTE $6A ; LAW _D030+0 -_F164 !WORD _D030+0 - !BYTE $76,$17 ; SLW [23] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C018 -_F165 !WORD _C018 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B111 - !WORD _B111-* - !BYTE $66,$15 ; LLW [21] - !BYTE $7A ; SAW _D033+0 -_F166 !WORD _D033+0 - !BYTE $66,$13 ; LLW [19] - !BYTE $7A ; SAW _D031+0 -_F167 !WORD _D031+0 -_B111 -_B112 -; vmsrc/apple/a1cmd.pla: 1166: ^lastsym = 0 -; vmsrc/apple/a1cmd.pla: 1167: systemflags = saveflags -; vmsrc/apple/a1cmd.pla: 1168: fin - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D033+0 -_F168 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $66,$17 ; LLW [23] - !BYTE $7A ; SAW _D030+0 -_F169 !WORD _D030+0 -_B109 -_B110 -; vmsrc/apple/a1cmd.pla: 1169: return -perr - !BYTE $68 ; LAB _D034+0 -_F170 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$19 ; LEAVE 25 -; vmsrc/apple/a1cmd.pla: 1170: end -; vmsrc/apple/a1cmd.pla: 1171: // -; vmsrc/apple/a1cmd.pla: 1172: // Get heap start. -; vmsrc/apple/a1cmd.pla: 1173: // -; vmsrc/apple/a1cmd.pla: 1174: heap = *freemem -_INIT - JSR INTERP -; vmsrc/apple/a1cmd.pla: 1175: // -; vmsrc/apple/a1cmd.pla: 1176: // Print PLASMA version -; vmsrc/apple/a1cmd.pla: 1177: // -; vmsrc/apple/a1cmd.pla: 1178: prstr(@verstr); prbyte(version.1); cout('.'); prbyte(version.0); crout -; vmsrc/apple/a1cmd.pla: 1179: // -; vmsrc/apple/a1cmd.pla: 1180: // Init symbol table. -; vmsrc/apple/a1cmd.pla: 1181: // -; vmsrc/apple/a1cmd.pla: 1182: symtbl = allocheap($200) -; vmsrc/apple/a1cmd.pla: 1183: lastsym = symtbl -; vmsrc/apple/a1cmd.pla: 1184: ^lastsym = 0 -; vmsrc/apple/a1cmd.pla: 1185: while *syslibsym - !BYTE $6A,$06,$00 ; LAW 6 - !BYTE $7A ; SAW _D031+0 -_F171 !WORD _D031+0 - !BYTE $26 ; LA _D037+0 -_F172 !WORD _D037+0 - !BYTE $54 ; CALL _C001 -_F173 !WORD _C001 - !BYTE $68 ; LAB _D027+1 -_F174 !WORD _D027+1 - !BYTE $54 ; CALL _C004 -_F175 !WORD _C004 - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _A021 -_F176 !WORD _A021 - !BYTE $68 ; LAB _D027+0 -_F177 !WORD _D027+0 - !BYTE $54 ; CALL _C004 -_F178 !WORD _C004 - !BYTE $54 ; CALL _C000 -_F179 !WORD _C000 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _C011 -_F180 !WORD _C011 - !BYTE $7E ; DAW _D032+0 -_F181 !WORD _D032+0 - !BYTE $7A ; SAW _D033+0 -_F182 !WORD _D033+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D033+0 -_F183 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B115 - !WORD _B115-* -_B113 -; vmsrc/apple/a1cmd.pla: 1186: stodci(syslibsym=>0, heap) -; vmsrc/apple/a1cmd.pla: 1187: addsym(heap, syslibsym=>2) -; vmsrc/apple/a1cmd.pla: 1188: syslibsym = syslibsym + 4 -; vmsrc/apple/a1cmd.pla: 1189: loop - !BYTE $6A ; LAW _D075+0 -_F184 !WORD _D075+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D031+0 -_F185 !WORD _D031+0 - !BYTE $54 ; CALL _A015 -_F186 !WORD _A015 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D031+0 -_F187 !WORD _D031+0 - !BYTE $6A ; LAW _D075+0 -_F188 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C015 -_F189 !WORD _C015 - !BYTE $6A ; LAW _D075+0 -_F190 !WORD _D075+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $7A ; SAW _D075+0 -_F191 !WORD _D075+0 -_B115 - !BYTE $6A ; LAW _D075+0 -_F192 !WORD _D075+0 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B113 - !WORD _B113-* -_B114 -; vmsrc/apple/a1cmd.pla: 1190: // -; vmsrc/apple/a1cmd.pla: 1191: // Try to load autorun. -; vmsrc/apple/a1cmd.pla: 1192: // -; vmsrc/apple/a1cmd.pla: 1193: cmdptr = heap -; vmsrc/apple/a1cmd.pla: 1194: memset(cmdptr, 0, 128) -; vmsrc/apple/a1cmd.pla: 1195: readfile(@autorun, cmdptr + 1) -; vmsrc/apple/a1cmd.pla: 1196: while ^(cmdptr + ^cmdptr + 1) >= ' ' - !BYTE $6A ; LAW _D031+0 -_F193 !WORD _D031+0 - !BYTE $7E ; DAW _D045+0 -_F194 !WORD _D045+0 - !BYTE $00 ; CN 0 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _A005 -_F195 !WORD _A005 - !BYTE $26 ; LA _D036+0 -_F196 !WORD _D036+0 - !BYTE $6A ; LAW _D045+0 -_F197 !WORD _D045+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C009 -_F198 !WORD _C009 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B118 - !WORD _B118-* -_B116 -; vmsrc/apple/a1cmd.pla: 1197: ^cmdptr++ - !BYTE $6A ; LAW _D045+0 -_F199 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $8C ; INCR -; vmsrc/apple/a1cmd.pla: 1198: loop - !BYTE $6A ; LAW _D045+0 -_F200 !WORD _D045+0 - !BYTE $70 ; SB -_B118 - !BYTE $6A ; LAW _D045+0 -_F201 !WORD _D045+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 _B116 - !WORD _B116-* -_B117 -; vmsrc/apple/a1cmd.pla: 1199: perr = 0 -; vmsrc/apple/a1cmd.pla: 1200: // -; vmsrc/apple/a1cmd.pla: 1201: // Print some startup info. -; vmsrc/apple/a1cmd.pla: 1202: // -; vmsrc/apple/a1cmd.pla: 1203: if not ^cmdptr -; vmsrc/apple/a1cmd.pla: 1204: prstr(@freestr) -; vmsrc/apple/a1cmd.pla: 1205: prword(availheap) -; vmsrc/apple/a1cmd.pla: 1206: crout -; vmsrc/apple/a1cmd.pla: 1207: fin - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D034+0 -_F202 !WORD _D034+0 - !BYTE $6A ; LAW _D045+0 -_F203 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B119 - !WORD _B119-* - !BYTE $26 ; LA _D038+0 -_F204 !WORD _D038+0 - !BYTE $54 ; CALL _C001 -_F205 !WORD _C001 - !BYTE $54 ; CALL _C010 -_F206 !WORD _C010 - !BYTE $54 ; CALL _C005 -_F207 !WORD _C005 - !BYTE $54 ; CALL _C000 -_F208 !WORD _C000 -_B119 -_B120 -; vmsrc/apple/a1cmd.pla: 1208: // -; vmsrc/apple/a1cmd.pla: 1209: // Handle commands. -; vmsrc/apple/a1cmd.pla: 1210: // -; vmsrc/apple/a1cmd.pla: 1211: while 1 - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -_B121 -; vmsrc/apple/a1cmd.pla: 1212: if ^cmdptr -; vmsrc/apple/a1cmd.pla: 1213: when toupper(parsecmd(cmdptr)) - !BYTE $6A ; LAW _D045+0 -_F209 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B124 - !WORD _B124-* - !BYTE $6A ; LAW _D045+0 -_F210 !WORD _D045+0 - !BYTE $54 ; CALL _C022 -_F211 !WORD _C022 - !BYTE $54 ; CALL _A016 -_F212 !WORD _A016 - !BYTE $52 ; SEL - !WORD _B127-* -; vmsrc/apple/a1cmd.pla: 1214: is 'Q' -_B128 -; vmsrc/apple/a1cmd.pla: 1215: quit -; vmsrc/apple/a1cmd.pla: 1216: is 'M' - !BYTE $54 ; CALL _A004 -_F213 !WORD _A004 -_B129 -; vmsrc/apple/a1cmd.pla: 1217: syscall($02, 0) -; vmsrc/apple/a1cmd.pla: 1218: break - !BYTE $04 ; CN 2 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A002 -_F214 !WORD _A002 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B126 - !WORD _B126-* -; vmsrc/apple/a1cmd.pla: 1219: is '+' -_B130 -; vmsrc/apple/a1cmd.pla: 1220: execmod(cmdptr) -; vmsrc/apple/a1cmd.pla: 1221: break - !BYTE $6A ; LAW _D045+0 -_F215 !WORD _D045+0 - !BYTE $54 ; CALL _C023 -_F216 !WORD _C023 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B126 - !WORD _B126-* -; vmsrc/apple/a1cmd.pla: 1222: otherwise -_B127 - !BYTE $03 ; CASEBLOCK - !WORD $002B - !WORD _B130-* - !WORD $004D - !WORD _B129-* - !WORD $0051 - !WORD _B128-* -; vmsrc/apple/a1cmd.pla: 1223: prstr(@huhstr) -; vmsrc/apple/a1cmd.pla: 1224: wend - !BYTE $26 ; LA _D042+0 -_F217 !WORD _D042+0 - !BYTE $54 ; CALL _C001 -_F218 !WORD _C001 -_B126 -; vmsrc/apple/a1cmd.pla: 1225: if perr -; vmsrc/apple/a1cmd.pla: 1226: prstr(@errorstr) -; vmsrc/apple/a1cmd.pla: 1227: prbyte(perr) -; vmsrc/apple/a1cmd.pla: 1228: perr = 0 -; vmsrc/apple/a1cmd.pla: 1229: else - !BYTE $68 ; LAB _D034+0 -_F219 !WORD _D034+0 - !BYTE $4C ; BRFLS _B131 - !WORD _B131-* - !BYTE $26 ; LA _D039+0 -_F220 !WORD _D039+0 - !BYTE $54 ; CALL _C001 -_F221 !WORD _C001 - !BYTE $68 ; LAB _D034+0 -_F222 !WORD _D034+0 - !BYTE $54 ; CALL _C004 -_F223 !WORD _C004 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D034+0 -_F224 !WORD _D034+0 - !BYTE $50 ; BRNCH _B132 - !WORD _B132-* -_B131 -; vmsrc/apple/a1cmd.pla: 1230: prstr(@okstr) -; vmsrc/apple/a1cmd.pla: 1231: fin - !BYTE $26 ; LA _D041+0 -_F225 !WORD _D041+0 - !BYTE $54 ; CALL _C001 -_F226 !WORD _C001 -_B132 -; vmsrc/apple/a1cmd.pla: 1232: crout() -; vmsrc/apple/a1cmd.pla: 1233: fin - !BYTE $54 ; CALL _C000 -_F227 !WORD _C000 -_B124 -_B125 -; vmsrc/apple/a1cmd.pla: 1234: prstr(@prompt) -; vmsrc/apple/a1cmd.pla: 1235: cmdptr = rdstr($BA) -; vmsrc/apple/a1cmd.pla: 1236: loop - !BYTE $26 ; LA _D040+0 -_F228 !WORD _D040+0 - !BYTE $54 ; CALL _C001 -_F229 !WORD _C001 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _C003 -_F230 !WORD _C003 - !BYTE $7A ; SAW _D045+0 -_F231 !WORD _D045+0 -_B123 - !BYTE $50 ; BRNCH _B121 - !WORD _B121-* -_B122 -; vmsrc/apple/a1cmd.pla: 1237: 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 6da5e55..0000000 --- a/src/vmsrc/apple/cmd.a +++ /dev/null @@ -1,3913 +0,0 @@ -; ACME COMPATIBLE OUTPUT - JMP _INIT ; MODULE INITIALIZATION ROUTINE -; vmsrc/apple/cmd.pla: 0001: const MACHID = $BF98 - ; MACHID = 49048 -; vmsrc/apple/cmd.pla: 0002: const iobuffer = $0800 - ; iobuffer = 2048 -; vmsrc/apple/cmd.pla: 0003: const RELADDR = $1000 - ; RELADDR = 4096 -; vmsrc/apple/cmd.pla: 0004: const symtbl = $0C00 - ; symtbl = 3072 -; vmsrc/apple/cmd.pla: 0005: const freemem = $0006 - ; freemem = 6 -; vmsrc/apple/cmd.pla: 0006: const getlnbuf = $01FF - ; getlnbuf = 511 -; vmsrc/apple/cmd.pla: 0007: // -; vmsrc/apple/cmd.pla: 0008: // System flags: memory allocator screen holes. -; vmsrc/apple/cmd.pla: 0009: // -; vmsrc/apple/cmd.pla: 0010: const restxt1 = $0001 - ; restxt1 = 1 -; vmsrc/apple/cmd.pla: 0011: const restxt2 = $0002 - ; restxt2 = 2 -; vmsrc/apple/cmd.pla: 0012: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; vmsrc/apple/cmd.pla: 0013: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; vmsrc/apple/cmd.pla: 0014: const reshgr1 = $0010 - ; reshgr1 = 16 -; vmsrc/apple/cmd.pla: 0015: const reshgr2 = $0020 - ; reshgr2 = 32 -; vmsrc/apple/cmd.pla: 0016: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; vmsrc/apple/cmd.pla: 0017: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; vmsrc/apple/cmd.pla: 0018: // -; vmsrc/apple/cmd.pla: 0019: // Module don't free memory -; vmsrc/apple/cmd.pla: 0020: // -; vmsrc/apple/cmd.pla: 0021: const modkeep = $2000 - ; modkeep = 8192 -; vmsrc/apple/cmd.pla: 0022: const modinitkeep = $4000 - ; modinitkeep = 16384 -; vmsrc/apple/cmd.pla: 0023: // -; vmsrc/apple/cmd.pla: 0024: // Prefix commands -; vmsrc/apple/cmd.pla: 0025: // -; vmsrc/apple/cmd.pla: 0026: const GET_PFX = $C7 - ; GET_PFX = 199 -; vmsrc/apple/cmd.pla: 0027: const SET_PFX = $C6 - ; SET_PFX = 198 -; vmsrc/apple/cmd.pla: 0028: // -; vmsrc/apple/cmd.pla: 0029: // Pedefined functions. -; vmsrc/apple/cmd.pla: 0030: // -; vmsrc/apple/cmd.pla: 0031: predef syscall(cmd,params)#1, call(addr,areg,xreg,yreg,status)#1 -; vmsrc/apple/cmd.pla: 0032: 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: 0033: predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr)#1, releaseheap(newheap)#1, availheap()#1 -; vmsrc/apple/cmd.pla: 0034: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 -; vmsrc/apple/cmd.pla: 0035: 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: 0036: predef execmod(modfile)#1, open(path)#1, close(refnum)#1, read(refnum, buff, len)#1, write(refnum, buff, len)#1 -; vmsrc/apple/cmd.pla: 0037: // -; vmsrc/apple/cmd.pla: 0038: // Exported CMDSYS table -; vmsrc/apple/cmd.pla: 0039: // -; vmsrc/apple/cmd.pla: 0040: word version = $0200 // 02.00 Dev -_D031 ; version = $0200 // 02.00 Dev - !WORD $0200 -; vmsrc/apple/cmd.pla: 0041: word syspath -_D032 !FILL 2 ; syspath -; vmsrc/apple/cmd.pla: 0042: word syscmdln -_D033 !FILL 2 ; syscmdln -; vmsrc/apple/cmd.pla: 0043: word = @execmod, @open, @close, @read, @write -_F000 !WORD _P026 -_F001 !WORD _P027 -_F002 !WORD _P028 -_F003 !WORD _P029 -_F004 !WORD _P030 -; vmsrc/apple/cmd.pla: 0044: byte perr -_D034 !FILL 1 ; perr -; vmsrc/apple/cmd.pla: 0045: byte jitcount = 0 -_D035 ; jitcount = 0 - !BYTE $00 -; vmsrc/apple/cmd.pla: 0046: byte jitsize = 0 -_D036 ; jitsize = 0 - !BYTE $00 -; vmsrc/apple/cmd.pla: 0047: // -; vmsrc/apple/cmd.pla: 0048: // Working input buffer overlayed with strings table -; vmsrc/apple/cmd.pla: 0049: // -; vmsrc/apple/cmd.pla: 0050: byte cmdln = "" -_D037 ; cmdln = "" - !BYTE $00 -; vmsrc/apple/cmd.pla: 0051: // -; vmsrc/apple/cmd.pla: 0052: // Name for auto-run file (must follow cmdln) -; vmsrc/apple/cmd.pla: 0053: // -; vmsrc/apple/cmd.pla: 0054: byte autorun = "AUTORUN" -_D038 ; autorun = "AUTORUN" - !BYTE $07 - !BYTE $41,$55,$54,$4F,$52,$55,$4E -; vmsrc/apple/cmd.pla: 0055: // -; vmsrc/apple/cmd.pla: 0056: // Standard Library exported functions. -; vmsrc/apple/cmd.pla: 0057: // -; vmsrc/apple/cmd.pla: 0058: byte sysmodstr = "CMDSYS" -_D039 ; sysmodstr = "CMDSYS" - !BYTE $06 - !BYTE $43,$4D,$44,$53,$59,$53 -; vmsrc/apple/cmd.pla: 0059: byte putsstr = "PUTS" -_D040 ; putsstr = "PUTS" - !BYTE $04 - !BYTE $50,$55,$54,$53 -; vmsrc/apple/cmd.pla: 0060: byte putistr = "PUTI" -_D041 ; putistr = "PUTI" - !BYTE $04 - !BYTE $50,$55,$54,$49 -; vmsrc/apple/cmd.pla: 0061: byte putcstr = "PUTC" -_D042 ; putcstr = "PUTC" - !BYTE $04 - !BYTE $50,$55,$54,$43 -; vmsrc/apple/cmd.pla: 0062: byte putlnstr = "PUTLN" -_D043 ; putlnstr = "PUTLN" - !BYTE $05 - !BYTE $50,$55,$54,$4C,$4E -; vmsrc/apple/cmd.pla: 0063: byte putbstr = "PUTB" -_D044 ; putbstr = "PUTB" - !BYTE $04 - !BYTE $50,$55,$54,$42 -; vmsrc/apple/cmd.pla: 0064: byte putwstr = "PUTH" -_D045 ; putwstr = "PUTH" - !BYTE $04 - !BYTE $50,$55,$54,$48 -; vmsrc/apple/cmd.pla: 0065: byte getcstr = "GETC" -_D046 ; getcstr = "GETC" - !BYTE $04 - !BYTE $47,$45,$54,$43 -; vmsrc/apple/cmd.pla: 0066: byte getsstr = "GETS" -_D047 ; getsstr = "GETS" - !BYTE $04 - !BYTE $47,$45,$54,$53 -; vmsrc/apple/cmd.pla: 0067: byte toupstr = "TOUPPER" -_D048 ; toupstr = "TOUPPER" - !BYTE $07 - !BYTE $54,$4F,$55,$50,$50,$45,$52 -; vmsrc/apple/cmd.pla: 0068: byte strcpystr = "STRCPY" -_D049 ; strcpystr = "STRCPY" - !BYTE $06 - !BYTE $53,$54,$52,$43,$50,$59 -; vmsrc/apple/cmd.pla: 0069: byte strcatstr = "STRCAT" -_D050 ; strcatstr = "STRCAT" - !BYTE $06 - !BYTE $53,$54,$52,$43,$41,$54 -; vmsrc/apple/cmd.pla: 0070: byte hpmarkstr = "HEAPMARK" -_D051 ; hpmarkstr = "HEAPMARK" - !BYTE $08 - !BYTE $48,$45,$41,$50,$4D,$41,$52,$4B -; vmsrc/apple/cmd.pla: 0071: byte hpalignstr = "HEAPALLOCALIGN" -_D052 ; hpalignstr = "HEAPALLOCALIGN" - !BYTE $0E - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43,$41,$4C,$49,$47,$4E -; vmsrc/apple/cmd.pla: 0072: byte hpallocstr = "HEAPALLOC" -_D053 ; hpallocstr = "HEAPALLOC" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43 -; vmsrc/apple/cmd.pla: 0073: byte hprelstr = "HEAPRELEASE" -_D054 ; hprelstr = "HEAPRELEASE" - !BYTE $0B - !BYTE $48,$45,$41,$50,$52,$45,$4C,$45 - !BYTE $41,$53,$45 -; vmsrc/apple/cmd.pla: 0074: byte hpavlstr = "HEAPAVAIL" -_D055 ; hpavlstr = "HEAPAVAIL" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$56,$41,$49 - !BYTE $4C -; vmsrc/apple/cmd.pla: 0075: word memsetstr = "MEMSET" -_D056 ; memsetstr = "MEMSET" - !BYTE $06 - !BYTE $4D,$45,$4D,$53,$45,$54 -; vmsrc/apple/cmd.pla: 0076: byte memcpystr = "MEMCPY" -_D057 ; memcpystr = "MEMCPY" - !BYTE $06 - !BYTE $4D,$45,$4D,$43,$50,$59 -; vmsrc/apple/cmd.pla: 0077: byte uisgtstr = "ISUGT" -_D058 ; uisgtstr = "ISUGT" - !BYTE $05 - !BYTE $49,$53,$55,$47,$54 -; vmsrc/apple/cmd.pla: 0078: byte uisgestr = "ISUGE" -_D059 ; uisgestr = "ISUGE" - !BYTE $05 - !BYTE $49,$53,$55,$47,$45 -; vmsrc/apple/cmd.pla: 0079: byte uisltstr = "ISULT" -_D060 ; uisltstr = "ISULT" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$54 -; vmsrc/apple/cmd.pla: 0080: byte uislestr = "ISULE" -_D061 ; uislestr = "ISULE" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$45 -; vmsrc/apple/cmd.pla: 0081: byte sextstr = "SEXT" -_D062 ; sextstr = "SEXT" - !BYTE $04 - !BYTE $53,$45,$58,$54 -; vmsrc/apple/cmd.pla: 0082: byte divmodstr = "DIVMOD" -_D063 ; divmodstr = "DIVMOD" - !BYTE $06 - !BYTE $44,$49,$56,$4D,$4F,$44 -; vmsrc/apple/cmd.pla: 0083: byte machidstr = "MACHID" -_D064 ; machidstr = "MACHID" - !BYTE $06 - !BYTE $4D,$41,$43,$48,$49,$44 -; vmsrc/apple/cmd.pla: 0084: byte sysstr = "SYSCALL" -_D065 ; sysstr = "SYSCALL" - !BYTE $07 - !BYTE $53,$59,$53,$43,$41,$4C,$4C -; vmsrc/apple/cmd.pla: 0085: byte callstr = "CALL" -_D066 ; callstr = "CALL" - !BYTE $04 - !BYTE $43,$41,$4C,$4C -; vmsrc/apple/cmd.pla: 0086: word exports = @sysmodstr, @version -_D067 ; exports = @sysmodstr, @version -_F005 !WORD _D039 -_F006 !WORD _D031 -; vmsrc/apple/cmd.pla: 0087: word = @sysstr, @syscall -_F007 !WORD _D065 -_F008 !WORD _P000 -; vmsrc/apple/cmd.pla: 0088: word = @callstr, @call -_F009 !WORD _D066 -_F010 !WORD _P001 -; vmsrc/apple/cmd.pla: 0089: word = @putcstr, @cout -_F011 !WORD _D042 -_F012 !WORD _P003 -; vmsrc/apple/cmd.pla: 0090: word = @putlnstr, @crout -_F013 !WORD _D043 -_F014 !WORD _P002 -; vmsrc/apple/cmd.pla: 0091: word = @putsstr, @prstr -_F015 !WORD _D040 -_F016 !WORD _P004 -; vmsrc/apple/cmd.pla: 0092: word = @putbstr, @prbyte -_F017 !WORD _D044 -_F018 !WORD _P005 -; vmsrc/apple/cmd.pla: 0093: word = @putwstr, @prword -_F019 !WORD _D045 -_F020 !WORD _P006 -; vmsrc/apple/cmd.pla: 0094: word = @putistr, @print -_F021 !WORD _D041 -_F022 !WORD _P007 -; vmsrc/apple/cmd.pla: 0095: word = @getcstr, @cin -_F023 !WORD _D046 -_F024 !WORD _P008 -; vmsrc/apple/cmd.pla: 0096: word = @getsstr, @rdstr -_F025 !WORD _D047 -_F026 !WORD _P009 -; vmsrc/apple/cmd.pla: 0097: word = @toupstr, @toupper -_F027 !WORD _D048 -_F028 !WORD _P010 -; vmsrc/apple/cmd.pla: 0098: word = @hpmarkstr, @markheap -_F029 !WORD _D051 -_F030 !WORD _P011 -; vmsrc/apple/cmd.pla: 0099: byte sysmods[] // overlay with exported strings -_D068 ; sysmods[] // overlay with exported strings -; vmsrc/apple/cmd.pla: 0100: word = @hpallocstr,@allocheap -_F031 !WORD _D053 -_F032 !WORD _P012 -; vmsrc/apple/cmd.pla: 0101: word = @hpalignstr,@allocalignheap -_F033 !WORD _D052 -_F034 !WORD _P013 -; vmsrc/apple/cmd.pla: 0102: word = @hprelstr, @releaseheap -_F035 !WORD _D054 -_F036 !WORD _P014 -; vmsrc/apple/cmd.pla: 0103: word = @hpavlstr, @availheap -_F037 !WORD _D055 -_F038 !WORD _P015 -; vmsrc/apple/cmd.pla: 0104: word = @memsetstr, @memset -_F039 !WORD _D056 -_F040 !WORD _P016 -; vmsrc/apple/cmd.pla: 0105: word = @memcpystr, @memcpy -_F041 !WORD _D057 -_F042 !WORD _P017 -; vmsrc/apple/cmd.pla: 0106: word = @uisgtstr, @uword_isgt -_F043 !WORD _D058 -_F044 !WORD _P020 -; vmsrc/apple/cmd.pla: 0107: word = @uisgestr, @uword_isge -_F045 !WORD _D059 -_F046 !WORD _P021 -; vmsrc/apple/cmd.pla: 0108: word = @uisltstr, @uword_islt -_F047 !WORD _D060 -_F048 !WORD _P022 -; vmsrc/apple/cmd.pla: 0109: word = @uislestr, @uword_isle -_F049 !WORD _D061 -_F050 !WORD _P023 -; vmsrc/apple/cmd.pla: 0110: word = @strcpystr, @strcpy -_F051 !WORD _D049 -_F052 !WORD _P018 -; vmsrc/apple/cmd.pla: 0111: word = @strcatstr, @strcat -_F053 !WORD _D050 -_F054 !WORD _P019 -; vmsrc/apple/cmd.pla: 0112: word = @sextstr, @sext -_F055 !WORD _D062 -_F056 !WORD _P024 -; vmsrc/apple/cmd.pla: 0113: word = @divmodstr, @divmod -_F057 !WORD _D063 -_F058 !WORD _P025 -; vmsrc/apple/cmd.pla: 0114: word = @machidstr, MACHID -_F059 !WORD _D064 - !WORD $BF98 -; vmsrc/apple/cmd.pla: 0115: word = 0 - !WORD $0000 -; vmsrc/apple/cmd.pla: 0116: word sysmodsym = @exports -_D069 ; sysmodsym = @exports -_F060 !WORD _D067 -; vmsrc/apple/cmd.pla: 0117: // -; vmsrc/apple/cmd.pla: 0118: // System variable. -; vmsrc/apple/cmd.pla: 0119: // -; vmsrc/apple/cmd.pla: 0120: word systemflags = 0 -_D070 ; systemflags = 0 - !WORD $0000 -; vmsrc/apple/cmd.pla: 0121: word heap -_D071 !FILL 2 ; heap -; vmsrc/apple/cmd.pla: 0122: word lastsym = symtbl -_D072 ; lastsym = symtbl - !WORD $0C00 -; vmsrc/apple/cmd.pla: 0123: // -; vmsrc/apple/cmd.pla: 0124: // Utility functions -; vmsrc/apple/cmd.pla: 0125: // -; vmsrc/apple/cmd.pla: 0126: //asm equates included from cmdstub.s -; vmsrc/apple/cmd.pla: 0127: // -; vmsrc/apple/cmd.pla: 0128: // CALL PRODOS -; vmsrc/apple/cmd.pla: 0129: // SYSCALL(CMD, PARAMS) -; vmsrc/apple/cmd.pla: 0130: // -; vmsrc/apple/cmd.pla: 0131: asm syscall(cmd,params)#1 -_P000 ; syscall(cmd,params)#1() -_A000 ; syscall() -; vmsrc/apple/cmd.pla: 0132: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0133: LDY ESTKH,X - LDY ESTKH,X -; vmsrc/apple/cmd.pla: 0134: STA PARAMS - STA PARAMS -; vmsrc/apple/cmd.pla: 0135: STY PARAMS+1 - STY PARAMS+1 -; vmsrc/apple/cmd.pla: 0136: INX - INX -; vmsrc/apple/cmd.pla: 0137: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0138: STA CMD - STA CMD -; vmsrc/apple/cmd.pla: 0139: JSR $BF00 - JSR $BF00 -; vmsrc/apple/cmd.pla: 0140: CMD: !BYTE 00 -CMD: !BYTE 00 -; vmsrc/apple/cmd.pla: 0141: PARAMS: !WORD 0000 -PARAMS: !WORD 0000 -; vmsrc/apple/cmd.pla: 0142: ; LDY #$00 -; LDY #$00 -; vmsrc/apple/cmd.pla: 0143: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0144: ; STY ESTKH,X -; STY ESTKH,X -; vmsrc/apple/cmd.pla: 0145: RTS - RTS -; vmsrc/apple/cmd.pla: 0146: end -; vmsrc/apple/cmd.pla: 0147: // -; vmsrc/apple/cmd.pla: 0148: // CALL 6502 ROUTINE -; vmsrc/apple/cmd.pla: 0149: // CALL(ADDR, AREG, XREG, YREG, STATUS) -; vmsrc/apple/cmd.pla: 0150: // -; vmsrc/apple/cmd.pla: 0151: asm call(addr,areg,xreg,yreg,status)#1 -_P001 ; call(addr,areg,xreg,yreg,status)#1() -_A001 ; call() -; vmsrc/apple/cmd.pla: 0152: REGVALS = SRC -REGVALS = SRC -; vmsrc/apple/cmd.pla: 0153: PHP - PHP -; vmsrc/apple/cmd.pla: 0154: LDA ESTKL+4,X - LDA ESTKL+4,X -; vmsrc/apple/cmd.pla: 0155: STA TMPL - STA TMPL -; vmsrc/apple/cmd.pla: 0156: LDA ESTKH+4,X - LDA ESTKH+4,X -; vmsrc/apple/cmd.pla: 0157: STA TMPH - STA TMPH -; vmsrc/apple/cmd.pla: 0158: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0159: PHA - PHA -; vmsrc/apple/cmd.pla: 0160: LDY ESTKL+1,X - LDY ESTKL+1,X -; vmsrc/apple/cmd.pla: 0161: LDA ESTKL+3,X - LDA ESTKL+3,X -; vmsrc/apple/cmd.pla: 0162: PHA - PHA -; vmsrc/apple/cmd.pla: 0163: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/cmd.pla: 0164: INX - INX -; vmsrc/apple/cmd.pla: 0165: INX - INX -; vmsrc/apple/cmd.pla: 0166: INX - INX -; vmsrc/apple/cmd.pla: 0167: INX - INX -; vmsrc/apple/cmd.pla: 0168: STX ESP - STX ESP -; vmsrc/apple/cmd.pla: 0169: TAX - TAX -; vmsrc/apple/cmd.pla: 0170: PLA - PLA -; vmsrc/apple/cmd.pla: 0171: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmd.pla: 0172: PLP - PLP -; vmsrc/apple/cmd.pla: 0173: JSR JMPTMP - JSR JMPTMP -; vmsrc/apple/cmd.pla: 0174: PHP - PHP -; vmsrc/apple/cmd.pla: 0175: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmd.pla: 0176: STA REGVALS+0 - STA REGVALS+0 -; vmsrc/apple/cmd.pla: 0177: STX REGVALS+1 - STX REGVALS+1 -; vmsrc/apple/cmd.pla: 0178: STY REGVALS+2 - STY REGVALS+2 -; vmsrc/apple/cmd.pla: 0179: PLA - PLA -; vmsrc/apple/cmd.pla: 0180: STA REGVALS+3 - STA REGVALS+3 -; vmsrc/apple/cmd.pla: 0181: LDX ESP - LDX ESP -; vmsrc/apple/cmd.pla: 0182: LDA #REGVALS - LDY #>REGVALS -; vmsrc/apple/cmd.pla: 0184: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0185: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmd.pla: 0186: PLP - PLP -; vmsrc/apple/cmd.pla: 0187: RTS - RTS -; vmsrc/apple/cmd.pla: 0188: end -; vmsrc/apple/cmd.pla: 0189: // -; vmsrc/apple/cmd.pla: 0190: // CALL LOADED SYSTEM PROGRAM -; vmsrc/apple/cmd.pla: 0191: // -; vmsrc/apple/cmd.pla: 0192: asm exec()#0 -_A002 ; exec() -; vmsrc/apple/cmd.pla: 0193: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmd.pla: 0194: JMP $2000 - JMP $2000 -; vmsrc/apple/cmd.pla: 0195: end -; vmsrc/apple/cmd.pla: 0196: // -; vmsrc/apple/cmd.pla: 0197: // SET MEMORY TO VALUE -; vmsrc/apple/cmd.pla: 0198: // MEMSET(ADDR, VALUE, SIZE) -; vmsrc/apple/cmd.pla: 0199: // With optimizations from Peter Ferrie -; vmsrc/apple/cmd.pla: 0200: // -; vmsrc/apple/cmd.pla: 0201: asm memset(addr,value,size)#0 -_P016 ; memset(addr,value,size)#0() -_A003 ; memset() -; vmsrc/apple/cmd.pla: 0202: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/cmd.pla: 0203: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0204: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/cmd.pla: 0205: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0206: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/cmd.pla: 0207: BEQ + - BEQ + -; vmsrc/apple/cmd.pla: 0208: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/cmd.pla: 0209: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0210: + LDA ESTKH,X -+ LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0211: BEQ SETMEX - BEQ SETMEX -; vmsrc/apple/cmd.pla: 0212: SETMLPL CLC -SETMLPL CLC -; vmsrc/apple/cmd.pla: 0213: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0214: SETMLPH STA (DST),Y -SETMLPH STA (DST),Y -; vmsrc/apple/cmd.pla: 0215: DEC ESTKL,X - DEC ESTKL,X -; vmsrc/apple/cmd.pla: 0216: BEQ ++ - BEQ ++ -; vmsrc/apple/cmd.pla: 0217: - INY -- INY -; vmsrc/apple/cmd.pla: 0218: BEQ + - BEQ + -; vmsrc/apple/cmd.pla: 0219: -- BCS SETMLPL --- BCS SETMLPL -; vmsrc/apple/cmd.pla: 0220: SEC - SEC -; vmsrc/apple/cmd.pla: 0221: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0222: BCS SETMLPH - BCS SETMLPH -; vmsrc/apple/cmd.pla: 0223: + INC DSTH -+ INC DSTH -; vmsrc/apple/cmd.pla: 0224: BNE -- - BNE -- -; vmsrc/apple/cmd.pla: 0225: ++ DEC ESTKH,X -++ DEC ESTKH,X -; vmsrc/apple/cmd.pla: 0226: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0227: SETMEX INX -SETMEX INX -; vmsrc/apple/cmd.pla: 0228: INX - INX -; vmsrc/apple/cmd.pla: 0229: INX - INX -; vmsrc/apple/cmd.pla: 0230: RTS - RTS -; vmsrc/apple/cmd.pla: 0231: end -; vmsrc/apple/cmd.pla: 0232: // -; vmsrc/apple/cmd.pla: 0233: // COPY MEMORY -; vmsrc/apple/cmd.pla: 0234: // MEMCPY(DSTADDR, SRCADDR, SIZE) -; vmsrc/apple/cmd.pla: 0235: // -; vmsrc/apple/cmd.pla: 0236: asm memcpy(dst,src,size)#0 -_P017 ; memcpy(dst,src,size)#0() -_A004 ; memcpy() -; vmsrc/apple/cmd.pla: 0237: INX - INX -; vmsrc/apple/cmd.pla: 0238: INX - INX -; vmsrc/apple/cmd.pla: 0239: INX - INX -; vmsrc/apple/cmd.pla: 0240: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmd.pla: 0241: ORA ESTKH-3,X - ORA ESTKH-3,X -; vmsrc/apple/cmd.pla: 0242: BEQ CPYMEX - BEQ CPYMEX -; vmsrc/apple/cmd.pla: 0243: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/cmd.pla: 0244: CMP ESTKL-1,X - CMP ESTKL-1,X -; vmsrc/apple/cmd.pla: 0245: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/cmd.pla: 0246: SBC ESTKH-1,X - SBC ESTKH-1,X -; vmsrc/apple/cmd.pla: 0247: BCC REVCPY - BCC REVCPY -; vmsrc/apple/cmd.pla: 0248: ; -; vmsrc/apple/cmd.pla: 0249: ; FORWARD COPY -; FORWARD COPY -; vmsrc/apple/cmd.pla: 0250: ; -; vmsrc/apple/cmd.pla: 0251: LDA ESTKL-1,X - LDA ESTKL-1,X -; vmsrc/apple/cmd.pla: 0252: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0253: LDA ESTKH-1,X - LDA ESTKH-1,X -; vmsrc/apple/cmd.pla: 0254: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0255: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/cmd.pla: 0256: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0257: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/cmd.pla: 0258: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0259: LDY ESTKL-3,X - LDY ESTKL-3,X -; vmsrc/apple/cmd.pla: 0260: BEQ FORCPYLP - BEQ FORCPYLP -; vmsrc/apple/cmd.pla: 0261: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/cmd.pla: 0262: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0263: FORCPYLP LDA (SRC),Y -FORCPYLP LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0264: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmd.pla: 0265: INY - INY -; vmsrc/apple/cmd.pla: 0266: BNE + - BNE + -; vmsrc/apple/cmd.pla: 0267: INC DSTH - INC DSTH -; vmsrc/apple/cmd.pla: 0268: INC SRCH - INC SRCH -; vmsrc/apple/cmd.pla: 0269: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/cmd.pla: 0270: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/cmd.pla: 0271: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/cmd.pla: 0272: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/cmd.pla: 0273: RTS - RTS -; vmsrc/apple/cmd.pla: 0274: ; -; vmsrc/apple/cmd.pla: 0275: ; REVERSE COPY -; REVERSE COPY -; vmsrc/apple/cmd.pla: 0276: ; -; vmsrc/apple/cmd.pla: 0277: REVCPY ;CLC -REVCPY ;CLC -; vmsrc/apple/cmd.pla: 0278: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmd.pla: 0279: ADC ESTKL-1,X - ADC ESTKL-1,X -; vmsrc/apple/cmd.pla: 0280: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0281: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/cmd.pla: 0282: ADC ESTKH-1,X - ADC ESTKH-1,X -; vmsrc/apple/cmd.pla: 0283: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0284: CLC - CLC -; vmsrc/apple/cmd.pla: 0285: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmd.pla: 0286: ADC ESTKL-2,X - ADC ESTKL-2,X -; vmsrc/apple/cmd.pla: 0287: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0288: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/cmd.pla: 0289: ADC ESTKH-2,X - ADC ESTKH-2,X -; vmsrc/apple/cmd.pla: 0290: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0291: DEC DSTH - DEC DSTH -; vmsrc/apple/cmd.pla: 0292: DEC SRCH - DEC SRCH -; vmsrc/apple/cmd.pla: 0293: LDY #$FF - LDY #$FF -; vmsrc/apple/cmd.pla: 0294: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmd.pla: 0295: BEQ REVCPYLP - BEQ REVCPYLP -; vmsrc/apple/cmd.pla: 0296: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/cmd.pla: 0297: REVCPYLP LDA (SRC),Y -REVCPYLP LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0298: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmd.pla: 0299: DEY - DEY -; vmsrc/apple/cmd.pla: 0300: CPY #$FF - CPY #$FF -; vmsrc/apple/cmd.pla: 0301: BNE + - BNE + -; vmsrc/apple/cmd.pla: 0302: DEC DSTH - DEC DSTH -; vmsrc/apple/cmd.pla: 0303: DEC SRCH - DEC SRCH -; vmsrc/apple/cmd.pla: 0304: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/cmd.pla: 0305: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/cmd.pla: 0306: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/cmd.pla: 0307: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/cmd.pla: 0308: CPYMEX RTS -CPYMEX RTS -; vmsrc/apple/cmd.pla: 0309: end -; vmsrc/apple/cmd.pla: 0310: asm crout()#0 -_P002 ; crout()#0() -_A005 ; crout() -; vmsrc/apple/cmd.pla: 0311: LDA #$8D - LDA #$8D -; vmsrc/apple/cmd.pla: 0312: BNE ++ - BNE ++ -; vmsrc/apple/cmd.pla: 0313: end -; vmsrc/apple/cmd.pla: 0314: // -; vmsrc/apple/cmd.pla: 0315: // CHAR OUT -; vmsrc/apple/cmd.pla: 0316: // COUT(CHAR) -; vmsrc/apple/cmd.pla: 0317: // -; vmsrc/apple/cmd.pla: 0318: asm cout(c)#0 -_P003 ; cout(c)#0() -_A006 ; cout() -; vmsrc/apple/cmd.pla: 0319: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0320: BIT $BF98 - BIT $BF98 -; vmsrc/apple/cmd.pla: 0321: BMI + - BMI + -; vmsrc/apple/cmd.pla: 0322: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmd.pla: 0323: + ORA #$80 -+ ORA #$80 -; vmsrc/apple/cmd.pla: 0324: INX - INX -; vmsrc/apple/cmd.pla: 0325: ++ BIT ROMEN -++ BIT ROMEN -; vmsrc/apple/cmd.pla: 0326: JSR $FDED - JSR $FDED -; vmsrc/apple/cmd.pla: 0327: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmd.pla: 0328: RTS - RTS -; vmsrc/apple/cmd.pla: 0329: end -; vmsrc/apple/cmd.pla: 0330: // -; vmsrc/apple/cmd.pla: 0331: // CHAR IN -; vmsrc/apple/cmd.pla: 0332: // RDKEY() -; vmsrc/apple/cmd.pla: 0333: // -; vmsrc/apple/cmd.pla: 0334: asm cin()#1 -_P008 ; cin()#1() -_A007 ; cin() -; vmsrc/apple/cmd.pla: 0335: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmd.pla: 0336: JSR $FD0C - JSR $FD0C -; vmsrc/apple/cmd.pla: 0337: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmd.pla: 0338: DEX - DEX -; vmsrc/apple/cmd.pla: 0339: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0340: AND #$7F - AND #$7F -; vmsrc/apple/cmd.pla: 0341: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0342: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmd.pla: 0343: RTS - RTS -; vmsrc/apple/cmd.pla: 0344: end -; vmsrc/apple/cmd.pla: 0345: // -; vmsrc/apple/cmd.pla: 0346: // PRINT STRING -; vmsrc/apple/cmd.pla: 0347: // PRSTR(STR) -; vmsrc/apple/cmd.pla: 0348: // -; vmsrc/apple/cmd.pla: 0349: asm prstr(s)#0 -_P004 ; prstr(s)#0() -_A008 ; prstr() -; vmsrc/apple/cmd.pla: 0350: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0351: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0352: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0353: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0354: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0355: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0356: BEQ ++ - BEQ ++ -; vmsrc/apple/cmd.pla: 0357: STA TMP - STA TMP -; vmsrc/apple/cmd.pla: 0358: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmd.pla: 0359: - INY -- INY -; vmsrc/apple/cmd.pla: 0360: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0361: BIT $BF98 - BIT $BF98 -; vmsrc/apple/cmd.pla: 0362: BMI + - BMI + -; vmsrc/apple/cmd.pla: 0363: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmd.pla: 0364: + ORA #$80 -+ ORA #$80 -; vmsrc/apple/cmd.pla: 0365: JSR $FDED - JSR $FDED -; vmsrc/apple/cmd.pla: 0366: CPY TMP - CPY TMP -; vmsrc/apple/cmd.pla: 0367: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0368: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmd.pla: 0369: ++ INX -++ INX -; vmsrc/apple/cmd.pla: 0370: RTS - RTS -; vmsrc/apple/cmd.pla: 0371: end -; vmsrc/apple/cmd.pla: 0372: // -; vmsrc/apple/cmd.pla: 0373: // PRINT WORD -; vmsrc/apple/cmd.pla: 0374: // -; vmsrc/apple/cmd.pla: 0375: asm prword(w)#0 -_P006 ; prword(w)#0() -_A009 ; prword() -; vmsrc/apple/cmd.pla: 0376: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0377: JSR + - JSR + -; vmsrc/apple/cmd.pla: 0378: DEX - DEX -; vmsrc/apple/cmd.pla: 0379: ; FALL THROUGH TO PRBYTE - ; FALL THROUGH TO PRBYTE -; vmsrc/apple/cmd.pla: 0380: end -; vmsrc/apple/cmd.pla: 0381: // -; vmsrc/apple/cmd.pla: 0382: // PRINT BYTE -; vmsrc/apple/cmd.pla: 0383: // -; vmsrc/apple/cmd.pla: 0384: asm prbyte(b)#0 -_P005 ; prbyte(b)#0() -_A010 ; prbyte() -; vmsrc/apple/cmd.pla: 0385: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0386: + STX ESP -+ STX ESP -; vmsrc/apple/cmd.pla: 0387: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmd.pla: 0388: JSR $FDDA - JSR $FDDA -; vmsrc/apple/cmd.pla: 0389: LDX ESP - LDX ESP -; vmsrc/apple/cmd.pla: 0390: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmd.pla: 0391: INX - INX -; vmsrc/apple/cmd.pla: 0392: RTS - RTS -; vmsrc/apple/cmd.pla: 0393: end -; vmsrc/apple/cmd.pla: 0394: // -; vmsrc/apple/cmd.pla: 0395: // READ STRING -; vmsrc/apple/cmd.pla: 0396: // STR = RDSTR(PROMPTCHAR) -; vmsrc/apple/cmd.pla: 0397: // -; vmsrc/apple/cmd.pla: 0398: asm rdstr(p)#1 -_P009 ; rdstr(p)#1() -_A011 ; rdstr() -; vmsrc/apple/cmd.pla: 0399: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0400: STA $33 - STA $33 -; vmsrc/apple/cmd.pla: 0401: STX ESP - STX ESP -; vmsrc/apple/cmd.pla: 0402: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmd.pla: 0403: JSR $FD6A - JSR $FD6A -; vmsrc/apple/cmd.pla: 0404: STX $01FF - STX $01FF -; vmsrc/apple/cmd.pla: 0405: - LDA $01FF,X -- LDA $01FF,X -; vmsrc/apple/cmd.pla: 0406: AND #$7F - AND #$7F -; vmsrc/apple/cmd.pla: 0407: STA $01FF,X - STA $01FF,X -; vmsrc/apple/cmd.pla: 0408: DEX - DEX -; vmsrc/apple/cmd.pla: 0409: BPL - - BPL - -; vmsrc/apple/cmd.pla: 0410: TXA - TXA -; vmsrc/apple/cmd.pla: 0411: LDX ESP - LDX ESP -; vmsrc/apple/cmd.pla: 0412: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0413: LDA #$01 - LDA #$01 -; vmsrc/apple/cmd.pla: 0414: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmd.pla: 0415: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmd.pla: 0416: RTS - RTS -; vmsrc/apple/cmd.pla: 0417: end -; vmsrc/apple/cmd.pla: 0418: asm uword_isge(a,b)#1 -_P021 ; uword_isge(a,b)#1() -_A012 ; uword_isge() -; vmsrc/apple/cmd.pla: 0419: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0420: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/cmd.pla: 0421: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0422: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/cmd.pla: 0423: LDA #$FF - LDA #$FF -; vmsrc/apple/cmd.pla: 0424: ADC #$00 - ADC #$00 -; vmsrc/apple/cmd.pla: 0425: EOR #$FF - EOR #$FF -; vmsrc/apple/cmd.pla: 0426: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0427: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0428: INX - INX -; vmsrc/apple/cmd.pla: 0429: RTS - RTS -; vmsrc/apple/cmd.pla: 0430: end -; vmsrc/apple/cmd.pla: 0431: asm uword_isle(a,b)#1 -_P023 ; uword_isle(a,b)#1() -_A013 ; uword_isle() -; vmsrc/apple/cmd.pla: 0432: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0433: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/cmd.pla: 0434: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0435: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/cmd.pla: 0436: LDA #$FF - LDA #$FF -; vmsrc/apple/cmd.pla: 0437: ADC #$00 - ADC #$00 -; vmsrc/apple/cmd.pla: 0438: EOR #$FF - EOR #$FF -; vmsrc/apple/cmd.pla: 0439: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0440: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0441: INX - INX -; vmsrc/apple/cmd.pla: 0442: RTS - RTS -; vmsrc/apple/cmd.pla: 0443: end -; vmsrc/apple/cmd.pla: 0444: asm uword_isgt(a,b)#1 -_P020 ; uword_isgt(a,b)#1() -_A014 ; uword_isgt() -; vmsrc/apple/cmd.pla: 0445: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0446: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/cmd.pla: 0447: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0448: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/cmd.pla: 0449: LDA #$FF - LDA #$FF -; vmsrc/apple/cmd.pla: 0450: ADC #$00 - ADC #$00 -; 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_islt(a,b)#1 -_P022 ; uword_islt(a,b)#1() -_A015 ; uword_islt() -; vmsrc/apple/cmd.pla: 0457: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0458: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/cmd.pla: 0459: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0460: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/cmd.pla: 0461: LDA #$FF - LDA #$FF -; vmsrc/apple/cmd.pla: 0462: ADC #$00 - ADC #$00 -; vmsrc/apple/cmd.pla: 0463: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0464: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0465: INX - INX -; vmsrc/apple/cmd.pla: 0466: RTS - RTS -; vmsrc/apple/cmd.pla: 0467: end -; vmsrc/apple/cmd.pla: 0468: asm divmod(a,b)#2 -_P025 ; divmod(a,b)#2() -_A016 ; divmod() -; vmsrc/apple/cmd.pla: 0469: JSR INTERP ; CALL INTERP - JSR INTERP ; CALL INTERP -; vmsrc/apple/cmd.pla: 0470: !BYTE $36, $5C ; DIVMOD, RET - !BYTE $36, $5C ; DIVMOD, RET -; vmsrc/apple/cmd.pla: 0471: end -; vmsrc/apple/cmd.pla: 0472: asm sext(a)#1 -_P024 ; sext(a)#1() -_A017 ; sext() -; vmsrc/apple/cmd.pla: 0473: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0474: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0475: BPL + - BPL + -; vmsrc/apple/cmd.pla: 0476: DEY - DEY -; vmsrc/apple/cmd.pla: 0477: + STY ESTKH,X -+ STY ESTKH,X -; vmsrc/apple/cmd.pla: 0478: RTS - RTS -; vmsrc/apple/cmd.pla: 0479: end -; vmsrc/apple/cmd.pla: 0480: // -; vmsrc/apple/cmd.pla: 0481: // Utility routines. -; vmsrc/apple/cmd.pla: 0482: // -; vmsrc/apple/cmd.pla: 0483: // A DCI string is one that has the high bit set for every character except the last. -; vmsrc/apple/cmd.pla: 0484: // More efficient than C or Pascal strings. -; vmsrc/apple/cmd.pla: 0485: // -; vmsrc/apple/cmd.pla: 0486: //def dcitos(dci, str) -; vmsrc/apple/cmd.pla: 0487: // byte len, c -; vmsrc/apple/cmd.pla: 0488: // len = 0 -; vmsrc/apple/cmd.pla: 0489: // repeat -; vmsrc/apple/cmd.pla: 0490: // c = (dci).[len] -; vmsrc/apple/cmd.pla: 0491: // len = len + 1 -; vmsrc/apple/cmd.pla: 0492: // (str).[len] = c & $7F -; vmsrc/apple/cmd.pla: 0493: // until !(c & $80) -; vmsrc/apple/cmd.pla: 0494: // ^str = len -; vmsrc/apple/cmd.pla: 0495: // return len -; vmsrc/apple/cmd.pla: 0496: //end -; vmsrc/apple/cmd.pla: 0497: asm dcitos(dci, str)#1 -_A018 ; dcitos() -; vmsrc/apple/cmd.pla: 0498: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0499: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0500: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0501: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0502: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0503: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0504: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0505: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0506: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0507: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0508: CMP #$80 - CMP #$80 -; vmsrc/apple/cmd.pla: 0509: AND #$7F - AND #$7F -; vmsrc/apple/cmd.pla: 0510: INY - INY -; vmsrc/apple/cmd.pla: 0511: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmd.pla: 0512: BCS - - BCS - -; vmsrc/apple/cmd.pla: 0513: TYA - TYA -; vmsrc/apple/cmd.pla: 0514: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0515: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmd.pla: 0516: INX - INX -; vmsrc/apple/cmd.pla: 0517: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0518: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmd.pla: 0519: RTS - RTS -; vmsrc/apple/cmd.pla: 0520: end -; vmsrc/apple/cmd.pla: 0521: //def stodci(str, dci) -; vmsrc/apple/cmd.pla: 0522: // byte len, c -; vmsrc/apple/cmd.pla: 0523: // len = ^str -; vmsrc/apple/cmd.pla: 0524: // if len == 0 -; vmsrc/apple/cmd.pla: 0525: // return -; vmsrc/apple/cmd.pla: 0526: // fin -; vmsrc/apple/cmd.pla: 0527: // c = toupper((str).[len]) & $7F -; vmsrc/apple/cmd.pla: 0528: // len = len - 1 -; vmsrc/apple/cmd.pla: 0529: // (dci).[len] = c -; vmsrc/apple/cmd.pla: 0530: // while len -; vmsrc/apple/cmd.pla: 0531: // c = toupper((str).[len]) | $80 -; vmsrc/apple/cmd.pla: 0532: // len = len - 1 -; vmsrc/apple/cmd.pla: 0533: // (dci).[len] = c -; vmsrc/apple/cmd.pla: 0534: // loop -; vmsrc/apple/cmd.pla: 0535: // return ^str -; vmsrc/apple/cmd.pla: 0536: //end -; vmsrc/apple/cmd.pla: 0537: asm stodci(str,dci)#1 -_A019 ; stodci() -; vmsrc/apple/cmd.pla: 0538: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0539: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0540: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0541: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0542: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0543: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0544: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0545: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0546: INX - INX -; vmsrc/apple/cmd.pla: 0547: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0548: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0549: BEQ ++ - BEQ ++ -; vmsrc/apple/cmd.pla: 0550: TAY - TAY -; vmsrc/apple/cmd.pla: 0551: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0552: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmd.pla: 0553: BNE + - BNE + -; vmsrc/apple/cmd.pla: 0554: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0555: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmd.pla: 0556: ORA #$80 - ORA #$80 -; vmsrc/apple/cmd.pla: 0557: + DEY -+ DEY -; vmsrc/apple/cmd.pla: 0558: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmd.pla: 0559: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0560: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0561: ++ STA ESTKL,X -++ STA ESTKL,X -; vmsrc/apple/cmd.pla: 0562: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmd.pla: 0563: RTS - RTS -; vmsrc/apple/cmd.pla: 0564: end -; vmsrc/apple/cmd.pla: 0565: asm toupper(c)#1 -_P010 ; toupper(c)#1() -_A020 ; toupper() -; vmsrc/apple/cmd.pla: 0566: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0567: TOUPR AND #$7F -TOUPR AND #$7F -; vmsrc/apple/cmd.pla: 0568: CMP #'a' - CMP #'a' -; vmsrc/apple/cmd.pla: 0569: BCC + - BCC + -; vmsrc/apple/cmd.pla: 0570: CMP #'z'+1 - CMP #'z'+1 -; vmsrc/apple/cmd.pla: 0571: BCS + - BCS + -; vmsrc/apple/cmd.pla: 0572: SBC #$1F - SBC #$1F -; vmsrc/apple/cmd.pla: 0573: + STA ESTKL,X -+ STA ESTKL,X -; vmsrc/apple/cmd.pla: 0574: RTS - RTS -; vmsrc/apple/cmd.pla: 0575: end -; vmsrc/apple/cmd.pla: 0576: // -; vmsrc/apple/cmd.pla: 0577: // Lookup routines. -; vmsrc/apple/cmd.pla: 0578: // -; vmsrc/apple/cmd.pla: 0579: //def lookuptbl(dci, tbl) -; vmsrc/apple/cmd.pla: 0580: // word match -; vmsrc/apple/cmd.pla: 0581: // while ^tbl -; vmsrc/apple/cmd.pla: 0582: // match = dci -; vmsrc/apple/cmd.pla: 0583: // while ^tbl == ^match -; vmsrc/apple/cmd.pla: 0584: // if !(^tbl & $80) -; vmsrc/apple/cmd.pla: 0585: // return (tbl):1 -; vmsrc/apple/cmd.pla: 0586: // fin -; vmsrc/apple/cmd.pla: 0587: // tbl = tbl + 1 -; vmsrc/apple/cmd.pla: 0588: // match = match + 1 -; vmsrc/apple/cmd.pla: 0589: // loop -; vmsrc/apple/cmd.pla: 0590: // while (^tbl & $80) -; vmsrc/apple/cmd.pla: 0591: // tbl = tbl + 1 -; vmsrc/apple/cmd.pla: 0592: // loop -; vmsrc/apple/cmd.pla: 0593: // tbl = tbl + 3 -; vmsrc/apple/cmd.pla: 0594: // loop -; vmsrc/apple/cmd.pla: 0595: // return 0 -; vmsrc/apple/cmd.pla: 0596: asm lookuptbl(dci, tbl)#1 -_A021 ; lookuptbl() -; vmsrc/apple/cmd.pla: 0597: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0598: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0599: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0600: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0601: INX - INX -; vmsrc/apple/cmd.pla: 0602: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0603: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0604: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0605: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0606: -- LDY #$00 --- LDY #$00 -; vmsrc/apple/cmd.pla: 0607: - LDA (DST),Y -- LDA (DST),Y -; vmsrc/apple/cmd.pla: 0608: BEQ + - BEQ + -; vmsrc/apple/cmd.pla: 0609: CMP (SRC),Y - CMP (SRC),Y -; vmsrc/apple/cmd.pla: 0610: BNE ++ - BNE ++ -; vmsrc/apple/cmd.pla: 0611: INY - INY -; vmsrc/apple/cmd.pla: 0612: ASL - ASL -; vmsrc/apple/cmd.pla: 0613: BCS - - BCS - -; vmsrc/apple/cmd.pla: 0614: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmd.pla: 0615: STA ESTKL,X ; MATCH - STA ESTKL,X ; MATCH -; vmsrc/apple/cmd.pla: 0616: INY - INY -; vmsrc/apple/cmd.pla: 0617: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmd.pla: 0618: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmd.pla: 0619: RTS - RTS -; vmsrc/apple/cmd.pla: 0620: + STA ESTKL,X ; NO MATCH -+ STA ESTKL,X ; NO MATCH -; vmsrc/apple/cmd.pla: 0621: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmd.pla: 0622: RTS - RTS -; vmsrc/apple/cmd.pla: 0623: ++ -++ -; vmsrc/apple/cmd.pla: 0624: - LDA (DST),Y ; NEXT ENTRY -- LDA (DST),Y ; NEXT ENTRY -; vmsrc/apple/cmd.pla: 0625: BPL + - BPL + -; vmsrc/apple/cmd.pla: 0626: INY - INY -; vmsrc/apple/cmd.pla: 0627: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0628: + TYA -+ TYA -; vmsrc/apple/cmd.pla: 0629: CLC - CLC -; vmsrc/apple/cmd.pla: 0630: ADC #$03 - ADC #$03 -; vmsrc/apple/cmd.pla: 0631: ADC DSTL - ADC DSTL -; vmsrc/apple/cmd.pla: 0632: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0633: BCC -- - BCC -- -; vmsrc/apple/cmd.pla: 0634: INC DSTH - INC DSTH -; vmsrc/apple/cmd.pla: 0635: BNE -- - BNE -- -; vmsrc/apple/cmd.pla: 0636: end -; vmsrc/apple/cmd.pla: 0637: // def lookupidx(esd, index) -; vmsrc/apple/cmd.pla: 0638: // word sym -; vmsrc/apple/cmd.pla: 0639: // while ^esd -; vmsrc/apple/cmd.pla: 0640: // sym = esd -; vmsrc/apple/cmd.pla: 0641: // esd = sym + dcitos(sym, @str) -; vmsrc/apple/cmd.pla: 0642: // if esd->0 & $10 and esd->1 == index -; vmsrc/apple/cmd.pla: 0643: // return sym -; vmsrc/apple/cmd.pla: 0644: // fin -; vmsrc/apple/cmd.pla: 0645: // esd = esd + 3 -; vmsrc/apple/cmd.pla: 0646: // loop -; vmsrc/apple/cmd.pla: 0647: //end -; vmsrc/apple/cmd.pla: 0648: asm lookupidx(esd, index)#1 -_A022 ; lookupidx() -; vmsrc/apple/cmd.pla: 0649: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0650: STA TMPL - STA TMPL -; vmsrc/apple/cmd.pla: 0651: INX - INX -; vmsrc/apple/cmd.pla: 0652: --- LDA ESTKH,X ---- LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0653: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0654: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0655: -- STA SRCL --- STA SRCL -; vmsrc/apple/cmd.pla: 0656: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0657: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0658: BPL + - BPL + -; vmsrc/apple/cmd.pla: 0659: INY - INY -; vmsrc/apple/cmd.pla: 0660: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0661: + BEQ ++ ; END OF ESD -+ BEQ ++ ; END OF ESD -; vmsrc/apple/cmd.pla: 0662: INY - INY -; vmsrc/apple/cmd.pla: 0663: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0664: INY - INY -; vmsrc/apple/cmd.pla: 0665: AND #$10 ; EXTERN FLAG? - AND #$10 ; EXTERN FLAG? -; vmsrc/apple/cmd.pla: 0666: BEQ + - BEQ + -; vmsrc/apple/cmd.pla: 0667: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0668: CMP TMPL - CMP TMPL -; vmsrc/apple/cmd.pla: 0669: BEQ +++ ; MATCH - BEQ +++ ; MATCH -; vmsrc/apple/cmd.pla: 0670: + INY -+ INY -; vmsrc/apple/cmd.pla: 0671: TYA - TYA -; vmsrc/apple/cmd.pla: 0672: SEC - SEC -; vmsrc/apple/cmd.pla: 0673: ADC SRCL - ADC SRCL -; vmsrc/apple/cmd.pla: 0674: STA ESTKL,X ; SYM PTRL - STA ESTKL,X ; SYM PTRL -; vmsrc/apple/cmd.pla: 0675: BCC -- - BCC -- -; vmsrc/apple/cmd.pla: 0676: INC ESTKH,X ; SYM PTRH - INC ESTKH,X ; SYM PTRH -; vmsrc/apple/cmd.pla: 0677: BNE --- - BNE --- -; vmsrc/apple/cmd.pla: 0678: ++ STA ESTKL,X ; END OF ESD -++ STA ESTKL,X ; END OF ESD -; vmsrc/apple/cmd.pla: 0679: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmd.pla: 0680: +++ RTS -+++ RTS -; vmsrc/apple/cmd.pla: 0681: end -; vmsrc/apple/cmd.pla: 0682: //def lookupdef(addr, deftbl)#1 -; vmsrc/apple/cmd.pla: 0683: // while deftbl->0 == $20 -; vmsrc/apple/cmd.pla: 0684: // if deftbl=>3 == addr -; vmsrc/apple/cmd.pla: 0685: // return deftbl -; vmsrc/apple/cmd.pla: 0686: // fin -; vmsrc/apple/cmd.pla: 0687: // deftbl = deftbl + 5 -; vmsrc/apple/cmd.pla: 0688: // loop -; vmsrc/apple/cmd.pla: 0689: // return 0 -; vmsrc/apple/cmd.pla: 0690: //end -; vmsrc/apple/cmd.pla: 0691: asm lookupdef(addr, deftbl)#1 -_A023 ; lookupdef() -; vmsrc/apple/cmd.pla: 0692: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0693: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0694: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0695: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0696: INX - INX -; vmsrc/apple/cmd.pla: 0697: - LDY #$00 -- LDY #$00 -; vmsrc/apple/cmd.pla: 0698: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0699: CMP #$20 ; JSR OPCODE? - CMP #$20 ; JSR OPCODE? -; vmsrc/apple/cmd.pla: 0700: BNE ++ - BNE ++ -; vmsrc/apple/cmd.pla: 0701: LDY #$03 - LDY #$03 -; vmsrc/apple/cmd.pla: 0702: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0703: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/cmd.pla: 0704: BNE + - BNE + -; vmsrc/apple/cmd.pla: 0705: INY - INY -; vmsrc/apple/cmd.pla: 0706: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0707: CMP ESTKH,X - CMP ESTKH,X -; vmsrc/apple/cmd.pla: 0708: BNE + - BNE + -; vmsrc/apple/cmd.pla: 0709: LDA SRCL ; MATCH - LDA SRCL ; MATCH -; vmsrc/apple/cmd.pla: 0710: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0711: LDA SRCH - LDA SRCH -; vmsrc/apple/cmd.pla: 0712: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmd.pla: 0713: RTS - RTS -; vmsrc/apple/cmd.pla: 0714: + LDA #$05 -+ LDA #$05 -; vmsrc/apple/cmd.pla: 0715: CLC - CLC -; vmsrc/apple/cmd.pla: 0716: ADC SRCL - ADC SRCL -; vmsrc/apple/cmd.pla: 0717: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0718: BCC - - BCC - -; vmsrc/apple/cmd.pla: 0719: INC SRCH - INC SRCH -; vmsrc/apple/cmd.pla: 0720: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0721: ++ STY ESTKL,X -++ STY ESTKL,X -; vmsrc/apple/cmd.pla: 0722: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmd.pla: 0723: RTS - RTS -; vmsrc/apple/cmd.pla: 0724: end -; vmsrc/apple/cmd.pla: 0725: // -; vmsrc/apple/cmd.pla: 0726: // Reloc internal data -; vmsrc/apple/cmd.pla: 0727: // -; vmsrc/apple/cmd.pla: 0728: //def reloc(modfix, modofst, bytecode, rld)#3 -; vmsrc/apple/cmd.pla: 0729: // word addr, fixup -; vmsrc/apple/cmd.pla: 0730: // while ^rld -; vmsrc/apple/cmd.pla: 0731: // if ^rld & $10 // EXTERN reference. -; vmsrc/apple/cmd.pla: 0732: // return rld, addr, fixup -; vmsrc/apple/cmd.pla: 0733: // fin -; vmsrc/apple/cmd.pla: 0734: // addr = rld=>1 + modfix -; vmsrc/apple/cmd.pla: 0735: // fixup = *addr + modofst -; vmsrc/apple/cmd.pla: 0736: // if uword_isge(fixup, bytecode) // Bytecode address. -; vmsrc/apple/cmd.pla: 0737: // return rld, addr, fixup -; vmsrc/apple/cmd.pla: 0738: // fin -; vmsrc/apple/cmd.pla: 0739: // *addr = fixup -; vmsrc/apple/cmd.pla: 0740: // rld = rld + 4 -; vmsrc/apple/cmd.pla: 0741: // loop -; vmsrc/apple/cmd.pla: 0742: // return rld, addr, fixup -; vmsrc/apple/cmd.pla: 0743: //end -; vmsrc/apple/cmd.pla: 0744: asm reloc(modfix, modofst, bytecode, rld)#3 -_A024 ; reloc() -; vmsrc/apple/cmd.pla: 0745: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0746: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0747: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0748: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0749: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0750: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0751: BEQ RLDEX ; END OF RLD - BEQ RLDEX ; END OF RLD -; vmsrc/apple/cmd.pla: 0752: PHA - PHA -; vmsrc/apple/cmd.pla: 0753: INY - INY -; vmsrc/apple/cmd.pla: 0754: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0755: INY - INY -; vmsrc/apple/cmd.pla: 0756: CLC - CLC -; vmsrc/apple/cmd.pla: 0757: ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX - ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX -; vmsrc/apple/cmd.pla: 0758: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0759: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0760: ADC ESTKH+3,X - ADC ESTKH+3,X -; vmsrc/apple/cmd.pla: 0761: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0762: PLA - PLA -; vmsrc/apple/cmd.pla: 0763: AND #$10 ; EXTERN REF - EXIT - AND #$10 ; EXTERN REF - EXIT -; vmsrc/apple/cmd.pla: 0764: BNE RLDEX - BNE RLDEX -; vmsrc/apple/cmd.pla: 0765: TAY ; FIXUP=*ADDR+MODOFST - TAY ; FIXUP=*ADDR+MODOFST -; vmsrc/apple/cmd.pla: 0766: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmd.pla: 0767: INY - INY -; vmsrc/apple/cmd.pla: 0768: CLC - CLC -; vmsrc/apple/cmd.pla: 0769: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/cmd.pla: 0770: STA TMPL - STA TMPL -; vmsrc/apple/cmd.pla: 0771: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmd.pla: 0772: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/cmd.pla: 0773: CMP ESTKH+1,X ; FIXUP >= BYTECODE? - CMP ESTKH+1,X ; FIXUP >= BYTECODE? -; vmsrc/apple/cmd.pla: 0774: BCC + - BCC + -; vmsrc/apple/cmd.pla: 0775: STA TMPH - STA TMPH -; vmsrc/apple/cmd.pla: 0776: BNE RLDEX ; YEP, EXIT - BNE RLDEX ; YEP, EXIT -; vmsrc/apple/cmd.pla: 0777: LDA TMPL - LDA TMPL -; vmsrc/apple/cmd.pla: 0778: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/cmd.pla: 0779: BCS RLDEX ; YEP, EXIT - BCS RLDEX ; YEP, EXIT -; vmsrc/apple/cmd.pla: 0780: LDA TMPH - LDA TMPH -; vmsrc/apple/cmd.pla: 0781: + STA (DST),Y ; *ADDR=FIXUP -+ STA (DST),Y ; *ADDR=FIXUP -; vmsrc/apple/cmd.pla: 0782: DEY - DEY -; vmsrc/apple/cmd.pla: 0783: LDA TMPL - LDA TMPL -; vmsrc/apple/cmd.pla: 0784: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmd.pla: 0785: LDA SRCL ; NEXT ENTRY - LDA SRCL ; NEXT ENTRY -; vmsrc/apple/cmd.pla: 0786: ; CLC -; CLC -; vmsrc/apple/cmd.pla: 0787: ADC #$04 - ADC #$04 -; vmsrc/apple/cmd.pla: 0788: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0789: BCC - - BCC - -; vmsrc/apple/cmd.pla: 0790: INC SRCH - INC SRCH -; vmsrc/apple/cmd.pla: 0791: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0792: RLDEX INX -RLDEX INX -; vmsrc/apple/cmd.pla: 0793: LDA TMPL - LDA TMPL -; vmsrc/apple/cmd.pla: 0794: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0795: LDA TMPH - LDA TMPH -; vmsrc/apple/cmd.pla: 0796: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmd.pla: 0797: LDA DSTL - LDA DSTL -; vmsrc/apple/cmd.pla: 0798: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0799: LDA DSTH - LDA DSTH -; vmsrc/apple/cmd.pla: 0800: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0801: LDA SRCL - LDA SRCL -; vmsrc/apple/cmd.pla: 0802: STA ESTKL+2,X - STA ESTKL+2,X -; vmsrc/apple/cmd.pla: 0803: LDA SRCH - LDA SRCH -; vmsrc/apple/cmd.pla: 0804: STA ESTKH+2,X - STA ESTKH+2,X -; vmsrc/apple/cmd.pla: 0805: RTS - RTS -; vmsrc/apple/cmd.pla: 0806: end -; vmsrc/apple/cmd.pla: 0807: // -; vmsrc/apple/cmd.pla: 0808: // Cheap and dirty print integer -; vmsrc/apple/cmd.pla: 0809: // -; vmsrc/apple/cmd.pla: 0810: def print(i)#0 - ; i -> [0] -_P007 ; print(i)#0() -_C000 ; print() - JSR INTERP -; vmsrc/apple/cmd.pla: 0811: 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 -_F061 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $76,$00 ; SLW [0] -_B001 -_B002 -; vmsrc/apple/cmd.pla: 0812: 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 -_F062 !WORD _C000 -_B003 -_B004 -; vmsrc/apple/cmd.pla: 0813: cout(i % 10 + '0') -; vmsrc/apple/cmd.pla: 0814: end - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $8A ; MOD - !BYTE $38,$30 ; ADDI 48 - !BYTE $54 ; CALL _A006 -_F063 !WORD _A006 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmd.pla: 0815: // -; vmsrc/apple/cmd.pla: 0816: // ProDOS routines -; vmsrc/apple/cmd.pla: 0817: // -; vmsrc/apple/cmd.pla: 0818: def pfxop(path, op)#1 - ; path -> [0] - ; op -> [2] -_C001 ; pfxop() - JSR INTERP -; vmsrc/apple/cmd.pla: 0819: byte params[3] - ; params -> [4] -; vmsrc/apple/cmd.pla: 0820: -; vmsrc/apple/cmd.pla: 0821: params.0 = 1 - !BYTE $58,$07,$02 ; ENTER 7,2 -; vmsrc/apple/cmd.pla: 0822: params:1 = path -; vmsrc/apple/cmd.pla: 0823: perr = syscall(op, @params) -; vmsrc/apple/cmd.pla: 0824: 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 -_F064 !WORD _A000 - !BYTE $78 ; SAB _D034+0 -_F065 !WORD _D034+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$07 ; LEAVE 7 -; vmsrc/apple/cmd.pla: 0825: end -; vmsrc/apple/cmd.pla: 0826: def open(path)#1 - ; path -> [0] -_P027 ; open(path)#1() -_C002 ; open() - JSR INTERP -; vmsrc/apple/cmd.pla: 0827: byte params[6] - ; params -> [2] -; vmsrc/apple/cmd.pla: 0828: -; vmsrc/apple/cmd.pla: 0829: params.0 = 3 - !BYTE $58,$08,$01 ; ENTER 8,1 -; vmsrc/apple/cmd.pla: 0830: params:1 = path -; vmsrc/apple/cmd.pla: 0831: params:3 = iobuffer -; vmsrc/apple/cmd.pla: 0832: params.5 = 0 -; vmsrc/apple/cmd.pla: 0833: perr = syscall($C8, @params) -; vmsrc/apple/cmd.pla: 0834: 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 -_F066 !WORD _A000 - !BYTE $78 ; SAB _D034+0 -_F067 !WORD _D034+0 - !BYTE $64,$07 ; LLB [7] - !BYTE $5A,$08 ; LEAVE 8 -; vmsrc/apple/cmd.pla: 0835: end -; vmsrc/apple/cmd.pla: 0836: def close(refnum)#1 - ; refnum -> [0] -_P028 ; close(refnum)#1() -_C003 ; close() - JSR INTERP -; vmsrc/apple/cmd.pla: 0837: byte params[2] - ; params -> [2] -; vmsrc/apple/cmd.pla: 0838: -; vmsrc/apple/cmd.pla: 0839: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/cmd.pla: 0840: params.1 = refnum -; vmsrc/apple/cmd.pla: 0841: perr = syscall($CC, @params) -; vmsrc/apple/cmd.pla: 0842: 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 -_F068 !WORD _A000 - !BYTE $7C ; DAB _D034+0 -_F069 !WORD _D034+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmd.pla: 0843: end -; vmsrc/apple/cmd.pla: 0844: 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: 0845: byte params[8] - ; params -> [6] -; vmsrc/apple/cmd.pla: 0846: -; vmsrc/apple/cmd.pla: 0847: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; vmsrc/apple/cmd.pla: 0848: params.1 = refnum -; vmsrc/apple/cmd.pla: 0849: params:2 = buff -; vmsrc/apple/cmd.pla: 0850: params:4 = len -; vmsrc/apple/cmd.pla: 0851: params:6 = 0 -; vmsrc/apple/cmd.pla: 0852: perr = syscall($CA, @params) -; vmsrc/apple/cmd.pla: 0853: 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 -_F070 !WORD _A000 - !BYTE $78 ; SAB _D034+0 -_F071 !WORD _D034+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; vmsrc/apple/cmd.pla: 0854: end -; vmsrc/apple/cmd.pla: 0855: def write(refnum, buf, len)#1 - ; refnum -> [0] - ; buf -> [2] - ; len -> [4] -_P030 ; write(refnum, buf, len)#1() -_C005 ; write() - JSR INTERP -; vmsrc/apple/cmd.pla: 0856: byte params[8] - ; params -> [6] -; vmsrc/apple/cmd.pla: 0857: -; vmsrc/apple/cmd.pla: 0858: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; vmsrc/apple/cmd.pla: 0859: params.1 = refnum -; vmsrc/apple/cmd.pla: 0860: params:2 = buf -; vmsrc/apple/cmd.pla: 0861: params:4 = len -; vmsrc/apple/cmd.pla: 0862: params:6 = 0 -; vmsrc/apple/cmd.pla: 0863: perr = syscall($CB, @params) -; vmsrc/apple/cmd.pla: 0864: 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 _A000 -_F072 !WORD _A000 - !BYTE $78 ; SAB _D034+0 -_F073 !WORD _D034+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; vmsrc/apple/cmd.pla: 0865: end -; vmsrc/apple/cmd.pla: 0866: // -; vmsrc/apple/cmd.pla: 0867: // Heap routines. -; vmsrc/apple/cmd.pla: 0868: // -; vmsrc/apple/cmd.pla: 0869: def availheap()#1 -_P015 ; availheap()#1() -_C006 ; availheap() - JSR INTERP -; vmsrc/apple/cmd.pla: 0870: byte fp - ; fp -> [0] -; vmsrc/apple/cmd.pla: 0871: return @fp - heap - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D071+0 -_F074 !WORD _D071+0 - !BYTE $84 ; SUB - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/cmd.pla: 0872: end -; vmsrc/apple/cmd.pla: 0873: def allocheap(size)#1 - ; size -> [0] -_P012 ; allocheap(size)#1() -_C007 ; allocheap() - JSR INTERP -; vmsrc/apple/cmd.pla: 0874: word oldheap, addr - ; oldheap -> [2] - ; addr -> [4] -; vmsrc/apple/cmd.pla: 0875: oldheap = heap - !BYTE $58,$06,$01 ; ENTER 6,1 -; vmsrc/apple/cmd.pla: 0876: addr = heap -; vmsrc/apple/cmd.pla: 0877: heap = heap + size -; vmsrc/apple/cmd.pla: 0878: if systemflags & reshgr1 -; vmsrc/apple/cmd.pla: 0879: if uword_islt(addr, $4000) and uword_isgt(heap, $2000) -; vmsrc/apple/cmd.pla: 0880: addr = $4000 -; vmsrc/apple/cmd.pla: 0881: heap = addr + size -; vmsrc/apple/cmd.pla: 0882: fin - !BYTE $6A ; LAW _D071+0 -_F075 !WORD _D071+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D071+0 -_F076 !WORD _D071+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D071+0 -_F077 !WORD _D071+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D071+0 -_F078 !WORD _D071+0 - !BYTE $6A ; LAW _D070+0 -_F079 !WORD _D070+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 -_F080 !WORD _A015 - !BYTE $AC ; BRAND _B007 - !WORD _B007-* - !BYTE $6A ; LAW _D071+0 -_F081 !WORD _D071+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _A014 -_F082 !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 _D071+0 -_F083 !WORD _D071+0 -_B008 -_B009 -; vmsrc/apple/cmd.pla: 0883: fin -_B005 -_B006 -; vmsrc/apple/cmd.pla: 0884: if systemflags & reshgr2 -; vmsrc/apple/cmd.pla: 0885: if uword_islt(addr, $6000) and uword_isgt(heap, $4000) -; vmsrc/apple/cmd.pla: 0886: addr = $6000 -; vmsrc/apple/cmd.pla: 0887: heap = addr + size -; vmsrc/apple/cmd.pla: 0888: fin - !BYTE $6A ; LAW _D070+0 -_F084 !WORD _D070+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 -_F085 !WORD _A015 - !BYTE $AC ; BRAND _B012 - !WORD _B012-* - !BYTE $6A ; LAW _D071+0 -_F086 !WORD _D071+0 - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $54 ; CALL _A014 -_F087 !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 _D071+0 -_F088 !WORD _D071+0 -_B013 -_B014 -; vmsrc/apple/cmd.pla: 0889: fin -_B010 -_B011 -; vmsrc/apple/cmd.pla: 0890: if uword_isge(heap, @addr) -; vmsrc/apple/cmd.pla: 0891: heap = oldheap -; vmsrc/apple/cmd.pla: 0892: return 0 - !BYTE $6A ; LAW _D071+0 -_F089 !WORD _D071+0 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _A012 -_F090 !WORD _A012 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D071+0 -_F091 !WORD _D071+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/cmd.pla: 0893: fin -_B015 -_B016 -; vmsrc/apple/cmd.pla: 0894: return addr - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/cmd.pla: 0895: end -; vmsrc/apple/cmd.pla: 0896: def allocalignheap(size, pow2, freeaddr) - ; size -> [0] - ; pow2 -> [2] - ; freeaddr -> [4] -_P013 ; allocalignheap(size, pow2, freeaddr)() -_C008 ; allocalignheap() - JSR INTERP -; vmsrc/apple/cmd.pla: 0897: word align, addr - ; align -> [6] - ; addr -> [8] -; vmsrc/apple/cmd.pla: 0898: if freeaddr - !BYTE $58,$0A,$03 ; ENTER 10,3 -; vmsrc/apple/cmd.pla: 0899: *freeaddr = heap -; vmsrc/apple/cmd.pla: 0900: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $6A ; LAW _D071+0 -_F092 !WORD _D071+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B017 -_B018 -; vmsrc/apple/cmd.pla: 0901: align = (1 << pow2) - 1 -; vmsrc/apple/cmd.pla: 0902: addr = (heap | align) + 1 -; vmsrc/apple/cmd.pla: 0903: heap = addr + size -; vmsrc/apple/cmd.pla: 0904: if uword_isge(heap, @addr) -; vmsrc/apple/cmd.pla: 0905: 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 _D071+0 -_F093 !WORD _D071+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 _D071+0 -_F094 !WORD _D071+0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A012 -_F095 !WORD _A012 - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/cmd.pla: 0906: fin -_B019 -_B020 -; vmsrc/apple/cmd.pla: 0907: return addr - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/cmd.pla: 0908: end -; vmsrc/apple/cmd.pla: 0909: def markheap()#1 -_P011 ; markheap()#1() -_C009 ; markheap() - JSR INTERP -; vmsrc/apple/cmd.pla: 0910: return heap - !BYTE $6A ; LAW _D071+0 -_F096 !WORD _D071+0 - !BYTE $5C ; RET -; vmsrc/apple/cmd.pla: 0911: end -; vmsrc/apple/cmd.pla: 0912: def releaseheap(newheap)#1 - ; newheap -> [0] -_P014 ; releaseheap(newheap)#1() -_C010 ; releaseheap() - JSR INTERP -; vmsrc/apple/cmd.pla: 0913: heap = newheap - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/cmd.pla: 0914: return @newheap - heap - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D071+0 -_F097 !WORD _D071+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D071+0 -_F098 !WORD _D071+0 - !BYTE $84 ; SUB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmd.pla: 0915: end -; vmsrc/apple/cmd.pla: 0916: // -; vmsrc/apple/cmd.pla: 0917: // Symbol table routines. -; vmsrc/apple/cmd.pla: 0918: // -; vmsrc/apple/cmd.pla: 0919: def addsym(sym, addr)#0 - ; sym -> [0] - ; addr -> [2] -_C011 ; addsym() - JSR INTERP -; vmsrc/apple/cmd.pla: 0920: while ^sym & $80 - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B023 - !WORD _B023-* -_B021 -; vmsrc/apple/cmd.pla: 0921: ^lastsym = ^sym -; vmsrc/apple/cmd.pla: 0922: lastsym++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D072+0 -_F099 !WORD _D072+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D072+0 -_F100 !WORD _D072+0 - !BYTE $8C ; INCR -; vmsrc/apple/cmd.pla: 0923: sym++ - !BYTE $7A ; SAW _D072+0 -_F101 !WORD _D072+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; vmsrc/apple/cmd.pla: 0924: 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: 0925: lastsym->0 = ^sym -; vmsrc/apple/cmd.pla: 0926: lastsym=>1 = addr -; vmsrc/apple/cmd.pla: 0927: lastsym = lastsym + 3 -; vmsrc/apple/cmd.pla: 0928: ^lastsym = 0 -; vmsrc/apple/cmd.pla: 0929: end - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D072+0 -_F102 !WORD _D072+0 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D072+0 -_F103 !WORD _D072+0 - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $6A ; LAW _D072+0 -_F104 !WORD _D072+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D072+0 -_F105 !WORD _D072+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D072+0 -_F106 !WORD _D072+0 - !BYTE $70 ; SB - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmd.pla: 0930: // -; vmsrc/apple/cmd.pla: 0931: // String routines. -; vmsrc/apple/cmd.pla: 0932: // -; vmsrc/apple/cmd.pla: 0933: def strcpy(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P018 ; strcpy(dst, src)#1() -_C012 ; strcpy() - JSR INTERP -; vmsrc/apple/cmd.pla: 0934: memcpy(dst+1, src+1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/cmd.pla: 0935: ^dst = ^src -; vmsrc/apple/cmd.pla: 0936: 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 -_F107 !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: 0937: end -; vmsrc/apple/cmd.pla: 0938: def strcat(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P019 ; strcat(dst, src)#1() -_C013 ; strcat() - JSR INTERP -; vmsrc/apple/cmd.pla: 0939: memcpy(dst + ^dst + 1, src + 1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/cmd.pla: 0940: ^dst = ^dst + ^src -; vmsrc/apple/cmd.pla: 0941: 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 -_F108 !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: 0942: end -; vmsrc/apple/cmd.pla: 0943: // -; vmsrc/apple/cmd.pla: 0944: // Module routines. -; vmsrc/apple/cmd.pla: 0945: // -; vmsrc/apple/cmd.pla: 0946: def lookupextern(esd, index)#1 - ; esd -> [0] - ; index -> [2] -_C014 ; lookupextern() - JSR INTERP -; vmsrc/apple/cmd.pla: 0947: word sym, addr - ; sym -> [4] - ; addr -> [6] -; vmsrc/apple/cmd.pla: 0948: byte str[33] - ; str -> [8] -; vmsrc/apple/cmd.pla: 0949: sym = lookupidx(esd, index) - !BYTE $58,$29,$02 ; ENTER 41,2 -; vmsrc/apple/cmd.pla: 0950: if sym -; vmsrc/apple/cmd.pla: 0951: addr = lookuptbl(sym, symtbl) -; vmsrc/apple/cmd.pla: 0952: if !addr -; vmsrc/apple/cmd.pla: 0953: perr = $81 -; vmsrc/apple/cmd.pla: 0954: dcitos(sym, @str) -; vmsrc/apple/cmd.pla: 0955: cout('?'); prstr(@str); crout -; vmsrc/apple/cmd.pla: 0956: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A022 -_F109 !WORD _A022 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$0C ; CW 3072 - !BYTE $54 ; CALL _A021 -_F110 !WORD _A021 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B026 - !WORD _B026-* - !BYTE $2A,$81 ; CB 129 - !BYTE $78 ; SAB _D034+0 -_F111 !WORD _D034+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A018 -_F112 !WORD _A018 - !BYTE $30 ; DROP - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _A006 -_F113 !WORD _A006 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A008 -_F114 !WORD _A008 - !BYTE $54 ; CALL _A005 -_F115 !WORD _A005 -_B026 -_B027 -; vmsrc/apple/cmd.pla: 0957: return addr - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/cmd.pla: 0958: fin -_B024 -_B025 -; vmsrc/apple/cmd.pla: 0959: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/cmd.pla: 0960: end -; vmsrc/apple/cmd.pla: 0961: def adddef(addr, deflast)#1 - ; addr -> [0] - ; deflast -> [2] -_C015 ; adddef() - JSR INTERP -; vmsrc/apple/cmd.pla: 0962: word defentry - ; defentry -> [4] -; vmsrc/apple/cmd.pla: 0963: defentry = *deflast - !BYTE $58,$06,$02 ; ENTER 6,2 -; vmsrc/apple/cmd.pla: 0964: *deflast = defentry + 5 -; vmsrc/apple/cmd.pla: 0965: defentry->0 = $20 -; vmsrc/apple/cmd.pla: 0966: defentry=>1 = $03D6 -; vmsrc/apple/cmd.pla: 0967: defentry=>3 = addr -; vmsrc/apple/cmd.pla: 0968: defentry->5 = 0 // NULL out next entry -; vmsrc/apple/cmd.pla: 0969: 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: 0970: end -; vmsrc/apple/cmd.pla: 0971: def loadmod(mod)#1 - ; mod -> [0] -_C016 ; loadmod() - JSR INTERP -; vmsrc/apple/cmd.pla: 0972: word rdlen, modsize, bytecode, codefix, defofst, defcnt, init, initcode[], fixup - ; rdlen -> [2] - ; modsize -> [4] - ; bytecode -> [6] - ; codefix -> [8] - ; defofst -> [10] - ; defcnt -> [12] - ; init -> [14] - ; initcode -> [16] - ; fixup -> [16] -; vmsrc/apple/cmd.pla: 0973: word addr, defaddr, modaddr, modfix, modofst, modend - ; addr -> [18] - ; defaddr -> [20] - ; modaddr -> [22] - ; modfix -> [24] - ; modofst -> [26] - ; modend -> [28] -; vmsrc/apple/cmd.pla: 0974: word deftbl, deflast - ; deftbl -> [30] - ; deflast -> [32] -; vmsrc/apple/cmd.pla: 0975: word moddep, rld, esd, sym - ; moddep -> [34] - ; rld -> [36] - ; esd -> [38] - ; sym -> [40] -; vmsrc/apple/cmd.pla: 0976: byte refnum, filename[64], str[] - ; refnum -> [42] - ; filename -> [43] - ; str -> [107] -; vmsrc/apple/cmd.pla: 0977: byte header[128] - ; header -> [107] -; vmsrc/apple/cmd.pla: 0978: // -; vmsrc/apple/cmd.pla: 0979: // Read the RELocatable module header (first 128 bytes) -; vmsrc/apple/cmd.pla: 0980: // -; vmsrc/apple/cmd.pla: 0981: dcitos(mod, @filename) - !BYTE $58,$EB,$01 ; ENTER 235,1 -; vmsrc/apple/cmd.pla: 0982: refnum = open(@filename) -; vmsrc/apple/cmd.pla: 0983: if !refnum and filename < 16 -; vmsrc/apple/cmd.pla: 0984: // -; vmsrc/apple/cmd.pla: 0985: // Try system path -; vmsrc/apple/cmd.pla: 0986: // -; vmsrc/apple/cmd.pla: 0987: refnum = open(strcpy(@filename,strcat(strcpy(@header, @sysmods), @filename))) -; vmsrc/apple/cmd.pla: 0988: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$2B ; LLA [43] - !BYTE $54 ; CALL _A018 -_F116 !WORD _A018 - !BYTE $30 ; DROP - !BYTE $28,$2B ; LLA [43] - !BYTE $54 ; CALL _C002 -_F117 !WORD _C002 - !BYTE $6C,$2A ; DLB [42] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B028 - !WORD _B028-* - !BYTE $64,$2B ; LLB [43] - !BYTE $2A,$10 ; CB 16 - !BYTE $46 ; ISLT -_B028 - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $28,$2B ; LLA [43] - !BYTE $28,$6B ; LLA [107] - !BYTE $26 ; LA _D068+0 -_F118 !WORD _D068+0 - !BYTE $54 ; CALL _C012 -_F119 !WORD _C012 - !BYTE $28,$2B ; LLA [43] - !BYTE $54 ; CALL _C013 -_F120 !WORD _C013 - !BYTE $54 ; CALL _C012 -_F121 !WORD _C012 - !BYTE $54 ; CALL _C002 -_F122 !WORD _C002 - !BYTE $74,$2A ; SLB [42] -_B029 -_B030 -; vmsrc/apple/cmd.pla: 0989: if refnum -; vmsrc/apple/cmd.pla: 0990: header.0 = $0A -; vmsrc/apple/cmd.pla: 0991: header:1 = @filename -; vmsrc/apple/cmd.pla: 0992: if not syscall($C4, @header) and header.4 <> $FE // Make sure it's a REL module -; vmsrc/apple/cmd.pla: 0993: close(refnum) -; vmsrc/apple/cmd.pla: 0994: perr = $4A // Incompatible type -; vmsrc/apple/cmd.pla: 0995: return -perr - !BYTE $64,$2A ; LLB [42] - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $14 ; CN 10 - !BYTE $74,$6B ; SLB [107] - !BYTE $28,$2B ; LLA [43] - !BYTE $76,$6C ; SLW [108] - !BYTE $2A,$C4 ; CB 196 - !BYTE $28,$6B ; LLA [107] - !BYTE $54 ; CALL _A000 -_F123 !WORD _A000 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B033 - !WORD _B033-* - !BYTE $64,$6F ; LLB [111] - !BYTE $2A,$FE ; CB 254 - !BYTE $42 ; ISNE -_B033 - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $64,$2A ; LLB [42] - !BYTE $54 ; CALL _C003 -_F124 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $2A,$4A ; CB 74 - !BYTE $7C ; DAB _D034+0 -_F125 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$EB ; LEAVE 235 -; vmsrc/apple/cmd.pla: 0996: fin -_B034 -_B035 -; vmsrc/apple/cmd.pla: 0997: rdlen = read(refnum, @header, 128) -; vmsrc/apple/cmd.pla: 0998: modsize = header:0 -; vmsrc/apple/cmd.pla: 0999: moddep = @header.1 -; vmsrc/apple/cmd.pla: 1000: defofst = modsize + RELADDR -; vmsrc/apple/cmd.pla: 1001: init = 0 -; vmsrc/apple/cmd.pla: 1002: if rdlen > 4 and header:2 == $6502 // magic number -; vmsrc/apple/cmd.pla: 1003: // -; vmsrc/apple/cmd.pla: 1004: // This is an EXTended RELocatable (data+bytecode) module. -; vmsrc/apple/cmd.pla: 1005: // -; vmsrc/apple/cmd.pla: 1006: systemflags = header:4 | systemflags -; vmsrc/apple/cmd.pla: 1007: defofst = header:6 -; vmsrc/apple/cmd.pla: 1008: defcnt = header:8 -; vmsrc/apple/cmd.pla: 1009: init = header:10 -; vmsrc/apple/cmd.pla: 1010: moddep = @header.12 -; vmsrc/apple/cmd.pla: 1011: // -; vmsrc/apple/cmd.pla: 1012: // Load module dependencies. -; vmsrc/apple/cmd.pla: 1013: // -; vmsrc/apple/cmd.pla: 1014: while ^moddep - !BYTE $64,$2A ; LLB [42] - !BYTE $28,$6B ; LLA [107] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F126 !WORD _C004 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$6B ; LLW [107] - !BYTE $76,$04 ; SLW [4] - !BYTE $28,$6C ; LLA [108] - !BYTE $76,$22 ; SLW [34] - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $76,$0A ; SLW [10] - !BYTE $00 ; CN 0 - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B036 - !WORD _B036-* - !BYTE $66,$6D ; LLW [109] - !BYTE $2C,$02,$65 ; CW 25858 - !BYTE $40 ; ISEQ -_B036 - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* - !BYTE $66,$6F ; LLW [111] - !BYTE $6A ; LAW _D070+0 -_F127 !WORD _D070+0 - !BYTE $96 ; OR - !BYTE $7A ; SAW _D070+0 -_F128 !WORD _D070+0 - !BYTE $66,$71 ; LLW [113] - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$73 ; LLW [115] - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$75 ; LLW [117] - !BYTE $76,$0E ; SLW [14] - !BYTE $28,$77 ; LLA [119] - !BYTE $76,$22 ; SLW [34] - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -_B039 -; vmsrc/apple/cmd.pla: 1015: if !lookuptbl(moddep, symtbl) -; vmsrc/apple/cmd.pla: 1016: close(refnum) -; vmsrc/apple/cmd.pla: 1017: refnum = 0 -; vmsrc/apple/cmd.pla: 1018: if loadmod(moddep) < 0 -; vmsrc/apple/cmd.pla: 1019: return -perr - !BYTE $66,$22 ; LLW [34] - !BYTE $2C,$00,$0C ; CW 3072 - !BYTE $54 ; CALL _A021 -_F129 !WORD _A021 - !BYTE $4E ; BRTRU _B042 - !WORD _B042-* - !BYTE $64,$2A ; LLB [42] - !BYTE $54 ; CALL _C003 -_F130 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $74,$2A ; SLB [42] - !BYTE $66,$22 ; LLW [34] - !BYTE $54 ; CALL _C016 -_F131 !WORD _C016 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B044 - !WORD _B044-* - !BYTE $68 ; LAB _D034+0 -_F132 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$EB ; LEAVE 235 -; vmsrc/apple/cmd.pla: 1020: fin -_B044 -_B045 -; vmsrc/apple/cmd.pla: 1021: fin -_B042 -_B043 -; vmsrc/apple/cmd.pla: 1022: moddep = moddep + dcitos(moddep, @str) -; vmsrc/apple/cmd.pla: 1023: loop - !BYTE $66,$22 ; LLW [34] - !BYTE $34 ; DUP - !BYTE $28,$6B ; LLA [107] - !BYTE $54 ; CALL _A018 -_F133 !WORD _A018 - !BYTE $82 ; ADD - !BYTE $76,$22 ; SLW [34] -_B041 - !BYTE $66,$22 ; LLW [34] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B039 - !WORD _B039-* -_B040 -; vmsrc/apple/cmd.pla: 1024: // -; vmsrc/apple/cmd.pla: 1025: // Init def table. -; vmsrc/apple/cmd.pla: 1026: // -; vmsrc/apple/cmd.pla: 1027: deftbl = allocheap(defcnt * 5 + 1) -; vmsrc/apple/cmd.pla: 1028: deflast = deftbl -; vmsrc/apple/cmd.pla: 1029: ^deflast = 0 -; vmsrc/apple/cmd.pla: 1030: if !refnum -; vmsrc/apple/cmd.pla: 1031: // -; vmsrc/apple/cmd.pla: 1032: // Reset read pointer. -; vmsrc/apple/cmd.pla: 1033: // -; vmsrc/apple/cmd.pla: 1034: refnum = open(@filename) -; vmsrc/apple/cmd.pla: 1035: rdlen = read(refnum, @header, 128) -; vmsrc/apple/cmd.pla: 1036: fin - !BYTE $66,$0C ; LLW [12] - !BYTE $0A ; CN 5 - !BYTE $86 ; MUL - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C007 -_F134 !WORD _C007 - !BYTE $6E,$1E ; DLW [30] - !BYTE $76,$20 ; SLW [32] - !BYTE $00 ; CN 0 - !BYTE $66,$20 ; LLW [32] - !BYTE $70 ; SB - !BYTE $64,$2A ; LLB [42] - !BYTE $4E ; BRTRU _B046 - !WORD _B046-* - !BYTE $28,$2B ; LLA [43] - !BYTE $54 ; CALL _C002 -_F135 !WORD _C002 - !BYTE $6C,$2A ; DLB [42] - !BYTE $28,$6B ; LLA [107] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F136 !WORD _C004 - !BYTE $76,$02 ; SLW [2] -_B046 -_B047 -; vmsrc/apple/cmd.pla: 1037: fin -_B037 -_B038 -; vmsrc/apple/cmd.pla: 1038: // -; vmsrc/apple/cmd.pla: 1039: // Alloc heap space for relocated module (data + bytecode). -; vmsrc/apple/cmd.pla: 1040: // -; vmsrc/apple/cmd.pla: 1041: moddep = moddep + 1 -; vmsrc/apple/cmd.pla: 1042: modfix = moddep - @header.2 // Adjust to skip header -; vmsrc/apple/cmd.pla: 1043: modsize = modsize - modfix -; vmsrc/apple/cmd.pla: 1044: rdlen = rdlen - modfix - 2 -; vmsrc/apple/cmd.pla: 1045: modaddr = allocheap(modsize) -; vmsrc/apple/cmd.pla: 1046: memcpy(modaddr, moddep, rdlen) -; vmsrc/apple/cmd.pla: 1047: // -; vmsrc/apple/cmd.pla: 1048: // Read in remainder of module into memory for fixups. -; vmsrc/apple/cmd.pla: 1049: // -; vmsrc/apple/cmd.pla: 1050: addr = modaddr -; vmsrc/apple/cmd.pla: 1051: repeat - !BYTE $66,$22 ; LLW [34] - !BYTE $8C ; INCR - !BYTE $6E,$22 ; DLW [34] - !BYTE $28,$6D ; LLA [109] - !BYTE $84 ; SUB - !BYTE $76,$18 ; SLW [24] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$18 ; LLW [24] - !BYTE $84 ; SUB - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$18 ; LLW [24] - !BYTE $84 ; SUB - !BYTE $3A,$02 ; SUBI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C007 -_F137 !WORD _C007 - !BYTE $6E,$16 ; DLW [22] - !BYTE $66,$22 ; LLW [34] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A004 -_F138 !WORD _A004 - !BYTE $66,$16 ; LLW [22] - !BYTE $76,$12 ; SLW [18] -_B049 -; vmsrc/apple/cmd.pla: 1052: addr = addr + rdlen -; vmsrc/apple/cmd.pla: 1053: rdlen = read(refnum, addr, 4096) -; vmsrc/apple/cmd.pla: 1054: until rdlen <= 0 - !BYTE $66,$12 ; LLW [18] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $76,$12 ; SLW [18] - !BYTE $64,$2A ; LLB [42] - !BYTE $66,$12 ; LLW [18] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _C004 -_F139 !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: 1055: close(refnum) -; vmsrc/apple/cmd.pla: 1056: // -; vmsrc/apple/cmd.pla: 1057: // Add module to symbol table. -; vmsrc/apple/cmd.pla: 1058: // -; vmsrc/apple/cmd.pla: 1059: addsym(mod, modaddr) -; vmsrc/apple/cmd.pla: 1060: // -; vmsrc/apple/cmd.pla: 1061: // Apply all fixups and symbol import/export. -; vmsrc/apple/cmd.pla: 1062: // -; vmsrc/apple/cmd.pla: 1063: modfix = modaddr - modfix -; vmsrc/apple/cmd.pla: 1064: modofst = modfix - RELADDR -; vmsrc/apple/cmd.pla: 1065: modend = modaddr + modsize -; vmsrc/apple/cmd.pla: 1066: bytecode = defofst + modofst -; vmsrc/apple/cmd.pla: 1067: rld = modend // Re-Locatable Directory -; vmsrc/apple/cmd.pla: 1068: esd = rld // Extern+Entry Symbol Directory -; vmsrc/apple/cmd.pla: 1069: while ^esd // Scan to end of ESD - !BYTE $64,$2A ; LLB [42] - !BYTE $54 ; CALL _C003 -_F140 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C011 -_F141 !WORD _C011 - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$18 ; LLW [24] - !BYTE $84 ; SUB - !BYTE $6E,$18 ; DLW [24] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $84 ; SUB - !BYTE $76,$1A ; SLW [26] - !BYTE $66,$16 ; LLW [22] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$1C ; SLW [28] - !BYTE $66,$0A ; LLW [10] - !BYTE $B2,$1A ; ADDLW [26] - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$1C ; LLW [28] - !BYTE $6E,$24 ; DLW [36] - !BYTE $76,$26 ; SLW [38] - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -_B051 -; vmsrc/apple/cmd.pla: 1070: esd = esd + 4 -; vmsrc/apple/cmd.pla: 1071: loop - !BYTE $66,$26 ; LLW [38] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$26 ; SLW [38] -_B053 - !BYTE $66,$26 ; LLW [38] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B051 - !WORD _B051-* -_B052 -; vmsrc/apple/cmd.pla: 1072: esd = esd + 1 -; vmsrc/apple/cmd.pla: 1073: defaddr = bytecode -; vmsrc/apple/cmd.pla: 1074: codefix = defaddr - bytecode -; vmsrc/apple/cmd.pla: 1075: defofst = defaddr - defofst -; vmsrc/apple/cmd.pla: 1076: // -; vmsrc/apple/cmd.pla: 1077: // Run through the DeFinition Dictionary. -; vmsrc/apple/cmd.pla: 1078: // -; vmsrc/apple/cmd.pla: 1079: while ^rld == $02 - !BYTE $66,$26 ; LLW [38] - !BYTE $8C ; INCR - !BYTE $76,$26 ; SLW [38] - !BYTE $66,$06 ; LLW [6] - !BYTE $6E,$14 ; DLW [20] - !BYTE $66,$06 ; LLW [6] - !BYTE $84 ; SUB - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$14 ; LLW [20] - !BYTE $66,$0A ; LLW [10] - !BYTE $84 ; SUB - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B056 - !WORD _B056-* -_B054 -; vmsrc/apple/cmd.pla: 1080: // -; vmsrc/apple/cmd.pla: 1081: // This is a bytcode def entry - add it to the def directory. -; vmsrc/apple/cmd.pla: 1082: // -; vmsrc/apple/cmd.pla: 1083: adddef(rld=>1 + defofst, @deflast) -; vmsrc/apple/cmd.pla: 1084: rld = rld + 4 -; vmsrc/apple/cmd.pla: 1085: loop - !BYTE $66,$24 ; LLW [36] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $28,$20 ; LLA [32] - !BYTE $54 ; CALL _C015 -_F142 !WORD _C015 - !BYTE $30 ; DROP - !BYTE $66,$24 ; LLW [36] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$24 ; SLW [36] -_B056 - !BYTE $66,$24 ; LLW [36] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $22 ; BREQ _B054 - !WORD _B054-* -_B055 -; vmsrc/apple/cmd.pla: 1086: // -; vmsrc/apple/cmd.pla: 1087: // Run through the Re-Location Dictionary. -; vmsrc/apple/cmd.pla: 1088: // -; vmsrc/apple/cmd.pla: 1089: while ^rld - !BYTE $50 ; BRNCH _B059 - !WORD _B059-* -_B057 -; vmsrc/apple/cmd.pla: 1090: rld, addr, fixup = reloc(modfix, modofst, bytecode, rld) -; vmsrc/apple/cmd.pla: 1091: if ^rld -; vmsrc/apple/cmd.pla: 1092: *addr = ^rld & $10 ?? *addr + lookupextern(esd, rld->3) :: lookupdef(fixup + codefix, deftbl) -; vmsrc/apple/cmd.pla: 1093: rld = rld + 4 -; vmsrc/apple/cmd.pla: 1094: fin - !BYTE $66,$18 ; LLW [24] - !BYTE $66,$1A ; LLW [26] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$24 ; LLW [36] - !BYTE $54 ; CALL _A024 -_F143 !WORD _A024 - !BYTE $76,$10 ; SLW [16] - !BYTE $76,$12 ; SLW [18] - !BYTE $6E,$24 ; DLW [36] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* - !BYTE $66,$24 ; LLW [36] - !BYTE $60 ; LB - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B062 - !WORD _B062-* - !BYTE $66,$12 ; LLW [18] - !BYTE $62 ; LW - !BYTE $66,$26 ; LLW [38] - !BYTE $66,$24 ; LLW [36] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $54 ; CALL _C014 -_F144 !WORD _C014 - !BYTE $82 ; ADD - !BYTE $50 ; BRNCH _B063 - !WORD _B063-* -_B062 - !BYTE $66,$10 ; LLW [16] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $66,$1E ; LLW [30] - !BYTE $54 ; CALL _A023 -_F145 !WORD _A023 -_B063 - !BYTE $66,$12 ; LLW [18] - !BYTE $72 ; SW - !BYTE $66,$24 ; LLW [36] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$24 ; SLW [36] -_B060 -_B061 -; vmsrc/apple/cmd.pla: 1095: loop -_B059 - !BYTE $66,$24 ; LLW [36] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B057 - !WORD _B057-* -_B058 -; vmsrc/apple/cmd.pla: 1096: // -; vmsrc/apple/cmd.pla: 1097: // Run through the External/Entry Symbol Directory. -; vmsrc/apple/cmd.pla: 1098: // -; vmsrc/apple/cmd.pla: 1099: while ^esd - !BYTE $50 ; BRNCH _B066 - !WORD _B066-* -_B064 -; vmsrc/apple/cmd.pla: 1100: sym = esd -; vmsrc/apple/cmd.pla: 1101: esd = esd + dcitos(esd, @str) -; vmsrc/apple/cmd.pla: 1102: if ^esd & $08 -; vmsrc/apple/cmd.pla: 1103: // -; vmsrc/apple/cmd.pla: 1104: // EXPORT symbol - add it to the global symbol table. -; vmsrc/apple/cmd.pla: 1105: // -; vmsrc/apple/cmd.pla: 1106: addr = esd=>1 + modofst -; vmsrc/apple/cmd.pla: 1107: if uword_isge(addr, bytecode) -; vmsrc/apple/cmd.pla: 1108: // -; vmsrc/apple/cmd.pla: 1109: // Use the def directory address for bytecode. -; vmsrc/apple/cmd.pla: 1110: // -; vmsrc/apple/cmd.pla: 1111: addr = lookupdef(addr + codefix, deftbl) -; vmsrc/apple/cmd.pla: 1112: fin - !BYTE $66,$26 ; LLW [38] - !BYTE $76,$28 ; SLW [40] - !BYTE $66,$26 ; LLW [38] - !BYTE $34 ; DUP - !BYTE $28,$6B ; LLA [107] - !BYTE $54 ; CALL _A018 -_F146 !WORD _A018 - !BYTE $82 ; ADD - !BYTE $6E,$26 ; DLW [38] - !BYTE $60 ; LB - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B067 - !WORD _B067-* - !BYTE $66,$26 ; LLW [38] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $B2,$1A ; ADDLW [26] - !BYTE $6E,$12 ; DLW [18] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _A012 -_F147 !WORD _A012 - !BYTE $4C ; BRFLS _B069 - !WORD _B069-* - !BYTE $66,$12 ; LLW [18] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $66,$1E ; LLW [30] - !BYTE $54 ; CALL _A023 -_F148 !WORD _A023 - !BYTE $76,$12 ; SLW [18] -_B069 -_B070 -; vmsrc/apple/cmd.pla: 1113: addsym(sym, addr) -; vmsrc/apple/cmd.pla: 1114: fin - !BYTE $66,$28 ; LLW [40] - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _C011 -_F149 !WORD _C011 -_B067 -_B068 -; vmsrc/apple/cmd.pla: 1115: esd = esd + 3 -; vmsrc/apple/cmd.pla: 1116: loop - !BYTE $66,$26 ; LLW [38] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$26 ; SLW [38] -_B066 - !BYTE $66,$26 ; LLW [38] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B064 - !WORD _B064-* -_B065 -; vmsrc/apple/cmd.pla: 1117: else - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -_B031 -; vmsrc/apple/cmd.pla: 1118: perr = $46 -; vmsrc/apple/cmd.pla: 1119: fin - !BYTE $2A,$46 ; CB 70 - !BYTE $78 ; SAB _D034+0 -_F150 !WORD _D034+0 -_B032 -; vmsrc/apple/cmd.pla: 1120: if perr -; vmsrc/apple/cmd.pla: 1121: return -perr - !BYTE $68 ; LAB _D034+0 -_F151 !WORD _D034+0 - !BYTE $4C ; BRFLS _B071 - !WORD _B071-* - !BYTE $68 ; LAB _D034+0 -_F152 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$EB ; LEAVE 235 -; vmsrc/apple/cmd.pla: 1122: fin -_B071 -_B072 -; vmsrc/apple/cmd.pla: 1123: // -; vmsrc/apple/cmd.pla: 1124: // Free up rld+esd in main memory. -; vmsrc/apple/cmd.pla: 1125: // -; vmsrc/apple/cmd.pla: 1126: releaseheap(modend) -; vmsrc/apple/cmd.pla: 1127: // -; vmsrc/apple/cmd.pla: 1128: // Call init routine if it exists. -; vmsrc/apple/cmd.pla: 1129: // -; vmsrc/apple/cmd.pla: 1130: initcode = 0 -; vmsrc/apple/cmd.pla: 1131: if init -; vmsrc/apple/cmd.pla: 1132: init = init + defofst -; vmsrc/apple/cmd.pla: 1133: initcode = adddef(init, @deflast)() -; vmsrc/apple/cmd.pla: 1134: if initcode < modinitkeep -; vmsrc/apple/cmd.pla: 1135: // -; vmsrc/apple/cmd.pla: 1136: // Free init routine unless initkeep -; vmsrc/apple/cmd.pla: 1137: // -; vmsrc/apple/cmd.pla: 1138: releaseheap(init) -; vmsrc/apple/cmd.pla: 1139: if initcode < 0 -; vmsrc/apple/cmd.pla: 1140: perr = -initcode -; vmsrc/apple/cmd.pla: 1141: fin - !BYTE $66,$1C ; LLW [28] - !BYTE $54 ; CALL _C010 -_F153 !WORD _C010 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$0E ; LLW [14] - !BYTE $4C ; BRFLS _B073 - !WORD _B073-* - !BYTE $66,$0E ; LLW [14] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $6E,$0E ; DLW [14] - !BYTE $28,$20 ; LLA [32] - !BYTE $54 ; CALL _C015 -_F154 !WORD _C015 - !BYTE $56 ; ICAL - !BYTE $6E,$10 ; DLW [16] - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C010 -_F155 !WORD _C010 - !BYTE $30 ; DROP - !BYTE $66,$10 ; LLW [16] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $66,$10 ; LLW [16] - !BYTE $90 ; NEG - !BYTE $78 ; SAB _D034+0 -_F156 !WORD _D034+0 -_B077 -_B078 -; vmsrc/apple/cmd.pla: 1142: else - !BYTE $50 ; BRNCH _B076 - !WORD _B076-* -_B075 -; vmsrc/apple/cmd.pla: 1143: initcode = initcode & ~modinitkeep -; vmsrc/apple/cmd.pla: 1144: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $2C,$FF,$BF ; CW -16385 - !BYTE $94 ; AND - !BYTE $76,$10 ; SLW [16] -_B076 -; vmsrc/apple/cmd.pla: 1145: fin -_B073 -_B074 -; vmsrc/apple/cmd.pla: 1146: return initcode - !BYTE $66,$10 ; LLW [16] - !BYTE $5A,$EB ; LEAVE 235 -; vmsrc/apple/cmd.pla: 1147: end -; vmsrc/apple/cmd.pla: 1148: // -; vmsrc/apple/cmd.pla: 1149: // Command mode -; vmsrc/apple/cmd.pla: 1150: // -; vmsrc/apple/cmd.pla: 1151: def volumes()#0 -_C017 ; volumes() - JSR INTERP -; vmsrc/apple/cmd.pla: 1152: byte params[4] - ; params -> [0] -; vmsrc/apple/cmd.pla: 1153: word strbuf - ; strbuf -> [4] -; vmsrc/apple/cmd.pla: 1154: byte i - ; i -> [6] -; vmsrc/apple/cmd.pla: 1155: -; vmsrc/apple/cmd.pla: 1156: params.0 = 2 - !BYTE $58,$07,$00 ; ENTER 7,0 -; vmsrc/apple/cmd.pla: 1157: params.1 = 0 -; vmsrc/apple/cmd.pla: 1158: params:2 = heap -; vmsrc/apple/cmd.pla: 1159: perr = syscall($C5, @params) -; vmsrc/apple/cmd.pla: 1160: strbuf = heap -; vmsrc/apple/cmd.pla: 1161: 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 _D071+0 -_F157 !WORD _D071+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $2A,$C5 ; CB 197 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _A000 -_F158 !WORD _A000 - !BYTE $78 ; SAB _D034+0 -_F159 !WORD _D034+0 - !BYTE $6A ; LAW _D071+0 -_F160 !WORD _D071+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B080 - !BYTE $6C,$06 ; DLB [6] -; vmsrc/apple/cmd.pla: 1162: ^strbuf = ^strbuf & $0F -; vmsrc/apple/cmd.pla: 1163: if ^strbuf -; vmsrc/apple/cmd.pla: 1164: cout('/'); prstr(strbuf); crout() -; vmsrc/apple/cmd.pla: 1165: 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 -_F161 !WORD _A006 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A008 -_F162 !WORD _A008 - !BYTE $54 ; CALL _A005 -_F163 !WORD _A005 -_B082 -_B083 -; vmsrc/apple/cmd.pla: 1166: strbuf = strbuf + 16 -; vmsrc/apple/cmd.pla: 1167: 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: 1168: end - !BYTE $5A,$07 ; LEAVE 7 -; vmsrc/apple/cmd.pla: 1169: def catalog(path)#0 - ; path -> [0] -_C018 ; catalog() - JSR INTERP -; vmsrc/apple/cmd.pla: 1170: byte refnum - ; refnum -> [2] -; vmsrc/apple/cmd.pla: 1171: byte firstblk - ; firstblk -> [3] -; vmsrc/apple/cmd.pla: 1172: byte entrylen, entriesblk - ; entrylen -> [4] - ; entriesblk -> [5] -; vmsrc/apple/cmd.pla: 1173: byte i, type, len - ; i -> [6] - ; type -> [7] - ; len -> [8] -; vmsrc/apple/cmd.pla: 1174: word entry - ; entry -> [9] -; vmsrc/apple/cmd.pla: 1175: -; vmsrc/apple/cmd.pla: 1176: refnum = open(path) - !BYTE $58,$0B,$01 ; ENTER 11,1 -; vmsrc/apple/cmd.pla: 1177: if perr -; vmsrc/apple/cmd.pla: 1178: return - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F164 !WORD _C002 - !BYTE $74,$02 ; SLB [2] - !BYTE $68 ; LAB _D034+0 -_F165 !WORD _D034+0 - !BYTE $4C ; BRFLS _B084 - !WORD _B084-* - !BYTE $5A,$0B ; LEAVE 11 -; vmsrc/apple/cmd.pla: 1179: fin -_B084 -_B085 -; vmsrc/apple/cmd.pla: 1180: firstblk = 1 -; vmsrc/apple/cmd.pla: 1181: 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: 1182: entry = heap + 4 -; vmsrc/apple/cmd.pla: 1183: if firstblk -; vmsrc/apple/cmd.pla: 1184: entrylen = heap->$23 -; vmsrc/apple/cmd.pla: 1185: entriesblk = heap->$24 - 1 -; vmsrc/apple/cmd.pla: 1186: entry = entry + entrylen -; vmsrc/apple/cmd.pla: 1187: fin - !BYTE $6A ; LAW _D071+0 -_F166 !WORD _D071+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 _D071+0 -_F167 !WORD _D071+0 - !BYTE $38,$23 ; ADDI 35 - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] - !BYTE $6A ; LAW _D071+0 -_F168 !WORD _D071+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: 1188: 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: 1189: if ^entry -; vmsrc/apple/cmd.pla: 1190: ^entry = ^entry & $0F -; vmsrc/apple/cmd.pla: 1191: prstr(entry) -; vmsrc/apple/cmd.pla: 1192: type = ' ' -; vmsrc/apple/cmd.pla: 1193: 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 -_F169 !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: 1194: is $0F // Is it a directory? -_B098 -; vmsrc/apple/cmd.pla: 1195: type = '/' -; vmsrc/apple/cmd.pla: 1196: break - !BYTE $2A,$2F ; CB 47 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -; vmsrc/apple/cmd.pla: 1197: is $FF // SYSTEM file -_B099 -; vmsrc/apple/cmd.pla: 1198: type = '-' -; vmsrc/apple/cmd.pla: 1199: break - !BYTE $2A,$2D ; CB 45 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -; vmsrc/apple/cmd.pla: 1200: is $FE // REL file -_B100 -; vmsrc/apple/cmd.pla: 1201: type = '+' -; vmsrc/apple/cmd.pla: 1202: 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: 1203: cout(type) -; vmsrc/apple/cmd.pla: 1204: for len = ^entry to 18 - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _A006 -_F170 !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: 1205: cout(' ') -; vmsrc/apple/cmd.pla: 1206: next - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _A006 -_F171 !WORD _A006 -_B103 - !BYTE $A4 ; INCBRLE _B102 - !WORD _B102-* -_B101 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; vmsrc/apple/cmd.pla: 1207: fin -_B094 -_B095 -; vmsrc/apple/cmd.pla: 1208: entry = entry + entrylen -; vmsrc/apple/cmd.pla: 1209: 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: 1210: firstblk = 0 -; vmsrc/apple/cmd.pla: 1211: loop - !BYTE $00 ; CN 0 - !BYTE $74,$03 ; SLB [3] -_B088 - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _D071+0 -_F172 !WORD _D071+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _C004 -_F173 !WORD _C004 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $22 ; BREQ _B086 - !WORD _B086-* -_B087 -; vmsrc/apple/cmd.pla: 1212: close(refnum) -; vmsrc/apple/cmd.pla: 1213: crout() -; vmsrc/apple/cmd.pla: 1214: end - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _C003 -_F174 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _A005 -_F175 !WORD _A005 - !BYTE $5A,$0B ; LEAVE 11 -; vmsrc/apple/cmd.pla: 1215: def stripchars(strptr)#1 - ; strptr -> [0] -_C019 ; stripchars() - JSR INTERP -; vmsrc/apple/cmd.pla: 1216: while ^strptr and ^(strptr + 1) > ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B106 - !WORD _B106-* -_B104 -; vmsrc/apple/cmd.pla: 1217: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/cmd.pla: 1218: ^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: 1219: 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: 1220: return ^strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmd.pla: 1221: end -; vmsrc/apple/cmd.pla: 1222: def stripspaces(strptr)#0 - ; strptr -> [0] -_C020 ; stripspaces() - JSR INTERP -; vmsrc/apple/cmd.pla: 1223: while ^strptr and ^(strptr + ^strptr) <= ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B110 - !WORD _B110-* -_B108 -; vmsrc/apple/cmd.pla: 1224: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmd.pla: 1225: 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: 1226: while ^strptr and ^(strptr + 1) <= ' ' - !BYTE $50 ; BRNCH _B114 - !WORD _B114-* -_B112 -; vmsrc/apple/cmd.pla: 1227: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/cmd.pla: 1228: ^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 -_F177 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmd.pla: 1229: 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: 1230: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmd.pla: 1231: def striptrail(strptr)#1 - ; strptr -> [0] -_C021 ; striptrail() - JSR INTERP -; vmsrc/apple/cmd.pla: 1232: byte i - ; i -> [2] -; vmsrc/apple/cmd.pla: 1233: -; vmsrc/apple/cmd.pla: 1234: 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: 1235: if ^(strptr + i) <= ' ' -; vmsrc/apple/cmd.pla: 1236: ^strptr = i - 1 -; vmsrc/apple/cmd.pla: 1237: 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: 1238: fin -_B119 -_B120 -; vmsrc/apple/cmd.pla: 1239: next -_B118 - !BYTE $A4 ; INCBRLE _B117 - !WORD _B117-* -_B116 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; vmsrc/apple/cmd.pla: 1240: return strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/cmd.pla: 1241: end -; vmsrc/apple/cmd.pla: 1242: def parsecmd(strptr)#1 - ; strptr -> [0] -_C022 ; parsecmd() - JSR INTERP -; vmsrc/apple/cmd.pla: 1243: byte cmd - ; cmd -> [2] -; vmsrc/apple/cmd.pla: 1244: -; vmsrc/apple/cmd.pla: 1245: cmd = 0 - !BYTE $58,$03,$01 ; ENTER 3,1 -; vmsrc/apple/cmd.pla: 1246: stripspaces(strptr) -; vmsrc/apple/cmd.pla: 1247: if ^strptr -; vmsrc/apple/cmd.pla: 1248: cmd = ^(strptr + 1) -; vmsrc/apple/cmd.pla: 1249: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/cmd.pla: 1250: ^strptr-- - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C020 -_F178 !WORD _C020 - !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 -_F179 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmd.pla: 1251: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B121 -_B122 -; vmsrc/apple/cmd.pla: 1252: stripspaces(strptr) -; vmsrc/apple/cmd.pla: 1253: return cmd - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C020 -_F180 !WORD _C020 - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/cmd.pla: 1254: end -; vmsrc/apple/cmd.pla: 1255: def resetmemfiles()#0 -_C023 ; resetmemfiles() - JSR INTERP -; vmsrc/apple/cmd.pla: 1256: byte terr - ; terr -> [0] -; vmsrc/apple/cmd.pla: 1257: -; vmsrc/apple/cmd.pla: 1258: terr = perr // Save perr - !BYTE $58,$01,$00 ; ENTER 1,0 -; vmsrc/apple/cmd.pla: 1259: // -; vmsrc/apple/cmd.pla: 1260: // Close all files -; vmsrc/apple/cmd.pla: 1261: // -; vmsrc/apple/cmd.pla: 1262: ^$BF94 = 0 -; vmsrc/apple/cmd.pla: 1263: close(0) -; vmsrc/apple/cmd.pla: 1264: // -; vmsrc/apple/cmd.pla: 1265: // Set memory bitmap -; vmsrc/apple/cmd.pla: 1266: // -; vmsrc/apple/cmd.pla: 1267: memset($BF58, 0, 24) -; vmsrc/apple/cmd.pla: 1268: ^$BF58 = $CF -; vmsrc/apple/cmd.pla: 1269: ^$BF6F = $01 -; vmsrc/apple/cmd.pla: 1270: perr = terr // Restore perr -; vmsrc/apple/cmd.pla: 1271: end - !BYTE $68 ; LAB _D034+0 -_F181 !WORD _D034+0 - !BYTE $74,$00 ; SLB [0] - !BYTE $00 ; CN 0 - !BYTE $78,$94,$BF ; SAB 49044 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C003 -_F182 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $2C,$58,$BF ; CW 48984 - !BYTE $00 ; CN 0 - !BYTE $2A,$18 ; CB 24 - !BYTE $54 ; CALL _A003 -_F183 !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 _D034+0 -_F184 !WORD _D034+0 - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/cmd.pla: 1272: def execsys(sysfile)#0 - ; sysfile -> [0] -_C024 ; execsys() - JSR INTERP -; vmsrc/apple/cmd.pla: 1273: byte refnum - ; refnum -> [2] -; vmsrc/apple/cmd.pla: 1274: word len - ; len -> [3] -; vmsrc/apple/cmd.pla: 1275: -; vmsrc/apple/cmd.pla: 1276: if ^sysfile - !BYTE $58,$05,$01 ; ENTER 5,1 -; vmsrc/apple/cmd.pla: 1277: strcpy($280, sysfile) -; vmsrc/apple/cmd.pla: 1278: striptrail(sysfile) -; vmsrc/apple/cmd.pla: 1279: refnum = open(sysfile) -; vmsrc/apple/cmd.pla: 1280: if refnum -; vmsrc/apple/cmd.pla: 1281: len = read(refnum, $2000, $FFFF) -; vmsrc/apple/cmd.pla: 1282: resetmemfiles() -; vmsrc/apple/cmd.pla: 1283: if len -; vmsrc/apple/cmd.pla: 1284: strcpy(sysfile, $280) -; vmsrc/apple/cmd.pla: 1285: if stripchars(sysfile) and ^$2000 == $4C and *$2003 == $EEEE -; vmsrc/apple/cmd.pla: 1286: stripspaces(sysfile) -; vmsrc/apple/cmd.pla: 1287: if ^$2005 >= ^sysfile + 1 -; vmsrc/apple/cmd.pla: 1288: strcpy($2006, sysfile) -; vmsrc/apple/cmd.pla: 1289: 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 _C012 -_F185 !WORD _C012 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C021 -_F186 !WORD _C021 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F187 !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 -_F188 !WORD _C004 - !BYTE $76,$03 ; SLW [3] - !BYTE $54 ; CALL _C023 -_F189 !WORD _C023 - !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 _C012 -_F190 !WORD _C012 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C019 -_F191 !WORD _C019 - !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 _C020 -_F192 !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 _B133 - !WORD _B133-* - !BYTE $2C,$06,$20 ; CW 8198 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C012 -_F193 !WORD _C012 - !BYTE $30 ; DROP -_B133 -_B134 -; vmsrc/apple/cmd.pla: 1290: fin -_B131 -_B132 -; vmsrc/apple/cmd.pla: 1291: striptrail($280) -; vmsrc/apple/cmd.pla: 1292: exec() -; vmsrc/apple/cmd.pla: 1293: fin - !BYTE $2C,$80,$02 ; CW 640 - !BYTE $54 ; CALL _C021 -_F194 !WORD _C021 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _A002 -_F195 !WORD _A002 -_B127 -_B128 -; vmsrc/apple/cmd.pla: 1294: fin -_B125 -_B126 -; vmsrc/apple/cmd.pla: 1295: fin -_B123 -_B124 -; vmsrc/apple/cmd.pla: 1296: end - !BYTE $5A,$05 ; LEAVE 5 -; vmsrc/apple/cmd.pla: 1297: def execmod(modfile)#1 - ; modfile -> [0] -_P026 ; execmod(modfile)#1() -_C025 ; execmod() - JSR INTERP -; vmsrc/apple/cmd.pla: 1298: byte moddci[17] - ; moddci -> [2] -; vmsrc/apple/cmd.pla: 1299: word saveheap, savesym, saveflags - ; saveheap -> [19] - ; savesym -> [21] - ; saveflags -> [23] -; vmsrc/apple/cmd.pla: 1300: -; vmsrc/apple/cmd.pla: 1301: perr = 1 - !BYTE $58,$19,$01 ; ENTER 25,1 -; vmsrc/apple/cmd.pla: 1302: if stodci(modfile, @moddci) -; vmsrc/apple/cmd.pla: 1303: saveheap = heap -; vmsrc/apple/cmd.pla: 1304: savesym = lastsym -; vmsrc/apple/cmd.pla: 1305: saveflags = systemflags -; vmsrc/apple/cmd.pla: 1306: if loadmod(@moddci) < modkeep -; vmsrc/apple/cmd.pla: 1307: lastsym = savesym -; vmsrc/apple/cmd.pla: 1308: heap = saveheap -; vmsrc/apple/cmd.pla: 1309: fin - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D034+0 -_F196 !WORD _D034+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A019 -_F197 !WORD _A019 - !BYTE $4C ; BRFLS _B135 - !WORD _B135-* - !BYTE $6A ; LAW _D071+0 -_F198 !WORD _D071+0 - !BYTE $76,$13 ; SLW [19] - !BYTE $6A ; LAW _D072+0 -_F199 !WORD _D072+0 - !BYTE $76,$15 ; SLW [21] - !BYTE $6A ; LAW _D070+0 -_F200 !WORD _D070+0 - !BYTE $76,$17 ; SLW [23] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C016 -_F201 !WORD _C016 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B137 - !WORD _B137-* - !BYTE $66,$15 ; LLW [21] - !BYTE $7A ; SAW _D072+0 -_F202 !WORD _D072+0 - !BYTE $66,$13 ; LLW [19] - !BYTE $7A ; SAW _D071+0 -_F203 !WORD _D071+0 -_B137 -_B138 -; vmsrc/apple/cmd.pla: 1310: ^lastsym = 0 -; vmsrc/apple/cmd.pla: 1311: systemflags = saveflags -; vmsrc/apple/cmd.pla: 1312: fin - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D072+0 -_F204 !WORD _D072+0 - !BYTE $70 ; SB - !BYTE $66,$17 ; LLW [23] - !BYTE $7A ; SAW _D070+0 -_F205 !WORD _D070+0 -_B135 -_B136 -; vmsrc/apple/cmd.pla: 1313: return -perr - !BYTE $68 ; LAB _D034+0 -_F206 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$19 ; LEAVE 25 -; vmsrc/apple/cmd.pla: 1314: end -; vmsrc/apple/cmd.pla: 1315: // -; vmsrc/apple/cmd.pla: 1316: // Command line processor -; vmsrc/apple/cmd.pla: 1317: // -; vmsrc/apple/cmd.pla: 1318: def docmds#0 -_C026 ; docmds() - JSR INTERP -; vmsrc/apple/cmd.pla: 1319: word prefix - ; prefix -> [0] -; vmsrc/apple/cmd.pla: 1320: -; vmsrc/apple/cmd.pla: 1321: prefix = pfxop(heap, GET_PFX) - !BYTE $58,$02,$00 ; ENTER 2,0 -; vmsrc/apple/cmd.pla: 1322: repeat - !BYTE $6A ; LAW _D071+0 -_F207 !WORD _D071+0 - !BYTE $2A,$C7 ; CB 199 - !BYTE $54 ; CALL _C001 -_F208 !WORD _C001 - !BYTE $76,$00 ; SLW [0] -_B140 -; vmsrc/apple/cmd.pla: 1323: if ^getlnbuf -; vmsrc/apple/cmd.pla: 1324: strcpy(@cmdln, getlnbuf) -; vmsrc/apple/cmd.pla: 1325: when toupper(parsecmd(getlnbuf)) - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $4C ; BRFLS _B142 - !WORD _B142-* - !BYTE $26 ; LA _D037+0 -_F209 !WORD _D037+0 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C012 -_F210 !WORD _C012 - !BYTE $30 ; DROP - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C022 -_F211 !WORD _C022 - !BYTE $54 ; CALL _A020 -_F212 !WORD _A020 - !BYTE $52 ; SEL - !WORD _B145-* -; vmsrc/apple/cmd.pla: 1326: is 'C' -_B146 -; vmsrc/apple/cmd.pla: 1327: catalog(^getlnbuf ?? getlnbuf :: prefix) -; vmsrc/apple/cmd.pla: 1328: break - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $4C ; BRFLS _B149 - !WORD _B149-* - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $50 ; BRNCH _B150 - !WORD _B150-* -_B149 - !BYTE $66,$00 ; LLW [0] -_B150 - !BYTE $54 ; CALL _C018 -_F213 !WORD _C018 - !BYTE $50 ; BRNCH _B144 - !WORD _B144-* -; vmsrc/apple/cmd.pla: 1329: is 'P' -_B151 -; vmsrc/apple/cmd.pla: 1330: pfxop(getlnbuf, SET_PFX) -; vmsrc/apple/cmd.pla: 1331: break - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $2A,$C6 ; CB 198 - !BYTE $54 ; CALL _C001 -_F214 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B144 - !WORD _B144-* -; vmsrc/apple/cmd.pla: 1332: is '/' -_B152 -; vmsrc/apple/cmd.pla: 1333: repeat -_B154 -; vmsrc/apple/cmd.pla: 1334: ^prefix-- - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmd.pla: 1335: until ^(prefix + ^prefix) == '/' - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B155 - !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 _B154 - !WORD _B154-* -_B153 -; vmsrc/apple/cmd.pla: 1336: if ^prefix > 1 -; vmsrc/apple/cmd.pla: 1337: pfxop(prefix, SET_PFX) -; vmsrc/apple/cmd.pla: 1338: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B156 - !WORD _B156-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$C6 ; CB 198 - !BYTE $54 ; CALL _C001 -_F215 !WORD _C001 - !BYTE $30 ; DROP -_B156 -_B157 -; vmsrc/apple/cmd.pla: 1339: break - !BYTE $50 ; BRNCH _B144 - !WORD _B144-* -; vmsrc/apple/cmd.pla: 1340: is 'V' -_B158 -; vmsrc/apple/cmd.pla: 1341: volumes() -; vmsrc/apple/cmd.pla: 1342: break - !BYTE $54 ; CALL _C017 -_F216 !WORD _C017 - !BYTE $50 ; BRNCH _B144 - !WORD _B144-* -; vmsrc/apple/cmd.pla: 1343: is '-' -_B159 -; vmsrc/apple/cmd.pla: 1344: execsys(getlnbuf) -; vmsrc/apple/cmd.pla: 1345: break - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C024 -_F217 !WORD _C024 - !BYTE $50 ; BRNCH _B144 - !WORD _B144-* -; vmsrc/apple/cmd.pla: 1346: is '+' -_B160 -; vmsrc/apple/cmd.pla: 1347: // -; vmsrc/apple/cmd.pla: 1348: // Exec module -; vmsrc/apple/cmd.pla: 1349: // -; vmsrc/apple/cmd.pla: 1350: execmod(striptrail(getlnbuf)) -; vmsrc/apple/cmd.pla: 1351: // -; vmsrc/apple/cmd.pla: 1352: // Clean up -; vmsrc/apple/cmd.pla: 1353: // -; vmsrc/apple/cmd.pla: 1354: resetmemfiles -; vmsrc/apple/cmd.pla: 1355: break - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C021 -_F218 !WORD _C021 - !BYTE $54 ; CALL _C025 -_F219 !WORD _C025 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C023 -_F220 !WORD _C023 - !BYTE $50 ; BRNCH _B144 - !WORD _B144-* -; vmsrc/apple/cmd.pla: 1356: otherwise -_B145 - !BYTE $06 ; CASEBLOCK - !WORD $002B - !WORD _B160-* - !WORD $002D - !WORD _B159-* - !WORD $002F - !WORD _B152-* - !WORD $0043 - !WORD _B146-* - !WORD $0050 - !WORD _B151-* - !WORD $0056 - !WORD _B158-* -; vmsrc/apple/cmd.pla: 1357: cout('?') -; vmsrc/apple/cmd.pla: 1358: wend - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _A006 -_F221 !WORD _A006 -_B144 -; vmsrc/apple/cmd.pla: 1359: if perr -; vmsrc/apple/cmd.pla: 1360: prstr("ERR:$") - !BYTE $68 ; LAB _D034+0 -_F222 !WORD _D034+0 - !BYTE $4C ; BRFLS _B161 - !WORD _B161-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $45,$52,$52,$3A,$24 - !BYTE $54 ; CALL _A008 -_F223 !WORD _A008 -; vmsrc/apple/cmd.pla: 1361: prbyte(perr) -; vmsrc/apple/cmd.pla: 1362: crout() -; vmsrc/apple/cmd.pla: 1363: fin - !BYTE $68 ; LAB _D034+0 -_F224 !WORD _D034+0 - !BYTE $54 ; CALL _A010 -_F225 !WORD _A010 - !BYTE $54 ; CALL _A005 -_F226 !WORD _A005 -_B161 -_B162 -; vmsrc/apple/cmd.pla: 1364: fin -_B142 -_B143 -; vmsrc/apple/cmd.pla: 1365: prstr(pfxop(prefix, GET_PFX)) -; vmsrc/apple/cmd.pla: 1366: rdstr($BA) -; vmsrc/apple/cmd.pla: 1367: until 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$C7 ; CB 199 - !BYTE $54 ; CALL _C001 -_F227 !WORD _C001 - !BYTE $54 ; CALL _A008 -_F228 !WORD _A008 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _A011 -_F229 !WORD _A011 - !BYTE $30 ; DROP -_B141 - !BYTE $50 ; BRNCH _B140 - !WORD _B140-* -_B139 -; vmsrc/apple/cmd.pla: 1368: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmd.pla: 1369: // -; vmsrc/apple/cmd.pla: 1370: // Dummy definition to get free heap -; vmsrc/apple/cmd.pla: 1371: // -; vmsrc/apple/cmd.pla: 1372: def lastdef#0 -_C027 ; lastdef() - JSR INTERP -; vmsrc/apple/cmd.pla: 1373: end - !BYTE $5C ; RET -; vmsrc/apple/cmd.pla: 1374: // -; vmsrc/apple/cmd.pla: 1375: // Get heap start. -; vmsrc/apple/cmd.pla: 1376: // -; vmsrc/apple/cmd.pla: 1377: heap = @lastdef -_INIT - JSR INTERP -; vmsrc/apple/cmd.pla: 1378: // -; vmsrc/apple/cmd.pla: 1379: // Print PLASMA version -; vmsrc/apple/cmd.pla: 1380: // -; vmsrc/apple/cmd.pla: 1381: prstr("PLASMA 2.0 64K\n")//; prbyte(version.1); cout('.'); prbyte(version.0); crout - !BYTE $26 ; LA _C027+0 -_F230 !WORD _C027+0 - !BYTE $7A ; SAW _D071+0 -_F231 !WORD _D071+0 - !BYTE $2E ; CS - !BYTE $0F - !BYTE $50,$4C,$41,$53,$4D,$41,$20,$32 - !BYTE $2E,$30,$20,$36,$34,$4B,$0D - !BYTE $54 ; CALL _A008 -_F232 !WORD _A008 -; vmsrc/apple/cmd.pla: 1382: // -; vmsrc/apple/cmd.pla: 1383: // Init symbol table. -; vmsrc/apple/cmd.pla: 1384: // -; vmsrc/apple/cmd.pla: 1385: while *sysmodsym - !BYTE $50 ; BRNCH _B165 - !WORD _B165-* -_B163 -; vmsrc/apple/cmd.pla: 1386: stodci(sysmodsym=>0, heap) -; vmsrc/apple/cmd.pla: 1387: addsym(heap, sysmodsym=>2) -; vmsrc/apple/cmd.pla: 1388: sysmodsym = sysmodsym + 4 -; vmsrc/apple/cmd.pla: 1389: loop - !BYTE $6A ; LAW _D069+0 -_F233 !WORD _D069+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D071+0 -_F234 !WORD _D071+0 - !BYTE $54 ; CALL _A019 -_F235 !WORD _A019 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D071+0 -_F236 !WORD _D071+0 - !BYTE $6A ; LAW _D069+0 -_F237 !WORD _D069+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C011 -_F238 !WORD _C011 - !BYTE $6A ; LAW _D069+0 -_F239 !WORD _D069+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $7A ; SAW _D069+0 -_F240 !WORD _D069+0 -_B165 - !BYTE $6A ; LAW _D069+0 -_F241 !WORD _D069+0 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B163 - !WORD _B163-* -_B164 -; vmsrc/apple/cmd.pla: 1390: // -; vmsrc/apple/cmd.pla: 1391: // Set system path -; vmsrc/apple/cmd.pla: 1392: // -; vmsrc/apple/cmd.pla: 1393: strcat(strcpy(@sysmods, $300), "SYS/")) // This is the path to CMD - !BYTE $26 ; LA _D068+0 -_F242 !WORD _D068+0 - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $54 ; CALL _C012 -_F243 !WORD _C012 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $53,$59,$53,$2F - !BYTE $54 ; CALL _C013 -_F244 !WORD _C013 - !BYTE $30 ; DROP -; vmsrc/apple/cmd.pla: 1394: syspath = @sysmods // Update external interface table -; vmsrc/apple/cmd.pla: 1395: syscmdln = @cmdln -; vmsrc/apple/cmd.pla: 1396: // -; vmsrc/apple/cmd.pla: 1397: // Try to load autorun. -; vmsrc/apple/cmd.pla: 1398: // -; vmsrc/apple/cmd.pla: 1399: autorun = open(@autorun) -; vmsrc/apple/cmd.pla: 1400: if autorun -; vmsrc/apple/cmd.pla: 1401: cmdln = read(autorun, @cmdln+1, 81) -; vmsrc/apple/cmd.pla: 1402: strcpy(getlnbuf, @cmdln) -; vmsrc/apple/cmd.pla: 1403: close(0) -; vmsrc/apple/cmd.pla: 1404: else - !BYTE $26 ; LA _D068+0 -_F245 !WORD _D068+0 - !BYTE $7A ; SAW _D032+0 -_F246 !WORD _D032+0 - !BYTE $26 ; LA _D037+0 -_F247 !WORD _D037+0 - !BYTE $7A ; SAW _D033+0 -_F248 !WORD _D033+0 - !BYTE $26 ; LA _D038+0 -_F249 !WORD _D038+0 - !BYTE $54 ; CALL _C002 -_F250 !WORD _C002 - !BYTE $7C ; DAB _D038+0 -_F251 !WORD _D038+0 - !BYTE $4C ; BRFLS _B166 - !WORD _B166-* - !BYTE $68 ; LAB _D038+0 -_F252 !WORD _D038+0 - !BYTE $26 ; LA _D037+1 -_F253 !WORD _D037+1 - !BYTE $2A,$51 ; CB 81 - !BYTE $54 ; CALL _C004 -_F254 !WORD _C004 - !BYTE $78 ; SAB _D037+0 -_F255 !WORD _D037+0 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $26 ; LA _D037+0 -_F256 !WORD _D037+0 - !BYTE $54 ; CALL _C012 -_F257 !WORD _C012 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C003 -_F258 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B167 - !WORD _B167-* -_B166 -; vmsrc/apple/cmd.pla: 1405: ^getlnbuf = 0 -; vmsrc/apple/cmd.pla: 1406: // -; vmsrc/apple/cmd.pla: 1407: // Print some startup info. -; vmsrc/apple/cmd.pla: 1408: // -; vmsrc/apple/cmd.pla: 1409: prstr("MEM FREE:$"); prword(availheap); crout - !BYTE $00 ; CN 0 - !BYTE $78,$FF,$01 ; SAB 511 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $4D,$45,$4D,$20,$46,$52,$45,$45 - !BYTE $3A,$24 - !BYTE $54 ; CALL _A008 -_F259 !WORD _A008 -; vmsrc/apple/cmd.pla: 1410: fin - !BYTE $54 ; CALL _C006 -_F260 !WORD _C006 - !BYTE $54 ; CALL _A009 -_F261 !WORD _A009 - !BYTE $54 ; CALL _A005 -_F262 !WORD _A005 -_B167 -; vmsrc/apple/cmd.pla: 1411: docmds -; vmsrc/apple/cmd.pla: 1412: done - !BYTE $54 ; CALL _C026 -_F263 !WORD _C026 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 diff --git a/src/vmsrc/apple/cmdjit.a b/src/vmsrc/apple/cmdjit.a deleted file mode 100644 index 723a51a..0000000 --- a/src/vmsrc/apple/cmdjit.a +++ /dev/null @@ -1,4201 +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 = $0C00 - ; symtbl = 3072 -; 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: // -; vmsrc/apple/cmdjit.pla: 0008: // System flags: memory allocator screen holes. -; vmsrc/apple/cmdjit.pla: 0009: // -; vmsrc/apple/cmdjit.pla: 0010: const restxt1 = $0001 - ; restxt1 = 1 -; vmsrc/apple/cmdjit.pla: 0011: const restxt2 = $0002 - ; restxt2 = 2 -; vmsrc/apple/cmdjit.pla: 0012: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; vmsrc/apple/cmdjit.pla: 0013: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; vmsrc/apple/cmdjit.pla: 0014: const reshgr1 = $0010 - ; reshgr1 = 16 -; vmsrc/apple/cmdjit.pla: 0015: const reshgr2 = $0020 - ; reshgr2 = 32 -; vmsrc/apple/cmdjit.pla: 0016: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; vmsrc/apple/cmdjit.pla: 0017: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; vmsrc/apple/cmdjit.pla: 0018: const nojitc = $0100 - ; nojitc = 256 -; vmsrc/apple/cmdjit.pla: 0019: // -; vmsrc/apple/cmdjit.pla: 0020: // Module don't free memory -; vmsrc/apple/cmdjit.pla: 0021: // -; vmsrc/apple/cmdjit.pla: 0022: const modkeep = $2000 - ; modkeep = 8192 -; vmsrc/apple/cmdjit.pla: 0023: const modinitkeep = $4000 - ; modinitkeep = 16384 -; vmsrc/apple/cmdjit.pla: 0024: // -; vmsrc/apple/cmdjit.pla: 0025: // Prefix commands -; vmsrc/apple/cmdjit.pla: 0026: // -; vmsrc/apple/cmdjit.pla: 0027: const GET_PFX = $C7 - ; GET_PFX = 199 -; vmsrc/apple/cmdjit.pla: 0028: const SET_PFX = $C6 - ; SET_PFX = 198 -; vmsrc/apple/cmdjit.pla: 0029: // -; vmsrc/apple/cmdjit.pla: 0030: // Indirect interpreter DEFinition entrypoint -; vmsrc/apple/cmdjit.pla: 0031: // -; vmsrc/apple/cmdjit.pla: 0032: struc t_defentry -; vmsrc/apple/cmdjit.pla: 0033: byte interpjsr - ; interpjsr = 0 -; vmsrc/apple/cmdjit.pla: 0034: word interpaddr - ; interpaddr = 1 -; vmsrc/apple/cmdjit.pla: 0035: word bytecodeaddr - ; bytecodeaddr = 3 -; vmsrc/apple/cmdjit.pla: 0036: byte callcount - ; callcount = 5 -; vmsrc/apple/cmdjit.pla: 0037: byte bytecodesize - ; bytecodesize = 6 -; vmsrc/apple/cmdjit.pla: 0038: end - ; t_defentry = 7 -; vmsrc/apple/cmdjit.pla: 0039: // -; vmsrc/apple/cmdjit.pla: 0040: // JIT compiler constants -; vmsrc/apple/cmdjit.pla: 0041: // -; vmsrc/apple/cmdjit.pla: 0042: const jitcbuf = $AF00 - ; jitcbuf = 44800 -; vmsrc/apple/cmdjit.pla: 0043: const jitcomp = $03E2 - ; jitcomp = 994 -; vmsrc/apple/cmdjit.pla: 0044: const jitcodeptr = $03E4 - ; jitcodeptr = 996 -; vmsrc/apple/cmdjit.pla: 0045: const jitmod = $02F0 - ; jitmod = 752 -; vmsrc/apple/cmdjit.pla: 0046: // -; vmsrc/apple/cmdjit.pla: 0047: // Pedefined functions. -; vmsrc/apple/cmdjit.pla: 0048: // -; vmsrc/apple/cmdjit.pla: 0049: predef syscall(cmd,params)#1, call(addr,areg,xreg,yreg,status)#1 -; vmsrc/apple/cmdjit.pla: 0050: 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: 0051: predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr)#1, releaseheap(newheap)#1, availheap()#1 -; vmsrc/apple/cmdjit.pla: 0052: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 -; vmsrc/apple/cmdjit.pla: 0053: 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: 0054: predef execmod(modfile)#1, open(path)#1, close(refnum)#1, read(refnum, buf, len)#1 -; vmsrc/apple/cmdjit.pla: 0055: // -; vmsrc/apple/cmdjit.pla: 0056: // Exported CMDSYS table -; vmsrc/apple/cmdjit.pla: 0057: // -; vmsrc/apple/cmdjit.pla: 0058: word version = $0200 // 02.00 Dev -_D030 ; version = $0200 // 02.00 Dev - !WORD $0200 -; vmsrc/apple/cmdjit.pla: 0059: word syspath -_D031 !FILL 2 ; syspath -; vmsrc/apple/cmdjit.pla: 0060: word syscmdln -_D032 !FILL 2 ; syscmdln -; vmsrc/apple/cmdjit.pla: 0061: word = @execmod, @open, @close, @read, 0 // Mark write() as NULL -_F000 !WORD _P026 -_F001 !WORD _P027 -_F002 !WORD _P028 -_F003 !WORD _P029 - !WORD $0000 -; vmsrc/apple/cmdjit.pla: 0062: byte perr -_D033 !FILL 1 ; perr -; vmsrc/apple/cmdjit.pla: 0063: byte jitcount = 0 -_D034 ; jitcount = 0 - !BYTE $00 -; vmsrc/apple/cmdjit.pla: 0064: byte jitsize = 0 -_D035 ; jitsize = 0 - !BYTE $00 -; vmsrc/apple/cmdjit.pla: 0065: // -; vmsrc/apple/cmdjit.pla: 0066: // Working input buffer overlayed with strings table -; vmsrc/apple/cmdjit.pla: 0067: // -; vmsrc/apple/cmdjit.pla: 0068: byte cmdln = "" -_D036 ; cmdln = "" - !BYTE $00 -; vmsrc/apple/cmdjit.pla: 0069: // -; vmsrc/apple/cmdjit.pla: 0070: // Name for auto-run file (must follow cmdln) -; vmsrc/apple/cmdjit.pla: 0071: // -; vmsrc/apple/cmdjit.pla: 0072: byte autorun = "AUTORUN" -_D037 ; autorun = "AUTORUN" - !BYTE $07 - !BYTE $41,$55,$54,$4F,$52,$55,$4E -; vmsrc/apple/cmdjit.pla: 0073: // -; vmsrc/apple/cmdjit.pla: 0074: // Standard Library exported functions. -; vmsrc/apple/cmdjit.pla: 0075: // -; vmsrc/apple/cmdjit.pla: 0076: byte sysmodstr = "CMDSYS" -_D038 ; sysmodstr = "CMDSYS" - !BYTE $06 - !BYTE $43,$4D,$44,$53,$59,$53 -; vmsrc/apple/cmdjit.pla: 0077: byte putsstr = "PUTS" -_D039 ; putsstr = "PUTS" - !BYTE $04 - !BYTE $50,$55,$54,$53 -; vmsrc/apple/cmdjit.pla: 0078: byte putistr = "PUTI" -_D040 ; putistr = "PUTI" - !BYTE $04 - !BYTE $50,$55,$54,$49 -; vmsrc/apple/cmdjit.pla: 0079: byte putcstr = "PUTC" -_D041 ; putcstr = "PUTC" - !BYTE $04 - !BYTE $50,$55,$54,$43 -; vmsrc/apple/cmdjit.pla: 0080: byte putlnstr = "PUTLN" -_D042 ; putlnstr = "PUTLN" - !BYTE $05 - !BYTE $50,$55,$54,$4C,$4E -; vmsrc/apple/cmdjit.pla: 0081: byte putbstr = "PUTB" -_D043 ; putbstr = "PUTB" - !BYTE $04 - !BYTE $50,$55,$54,$42 -; vmsrc/apple/cmdjit.pla: 0082: byte putwstr = "PUTH" -_D044 ; putwstr = "PUTH" - !BYTE $04 - !BYTE $50,$55,$54,$48 -; vmsrc/apple/cmdjit.pla: 0083: byte getcstr = "GETC" -_D045 ; getcstr = "GETC" - !BYTE $04 - !BYTE $47,$45,$54,$43 -; vmsrc/apple/cmdjit.pla: 0084: byte getsstr = "GETS" -_D046 ; getsstr = "GETS" - !BYTE $04 - !BYTE $47,$45,$54,$53 -; vmsrc/apple/cmdjit.pla: 0085: byte toupstr = "TOUPPER" -_D047 ; toupstr = "TOUPPER" - !BYTE $07 - !BYTE $54,$4F,$55,$50,$50,$45,$52 -; vmsrc/apple/cmdjit.pla: 0086: byte strcpystr = "STRCPY" -_D048 ; strcpystr = "STRCPY" - !BYTE $06 - !BYTE $53,$54,$52,$43,$50,$59 -; vmsrc/apple/cmdjit.pla: 0087: byte strcatstr = "STRCAT" -_D049 ; strcatstr = "STRCAT" - !BYTE $06 - !BYTE $53,$54,$52,$43,$41,$54 -; vmsrc/apple/cmdjit.pla: 0088: byte hpmarkstr = "HEAPMARK" -_D050 ; hpmarkstr = "HEAPMARK" - !BYTE $08 - !BYTE $48,$45,$41,$50,$4D,$41,$52,$4B -; vmsrc/apple/cmdjit.pla: 0089: byte hpalignstr = "HEAPALLOCALIGN" -_D051 ; hpalignstr = "HEAPALLOCALIGN" - !BYTE $0E - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43,$41,$4C,$49,$47,$4E -; vmsrc/apple/cmdjit.pla: 0090: byte hpallocstr = "HEAPALLOC" -_D052 ; hpallocstr = "HEAPALLOC" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43 -; vmsrc/apple/cmdjit.pla: 0091: byte hprelstr = "HEAPRELEASE" -_D053 ; hprelstr = "HEAPRELEASE" - !BYTE $0B - !BYTE $48,$45,$41,$50,$52,$45,$4C,$45 - !BYTE $41,$53,$45 -; vmsrc/apple/cmdjit.pla: 0092: byte hpavlstr = "HEAPAVAIL" -_D054 ; hpavlstr = "HEAPAVAIL" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$56,$41,$49 - !BYTE $4C -; vmsrc/apple/cmdjit.pla: 0093: word memsetstr = "MEMSET" -_D055 ; memsetstr = "MEMSET" - !BYTE $06 - !BYTE $4D,$45,$4D,$53,$45,$54 -; vmsrc/apple/cmdjit.pla: 0094: byte memcpystr = "MEMCPY" -_D056 ; memcpystr = "MEMCPY" - !BYTE $06 - !BYTE $4D,$45,$4D,$43,$50,$59 -; vmsrc/apple/cmdjit.pla: 0095: byte uisgtstr = "ISUGT" -_D057 ; uisgtstr = "ISUGT" - !BYTE $05 - !BYTE $49,$53,$55,$47,$54 -; vmsrc/apple/cmdjit.pla: 0096: byte uisgestr = "ISUGE" -_D058 ; uisgestr = "ISUGE" - !BYTE $05 - !BYTE $49,$53,$55,$47,$45 -; vmsrc/apple/cmdjit.pla: 0097: byte uisltstr = "ISULT" -_D059 ; uisltstr = "ISULT" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$54 -; vmsrc/apple/cmdjit.pla: 0098: byte uislestr = "ISULE" -_D060 ; uislestr = "ISULE" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$45 -; vmsrc/apple/cmdjit.pla: 0099: byte sextstr = "SEXT" -_D061 ; sextstr = "SEXT" - !BYTE $04 - !BYTE $53,$45,$58,$54 -; vmsrc/apple/cmdjit.pla: 0100: byte divmodstr = "DIVMOD" -_D062 ; divmodstr = "DIVMOD" - !BYTE $06 - !BYTE $44,$49,$56,$4D,$4F,$44 -; vmsrc/apple/cmdjit.pla: 0101: byte machidstr = "MACHID" -_D063 ; machidstr = "MACHID" - !BYTE $06 - !BYTE $4D,$41,$43,$48,$49,$44 -; vmsrc/apple/cmdjit.pla: 0102: byte sysstr = "SYSCALL" -_D064 ; sysstr = "SYSCALL" - !BYTE $07 - !BYTE $53,$59,$53,$43,$41,$4C,$4C -; vmsrc/apple/cmdjit.pla: 0103: byte callstr = "CALL" -_D065 ; callstr = "CALL" - !BYTE $04 - !BYTE $43,$41,$4C,$4C -; vmsrc/apple/cmdjit.pla: 0104: word exports = @sysmodstr, @version -_D066 ; exports = @sysmodstr, @version -_F004 !WORD _D038 -_F005 !WORD _D030 -; vmsrc/apple/cmdjit.pla: 0105: word = @sysstr, @syscall -_F006 !WORD _D064 -_F007 !WORD _P000 -; vmsrc/apple/cmdjit.pla: 0106: word = @callstr, @call -_F008 !WORD _D065 -_F009 !WORD _P001 -; vmsrc/apple/cmdjit.pla: 0107: word = @putcstr, @cout -_F010 !WORD _D041 -_F011 !WORD _P003 -; vmsrc/apple/cmdjit.pla: 0108: word = @putlnstr, @crout -_F012 !WORD _D042 -_F013 !WORD _P002 -; vmsrc/apple/cmdjit.pla: 0109: word = @putsstr, @prstr -_F014 !WORD _D039 -_F015 !WORD _P004 -; vmsrc/apple/cmdjit.pla: 0110: word = @putbstr, @prbyte -_F016 !WORD _D043 -_F017 !WORD _P005 -; vmsrc/apple/cmdjit.pla: 0111: word = @putwstr, @prword -_F018 !WORD _D044 -_F019 !WORD _P006 -; vmsrc/apple/cmdjit.pla: 0112: word = @putistr, @print -_F020 !WORD _D040 -_F021 !WORD _P007 -; vmsrc/apple/cmdjit.pla: 0113: word = @getcstr, @cin -_F022 !WORD _D045 -_F023 !WORD _P008 -; vmsrc/apple/cmdjit.pla: 0114: word = @getsstr, @rdstr -_F024 !WORD _D046 -_F025 !WORD _P009 -; vmsrc/apple/cmdjit.pla: 0115: word = @toupstr, @toupper -_F026 !WORD _D047 -_F027 !WORD _P010 -; vmsrc/apple/cmdjit.pla: 0116: word = @hpmarkstr, @markheap -_F028 !WORD _D050 -_F029 !WORD _P011 -; vmsrc/apple/cmdjit.pla: 0117: byte sysmods[] // overlay with exported strings -_D067 ; sysmods[] // overlay with exported strings -; vmsrc/apple/cmdjit.pla: 0118: word = @hpallocstr,@allocheap -_F030 !WORD _D052 -_F031 !WORD _P012 -; vmsrc/apple/cmdjit.pla: 0119: word = @hpalignstr,@allocalignheap -_F032 !WORD _D051 -_F033 !WORD _P013 -; vmsrc/apple/cmdjit.pla: 0120: word = @hprelstr, @releaseheap -_F034 !WORD _D053 -_F035 !WORD _P014 -; vmsrc/apple/cmdjit.pla: 0121: word = @hpavlstr, @availheap -_F036 !WORD _D054 -_F037 !WORD _P015 -; vmsrc/apple/cmdjit.pla: 0122: word = @memsetstr, @memset -_F038 !WORD _D055 -_F039 !WORD _P016 -; vmsrc/apple/cmdjit.pla: 0123: word = @memcpystr, @memcpy -_F040 !WORD _D056 -_F041 !WORD _P017 -; vmsrc/apple/cmdjit.pla: 0124: word = @uisgtstr, @uword_isgt -_F042 !WORD _D057 -_F043 !WORD _P020 -; vmsrc/apple/cmdjit.pla: 0125: word = @uisgestr, @uword_isge -_F044 !WORD _D058 -_F045 !WORD _P021 -; vmsrc/apple/cmdjit.pla: 0126: word = @uisltstr, @uword_islt -_F046 !WORD _D059 -_F047 !WORD _P022 -; vmsrc/apple/cmdjit.pla: 0127: word = @uislestr, @uword_isle -_F048 !WORD _D060 -_F049 !WORD _P023 -; vmsrc/apple/cmdjit.pla: 0128: word = @strcpystr, @strcpy -_F050 !WORD _D048 -_F051 !WORD _P018 -; vmsrc/apple/cmdjit.pla: 0129: word = @strcatstr, @strcat -_F052 !WORD _D049 -_F053 !WORD _P019 -; vmsrc/apple/cmdjit.pla: 0130: word = @sextstr, @sext -_F054 !WORD _D061 -_F055 !WORD _P024 -; vmsrc/apple/cmdjit.pla: 0131: word = @divmodstr, @divmod -_F056 !WORD _D062 -_F057 !WORD _P025 -; vmsrc/apple/cmdjit.pla: 0132: word = @machidstr, MACHID -_F058 !WORD _D063 - !WORD $BF98 -; vmsrc/apple/cmdjit.pla: 0133: word = 0 - !WORD $0000 -; vmsrc/apple/cmdjit.pla: 0134: word sysmodsym = @exports -_D068 ; sysmodsym = @exports -_F059 !WORD _D066 -; vmsrc/apple/cmdjit.pla: 0135: // -; vmsrc/apple/cmdjit.pla: 0136: // System variable. -; vmsrc/apple/cmdjit.pla: 0137: // -; vmsrc/apple/cmdjit.pla: 0138: word systemflags = 0 -_D069 ; systemflags = 0 - !WORD $0000 -; vmsrc/apple/cmdjit.pla: 0139: word heap -_D070 !FILL 2 ; heap -; vmsrc/apple/cmdjit.pla: 0140: word xheap = $A000 // Set load address for JIT compiler -_D071 ; xheap = $A000 // Set load address for JIT compiler - !WORD $A000 -; vmsrc/apple/cmdjit.pla: 0141: word xheaptop = $C000 -_D072 ; xheaptop = $C000 - !WORD $C000 -; vmsrc/apple/cmdjit.pla: 0142: word lastsym = symtbl -_D073 ; lastsym = symtbl - !WORD $0C00 -; vmsrc/apple/cmdjit.pla: 0143: // -; vmsrc/apple/cmdjit.pla: 0144: // Utility functions -; vmsrc/apple/cmdjit.pla: 0145: // -; vmsrc/apple/cmdjit.pla: 0146: //asm equates included from cmdstub.s -; vmsrc/apple/cmdjit.pla: 0147: // -; vmsrc/apple/cmdjit.pla: 0148: // CALL PRODOS -; vmsrc/apple/cmdjit.pla: 0149: // SYSCALL(CMD, PARAMS) -; vmsrc/apple/cmdjit.pla: 0150: // -; vmsrc/apple/cmdjit.pla: 0151: asm syscall(cmd,params)#1 -_P000 ; syscall(cmd,params)#1() -_A000 ; syscall() -; vmsrc/apple/cmdjit.pla: 0152: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0153: LDY ESTKH,X - LDY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0154: STA PARAMS - STA PARAMS -; vmsrc/apple/cmdjit.pla: 0155: STY PARAMS+1 - STY PARAMS+1 -; vmsrc/apple/cmdjit.pla: 0156: INX - INX -; vmsrc/apple/cmdjit.pla: 0157: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0158: STA CMD - STA CMD -; vmsrc/apple/cmdjit.pla: 0159: JSR $BF00 - JSR $BF00 -; vmsrc/apple/cmdjit.pla: 0160: CMD: !BYTE 00 -CMD: !BYTE 00 -; vmsrc/apple/cmdjit.pla: 0161: PARAMS: !WORD 0000 -PARAMS: !WORD 0000 -; vmsrc/apple/cmdjit.pla: 0162: ; LDY #$00 -; LDY #$00 -; vmsrc/apple/cmdjit.pla: 0163: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0164: ; STY ESTKH,X -; STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0165: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0166: end -; vmsrc/apple/cmdjit.pla: 0167: // -; vmsrc/apple/cmdjit.pla: 0168: // CALL 6502 ROUTINE -; vmsrc/apple/cmdjit.pla: 0169: // CALL(ADDR, AREG, XREG, YREG, STATUS) -; vmsrc/apple/cmdjit.pla: 0170: // -; vmsrc/apple/cmdjit.pla: 0171: asm call(addr,areg,xreg,yreg,status)#1 -_P001 ; call(addr,areg,xreg,yreg,status)#1() -_A001 ; call() -; vmsrc/apple/cmdjit.pla: 0172: REGVALS = SRC -REGVALS = SRC -; vmsrc/apple/cmdjit.pla: 0173: PHP - PHP -; vmsrc/apple/cmdjit.pla: 0174: LDA ESTKL+4,X - LDA ESTKL+4,X -; vmsrc/apple/cmdjit.pla: 0175: STA TMPL - STA TMPL -; vmsrc/apple/cmdjit.pla: 0176: LDA ESTKH+4,X - LDA ESTKH+4,X -; vmsrc/apple/cmdjit.pla: 0177: STA TMPH - STA TMPH -; vmsrc/apple/cmdjit.pla: 0178: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0179: PHA - PHA -; vmsrc/apple/cmdjit.pla: 0180: LDY ESTKL+1,X - LDY ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0181: LDA ESTKL+3,X - LDA ESTKL+3,X -; vmsrc/apple/cmdjit.pla: 0182: PHA - PHA -; vmsrc/apple/cmdjit.pla: 0183: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/cmdjit.pla: 0184: INX - INX -; vmsrc/apple/cmdjit.pla: 0185: INX - INX -; vmsrc/apple/cmdjit.pla: 0186: INX - INX -; vmsrc/apple/cmdjit.pla: 0187: INX - INX -; vmsrc/apple/cmdjit.pla: 0188: STX ESP - STX ESP -; vmsrc/apple/cmdjit.pla: 0189: TAX - TAX -; vmsrc/apple/cmdjit.pla: 0190: PLA - PLA -; vmsrc/apple/cmdjit.pla: 0191: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0192: PLP - PLP -; vmsrc/apple/cmdjit.pla: 0193: JSR JMPTMP - JSR JMPTMP -; vmsrc/apple/cmdjit.pla: 0194: PHP - PHP -; vmsrc/apple/cmdjit.pla: 0195: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmdjit.pla: 0196: STA REGVALS+0 - STA REGVALS+0 -; vmsrc/apple/cmdjit.pla: 0197: STX REGVALS+1 - STX REGVALS+1 -; vmsrc/apple/cmdjit.pla: 0198: STY REGVALS+2 - STY REGVALS+2 -; vmsrc/apple/cmdjit.pla: 0199: PLA - PLA -; vmsrc/apple/cmdjit.pla: 0200: STA REGVALS+3 - STA REGVALS+3 -; vmsrc/apple/cmdjit.pla: 0201: LDX ESP - LDX ESP -; vmsrc/apple/cmdjit.pla: 0202: LDA #REGVALS - LDY #>REGVALS -; vmsrc/apple/cmdjit.pla: 0204: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0205: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0206: PLP - PLP -; vmsrc/apple/cmdjit.pla: 0207: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0208: end -; vmsrc/apple/cmdjit.pla: 0209: // -; vmsrc/apple/cmdjit.pla: 0210: // CALL LOADED SYSTEM PROGRAM -; vmsrc/apple/cmdjit.pla: 0211: // -; vmsrc/apple/cmdjit.pla: 0212: asm exec()#0 -_A002 ; exec() -; vmsrc/apple/cmdjit.pla: 0213: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0214: JMP $2000 - JMP $2000 -; vmsrc/apple/cmdjit.pla: 0215: end -; vmsrc/apple/cmdjit.pla: 0216: // -; vmsrc/apple/cmdjit.pla: 0217: // SET MEMORY TO VALUE -; vmsrc/apple/cmdjit.pla: 0218: // MEMSET(ADDR, VALUE, SIZE) -; vmsrc/apple/cmdjit.pla: 0219: // With optimizations from Peter Ferrie -; vmsrc/apple/cmdjit.pla: 0220: // -; vmsrc/apple/cmdjit.pla: 0221: asm memset(addr,value,size)#0 -_P016 ; memset(addr,value,size)#0() -_A003 ; memset() -; vmsrc/apple/cmdjit.pla: 0222: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/cmdjit.pla: 0223: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0224: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/cmdjit.pla: 0225: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0226: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/cmdjit.pla: 0227: BEQ + - BEQ + -; vmsrc/apple/cmdjit.pla: 0228: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/cmdjit.pla: 0229: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0230: + LDA ESTKH,X -+ LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0231: BEQ SETMEX - BEQ SETMEX -; vmsrc/apple/cmdjit.pla: 0232: SETMLPL CLC -SETMLPL CLC -; vmsrc/apple/cmdjit.pla: 0233: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0234: SETMLPH STA (DST),Y -SETMLPH STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0235: DEC ESTKL,X - DEC ESTKL,X -; vmsrc/apple/cmdjit.pla: 0236: BEQ ++ - BEQ ++ -; vmsrc/apple/cmdjit.pla: 0237: - INY -- INY -; vmsrc/apple/cmdjit.pla: 0238: BEQ + - BEQ + -; vmsrc/apple/cmdjit.pla: 0239: -- BCS SETMLPL --- BCS SETMLPL -; vmsrc/apple/cmdjit.pla: 0240: SEC - SEC -; vmsrc/apple/cmdjit.pla: 0241: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0242: BCS SETMLPH - BCS SETMLPH -; vmsrc/apple/cmdjit.pla: 0243: + INC DSTH -+ INC DSTH -; vmsrc/apple/cmdjit.pla: 0244: BNE -- - BNE -- -; vmsrc/apple/cmdjit.pla: 0245: ++ DEC ESTKH,X -++ DEC ESTKH,X -; vmsrc/apple/cmdjit.pla: 0246: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0247: SETMEX INX -SETMEX INX -; vmsrc/apple/cmdjit.pla: 0248: INX - INX -; vmsrc/apple/cmdjit.pla: 0249: INX - INX -; vmsrc/apple/cmdjit.pla: 0250: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0251: end -; vmsrc/apple/cmdjit.pla: 0252: // -; vmsrc/apple/cmdjit.pla: 0253: // COPY MEMORY -; vmsrc/apple/cmdjit.pla: 0254: // MEMCPY(DSTADDR, SRCADDR, SIZE) -; vmsrc/apple/cmdjit.pla: 0255: // -; vmsrc/apple/cmdjit.pla: 0256: asm memcpy(dst,src,size)#0 -_P017 ; memcpy(dst,src,size)#0() -_A004 ; memcpy() -; vmsrc/apple/cmdjit.pla: 0257: INX - INX -; vmsrc/apple/cmdjit.pla: 0258: INX - INX -; vmsrc/apple/cmdjit.pla: 0259: INX - INX -; vmsrc/apple/cmdjit.pla: 0260: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0261: ORA ESTKH-3,X - ORA ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0262: BEQ CPYMEX - BEQ CPYMEX -; vmsrc/apple/cmdjit.pla: 0263: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/cmdjit.pla: 0264: CMP ESTKL-1,X - CMP ESTKL-1,X -; vmsrc/apple/cmdjit.pla: 0265: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/cmdjit.pla: 0266: SBC ESTKH-1,X - SBC ESTKH-1,X -; vmsrc/apple/cmdjit.pla: 0267: BCC REVCPY - BCC REVCPY -; vmsrc/apple/cmdjit.pla: 0268: ; -; vmsrc/apple/cmdjit.pla: 0269: ; FORWARD COPY -; FORWARD COPY -; vmsrc/apple/cmdjit.pla: 0270: ; -; vmsrc/apple/cmdjit.pla: 0271: LDA ESTKL-1,X - LDA ESTKL-1,X -; vmsrc/apple/cmdjit.pla: 0272: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0273: LDA ESTKH-1,X - LDA ESTKH-1,X -; vmsrc/apple/cmdjit.pla: 0274: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0275: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/cmdjit.pla: 0276: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0277: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/cmdjit.pla: 0278: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0279: LDY ESTKL-3,X - LDY ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0280: BEQ FORCPYLP - BEQ FORCPYLP -; vmsrc/apple/cmdjit.pla: 0281: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0282: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0283: FORCPYLP LDA (SRC),Y -FORCPYLP LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0284: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0285: INY - INY -; vmsrc/apple/cmdjit.pla: 0286: BNE + - BNE + -; vmsrc/apple/cmdjit.pla: 0287: INC DSTH - INC DSTH -; vmsrc/apple/cmdjit.pla: 0288: INC SRCH - INC SRCH -; vmsrc/apple/cmdjit.pla: 0289: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0290: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/cmdjit.pla: 0291: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0292: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/cmdjit.pla: 0293: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0294: ; -; vmsrc/apple/cmdjit.pla: 0295: ; REVERSE COPY -; REVERSE COPY -; vmsrc/apple/cmdjit.pla: 0296: ; -; vmsrc/apple/cmdjit.pla: 0297: REVCPY ;CLC -REVCPY ;CLC -; vmsrc/apple/cmdjit.pla: 0298: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0299: ADC ESTKL-1,X - ADC ESTKL-1,X -; vmsrc/apple/cmdjit.pla: 0300: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0301: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0302: ADC ESTKH-1,X - ADC ESTKH-1,X -; vmsrc/apple/cmdjit.pla: 0303: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0304: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0305: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0306: ADC ESTKL-2,X - ADC ESTKL-2,X -; vmsrc/apple/cmdjit.pla: 0307: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0308: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0309: ADC ESTKH-2,X - ADC ESTKH-2,X -; vmsrc/apple/cmdjit.pla: 0310: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0311: DEC DSTH - DEC DSTH -; vmsrc/apple/cmdjit.pla: 0312: DEC SRCH - DEC SRCH -; vmsrc/apple/cmdjit.pla: 0313: LDY #$FF - LDY #$FF -; vmsrc/apple/cmdjit.pla: 0314: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0315: BEQ REVCPYLP - BEQ REVCPYLP -; vmsrc/apple/cmdjit.pla: 0316: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0317: REVCPYLP LDA (SRC),Y -REVCPYLP LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0318: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0319: DEY - DEY -; vmsrc/apple/cmdjit.pla: 0320: CPY #$FF - CPY #$FF -; vmsrc/apple/cmdjit.pla: 0321: BNE + - BNE + -; vmsrc/apple/cmdjit.pla: 0322: DEC DSTH - DEC DSTH -; vmsrc/apple/cmdjit.pla: 0323: DEC SRCH - DEC SRCH -; vmsrc/apple/cmdjit.pla: 0324: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0325: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/cmdjit.pla: 0326: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0327: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/cmdjit.pla: 0328: CPYMEX RTS -CPYMEX RTS -; vmsrc/apple/cmdjit.pla: 0329: end -; vmsrc/apple/cmdjit.pla: 0330: asm crout()#0 -_P002 ; crout()#0() -_A005 ; crout() -; vmsrc/apple/cmdjit.pla: 0331: LDA #$8D - LDA #$8D -; vmsrc/apple/cmdjit.pla: 0332: BNE ++ - BNE ++ -; vmsrc/apple/cmdjit.pla: 0333: end -; vmsrc/apple/cmdjit.pla: 0334: // -; vmsrc/apple/cmdjit.pla: 0335: // CHAR OUT -; vmsrc/apple/cmdjit.pla: 0336: // COUT(CHAR) -; vmsrc/apple/cmdjit.pla: 0337: // -; vmsrc/apple/cmdjit.pla: 0338: asm cout(c)#0 -_P003 ; cout(c)#0() -_A006 ; cout() -; vmsrc/apple/cmdjit.pla: 0339: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0340: BIT $BF98 - BIT $BF98 -; vmsrc/apple/cmdjit.pla: 0341: BMI + - BMI + -; vmsrc/apple/cmdjit.pla: 0342: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmdjit.pla: 0343: + ORA #$80 -+ ORA #$80 -; vmsrc/apple/cmdjit.pla: 0344: INX - INX -; vmsrc/apple/cmdjit.pla: 0345: ++ BIT ROMEN -++ BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0346: JSR $FDED - JSR $FDED -; vmsrc/apple/cmdjit.pla: 0347: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmdjit.pla: 0348: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0349: end -; vmsrc/apple/cmdjit.pla: 0350: // -; vmsrc/apple/cmdjit.pla: 0351: // CHAR IN -; vmsrc/apple/cmdjit.pla: 0352: // RDKEY() -; vmsrc/apple/cmdjit.pla: 0353: // -; vmsrc/apple/cmdjit.pla: 0354: asm cin()#1 -_P008 ; cin()#1() -_A007 ; cin() -; vmsrc/apple/cmdjit.pla: 0355: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0356: JSR $FD0C - JSR $FD0C -; vmsrc/apple/cmdjit.pla: 0357: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmdjit.pla: 0358: DEX - DEX -; vmsrc/apple/cmdjit.pla: 0359: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0360: AND #$7F - AND #$7F -; vmsrc/apple/cmdjit.pla: 0361: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0362: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0363: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0364: end -; vmsrc/apple/cmdjit.pla: 0365: // -; vmsrc/apple/cmdjit.pla: 0366: // PRINT STRING -; vmsrc/apple/cmdjit.pla: 0367: // PRSTR(STR) -; vmsrc/apple/cmdjit.pla: 0368: // -; vmsrc/apple/cmdjit.pla: 0369: asm prstr(s)#0 -_P004 ; prstr(s)#0() -_A008 ; prstr() -; vmsrc/apple/cmdjit.pla: 0370: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0371: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0372: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0373: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0374: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0375: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0376: BEQ ++ - BEQ ++ -; vmsrc/apple/cmdjit.pla: 0377: STA TMP - STA TMP -; vmsrc/apple/cmdjit.pla: 0378: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0379: - INY -- INY -; vmsrc/apple/cmdjit.pla: 0380: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0381: BIT $BF98 - BIT $BF98 -; vmsrc/apple/cmdjit.pla: 0382: BMI + - BMI + -; vmsrc/apple/cmdjit.pla: 0383: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmdjit.pla: 0384: + ORA #$80 -+ ORA #$80 -; vmsrc/apple/cmdjit.pla: 0385: JSR $FDED - JSR $FDED -; vmsrc/apple/cmdjit.pla: 0386: CPY TMP - CPY TMP -; vmsrc/apple/cmdjit.pla: 0387: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0388: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmdjit.pla: 0389: ++ INX -++ INX -; vmsrc/apple/cmdjit.pla: 0390: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0391: end -; vmsrc/apple/cmdjit.pla: 0392: // -; vmsrc/apple/cmdjit.pla: 0393: // PRINT WORD -; vmsrc/apple/cmdjit.pla: 0394: // -; vmsrc/apple/cmdjit.pla: 0395: asm prword(w)#0 -_P006 ; prword(w)#0() -_A009 ; prword() -; vmsrc/apple/cmdjit.pla: 0396: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0397: JSR + - JSR + -; vmsrc/apple/cmdjit.pla: 0398: DEX - DEX -; vmsrc/apple/cmdjit.pla: 0399: ; FALL THROUGH TO PRBYTE - ; FALL THROUGH TO PRBYTE -; vmsrc/apple/cmdjit.pla: 0400: end -; vmsrc/apple/cmdjit.pla: 0401: // -; vmsrc/apple/cmdjit.pla: 0402: // PRINT BYTE -; vmsrc/apple/cmdjit.pla: 0403: // -; vmsrc/apple/cmdjit.pla: 0404: asm prbyte(b)#0 -_P005 ; prbyte(b)#0() -_A010 ; prbyte() -; vmsrc/apple/cmdjit.pla: 0405: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0406: + STX ESP -+ STX ESP -; vmsrc/apple/cmdjit.pla: 0407: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0408: JSR $FDDA - JSR $FDDA -; vmsrc/apple/cmdjit.pla: 0409: LDX ESP - LDX ESP -; vmsrc/apple/cmdjit.pla: 0410: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmdjit.pla: 0411: INX - INX -; vmsrc/apple/cmdjit.pla: 0412: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0413: end -; vmsrc/apple/cmdjit.pla: 0414: // -; vmsrc/apple/cmdjit.pla: 0415: // READ STRING -; vmsrc/apple/cmdjit.pla: 0416: // STR = RDSTR(PROMPTCHAR) -; vmsrc/apple/cmdjit.pla: 0417: // -; vmsrc/apple/cmdjit.pla: 0418: asm rdstr(p)#1 -_P009 ; rdstr(p)#1() -_A011 ; rdstr() -; vmsrc/apple/cmdjit.pla: 0419: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0420: STA $33 - STA $33 -; vmsrc/apple/cmdjit.pla: 0421: STX ESP - STX ESP -; vmsrc/apple/cmdjit.pla: 0422: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0423: JSR $FD6A - JSR $FD6A -; vmsrc/apple/cmdjit.pla: 0424: STX $01FF - STX $01FF -; vmsrc/apple/cmdjit.pla: 0425: - LDA $01FF,X -- LDA $01FF,X -; vmsrc/apple/cmdjit.pla: 0426: AND #$7F - AND #$7F -; vmsrc/apple/cmdjit.pla: 0427: STA $01FF,X - STA $01FF,X -; vmsrc/apple/cmdjit.pla: 0428: DEX - DEX -; vmsrc/apple/cmdjit.pla: 0429: BPL - - BPL - -; vmsrc/apple/cmdjit.pla: 0430: TXA - TXA -; vmsrc/apple/cmdjit.pla: 0431: LDX ESP - LDX ESP -; vmsrc/apple/cmdjit.pla: 0432: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0433: LDA #$01 - LDA #$01 -; vmsrc/apple/cmdjit.pla: 0434: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0435: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmdjit.pla: 0436: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0437: end -; vmsrc/apple/cmdjit.pla: 0438: asm uword_isge(a,b)#1 -_P021 ; uword_isge(a,b)#1() -_A012 ; uword_isge() -; vmsrc/apple/cmdjit.pla: 0439: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0440: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/cmdjit.pla: 0441: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0442: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/cmdjit.pla: 0443: LDA #$FF - LDA #$FF -; vmsrc/apple/cmdjit.pla: 0444: ADC #$00 - ADC #$00 -; vmsrc/apple/cmdjit.pla: 0445: EOR #$FF - EOR #$FF -; vmsrc/apple/cmdjit.pla: 0446: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0447: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0448: INX - INX -; vmsrc/apple/cmdjit.pla: 0449: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0450: end -; vmsrc/apple/cmdjit.pla: 0451: asm uword_isle(a,b)#1 -_P023 ; uword_isle(a,b)#1() -_A013 ; uword_isle() -; vmsrc/apple/cmdjit.pla: 0452: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0453: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0454: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0455: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0456: LDA #$FF - LDA #$FF -; vmsrc/apple/cmdjit.pla: 0457: ADC #$00 - ADC #$00 -; vmsrc/apple/cmdjit.pla: 0458: EOR #$FF - EOR #$FF -; vmsrc/apple/cmdjit.pla: 0459: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0460: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0461: INX - INX -; vmsrc/apple/cmdjit.pla: 0462: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0463: end -; vmsrc/apple/cmdjit.pla: 0464: asm uword_isgt(a,b)#1 -_P020 ; uword_isgt(a,b)#1() -_A014 ; uword_isgt() -; vmsrc/apple/cmdjit.pla: 0465: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0466: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0467: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0468: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0469: LDA #$FF - LDA #$FF -; vmsrc/apple/cmdjit.pla: 0470: ADC #$00 - ADC #$00 -; 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_islt(a,b)#1 -_P022 ; uword_islt(a,b)#1() -_A015 ; uword_islt() -; vmsrc/apple/cmdjit.pla: 0477: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0478: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/cmdjit.pla: 0479: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0480: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/cmdjit.pla: 0481: LDA #$FF - LDA #$FF -; vmsrc/apple/cmdjit.pla: 0482: ADC #$00 - ADC #$00 -; vmsrc/apple/cmdjit.pla: 0483: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0484: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0485: INX - INX -; vmsrc/apple/cmdjit.pla: 0486: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0487: end -; vmsrc/apple/cmdjit.pla: 0488: asm divmod(a,b)#2 -_P025 ; divmod(a,b)#2() -_A016 ; divmod() -; vmsrc/apple/cmdjit.pla: 0489: JSR INTERP ; CALL INTERP - JSR INTERP ; CALL INTERP -; vmsrc/apple/cmdjit.pla: 0490: !BYTE $36, $5C ; DIVMOD, RET - !BYTE $36, $5C ; DIVMOD, RET -; vmsrc/apple/cmdjit.pla: 0491: end -; vmsrc/apple/cmdjit.pla: 0492: asm sext(a)#1 -_P024 ; sext(a)#1() -_A017 ; sext() -; vmsrc/apple/cmdjit.pla: 0493: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0494: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0495: BPL + - BPL + -; vmsrc/apple/cmdjit.pla: 0496: DEY - DEY -; vmsrc/apple/cmdjit.pla: 0497: + STY ESTKH,X -+ STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0498: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0499: end -; vmsrc/apple/cmdjit.pla: 0500: // -; vmsrc/apple/cmdjit.pla: 0501: // Utility routines. -; vmsrc/apple/cmdjit.pla: 0502: // -; vmsrc/apple/cmdjit.pla: 0503: // A DCI string is one that has the high bit set for every character except the last. -; vmsrc/apple/cmdjit.pla: 0504: // More efficient than C or Pascal strings. -; vmsrc/apple/cmdjit.pla: 0505: // -; vmsrc/apple/cmdjit.pla: 0506: //def dcitos(dci, str) -; vmsrc/apple/cmdjit.pla: 0507: // byte len, c -; vmsrc/apple/cmdjit.pla: 0508: // len = 0 -; vmsrc/apple/cmdjit.pla: 0509: // repeat -; vmsrc/apple/cmdjit.pla: 0510: // c = (dci).[len] -; vmsrc/apple/cmdjit.pla: 0511: // len = len + 1 -; vmsrc/apple/cmdjit.pla: 0512: // (str).[len] = c & $7F -; vmsrc/apple/cmdjit.pla: 0513: // until !(c & $80) -; vmsrc/apple/cmdjit.pla: 0514: // ^str = len -; vmsrc/apple/cmdjit.pla: 0515: // return len -; vmsrc/apple/cmdjit.pla: 0516: //end -; vmsrc/apple/cmdjit.pla: 0517: asm dcitos(dci, str)#1 -_A018 ; dcitos() -; vmsrc/apple/cmdjit.pla: 0518: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0519: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0520: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0521: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0522: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0523: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0524: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0525: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0526: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0527: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0528: CMP #$80 - CMP #$80 -; vmsrc/apple/cmdjit.pla: 0529: AND #$7F - AND #$7F -; vmsrc/apple/cmdjit.pla: 0530: INY - INY -; vmsrc/apple/cmdjit.pla: 0531: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0532: BCS - - BCS - -; vmsrc/apple/cmdjit.pla: 0533: TYA - TYA -; vmsrc/apple/cmdjit.pla: 0534: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0535: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0536: INX - INX -; vmsrc/apple/cmdjit.pla: 0537: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0538: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0539: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0540: end -; vmsrc/apple/cmdjit.pla: 0541: //def stodci(str, dci) -; vmsrc/apple/cmdjit.pla: 0542: // byte len, c -; vmsrc/apple/cmdjit.pla: 0543: // len = ^str -; vmsrc/apple/cmdjit.pla: 0544: // if len == 0 -; vmsrc/apple/cmdjit.pla: 0545: // return -; vmsrc/apple/cmdjit.pla: 0546: // fin -; vmsrc/apple/cmdjit.pla: 0547: // c = toupper((str).[len]) & $7F -; vmsrc/apple/cmdjit.pla: 0548: // len = len - 1 -; vmsrc/apple/cmdjit.pla: 0549: // (dci).[len] = c -; vmsrc/apple/cmdjit.pla: 0550: // while len -; vmsrc/apple/cmdjit.pla: 0551: // c = toupper((str).[len]) | $80 -; vmsrc/apple/cmdjit.pla: 0552: // len = len - 1 -; vmsrc/apple/cmdjit.pla: 0553: // (dci).[len] = c -; vmsrc/apple/cmdjit.pla: 0554: // loop -; vmsrc/apple/cmdjit.pla: 0555: // return ^str -; vmsrc/apple/cmdjit.pla: 0556: //end -; vmsrc/apple/cmdjit.pla: 0557: asm stodci(str,dci)#1 -_A019 ; stodci() -; vmsrc/apple/cmdjit.pla: 0558: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0559: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0560: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0561: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0562: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0563: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0564: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0565: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0566: INX - INX -; vmsrc/apple/cmdjit.pla: 0567: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0568: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0569: BEQ ++ - BEQ ++ -; vmsrc/apple/cmdjit.pla: 0570: TAY - TAY -; vmsrc/apple/cmdjit.pla: 0571: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0572: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmdjit.pla: 0573: BNE + - BNE + -; vmsrc/apple/cmdjit.pla: 0574: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0575: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmdjit.pla: 0576: ORA #$80 - ORA #$80 -; vmsrc/apple/cmdjit.pla: 0577: + DEY -+ DEY -; vmsrc/apple/cmdjit.pla: 0578: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0579: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0580: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0581: ++ STA ESTKL,X -++ STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0582: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0583: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0584: end -; vmsrc/apple/cmdjit.pla: 0585: asm toupper(c)#1 -_P010 ; toupper(c)#1() -_A020 ; toupper() -; vmsrc/apple/cmdjit.pla: 0586: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0587: TOUPR AND #$7F -TOUPR AND #$7F -; vmsrc/apple/cmdjit.pla: 0588: CMP #'a' - CMP #'a' -; vmsrc/apple/cmdjit.pla: 0589: BCC + - BCC + -; vmsrc/apple/cmdjit.pla: 0590: CMP #'z'+1 - CMP #'z'+1 -; vmsrc/apple/cmdjit.pla: 0591: BCS + - BCS + -; vmsrc/apple/cmdjit.pla: 0592: SBC #$1F - SBC #$1F -; vmsrc/apple/cmdjit.pla: 0593: + STA ESTKL,X -+ STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0594: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0595: end -; vmsrc/apple/cmdjit.pla: 0596: // -; vmsrc/apple/cmdjit.pla: 0597: // Lookup routines. -; vmsrc/apple/cmdjit.pla: 0598: // -; vmsrc/apple/cmdjit.pla: 0599: //def lookuptbl(dci, tbl) -; vmsrc/apple/cmdjit.pla: 0600: // word match -; vmsrc/apple/cmdjit.pla: 0601: // while ^tbl -; vmsrc/apple/cmdjit.pla: 0602: // match = dci -; vmsrc/apple/cmdjit.pla: 0603: // while ^tbl == ^match -; vmsrc/apple/cmdjit.pla: 0604: // if !(^tbl & $80) -; vmsrc/apple/cmdjit.pla: 0605: // return (tbl):1 -; vmsrc/apple/cmdjit.pla: 0606: // fin -; vmsrc/apple/cmdjit.pla: 0607: // tbl = tbl + 1 -; vmsrc/apple/cmdjit.pla: 0608: // match = match + 1 -; vmsrc/apple/cmdjit.pla: 0609: // loop -; vmsrc/apple/cmdjit.pla: 0610: // while (^tbl & $80) -; vmsrc/apple/cmdjit.pla: 0611: // tbl = tbl + 1 -; vmsrc/apple/cmdjit.pla: 0612: // loop -; vmsrc/apple/cmdjit.pla: 0613: // tbl = tbl + 3 -; vmsrc/apple/cmdjit.pla: 0614: // loop -; vmsrc/apple/cmdjit.pla: 0615: // return 0 -; vmsrc/apple/cmdjit.pla: 0616: asm lookuptbl(dci, tbl)#1 -_A021 ; lookuptbl() -; vmsrc/apple/cmdjit.pla: 0617: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0618: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0619: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0620: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0621: INX - INX -; vmsrc/apple/cmdjit.pla: 0622: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0623: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0624: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0625: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0626: -- LDY #$00 --- LDY #$00 -; vmsrc/apple/cmdjit.pla: 0627: - LDA (DST),Y -- LDA (DST),Y -; vmsrc/apple/cmdjit.pla: 0628: BEQ + - BEQ + -; vmsrc/apple/cmdjit.pla: 0629: CMP (SRC),Y - CMP (SRC),Y -; vmsrc/apple/cmdjit.pla: 0630: BNE ++ - BNE ++ -; vmsrc/apple/cmdjit.pla: 0631: INY - INY -; vmsrc/apple/cmdjit.pla: 0632: ASL - ASL -; vmsrc/apple/cmdjit.pla: 0633: BCS - - BCS - -; vmsrc/apple/cmdjit.pla: 0634: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmdjit.pla: 0635: STA ESTKL,X ; MATCH - STA ESTKL,X ; MATCH -; vmsrc/apple/cmdjit.pla: 0636: INY - INY -; vmsrc/apple/cmdjit.pla: 0637: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmdjit.pla: 0638: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0639: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0640: + STA ESTKL,X ; NO MATCH -+ STA ESTKL,X ; NO MATCH -; vmsrc/apple/cmdjit.pla: 0641: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0642: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0643: ++ -++ -; vmsrc/apple/cmdjit.pla: 0644: - LDA (DST),Y ; NEXT ENTRY -- LDA (DST),Y ; NEXT ENTRY -; vmsrc/apple/cmdjit.pla: 0645: BPL + - BPL + -; vmsrc/apple/cmdjit.pla: 0646: INY - INY -; vmsrc/apple/cmdjit.pla: 0647: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0648: + TYA -+ TYA -; vmsrc/apple/cmdjit.pla: 0649: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0650: ADC #$03 - ADC #$03 -; vmsrc/apple/cmdjit.pla: 0651: ADC DSTL - ADC DSTL -; vmsrc/apple/cmdjit.pla: 0652: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0653: BCC -- - BCC -- -; vmsrc/apple/cmdjit.pla: 0654: INC DSTH - INC DSTH -; vmsrc/apple/cmdjit.pla: 0655: BNE -- - BNE -- -; vmsrc/apple/cmdjit.pla: 0656: end -; vmsrc/apple/cmdjit.pla: 0657: // def lookupidx(esd, index) -; vmsrc/apple/cmdjit.pla: 0658: // word sym -; vmsrc/apple/cmdjit.pla: 0659: // while ^esd -; vmsrc/apple/cmdjit.pla: 0660: // sym = esd -; vmsrc/apple/cmdjit.pla: 0661: // esd = sym + dcitos(sym, @str) -; vmsrc/apple/cmdjit.pla: 0662: // if esd->0 & $10 and esd->1 == index -; vmsrc/apple/cmdjit.pla: 0663: // return sym -; vmsrc/apple/cmdjit.pla: 0664: // fin -; vmsrc/apple/cmdjit.pla: 0665: // esd = esd + 3 -; vmsrc/apple/cmdjit.pla: 0666: // loop -; vmsrc/apple/cmdjit.pla: 0667: //end -; vmsrc/apple/cmdjit.pla: 0668: asm lookupidx(esd, index)#1 -_A022 ; lookupidx() -; vmsrc/apple/cmdjit.pla: 0669: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0670: STA TMPL - STA TMPL -; vmsrc/apple/cmdjit.pla: 0671: INX - INX -; vmsrc/apple/cmdjit.pla: 0672: --- LDA ESTKH,X ---- LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0673: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0674: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0675: -- STA SRCL --- STA SRCL -; vmsrc/apple/cmdjit.pla: 0676: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0677: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0678: BPL + - BPL + -; vmsrc/apple/cmdjit.pla: 0679: INY - INY -; vmsrc/apple/cmdjit.pla: 0680: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0681: + BEQ ++ ; END OF ESD -+ BEQ ++ ; END OF ESD -; vmsrc/apple/cmdjit.pla: 0682: INY - INY -; vmsrc/apple/cmdjit.pla: 0683: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0684: INY - INY -; vmsrc/apple/cmdjit.pla: 0685: AND #$10 ; EXTERN FLAG? - AND #$10 ; EXTERN FLAG? -; vmsrc/apple/cmdjit.pla: 0686: BEQ + - BEQ + -; vmsrc/apple/cmdjit.pla: 0687: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0688: CMP TMPL - CMP TMPL -; vmsrc/apple/cmdjit.pla: 0689: BEQ +++ ; MATCH - BEQ +++ ; MATCH -; vmsrc/apple/cmdjit.pla: 0690: + INY -+ INY -; vmsrc/apple/cmdjit.pla: 0691: TYA - TYA -; vmsrc/apple/cmdjit.pla: 0692: SEC - SEC -; vmsrc/apple/cmdjit.pla: 0693: ADC SRCL - ADC SRCL -; vmsrc/apple/cmdjit.pla: 0694: STA ESTKL,X ; SYM PTRL - STA ESTKL,X ; SYM PTRL -; vmsrc/apple/cmdjit.pla: 0695: BCC -- - BCC -- -; vmsrc/apple/cmdjit.pla: 0696: INC ESTKH,X ; SYM PTRH - INC ESTKH,X ; SYM PTRH -; vmsrc/apple/cmdjit.pla: 0697: BNE --- - BNE --- -; vmsrc/apple/cmdjit.pla: 0698: ++ STA ESTKL,X ; END OF ESD -++ STA ESTKL,X ; END OF ESD -; vmsrc/apple/cmdjit.pla: 0699: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0700: +++ RTS -+++ RTS -; vmsrc/apple/cmdjit.pla: 0701: end -; vmsrc/apple/cmdjit.pla: 0702: //def lookupdef(addr, deftbl)#1 -; vmsrc/apple/cmdjit.pla: 0703: // while deftbl->interpjsr == $20 -; vmsrc/apple/cmdjit.pla: 0704: // if deftbl=>bytecodeaddr == addr -; vmsrc/apple/cmdjit.pla: 0705: // return deftbl -; vmsrc/apple/cmdjit.pla: 0706: // fin -; vmsrc/apple/cmdjit.pla: 0707: // deftbl = deftbl + t_defentry -; vmsrc/apple/cmdjit.pla: 0708: // loop -; vmsrc/apple/cmdjit.pla: 0709: // return 0 -; vmsrc/apple/cmdjit.pla: 0710: //end -; vmsrc/apple/cmdjit.pla: 0711: asm lookupdef(addr, deftbl)#1 -_A023 ; lookupdef() -; vmsrc/apple/cmdjit.pla: 0712: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0713: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0714: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0715: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0716: INX - INX -; vmsrc/apple/cmdjit.pla: 0717: - LDY #$00 -- LDY #$00 -; vmsrc/apple/cmdjit.pla: 0718: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0719: CMP #$20 ; JSR OPCODE? - CMP #$20 ; JSR OPCODE? -; vmsrc/apple/cmdjit.pla: 0720: BNE ++ - BNE ++ -; vmsrc/apple/cmdjit.pla: 0721: LDY #$03 - LDY #$03 -; vmsrc/apple/cmdjit.pla: 0722: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0723: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/cmdjit.pla: 0724: BNE + - BNE + -; vmsrc/apple/cmdjit.pla: 0725: INY - INY -; vmsrc/apple/cmdjit.pla: 0726: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0727: CMP ESTKH,X - CMP ESTKH,X -; vmsrc/apple/cmdjit.pla: 0728: BNE + - BNE + -; vmsrc/apple/cmdjit.pla: 0729: LDA SRCL ; MATCH - LDA SRCL ; MATCH -; vmsrc/apple/cmdjit.pla: 0730: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0731: LDA SRCH - LDA SRCH -; vmsrc/apple/cmdjit.pla: 0732: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0733: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0734: + LDA #$07 ; NEXT ENTRY -+ LDA #$07 ; NEXT ENTRY -; vmsrc/apple/cmdjit.pla: 0735: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0736: ADC SRCL - ADC SRCL -; vmsrc/apple/cmdjit.pla: 0737: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0738: BCC - - BCC - -; vmsrc/apple/cmdjit.pla: 0739: INC SRCH - INC SRCH -; vmsrc/apple/cmdjit.pla: 0740: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0741: ++ STY ESTKL,X -++ STY ESTKL,X -; vmsrc/apple/cmdjit.pla: 0742: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0743: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0744: end -; vmsrc/apple/cmdjit.pla: 0745: // -; vmsrc/apple/cmdjit.pla: 0746: // Reloc internal data -; vmsrc/apple/cmdjit.pla: 0747: // -; vmsrc/apple/cmdjit.pla: 0748: //def reloc(modfix, modofst, bytecode, rld)#3 -; vmsrc/apple/cmdjit.pla: 0749: // word addr, fixup -; vmsrc/apple/cmdjit.pla: 0750: // while ^rld -; vmsrc/apple/cmdjit.pla: 0751: // if ^rld & $10 // EXTERN reference. -; vmsrc/apple/cmdjit.pla: 0752: // return rld, addr, fixup -; vmsrc/apple/cmdjit.pla: 0753: // fin -; vmsrc/apple/cmdjit.pla: 0754: // addr = rld=>1 + modfix -; vmsrc/apple/cmdjit.pla: 0755: // fixup = *addr + modofst -; vmsrc/apple/cmdjit.pla: 0756: // if uword_isge(fixup, bytecode) // Bytecode address. -; vmsrc/apple/cmdjit.pla: 0757: // return rld, addr, fixup -; vmsrc/apple/cmdjit.pla: 0758: // fin -; vmsrc/apple/cmdjit.pla: 0759: // *addr = fixup -; vmsrc/apple/cmdjit.pla: 0760: // rld = rld + 4 -; vmsrc/apple/cmdjit.pla: 0761: // loop -; vmsrc/apple/cmdjit.pla: 0762: // return rld, addr, fixup -; vmsrc/apple/cmdjit.pla: 0763: //end -; vmsrc/apple/cmdjit.pla: 0764: asm reloc(modfix, modofst, bytecode, rld)#3 -_A024 ; reloc() -; vmsrc/apple/cmdjit.pla: 0765: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0766: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0767: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0768: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0769: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0770: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0771: BEQ RLDEX ; END OF RLD - BEQ RLDEX ; END OF RLD -; vmsrc/apple/cmdjit.pla: 0772: PHA - PHA -; vmsrc/apple/cmdjit.pla: 0773: INY - INY -; vmsrc/apple/cmdjit.pla: 0774: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0775: INY - INY -; vmsrc/apple/cmdjit.pla: 0776: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0777: ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX - ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX -; vmsrc/apple/cmdjit.pla: 0778: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0779: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0780: ADC ESTKH+3,X - ADC ESTKH+3,X -; vmsrc/apple/cmdjit.pla: 0781: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0782: PLA - PLA -; vmsrc/apple/cmdjit.pla: 0783: AND #$10 ; EXTERN REF - EXIT - AND #$10 ; EXTERN REF - EXIT -; vmsrc/apple/cmdjit.pla: 0784: BNE RLDEX - BNE RLDEX -; vmsrc/apple/cmdjit.pla: 0785: TAY ; FIXUP=*ADDR+MODOFST - TAY ; FIXUP=*ADDR+MODOFST -; vmsrc/apple/cmdjit.pla: 0786: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmdjit.pla: 0787: INY - INY -; vmsrc/apple/cmdjit.pla: 0788: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0789: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/cmdjit.pla: 0790: STA TMPL - STA TMPL -; vmsrc/apple/cmdjit.pla: 0791: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmdjit.pla: 0792: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/cmdjit.pla: 0793: CMP ESTKH+1,X ; FIXUP >= BYTECODE? - CMP ESTKH+1,X ; FIXUP >= BYTECODE? -; vmsrc/apple/cmdjit.pla: 0794: BCC + - BCC + -; vmsrc/apple/cmdjit.pla: 0795: STA TMPH - STA TMPH -; vmsrc/apple/cmdjit.pla: 0796: BNE RLDEX ; YEP, EXIT - BNE RLDEX ; YEP, EXIT -; vmsrc/apple/cmdjit.pla: 0797: LDA TMPL - LDA TMPL -; vmsrc/apple/cmdjit.pla: 0798: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0799: BCS RLDEX ; YEP, EXIT - BCS RLDEX ; YEP, EXIT -; vmsrc/apple/cmdjit.pla: 0800: LDA TMPH - LDA TMPH -; vmsrc/apple/cmdjit.pla: 0801: + STA (DST),Y ; *ADDR=FIXUP -+ STA (DST),Y ; *ADDR=FIXUP -; vmsrc/apple/cmdjit.pla: 0802: DEY - DEY -; vmsrc/apple/cmdjit.pla: 0803: LDA TMPL - LDA TMPL -; vmsrc/apple/cmdjit.pla: 0804: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0805: LDA SRCL ; NEXT ENTRY - LDA SRCL ; NEXT ENTRY -; vmsrc/apple/cmdjit.pla: 0806: ; CLC -; CLC -; vmsrc/apple/cmdjit.pla: 0807: ADC #$04 - ADC #$04 -; vmsrc/apple/cmdjit.pla: 0808: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0809: BCC - - BCC - -; vmsrc/apple/cmdjit.pla: 0810: INC SRCH - INC SRCH -; vmsrc/apple/cmdjit.pla: 0811: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0812: RLDEX INX -RLDEX INX -; vmsrc/apple/cmdjit.pla: 0813: LDA TMPL - LDA TMPL -; vmsrc/apple/cmdjit.pla: 0814: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0815: LDA TMPH - LDA TMPH -; vmsrc/apple/cmdjit.pla: 0816: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0817: LDA DSTL - LDA DSTL -; vmsrc/apple/cmdjit.pla: 0818: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0819: LDA DSTH - LDA DSTH -; vmsrc/apple/cmdjit.pla: 0820: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0821: LDA SRCL - LDA SRCL -; vmsrc/apple/cmdjit.pla: 0822: STA ESTKL+2,X - STA ESTKL+2,X -; vmsrc/apple/cmdjit.pla: 0823: LDA SRCH - LDA SRCH -; vmsrc/apple/cmdjit.pla: 0824: STA ESTKH+2,X - STA ESTKH+2,X -; vmsrc/apple/cmdjit.pla: 0825: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0826: end -; vmsrc/apple/cmdjit.pla: 0827: // -; vmsrc/apple/cmdjit.pla: 0828: // Cheap and dirty print integer -; vmsrc/apple/cmdjit.pla: 0829: // -; vmsrc/apple/cmdjit.pla: 0830: def print(i)#0 - ; i -> [0] -_P007 ; print(i)#0() -_C000 ; print() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0831: 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 -_F060 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $76,$00 ; SLW [0] -_B001 -_B002 -; vmsrc/apple/cmdjit.pla: 0832: 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 -_F061 !WORD _C000 -_B003 -_B004 -; vmsrc/apple/cmdjit.pla: 0833: cout(i % 10 + '0') -; vmsrc/apple/cmdjit.pla: 0834: end - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $8A ; MOD - !BYTE $38,$30 ; ADDI 48 - !BYTE $54 ; CALL _A006 -_F062 !WORD _A006 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmdjit.pla: 0835: // -; vmsrc/apple/cmdjit.pla: 0836: // ProDOS routines -; vmsrc/apple/cmdjit.pla: 0837: // -; vmsrc/apple/cmdjit.pla: 0838: def pfxop(path, op)#1 - ; path -> [0] - ; op -> [2] -_C001 ; pfxop() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0839: byte params[3] - ; params -> [4] -; vmsrc/apple/cmdjit.pla: 0840: -; vmsrc/apple/cmdjit.pla: 0841: params.0 = 1 - !BYTE $58,$07,$02 ; ENTER 7,2 -; vmsrc/apple/cmdjit.pla: 0842: params:1 = path -; vmsrc/apple/cmdjit.pla: 0843: perr = syscall(op, @params) -; vmsrc/apple/cmdjit.pla: 0844: 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 -_F063 !WORD _A000 - !BYTE $78 ; SAB _D033+0 -_F064 !WORD _D033+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$07 ; LEAVE 7 -; vmsrc/apple/cmdjit.pla: 0845: end -; vmsrc/apple/cmdjit.pla: 0846: def open(path)#1 - ; path -> [0] -_P027 ; open(path)#1() -_C002 ; open() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0847: byte params[6] - ; params -> [2] -; vmsrc/apple/cmdjit.pla: 0848: -; vmsrc/apple/cmdjit.pla: 0849: params.0 = 3 - !BYTE $58,$08,$01 ; ENTER 8,1 -; vmsrc/apple/cmdjit.pla: 0850: params:1 = path -; vmsrc/apple/cmdjit.pla: 0851: params:3 = iobuffer -; vmsrc/apple/cmdjit.pla: 0852: params.5 = 0 -; vmsrc/apple/cmdjit.pla: 0853: perr = syscall($C8, @params) -; vmsrc/apple/cmdjit.pla: 0854: 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 -_F065 !WORD _A000 - !BYTE $78 ; SAB _D033+0 -_F066 !WORD _D033+0 - !BYTE $64,$07 ; LLB [7] - !BYTE $5A,$08 ; LEAVE 8 -; vmsrc/apple/cmdjit.pla: 0855: end -; vmsrc/apple/cmdjit.pla: 0856: def close(refnum)#1 - ; refnum -> [0] -_P028 ; close(refnum)#1() -_C003 ; close() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0857: byte params[2] - ; params -> [2] -; vmsrc/apple/cmdjit.pla: 0858: -; vmsrc/apple/cmdjit.pla: 0859: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/cmdjit.pla: 0860: params.1 = refnum -; vmsrc/apple/cmdjit.pla: 0861: perr = syscall($CC, @params) -; vmsrc/apple/cmdjit.pla: 0862: 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 _D033+0 -_F068 !WORD _D033+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmdjit.pla: 0863: end -; vmsrc/apple/cmdjit.pla: 0864: 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: 0865: byte params[8] - ; params -> [6] -; vmsrc/apple/cmdjit.pla: 0866: -; vmsrc/apple/cmdjit.pla: 0867: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; vmsrc/apple/cmdjit.pla: 0868: params.1 = refnum -; vmsrc/apple/cmdjit.pla: 0869: params:2 = buf -; vmsrc/apple/cmdjit.pla: 0870: params:4 = len -; vmsrc/apple/cmdjit.pla: 0871: params:6 = 0 -; vmsrc/apple/cmdjit.pla: 0872: perr = syscall($CA, @params) -; vmsrc/apple/cmdjit.pla: 0873: 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 _D033+0 -_F070 !WORD _D033+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; vmsrc/apple/cmdjit.pla: 0874: end -; vmsrc/apple/cmdjit.pla: 0875: // -; vmsrc/apple/cmdjit.pla: 0876: // Heap routines. -; vmsrc/apple/cmdjit.pla: 0877: // -; vmsrc/apple/cmdjit.pla: 0878: def availheap()#1 -_P015 ; availheap()#1() -_C005 ; availheap() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0879: byte fp - ; fp -> [0] -; vmsrc/apple/cmdjit.pla: 0880: return @fp - heap - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D070+0 -_F071 !WORD _D070+0 - !BYTE $84 ; SUB - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/cmdjit.pla: 0881: end -; vmsrc/apple/cmdjit.pla: 0882: def allocheap(size)#1 - ; size -> [0] -_P012 ; allocheap(size)#1() -_C006 ; allocheap() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0883: word oldheap, addr - ; oldheap -> [2] - ; addr -> [4] -; vmsrc/apple/cmdjit.pla: 0884: oldheap = heap - !BYTE $58,$06,$01 ; ENTER 6,1 -; vmsrc/apple/cmdjit.pla: 0885: addr = heap -; vmsrc/apple/cmdjit.pla: 0886: heap = heap + size -; vmsrc/apple/cmdjit.pla: 0887: if systemflags & reshgr1 -; vmsrc/apple/cmdjit.pla: 0888: if uword_islt(addr, $4000) and uword_isgt(heap, $2000) -; vmsrc/apple/cmdjit.pla: 0889: addr = $4000 -; vmsrc/apple/cmdjit.pla: 0890: heap = addr + size -; vmsrc/apple/cmdjit.pla: 0891: fin - !BYTE $6A ; LAW _D070+0 -_F072 !WORD _D070+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D070+0 -_F073 !WORD _D070+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D070+0 -_F074 !WORD _D070+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D070+0 -_F075 !WORD _D070+0 - !BYTE $6A ; LAW _D069+0 -_F076 !WORD _D069+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 -_F077 !WORD _A015 - !BYTE $AC ; BRAND _B007 - !WORD _B007-* - !BYTE $6A ; LAW _D070+0 -_F078 !WORD _D070+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _A014 -_F079 !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 _D070+0 -_F080 !WORD _D070+0 -_B008 -_B009 -; vmsrc/apple/cmdjit.pla: 0892: fin -_B005 -_B006 -; vmsrc/apple/cmdjit.pla: 0893: if systemflags & reshgr2 -; vmsrc/apple/cmdjit.pla: 0894: if uword_islt(addr, $6000) and uword_isgt(heap, $4000) -; vmsrc/apple/cmdjit.pla: 0895: addr = $6000 -; vmsrc/apple/cmdjit.pla: 0896: heap = addr + size -; vmsrc/apple/cmdjit.pla: 0897: fin - !BYTE $6A ; LAW _D069+0 -_F081 !WORD _D069+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 -_F082 !WORD _A015 - !BYTE $AC ; BRAND _B012 - !WORD _B012-* - !BYTE $6A ; LAW _D070+0 -_F083 !WORD _D070+0 - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $54 ; CALL _A014 -_F084 !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 _D070+0 -_F085 !WORD _D070+0 -_B013 -_B014 -; vmsrc/apple/cmdjit.pla: 0898: fin -_B010 -_B011 -; vmsrc/apple/cmdjit.pla: 0899: if uword_isge(heap, @addr) -; vmsrc/apple/cmdjit.pla: 0900: heap = oldheap -; vmsrc/apple/cmdjit.pla: 0901: return 0 - !BYTE $6A ; LAW _D070+0 -_F086 !WORD _D070+0 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _A012 -_F087 !WORD _A012 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D070+0 -_F088 !WORD _D070+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/cmdjit.pla: 0902: fin -_B015 -_B016 -; vmsrc/apple/cmdjit.pla: 0903: return addr - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/cmdjit.pla: 0904: end -; vmsrc/apple/cmdjit.pla: 0905: def allocalignheap(size, pow2, freeaddr) - ; size -> [0] - ; pow2 -> [2] - ; freeaddr -> [4] -_P013 ; allocalignheap(size, pow2, freeaddr)() -_C007 ; allocalignheap() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0906: word align, addr - ; align -> [6] - ; addr -> [8] -; vmsrc/apple/cmdjit.pla: 0907: if freeaddr - !BYTE $58,$0A,$03 ; ENTER 10,3 -; vmsrc/apple/cmdjit.pla: 0908: *freeaddr = heap -; vmsrc/apple/cmdjit.pla: 0909: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $6A ; LAW _D070+0 -_F089 !WORD _D070+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B017 -_B018 -; vmsrc/apple/cmdjit.pla: 0910: align = (1 << pow2) - 1 -; vmsrc/apple/cmdjit.pla: 0911: addr = (heap | align) + 1 -; vmsrc/apple/cmdjit.pla: 0912: heap = addr + size -; vmsrc/apple/cmdjit.pla: 0913: if uword_isge(heap, @addr) -; vmsrc/apple/cmdjit.pla: 0914: 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 _D070+0 -_F090 !WORD _D070+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 _D070+0 -_F091 !WORD _D070+0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A012 -_F092 !WORD _A012 - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/cmdjit.pla: 0915: fin -_B019 -_B020 -; vmsrc/apple/cmdjit.pla: 0916: return addr - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/cmdjit.pla: 0917: end -; vmsrc/apple/cmdjit.pla: 0918: def markheap()#1 -_P011 ; markheap()#1() -_C008 ; markheap() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0919: return heap - !BYTE $6A ; LAW _D070+0 -_F093 !WORD _D070+0 - !BYTE $5C ; RET -; vmsrc/apple/cmdjit.pla: 0920: end -; vmsrc/apple/cmdjit.pla: 0921: def releaseheap(newheap)#1 - ; newheap -> [0] -_P014 ; releaseheap(newheap)#1() -_C009 ; releaseheap() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0922: heap = newheap - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/cmdjit.pla: 0923: return @newheap - heap - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D070+0 -_F094 !WORD _D070+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D070+0 -_F095 !WORD _D070+0 - !BYTE $84 ; SUB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmdjit.pla: 0924: end -; vmsrc/apple/cmdjit.pla: 0925: def allocxheap(size)#1 - ; size -> [0] -_C010 ; allocxheap() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0926: word xaddr - ; xaddr -> [2] -; vmsrc/apple/cmdjit.pla: 0927: xaddr = xheap - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/cmdjit.pla: 0928: xheap = xheap + size -; vmsrc/apple/cmdjit.pla: 0929: if systemflags & restxt1 -; vmsrc/apple/cmdjit.pla: 0930: if uword_isle(xaddr, $0800) and uword_isgt(xheap, $0400) -; vmsrc/apple/cmdjit.pla: 0931: xaddr = $0800 -; vmsrc/apple/cmdjit.pla: 0932: xheap = xaddr + size -; vmsrc/apple/cmdjit.pla: 0933: fin - !BYTE $6A ; LAW _D071+0 -_F096 !WORD _D071+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D071+0 -_F097 !WORD _D071+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D071+0 -_F098 !WORD _D071+0 - !BYTE $6A ; LAW _D069+0 -_F099 !WORD _D069+0 - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $54 ; CALL _A013 -_F100 !WORD _A013 - !BYTE $AC ; BRAND _B023 - !WORD _B023-* - !BYTE $6A ; LAW _D071+0 -_F101 !WORD _D071+0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $54 ; CALL _A014 -_F102 !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 _D071+0 -_F103 !WORD _D071+0 -_B024 -_B025 -; vmsrc/apple/cmdjit.pla: 0934: fin -_B021 -_B022 -; vmsrc/apple/cmdjit.pla: 0935: if systemflags & restxt2 -; vmsrc/apple/cmdjit.pla: 0936: if uword_isle(xaddr, $0C00) and uword_isgt(xheap, $0800) -; vmsrc/apple/cmdjit.pla: 0937: xaddr = $0C00 -; vmsrc/apple/cmdjit.pla: 0938: xheap = xaddr + size -; vmsrc/apple/cmdjit.pla: 0939: fin - !BYTE $6A ; LAW _D069+0 -_F104 !WORD _D069+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B026 - !WORD _B026-* - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$0C ; CW 3072 - !BYTE $54 ; CALL _A013 -_F105 !WORD _A013 - !BYTE $AC ; BRAND _B028 - !WORD _B028-* - !BYTE $6A ; LAW _D071+0 -_F106 !WORD _D071+0 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $54 ; CALL _A014 -_F107 !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 _D071+0 -_F108 !WORD _D071+0 -_B029 -_B030 -; vmsrc/apple/cmdjit.pla: 0940: fin -_B026 -_B027 -; vmsrc/apple/cmdjit.pla: 0941: if systemflags & resxhgr1 -; vmsrc/apple/cmdjit.pla: 0942: if uword_isle(xaddr, $4000) and uword_isgt(xheap, $2000) -; vmsrc/apple/cmdjit.pla: 0943: xaddr = $4000 -; vmsrc/apple/cmdjit.pla: 0944: xheap = xaddr + size -; vmsrc/apple/cmdjit.pla: 0945: fin - !BYTE $6A ; LAW _D069+0 -_F109 !WORD _D069+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 _A013 -_F110 !WORD _A013 - !BYTE $AC ; BRAND _B033 - !WORD _B033-* - !BYTE $6A ; LAW _D071+0 -_F111 !WORD _D071+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _A014 -_F112 !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 _D071+0 -_F113 !WORD _D071+0 -_B034 -_B035 -; vmsrc/apple/cmdjit.pla: 0946: fin -_B031 -_B032 -; vmsrc/apple/cmdjit.pla: 0947: if systemflags & resxhgr2 -; vmsrc/apple/cmdjit.pla: 0948: if uword_isle(xaddr, $6000) and uword_isgt(xheap, $4000) -; vmsrc/apple/cmdjit.pla: 0949: xaddr = $6000 -; vmsrc/apple/cmdjit.pla: 0950: xheap = xaddr + size -; vmsrc/apple/cmdjit.pla: 0951: fin - !BYTE $6A ; LAW _D069+0 -_F114 !WORD _D069+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 _A013 -_F115 !WORD _A013 - !BYTE $AC ; BRAND _B038 - !WORD _B038-* - !BYTE $6A ; LAW _D071+0 -_F116 !WORD _D071+0 - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $54 ; CALL _A014 -_F117 !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 _D071+0 -_F118 !WORD _D071+0 -_B039 -_B040 -; vmsrc/apple/cmdjit.pla: 0952: fin -_B036 -_B037 -; vmsrc/apple/cmdjit.pla: 0953: if uword_isge(xheap, xheaptop) -; vmsrc/apple/cmdjit.pla: 0954: return 0 - !BYTE $6A ; LAW _D071+0 -_F119 !WORD _D071+0 - !BYTE $6A ; LAW _D072+0 -_F120 !WORD _D072+0 - !BYTE $54 ; CALL _A012 -_F121 !WORD _A012 - !BYTE $4C ; BRFLS _B041 - !WORD _B041-* - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmdjit.pla: 0955: fin -_B041 -_B042 -; vmsrc/apple/cmdjit.pla: 0956: return xaddr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmdjit.pla: 0957: end -; vmsrc/apple/cmdjit.pla: 0958: // -; vmsrc/apple/cmdjit.pla: 0959: // Symbol table routines. -; vmsrc/apple/cmdjit.pla: 0960: // -; vmsrc/apple/cmdjit.pla: 0961: def addsym(sym, addr)#0 - ; sym -> [0] - ; addr -> [2] -_C011 ; addsym() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0962: while ^sym & $80 - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B045 - !WORD _B045-* -_B043 -; vmsrc/apple/cmdjit.pla: 0963: ^lastsym = ^sym -; vmsrc/apple/cmdjit.pla: 0964: lastsym++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D073+0 -_F122 !WORD _D073+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D073+0 -_F123 !WORD _D073+0 - !BYTE $8C ; INCR -; vmsrc/apple/cmdjit.pla: 0965: sym++ - !BYTE $7A ; SAW _D073+0 -_F124 !WORD _D073+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; vmsrc/apple/cmdjit.pla: 0966: 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: 0967: lastsym->0 = ^sym -; vmsrc/apple/cmdjit.pla: 0968: lastsym=>1 = addr -; vmsrc/apple/cmdjit.pla: 0969: lastsym = lastsym + 3 -; vmsrc/apple/cmdjit.pla: 0970: ^lastsym = 0 -; vmsrc/apple/cmdjit.pla: 0971: end - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D073+0 -_F125 !WORD _D073+0 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D073+0 -_F126 !WORD _D073+0 - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $6A ; LAW _D073+0 -_F127 !WORD _D073+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D073+0 -_F128 !WORD _D073+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D073+0 -_F129 !WORD _D073+0 - !BYTE $70 ; SB - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmdjit.pla: 0972: // -; vmsrc/apple/cmdjit.pla: 0973: // String routines. -; vmsrc/apple/cmdjit.pla: 0974: // -; vmsrc/apple/cmdjit.pla: 0975: def strcpy(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P018 ; strcpy(dst, src)#1() -_C012 ; strcpy() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0976: memcpy(dst+1, src+1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/cmdjit.pla: 0977: ^dst = ^src -; vmsrc/apple/cmdjit.pla: 0978: 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 -_F130 !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: 0979: end -; vmsrc/apple/cmdjit.pla: 0980: def strcat(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P019 ; strcat(dst, src)#1() -_C013 ; strcat() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0981: memcpy(dst + ^dst + 1, src + 1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/cmdjit.pla: 0982: ^dst = ^dst + ^src -; vmsrc/apple/cmdjit.pla: 0983: 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 -_F131 !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: 0984: end -; vmsrc/apple/cmdjit.pla: 0985: // -; vmsrc/apple/cmdjit.pla: 0986: // Module routines. -; vmsrc/apple/cmdjit.pla: 0987: // -; vmsrc/apple/cmdjit.pla: 0988: def lookupextern(esd, index)#1 - ; esd -> [0] - ; index -> [2] -_C014 ; lookupextern() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0989: word sym, addr - ; sym -> [4] - ; addr -> [6] -; vmsrc/apple/cmdjit.pla: 0990: byte str[33] - ; str -> [8] -; vmsrc/apple/cmdjit.pla: 0991: sym = lookupidx(esd, index) - !BYTE $58,$29,$02 ; ENTER 41,2 -; vmsrc/apple/cmdjit.pla: 0992: if sym -; vmsrc/apple/cmdjit.pla: 0993: addr = lookuptbl(sym, symtbl) -; vmsrc/apple/cmdjit.pla: 0994: if !addr -; vmsrc/apple/cmdjit.pla: 0995: perr = $81 -; vmsrc/apple/cmdjit.pla: 0996: dcitos(sym, @str) -; vmsrc/apple/cmdjit.pla: 0997: cout('?'); prstr(@str); crout -; vmsrc/apple/cmdjit.pla: 0998: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A022 -_F132 !WORD _A022 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$0C ; CW 3072 - !BYTE $54 ; CALL _A021 -_F133 !WORD _A021 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B048 - !WORD _B048-* - !BYTE $2A,$81 ; CB 129 - !BYTE $78 ; SAB _D033+0 -_F134 !WORD _D033+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A018 -_F135 !WORD _A018 - !BYTE $30 ; DROP - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _A006 -_F136 !WORD _A006 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A008 -_F137 !WORD _A008 - !BYTE $54 ; CALL _A005 -_F138 !WORD _A005 -_B048 -_B049 -; vmsrc/apple/cmdjit.pla: 0999: return addr - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/cmdjit.pla: 1000: fin -_B046 -_B047 -; vmsrc/apple/cmdjit.pla: 1001: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/cmdjit.pla: 1002: end -; vmsrc/apple/cmdjit.pla: 1003: // -; vmsrc/apple/cmdjit.pla: 1004: // Indirect interpreter DEFinition entrypoint -; vmsrc/apple/cmdjit.pla: 1005: // -; vmsrc/apple/cmdjit.pla: 1006: def adddef(isfirst, addr, deflast)#1 - ; isfirst -> [0] - ; addr -> [2] - ; deflast -> [4] -_C015 ; adddef() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1007: word preventry, defentry, defsize - ; preventry -> [6] - ; defentry -> [8] - ; defsize -> [10] -; vmsrc/apple/cmdjit.pla: 1008: -; vmsrc/apple/cmdjit.pla: 1009: defentry = *deflast - !BYTE $58,$0C,$03 ; ENTER 12,3 -; vmsrc/apple/cmdjit.pla: 1010: *deflast = defentry + t_defentry -; vmsrc/apple/cmdjit.pla: 1011: if not isfirst -; vmsrc/apple/cmdjit.pla: 1012: preventry = defentry - t_defentry -; vmsrc/apple/cmdjit.pla: 1013: defsize = addr - preventry=>bytecodeaddr -; vmsrc/apple/cmdjit.pla: 1014: if defsize <= jitsize -; vmsrc/apple/cmdjit.pla: 1015: preventry=>interpaddr = $03D6 // JSR $03D6 (JIT INTERP) -; vmsrc/apple/cmdjit.pla: 1016: preventry->callcount = jitcount // Set JIT countdown -; vmsrc/apple/cmdjit.pla: 1017: preventry->bytecodesize = defsize // Set size -; vmsrc/apple/cmdjit.pla: 1018: 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 _D035+0 -_F139 !WORD _D035+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 _D034+0 -_F140 !WORD _D034+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: 1019: fin -_B050 -_B051 -; vmsrc/apple/cmdjit.pla: 1020: defentry->interpjsr = $20 -; vmsrc/apple/cmdjit.pla: 1021: defentry=>interpaddr = $03DC // JSR $03DC (BYTECODE INTERP) -; vmsrc/apple/cmdjit.pla: 1022: defentry=>bytecodeaddr = addr -; vmsrc/apple/cmdjit.pla: 1023: defentry->t_defentry = 0 // NULL out next entry -; vmsrc/apple/cmdjit.pla: 1024: 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: 1025: end -; vmsrc/apple/cmdjit.pla: 1026: def loadmod(mod)#1 - ; mod -> [0] -_C016 ; loadmod() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1027: 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: 1028: word addr, defaddr, modaddr, modfix, modofst, modend - ; addr -> [16] - ; defaddr -> [18] - ; modaddr -> [20] - ; modfix -> [22] - ; modofst -> [24] - ; modend -> [26] -; vmsrc/apple/cmdjit.pla: 1029: word deftbl, deflast - ; deftbl -> [28] - ; deflast -> [30] -; vmsrc/apple/cmdjit.pla: 1030: word moddep, rld, esd, sym - ; moddep -> [32] - ; rld -> [34] - ; esd -> [36] - ; sym -> [38] -; vmsrc/apple/cmdjit.pla: 1031: byte refnum[], deffirst, skipjit, filename[64], str[] - ; refnum -> [40] - ; deffirst -> [40] - ; skipjit -> [41] - ; filename -> [42] - ; str -> [106] -; vmsrc/apple/cmdjit.pla: 1032: byte header[128] - ; header -> [106] -; vmsrc/apple/cmdjit.pla: 1033: // -; vmsrc/apple/cmdjit.pla: 1034: // Read the RELocatable module header (first 128 bytes) -; vmsrc/apple/cmdjit.pla: 1035: // -; vmsrc/apple/cmdjit.pla: 1036: dcitos(mod, @filename) - !BYTE $58,$EA,$01 ; ENTER 234,1 -; vmsrc/apple/cmdjit.pla: 1037: refnum = open(@filename) -; vmsrc/apple/cmdjit.pla: 1038: if !refnum and filename < 16 -; vmsrc/apple/cmdjit.pla: 1039: // -; vmsrc/apple/cmdjit.pla: 1040: // Try system path -; vmsrc/apple/cmdjit.pla: 1041: // -; vmsrc/apple/cmdjit.pla: 1042: refnum = open(strcpy(@filename,strcat(strcpy(@header, @sysmods), @filename))) -; vmsrc/apple/cmdjit.pla: 1043: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$2A ; LLA [42] - !BYTE $54 ; CALL _A018 -_F141 !WORD _A018 - !BYTE $30 ; DROP - !BYTE $28,$2A ; LLA [42] - !BYTE $54 ; CALL _C002 -_F142 !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 _D067+0 -_F143 !WORD _D067+0 - !BYTE $54 ; CALL _C012 -_F144 !WORD _C012 - !BYTE $28,$2A ; LLA [42] - !BYTE $54 ; CALL _C013 -_F145 !WORD _C013 - !BYTE $54 ; CALL _C012 -_F146 !WORD _C012 - !BYTE $54 ; CALL _C002 -_F147 !WORD _C002 - !BYTE $74,$28 ; SLB [40] -_B055 -_B056 -; vmsrc/apple/cmdjit.pla: 1044: if refnum -; vmsrc/apple/cmdjit.pla: 1045: header.0 = $0A -; vmsrc/apple/cmdjit.pla: 1046: header:1 = @filename -; vmsrc/apple/cmdjit.pla: 1047: if not syscall($C4, @header) and header.4 <> $FE // Make sure it's a REL module -; vmsrc/apple/cmdjit.pla: 1048: close(refnum) -; vmsrc/apple/cmdjit.pla: 1049: perr = $4A // Incompatible type -; vmsrc/apple/cmdjit.pla: 1050: 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 -_F148 !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 -_F149 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $2A,$4A ; CB 74 - !BYTE $7C ; DAB _D033+0 -_F150 !WORD _D033+0 - !BYTE $90 ; NEG - !BYTE $5A,$EA ; LEAVE 234 -; vmsrc/apple/cmdjit.pla: 1051: fin -_B060 -_B061 -; vmsrc/apple/cmdjit.pla: 1052: rdlen = read(refnum, @header, 128) -; vmsrc/apple/cmdjit.pla: 1053: modsize = header:0 -; vmsrc/apple/cmdjit.pla: 1054: moddep = @header.1 -; vmsrc/apple/cmdjit.pla: 1055: defofst = modsize + RELADDR -; vmsrc/apple/cmdjit.pla: 1056: init = 0 -; vmsrc/apple/cmdjit.pla: 1057: if rdlen > 4 and header:2 == $6502 // magic number -; vmsrc/apple/cmdjit.pla: 1058: // -; vmsrc/apple/cmdjit.pla: 1059: // This is an EXTended RELocatable (data+bytecode) module. -; vmsrc/apple/cmdjit.pla: 1060: // -; vmsrc/apple/cmdjit.pla: 1061: systemflags = header.4 | systemflags -; vmsrc/apple/cmdjit.pla: 1062: skipjit = header.5 & (nojitc >> 8) -; vmsrc/apple/cmdjit.pla: 1063: defofst = header:6 -; vmsrc/apple/cmdjit.pla: 1064: defcnt = header:8 -; vmsrc/apple/cmdjit.pla: 1065: init = header:10 -; vmsrc/apple/cmdjit.pla: 1066: moddep = @header.12 -; vmsrc/apple/cmdjit.pla: 1067: // -; vmsrc/apple/cmdjit.pla: 1068: // Load module dependencies. -; vmsrc/apple/cmdjit.pla: 1069: // -; vmsrc/apple/cmdjit.pla: 1070: while ^moddep - !BYTE $64,$28 ; LLB [40] - !BYTE $28,$6A ; LLA [106] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F151 !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 _D069+0 -_F152 !WORD _D069+0 - !BYTE $96 ; OR - !BYTE $7A ; SAW _D069+0 -_F153 !WORD _D069+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: 1071: if !lookuptbl(moddep, symtbl) -; vmsrc/apple/cmdjit.pla: 1072: close(refnum) -; vmsrc/apple/cmdjit.pla: 1073: refnum = 0 -; vmsrc/apple/cmdjit.pla: 1074: if loadmod(moddep) < 0 -; vmsrc/apple/cmdjit.pla: 1075: return -perr - !BYTE $66,$20 ; LLW [32] - !BYTE $2C,$00,$0C ; CW 3072 - !BYTE $54 ; CALL _A021 -_F154 !WORD _A021 - !BYTE $4E ; BRTRU _B068 - !WORD _B068-* - !BYTE $64,$28 ; LLB [40] - !BYTE $54 ; CALL _C003 -_F155 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $74,$28 ; SLB [40] - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _C016 -_F156 !WORD _C016 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B070 - !WORD _B070-* - !BYTE $68 ; LAB _D033+0 -_F157 !WORD _D033+0 - !BYTE $90 ; NEG - !BYTE $5A,$EA ; LEAVE 234 -; vmsrc/apple/cmdjit.pla: 1076: fin -_B070 -_B071 -; vmsrc/apple/cmdjit.pla: 1077: fin -_B068 -_B069 -; vmsrc/apple/cmdjit.pla: 1078: moddep = moddep + dcitos(moddep, @str) -; vmsrc/apple/cmdjit.pla: 1079: loop - !BYTE $66,$20 ; LLW [32] - !BYTE $34 ; DUP - !BYTE $28,$6A ; LLA [106] - !BYTE $54 ; CALL _A018 -_F158 !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: 1080: // -; vmsrc/apple/cmdjit.pla: 1081: // Init def table. -; vmsrc/apple/cmdjit.pla: 1082: // -; vmsrc/apple/cmdjit.pla: 1083: deftbl = allocheap(defcnt * t_defentry + 1) -; vmsrc/apple/cmdjit.pla: 1084: deflast = deftbl -; vmsrc/apple/cmdjit.pla: 1085: if !refnum -; vmsrc/apple/cmdjit.pla: 1086: // -; vmsrc/apple/cmdjit.pla: 1087: // Reset read pointer. -; vmsrc/apple/cmdjit.pla: 1088: // -; vmsrc/apple/cmdjit.pla: 1089: refnum = open(@filename) -; vmsrc/apple/cmdjit.pla: 1090: rdlen = read(refnum, @header, 128) -; vmsrc/apple/cmdjit.pla: 1091: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $0E ; CN 7 - !BYTE $86 ; MUL - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C006 -_F159 !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 -_F160 !WORD _C002 - !BYTE $6C,$28 ; DLB [40] - !BYTE $28,$6A ; LLA [106] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F161 !WORD _C004 - !BYTE $76,$02 ; SLW [2] -_B072 -_B073 -; vmsrc/apple/cmdjit.pla: 1092: fin -_B063 -_B064 -; vmsrc/apple/cmdjit.pla: 1093: // -; vmsrc/apple/cmdjit.pla: 1094: // Alloc heap space for relocated module (data + bytecode). -; vmsrc/apple/cmdjit.pla: 1095: // -; vmsrc/apple/cmdjit.pla: 1096: moddep = moddep + 1 -; vmsrc/apple/cmdjit.pla: 1097: modfix = moddep - @header.2 // Adjust to skip header -; vmsrc/apple/cmdjit.pla: 1098: modsize = modsize - modfix -; vmsrc/apple/cmdjit.pla: 1099: rdlen = rdlen - modfix - 2 -; vmsrc/apple/cmdjit.pla: 1100: modaddr = allocheap(modsize) -; vmsrc/apple/cmdjit.pla: 1101: memcpy(modaddr, moddep, rdlen) -; vmsrc/apple/cmdjit.pla: 1102: // -; vmsrc/apple/cmdjit.pla: 1103: // Read in remainder of module into memory for fixups. -; vmsrc/apple/cmdjit.pla: 1104: // -; vmsrc/apple/cmdjit.pla: 1105: addr = modaddr -; vmsrc/apple/cmdjit.pla: 1106: 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 -_F162 !WORD _C006 - !BYTE $6E,$14 ; DLW [20] - !BYTE $66,$20 ; LLW [32] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A004 -_F163 !WORD _A004 - !BYTE $66,$14 ; LLW [20] - !BYTE $76,$10 ; SLW [16] -_B075 -; vmsrc/apple/cmdjit.pla: 1107: addr = addr + rdlen -; vmsrc/apple/cmdjit.pla: 1108: rdlen = read(refnum, addr, 4096) -; vmsrc/apple/cmdjit.pla: 1109: 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 -_F164 !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: 1110: close(refnum) -; vmsrc/apple/cmdjit.pla: 1111: // -; vmsrc/apple/cmdjit.pla: 1112: // Add module to symbol table. -; vmsrc/apple/cmdjit.pla: 1113: // -; vmsrc/apple/cmdjit.pla: 1114: addsym(mod, modaddr) -; vmsrc/apple/cmdjit.pla: 1115: // -; vmsrc/apple/cmdjit.pla: 1116: // Apply all fixups and symbol import/export. -; vmsrc/apple/cmdjit.pla: 1117: // -; vmsrc/apple/cmdjit.pla: 1118: modfix = modaddr - modfix -; vmsrc/apple/cmdjit.pla: 1119: modofst = modfix - RELADDR -; vmsrc/apple/cmdjit.pla: 1120: modend = modaddr + modsize -; vmsrc/apple/cmdjit.pla: 1121: bytecode = defofst + modofst -; vmsrc/apple/cmdjit.pla: 1122: rld = modend // Re-Locatable Directory -; vmsrc/apple/cmdjit.pla: 1123: esd = rld // Extern+Entry Symbol Directory -; vmsrc/apple/cmdjit.pla: 1124: while ^esd // Scan to end of ESD - !BYTE $64,$28 ; LLB [40] - !BYTE $54 ; CALL _C003 -_F165 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C011 -_F166 !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: 1125: esd = esd + 4 -; vmsrc/apple/cmdjit.pla: 1126: 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: 1127: esd = esd + 1 -; vmsrc/apple/cmdjit.pla: 1128: defaddr = allocxheap(rld - bytecode) -; vmsrc/apple/cmdjit.pla: 1129: modend = bytecode -; vmsrc/apple/cmdjit.pla: 1130: codefix = defaddr - bytecode -; vmsrc/apple/cmdjit.pla: 1131: defofst = defaddr - defofst -; vmsrc/apple/cmdjit.pla: 1132: // -; vmsrc/apple/cmdjit.pla: 1133: // Run through the DeFinition Dictionary. -; vmsrc/apple/cmdjit.pla: 1134: // -; vmsrc/apple/cmdjit.pla: 1135: deffirst = 1 -; vmsrc/apple/cmdjit.pla: 1136: 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 -_F167 !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: 1137: // -; vmsrc/apple/cmdjit.pla: 1138: // This is a bytcode def entry - add it to the def directory. -; vmsrc/apple/cmdjit.pla: 1139: // -; vmsrc/apple/cmdjit.pla: 1140: adddef(deffirst, rld=>1 + defofst, @deflast) -; vmsrc/apple/cmdjit.pla: 1141: deffirst = skipjit // Calculate JIT potential or not -; vmsrc/apple/cmdjit.pla: 1142: rld = rld + 4 -; vmsrc/apple/cmdjit.pla: 1143: 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 -_F168 !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: 1144: // -; vmsrc/apple/cmdjit.pla: 1145: // Run through the Re-Location Dictionary. -; vmsrc/apple/cmdjit.pla: 1146: // -; vmsrc/apple/cmdjit.pla: 1147: while ^rld - !BYTE $50 ; BRNCH _B085 - !WORD _B085-* -_B083 -; vmsrc/apple/cmdjit.pla: 1148: rld, addr, fixup = reloc(modfix, modofst, bytecode, rld) -; vmsrc/apple/cmdjit.pla: 1149: if ^rld -; vmsrc/apple/cmdjit.pla: 1150: *addr = ^rld & $10 ?? *addr + lookupextern(esd, rld->3) :: lookupdef(fixup + codefix, deftbl) -; vmsrc/apple/cmdjit.pla: 1151: rld = rld + 4 -; vmsrc/apple/cmdjit.pla: 1152: 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 -_F169 !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 -_F170 !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 -_F171 !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: 1153: loop -_B085 - !BYTE $66,$22 ; LLW [34] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B083 - !WORD _B083-* -_B084 -; vmsrc/apple/cmdjit.pla: 1154: // -; vmsrc/apple/cmdjit.pla: 1155: // Run through the External/Entry Symbol Directory. -; vmsrc/apple/cmdjit.pla: 1156: // -; vmsrc/apple/cmdjit.pla: 1157: while ^esd - !BYTE $50 ; BRNCH _B092 - !WORD _B092-* -_B090 -; vmsrc/apple/cmdjit.pla: 1158: sym = esd -; vmsrc/apple/cmdjit.pla: 1159: esd = esd + dcitos(esd, @str) -; vmsrc/apple/cmdjit.pla: 1160: if ^esd & $08 -; vmsrc/apple/cmdjit.pla: 1161: // -; vmsrc/apple/cmdjit.pla: 1162: // EXPORT symbol - add it to the global symbol table. -; vmsrc/apple/cmdjit.pla: 1163: // -; vmsrc/apple/cmdjit.pla: 1164: addr = esd=>1 + modofst -; vmsrc/apple/cmdjit.pla: 1165: if uword_isge(addr, bytecode) -; vmsrc/apple/cmdjit.pla: 1166: // -; vmsrc/apple/cmdjit.pla: 1167: // Use the def directory address for bytecode. -; vmsrc/apple/cmdjit.pla: 1168: // -; vmsrc/apple/cmdjit.pla: 1169: addr = lookupdef(addr + codefix, deftbl) -; vmsrc/apple/cmdjit.pla: 1170: 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 -_F172 !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 -_F173 !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 -_F174 !WORD _A023 - !BYTE $76,$10 ; SLW [16] -_B095 -_B096 -; vmsrc/apple/cmdjit.pla: 1171: addsym(sym, addr) -; vmsrc/apple/cmdjit.pla: 1172: fin - !BYTE $66,$26 ; LLW [38] - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C011 -_F175 !WORD _C011 -_B093 -_B094 -; vmsrc/apple/cmdjit.pla: 1173: esd = esd + 3 -; vmsrc/apple/cmdjit.pla: 1174: 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: 1175: // -; vmsrc/apple/cmdjit.pla: 1176: // Move bytecode to AUX bank. -; vmsrc/apple/cmdjit.pla: 1177: // -; vmsrc/apple/cmdjit.pla: 1178: *$003C = bytecode -; vmsrc/apple/cmdjit.pla: 1179: *$003E = modaddr + modsize -; vmsrc/apple/cmdjit.pla: 1180: *$0042 = defaddr -; vmsrc/apple/cmdjit.pla: 1181: call($C311, 0, 0, 0, $05) // CALL XMOVE with carry set (MAIN->AUX) and ints disabled -; vmsrc/apple/cmdjit.pla: 1182: 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 -_F176 !WORD _A001 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -_B057 -; vmsrc/apple/cmdjit.pla: 1183: perr = $46 -; vmsrc/apple/cmdjit.pla: 1184: fin - !BYTE $2A,$46 ; CB 70 - !BYTE $78 ; SAB _D033+0 -_F177 !WORD _D033+0 -_B058 -; vmsrc/apple/cmdjit.pla: 1185: if perr -; vmsrc/apple/cmdjit.pla: 1186: return -perr - !BYTE $68 ; LAB _D033+0 -_F178 !WORD _D033+0 - !BYTE $4C ; BRFLS _B097 - !WORD _B097-* - !BYTE $68 ; LAB _D033+0 -_F179 !WORD _D033+0 - !BYTE $90 ; NEG - !BYTE $5A,$EA ; LEAVE 234 -; vmsrc/apple/cmdjit.pla: 1187: fin -_B097 -_B098 -; vmsrc/apple/cmdjit.pla: 1188: // -; vmsrc/apple/cmdjit.pla: 1189: // Free up rld+esd+bytecode in main memory. -; vmsrc/apple/cmdjit.pla: 1190: // -; vmsrc/apple/cmdjit.pla: 1191: releaseheap(modend) -; vmsrc/apple/cmdjit.pla: 1192: // -; vmsrc/apple/cmdjit.pla: 1193: // Call init routine if it exists. -; vmsrc/apple/cmdjit.pla: 1194: // -; vmsrc/apple/cmdjit.pla: 1195: initcode = 0 -; vmsrc/apple/cmdjit.pla: 1196: if init -; vmsrc/apple/cmdjit.pla: 1197: init = init + defofst -; vmsrc/apple/cmdjit.pla: 1198: initcode = adddef(deffirst, init, @deflast)() -; vmsrc/apple/cmdjit.pla: 1199: if initcode < modinitkeep -; vmsrc/apple/cmdjit.pla: 1200: // -; vmsrc/apple/cmdjit.pla: 1201: // Free init routine unless initkeep -; vmsrc/apple/cmdjit.pla: 1202: // -; vmsrc/apple/cmdjit.pla: 1203: xheap = init -; vmsrc/apple/cmdjit.pla: 1204: if initcode < 0 -; vmsrc/apple/cmdjit.pla: 1205: perr = -initcode -; vmsrc/apple/cmdjit.pla: 1206: fin - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C009 -_F180 !WORD _C009 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !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 -_F181 !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 _D071+0 -_F182 !WORD _D071+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 _D033+0 -_F183 !WORD _D033+0 -_B103 -_B104 -; vmsrc/apple/cmdjit.pla: 1207: else - !BYTE $50 ; BRNCH _B102 - !WORD _B102-* -_B101 -; vmsrc/apple/cmdjit.pla: 1208: initcode = initcode & ~modinitkeep -; vmsrc/apple/cmdjit.pla: 1209: 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: 1210: fin -_B099 -_B100 -; vmsrc/apple/cmdjit.pla: 1211: return initcode - !BYTE $66,$0E ; LLW [14] - !BYTE $5A,$EA ; LEAVE 234 -; vmsrc/apple/cmdjit.pla: 1212: end -; vmsrc/apple/cmdjit.pla: 1213: // -; vmsrc/apple/cmdjit.pla: 1214: // Command mode -; vmsrc/apple/cmdjit.pla: 1215: // -; vmsrc/apple/cmdjit.pla: 1216: def volumes()#0 -_C017 ; volumes() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1217: byte params[4] - ; params -> [0] -; vmsrc/apple/cmdjit.pla: 1218: word strbuf - ; strbuf -> [4] -; vmsrc/apple/cmdjit.pla: 1219: byte i - ; i -> [6] -; vmsrc/apple/cmdjit.pla: 1220: -; vmsrc/apple/cmdjit.pla: 1221: params.0 = 2 - !BYTE $58,$07,$00 ; ENTER 7,0 -; vmsrc/apple/cmdjit.pla: 1222: params.1 = 0 -; vmsrc/apple/cmdjit.pla: 1223: params:2 = heap -; vmsrc/apple/cmdjit.pla: 1224: perr = syscall($C5, @params) -; vmsrc/apple/cmdjit.pla: 1225: strbuf = heap -; vmsrc/apple/cmdjit.pla: 1226: 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 _D070+0 -_F184 !WORD _D070+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $2A,$C5 ; CB 197 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _A000 -_F185 !WORD _A000 - !BYTE $78 ; SAB _D033+0 -_F186 !WORD _D033+0 - !BYTE $6A ; LAW _D070+0 -_F187 !WORD _D070+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B106 - !BYTE $6C,$06 ; DLB [6] -; vmsrc/apple/cmdjit.pla: 1227: ^strbuf = ^strbuf & $0F -; vmsrc/apple/cmdjit.pla: 1228: if ^strbuf -; vmsrc/apple/cmdjit.pla: 1229: cout('/'); prstr(strbuf); crout() -; vmsrc/apple/cmdjit.pla: 1230: 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 -_F188 !WORD _A006 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A008 -_F189 !WORD _A008 - !BYTE $54 ; CALL _A005 -_F190 !WORD _A005 -_B108 -_B109 -; vmsrc/apple/cmdjit.pla: 1231: strbuf = strbuf + 16 -; vmsrc/apple/cmdjit.pla: 1232: 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: 1233: end - !BYTE $5A,$07 ; LEAVE 7 -; vmsrc/apple/cmdjit.pla: 1234: def catalog(path)#0 - ; path -> [0] -_C018 ; catalog() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1235: byte refnum - ; refnum -> [2] -; vmsrc/apple/cmdjit.pla: 1236: byte firstblk - ; firstblk -> [3] -; vmsrc/apple/cmdjit.pla: 1237: byte entrylen, entriesblk - ; entrylen -> [4] - ; entriesblk -> [5] -; vmsrc/apple/cmdjit.pla: 1238: byte i, type, len - ; i -> [6] - ; type -> [7] - ; len -> [8] -; vmsrc/apple/cmdjit.pla: 1239: word entry - ; entry -> [9] -; vmsrc/apple/cmdjit.pla: 1240: -; vmsrc/apple/cmdjit.pla: 1241: refnum = open(path) - !BYTE $58,$0B,$01 ; ENTER 11,1 -; vmsrc/apple/cmdjit.pla: 1242: if perr -; vmsrc/apple/cmdjit.pla: 1243: return - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F191 !WORD _C002 - !BYTE $74,$02 ; SLB [2] - !BYTE $68 ; LAB _D033+0 -_F192 !WORD _D033+0 - !BYTE $4C ; BRFLS _B110 - !WORD _B110-* - !BYTE $5A,$0B ; LEAVE 11 -; vmsrc/apple/cmdjit.pla: 1244: fin -_B110 -_B111 -; vmsrc/apple/cmdjit.pla: 1245: firstblk = 1 -; vmsrc/apple/cmdjit.pla: 1246: 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: 1247: entry = heap + 4 -; vmsrc/apple/cmdjit.pla: 1248: if firstblk -; vmsrc/apple/cmdjit.pla: 1249: entrylen = heap->$23 -; vmsrc/apple/cmdjit.pla: 1250: entriesblk = heap->$24 - 1 -; vmsrc/apple/cmdjit.pla: 1251: entry = entry + entrylen -; vmsrc/apple/cmdjit.pla: 1252: fin - !BYTE $6A ; LAW _D070+0 -_F193 !WORD _D070+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 _D070+0 -_F194 !WORD _D070+0 - !BYTE $38,$23 ; ADDI 35 - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] - !BYTE $6A ; LAW _D070+0 -_F195 !WORD _D070+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: 1253: 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: 1254: if ^entry -; vmsrc/apple/cmdjit.pla: 1255: ^entry = ^entry & $0F -; vmsrc/apple/cmdjit.pla: 1256: prstr(entry) -; vmsrc/apple/cmdjit.pla: 1257: type = ' ' -; vmsrc/apple/cmdjit.pla: 1258: 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 -_F196 !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: 1259: is $0F // Is it a directory? -_B124 -; vmsrc/apple/cmdjit.pla: 1260: type = '/' -; vmsrc/apple/cmdjit.pla: 1261: break - !BYTE $2A,$2F ; CB 47 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -; vmsrc/apple/cmdjit.pla: 1262: is $FF // SYSTEM file -_B125 -; vmsrc/apple/cmdjit.pla: 1263: type = '-' -; vmsrc/apple/cmdjit.pla: 1264: break - !BYTE $2A,$2D ; CB 45 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -; vmsrc/apple/cmdjit.pla: 1265: is $FE // REL file -_B126 -; vmsrc/apple/cmdjit.pla: 1266: type = '+' -; vmsrc/apple/cmdjit.pla: 1267: 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: 1268: cout(type) -; vmsrc/apple/cmdjit.pla: 1269: for len = ^entry to 18 - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _A006 -_F197 !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: 1270: cout(' ') -; vmsrc/apple/cmdjit.pla: 1271: next - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _A006 -_F198 !WORD _A006 -_B129 - !BYTE $A4 ; INCBRLE _B128 - !WORD _B128-* -_B127 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; vmsrc/apple/cmdjit.pla: 1272: fin -_B120 -_B121 -; vmsrc/apple/cmdjit.pla: 1273: entry = entry + entrylen -; vmsrc/apple/cmdjit.pla: 1274: 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: 1275: firstblk = 0 -; vmsrc/apple/cmdjit.pla: 1276: loop - !BYTE $00 ; CN 0 - !BYTE $74,$03 ; SLB [3] -_B114 - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _D070+0 -_F199 !WORD _D070+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _C004 -_F200 !WORD _C004 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $22 ; BREQ _B112 - !WORD _B112-* -_B113 -; vmsrc/apple/cmdjit.pla: 1277: close(refnum) -; vmsrc/apple/cmdjit.pla: 1278: crout() -; vmsrc/apple/cmdjit.pla: 1279: end - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _C003 -_F201 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _A005 -_F202 !WORD _A005 - !BYTE $5A,$0B ; LEAVE 11 -; vmsrc/apple/cmdjit.pla: 1280: def stripchars(strptr)#1 - ; strptr -> [0] -_C019 ; stripchars() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1281: while ^strptr and ^(strptr + 1) > ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B132 - !WORD _B132-* -_B130 -; vmsrc/apple/cmdjit.pla: 1282: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/cmdjit.pla: 1283: ^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 -_F203 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmdjit.pla: 1284: 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: 1285: return ^strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmdjit.pla: 1286: end -; vmsrc/apple/cmdjit.pla: 1287: def stripspaces(strptr)#0 - ; strptr -> [0] -_C020 ; stripspaces() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1288: while ^strptr and ^(strptr + ^strptr) <= ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B136 - !WORD _B136-* -_B134 -; vmsrc/apple/cmdjit.pla: 1289: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmdjit.pla: 1290: 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: 1291: while ^strptr and ^(strptr + 1) <= ' ' - !BYTE $50 ; BRNCH _B140 - !WORD _B140-* -_B138 -; vmsrc/apple/cmdjit.pla: 1292: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/cmdjit.pla: 1293: ^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 -_F204 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmdjit.pla: 1294: 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: 1295: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmdjit.pla: 1296: def striptrail(strptr)#1 - ; strptr -> [0] -_C021 ; striptrail() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1297: byte i - ; i -> [2] -; vmsrc/apple/cmdjit.pla: 1298: -; vmsrc/apple/cmdjit.pla: 1299: 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: 1300: if ^(strptr + i) <= ' ' -; vmsrc/apple/cmdjit.pla: 1301: ^strptr = i - 1 -; vmsrc/apple/cmdjit.pla: 1302: 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: 1303: fin -_B145 -_B146 -; vmsrc/apple/cmdjit.pla: 1304: next -_B144 - !BYTE $A4 ; INCBRLE _B143 - !WORD _B143-* -_B142 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; vmsrc/apple/cmdjit.pla: 1305: return strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/cmdjit.pla: 1306: end -; vmsrc/apple/cmdjit.pla: 1307: def parsecmd(strptr)#1 - ; strptr -> [0] -_C022 ; parsecmd() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1308: byte cmd - ; cmd -> [2] -; vmsrc/apple/cmdjit.pla: 1309: -; vmsrc/apple/cmdjit.pla: 1310: cmd = 0 - !BYTE $58,$03,$01 ; ENTER 3,1 -; vmsrc/apple/cmdjit.pla: 1311: stripspaces(strptr) -; vmsrc/apple/cmdjit.pla: 1312: if ^strptr -; vmsrc/apple/cmdjit.pla: 1313: cmd = ^(strptr + 1) -; vmsrc/apple/cmdjit.pla: 1314: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/cmdjit.pla: 1315: ^strptr-- - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C020 -_F205 !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 -_F206 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmdjit.pla: 1316: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B147 -_B148 -; vmsrc/apple/cmdjit.pla: 1317: stripspaces(strptr) -; vmsrc/apple/cmdjit.pla: 1318: return cmd - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C020 -_F207 !WORD _C020 - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/cmdjit.pla: 1319: end -; vmsrc/apple/cmdjit.pla: 1320: def resetmemfiles()#0 -_C023 ; resetmemfiles() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1321: byte terr - ; terr -> [0] -; vmsrc/apple/cmdjit.pla: 1322: -; vmsrc/apple/cmdjit.pla: 1323: terr = perr // Save perr - !BYTE $58,$01,$00 ; ENTER 1,0 -; vmsrc/apple/cmdjit.pla: 1324: // -; vmsrc/apple/cmdjit.pla: 1325: // Close all files -; vmsrc/apple/cmdjit.pla: 1326: // -; vmsrc/apple/cmdjit.pla: 1327: ^$BF94 = 0 -; vmsrc/apple/cmdjit.pla: 1328: close(0) -; vmsrc/apple/cmdjit.pla: 1329: // -; vmsrc/apple/cmdjit.pla: 1330: // Set memory bitmap -; vmsrc/apple/cmdjit.pla: 1331: // -; vmsrc/apple/cmdjit.pla: 1332: memset($BF58, 0, 24) -; vmsrc/apple/cmdjit.pla: 1333: ^$BF58 = $CF -; vmsrc/apple/cmdjit.pla: 1334: ^$BF6F = $01 -; vmsrc/apple/cmdjit.pla: 1335: perr = terr // Restore perr -; vmsrc/apple/cmdjit.pla: 1336: end - !BYTE $68 ; LAB _D033+0 -_F208 !WORD _D033+0 - !BYTE $74,$00 ; SLB [0] - !BYTE $00 ; CN 0 - !BYTE $78,$94,$BF ; SAB 49044 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C003 -_F209 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $2C,$58,$BF ; CW 48984 - !BYTE $00 ; CN 0 - !BYTE $2A,$18 ; CB 24 - !BYTE $54 ; CALL _A003 -_F210 !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 _D033+0 -_F211 !WORD _D033+0 - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/cmdjit.pla: 1337: def execsys(sysfile)#0 - ; sysfile -> [0] -_C024 ; execsys() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1338: byte refnum - ; refnum -> [2] -; vmsrc/apple/cmdjit.pla: 1339: word len - ; len -> [3] -; vmsrc/apple/cmdjit.pla: 1340: -; vmsrc/apple/cmdjit.pla: 1341: if ^sysfile - !BYTE $58,$05,$01 ; ENTER 5,1 -; vmsrc/apple/cmdjit.pla: 1342: strcpy($280, sysfile) -; vmsrc/apple/cmdjit.pla: 1343: striptrail(sysfile) -; vmsrc/apple/cmdjit.pla: 1344: refnum = open(sysfile) -; vmsrc/apple/cmdjit.pla: 1345: if refnum -; vmsrc/apple/cmdjit.pla: 1346: len = read(refnum, $2000, $FFFF) -; vmsrc/apple/cmdjit.pla: 1347: resetmemfiles() -; vmsrc/apple/cmdjit.pla: 1348: if len -; vmsrc/apple/cmdjit.pla: 1349: strcpy(sysfile, $280) -; vmsrc/apple/cmdjit.pla: 1350: if stripchars(sysfile) and ^$2000 == $4C and *$2003 == $EEEE -; vmsrc/apple/cmdjit.pla: 1351: stripspaces(sysfile) -; vmsrc/apple/cmdjit.pla: 1352: if ^$2005 >= ^sysfile + 1 -; vmsrc/apple/cmdjit.pla: 1353: strcpy($2006, sysfile) -; vmsrc/apple/cmdjit.pla: 1354: 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 -_F212 !WORD _C012 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C021 -_F213 !WORD _C021 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F214 !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 -_F215 !WORD _C004 - !BYTE $76,$03 ; SLW [3] - !BYTE $54 ; CALL _C023 -_F216 !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 -_F217 !WORD _C012 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C019 -_F218 !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 -_F219 !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 -_F220 !WORD _C012 - !BYTE $30 ; DROP -_B159 -_B160 -; vmsrc/apple/cmdjit.pla: 1355: fin -_B157 -_B158 -; vmsrc/apple/cmdjit.pla: 1356: striptrail($280) -; vmsrc/apple/cmdjit.pla: 1357: exec() -; vmsrc/apple/cmdjit.pla: 1358: fin - !BYTE $2C,$80,$02 ; CW 640 - !BYTE $54 ; CALL _C021 -_F221 !WORD _C021 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _A002 -_F222 !WORD _A002 -_B153 -_B154 -; vmsrc/apple/cmdjit.pla: 1359: fin -_B151 -_B152 -; vmsrc/apple/cmdjit.pla: 1360: fin -_B149 -_B150 -; vmsrc/apple/cmdjit.pla: 1361: end - !BYTE $5A,$05 ; LEAVE 5 -; vmsrc/apple/cmdjit.pla: 1362: def execmod(modfile)#1 - ; modfile -> [0] -_P026 ; execmod(modfile)#1() -_C025 ; execmod() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1363: byte moddci[17] - ; moddci -> [2] -; vmsrc/apple/cmdjit.pla: 1364: word saveheap, savexheap, savesym, saveflags - ; saveheap -> [19] - ; savexheap -> [21] - ; savesym -> [23] - ; saveflags -> [25] -; vmsrc/apple/cmdjit.pla: 1365: -; vmsrc/apple/cmdjit.pla: 1366: perr = 1 - !BYTE $58,$1B,$01 ; ENTER 27,1 -; vmsrc/apple/cmdjit.pla: 1367: if stodci(modfile, @moddci) -; vmsrc/apple/cmdjit.pla: 1368: saveheap = heap -; vmsrc/apple/cmdjit.pla: 1369: savexheap = xheap -; vmsrc/apple/cmdjit.pla: 1370: savesym = lastsym -; vmsrc/apple/cmdjit.pla: 1371: saveflags = systemflags -; vmsrc/apple/cmdjit.pla: 1372: if loadmod(@moddci) < modkeep -; vmsrc/apple/cmdjit.pla: 1373: lastsym = savesym -; vmsrc/apple/cmdjit.pla: 1374: xheap = savexheap -; vmsrc/apple/cmdjit.pla: 1375: heap = saveheap -; vmsrc/apple/cmdjit.pla: 1376: fin - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D033+0 -_F223 !WORD _D033+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A019 -_F224 !WORD _A019 - !BYTE $4C ; BRFLS _B161 - !WORD _B161-* - !BYTE $6A ; LAW _D070+0 -_F225 !WORD _D070+0 - !BYTE $76,$13 ; SLW [19] - !BYTE $6A ; LAW _D071+0 -_F226 !WORD _D071+0 - !BYTE $76,$15 ; SLW [21] - !BYTE $6A ; LAW _D073+0 -_F227 !WORD _D073+0 - !BYTE $76,$17 ; SLW [23] - !BYTE $6A ; LAW _D069+0 -_F228 !WORD _D069+0 - !BYTE $76,$19 ; SLW [25] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C016 -_F229 !WORD _C016 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B163 - !WORD _B163-* - !BYTE $66,$17 ; LLW [23] - !BYTE $7A ; SAW _D073+0 -_F230 !WORD _D073+0 - !BYTE $66,$15 ; LLW [21] - !BYTE $7A ; SAW _D071+0 -_F231 !WORD _D071+0 - !BYTE $66,$13 ; LLW [19] - !BYTE $7A ; SAW _D070+0 -_F232 !WORD _D070+0 -_B163 -_B164 -; vmsrc/apple/cmdjit.pla: 1377: ^lastsym = 0 -; vmsrc/apple/cmdjit.pla: 1378: systemflags = saveflags -; vmsrc/apple/cmdjit.pla: 1379: fin - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D073+0 -_F233 !WORD _D073+0 - !BYTE $70 ; SB - !BYTE $66,$19 ; LLW [25] - !BYTE $7A ; SAW _D069+0 -_F234 !WORD _D069+0 -_B161 -_B162 -; vmsrc/apple/cmdjit.pla: 1380: return -perr - !BYTE $68 ; LAB _D033+0 -_F235 !WORD _D033+0 - !BYTE $90 ; NEG - !BYTE $5A,$1B ; LEAVE 27 -; vmsrc/apple/cmdjit.pla: 1381: end -; vmsrc/apple/cmdjit.pla: 1382: // -; vmsrc/apple/cmdjit.pla: 1383: // Command line processor -; vmsrc/apple/cmdjit.pla: 1384: // -; vmsrc/apple/cmdjit.pla: 1385: def docmds#0 -_C026 ; docmds() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1386: word prefix - ; prefix -> [0] -; vmsrc/apple/cmdjit.pla: 1387: -; vmsrc/apple/cmdjit.pla: 1388: loadmod(jitmod) // Cannot do this in init code - it will overwrite it! - !BYTE $58,$02,$00 ; ENTER 2,0 -; vmsrc/apple/cmdjit.pla: 1389: xheap = $0400 // Reset heap to point at low memory -; vmsrc/apple/cmdjit.pla: 1390: xheaptop = $A000 // Top below JITC -; vmsrc/apple/cmdjit.pla: 1391: prefix = pfxop(heap, GET_PFX) -; vmsrc/apple/cmdjit.pla: 1392: repeat - !BYTE $2C,$F0,$02 ; CW 752 - !BYTE $54 ; CALL _C016 -_F236 !WORD _C016 - !BYTE $30 ; DROP - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $7A ; SAW _D071+0 -_F237 !WORD _D071+0 - !BYTE $2C,$00,$A0 ; CW 40960 - !BYTE $7A ; SAW _D072+0 -_F238 !WORD _D072+0 - !BYTE $6A ; LAW _D070+0 -_F239 !WORD _D070+0 - !BYTE $2A,$C7 ; CB 199 - !BYTE $54 ; CALL _C001 -_F240 !WORD _C001 - !BYTE $76,$00 ; SLW [0] -_B166 -; vmsrc/apple/cmdjit.pla: 1393: if ^getlnbuf -; vmsrc/apple/cmdjit.pla: 1394: strcpy(@cmdln, getlnbuf) -; vmsrc/apple/cmdjit.pla: 1395: when toupper(parsecmd(getlnbuf)) - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $4C ; BRFLS _B168 - !WORD _B168-* - !BYTE $26 ; LA _D036+0 -_F241 !WORD _D036+0 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C012 -_F242 !WORD _C012 - !BYTE $30 ; DROP - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C022 -_F243 !WORD _C022 - !BYTE $54 ; CALL _A020 -_F244 !WORD _A020 - !BYTE $52 ; SEL - !WORD _B171-* -; vmsrc/apple/cmdjit.pla: 1396: is 'C' -_B172 -; vmsrc/apple/cmdjit.pla: 1397: catalog(^getlnbuf ?? getlnbuf :: prefix) -; vmsrc/apple/cmdjit.pla: 1398: break - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $4C ; BRFLS _B175 - !WORD _B175-* - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $50 ; BRNCH _B176 - !WORD _B176-* -_B175 - !BYTE $66,$00 ; LLW [0] -_B176 - !BYTE $54 ; CALL _C018 -_F245 !WORD _C018 - !BYTE $50 ; BRNCH _B170 - !WORD _B170-* -; vmsrc/apple/cmdjit.pla: 1399: is 'P' -_B177 -; vmsrc/apple/cmdjit.pla: 1400: pfxop(getlnbuf, SET_PFX) -; vmsrc/apple/cmdjit.pla: 1401: break - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $2A,$C6 ; CB 198 - !BYTE $54 ; CALL _C001 -_F246 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B170 - !WORD _B170-* -; vmsrc/apple/cmdjit.pla: 1402: is '/' -_B178 -; vmsrc/apple/cmdjit.pla: 1403: repeat -_B180 -; vmsrc/apple/cmdjit.pla: 1404: ^prefix-- - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmdjit.pla: 1405: until ^(prefix + ^prefix) == '/' - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B181 - !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 _B180 - !WORD _B180-* -_B179 -; vmsrc/apple/cmdjit.pla: 1406: if ^prefix > 1 -; vmsrc/apple/cmdjit.pla: 1407: pfxop(prefix, SET_PFX) -; vmsrc/apple/cmdjit.pla: 1408: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B182 - !WORD _B182-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$C6 ; CB 198 - !BYTE $54 ; CALL _C001 -_F247 !WORD _C001 - !BYTE $30 ; DROP -_B182 -_B183 -; vmsrc/apple/cmdjit.pla: 1409: break - !BYTE $50 ; BRNCH _B170 - !WORD _B170-* -; vmsrc/apple/cmdjit.pla: 1410: is 'V' -_B184 -; vmsrc/apple/cmdjit.pla: 1411: volumes() -; vmsrc/apple/cmdjit.pla: 1412: break - !BYTE $54 ; CALL _C017 -_F248 !WORD _C017 - !BYTE $50 ; BRNCH _B170 - !WORD _B170-* -; vmsrc/apple/cmdjit.pla: 1413: is '-' -_B185 -; vmsrc/apple/cmdjit.pla: 1414: execsys(getlnbuf) -; vmsrc/apple/cmdjit.pla: 1415: break - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C024 -_F249 !WORD _C024 - !BYTE $50 ; BRNCH _B170 - !WORD _B170-* -; vmsrc/apple/cmdjit.pla: 1416: is '+' -_B186 -; vmsrc/apple/cmdjit.pla: 1417: // -; vmsrc/apple/cmdjit.pla: 1418: // Set JIT code pointer -; vmsrc/apple/cmdjit.pla: 1419: // -; vmsrc/apple/cmdjit.pla: 1420: *jitcodeptr = jitcbuf -; vmsrc/apple/cmdjit.pla: 1421: // -; vmsrc/apple/cmdjit.pla: 1422: // Exec module -; vmsrc/apple/cmdjit.pla: 1423: // -; vmsrc/apple/cmdjit.pla: 1424: execmod(striptrail(getlnbuf)) -; vmsrc/apple/cmdjit.pla: 1425: // -; vmsrc/apple/cmdjit.pla: 1426: // Clean up -; vmsrc/apple/cmdjit.pla: 1427: // -; vmsrc/apple/cmdjit.pla: 1428: resetmemfiles -; vmsrc/apple/cmdjit.pla: 1429: break - !BYTE $2C,$00,$AF ; CW 44800 - !BYTE $7A,$E4,$03 ; SAW 996 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C021 -_F250 !WORD _C021 - !BYTE $54 ; CALL _C025 -_F251 !WORD _C025 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C023 -_F252 !WORD _C023 - !BYTE $50 ; BRNCH _B170 - !WORD _B170-* -; vmsrc/apple/cmdjit.pla: 1430: otherwise -_B171 - !BYTE $06 ; CASEBLOCK - !WORD $002B - !WORD _B186-* - !WORD $002D - !WORD _B185-* - !WORD $002F - !WORD _B178-* - !WORD $0043 - !WORD _B172-* - !WORD $0050 - !WORD _B177-* - !WORD $0056 - !WORD _B184-* -; vmsrc/apple/cmdjit.pla: 1431: cout('?') -; vmsrc/apple/cmdjit.pla: 1432: wend - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _A006 -_F253 !WORD _A006 -_B170 -; vmsrc/apple/cmdjit.pla: 1433: if perr -; vmsrc/apple/cmdjit.pla: 1434: prstr("ERR:$") - !BYTE $68 ; LAB _D033+0 -_F254 !WORD _D033+0 - !BYTE $4C ; BRFLS _B187 - !WORD _B187-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $45,$52,$52,$3A,$24 - !BYTE $54 ; CALL _A008 -_F255 !WORD _A008 -; vmsrc/apple/cmdjit.pla: 1435: prbyte(perr) -; vmsrc/apple/cmdjit.pla: 1436: crout() -; vmsrc/apple/cmdjit.pla: 1437: fin - !BYTE $68 ; LAB _D033+0 -_F256 !WORD _D033+0 - !BYTE $54 ; CALL _A010 -_F257 !WORD _A010 - !BYTE $54 ; CALL _A005 -_F258 !WORD _A005 -_B187 -_B188 -; vmsrc/apple/cmdjit.pla: 1438: fin -_B168 -_B169 -; vmsrc/apple/cmdjit.pla: 1439: prstr(pfxop(prefix, GET_PFX)) -; vmsrc/apple/cmdjit.pla: 1440: rdstr($BA) -; vmsrc/apple/cmdjit.pla: 1441: until 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$C7 ; CB 199 - !BYTE $54 ; CALL _C001 -_F259 !WORD _C001 - !BYTE $54 ; CALL _A008 -_F260 !WORD _A008 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _A011 -_F261 !WORD _A011 - !BYTE $30 ; DROP -_B167 - !BYTE $50 ; BRNCH _B166 - !WORD _B166-* -_B165 -; vmsrc/apple/cmdjit.pla: 1442: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmdjit.pla: 1443: // -; vmsrc/apple/cmdjit.pla: 1444: // Dummy definition to get free heap -; vmsrc/apple/cmdjit.pla: 1445: // -; vmsrc/apple/cmdjit.pla: 1446: def lastdef#0 -_C027 ; lastdef() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1447: end - !BYTE $5C ; RET -; vmsrc/apple/cmdjit.pla: 1448: // -; vmsrc/apple/cmdjit.pla: 1449: // Get heap start. -; vmsrc/apple/cmdjit.pla: 1450: // -; vmsrc/apple/cmdjit.pla: 1451: heap = @lastdef -_INIT - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1452: // -; vmsrc/apple/cmdjit.pla: 1453: // Print PLASMA version -; vmsrc/apple/cmdjit.pla: 1454: // -; vmsrc/apple/cmdjit.pla: 1455: prstr("PLASMA 2.0 128K\n")//; prbyte(version.1); cout('.'); prbyte(version.0); crout - !BYTE $26 ; LA _C027+0 -_F262 !WORD _C027+0 - !BYTE $7A ; SAW _D070+0 -_F263 !WORD _D070+0 - !BYTE $2E ; CS - !BYTE $10 - !BYTE $50,$4C,$41,$53,$4D,$41,$20,$32 - !BYTE $2E,$30,$20,$31,$32,$38,$4B,$0D - !BYTE $54 ; CALL _A008 -_F264 !WORD _A008 -; vmsrc/apple/cmdjit.pla: 1456: // -; vmsrc/apple/cmdjit.pla: 1457: // Init symbol table. -; vmsrc/apple/cmdjit.pla: 1458: // -; vmsrc/apple/cmdjit.pla: 1459: while *sysmodsym - !BYTE $50 ; BRNCH _B191 - !WORD _B191-* -_B189 -; vmsrc/apple/cmdjit.pla: 1460: stodci(sysmodsym=>0, heap) -; vmsrc/apple/cmdjit.pla: 1461: addsym(heap, sysmodsym=>2) -; vmsrc/apple/cmdjit.pla: 1462: sysmodsym = sysmodsym + 4 -; vmsrc/apple/cmdjit.pla: 1463: loop - !BYTE $6A ; LAW _D068+0 -_F265 !WORD _D068+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D070+0 -_F266 !WORD _D070+0 - !BYTE $54 ; CALL _A019 -_F267 !WORD _A019 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D070+0 -_F268 !WORD _D070+0 - !BYTE $6A ; LAW _D068+0 -_F269 !WORD _D068+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C011 -_F270 !WORD _C011 - !BYTE $6A ; LAW _D068+0 -_F271 !WORD _D068+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $7A ; SAW _D068+0 -_F272 !WORD _D068+0 -_B191 - !BYTE $6A ; LAW _D068+0 -_F273 !WORD _D068+0 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B189 - !WORD _B189-* -_B190 -; vmsrc/apple/cmdjit.pla: 1464: // -; vmsrc/apple/cmdjit.pla: 1465: // Set system path -; vmsrc/apple/cmdjit.pla: 1466: // -; vmsrc/apple/cmdjit.pla: 1467: strcat(strcpy(@sysmods, $300), "SYS/")) // This is the path to CMD - !BYTE $26 ; LA _D067+0 -_F274 !WORD _D067+0 - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $54 ; CALL _C012 -_F275 !WORD _C012 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $53,$59,$53,$2F - !BYTE $54 ; CALL _C013 -_F276 !WORD _C013 - !BYTE $30 ; DROP -; vmsrc/apple/cmdjit.pla: 1468: syspath = @sysmods // Update external interface table -; vmsrc/apple/cmdjit.pla: 1469: syscmdln = @cmdln -; vmsrc/apple/cmdjit.pla: 1470: // -; vmsrc/apple/cmdjit.pla: 1471: // Try to load autorun. -; vmsrc/apple/cmdjit.pla: 1472: // -; vmsrc/apple/cmdjit.pla: 1473: autorun = open(@autorun) -; vmsrc/apple/cmdjit.pla: 1474: if autorun -; vmsrc/apple/cmdjit.pla: 1475: cmdln = read(autorun, @cmdln+1, 81) -; vmsrc/apple/cmdjit.pla: 1476: strcpy(getlnbuf, @cmdln) -; vmsrc/apple/cmdjit.pla: 1477: close(0) -; vmsrc/apple/cmdjit.pla: 1478: else - !BYTE $26 ; LA _D067+0 -_F277 !WORD _D067+0 - !BYTE $7A ; SAW _D031+0 -_F278 !WORD _D031+0 - !BYTE $26 ; LA _D036+0 -_F279 !WORD _D036+0 - !BYTE $7A ; SAW _D032+0 -_F280 !WORD _D032+0 - !BYTE $26 ; LA _D037+0 -_F281 !WORD _D037+0 - !BYTE $54 ; CALL _C002 -_F282 !WORD _C002 - !BYTE $7C ; DAB _D037+0 -_F283 !WORD _D037+0 - !BYTE $4C ; BRFLS _B192 - !WORD _B192-* - !BYTE $68 ; LAB _D037+0 -_F284 !WORD _D037+0 - !BYTE $26 ; LA _D036+1 -_F285 !WORD _D036+1 - !BYTE $2A,$51 ; CB 81 - !BYTE $54 ; CALL _C004 -_F286 !WORD _C004 - !BYTE $78 ; SAB _D036+0 -_F287 !WORD _D036+0 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $26 ; LA _D036+0 -_F288 !WORD _D036+0 - !BYTE $54 ; CALL _C012 -_F289 !WORD _C012 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C003 -_F290 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B193 - !WORD _B193-* -_B192 -; vmsrc/apple/cmdjit.pla: 1479: ^getlnbuf = 0 -; vmsrc/apple/cmdjit.pla: 1480: // -; vmsrc/apple/cmdjit.pla: 1481: // Print some startup info. -; vmsrc/apple/cmdjit.pla: 1482: // -; vmsrc/apple/cmdjit.pla: 1483: prstr("MEM FREE:$"); prword(availheap); crout - !BYTE $00 ; CN 0 - !BYTE $78,$FF,$01 ; SAB 511 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $4D,$45,$4D,$20,$46,$52,$45,$45 - !BYTE $3A,$24 - !BYTE $54 ; CALL _A008 -_F291 !WORD _A008 -; vmsrc/apple/cmdjit.pla: 1484: fin - !BYTE $54 ; CALL _C005 -_F292 !WORD _C005 - !BYTE $54 ; CALL _A009 -_F293 !WORD _A009 - !BYTE $54 ; CALL _A005 -_F294 !WORD _A005 -_B193 -; vmsrc/apple/cmdjit.pla: 1485: docmds -; vmsrc/apple/cmdjit.pla: 1486: done - !BYTE $54 ; CALL _C026 -_F295 !WORD _C026 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 diff --git a/src/vmsrc/apple/plvm01.sym b/src/vmsrc/apple/plvm01.sym deleted file mode 100644 index 4acc5be..0000000 --- a/src/vmsrc/apple/plvm01.sym +++ /dev/null @@ -1,644 +0,0 @@ - A1CMD = $9c6 - BRTRU = $8b3 ; ? - _DIV = $40c ; ? - ISGT = $7ef ; ? - INTERP = $283 - ISEQ = $7a5 ; ? - _LAW = $673 - _F009 = $af3 ; unused - _F028 = $b19 ; unused - _F219 = $15ff ; unused - _B019 = $f1e - _B038 = $1123 ; unused - _F008 = $af1 ; unused - _F029 = $b1b ; unused - _F218 = $15fc ; unused - _B018 = $f1b ; unused - _B039 = $111b ; ? - _F049 = $b43 ; unused - _F068 = $f12 ; unused - _B059 = $1259 ; unused - _B078 = $1392 ; ? - SRCL = $6 - _F048 = $b41 ; unused - _F069 = $f27 ; unused - _B058 = $1259 ; ? - _B079 = $1392 ; unused - BRNCH = $8c8 ; ? - _F089 = $1089 ; unused - _B099 = $146b ; unused - SEGEND = $1633 - ICAL = $956 ; ? - _F088 = $107c ; unused - _B098 = $1447 - SRCH = $7 - _F001 = $a1f ; unused - _F020 = $b09 ; unused - _F043 = $b37 ; unused - _F062 = $eb9 ; unused - _F085 = $105b ; unused - _F211 = $15cd ; unused - _F230 = $1629 ; unused - _B011 = $fc0 ; ? - _B030 = $fcd ; ? - _B053 = $1283 ; ? - _B072 = $1352 ; unused - _B095 = $1444 ; unused - _F000 = $9cf ; unused - _F021 = $b0b ; unused - _F042 = $b35 ; unused - _F063 = $ec2 ; unused - _F084 = $103c ; unused - _F210 = $15ca ; unused - _F231 = $162c ; unused - _B010 = $fc0 ; unused - _B031 = $10ac ; ? - _B052 = $1228 ; ? - _B073 = $1340 ; ? - _B094 = $142b - _LAB = $65f - ISFLS = $7c6 ; ? - _F003 = $ae7 ; unused - _F022 = $b0d ; unused - _F041 = $b33 ; unused - _F060 = $e8c ; unused - _F087 = $1079 ; unused - _F213 = $15d6 ; unused - _B013 = $ee0 - _B032 = $10ac ; unused - _B070 = $1352 ; ? - _B097 = $1441 ; ? - _B051 = $139e ; unused - ISGE = $7cf ; ? - _F002 = $ae5 ; unused - _F023 = $b0f ; unused - _F040 = $b31 ; unused - _F061 = $ea6 ; unused - _F086 = $105e ; unused - _F212 = $15d0 ; unused - _B012 = $f78 ; ? - _B033 = $10c1 ; ? - _B050 = $139e ; ? - _B071 = $1352 ; ? - _B096 = $1432 ; ? - _F005 = $aeb ; unused - _F024 = $b11 ; unused - _F047 = $b3f ; unused - _F066 = $efa ; unused - _F081 = $1004 ; unused - _F215 = $15e2 ; unused - _B015 = $efc ; unused - _B034 = $10c1 ; unused - _B057 = $1264 ; ? - _B076 = $139e ; unused - _B091 = $141d ; unused - ESTK = $c0 - _F004 = $ae9 ; unused - _F025 = $b13 ; unused - _F046 = $b3d ; unused - _F067 = $f08 ; unused - _F080 = $ff7 ; unused - _F214 = $15db ; unused - REVCPYLP = $c4a ; ? - _B014 = $efc ; ? - _B035 = $10e1 ; ? - _B056 = $126a ; unused - _B077 = $1398 ; ? - _B090 = $13f9 - _F007 = $aef ; unused - _F026 = $b15 ; unused - _F045 = $b3b ; unused - _F064 = $ed6 ; unused - _F083 = $101d ; unused - _F217 = $15f9 ; unused - _B017 = $f1b ; ? - _B036 = $10e1 ; unused - _B055 = $123e - _B074 = $1349 ; ? - _B093 = $141a ; ? - _F006 = $aed ; unused - _F027 = $b17 ; unused - _F044 = $b39 ; unused - _F065 = $ed9 ; unused - _F082 = $1009 ; unused - _F216 = $15e5 ; unused - _B016 = $eff - _B037 = $1108 - _B054 = $1283 ; unused - _B075 = $135b - _B092 = $140d ; ? - IFP = $e0 - IPY = $e4 - SAW = $756 ; ? - IINTERP = $293 - BROR = $88a ; ? - DECR = $2e5 - BRGT = $8e6 ; ? - VMINIT = $1633 ; ? - BREQ = $893 ; ? - _C019 = $13f0 ; unused - _C018 = $11c6 - IPH = $f3 - DECBRGE = $906 ; ? - _DIV1 = $432 ; ? - IPL = $f2 - SAB = $743 ; ? - FIXNEXT = $872 ; ? - ADD = $45b ; ? - _C011 = $108e - _C010 = $1080 - DSTL = $8 - _C013 = $10e5 ; unused - SEL = $80f ; ? - _C012 = $10b0 ; unused - SUB = $46b ; ? - _C015 = $10ff - FIXDROP = $701 ; ? - _C014 = $10ec - FORCPYLP = $c11 ; ? - DSTH = $9 - SEGBEGIN = $280 ; unused - _C017 = $1199 - _C016 = $1140 - IDXW = $47b ; ? - CASELP = $835 ; ? - RLDEX = $e39 ; ? - INCR = $2dc - _BRLE = $924 ; ? - _SYSFLAGS = $0 ; unused - COMP = $2f0 - _D028 = $9cb ; unused - _F109 = $1152 ; unused - _F128 = $124c ; unused - _B119 = $15bf ; ? - _D029 = $9cd ; unused - _F108 = $113b ; unused - _F129 = $1254 ; unused - _B118 = $1597 ; ? - ADDI = $517 ; ? - CALL = $961 ; ? - LEAVE = $9a8 ; ? - _D049 = $a34 - _D068 = $ac1 - _P019 = $be6 ; ? - _F149 = $13ad ; unused - _F168 = $1509 ; unused - _D048 = $a2f - _D069 = $ac7 - _P018 = $bb3 ; ? - _F148 = $13a5 ; unused - _F169 = $150f ; unused - _F189 = $1563 ; unused - _F188 = $155d ; unused - SUBI = $526 ; ? - NOBRNCH = $8ba ; ? - _D043 = $a0e - _D062 = $a84 - _P013 = $10e5 ; ? - _F101 = $110c ; unused - _F120 = $11e5 ; unused - _F143 = $1365 ; unused - _F162 = $14e3 ; unused - _F185 = $1553 ; unused - _B111 = $1507 ; ? - _B130 = $15e1 - _D042 = $a0b - _D063 = $a93 - _P012 = $1029 ; ? - _F100 = $10fa ; unused - _F121 = $11f4 ; unused - _F142 = $1347 ; unused - _F163 = $14e8 ; unused - _F184 = $154f ; unused - _B110 = $1511 ; unused - _B131 = $1617 ; ? - _D041 = $a08 - _D060 = $a76 - _P011 = $100d ; ? - _F103 = $1114 ; unused - _F122 = $11f7 ; unused - _F141 = $133a ; unused - _F160 = $14d6 ; unused - _F187 = $155a ; unused - _B113 = $154e - _B132 = $161d ; ? - _D040 = $a01 - _D061 = $a7b - _P010 = $d1f ; ? - _F102 = $1110 ; unused - _F123 = $11fd ; unused - _F140 = $131b ; unused - _F161 = $14dd ; unused - _F186 = $1556 ; unused - _B112 = $1507 ; unused - _D047 = $a28 - _D066 = $ab3 - _P017 = $1080 ; ? - _F105 = $112d ; unused - _F124 = $1202 ; unused - _F147 = $139f ; unused - _F166 = $1500 ; unused - _F181 = $1541 ; unused - _B115 = $156d ; ? - BRAND = $881 ; ? - _D046 = $a21 - _D067 = $aba - _P016 = $10ec ; ? - _F104 = $1127 ; unused - _F125 = $121f ; unused - _F146 = $1390 ; unused - _F167 = $1505 ; unused - _F180 = $153e ; unused - _B114 = $1574 ; unused - _D045 = $a1f - _D064 = $a9d - _P015 = $10b0 ; ? - _F107 = $1137 ; unused - _F126 = $1241 ; unused - _F145 = $1387 ; unused - _F164 = $14ed ; unused - _F183 = $1548 ; unused - _B117 = $15a5 ; unused - _D027 = $9c9 - _D044 = $a1e - _D065 = $aa9 - _P014 = $108e ; ? - _F106 = $1132 ; unused - _F127 = $1244 ; unused - _F144 = $137b ; unused - _F165 = $14f4 ; unused - _F182 = $1544 ; unused - _B116 = $158e - DLW = $723 ; ? - RET = $9b5 ; ? - LLW = $641 ; ? - LB = $5cb ; ? - LA = $595 ; ? - ESGUARD = $be ; unused - IDXLB = $653 ; ? - PAGE0 = $1655 ; ? - JMPTMP = $e6 - ADDAB = $69a ; ? - PPL = $e2 ; unused - _A019 = $dab - LW = $5da ; ? - _A018 = $d73 ; unused - PPH = $e3 ; unused - _DIVLP = $439 - LLA = $602 ; ? - DLB = $710 ; ? - NEG = $3f8 ; ? - LLB = $63b ; ? - PP = $e2 - ENTER = $983 ; ? - _A011 = $cac ; unused - _A010 = $c9a ; unused - ADDAW = $6a0 ; ? - _A013 = $cbb - XREG = $b5c ; ? - BAND = $48e ; ? - IDXLW = $659 ; ? - _A012 = $cb1 ; unused - ZERO = $566 ; ? - _A015 = $ced - _A014 = $cc5 - _A017 = $d30 - _A016 = $d1f - TOUPR = $d21 ; ? - CALL6502 = $b8f ; ? - OPTBL = $300 - _LLW = $628 - BRFLS = $8c1 ; ? - ISLT = $801 ; ? - _F019 = $b07 ; unused - _F038 = $b2d ; unused - _F209 = $15c3 ; unused - _F228 = $1621 ; unused - _B009 = $ed8 - _B028 = $fc0 ; ? - _F018 = $b05 ; unused - _F039 = $b2f ; unused - _F208 = $15bd ; unused - _F229 = $1624 ; unused - _B029 = $fc0 ; unused - _B008 = $fd0 ; unused - DVSIGN = $e9 - _F059 = $e74 ; unused - _F078 = $feb ; unused - _B049 = $11ea ; unused - _B068 = $1312 - _F058 = $b57 ; unused - _F079 = $fee ; unused - _B048 = $11ea ; ? - _B069 = $1358 ; unused - _F099 = $10f5 ; unused - _B089 = $13e4 ; unused - _F098 = $10e9 ; unused - _B088 = $13e4 ; ? - ISTRU = $7b1 - CFFB = $579 ; ? - _F011 = $af7 ; unused - _F030 = $b1d ; unused - _F053 = $b4b ; unused - _F072 = $f59 ; unused - _F095 = $10c9 ; unused - _F201 = $1598 ; unused - _F220 = $1605 ; unused - _B001 = $e91 ; ? - _B020 = $f55 ; ? - _B043 = $1164 ; ? - _B062 = $12e2 - _B085 = $13e4 ; unused - _F010 = $af5 ; unused - _F031 = $b1f ; unused - _F052 = $b49 ; unused - _F073 = $f5f ; unused - _F094 = $10bc ; unused - _F200 = $1594 ; unused - _F221 = $1608 ; unused - _B021 = $f55 ; unused - _B042 = $1190 ; ? - _B063 = $12ee ; unused - _B084 = $13e4 ; ? - _F013 = $afb ; unused - _F032 = $b21 ; unused - _F051 = $b47 ; unused - _F070 = $f31 ; unused - _F097 = $10d9 ; unused - _F203 = $15aa ; unused - _F222 = $160b ; unused - _B003 = $e8e ; unused - _B022 = $f58 - _B041 = $1196 ; unused - _B060 = $1259 ; ? - _B087 = $13d4 ; unused - _F012 = $af9 ; unused - _F033 = $b23 ; unused - _F050 = $b45 ; unused - _F071 = $f47 ; unused - _F096 = $10d4 ; unused - _F202 = $15a7 ; unused - _F223 = $160e ; unused - _B002 = $e84 - _B023 = $f64 - _B040 = $1149 - _B061 = $1259 ; unused - _B086 = $13d4 ; ? - _LLB = $616 - _F015 = $aff ; unused - _F034 = $b25 ; unused - _F057 = $b53 ; unused - _F076 = $fd2 ; unused - _F091 = $109a ; unused - _F205 = $15b4 ; unused - _F224 = $1612 ; unused - _B005 = $ead ; unused - _B024 = $f64 - _B047 = $1186 ; unused - _B066 = $130f ; unused - _B081 = $138b ; unused - _NEG = $3fe ; ? - _F014 = $afd ; unused - _F035 = $b27 ; unused - _F056 = $b51 ; unused - _F077 = $fe0 ; unused - _F090 = $1095 ; unused - _F204 = $15b1 ; unused - _F225 = $1618 ; unused - _B004 = $ead ; ? - _B025 = $f6e - _B046 = $1186 ; ? - _B067 = $1308 ; ? - _B080 = $138b ; ? - CPYMEX = $c5f ; ? - ISLE = $7e1 ; ? - _F017 = $b03 ; unused - _F036 = $b29 ; unused - _F055 = $b4f ; unused - _F074 = $f65 ; unused - _F093 = $10a4 ; unused - _F207 = $15ba ; unused - _F226 = $161b ; unused - _B007 = $ebb ; unused - _B026 = $fc0 ; ? - _B045 = $118a ; unused - _B064 = $12e8 ; ? - _B083 = $13aa ; unused - ISNE = $7ba ; ? - _F016 = $b01 ; unused - _F037 = $b2b ; unused - _F054 = $b4d ; unused - _F075 = $fa0 ; unused - _F092 = $109f ; unused - _F206 = $15b7 ; unused - _F227 = $161e ; unused - _B006 = $ebb ; ? - _B027 = $fc0 ; unused - _B044 = $118a ; ? - _B065 = $12f6 - _B082 = $13aa ; ? - SHR = $4df ; ? - SLW = $6eb ; ? - IOR = $49d ; ? - _CALL = $96b ; ? - ESP = $e5 - CASEEND = $858 ; ? - REVCPY = $c25 ; ? - BRLT = $8f4 ; ? - SLB = $6da ; ? - _C009 = $1065 - MOD = $3cc ; ? - _C008 = $104c - ORI = $543 ; ? - ESTKSZ = $20 - MUL = $2a8 - _C001 = $e77 - _C020 = $1422 - TMPH = $e8 - _C000 = $e6f - _C021 = $146d ; unused - _C003 = $ec6 - _C022 = $1497 - _C002 = $e96 - _C023 = $14ce - SHL = $4bb ; ? - _C005 = $ffb - TMPL = $e7 - _C004 = $fd9 - SRC = $6 - BRNE = $8a3 ; ? - _C007 = $1029 ; unused - _INIT = $1517 ; ? - _C006 = $100d ; unused - ESTKL = $d0 - OPPAGE = $f8 ; unused - ESTKH = $c0 - DROP2 = $6d6 ; ? - DIVMOD = $3de ; ? - NEXTOP = $f0 - _BRGE = $910 - ANDI = $535 ; ? - _D038 = $9f0 - _F119 = $11df ; unused - _F138 = $12b9 ; unused - _B109 = $1511 ; ? - _B128 = $15d5 - _D039 = $9fb - _F118 = $11d7 ; unused - _F139 = $12ff ; unused - _B108 = $14c5 ; unused - _B129 = $15d8 - _D059 = $a6e - _P009 = $ec6 ; ? - _F159 = $14c8 ; unused - _F178 = $1535 ; unused - _D058 = $a67 - _P008 = $e5d ; ? - _F158 = $14bc ; unused - _F179 = $1538 ; unused - _F199 = $158f ; unused - _F198 = $1588 ; unused - OPIDX = $f7 - IFPH = $e1 - _D030 = $9d1 - _D053 = $a49 - _D072 = $ad9 - _P003 = $e53 ; ? - _P022 = $c9a ; ? - _F111 = $116d ; unused - _F130 = $125f ; unused - _F153 = $13e1 ; unused - _F172 = $1521 ; unused - _F195 = $157e ; unused - _B101 = $1468 ; ? - _B120 = $15bf ; unused - _D031 = $9d3 - _D052 = $a44 - _D073 = $ade - _P002 = $e6f ; ? - _P023 = $c74 ; ? - _F110 = $116a ; unused - _F131 = $1270 ; unused - _F152 = $13d5 ; unused - _F173 = $1524 ; unused - _F194 = $1578 ; unused - _B100 = $145b ; ? - _B121 = $15c2 - _D032 = $9d5 - _D051 = $a3f - _D070 = $acd - _P001 = $b71 ; ? - _P020 = $c88 ; ? - _F113 = $117c ; unused - _F132 = $127d ; unused - _F151 = $13d2 ; unused - _F170 = $1512 ; unused - _F197 = $1584 ; unused - _B103 = $147a - _B122 = $1631 ; unused - _D033 = $9d7 - _D050 = $a3a - _D071 = $ad3 - _P000 = $b5f ; ? - _P021 = $c60 ; ? - _F112 = $1177 ; unused - _F133 = $1280 ; unused - _F150 = $13c4 ; unused - _F171 = $151e ; unused - _F196 = $1581 ; unused - _B102 = $1492 ; ? - _B123 = $162e ; ? - IFPL = $e0 - INCBRLE = $91e ; ? - ADDBRLE = $946 ; ? - _P026 = $14ce ; ? - _D034 = $9d9 - _D057 = $a60 - _P007 = $ffb ; ? - _F115 = $1184 ; unused - _F134 = $128a ; unused - _F157 = $14a3 ; unused - _F176 = $152f ; unused - _F191 = $156b ; unused - _B105 = $148f ; ? - _B124 = $1620 ; ? - _D035 = $9da ; unused - _D056 = $a58 - _P006 = $fd9 ; ? - _F114 = $1181 ; unused - _F135 = $128f ; unused - _F156 = $1452 ; unused - _F177 = $1532 ; unused - _F190 = $1566 ; unused - _B104 = $148f ; unused - _B125 = $1620 ; unused - _D036 = $9db - _D055 = $a53 - _D074 = $ae5 - _P005 = $e96 ; ? - _P024 = $cb1 ; ? - _F117 = $11d1 ; unused - _F136 = $12a9 ; unused - _F155 = $1404 ; unused - _F174 = $1527 ; unused - _F193 = $1575 ; unused - _B107 = $14c5 ; ? - _B126 = $15fe ; ? - _D037 = $9e3 - _D054 = $a4e - _P004 = $e77 ; ? - _P025 = $cac ; ? - _D075 = $b57 - _F116 = $11af ; unused - _F137 = $12b2 ; unused - _F154 = $13e7 ; unused - _F175 = $152a ; unused - _F192 = $156e ; unused - _B106 = $148f ; unused - _B127 = $15eb ; ? - _MULLP = $2bc - TMP = $e7 - XOR = $4ac ; ? - CB = $57c ; ? - DIV = $3c2 ; ? - VMZP = $e0 - LAW = $694 ; ? - NATV = $9b6 ; ? - DAW = $789 ; ? - IDXAB = $6a6 ; ? - LNOT = $54d ; ? - ADDLB = $647 ; ? - DROP = $ef - DUP = $50b ; ? - SB = $6b2 ; ? - DST = $8 - SETMEX = $be2 ; ? - CN = $56e ; ? - _A009 = $c88 ; unused - LAB = $68e ; ? - _A008 = $c74 ; unused - CS = $5b3 ; ? - DAB = $774 ; ? - IP = $f2 - CW = $5a5 ; ? - _DIVEX = $457 ; ? - _A001 = $b5c ; unused - _A020 = $de6 - REGVALS = $bac ; ? - SETMLPH = $bca - SUBBRGE = $936 ; ? - _A000 = $b59 ; unused - _A021 = $e53 - MINUS1 = $55c ; ? - _A003 = $b71 ; unused - _A022 = $e5d - FETCHOP = $f1 - _A002 = $b5f - ADDLW = $64d ; ? - _A005 = $bb3 - SETMLPL = $bc7 - IDXAW = $6ac ; ? - _A004 = $bb0 - SW = $6be ; ? - _A007 = $c60 - _A006 = $be6 diff --git a/src/vmsrc/apple/plvm02.sym b/src/vmsrc/apple/plvm02.sym deleted file mode 100644 index 2588554..0000000 --- a/src/vmsrc/apple/plvm02.sym +++ /dev/null @@ -1,175 +0,0 @@ - BRTRU = $d841 ; ? - _DIV = $d299 - ISGT = $d77d ; ? - INTERP = $3d0 - ISEQ = $d733 ; ? - GETPFXPARMS = $2082 ; ? - SRCL = $6 - DINTRP = $d0c2 - BRNCH = $d856 ; ? - ICAL = $d906 ; ? - SRCH = $7 - LCBNK1 = $8 ; unused - LCDEFCMD = $d1c1 ; ? - LCBNK2 = $0 - ISFLS = $d754 ; ? - ISGE = $d75d ; ? - ESTK = $c0 - IFP = $e0 - OPENVM = $103e ; ? - CLRKBD = $c010 ; unused - IPY = $e4 - SAW = $d6e1 ; ? - LCRWEN = $c083 - BROR = $d818 ; ? - DECR = $d33a ; ? - BRGT = $d874 ; ? - KEYBD = $c000 ; unused - BREQ = $d821 ; ? - 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 = $be ; 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 = $d0d2 - 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 = $20 - MUL = $d233 ; ? - _MULLPH = $d26f - TMPH = $e8 - SHL = $d386 ; ? - _MULLPL = $d256 - TMPL = $e7 - SRC = $6 - BRNE = $d831 ; ? - ESTKL = $d0 - OPPAGE = $f8 ; unused - OPENPARMS = $108a ; ? - ESTKH = $c0 - 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 ; ? - DROP = $ef - DUP = $d3d6 ; ? - SB = $d63d ; ? - DST = $8 - ALTVM = $29ef ; ? - 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 = $d96a ; unused diff --git a/src/vmsrc/apple/plvm03.sym b/src/vmsrc/apple/plvm03.sym deleted file mode 100644 index bdff01f..0000000 --- a/src/vmsrc/apple/plvm03.sym +++ /dev/null @@ -1,668 +0,0 @@ - CMDPARS = $a0f0 ; unused - _CNXTS1 = $a482 ; ? - SRCX = $1607 - BRTRU = $a84d ; ? - _DIV = $a1fe - _CMPPS = $a458 - ISGT = $a780 ; ? - _CPYS1 = $a4a3 - INTERP = $a1c2 ; ? - ISEQ = $a736 ; ? - _F009 = $aaa7 ; unused - _F028 = $aacd ; unused - _F219 = $b5c2 ; unused - _F238 = $b60e ; unused - _B019 = $b15e ; ? - _B038 = $b339 ; ? - _F008 = $aaa5 ; unused - _F029 = $aacf ; unused - _F218 = $b5be ; unused - _F239 = $b61e ; unused - _B018 = $b166 ; unused - _B039 = $b339 ; unused - _F049 = $aaf7 ; unused - _F068 = $aeff ; unused - _F259 = $b67a ; unused - _B059 = $b466 - _B078 = $b53e ; unused - SRCL = $6 - _F048 = $aaf5 ; unused - _F069 = $af02 ; unused - _F258 = $b676 ; unused - _B058 = $b45c ; ? - _B079 = $b53e ; ? - SEGEND = $36e7 ; ? - _F089 = $afe6 ; unused - BRNCH = $a862 ; ? - ICAL = $a8f1 ; ? - _F088 = $afdc ; unused - SRCH = $7 - _F001 = $a9a9 ; unused - _F020 = $aabd ; unused - _F043 = $aaeb ; unused - _F062 = $ae9d ; unused - _F085 = $afb6 ; unused - _F211 = $b597 ; unused - _F230 = $b5ef ; unused - _F253 = $b661 ; unused - _B011 = $b0ea ; ? - _B030 = $b2c3 ; ? - _B053 = $b445 ; unused - _B072 = $b4df ; unused - _B095 = $b681 ; unused - _F000 = $a9a7 ; unused - _F021 = $aabf ; unused - _F042 = $aae9 ; unused - _F063 = $aea0 ; unused - _F084 = $af9a ; unused - _F210 = $b591 ; unused - _F231 = $b5f4 ; unused - _F252 = $b65e ; unused - _B010 = $b07d ; unused - _B031 = $b2c3 ; unused - _B052 = $b445 ; ? - _B073 = $b506 ; ? - _B094 = $b66a - ISFLS = $a757 ; ? - _F003 = $a9ad ; unused - _F022 = $aac1 ; unused - _F041 = $aae7 ; unused - _F060 = $ab0d ; unused - _F087 = $afd5 ; unused - _F213 = $b59e ; unused - _F232 = $b5f7 ; unused - _F251 = $b659 ; unused - _B013 = $b0ff ; ? - _B032 = $b2f1 ; ? - _B051 = $b3e9 ; ? - _B070 = $b4e6 ; unused - SEGSTART = $2000 - _F002 = $a9ab ; unused - _F023 = $aac3 ; unused - _F040 = $aae5 ; unused - _F061 = $ab11 ; unused - _F086 = $afb9 ; unused - _F212 = $b59a ; unused - _F233 = $b5ff ; unused - _F250 = $b656 ; unused - _B012 = $b0ea ; unused - _B033 = $b36f ; ? - _B050 = $b3ef ; unused - _B071 = $b4df ; ? - ISGE = $a760 ; ? - _F005 = $aa9f ; unused - _F024 = $aac5 ; unused - _F047 = $aaf3 ; unused - _F066 = $aedc ; unused - _F081 = $af6b ; unused - _F215 = $b5aa ; unused - _F234 = $b602 ; unused - _F257 = $b673 ; unused - _B015 = $b11f ; ? - _B034 = $b36f ; unused - _B057 = $b463 ; unused - _B076 = $b517 ; unused - _B091 = $b66a ; ? - ESTK = $c0 - _F004 = $a9af ; unused - _F025 = $aac7 ; unused - _F046 = $aaf1 ; unused - _F067 = $aedf ; unused - _F080 = $af68 ; unused - _F214 = $b5a3 ; unused - _F235 = $b605 ; unused - _F256 = $b66f ; unused - REVCPYLP = $ac12 ; ? - _B014 = $b0ff ; unused - _B035 = $b310 - _B056 = $b448 - _B077 = $b53e ; ? - _B090 = $b5f6 ; ? - _F007 = $aaa3 ; unused - _F026 = $aac9 ; unused - _F045 = $aaef ; unused - _F064 = $aeb8 ; unused - _F083 = $af97 ; unused - _F217 = $b5ba ; unused - _F236 = $b608 ; unused - _F255 = $b667 ; unused - _B017 = $b146 - _B036 = $b34a ; unused - _B055 = $b421 ; unused - _B074 = $b506 ; unused - _B093 = $b684 ; unused - _F006 = $aaa1 ; unused - _F027 = $aacb ; unused - _F044 = $aaed ; unused - _F065 = $aebb ; unused - _F082 = $af6f ; unused - _F216 = $b5ad ; unused - _F237 = $b60b ; unused - _F254 = $b664 ; unused - _B016 = $b11f ; unused - _B037 = $b344 ; ? - _B054 = $b421 ; ? - _B075 = $b517 ; ? - _B092 = $b66a ; unused - IFP = $e0 - IPX = $16f3 - IPY = $e4 - SAW = $a6e7 ; ? - BROR = $a824 ; ? - DECR = $a2c6 ; ? - BRGT = $a889 ; ? - DSTX = $1609 - BREQ = $a82d ; ? - _C019 = $b0ee ; unused - _C018 = $b0c7 - IPH = $f3 - CMD = $ab3c ; ? - DECBRGE = $a8a5 ; ? - _DIV1 = $a224 ; ? - IPL = $f2 - SOSCMD = $a99e ; ? - SAB = $a6d4 ; ? - FIXNEXT = $a80c ; ? - ADD = $a2d1 ; ? - _C011 = $afe9 ; unused - XPAGE = $1600 - _C010 = $afe1 - DSTL = $8 - XENTRY = $a0f8 ; unused - _C013 = $b022 - SEL = $a7a0 ; ? - _C012 = $afff - SUB = $a2e1 ; ? - _C015 = $b085 - FIXDROP = $a692 ; ? - _C014 = $b052 ; unused - FORCPYLP = $abd9 ; ? - DSTH = $9 - _C017 = $b0b9 - _C016 = $b0a7 - IDXW = $a2f1 ; ? - CASELP = $a7cf ; ? - RLDEX = $ae68 ; ? - INCR = $a2bd ; ? - _BRLE = $a8c3 ; ? - _SYSFLAGS = $0 ; unused - COMP = $a304 ; ? - _F109 = $b0ce ; unused - _F128 = $b170 ; unused - _F108 = $b0c2 ; unused - _F129 = $b173 ; unused - ADDI = $a39c ; ? - CALL = $a91c ; ? - LEAVE = $a979 ; ? - _D049 = $a9f6 - _D068 = $aa81 - _P019 = $abae ; ? - _F149 = $b217 ; unused - _F168 = $b33f ; unused - _D048 = $a9f1 - _D069 = $aa87 - _P018 = $ab7b ; ? - _F148 = $b214 ; unused - _F169 = $b350 ; unused - CPYXLP = $ac4b - _F189 = $b4b9 ; unused - _F188 = $b49b ; unused - SUBI = $a3ab ; ? - NOBRNCH = $a854 ; ? - _D043 = $a9d3 - _D062 = $aa4d - _P013 = $b123 ; ? - _F101 = $b07e ; unused - _F120 = $b138 ; unused - _F143 = $b1f5 ; unused - _F162 = $b2fb ; unused - _F185 = $b453 ; unused - _D042 = $a9d0 - _D063 = $aa57 - _P012 = $b1bd ; ? - _F100 = $b066 ; unused - _F121 = $b147 ; unused - _F142 = $b1eb ; unused - _F163 = $b313 ; unused - _F184 = $b426 ; unused - _P030 = $aee5 ; ? - _D041 = $a9c7 - _D060 = $aa35 - _P011 = $b1a1 ; ? - _F103 = $b097 ; unused - _F122 = $b14a ; unused - _F141 = $b1d0 ; unused - _F160 = $b2ca ; unused - _F187 = $b48e ; unused - _D040 = $a9c6 - _D061 = $aa3e - _P010 = $ad3c ; ? - _F102 = $b08c ; unused - _F123 = $b150 ; unused - _F140 = $b1b1 ; unused - _F161 = $b2f7 ; unused - _F186 = $b46f ; unused - _D047 = $a9e9 - _D066 = $aa74 - _P017 = $b0b9 ; ? - _D081 = $ab27 - _F105 = $b0a3 ; unused - _F124 = $b153 ; unused - _F147 = $b20f ; unused - _F166 = $b32c ; unused - _F181 = $b416 ; unused - BRAND = $a81b ; ? - _D046 = $a9e2 - _D067 = $aa7b - _P016 = $b12a ; ? - _D080 = $ab26 - _F104 = $b09a ; unused - _F125 = $b157 ; unused - _F146 = $b209 ; unused - _F167 = $b334 ; unused - _F180 = $b412 ; unused - _D045 = $a9db - _D064 = $aa63 - _P015 = $b0ee ; ? - _F107 = $b0b5 ; unused - _F126 = $b167 ; unused - _F145 = $b202 ; unused - _F164 = $b316 ; unused - _F183 = $b422 ; unused - _D044 = $a9d4 - _D065 = $aa6d - _P014 = $b0c7 ; ? - _D082 = $ab29 - _F106 = $b0b0 ; unused - _F127 = $b16a ; unused - _F144 = $b1f8 ; unused - _F165 = $b323 ; unused - _F182 = $b41c ; unused - DLW = $a6b4 ; ? - SENTRY = $a0f6 ; unused - RET = $a98d ; ? - LLW = $a50b ; ? - PPX = $16e3 - LB = $a4b3 ; ? - LA = $a424 ; ? - _CNXTS = $a47e ; ? - CALLADR = $a936 ; ? - JITCOMP = $a0f2 ; unused - ESGUARD = $be ; unused - XINTERP = $a1d5 ; ? - PAGE0 = $2057 ; ? - IDXLB = $a54f ; ? - JMPTMP = $e6 - ADDAB = $a5c2 ; ? - PPL = $e2 - LW = $a4c2 ; ? - _A018 = $ae15 - PPH = $e3 - _DIVLP = $a22b - LLA = $a4e3 ; ? - DLB = $a6a1 ; ? - NEG = $a281 ; ? - _CPYS = $a48f ; ? - LLB = $a4f7 ; ? - PP = $e2 - ENTER = $a948 ; ? - _A011 = $acd8 ; unused - PARAMS = $ab3d ; ? - _A010 = $acd3 ; unused - ADDAW = $a5da ; ? - _A013 = $ad0a - BAND = $a313 ; ? - IDXLW = $a56c ; ? - _A012 = $ace2 - ZERO = $a3eb ; ? - _A015 = $ad4d - _A014 = $ad3c ; unused - _A017 = $adda - _A016 = $ada2 - _CMPCS = $a46b - ICALADR = $a90a ; ? - TOUPR = $ad3e ; ? - OPTBL = $a100 ; ? - BRFLS = $a85b ; ? - ISLT = $a792 ; ? - _F019 = $aabb ; unused - _F038 = $aae1 ; unused - _F209 = $b58d ; unused - _F228 = $b5e6 ; unused - _B009 = $b07d ; ? - _B028 = $b50d ; ? - _F018 = $aab9 ; unused - _F039 = $aae3 ; unused - _F208 = $b589 ; unused - _F229 = $b5ec ; unused - _B008 = $b047 ; unused - _B029 = $b2b2 ; ? - DVSIGN = $e9 - _F059 = $ab0b ; unused - _F078 = $af5e ; unused - _F249 = $b64e ; unused - _B049 = $b3e3 - _B068 = $b4ec ; ? - _F058 = $ab09 ; unused - _F079 = $af64 ; unused - _F248 = $b64b ; unused - _B048 = $b3ad ; unused - _B069 = $b4e6 ; ? - _F099 = $b05e ; unused - _B089 = $b5fd ; unused - _F098 = $b05b ; unused - _B088 = $b5d7 - ISTRU = $a742 - CFFB = $a3fe ; ? - _F011 = $aaab ; unused - _F030 = $aad1 ; unused - _F053 = $aaff ; unused - _F072 = $af47 ; unused - _F095 = $b032 ; unused - _F201 = $b561 ; unused - _F220 = $b5c8 ; unused - _F243 = $b631 ; unused - _B001 = $afd4 ; ? - _B020 = $b21d ; ? - _B043 = $b339 ; unused - _B062 = $b4a6 ; ? - _B085 = $b57e - _F010 = $aaa9 ; unused - _F031 = $aad3 ; unused - _F052 = $aafd ; unused - _F073 = $af4a ; unused - _F094 = $b01e ; unused - _F200 = $b55c ; unused - _F221 = $b5cb ; unused - _F242 = $b62e ; unused - _B021 = $b21d ; unused - _B042 = $b339 ; ? - _B063 = $b4a6 ; unused - _B084 = $b5ac ; ? - _F013 = $aaaf ; unused - _F032 = $aad5 ; unused - _F051 = $aafb ; unused - _F070 = $af20 ; unused - _F097 = $b04e ; unused - _F203 = $b574 ; unused - _F222 = $b5ce ; unused - _F241 = $b62b ; unused - _F260 = $b67f ; unused - _B003 = $b020 ; ? - _B022 = $b219 ; ? - _B041 = $b329 ; unused - _B060 = $b4ac ; unused - _B087 = $b590 ; ? - _F012 = $aaad ; unused - _F033 = $aad7 ; unused - _F050 = $aaf9 ; unused - _F071 = $af39 ; unused - _F096 = $b045 ; unused - _F202 = $b568 ; unused - _F223 = $b5d2 ; unused - _F240 = $b628 ; unused - _B002 = $afd4 ; unused - _B023 = $b219 ; unused - _B040 = $b329 ; ? - _B061 = $b4a6 ; ? - _B086 = $b596 ; unused - _F015 = $aab3 ; unused - _F034 = $aad9 ; unused - _F057 = $ab07 ; unused - _F076 = $af53 ; unused - _F091 = $aff6 ; unused - _F205 = $b57f ; unused - _F224 = $b5d8 ; unused - _F247 = $b648 ; unused - _B005 = $b039 ; ? - _B024 = $b275 ; ? - _B047 = $b39b - _B066 = $b4af - _B081 = $b5ac ; ? - _NEG = $a1f0 - _F014 = $aab1 ; unused - _F035 = $aadb ; unused - _F056 = $ab05 ; unused - _F077 = $af56 ; unused - _F090 = $aff0 ; unused - _F204 = $b579 ; unused - _F225 = $b5dc ; unused - _F246 = $b63c ; unused - _B004 = $b020 ; unused - _B025 = $b28f ; ? - _B046 = $b3b4 ; unused - _B067 = $b4f2 ; unused - _B080 = $b53e ; unused - CPYMEX = $ac27 ; ? - ISLE = $a772 ; ? - _F017 = $aab7 ; unused - _F036 = $aadd ; unused - _F055 = $ab03 ; unused - _F074 = $af4d ; unused - _F093 = $b00f ; unused - _F207 = $b586 ; unused - _F226 = $b5df ; unused - _F245 = $b637 ; unused - _B007 = $b047 ; ? - _B026 = $b28f ; unused - _B045 = $b36f ; unused - _B064 = $b494 ; ? - _B083 = $b5a8 ; ? - ISNE = $a74b ; ? - _F016 = $aab5 ; unused - _F037 = $aadf ; unused - _F054 = $ab01 ; unused - _F075 = $af50 ; unused - _F092 = $b006 ; unused - _F206 = $b583 ; unused - _F227 = $b5e3 ; unused - _F244 = $b634 ; unused - _B006 = $b039 ; unused - _B027 = $b509 ; ? - _B044 = $b36f ; ? - _B065 = $b49d ; ? - _B082 = $b5ac ; unused - SHR = $a364 ; ? - SLW = $a67c ; ? - IOR = $a322 ; ? - _CALL = $a928 ; unused - ESP = $e5 - CASEEND = $a7f2 ; ? - TMPX = $16e8 - DROPX = $16ef - REVCPY = $abed ; ? - BRLT = $a897 ; ? - SLB = $a66b ; ? - _C009 = $afbd - _C028 = $b542 - MOD = $a291 ; ? - VMCORE = $2061 ; ? - _C008 = $afa4 - ORI = $a3c8 ; ? - _CEXS = $a4ad ; ? - ESTKSZ = $20 - MUL = $a24d ; ? - _CMPS = $a464 ; ? - CPYXMEX = $ac63 ; ? - _C001 = $aea6 - _C020 = $b123 ; unused - TMPH = $e8 - _C000 = $ae82 - _C021 = $b12a - _C003 = $aee5 - _C022 = $b13d - _C002 = $aebf - _C023 = $b1a1 - SHL = $a340 ; ? - _C005 = $af24 - _C024 = $b1bd - TMPL = $e7 - _C004 = $af06 - _C025 = $b1e0 - SRC = $6 - BRNE = $a83d ; ? - _C007 = $af74 - _C026 = $b220 - MEMBANK = $ffef ; unused - _INIT = $b5b2 ; ? - _C006 = $af40 - _C027 = $b254 - ESTKL = $d0 - OPPAGE = $f8 ; unused - ESTKH = $c0 - DROP2 = $a667 ; ? - IFPX = $16e1 - DIVMOD = $a2a3 ; ? - NEXTOP = $f0 - _BRGE = $a8af - ANDI = $a3ba ; ? - _D038 = $a9b5 - _F119 = $b133 ; unused - _F138 = $b198 ; unused - _D039 = $a9b6 - _F118 = $b127 ; unused - _F139 = $b19d ; unused - _P028 = $aea6 ; ? - _D059 = $aa2e - _P009 = $b052 ; ? - _D078 = $ab17 - _F159 = $b2be ; unused - _F178 = $b409 ; unused - _P029 = $aebf ; ? - _D058 = $aa27 - _P008 = $afe9 ; ? - _D079 = $ab17 - _F158 = $b2b8 ; unused - _F179 = $b40f ; unused - _F199 = $b557 ; unused - _F198 = $b551 ; unused - OPIDX = $f7 - IFPH = $e1 - _D053 = $aa0b - _D072 = $aa98 - _P003 = $afbd ; ? - _P022 = $acc1 ; ? - _F111 = $b0d8 ; unused - _F130 = $b176 ; unused - _F153 = $b280 ; unused - _F172 = $b38c ; unused - _F195 = $b52e ; unused - TEMPBUF = $a000 ; unused - _D031 = $a9a1 - _D052 = $aa06 - _D073 = $aa9f - _P002 = $afe1 ; ? - _P023 = $ac9b ; ? - _F110 = $b0d3 ; unused - _F131 = $b17c ; unused - _F152 = $b27d ; unused - _F173 = $b395 ; unused - _F194 = $b51a ; unused - _D032 = $a9a3 - _D051 = $aa01 - _D070 = $aa8d - _P001 = $ab46 ; ? - _P020 = $acaf ; ? - _F113 = $b0e5 ; unused - _F132 = $b17f ; unused - _F151 = $b268 ; unused - _F170 = $b362 ; unused - _F197 = $b54a ; unused - _D033 = $a9a5 - _D050 = $a9fb - _D071 = $aa93 - _P000 = $ab2b ; ? - _P021 = $ac87 ; ? - _F112 = $b0dd ; unused - _F133 = $b182 ; unused - _F150 = $b262 ; unused - _F171 = $b36b ; unused - _F196 = $b53c ; unused - IFPL = $e0 - INCBRLE = $a8bd ; ? - ADDBRLE = $a8e1 ; ? - _P026 = $b542 ; ? - _D034 = $a9b1 - _D057 = $aa1f - _P007 = $b0a7 ; ? - _D076 = $ab13 - _F115 = $b107 ; unused - _F134 = $b189 ; unused - _F157 = $b2a7 ; unused - _F176 = $b3bf ; unused - _F191 = $b4db ; unused - _P027 = $ae82 ; ? - _D035 = $a9b2 ; unused - _D056 = $aa1a - _P006 = $b085 ; ? - _D077 = $ab15 - _F114 = $b0fa ; unused - _F135 = $b18c ; unused - _F156 = $b28b ; unused - _F177 = $b404 ; unused - _F190 = $b4cf ; unused - _D036 = $a9b3 ; unused - _D055 = $aa15 - _P005 = $b022 ; ? - _P024 = $acd8 ; ? - _D074 = $aacf - _F117 = $b117 ; unused - _F136 = $b18f ; unused - _F155 = $b288 ; unused - _F174 = $b3a9 ; unused - _F193 = $b504 ; unused - _D037 = $a9b4 - _D054 = $aa10 - _P004 = $afff ; ? - _P025 = $acd3 ; ? - _D075 = $ab11 - _F116 = $b112 ; unused - _F137 = $b195 ; unused - _F154 = $b285 ; unused - _F175 = $b3b7 ; unused - _F192 = $b4e4 ; unused - _MULLP = $a261 - TMP = $e7 - XOR = $a331 ; ? - CB = $a40b ; ? - DIV = $a287 ; ? - VMZP = $e0 - LAW = $a5a5 ; ? - NATV = $a98e ; ? - DAW = $a71a ; ? - IDXAB = $a5fb ; ? - LNOT = $a3d2 ; ? - ADDLB = $a520 ; ? - DROP = $ef - DUP = $a390 ; ? - SB = $a649 ; ? - DST = $8 - SETMEX = $abaa ; ? - JMPTMPX = $16e6 ; unused - CN = $a3f3 ; ? - _A009 = $acc1 ; unused - LAB = $a58f ; ? - _A008 = $acaf ; unused - CS = $a442 ; ? - DAB = $a705 ; ? - IP = $f2 - CW = $a434 ; ? - _DIVEX = $a249 ; ? - _A001 = $ab46 ; unused - REGVALS = $6 - SETMLPH = $ab92 - SUBBRGE = $a8d1 ; ? - _A000 = $ab2b - JITCODE = $a0f4 ; unused - MINUS1 = $a3e1 ; ? - _A003 = $abae - FETCHOP = $f1 - _A002 = $ab7b ; unused - ADDLW = $a536 ; ? - SETMLPL = $ab8f - _A005 = $ac67 - IDXAW = $a61e ; ? - _A004 = $ac28 - SW = $a655 ; ? - _A007 = $ac9b ; unused - _A006 = $ac87 diff --git a/src/vmsrc/apple/plvm802.sym b/src/vmsrc/apple/plvm802.sym deleted file mode 100644 index 75296af..0000000 --- a/src/vmsrc/apple/plvm802.sym +++ /dev/null @@ -1,220 +0,0 @@ - BRTRU = $d8ce ; ? - _CNXTSX1 = $d508 ; ? - ALTZPOFF = $c008 ; unused - _DIV = $d35a - ALTRDOFF = $c002 - ISGT = $d841 ; ? - INTERP = $3d0 - OPXTBL = $d200 ; ? - ISEQ = $d815 ; ? - GETPFXPARMS = $214a ; ? - SRCL = $6 - DINTRP = $d0c2 - BRNCH = $d8db ; ? - ICAL = $d935 ; ? - SRCH = $7 - LCBNK1 = $8 ; unused - LCDEFCMD = $d1e2 ; ? - LCBNK2 = $0 - ISFLS = $d827 ; ? - ISGE = $d82f ; ? - RAMSLOT = $bf26 - ESTK = $c0 - DEVCNT = $bf31 - IFP = $e0 - CSX = $d4cc ; ? - CLRKBD = $c010 ; unused - IPY = $e4 - BADCPU = $205b ; ? - SAW = $d7e1 ; ? - LCRWEN = $c083 - HWSP = $ea - ADDLWX = $d60b ; ? - BROR = $d8b4 ; ? - DECR = $d3ff ; ? - LAWX = $d6ab ; ? - BRGT = $d8e9 ; ? - IDXABX = $d729 ; ? - KEYBD = $c000 ; unused - BREQ = $d8bb ; ? - IPH = $f3 - DECBRGE = $d903 ; ? - _DIV1 = $d37b - IPL = $f2 - SAB = $d7cf ; ? - FIXNEXT = $d8a2 ; ? - ADD = $d322 ; ? - DSTL = $8 - RAMLOOP = $20a5 - SEL = $d86f ; ? - SUB = $d32b ; ? - DSTH = $9 - ENDBYE = $10fe ; unused - DISABLE80 = $10b2 ; ? - IDXW = $d335 ; ? - CASELP = $d880 - LCWTEN = $c081 ; unused - INCR = $d3f9 ; ? - JITINTRPX = $d2c2 ; ? - _BRLE = $d914 - COMP = $d405 ; ? - DEVLST = $bf32 - LEAVE = $da37 ; ? - ADDI = $d448 ; ? - CALL = $d938 ; ? - SUBI = $d456 ; ? - NOBRNCH = $d8d1 ; ? - CLOSEPARMS = $10b0 ; ? - CSWL = $36 ; unused - _CMPPSX = $d4d4 - BRAND = $d8ad ; ? - CSWH = $37 ; unused - RAMCONT = $20a2 ; ? - DLW = $d7c2 ; ? - PROMPT = $33 ; unused - RET = $da7b ; ? - LLW = $d59c ; ? - _CPYSX = $d512 ; ? - LB = $d534 ; ? - ADDAWX = $d6fd ; ? - NOS = $3 - LA = $d4aa ; ? - CMDENTRY = $100c ; ? - RETX = $da78 ; ? - LLWX = $d5bd ; ? - LBX = $d54f ; ? - JITCOMP = $3e2 - ESGUARD = $be ; unused - _CNXTSX = $d500 ; ? - RUNJIT = $d2eb ; ? - NEEDAUX = $201c ; ? - PAGE3 = $10d0 ; ? - IDXLB = $d621 ; ? - PAGE0 = $10c8 ; ? - JMPTMP = $e6 - ADDAB = $d6bd ; ? - IDXLBX = $d635 ; ? - PPL = $e2 - FAIL = $108c ; ? - LW = $d544 ; ? - CALLX = $d99b ; ? - LEAVEX = $da3e ; ? - ROMEN = $c082 - PPH = $e3 - _DIVLP = $d384 - LLA = $d57e ; ? - DLB = $d7ac ; ? - NEG = $d3f0 ; ? - LLB = $d58d ; ? - PP = $e2 - ENTER = $da01 ; ? - BYE = $1000 ; unused - ADDAW = $d6ed ; ? - REFNUM = $10a7 ; ? - BAND = $d40d ; ? - IDXLW = $d64f ; ? - ZERO = $d48a ; ? - _CEXSX = $d52c ; ? - _CMPSX = $d4da ; unused - OPTBL = $d000 - BYEPARMS = $2054 ; ? - SPKR = $c030 ; unused - BRFLS = $d8d8 ; ? - DEFCMD = $10e2 ; ? - ISLT = $d85d ; ? - ALTRDON = $c003 - ALTZPON = $c009 ; unused - ISTRU = $d81a - ALTWROFF = $c004 ; unused - CFFB = $d4a0 ; ? - ISLE = $d84f ; ? - ISNE = $d822 ; ? - LABX = $d694 ; ? - SHR = $d432 ; ? - SLW = $d79b ; ? - IDXAWX = $d756 ; ? - IOR = $d415 ; ? - ESP = $e5 - CASEEND = $d89a ; ? - EMUSTKX = $d99f ; ? - PRODOS = $bf00 - ADDLBX = $d5e2 ; ? - RAMDONE = $20cd ; ? - BRLT = $d8f4 ; ? - SLB = $d789 ; ? - MOD = $d3a3 ; ? - VMCORE = $214d ; ? - ORI = $d474 ; ? - READPARMS = $10a8 ; ? - FAILMSG = $10bc ; ? - ESTKSZ = $20 - ALTWRON = $c005 ; unused - JITDCI = $10b7 ; ? - MUL = $d33f ; ? - TMPH = $e8 - SHL = $d425 ; ? - TMPL = $e7 - SRC = $6 - BRNE = $d8c3 ; ? - ESTKL = $d0 - OPPAGE = $f6 - OPENPARMS = $10a2 ; ? - ESTKH = $c0 - DROP2 = $d785 ; ? - DIVMOD = $d3b0 ; ? - NEXTOP = $f0 - _BRGE = $d906 - ANDI = $d467 ; ? - ICALX = $d998 ; ? - OPIDX = $f5 - IFPH = $e1 - RAMEXIT = $20be ; ? - IFPL = $e0 - INCBRLE = $d911 ; ? - ADDBRLE = $d92d ; ? - GETLOOP = $20b3 ; ? - LWX = $d565 ; ? - LCRDEN = $c080 - _MULLP = $d34b - EMUSTK = $d93c ; ? - TOS = $1 - TMP = $e7 - XOR = $d41d ; ? - LLBX = $d5a8 ; ? - CB = $d496 ; ? - DIV = $d394 ; ? - MACHID = $bf98 - VMZP = $e0 - LAW = $d688 ; ? - NATV = $da9e ; ? - IINTRPX = $d0dd - IDXLWX = $d660 ; ? - DAW = $d808 ; ? - NODEV = $bf10 - IDXAB = $d713 ; ? - STRBUF = $300 - LNOT = $d481 ; ? - ADDLB = $d5cf ; ? - DROP = $ef - DUP = $d442 ; ? - SB = $d76d ; ? - DST = $8 - ANYKEY = $2077 ; ? - PSR = $e9 - ADDABX = $d6d2 ; ? - CN = $d490 ; ? - LAB = $d677 ; ? - CS = $d4bf ; ? - DAB = $d7f2 ; ? - IP = $f2 - CW = $d4b7 ; ? - _DIVEX = $d391 ; ? - SUBBRGE = $d923 ; ? - JITCODE = $3e4 ; unused - MINUS1 = $d484 ; ? - FETCHOP = $f1 - JITMOD = $2f0 - ADDLW = $d5fb ; ? - IDXAW = $d745 ; ? - SW = $d77d ; ? - VMEND = $daa9 ; unused diff --git a/src/vmsrc/apple/plvmjit02.sym b/src/vmsrc/apple/plvmjit02.sym deleted file mode 100644 index 7083ff2..0000000 --- a/src/vmsrc/apple/plvmjit02.sym +++ /dev/null @@ -1,262 +0,0 @@ - CISFLS = $30e7 ; ? - CLABEND = $2fe8 ; ? - CLBX = $2f7c ; ? - BRTRU = $dbc4 ; ? - _CNXTSX1 = $d61e ; ? - ALTZPOFF = $c008 ; unused - _DIV = $d3c5 - ALTRDOFF = $c002 - ISGT = $db00 ; ? - INTERP = $3d0 - OPXTBL = $d200 ; ? - ISEQ = $dab6 ; ? - CBRNCH = $30f7 ; ? - GETPFXPARMS = $2114 ; ? - SRCL = $6 - DINTRP = $d0c2 - BRNCH = $dbd9 ; ? - ICAL = $dcbc ; ? - SRCH = $7 - LCBNK1 = $8 ; unused - LCDEFCMD = $d1d0 ; ? - LCBNK2 = $0 - ISFLS = $dad7 ; ? - ISGE = $dae0 ; ? - RAMSLOT = $bf26 - ESTK = $c0 - CDLB = $30cd ; ? - CDINTRP = $2ed9 ; ? - CLAWX = $3039 ; ? - DEVCNT = $bf31 - CENTERXEND = $3152 ; ? - CLLB = $2f98 ; ? - IFP = $e0 - CSX = $d5cc ; ? - CCS = $2f1b ; ? - CLRKBD = $c010 ; unused - IPY = $e4 - SAW = $da64 ; ? - LCRWEN = $c083 - ADDLWX = $d77d ; ? - BROR = $db9b ; ? - DECR = $d466 ; ? - LAWX = $d877 ; ? - BRGT = $dbf7 ; ? - IDXABX = $d93b ; ? - RETJIT = $d323 ; ? - KEYBD = $c000 ; unused - BREQ = $dba4 ; ? - IPH = $f3 - CISFLSEND = $30ee ; ? - CCB = $2f07 ; ? - DECBRGE = $dc17 ; ? - _DIV1 = $d3eb ; ? - IPL = $f2 - SAB = $da51 ; ? - FIXNEXT = $db83 ; ? - ADD = $d32c ; ? - DSTL = $8 - RAMLOOP = $2067 - SEL = $db20 ; ? - SUB = $d33c ; ? - FIXDROP = $da0f ; ? - DSTH = $9 - ENDBYE = $10d0 ; unused - CCN = $2ef5 ; ? - DISABLE80 = $10a0 ; ? - CDABEND = $30c4 ; ? - IDXW = $d34c ; ? - CASELP = $db46 ; ? - LCWTEN = $c081 ; unused - INCR = $d45a ; ? - JITINTRPX = $d2c2 ; ? - _BRLE = $dc35 ; ? - CSAW = $3064 ; ? - COMP = $d476 ; ? - DEVLST = $bf32 - LEAVE = $dd94 ; ? - ADDI = $d50e ; ? - CALL = $dc67 ; ? - CCBEND = $2f12 ; ? - SUBI = $d51d ; ? - NOBRNCH = $dbcb ; ? - CLOSEPARMS = $109e ; ? - CSWL = $36 ; unused - CSAWEND = $3084 ; ? - _CMPPSX = $d5e2 - BRAND = $db92 ; ? - CSWH = $37 ; unused - RAMCONT = $2064 ; ? - OPCPY = $3153 ; ? - DLW = $da31 ; ? - PROMPT = $33 ; unused - RET = $dda8 ; ? - LLW = $d6e8 ; ? - _CPYSX = $d62b ; ? - LB = $d64f ; ? - ENTERX = $dd0f ; ? - ADDAWX = $d8f1 ; ? - LA = $d596 ; ? - CMDENTRY = $100c ; ? - CENTERX = $311e ; ? - RETX = $dd8f ; ? - LLWX = $d717 ; ? - LBX = $d67a ; ? - JITCOMP = $3e2 - ESGUARD = $be ; unused - _CNXTSX = $d614 ; ? - RUNJIT = $d2f0 ; ? - NEEDAUX = $202d ; ? - PAGE3 = $10be ; ? - IDXLB = $d79c ; ? - PAGE0 = $10b4 ; ? - JMPTMP = $e6 - ADDAB = $d89a ; ? - IDXLBX = $d7b9 ; ? - PPL = $e2 - FAIL = $107a ; ? - LW = $d65e ; ? - CALLX = $dc8d ; ? - LEAVEX = $dd76 ; ? - CLBXEND = $2f8f ; ? - ROMEN = $c082 - PPH = $e3 - _DIVLP = $d3f2 - LLA = $d6c0 ; ? - DLB = $da1e ; ? - NEG = $d414 ; ? - CCSEND = $2f32 ; ? - LLB = $d6d4 ; ? - PP = $e2 - ENTER = $dd45 ; ? - BYE = $1000 ; unused - ADDAW = $d8d0 ; ? - REFNUM = $1095 ; ? - BAND = $d485 ; ? - IDXLW = $d7dc ; ? - ZERO = $d55d ; ? - _CPYSX1 = $d63f - _CEXSX = $d649 ; ? - _CMPSX = $d5ee ; ? - OPTBL = $d000 - BYEPARMS = $2026 ; ? - SPKR = $c030 ; unused - BRFLS = $dbd2 ; ? - DEFCMD = $10d0 ; ? - CLAW = $2ff1 ; ? - CDAW = $308d ; ? - ISLT = $db12 ; ? - ALTRDON = $c003 - CDLBEND = $30de ; ? - DVSIGN = $e9 - ALTZPON = $c009 ; unused - CLABX = $3016 ; ? - ISTRU = $dac2 - ALTWROFF = $c004 ; unused - _CMPCSX = $d5fb - CFFB = $d57d ; ? - CLAB = $2fd4 ; ? - CDAB = $30b1 ; ? - _NEG = $d3b7 - ISLE = $daf2 ; ? - ISNE = $dacb ; ? - LABX = $d85b ; ? - CLABXEND = $3030 ; ? - SHR = $d4d6 ; ? - CLAWEND = $300d ; ? - CLBEND = $2f73 ; ? - SLW = $d9f9 ; ? - IDXAWX = $d98f ; ? - IOR = $d494 ; ? - ESP = $e5 - CASEEND = $db69 ; ? - CSHLEND = $2f5d ; ? - PRODOS = $bf00 - ADDLBX = $d748 ; ? - RAMDONE = $208f ; ? - BRLT = $dc05 ; ? - SLB = $d9e8 ; ? - MOD = $d42e ; ? - VMCORE = $2117 ; ? - ORI = $d53a ; ? - READPARMS = $1096 ; ? - FAILMSG = $10a8 ; ? - ESTKSZ = $20 - CLB = $2f66 ; ? - ALTWRON = $c005 ; unused - JITDCI = $10a5 ; ? - MUL = $d35f ; ? - _MULLPH = $d39b - TMPH = $e8 - SHL = $d4b2 ; ? - _MULLPL = $d382 - TMPL = $e7 - SRC = $6 - BRNE = $dbb4 ; ? - ESTKL = $d0 - OPPAGE = $f8 - OPENPARMS = $1090 ; ? - ESTKH = $c0 - DROP2 = $d9e4 ; ? - CLLBXEND = $2fcb ; ? - DIVMOD = $d440 ; ? - NEXTOP = $f0 - _BRGE = $dc21 - ANDI = $d52c ; ? - CLLBEND = $2faa ; ? - ICALX = $dce1 ; ? - CSHL = $2f3b ; ? - CCNEND = $2efe ; ? - OPIDX = $f7 - CLLBX = $2fb3 ; ? - IFPH = $e1 - RAMEXIT = $2080 ; ? - IFPL = $e0 - INCBRLE = $dc2f ; ? - ADDBRLE = $dc57 ; ? - GETLOOP = $2075 ; ? - LWX = $d68f ; ? - LCRDEN = $c080 - TMP = $e7 - XOR = $d4a3 ; ? - LLBX = $d6fd ; ? - CDAWEND = $30a8 ; ? - CB = $d570 ; ? - DIV = $d424 ; ? - MACHID = $bf98 - VMZP = $e0 - LAW = $d83e ; ? - NATV = $dda9 ; ? - IINTRPX = $d0d6 - IDXLWX = $d7ff ; ? - DAW = $da9a ; ? - NODEV = $bf10 - IDXAB = $d918 ; ? - STRBUF = $300 - LNOT = $d544 ; ? - ADDLB = $d732 ; ? - DROP = $ef - DUP = $d502 ; ? - SB = $d9c0 ; ? - DST = $8 - CN = $d565 ; ? - ADDABX = $d8b2 ; ? - LAB = $d828 ; ? - CDINTRPEND = $2eec ; ? - CLAWXEND = $305b ; ? - CS = $d5b4 ; ? - DAB = $da85 ; ? - CBRNCHEND = $3115 ; ? - IP = $f2 - CW = $d5a6 ; ? - C02OPS = $2ed0 ; ? - _DIVEX = $d410 ; ? - SUBBRGE = $dc47 ; ? - JITCODE = $3e4 ; unused - MINUS1 = $d553 ; ? - FETCHOP = $f1 - JITMOD = $2f0 - ADDLW = $d764 ; ? - IDXAW = $d964 ; ? - SW = $d9cc ; ? - VMEND = $ddb9 ; unused diff --git a/src/vmsrc/apple/plvmjit03.sym b/src/vmsrc/apple/plvmjit03.sym deleted file mode 100644 index 89de969..0000000 --- a/src/vmsrc/apple/plvmjit03.sym +++ /dev/null @@ -1,677 +0,0 @@ - CMDPARS = $a0f0 ; unused - _CNXTS1 = $a4ef ; ? - SRCX = $1607 - BRTRU = $a8ba ; ? - _DIV = $a247 - _CMPPS = $a4c5 - ISGT = $a7ed ; ? - _CPYS1 = $a510 - INTERP = $a1c2 ; ? - ISEQ = $a7a3 ; ? - _F009 = $ab17 ; unused - _F028 = $ab3d ; unused - _F219 = $b66d ; unused - _F238 = $b6bb ; unused - _B019 = $b1ce ; ? - _B038 = $b417 ; unused - _F008 = $ab15 ; unused - _F029 = $ab3f ; unused - _F218 = $b660 ; unused - _F239 = $b6be ; unused - _B018 = $b1d6 ; unused - _B039 = $b3b8 - _F049 = $ab67 ; unused - _F068 = $af6f ; unused - _F259 = $b72b ; unused - _B059 = $b4c9 ; unused - _B078 = $b5b7 ; unused - SRCL = $6 - _F048 = $ab65 ; unused - _F069 = $af72 ; unused - _F258 = $b727 ; unused - _B058 = $b4c9 ; ? - _B079 = $b5c8 ; ? - SEGEND = $37ab ; ? - _F089 = $b056 ; unused - _B099 = $b739 ; unused - BRNCH = $a8cf ; ? - ICAL = $a95e ; ? - _F088 = $b04c ; unused - _B098 = $b722 - SRCH = $7 - _F001 = $aa16 ; unused - _F020 = $ab2d ; unused - _F043 = $ab5b ; unused - _F062 = $af0d ; unused - _F085 = $b026 ; unused - _F211 = $b640 ; unused - _F230 = $b699 ; unused - _F253 = $b711 ; unused - _B011 = $b15a ; ? - _B030 = $b331 ; unused - _B053 = $b48b - _B072 = $b59d ; ? - _B095 = $b722 ; ? - _F000 = $aa14 ; unused - _F021 = $ab2f ; unused - _F042 = $ab59 ; unused - _F063 = $af10 ; unused - _F084 = $b00a ; unused - _F210 = $b63c ; unused - _F231 = $b69f ; unused - _F252 = $b70e ; unused - _B010 = $b0ed ; unused - _B031 = $b5ba ; ? - _B052 = $b455 ; unused - _B073 = $b597 ; ? - _B094 = $b6a9 ; ? - ISFLS = $a7c4 ; ? - _F003 = $aa1a ; unused - _F022 = $ab31 ; unused - _F041 = $ab57 ; unused - _F060 = $ab7d ; unused - _F087 = $b045 ; unused - _F213 = $b64a ; unused - _F232 = $b6a2 ; unused - _F251 = $b706 ; unused - _B013 = $b16f ; ? - _B051 = $b443 - _B070 = $b560 - _B097 = $b73c ; unused - _B032 = $b5be ; ? - SEGSTART = $2000 - _F002 = $aa18 ; unused - _F023 = $ab33 ; unused - _F040 = $ab55 ; unused - _F061 = $ab81 ; unused - _F086 = $b029 ; unused - _F212 = $b644 ; unused - _F233 = $b6a7 ; unused - _F250 = $b703 ; unused - _B012 = $b15a ; unused - _B033 = $b354 ; ? - _B050 = $b45c ; unused - _B071 = $b5a3 ; unused - _B096 = $b722 ; unused - ISGE = $a7cd ; ? - _F005 = $ab0f ; unused - _F024 = $ab35 ; unused - _F047 = $ab63 ; unused - _F066 = $af4c ; unused - _F081 = $afdb ; unused - _F215 = $b651 ; unused - _F234 = $b6aa ; unused - _F257 = $b71f ; unused - _B015 = $b18f ; ? - _B034 = $b365 ; ? - _B057 = $b4ed ; unused - _B076 = $b590 ; unused - _B091 = $b643 ; ? - ESTK = $c0 - _F004 = $aa1c ; unused - _F025 = $ab37 ; unused - _F046 = $ab61 ; unused - _F067 = $af4f ; unused - _F080 = $afd8 ; unused - _F214 = $b64d ; unused - _F235 = $b6b2 ; unused - _F256 = $b71c ; unused - REVCPYLP = $ac82 ; ? - _B014 = $b16f ; unused - _B035 = $b365 ; unused - _B056 = $b4ed ; ? - _B077 = $b5b7 ; ? - _B090 = $b649 ; unused - _F007 = $ab13 ; unused - _F026 = $ab39 ; unused - _F045 = $ab5f ; unused - _F064 = $af28 ; unused - _F083 = $b007 ; unused - _F217 = $b65d ; unused - _F236 = $b6b5 ; unused - _F255 = $b719 ; unused - _B017 = $b1b6 - _B036 = $b393 ; ? - _B055 = $b491 ; ? - _B074 = $b597 ; unused - _B093 = $b6b0 ; unused - _F006 = $ab11 ; unused - _F027 = $ab3b ; unused - _F044 = $ab5d ; unused - _F065 = $af2b ; unused - _F082 = $afdf ; unused - _F216 = $b656 ; unused - _F237 = $b6b8 ; unused - _F254 = $b716 ; unused - _B016 = $b18f ; unused - _B037 = $b417 ; ? - _B054 = $b497 ; unused - _B075 = $b590 ; ? - _B092 = $b68a - IFP = $e0 - IPX = $16f3 - JITINTRP = $a1f0 ; ? - IPY = $e4 - SAW = $a754 ; ? - BROR = $a891 ; ? - DECR = $a333 ; ? - BRGT = $a8f6 ; ? - DSTX = $1609 - BREQ = $a89a ; ? - _C019 = $b15e ; unused - _C018 = $b137 - IPH = $f3 - CMD = $abac ; ? - DECBRGE = $a912 ; ? - _DIV1 = $a26d ; ? - IPL = $f2 - SOSCMD = $aa0b ; ? - SAB = $a741 ; ? - FIXNEXT = $a879 ; ? - ADD = $a33e ; ? - _C011 = $b059 ; unused - XPAGE = $1600 - _C010 = $b051 - DSTL = $8 - XENTRY = $a0f8 ; unused - _C013 = $b092 - SEL = $a80d ; ? - _C012 = $b06f - SUB = $a34e ; ? - _C015 = $b0f5 - FIXDROP = $a6ff ; ? - _C014 = $b0c2 ; unused - FORCPYLP = $ac49 ; ? - DSTH = $9 - _C017 = $b129 - _C016 = $b117 - IDXW = $a35e ; ? - CASELP = $a83c ; ? - RLDEX = $aed8 ; ? - INCR = $a32a ; ? - _BRLE = $a930 ; ? - _SYSFLAGS = $0 ; unused - COMP = $a371 ; ? - _F109 = $b13e ; unused - _F128 = $b1e0 ; unused - _F108 = $b132 ; unused - _F129 = $b1e3 ; unused - ADDI = $a409 ; ? - CALL = $a989 ; ? - LEAVE = $a9e6 ; ? - _D049 = $aa66 - _D068 = $aaf1 - _P019 = $ac1e ; ? - _F149 = $b287 ; unused - _F168 = $b3d4 ; unused - _D048 = $aa61 - _D069 = $aaf7 - _P018 = $abeb ; ? - _F148 = $b284 ; unused - _F169 = $b3dc ; unused - CPYXLP = $acbb - _F189 = $b53f ; unused - _F188 = $b520 ; unused - SUBI = $a418 ; ? - NOBRNCH = $a8c1 ; ? - _D043 = $aa40 - _D062 = $aabd - _P013 = $b193 ; ? - _F101 = $b0ee ; unused - _F120 = $b1a8 ; unused - _F143 = $b265 ; unused - _F162 = $b36c ; unused - _F185 = $b4ca ; unused - _D042 = $aa3d - _D063 = $aac7 - _P012 = $b22d ; ? - _F100 = $b0d6 ; unused - _F121 = $b1b7 ; unused - _F142 = $b25b ; unused - _F163 = $b399 ; unused - _F184 = $b4c4 ; unused - _P030 = $af55 ; ? - _D041 = $aa34 - _D060 = $aaa5 - _P011 = $b211 ; ? - _F103 = $b107 ; unused - _F122 = $b1ba ; unused - _F141 = $b240 ; unused - _F160 = $b35a ; unused - _F187 = $b500 ; unused - _D040 = $aa33 - _D061 = $aaae - _P010 = $adac ; ? - _F102 = $b0fc ; unused - _F123 = $b1c0 ; unused - _F140 = $b221 ; unused - _F161 = $b360 ; unused - _F186 = $b4ce ; unused - _D047 = $aa59 - _D066 = $aae4 - _P017 = $b129 ; ? - _D081 = $ab97 - _F105 = $b113 ; unused - _F124 = $b1c3 ; unused - _F147 = $b27f ; unused - _F166 = $b3be ; unused - _F181 = $b4b7 ; unused - BRAND = $a888 ; ? - _D046 = $aa52 - _D067 = $aaeb - _P016 = $b19a ; ? - _D080 = $ab96 - _F104 = $b10a ; unused - _F125 = $b1c7 ; unused - _F146 = $b279 ; unused - _F167 = $b3cb ; unused - _F180 = $b4b1 ; unused - _D045 = $aa4b - _D064 = $aad3 - _P015 = $b15e ; ? - _F107 = $b125 ; unused - _F126 = $b1d7 ; unused - _F145 = $b272 ; unused - _F164 = $b39d ; unused - _F183 = $b4be ; unused - _D044 = $aa41 - _D065 = $aadd - _P014 = $b137 ; ? - _D082 = $ab99 - _F106 = $b120 ; unused - _F127 = $b1da ; unused - _F144 = $b268 ; unused - _F165 = $b3bb ; unused - _F182 = $b4ba ; unused - DLW = $a721 ; ? - SENTRY = $a0f6 ; unused - RET = $a9fa ; ? - LLW = $a578 ; ? - PPX = $16e3 - LB = $a520 ; ? - LA = $a491 ; ? - _CNXTS = $a4eb ; ? - CALLADR = $a9a3 ; ? - JITCOMP = $a0f2 ; ? - ESGUARD = $be ; unused - XINTERP = $a1d5 ; ? - PAGE0 = $2063 ; ? - IDXLB = $a5bc ; ? - JMPTMP = $e6 - ADDAB = $a62f ; ? - PPL = $e2 - LW = $a52f ; ? - _A018 = $ae85 - PPH = $e3 - _DIVLP = $a274 - LLA = $a550 ; ? - DLB = $a70e ; ? - NEG = $a2ee ; ? - _CPYS = $a4fc ; ? - LLB = $a564 ; ? - PP = $e2 - ENTER = $a9b5 ; ? - _A011 = $ad48 ; unused - PARAMS = $abad ; ? - _A010 = $ad43 ; unused - ADDAW = $a647 ; ? - _A013 = $ad7a - BAND = $a380 ; ? - IDXLW = $a5d9 ; ? - _A012 = $ad52 - ZERO = $a458 ; ? - _A015 = $adbd - _A014 = $adac ; unused - _A017 = $ae4a - _A016 = $ae12 - _CMPCS = $a4d8 - ICALADR = $a977 ; ? - TOUPR = $adae ; ? - OPTBL = $a100 ; ? - BRFLS = $a8c8 ; ? - ISLT = $a7ff ; ? - _F019 = $ab2b ; unused - _F038 = $ab51 ; unused - _F209 = $b639 ; unused - _F228 = $b692 ; unused - _B009 = $b0ed ; ? - _B028 = $b317 ; ? - _F018 = $ab29 ; unused - _F039 = $ab53 ; unused - _F208 = $b636 ; unused - _F229 = $b696 ; unused - _B008 = $b0b7 ; unused - _B029 = $b331 ; ? - DVSIGN = $e9 - _F059 = $ab7b ; unused - _F078 = $afce ; unused - _F249 = $b700 ; unused - _B049 = $b417 ; unused - _B068 = $b545 ; ? - _F058 = $ab79 ; unused - _F079 = $afd4 ; unused - _F248 = $b6f4 ; unused - _B048 = $b417 ; ? - _B069 = $b54e ; ? - _F099 = $b0ce ; unused - _B089 = $b631 - _F098 = $b0cb ; unused - _B088 = $b65f ; ? - ISTRU = $a7af - CFFB = $a46b ; ? - _F011 = $ab1b ; unused - _F030 = $ab41 ; unused - _F053 = $ab6f ; unused - _F072 = $afb7 ; unused - _F095 = $b0a2 ; unused - _F201 = $b60a ; unused - _F220 = $b671 ; unused - _F243 = $b6e3 ; unused - _F262 = $b737 ; unused - _B001 = $b044 ; ? - _B020 = $b28d ; ? - _B043 = $b3e1 ; unused - _B062 = $b50d ; ? - _B085 = $b65f ; ? - _F010 = $ab19 ; unused - _F031 = $ab43 ; unused - _F052 = $ab6d ; unused - _F073 = $afba ; unused - _F094 = $b08e ; unused - _F200 = $b604 ; unused - _F221 = $b675 ; unused - _F242 = $b6e0 ; unused - _B021 = $b28d ; unused - _B042 = $b3e1 ; ? - _B063 = $b517 - _B084 = $b5f1 ; unused - _F013 = $ab1f ; unused - _F032 = $ab45 ; unused - _F051 = $ab6b ; unused - _F070 = $af90 ; unused - _F097 = $b0be ; unused - _F203 = $b614 ; unused - _F222 = $b67b ; unused - _F241 = $b6d6 ; unused - _F260 = $b72e ; unused - _B003 = $b090 ; ? - _B022 = $b289 ; ? - _B041 = $b3ec ; ? - _B060 = $b4f3 - _B087 = $b65b ; ? - _F012 = $ab1d ; unused - _F033 = $ab47 ; unused - _F050 = $ab69 ; unused - _F071 = $afa9 ; unused - _F096 = $b0b5 ; unused - _F202 = $b60f ; unused - _F223 = $b67e ; unused - _F240 = $b6c1 ; unused - _F261 = $b732 ; unused - _B002 = $b044 ; unused - _B023 = $b289 ; unused - _B040 = $b3f2 ; unused - _B061 = $b514 ; unused - _B086 = $b65f ; unused - _F015 = $ab23 ; unused - _F034 = $ab49 ; unused - _F057 = $ab77 ; unused - _F076 = $afc3 ; unused - _F091 = $b066 ; unused - _F205 = $b627 ; unused - _F224 = $b681 ; unused - _F247 = $b6ef ; unused - _B005 = $b0a9 ; ? - _B024 = $b2d2 ; ? - _B047 = $b3e1 ; unused - _B066 = $b557 ; ? - _B081 = $b5f1 ; ? - _NEG = $a239 - _F014 = $ab21 ; unused - _F035 = $ab4b ; unused - _F056 = $ab75 ; unused - _F077 = $afc6 ; unused - _F090 = $b060 ; unused - _F204 = $b61b ; unused - _F225 = $b685 ; unused - _F246 = $b6ec ; unused - _B004 = $b090 ; unused - _B025 = $b2d2 ; unused - _B046 = $b3e1 ; ? - _B067 = $b557 ; unused - _B080 = $b5c8 ; unused - CPYMEX = $ac97 ; ? - ISLE = $a7df ; ? - _F017 = $ab27 ; unused - _F036 = $ab4d ; unused - _F055 = $ab73 ; unused - _F074 = $afbd ; unused - _F093 = $b07f ; unused - _F207 = $b632 ; unused - _F226 = $b68b ; unused - _F245 = $b6e9 ; unused - _B007 = $b0b7 ; ? - _B026 = $b2d2 ; ? - _B045 = $b3d1 ; unused - _B064 = $b55d ; unused - _B083 = $b5f1 ; ? - ISNE = $a7b8 ; ? - _F016 = $ab25 ; unused - _F037 = $ab4f ; unused - _F054 = $ab71 ; unused - _F075 = $afc0 ; unused - _F092 = $b076 ; unused - _F206 = $b62c ; unused - _F227 = $b68f ; unused - _F244 = $b6e6 ; unused - _B006 = $b0a9 ; unused - _B027 = $b2d2 ; unused - _B044 = $b3d1 ; ? - _B065 = $b557 ; ? - _B082 = $b5f1 ; unused - SHR = $a3d1 ; ? - SLW = $a6e9 ; ? - IOR = $a38f ; ? - _CALL = $a995 ; unused - ESP = $e5 - CASEEND = $a85f ; ? - TMPX = $16e8 - JENTRY = $a0fa ; unused - DROPX = $16ef - REVCPY = $ac5d ; ? - BRLT = $a904 ; ? - SLB = $a6d8 ; ? - _C009 = $b02d - _C028 = $b5f5 - MOD = $a2fe ; ? - VMCORE = $206d ; ? - _C008 = $b014 - ORI = $a435 ; ? - _CEXS = $a51a ; ? - ESTKSZ = $20 - MUL = $a296 ; ? - _CMPS = $a4d1 ; ? - _MULLPH = $a2d2 - CPYXMEX = $acd3 ; ? - _C001 = $af16 - _C020 = $b193 ; unused - TMPH = $e8 - _C000 = $aef2 - _C021 = $b19a - _C003 = $af55 - _C022 = $b1ad - _C002 = $af2f - _C023 = $b211 - SHL = $a3ad ; ? - _MULLPL = $a2b9 - _C005 = $af94 - _C024 = $b22d - TMPL = $e7 - _C004 = $af76 - _C025 = $b250 - SRC = $6 - BRNE = $a8aa ; ? - _C007 = $afe4 - _C026 = $b290 - MEMBANK = $ffef ; unused - _INIT = $b665 ; ? - _C006 = $afb0 - _C027 = $b2f6 - ESTKL = $d0 - OPPAGE = $f8 ; unused - ESTKH = $c0 - DROP2 = $a6d4 ; ? - IFPX = $16e1 - DIVMOD = $a310 ; ? - NEXTOP = $f0 - _BRGE = $a91c - ANDI = $a427 ; ? - _D038 = $aa22 - _F119 = $b1a3 ; unused - _F138 = $b208 ; unused - _D039 = $aa23 - _F118 = $b197 ; unused - _F139 = $b20d ; unused - _P028 = $af16 ; ? - _D059 = $aa9e - _P009 = $b0c2 ; ? - _D078 = $ab87 - _F159 = $b349 ; unused - _F178 = $b467 ; unused - _P029 = $af2f ; ? - _D058 = $aa97 - _P008 = $b059 ; ? - _D079 = $ab87 - _F158 = $b32d ; unused - _F179 = $b4ac ; unused - _F199 = $b5fd ; unused - _F198 = $b5ef ; unused - OPIDX = $f7 - IFPH = $e1 - _D053 = $aa7b - _D072 = $ab08 - _P003 = $b02d ; ? - _P022 = $ad31 ; ? - _F111 = $b148 ; unused - _F130 = $b1e6 ; unused - _F153 = $b30a ; unused - _F172 = $b40a ; unused - _F195 = $b5b5 ; unused - TEMPBUF = $a000 ; unused - _D031 = $aa0e - _D052 = $aa76 - _D073 = $ab0f - _P002 = $b051 ; ? - _P023 = $ad0b ; ? - _F110 = $b143 ; unused - _F131 = $b1ec ; unused - _F152 = $b304 ; unused - _F173 = $b413 ; unused - _F194 = $b595 ; unused - _D032 = $aa10 - _D051 = $aa71 - _D070 = $aafd - _P001 = $abb6 ; ? - _P020 = $ad1f ; ? - _F113 = $b155 ; unused - _F132 = $b1ef ; unused - _F151 = $b2c4 ; unused - _F170 = $b3e7 ; unused - _F197 = $b5e1 ; unused - _D033 = $aa12 - _D050 = $aa6b - _D071 = $ab03 - _P000 = $ab9b ; ? - _P021 = $acf7 ; ? - _F112 = $b14d ; unused - _F133 = $b1f2 ; unused - _F150 = $b2b6 ; unused - _F171 = $b3f8 ; unused - _F196 = $b5cb ; unused - IFPL = $e0 - INCBRLE = $a92a ; ? - ADDBRLE = $a94e ; ? - _P026 = $b5f5 ; ? - _D034 = $aa1e - _D057 = $aa8f - _P007 = $b117 ; ? - _D076 = $ab83 - _F115 = $b177 ; unused - _F134 = $b1f9 ; unused - _F157 = $b32a ; unused - _F176 = $b451 ; unused - _F191 = $b56a ; unused - _P027 = $aef2 ; ? - _D035 = $aa1f - _D056 = $aa8a - _P006 = $b0f5 ; ? - _D077 = $ab85 - _F114 = $b16a ; unused - _F135 = $b1fc ; unused - _F156 = $b327 ; unused - _F177 = $b45f ; unused - _F190 = $b54c ; unused - _D036 = $aa20 - _D055 = $aa85 - _P005 = $b092 ; ? - _P024 = $ad48 ; ? - _D074 = $ab3f - _F117 = $b187 ; unused - _F136 = $b1ff ; unused - _F155 = $b322 ; unused - _F174 = $b434 ; unused - _F193 = $b58c ; unused - _D037 = $aa21 - _D054 = $aa80 - _P004 = $b06f ; ? - _P025 = $ad43 ; ? - _D075 = $ab81 - _F116 = $b182 ; unused - _F137 = $b205 ; unused - _F154 = $b31f ; unused - _F175 = $b43d ; unused - _F192 = $b580 ; unused - TMP = $e7 - XOR = $a39e ; ? - CB = $a478 ; ? - DIV = $a2f4 ; ? - VMZP = $e0 - LAW = $a612 ; ? - NATV = $a9fb ; ? - DAW = $a787 ; ? - IDXAB = $a668 ; ? - LNOT = $a43f ; ? - ADDLB = $a58d ; ? - DROP = $ef - DUP = $a3fd ; ? - SB = $a6b6 ; ? - DST = $8 - SETMEX = $ac1a ; ? - JMPTMPX = $16e6 ; unused - CN = $a460 ; ? - _A009 = $ad31 ; unused - LAB = $a5fc ; ? - _A008 = $ad1f ; unused - CS = $a4af ; ? - DAB = $a772 ; ? - IP = $f2 - CW = $a4a1 ; ? - _DIVEX = $a292 ; ? - _A001 = $abb6 ; unused - REGVALS = $6 - SETMLPH = $ac02 - SUBBRGE = $a93e ; ? - _A000 = $ab9b - JITCODE = $a0f4 ; ? - MINUS1 = $a44e ; ? - _A003 = $ac1e - FETCHOP = $f1 - _A002 = $abeb ; unused - ADDLW = $a5a3 ; ? - SETMLPL = $abff - _A005 = $acd7 - IDXAW = $a68b ; ? - _A004 = $ac98 - SW = $a6c2 ; ? - _A007 = $ad0b ; unused - _A006 = $acf7 diff --git a/src/vmsrc/apple/soscmd.a b/src/vmsrc/apple/soscmd.a deleted file mode 100644 index 48527c4..0000000 --- a/src/vmsrc/apple/soscmd.a +++ /dev/null @@ -1,1341 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 textmode[3] - ; textmode -> [0] -; vmsrc/apple/soscmd.pla: 0173: byte prefix[64] - ; prefix -> [3] -; vmsrc/apple/soscmd.pla: 0174: byte err[] - ; err -> [67] -; vmsrc/apple/soscmd.pla: 0175: word cmdptr - ; cmdptr -> [67] -; 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,$45,$00 ; ENTER 69,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,$43 ; SLW [67] - !BYTE $28,$03 ; LLA [3] - !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,$43 ; LLW [67] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $66,$43 ; LLW [67] - !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,$43 ; LLW [67] - !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) <> '/' -; vmsrc/apple/soscmd.pla: 0193: strcat(@prefix, cmdptr) -; vmsrc/apple/soscmd.pla: 0194: else - !BYTE $66,$43 ; LLW [67] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B062 - !WORD _B062-* - !BYTE $66,$43 ; LLW [67] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $42 ; ISNE -_B062 - !BYTE $4C ; BRFLS _B063 - !WORD _B063-* - !BYTE $28,$03 ; LLA [3] - !BYTE $66,$43 ; LLW [67] - !BYTE $54 ; CALL _X020 -_F034 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B064 - !WORD _B064-* -_B063 -; vmsrc/apple/soscmd.pla: 0195: strcpy(@prefix, cmdptr) -; vmsrc/apple/soscmd.pla: 0196: fin - !BYTE $28,$03 ; LLA [3] - !BYTE $66,$43 ; LLW [67] - !BYTE $54 ; CALL _X019 -_F035 !WORD 0 - !BYTE $30 ; DROP -_B064 -; vmsrc/apple/soscmd.pla: 0197: setpfx(@prefix) -; vmsrc/apple/soscmd.pla: 0198: break - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _C001 -_F036 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -; vmsrc/apple/soscmd.pla: 0199: is '/' -_B065 -; vmsrc/apple/soscmd.pla: 0200: repeat -_B067 -; vmsrc/apple/soscmd.pla: 0201: prefix-- - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR -; vmsrc/apple/soscmd.pla: 0202: until prefix[prefix] == '/' - !BYTE $74,$03 ; SLB [3] -_B068 - !BYTE $28,$03 ; LLA [3] - !BYTE $B0,$03 ; ADDLB [3] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B067 - !WORD _B067-* -_B066 -; vmsrc/apple/soscmd.pla: 0203: if prefix > 1 -; vmsrc/apple/soscmd.pla: 0204: setpfx(@prefix) -; vmsrc/apple/soscmd.pla: 0205: fin - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B069 - !WORD _B069-* - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _C001 -_F037 !WORD _C001 - !BYTE $30 ; DROP -_B069 -_B070 -; vmsrc/apple/soscmd.pla: 0206: break - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -; vmsrc/apple/soscmd.pla: 0207: is 'S' -_B071 -; vmsrc/apple/soscmd.pla: 0208: setpfx(cmdptr) -; vmsrc/apple/soscmd.pla: 0209: strcat(getpfx(cmdsys:syspath), "SYS/")) - !BYTE $66,$43 ; LLW [67] - !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' -_B072 -; 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 '+' -_B073 -; vmsrc/apple/soscmd.pla: 0215: return striptrail(cmdptr) - !BYTE $66,$43 ; LLW [67] - !BYTE $54 ; CALL _C008 -_F043 !WORD _C008 - !BYTE $5A,$45 ; LEAVE 69 -; vmsrc/apple/soscmd.pla: 0216: break - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -; vmsrc/apple/soscmd.pla: 0217: otherwise -_B059 - !BYTE $06 ; CASEBLOCK - !WORD $002B - !WORD _B073-* - !WORD $002F - !WORD _B065-* - !WORD $0043 - !WORD _B060-* - !WORD $0050 - !WORD _B061-* - !WORD $0053 - !WORD _B071-* - !WORD $0056 - !WORD _B072-* -; vmsrc/apple/soscmd.pla: 0218: puts("?\n") - !BYTE $2E ; CS - !BYTE $02 - !BYTE $3F,$0D - !BYTE $54 ; CALL _X004 -_F044 !WORD 0 -; vmsrc/apple/soscmd.pla: 0219: wend -_B058 -; vmsrc/apple/soscmd.pla: 0220: if cmdsys.syserr -; vmsrc/apple/soscmd.pla: 0221: err = cmdsys.syserr -; vmsrc/apple/soscmd.pla: 0222: puts("ERR:$") - !BYTE $68 ; LAB _X000+16 -_F045 !WORD 0+16 - !BYTE $4C ; BRFLS _B074 - !WORD _B074-* - !BYTE $68 ; LAB _X000+16 -_F046 !WORD 0+16 - !BYTE $74,$43 ; SLB [67] - !BYTE $2E ; CS - !BYTE $05 - !BYTE $45,$52,$52,$3A,$24 - !BYTE $54 ; CALL _X004 -_F047 !WORD 0 -; vmsrc/apple/soscmd.pla: 0223: putb(err) -; vmsrc/apple/soscmd.pla: 0224: else - !BYTE $64,$43 ; LLB [67] - !BYTE $54 ; CALL _X008 -_F048 !WORD 0 - !BYTE $50 ; BRNCH _B075 - !WORD _B075-* -_B074 -; vmsrc/apple/soscmd.pla: 0225: puts("OK") - !BYTE $2E ; CS - !BYTE $02 - !BYTE $4F,$4B - !BYTE $54 ; CALL _X004 -_F049 !WORD 0 -; vmsrc/apple/soscmd.pla: 0226: fin -_B075 -; vmsrc/apple/soscmd.pla: 0227: putln -; vmsrc/apple/soscmd.pla: 0228: fin - !BYTE $54 ; CALL _X003 -_F050 !WORD 0 -_B056 -_B057 -; vmsrc/apple/soscmd.pla: 0229: puts(getpfx(@prefix)) -; vmsrc/apple/soscmd.pla: 0230: cmdptr = gets($BA) -; vmsrc/apple/soscmd.pla: 0231: strcpy(cmdsys:cmdline, cmdptr) -; vmsrc/apple/soscmd.pla: 0232: until 0 - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _C000 -_F051 !WORD _C000 - !BYTE $54 ; CALL _X004 -_F052 !WORD 0 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _X007 -_F053 !WORD 0 - !BYTE $76,$43 ; SLW [67] - !BYTE $6A ; LAW _X000+4 -_F054 !WORD 0+4 - !BYTE $66,$43 ; LLW [67] - !BYTE $54 ; CALL _X019 -_F055 !WORD 0 - !BYTE $30 ; DROP -_B055 - !BYTE $50 ; BRNCH _B054 - !WORD _B054-* -_B053 -; vmsrc/apple/soscmd.pla: 0233: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$45 ; LEAVE 69 -; vmsrc/apple/soscmd.pla: 0234: end -; vmsrc/apple/soscmd.pla: 0235: // -; vmsrc/apple/soscmd.pla: 0236: // Save pointer to command line handler -; vmsrc/apple/soscmd.pla: 0237: // -; vmsrc/apple/soscmd.pla: 0238: *cmdparser = @shell -_INIT -; vmsrc/apple/soscmd.pla: 0239: done - !BYTE $26 ; LA _C010+0 -_F056 !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 $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 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 8 ; 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 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_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 5e9b9e0..0000000 --- a/src/vmsrc/apple/soscmdjit.a +++ /dev/null @@ -1,8288 +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_ = $0200 // Version built against - ; _SYSVER_ = 512 -; 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 = $03 - ; MACHID_MEM = 3 -; 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: // -; inc/cmdsys.plh: 0038: // Module don't free memory -; inc/cmdsys.plh: 0039: // -; inc/cmdsys.plh: 0040: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0041: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0042: // -; inc/cmdsys.plh: 0043: // CMD exported interface table -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: struc t_cmdsys -; inc/cmdsys.plh: 0046: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0047: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0048: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0049: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0050: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0051: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0052: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0053: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0054: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0055: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0056: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0059: end - ; t_cmdsys = 21 -; inc/cmdsys.plh: 0060: // -; inc/cmdsys.plh: 0061: // CMD exported functions -; inc/cmdsys.plh: 0062: // -; inc/cmdsys.plh: 0063: 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: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0067: 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: 0068: 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: 0069: 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 = $C000 - ; estkh8 = 49152 -; vmsrc/apple/soscmdjit.pla: 0029: const estkh = $00C0 - ; estkh = 192 -; vmsrc/apple/soscmdjit.pla: 0030: const estkl8 = $D000 - ; estkl8 = 53248 -; vmsrc/apple/soscmdjit.pla: 0031: const estkl = $00D0 - ; estkl = 208 -; 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,$D0 ; CW 53397 - !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,$D0 ; CW 53397 - !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,$C0 ; CW 49300 - !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,$D0 ; CW 53397 - !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,$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 $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,$CE ; CW 52917 - !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,$CF ; CW 53205 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$BE ; CW 48821 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$D5,$BF ; CW 49109 - !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,$D0 ; CW 53397 - !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,$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 $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,$D0 ; CW 53397 - !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,$D0 ; CW 53397 - !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,$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 $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,$D0 ; CW 53397 - !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,$C0 ; CW 49300 - !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,$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 $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,$D0 ; CW 53397 - !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,$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 $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,$D0 ; CW 53429 - !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,$D0 ; CW 53397 - !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,$C0 ; CW 49332 - !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,$C0 ; CW 49300 - !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,$D0 ; CW 53429 - !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,$C0 ; CW 49398 - !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,$D0 ; CW 53429 - !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,$C0 ; CW 49366 - !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,$D0 ; CW 53429 - !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,$C0 ; CW 49300 - !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,$D0 ; CW 53429 - !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,$D0 ; CW 53429 - !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,$D1 ; CW 53717 - !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,$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,$04 ; ADDI 4 - !BYTE $72 ; SW - !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 $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,$C1 ; CW 49556 - !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,$D0 ; CW 53429 - !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,$D1 ; CW 53717 - !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,$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,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F5,$C1 ; CW 49653 - !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,$C1 ; CW 49556 - !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,$D0 ; CW 53397 - !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,$D1 ; CW 53685 - !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,$D0 ; CW 53461 - !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,$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,$04 ; ADDI 4 - !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,$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,$C1 ; CW 49556 - !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,$CF ; CW 53173 - !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,$BF ; CW 48917 - !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,$D0 ; CW 53397 - !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,$D0 ; CW 53429 - !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,$C0 ; CW 49332 - !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,$D0 ; CW 53397 - !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,$D0 ; CW 53429 - !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,$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,$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,$D0 ; CW 53397 - !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,$D0 ; CW 53397 - !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,$D0 ; CW 53429 - !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,$BF ; CW 49045 - !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,$BF ; CW 49057 - !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,$C0 ; CW 49300 - !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,$D0 ; CW 53429 - !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,$BF ; CW 49045 - !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,$BF ; CW 49057 - !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,$D0 ; CW 53397 - !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,$BF ; CW 49142 - !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,$C0 ; CW 49398 - !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,$BF ; CW 49057 - !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,$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,$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,$D0 ; CW 53397 - !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,$C0 ; CW 49300 - !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,$D0 ; CW 53397 - !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,$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 $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,$D0 ; CW 53397 - !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,$C0 ; CW 49300 - !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,$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,$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,$D0 ; CW 53429 - !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,$C0 ; CW 49300 - !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,$D0 ; CW 53397 - !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,$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 $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,$D0 ; CW 53429 - !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,$D0 ; CW 53429 - !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,$BF ; CW 49045 - !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,$D1 ; CW 53685 - !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,$BF ; CW 49025 - !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,$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,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$F6,$BF ; CW 49142 - !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,$C0 ; CW 49398 - !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,$BF ; CW 49025 - !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,$D0 ; CW 53429 - !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,$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,$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,$D0 ; CW 53429 - !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,$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,$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,$D0 ; CW 53429 - !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,$C0 ; CW 49300 - !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,$C0 ; CW 49332 - !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,$D0 ; CW 53429 - !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,$C0 ; CW 49173 - !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,$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,$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,$D0 ; CW 53429 - !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,$D1 ; CW 53621 - !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,$D1 ; CW 53653 - !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,$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,$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,$07 ; ADDI 7 - !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,$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,$D0 ; CW 53397 - !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,$D1 ; CW 53685 - !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,$D0 ; CW 53493 - !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,$D1 ; CW 53653 - !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,$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,$07 ; ADDI 7 - !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,$09 ; ADDI 9 - !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,$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,$D0 ; CW 53397 - !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,$D0 ; CW 53397 - !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,$D0 ; CW 53493 - !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,$D0 ; CW 53397 - !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,$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,$07 ; ADDI 7 - !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,$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,$D0 ; CW 53429 - !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,$D0 ; CW 53397 - !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,$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,$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,$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,$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,$D0 ; CW 53429 - !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,$D1 ; CB 209 - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2C,$95,$D1 ; CW 53653 - !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,$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,$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,$C1 ; CB 193 - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !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,$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,$D0 ; CW 53429 - !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,$C0 ; CW 49206 - !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,$D1 ; CW 53621 - !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,$D1 ; CW 53653 - !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,$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,$08 ; ADDI 8 - !BYTE $72 ; SW - !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,$0A ; ADDI 10 - !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,$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,$D0 ; CW 53397 - !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,$D1 ; CW 53685 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$D5,$D0 ; CW 53461 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F5,$C0 ; CW 49397 - !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,$D0 ; CW 53429 - !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,$D0 ; CW 53397 - !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,$D1 ; CW 53717 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F5,$C1 ; CW 49653 - !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,$D0 ; CW 53429 - !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,$D0 ; CW 53397 - !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,$C0 ; CW 49398 - !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,$D1 ; CW 53621 - !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,$D1 ; CW 53653 - !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,$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,$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,$07 ; ADDI 7 - !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,$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,$D1 ; CW 53685 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$D5,$D0 ; CW 53461 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F5,$C0 ; CW 49397 - !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,$D0 ; CW 53397 - !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,$D0 ; CW 53429 - !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,$D0 ; CW 53397 - !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,$C0 ; CW 49366 - !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,$D0 ; CW 53397 - !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,$D1 ; CW 53685 - !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,$D0 ; CW 53493 - !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,$D1 ; CW 53653 - !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,$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,$07 ; ADDI 7 - !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,$09 ; ADDI 9 - !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,$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,$D0 ; CW 53429 - !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,$D1 ; CW 53717 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F5,$C1 ; CW 49653 - !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,$D0 ; CW 53429 - !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,$D0 ; CW 53397 - !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,$C0 ; CW 49173 - !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,$D0 ; CW 53429 - !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,$C0 ; CW 49398 - !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,$D0 ; CW 53397 - !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,$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 $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,$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 $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,$D0 ; CW 53429 - !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,$C0 ; CW 49398 - !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,$D0 ; CW 53397 - !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,$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,$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,$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,$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,$D0 ; CW 53397 - !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,$D0 ; CW 53365 - !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,$D0 ; CW 53397 - !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,$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,$0A ; ADDI 10 - !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,$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,$D0 ; CW 53397 - !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,$D0 ; CW 53365 - !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,$D0 ; CW 53397 - !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,$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,$12 ; ADDI 18 - !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,$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,$D0 ; CW 53397 - !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,$D0 ; CW 53365 - !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,$D0 ; CW 53397 - !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,$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 $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,$D0 ; CW 53397 - !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,$D0 ; CW 53365 - !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,$D0 ; CW 53397 - !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,$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,$13 ; ADDI 19 - !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,$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 textmode[3] - ; textmode -> [0] -; vmsrc/apple/soscmdjit.pla: 0248: byte prefix[64] - ; prefix -> [3] -; vmsrc/apple/soscmdjit.pla: 0249: byte err[] - ; err -> [67] -; vmsrc/apple/soscmdjit.pla: 0250: word cmdptr - ; cmdptr -> [67] -; 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,$45,$00 ; ENTER 69,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,$43 ; SLW [67] - !BYTE $28,$03 ; LLA [3] - !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,$43 ; LLW [67] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B449 - !WORD _B449-* - !BYTE $66,$43 ; LLW [67] - !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,$43 ; LLW [67] - !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) <> '/' -; vmsrc/apple/soscmdjit.pla: 0268: strcat(@prefix, cmdptr) -; vmsrc/apple/soscmdjit.pla: 0269: else - !BYTE $66,$43 ; LLW [67] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B455 - !WORD _B455-* - !BYTE $66,$43 ; LLW [67] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $42 ; ISNE -_B455 - !BYTE $4C ; BRFLS _B456 - !WORD _B456-* - !BYTE $28,$03 ; LLA [3] - !BYTE $66,$43 ; LLW [67] - !BYTE $54 ; CALL _X020 -_F065 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B457 - !WORD _B457-* -_B456 -; vmsrc/apple/soscmdjit.pla: 0270: strcpy(@prefix, cmdptr) -; vmsrc/apple/soscmdjit.pla: 0271: fin - !BYTE $28,$03 ; LLA [3] - !BYTE $66,$43 ; LLW [67] - !BYTE $54 ; CALL _X019 -_F066 !WORD 0 - !BYTE $30 ; DROP -_B457 -; vmsrc/apple/soscmdjit.pla: 0272: setpfx(@prefix) -; vmsrc/apple/soscmdjit.pla: 0273: break - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _C003 -_F067 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B451 - !WORD _B451-* -; vmsrc/apple/soscmdjit.pla: 0274: is '/' -_B458 -; vmsrc/apple/soscmdjit.pla: 0275: repeat -_B460 -; vmsrc/apple/soscmdjit.pla: 0276: prefix-- - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR -; vmsrc/apple/soscmdjit.pla: 0277: until prefix[prefix] == '/' - !BYTE $74,$03 ; SLB [3] -_B461 - !BYTE $28,$03 ; LLA [3] - !BYTE $B0,$03 ; ADDLB [3] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B460 - !WORD _B460-* -_B459 -; vmsrc/apple/soscmdjit.pla: 0278: if prefix > 1 -; vmsrc/apple/soscmdjit.pla: 0279: setpfx(@prefix) -; vmsrc/apple/soscmdjit.pla: 0280: fin - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B462 - !WORD _B462-* - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _C003 -_F068 !WORD _C003 - !BYTE $30 ; DROP -_B462 -_B463 -; vmsrc/apple/soscmdjit.pla: 0281: break - !BYTE $50 ; BRNCH _B451 - !WORD _B451-* -; vmsrc/apple/soscmdjit.pla: 0282: is 'S' -_B464 -; vmsrc/apple/soscmdjit.pla: 0283: setpfx(cmdptr) -; vmsrc/apple/soscmdjit.pla: 0284: strcat(getpfx(cmdsys:syspath), "SYS/")) - !BYTE $66,$43 ; LLW [67] - !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' -_B465 -; 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 '+' -_B466 -; vmsrc/apple/soscmdjit.pla: 0290: *jitcodeptr = jitcbuf -; vmsrc/apple/soscmdjit.pla: 0291: return striptrail(cmdptr) - !BYTE $2C,$00,$90 ; CW 36864 - !BYTE $7A,$F4,$A0 ; SAW 41204 - !BYTE $66,$43 ; LLW [67] - !BYTE $54 ; CALL _C010 -_F074 !WORD _C010 - !BYTE $5A,$45 ; LEAVE 69 -; vmsrc/apple/soscmdjit.pla: 0292: break - !BYTE $50 ; BRNCH _B451 - !WORD _B451-* -; vmsrc/apple/soscmdjit.pla: 0293: otherwise -_B452 - !BYTE $06 ; CASEBLOCK - !WORD $002B - !WORD _B466-* - !WORD $002F - !WORD _B458-* - !WORD $0043 - !WORD _B453-* - !WORD $0050 - !WORD _B454-* - !WORD $0053 - !WORD _B464-* - !WORD $0056 - !WORD _B465-* -; vmsrc/apple/soscmdjit.pla: 0294: puts("?\n") - !BYTE $2E ; CS - !BYTE $02 - !BYTE $3F,$0D - !BYTE $54 ; CALL _X004 -_F075 !WORD 0 -; vmsrc/apple/soscmdjit.pla: 0295: wend -_B451 -; vmsrc/apple/soscmdjit.pla: 0296: if cmdsys.syserr -; vmsrc/apple/soscmdjit.pla: 0297: err = cmdsys.syserr -; vmsrc/apple/soscmdjit.pla: 0298: puts("ERR:$") - !BYTE $68 ; LAB _X000+16 -_F076 !WORD 0+16 - !BYTE $4C ; BRFLS _B467 - !WORD _B467-* - !BYTE $68 ; LAB _X000+16 -_F077 !WORD 0+16 - !BYTE $74,$43 ; SLB [67] - !BYTE $2E ; CS - !BYTE $05 - !BYTE $45,$52,$52,$3A,$24 - !BYTE $54 ; CALL _X004 -_F078 !WORD 0 -; vmsrc/apple/soscmdjit.pla: 0299: putb(err) -; vmsrc/apple/soscmdjit.pla: 0300: else - !BYTE $64,$43 ; LLB [67] - !BYTE $54 ; CALL _X008 -_F079 !WORD 0 - !BYTE $50 ; BRNCH _B468 - !WORD _B468-* -_B467 -; vmsrc/apple/soscmdjit.pla: 0301: puts("OK") - !BYTE $2E ; CS - !BYTE $02 - !BYTE $4F,$4B - !BYTE $54 ; CALL _X004 -_F080 !WORD 0 -; vmsrc/apple/soscmdjit.pla: 0302: fin -_B468 -; vmsrc/apple/soscmdjit.pla: 0303: putln -; vmsrc/apple/soscmdjit.pla: 0304: fin - !BYTE $54 ; CALL _X003 -_F081 !WORD 0 -_B449 -_B450 -; vmsrc/apple/soscmdjit.pla: 0305: puts(getpfx(@prefix)) -; vmsrc/apple/soscmdjit.pla: 0306: cmdptr = gets($BA) -; vmsrc/apple/soscmdjit.pla: 0307: strcpy(cmdsys:cmdline, cmdptr) -; vmsrc/apple/soscmdjit.pla: 0308: until 0 - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _C002 -_F082 !WORD _C002 - !BYTE $54 ; CALL _X004 -_F083 !WORD 0 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _X007 -_F084 !WORD 0 - !BYTE $76,$43 ; SLW [67] - !BYTE $6A ; LAW _X000+4 -_F085 !WORD 0+4 - !BYTE $66,$43 ; LLW [67] - !BYTE $54 ; CALL _X019 -_F086 !WORD 0 - !BYTE $30 ; DROP -_B448 - !BYTE $50 ; BRNCH _B447 - !WORD _B447-* -_B446 -; vmsrc/apple/soscmdjit.pla: 0309: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$45 ; LEAVE 69 -; vmsrc/apple/soscmdjit.pla: 0310: end -; vmsrc/apple/soscmdjit.pla: 0311: // -; vmsrc/apple/soscmdjit.pla: 0312: // Save pointer to command line handler -; vmsrc/apple/soscmdjit.pla: 0313: // -; vmsrc/apple/soscmdjit.pla: 0314: *cmdparser = @shell -_INIT -; vmsrc/apple/soscmdjit.pla: 0315: // -; vmsrc/apple/soscmdjit.pla: 0316: // Install JIT compiler -; vmsrc/apple/soscmdjit.pla: 0317: // -; vmsrc/apple/soscmdjit.pla: 0318: directentry = *sinterp -; vmsrc/apple/soscmdjit.pla: 0319: indirectentry = *xinterp -; vmsrc/apple/soscmdjit.pla: 0320: *jitcomp = @compiler -; vmsrc/apple/soscmdjit.pla: 0321: cmdsys.jitcount = 32 -; vmsrc/apple/soscmdjit.pla: 0322: cmdsys.jitsize = 96 -; vmsrc/apple/soscmdjit.pla: 0323: done - !BYTE $26 ; LA _C012+0 -_F087 !WORD _C012+0 - !BYTE $7A,$F0,$A0 ; SAW 41200 - !BYTE $6A,$F6,$A0 ; LAW 41206 - !BYTE $7A ; SAW _D028+0 -_F088 !WORD _D028+0 - !BYTE $6A,$F8,$A0 ; LAW 41208 - !BYTE $7A ; SAW _D029+0 -_F089 !WORD _D029+0 - !BYTE $26 ; LA _C001+0 -_F090 !WORD _C001+0 - !BYTE $7A,$F2,$A0 ; SAW 41202 - !BYTE $2A,$20 ; CB 32 - !BYTE $78 ; SAB _X000+17 -_F091 !WORD 0+17 - !BYTE $2A,$60 ; CB 96 - !BYTE $78 ; SAB _X000+18 -_F092 !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 $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 4 ; 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 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 19 ; 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 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_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 afa7856..0000000 --- a/src/vmsrc/apple/sossys.a +++ /dev/null @@ -1,3484 +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 modkeep = $2000 - ; modkeep = 8192 -; vmsrc/apple/sossys.pla: 0018: const modinitkeep = $4000 - ; modinitkeep = 16384 -; vmsrc/apple/sossys.pla: 0019: // -; vmsrc/apple/sossys.pla: 0020: // Private addresses -; vmsrc/apple/sossys.pla: 0021: // -; vmsrc/apple/sossys.pla: 0022: const instr = $A020 - ; instr = 40992 -; vmsrc/apple/sossys.pla: 0023: const cmdparser = $A0F0 - ; cmdparser = 41200 -; vmsrc/apple/sossys.pla: 0024: const xinterp = $A0F8 - ; xinterp = 41208 -; vmsrc/apple/sossys.pla: 0025: // -; vmsrc/apple/sossys.pla: 0026: // Indirect interpreter DEFinition entrypoint -; vmsrc/apple/sossys.pla: 0027: // -; vmsrc/apple/sossys.pla: 0028: struc t_defentry -; vmsrc/apple/sossys.pla: 0029: byte interpjsr - ; interpjsr = 0 -; vmsrc/apple/sossys.pla: 0030: word interpaddr - ; interpaddr = 1 -; vmsrc/apple/sossys.pla: 0031: word bytecodeaddr - ; bytecodeaddr = 3 -; vmsrc/apple/sossys.pla: 0032: byte bytecodexbyte - ; bytecodexbyte = 5 -; vmsrc/apple/sossys.pla: 0033: end - ; t_defentry = 6 -; vmsrc/apple/sossys.pla: 0034: // -; vmsrc/apple/sossys.pla: 0035: // Pedefined functions. -; vmsrc/apple/sossys.pla: 0036: // -; vmsrc/apple/sossys.pla: 0037: predef syscall(cmd,params)#1, call(addr,areg,xreg,yreg,status)#1 -; vmsrc/apple/sossys.pla: 0038: predef crout()#0, cout(c)#0, prstr(s)#0, print(i)#0, prbyte(b)#0, prword(w)#0 -; vmsrc/apple/sossys.pla: 0039: predef cin()#1, rdstr(p)#1, toupper(c)#1, strcpy(dst,src)#1, strcat(dst,src)#1 -; vmsrc/apple/sossys.pla: 0040: predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr), releaseheap(newheap)#1, availheap()#1 -; vmsrc/apple/sossys.pla: 0041: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0 -; vmsrc/apple/sossys.pla: 0042: 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: 0043: predef execmod(modfile)#1, open(path)#1, close(refnum)#1, read(refnum, buff, len)#1, write(refnum, buff, len)#1 -; vmsrc/apple/sossys.pla: 0044: // -; vmsrc/apple/sossys.pla: 0045: // Exported CMDSYS table -; vmsrc/apple/sossys.pla: 0046: // -; vmsrc/apple/sossys.pla: 0047: word version = $0200 // 02.00 -_D031 ; version = $0200 // 02.00 - !WORD $0200 -; vmsrc/apple/sossys.pla: 0048: word syspath -_D032 !FILL 2 ; syspath -; vmsrc/apple/sossys.pla: 0049: word cmdlnptr -_D033 !FILL 2 ; cmdlnptr -; vmsrc/apple/sossys.pla: 0050: 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: 0051: byte perr -_D034 !FILL 1 ; perr -; vmsrc/apple/sossys.pla: 0052: byte jitcount = 0 // Keep these here for compatibility -_D035 ; jitcount = 0 // Keep these here for compatibility - !BYTE $00 -; vmsrc/apple/sossys.pla: 0053: byte jitsize = 0 -_D036 ; jitsize = 0 - !BYTE $00 -; vmsrc/apple/sossys.pla: 0054: byte refcons = 0 -_D037 ; refcons = 0 - !BYTE $00 -; vmsrc/apple/sossys.pla: 0055: byte devcons = 0 -_D038 ; devcons = 0 - !BYTE $00 -; vmsrc/apple/sossys.pla: 0056: // -; vmsrc/apple/sossys.pla: 0057: // String pool. -; vmsrc/apple/sossys.pla: 0058: // -; vmsrc/apple/sossys.pla: 0059: byte hexchar[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' -_D039 ; 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: 0060: // -; vmsrc/apple/sossys.pla: 0061: // Exported Machine ID. -; vmsrc/apple/sossys.pla: 0062: // -; vmsrc/apple/sossys.pla: 0063: byte machid = $F2 // Apple ///, 80 columns -_D040 ; machid = $F2 // Apple ///, 80 columns - !BYTE $F2 -; vmsrc/apple/sossys.pla: 0064: // -; vmsrc/apple/sossys.pla: 0065: // Console and textmode control characters -; vmsrc/apple/sossys.pla: 0066: // -; vmsrc/apple/sossys.pla: 0067: byte console[] = ".CONSOLE" -_D041 ; console[] = ".CONSOLE" - !BYTE $08 - !BYTE $2E,$43,$4F,$4E,$53,$4F,$4C,$45 -; vmsrc/apple/sossys.pla: 0068: byte textmode[] = 16, 0, 15 -_D042 ; textmode[] = 16, 0, 15 - !BYTE $10 - !BYTE $00 - !BYTE $0F -; vmsrc/apple/sossys.pla: 0069: -; vmsrc/apple/sossys.pla: 0070: // -; vmsrc/apple/sossys.pla: 0071: // Working input buffer overlayed with strings table -; vmsrc/apple/sossys.pla: 0072: // -; vmsrc/apple/sossys.pla: 0073: byte cmdln = "" -_D043 ; cmdln = "" - !BYTE $00 -; vmsrc/apple/sossys.pla: 0074: // -; vmsrc/apple/sossys.pla: 0075: // SOS.CMD as DCI string -; vmsrc/apple/sossys.pla: 0076: // -; vmsrc/apple/sossys.pla: 0077: byte soscmd = 'S'|$80,'O'|$80,'S'|$80,'.'|$80,'C'|$80,'M'|$80,'D' -_D044 ; 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: 0078: // -; vmsrc/apple/sossys.pla: 0079: // Standard Library exported functions. -; vmsrc/apple/sossys.pla: 0080: // -; vmsrc/apple/sossys.pla: 0081: byte sysmodstr[] = "CMDSYS" -_D045 ; sysmodstr[] = "CMDSYS" - !BYTE $06 - !BYTE $43,$4D,$44,$53,$59,$53 -; vmsrc/apple/sossys.pla: 0082: byte machidstr[] = "MACHID" -_D046 ; machidstr[] = "MACHID" - !BYTE $06 - !BYTE $4D,$41,$43,$48,$49,$44 -; vmsrc/apple/sossys.pla: 0083: byte sysstr[] = "SYSCALL" -_D047 ; sysstr[] = "SYSCALL" - !BYTE $07 - !BYTE $53,$59,$53,$43,$41,$4C,$4C -; vmsrc/apple/sossys.pla: 0084: byte callstr[] = "CALL" -_D048 ; callstr[] = "CALL" - !BYTE $04 - !BYTE $43,$41,$4C,$4C -; vmsrc/apple/sossys.pla: 0085: byte putcstr[] = "PUTC" -_D049 ; putcstr[] = "PUTC" - !BYTE $04 - !BYTE $50,$55,$54,$43 -; vmsrc/apple/sossys.pla: 0086: byte putlnstr[] = "PUTLN" -_D050 ; putlnstr[] = "PUTLN" - !BYTE $05 - !BYTE $50,$55,$54,$4C,$4E -; vmsrc/apple/sossys.pla: 0087: byte putsstr[] = "PUTS" -_D051 ; putsstr[] = "PUTS" - !BYTE $04 - !BYTE $50,$55,$54,$53 -; vmsrc/apple/sossys.pla: 0088: byte putistr[] = "PUTI" -_D052 ; putistr[] = "PUTI" - !BYTE $04 - !BYTE $50,$55,$54,$49 -; vmsrc/apple/sossys.pla: 0089: byte putbstr[] = "PUTB" -_D053 ; putbstr[] = "PUTB" - !BYTE $04 - !BYTE $50,$55,$54,$42 -; vmsrc/apple/sossys.pla: 0090: byte putwstr[] = "PUTH" -_D054 ; putwstr[] = "PUTH" - !BYTE $04 - !BYTE $50,$55,$54,$48 -; vmsrc/apple/sossys.pla: 0091: byte getcstr[] = "GETC" -_D055 ; getcstr[] = "GETC" - !BYTE $04 - !BYTE $47,$45,$54,$43 -; vmsrc/apple/sossys.pla: 0092: byte getsstr[] = "GETS" -_D056 ; getsstr[] = "GETS" - !BYTE $04 - !BYTE $47,$45,$54,$53 -; vmsrc/apple/sossys.pla: 0093: byte toupstr[] = "TOUPPER" -_D057 ; toupstr[] = "TOUPPER" - !BYTE $07 - !BYTE $54,$4F,$55,$50,$50,$45,$52 -; vmsrc/apple/sossys.pla: 0094: byte strcpystr[] = "STRCPY" -_D058 ; strcpystr[] = "STRCPY" - !BYTE $06 - !BYTE $53,$54,$52,$43,$50,$59 -; vmsrc/apple/sossys.pla: 0095: byte strcatstr[] = "STRCAT" -_D059 ; strcatstr[] = "STRCAT" - !BYTE $06 - !BYTE $53,$54,$52,$43,$41,$54 -; vmsrc/apple/sossys.pla: 0096: byte hpmarkstr[] = "HEAPMARK" -_D060 ; hpmarkstr[] = "HEAPMARK" - !BYTE $08 - !BYTE $48,$45,$41,$50,$4D,$41,$52,$4B -; vmsrc/apple/sossys.pla: 0097: byte hpalignstr[] = "HEAPALLOCALIGN" -_D061 ; hpalignstr[] = "HEAPALLOCALIGN" - !BYTE $0E - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43,$41,$4C,$49,$47,$4E -; vmsrc/apple/sossys.pla: 0098: byte hpallocstr[] = "HEAPALLOC" -_D062 ; hpallocstr[] = "HEAPALLOC" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43 -; vmsrc/apple/sossys.pla: 0099: byte hprelstr[] = "HEAPRELEASE" -_D063 ; hprelstr[] = "HEAPRELEASE" - !BYTE $0B - !BYTE $48,$45,$41,$50,$52,$45,$4C,$45 - !BYTE $41,$53,$45 -; vmsrc/apple/sossys.pla: 0100: byte hpavlstr[] = "HEAPAVAIL" -_D064 ; hpavlstr[] = "HEAPAVAIL" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$56,$41,$49 - !BYTE $4C -; vmsrc/apple/sossys.pla: 0101: byte memsetstr[] = "MEMSET" -_D065 ; memsetstr[] = "MEMSET" - !BYTE $06 - !BYTE $4D,$45,$4D,$53,$45,$54 -; vmsrc/apple/sossys.pla: 0102: byte memcpystr[] = "MEMCPY" -_D066 ; memcpystr[] = "MEMCPY" - !BYTE $06 - !BYTE $4D,$45,$4D,$43,$50,$59 -; vmsrc/apple/sossys.pla: 0103: byte uisgtstr[] = "ISUGT" -_D067 ; uisgtstr[] = "ISUGT" - !BYTE $05 - !BYTE $49,$53,$55,$47,$54 -; vmsrc/apple/sossys.pla: 0104: byte uisgestr[] = "ISUGE" -_D068 ; uisgestr[] = "ISUGE" - !BYTE $05 - !BYTE $49,$53,$55,$47,$45 -; vmsrc/apple/sossys.pla: 0105: byte uisltstr[] = "ISULT" -_D069 ; uisltstr[] = "ISULT" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$54 -; vmsrc/apple/sossys.pla: 0106: byte uislestr[] = "ISULE" -_D070 ; uislestr[] = "ISULE" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$45 -; vmsrc/apple/sossys.pla: 0107: byte sextstr[] = "SEXT" -_D071 ; sextstr[] = "SEXT" - !BYTE $04 - !BYTE $53,$45,$58,$54 -; vmsrc/apple/sossys.pla: 0108: byte divmodstr[] = "DIVMOD" -_D072 ; divmodstr[] = "DIVMOD" - !BYTE $06 - !BYTE $44,$49,$56,$4D,$4F,$44 -; vmsrc/apple/sossys.pla: 0109: word exports[] = @sysmodstr, @version -_D073 ; exports[] = @sysmodstr, @version -_F005 !WORD _D045 -_F006 !WORD _D031 -; vmsrc/apple/sossys.pla: 0110: word = @sysstr, @syscall -_F007 !WORD _D047 -_F008 !WORD _P000 -; vmsrc/apple/sossys.pla: 0111: word = @callstr, @call -_F009 !WORD _D048 -_F010 !WORD _P001 -; vmsrc/apple/sossys.pla: 0112: word = @putcstr, @cout -_F011 !WORD _D049 -_F012 !WORD _P003 -; vmsrc/apple/sossys.pla: 0113: word = @putlnstr, @crout -_F013 !WORD _D050 -_F014 !WORD _P002 -; vmsrc/apple/sossys.pla: 0114: word = @putsstr, @prstr -_F015 !WORD _D051 -_F016 !WORD _P004 -; vmsrc/apple/sossys.pla: 0115: word = @putistr, @print -_F017 !WORD _D052 -_F018 !WORD _P005 -; vmsrc/apple/sossys.pla: 0116: word = @putbstr, @prbyte -_F019 !WORD _D053 -_F020 !WORD _P006 -; vmsrc/apple/sossys.pla: 0117: word = @putwstr, @prword -_F021 !WORD _D054 -_F022 !WORD _P007 -; vmsrc/apple/sossys.pla: 0118: word = @getcstr, @cin -_F023 !WORD _D055 -_F024 !WORD _P008 -; vmsrc/apple/sossys.pla: 0119: word = @getsstr, @rdstr -_F025 !WORD _D056 -_F026 !WORD _P009 -; vmsrc/apple/sossys.pla: 0120: word = @toupstr, @toupper -_F027 !WORD _D057 -_F028 !WORD _P010 -; vmsrc/apple/sossys.pla: 0121: byte sysmods[] // overlay sys path with exports -_D074 ; sysmods[] // overlay sys path with exports -; vmsrc/apple/sossys.pla: 0122: word = @hpmarkstr, @markheap -_F029 !WORD _D060 -_F030 !WORD _P013 -; vmsrc/apple/sossys.pla: 0123: word = @hpallocstr,@allocheap -_F031 !WORD _D062 -_F032 !WORD _P014 -; vmsrc/apple/sossys.pla: 0124: word = @hpalignstr,@allocalignheap -_F033 !WORD _D061 -_F034 !WORD _P015 -; vmsrc/apple/sossys.pla: 0125: word = @hprelstr, @releaseheap -_F035 !WORD _D063 -_F036 !WORD _P016 -; vmsrc/apple/sossys.pla: 0126: word = @hpavlstr, @availheap -_F037 !WORD _D064 -_F038 !WORD _P017 -; vmsrc/apple/sossys.pla: 0127: word = @memsetstr, @memset -_F039 !WORD _D065 -_F040 !WORD _P018 -; vmsrc/apple/sossys.pla: 0128: word = @memcpystr, @memcpy -_F041 !WORD _D066 -_F042 !WORD _P019 -; vmsrc/apple/sossys.pla: 0129: word = @strcpystr, @strcpy -_F043 !WORD _D058 -_F044 !WORD _P011 -; vmsrc/apple/sossys.pla: 0130: word = @strcatstr, @strcat -_F045 !WORD _D059 -_F046 !WORD _P012 -; vmsrc/apple/sossys.pla: 0131: word = @uisgtstr, @uword_isgt -_F047 !WORD _D067 -_F048 !WORD _P020 -; vmsrc/apple/sossys.pla: 0132: word = @uisgestr, @uword_isge -_F049 !WORD _D068 -_F050 !WORD _P021 -; vmsrc/apple/sossys.pla: 0133: word = @uisltstr, @uword_islt -_F051 !WORD _D069 -_F052 !WORD _P022 -; vmsrc/apple/sossys.pla: 0134: word = @uislestr, @uword_isle -_F053 !WORD _D070 -_F054 !WORD _P023 -; vmsrc/apple/sossys.pla: 0135: word = @sextstr, @sext -_F055 !WORD _D071 -_F056 !WORD _P024 -; vmsrc/apple/sossys.pla: 0136: word = @divmodstr, @divmod -_F057 !WORD _D072 -_F058 !WORD _P025 -; vmsrc/apple/sossys.pla: 0137: word = @machidstr, @machid -_F059 !WORD _D046 -_F060 !WORD _D040 -; vmsrc/apple/sossys.pla: 0138: word = 0 - !WORD $0000 -; vmsrc/apple/sossys.pla: 0139: word sysmodsym = @exports -_D075 ; sysmodsym = @exports -_F061 !WORD _D073 -; vmsrc/apple/sossys.pla: 0140: // -; vmsrc/apple/sossys.pla: 0141: // System variables. -; vmsrc/apple/sossys.pla: 0142: // -; vmsrc/apple/sossys.pla: 0143: word systemflags = 0 -_D076 ; systemflags = 0 - !WORD $0000 -; vmsrc/apple/sossys.pla: 0144: word heap = $2000 -_D077 ; heap = $2000 - !WORD $2000 -; vmsrc/apple/sossys.pla: 0145: byte autorun[] -_D078 ; autorun[] -; vmsrc/apple/sossys.pla: 0146: byte modseg[15] -_D079 !FILL 15 ; modseg[15] -; vmsrc/apple/sossys.pla: 0147: byte modid = 0 -_D080 ; modid = 0 - !BYTE $00 -; vmsrc/apple/sossys.pla: 0148: word symtbl, lastsym -_D081 !FILL 2 ; symtbl, lastsym -_D082 !FILL 2 ; lastsym -; vmsrc/apple/sossys.pla: 0149: // -; vmsrc/apple/sossys.pla: 0150: // CALL SOS -; vmsrc/apple/sossys.pla: 0151: // SYSCALL(CMD, PARAMS) -; vmsrc/apple/sossys.pla: 0152: // -; vmsrc/apple/sossys.pla: 0153: asm syscall(cmd,params)#1 -_P000 ; syscall(cmd,params)#1() -_A000 ; syscall() -; vmsrc/apple/sossys.pla: 0154: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0155: LDY ESTKH,X - LDY ESTKH,X -; vmsrc/apple/sossys.pla: 0156: STA PARAMS - STA PARAMS -; vmsrc/apple/sossys.pla: 0157: STY PARAMS+1 - STY PARAMS+1 -; vmsrc/apple/sossys.pla: 0158: INX - INX -; vmsrc/apple/sossys.pla: 0159: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0160: STA CMD - STA CMD -; vmsrc/apple/sossys.pla: 0161: BRK - BRK -; vmsrc/apple/sossys.pla: 0162: CMD !BYTE 00 -CMD !BYTE 00 -; vmsrc/apple/sossys.pla: 0163: PARAMS !WORD 0000 -PARAMS !WORD 0000 -; vmsrc/apple/sossys.pla: 0164: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0165: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossys.pla: 0166: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossys.pla: 0167: RTS - RTS -; vmsrc/apple/sossys.pla: 0168: end -; vmsrc/apple/sossys.pla: 0169: // -; vmsrc/apple/sossys.pla: 0170: // CALL 6502 ROUTINE -; vmsrc/apple/sossys.pla: 0171: // CALL(AREG, XREG, YREG, STATUS, ADDR) -; vmsrc/apple/sossys.pla: 0172: // -; vmsrc/apple/sossys.pla: 0173: asm call(addr,areg,xreg,yreg,sstatus)#1 -_P001 ; call(addr,areg,xreg,yreg,sstatus)#1() -_A001 ; call() -; vmsrc/apple/sossys.pla: 0174: REGVALS = SRC -REGVALS = SRC -; vmsrc/apple/sossys.pla: 0175: PHP - PHP -; vmsrc/apple/sossys.pla: 0176: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0177: STA TMPL - STA TMPL -; vmsrc/apple/sossys.pla: 0178: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0179: STA TMPH - STA TMPH -; vmsrc/apple/sossys.pla: 0180: INX - INX -; vmsrc/apple/sossys.pla: 0181: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0182: PHA - PHA -; vmsrc/apple/sossys.pla: 0183: INX - INX -; vmsrc/apple/sossys.pla: 0184: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/sossys.pla: 0185: INX - INX -; vmsrc/apple/sossys.pla: 0186: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0187: PHA - PHA -; vmsrc/apple/sossys.pla: 0188: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0189: INX - INX -; vmsrc/apple/sossys.pla: 0190: STX ESP - STX ESP -; vmsrc/apple/sossys.pla: 0191: TAX - TAX -; vmsrc/apple/sossys.pla: 0192: PLA - PLA -; vmsrc/apple/sossys.pla: 0193: PLP - PLP -; vmsrc/apple/sossys.pla: 0194: JSR JMPTMP - JSR JMPTMP -; vmsrc/apple/sossys.pla: 0195: PHP - PHP -; vmsrc/apple/sossys.pla: 0196: STA REGVALS+0 - STA REGVALS+0 -; vmsrc/apple/sossys.pla: 0197: STX REGVALS+1 - STX REGVALS+1 -; vmsrc/apple/sossys.pla: 0198: STY REGVALS+2 - STY REGVALS+2 -; vmsrc/apple/sossys.pla: 0199: PLA - PLA -; vmsrc/apple/sossys.pla: 0200: STA REGVALS+3 - STA REGVALS+3 -; vmsrc/apple/sossys.pla: 0201: LDX ESP - LDX ESP -; vmsrc/apple/sossys.pla: 0202: LDA #REGVALS - LDY #>REGVALS -; vmsrc/apple/sossys.pla: 0204: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossys.pla: 0205: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossys.pla: 0206: PLP - PLP -; vmsrc/apple/sossys.pla: 0207: RTS - RTS -; vmsrc/apple/sossys.pla: 0208: end -; vmsrc/apple/sossys.pla: 0209: // -; vmsrc/apple/sossys.pla: 0210: // SET MEMORY TO VALUE -; vmsrc/apple/sossys.pla: 0211: // MEMSET(ADDR, VALUE, SIZE) -; vmsrc/apple/sossys.pla: 0212: // With optimizations from Peter Ferrie -; vmsrc/apple/sossys.pla: 0213: // -; vmsrc/apple/sossys.pla: 0214: asm memset(addr,value,size)#0 -_P018 ; memset(addr,value,size)#0() -_A002 ; memset() -; vmsrc/apple/sossys.pla: 0215: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/sossys.pla: 0216: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0217: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/sossys.pla: 0218: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0219: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/sossys.pla: 0220: BEQ + - BEQ + -; vmsrc/apple/sossys.pla: 0221: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/sossys.pla: 0222: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0223: + LDA ESTKH,X -+ LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0224: BEQ SETMEX - BEQ SETMEX -; vmsrc/apple/sossys.pla: 0225: SETMLPL CLC -SETMLPL CLC -; vmsrc/apple/sossys.pla: 0226: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0227: SETMLPH STA (DST),Y -SETMLPH STA (DST),Y -; vmsrc/apple/sossys.pla: 0228: DEC ESTKL,X - DEC ESTKL,X -; vmsrc/apple/sossys.pla: 0229: BEQ ++ - BEQ ++ -; vmsrc/apple/sossys.pla: 0230: - INY -- INY -; vmsrc/apple/sossys.pla: 0231: BEQ + - BEQ + -; vmsrc/apple/sossys.pla: 0232: -- BCS SETMLPL --- BCS SETMLPL -; vmsrc/apple/sossys.pla: 0233: SEC - SEC -; vmsrc/apple/sossys.pla: 0234: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0235: BCS SETMLPH - BCS SETMLPH -; vmsrc/apple/sossys.pla: 0236: + INC DSTH -+ INC DSTH -; vmsrc/apple/sossys.pla: 0237: BNE -- - BNE -- -; vmsrc/apple/sossys.pla: 0238: ++ DEC ESTKH,X -++ DEC ESTKH,X -; vmsrc/apple/sossys.pla: 0239: BNE - - BNE - -; vmsrc/apple/sossys.pla: 0240: SETMEX INX -SETMEX INX -; vmsrc/apple/sossys.pla: 0241: INX - INX -; vmsrc/apple/sossys.pla: 0242: INX - INX -; vmsrc/apple/sossys.pla: 0243: RTS - RTS -; vmsrc/apple/sossys.pla: 0244: end -; vmsrc/apple/sossys.pla: 0245: // -; vmsrc/apple/sossys.pla: 0246: // COPY MEMORY -; vmsrc/apple/sossys.pla: 0247: // MEMCPY(DSTADDR, SRCADDR, SIZE) -; vmsrc/apple/sossys.pla: 0248: // -; vmsrc/apple/sossys.pla: 0249: asm memcpy(dst,src,size)#0 -_P019 ; memcpy(dst,src,size)#0() -_A003 ; memcpy() -; vmsrc/apple/sossys.pla: 0250: INX - INX -; vmsrc/apple/sossys.pla: 0251: INX - INX -; vmsrc/apple/sossys.pla: 0252: INX - INX -; vmsrc/apple/sossys.pla: 0253: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossys.pla: 0254: ORA ESTKH-3,X - ORA ESTKH-3,X -; vmsrc/apple/sossys.pla: 0255: BEQ CPYMEX - BEQ CPYMEX -; vmsrc/apple/sossys.pla: 0256: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/sossys.pla: 0257: CMP ESTKL-1,X - CMP ESTKL-1,X -; vmsrc/apple/sossys.pla: 0258: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/sossys.pla: 0259: SBC ESTKH-1,X - SBC ESTKH-1,X -; vmsrc/apple/sossys.pla: 0260: BCC REVCPY - BCC REVCPY -; vmsrc/apple/sossys.pla: 0261: ; -; vmsrc/apple/sossys.pla: 0262: ; FORWARD COPY -; FORWARD COPY -; vmsrc/apple/sossys.pla: 0263: ; -; vmsrc/apple/sossys.pla: 0264: LDA ESTKL-1,X - LDA ESTKL-1,X -; vmsrc/apple/sossys.pla: 0265: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0266: LDA ESTKH-1,X - LDA ESTKH-1,X -; vmsrc/apple/sossys.pla: 0267: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0268: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/sossys.pla: 0269: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0270: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/sossys.pla: 0271: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0272: LDY ESTKL-3,X - LDY ESTKL-3,X -; vmsrc/apple/sossys.pla: 0273: BEQ FORCPYLP - BEQ FORCPYLP -; vmsrc/apple/sossys.pla: 0274: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/sossys.pla: 0275: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0276: FORCPYLP LDA (SRC),Y -FORCPYLP LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0277: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0278: INY - INY -; vmsrc/apple/sossys.pla: 0279: BNE + - BNE + -; vmsrc/apple/sossys.pla: 0280: INC DSTH - INC DSTH -; vmsrc/apple/sossys.pla: 0281: INC SRCH - INC SRCH -; vmsrc/apple/sossys.pla: 0282: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/sossys.pla: 0283: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/sossys.pla: 0284: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/sossys.pla: 0285: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/sossys.pla: 0286: RTS - RTS -; vmsrc/apple/sossys.pla: 0287: ; -; vmsrc/apple/sossys.pla: 0288: ; REVERSE COPY -; REVERSE COPY -; vmsrc/apple/sossys.pla: 0289: ; -; vmsrc/apple/sossys.pla: 0290: REVCPY ;CLC -REVCPY ;CLC -; vmsrc/apple/sossys.pla: 0291: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossys.pla: 0292: ADC ESTKL-1,X - ADC ESTKL-1,X -; vmsrc/apple/sossys.pla: 0293: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0294: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/sossys.pla: 0295: ADC ESTKH-1,X - ADC ESTKH-1,X -; vmsrc/apple/sossys.pla: 0296: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0297: CLC - CLC -; vmsrc/apple/sossys.pla: 0298: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossys.pla: 0299: ADC ESTKL-2,X - ADC ESTKL-2,X -; vmsrc/apple/sossys.pla: 0300: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0301: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/sossys.pla: 0302: ADC ESTKH-2,X - ADC ESTKH-2,X -; vmsrc/apple/sossys.pla: 0303: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0304: DEC DSTH - DEC DSTH -; vmsrc/apple/sossys.pla: 0305: DEC SRCH - DEC SRCH -; vmsrc/apple/sossys.pla: 0306: LDY #$FF - LDY #$FF -; vmsrc/apple/sossys.pla: 0307: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossys.pla: 0308: BEQ REVCPYLP - BEQ REVCPYLP -; vmsrc/apple/sossys.pla: 0309: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/sossys.pla: 0310: REVCPYLP LDA (SRC),Y -REVCPYLP LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0311: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0312: DEY - DEY -; vmsrc/apple/sossys.pla: 0313: CPY #$FF - CPY #$FF -; vmsrc/apple/sossys.pla: 0314: BNE + - BNE + -; vmsrc/apple/sossys.pla: 0315: DEC DSTH - DEC DSTH -; vmsrc/apple/sossys.pla: 0316: DEC SRCH - DEC SRCH -; vmsrc/apple/sossys.pla: 0317: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/sossys.pla: 0318: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/sossys.pla: 0319: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/sossys.pla: 0320: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/sossys.pla: 0321: CPYMEX RTS -CPYMEX RTS -; vmsrc/apple/sossys.pla: 0322: end -; vmsrc/apple/sossys.pla: 0323: // -; vmsrc/apple/sossys.pla: 0324: // COPY FROM MAIN MEM TO EXT MEM. -; vmsrc/apple/sossys.pla: 0325: // -; vmsrc/apple/sossys.pla: 0326: // MEMXCPY(DSTSEG, SRC, SIZE) -; vmsrc/apple/sossys.pla: 0327: // -; vmsrc/apple/sossys.pla: 0328: asm memxcpy(dst,src,size)#0 -_A004 ; memxcpy() -; vmsrc/apple/sossys.pla: 0329: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0330: ORA ESTKH,X - ORA ESTKH,X -; vmsrc/apple/sossys.pla: 0331: BEQ CPYXMEX - BEQ CPYXMEX -; vmsrc/apple/sossys.pla: 0332: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0333: STY DSTL - STY DSTL -; vmsrc/apple/sossys.pla: 0334: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/sossys.pla: 0335: CLC - CLC -; vmsrc/apple/sossys.pla: 0336: ADC #$60 - ADC #$60 -; vmsrc/apple/sossys.pla: 0337: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0338: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/sossys.pla: 0339: CLC - CLC -; vmsrc/apple/sossys.pla: 0340: ADC #$7F - ADC #$7F -; vmsrc/apple/sossys.pla: 0341: STA DSTX - STA DSTX -; vmsrc/apple/sossys.pla: 0342: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0343: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0344: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0345: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0346: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/sossys.pla: 0347: CPYXLP LDA (SRC),Y -CPYXLP LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0348: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0349: INY - INY -; vmsrc/apple/sossys.pla: 0350: BNE + - BNE + -; vmsrc/apple/sossys.pla: 0351: INC DSTH - INC DSTH -; vmsrc/apple/sossys.pla: 0352: INC SRCH - INC SRCH -; vmsrc/apple/sossys.pla: 0353: + DEC ESTKL,X -+ DEC ESTKL,X -; vmsrc/apple/sossys.pla: 0354: BNE CPYXLP - BNE CPYXLP -; vmsrc/apple/sossys.pla: 0355: DEC ESTKH,X - DEC ESTKH,X -; vmsrc/apple/sossys.pla: 0356: BNE CPYXLP - BNE CPYXLP -; vmsrc/apple/sossys.pla: 0357: LDA #$00 - LDA #$00 -; vmsrc/apple/sossys.pla: 0358: STA DSTX - STA DSTX -; vmsrc/apple/sossys.pla: 0359: CPYXMEX INX -CPYXMEX INX -; vmsrc/apple/sossys.pla: 0360: INX - INX -; vmsrc/apple/sossys.pla: 0361: INX - INX -; vmsrc/apple/sossys.pla: 0362: RTS - RTS -; vmsrc/apple/sossys.pla: 0363: end -; vmsrc/apple/sossys.pla: 0364: // -; vmsrc/apple/sossys.pla: 0365: // POKE BYTE VAL INTO EXT MEM. -; vmsrc/apple/sossys.pla: 0366: // -; vmsrc/apple/sossys.pla: 0367: // XPOKEB(SEG, DST, BYTEVAL) -; vmsrc/apple/sossys.pla: 0368: // -; vmsrc/apple/sossys.pla: 0369: asm xpokeb(seg, dst, byteval)#0 -_A005 ; xpokeb() -; vmsrc/apple/sossys.pla: 0370: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0371: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0372: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0373: CLC - CLC -; vmsrc/apple/sossys.pla: 0374: ADC #$60 - ADC #$60 -; vmsrc/apple/sossys.pla: 0375: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0376: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/sossys.pla: 0377: CLC - CLC -; vmsrc/apple/sossys.pla: 0378: ADC #$7F - ADC #$7F -; vmsrc/apple/sossys.pla: 0379: STA DSTX - STA DSTX -; vmsrc/apple/sossys.pla: 0380: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0381: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0382: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0383: STY DSTX - STY DSTX -; vmsrc/apple/sossys.pla: 0384: INX - INX -; vmsrc/apple/sossys.pla: 0385: INX - INX -; vmsrc/apple/sossys.pla: 0386: INX - INX -; vmsrc/apple/sossys.pla: 0387: RTS - RTS -; vmsrc/apple/sossys.pla: 0388: end -; vmsrc/apple/sossys.pla: 0389: // -; vmsrc/apple/sossys.pla: 0390: // Unsigned word comparisons. -; vmsrc/apple/sossys.pla: 0391: // -; vmsrc/apple/sossys.pla: 0392: asm uword_isge(a,b)#1 -_P021 ; uword_isge(a,b)#1() -_A006 ; uword_isge() -; vmsrc/apple/sossys.pla: 0393: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0394: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/sossys.pla: 0395: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0396: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/sossys.pla: 0397: LDA #$FF - LDA #$FF -; vmsrc/apple/sossys.pla: 0398: ADC #$00 - ADC #$00 -; vmsrc/apple/sossys.pla: 0399: EOR #$FF - EOR #$FF -; vmsrc/apple/sossys.pla: 0400: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0401: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0402: INX - INX -; vmsrc/apple/sossys.pla: 0403: RTS - RTS -; vmsrc/apple/sossys.pla: 0404: end -; vmsrc/apple/sossys.pla: 0405: asm uword_isle(a,b)#1 -_P023 ; uword_isle(a,b)#1() -_A007 ; uword_isle() -; vmsrc/apple/sossys.pla: 0406: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0407: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/sossys.pla: 0408: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0409: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/sossys.pla: 0410: LDA #$FF - LDA #$FF -; vmsrc/apple/sossys.pla: 0411: ADC #$00 - ADC #$00 -; vmsrc/apple/sossys.pla: 0412: EOR #$FF - EOR #$FF -; vmsrc/apple/sossys.pla: 0413: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0414: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0415: INX - INX -; vmsrc/apple/sossys.pla: 0416: RTS - RTS -; vmsrc/apple/sossys.pla: 0417: end -; vmsrc/apple/sossys.pla: 0418: asm uword_isgt(a,b)#1 -_P020 ; uword_isgt(a,b)#1() -_A008 ; uword_isgt() -; vmsrc/apple/sossys.pla: 0419: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0420: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/sossys.pla: 0421: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0422: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/sossys.pla: 0423: LDA #$FF - LDA #$FF -; vmsrc/apple/sossys.pla: 0424: ADC #$00 - ADC #$00 -; vmsrc/apple/sossys.pla: 0425: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0426: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0427: INX - INX -; vmsrc/apple/sossys.pla: 0428: RTS - RTS -; vmsrc/apple/sossys.pla: 0429: end -; vmsrc/apple/sossys.pla: 0430: asm uword_islt(a,b)#1 -_P022 ; uword_islt(a,b)#1() -_A009 ; uword_islt() -; vmsrc/apple/sossys.pla: 0431: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0432: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/sossys.pla: 0433: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0434: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/sossys.pla: 0435: LDA #$FF - LDA #$FF -; vmsrc/apple/sossys.pla: 0436: ADC #$00 - ADC #$00 -; vmsrc/apple/sossys.pla: 0437: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0438: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0439: INX - INX -; vmsrc/apple/sossys.pla: 0440: RTS - RTS -; vmsrc/apple/sossys.pla: 0441: end -; vmsrc/apple/sossys.pla: 0442: asm divmod(a,b)#2 -_P025 ; divmod(a,b)#2() -_A010 ; divmod() -; vmsrc/apple/sossys.pla: 0443: JSR INTERP ; CALL INTERP - JSR INTERP ; CALL INTERP -; vmsrc/apple/sossys.pla: 0444: !BYTE $36, $5C ; DIVMOD, RET - !BYTE $36, $5C ; DIVMOD, RET -; vmsrc/apple/sossys.pla: 0445: end -; vmsrc/apple/sossys.pla: 0446: asm sext(a)#1 -_P024 ; sext(a)#1() -_A011 ; sext() -; vmsrc/apple/sossys.pla: 0447: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0448: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0449: BPL + - BPL + -; vmsrc/apple/sossys.pla: 0450: DEY - DEY -; vmsrc/apple/sossys.pla: 0451: + STY ESTKH,X -+ STY ESTKH,X -; vmsrc/apple/sossys.pla: 0452: RTS - RTS -; vmsrc/apple/sossys.pla: 0453: end -; vmsrc/apple/sossys.pla: 0454: // -; vmsrc/apple/sossys.pla: 0455: // A DCI string is one that has the high bit set for every character except the last. -; vmsrc/apple/sossys.pla: 0456: // More efficient than C or Pascal strings. -; vmsrc/apple/sossys.pla: 0457: // -; vmsrc/apple/sossys.pla: 0458: //def dcitos(dci, str) -; vmsrc/apple/sossys.pla: 0459: // byte len, c -; vmsrc/apple/sossys.pla: 0460: // len = 0 -; vmsrc/apple/sossys.pla: 0461: // repeat -; vmsrc/apple/sossys.pla: 0462: // c = (dci).[len] -; vmsrc/apple/sossys.pla: 0463: // len = len + 1 -; vmsrc/apple/sossys.pla: 0464: // (str).[len] = c & $7F -; vmsrc/apple/sossys.pla: 0465: // until !(c & $80) -; vmsrc/apple/sossys.pla: 0466: // ^str = len -; vmsrc/apple/sossys.pla: 0467: // return len -; vmsrc/apple/sossys.pla: 0468: //end -; vmsrc/apple/sossys.pla: 0469: asm dcitos(dci, str)#1 -_A012 ; dcitos() -; vmsrc/apple/sossys.pla: 0470: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0471: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0472: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0473: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0474: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0475: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0476: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0477: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0478: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0479: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0480: CMP #$80 - CMP #$80 -; vmsrc/apple/sossys.pla: 0481: AND #$7F - AND #$7F -; vmsrc/apple/sossys.pla: 0482: INY - INY -; vmsrc/apple/sossys.pla: 0483: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0484: BCS - - BCS - -; vmsrc/apple/sossys.pla: 0485: TYA - TYA -; vmsrc/apple/sossys.pla: 0486: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0487: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0488: INX - INX -; vmsrc/apple/sossys.pla: 0489: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossys.pla: 0490: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossys.pla: 0491: RTS - RTS -; vmsrc/apple/sossys.pla: 0492: end -; vmsrc/apple/sossys.pla: 0493: //def stodci(str, dci) -; vmsrc/apple/sossys.pla: 0494: // byte len, c -; vmsrc/apple/sossys.pla: 0495: // len = ^str -; vmsrc/apple/sossys.pla: 0496: // if len == 0 -; vmsrc/apple/sossys.pla: 0497: // return -; vmsrc/apple/sossys.pla: 0498: // fin -; vmsrc/apple/sossys.pla: 0499: // c = toupper((str).[len]) & $7F -; vmsrc/apple/sossys.pla: 0500: // len = len - 1 -; vmsrc/apple/sossys.pla: 0501: // (dci).[len] = c -; vmsrc/apple/sossys.pla: 0502: // while len -; vmsrc/apple/sossys.pla: 0503: // c = toupper((str).[len]) | $80 -; vmsrc/apple/sossys.pla: 0504: // len = len - 1 -; vmsrc/apple/sossys.pla: 0505: // (dci).[len] = c -; vmsrc/apple/sossys.pla: 0506: // loop -; vmsrc/apple/sossys.pla: 0507: // return ^str -; vmsrc/apple/sossys.pla: 0508: //end -; vmsrc/apple/sossys.pla: 0509: asm stodci(str, dci)#1 -_A013 ; stodci() -; vmsrc/apple/sossys.pla: 0510: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0511: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0512: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0513: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0514: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0515: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0516: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0517: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0518: INX - INX -; vmsrc/apple/sossys.pla: 0519: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0520: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0521: BEQ ++ - BEQ ++ -; vmsrc/apple/sossys.pla: 0522: TAY - TAY -; vmsrc/apple/sossys.pla: 0523: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0524: JSR TOUPR - JSR TOUPR -; vmsrc/apple/sossys.pla: 0525: BNE + - BNE + -; vmsrc/apple/sossys.pla: 0526: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0527: JSR TOUPR - JSR TOUPR -; vmsrc/apple/sossys.pla: 0528: ORA #$80 - ORA #$80 -; vmsrc/apple/sossys.pla: 0529: + DEY -+ DEY -; vmsrc/apple/sossys.pla: 0530: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0531: BNE - - BNE - -; vmsrc/apple/sossys.pla: 0532: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0533: ++ STA ESTKL,X -++ STA ESTKL,X -; vmsrc/apple/sossys.pla: 0534: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossys.pla: 0535: RTS - RTS -; vmsrc/apple/sossys.pla: 0536: end -; vmsrc/apple/sossys.pla: 0537: asm toupper(c)#1 -_P010 ; toupper(c)#1() -_A014 ; toupper() -; vmsrc/apple/sossys.pla: 0538: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0539: TOUPR AND #$7F -TOUPR AND #$7F -; vmsrc/apple/sossys.pla: 0540: CMP #'a' - CMP #'a' -; vmsrc/apple/sossys.pla: 0541: BCC + - BCC + -; vmsrc/apple/sossys.pla: 0542: CMP #'z'+1 - CMP #'z'+1 -; vmsrc/apple/sossys.pla: 0543: BCS + - BCS + -; vmsrc/apple/sossys.pla: 0544: SBC #$1F - SBC #$1F -; vmsrc/apple/sossys.pla: 0545: + STA ESTKL,X -+ STA ESTKL,X -; vmsrc/apple/sossys.pla: 0546: RTS - RTS -; vmsrc/apple/sossys.pla: 0547: end -; vmsrc/apple/sossys.pla: 0548: // -; vmsrc/apple/sossys.pla: 0549: // Lookup routines. -; vmsrc/apple/sossys.pla: 0550: // -; vmsrc/apple/sossys.pla: 0551: //def lookuptbl(dci, tbl) -; vmsrc/apple/sossys.pla: 0552: // word match -; vmsrc/apple/sossys.pla: 0553: // while ^tbl -; vmsrc/apple/sossys.pla: 0554: // match = dci -; vmsrc/apple/sossys.pla: 0555: // while ^tbl == ^match -; vmsrc/apple/sossys.pla: 0556: // if !(^tbl & $80) -; vmsrc/apple/sossys.pla: 0557: // return (tbl):1 -; vmsrc/apple/sossys.pla: 0558: // fin -; vmsrc/apple/sossys.pla: 0559: // tbl = tbl + 1 -; vmsrc/apple/sossys.pla: 0560: // match = match + 1 -; vmsrc/apple/sossys.pla: 0561: // loop -; vmsrc/apple/sossys.pla: 0562: // while (^tbl & $80) -; vmsrc/apple/sossys.pla: 0563: // tbl = tbl + 1 -; vmsrc/apple/sossys.pla: 0564: // loop -; vmsrc/apple/sossys.pla: 0565: // tbl = tbl + 3 -; vmsrc/apple/sossys.pla: 0566: // loop -; vmsrc/apple/sossys.pla: 0567: // return 0 -; vmsrc/apple/sossys.pla: 0568: asm lookuptbl(dci, tbl)#1 -_A015 ; lookuptbl() -; vmsrc/apple/sossys.pla: 0569: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0570: STY DSTL - STY DSTL -; vmsrc/apple/sossys.pla: 0571: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0572: CLC - CLC -; vmsrc/apple/sossys.pla: 0573: ADC #$60 - ADC #$60 -; vmsrc/apple/sossys.pla: 0574: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0575: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0576: CLC - CLC -; vmsrc/apple/sossys.pla: 0577: ADC #$7F - ADC #$7F -; vmsrc/apple/sossys.pla: 0578: STA DSTX - STA DSTX -; vmsrc/apple/sossys.pla: 0579: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0580: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0581: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0582: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0583: - LDA (DST),Y -- LDA (DST),Y -; vmsrc/apple/sossys.pla: 0584: BEQ + - BEQ + -; vmsrc/apple/sossys.pla: 0585: CMP (SRC),Y - CMP (SRC),Y -; vmsrc/apple/sossys.pla: 0586: BNE ++ - BNE ++ -; vmsrc/apple/sossys.pla: 0587: INY - INY -; vmsrc/apple/sossys.pla: 0588: ASL - ASL -; vmsrc/apple/sossys.pla: 0589: BCS - - BCS - -; vmsrc/apple/sossys.pla: 0590: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossys.pla: 0591: PHA - PHA -; vmsrc/apple/sossys.pla: 0592: INY - INY -; vmsrc/apple/sossys.pla: 0593: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossys.pla: 0594: TAY - TAY -; vmsrc/apple/sossys.pla: 0595: PLA - PLA -; vmsrc/apple/sossys.pla: 0596: + INX -+ INX -; vmsrc/apple/sossys.pla: 0597: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossys.pla: 0598: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossys.pla: 0599: LDA #$00 - LDA #$00 -; vmsrc/apple/sossys.pla: 0600: STA DSTX - STA DSTX -; vmsrc/apple/sossys.pla: 0601: RTS - RTS -; vmsrc/apple/sossys.pla: 0602: ++ LDY #$00 -++ LDY #$00 -; vmsrc/apple/sossys.pla: 0603: -- LDA (DST),Y --- LDA (DST),Y -; vmsrc/apple/sossys.pla: 0604: INC DSTL - INC DSTL -; vmsrc/apple/sossys.pla: 0605: BEQ + - BEQ + -; vmsrc/apple/sossys.pla: 0606: --- ASL ---- ASL -; vmsrc/apple/sossys.pla: 0607: BCS -- - BCS -- -; vmsrc/apple/sossys.pla: 0608: LDA #$02 - LDA #$02 -; vmsrc/apple/sossys.pla: 0609: ADC DSTL - ADC DSTL -; vmsrc/apple/sossys.pla: 0610: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0611: BCC - - BCC - -; vmsrc/apple/sossys.pla: 0612: INC DSTH - INC DSTH -; vmsrc/apple/sossys.pla: 0613: BCS - - BCS - -; vmsrc/apple/sossys.pla: 0614: + INC DSTH -+ INC DSTH -; vmsrc/apple/sossys.pla: 0615: BNE --- - BNE --- -; vmsrc/apple/sossys.pla: 0616: end -; vmsrc/apple/sossys.pla: 0617: // def lookupidx(esd, index) -; vmsrc/apple/sossys.pla: 0618: // word sym -; vmsrc/apple/sossys.pla: 0619: // while ^esd -; vmsrc/apple/sossys.pla: 0620: // sym = esd -; vmsrc/apple/sossys.pla: 0621: // esd = sym + dcitos(sym, @str) -; vmsrc/apple/sossys.pla: 0622: // if esd->0 & $10 and esd->1 == index -; vmsrc/apple/sossys.pla: 0623: // return sym -; vmsrc/apple/sossys.pla: 0624: // fin -; vmsrc/apple/sossys.pla: 0625: // esd = esd + 3 -; vmsrc/apple/sossys.pla: 0626: // loop -; vmsrc/apple/sossys.pla: 0627: //end -; vmsrc/apple/sossys.pla: 0628: asm lookupidx(esd, index)#1 -_A016 ; lookupidx() -; vmsrc/apple/sossys.pla: 0629: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0630: STA TMPL - STA TMPL -; vmsrc/apple/sossys.pla: 0631: INX - INX -; vmsrc/apple/sossys.pla: 0632: --- LDA ESTKH,X ---- LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0633: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0634: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0635: -- STA SRCL --- STA SRCL -; vmsrc/apple/sossys.pla: 0636: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0637: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0638: BPL + - BPL + -; vmsrc/apple/sossys.pla: 0639: INY - INY -; vmsrc/apple/sossys.pla: 0640: BNE - - BNE - -; vmsrc/apple/sossys.pla: 0641: + BEQ ++ ; END OF ESD -+ BEQ ++ ; END OF ESD -; vmsrc/apple/sossys.pla: 0642: INY - INY -; vmsrc/apple/sossys.pla: 0643: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0644: INY - INY -; vmsrc/apple/sossys.pla: 0645: AND #$10 ; EXTERN FLAG? - AND #$10 ; EXTERN FLAG? -; vmsrc/apple/sossys.pla: 0646: BEQ + - BEQ + -; vmsrc/apple/sossys.pla: 0647: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0648: CMP TMPL - CMP TMPL -; vmsrc/apple/sossys.pla: 0649: BEQ +++ ; MATCH - BEQ +++ ; MATCH -; vmsrc/apple/sossys.pla: 0650: + INY -+ INY -; vmsrc/apple/sossys.pla: 0651: TYA - TYA -; vmsrc/apple/sossys.pla: 0652: SEC - SEC -; vmsrc/apple/sossys.pla: 0653: ADC SRCL - ADC SRCL -; vmsrc/apple/sossys.pla: 0654: STA ESTKL,X ; SYM PTRL - STA ESTKL,X ; SYM PTRL -; vmsrc/apple/sossys.pla: 0655: BCC -- - BCC -- -; vmsrc/apple/sossys.pla: 0656: INC ESTKH,X ; SYM PTRH - INC ESTKH,X ; SYM PTRH -; vmsrc/apple/sossys.pla: 0657: BNE --- - BNE --- -; vmsrc/apple/sossys.pla: 0658: ++ STA ESTKL,X ; END OF ESD -++ STA ESTKL,X ; END OF ESD -; vmsrc/apple/sossys.pla: 0659: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/sossys.pla: 0660: +++ RTS -+++ RTS -; vmsrc/apple/sossys.pla: 0661: end -; vmsrc/apple/sossys.pla: 0662: //def lookupdef(addr, deftbl)#1 -; vmsrc/apple/sossys.pla: 0663: // while deftbl->0 == $20 -; vmsrc/apple/sossys.pla: 0664: // if deftbl=>3 == addr -; vmsrc/apple/sossys.pla: 0665: // return deftbl -; vmsrc/apple/sossys.pla: 0666: // fin -; vmsrc/apple/sossys.pla: 0667: // deftbl = deftbl + t_defentry -; vmsrc/apple/sossys.pla: 0668: // loop -; vmsrc/apple/sossys.pla: 0669: // return 0 -; vmsrc/apple/sossys.pla: 0670: //end -; vmsrc/apple/sossys.pla: 0671: asm lookupdef(addr, deftbl)#1 -_A017 ; lookupdef() -; vmsrc/apple/sossys.pla: 0672: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0673: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0674: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0675: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0676: INX - INX -; vmsrc/apple/sossys.pla: 0677: - LDY #$00 -- LDY #$00 -; vmsrc/apple/sossys.pla: 0678: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0679: CMP #$20 ; JSR OPCODE? - CMP #$20 ; JSR OPCODE? -; vmsrc/apple/sossys.pla: 0680: BNE ++ - BNE ++ -; vmsrc/apple/sossys.pla: 0681: LDY #$03 - LDY #$03 -; vmsrc/apple/sossys.pla: 0682: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0683: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/sossys.pla: 0684: BNE + - BNE + -; vmsrc/apple/sossys.pla: 0685: INY - INY -; vmsrc/apple/sossys.pla: 0686: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0687: CMP ESTKH,X - CMP ESTKH,X -; vmsrc/apple/sossys.pla: 0688: BNE + - BNE + -; vmsrc/apple/sossys.pla: 0689: LDA SRCL ; MATCH - LDA SRCL ; MATCH -; vmsrc/apple/sossys.pla: 0690: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossys.pla: 0691: LDA SRCH - LDA SRCH -; vmsrc/apple/sossys.pla: 0692: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/sossys.pla: 0693: RTS - RTS -; vmsrc/apple/sossys.pla: 0694: + LDA #$06 ; T_DEFENTRY -+ LDA #$06 ; T_DEFENTRY -; vmsrc/apple/sossys.pla: 0695: CLC - CLC -; vmsrc/apple/sossys.pla: 0696: ADC SRCL - ADC SRCL -; vmsrc/apple/sossys.pla: 0697: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0698: BCC - - BCC - -; vmsrc/apple/sossys.pla: 0699: INC SRCH - INC SRCH -; vmsrc/apple/sossys.pla: 0700: BNE - - BNE - -; vmsrc/apple/sossys.pla: 0701: ++ STY ESTKL,X -++ STY ESTKL,X -; vmsrc/apple/sossys.pla: 0702: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossys.pla: 0703: RTS - RTS -; vmsrc/apple/sossys.pla: 0704: end -; vmsrc/apple/sossys.pla: 0705: // -; vmsrc/apple/sossys.pla: 0706: // Reloc internal data -; vmsrc/apple/sossys.pla: 0707: // -; vmsrc/apple/sossys.pla: 0708: //def reloc(modfix, modofst, bytecode, rld)#3 -; vmsrc/apple/sossys.pla: 0709: // word addr, fixup -; vmsrc/apple/sossys.pla: 0710: // while ^rld -; vmsrc/apple/sossys.pla: 0711: // if ^rld & $10 // EXTERN reference. -; vmsrc/apple/sossys.pla: 0712: // return rld, addr, fixup -; vmsrc/apple/sossys.pla: 0713: // fin -; vmsrc/apple/sossys.pla: 0714: // addr = rld=>1 + modfix -; vmsrc/apple/sossys.pla: 0715: // fixup = *addr + modofst -; vmsrc/apple/sossys.pla: 0716: // if uword_isge(fixup, bytecode) // Bytecode address. -; vmsrc/apple/sossys.pla: 0717: // return rld, addr, fixup -; vmsrc/apple/sossys.pla: 0718: // fin -; vmsrc/apple/sossys.pla: 0719: // *addr = fixup -; vmsrc/apple/sossys.pla: 0720: // rld = rld + 4 -; vmsrc/apple/sossys.pla: 0721: // loop -; vmsrc/apple/sossys.pla: 0722: // return rld, addr, fixup -; vmsrc/apple/sossys.pla: 0723: //end -; vmsrc/apple/sossys.pla: 0724: asm reloc(modfix, modofst, bytecode, rld)#3 -_A018 ; reloc() -; vmsrc/apple/sossys.pla: 0725: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0726: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0727: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0728: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0729: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0730: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0731: BEQ RLDEX ; END OF RLD - BEQ RLDEX ; END OF RLD -; vmsrc/apple/sossys.pla: 0732: PHA - PHA -; vmsrc/apple/sossys.pla: 0733: INY - INY -; vmsrc/apple/sossys.pla: 0734: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0735: INY - INY -; vmsrc/apple/sossys.pla: 0736: CLC - CLC -; vmsrc/apple/sossys.pla: 0737: ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX - ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX -; vmsrc/apple/sossys.pla: 0738: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0739: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0740: ADC ESTKH+3,X - ADC ESTKH+3,X -; vmsrc/apple/sossys.pla: 0741: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0742: PLA - PLA -; vmsrc/apple/sossys.pla: 0743: AND #$10 ; EXTERN REF - EXIT - AND #$10 ; EXTERN REF - EXIT -; vmsrc/apple/sossys.pla: 0744: BNE RLDEX - BNE RLDEX -; vmsrc/apple/sossys.pla: 0745: TAY ; FIXUP=*ADDR+MODOFST - TAY ; FIXUP=*ADDR+MODOFST -; vmsrc/apple/sossys.pla: 0746: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossys.pla: 0747: INY - INY -; vmsrc/apple/sossys.pla: 0748: CLC - CLC -; vmsrc/apple/sossys.pla: 0749: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/sossys.pla: 0750: STA TMPL - STA TMPL -; vmsrc/apple/sossys.pla: 0751: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossys.pla: 0752: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/sossys.pla: 0753: CMP ESTKH+1,X ; FIXUP >= BYTECODE? - CMP ESTKH+1,X ; FIXUP >= BYTECODE? -; vmsrc/apple/sossys.pla: 0754: BCC + - BCC + -; vmsrc/apple/sossys.pla: 0755: STA TMPH - STA TMPH -; vmsrc/apple/sossys.pla: 0756: BNE RLDEX ; YEP, EXIT - BNE RLDEX ; YEP, EXIT -; vmsrc/apple/sossys.pla: 0757: LDA TMPL - LDA TMPL -; vmsrc/apple/sossys.pla: 0758: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/sossys.pla: 0759: BCS RLDEX ; YEP, EXIT - BCS RLDEX ; YEP, EXIT -; vmsrc/apple/sossys.pla: 0760: LDA TMPH - LDA TMPH -; vmsrc/apple/sossys.pla: 0761: + STA (DST),Y ; *ADDR=FIXUP -+ STA (DST),Y ; *ADDR=FIXUP -; vmsrc/apple/sossys.pla: 0762: DEY - DEY -; vmsrc/apple/sossys.pla: 0763: LDA TMPL - LDA TMPL -; vmsrc/apple/sossys.pla: 0764: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0765: LDA SRCL ; NEXT ENTRY - LDA SRCL ; NEXT ENTRY -; vmsrc/apple/sossys.pla: 0766: ; CLC -; CLC -; vmsrc/apple/sossys.pla: 0767: ADC #$04 - ADC #$04 -; vmsrc/apple/sossys.pla: 0768: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0769: BCC - - BCC - -; vmsrc/apple/sossys.pla: 0770: INC SRCH - INC SRCH -; vmsrc/apple/sossys.pla: 0771: BNE - - BNE - -; vmsrc/apple/sossys.pla: 0772: RLDEX INX -RLDEX INX -; vmsrc/apple/sossys.pla: 0773: LDA TMPL - LDA TMPL -; vmsrc/apple/sossys.pla: 0774: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossys.pla: 0775: LDA TMPH - LDA TMPH -; vmsrc/apple/sossys.pla: 0776: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/sossys.pla: 0777: LDA DSTL - LDA DSTL -; vmsrc/apple/sossys.pla: 0778: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0779: LDA DSTH - LDA DSTH -; vmsrc/apple/sossys.pla: 0780: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0781: LDA SRCL - LDA SRCL -; vmsrc/apple/sossys.pla: 0782: STA ESTKL+2,X - STA ESTKL+2,X -; vmsrc/apple/sossys.pla: 0783: LDA SRCH - LDA SRCH -; vmsrc/apple/sossys.pla: 0784: STA ESTKH+2,X - STA ESTKH+2,X -; vmsrc/apple/sossys.pla: 0785: RTS - RTS -; vmsrc/apple/sossys.pla: 0786: end -; vmsrc/apple/sossys.pla: 0787: // -; vmsrc/apple/sossys.pla: 0788: // SOS routines -; vmsrc/apple/sossys.pla: 0789: // FILE I/O -; vmsrc/apple/sossys.pla: 0790: // -; vmsrc/apple/sossys.pla: 0791: def open(path)#1 - ; path -> [0] -_P027 ; open(path)#1() -_C000 ; open() - JSR INTERP -; vmsrc/apple/sossys.pla: 0792: byte params[7] - ; params -> [2] -; vmsrc/apple/sossys.pla: 0793: -; vmsrc/apple/sossys.pla: 0794: params.0 = 4 - !BYTE $58,$09,$01 ; ENTER 9,1 -; vmsrc/apple/sossys.pla: 0795: params:1 = path -; vmsrc/apple/sossys.pla: 0796: params.3 = 0 -; vmsrc/apple/sossys.pla: 0797: params:4 = 0 -; vmsrc/apple/sossys.pla: 0798: params.6 = 0 -; vmsrc/apple/sossys.pla: 0799: perr = syscall($C8, @params) -; vmsrc/apple/sossys.pla: 0800: 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 -_F062 !WORD _A000 - !BYTE $78 ; SAB _D034+0 -_F063 !WORD _D034+0 - !BYTE $64,$05 ; LLB [5] - !BYTE $5A,$09 ; LEAVE 9 -; vmsrc/apple/sossys.pla: 0801: end -; vmsrc/apple/sossys.pla: 0802: def close(refnum)#1 - ; refnum -> [0] -_P028 ; close(refnum)#1() -_C001 ; close() - JSR INTERP -; vmsrc/apple/sossys.pla: 0803: byte params[2] - ; params -> [2] -; vmsrc/apple/sossys.pla: 0804: -; vmsrc/apple/sossys.pla: 0805: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/sossys.pla: 0806: params.1 = refnum -; vmsrc/apple/sossys.pla: 0807: perr = syscall($CC, @params) -; vmsrc/apple/sossys.pla: 0808: 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 -_F064 !WORD _A000 - !BYTE $7C ; DAB _D034+0 -_F065 !WORD _D034+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossys.pla: 0809: end -; vmsrc/apple/sossys.pla: 0810: def read(refnum, buff, len)#1 - ; refnum -> [0] - ; buff -> [2] - ; len -> [4] -_P029 ; read(refnum, buff, len)#1() -_C002 ; read() - JSR INTERP -; vmsrc/apple/sossys.pla: 0811: byte params[8] - ; params -> [6] -; vmsrc/apple/sossys.pla: 0812: -; vmsrc/apple/sossys.pla: 0813: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; vmsrc/apple/sossys.pla: 0814: params.1 = refnum -; vmsrc/apple/sossys.pla: 0815: params:2 = buff -; vmsrc/apple/sossys.pla: 0816: params:4 = len -; vmsrc/apple/sossys.pla: 0817: params:6 = 0 -; vmsrc/apple/sossys.pla: 0818: perr = syscall($CA, @params) -; vmsrc/apple/sossys.pla: 0819: 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 -_F066 !WORD _A000 - !BYTE $78 ; SAB _D034+0 -_F067 !WORD _D034+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; vmsrc/apple/sossys.pla: 0820: end -; vmsrc/apple/sossys.pla: 0821: def write(refnum, buff, len)#1 - ; refnum -> [0] - ; buff -> [2] - ; len -> [4] -_P030 ; write(refnum, buff, len)#1() -_C003 ; write() - JSR INTERP -; vmsrc/apple/sossys.pla: 0822: byte params[6] - ; params -> [6] -; vmsrc/apple/sossys.pla: 0823: -; vmsrc/apple/sossys.pla: 0824: params.0 = 3 - !BYTE $58,$0C,$03 ; ENTER 12,3 -; vmsrc/apple/sossys.pla: 0825: params.1 = refnum -; vmsrc/apple/sossys.pla: 0826: params:2 = buff -; vmsrc/apple/sossys.pla: 0827: params:4 = len -; vmsrc/apple/sossys.pla: 0828: perr = syscall($CB, @params) -; vmsrc/apple/sossys.pla: 0829: 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 -_F068 !WORD _A000 - !BYTE $7C ; DAB _D034+0 -_F069 !WORD _D034+0 - !BYTE $5A,$0C ; LEAVE 12 -; vmsrc/apple/sossys.pla: 0830: end -; vmsrc/apple/sossys.pla: 0831: // -; vmsrc/apple/sossys.pla: 0832: // CONSOLE I/O -; vmsrc/apple/sossys.pla: 0833: // -; vmsrc/apple/sossys.pla: 0834: def dev_control(devnum, code, list)#1 - ; devnum -> [0] - ; code -> [2] - ; list -> [4] -_C004 ; dev_control() - JSR INTERP -; vmsrc/apple/sossys.pla: 0835: byte params[5] - ; params -> [6] -; vmsrc/apple/sossys.pla: 0836: -; vmsrc/apple/sossys.pla: 0837: params.0 = 3 - !BYTE $58,$0B,$03 ; ENTER 11,3 -; vmsrc/apple/sossys.pla: 0838: params.1 = devnum -; vmsrc/apple/sossys.pla: 0839: params.2 = code -; vmsrc/apple/sossys.pla: 0840: params:3 = list -; vmsrc/apple/sossys.pla: 0841: 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 -_F070 !WORD _A000 - !BYTE $5A,$0B ; LEAVE 11 -; vmsrc/apple/sossys.pla: 0842: end -; vmsrc/apple/sossys.pla: 0843: def dev_getnum(name)#1 - ; name -> [0] -_C005 ; dev_getnum() - JSR INTERP -; vmsrc/apple/sossys.pla: 0844: byte params[4] - ; params -> [2] -; vmsrc/apple/sossys.pla: 0845: -; vmsrc/apple/sossys.pla: 0846: params.0 = 2 - !BYTE $58,$06,$01 ; ENTER 6,1 -; vmsrc/apple/sossys.pla: 0847: params:1 = name -; vmsrc/apple/sossys.pla: 0848: params.3 = 0 -; vmsrc/apple/sossys.pla: 0849: syscall($84, @params) -; vmsrc/apple/sossys.pla: 0850: 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 -_F071 !WORD _A000 - !BYTE $30 ; DROP - !BYTE $64,$05 ; LLB [5] - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/sossys.pla: 0851: end -; vmsrc/apple/sossys.pla: 0852: def init_cons()#0 -_C006 ; init_cons() - JSR INTERP -; vmsrc/apple/sossys.pla: 0853: byte nlmode[2] - ; nlmode -> [0] -; vmsrc/apple/sossys.pla: 0854: -; vmsrc/apple/sossys.pla: 0855: refcons = open(@console) - !BYTE $58,$02,$00 ; ENTER 2,0 -; vmsrc/apple/sossys.pla: 0856: devcons = dev_getnum(@console) -; vmsrc/apple/sossys.pla: 0857: nlmode:0 = $0D80 -; vmsrc/apple/sossys.pla: 0858: //nlmode.0 = $80 -; vmsrc/apple/sossys.pla: 0859: //nlmode.1 = $0D -; vmsrc/apple/sossys.pla: 0860: dev_control(devcons, $02, @nlmode) -; vmsrc/apple/sossys.pla: 0861: write(refcons, @textmode, 3) -; vmsrc/apple/sossys.pla: 0862: end - !BYTE $26 ; LA _D041+0 -_F072 !WORD _D041+0 - !BYTE $54 ; CALL _C000 -_F073 !WORD _C000 - !BYTE $78 ; SAB _D037+0 -_F074 !WORD _D037+0 - !BYTE $26 ; LA _D041+0 -_F075 !WORD _D041+0 - !BYTE $54 ; CALL _C005 -_F076 !WORD _C005 - !BYTE $78 ; SAB _D038+0 -_F077 !WORD _D038+0 - !BYTE $2C,$80,$0D ; CW 3456 - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D038+0 -_F078 !WORD _D038+0 - !BYTE $04 ; CN 2 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C004 -_F079 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D037+0 -_F080 !WORD _D037+0 - !BYTE $26 ; LA _D042+0 -_F081 !WORD _D042+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C003 -_F082 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0863: // -; vmsrc/apple/sossys.pla: 0864: // MEMORY CALLS -; vmsrc/apple/sossys.pla: 0865: // -; vmsrc/apple/sossys.pla: 0866: def seg_find(search, pages, id)#3 - ; search -> [0] - ; pages -> [2] - ; id -> [4] -_C007 ; seg_find() - JSR INTERP -; vmsrc/apple/sossys.pla: 0867: byte params[10] - ; params -> [6] -; vmsrc/apple/sossys.pla: 0868: -; vmsrc/apple/sossys.pla: 0869: params.0 = 6 - !BYTE $58,$10,$03 ; ENTER 16,3 -; vmsrc/apple/sossys.pla: 0870: params.1 = search -; vmsrc/apple/sossys.pla: 0871: params.2 = id -; vmsrc/apple/sossys.pla: 0872: params:3 = pages -; vmsrc/apple/sossys.pla: 0873: params:5 = 0 -; vmsrc/apple/sossys.pla: 0874: params:7 = 0 -; vmsrc/apple/sossys.pla: 0875: params.9 = 0 -; vmsrc/apple/sossys.pla: 0876: perr = syscall($41, @params) -; vmsrc/apple/sossys.pla: 0877: 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 -_F083 !WORD _A000 - !BYTE $78 ; SAB _D034+0 -_F084 !WORD _D034+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: 0878: end -; vmsrc/apple/sossys.pla: 0879: def seg_release(segnum)#1 - ; segnum -> [0] -_C008 ; seg_release() - JSR INTERP -; vmsrc/apple/sossys.pla: 0880: byte params[2] - ; params -> [2] -; vmsrc/apple/sossys.pla: 0881: -; vmsrc/apple/sossys.pla: 0882: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/sossys.pla: 0883: params.1 = segnum -; vmsrc/apple/sossys.pla: 0884: perr = syscall($45, @params) -; vmsrc/apple/sossys.pla: 0885: 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 -_F085 !WORD _A000 - !BYTE $7C ; DAB _D034+0 -_F086 !WORD _D034+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossys.pla: 0886: end -; vmsrc/apple/sossys.pla: 0887: // -; vmsrc/apple/sossys.pla: 0888: // CONSOLE I/O -; vmsrc/apple/sossys.pla: 0889: // -; vmsrc/apple/sossys.pla: 0890: def cout(ch)#0 - ; ch -> [0] -_P003 ; cout(ch)#0() -_C009 ; cout() - JSR INTERP -; vmsrc/apple/sossys.pla: 0891: byte nc - ; nc -> [2] -; vmsrc/apple/sossys.pla: 0892: -; vmsrc/apple/sossys.pla: 0893: nc = 1 - !BYTE $58,$03,$01 ; ENTER 3,1 -; vmsrc/apple/sossys.pla: 0894: if ch == $0D -; vmsrc/apple/sossys.pla: 0895: ch = $0A0D -; vmsrc/apple/sossys.pla: 0896: nc = 2 -; vmsrc/apple/sossys.pla: 0897: 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: 0898: write(refcons, @ch, nc) -; vmsrc/apple/sossys.pla: 0899: end - !BYTE $68 ; LAB _D037+0 -_F087 !WORD _D037+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _C003 -_F088 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/sossys.pla: 0900: def crout()#0 -_P002 ; crout()#0() -_C010 ; crout() - JSR INTERP -; vmsrc/apple/sossys.pla: 0901: cout($0D) -; vmsrc/apple/sossys.pla: 0902: end - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _C009 -_F089 !WORD _C009 - !BYTE $5C ; RET -; vmsrc/apple/sossys.pla: 0903: def cin()#1 -_P008 ; cin()#1() -_C011 ; cin() - JSR INTERP -; vmsrc/apple/sossys.pla: 0904: byte ch - ; ch -> [0] -; vmsrc/apple/sossys.pla: 0905: read(refcons, @ch, 1) - !BYTE $58,$01,$00 ; ENTER 1,0 -; vmsrc/apple/sossys.pla: 0906: return ch & $7F - !BYTE $68 ; LAB _D037+0 -_F090 !WORD _D037+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C002 -_F091 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/sossys.pla: 0907: end -; vmsrc/apple/sossys.pla: 0908: def prstr(str)#0 - ; str -> [0] -_P004 ; prstr(str)#0() -_C012 ; prstr() - JSR INTERP -; vmsrc/apple/sossys.pla: 0909: write(refcons, str + 1, ^str) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossys.pla: 0910: if str->[^str] == $0D -; vmsrc/apple/sossys.pla: 0911: cout($0A) -; vmsrc/apple/sossys.pla: 0912: fin - !BYTE $68 ; LAB _D037+0 -_F092 !WORD _D037+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C003 -_F093 !WORD _C003 - !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 _C009 -_F094 !WORD _C009 -_B003 -_B004 -; vmsrc/apple/sossys.pla: 0913: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0914: def print(i)#0 - ; i -> [0] -_P005 ; print(i)#0() -_C013 ; print() - JSR INTERP -; vmsrc/apple/sossys.pla: 0915: 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 _C009 -_F095 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $76,$00 ; SLW [0] -_B005 -_B006 -; vmsrc/apple/sossys.pla: 0916: 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 _C013 -_F096 !WORD _C013 -_B007 -_B008 -; vmsrc/apple/sossys.pla: 0917: cout(i % 10 + '0') -; vmsrc/apple/sossys.pla: 0918: end - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $8A ; MOD - !BYTE $38,$30 ; ADDI 48 - !BYTE $54 ; CALL _C009 -_F097 !WORD _C009 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0919: def rdstr(prompt)#1 - ; prompt -> [0] -_P009 ; rdstr(prompt)#1() -_C014 ; rdstr() - JSR INTERP -; vmsrc/apple/sossys.pla: 0920: cout(prompt) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossys.pla: 0921: ^instr = read(refcons, instr+1, 128) -; vmsrc/apple/sossys.pla: 0922: if instr->[^instr] == $0D -; vmsrc/apple/sossys.pla: 0923: ^instr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F098 !WORD _C009 - !BYTE $68 ; LAB _D037+0 -_F099 !WORD _D037+0 - !BYTE $2C,$21,$A0 ; CW 40993 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C002 -_F100 !WORD _C002 - !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: 0924: fin - !BYTE $78,$20,$A0 ; SAB 40992 -_B009 -_B010 -; vmsrc/apple/sossys.pla: 0925: crout -; vmsrc/apple/sossys.pla: 0926: return instr - !BYTE $54 ; CALL _C010 -_F101 !WORD _C010 - !BYTE $2C,$20,$A0 ; CW 40992 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0927: end -; vmsrc/apple/sossys.pla: 0928: def prbyte(v)#0 - ; v -> [0] -_P006 ; prbyte(v)#0() -_C015 ; prbyte() - JSR INTERP -; vmsrc/apple/sossys.pla: 0929: cout(hexchar[(v >> 4) & $0F]) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossys.pla: 0930: cout(hexchar[v & $0F]) -; vmsrc/apple/sossys.pla: 0931: end - !BYTE $26 ; LA _D039+0 -_F102 !WORD _D039+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 _C009 -_F103 !WORD _C009 - !BYTE $26 ; LA _D039+0 -_F104 !WORD _D039+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _C009 -_F105 !WORD _C009 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0932: def prword(v)#0 - ; v -> [0] -_P007 ; prword(v)#0() -_C016 ; prword() - JSR INTERP -; vmsrc/apple/sossys.pla: 0933: prbyte(v >> 8) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossys.pla: 0934: prbyte(v) -; vmsrc/apple/sossys.pla: 0935: end - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C015 -_F106 !WORD _C015 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C015 -_F107 !WORD _C015 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0936: // -; vmsrc/apple/sossys.pla: 0937: // Heap routines. -; vmsrc/apple/sossys.pla: 0938: // -; vmsrc/apple/sossys.pla: 0939: def availheap()#1 -_P017 ; availheap()#1() -_C017 ; availheap() - JSR INTERP -; vmsrc/apple/sossys.pla: 0940: byte fp - ; fp -> [0] -; vmsrc/apple/sossys.pla: 0941: return @fp - heap - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D077+0 -_F108 !WORD _D077+0 - !BYTE $84 ; SUB - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/sossys.pla: 0942: end -; vmsrc/apple/sossys.pla: 0943: def allocheap(size)#1 - ; size -> [0] -_P014 ; allocheap(size)#1() -_C018 ; allocheap() - JSR INTERP -; vmsrc/apple/sossys.pla: 0944: word addr - ; addr -> [2] -; vmsrc/apple/sossys.pla: 0945: addr = heap - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/sossys.pla: 0946: heap = heap + size -; vmsrc/apple/sossys.pla: 0947: if uword_isge(heap, @addr) -; vmsrc/apple/sossys.pla: 0948: heap = addr -; vmsrc/apple/sossys.pla: 0949: return 0 - !BYTE $6A ; LAW _D077+0 -_F109 !WORD _D077+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D077+0 -_F110 !WORD _D077+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D077+0 -_F111 !WORD _D077+0 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A006 -_F112 !WORD _A006 - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D077+0 -_F113 !WORD _D077+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossys.pla: 0950: fin -_B011 -_B012 -; vmsrc/apple/sossys.pla: 0951: return addr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossys.pla: 0952: end -; vmsrc/apple/sossys.pla: 0953: def allocalignheap(size, pow2, freeaddr)#1 - ; size -> [0] - ; pow2 -> [2] - ; freeaddr -> [4] -_P015 ; allocalignheap(size, pow2, freeaddr)#1() -_C019 ; allocalignheap() - JSR INTERP -; vmsrc/apple/sossys.pla: 0954: word align, addr - ; align -> [6] - ; addr -> [8] -; vmsrc/apple/sossys.pla: 0955: if freeaddr - !BYTE $58,$0A,$03 ; ENTER 10,3 -; vmsrc/apple/sossys.pla: 0956: *freeaddr = heap -; vmsrc/apple/sossys.pla: 0957: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $6A ; LAW _D077+0 -_F114 !WORD _D077+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B013 -_B014 -; vmsrc/apple/sossys.pla: 0958: align = (1 << pow2) - 1 -; vmsrc/apple/sossys.pla: 0959: addr = (heap | align) + 1 -; vmsrc/apple/sossys.pla: 0960: heap = addr + size -; vmsrc/apple/sossys.pla: 0961: if uword_isge(heap, @addr) -; vmsrc/apple/sossys.pla: 0962: 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 _D077+0 -_F115 !WORD _D077+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 _D077+0 -_F116 !WORD _D077+0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A006 -_F117 !WORD _A006 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/sossys.pla: 0963: fin -_B015 -_B016 -; vmsrc/apple/sossys.pla: 0964: return addr - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/sossys.pla: 0965: end -; vmsrc/apple/sossys.pla: 0966: def markheap()#1 -_P013 ; markheap()#1() -_C020 ; markheap() - JSR INTERP -; vmsrc/apple/sossys.pla: 0967: return heap - !BYTE $6A ; LAW _D077+0 -_F118 !WORD _D077+0 - !BYTE $5C ; RET -; vmsrc/apple/sossys.pla: 0968: end -; vmsrc/apple/sossys.pla: 0969: def releaseheap(newheap)#1 - ; newheap -> [0] -_P016 ; releaseheap(newheap)#1() -_C021 ; releaseheap() - JSR INTERP -; vmsrc/apple/sossys.pla: 0970: heap = newheap - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossys.pla: 0971: return @newheap - heap - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D077+0 -_F119 !WORD _D077+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D077+0 -_F120 !WORD _D077+0 - !BYTE $84 ; SUB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0972: end -; vmsrc/apple/sossys.pla: 0973: // -; vmsrc/apple/sossys.pla: 0974: // Symbol table routines. -; vmsrc/apple/sossys.pla: 0975: // -; vmsrc/apple/sossys.pla: 0976: def addsym(sym, addr)#0 - ; sym -> [0] - ; addr -> [2] -_C022 ; addsym() - JSR INTERP -; vmsrc/apple/sossys.pla: 0977: while ^sym & $80 - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -_B017 -; vmsrc/apple/sossys.pla: 0978: xpokeb(symtbl.0, lastsym, ^sym) -; vmsrc/apple/sossys.pla: 0979: lastsym = lastsym + 1 -; vmsrc/apple/sossys.pla: 0980: sym = sym + 1 -; vmsrc/apple/sossys.pla: 0981: loop - !BYTE $68 ; LAB _D081+0 -_F121 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F122 !WORD _D082+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A005 -_F123 !WORD _A005 - !BYTE $6A ; LAW _D082+0 -_F124 !WORD _D082+0 - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D082+0 -_F125 !WORD _D082+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: 0982: xpokeb(symtbl.0, lastsym, ^sym) -; vmsrc/apple/sossys.pla: 0983: xpokeb(symtbl.0, lastsym + 1, addr.0) -; vmsrc/apple/sossys.pla: 0984: xpokeb(symtbl.0, lastsym + 2, addr.1) -; vmsrc/apple/sossys.pla: 0985: xpokeb(symtbl.0, lastsym + 3, 0) -; vmsrc/apple/sossys.pla: 0986: lastsym = lastsym + 3 -; vmsrc/apple/sossys.pla: 0987: end - !BYTE $68 ; LAB _D081+0 -_F126 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F127 !WORD _D082+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A005 -_F128 !WORD _A005 - !BYTE $68 ; LAB _D081+0 -_F129 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F130 !WORD _D082+0 - !BYTE $8C ; INCR - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _A005 -_F131 !WORD _A005 - !BYTE $68 ; LAB _D081+0 -_F132 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F133 !WORD _D082+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _A005 -_F134 !WORD _A005 - !BYTE $68 ; LAB _D081+0 -_F135 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F136 !WORD _D082+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A005 -_F137 !WORD _A005 - !BYTE $6A ; LAW _D082+0 -_F138 !WORD _D082+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D082+0 -_F139 !WORD _D082+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossys.pla: 0988: // -; vmsrc/apple/sossys.pla: 0989: // String routines. -; vmsrc/apple/sossys.pla: 0990: // -; vmsrc/apple/sossys.pla: 0991: def strcpy(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P011 ; strcpy(dst, src)#1() -_C023 ; strcpy() - JSR INTERP -; vmsrc/apple/sossys.pla: 0992: memcpy(dst+1, src+1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/sossys.pla: 0993: ^dst = ^src -; vmsrc/apple/sossys.pla: 0994: 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 -_F140 !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: 0995: end -; vmsrc/apple/sossys.pla: 0996: def strcat(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P012 ; strcat(dst, src)#1() -_C024 ; strcat() - JSR INTERP -; vmsrc/apple/sossys.pla: 0997: memcpy(dst + ^dst + 1, src + 1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/sossys.pla: 0998: ^dst = ^dst + ^src -; vmsrc/apple/sossys.pla: 0999: 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 -_F141 !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: 1000: end -; vmsrc/apple/sossys.pla: 1001: // -; vmsrc/apple/sossys.pla: 1002: // Module routines. -; vmsrc/apple/sossys.pla: 1003: // -; vmsrc/apple/sossys.pla: 1004: def lookupextern(esd, index)#1 - ; esd -> [0] - ; index -> [2] -_C025 ; lookupextern() - JSR INTERP -; vmsrc/apple/sossys.pla: 1005: word sym, addr - ; sym -> [4] - ; addr -> [6] -; vmsrc/apple/sossys.pla: 1006: byte str[33] - ; str -> [8] -; vmsrc/apple/sossys.pla: 1007: sym = lookupidx(esd, index) - !BYTE $58,$29,$02 ; ENTER 41,2 -; vmsrc/apple/sossys.pla: 1008: if sym -; vmsrc/apple/sossys.pla: 1009: addr = lookuptbl(sym, symtbl) -; vmsrc/apple/sossys.pla: 1010: if !addr -; vmsrc/apple/sossys.pla: 1011: perr = $81 -; vmsrc/apple/sossys.pla: 1012: dcitos(sym, @str) -; vmsrc/apple/sossys.pla: 1013: cout('?'); prstr(@str); crout -; vmsrc/apple/sossys.pla: 1014: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A016 -_F142 !WORD _A016 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D081+0 -_F143 !WORD _D081+0 - !BYTE $54 ; CALL _A015 -_F144 !WORD _A015 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B022 - !WORD _B022-* - !BYTE $2A,$81 ; CB 129 - !BYTE $78 ; SAB _D034+0 -_F145 !WORD _D034+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A012 -_F146 !WORD _A012 - !BYTE $30 ; DROP - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _C009 -_F147 !WORD _C009 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _C012 -_F148 !WORD _C012 - !BYTE $54 ; CALL _C010 -_F149 !WORD _C010 -_B022 -_B023 -; vmsrc/apple/sossys.pla: 1015: return addr - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/sossys.pla: 1016: fin -_B020 -_B021 -; vmsrc/apple/sossys.pla: 1017: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/sossys.pla: 1018: end -; vmsrc/apple/sossys.pla: 1019: def adddef(ext, addr, deflast)#1 - ; ext -> [0] - ; addr -> [2] - ; deflast -> [4] -_C026 ; adddef() - JSR INTERP -; vmsrc/apple/sossys.pla: 1020: word preventry, defentry, defsize - ; preventry -> [6] - ; defentry -> [8] - ; defsize -> [10] -; vmsrc/apple/sossys.pla: 1021: defentry = *deflast - !BYTE $58,$0C,$03 ; ENTER 12,3 -; vmsrc/apple/sossys.pla: 1022: *deflast = defentry + t_defentry -; vmsrc/apple/sossys.pla: 1023: defentry->interpjsr = $20 // JSR -; vmsrc/apple/sossys.pla: 1024: defentry=>interpaddr = *xinterp // XINTERP -; vmsrc/apple/sossys.pla: 1025: defentry=>bytecodeaddr = addr -; vmsrc/apple/sossys.pla: 1026: defentry->bytecodexbyte = ext -; vmsrc/apple/sossys.pla: 1027: defentry->t_defentry = 0 -; vmsrc/apple/sossys.pla: 1028: 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: 1029: end -; vmsrc/apple/sossys.pla: 1030: def loadmod(mod)#1 - ; mod -> [0] -_C027 ; loadmod() - JSR INTERP -; vmsrc/apple/sossys.pla: 1031: 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: 1032: word addr, defaddr, modaddr, modfix, modofst, modend - ; addr -> [20] - ; defaddr -> [22] - ; modaddr -> [24] - ; modfix -> [26] - ; modofst -> [28] - ; modend -> [30] -; vmsrc/apple/sossys.pla: 1033: word deftbl, deflast, codeseg - ; deftbl -> [32] - ; deflast -> [34] - ; codeseg -> [36] -; vmsrc/apple/sossys.pla: 1034: word moddep, rld, esd, sym - ; moddep -> [38] - ; rld -> [40] - ; esd -> [42] - ; sym -> [44] -; vmsrc/apple/sossys.pla: 1035: byte lerr, defext, fileinfo[], str[16], filename[33] - ; lerr -> [46] - ; defext -> [47] - ; fileinfo -> [48] - ; str -> [48] - ; filename -> [64] -; vmsrc/apple/sossys.pla: 1036: byte header[128] - ; header -> [97] -; vmsrc/apple/sossys.pla: 1037: lerr = 0 - !BYTE $58,$E1,$01 ; ENTER 225,1 -; vmsrc/apple/sossys.pla: 1038: // -; vmsrc/apple/sossys.pla: 1039: // Read the RELocatable module header (first 128 bytes) -; vmsrc/apple/sossys.pla: 1040: // -; vmsrc/apple/sossys.pla: 1041: dcitos(mod, @filename) -; vmsrc/apple/sossys.pla: 1042: refnum = open(@filename) -; vmsrc/apple/sossys.pla: 1043: if !refnum and filename < 16 -; vmsrc/apple/sossys.pla: 1044: // -; vmsrc/apple/sossys.pla: 1045: // Try system path -; vmsrc/apple/sossys.pla: 1046: // -; vmsrc/apple/sossys.pla: 1047: refnum = open(strcpy(@filename,strcat(strcpy(@header, @sysmods), @filename))) -; vmsrc/apple/sossys.pla: 1048: fin - !BYTE $00 ; CN 0 - !BYTE $74,$2E ; SLB [46] - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$40 ; LLA [64] - !BYTE $54 ; CALL _A012 -_F150 !WORD _A012 - !BYTE $30 ; DROP - !BYTE $28,$40 ; LLA [64] - !BYTE $54 ; CALL _C000 -_F151 !WORD _C000 - !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 _D074+0 -_F152 !WORD _D074+0 - !BYTE $54 ; CALL _C023 -_F153 !WORD _C023 - !BYTE $28,$40 ; LLA [64] - !BYTE $54 ; CALL _C024 -_F154 !WORD _C024 - !BYTE $54 ; CALL _C023 -_F155 !WORD _C023 - !BYTE $54 ; CALL _C000 -_F156 !WORD _C000 - !BYTE $76,$02 ; SLW [2] -_B025 -_B026 -; vmsrc/apple/sossys.pla: 1049: if refnum -; vmsrc/apple/sossys.pla: 1050: header.0 = 3 -; vmsrc/apple/sossys.pla: 1051: header:1 = @filename -; vmsrc/apple/sossys.pla: 1052: header:3 = @fileinfo -; vmsrc/apple/sossys.pla: 1053: header.5 = 2 -; vmsrc/apple/sossys.pla: 1054: if not syscall($C4, @header) and fileinfo.1 <> $FE // Make sure it's a REL module -; vmsrc/apple/sossys.pla: 1055: close(refnum) -; vmsrc/apple/sossys.pla: 1056: perr = $4A // Incompatible type -; vmsrc/apple/sossys.pla: 1057: 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 -_F157 !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 _C001 -_F158 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $2A,$4A ; CB 74 - !BYTE $7C ; DAB _D034+0 -_F159 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$E1 ; LEAVE 225 -; vmsrc/apple/sossys.pla: 1058: fin -_B030 -_B031 -; vmsrc/apple/sossys.pla: 1059: rdlen = read(refnum, @header, 128) -; vmsrc/apple/sossys.pla: 1060: modsize = header:0 -; vmsrc/apple/sossys.pla: 1061: moddep = @header.1 -; vmsrc/apple/sossys.pla: 1062: defofst = modsize + RELADDR -; vmsrc/apple/sossys.pla: 1063: defext = 0 -; vmsrc/apple/sossys.pla: 1064: init = 0 -; vmsrc/apple/sossys.pla: 1065: if rdlen > 4 and header:2 == $6502 // magic number -; vmsrc/apple/sossys.pla: 1066: // -; vmsrc/apple/sossys.pla: 1067: // This is an EXTended RELocatable (data+bytecode) module. -; vmsrc/apple/sossys.pla: 1068: // -; vmsrc/apple/sossys.pla: 1069: systemflags = header.4 | systemflags -; vmsrc/apple/sossys.pla: 1070: defofst = header:6 -; vmsrc/apple/sossys.pla: 1071: defcnt = header:8 -; vmsrc/apple/sossys.pla: 1072: init = header:10 -; vmsrc/apple/sossys.pla: 1073: moddep = @header.12 -; vmsrc/apple/sossys.pla: 1074: // -; vmsrc/apple/sossys.pla: 1075: // Load module dependencies. -; vmsrc/apple/sossys.pla: 1076: // -; vmsrc/apple/sossys.pla: 1077: while ^moddep - !BYTE $66,$02 ; LLW [2] - !BYTE $28,$61 ; LLA [97] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C002 -_F160 !WORD _C002 - !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 _D076+0 -_F161 !WORD _D076+0 - !BYTE $96 ; OR - !BYTE $7A ; SAW _D076+0 -_F162 !WORD _D076+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: 1078: if !lookuptbl(moddep, symtbl) -; vmsrc/apple/sossys.pla: 1079: if refnum -; vmsrc/apple/sossys.pla: 1080: close(refnum) -; vmsrc/apple/sossys.pla: 1081: refnum = 0 -; vmsrc/apple/sossys.pla: 1082: fin - !BYTE $66,$26 ; LLW [38] - !BYTE $6A ; LAW _D081+0 -_F163 !WORD _D081+0 - !BYTE $54 ; CALL _A015 -_F164 !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 _C001 -_F165 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] -_B040 -_B041 -; vmsrc/apple/sossys.pla: 1083: if loadmod(moddep) < 0 -; vmsrc/apple/sossys.pla: 1084: return -perr - !BYTE $66,$26 ; LLW [38] - !BYTE $54 ; CALL _C027 -_F166 !WORD _C027 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $68 ; LAB _D034+0 -_F167 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$E1 ; LEAVE 225 -; vmsrc/apple/sossys.pla: 1085: fin -_B042 -_B043 -; vmsrc/apple/sossys.pla: 1086: fin -_B038 -_B039 -; vmsrc/apple/sossys.pla: 1087: moddep = moddep + dcitos(moddep, @str) -; vmsrc/apple/sossys.pla: 1088: loop - !BYTE $66,$26 ; LLW [38] - !BYTE $34 ; DUP - !BYTE $28,$30 ; LLA [48] - !BYTE $54 ; CALL _A012 -_F168 !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: 1089: // -; vmsrc/apple/sossys.pla: 1090: // Init def table. -; vmsrc/apple/sossys.pla: 1091: // -; vmsrc/apple/sossys.pla: 1092: deftbl = allocheap(defcnt * t_defentry + 1) -; vmsrc/apple/sossys.pla: 1093: deflast = deftbl -; vmsrc/apple/sossys.pla: 1094: ^deflast = 0 -; vmsrc/apple/sossys.pla: 1095: if !refnum -; vmsrc/apple/sossys.pla: 1096: // -; vmsrc/apple/sossys.pla: 1097: // Reset read pointer. -; vmsrc/apple/sossys.pla: 1098: // -; vmsrc/apple/sossys.pla: 1099: refnum = open(@filename) -; vmsrc/apple/sossys.pla: 1100: rdlen = read(refnum, @header, 128) -; vmsrc/apple/sossys.pla: 1101: fin - !BYTE $66,$0E ; LLW [14] - !BYTE $0C ; CN 6 - !BYTE $86 ; MUL - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C018 -_F169 !WORD _C018 - !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 _C000 -_F170 !WORD _C000 - !BYTE $6E,$02 ; DLW [2] - !BYTE $28,$61 ; LLA [97] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C002 -_F171 !WORD _C002 - !BYTE $76,$04 ; SLW [4] -_B044 -_B045 -; vmsrc/apple/sossys.pla: 1102: fin -_B033 -_B034 -; vmsrc/apple/sossys.pla: 1103: // -; vmsrc/apple/sossys.pla: 1104: // Alloc heap space for relocated module (data + bytecode). -; vmsrc/apple/sossys.pla: 1105: // -; vmsrc/apple/sossys.pla: 1106: moddep++ - !BYTE $66,$26 ; LLW [38] - !BYTE $8C ; INCR -; vmsrc/apple/sossys.pla: 1107: modfix = moddep - @header.2 // Adjust to skip header -; vmsrc/apple/sossys.pla: 1108: modsize = modsize - modfix -; vmsrc/apple/sossys.pla: 1109: rdlen = rdlen - modfix - 2 -; vmsrc/apple/sossys.pla: 1110: modaddr = allocheap(modsize) -; vmsrc/apple/sossys.pla: 1111: memcpy(modaddr, moddep, rdlen) -; vmsrc/apple/sossys.pla: 1112: // -; vmsrc/apple/sossys.pla: 1113: // Read in remainder of module into memory for fixups. -; vmsrc/apple/sossys.pla: 1114: // -; vmsrc/apple/sossys.pla: 1115: addr = modaddr -; vmsrc/apple/sossys.pla: 1116: 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 _C018 -_F172 !WORD _C018 - !BYTE $6E,$18 ; DLW [24] - !BYTE $66,$26 ; LLW [38] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A003 -_F173 !WORD _A003 - !BYTE $66,$18 ; LLW [24] - !BYTE $76,$14 ; SLW [20] -_B047 -; vmsrc/apple/sossys.pla: 1117: addr = addr + rdlen -; vmsrc/apple/sossys.pla: 1118: rdlen = read(refnum, addr, 4096) -; vmsrc/apple/sossys.pla: 1119: 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 _C002 -_F174 !WORD _C002 - !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: 1120: close(refnum) -; vmsrc/apple/sossys.pla: 1121: // -; vmsrc/apple/sossys.pla: 1122: // Add module to symbol table. -; vmsrc/apple/sossys.pla: 1123: // -; vmsrc/apple/sossys.pla: 1124: addsym(mod, modaddr) -; vmsrc/apple/sossys.pla: 1125: // -; vmsrc/apple/sossys.pla: 1126: // Apply all fixups and symbol import/export. -; vmsrc/apple/sossys.pla: 1127: // -; vmsrc/apple/sossys.pla: 1128: modfix = modaddr - modfix -; vmsrc/apple/sossys.pla: 1129: modofst = modfix - RELADDR -; vmsrc/apple/sossys.pla: 1130: modend = modaddr + modsize -; vmsrc/apple/sossys.pla: 1131: bytecode = defofst + modofst -; vmsrc/apple/sossys.pla: 1132: rld = modend // Re-Locatable Directory -; vmsrc/apple/sossys.pla: 1133: esd = rld // Extern+Entry Symbol Directory -; vmsrc/apple/sossys.pla: 1134: while ^esd // Scan to end of ESD - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C001 -_F175 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C022 -_F176 !WORD _C022 - !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: 1135: esd = esd + 4 -; vmsrc/apple/sossys.pla: 1136: 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: 1137: esd++ - !BYTE $66,$2A ; LLW [42] - !BYTE $8C ; INCR -; vmsrc/apple/sossys.pla: 1138: if defcnt -; vmsrc/apple/sossys.pla: 1139: // -; vmsrc/apple/sossys.pla: 1140: // Locate bytecode defs in allocated segment. -; vmsrc/apple/sossys.pla: 1141: // -; vmsrc/apple/sossys.pla: 1142: modseg[modid], codeseg, drop = seg_find($00, (rld - bytecode + 255) >> 8, modid + $12) -; vmsrc/apple/sossys.pla: 1143: if perr -; vmsrc/apple/sossys.pla: 1144: 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 _D080+0 -_F177 !WORD _D080+0 - !BYTE $38,$12 ; ADDI 18 - !BYTE $54 ; CALL _C007 -_F178 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $76,$24 ; SLW [36] - !BYTE $26 ; LA _D079+0 -_F179 !WORD _D079+0 - !BYTE $B4 ; ADDAB _D080+0 -_F180 !WORD _D080+0 - !BYTE $70 ; SB - !BYTE $68 ; LAB _D034+0 -_F181 !WORD _D034+0 - !BYTE $4C ; BRFLS _B054 - !WORD _B054-* - !BYTE $68 ; LAB _D034+0 -_F182 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$E1 ; LEAVE 225 -; vmsrc/apple/sossys.pla: 1145: fin -_B054 -_B055 -; vmsrc/apple/sossys.pla: 1146: modid++ - !BYTE $68 ; LAB _D080+0 -_F183 !WORD _D080+0 - !BYTE $8C ; INCR -; vmsrc/apple/sossys.pla: 1147: defext = codeseg.0 + $7F // (codeseg.0 | $80) - 1 -; vmsrc/apple/sossys.pla: 1148: defaddr = (codeseg & $FF00) + $6000 -; vmsrc/apple/sossys.pla: 1149: codefix = defaddr - bytecode -; vmsrc/apple/sossys.pla: 1150: defofst = defaddr - defofst -; vmsrc/apple/sossys.pla: 1151: fin - !BYTE $78 ; SAB _D080+0 -_F184 !WORD _D080+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: 1152: // -; vmsrc/apple/sossys.pla: 1153: // Run through the DeFinition Dictionary. -; vmsrc/apple/sossys.pla: 1154: // -; vmsrc/apple/sossys.pla: 1155: while ^rld == $02 - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -_B056 -; vmsrc/apple/sossys.pla: 1156: // -; vmsrc/apple/sossys.pla: 1157: // This is a bytcode def entry - add it to the def directory. -; vmsrc/apple/sossys.pla: 1158: // -; vmsrc/apple/sossys.pla: 1159: adddef(defext, rld=>1 + defofst, @deflast) -; vmsrc/apple/sossys.pla: 1160: rld = rld + 4 -; vmsrc/apple/sossys.pla: 1161: 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 _C026 -_F185 !WORD _C026 - !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: 1162: // -; vmsrc/apple/sossys.pla: 1163: // Run through the Re-Location Dictionary. -; vmsrc/apple/sossys.pla: 1164: // -; vmsrc/apple/sossys.pla: 1165: while ^rld - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -_B059 -; vmsrc/apple/sossys.pla: 1166: rld, addr, fixup = reloc(modfix, modofst, bytecode, rld) -; vmsrc/apple/sossys.pla: 1167: if ^rld -; vmsrc/apple/sossys.pla: 1168: *addr = ^rld & $10 ?? *addr + lookupextern(esd, rld->3) :: lookupdef(fixup + codefix, deftbl) -; vmsrc/apple/sossys.pla: 1169: rld = rld + 4 -; vmsrc/apple/sossys.pla: 1170: 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 -_F186 !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 _C025 -_F187 !WORD _C025 - !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 -_F188 !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: 1171: loop -_B061 - !BYTE $66,$28 ; LLW [40] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B059 - !WORD _B059-* -_B060 -; vmsrc/apple/sossys.pla: 1172: // -; vmsrc/apple/sossys.pla: 1173: // Run through the External/Entry Symbol Directory. -; vmsrc/apple/sossys.pla: 1174: // -; vmsrc/apple/sossys.pla: 1175: while ^esd - !BYTE $50 ; BRNCH _B068 - !WORD _B068-* -_B066 -; vmsrc/apple/sossys.pla: 1176: sym = esd -; vmsrc/apple/sossys.pla: 1177: esd = esd + dcitos(esd, @str) -; vmsrc/apple/sossys.pla: 1178: if ^esd & $08 -; vmsrc/apple/sossys.pla: 1179: // -; vmsrc/apple/sossys.pla: 1180: // EXPORT symbol - add it to the global symbol table. -; vmsrc/apple/sossys.pla: 1181: // -; vmsrc/apple/sossys.pla: 1182: addr = esd=>1 + modofst -; vmsrc/apple/sossys.pla: 1183: if uword_isge(addr, bytecode) -; vmsrc/apple/sossys.pla: 1184: // -; vmsrc/apple/sossys.pla: 1185: // Use the def directory address for bytecode. -; vmsrc/apple/sossys.pla: 1186: // -; vmsrc/apple/sossys.pla: 1187: addr = lookupdef(addr + codefix, deftbl) -; vmsrc/apple/sossys.pla: 1188: 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 -_F189 !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 -_F190 !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 -_F191 !WORD _A017 - !BYTE $76,$14 ; SLW [20] -_B071 -_B072 -; vmsrc/apple/sossys.pla: 1189: addsym(sym, addr) -; vmsrc/apple/sossys.pla: 1190: fin - !BYTE $66,$2C ; LLW [44] - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C022 -_F192 !WORD _C022 -_B069 -_B070 -; vmsrc/apple/sossys.pla: 1191: esd = esd + 3 -; vmsrc/apple/sossys.pla: 1192: 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: 1193: if defext -; vmsrc/apple/sossys.pla: 1194: // -; vmsrc/apple/sossys.pla: 1195: // Copy bytecode to code segment. -; vmsrc/apple/sossys.pla: 1196: // -; vmsrc/apple/sossys.pla: 1197: memxcpy(codeseg, bytecode, modsize - (bytecode - modaddr)) -; vmsrc/apple/sossys.pla: 1198: 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 -_F193 !WORD _A004 -_B073 -_B074 -; vmsrc/apple/sossys.pla: 1199: else - !BYTE $50 ; BRNCH _B028 - !WORD _B028-* -_B027 -; vmsrc/apple/sossys.pla: 1200: lerr = $46 -; vmsrc/apple/sossys.pla: 1201: fin - !BYTE $2A,$46 ; CB 70 - !BYTE $74,$2E ; SLB [46] -_B028 -; vmsrc/apple/sossys.pla: 1202: if lerr -; vmsrc/apple/sossys.pla: 1203: 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: 1204: fin -_B075 -_B076 -; vmsrc/apple/sossys.pla: 1205: // -; vmsrc/apple/sossys.pla: 1206: // Free up end-of-module main memory. -; vmsrc/apple/sossys.pla: 1207: // -; vmsrc/apple/sossys.pla: 1208: releaseheap(bytecode) -; vmsrc/apple/sossys.pla: 1209: // -; vmsrc/apple/sossys.pla: 1210: // Call init routine if it exists. -; vmsrc/apple/sossys.pla: 1211: // -; vmsrc/apple/sossys.pla: 1212: initcode = 0 -; vmsrc/apple/sossys.pla: 1213: if init -; vmsrc/apple/sossys.pla: 1214: initcode = adddef(defext, init + defofst, @deflast)() -; vmsrc/apple/sossys.pla: 1215: if initcode < 0 -; vmsrc/apple/sossys.pla: 1216: perr = -initcode -; vmsrc/apple/sossys.pla: 1217: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C021 -_F194 !WORD _C021 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !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 _C026 -_F195 !WORD _C026 - !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 _D034+0 -_F196 !WORD _D034+0 -_B079 -_B080 -; vmsrc/apple/sossys.pla: 1218: fin -_B077 -_B078 -; vmsrc/apple/sossys.pla: 1219: return initcode - !BYTE $66,$12 ; LLW [18] - !BYTE $5A,$E1 ; LEAVE 225 -; vmsrc/apple/sossys.pla: 1220: end -; vmsrc/apple/sossys.pla: 1221: def execmod(modfile)#1 - ; modfile -> [0] -_P026 ; execmod(modfile)#1() -_C028 ; execmod() - JSR INTERP -; vmsrc/apple/sossys.pla: 1222: byte moddci[17] - ; moddci -> [2] -; vmsrc/apple/sossys.pla: 1223: word saveheap, savesym, saveflags - ; saveheap -> [19] - ; savesym -> [21] - ; saveflags -> [23] -; vmsrc/apple/sossys.pla: 1224: -; vmsrc/apple/sossys.pla: 1225: perr = 1 - !BYTE $58,$19,$01 ; ENTER 25,1 -; vmsrc/apple/sossys.pla: 1226: if stodci(modfile, @moddci) -; vmsrc/apple/sossys.pla: 1227: saveheap = heap -; vmsrc/apple/sossys.pla: 1228: savesym = lastsym -; vmsrc/apple/sossys.pla: 1229: saveflags = systemflags -; vmsrc/apple/sossys.pla: 1230: if loadmod(@moddci) < modkeep -; vmsrc/apple/sossys.pla: 1231: lastsym = savesym -; vmsrc/apple/sossys.pla: 1232: heap = saveheap -; vmsrc/apple/sossys.pla: 1233: while modid - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D034+0 -_F197 !WORD _D034+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A013 -_F198 !WORD _A013 - !BYTE $4C ; BRFLS _B081 - !WORD _B081-* - !BYTE $6A ; LAW _D077+0 -_F199 !WORD _D077+0 - !BYTE $76,$13 ; SLW [19] - !BYTE $6A ; LAW _D082+0 -_F200 !WORD _D082+0 - !BYTE $76,$15 ; SLW [21] - !BYTE $6A ; LAW _D076+0 -_F201 !WORD _D076+0 - !BYTE $76,$17 ; SLW [23] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C027 -_F202 !WORD _C027 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B083 - !WORD _B083-* - !BYTE $66,$15 ; LLW [21] - !BYTE $7A ; SAW _D082+0 -_F203 !WORD _D082+0 - !BYTE $66,$13 ; LLW [19] - !BYTE $7A ; SAW _D077+0 -_F204 !WORD _D077+0 - !BYTE $50 ; BRNCH _B087 - !WORD _B087-* -_B085 -; vmsrc/apple/sossys.pla: 1234: modid-- - !BYTE $68 ; LAB _D080+0 -_F205 !WORD _D080+0 - !BYTE $8E ; DECR -; vmsrc/apple/sossys.pla: 1235: seg_release(modseg[modid]) -; vmsrc/apple/sossys.pla: 1236: loop - !BYTE $78 ; SAB _D080+0 -_F206 !WORD _D080+0 - !BYTE $26 ; LA _D079+0 -_F207 !WORD _D079+0 - !BYTE $B4 ; ADDAB _D080+0 -_F208 !WORD _D080+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _C008 -_F209 !WORD _C008 - !BYTE $30 ; DROP -_B087 - !BYTE $68 ; LAB _D080+0 -_F210 !WORD _D080+0 - !BYTE $4E ; BRTRU _B085 - !WORD _B085-* -_B086 -; vmsrc/apple/sossys.pla: 1237: xpokeb(symtbl.0, lastsym, 0) -; vmsrc/apple/sossys.pla: 1238: systemflags = saveflags -; vmsrc/apple/sossys.pla: 1239: else - !BYTE $68 ; LAB _D081+0 -_F211 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F212 !WORD _D082+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A005 -_F213 !WORD _A005 - !BYTE $66,$17 ; LLW [23] - !BYTE $7A ; SAW _D076+0 -_F214 !WORD _D076+0 - !BYTE $50 ; BRNCH _B084 - !WORD _B084-* -_B083 -; vmsrc/apple/sossys.pla: 1240: modid = 0 -; vmsrc/apple/sossys.pla: 1241: fin - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D080+0 -_F215 !WORD _D080+0 -_B084 -; vmsrc/apple/sossys.pla: 1242: fin -_B081 -_B082 -; vmsrc/apple/sossys.pla: 1243: return -perr - !BYTE $68 ; LAB _D034+0 -_F216 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$19 ; LEAVE 25 -; vmsrc/apple/sossys.pla: 1244: end -; vmsrc/apple/sossys.pla: 1245: // -; vmsrc/apple/sossys.pla: 1246: // Init 2K symbol table. -; vmsrc/apple/sossys.pla: 1247: // -; vmsrc/apple/sossys.pla: 1248: drop, symtbl, drop = seg_find($00, $08, $11) -_INIT - JSR INTERP -; vmsrc/apple/sossys.pla: 1249: lastsym = symtbl & $FF00 -; vmsrc/apple/sossys.pla: 1250: xpokeb(symtbl.0, lastsym, 0) -; vmsrc/apple/sossys.pla: 1251: while *sysmodsym - !BYTE $00 ; CN 0 - !BYTE $10 ; CN 8 - !BYTE $2A,$11 ; CB 17 - !BYTE $54 ; CALL _C007 -_F217 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $7A ; SAW _D081+0 -_F218 !WORD _D081+0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D081+0 -_F219 !WORD _D081+0 - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $7A ; SAW _D082+0 -_F220 !WORD _D082+0 - !BYTE $68 ; LAB _D081+0 -_F221 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F222 !WORD _D082+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A005 -_F223 !WORD _A005 - !BYTE $50 ; BRNCH _B090 - !WORD _B090-* -_B088 -; vmsrc/apple/sossys.pla: 1252: stodci(sysmodsym=>0, heap) -; vmsrc/apple/sossys.pla: 1253: addsym(heap, sysmodsym=>2) -; vmsrc/apple/sossys.pla: 1254: sysmodsym = sysmodsym + 4 -; vmsrc/apple/sossys.pla: 1255: loop - !BYTE $6A ; LAW _D075+0 -_F224 !WORD _D075+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D077+0 -_F225 !WORD _D077+0 - !BYTE $54 ; CALL _A013 -_F226 !WORD _A013 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D077+0 -_F227 !WORD _D077+0 - !BYTE $6A ; LAW _D075+0 -_F228 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C022 -_F229 !WORD _C022 - !BYTE $6A ; LAW _D075+0 -_F230 !WORD _D075+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $7A ; SAW _D075+0 -_F231 !WORD _D075+0 -_B090 - !BYTE $6A ; LAW _D075+0 -_F232 !WORD _D075+0 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B088 - !WORD _B088-* -_B089 -; vmsrc/apple/sossys.pla: 1256: // -; vmsrc/apple/sossys.pla: 1257: // Clear system path and command line -; vmsrc/apple/sossys.pla: 1258: // -; vmsrc/apple/sossys.pla: 1259: sysmods = 0 -; vmsrc/apple/sossys.pla: 1260: syspath = @sysmods -; vmsrc/apple/sossys.pla: 1261: cmdlnptr = @cmdln -; vmsrc/apple/sossys.pla: 1262: // -; vmsrc/apple/sossys.pla: 1263: // Print PLASMA version -; vmsrc/apple/sossys.pla: 1264: // -; vmsrc/apple/sossys.pla: 1265: init_cons -; vmsrc/apple/sossys.pla: 1266: prstr("PLASMA 2.0\n")//; putb(version.1); putc('.'); putb(version.0); putln - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D074+0 -_F233 !WORD _D074+0 - !BYTE $26 ; LA _D074+0 -_F234 !WORD _D074+0 - !BYTE $7A ; SAW _D032+0 -_F235 !WORD _D032+0 - !BYTE $26 ; LA _D043+0 -_F236 !WORD _D043+0 - !BYTE $7A ; SAW _D033+0 -_F237 !WORD _D033+0 - !BYTE $54 ; CALL _C006 -_F238 !WORD _C006 - !BYTE $2E ; CS - !BYTE $0B - !BYTE $50,$4C,$41,$53,$4D,$41,$20,$32 - !BYTE $2E,$30,$0D - !BYTE $54 ; CALL _C012 -_F239 !WORD _C012 -; vmsrc/apple/sossys.pla: 1267: prstr("MEM:$"); prword(availheap); crout - !BYTE $2E ; CS - !BYTE $05 - !BYTE $4D,$45,$4D,$3A,$24 - !BYTE $54 ; CALL _C012 -_F240 !WORD _C012 -; vmsrc/apple/sossys.pla: 1268: // -; vmsrc/apple/sossys.pla: 1269: // Exec command line parser -; vmsrc/apple/sossys.pla: 1270: // -; vmsrc/apple/sossys.pla: 1271: loadmod(@soscmd) -; vmsrc/apple/sossys.pla: 1272: modid = 0 -; vmsrc/apple/sossys.pla: 1273: autorun = open("AUTORUN") - !BYTE $54 ; CALL _C017 -_F241 !WORD _C017 - !BYTE $54 ; CALL _C016 -_F242 !WORD _C016 - !BYTE $54 ; CALL _C010 -_F243 !WORD _C010 - !BYTE $26 ; LA _D044+0 -_F244 !WORD _D044+0 - !BYTE $54 ; CALL _C027 -_F245 !WORD _C027 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D080+0 -_F246 !WORD _D080+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $41,$55,$54,$4F,$52,$55,$4E - !BYTE $54 ; CALL _C000 -_F247 !WORD _C000 - !BYTE $78 ; SAB _D078+0 -_F248 !WORD _D078+0 -; vmsrc/apple/sossys.pla: 1274: if autorun > 0 -; vmsrc/apple/sossys.pla: 1275: cmdln = read(autorun, @cmdln.1, 64) -; vmsrc/apple/sossys.pla: 1276: close(autorun) -; vmsrc/apple/sossys.pla: 1277: fin - !BYTE $68 ; LAB _D078+0 -_F249 !WORD _D078+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B091 - !WORD _B091-* - !BYTE $68 ; LAB _D078+0 -_F250 !WORD _D078+0 - !BYTE $26 ; LA _D043+1 -_F251 !WORD _D043+1 - !BYTE $2A,$40 ; CB 64 - !BYTE $54 ; CALL _C002 -_F252 !WORD _C002 - !BYTE $78 ; SAB _D043+0 -_F253 !WORD _D043+0 - !BYTE $68 ; LAB _D078+0 -_F254 !WORD _D078+0 - !BYTE $54 ; CALL _C001 -_F255 !WORD _C001 - !BYTE $30 ; DROP -_B091 -_B092 -; vmsrc/apple/sossys.pla: 1278: // -; vmsrc/apple/sossys.pla: 1279: // Call cmd line parser -; vmsrc/apple/sossys.pla: 1280: // -; vmsrc/apple/sossys.pla: 1281: repeat -_B094 -; vmsrc/apple/sossys.pla: 1282: execmod((*cmdparser)()) -; vmsrc/apple/sossys.pla: 1283: write(refcons, @textmode, 3) -; vmsrc/apple/sossys.pla: 1284: cmdln = 0 -; vmsrc/apple/sossys.pla: 1285: until 0 - !BYTE $6A,$F0,$A0 ; LAW 41200 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C028 -_F256 !WORD _C028 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D037+0 -_F257 !WORD _D037+0 - !BYTE $26 ; LA _D042+0 -_F258 !WORD _D042+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C003 -_F259 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D043+0 -_F260 !WORD _D043+0 -_B095 - !BYTE $50 ; BRNCH _B094 - !WORD _B094-* -_B093 -; vmsrc/apple/sossys.pla: 1286: 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 b5c6cb0..0000000 --- a/src/vmsrc/apple/sossysjit.a +++ /dev/null @@ -1,3564 +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 modkeep = $2000 - ; modkeep = 8192 -; vmsrc/apple/sossysjit.pla: 0019: const modinitkeep = $4000 - ; modinitkeep = 16384 -; vmsrc/apple/sossysjit.pla: 0020: // -; vmsrc/apple/sossysjit.pla: 0021: // Private addresses -; vmsrc/apple/sossysjit.pla: 0022: // -; vmsrc/apple/sossysjit.pla: 0023: const instr = $A020 - ; instr = 40992 -; vmsrc/apple/sossysjit.pla: 0024: const cmdparser = $A0F0 - ; cmdparser = 41200 -; vmsrc/apple/sossysjit.pla: 0025: const xinterp = $A0F8 - ; xinterp = 41208 -; vmsrc/apple/sossysjit.pla: 0026: const jitinterp = $A0FA - ; jitinterp = 41210 -; vmsrc/apple/sossysjit.pla: 0027: // -; vmsrc/apple/sossysjit.pla: 0028: // Indirect interpreter DEFinition entrypoint -; vmsrc/apple/sossysjit.pla: 0029: // -; vmsrc/apple/sossysjit.pla: 0030: struc t_defentry -; vmsrc/apple/sossysjit.pla: 0031: byte interpjsr - ; interpjsr = 0 -; vmsrc/apple/sossysjit.pla: 0032: word interpaddr - ; interpaddr = 1 -; vmsrc/apple/sossysjit.pla: 0033: word bytecodeaddr - ; bytecodeaddr = 3 -; vmsrc/apple/sossysjit.pla: 0034: byte bytecodexbyte - ; bytecodexbyte = 5 -; vmsrc/apple/sossysjit.pla: 0035: byte callcount - ; callcount = 6 -; vmsrc/apple/sossysjit.pla: 0036: byte bytecodesize - ; bytecodesize = 7 -; vmsrc/apple/sossysjit.pla: 0037: end - ; t_defentry = 8 -; vmsrc/apple/sossysjit.pla: 0038: // -; vmsrc/apple/sossysjit.pla: 0039: // JIT compiler values -; vmsrc/apple/sossysjit.pla: 0040: // -; vmsrc/apple/sossysjit.pla: 0041: const jitcbuf = $9000 - ; jitcbuf = 36864 -; vmsrc/apple/sossysjit.pla: 0042: const jitcomp = $A0F2 - ; jitcomp = 41202 -; vmsrc/apple/sossysjit.pla: 0043: const jitcodeptr = $A0F4 - ; jitcodeptr = 41204 -; vmsrc/apple/sossysjit.pla: 0044: const codemax = $A000 - ; codemax = 40960 -; vmsrc/apple/sossysjit.pla: 0045: // -; vmsrc/apple/sossysjit.pla: 0046: // Pedefined functions. -; vmsrc/apple/sossysjit.pla: 0047: // -; vmsrc/apple/sossysjit.pla: 0048: predef syscall(cmd,params)#1, call(addr,areg,xreg,yreg,status)#1 -; vmsrc/apple/sossysjit.pla: 0049: predef crout()#0, cout(c)#0, prstr(s)#0, print(i)#0, prbyte(b)#0, prword(w)#0 -; vmsrc/apple/sossysjit.pla: 0050: predef cin()#1, rdstr(p)#1, toupper(c)#1, strcpy(dst,src)#1, strcat(dst,src)#1 -; vmsrc/apple/sossysjit.pla: 0051: predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr), releaseheap(newheap)#1, availheap()#1 -; vmsrc/apple/sossysjit.pla: 0052: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0 -; vmsrc/apple/sossysjit.pla: 0053: 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: 0054: predef execmod(modfile)#1, open(path)#1, close(refnum)#1, read(refnum, buff, len)#1, write(refnum, buff, len)#1 -; vmsrc/apple/sossysjit.pla: 0055: // -; vmsrc/apple/sossysjit.pla: 0056: // Exported CMDSYS table -; vmsrc/apple/sossysjit.pla: 0057: // -; vmsrc/apple/sossysjit.pla: 0058: word version = $0200 // 02.00 -_D031 ; version = $0200 // 02.00 - !WORD $0200 -; vmsrc/apple/sossysjit.pla: 0059: word syspath -_D032 !FILL 2 ; syspath -; vmsrc/apple/sossysjit.pla: 0060: word cmdlnptr -_D033 !FILL 2 ; cmdlnptr -; vmsrc/apple/sossysjit.pla: 0061: 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: 0062: byte perr -_D034 !FILL 1 ; perr -; vmsrc/apple/sossysjit.pla: 0063: byte jitcount = 0 -_D035 ; jitcount = 0 - !BYTE $00 -; vmsrc/apple/sossysjit.pla: 0064: byte jitsize = 0 -_D036 ; jitsize = 0 - !BYTE $00 -; vmsrc/apple/sossysjit.pla: 0065: byte refcons = 0 -_D037 ; refcons = 0 - !BYTE $00 -; vmsrc/apple/sossysjit.pla: 0066: byte devcons = 0 -_D038 ; devcons = 0 - !BYTE $00 -; vmsrc/apple/sossysjit.pla: 0067: // -; vmsrc/apple/sossysjit.pla: 0068: // String pool. -; vmsrc/apple/sossysjit.pla: 0069: // -; vmsrc/apple/sossysjit.pla: 0070: byte hexchar[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' -_D039 ; 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: 0071: // -; vmsrc/apple/sossysjit.pla: 0072: // Exported Machine ID. -; vmsrc/apple/sossysjit.pla: 0073: // -; vmsrc/apple/sossysjit.pla: 0074: byte machid = $F2 // Apple ///, 80 columns -_D040 ; machid = $F2 // Apple ///, 80 columns - !BYTE $F2 -; vmsrc/apple/sossysjit.pla: 0075: // -; vmsrc/apple/sossysjit.pla: 0076: // Console and textmode control characters -; vmsrc/apple/sossysjit.pla: 0077: // -; vmsrc/apple/sossysjit.pla: 0078: byte console[] = ".CONSOLE" -_D041 ; console[] = ".CONSOLE" - !BYTE $08 - !BYTE $2E,$43,$4F,$4E,$53,$4F,$4C,$45 -; vmsrc/apple/sossysjit.pla: 0079: byte textmode[] = 16, 0, 15 -_D042 ; textmode[] = 16, 0, 15 - !BYTE $10 - !BYTE $00 - !BYTE $0F -; vmsrc/apple/sossysjit.pla: 0080: -; vmsrc/apple/sossysjit.pla: 0081: // -; vmsrc/apple/sossysjit.pla: 0082: // Working input buffer overlayed with strings table -; vmsrc/apple/sossysjit.pla: 0083: // -; vmsrc/apple/sossysjit.pla: 0084: byte cmdln = "" -_D043 ; cmdln = "" - !BYTE $00 -; vmsrc/apple/sossysjit.pla: 0085: // -; vmsrc/apple/sossysjit.pla: 0086: // SOS.CMD as DCI string -; vmsrc/apple/sossysjit.pla: 0087: // -; vmsrc/apple/sossysjit.pla: 0088: byte soscmd = 'S'|$80,'O'|$80,'S'|$80,'.'|$80,'C'|$80,'M'|$80,'D'|$80,'J'|$80,'I'|$80,'T' -_D044 ; 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: 0089: // -; vmsrc/apple/sossysjit.pla: 0090: // Standard Library exported functions. -; vmsrc/apple/sossysjit.pla: 0091: // -; vmsrc/apple/sossysjit.pla: 0092: byte sysmodstr[] = "CMDSYS" -_D045 ; sysmodstr[] = "CMDSYS" - !BYTE $06 - !BYTE $43,$4D,$44,$53,$59,$53 -; vmsrc/apple/sossysjit.pla: 0093: byte machidstr[] = "MACHID" -_D046 ; machidstr[] = "MACHID" - !BYTE $06 - !BYTE $4D,$41,$43,$48,$49,$44 -; vmsrc/apple/sossysjit.pla: 0094: byte sysstr[] = "SYSCALL" -_D047 ; sysstr[] = "SYSCALL" - !BYTE $07 - !BYTE $53,$59,$53,$43,$41,$4C,$4C -; vmsrc/apple/sossysjit.pla: 0095: byte callstr[] = "CALL" -_D048 ; callstr[] = "CALL" - !BYTE $04 - !BYTE $43,$41,$4C,$4C -; vmsrc/apple/sossysjit.pla: 0096: byte putcstr[] = "PUTC" -_D049 ; putcstr[] = "PUTC" - !BYTE $04 - !BYTE $50,$55,$54,$43 -; vmsrc/apple/sossysjit.pla: 0097: byte putlnstr[] = "PUTLN" -_D050 ; putlnstr[] = "PUTLN" - !BYTE $05 - !BYTE $50,$55,$54,$4C,$4E -; vmsrc/apple/sossysjit.pla: 0098: byte putsstr[] = "PUTS" -_D051 ; putsstr[] = "PUTS" - !BYTE $04 - !BYTE $50,$55,$54,$53 -; vmsrc/apple/sossysjit.pla: 0099: byte putistr[] = "PUTI" -_D052 ; putistr[] = "PUTI" - !BYTE $04 - !BYTE $50,$55,$54,$49 -; vmsrc/apple/sossysjit.pla: 0100: byte putbstr[] = "PUTB" -_D053 ; putbstr[] = "PUTB" - !BYTE $04 - !BYTE $50,$55,$54,$42 -; vmsrc/apple/sossysjit.pla: 0101: byte putwstr[] = "PUTH" -_D054 ; putwstr[] = "PUTH" - !BYTE $04 - !BYTE $50,$55,$54,$48 -; vmsrc/apple/sossysjit.pla: 0102: byte getcstr[] = "GETC" -_D055 ; getcstr[] = "GETC" - !BYTE $04 - !BYTE $47,$45,$54,$43 -; vmsrc/apple/sossysjit.pla: 0103: byte getsstr[] = "GETS" -_D056 ; getsstr[] = "GETS" - !BYTE $04 - !BYTE $47,$45,$54,$53 -; vmsrc/apple/sossysjit.pla: 0104: byte toupstr[] = "TOUPPER" -_D057 ; toupstr[] = "TOUPPER" - !BYTE $07 - !BYTE $54,$4F,$55,$50,$50,$45,$52 -; vmsrc/apple/sossysjit.pla: 0105: byte strcpystr[] = "STRCPY" -_D058 ; strcpystr[] = "STRCPY" - !BYTE $06 - !BYTE $53,$54,$52,$43,$50,$59 -; vmsrc/apple/sossysjit.pla: 0106: byte strcatstr[] = "STRCAT" -_D059 ; strcatstr[] = "STRCAT" - !BYTE $06 - !BYTE $53,$54,$52,$43,$41,$54 -; vmsrc/apple/sossysjit.pla: 0107: byte hpmarkstr[] = "HEAPMARK" -_D060 ; hpmarkstr[] = "HEAPMARK" - !BYTE $08 - !BYTE $48,$45,$41,$50,$4D,$41,$52,$4B -; vmsrc/apple/sossysjit.pla: 0108: byte hpalignstr[] = "HEAPALLOCALIGN" -_D061 ; hpalignstr[] = "HEAPALLOCALIGN" - !BYTE $0E - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43,$41,$4C,$49,$47,$4E -; vmsrc/apple/sossysjit.pla: 0109: byte hpallocstr[] = "HEAPALLOC" -_D062 ; hpallocstr[] = "HEAPALLOC" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43 -; vmsrc/apple/sossysjit.pla: 0110: byte hprelstr[] = "HEAPRELEASE" -_D063 ; hprelstr[] = "HEAPRELEASE" - !BYTE $0B - !BYTE $48,$45,$41,$50,$52,$45,$4C,$45 - !BYTE $41,$53,$45 -; vmsrc/apple/sossysjit.pla: 0111: byte hpavlstr[] = "HEAPAVAIL" -_D064 ; hpavlstr[] = "HEAPAVAIL" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$56,$41,$49 - !BYTE $4C -; vmsrc/apple/sossysjit.pla: 0112: byte memsetstr[] = "MEMSET" -_D065 ; memsetstr[] = "MEMSET" - !BYTE $06 - !BYTE $4D,$45,$4D,$53,$45,$54 -; vmsrc/apple/sossysjit.pla: 0113: byte memcpystr[] = "MEMCPY" -_D066 ; memcpystr[] = "MEMCPY" - !BYTE $06 - !BYTE $4D,$45,$4D,$43,$50,$59 -; vmsrc/apple/sossysjit.pla: 0114: byte uisgtstr[] = "ISUGT" -_D067 ; uisgtstr[] = "ISUGT" - !BYTE $05 - !BYTE $49,$53,$55,$47,$54 -; vmsrc/apple/sossysjit.pla: 0115: byte uisgestr[] = "ISUGE" -_D068 ; uisgestr[] = "ISUGE" - !BYTE $05 - !BYTE $49,$53,$55,$47,$45 -; vmsrc/apple/sossysjit.pla: 0116: byte uisltstr[] = "ISULT" -_D069 ; uisltstr[] = "ISULT" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$54 -; vmsrc/apple/sossysjit.pla: 0117: byte uislestr[] = "ISULE" -_D070 ; uislestr[] = "ISULE" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$45 -; vmsrc/apple/sossysjit.pla: 0118: byte sextstr[] = "SEXT" -_D071 ; sextstr[] = "SEXT" - !BYTE $04 - !BYTE $53,$45,$58,$54 -; vmsrc/apple/sossysjit.pla: 0119: byte divmodstr[] = "DIVMOD" -_D072 ; divmodstr[] = "DIVMOD" - !BYTE $06 - !BYTE $44,$49,$56,$4D,$4F,$44 -; vmsrc/apple/sossysjit.pla: 0120: word exports[] = @sysmodstr, @version -_D073 ; exports[] = @sysmodstr, @version -_F005 !WORD _D045 -_F006 !WORD _D031 -; vmsrc/apple/sossysjit.pla: 0121: word = @sysstr, @syscall -_F007 !WORD _D047 -_F008 !WORD _P000 -; vmsrc/apple/sossysjit.pla: 0122: word = @callstr, @call -_F009 !WORD _D048 -_F010 !WORD _P001 -; vmsrc/apple/sossysjit.pla: 0123: word = @putcstr, @cout -_F011 !WORD _D049 -_F012 !WORD _P003 -; vmsrc/apple/sossysjit.pla: 0124: word = @putlnstr, @crout -_F013 !WORD _D050 -_F014 !WORD _P002 -; vmsrc/apple/sossysjit.pla: 0125: word = @putsstr, @prstr -_F015 !WORD _D051 -_F016 !WORD _P004 -; vmsrc/apple/sossysjit.pla: 0126: word = @putistr, @print -_F017 !WORD _D052 -_F018 !WORD _P005 -; vmsrc/apple/sossysjit.pla: 0127: word = @putbstr, @prbyte -_F019 !WORD _D053 -_F020 !WORD _P006 -; vmsrc/apple/sossysjit.pla: 0128: word = @putwstr, @prword -_F021 !WORD _D054 -_F022 !WORD _P007 -; vmsrc/apple/sossysjit.pla: 0129: word = @getcstr, @cin -_F023 !WORD _D055 -_F024 !WORD _P008 -; vmsrc/apple/sossysjit.pla: 0130: word = @getsstr, @rdstr -_F025 !WORD _D056 -_F026 !WORD _P009 -; vmsrc/apple/sossysjit.pla: 0131: word = @toupstr, @toupper -_F027 !WORD _D057 -_F028 !WORD _P010 -; vmsrc/apple/sossysjit.pla: 0132: byte sysmods[] // overlay sys path with exports -_D074 ; sysmods[] // overlay sys path with exports -; vmsrc/apple/sossysjit.pla: 0133: word = @hpmarkstr, @markheap -_F029 !WORD _D060 -_F030 !WORD _P013 -; vmsrc/apple/sossysjit.pla: 0134: word = @hpallocstr,@allocheap -_F031 !WORD _D062 -_F032 !WORD _P014 -; vmsrc/apple/sossysjit.pla: 0135: word = @hpalignstr,@allocalignheap -_F033 !WORD _D061 -_F034 !WORD _P015 -; vmsrc/apple/sossysjit.pla: 0136: word = @hprelstr, @releaseheap -_F035 !WORD _D063 -_F036 !WORD _P016 -; vmsrc/apple/sossysjit.pla: 0137: word = @hpavlstr, @availheap -_F037 !WORD _D064 -_F038 !WORD _P017 -; vmsrc/apple/sossysjit.pla: 0138: word = @memsetstr, @memset -_F039 !WORD _D065 -_F040 !WORD _P018 -; vmsrc/apple/sossysjit.pla: 0139: word = @memcpystr, @memcpy -_F041 !WORD _D066 -_F042 !WORD _P019 -; vmsrc/apple/sossysjit.pla: 0140: word = @strcpystr, @strcpy -_F043 !WORD _D058 -_F044 !WORD _P011 -; vmsrc/apple/sossysjit.pla: 0141: word = @strcatstr, @strcat -_F045 !WORD _D059 -_F046 !WORD _P012 -; vmsrc/apple/sossysjit.pla: 0142: word = @uisgtstr, @uword_isgt -_F047 !WORD _D067 -_F048 !WORD _P020 -; vmsrc/apple/sossysjit.pla: 0143: word = @uisgestr, @uword_isge -_F049 !WORD _D068 -_F050 !WORD _P021 -; vmsrc/apple/sossysjit.pla: 0144: word = @uisltstr, @uword_islt -_F051 !WORD _D069 -_F052 !WORD _P022 -; vmsrc/apple/sossysjit.pla: 0145: word = @uislestr, @uword_isle -_F053 !WORD _D070 -_F054 !WORD _P023 -; vmsrc/apple/sossysjit.pla: 0146: word = @sextstr, @sext -_F055 !WORD _D071 -_F056 !WORD _P024 -; vmsrc/apple/sossysjit.pla: 0147: word = @divmodstr, @divmod -_F057 !WORD _D072 -_F058 !WORD _P025 -; vmsrc/apple/sossysjit.pla: 0148: word = @machidstr, @machid -_F059 !WORD _D046 -_F060 !WORD _D040 -; vmsrc/apple/sossysjit.pla: 0149: word = 0 - !WORD $0000 -; vmsrc/apple/sossysjit.pla: 0150: word sysmodsym = @exports -_D075 ; sysmodsym = @exports -_F061 !WORD _D073 -; vmsrc/apple/sossysjit.pla: 0151: // -; vmsrc/apple/sossysjit.pla: 0152: // System variables. -; vmsrc/apple/sossysjit.pla: 0153: // -; vmsrc/apple/sossysjit.pla: 0154: word systemflags = 0 -_D076 ; systemflags = 0 - !WORD $0000 -; vmsrc/apple/sossysjit.pla: 0155: word heap = $2000 -_D077 ; heap = $2000 - !WORD $2000 -; vmsrc/apple/sossysjit.pla: 0156: byte autorun[] -_D078 ; autorun[] -; vmsrc/apple/sossysjit.pla: 0157: byte modseg[15] -_D079 !FILL 15 ; modseg[15] -; vmsrc/apple/sossysjit.pla: 0158: byte modid = 0 -_D080 ; modid = 0 - !BYTE $00 -; vmsrc/apple/sossysjit.pla: 0159: word symtbl, lastsym -_D081 !FILL 2 ; symtbl, lastsym -_D082 !FILL 2 ; lastsym -; vmsrc/apple/sossysjit.pla: 0160: // -; vmsrc/apple/sossysjit.pla: 0161: // CALL SOS -; vmsrc/apple/sossysjit.pla: 0162: // SYSCALL(CMD, PARAMS) -; vmsrc/apple/sossysjit.pla: 0163: // -; vmsrc/apple/sossysjit.pla: 0164: asm syscall(cmd,params)#1 -_P000 ; syscall(cmd,params)#1() -_A000 ; syscall() -; vmsrc/apple/sossysjit.pla: 0165: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0166: LDY ESTKH,X - LDY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0167: STA PARAMS - STA PARAMS -; vmsrc/apple/sossysjit.pla: 0168: STY PARAMS+1 - STY PARAMS+1 -; vmsrc/apple/sossysjit.pla: 0169: INX - INX -; vmsrc/apple/sossysjit.pla: 0170: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0171: STA CMD - STA CMD -; vmsrc/apple/sossysjit.pla: 0172: BRK - BRK -; vmsrc/apple/sossysjit.pla: 0173: CMD !BYTE 00 -CMD !BYTE 00 -; vmsrc/apple/sossysjit.pla: 0174: PARAMS !WORD 0000 -PARAMS !WORD 0000 -; vmsrc/apple/sossysjit.pla: 0175: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0176: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0177: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0178: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0179: end -; vmsrc/apple/sossysjit.pla: 0180: // -; vmsrc/apple/sossysjit.pla: 0181: // CALL 6502 ROUTINE -; vmsrc/apple/sossysjit.pla: 0182: // CALL(AREG, XREG, YREG, STATUS, ADDR) -; vmsrc/apple/sossysjit.pla: 0183: // -; vmsrc/apple/sossysjit.pla: 0184: asm call(addr,areg,xreg,yreg,sstatus)#1 -_P001 ; call(addr,areg,xreg,yreg,sstatus)#1() -_A001 ; call() -; vmsrc/apple/sossysjit.pla: 0185: REGVALS = SRC -REGVALS = SRC -; vmsrc/apple/sossysjit.pla: 0186: PHP - PHP -; vmsrc/apple/sossysjit.pla: 0187: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0188: STA TMPL - STA TMPL -; vmsrc/apple/sossysjit.pla: 0189: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0190: STA TMPH - STA TMPH -; vmsrc/apple/sossysjit.pla: 0191: INX - INX -; vmsrc/apple/sossysjit.pla: 0192: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0193: PHA - PHA -; vmsrc/apple/sossysjit.pla: 0194: INX - INX -; vmsrc/apple/sossysjit.pla: 0195: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/sossysjit.pla: 0196: INX - INX -; vmsrc/apple/sossysjit.pla: 0197: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0198: PHA - PHA -; vmsrc/apple/sossysjit.pla: 0199: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0200: INX - INX -; vmsrc/apple/sossysjit.pla: 0201: STX ESP - STX ESP -; vmsrc/apple/sossysjit.pla: 0202: TAX - TAX -; vmsrc/apple/sossysjit.pla: 0203: PLA - PLA -; vmsrc/apple/sossysjit.pla: 0204: PLP - PLP -; vmsrc/apple/sossysjit.pla: 0205: JSR JMPTMP - JSR JMPTMP -; vmsrc/apple/sossysjit.pla: 0206: PHP - PHP -; vmsrc/apple/sossysjit.pla: 0207: STA REGVALS+0 - STA REGVALS+0 -; vmsrc/apple/sossysjit.pla: 0208: STX REGVALS+1 - STX REGVALS+1 -; vmsrc/apple/sossysjit.pla: 0209: STY REGVALS+2 - STY REGVALS+2 -; vmsrc/apple/sossysjit.pla: 0210: PLA - PLA -; vmsrc/apple/sossysjit.pla: 0211: STA REGVALS+3 - STA REGVALS+3 -; vmsrc/apple/sossysjit.pla: 0212: LDX ESP - LDX ESP -; vmsrc/apple/sossysjit.pla: 0213: LDA #REGVALS - LDY #>REGVALS -; vmsrc/apple/sossysjit.pla: 0215: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0216: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0217: PLP - PLP -; vmsrc/apple/sossysjit.pla: 0218: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0219: end -; vmsrc/apple/sossysjit.pla: 0220: // -; vmsrc/apple/sossysjit.pla: 0221: // SET MEMORY TO VALUE -; vmsrc/apple/sossysjit.pla: 0222: // MEMSET(ADDR, VALUE, SIZE) -; vmsrc/apple/sossysjit.pla: 0223: // With optimizations from Peter Ferrie -; vmsrc/apple/sossysjit.pla: 0224: // -; vmsrc/apple/sossysjit.pla: 0225: asm memset(addr,value,size)#0 -_P018 ; memset(addr,value,size)#0() -_A002 ; memset() -; vmsrc/apple/sossysjit.pla: 0226: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/sossysjit.pla: 0227: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0228: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/sossysjit.pla: 0229: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0230: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/sossysjit.pla: 0231: BEQ + - BEQ + -; vmsrc/apple/sossysjit.pla: 0232: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/sossysjit.pla: 0233: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0234: + LDA ESTKH,X -+ LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0235: BEQ SETMEX - BEQ SETMEX -; vmsrc/apple/sossysjit.pla: 0236: SETMLPL CLC -SETMLPL CLC -; vmsrc/apple/sossysjit.pla: 0237: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0238: SETMLPH STA (DST),Y -SETMLPH STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0239: DEC ESTKL,X - DEC ESTKL,X -; vmsrc/apple/sossysjit.pla: 0240: BEQ ++ - BEQ ++ -; vmsrc/apple/sossysjit.pla: 0241: - INY -- INY -; vmsrc/apple/sossysjit.pla: 0242: BEQ + - BEQ + -; vmsrc/apple/sossysjit.pla: 0243: -- BCS SETMLPL --- BCS SETMLPL -; vmsrc/apple/sossysjit.pla: 0244: SEC - SEC -; vmsrc/apple/sossysjit.pla: 0245: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0246: BCS SETMLPH - BCS SETMLPH -; vmsrc/apple/sossysjit.pla: 0247: + INC DSTH -+ INC DSTH -; vmsrc/apple/sossysjit.pla: 0248: BNE -- - BNE -- -; vmsrc/apple/sossysjit.pla: 0249: ++ DEC ESTKH,X -++ DEC ESTKH,X -; vmsrc/apple/sossysjit.pla: 0250: BNE - - BNE - -; vmsrc/apple/sossysjit.pla: 0251: SETMEX INX -SETMEX INX -; vmsrc/apple/sossysjit.pla: 0252: INX - INX -; vmsrc/apple/sossysjit.pla: 0253: INX - INX -; vmsrc/apple/sossysjit.pla: 0254: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0255: end -; vmsrc/apple/sossysjit.pla: 0256: // -; vmsrc/apple/sossysjit.pla: 0257: // COPY MEMORY -; vmsrc/apple/sossysjit.pla: 0258: // MEMCPY(DSTADDR, SRCADDR, SIZE) -; vmsrc/apple/sossysjit.pla: 0259: // -; vmsrc/apple/sossysjit.pla: 0260: asm memcpy(dst,src,size)#0 -_P019 ; memcpy(dst,src,size)#0() -_A003 ; memcpy() -; vmsrc/apple/sossysjit.pla: 0261: INX - INX -; vmsrc/apple/sossysjit.pla: 0262: INX - INX -; vmsrc/apple/sossysjit.pla: 0263: INX - INX -; vmsrc/apple/sossysjit.pla: 0264: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0265: ORA ESTKH-3,X - ORA ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0266: BEQ CPYMEX - BEQ CPYMEX -; vmsrc/apple/sossysjit.pla: 0267: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/sossysjit.pla: 0268: CMP ESTKL-1,X - CMP ESTKL-1,X -; vmsrc/apple/sossysjit.pla: 0269: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/sossysjit.pla: 0270: SBC ESTKH-1,X - SBC ESTKH-1,X -; vmsrc/apple/sossysjit.pla: 0271: BCC REVCPY - BCC REVCPY -; vmsrc/apple/sossysjit.pla: 0272: ; -; vmsrc/apple/sossysjit.pla: 0273: ; FORWARD COPY -; FORWARD COPY -; vmsrc/apple/sossysjit.pla: 0274: ; -; vmsrc/apple/sossysjit.pla: 0275: LDA ESTKL-1,X - LDA ESTKL-1,X -; vmsrc/apple/sossysjit.pla: 0276: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0277: LDA ESTKH-1,X - LDA ESTKH-1,X -; vmsrc/apple/sossysjit.pla: 0278: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0279: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/sossysjit.pla: 0280: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0281: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/sossysjit.pla: 0282: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0283: LDY ESTKL-3,X - LDY ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0284: BEQ FORCPYLP - BEQ FORCPYLP -; vmsrc/apple/sossysjit.pla: 0285: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0286: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0287: FORCPYLP LDA (SRC),Y -FORCPYLP LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0288: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0289: INY - INY -; vmsrc/apple/sossysjit.pla: 0290: BNE + - BNE + -; vmsrc/apple/sossysjit.pla: 0291: INC DSTH - INC DSTH -; vmsrc/apple/sossysjit.pla: 0292: INC SRCH - INC SRCH -; vmsrc/apple/sossysjit.pla: 0293: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0294: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/sossysjit.pla: 0295: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0296: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/sossysjit.pla: 0297: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0298: ; -; vmsrc/apple/sossysjit.pla: 0299: ; REVERSE COPY -; REVERSE COPY -; vmsrc/apple/sossysjit.pla: 0300: ; -; vmsrc/apple/sossysjit.pla: 0301: REVCPY ;CLC -REVCPY ;CLC -; vmsrc/apple/sossysjit.pla: 0302: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0303: ADC ESTKL-1,X - ADC ESTKL-1,X -; vmsrc/apple/sossysjit.pla: 0304: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0305: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0306: ADC ESTKH-1,X - ADC ESTKH-1,X -; vmsrc/apple/sossysjit.pla: 0307: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0308: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0309: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0310: ADC ESTKL-2,X - ADC ESTKL-2,X -; vmsrc/apple/sossysjit.pla: 0311: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0312: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0313: ADC ESTKH-2,X - ADC ESTKH-2,X -; vmsrc/apple/sossysjit.pla: 0314: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0315: DEC DSTH - DEC DSTH -; vmsrc/apple/sossysjit.pla: 0316: DEC SRCH - DEC SRCH -; vmsrc/apple/sossysjit.pla: 0317: LDY #$FF - LDY #$FF -; vmsrc/apple/sossysjit.pla: 0318: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0319: BEQ REVCPYLP - BEQ REVCPYLP -; vmsrc/apple/sossysjit.pla: 0320: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0321: REVCPYLP LDA (SRC),Y -REVCPYLP LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0322: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0323: DEY - DEY -; vmsrc/apple/sossysjit.pla: 0324: CPY #$FF - CPY #$FF -; vmsrc/apple/sossysjit.pla: 0325: BNE + - BNE + -; vmsrc/apple/sossysjit.pla: 0326: DEC DSTH - DEC DSTH -; vmsrc/apple/sossysjit.pla: 0327: DEC SRCH - DEC SRCH -; vmsrc/apple/sossysjit.pla: 0328: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0329: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/sossysjit.pla: 0330: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0331: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/sossysjit.pla: 0332: CPYMEX RTS -CPYMEX RTS -; vmsrc/apple/sossysjit.pla: 0333: end -; vmsrc/apple/sossysjit.pla: 0334: // -; vmsrc/apple/sossysjit.pla: 0335: // COPY FROM MAIN MEM TO EXT MEM. -; vmsrc/apple/sossysjit.pla: 0336: // -; vmsrc/apple/sossysjit.pla: 0337: // MEMXCPY(DSTSEG, SRC, SIZE) -; vmsrc/apple/sossysjit.pla: 0338: // -; vmsrc/apple/sossysjit.pla: 0339: asm memxcpy(dst,src,size)#0 -_A004 ; memxcpy() -; vmsrc/apple/sossysjit.pla: 0340: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0341: ORA ESTKH,X - ORA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0342: BEQ CPYXMEX - BEQ CPYXMEX -; vmsrc/apple/sossysjit.pla: 0343: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0344: STY DSTL - STY DSTL -; vmsrc/apple/sossysjit.pla: 0345: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/sossysjit.pla: 0346: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0347: ADC #$60 - ADC #$60 -; vmsrc/apple/sossysjit.pla: 0348: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0349: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/sossysjit.pla: 0350: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0351: ADC #$7F - ADC #$7F -; vmsrc/apple/sossysjit.pla: 0352: STA DSTX - STA DSTX -; vmsrc/apple/sossysjit.pla: 0353: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0354: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0355: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0356: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0357: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/sossysjit.pla: 0358: CPYXLP LDA (SRC),Y -CPYXLP LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0359: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0360: INY - INY -; vmsrc/apple/sossysjit.pla: 0361: BNE + - BNE + -; vmsrc/apple/sossysjit.pla: 0362: INC DSTH - INC DSTH -; vmsrc/apple/sossysjit.pla: 0363: INC SRCH - INC SRCH -; vmsrc/apple/sossysjit.pla: 0364: + DEC ESTKL,X -+ DEC ESTKL,X -; vmsrc/apple/sossysjit.pla: 0365: BNE CPYXLP - BNE CPYXLP -; vmsrc/apple/sossysjit.pla: 0366: DEC ESTKH,X - DEC ESTKH,X -; vmsrc/apple/sossysjit.pla: 0367: BNE CPYXLP - BNE CPYXLP -; vmsrc/apple/sossysjit.pla: 0368: LDA #$00 - LDA #$00 -; vmsrc/apple/sossysjit.pla: 0369: STA DSTX - STA DSTX -; vmsrc/apple/sossysjit.pla: 0370: CPYXMEX INX -CPYXMEX INX -; vmsrc/apple/sossysjit.pla: 0371: INX - INX -; vmsrc/apple/sossysjit.pla: 0372: INX - INX -; vmsrc/apple/sossysjit.pla: 0373: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0374: end -; vmsrc/apple/sossysjit.pla: 0375: // -; vmsrc/apple/sossysjit.pla: 0376: // POKE BYTE VAL INTO EXT MEM. -; vmsrc/apple/sossysjit.pla: 0377: // -; vmsrc/apple/sossysjit.pla: 0378: // XPOKEB(SEG, DST, BYTEVAL) -; vmsrc/apple/sossysjit.pla: 0379: // -; vmsrc/apple/sossysjit.pla: 0380: asm xpokeb(seg, dst, byteval)#0 -_A005 ; xpokeb() -; vmsrc/apple/sossysjit.pla: 0381: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0382: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0383: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0384: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0385: ADC #$60 - ADC #$60 -; vmsrc/apple/sossysjit.pla: 0386: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0387: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/sossysjit.pla: 0388: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0389: ADC #$7F - ADC #$7F -; vmsrc/apple/sossysjit.pla: 0390: STA DSTX - STA DSTX -; vmsrc/apple/sossysjit.pla: 0391: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0392: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0393: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0394: STY DSTX - STY DSTX -; vmsrc/apple/sossysjit.pla: 0395: INX - INX -; vmsrc/apple/sossysjit.pla: 0396: INX - INX -; vmsrc/apple/sossysjit.pla: 0397: INX - INX -; vmsrc/apple/sossysjit.pla: 0398: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0399: end -; vmsrc/apple/sossysjit.pla: 0400: // -; vmsrc/apple/sossysjit.pla: 0401: // Unsigned word comparisons. -; vmsrc/apple/sossysjit.pla: 0402: // -; vmsrc/apple/sossysjit.pla: 0403: asm uword_isge(a,b)#1 -_P021 ; uword_isge(a,b)#1() -_A006 ; uword_isge() -; vmsrc/apple/sossysjit.pla: 0404: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0405: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/sossysjit.pla: 0406: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0407: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/sossysjit.pla: 0408: LDA #$FF - LDA #$FF -; vmsrc/apple/sossysjit.pla: 0409: ADC #$00 - ADC #$00 -; vmsrc/apple/sossysjit.pla: 0410: EOR #$FF - EOR #$FF -; vmsrc/apple/sossysjit.pla: 0411: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0412: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0413: INX - INX -; vmsrc/apple/sossysjit.pla: 0414: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0415: end -; vmsrc/apple/sossysjit.pla: 0416: asm uword_isle(a,b)#1 -_P023 ; uword_isle(a,b)#1() -_A007 ; uword_isle() -; vmsrc/apple/sossysjit.pla: 0417: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0418: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0419: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0420: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0421: LDA #$FF - LDA #$FF -; vmsrc/apple/sossysjit.pla: 0422: ADC #$00 - ADC #$00 -; vmsrc/apple/sossysjit.pla: 0423: EOR #$FF - EOR #$FF -; vmsrc/apple/sossysjit.pla: 0424: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0425: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0426: INX - INX -; vmsrc/apple/sossysjit.pla: 0427: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0428: end -; vmsrc/apple/sossysjit.pla: 0429: asm uword_isgt(a,b)#1 -_P020 ; uword_isgt(a,b)#1() -_A008 ; uword_isgt() -; vmsrc/apple/sossysjit.pla: 0430: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0431: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0432: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0433: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0434: LDA #$FF - LDA #$FF -; vmsrc/apple/sossysjit.pla: 0435: ADC #$00 - ADC #$00 -; vmsrc/apple/sossysjit.pla: 0436: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0437: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0438: INX - INX -; vmsrc/apple/sossysjit.pla: 0439: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0440: end -; vmsrc/apple/sossysjit.pla: 0441: asm uword_islt(a,b)#1 -_P022 ; uword_islt(a,b)#1() -_A009 ; uword_islt() -; vmsrc/apple/sossysjit.pla: 0442: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0443: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/sossysjit.pla: 0444: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0445: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/sossysjit.pla: 0446: LDA #$FF - LDA #$FF -; vmsrc/apple/sossysjit.pla: 0447: ADC #$00 - ADC #$00 -; vmsrc/apple/sossysjit.pla: 0448: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0449: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0450: INX - INX -; vmsrc/apple/sossysjit.pla: 0451: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0452: end -; vmsrc/apple/sossysjit.pla: 0453: asm divmod(a,b)#2 -_P025 ; divmod(a,b)#2() -_A010 ; divmod() -; vmsrc/apple/sossysjit.pla: 0454: JSR INTERP ; CALL INTERP - JSR INTERP ; CALL INTERP -; vmsrc/apple/sossysjit.pla: 0455: !BYTE $36, $5C ; DIVMOD, RET - !BYTE $36, $5C ; DIVMOD, RET -; vmsrc/apple/sossysjit.pla: 0456: end -; vmsrc/apple/sossysjit.pla: 0457: asm sext(a)#1 -_P024 ; sext(a)#1() -_A011 ; sext() -; vmsrc/apple/sossysjit.pla: 0458: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0459: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0460: BPL + - BPL + -; vmsrc/apple/sossysjit.pla: 0461: DEY - DEY -; vmsrc/apple/sossysjit.pla: 0462: + STY ESTKH,X -+ STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0463: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0464: end -; vmsrc/apple/sossysjit.pla: 0465: // -; vmsrc/apple/sossysjit.pla: 0466: // A DCI string is one that has the high bit set for every character except the last. -; vmsrc/apple/sossysjit.pla: 0467: // More efficient than C or Pascal strings. -; vmsrc/apple/sossysjit.pla: 0468: // -; vmsrc/apple/sossysjit.pla: 0469: //def dcitos(dci, str) -; vmsrc/apple/sossysjit.pla: 0470: // byte len, c -; vmsrc/apple/sossysjit.pla: 0471: // len = 0 -; vmsrc/apple/sossysjit.pla: 0472: // repeat -; vmsrc/apple/sossysjit.pla: 0473: // c = (dci).[len] -; vmsrc/apple/sossysjit.pla: 0474: // len = len + 1 -; vmsrc/apple/sossysjit.pla: 0475: // (str).[len] = c & $7F -; vmsrc/apple/sossysjit.pla: 0476: // until !(c & $80) -; vmsrc/apple/sossysjit.pla: 0477: // ^str = len -; vmsrc/apple/sossysjit.pla: 0478: // return len -; vmsrc/apple/sossysjit.pla: 0479: //end -; vmsrc/apple/sossysjit.pla: 0480: asm dcitos(dci, str)#1 -_A012 ; dcitos() -; vmsrc/apple/sossysjit.pla: 0481: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0482: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0483: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0484: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0485: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0486: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0487: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0488: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0489: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0490: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0491: CMP #$80 - CMP #$80 -; vmsrc/apple/sossysjit.pla: 0492: AND #$7F - AND #$7F -; vmsrc/apple/sossysjit.pla: 0493: INY - INY -; vmsrc/apple/sossysjit.pla: 0494: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0495: BCS - - BCS - -; vmsrc/apple/sossysjit.pla: 0496: TYA - TYA -; vmsrc/apple/sossysjit.pla: 0497: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0498: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0499: INX - INX -; vmsrc/apple/sossysjit.pla: 0500: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0501: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0502: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0503: end -; vmsrc/apple/sossysjit.pla: 0504: //def stodci(str, dci) -; vmsrc/apple/sossysjit.pla: 0505: // byte len, c -; vmsrc/apple/sossysjit.pla: 0506: // len = ^str -; vmsrc/apple/sossysjit.pla: 0507: // if len == 0 -; vmsrc/apple/sossysjit.pla: 0508: // return -; vmsrc/apple/sossysjit.pla: 0509: // fin -; vmsrc/apple/sossysjit.pla: 0510: // c = toupper((str).[len]) & $7F -; vmsrc/apple/sossysjit.pla: 0511: // len = len - 1 -; vmsrc/apple/sossysjit.pla: 0512: // (dci).[len] = c -; vmsrc/apple/sossysjit.pla: 0513: // while len -; vmsrc/apple/sossysjit.pla: 0514: // c = toupper((str).[len]) | $80 -; vmsrc/apple/sossysjit.pla: 0515: // len = len - 1 -; vmsrc/apple/sossysjit.pla: 0516: // (dci).[len] = c -; vmsrc/apple/sossysjit.pla: 0517: // loop -; vmsrc/apple/sossysjit.pla: 0518: // return ^str -; vmsrc/apple/sossysjit.pla: 0519: //end -; vmsrc/apple/sossysjit.pla: 0520: asm stodci(str, dci)#1 -_A013 ; stodci() -; vmsrc/apple/sossysjit.pla: 0521: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0522: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0523: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0524: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0525: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0526: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0527: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0528: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0529: INX - INX -; vmsrc/apple/sossysjit.pla: 0530: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0531: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0532: BEQ ++ - BEQ ++ -; vmsrc/apple/sossysjit.pla: 0533: TAY - TAY -; vmsrc/apple/sossysjit.pla: 0534: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0535: JSR TOUPR - JSR TOUPR -; vmsrc/apple/sossysjit.pla: 0536: BNE + - BNE + -; vmsrc/apple/sossysjit.pla: 0537: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0538: JSR TOUPR - JSR TOUPR -; vmsrc/apple/sossysjit.pla: 0539: ORA #$80 - ORA #$80 -; vmsrc/apple/sossysjit.pla: 0540: + DEY -+ DEY -; vmsrc/apple/sossysjit.pla: 0541: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0542: BNE - - BNE - -; vmsrc/apple/sossysjit.pla: 0543: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0544: ++ STA ESTKL,X -++ STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0545: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0546: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0547: end -; vmsrc/apple/sossysjit.pla: 0548: asm toupper(c)#1 -_P010 ; toupper(c)#1() -_A014 ; toupper() -; vmsrc/apple/sossysjit.pla: 0549: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0550: TOUPR AND #$7F -TOUPR AND #$7F -; vmsrc/apple/sossysjit.pla: 0551: CMP #'a' - CMP #'a' -; vmsrc/apple/sossysjit.pla: 0552: BCC + - BCC + -; vmsrc/apple/sossysjit.pla: 0553: CMP #'z'+1 - CMP #'z'+1 -; vmsrc/apple/sossysjit.pla: 0554: BCS + - BCS + -; vmsrc/apple/sossysjit.pla: 0555: SBC #$1F - SBC #$1F -; vmsrc/apple/sossysjit.pla: 0556: + STA ESTKL,X -+ STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0557: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0558: end -; vmsrc/apple/sossysjit.pla: 0559: // -; vmsrc/apple/sossysjit.pla: 0560: // Lookup routines. -; vmsrc/apple/sossysjit.pla: 0561: // -; vmsrc/apple/sossysjit.pla: 0562: //def lookuptbl(dci, tbl) -; vmsrc/apple/sossysjit.pla: 0563: // word match -; vmsrc/apple/sossysjit.pla: 0564: // while ^tbl -; vmsrc/apple/sossysjit.pla: 0565: // match = dci -; vmsrc/apple/sossysjit.pla: 0566: // while ^tbl == ^match -; vmsrc/apple/sossysjit.pla: 0567: // if !(^tbl & $80) -; vmsrc/apple/sossysjit.pla: 0568: // return (tbl):1 -; vmsrc/apple/sossysjit.pla: 0569: // fin -; vmsrc/apple/sossysjit.pla: 0570: // tbl = tbl + 1 -; vmsrc/apple/sossysjit.pla: 0571: // match = match + 1 -; vmsrc/apple/sossysjit.pla: 0572: // loop -; vmsrc/apple/sossysjit.pla: 0573: // while (^tbl & $80) -; vmsrc/apple/sossysjit.pla: 0574: // tbl = tbl + 1 -; vmsrc/apple/sossysjit.pla: 0575: // loop -; vmsrc/apple/sossysjit.pla: 0576: // tbl = tbl + 3 -; vmsrc/apple/sossysjit.pla: 0577: // loop -; vmsrc/apple/sossysjit.pla: 0578: // return 0 -; vmsrc/apple/sossysjit.pla: 0579: asm lookuptbl(dci, tbl)#1 -_A015 ; lookuptbl() -; vmsrc/apple/sossysjit.pla: 0580: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0581: STY DSTL - STY DSTL -; vmsrc/apple/sossysjit.pla: 0582: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0583: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0584: ADC #$60 - ADC #$60 -; vmsrc/apple/sossysjit.pla: 0585: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0586: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0587: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0588: ADC #$7F - ADC #$7F -; vmsrc/apple/sossysjit.pla: 0589: STA DSTX - STA DSTX -; vmsrc/apple/sossysjit.pla: 0590: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0591: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0592: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0593: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0594: - LDA (DST),Y -- LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0595: BEQ + - BEQ + -; vmsrc/apple/sossysjit.pla: 0596: CMP (SRC),Y - CMP (SRC),Y -; vmsrc/apple/sossysjit.pla: 0597: BNE ++ - BNE ++ -; vmsrc/apple/sossysjit.pla: 0598: INY - INY -; vmsrc/apple/sossysjit.pla: 0599: ASL - ASL -; vmsrc/apple/sossysjit.pla: 0600: BCS - - BCS - -; vmsrc/apple/sossysjit.pla: 0601: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0602: PHA - PHA -; vmsrc/apple/sossysjit.pla: 0603: INY - INY -; vmsrc/apple/sossysjit.pla: 0604: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0605: TAY - TAY -; vmsrc/apple/sossysjit.pla: 0606: PLA - PLA -; vmsrc/apple/sossysjit.pla: 0607: + INX -+ INX -; vmsrc/apple/sossysjit.pla: 0608: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0609: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0610: LDA #$00 - LDA #$00 -; vmsrc/apple/sossysjit.pla: 0611: STA DSTX - STA DSTX -; vmsrc/apple/sossysjit.pla: 0612: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0613: ++ LDY #$00 -++ LDY #$00 -; vmsrc/apple/sossysjit.pla: 0614: -- LDA (DST),Y --- LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0615: INC DSTL - INC DSTL -; vmsrc/apple/sossysjit.pla: 0616: BEQ + - BEQ + -; vmsrc/apple/sossysjit.pla: 0617: --- ASL ---- ASL -; vmsrc/apple/sossysjit.pla: 0618: BCS -- - BCS -- -; vmsrc/apple/sossysjit.pla: 0619: LDA #$02 - LDA #$02 -; vmsrc/apple/sossysjit.pla: 0620: ADC DSTL - ADC DSTL -; vmsrc/apple/sossysjit.pla: 0621: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0622: BCC - - BCC - -; vmsrc/apple/sossysjit.pla: 0623: INC DSTH - INC DSTH -; vmsrc/apple/sossysjit.pla: 0624: BCS - - BCS - -; vmsrc/apple/sossysjit.pla: 0625: + INC DSTH -+ INC DSTH -; vmsrc/apple/sossysjit.pla: 0626: BNE --- - BNE --- -; vmsrc/apple/sossysjit.pla: 0627: end -; vmsrc/apple/sossysjit.pla: 0628: // def lookupidx(esd, index) -; vmsrc/apple/sossysjit.pla: 0629: // word sym -; vmsrc/apple/sossysjit.pla: 0630: // while ^esd -; vmsrc/apple/sossysjit.pla: 0631: // sym = esd -; vmsrc/apple/sossysjit.pla: 0632: // esd = sym + dcitos(sym, @str) -; vmsrc/apple/sossysjit.pla: 0633: // if esd->0 & $10 and esd->1 == index -; vmsrc/apple/sossysjit.pla: 0634: // return sym -; vmsrc/apple/sossysjit.pla: 0635: // fin -; vmsrc/apple/sossysjit.pla: 0636: // esd = esd + 3 -; vmsrc/apple/sossysjit.pla: 0637: // loop -; vmsrc/apple/sossysjit.pla: 0638: //end -; vmsrc/apple/sossysjit.pla: 0639: asm lookupidx(esd, index)#1 -_A016 ; lookupidx() -; vmsrc/apple/sossysjit.pla: 0640: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0641: STA TMPL - STA TMPL -; vmsrc/apple/sossysjit.pla: 0642: INX - INX -; vmsrc/apple/sossysjit.pla: 0643: --- LDA ESTKH,X ---- LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0644: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0645: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0646: -- STA SRCL --- STA SRCL -; vmsrc/apple/sossysjit.pla: 0647: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0648: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0649: BPL + - BPL + -; vmsrc/apple/sossysjit.pla: 0650: INY - INY -; vmsrc/apple/sossysjit.pla: 0651: BNE - - BNE - -; vmsrc/apple/sossysjit.pla: 0652: + BEQ ++ ; END OF ESD -+ BEQ ++ ; END OF ESD -; vmsrc/apple/sossysjit.pla: 0653: INY - INY -; vmsrc/apple/sossysjit.pla: 0654: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0655: INY - INY -; vmsrc/apple/sossysjit.pla: 0656: AND #$10 ; EXTERN FLAG? - AND #$10 ; EXTERN FLAG? -; vmsrc/apple/sossysjit.pla: 0657: BEQ + - BEQ + -; vmsrc/apple/sossysjit.pla: 0658: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0659: CMP TMPL - CMP TMPL -; vmsrc/apple/sossysjit.pla: 0660: BEQ +++ ; MATCH - BEQ +++ ; MATCH -; vmsrc/apple/sossysjit.pla: 0661: + INY -+ INY -; vmsrc/apple/sossysjit.pla: 0662: TYA - TYA -; vmsrc/apple/sossysjit.pla: 0663: SEC - SEC -; vmsrc/apple/sossysjit.pla: 0664: ADC SRCL - ADC SRCL -; vmsrc/apple/sossysjit.pla: 0665: STA ESTKL,X ; SYM PTRL - STA ESTKL,X ; SYM PTRL -; vmsrc/apple/sossysjit.pla: 0666: BCC -- - BCC -- -; vmsrc/apple/sossysjit.pla: 0667: INC ESTKH,X ; SYM PTRH - INC ESTKH,X ; SYM PTRH -; vmsrc/apple/sossysjit.pla: 0668: BNE --- - BNE --- -; vmsrc/apple/sossysjit.pla: 0669: ++ STA ESTKL,X ; END OF ESD -++ STA ESTKL,X ; END OF ESD -; vmsrc/apple/sossysjit.pla: 0670: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0671: +++ RTS -+++ RTS -; vmsrc/apple/sossysjit.pla: 0672: end -; vmsrc/apple/sossysjit.pla: 0673: //def lookupdef(addr, deftbl)#1 -; vmsrc/apple/sossysjit.pla: 0674: // while deftbl->0 == $20 -; vmsrc/apple/sossysjit.pla: 0675: // if deftbl=>3 == addr -; vmsrc/apple/sossysjit.pla: 0676: // return deftbl -; vmsrc/apple/sossysjit.pla: 0677: // fin -; vmsrc/apple/sossysjit.pla: 0678: // deftbl = deftbl + t_defentry -; vmsrc/apple/sossysjit.pla: 0679: // loop -; vmsrc/apple/sossysjit.pla: 0680: // return 0 -; vmsrc/apple/sossysjit.pla: 0681: //end -; vmsrc/apple/sossysjit.pla: 0682: asm lookupdef(addr, deftbl)#1 -_A017 ; lookupdef() -; vmsrc/apple/sossysjit.pla: 0683: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0684: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0685: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0686: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0687: INX - INX -; vmsrc/apple/sossysjit.pla: 0688: - LDY #$00 -- LDY #$00 -; vmsrc/apple/sossysjit.pla: 0689: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0690: CMP #$20 ; JSR OPCODE? - CMP #$20 ; JSR OPCODE? -; vmsrc/apple/sossysjit.pla: 0691: BNE ++ - BNE ++ -; vmsrc/apple/sossysjit.pla: 0692: LDY #$03 - LDY #$03 -; vmsrc/apple/sossysjit.pla: 0693: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0694: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/sossysjit.pla: 0695: BNE + - BNE + -; vmsrc/apple/sossysjit.pla: 0696: INY - INY -; vmsrc/apple/sossysjit.pla: 0697: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0698: CMP ESTKH,X - CMP ESTKH,X -; vmsrc/apple/sossysjit.pla: 0699: BNE + - BNE + -; vmsrc/apple/sossysjit.pla: 0700: LDA SRCL ; MATCH - LDA SRCL ; MATCH -; vmsrc/apple/sossysjit.pla: 0701: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0702: LDA SRCH - LDA SRCH -; vmsrc/apple/sossysjit.pla: 0703: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0704: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0705: + LDA #$08 ; T_DEFENTRY -+ LDA #$08 ; T_DEFENTRY -; vmsrc/apple/sossysjit.pla: 0706: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0707: ADC SRCL - ADC SRCL -; vmsrc/apple/sossysjit.pla: 0708: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0709: BCC - - BCC - -; vmsrc/apple/sossysjit.pla: 0710: INC SRCH - INC SRCH -; vmsrc/apple/sossysjit.pla: 0711: BNE - - BNE - -; vmsrc/apple/sossysjit.pla: 0712: ++ STY ESTKL,X -++ STY ESTKL,X -; vmsrc/apple/sossysjit.pla: 0713: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0714: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0715: end -; vmsrc/apple/sossysjit.pla: 0716: // -; vmsrc/apple/sossysjit.pla: 0717: // Reloc internal data -; vmsrc/apple/sossysjit.pla: 0718: // -; vmsrc/apple/sossysjit.pla: 0719: //def reloc(modfix, modofst, bytecode, rld)#3 -; vmsrc/apple/sossysjit.pla: 0720: // word addr, fixup -; vmsrc/apple/sossysjit.pla: 0721: // while ^rld -; vmsrc/apple/sossysjit.pla: 0722: // if ^rld & $10 // EXTERN reference. -; vmsrc/apple/sossysjit.pla: 0723: // return rld, addr, fixup -; vmsrc/apple/sossysjit.pla: 0724: // fin -; vmsrc/apple/sossysjit.pla: 0725: // addr = rld=>1 + modfix -; vmsrc/apple/sossysjit.pla: 0726: // fixup = *addr + modofst -; vmsrc/apple/sossysjit.pla: 0727: // if uword_isge(fixup, bytecode) // Bytecode address. -; vmsrc/apple/sossysjit.pla: 0728: // return rld, addr, fixup -; vmsrc/apple/sossysjit.pla: 0729: // fin -; vmsrc/apple/sossysjit.pla: 0730: // *addr = fixup -; vmsrc/apple/sossysjit.pla: 0731: // rld = rld + 4 -; vmsrc/apple/sossysjit.pla: 0732: // loop -; vmsrc/apple/sossysjit.pla: 0733: // return rld, addr, fixup -; vmsrc/apple/sossysjit.pla: 0734: //end -; vmsrc/apple/sossysjit.pla: 0735: asm reloc(modfix, modofst, bytecode, rld)#3 -_A018 ; reloc() -; vmsrc/apple/sossysjit.pla: 0736: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0737: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0738: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0739: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0740: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0741: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0742: BEQ RLDEX ; END OF RLD - BEQ RLDEX ; END OF RLD -; vmsrc/apple/sossysjit.pla: 0743: PHA - PHA -; vmsrc/apple/sossysjit.pla: 0744: INY - INY -; vmsrc/apple/sossysjit.pla: 0745: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0746: INY - INY -; vmsrc/apple/sossysjit.pla: 0747: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0748: ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX - ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX -; vmsrc/apple/sossysjit.pla: 0749: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0750: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0751: ADC ESTKH+3,X - ADC ESTKH+3,X -; vmsrc/apple/sossysjit.pla: 0752: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0753: PLA - PLA -; vmsrc/apple/sossysjit.pla: 0754: AND #$10 ; EXTERN REF - EXIT - AND #$10 ; EXTERN REF - EXIT -; vmsrc/apple/sossysjit.pla: 0755: BNE RLDEX - BNE RLDEX -; vmsrc/apple/sossysjit.pla: 0756: TAY ; FIXUP=*ADDR+MODOFST - TAY ; FIXUP=*ADDR+MODOFST -; vmsrc/apple/sossysjit.pla: 0757: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0758: INY - INY -; vmsrc/apple/sossysjit.pla: 0759: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0760: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/sossysjit.pla: 0761: STA TMPL - STA TMPL -; vmsrc/apple/sossysjit.pla: 0762: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0763: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/sossysjit.pla: 0764: CMP ESTKH+1,X ; FIXUP >= BYTECODE? - CMP ESTKH+1,X ; FIXUP >= BYTECODE? -; vmsrc/apple/sossysjit.pla: 0765: BCC + - BCC + -; vmsrc/apple/sossysjit.pla: 0766: STA TMPH - STA TMPH -; vmsrc/apple/sossysjit.pla: 0767: BNE RLDEX ; YEP, EXIT - BNE RLDEX ; YEP, EXIT -; vmsrc/apple/sossysjit.pla: 0768: LDA TMPL - LDA TMPL -; vmsrc/apple/sossysjit.pla: 0769: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0770: BCS RLDEX ; YEP, EXIT - BCS RLDEX ; YEP, EXIT -; vmsrc/apple/sossysjit.pla: 0771: LDA TMPH - LDA TMPH -; vmsrc/apple/sossysjit.pla: 0772: + STA (DST),Y ; *ADDR=FIXUP -+ STA (DST),Y ; *ADDR=FIXUP -; vmsrc/apple/sossysjit.pla: 0773: DEY - DEY -; vmsrc/apple/sossysjit.pla: 0774: LDA TMPL - LDA TMPL -; vmsrc/apple/sossysjit.pla: 0775: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0776: LDA SRCL ; NEXT ENTRY - LDA SRCL ; NEXT ENTRY -; vmsrc/apple/sossysjit.pla: 0777: ; CLC -; CLC -; vmsrc/apple/sossysjit.pla: 0778: ADC #$04 - ADC #$04 -; vmsrc/apple/sossysjit.pla: 0779: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0780: BCC - - BCC - -; vmsrc/apple/sossysjit.pla: 0781: INC SRCH - INC SRCH -; vmsrc/apple/sossysjit.pla: 0782: BNE - - BNE - -; vmsrc/apple/sossysjit.pla: 0783: RLDEX INX -RLDEX INX -; vmsrc/apple/sossysjit.pla: 0784: LDA TMPL - LDA TMPL -; vmsrc/apple/sossysjit.pla: 0785: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0786: LDA TMPH - LDA TMPH -; vmsrc/apple/sossysjit.pla: 0787: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0788: LDA DSTL - LDA DSTL -; vmsrc/apple/sossysjit.pla: 0789: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0790: LDA DSTH - LDA DSTH -; vmsrc/apple/sossysjit.pla: 0791: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0792: LDA SRCL - LDA SRCL -; vmsrc/apple/sossysjit.pla: 0793: STA ESTKL+2,X - STA ESTKL+2,X -; vmsrc/apple/sossysjit.pla: 0794: LDA SRCH - LDA SRCH -; vmsrc/apple/sossysjit.pla: 0795: STA ESTKH+2,X - STA ESTKH+2,X -; vmsrc/apple/sossysjit.pla: 0796: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0797: end -; vmsrc/apple/sossysjit.pla: 0798: // -; vmsrc/apple/sossysjit.pla: 0799: // SOS routines -; vmsrc/apple/sossysjit.pla: 0800: // FILE I/O -; vmsrc/apple/sossysjit.pla: 0801: // -; vmsrc/apple/sossysjit.pla: 0802: def open(path)#1 - ; path -> [0] -_P027 ; open(path)#1() -_C000 ; open() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0803: byte params[7] - ; params -> [2] -; vmsrc/apple/sossysjit.pla: 0804: -; vmsrc/apple/sossysjit.pla: 0805: params.0 = 4 - !BYTE $58,$09,$01 ; ENTER 9,1 -; vmsrc/apple/sossysjit.pla: 0806: params:1 = path -; vmsrc/apple/sossysjit.pla: 0807: params.3 = 0 -; vmsrc/apple/sossysjit.pla: 0808: params:4 = 0 -; vmsrc/apple/sossysjit.pla: 0809: params.6 = 0 -; vmsrc/apple/sossysjit.pla: 0810: perr = syscall($C8, @params) -; vmsrc/apple/sossysjit.pla: 0811: 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 -_F062 !WORD _A000 - !BYTE $78 ; SAB _D034+0 -_F063 !WORD _D034+0 - !BYTE $64,$05 ; LLB [5] - !BYTE $5A,$09 ; LEAVE 9 -; vmsrc/apple/sossysjit.pla: 0812: end -; vmsrc/apple/sossysjit.pla: 0813: def close(refnum)#1 - ; refnum -> [0] -_P028 ; close(refnum)#1() -_C001 ; close() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0814: byte params[2] - ; params -> [2] -; vmsrc/apple/sossysjit.pla: 0815: -; vmsrc/apple/sossysjit.pla: 0816: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/sossysjit.pla: 0817: params.1 = refnum -; vmsrc/apple/sossysjit.pla: 0818: perr = syscall($CC, @params) -; vmsrc/apple/sossysjit.pla: 0819: 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 -_F064 !WORD _A000 - !BYTE $7C ; DAB _D034+0 -_F065 !WORD _D034+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossysjit.pla: 0820: end -; vmsrc/apple/sossysjit.pla: 0821: def read(refnum, buff, len)#1 - ; refnum -> [0] - ; buff -> [2] - ; len -> [4] -_P029 ; read(refnum, buff, len)#1() -_C002 ; read() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0822: byte params[8] - ; params -> [6] -; vmsrc/apple/sossysjit.pla: 0823: -; vmsrc/apple/sossysjit.pla: 0824: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; vmsrc/apple/sossysjit.pla: 0825: params.1 = refnum -; vmsrc/apple/sossysjit.pla: 0826: params:2 = buff -; vmsrc/apple/sossysjit.pla: 0827: params:4 = len -; vmsrc/apple/sossysjit.pla: 0828: params:6 = 0 -; vmsrc/apple/sossysjit.pla: 0829: perr = syscall($CA, @params) -; vmsrc/apple/sossysjit.pla: 0830: 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 -_F066 !WORD _A000 - !BYTE $78 ; SAB _D034+0 -_F067 !WORD _D034+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; vmsrc/apple/sossysjit.pla: 0831: end -; vmsrc/apple/sossysjit.pla: 0832: def write(refnum, buff, len)#1 - ; refnum -> [0] - ; buff -> [2] - ; len -> [4] -_P030 ; write(refnum, buff, len)#1() -_C003 ; write() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0833: byte params[6] - ; params -> [6] -; vmsrc/apple/sossysjit.pla: 0834: -; vmsrc/apple/sossysjit.pla: 0835: params.0 = 3 - !BYTE $58,$0C,$03 ; ENTER 12,3 -; vmsrc/apple/sossysjit.pla: 0836: params.1 = refnum -; vmsrc/apple/sossysjit.pla: 0837: params:2 = buff -; vmsrc/apple/sossysjit.pla: 0838: params:4 = len -; vmsrc/apple/sossysjit.pla: 0839: perr = syscall($CB, @params) -; vmsrc/apple/sossysjit.pla: 0840: 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 -_F068 !WORD _A000 - !BYTE $7C ; DAB _D034+0 -_F069 !WORD _D034+0 - !BYTE $5A,$0C ; LEAVE 12 -; vmsrc/apple/sossysjit.pla: 0841: end -; vmsrc/apple/sossysjit.pla: 0842: // -; vmsrc/apple/sossysjit.pla: 0843: // CONSOLE I/O -; vmsrc/apple/sossysjit.pla: 0844: // -; vmsrc/apple/sossysjit.pla: 0845: def dev_control(devnum, code, list)#1 - ; devnum -> [0] - ; code -> [2] - ; list -> [4] -_C004 ; dev_control() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0846: byte params[5] - ; params -> [6] -; vmsrc/apple/sossysjit.pla: 0847: -; vmsrc/apple/sossysjit.pla: 0848: params.0 = 3 - !BYTE $58,$0B,$03 ; ENTER 11,3 -; vmsrc/apple/sossysjit.pla: 0849: params.1 = devnum -; vmsrc/apple/sossysjit.pla: 0850: params.2 = code -; vmsrc/apple/sossysjit.pla: 0851: params:3 = list -; vmsrc/apple/sossysjit.pla: 0852: 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 -_F070 !WORD _A000 - !BYTE $5A,$0B ; LEAVE 11 -; vmsrc/apple/sossysjit.pla: 0853: end -; vmsrc/apple/sossysjit.pla: 0854: def dev_getnum(name)#1 - ; name -> [0] -_C005 ; dev_getnum() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0855: byte params[4] - ; params -> [2] -; vmsrc/apple/sossysjit.pla: 0856: -; vmsrc/apple/sossysjit.pla: 0857: params.0 = 2 - !BYTE $58,$06,$01 ; ENTER 6,1 -; vmsrc/apple/sossysjit.pla: 0858: params:1 = name -; vmsrc/apple/sossysjit.pla: 0859: params.3 = 0 -; vmsrc/apple/sossysjit.pla: 0860: syscall($84, @params) -; vmsrc/apple/sossysjit.pla: 0861: 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 -_F071 !WORD _A000 - !BYTE $30 ; DROP - !BYTE $64,$05 ; LLB [5] - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/sossysjit.pla: 0862: end -; vmsrc/apple/sossysjit.pla: 0863: def init_cons()#0 -_C006 ; init_cons() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0864: byte nlmode[2] - ; nlmode -> [0] -; vmsrc/apple/sossysjit.pla: 0865: -; vmsrc/apple/sossysjit.pla: 0866: refcons = open(@console) - !BYTE $58,$02,$00 ; ENTER 2,0 -; vmsrc/apple/sossysjit.pla: 0867: devcons = dev_getnum(@console) -; vmsrc/apple/sossysjit.pla: 0868: nlmode:0 = $0D80 -; vmsrc/apple/sossysjit.pla: 0869: //nlmode.0 = $80 -; vmsrc/apple/sossysjit.pla: 0870: //nlmode.1 = $0D -; vmsrc/apple/sossysjit.pla: 0871: dev_control(devcons, $02, @nlmode) -; vmsrc/apple/sossysjit.pla: 0872: write(refcons, @textmode, 3) -; vmsrc/apple/sossysjit.pla: 0873: end - !BYTE $26 ; LA _D041+0 -_F072 !WORD _D041+0 - !BYTE $54 ; CALL _C000 -_F073 !WORD _C000 - !BYTE $78 ; SAB _D037+0 -_F074 !WORD _D037+0 - !BYTE $26 ; LA _D041+0 -_F075 !WORD _D041+0 - !BYTE $54 ; CALL _C005 -_F076 !WORD _C005 - !BYTE $78 ; SAB _D038+0 -_F077 !WORD _D038+0 - !BYTE $2C,$80,$0D ; CW 3456 - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D038+0 -_F078 !WORD _D038+0 - !BYTE $04 ; CN 2 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C004 -_F079 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D037+0 -_F080 !WORD _D037+0 - !BYTE $26 ; LA _D042+0 -_F081 !WORD _D042+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C003 -_F082 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0874: // -; vmsrc/apple/sossysjit.pla: 0875: // MEMORY CALLS -; vmsrc/apple/sossysjit.pla: 0876: // -; vmsrc/apple/sossysjit.pla: 0877: def seg_find(search, pages, id)#3 - ; search -> [0] - ; pages -> [2] - ; id -> [4] -_C007 ; seg_find() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0878: byte params[10] - ; params -> [6] -; vmsrc/apple/sossysjit.pla: 0879: -; vmsrc/apple/sossysjit.pla: 0880: params.0 = 6 - !BYTE $58,$10,$03 ; ENTER 16,3 -; vmsrc/apple/sossysjit.pla: 0881: params.1 = search -; vmsrc/apple/sossysjit.pla: 0882: params.2 = id -; vmsrc/apple/sossysjit.pla: 0883: params:3 = pages -; vmsrc/apple/sossysjit.pla: 0884: params:5 = 0 -; vmsrc/apple/sossysjit.pla: 0885: params:7 = 0 -; vmsrc/apple/sossysjit.pla: 0886: params.9 = 0 -; vmsrc/apple/sossysjit.pla: 0887: perr = syscall($41, @params) -; vmsrc/apple/sossysjit.pla: 0888: 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 -_F083 !WORD _A000 - !BYTE $78 ; SAB _D034+0 -_F084 !WORD _D034+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: 0889: end -; vmsrc/apple/sossysjit.pla: 0890: def seg_release(segnum)#1 - ; segnum -> [0] -_C008 ; seg_release() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0891: byte params[2] - ; params -> [2] -; vmsrc/apple/sossysjit.pla: 0892: -; vmsrc/apple/sossysjit.pla: 0893: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/sossysjit.pla: 0894: params.1 = segnum -; vmsrc/apple/sossysjit.pla: 0895: perr = syscall($45, @params) -; vmsrc/apple/sossysjit.pla: 0896: 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 -_F085 !WORD _A000 - !BYTE $7C ; DAB _D034+0 -_F086 !WORD _D034+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossysjit.pla: 0897: end -; vmsrc/apple/sossysjit.pla: 0898: // -; vmsrc/apple/sossysjit.pla: 0899: // CONSOLE I/O -; vmsrc/apple/sossysjit.pla: 0900: // -; vmsrc/apple/sossysjit.pla: 0901: def cout(ch)#0 - ; ch -> [0] -_P003 ; cout(ch)#0() -_C009 ; cout() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0902: byte nc - ; nc -> [2] -; vmsrc/apple/sossysjit.pla: 0903: -; vmsrc/apple/sossysjit.pla: 0904: nc = 1 - !BYTE $58,$03,$01 ; ENTER 3,1 -; vmsrc/apple/sossysjit.pla: 0905: if ch == $0D -; vmsrc/apple/sossysjit.pla: 0906: ch = $0A0D -; vmsrc/apple/sossysjit.pla: 0907: nc = 2 -; vmsrc/apple/sossysjit.pla: 0908: 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: 0909: write(refcons, @ch, nc) -; vmsrc/apple/sossysjit.pla: 0910: end - !BYTE $68 ; LAB _D037+0 -_F087 !WORD _D037+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _C003 -_F088 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/sossysjit.pla: 0911: def crout()#0 -_P002 ; crout()#0() -_C010 ; crout() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0912: cout($0D) -; vmsrc/apple/sossysjit.pla: 0913: end - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _C009 -_F089 !WORD _C009 - !BYTE $5C ; RET -; vmsrc/apple/sossysjit.pla: 0914: def cin()#1 -_P008 ; cin()#1() -_C011 ; cin() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0915: byte ch - ; ch -> [0] -; vmsrc/apple/sossysjit.pla: 0916: read(refcons, @ch, 1) - !BYTE $58,$01,$00 ; ENTER 1,0 -; vmsrc/apple/sossysjit.pla: 0917: return ch & $7F - !BYTE $68 ; LAB _D037+0 -_F090 !WORD _D037+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C002 -_F091 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/sossysjit.pla: 0918: end -; vmsrc/apple/sossysjit.pla: 0919: def prstr(str)#0 - ; str -> [0] -_P004 ; prstr(str)#0() -_C012 ; prstr() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0920: write(refcons, str + 1, ^str) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossysjit.pla: 0921: if str->[^str] == $0D -; vmsrc/apple/sossysjit.pla: 0922: cout($0A) -; vmsrc/apple/sossysjit.pla: 0923: fin - !BYTE $68 ; LAB _D037+0 -_F092 !WORD _D037+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C003 -_F093 !WORD _C003 - !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 _C009 -_F094 !WORD _C009 -_B003 -_B004 -; vmsrc/apple/sossysjit.pla: 0924: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0925: def print(i)#0 - ; i -> [0] -_P005 ; print(i)#0() -_C013 ; print() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0926: 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 _C009 -_F095 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $76,$00 ; SLW [0] -_B005 -_B006 -; vmsrc/apple/sossysjit.pla: 0927: 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 _C013 -_F096 !WORD _C013 -_B007 -_B008 -; vmsrc/apple/sossysjit.pla: 0928: cout(i % 10 + '0') -; vmsrc/apple/sossysjit.pla: 0929: end - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $8A ; MOD - !BYTE $38,$30 ; ADDI 48 - !BYTE $54 ; CALL _C009 -_F097 !WORD _C009 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0930: def rdstr(prompt)#1 - ; prompt -> [0] -_P009 ; rdstr(prompt)#1() -_C014 ; rdstr() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0931: cout(prompt) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossysjit.pla: 0932: ^instr = read(refcons, instr+1, 128) -; vmsrc/apple/sossysjit.pla: 0933: if instr->[^instr] == $0D -; vmsrc/apple/sossysjit.pla: 0934: ^instr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F098 !WORD _C009 - !BYTE $68 ; LAB _D037+0 -_F099 !WORD _D037+0 - !BYTE $2C,$21,$A0 ; CW 40993 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C002 -_F100 !WORD _C002 - !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: 0935: fin - !BYTE $78,$20,$A0 ; SAB 40992 -_B009 -_B010 -; vmsrc/apple/sossysjit.pla: 0936: crout -; vmsrc/apple/sossysjit.pla: 0937: return instr - !BYTE $54 ; CALL _C010 -_F101 !WORD _C010 - !BYTE $2C,$20,$A0 ; CW 40992 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0938: end -; vmsrc/apple/sossysjit.pla: 0939: def prbyte(v)#0 - ; v -> [0] -_P006 ; prbyte(v)#0() -_C015 ; prbyte() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0940: cout(hexchar[(v >> 4) & $0F]) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossysjit.pla: 0941: cout(hexchar[v & $0F]) -; vmsrc/apple/sossysjit.pla: 0942: end - !BYTE $26 ; LA _D039+0 -_F102 !WORD _D039+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 _C009 -_F103 !WORD _C009 - !BYTE $26 ; LA _D039+0 -_F104 !WORD _D039+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _C009 -_F105 !WORD _C009 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0943: def prword(v)#0 - ; v -> [0] -_P007 ; prword(v)#0() -_C016 ; prword() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0944: prbyte(v >> 8) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossysjit.pla: 0945: prbyte(v) -; vmsrc/apple/sossysjit.pla: 0946: end - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C015 -_F106 !WORD _C015 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C015 -_F107 !WORD _C015 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0947: // -; vmsrc/apple/sossysjit.pla: 0948: // Heap routines. -; vmsrc/apple/sossysjit.pla: 0949: // -; vmsrc/apple/sossysjit.pla: 0950: def availheap()#1 -_P017 ; availheap()#1() -_C017 ; availheap() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0951: byte fp - ; fp -> [0] -; vmsrc/apple/sossysjit.pla: 0952: return @fp - heap - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D077+0 -_F108 !WORD _D077+0 - !BYTE $84 ; SUB - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/sossysjit.pla: 0953: end -; vmsrc/apple/sossysjit.pla: 0954: def allocheap(size)#1 - ; size -> [0] -_P014 ; allocheap(size)#1() -_C018 ; allocheap() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0955: word addr - ; addr -> [2] -; vmsrc/apple/sossysjit.pla: 0956: addr = heap - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/sossysjit.pla: 0957: heap = heap + size -; vmsrc/apple/sossysjit.pla: 0958: if uword_isge(heap, @addr) -; vmsrc/apple/sossysjit.pla: 0959: heap = addr -; vmsrc/apple/sossysjit.pla: 0960: return 0 - !BYTE $6A ; LAW _D077+0 -_F109 !WORD _D077+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D077+0 -_F110 !WORD _D077+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D077+0 -_F111 !WORD _D077+0 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A006 -_F112 !WORD _A006 - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D077+0 -_F113 !WORD _D077+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossysjit.pla: 0961: fin -_B011 -_B012 -; vmsrc/apple/sossysjit.pla: 0962: return addr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossysjit.pla: 0963: end -; vmsrc/apple/sossysjit.pla: 0964: def allocalignheap(size, pow2, freeaddr)#1 - ; size -> [0] - ; pow2 -> [2] - ; freeaddr -> [4] -_P015 ; allocalignheap(size, pow2, freeaddr)#1() -_C019 ; allocalignheap() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0965: word align, addr - ; align -> [6] - ; addr -> [8] -; vmsrc/apple/sossysjit.pla: 0966: if freeaddr - !BYTE $58,$0A,$03 ; ENTER 10,3 -; vmsrc/apple/sossysjit.pla: 0967: *freeaddr = heap -; vmsrc/apple/sossysjit.pla: 0968: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $6A ; LAW _D077+0 -_F114 !WORD _D077+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B013 -_B014 -; vmsrc/apple/sossysjit.pla: 0969: align = (1 << pow2) - 1 -; vmsrc/apple/sossysjit.pla: 0970: addr = (heap | align) + 1 -; vmsrc/apple/sossysjit.pla: 0971: heap = addr + size -; vmsrc/apple/sossysjit.pla: 0972: if uword_isge(heap, @addr) -; vmsrc/apple/sossysjit.pla: 0973: 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 _D077+0 -_F115 !WORD _D077+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 _D077+0 -_F116 !WORD _D077+0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A006 -_F117 !WORD _A006 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/sossysjit.pla: 0974: fin -_B015 -_B016 -; vmsrc/apple/sossysjit.pla: 0975: return addr - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/sossysjit.pla: 0976: end -; vmsrc/apple/sossysjit.pla: 0977: def markheap()#1 -_P013 ; markheap()#1() -_C020 ; markheap() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0978: return heap - !BYTE $6A ; LAW _D077+0 -_F118 !WORD _D077+0 - !BYTE $5C ; RET -; vmsrc/apple/sossysjit.pla: 0979: end -; vmsrc/apple/sossysjit.pla: 0980: def releaseheap(newheap)#1 - ; newheap -> [0] -_P016 ; releaseheap(newheap)#1() -_C021 ; releaseheap() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0981: heap = newheap - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossysjit.pla: 0982: return @newheap - heap - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D077+0 -_F119 !WORD _D077+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D077+0 -_F120 !WORD _D077+0 - !BYTE $84 ; SUB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0983: end -; vmsrc/apple/sossysjit.pla: 0984: // -; vmsrc/apple/sossysjit.pla: 0985: // Symbol table routines. -; vmsrc/apple/sossysjit.pla: 0986: // -; vmsrc/apple/sossysjit.pla: 0987: def addsym(sym, addr)#0 - ; sym -> [0] - ; addr -> [2] -_C022 ; addsym() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0988: while ^sym & $80 - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -_B017 -; vmsrc/apple/sossysjit.pla: 0989: xpokeb(symtbl.0, lastsym, ^sym) -; vmsrc/apple/sossysjit.pla: 0990: lastsym = lastsym + 1 -; vmsrc/apple/sossysjit.pla: 0991: sym = sym + 1 -; vmsrc/apple/sossysjit.pla: 0992: loop - !BYTE $68 ; LAB _D081+0 -_F121 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F122 !WORD _D082+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A005 -_F123 !WORD _A005 - !BYTE $6A ; LAW _D082+0 -_F124 !WORD _D082+0 - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D082+0 -_F125 !WORD _D082+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: 0993: xpokeb(symtbl.0, lastsym, ^sym) -; vmsrc/apple/sossysjit.pla: 0994: xpokeb(symtbl.0, lastsym + 1, addr.0) -; vmsrc/apple/sossysjit.pla: 0995: xpokeb(symtbl.0, lastsym + 2, addr.1) -; vmsrc/apple/sossysjit.pla: 0996: xpokeb(symtbl.0, lastsym + 3, 0) -; vmsrc/apple/sossysjit.pla: 0997: lastsym = lastsym + 3 -; vmsrc/apple/sossysjit.pla: 0998: end - !BYTE $68 ; LAB _D081+0 -_F126 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F127 !WORD _D082+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A005 -_F128 !WORD _A005 - !BYTE $68 ; LAB _D081+0 -_F129 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F130 !WORD _D082+0 - !BYTE $8C ; INCR - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _A005 -_F131 !WORD _A005 - !BYTE $68 ; LAB _D081+0 -_F132 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F133 !WORD _D082+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _A005 -_F134 !WORD _A005 - !BYTE $68 ; LAB _D081+0 -_F135 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F136 !WORD _D082+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A005 -_F137 !WORD _A005 - !BYTE $6A ; LAW _D082+0 -_F138 !WORD _D082+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D082+0 -_F139 !WORD _D082+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossysjit.pla: 0999: // -; vmsrc/apple/sossysjit.pla: 1000: // String routines. -; vmsrc/apple/sossysjit.pla: 1001: // -; vmsrc/apple/sossysjit.pla: 1002: def strcpy(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P011 ; strcpy(dst, src)#1() -_C023 ; strcpy() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1003: memcpy(dst+1, src+1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/sossysjit.pla: 1004: ^dst = ^src -; vmsrc/apple/sossysjit.pla: 1005: 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 -_F140 !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: 1006: end -; vmsrc/apple/sossysjit.pla: 1007: def strcat(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P012 ; strcat(dst, src)#1() -_C024 ; strcat() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1008: memcpy(dst + ^dst + 1, src + 1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/sossysjit.pla: 1009: ^dst = ^dst + ^src -; vmsrc/apple/sossysjit.pla: 1010: 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 -_F141 !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: 1011: end -; vmsrc/apple/sossysjit.pla: 1012: // -; vmsrc/apple/sossysjit.pla: 1013: // Module routines. -; vmsrc/apple/sossysjit.pla: 1014: // -; vmsrc/apple/sossysjit.pla: 1015: def lookupextern(esd, index)#1 - ; esd -> [0] - ; index -> [2] -_C025 ; lookupextern() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1016: word sym, addr - ; sym -> [4] - ; addr -> [6] -; vmsrc/apple/sossysjit.pla: 1017: byte str[33] - ; str -> [8] -; vmsrc/apple/sossysjit.pla: 1018: sym = lookupidx(esd, index) - !BYTE $58,$29,$02 ; ENTER 41,2 -; vmsrc/apple/sossysjit.pla: 1019: if sym -; vmsrc/apple/sossysjit.pla: 1020: addr = lookuptbl(sym, symtbl) -; vmsrc/apple/sossysjit.pla: 1021: if !addr -; vmsrc/apple/sossysjit.pla: 1022: perr = $81 -; vmsrc/apple/sossysjit.pla: 1023: dcitos(sym, @str) -; vmsrc/apple/sossysjit.pla: 1024: cout('?'); prstr(@str); crout -; vmsrc/apple/sossysjit.pla: 1025: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A016 -_F142 !WORD _A016 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D081+0 -_F143 !WORD _D081+0 - !BYTE $54 ; CALL _A015 -_F144 !WORD _A015 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B022 - !WORD _B022-* - !BYTE $2A,$81 ; CB 129 - !BYTE $78 ; SAB _D034+0 -_F145 !WORD _D034+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A012 -_F146 !WORD _A012 - !BYTE $30 ; DROP - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _C009 -_F147 !WORD _C009 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _C012 -_F148 !WORD _C012 - !BYTE $54 ; CALL _C010 -_F149 !WORD _C010 -_B022 -_B023 -; vmsrc/apple/sossysjit.pla: 1026: return addr - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/sossysjit.pla: 1027: fin -_B020 -_B021 -; vmsrc/apple/sossysjit.pla: 1028: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/sossysjit.pla: 1029: end -; vmsrc/apple/sossysjit.pla: 1030: def adddef(isfirst, ext, addr, deflast)#1 - ; isfirst -> [0] - ; ext -> [2] - ; addr -> [4] - ; deflast -> [6] -_C026 ; adddef() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1031: word preventry, defentry, defsize - ; preventry -> [8] - ; defentry -> [10] - ; defsize -> [12] -; vmsrc/apple/sossysjit.pla: 1032: defentry = *deflast - !BYTE $58,$0E,$04 ; ENTER 14,4 -; vmsrc/apple/sossysjit.pla: 1033: *deflast = defentry + t_defentry -; vmsrc/apple/sossysjit.pla: 1034: if not isfirst -; vmsrc/apple/sossysjit.pla: 1035: preventry = defentry - t_defentry -; vmsrc/apple/sossysjit.pla: 1036: defsize = addr - preventry=>bytecodeaddr -; vmsrc/apple/sossysjit.pla: 1037: if defsize <= jitsize -; vmsrc/apple/sossysjit.pla: 1038: preventry=>interpaddr = *jitinterp // JSR JITINTRP -; vmsrc/apple/sossysjit.pla: 1039: preventry->callcount = jitcount // Set JIT countdown -; vmsrc/apple/sossysjit.pla: 1040: preventry->bytecodesize = defsize // Set size -; vmsrc/apple/sossysjit.pla: 1041: 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 _D036+0 -_F150 !WORD _D036+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 _D035+0 -_F151 !WORD _D035+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: 1042: fin -_B024 -_B025 -; vmsrc/apple/sossysjit.pla: 1043: defentry->interpjsr = $20 // JSR -; vmsrc/apple/sossysjit.pla: 1044: defentry=>interpaddr = *xinterp // XINTERP -; vmsrc/apple/sossysjit.pla: 1045: defentry=>bytecodeaddr = addr -; vmsrc/apple/sossysjit.pla: 1046: defentry->bytecodexbyte = ext -; vmsrc/apple/sossysjit.pla: 1047: defentry->t_defentry = 0 -; vmsrc/apple/sossysjit.pla: 1048: 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: 1049: end -; vmsrc/apple/sossysjit.pla: 1050: def loadmod(mod)#1 - ; mod -> [0] -_C027 ; loadmod() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1051: 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: 1052: word addr, defaddr, modaddr, modfix, modofst, modend - ; addr -> [20] - ; defaddr -> [22] - ; modaddr -> [24] - ; modfix -> [26] - ; modofst -> [28] - ; modend -> [30] -; vmsrc/apple/sossysjit.pla: 1053: word deftbl, deflast, codeseg - ; deftbl -> [32] - ; deflast -> [34] - ; codeseg -> [36] -; vmsrc/apple/sossysjit.pla: 1054: word moddep, rld, esd, sym - ; moddep -> [38] - ; rld -> [40] - ; esd -> [42] - ; sym -> [44] -; vmsrc/apple/sossysjit.pla: 1055: 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: 1056: byte header[128] - ; header -> [98] -; vmsrc/apple/sossysjit.pla: 1057: lerr = 0 - !BYTE $58,$E2,$01 ; ENTER 226,1 -; vmsrc/apple/sossysjit.pla: 1058: // -; vmsrc/apple/sossysjit.pla: 1059: // Read the RELocatable module header (first 128 bytes) -; vmsrc/apple/sossysjit.pla: 1060: // -; vmsrc/apple/sossysjit.pla: 1061: dcitos(mod, @filename) -; vmsrc/apple/sossysjit.pla: 1062: refnum = open(@filename) -; vmsrc/apple/sossysjit.pla: 1063: if !refnum and filename < 16 -; vmsrc/apple/sossysjit.pla: 1064: // -; vmsrc/apple/sossysjit.pla: 1065: // Try system path -; vmsrc/apple/sossysjit.pla: 1066: // -; vmsrc/apple/sossysjit.pla: 1067: refnum = open(strcpy(@filename,strcat(strcpy(@header, @sysmods), @filename))) -; vmsrc/apple/sossysjit.pla: 1068: fin - !BYTE $00 ; CN 0 - !BYTE $74,$2E ; SLB [46] - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$41 ; LLA [65] - !BYTE $54 ; CALL _A012 -_F152 !WORD _A012 - !BYTE $30 ; DROP - !BYTE $28,$41 ; LLA [65] - !BYTE $54 ; CALL _C000 -_F153 !WORD _C000 - !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 _D074+0 -_F154 !WORD _D074+0 - !BYTE $54 ; CALL _C023 -_F155 !WORD _C023 - !BYTE $28,$41 ; LLA [65] - !BYTE $54 ; CALL _C024 -_F156 !WORD _C024 - !BYTE $54 ; CALL _C023 -_F157 !WORD _C023 - !BYTE $54 ; CALL _C000 -_F158 !WORD _C000 - !BYTE $76,$02 ; SLW [2] -_B029 -_B030 -; vmsrc/apple/sossysjit.pla: 1069: if refnum -; vmsrc/apple/sossysjit.pla: 1070: header.0 = 3 -; vmsrc/apple/sossysjit.pla: 1071: header:1 = @filename -; vmsrc/apple/sossysjit.pla: 1072: header:3 = @fileinfo -; vmsrc/apple/sossysjit.pla: 1073: header.5 = 2 -; vmsrc/apple/sossysjit.pla: 1074: if not syscall($C4, @header) and fileinfo.1 <> $FE // Make sure it's a REL module -; vmsrc/apple/sossysjit.pla: 1075: close(refnum) -; vmsrc/apple/sossysjit.pla: 1076: perr = $4A // Incompatible type -; vmsrc/apple/sossysjit.pla: 1077: 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 -_F159 !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 _C001 -_F160 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $2A,$4A ; CB 74 - !BYTE $7C ; DAB _D034+0 -_F161 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$E2 ; LEAVE 226 -; vmsrc/apple/sossysjit.pla: 1078: fin -_B034 -_B035 -; vmsrc/apple/sossysjit.pla: 1079: rdlen = read(refnum, @header, 128) -; vmsrc/apple/sossysjit.pla: 1080: modsize = header:0 -; vmsrc/apple/sossysjit.pla: 1081: moddep = @header.1 -; vmsrc/apple/sossysjit.pla: 1082: defofst = modsize + RELADDR -; vmsrc/apple/sossysjit.pla: 1083: defext = 0 -; vmsrc/apple/sossysjit.pla: 1084: init = 0 -; vmsrc/apple/sossysjit.pla: 1085: if rdlen > 4 and header:2 == $6502 // magic number -; vmsrc/apple/sossysjit.pla: 1086: // -; vmsrc/apple/sossysjit.pla: 1087: // This is an EXTended RELocatable (data+bytecode) module. -; vmsrc/apple/sossysjit.pla: 1088: // -; vmsrc/apple/sossysjit.pla: 1089: systemflags = header.4 | systemflags -; vmsrc/apple/sossysjit.pla: 1090: skipjit = header.5 & (nojitc >> 8) -; vmsrc/apple/sossysjit.pla: 1091: defofst = header:6 -; vmsrc/apple/sossysjit.pla: 1092: defcnt = header:8 -; vmsrc/apple/sossysjit.pla: 1093: init = header:10 -; vmsrc/apple/sossysjit.pla: 1094: moddep = @header.12 -; vmsrc/apple/sossysjit.pla: 1095: // -; vmsrc/apple/sossysjit.pla: 1096: // Load module dependencies. -; vmsrc/apple/sossysjit.pla: 1097: // -; vmsrc/apple/sossysjit.pla: 1098: while ^moddep - !BYTE $66,$02 ; LLW [2] - !BYTE $28,$62 ; LLA [98] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C002 -_F162 !WORD _C002 - !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 _D076+0 -_F163 !WORD _D076+0 - !BYTE $96 ; OR - !BYTE $7A ; SAW _D076+0 -_F164 !WORD _D076+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: 1099: if !lookuptbl(moddep, symtbl) -; vmsrc/apple/sossysjit.pla: 1100: if refnum -; vmsrc/apple/sossysjit.pla: 1101: close(refnum) -; vmsrc/apple/sossysjit.pla: 1102: refnum = 0 -; vmsrc/apple/sossysjit.pla: 1103: fin - !BYTE $66,$26 ; LLW [38] - !BYTE $6A ; LAW _D081+0 -_F165 !WORD _D081+0 - !BYTE $54 ; CALL _A015 -_F166 !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 _C001 -_F167 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] -_B044 -_B045 -; vmsrc/apple/sossysjit.pla: 1104: if loadmod(moddep) < 0 -; vmsrc/apple/sossysjit.pla: 1105: return -perr - !BYTE $66,$26 ; LLW [38] - !BYTE $54 ; CALL _C027 -_F168 !WORD _C027 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $68 ; LAB _D034+0 -_F169 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$E2 ; LEAVE 226 -; vmsrc/apple/sossysjit.pla: 1106: fin -_B046 -_B047 -; vmsrc/apple/sossysjit.pla: 1107: fin -_B042 -_B043 -; vmsrc/apple/sossysjit.pla: 1108: moddep = moddep + dcitos(moddep, @str) -; vmsrc/apple/sossysjit.pla: 1109: loop - !BYTE $66,$26 ; LLW [38] - !BYTE $34 ; DUP - !BYTE $28,$31 ; LLA [49] - !BYTE $54 ; CALL _A012 -_F170 !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: 1110: // -; vmsrc/apple/sossysjit.pla: 1111: // Init def table. -; vmsrc/apple/sossysjit.pla: 1112: // -; vmsrc/apple/sossysjit.pla: 1113: deftbl = allocheap(defcnt * t_defentry + 1) -; vmsrc/apple/sossysjit.pla: 1114: deflast = deftbl -; vmsrc/apple/sossysjit.pla: 1115: ^deflast = 0 -; vmsrc/apple/sossysjit.pla: 1116: if !refnum -; vmsrc/apple/sossysjit.pla: 1117: // -; vmsrc/apple/sossysjit.pla: 1118: // Reset read pointer. -; vmsrc/apple/sossysjit.pla: 1119: // -; vmsrc/apple/sossysjit.pla: 1120: refnum = open(@filename) -; vmsrc/apple/sossysjit.pla: 1121: rdlen = read(refnum, @header, 128) -; vmsrc/apple/sossysjit.pla: 1122: fin - !BYTE $66,$0E ; LLW [14] - !BYTE $06 ; CN 3 - !BYTE $9A ; SHL - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C018 -_F171 !WORD _C018 - !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 _C000 -_F172 !WORD _C000 - !BYTE $6E,$02 ; DLW [2] - !BYTE $28,$62 ; LLA [98] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C002 -_F173 !WORD _C002 - !BYTE $76,$04 ; SLW [4] -_B048 -_B049 -; vmsrc/apple/sossysjit.pla: 1123: fin -_B037 -_B038 -; vmsrc/apple/sossysjit.pla: 1124: // -; vmsrc/apple/sossysjit.pla: 1125: // Alloc heap space for relocated module (data + bytecode). -; vmsrc/apple/sossysjit.pla: 1126: // -; vmsrc/apple/sossysjit.pla: 1127: moddep++ - !BYTE $66,$26 ; LLW [38] - !BYTE $8C ; INCR -; vmsrc/apple/sossysjit.pla: 1128: modfix = moddep - @header.2 // Adjust to skip header -; vmsrc/apple/sossysjit.pla: 1129: modsize = modsize - modfix -; vmsrc/apple/sossysjit.pla: 1130: rdlen = rdlen - modfix - 2 -; vmsrc/apple/sossysjit.pla: 1131: modaddr = allocheap(modsize) -; vmsrc/apple/sossysjit.pla: 1132: memcpy(modaddr, moddep, rdlen) -; vmsrc/apple/sossysjit.pla: 1133: // -; vmsrc/apple/sossysjit.pla: 1134: // Read in remainder of module into memory for fixups. -; vmsrc/apple/sossysjit.pla: 1135: // -; vmsrc/apple/sossysjit.pla: 1136: addr = modaddr -; vmsrc/apple/sossysjit.pla: 1137: 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 _C018 -_F174 !WORD _C018 - !BYTE $6E,$18 ; DLW [24] - !BYTE $66,$26 ; LLW [38] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A003 -_F175 !WORD _A003 - !BYTE $66,$18 ; LLW [24] - !BYTE $76,$14 ; SLW [20] -_B051 -; vmsrc/apple/sossysjit.pla: 1138: addr = addr + rdlen -; vmsrc/apple/sossysjit.pla: 1139: rdlen = read(refnum, addr, 4096) -; vmsrc/apple/sossysjit.pla: 1140: 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 _C002 -_F176 !WORD _C002 - !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: 1141: close(refnum) -; vmsrc/apple/sossysjit.pla: 1142: // -; vmsrc/apple/sossysjit.pla: 1143: // Add module to symbol table. -; vmsrc/apple/sossysjit.pla: 1144: // -; vmsrc/apple/sossysjit.pla: 1145: addsym(mod, modaddr) -; vmsrc/apple/sossysjit.pla: 1146: // -; vmsrc/apple/sossysjit.pla: 1147: // Apply all fixups and symbol import/export. -; vmsrc/apple/sossysjit.pla: 1148: // -; vmsrc/apple/sossysjit.pla: 1149: modfix = modaddr - modfix -; vmsrc/apple/sossysjit.pla: 1150: modofst = modfix - RELADDR -; vmsrc/apple/sossysjit.pla: 1151: modend = modaddr + modsize -; vmsrc/apple/sossysjit.pla: 1152: bytecode = defofst + modofst -; vmsrc/apple/sossysjit.pla: 1153: rld = modend // Re-Locatable Directory -; vmsrc/apple/sossysjit.pla: 1154: esd = rld // Extern+Entry Symbol Directory -; vmsrc/apple/sossysjit.pla: 1155: while ^esd // Scan to end of ESD - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C001 -_F177 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C022 -_F178 !WORD _C022 - !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: 1156: esd = esd + 4 -; vmsrc/apple/sossysjit.pla: 1157: 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: 1158: esd++ - !BYTE $66,$2A ; LLW [42] - !BYTE $8C ; INCR -; vmsrc/apple/sossysjit.pla: 1159: if defcnt -; vmsrc/apple/sossysjit.pla: 1160: // -; vmsrc/apple/sossysjit.pla: 1161: // Locate bytecode defs in allocated segment. -; vmsrc/apple/sossysjit.pla: 1162: // -; vmsrc/apple/sossysjit.pla: 1163: modseg[modid], codeseg, drop = seg_find($00, (rld - bytecode + 255) >> 8, modid + $12) -; vmsrc/apple/sossysjit.pla: 1164: if perr -; vmsrc/apple/sossysjit.pla: 1165: 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 _D080+0 -_F179 !WORD _D080+0 - !BYTE $38,$12 ; ADDI 18 - !BYTE $54 ; CALL _C007 -_F180 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $76,$24 ; SLW [36] - !BYTE $26 ; LA _D079+0 -_F181 !WORD _D079+0 - !BYTE $B4 ; ADDAB _D080+0 -_F182 !WORD _D080+0 - !BYTE $70 ; SB - !BYTE $68 ; LAB _D034+0 -_F183 !WORD _D034+0 - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $68 ; LAB _D034+0 -_F184 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$E2 ; LEAVE 226 -; vmsrc/apple/sossysjit.pla: 1166: fin -_B058 -_B059 -; vmsrc/apple/sossysjit.pla: 1167: modid++ - !BYTE $68 ; LAB _D080+0 -_F185 !WORD _D080+0 - !BYTE $8C ; INCR -; vmsrc/apple/sossysjit.pla: 1168: defext = codeseg.0 + $7F // (codeseg.0 | $80) - 1 -; vmsrc/apple/sossysjit.pla: 1169: defaddr = (codeseg & $FF00) + $6000 -; vmsrc/apple/sossysjit.pla: 1170: codefix = defaddr - bytecode -; vmsrc/apple/sossysjit.pla: 1171: defofst = defaddr - defofst -; vmsrc/apple/sossysjit.pla: 1172: fin - !BYTE $78 ; SAB _D080+0 -_F186 !WORD _D080+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: 1173: // -; vmsrc/apple/sossysjit.pla: 1174: // Run through the DeFinition Dictionary. -; vmsrc/apple/sossysjit.pla: 1175: // -; vmsrc/apple/sossysjit.pla: 1176: deffirst = 1 -; vmsrc/apple/sossysjit.pla: 1177: while ^rld == $02 - !BYTE $02 ; CN 1 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -_B060 -; vmsrc/apple/sossysjit.pla: 1178: // -; vmsrc/apple/sossysjit.pla: 1179: // This is a bytcode def entry - add it to the def directory. -; vmsrc/apple/sossysjit.pla: 1180: // -; vmsrc/apple/sossysjit.pla: 1181: adddef(deffirst, defext, rld=>1 + defofst, @deflast) -; vmsrc/apple/sossysjit.pla: 1182: deffirst = skipjit // Calculate JIT potential or not -; vmsrc/apple/sossysjit.pla: 1183: rld = rld + 4 -; vmsrc/apple/sossysjit.pla: 1184: 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 _C026 -_F187 !WORD _C026 - !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: 1185: // -; vmsrc/apple/sossysjit.pla: 1186: // Run through the Re-Location Dictionary. -; vmsrc/apple/sossysjit.pla: 1187: // -; vmsrc/apple/sossysjit.pla: 1188: while ^rld - !BYTE $50 ; BRNCH _B065 - !WORD _B065-* -_B063 -; vmsrc/apple/sossysjit.pla: 1189: rld, addr, fixup = reloc(modfix, modofst, bytecode, rld) -; vmsrc/apple/sossysjit.pla: 1190: if ^rld -; vmsrc/apple/sossysjit.pla: 1191: *addr = ^rld & $10 ?? *addr + lookupextern(esd, rld->3) :: lookupdef(fixup + codefix, deftbl) -; vmsrc/apple/sossysjit.pla: 1192: rld = rld + 4 -; vmsrc/apple/sossysjit.pla: 1193: 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 -_F188 !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 _C025 -_F189 !WORD _C025 - !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 -_F190 !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: 1194: loop -_B065 - !BYTE $66,$28 ; LLW [40] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B063 - !WORD _B063-* -_B064 -; vmsrc/apple/sossysjit.pla: 1195: // -; vmsrc/apple/sossysjit.pla: 1196: // Run through the External/Entry Symbol Directory. -; vmsrc/apple/sossysjit.pla: 1197: // -; vmsrc/apple/sossysjit.pla: 1198: while ^esd - !BYTE $50 ; BRNCH _B072 - !WORD _B072-* -_B070 -; vmsrc/apple/sossysjit.pla: 1199: sym = esd -; vmsrc/apple/sossysjit.pla: 1200: esd = esd + dcitos(esd, @str) -; vmsrc/apple/sossysjit.pla: 1201: if ^esd & $08 -; vmsrc/apple/sossysjit.pla: 1202: // -; vmsrc/apple/sossysjit.pla: 1203: // EXPORT symbol - add it to the global symbol table. -; vmsrc/apple/sossysjit.pla: 1204: // -; vmsrc/apple/sossysjit.pla: 1205: addr = esd=>1 + modofst -; vmsrc/apple/sossysjit.pla: 1206: if uword_isge(addr, bytecode) -; vmsrc/apple/sossysjit.pla: 1207: // -; vmsrc/apple/sossysjit.pla: 1208: // Use the def directory address for bytecode. -; vmsrc/apple/sossysjit.pla: 1209: // -; vmsrc/apple/sossysjit.pla: 1210: addr = lookupdef(addr + codefix, deftbl) -; vmsrc/apple/sossysjit.pla: 1211: 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 -_F191 !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 -_F192 !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 -_F193 !WORD _A017 - !BYTE $76,$14 ; SLW [20] -_B075 -_B076 -; vmsrc/apple/sossysjit.pla: 1212: addsym(sym, addr) -; vmsrc/apple/sossysjit.pla: 1213: fin - !BYTE $66,$2C ; LLW [44] - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C022 -_F194 !WORD _C022 -_B073 -_B074 -; vmsrc/apple/sossysjit.pla: 1214: esd = esd + 3 -; vmsrc/apple/sossysjit.pla: 1215: 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: 1216: if defext -; vmsrc/apple/sossysjit.pla: 1217: // -; vmsrc/apple/sossysjit.pla: 1218: // Copy bytecode to code segment. -; vmsrc/apple/sossysjit.pla: 1219: // -; vmsrc/apple/sossysjit.pla: 1220: memxcpy(codeseg, bytecode, modsize - (bytecode - modaddr)) -; vmsrc/apple/sossysjit.pla: 1221: 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 -_F195 !WORD _A004 -_B077 -_B078 -; vmsrc/apple/sossysjit.pla: 1222: else - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -_B031 -; vmsrc/apple/sossysjit.pla: 1223: lerr = $46 -; vmsrc/apple/sossysjit.pla: 1224: fin - !BYTE $2A,$46 ; CB 70 - !BYTE $74,$2E ; SLB [46] -_B032 -; vmsrc/apple/sossysjit.pla: 1225: if lerr -; vmsrc/apple/sossysjit.pla: 1226: 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: 1227: fin -_B079 -_B080 -; vmsrc/apple/sossysjit.pla: 1228: // -; vmsrc/apple/sossysjit.pla: 1229: // Free up end-of-module main memory. -; vmsrc/apple/sossysjit.pla: 1230: // -; vmsrc/apple/sossysjit.pla: 1231: releaseheap(bytecode) -; vmsrc/apple/sossysjit.pla: 1232: // -; vmsrc/apple/sossysjit.pla: 1233: // Call init routine if it exists. -; vmsrc/apple/sossysjit.pla: 1234: // -; vmsrc/apple/sossysjit.pla: 1235: initcode = 0 -; vmsrc/apple/sossysjit.pla: 1236: if init -; vmsrc/apple/sossysjit.pla: 1237: initcode = adddef(deffirst, defext, init + defofst, @deflast)() -; vmsrc/apple/sossysjit.pla: 1238: if initcode < 0 -; vmsrc/apple/sossysjit.pla: 1239: perr = -initcode -; vmsrc/apple/sossysjit.pla: 1240: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C021 -_F196 !WORD _C021 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !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 _C026 -_F197 !WORD _C026 - !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 _D034+0 -_F198 !WORD _D034+0 -_B083 -_B084 -; vmsrc/apple/sossysjit.pla: 1241: fin -_B081 -_B082 -; vmsrc/apple/sossysjit.pla: 1242: return initcode - !BYTE $66,$12 ; LLW [18] - !BYTE $5A,$E2 ; LEAVE 226 -; vmsrc/apple/sossysjit.pla: 1243: end -; vmsrc/apple/sossysjit.pla: 1244: def execmod(modfile)#1 - ; modfile -> [0] -_P026 ; execmod(modfile)#1() -_C028 ; execmod() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1245: byte moddci[17] - ; moddci -> [2] -; vmsrc/apple/sossysjit.pla: 1246: word saveheap, savesym, saveflags - ; saveheap -> [19] - ; savesym -> [21] - ; saveflags -> [23] -; vmsrc/apple/sossysjit.pla: 1247: -; vmsrc/apple/sossysjit.pla: 1248: perr = 1 - !BYTE $58,$19,$01 ; ENTER 25,1 -; vmsrc/apple/sossysjit.pla: 1249: if stodci(modfile, @moddci) -; vmsrc/apple/sossysjit.pla: 1250: saveheap = heap -; vmsrc/apple/sossysjit.pla: 1251: savesym = lastsym -; vmsrc/apple/sossysjit.pla: 1252: saveflags = systemflags -; vmsrc/apple/sossysjit.pla: 1253: if loadmod(@moddci) < modkeep -; vmsrc/apple/sossysjit.pla: 1254: lastsym = savesym -; vmsrc/apple/sossysjit.pla: 1255: heap = saveheap -; vmsrc/apple/sossysjit.pla: 1256: while modid - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D034+0 -_F199 !WORD _D034+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A013 -_F200 !WORD _A013 - !BYTE $4C ; BRFLS _B085 - !WORD _B085-* - !BYTE $6A ; LAW _D077+0 -_F201 !WORD _D077+0 - !BYTE $76,$13 ; SLW [19] - !BYTE $6A ; LAW _D082+0 -_F202 !WORD _D082+0 - !BYTE $76,$15 ; SLW [21] - !BYTE $6A ; LAW _D076+0 -_F203 !WORD _D076+0 - !BYTE $76,$17 ; SLW [23] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C027 -_F204 !WORD _C027 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B087 - !WORD _B087-* - !BYTE $66,$15 ; LLW [21] - !BYTE $7A ; SAW _D082+0 -_F205 !WORD _D082+0 - !BYTE $66,$13 ; LLW [19] - !BYTE $7A ; SAW _D077+0 -_F206 !WORD _D077+0 - !BYTE $50 ; BRNCH _B091 - !WORD _B091-* -_B089 -; vmsrc/apple/sossysjit.pla: 1257: modid-- - !BYTE $68 ; LAB _D080+0 -_F207 !WORD _D080+0 - !BYTE $8E ; DECR -; vmsrc/apple/sossysjit.pla: 1258: seg_release(modseg[modid]) -; vmsrc/apple/sossysjit.pla: 1259: loop - !BYTE $78 ; SAB _D080+0 -_F208 !WORD _D080+0 - !BYTE $26 ; LA _D079+0 -_F209 !WORD _D079+0 - !BYTE $B4 ; ADDAB _D080+0 -_F210 !WORD _D080+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _C008 -_F211 !WORD _C008 - !BYTE $30 ; DROP -_B091 - !BYTE $68 ; LAB _D080+0 -_F212 !WORD _D080+0 - !BYTE $4E ; BRTRU _B089 - !WORD _B089-* -_B090 -; vmsrc/apple/sossysjit.pla: 1260: xpokeb(symtbl.0, lastsym, 0) -; vmsrc/apple/sossysjit.pla: 1261: systemflags = saveflags -; vmsrc/apple/sossysjit.pla: 1262: else - !BYTE $68 ; LAB _D081+0 -_F213 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F214 !WORD _D082+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A005 -_F215 !WORD _A005 - !BYTE $66,$17 ; LLW [23] - !BYTE $7A ; SAW _D076+0 -_F216 !WORD _D076+0 - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -_B087 -; vmsrc/apple/sossysjit.pla: 1263: modid = 0 -; vmsrc/apple/sossysjit.pla: 1264: fin - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D080+0 -_F217 !WORD _D080+0 -_B088 -; vmsrc/apple/sossysjit.pla: 1265: fin -_B085 -_B086 -; vmsrc/apple/sossysjit.pla: 1266: return -perr - !BYTE $68 ; LAB _D034+0 -_F218 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$19 ; LEAVE 25 -; vmsrc/apple/sossysjit.pla: 1267: end -; vmsrc/apple/sossysjit.pla: 1268: // -; vmsrc/apple/sossysjit.pla: 1269: // Init 2K symbol table. -; vmsrc/apple/sossysjit.pla: 1270: // -; vmsrc/apple/sossysjit.pla: 1271: drop, symtbl, drop = seg_find($00, $08, $11) -_INIT - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1272: lastsym = symtbl & $FF00 -; vmsrc/apple/sossysjit.pla: 1273: xpokeb(symtbl.0, lastsym, 0) -; vmsrc/apple/sossysjit.pla: 1274: while *sysmodsym - !BYTE $00 ; CN 0 - !BYTE $10 ; CN 8 - !BYTE $2A,$11 ; CB 17 - !BYTE $54 ; CALL _C007 -_F219 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $7A ; SAW _D081+0 -_F220 !WORD _D081+0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D081+0 -_F221 !WORD _D081+0 - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $7A ; SAW _D082+0 -_F222 !WORD _D082+0 - !BYTE $68 ; LAB _D081+0 -_F223 !WORD _D081+0 - !BYTE $6A ; LAW _D082+0 -_F224 !WORD _D082+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A005 -_F225 !WORD _A005 - !BYTE $50 ; BRNCH _B094 - !WORD _B094-* -_B092 -; vmsrc/apple/sossysjit.pla: 1275: stodci(sysmodsym=>0, heap) -; vmsrc/apple/sossysjit.pla: 1276: addsym(heap, sysmodsym=>2) -; vmsrc/apple/sossysjit.pla: 1277: sysmodsym = sysmodsym + 4 -; vmsrc/apple/sossysjit.pla: 1278: loop - !BYTE $6A ; LAW _D075+0 -_F226 !WORD _D075+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D077+0 -_F227 !WORD _D077+0 - !BYTE $54 ; CALL _A013 -_F228 !WORD _A013 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D077+0 -_F229 !WORD _D077+0 - !BYTE $6A ; LAW _D075+0 -_F230 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C022 -_F231 !WORD _C022 - !BYTE $6A ; LAW _D075+0 -_F232 !WORD _D075+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $7A ; SAW _D075+0 -_F233 !WORD _D075+0 -_B094 - !BYTE $6A ; LAW _D075+0 -_F234 !WORD _D075+0 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B092 - !WORD _B092-* -_B093 -; vmsrc/apple/sossysjit.pla: 1279: // -; vmsrc/apple/sossysjit.pla: 1280: // Clear system path and command line -; vmsrc/apple/sossysjit.pla: 1281: // -; vmsrc/apple/sossysjit.pla: 1282: sysmods = 0 -; vmsrc/apple/sossysjit.pla: 1283: syspath = @sysmods -; vmsrc/apple/sossysjit.pla: 1284: cmdlnptr = @cmdln -; vmsrc/apple/sossysjit.pla: 1285: // -; vmsrc/apple/sossysjit.pla: 1286: // Print PLASMA version -; vmsrc/apple/sossysjit.pla: 1287: // -; vmsrc/apple/sossysjit.pla: 1288: init_cons -; vmsrc/apple/sossysjit.pla: 1289: prstr("PLASMA 2.0 JITC\n")//; putb(version.1); putc('.'); putb(version.0); putln - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D074+0 -_F235 !WORD _D074+0 - !BYTE $26 ; LA _D074+0 -_F236 !WORD _D074+0 - !BYTE $7A ; SAW _D032+0 -_F237 !WORD _D032+0 - !BYTE $26 ; LA _D043+0 -_F238 !WORD _D043+0 - !BYTE $7A ; SAW _D033+0 -_F239 !WORD _D033+0 - !BYTE $54 ; CALL _C006 -_F240 !WORD _C006 - !BYTE $2E ; CS - !BYTE $10 - !BYTE $50,$4C,$41,$53,$4D,$41,$20,$32 - !BYTE $2E,$30,$20,$4A,$49,$54,$43,$0D - !BYTE $54 ; CALL _C012 -_F241 !WORD _C012 -; vmsrc/apple/sossysjit.pla: 1290: prstr("MEM:$"); prword(availheap); crout - !BYTE $2E ; CS - !BYTE $05 - !BYTE $4D,$45,$4D,$3A,$24 - !BYTE $54 ; CALL _C012 -_F242 !WORD _C012 -; vmsrc/apple/sossysjit.pla: 1291: // -; vmsrc/apple/sossysjit.pla: 1292: // Exec command line parser -; vmsrc/apple/sossysjit.pla: 1293: // -; vmsrc/apple/sossysjit.pla: 1294: loadmod(@soscmd) -; vmsrc/apple/sossysjit.pla: 1295: modid = 0 -; vmsrc/apple/sossysjit.pla: 1296: autorun = open("AUTORUN") - !BYTE $54 ; CALL _C017 -_F243 !WORD _C017 - !BYTE $54 ; CALL _C016 -_F244 !WORD _C016 - !BYTE $54 ; CALL _C010 -_F245 !WORD _C010 - !BYTE $26 ; LA _D044+0 -_F246 !WORD _D044+0 - !BYTE $54 ; CALL _C027 -_F247 !WORD _C027 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D080+0 -_F248 !WORD _D080+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $41,$55,$54,$4F,$52,$55,$4E - !BYTE $54 ; CALL _C000 -_F249 !WORD _C000 - !BYTE $78 ; SAB _D078+0 -_F250 !WORD _D078+0 -; vmsrc/apple/sossysjit.pla: 1297: if autorun > 0 -; vmsrc/apple/sossysjit.pla: 1298: cmdln = read(autorun, @cmdln.1, 64) -; vmsrc/apple/sossysjit.pla: 1299: close(autorun) -; vmsrc/apple/sossysjit.pla: 1300: fin - !BYTE $68 ; LAB _D078+0 -_F251 !WORD _D078+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B095 - !WORD _B095-* - !BYTE $68 ; LAB _D078+0 -_F252 !WORD _D078+0 - !BYTE $26 ; LA _D043+1 -_F253 !WORD _D043+1 - !BYTE $2A,$40 ; CB 64 - !BYTE $54 ; CALL _C002 -_F254 !WORD _C002 - !BYTE $78 ; SAB _D043+0 -_F255 !WORD _D043+0 - !BYTE $68 ; LAB _D078+0 -_F256 !WORD _D078+0 - !BYTE $54 ; CALL _C001 -_F257 !WORD _C001 - !BYTE $30 ; DROP -_B095 -_B096 -; vmsrc/apple/sossysjit.pla: 1301: // -; vmsrc/apple/sossysjit.pla: 1302: // Call cmd line parser -; vmsrc/apple/sossysjit.pla: 1303: // -; vmsrc/apple/sossysjit.pla: 1304: repeat -_B098 -; vmsrc/apple/sossysjit.pla: 1305: execmod((*cmdparser)()) -; vmsrc/apple/sossysjit.pla: 1306: write(refcons, @textmode, 3) -; vmsrc/apple/sossysjit.pla: 1307: cmdln = 0 -; vmsrc/apple/sossysjit.pla: 1308: until 0 - !BYTE $6A,$F0,$A0 ; LAW 41200 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C028 -_F258 !WORD _C028 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D037+0 -_F259 !WORD _D037+0 - !BYTE $26 ; LA _D042+0 -_F260 !WORD _D042+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C003 -_F261 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D043+0 -_F262 !WORD _D043+0 -_B099 - !BYTE $50 ; BRNCH _B098 - !WORD _B098-* -_B097 -; vmsrc/apple/sossysjit.pla: 1309: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0