Remove binary artifacts

This commit is contained in:
Brendan Robert committed 2026-01-24 21:11:15 -06:00
1 parent 736c29687a
commit 1c8e2c28d7
207 files changed
-206280

No files matched your search

Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
-299
View File
@@ -1,299 +0,0 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/apple/joybuzz.pla: 0001: include "inc/cmdsys.plh"
; inc/cmdsys.plh: 0001: import cmdsys
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
; CMDSYS -> X000
; inc/cmdsys.plh: 0002: //
; inc/cmdsys.plh: 0003: // Useful values for everyone
; inc/cmdsys.plh: 0004: //
; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against
; _SYSVER_ = 544
; inc/cmdsys.plh: 0006: const FALSE = 0
; FALSE = 0
; inc/cmdsys.plh: 0007: const TRUE = not FALSE
; TRUE = -1
; inc/cmdsys.plh: 0008: const NULL = 0
; NULL = 0
; inc/cmdsys.plh: 0009: //
; inc/cmdsys.plh: 0010: // Machine ID values
; inc/cmdsys.plh: 0011: //
; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01
; MACHID_CLOCK = 1
; inc/cmdsys.plh: 0013: const MACHID_80COL = $02
; MACHID_80COL = 2
; inc/cmdsys.plh: 0014: const MACHID_MEM = $30
; MACHID_MEM = 48
; inc/cmdsys.plh: 0015: const MACHID_64K = $20
; MACHID_64K = 32
; inc/cmdsys.plh: 0016: const MACHID_128K = $30
; MACHID_128K = 48
; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8
; MACHID_MODEL = 200
; inc/cmdsys.plh: 0018: const MACHID_II = $00
; MACHID_II = 0
; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40
; MACHID_IIPLUS = 64
; inc/cmdsys.plh: 0020: const MACHID_IIE = $80
; MACHID_IIE = 128
; inc/cmdsys.plh: 0021: const MACHID_III = $C0
; MACHID_III = 192
; inc/cmdsys.plh: 0022: const MACHID_IIC = $88
; MACHID_IIC = 136
; inc/cmdsys.plh: 0023: const MACHID_I = $08
; MACHID_I = 8
; inc/cmdsys.plh: 0024: byte MACHID
; MACHID -> X001
; inc/cmdsys.plh: 0025: //
; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes.
; inc/cmdsys.plh: 0027: //
; inc/cmdsys.plh: 0028: const restxt1 = $0001
; restxt1 = 1
; inc/cmdsys.plh: 0029: const restxt2 = $0002
; restxt2 = 2
; inc/cmdsys.plh: 0030: const resxtxt1 = $0004
; resxtxt1 = 4
; inc/cmdsys.plh: 0031: const resxtxt2 = $0008
; resxtxt2 = 8
; inc/cmdsys.plh: 0032: const reshgr1 = $0010
; reshgr1 = 16
; inc/cmdsys.plh: 0033: const reshgr2 = $0020
; reshgr2 = 32
; inc/cmdsys.plh: 0034: const resxhgr1 = $0040
; resxhgr1 = 64
; inc/cmdsys.plh: 0035: const resxhgr2 = $0080
; resxhgr2 = 128
; inc/cmdsys.plh: 0036: const nojitc = $0100
; nojitc = 256
; inc/cmdsys.plh: 0037: const vid80col = $0800
; vid80col = 2048
; inc/cmdsys.plh: 0038: //
; inc/cmdsys.plh: 0039: // Module don't free memory
; inc/cmdsys.plh: 0040: //
; inc/cmdsys.plh: 0041: const modflagkeep = $1000
; modflagkeep = 4096
; inc/cmdsys.plh: 0042: const modkeep = $2000
; modkeep = 8192
; inc/cmdsys.plh: 0043: const modinitkeep = $4000
; modinitkeep = 16384
; inc/cmdsys.plh: 0044: //
; inc/cmdsys.plh: 0045: // CMD exported interface table
; inc/cmdsys.plh: 0046: //
; inc/cmdsys.plh: 0047: struc t_cmdsys
; inc/cmdsys.plh: 0048: word sysver
; sysver = 0
; inc/cmdsys.plh: 0049: word syspath
; syspath = 2
; inc/cmdsys.plh: 0050: word cmdline
; cmdline = 4
; inc/cmdsys.plh: 0051: word modexec
; modexec = 6
; inc/cmdsys.plh: 0052: word sysopen
; sysopen = 8
; inc/cmdsys.plh: 0053: word sysclose
; sysclose = 10
; inc/cmdsys.plh: 0054: word sysread
; sysread = 12
; inc/cmdsys.plh: 0055: word syswrite
; syswrite = 14
; inc/cmdsys.plh: 0056: byte syserr
; syserr = 16
; inc/cmdsys.plh: 0057: byte jitcount
; jitcount = 17
; inc/cmdsys.plh: 0058: byte jitsize
; jitsize = 18
; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific
; sysexec = 19
; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific
; refcons = 19
; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific
; devcons = 20
; inc/cmdsys.plh: 0062: word lookupsym
; lookupsym = 21
; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write)
; _sysflags_ = 23
; inc/cmdsys.plh: 0064: end
; t_cmdsys = 25
; inc/cmdsys.plh: 0065: //
; inc/cmdsys.plh: 0066: // CMD exported functions
; inc/cmdsys.plh: 0067: //
; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0
; PUTC -> X002
; PUTLN -> X003
; PUTS -> X004
; PUTI -> X005
; GETC -> X006
; GETS -> X007
; PUTB -> X008
; PUTH -> X009
; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1
; CALL -> X010
; SYSCALL -> X011
; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1
; HEAPMARK -> X012
; HEAPALLOCALIGN -> X013
; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1
; HEAPALLOC -> X014
; HEAPRELEASE -> X015
; HEAPAVAIL -> X016
; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
; MEMSET -> X017
; MEMCPY -> X018
; STRCPY -> X019
; STRCAT -> X020
; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1
; TOUPPER -> X021
; SEXT -> X022
; DIVMOD -> X023
; ISUGT -> X024
; ISUGE -> X025
; ISULT -> X026
; ISULE -> X027
; inc/cmdsys.plh: 0074: end
; libsrc/apple/joybuzz.pla: 0001:
; libsrc/apple/joybuzz.pla: 0002: asm asmdefs
!BYTE $00 ; END OF MODULE DEPENDENCIES
_A000 ; asmdefs()
; libsrc/apple/joybuzz.pla: 0003: !SOURCE "vmsrc/plvmzp.inc"
!SOURCE "vmsrc/plvmzp.inc"
; libsrc/apple/joybuzz.pla: 0004: SPEAKER = $C030
SPEAKER = $C030
; libsrc/apple/joybuzz.pla: 0005: GCSTRB = $C070
GCSTRB = $C070
; libsrc/apple/joybuzz.pla: 0006: GC0 = $C064
GC0 = $C064
; libsrc/apple/joybuzz.pla: 0007: GC1 = $C065
GC1 = $C065
; libsrc/apple/joybuzz.pla: 0008: GCPB1 = $C061
GCPB1 = $C061
; libsrc/apple/joybuzz.pla: 0009: GCPB2 = $C062
GCPB2 = $C062
; libsrc/apple/joybuzz.pla: 0010: GCMAX = 79 ; MAX VALUE FOR GAME CONTROLLER
GCMAX = 79 ; MAX VALUE FOR GAME CONTROLLER
; libsrc/apple/joybuzz.pla: 0011: end
; libsrc/apple/joybuzz.pla: 0012: //
; libsrc/apple/joybuzz.pla: 0013: // Read both game controllers in parallel
; libsrc/apple/joybuzz.pla: 0014: //
; libsrc/apple/joybuzz.pla: 0015: export asm joypos(buzz)#4
_A001 ; joypos()
; libsrc/apple/joybuzz.pla: 0016: LDY ESTKL,X ; BUZZ TONE
LDY ESTKL,X ; BUZZ TONE
; libsrc/apple/joybuzz.pla: 0017: STY TMPH
STY TMPH
; libsrc/apple/joybuzz.pla: 0018: DEX
DEX
; libsrc/apple/joybuzz.pla: 0019: DEX
DEX
; libsrc/apple/joybuzz.pla: 0020: DEX
DEX
; libsrc/apple/joybuzz.pla: 0021: LDA #$00
LDA #$00
; libsrc/apple/joybuzz.pla: 0022: STA ESTKL+2,X
STA ESTKL+2,X
; libsrc/apple/joybuzz.pla: 0023: STA ESTKH+2,X
STA ESTKH+2,X
; libsrc/apple/joybuzz.pla: 0024: STA ESTKL+3,X
STA ESTKL+3,X
; libsrc/apple/joybuzz.pla: 0025: STA ESTKH+3,X
STA ESTKH+3,X
; libsrc/apple/joybuzz.pla: 0026: LDA #GCMAX
LDA #GCMAX
; libsrc/apple/joybuzz.pla: 0027: SEC
SEC
; libsrc/apple/joybuzz.pla: 0028: BIT GCSTRB
BIT GCSTRB
; libsrc/apple/joybuzz.pla: 0029: BUZZ DEY
BUZZ DEY
; libsrc/apple/joybuzz.pla: 0030: BNE BUZZDLY
BNE BUZZDLY
; libsrc/apple/joybuzz.pla: 0031: BIT SPEAKER
BIT SPEAKER
; libsrc/apple/joybuzz.pla: 0032: LDY TMPH ; BUZZ TONE
LDY TMPH ; BUZZ TONE
; libsrc/apple/joybuzz.pla: 0033: GC0READ BIT GC0
GC0READ BIT GC0
; libsrc/apple/joybuzz.pla: 0034: BPL GC0DLY
BPL GC0DLY
; libsrc/apple/joybuzz.pla: 0035: INC ESTKL+3,X
INC ESTKL+3,X
; libsrc/apple/joybuzz.pla: 0036: GC1READ BIT GC1
GC1READ BIT GC1
; libsrc/apple/joybuzz.pla: 0037: BPL GC1DLY
BPL GC1DLY
; libsrc/apple/joybuzz.pla: 0038: INC ESTKL+2,X
INC ESTKL+2,X
; libsrc/apple/joybuzz.pla: 0039: JOYLP SBC #$01
JOYLP SBC #$01
; libsrc/apple/joybuzz.pla: 0040: BNE BUZZ
BNE BUZZ
; libsrc/apple/joybuzz.pla: 0041: TAY ; LDY #$00
TAY ; LDY #$00
; libsrc/apple/joybuzz.pla: 0042: BIT GCPB1 ; READ GC BUTTONS
BIT GCPB1 ; READ GC BUTTONS
; libsrc/apple/joybuzz.pla: 0043: BPL +
BPL +
; libsrc/apple/joybuzz.pla: 0044: DEY
DEY
; libsrc/apple/joybuzz.pla: 0045: + STY ESTKL+1,X
+ STY ESTKL+1,X
; libsrc/apple/joybuzz.pla: 0046: STY ESTKH+1,X
STY ESTKH+1,X
; libsrc/apple/joybuzz.pla: 0047: TAY ; LDY #$00
TAY ; LDY #$00
; libsrc/apple/joybuzz.pla: 0048: BIT GCPB2
BIT GCPB2
; libsrc/apple/joybuzz.pla: 0049: BPL +
BPL +
; libsrc/apple/joybuzz.pla: 0050: DEY
DEY
; libsrc/apple/joybuzz.pla: 0051: + STY ESTKL,X
+ STY ESTKL,X
; libsrc/apple/joybuzz.pla: 0052: STY ESTKH,X
STY ESTKH,X
; libsrc/apple/joybuzz.pla: 0053: RTS
RTS
; libsrc/apple/joybuzz.pla: 0054: GC0DLY NOP ; TIMING
GC0DLY NOP ; TIMING
; libsrc/apple/joybuzz.pla: 0055: BPL GC1READ
BPL GC1READ
; libsrc/apple/joybuzz.pla: 0056: GC1DLY NOP ; TIMING
GC1DLY NOP ; TIMING
; libsrc/apple/joybuzz.pla: 0057: BPL JOYLP
BPL JOYLP
; libsrc/apple/joybuzz.pla: 0058: BUZZDLY BNE + ; TIMING
BUZZDLY BNE + ; TIMING
; libsrc/apple/joybuzz.pla: 0059: + BNE GC0READ
+ BNE GC0READ
; libsrc/apple/joybuzz.pla: 0060: end
; libsrc/apple/joybuzz.pla: 0061: //
; libsrc/apple/joybuzz.pla: 0062: // Keep module in memory
; libsrc/apple/joybuzz.pla: 0063: //
; libsrc/apple/joybuzz.pla: 0064: return modkeep
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
_INIT
!BYTE $2C,$00,$20 ; CW 8192
!BYTE $5C ; RET
; libsrc/apple/joybuzz.pla: 0065: done
_SYSFLAGS = 0
_DEFCNT = 1
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: JOYPOS
!BYTE $CA,$CF,$D9,$D0,$CF,$53
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _A001
!BYTE $00 ; END OF ESD
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
-472
View File
@@ -1,472 +0,0 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/apple/portio.pla: 0001: //
; libsrc/apple/portio.pla: 0002: // Game port I/O library based on the wiring library
; libsrc/apple/portio.pla: 0003: //
; libsrc/apple/portio.pla: 0004: include "inc/cmdsys.plh"
; inc/cmdsys.plh: 0001: import cmdsys
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
; CMDSYS -> X000
; inc/cmdsys.plh: 0002: //
; inc/cmdsys.plh: 0003: // Useful values for everyone
; inc/cmdsys.plh: 0004: //
; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against
; _SYSVER_ = 544
; inc/cmdsys.plh: 0006: const FALSE = 0
; FALSE = 0
; inc/cmdsys.plh: 0007: const TRUE = not FALSE
; TRUE = -1
; inc/cmdsys.plh: 0008: const NULL = 0
; NULL = 0
; inc/cmdsys.plh: 0009: //
; inc/cmdsys.plh: 0010: // Machine ID values
; inc/cmdsys.plh: 0011: //
; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01
; MACHID_CLOCK = 1
; inc/cmdsys.plh: 0013: const MACHID_80COL = $02
; MACHID_80COL = 2
; inc/cmdsys.plh: 0014: const MACHID_MEM = $30
; MACHID_MEM = 48
; inc/cmdsys.plh: 0015: const MACHID_64K = $20
; MACHID_64K = 32
; inc/cmdsys.plh: 0016: const MACHID_128K = $30
; MACHID_128K = 48
; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8
; MACHID_MODEL = 200
; inc/cmdsys.plh: 0018: const MACHID_II = $00
; MACHID_II = 0
; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40
; MACHID_IIPLUS = 64
; inc/cmdsys.plh: 0020: const MACHID_IIE = $80
; MACHID_IIE = 128
; inc/cmdsys.plh: 0021: const MACHID_III = $C0
; MACHID_III = 192
; inc/cmdsys.plh: 0022: const MACHID_IIC = $88
; MACHID_IIC = 136
; inc/cmdsys.plh: 0023: const MACHID_I = $08
; MACHID_I = 8
; inc/cmdsys.plh: 0024: byte MACHID
; MACHID -> X001
; inc/cmdsys.plh: 0025: //
; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes.
; inc/cmdsys.plh: 0027: //
; inc/cmdsys.plh: 0028: const restxt1 = $0001
; restxt1 = 1
; inc/cmdsys.plh: 0029: const restxt2 = $0002
; restxt2 = 2
; inc/cmdsys.plh: 0030: const resxtxt1 = $0004
; resxtxt1 = 4
; inc/cmdsys.plh: 0031: const resxtxt2 = $0008
; resxtxt2 = 8
; inc/cmdsys.plh: 0032: const reshgr1 = $0010
; reshgr1 = 16
; inc/cmdsys.plh: 0033: const reshgr2 = $0020
; reshgr2 = 32
; inc/cmdsys.plh: 0034: const resxhgr1 = $0040
; resxhgr1 = 64
; inc/cmdsys.plh: 0035: const resxhgr2 = $0080
; resxhgr2 = 128
; inc/cmdsys.plh: 0036: const nojitc = $0100
; nojitc = 256
; inc/cmdsys.plh: 0037: const vid80col = $0800
; vid80col = 2048
; inc/cmdsys.plh: 0038: //
; inc/cmdsys.plh: 0039: // Module don't free memory
; inc/cmdsys.plh: 0040: //
; inc/cmdsys.plh: 0041: const modflagkeep = $1000
; modflagkeep = 4096
; inc/cmdsys.plh: 0042: const modkeep = $2000
; modkeep = 8192
; inc/cmdsys.plh: 0043: const modinitkeep = $4000
; modinitkeep = 16384
; inc/cmdsys.plh: 0044: //
; inc/cmdsys.plh: 0045: // CMD exported interface table
; inc/cmdsys.plh: 0046: //
; inc/cmdsys.plh: 0047: struc t_cmdsys
; inc/cmdsys.plh: 0048: word sysver
; sysver = 0
; inc/cmdsys.plh: 0049: word syspath
; syspath = 2
; inc/cmdsys.plh: 0050: word cmdline
; cmdline = 4
; inc/cmdsys.plh: 0051: word modexec
; modexec = 6
; inc/cmdsys.plh: 0052: word sysopen
; sysopen = 8
; inc/cmdsys.plh: 0053: word sysclose
; sysclose = 10
; inc/cmdsys.plh: 0054: word sysread
; sysread = 12
; inc/cmdsys.plh: 0055: word syswrite
; syswrite = 14
; inc/cmdsys.plh: 0056: byte syserr
; syserr = 16
; inc/cmdsys.plh: 0057: byte jitcount
; jitcount = 17
; inc/cmdsys.plh: 0058: byte jitsize
; jitsize = 18
; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific
; sysexec = 19
; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific
; refcons = 19
; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific
; devcons = 20
; inc/cmdsys.plh: 0062: word lookupsym
; lookupsym = 21
; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write)
; _sysflags_ = 23
; inc/cmdsys.plh: 0064: end
; t_cmdsys = 25
; inc/cmdsys.plh: 0065: //
; inc/cmdsys.plh: 0066: // CMD exported functions
; inc/cmdsys.plh: 0067: //
; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0
; PUTC -> X002
; PUTLN -> X003
; PUTS -> X004
; PUTI -> X005
; GETC -> X006
; GETS -> X007
; PUTB -> X008
; PUTH -> X009
; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1
; CALL -> X010
; SYSCALL -> X011
; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1
; HEAPMARK -> X012
; HEAPALLOCALIGN -> X013
; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1
; HEAPALLOC -> X014
; HEAPRELEASE -> X015
; HEAPAVAIL -> X016
; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
; MEMSET -> X017
; MEMCPY -> X018
; STRCPY -> X019
; STRCAT -> X020
; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1
; TOUPPER -> X021
; SEXT -> X022
; DIVMOD -> X023
; ISUGT -> X024
; ISUGE -> X025
; ISULT -> X026
; ISULE -> X027
; inc/cmdsys.plh: 0074: end
; libsrc/apple/portio.pla: 0004:
; libsrc/apple/portio.pla: 0005:
; libsrc/apple/portio.pla: 0006: const ANN0 = $C058
!BYTE $00 ; END OF MODULE DEPENDENCIES
; ANN0 = 49240
; libsrc/apple/portio.pla: 0007: const ANN1 = $C05A
; ANN1 = 49242
; libsrc/apple/portio.pla: 0008: const ANN2 = $C05C
; ANN2 = 49244
; libsrc/apple/portio.pla: 0009: const ANN3 = $C05E
; ANN3 = 49246
; libsrc/apple/portio.pla: 0010: const OFF = 0
; OFF = 0
; libsrc/apple/portio.pla: 0011: const ON = 1
; ON = 1
; libsrc/apple/portio.pla: 0012: const STROBE = $C040
; STROBE = 49216
; libsrc/apple/portio.pla: 0013: const FLAG0 = $C061
; FLAG0 = 49249
; libsrc/apple/portio.pla: 0014: const FLAG1 = $C062
; FLAG1 = 49250
; libsrc/apple/portio.pla: 0015: const FLAG2 = $C063
; FLAG2 = 49251
; libsrc/apple/portio.pla: 0016: const FLAG3 = $C060
; FLAG3 = 49248
; libsrc/apple/portio.pla: 0017: const PREAD = $FB1E
; PREAD = 64286
; libsrc/apple/portio.pla: 0018: const WAIT = $FCA8
; WAIT = 64680
; libsrc/apple/portio.pla: 0019: asm asmdefs
_A000 ; asmdefs()
; libsrc/apple/portio.pla: 0020: !SOURCE "vmsrc/plvmzp.inc"
!SOURCE "vmsrc/plvmzp.inc"
; libsrc/apple/portio.pla: 0021: ANN0 = $C058
ANN0 = $C058
; libsrc/apple/portio.pla: 0022: ANN1 = $C05A
ANN1 = $C05A
; libsrc/apple/portio.pla: 0023: ANN2 = $C05C
ANN2 = $C05C
; libsrc/apple/portio.pla: 0024: ANN3 = $C05E
ANN3 = $C05E
; libsrc/apple/portio.pla: 0025: STROBE = $C040
STROBE = $C040
; libsrc/apple/portio.pla: 0026: FLAG0 = $C061
FLAG0 = $C061
; libsrc/apple/portio.pla: 0027: FLAG1 = $C062
FLAG1 = $C062
; libsrc/apple/portio.pla: 0028: FLAG2 = $C063
FLAG2 = $C063
; libsrc/apple/portio.pla: 0029: FLAG3 = $C060
FLAG3 = $C060
; libsrc/apple/portio.pla: 0030: end
; libsrc/apple/portio.pla: 0031:
; libsrc/apple/portio.pla: 0032: //export def digitalRead(pin)#1
; libsrc/apple/portio.pla: 0033: // return FLAG3[(pin+1)&3] > 127
; libsrc/apple/portio.pla: 0034: export asm digitalRead(pin)#1
_A001 ; digitalRead()
; libsrc/apple/portio.pla: 0035: LDA ESTKL,X
LDA ESTKL,X
; libsrc/apple/portio.pla: 0036: CLC
CLC
; libsrc/apple/portio.pla: 0037: ADC #$01
ADC #$01
; libsrc/apple/portio.pla: 0038: AND #$03
AND #$03
; libsrc/apple/portio.pla: 0039: TAY
TAY
; libsrc/apple/portio.pla: 0040: LDA FLAG3,Y
LDA FLAG3,Y
; libsrc/apple/portio.pla: 0041: BPL +
BPL +
; libsrc/apple/portio.pla: 0042: LDY #$FF
LDY #$FF
; libsrc/apple/portio.pla: 0043: STY ESTKL,X
STY ESTKL,X
; libsrc/apple/portio.pla: 0044: STY ESTKH,X
STY ESTKH,X
; libsrc/apple/portio.pla: 0045: RTS
RTS
; libsrc/apple/portio.pla: 0046: + LDY #$00
+ LDY #$00
; libsrc/apple/portio.pla: 0047: STY ESTKL,X
STY ESTKL,X
; libsrc/apple/portio.pla: 0048: STY ESTKH,X
STY ESTKH,X
; libsrc/apple/portio.pla: 0049: RTS
RTS
; libsrc/apple/portio.pla: 0050:
; libsrc/apple/portio.pla: 0051: end
; libsrc/apple/portio.pla: 0052:
; libsrc/apple/portio.pla: 0053: //export def portRead
; libsrc/apple/portio.pla: 0054: // return (^FLAG0>>7)&1|(^FLAG1>>6)&2|(^FLAG2>>5)&4|(^FLAG3>>4)&8
; libsrc/apple/portio.pla: 0055: export asm portRead#1
_A002 ; portRead()
; libsrc/apple/portio.pla: 0056: DEX
DEX
; libsrc/apple/portio.pla: 0057: LDA #$00
LDA #$00
; libsrc/apple/portio.pla: 0058: STA ESTKH,X
STA ESTKH,X
; libsrc/apple/portio.pla: 0059: BIT FLAG0
BIT FLAG0
; libsrc/apple/portio.pla: 0060: BPL +
BPL +
; libsrc/apple/portio.pla: 0061: ORA #$01
ORA #$01
; libsrc/apple/portio.pla: 0062: + BIT FLAG1
+ BIT FLAG1
; libsrc/apple/portio.pla: 0063: BPL +
BPL +
; libsrc/apple/portio.pla: 0064: ORA #$02
ORA #$02
; libsrc/apple/portio.pla: 0065: + BIT FLAG2
+ BIT FLAG2
; libsrc/apple/portio.pla: 0066: BPL +
BPL +
; libsrc/apple/portio.pla: 0067: ORA #$04
ORA #$04
; libsrc/apple/portio.pla: 0068: + BIT FLAG3
+ BIT FLAG3
; libsrc/apple/portio.pla: 0069: BPL +
BPL +
; libsrc/apple/portio.pla: 0070: ORA #$08
ORA #$08
; libsrc/apple/portio.pla: 0071: + STA ESTKL,X
+ STA ESTKL,X
; libsrc/apple/portio.pla: 0072: RTS
RTS
; libsrc/apple/portio.pla: 0073: end
; libsrc/apple/portio.pla: 0074: //export def digitalWrite(pin, val)#0
; libsrc/apple/portio.pla: 0075: // ANN0[((pin&3)<<1)+(val&1)]
; libsrc/apple/portio.pla: 0076: export asm digitalWrite(pin, val)#0
_A003 ; digitalWrite()
; libsrc/apple/portio.pla: 0077: LSR ESTKL,X
LSR ESTKL,X
; libsrc/apple/portio.pla: 0078: LDA ESTKL+1,X
LDA ESTKL+1,X
; libsrc/apple/portio.pla: 0079: AND #$03
AND #$03
; libsrc/apple/portio.pla: 0080: ROL
ROL
; libsrc/apple/portio.pla: 0081: TAY
TAY
; libsrc/apple/portio.pla: 0082: LDA ANN0,Y
LDA ANN0,Y
; libsrc/apple/portio.pla: 0083: INX
INX
; libsrc/apple/portio.pla: 0084: INX
INX
; libsrc/apple/portio.pla: 0085: RTS
RTS
; libsrc/apple/portio.pla: 0086: end
; libsrc/apple/portio.pla: 0087: //export def portWrite(val)#0
; libsrc/apple/portio.pla: 0088: // ANN0[val&1]
; libsrc/apple/portio.pla: 0089: // ANN1[(val>>1)&1]
; libsrc/apple/portio.pla: 0090: // ANN2[(val>>2)&1]
; libsrc/apple/portio.pla: 0091: // ANN3[(val>>3)&1]
; libsrc/apple/portio.pla: 0092: export asm portWrite(val)#0
_A004 ; portWrite()
; libsrc/apple/portio.pla: 0093: LDY #$00
LDY #$00
; libsrc/apple/portio.pla: 0094: LSR ESTKL,X
LSR ESTKL,X
; libsrc/apple/portio.pla: 0095: BCC +
BCC +
; libsrc/apple/portio.pla: 0096: INY
INY
; libsrc/apple/portio.pla: 0097: + LDA ANN0,Y
+ LDA ANN0,Y
; libsrc/apple/portio.pla: 0098: LDY #$00
LDY #$00
; libsrc/apple/portio.pla: 0099: LSR ESTKL,X
LSR ESTKL,X
; libsrc/apple/portio.pla: 0100: BCC +
BCC +
; libsrc/apple/portio.pla: 0101: INY
INY
; libsrc/apple/portio.pla: 0102: + LDA ANN1,Y
+ LDA ANN1,Y
; libsrc/apple/portio.pla: 0103: LDY #$00
LDY #$00
; libsrc/apple/portio.pla: 0104: LSR ESTKL,X
LSR ESTKL,X
; libsrc/apple/portio.pla: 0105: BCC +
BCC +
; libsrc/apple/portio.pla: 0106: INY
INY
; libsrc/apple/portio.pla: 0107: + LDA ANN2,Y
+ LDA ANN2,Y
; libsrc/apple/portio.pla: 0108: LDY #$00
LDY #$00
; libsrc/apple/portio.pla: 0109: LSR ESTKL,X
LSR ESTKL,X
; libsrc/apple/portio.pla: 0110: BCC +
BCC +
; libsrc/apple/portio.pla: 0111: INY
INY
; libsrc/apple/portio.pla: 0112: + LDA ANN3,Y
+ LDA ANN3,Y
; libsrc/apple/portio.pla: 0113: INX
INX
; libsrc/apple/portio.pla: 0114: RTS
RTS
; libsrc/apple/portio.pla: 0115: end
; libsrc/apple/portio.pla: 0116: //export def strobe#0
; libsrc/apple/portio.pla: 0117: // ^STROBE
; libsrc/apple/portio.pla: 0118: export asm strobe#0
_A005 ; strobe()
; libsrc/apple/portio.pla: 0119: LDA STROBE
LDA STROBE
; libsrc/apple/portio.pla: 0120: RTS
RTS
; libsrc/apple/portio.pla: 0121: end
; libsrc/apple/portio.pla: 0122: export def analogRead(pin)
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
; pin -> [0]
_C000 ; analogRead()
; libsrc/apple/portio.pla: 0123: return call(PREAD,0,pin&3,0,0).2
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $2C,$1E,$FB ; CW 64286
!BYTE $00 ; CN 0
!BYTE $66,$00 ; LLW [0]
!BYTE $3C,$03 ; ANDI 3
!BYTE $00 ; CN 0
!BYTE $00 ; CN 0
!BYTE $54 ; CALL _X010
_F000 !WORD 0
!BYTE $38,$02 ; ADDI 2
!BYTE $60 ; LB
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/portio.pla: 0124: end
; libsrc/apple/portio.pla: 0125: export def delay(time)#0
; time -> [0]
_C001 ; delay()
; libsrc/apple/portio.pla: 0126: call(WAIT,time,0,0,0)
!BYTE $58,$02,$01 ; ENTER 2,1
; libsrc/apple/portio.pla: 0127: end
!BYTE $2C,$A8,$FC ; CW 64680
!BYTE $66,$00 ; LLW [0]
!BYTE $00 ; CN 0
!BYTE $00 ; CN 0
!BYTE $00 ; CN 0
!BYTE $54 ; CALL _X010
_F001 !WORD 0
!BYTE $30 ; DROP
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/portio.pla: 0128: //
; libsrc/apple/portio.pla: 0129: // Keep module in memory
; libsrc/apple/portio.pla: 0130: //
; libsrc/apple/portio.pla: 0131: return modkeep
_INIT
!BYTE $2C,$00,$20 ; CW 8192
!BYTE $5C ; RET
; libsrc/apple/portio.pla: 0132: done
_SYSFLAGS = 0
_DEFCNT = 3
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C000
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C001
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F000-_SEGBEGIN
!BYTE 10 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F001-_SEGBEGIN
!BYTE 10 ; ESD INDEX
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: CALL
!BYTE $C3,$C1,$CC,$4C
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 10 ; ESD INDEX
; DCI STRING: DIGITALREAD
!BYTE $C4,$C9,$C7,$C9,$D4,$C1,$CC,$D2,$C5,$C1,$44
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _A001
; DCI STRING: PORTREAD
!BYTE $D0,$CF,$D2,$D4,$D2,$C5,$C1,$44
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _A002
; DCI STRING: DIGITALWRITE
!BYTE $C4,$C9,$C7,$C9,$D4,$C1,$CC,$D7,$D2,$C9,$D4,$45
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _A003
; DCI STRING: PORTWRITE
!BYTE $D0,$CF,$D2,$D4,$D7,$D2,$C9,$D4,$45
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _A004
; DCI STRING: STROBE
!BYTE $D3,$D4,$D2,$CF,$C2,$45
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _A005
; DCI STRING: ANALOGREAD
!BYTE $C1,$CE,$C1,$CC,$CF,$C7,$D2,$C5,$C1,$44
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C000
; DCI STRING: DELAY
!BYTE $C4,$C5,$CC,$C1,$59
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C001
!BYTE $00 ; END OF ESD
-961
View File
@@ -1,961 +0,0 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/apple/sdfat.pla: 0001: include "inc/cmdsys.plh"
; inc/cmdsys.plh: 0001: import cmdsys
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
; CMDSYS -> X000
; inc/cmdsys.plh: 0002: //
; inc/cmdsys.plh: 0003: // Useful values for everyone
; inc/cmdsys.plh: 0004: //
; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against
; _SYSVER_ = 544
; inc/cmdsys.plh: 0006: const FALSE = 0
; FALSE = 0
; inc/cmdsys.plh: 0007: const TRUE = not FALSE
; TRUE = -1
; inc/cmdsys.plh: 0008: const NULL = 0
; NULL = 0
; inc/cmdsys.plh: 0009: //
; inc/cmdsys.plh: 0010: // Machine ID values
; inc/cmdsys.plh: 0011: //
; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01
; MACHID_CLOCK = 1
; inc/cmdsys.plh: 0013: const MACHID_80COL = $02
; MACHID_80COL = 2
; inc/cmdsys.plh: 0014: const MACHID_MEM = $30
; MACHID_MEM = 48
; inc/cmdsys.plh: 0015: const MACHID_64K = $20
; MACHID_64K = 32
; inc/cmdsys.plh: 0016: const MACHID_128K = $30
; MACHID_128K = 48
; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8
; MACHID_MODEL = 200
; inc/cmdsys.plh: 0018: const MACHID_II = $00
; MACHID_II = 0
; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40
; MACHID_IIPLUS = 64
; inc/cmdsys.plh: 0020: const MACHID_IIE = $80
; MACHID_IIE = 128
; inc/cmdsys.plh: 0021: const MACHID_III = $C0
; MACHID_III = 192
; inc/cmdsys.plh: 0022: const MACHID_IIC = $88
; MACHID_IIC = 136
; inc/cmdsys.plh: 0023: const MACHID_I = $08
; MACHID_I = 8
; inc/cmdsys.plh: 0024: byte MACHID
; MACHID -> X001
; inc/cmdsys.plh: 0025: //
; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes.
; inc/cmdsys.plh: 0027: //
; inc/cmdsys.plh: 0028: const restxt1 = $0001
; restxt1 = 1
; inc/cmdsys.plh: 0029: const restxt2 = $0002
; restxt2 = 2
; inc/cmdsys.plh: 0030: const resxtxt1 = $0004
; resxtxt1 = 4
; inc/cmdsys.plh: 0031: const resxtxt2 = $0008
; resxtxt2 = 8
; inc/cmdsys.plh: 0032: const reshgr1 = $0010
; reshgr1 = 16
; inc/cmdsys.plh: 0033: const reshgr2 = $0020
; reshgr2 = 32
; inc/cmdsys.plh: 0034: const resxhgr1 = $0040
; resxhgr1 = 64
; inc/cmdsys.plh: 0035: const resxhgr2 = $0080
; resxhgr2 = 128
; inc/cmdsys.plh: 0036: const nojitc = $0100
; nojitc = 256
; inc/cmdsys.plh: 0037: const vid80col = $0800
; vid80col = 2048
; inc/cmdsys.plh: 0038: //
; inc/cmdsys.plh: 0039: // Module don't free memory
; inc/cmdsys.plh: 0040: //
; inc/cmdsys.plh: 0041: const modflagkeep = $1000
; modflagkeep = 4096
; inc/cmdsys.plh: 0042: const modkeep = $2000
; modkeep = 8192
; inc/cmdsys.plh: 0043: const modinitkeep = $4000
; modinitkeep = 16384
; inc/cmdsys.plh: 0044: //
; inc/cmdsys.plh: 0045: // CMD exported interface table
; inc/cmdsys.plh: 0046: //
; inc/cmdsys.plh: 0047: struc t_cmdsys
; inc/cmdsys.plh: 0048: word sysver
; sysver = 0
; inc/cmdsys.plh: 0049: word syspath
; syspath = 2
; inc/cmdsys.plh: 0050: word cmdline
; cmdline = 4
; inc/cmdsys.plh: 0051: word modexec
; modexec = 6
; inc/cmdsys.plh: 0052: word sysopen
; sysopen = 8
; inc/cmdsys.plh: 0053: word sysclose
; sysclose = 10
; inc/cmdsys.plh: 0054: word sysread
; sysread = 12
; inc/cmdsys.plh: 0055: word syswrite
; syswrite = 14
; inc/cmdsys.plh: 0056: byte syserr
; syserr = 16
; inc/cmdsys.plh: 0057: byte jitcount
; jitcount = 17
; inc/cmdsys.plh: 0058: byte jitsize
; jitsize = 18
; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific
; sysexec = 19
; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific
; refcons = 19
; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific
; devcons = 20
; inc/cmdsys.plh: 0062: word lookupsym
; lookupsym = 21
; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write)
; _sysflags_ = 23
; inc/cmdsys.plh: 0064: end
; t_cmdsys = 25
; inc/cmdsys.plh: 0065: //
; inc/cmdsys.plh: 0066: // CMD exported functions
; inc/cmdsys.plh: 0067: //
; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0
; PUTC -> X002
; PUTLN -> X003
; PUTS -> X004
; PUTI -> X005
; GETC -> X006
; GETS -> X007
; PUTB -> X008
; PUTH -> X009
; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1
; CALL -> X010
; SYSCALL -> X011
; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1
; HEAPMARK -> X012
; HEAPALLOCALIGN -> X013
; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1
; HEAPALLOC -> X014
; HEAPRELEASE -> X015
; HEAPAVAIL -> X016
; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
; MEMSET -> X017
; MEMCPY -> X018
; STRCPY -> X019
; STRCAT -> X020
; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1
; TOUPPER -> X021
; SEXT -> X022
; DIVMOD -> X023
; ISUGT -> X024
; ISUGE -> X025
; ISULT -> X026
; ISULE -> X027
; inc/cmdsys.plh: 0074: end
; libsrc/apple/sdfat.pla: 0001:
; libsrc/apple/sdfat.pla: 0002: include "inc/spiport.plh"
; inc/spiport.plh: 0001: import spiport
; DCI STRING: SPIPORT
!BYTE $D3,$D0,$C9,$D0,$CF,$D2,$54
; SPIPORT -> X028
; inc/spiport.plh: 0002: //
; inc/spiport.plh: 0003: // Wiring constants for Arduino
; inc/spiport.plh: 0004: //
; inc/spiport.plh: 0005: const PINHIGH = 1
; PINHIGH = 1
; inc/spiport.plh: 0006: const PINLOW = 0
; PINLOW = 0
; inc/spiport.plh: 0007: const PINOUTPUT = 1
; PINOUTPUT = 1
; inc/spiport.plh: 0008: const PININPUT = 0
; PININPUT = 0
; inc/spiport.plh: 0009: const PINPULLUP = 2
; PINPULLUP = 2
; inc/spiport.plh: 0010: //
; inc/spiport.plh: 0011: // SPI commands to Wiring functions on Arduino
; inc/spiport.plh: 0012: //
; inc/spiport.plh: 0013: const CMDPINMODE = 3
; CMDPINMODE = 3
; inc/spiport.plh: 0014: const CMDDIGREAD = 4
; CMDDIGREAD = 4
; inc/spiport.plh: 0015: const CMDDIGWRITE = 5
; CMDDIGWRITE = 5
; inc/spiport.plh: 0016: const CMDANAREAD = 6
; CMDANAREAD = 6
; inc/spiport.plh: 0017: const CMDANAWRITE = 7
; CMDANAWRITE = 7
; inc/spiport.plh: 0018: //
; inc/spiport.plh: 0019: // SPI commands to serial functions on Arduino
; inc/spiport.plh: 0020: //
; inc/spiport.plh: 0021: const CMDSERMODE = 8
; CMDSERMODE = 8
; inc/spiport.plh: 0022: const CMDSERAVAIL = 9
; CMDSERAVAIL = 9
; inc/spiport.plh: 0023: const CMDSERREAD = 10
; CMDSERREAD = 10
; inc/spiport.plh: 0024: const CMDSERWRITE = 11
; CMDSERWRITE = 11
; inc/spiport.plh: 0025: predef spiXferByte(outbyte), spiSend(data), spiRecv, spiWriteBuf(buf, len), spiReadBuf(buf, len)
; SPIXFERBYTE -> X029
; SPISEND -> X030
; SPIRECV -> X031
; SPIWRITEBUF -> X032
; SPIREADBUF -> X033
; inc/spiport.plh: 0026: predef spiDelay(time), spiReady
; SPIDELAY -> X034
; SPIREADY -> X035
; inc/spiport.plh: 0027: end
; libsrc/apple/sdfat.pla: 0002:
; libsrc/apple/sdfat.pla: 0003:
; libsrc/apple/sdfat.pla: 0004: //
; libsrc/apple/sdfat.pla: 0005: // FAT I/O object
; libsrc/apple/sdfat.pla: 0006: //
; libsrc/apple/sdfat.pla: 0007: predef cwd(pathname), chdir(path), mkdir(path), rmdir(path), rename(newpath), remove, exists(path)
!BYTE $00 ; END OF MODULE DEPENDENCIES
; libsrc/apple/sdfat.pla: 0008: predef openFirst(filename), openNext(filename), open(path, mode)
; libsrc/apple/sdfat.pla: 0009: predef close, read(buf, len), write(buf, len), sync, rewind, seek, seekOfs, pos
; libsrc/apple/sdfat.pla: 0010: predef size, truncate, isDir, isFile
; libsrc/apple/sdfat.pla: 0011: //
; libsrc/apple/sdfat.pla: 0012: // SD card FAT filesystem interface
; libsrc/apple/sdfat.pla: 0013: //
; libsrc/apple/sdfat.pla: 0014: export byte[] sdFAT
_D058 ; sdFAT
; libsrc/apple/sdfat.pla: 0015: word[] = @cwd, @chdir, @mkdir, @rmdir, @rename, @remove, @exists, @openFirst, @openNext, @open
_F000 !WORD _P000
_F001 !WORD _P001
_F002 !WORD _P002
_F003 !WORD _P003
_F004 !WORD _P004
_F005 !WORD _P005
_F006 !WORD _P006
_F007 !WORD _P007
_F008 !WORD _P008
_F009 !WORD _P009
; libsrc/apple/sdfat.pla: 0016: word[] = @close, @read, @write, @sync, @rewind, @seek, @seekOfs, @pos
_F010 !WORD _P010
_F011 !WORD _P011
_F012 !WORD _P012
_F013 !WORD _P013
_F014 !WORD _P014
_F015 !WORD _P015
_F016 !WORD _P016
_F017 !WORD _P017
; libsrc/apple/sdfat.pla: 0017: word[] = @size, @truncate, @isDir, @isFile
_F018 !WORD _P018
_F019 !WORD _P019
_F020 !WORD _P020
_F021 !WORD _P021
; libsrc/apple/sdfat.pla: 0018: //
; libsrc/apple/sdfat.pla: 0019: // Directory related functions
; libsrc/apple/sdfat.pla: 0020: //
; libsrc/apple/sdfat.pla: 0021: def cwd(pathname)
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
; pathname -> [0]
_P000 ; cwd(pathname)()
_C000 ; cwd()
; libsrc/apple/sdfat.pla: 0022: byte namelen
; namelen -> [2]
; libsrc/apple/sdfat.pla: 0023:
; libsrc/apple/sdfat.pla: 0024: namelen = 0
!BYTE $58,$03,$01 ; ENTER 3,1
; libsrc/apple/sdfat.pla: 0025: spiSend(15) // CWD
; libsrc/apple/sdfat.pla: 0026: namelen = spiRecv
; libsrc/apple/sdfat.pla: 0027: if namelen
; libsrc/apple/sdfat.pla: 0028: spiReadBuf(pathname+1, namelen)
; libsrc/apple/sdfat.pla: 0029: fin
!BYTE $00 ; CN 0
!BYTE $74,$02 ; SLB [2]
!BYTE $1E ; CN 15
!BYTE $54 ; CALL _X030
_F022 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F023 !WORD 0
!BYTE $6C,$02 ; DLB [2]
!BYTE $4C ; BRFLS _B001
!WORD _B001-*
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
!BYTE $64,$02 ; LLB [2]
!BYTE $54 ; CALL _X033
_F024 !WORD 0
!BYTE $30 ; DROP
_B001
_B002
; libsrc/apple/sdfat.pla: 0030: ^pathname = namelen
; libsrc/apple/sdfat.pla: 0031: return namelen
!BYTE $64,$02 ; LLB [2]
!BYTE $66,$00 ; LLW [0]
!BYTE $70 ; SB
!BYTE $64,$02 ; LLB [2]
!BYTE $5A,$03 ; LEAVE 3
; libsrc/apple/sdfat.pla: 0032: end
; libsrc/apple/sdfat.pla: 0033:
; libsrc/apple/sdfat.pla: 0034: def chdir(path)
; path -> [0]
_P001 ; chdir(path)()
_C001 ; chdir()
; libsrc/apple/sdfat.pla: 0035: spiWriteBuf(path + 1, ^path)
!BYTE $58,$02,$01 ; ENTER 2,1
; libsrc/apple/sdfat.pla: 0036: spiSend(16) // CHGDIR
; libsrc/apple/sdfat.pla: 0037: return spiRecv
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $54 ; CALL _X032
_F025 !WORD 0
!BYTE $30 ; DROP
!BYTE $2A,$10 ; CB 16
!BYTE $54 ; CALL _X030
_F026 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F027 !WORD 0
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0038: end
; libsrc/apple/sdfat.pla: 0039:
; libsrc/apple/sdfat.pla: 0040: def mkdir(path)
; path -> [0]
_P002 ; mkdir(path)()
_C002 ; mkdir()
; libsrc/apple/sdfat.pla: 0041: return 0
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $00 ; CN 0
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0042: end
; libsrc/apple/sdfat.pla: 0043:
; libsrc/apple/sdfat.pla: 0044: def rmdir(path)
; path -> [0]
_P003 ; rmdir(path)()
_C003 ; rmdir()
; libsrc/apple/sdfat.pla: 0045: return 0
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $00 ; CN 0
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0046: end
; libsrc/apple/sdfat.pla: 0047:
; libsrc/apple/sdfat.pla: 0048: def rename(newpath)
; newpath -> [0]
_P004 ; rename(newpath)()
_C004 ; rename()
; libsrc/apple/sdfat.pla: 0049: return 0
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $00 ; CN 0
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0050: end
; libsrc/apple/sdfat.pla: 0051:
; libsrc/apple/sdfat.pla: 0052: def remove
_P005 ; remove()
_C005 ; remove()
; libsrc/apple/sdfat.pla: 0053: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0054: end
; libsrc/apple/sdfat.pla: 0055:
; libsrc/apple/sdfat.pla: 0056: def exists(path)
; path -> [0]
_P006 ; exists(path)()
_C006 ; exists()
; libsrc/apple/sdfat.pla: 0057: return 0
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $00 ; CN 0
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0058: end
; libsrc/apple/sdfat.pla: 0059:
; libsrc/apple/sdfat.pla: 0060: def openDir(cmd, filename)
; cmd -> [0]
; filename -> [2]
_C007 ; openDir()
; libsrc/apple/sdfat.pla: 0061: byte namelen
; namelen -> [4]
; libsrc/apple/sdfat.pla: 0062:
; libsrc/apple/sdfat.pla: 0063: namelen = 0
!BYTE $58,$05,$02 ; ENTER 5,2
; libsrc/apple/sdfat.pla: 0064: spiSend(cmd)
; libsrc/apple/sdfat.pla: 0065: namelen = spiRecv
; libsrc/apple/sdfat.pla: 0066: if namelen == $FF
; libsrc/apple/sdfat.pla: 0067: namelen = 0
; libsrc/apple/sdfat.pla: 0068: fin
!BYTE $00 ; CN 0
!BYTE $74,$04 ; SLB [4]
!BYTE $66,$00 ; LLW [0]
!BYTE $54 ; CALL _X030
_F028 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F029 !WORD 0
!BYTE $6C,$04 ; DLB [4]
!BYTE $2A,$FF ; CB 255
!BYTE $24 ; BRNE _B003
!WORD _B003-*
!BYTE $00 ; CN 0
!BYTE $74,$04 ; SLB [4]
_B003
_B004
; libsrc/apple/sdfat.pla: 0069: if namelen
; libsrc/apple/sdfat.pla: 0070: spiReadBuf(filename+1, namelen)
; libsrc/apple/sdfat.pla: 0071: fin
!BYTE $64,$04 ; LLB [4]
!BYTE $4C ; BRFLS _B005
!WORD _B005-*
!BYTE $66,$02 ; LLW [2]
!BYTE $8C ; INCR
!BYTE $64,$04 ; LLB [4]
!BYTE $54 ; CALL _X033
_F030 !WORD 0
!BYTE $30 ; DROP
_B005
_B006
; libsrc/apple/sdfat.pla: 0072: ^filename = namelen
; libsrc/apple/sdfat.pla: 0073: return namelen
!BYTE $64,$04 ; LLB [4]
!BYTE $66,$02 ; LLW [2]
!BYTE $70 ; SB
!BYTE $64,$04 ; LLB [4]
!BYTE $5A,$05 ; LEAVE 5
; libsrc/apple/sdfat.pla: 0074: end
; libsrc/apple/sdfat.pla: 0075: def openFirst(filename) // return filename in buffer
; filename -> [0]
_P007 ; openFirst(filename) // return filename in buffer()
_C008 ; openFirst()
; libsrc/apple/sdfat.pla: 0076: return openDir(22, filename) // OPENFIRST
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $2A,$16 ; CB 22
!BYTE $66,$00 ; LLW [0]
!BYTE $54 ; CALL _C007
_F031 !WORD _C007
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0077: end
; libsrc/apple/sdfat.pla: 0078:
; libsrc/apple/sdfat.pla: 0079: def openNext(filename) // return filename i buffer
; filename -> [0]
_P008 ; openNext(filename) // return filename i buffer()
_C009 ; openNext()
; libsrc/apple/sdfat.pla: 0080: return openDir(23, filename) // OPENNEXT
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $2A,$17 ; CB 23
!BYTE $66,$00 ; LLW [0]
!BYTE $54 ; CALL _C007
_F032 !WORD _C007
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0081: end
; libsrc/apple/sdfat.pla: 0082:
; libsrc/apple/sdfat.pla: 0083: //
; libsrc/apple/sdfat.pla: 0084: // File related functions
; libsrc/apple/sdfat.pla: 0085: //
; libsrc/apple/sdfat.pla: 0086: def open(path, mode)
; path -> [0]
; mode -> [2]
_P009 ; open(path, mode)()
_C010 ; open()
; libsrc/apple/sdfat.pla: 0087: spiWriteBuf(path + 1, ^path) // send filename
!BYTE $58,$04,$02 ; ENTER 4,2
; libsrc/apple/sdfat.pla: 0088: spiSend(21) // OPEN
; libsrc/apple/sdfat.pla: 0089: spiSend(mode)
; libsrc/apple/sdfat.pla: 0090: return spiRecv // status
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $54 ; CALL _X032
_F033 !WORD 0
!BYTE $30 ; DROP
!BYTE $2A,$15 ; CB 21
!BYTE $54 ; CALL _X030
_F034 !WORD 0
!BYTE $30 ; DROP
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X030
_F035 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F036 !WORD 0
!BYTE $5A,$04 ; LEAVE 4
; libsrc/apple/sdfat.pla: 0091: end
; libsrc/apple/sdfat.pla: 0092:
; libsrc/apple/sdfat.pla: 0093: def close
_P010 ; close()
_C011 ; close()
; libsrc/apple/sdfat.pla: 0094: return spiSend(24) // CLOSE
!BYTE $2A,$18 ; CB 24
!BYTE $54 ; CALL _X030
_F037 !WORD 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0095: end
; libsrc/apple/sdfat.pla: 0096:
; libsrc/apple/sdfat.pla: 0097: def read(buf, len)
; buf -> [0]
; len -> [2]
_P011 ; read(buf, len)()
_C012 ; read()
; libsrc/apple/sdfat.pla: 0098: if len > 512
!BYTE $58,$04,$02 ; ENTER 4,2
; libsrc/apple/sdfat.pla: 0099: len = 512
; libsrc/apple/sdfat.pla: 0100: fin
!BYTE $66,$02 ; LLW [2]
!BYTE $2C,$00,$02 ; CW 512
!BYTE $44 ; ISGT
!BYTE $4C ; BRFLS _B007
!WORD _B007-*
!BYTE $2C,$00,$02 ; CW 512
!BYTE $76,$02 ; SLW [2]
_B007
_B008
; libsrc/apple/sdfat.pla: 0101: spiSend(25) // READ
; libsrc/apple/sdfat.pla: 0102: spiSend(len >> 8); spiSend(len)
; libsrc/apple/sdfat.pla: 0103: len = (spiRecv << 8) | spiRecv
; libsrc/apple/sdfat.pla: 0104: if len > 0
; libsrc/apple/sdfat.pla: 0105: spiReadBuf(buf, len)
; libsrc/apple/sdfat.pla: 0106: fin
!BYTE $2A,$19 ; CB 25
!BYTE $54 ; CALL _X030
_F038 !WORD 0
!BYTE $30 ; DROP
!BYTE $64,$03 ; LLB [3]
!BYTE $54 ; CALL _X030
_F039 !WORD 0
!BYTE $30 ; DROP
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X030
_F040 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F041 !WORD 0
!BYTE $10 ; CN 8
!BYTE $9A ; SHL
!BYTE $54 ; CALL _X031
_F042 !WORD 0
!BYTE $96 ; OR
!BYTE $6E,$02 ; DLW [2]
!BYTE $00 ; CN 0
!BYTE $44 ; ISGT
!BYTE $4C ; BRFLS _B009
!WORD _B009-*
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X033
_F043 !WORD 0
!BYTE $30 ; DROP
_B009
_B010
; libsrc/apple/sdfat.pla: 0107: return len
!BYTE $66,$02 ; LLW [2]
!BYTE $5A,$04 ; LEAVE 4
; libsrc/apple/sdfat.pla: 0108: end
; libsrc/apple/sdfat.pla: 0109:
; libsrc/apple/sdfat.pla: 0110: def write(buf, len)
; buf -> [0]
; len -> [2]
_P012 ; write(buf, len)()
_C013 ; write()
; libsrc/apple/sdfat.pla: 0111: if len > 512
!BYTE $58,$04,$02 ; ENTER 4,2
; libsrc/apple/sdfat.pla: 0112: len = 512
; libsrc/apple/sdfat.pla: 0113: fin
!BYTE $66,$02 ; LLW [2]
!BYTE $2C,$00,$02 ; CW 512
!BYTE $44 ; ISGT
!BYTE $4C ; BRFLS _B011
!WORD _B011-*
!BYTE $2C,$00,$02 ; CW 512
!BYTE $76,$02 ; SLW [2]
_B011
_B012
; libsrc/apple/sdfat.pla: 0114: spiWriteBuf(buf, len)
; libsrc/apple/sdfat.pla: 0115: spiSend(26) // WRITE
; libsrc/apple/sdfat.pla: 0116: spiSend(len >> 8); spiSend(len)
; libsrc/apple/sdfat.pla: 0117: len = (spiRecv << 8) | spiRecv
; libsrc/apple/sdfat.pla: 0118: return len
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X032
_F044 !WORD 0
!BYTE $30 ; DROP
!BYTE $2A,$1A ; CB 26
!BYTE $54 ; CALL _X030
_F045 !WORD 0
!BYTE $30 ; DROP
!BYTE $64,$03 ; LLB [3]
!BYTE $54 ; CALL _X030
_F046 !WORD 0
!BYTE $30 ; DROP
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X030
_F047 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F048 !WORD 0
!BYTE $10 ; CN 8
!BYTE $9A ; SHL
!BYTE $54 ; CALL _X031
_F049 !WORD 0
!BYTE $96 ; OR
!BYTE $6E,$02 ; DLW [2]
!BYTE $5A,$04 ; LEAVE 4
; libsrc/apple/sdfat.pla: 0119: end
; libsrc/apple/sdfat.pla: 0120:
; libsrc/apple/sdfat.pla: 0121: def sync
_P013 ; sync()
_C014 ; sync()
; libsrc/apple/sdfat.pla: 0122: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0123: end
; libsrc/apple/sdfat.pla: 0124:
; libsrc/apple/sdfat.pla: 0125: def rewind
_P014 ; rewind()
_C015 ; rewind()
; libsrc/apple/sdfat.pla: 0126: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0127: end
; libsrc/apple/sdfat.pla: 0128:
; libsrc/apple/sdfat.pla: 0129: def seek
_P015 ; seek()
_C016 ; seek()
; libsrc/apple/sdfat.pla: 0130: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0131: end
; libsrc/apple/sdfat.pla: 0132:
; libsrc/apple/sdfat.pla: 0133: def seekOfs
_P016 ; seekOfs()
_C017 ; seekOfs()
; libsrc/apple/sdfat.pla: 0134: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0135: end
; libsrc/apple/sdfat.pla: 0136:
; libsrc/apple/sdfat.pla: 0137: def pos
_P017 ; pos()
_C018 ; pos()
; libsrc/apple/sdfat.pla: 0138: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0139: end
; libsrc/apple/sdfat.pla: 0140:
; libsrc/apple/sdfat.pla: 0141: def size
_P018 ; size()
_C019 ; size()
; libsrc/apple/sdfat.pla: 0142: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0143: end
; libsrc/apple/sdfat.pla: 0144:
; libsrc/apple/sdfat.pla: 0145: def truncate
_P019 ; truncate()
_C020 ; truncate()
; libsrc/apple/sdfat.pla: 0146: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0147: end
; libsrc/apple/sdfat.pla: 0148:
; libsrc/apple/sdfat.pla: 0149: def isDir
_P020 ; isDir()
_C021 ; isDir()
; libsrc/apple/sdfat.pla: 0150: spiSend(35) // ISDIR
; libsrc/apple/sdfat.pla: 0151: return spiRecv
!BYTE $2A,$23 ; CB 35
!BYTE $54 ; CALL _X030
_F050 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F051 !WORD 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0152: end
; libsrc/apple/sdfat.pla: 0153:
; libsrc/apple/sdfat.pla: 0154: def isFile
_P021 ; isFile()
_C022 ; isFile()
; libsrc/apple/sdfat.pla: 0155: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0156: end
; libsrc/apple/sdfat.pla: 0157:
; libsrc/apple/sdfat.pla: 0158: //
; libsrc/apple/sdfat.pla: 0159: // Init SD card FAT filesystem
; libsrc/apple/sdfat.pla: 0160: //
; libsrc/apple/sdfat.pla: 0161: spiSend(14) // SDINIT
_INIT
; libsrc/apple/sdfat.pla: 0162: return spiReady <> 0 // Is Arduino READY?
!BYTE $1C ; CN 14
!BYTE $54 ; CALL _X030
_F052 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X035
_F053 !WORD 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0163: done
_SYSFLAGS = 0
_DEFCNT = 24
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C000
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C001
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C002
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C003
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C004
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C005
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C006
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C007
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C008
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C009
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C010
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C011
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C012
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C013
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C014
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C015
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C016
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C017
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C018
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C019
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C020
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C021
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C022
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F000-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F001-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F002-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F003-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F004-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F005-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F006-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F007-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F008-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F009-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F010-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F011-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F012-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F013-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F014-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F015-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F016-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F017-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F018-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F019-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F020-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F021-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F022-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F023-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F024-_SEGBEGIN
!BYTE 33 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F025-_SEGBEGIN
!BYTE 32 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F026-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F027-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F028-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F029-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F030-_SEGBEGIN
!BYTE 33 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F031-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F032-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F033-_SEGBEGIN
!BYTE 32 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F034-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F035-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F036-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F037-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F038-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F039-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F040-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F041-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F042-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F043-_SEGBEGIN
!BYTE 33 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F044-_SEGBEGIN
!BYTE 32 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F045-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F046-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F047-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F048-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F049-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F050-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F051-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F052-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F053-_SEGBEGIN
!BYTE 35 ; ESD INDEX
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: SPISEND
!BYTE $D3,$D0,$C9,$D3,$C5,$CE,$44
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 30 ; ESD INDEX
; DCI STRING: SPIRECV
!BYTE $D3,$D0,$C9,$D2,$C5,$C3,$56
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 31 ; ESD INDEX
; DCI STRING: SPIWRITEBUF
!BYTE $D3,$D0,$C9,$D7,$D2,$C9,$D4,$C5,$C2,$D5,$46
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 32 ; ESD INDEX
; DCI STRING: SPIREADBUF
!BYTE $D3,$D0,$C9,$D2,$C5,$C1,$C4,$C2,$D5,$46
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 33 ; ESD INDEX
; DCI STRING: SPIREADY
!BYTE $D3,$D0,$C9,$D2,$C5,$C1,$C4,$59
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 35 ; ESD INDEX
; DCI STRING: SDFAT
!BYTE $D3,$C4,$C6,$C1,$54
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _D058
!BYTE $00 ; END OF ESD
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
-461
View File
@@ -1,461 +0,0 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/apple/vblank.pla: 0001: include "inc/cmdsys.plh"
; inc/cmdsys.plh: 0001: import cmdsys
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
; CMDSYS -> X000
; inc/cmdsys.plh: 0002: //
; inc/cmdsys.plh: 0003: // Useful values for everyone
; inc/cmdsys.plh: 0004: //
; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against
; _SYSVER_ = 544
; inc/cmdsys.plh: 0006: const FALSE = 0
; FALSE = 0
; inc/cmdsys.plh: 0007: const TRUE = not FALSE
; TRUE = -1
; inc/cmdsys.plh: 0008: const NULL = 0
; NULL = 0
; inc/cmdsys.plh: 0009: //
; inc/cmdsys.plh: 0010: // Machine ID values
; inc/cmdsys.plh: 0011: //
; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01
; MACHID_CLOCK = 1
; inc/cmdsys.plh: 0013: const MACHID_80COL = $02
; MACHID_80COL = 2
; inc/cmdsys.plh: 0014: const MACHID_MEM = $30
; MACHID_MEM = 48
; inc/cmdsys.plh: 0015: const MACHID_64K = $20
; MACHID_64K = 32
; inc/cmdsys.plh: 0016: const MACHID_128K = $30
; MACHID_128K = 48
; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8
; MACHID_MODEL = 200
; inc/cmdsys.plh: 0018: const MACHID_II = $00
; MACHID_II = 0
; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40
; MACHID_IIPLUS = 64
; inc/cmdsys.plh: 0020: const MACHID_IIE = $80
; MACHID_IIE = 128
; inc/cmdsys.plh: 0021: const MACHID_III = $C0
; MACHID_III = 192
; inc/cmdsys.plh: 0022: const MACHID_IIC = $88
; MACHID_IIC = 136
; inc/cmdsys.plh: 0023: const MACHID_I = $08
; MACHID_I = 8
; inc/cmdsys.plh: 0024: byte MACHID
; MACHID -> X001
; inc/cmdsys.plh: 0025: //
; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes.
; inc/cmdsys.plh: 0027: //
; inc/cmdsys.plh: 0028: const restxt1 = $0001
; restxt1 = 1
; inc/cmdsys.plh: 0029: const restxt2 = $0002
; restxt2 = 2
; inc/cmdsys.plh: 0030: const resxtxt1 = $0004
; resxtxt1 = 4
; inc/cmdsys.plh: 0031: const resxtxt2 = $0008
; resxtxt2 = 8
; inc/cmdsys.plh: 0032: const reshgr1 = $0010
; reshgr1 = 16
; inc/cmdsys.plh: 0033: const reshgr2 = $0020
; reshgr2 = 32
; inc/cmdsys.plh: 0034: const resxhgr1 = $0040
; resxhgr1 = 64
; inc/cmdsys.plh: 0035: const resxhgr2 = $0080
; resxhgr2 = 128
; inc/cmdsys.plh: 0036: const nojitc = $0100
; nojitc = 256
; inc/cmdsys.plh: 0037: const vid80col = $0800
; vid80col = 2048
; inc/cmdsys.plh: 0038: //
; inc/cmdsys.plh: 0039: // Module don't free memory
; inc/cmdsys.plh: 0040: //
; inc/cmdsys.plh: 0041: const modflagkeep = $1000
; modflagkeep = 4096
; inc/cmdsys.plh: 0042: const modkeep = $2000
; modkeep = 8192
; inc/cmdsys.plh: 0043: const modinitkeep = $4000
; modinitkeep = 16384
; inc/cmdsys.plh: 0044: //
; inc/cmdsys.plh: 0045: // CMD exported interface table
; inc/cmdsys.plh: 0046: //
; inc/cmdsys.plh: 0047: struc t_cmdsys
; inc/cmdsys.plh: 0048: word sysver
; sysver = 0
; inc/cmdsys.plh: 0049: word syspath
; syspath = 2
; inc/cmdsys.plh: 0050: word cmdline
; cmdline = 4
; inc/cmdsys.plh: 0051: word modexec
; modexec = 6
; inc/cmdsys.plh: 0052: word sysopen
; sysopen = 8
; inc/cmdsys.plh: 0053: word sysclose
; sysclose = 10
; inc/cmdsys.plh: 0054: word sysread
; sysread = 12
; inc/cmdsys.plh: 0055: word syswrite
; syswrite = 14
; inc/cmdsys.plh: 0056: byte syserr
; syserr = 16
; inc/cmdsys.plh: 0057: byte jitcount
; jitcount = 17
; inc/cmdsys.plh: 0058: byte jitsize
; jitsize = 18
; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific
; sysexec = 19
; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific
; refcons = 19
; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific
; devcons = 20
; inc/cmdsys.plh: 0062: word lookupsym
; lookupsym = 21
; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write)
; _sysflags_ = 23
; inc/cmdsys.plh: 0064: end
; t_cmdsys = 25
; inc/cmdsys.plh: 0065: //
; inc/cmdsys.plh: 0066: // CMD exported functions
; inc/cmdsys.plh: 0067: //
; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0
; PUTC -> X002
; PUTLN -> X003
; PUTS -> X004
; PUTI -> X005
; GETC -> X006
; GETS -> X007
; PUTB -> X008
; PUTH -> X009
; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1
; CALL -> X010
; SYSCALL -> X011
; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1
; HEAPMARK -> X012
; HEAPALLOCALIGN -> X013
; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1
; HEAPALLOC -> X014
; HEAPRELEASE -> X015
; HEAPAVAIL -> X016
; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
; MEMSET -> X017
; MEMCPY -> X018
; STRCPY -> X019
; STRCAT -> X020
; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1
; TOUPPER -> X021
; SEXT -> X022
; DIVMOD -> X023
; ISUGT -> X024
; ISUGE -> X025
; ISULT -> X026
; ISULE -> X027
; inc/cmdsys.plh: 0074: end
; libsrc/apple/vblank.pla: 0001:
; libsrc/apple/vblank.pla: 0002: //
; libsrc/apple/vblank.pla: 0003: // Wait for VBL
; libsrc/apple/vblank.pla: 0004: //
; libsrc/apple/vblank.pla: 0005: export asm waitVBL#1
!BYTE $00 ; END OF MODULE DEPENDENCIES
_A000 ; waitVBL()
; libsrc/apple/vblank.pla: 0006: !SOURCE "vmsrc/plvmzp.inc"
!SOURCE "vmsrc/plvmzp.inc"
; libsrc/apple/vblank.pla: 0007: LDA #$00
LDA #$00
; libsrc/apple/vblank.pla: 0008: STA TMPH
STA TMPH
; libsrc/apple/vblank.pla: 0009: STA TMPL
STA TMPL
; libsrc/apple/vblank.pla: 0010: PHP ; //c version first because its largest
PHP ; //c version first because its largest
; libsrc/apple/vblank.pla: 0011: SEI
SEI
; libsrc/apple/vblank.pla: 0012: STA $C07F ; Enable IOU access and reset VBL int on //c
STA $C07F ; Enable IOU access and reset VBL int on //c
; libsrc/apple/vblank.pla: 0013: LDA $C041 ; Save VBL int state MSB = BVL int enebaled
LDA $C041 ; Save VBL int state MSB = BVL int enebaled
; libsrc/apple/vblank.pla: 0014: STA $C05B ; Enable VBL int
STA $C05B ; Enable VBL int
; libsrc/apple/vblank.pla: 0015: STA $C070 ; Reset VBL int on //c
STA $C070 ; Reset VBL int on //c
; libsrc/apple/vblank.pla: 0016: - INC TMPL
- INC TMPL
; libsrc/apple/vblank.pla: 0017: BNE +
BNE +
; libsrc/apple/vblank.pla: 0018: INC TMPH
INC TMPH
; libsrc/apple/vblank.pla: 0019: + BIT $C019
+ BIT $C019
; libsrc/apple/vblank.pla: 0020: BPL - ; Wait for VBL
BPL - ; Wait for VBL
; libsrc/apple/vblank.pla: 0021: ASL
ASL
; libsrc/apple/vblank.pla: 0022: BCS +
BCS +
; libsrc/apple/vblank.pla: 0023: STA $C05A ; Disable VBL int on //c
STA $C05A ; Disable VBL int on //c
; libsrc/apple/vblank.pla: 0024: + STA $C07E ; Disable IOU access on //c
+ STA $C07E ; Disable IOU access on //c
; libsrc/apple/vblank.pla: 0025: PLP
PLP
; libsrc/apple/vblank.pla: 0026: DEX
DEX
; libsrc/apple/vblank.pla: 0027: LDA TMPL ; Return count
LDA TMPL ; Return count
; libsrc/apple/vblank.pla: 0028: STA ESTKL,X
STA ESTKL,X
; libsrc/apple/vblank.pla: 0029: LDA TMPH
LDA TMPH
; libsrc/apple/vblank.pla: 0030: STA ESTKH,X
STA ESTKH,X
; libsrc/apple/vblank.pla: 0031: RTS
RTS
; libsrc/apple/vblank.pla: 0032: end
; libsrc/apple/vblank.pla: 0033: asm _vbl2e#1
_A001 ; _vbl2e()
; libsrc/apple/vblank.pla: 0034: LDA #$00
LDA #$00
; libsrc/apple/vblank.pla: 0035: STA TMPH
STA TMPH
; libsrc/apple/vblank.pla: 0036: STA TMPL
STA TMPL
; libsrc/apple/vblank.pla: 0037: - LDA $C019 ; //e version
- LDA $C019 ; //e version
; libsrc/apple/vblank.pla: 0038: BPL -
BPL -
; libsrc/apple/vblank.pla: 0039: - INC TMPL
- INC TMPL
; libsrc/apple/vblank.pla: 0040: BNE +
BNE +
; libsrc/apple/vblank.pla: 0041: INC TMPH
INC TMPH
; libsrc/apple/vblank.pla: 0042: + LDA $C019 ; Wait during active video
+ LDA $C019 ; Wait during active video
; libsrc/apple/vblank.pla: 0043: BMI -
BMI -
; libsrc/apple/vblank.pla: 0044: DEX
DEX
; libsrc/apple/vblank.pla: 0045: LDA TMPL ; Return count
LDA TMPL ; Return count
; libsrc/apple/vblank.pla: 0046: STA ESTKL,X
STA ESTKL,X
; libsrc/apple/vblank.pla: 0047: LDA TMPH
LDA TMPH
; libsrc/apple/vblank.pla: 0048: STA ESTKH,X
STA ESTKH,X
; libsrc/apple/vblank.pla: 0049: RTS
RTS
; libsrc/apple/vblank.pla: 0050: end
; libsrc/apple/vblank.pla: 0051: asm _vblnop#1
_A002 ; _vblnop()
; libsrc/apple/vblank.pla: 0052: LDA #$00 ; NOP version
LDA #$00 ; NOP version
; libsrc/apple/vblank.pla: 0053: DEX ; return FALSE
DEX ; return FALSE
; libsrc/apple/vblank.pla: 0054: STA ESTKL,X
STA ESTKL,X
; libsrc/apple/vblank.pla: 0055: STA ESTKH,X
STA ESTKH,X
; libsrc/apple/vblank.pla: 0056: RTS
RTS
; libsrc/apple/vblank.pla: 0057: end
; libsrc/apple/vblank.pla: 0058: asm _vblend#1
_A003 ; _vblend()
; libsrc/apple/vblank.pla: 0059: end
; libsrc/apple/vblank.pla: 0060: def _vbl3
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
_C000 ; _vbl3()
; libsrc/apple/vblank.pla: 0061: byte params[6]
; params -> [0]
; libsrc/apple/vblank.pla: 0062: char syn
; syn -> [6]
; libsrc/apple/vblank.pla: 0063:
; libsrc/apple/vblank.pla: 0064: syn = 22
!BYTE $58,$07,$00 ; ENTER 7,0
; libsrc/apple/vblank.pla: 0065: params.0 = 3
; libsrc/apple/vblank.pla: 0066: params.1 = cmdsys.refcons
; libsrc/apple/vblank.pla: 0067: params:2 = @syn
; libsrc/apple/vblank.pla: 0068: params:4 = 1
; libsrc/apple/vblank.pla: 0069: syscall($CB, @params)
; libsrc/apple/vblank.pla: 0070: return 300
!BYTE $2A,$16 ; CB 22
!BYTE $74,$06 ; SLB [6]
!BYTE $06 ; CN 3
!BYTE $74,$00 ; SLB [0]
!BYTE $68 ; LAB _X000+19
_F000 !WORD 0+19
!BYTE $74,$01 ; SLB [1]
!BYTE $28,$06 ; LLA [6]
!BYTE $76,$02 ; SLW [2]
!BYTE $02 ; CN 1
!BYTE $76,$04 ; SLW [4]
!BYTE $2A,$CB ; CB 203
!BYTE $28,$00 ; LLA [0]
!BYTE $54 ; CALL _X011
_F001 !WORD 0
!BYTE $30 ; DROP
!BYTE $2C,$2C,$01 ; CW 300
!BYTE $5A,$07 ; LEAVE 7
; libsrc/apple/vblank.pla: 0071: end
; libsrc/apple/vblank.pla: 0072: //
; libsrc/apple/vblank.pla: 0073: // Check for machine specific VLB handling
; libsrc/apple/vblank.pla: 0074: //
; libsrc/apple/vblank.pla: 0075: when MACHID & MACHID_MODEL
_INIT
!BYTE $68 ; LAB _X001+0
_F002 !WORD 0+0
!BYTE $3C,$C8 ; ANDI 200
!BYTE $52 ; SEL
!WORD _B002-*
; libsrc/apple/vblank.pla: 0076: is MACHID_IIE
_B003
; libsrc/apple/vblank.pla: 0077: memcpy(@waitVBL, @_vbl2e, @_vblnop-@_vbl2e)
; libsrc/apple/vblank.pla: 0078: is MACHID_IIC
!BYTE $26 ; LA _A000+0
_F003 !WORD _A000+0
!BYTE $26 ; LA _A001+0
_F004 !WORD _A001+0
!BYTE $26 ; LA _A002+0
_F005 !WORD _A002+0
!BYTE $26 ; LA _A001+0
_F006 !WORD _A001+0
!BYTE $84 ; SUB
!BYTE $54 ; CALL _X018
_F007 !WORD 0
_B004
; libsrc/apple/vblank.pla: 0079: break
!BYTE $50 ; BRNCH _B001
!WORD _B001-*
; libsrc/apple/vblank.pla: 0080: is MACHID_III
_B005
; libsrc/apple/vblank.pla: 0081: waitVBL.0 = $4C // JMP
; libsrc/apple/vblank.pla: 0082: waitVBL:1 = @_vbl3
; libsrc/apple/vblank.pla: 0083: break
!BYTE $2A,$4C ; CB 76
!BYTE $78 ; SAB _A000+0
_F008 !WORD _A000+0
!BYTE $26 ; LA _C000+0
_F009 !WORD _C000+0
!BYTE $7A ; SAW _A000+1
_F010 !WORD _A000+1
!BYTE $50 ; BRNCH _B001
!WORD _B001-*
; libsrc/apple/vblank.pla: 0084: otherwise
_B002
!BYTE $03 ; CASEBLOCK
!WORD $0080
!WORD _B003-*
!WORD $0088
!WORD _B004-*
!WORD $00C0
!WORD _B005-*
; libsrc/apple/vblank.pla: 0085: memcpy(@waitVBL, @_vblnop, @_vblend-@_vblnop)
; libsrc/apple/vblank.pla: 0086: wend
!BYTE $26 ; LA _A000+0
_F011 !WORD _A000+0
!BYTE $26 ; LA _A002+0
_F012 !WORD _A002+0
!BYTE $26 ; LA _A003+0
_F013 !WORD _A003+0
!BYTE $26 ; LA _A002+0
_F014 !WORD _A002+0
!BYTE $84 ; SUB
!BYTE $54 ; CALL _X018
_F015 !WORD 0
_B001
; libsrc/apple/vblank.pla: 0087: //
; libsrc/apple/vblank.pla: 0088: // Keep module in memory
; libsrc/apple/vblank.pla: 0089: //
; libsrc/apple/vblank.pla: 0090: return modkeep
!BYTE $2C,$00,$20 ; CW 8192
!BYTE $5C ; RET
; libsrc/apple/vblank.pla: 0091: done
_SYSFLAGS = 0
_DEFCNT = 2
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C000
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F000-_SEGBEGIN
!BYTE 0 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F001-_SEGBEGIN
!BYTE 11 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F002-_SEGBEGIN
!BYTE 1 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F003-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F004-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F005-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F006-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F007-_SEGBEGIN
!BYTE 18 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F008-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F009-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F010-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F011-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F012-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F013-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F014-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F015-_SEGBEGIN
!BYTE 18 ; ESD INDEX
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 0 ; ESD INDEX
; DCI STRING: MACHID
!BYTE $CD,$C1,$C3,$C8,$C9,$44
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 1 ; ESD INDEX
; DCI STRING: SYSCALL
!BYTE $D3,$D9,$D3,$C3,$C1,$CC,$4C
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 11 ; ESD INDEX
; DCI STRING: MEMCPY
!BYTE $CD,$C5,$CD,$C3,$D0,$59
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 18 ; ESD INDEX
; DCI STRING: WAITVBL
!BYTE $D7,$C1,$C9,$D4,$D6,$C2,$4C
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _A000
!BYTE $00 ; END OF ESD
-335
View File
@@ -1,335 +0,0 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/args.pla: 0001: include "inc/cmdsys.plh"
; inc/cmdsys.plh: 0001: import cmdsys
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
; CMDSYS -> X000
; inc/cmdsys.plh: 0002: //
; inc/cmdsys.plh: 0003: // Useful values for everyone
; inc/cmdsys.plh: 0004: //
; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against
; _SYSVER_ = 544
; inc/cmdsys.plh: 0006: const FALSE = 0
; FALSE = 0
; inc/cmdsys.plh: 0007: const TRUE = not FALSE
; TRUE = -1
; inc/cmdsys.plh: 0008: const NULL = 0
; NULL = 0
; inc/cmdsys.plh: 0009: //
; inc/cmdsys.plh: 0010: // Machine ID values
; inc/cmdsys.plh: 0011: //
; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01
; MACHID_CLOCK = 1
; inc/cmdsys.plh: 0013: const MACHID_80COL = $02
; MACHID_80COL = 2
; inc/cmdsys.plh: 0014: const MACHID_MEM = $30
; MACHID_MEM = 48
; inc/cmdsys.plh: 0015: const MACHID_64K = $20
; MACHID_64K = 32
; inc/cmdsys.plh: 0016: const MACHID_128K = $30
; MACHID_128K = 48
; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8
; MACHID_MODEL = 200
; inc/cmdsys.plh: 0018: const MACHID_II = $00
; MACHID_II = 0
; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40
; MACHID_IIPLUS = 64
; inc/cmdsys.plh: 0020: const MACHID_IIE = $80
; MACHID_IIE = 128
; inc/cmdsys.plh: 0021: const MACHID_III = $C0
; MACHID_III = 192
; inc/cmdsys.plh: 0022: const MACHID_IIC = $88
; MACHID_IIC = 136
; inc/cmdsys.plh: 0023: const MACHID_I = $08
; MACHID_I = 8
; inc/cmdsys.plh: 0024: byte MACHID
; MACHID -> X001
; inc/cmdsys.plh: 0025: //
; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes.
; inc/cmdsys.plh: 0027: //
; inc/cmdsys.plh: 0028: const restxt1 = $0001
; restxt1 = 1
; inc/cmdsys.plh: 0029: const restxt2 = $0002
; restxt2 = 2
; inc/cmdsys.plh: 0030: const resxtxt1 = $0004
; resxtxt1 = 4
; inc/cmdsys.plh: 0031: const resxtxt2 = $0008
; resxtxt2 = 8
; inc/cmdsys.plh: 0032: const reshgr1 = $0010
; reshgr1 = 16
; inc/cmdsys.plh: 0033: const reshgr2 = $0020
; reshgr2 = 32
; inc/cmdsys.plh: 0034: const resxhgr1 = $0040
; resxhgr1 = 64
; inc/cmdsys.plh: 0035: const resxhgr2 = $0080
; resxhgr2 = 128
; inc/cmdsys.plh: 0036: const nojitc = $0100
; nojitc = 256
; inc/cmdsys.plh: 0037: const vid80col = $0800
; vid80col = 2048
; inc/cmdsys.plh: 0038: //
; inc/cmdsys.plh: 0039: // Module don't free memory
; inc/cmdsys.plh: 0040: //
; inc/cmdsys.plh: 0041: const modflagkeep = $1000
; modflagkeep = 4096
; inc/cmdsys.plh: 0042: const modkeep = $2000
; modkeep = 8192
; inc/cmdsys.plh: 0043: const modinitkeep = $4000
; modinitkeep = 16384
; inc/cmdsys.plh: 0044: //
; inc/cmdsys.plh: 0045: // CMD exported interface table
; inc/cmdsys.plh: 0046: //
; inc/cmdsys.plh: 0047: struc t_cmdsys
; inc/cmdsys.plh: 0048: word sysver
; sysver = 0
; inc/cmdsys.plh: 0049: word syspath
; syspath = 2
; inc/cmdsys.plh: 0050: word cmdline
; cmdline = 4
; inc/cmdsys.plh: 0051: word modexec
; modexec = 6
; inc/cmdsys.plh: 0052: word sysopen
; sysopen = 8
; inc/cmdsys.plh: 0053: word sysclose
; sysclose = 10
; inc/cmdsys.plh: 0054: word sysread
; sysread = 12
; inc/cmdsys.plh: 0055: word syswrite
; syswrite = 14
; inc/cmdsys.plh: 0056: byte syserr
; syserr = 16
; inc/cmdsys.plh: 0057: byte jitcount
; jitcount = 17
; inc/cmdsys.plh: 0058: byte jitsize
; jitsize = 18
; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific
; sysexec = 19
; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific
; refcons = 19
; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific
; devcons = 20
; inc/cmdsys.plh: 0062: word lookupsym
; lookupsym = 21
; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write)
; _sysflags_ = 23
; inc/cmdsys.plh: 0064: end
; t_cmdsys = 25
; inc/cmdsys.plh: 0065: //
; inc/cmdsys.plh: 0066: // CMD exported functions
; inc/cmdsys.plh: 0067: //
; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0
; PUTC -> X002
; PUTLN -> X003
; PUTS -> X004
; PUTI -> X005
; GETC -> X006
; GETS -> X007
; PUTB -> X008
; PUTH -> X009
; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1
; CALL -> X010
; SYSCALL -> X011
; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1
; HEAPMARK -> X012
; HEAPALLOCALIGN -> X013
; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1
; HEAPALLOC -> X014
; HEAPRELEASE -> X015
; HEAPAVAIL -> X016
; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
; MEMSET -> X017
; MEMCPY -> X018
; STRCPY -> X019
; STRCAT -> X020
; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1
; TOUPPER -> X021
; SEXT -> X022
; DIVMOD -> X023
; ISUGT -> X024
; ISUGE -> X025
; ISULT -> X026
; ISULE -> X027
; inc/cmdsys.plh: 0074: end
; libsrc/args.pla: 0001:
; libsrc/args.pla: 0002: sysflags nojitc // No need to speed this up
!BYTE $00 ; END OF MODULE DEPENDENCIES
_SYSFLAGS = $0100 ; SYSTEM FLAGS
; libsrc/args.pla: 0003:
; libsrc/args.pla: 0004: def argDelim(str)
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
; str -> [0]
_C000 ; argDelim()
; libsrc/args.pla: 0005: byte n
; n -> [2]
; libsrc/args.pla: 0006:
; libsrc/args.pla: 0007: // Skip leading spaces
; libsrc/args.pla: 0008: while ^str and ^(str + 1) == ' '
!BYTE $58,$03,$01 ; ENTER 3,1
!BYTE $50 ; BRNCH _B003
!WORD _B003-*
_B001
; libsrc/args.pla: 0009: ^(str + 1) = ^str - 1
; libsrc/args.pla: 0010: str++
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $8E ; DECR
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
!BYTE $70 ; SB
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
; libsrc/args.pla: 0011: loop
!BYTE $76,$00 ; SLW [0]
_B003
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $AC ; BRAND _B004
!WORD _B004-*
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
!BYTE $60 ; LB
!BYTE $2A,$20 ; CB 32
!BYTE $40 ; ISEQ
_B004
!BYTE $4E ; BRTRU _B001
!WORD _B001-*
_B002
; libsrc/args.pla: 0012: // Scan to trailing spaces (if any)
; libsrc/args.pla: 0013: for n = 1 to ^str
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $02 ; CN 1
!BYTE $A0 ; BRGT _B005
!WORD _B005-*
_B006
!BYTE $6C,$02 ; DLB [2]
; libsrc/args.pla: 0014: if ^(str + n) <= ' '
; libsrc/args.pla: 0015: ^(str + n) = ^str - n
; libsrc/args.pla: 0016: ^str = n - 1
; libsrc/args.pla: 0017: break
!BYTE $66,$00 ; LLW [0]
!BYTE $B0,$02 ; ADDLB [2]
!BYTE $60 ; LB
!BYTE $2A,$20 ; CB 32
!BYTE $4A ; ISLE
!BYTE $4C ; BRFLS _B008
!WORD _B008-*
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $64,$02 ; LLB [2]
!BYTE $84 ; SUB
!BYTE $66,$00 ; LLW [0]
!BYTE $B0,$02 ; ADDLB [2]
!BYTE $70 ; SB
!BYTE $64,$02 ; LLB [2]
!BYTE $8E ; DECR
!BYTE $66,$00 ; LLW [0]
!BYTE $70 ; SB
!BYTE $50 ; BRNCH _B005
!WORD _B005-*
; libsrc/args.pla: 0018: fin
_B008
_B009
; libsrc/args.pla: 0019: next
_B007
!BYTE $A4 ; INCBRLE _B006
!WORD _B006-*
_B005
!BYTE $74,$02 ; SLB [2]
!BYTE $30 ; DROP
; libsrc/args.pla: 0020: return str
!BYTE $66,$00 ; LLW [0]
!BYTE $5A,$03 ; LEAVE 3
; libsrc/args.pla: 0021: end
; libsrc/args.pla: 0022:
; libsrc/args.pla: 0023: export def argNext(str)
; str -> [0]
_C001 ; argNext()
; libsrc/args.pla: 0024: str = str + ^str + 1
!BYTE $58,$02,$01 ; ENTER 2,1
; libsrc/args.pla: 0025: return argDelim(str)
!BYTE $66,$00 ; LLW [0]
!BYTE $34 ; DUP
!BYTE $60 ; LB
!BYTE $82 ; ADD
!BYTE $8C ; INCR
!BYTE $6E,$00 ; DLW [0]
!BYTE $54 ; CALL _C000
_F000 !WORD _C000
!BYTE $5A,$02 ; LEAVE 2
; libsrc/args.pla: 0026: end
; libsrc/args.pla: 0027:
; libsrc/args.pla: 0028: export def argFirst
_C002 ; argFirst()
; libsrc/args.pla: 0029: ^(cmdsys:cmdline + ^cmdsys:cmdline + 1) = NULL
; libsrc/args.pla: 0030: return argDelim(cmdsys:cmdline)
!BYTE $00 ; CN 0
!BYTE $6A ; LAW _X000+4
_F001 !WORD 0+4
!BYTE $34 ; DUP
!BYTE $60 ; LB
!BYTE $82 ; ADD
!BYTE $8C ; INCR
!BYTE $70 ; SB
!BYTE $6A ; LAW _X000+4
_F002 !WORD 0+4
!BYTE $54 ; CALL _C000
_F003 !WORD _C000
!BYTE $5C ; RET
; libsrc/args.pla: 0031: end
; libsrc/args.pla: 0032:
; libsrc/args.pla: 0033: done
_INIT
!BYTE $00 ; CN 0
!BYTE $5C ; RET
_DEFCNT = 4
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C000
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C001
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C002
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F000-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F001-_SEGBEGIN
!BYTE 0 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F002-_SEGBEGIN
!BYTE 0 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F003-_SEGBEGIN
!BYTE $00
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 0 ; ESD INDEX
; DCI STRING: ARGNEXT
!BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C001
; DCI STRING: ARGFIRST
!BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C002
!BYTE $00 ; END OF ESD
-1271
View File
File diff suppressed because it is too large. Load diff
-2497
View File
File diff suppressed because it is too large. Load diff
-1247
View File
File diff suppressed because it is too large. Load diff
-1611
View File
File diff suppressed because it is too large. Load diff
-3892
View File
File diff suppressed because it is too large. Load diff
-8113
View File
File diff suppressed because it is too large. Load diff
-1104
View File
File diff suppressed because it is too large. Load diff
-1713
View File
File diff suppressed because it is too large. Load diff
-1959
View File
File diff suppressed because it is too large. Load diff
-175
View File
@@ -1,175 +0,0 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/longjmp.pla: 0001: asm incs
!BYTE $00 ; END OF MODULE DEPENDENCIES
_A000 ; incs()
; libsrc/longjmp.pla: 0002: !SOURCE "vmsrc/plvmzp.inc"
!SOURCE "vmsrc/plvmzp.inc"
; libsrc/longjmp.pla: 0003: XPAGE = $1600
XPAGE = $1600
; libsrc/longjmp.pla: 0004: NEXTOP = $F0
NEXTOP = $F0
; libsrc/longjmp.pla: 0005: FETCHOP = NEXTOP+1
FETCHOP = NEXTOP+1
; libsrc/longjmp.pla: 0006: IP = FETCHOP+1
IP = FETCHOP+1
; libsrc/longjmp.pla: 0007: IPL = IP
IPL = IP
; libsrc/longjmp.pla: 0008: IPH = IPL+1
IPH = IPL+1
; libsrc/longjmp.pla: 0009: IPX = XPAGE+IPH
IPX = XPAGE+IPH
; libsrc/longjmp.pla: 0010: end
; libsrc/longjmp.pla: 0011: //
; libsrc/longjmp.pla: 0012: // Save environment (PLASMA ZP and stack) for below and return 0
; libsrc/longjmp.pla: 0013: //
; libsrc/longjmp.pla: 0014: export asm except(env)
_A001 ; except()
; libsrc/longjmp.pla: 0015: LDA ESTKL,X
LDA ESTKL,X
; libsrc/longjmp.pla: 0016: STA SRC
STA SRC
; libsrc/longjmp.pla: 0017: LDA ESTKH,X
LDA ESTKH,X
; libsrc/longjmp.pla: 0018: STA SRC+1
STA SRC+1
; libsrc/longjmp.pla: 0019: STX ESP
STX ESP
; libsrc/longjmp.pla: 0020: TSX
TSX
; libsrc/longjmp.pla: 0021: STX TMPL
STX TMPL
; libsrc/longjmp.pla: 0022: LDY TMPL
LDY TMPL
; libsrc/longjmp.pla: 0023: - LDA $0100,Y
- LDA $0100,Y
; libsrc/longjmp.pla: 0024: STA (SRC),Y
STA (SRC),Y
; libsrc/longjmp.pla: 0025: INY
INY
; libsrc/longjmp.pla: 0026: BNE -
BNE -
; libsrc/longjmp.pla: 0027: INC SRC+1
INC SRC+1
; libsrc/longjmp.pla: 0028: LDX #ESTK
LDX #ESTK
; libsrc/longjmp.pla: 0029: - LDA $00,X
- LDA $00,X
; libsrc/longjmp.pla: 0030: STA (SRC),Y
STA (SRC),Y
; libsrc/longjmp.pla: 0031: INY
INY
; libsrc/longjmp.pla: 0032: INX
INX
; libsrc/longjmp.pla: 0033: BNE -
BNE -
; libsrc/longjmp.pla: 0034: TXA
TXA
; libsrc/longjmp.pla: 0035: LDX ESP
LDX ESP
; libsrc/longjmp.pla: 0036: STA ESTKL,X
STA ESTKL,X
; libsrc/longjmp.pla: 0037: STA ESTKH,X
STA ESTKH,X
; libsrc/longjmp.pla: 0038: RTS
RTS
; libsrc/longjmp.pla: 0039: end
; libsrc/longjmp.pla: 0040: //
; libsrc/longjmp.pla: 0041: // Restore environment saved above and return retval
; libsrc/longjmp.pla: 0042: //
; libsrc/longjmp.pla: 0043: export asm throw(env, retval)
_A002 ; throw()
; libsrc/longjmp.pla: 0044: LDA ESTKL,X
LDA ESTKL,X
; libsrc/longjmp.pla: 0045: STA SRC
STA SRC
; libsrc/longjmp.pla: 0046: LDA ESTKH,X
LDA ESTKH,X
; libsrc/longjmp.pla: 0047: STA SRC+1
STA SRC+1
; libsrc/longjmp.pla: 0048: LDA ESTKL+1,X
LDA ESTKL+1,X
; libsrc/longjmp.pla: 0049: STA DST
STA DST
; libsrc/longjmp.pla: 0050: LDY ESTKH+1,X
LDY ESTKH+1,X
; libsrc/longjmp.pla: 0051: INY
INY
; libsrc/longjmp.pla: 0052: STY DST+1
STY DST+1
; libsrc/longjmp.pla: 0053: LDX #ESTK
LDX #ESTK
; libsrc/longjmp.pla: 0054: LDY #$00
LDY #$00
; libsrc/longjmp.pla: 0055: - LDA (DST),Y
- LDA (DST),Y
; libsrc/longjmp.pla: 0056: STA $00,X
STA $00,X
; libsrc/longjmp.pla: 0057: INY
INY
; libsrc/longjmp.pla: 0058: INX
INX
; libsrc/longjmp.pla: 0059: BNE -
BNE -
; libsrc/longjmp.pla: 0060: DEC DST+1
DEC DST+1
; libsrc/longjmp.pla: 0061: LDX TMPL
LDX TMPL
; libsrc/longjmp.pla: 0062: TXS
TXS
; libsrc/longjmp.pla: 0063: LDY #$FE
LDY #$FE
; libsrc/longjmp.pla: 0064: - LDA (DST),Y
- LDA (DST),Y
; libsrc/longjmp.pla: 0065: STA $0100,Y
STA $0100,Y
; libsrc/longjmp.pla: 0066: DEY
DEY
; libsrc/longjmp.pla: 0067: CPY TMPL
CPY TMPL
; libsrc/longjmp.pla: 0068: BNE -
BNE -
; libsrc/longjmp.pla: 0069: LDX ESP
LDX ESP
; libsrc/longjmp.pla: 0070: LDA SRC
LDA SRC
; libsrc/longjmp.pla: 0071: STA ESTKL,X
STA ESTKL,X
; libsrc/longjmp.pla: 0072: LDA SRC+1
LDA SRC+1
; libsrc/longjmp.pla: 0073: STA ESTKH,X
STA ESTKH,X
; libsrc/longjmp.pla: 0074: RTS
RTS
; libsrc/longjmp.pla: 0075: end
; libsrc/longjmp.pla: 0076: done
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
_INIT
!BYTE $00 ; CN 0
!BYTE $5C ; RET
_SYSFLAGS = 0
_DEFCNT = 1
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: EXCEPT
!BYTE $C5,$D8,$C3,$C5,$D0,$54
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _A001
; DCI STRING: THROW
!BYTE $D4,$C8,$D2,$CF,$57
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _A002
!BYTE $00 ; END OF ESD
-991
View File
@@ -1,991 +0,0 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/lz4.pla: 0001: include "inc/cmdsys.plh"
; inc/cmdsys.plh: 0001: import cmdsys
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
; CMDSYS -> X000
; inc/cmdsys.plh: 0002: //
; inc/cmdsys.plh: 0003: // Useful values for everyone
; inc/cmdsys.plh: 0004: //
; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against
; _SYSVER_ = 544
; inc/cmdsys.plh: 0006: const FALSE = 0
; FALSE = 0
; inc/cmdsys.plh: 0007: const TRUE = not FALSE
; TRUE = -1
; inc/cmdsys.plh: 0008: const NULL = 0
; NULL = 0
; inc/cmdsys.plh: 0009: //
; inc/cmdsys.plh: 0010: // Machine ID values
; inc/cmdsys.plh: 0011: //
; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01
; MACHID_CLOCK = 1
; inc/cmdsys.plh: 0013: const MACHID_80COL = $02
; MACHID_80COL = 2
; inc/cmdsys.plh: 0014: const MACHID_MEM = $30
; MACHID_MEM = 48
; inc/cmdsys.plh: 0015: const MACHID_64K = $20
; MACHID_64K = 32
; inc/cmdsys.plh: 0016: const MACHID_128K = $30
; MACHID_128K = 48
; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8
; MACHID_MODEL = 200
; inc/cmdsys.plh: 0018: const MACHID_II = $00
; MACHID_II = 0
; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40
; MACHID_IIPLUS = 64
; inc/cmdsys.plh: 0020: const MACHID_IIE = $80
; MACHID_IIE = 128
; inc/cmdsys.plh: 0021: const MACHID_III = $C0
; MACHID_III = 192
; inc/cmdsys.plh: 0022: const MACHID_IIC = $88
; MACHID_IIC = 136
; inc/cmdsys.plh: 0023: const MACHID_I = $08
; MACHID_I = 8
; inc/cmdsys.plh: 0024: byte MACHID
; MACHID -> X001
; inc/cmdsys.plh: 0025: //
; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes.
; inc/cmdsys.plh: 0027: //
; inc/cmdsys.plh: 0028: const restxt1 = $0001
; restxt1 = 1
; inc/cmdsys.plh: 0029: const restxt2 = $0002
; restxt2 = 2
; inc/cmdsys.plh: 0030: const resxtxt1 = $0004
; resxtxt1 = 4
; inc/cmdsys.plh: 0031: const resxtxt2 = $0008
; resxtxt2 = 8
; inc/cmdsys.plh: 0032: const reshgr1 = $0010
; reshgr1 = 16
; inc/cmdsys.plh: 0033: const reshgr2 = $0020
; reshgr2 = 32
; inc/cmdsys.plh: 0034: const resxhgr1 = $0040
; resxhgr1 = 64
; inc/cmdsys.plh: 0035: const resxhgr2 = $0080
; resxhgr2 = 128
; inc/cmdsys.plh: 0036: const nojitc = $0100
; nojitc = 256
; inc/cmdsys.plh: 0037: const vid80col = $0800
; vid80col = 2048
; inc/cmdsys.plh: 0038: //
; inc/cmdsys.plh: 0039: // Module don't free memory
; inc/cmdsys.plh: 0040: //
; inc/cmdsys.plh: 0041: const modflagkeep = $1000
; modflagkeep = 4096
; inc/cmdsys.plh: 0042: const modkeep = $2000
; modkeep = 8192
; inc/cmdsys.plh: 0043: const modinitkeep = $4000
; modinitkeep = 16384
; inc/cmdsys.plh: 0044: //
; inc/cmdsys.plh: 0045: // CMD exported interface table
; inc/cmdsys.plh: 0046: //
; inc/cmdsys.plh: 0047: struc t_cmdsys
; inc/cmdsys.plh: 0048: word sysver
; sysver = 0
; inc/cmdsys.plh: 0049: word syspath
; syspath = 2
; inc/cmdsys.plh: 0050: word cmdline
; cmdline = 4
; inc/cmdsys.plh: 0051: word modexec
; modexec = 6
; inc/cmdsys.plh: 0052: word sysopen
; sysopen = 8
; inc/cmdsys.plh: 0053: word sysclose
; sysclose = 10
; inc/cmdsys.plh: 0054: word sysread
; sysread = 12
; inc/cmdsys.plh: 0055: word syswrite
; syswrite = 14
; inc/cmdsys.plh: 0056: byte syserr
; syserr = 16
; inc/cmdsys.plh: 0057: byte jitcount
; jitcount = 17
; inc/cmdsys.plh: 0058: byte jitsize
; jitsize = 18
; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific
; sysexec = 19
; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific
; refcons = 19
; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific
; devcons = 20
; inc/cmdsys.plh: 0062: word lookupsym
; lookupsym = 21
; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write)
; _sysflags_ = 23
; inc/cmdsys.plh: 0064: end
; t_cmdsys = 25
; inc/cmdsys.plh: 0065: //
; inc/cmdsys.plh: 0066: // CMD exported functions
; inc/cmdsys.plh: 0067: //
; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0
; PUTC -> X002
; PUTLN -> X003
; PUTS -> X004
; PUTI -> X005
; GETC -> X006
; GETS -> X007
; PUTB -> X008
; PUTH -> X009
; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1
; CALL -> X010
; SYSCALL -> X011
; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1
; HEAPMARK -> X012
; HEAPALLOCALIGN -> X013
; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1
; HEAPALLOC -> X014
; HEAPRELEASE -> X015
; HEAPAVAIL -> X016
; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
; MEMSET -> X017
; MEMCPY -> X018
; STRCPY -> X019
; STRCAT -> X020
; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1
; TOUPPER -> X021
; SEXT -> X022
; DIVMOD -> X023
; ISUGT -> X024
; ISUGE -> X025
; ISULT -> X026
; ISULE -> X027
; inc/cmdsys.plh: 0074: end
; libsrc/lz4.pla: 0001:
; libsrc/lz4.pla: 0002: include "inc/lz4.plh"
; inc/lz4.plh: 0001: import lz4
; inc/lz4.plh: 0002: const LZ4_OK = 0
; LZ4_OK = 0
; inc/lz4.plh: 0003: const LZ4_INVALID = -1
; LZ4_INVALID = -1
; inc/lz4.plh: 0004: const LZ4_WRONG_VERSION = -2
; LZ4_WRONG_VERSION = -2
; inc/lz4.plh: 0005: const LZ4_NOT_64K = -3
; LZ4_NOT_64K = -3
; inc/lz4.plh: 0006: struc t_lz4header
; inc/lz4.plh: 0007: word lz4magic[2]
; lz4magic = 0
; inc/lz4.plh: 0008: byte lz4FLG
; lz4FLG = 4
; inc/lz4.plh: 0009: byte lz4BD
; lz4BD = 5
; inc/lz4.plh: 0010: end
; t_lz4header = 6
; inc/lz4.plh: 0011: predef lz4Unpack(seq, seqend, buff, buffend)
; LZ4UNPACK -> X028
; inc/lz4.plh: 0012: predef lz4Read(filestr, dstbuf, dstend, unpackbuf, unpackend)#1
; LZ4READ -> X029
; inc/lz4.plh: 0013: end
; libsrc/lz4.pla: 0002:
; libsrc/lz4.pla: 0003: include "inc/fileio.plh"
; inc/fileio.plh: 0001: import fileio
; DCI STRING: FILEIO
!BYTE $C6,$C9,$CC,$C5,$C9,$4F
; FILEIO -> X030
; inc/fileio.plh: 0002: //
; inc/fileio.plh: 0003: // Useful ProDOS values
; inc/fileio.plh: 0004: //
; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh
; inc/fileio.plh: 0006: // Which slot has a ROM
; inc/fileio.plh: 0007: const SLTBYT = $BF99
; SLTBYT = 49049
; inc/fileio.plh: 0008: // Prefix active
; inc/fileio.plh: 0009: const PFIXPTR = $BF9A
; PFIXPTR = 49050
; inc/fileio.plh: 0010: // Memory alocate bitmap
; inc/fileio.plh: 0011: const MEMTABL = $BF58
; MEMTABL = 48984
; inc/fileio.plh: 0012: //
; inc/fileio.plh: 0013: // SOS/ProDOS error codes
; inc/fileio.plh: 0014: //
; inc/fileio.plh: 0015: const FILE_ERR_OK = $00
; FILE_ERR_OK = 0
; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01
; FILE_ERR_BAD_CALL_NUM = 1
; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04
; FILE_ERR_BAD_PARAM_CNT = 4
; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25
; FILE_ERR_INT_TBL_FULL = 37
; inc/fileio.plh: 0019: const FILE_ERR_IO = $27
; FILE_ERR_IO = 39
; inc/fileio.plh: 0020: //
; inc/fileio.plh: 0021: // File entry struc
; inc/fileio.plh: 0022: //
; inc/fileio.plh: 0023: struc t_fileentry
; inc/fileio.plh: 0024: byte store_namelen
; store_namelen = 0
; inc/fileio.plh: 0025: byte entry_name[15]
; entry_name = 1
; inc/fileio.plh: 0026: byte entry_type
; entry_type = 16
; inc/fileio.plh: 0027: word entry_keyptr
; entry_keyptr = 17
; inc/fileio.plh: 0028: word entry_blocks
; entry_blocks = 19
; inc/fileio.plh: 0029: word entry_EOFL
; entry_EOFL = 21
; inc/fileio.plh: 0030: byte entry_EOFH
; entry_EOFH = 23
; inc/fileio.plh: 0031: word entry_create[2]
; entry_create = 24
; inc/fileio.plh: 0032: byte entry_version
; entry_version = 28
; inc/fileio.plh: 0033: byte entry_minver
; entry_minver = 29
; inc/fileio.plh: 0034: byte entry_access
; entry_access = 30
; inc/fileio.plh: 0035: word entry_aux
; entry_aux = 31
; inc/fileio.plh: 0036: word entry_mod[2]
; entry_mod = 33
; inc/fileio.plh: 0037: word entry_headptr
; entry_headptr = 37
; inc/fileio.plh: 0038: end
; t_fileentry = 39
; inc/fileio.plh: 0039: //
; inc/fileio.plh: 0040: // File info struc
; inc/fileio.plh: 0041: //
; inc/fileio.plh: 0042: struc t_fileinfo
; inc/fileio.plh: 0043: byte file_access
; file_access = 0
; inc/fileio.plh: 0044: byte file_type
; file_type = 1
; inc/fileio.plh: 0045: word aux_type
; aux_type = 2
; inc/fileio.plh: 0046: byte storage_type
; storage_type = 4
; inc/fileio.plh: 0047: word blocks_used
; blocks_used = 5
; inc/fileio.plh: 0048: word mod_date
; mod_date = 7
; inc/fileio.plh: 0049: word mod_time
; mod_time = 9
; inc/fileio.plh: 0050: word create_date
; create_date = 11
; inc/fileio.plh: 0051: word create_time
; create_time = 13
; inc/fileio.plh: 0052: end
; t_fileinfo = 15
; inc/fileio.plh: 0053: //
; inc/fileio.plh: 0054: // File functions
; inc/fileio.plh: 0055: //
; inc/fileio.plh: 0056: struc t_fileio
; inc/fileio.plh: 0057: word getpfx
; getpfx = 0
; inc/fileio.plh: 0058: word setpfx
; setpfx = 2
; inc/fileio.plh: 0059: word getfileinfo
; getfileinfo = 4
; inc/fileio.plh: 0060: word setfileinfo
; setfileinfo = 6
; inc/fileio.plh: 0061: word geteof
; geteof = 8
; inc/fileio.plh: 0062: word seteof
; seteof = 10
; inc/fileio.plh: 0063: word iobufalloc
; iobufalloc = 12
; inc/fileio.plh: 0064: word open
; open = 14
; inc/fileio.plh: 0065: word close
; close = 16
; inc/fileio.plh: 0066: word read
; read = 18
; inc/fileio.plh: 0067: word write
; write = 20
; inc/fileio.plh: 0068: word create
; create = 22
; inc/fileio.plh: 0069: word destroy
; destroy = 24
; inc/fileio.plh: 0070: word rename
; rename = 26
; inc/fileio.plh: 0071: word newline
; newline = 28
; inc/fileio.plh: 0072: word online
; online = 30
; inc/fileio.plh: 0073: word readblock
; readblock = 32
; inc/fileio.plh: 0074: word writeblock
; writeblock = 34
; inc/fileio.plh: 0075: word getmark
; getmark = 36
; inc/fileio.plh: 0076: word setmark
; setmark = 38
; inc/fileio.plh: 0077: end
; t_fileio = 40
; inc/fileio.plh: 0078: //
; inc/fileio.plh: 0079: // Globally accessible error code
; inc/fileio.plh: 0080: //
; inc/fileio.plh: 0081: byte perr
; PERR -> X031
; inc/fileio.plh: 0082: end
; libsrc/lz4.pla: 0003:
; libsrc/lz4.pla: 0004: asm incs
!BYTE $00 ; END OF MODULE DEPENDENCIES
_A000 ; incs()
; libsrc/lz4.pla: 0005: !SOURCE "vmsrc/plvmzp.inc"
!SOURCE "vmsrc/plvmzp.inc"
; libsrc/lz4.pla: 0006: end
; libsrc/lz4.pla: 0007: //
; libsrc/lz4.pla: 0008: // Always forward copy memory - important for overlapping match sequences
; libsrc/lz4.pla: 0009: //
; libsrc/lz4.pla: 0010: asm bcpy(dst, src, len)#0
_A001 ; bcpy()
; libsrc/lz4.pla: 0011: INX
INX
; libsrc/lz4.pla: 0012: INX
INX
; libsrc/lz4.pla: 0013: INX
INX
; libsrc/lz4.pla: 0014: LDA ESTKL-3,X
LDA ESTKL-3,X
; libsrc/lz4.pla: 0015: ORA ESTKH-3,X
ORA ESTKH-3,X
; libsrc/lz4.pla: 0016: BEQ CPYEX
BEQ CPYEX
; libsrc/lz4.pla: 0017: LDA ESTKL-1,X
LDA ESTKL-1,X
; libsrc/lz4.pla: 0018: STA DSTL
STA DSTL
; libsrc/lz4.pla: 0019: LDA ESTKH-1,X
LDA ESTKH-1,X
; libsrc/lz4.pla: 0020: STA DSTH
STA DSTH
; libsrc/lz4.pla: 0021: LDA ESTKL-2,X
LDA ESTKL-2,X
; libsrc/lz4.pla: 0022: STA SRCL
STA SRCL
; libsrc/lz4.pla: 0023: LDA ESTKH-2,X
LDA ESTKH-2,X
; libsrc/lz4.pla: 0024: STA SRCH
STA SRCH
; libsrc/lz4.pla: 0025: LDY ESTKL-3,X
LDY ESTKL-3,X
; libsrc/lz4.pla: 0026: BEQ CPYLP
BEQ CPYLP
; libsrc/lz4.pla: 0027: INC ESTKH-3,X
INC ESTKH-3,X
; libsrc/lz4.pla: 0028: LDY #$00
LDY #$00
; libsrc/lz4.pla: 0029: CPYLP LDA (SRC),Y
CPYLP LDA (SRC),Y
; libsrc/lz4.pla: 0030: STA (DST),Y
STA (DST),Y
; libsrc/lz4.pla: 0031: INY
INY
; libsrc/lz4.pla: 0032: BNE +
BNE +
; libsrc/lz4.pla: 0033: INC DSTH
INC DSTH
; libsrc/lz4.pla: 0034: INC SRCH
INC SRCH
; libsrc/lz4.pla: 0035: + DEC ESTKL-3,X
+ DEC ESTKL-3,X
; libsrc/lz4.pla: 0036: BNE CPYLP
BNE CPYLP
; libsrc/lz4.pla: 0037: DEC ESTKH-3,X
DEC ESTKH-3,X
; libsrc/lz4.pla: 0038: BNE CPYLP
BNE CPYLP
; libsrc/lz4.pla: 0039: CPYEX RTS
CPYEX RTS
; libsrc/lz4.pla: 0040: end
; libsrc/lz4.pla: 0041: //
; libsrc/lz4.pla: 0042: // Unpack LZ4 sequence into buffer, return unpacked length
; libsrc/lz4.pla: 0043: //
; libsrc/lz4.pla: 0044: export def lz4Unpack(seq, seqend, buff, buffend)
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
; seq -> [0]
; seqend -> [2]
; buff -> [4]
; buffend -> [6]
_P028 ; lz4Unpack(seq, seqend, buff, buffend)()
_C000 ; lz4Unpack()
; libsrc/lz4.pla: 0045: word data, len, match, i
; data -> [8]
; len -> [10]
; match -> [12]
; i -> [14]
; libsrc/lz4.pla: 0046: byte token
; token -> [16]
; libsrc/lz4.pla: 0047:
; libsrc/lz4.pla: 0048: data = buff
!BYTE $58,$11,$04 ; ENTER 17,4
; libsrc/lz4.pla: 0049: while isult(seq, seqend)
!BYTE $66,$04 ; LLW [4]
!BYTE $76,$08 ; SLW [8]
!BYTE $50 ; BRNCH _B003
!WORD _B003-*
_B001
; libsrc/lz4.pla: 0050: token = ^seq
; libsrc/lz4.pla: 0051: seq++
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $74,$10 ; SLB [16]
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
; libsrc/lz4.pla: 0052: len = token >> 4
; libsrc/lz4.pla: 0053: if len
; libsrc/lz4.pla: 0054: //
; libsrc/lz4.pla: 0055: // Literal sequence
; libsrc/lz4.pla: 0056: //
; libsrc/lz4.pla: 0057: if len == 15
; libsrc/lz4.pla: 0058: while ^seq == 255
!BYTE $76,$00 ; SLW [0]
!BYTE $64,$10 ; LLB [16]
!BYTE $08 ; CN 4
!BYTE $9C ; SHR
!BYTE $6E,$0A ; DLW [10]
!BYTE $4C ; BRFLS _B004
!WORD _B004-*
!BYTE $66,$0A ; LLW [10]
!BYTE $1E ; CN 15
!BYTE $24 ; BRNE _B006
!WORD _B006-*
!BYTE $50 ; BRNCH _B010
!WORD _B010-*
_B008
; libsrc/lz4.pla: 0059: len = len + 255
; libsrc/lz4.pla: 0060: seq++
!BYTE $66,$0A ; LLW [10]
!BYTE $38,$FF ; ADDI 255
!BYTE $76,$0A ; SLW [10]
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
; libsrc/lz4.pla: 0061: loop
!BYTE $76,$00 ; SLW [0]
_B010
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $2A,$FF ; CB 255
!BYTE $22 ; BREQ _B008
!WORD _B008-*
_B009
; libsrc/lz4.pla: 0062: len = len + ^seq
; libsrc/lz4.pla: 0063: seq++
!BYTE $66,$0A ; LLW [10]
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $82 ; ADD
!BYTE $76,$0A ; SLW [10]
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
; libsrc/lz4.pla: 0064: fin
!BYTE $76,$00 ; SLW [0]
_B006
_B007
; libsrc/lz4.pla: 0065: if isuge(data + len, buffend); return 0; fin
!BYTE $66,$08 ; LLW [8]
!BYTE $B2,$0A ; ADDLW [10]
!BYTE $66,$06 ; LLW [6]
!BYTE $54 ; CALL _X025
_F000 !WORD 0
!BYTE $4C ; BRFLS _B011
!WORD _B011-*
!BYTE $00 ; CN 0
!BYTE $5A,$11 ; LEAVE 17
_B011
_B012
; libsrc/lz4.pla: 0066: bcpy(data, seq, len)
; libsrc/lz4.pla: 0067: data = data + len
; libsrc/lz4.pla: 0068: seq = seq + len
; libsrc/lz4.pla: 0069: fin
!BYTE $66,$08 ; LLW [8]
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$0A ; LLW [10]
!BYTE $54 ; CALL _A001
_F001 !WORD _A001
!BYTE $66,$08 ; LLW [8]
!BYTE $B2,$0A ; ADDLW [10]
!BYTE $76,$08 ; SLW [8]
!BYTE $66,$00 ; LLW [0]
!BYTE $B2,$0A ; ADDLW [10]
!BYTE $76,$00 ; SLW [0]
_B004
_B005
; libsrc/lz4.pla: 0070: len = token & $0F
; libsrc/lz4.pla: 0071: if len or isult(seq, seqend)
; libsrc/lz4.pla: 0072: //
; libsrc/lz4.pla: 0073: // Match sequence
; libsrc/lz4.pla: 0074: //
; libsrc/lz4.pla: 0075: match = data - *seq
; libsrc/lz4.pla: 0076: seq = seq + 2
; libsrc/lz4.pla: 0077: len = len + 4
; libsrc/lz4.pla: 0078: if len == 19 // $0F + 4
; libsrc/lz4.pla: 0079: while ^seq == 255
!BYTE $64,$10 ; LLB [16]
!BYTE $3C,$0F ; ANDI 15
!BYTE $6E,$0A ; DLW [10]
!BYTE $AE ; BROR _B013
!WORD _B013-*
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X026
_F002 !WORD 0
_B013
!BYTE $4C ; BRFLS _B014
!WORD _B014-*
!BYTE $66,$08 ; LLW [8]
!BYTE $66,$00 ; LLW [0]
!BYTE $62 ; LW
!BYTE $84 ; SUB
!BYTE $76,$0C ; SLW [12]
!BYTE $66,$00 ; LLW [0]
!BYTE $38,$02 ; ADDI 2
!BYTE $76,$00 ; SLW [0]
!BYTE $66,$0A ; LLW [10]
!BYTE $38,$04 ; ADDI 4
!BYTE $6E,$0A ; DLW [10]
!BYTE $2A,$13 ; CB 19
!BYTE $24 ; BRNE _B016
!WORD _B016-*
!BYTE $50 ; BRNCH _B020
!WORD _B020-*
_B018
; libsrc/lz4.pla: 0080: len = len + 255
; libsrc/lz4.pla: 0081: seq++
!BYTE $66,$0A ; LLW [10]
!BYTE $38,$FF ; ADDI 255
!BYTE $76,$0A ; SLW [10]
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
; libsrc/lz4.pla: 0082: loop
!BYTE $76,$00 ; SLW [0]
_B020
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $2A,$FF ; CB 255
!BYTE $22 ; BREQ _B018
!WORD _B018-*
_B019
; libsrc/lz4.pla: 0083: len = len + ^seq
; libsrc/lz4.pla: 0084: seq++
!BYTE $66,$0A ; LLW [10]
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $82 ; ADD
!BYTE $76,$0A ; SLW [10]
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
; libsrc/lz4.pla: 0085: fin
!BYTE $76,$00 ; SLW [0]
_B016
_B017
; libsrc/lz4.pla: 0086: if isuge(data + len, buffend); return 0; fin
!BYTE $66,$08 ; LLW [8]
!BYTE $B2,$0A ; ADDLW [10]
!BYTE $66,$06 ; LLW [6]
!BYTE $54 ; CALL _X025
_F003 !WORD 0
!BYTE $4C ; BRFLS _B021
!WORD _B021-*
!BYTE $00 ; CN 0
!BYTE $5A,$11 ; LEAVE 17
_B021
_B022
; libsrc/lz4.pla: 0087: bcpy(data, match, len)
; libsrc/lz4.pla: 0088: data = data + len
; libsrc/lz4.pla: 0089: fin
!BYTE $66,$08 ; LLW [8]
!BYTE $66,$0C ; LLW [12]
!BYTE $66,$0A ; LLW [10]
!BYTE $54 ; CALL _A001
_F004 !WORD _A001
!BYTE $66,$08 ; LLW [8]
!BYTE $B2,$0A ; ADDLW [10]
!BYTE $76,$08 ; SLW [8]
_B014
_B015
; libsrc/lz4.pla: 0090: loop
_B003
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X026
_F005 !WORD 0
!BYTE $4E ; BRTRU _B001
!WORD _B001-*
_B002
; libsrc/lz4.pla: 0091: return data - buff
!BYTE $66,$08 ; LLW [8]
!BYTE $66,$04 ; LLW [4]
!BYTE $84 ; SUB
!BYTE $5A,$11 ; LEAVE 17
; libsrc/lz4.pla: 0092: end
; libsrc/lz4.pla: 0093: def lz4ReadBlock(ref, flags, dstbuf, dstend, unpackbuf, unpackend)#1
; ref -> [0]
; flags -> [2]
; dstbuf -> [4]
; dstend -> [6]
; unpackbuf -> [8]
; unpackend -> [10]
_C001 ; lz4ReadBlock()
; libsrc/lz4.pla: 0094: word size[2], block, len
; size -> [12]
; block -> [16]
; len -> [18]
; libsrc/lz4.pla: 0095:
; libsrc/lz4.pla: 0096: len = fileio:read(ref, @size, 4)
!BYTE $58,$14,$06 ; ENTER 20,6
; libsrc/lz4.pla: 0097: if len <> 4 or size[0] == 0 or size[1] & $7FFF
; libsrc/lz4.pla: 0098: return 0
!BYTE $66,$00 ; LLW [0]
!BYTE $28,$0C ; LLA [12]
!BYTE $08 ; CN 4
!BYTE $6A ; LAW _X030+18
_F006 !WORD 0+18
!BYTE $56 ; ICAL
!BYTE $6E,$12 ; DLW [18]
!BYTE $08 ; CN 4
!BYTE $42 ; ISNE
!BYTE $AE ; BROR _B023
!WORD _B023-*
!BYTE $66,$0C ; LLW [12]
!BYTE $80 ; NOT
!BYTE $AE ; BROR _B024
!WORD _B024-*
!BYTE $66,$0E ; LLW [14]
!BYTE $2C,$FF,$7F ; CW 32767
!BYTE $94 ; AND
_B024
_B023
!BYTE $4C ; BRFLS _B025
!WORD _B025-*
!BYTE $00 ; CN 0
!BYTE $5A,$14 ; LEAVE 20
; libsrc/lz4.pla: 0099: fin
_B025
_B026
; libsrc/lz4.pla: 0100: if size[1] & $8000
; libsrc/lz4.pla: 0101: //
; libsrc/lz4.pla: 0102: // Uncompressed block, read directly into dst buffer
; libsrc/lz4.pla: 0103: //
; libsrc/lz4.pla: 0104: if dstbuf + size[0] > dstend
; libsrc/lz4.pla: 0105: size[0] = dstend - dstbuf
; libsrc/lz4.pla: 0106: fin
!BYTE $66,$0E ; LLW [14]
!BYTE $2C,$00,$80 ; CW 32768
!BYTE $94 ; AND
!BYTE $4C ; BRFLS _B027
!WORD _B027-*
!BYTE $66,$04 ; LLW [4]
!BYTE $B2,$0C ; ADDLW [12]
!BYTE $66,$06 ; LLW [6]
!BYTE $44 ; ISGT
!BYTE $4C ; BRFLS _B029
!WORD _B029-*
!BYTE $66,$06 ; LLW [6]
!BYTE $66,$04 ; LLW [4]
!BYTE $84 ; SUB
!BYTE $76,$0C ; SLW [12]
_B029
_B030
; libsrc/lz4.pla: 0107: len = fileio:read(ref, dstbuf, size[0])
; libsrc/lz4.pla: 0108: else
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$04 ; LLW [4]
!BYTE $66,$0C ; LLW [12]
!BYTE $6A ; LAW _X030+18
_F007 !WORD 0+18
!BYTE $56 ; ICAL
!BYTE $76,$12 ; SLW [18]
!BYTE $50 ; BRNCH _B028
!WORD _B028-*
_B027
; libsrc/lz4.pla: 0109: //
; libsrc/lz4.pla: 0110: // Decompress from end of destination buffer
; libsrc/lz4.pla: 0111: //
; libsrc/lz4.pla: 0112: block = unpackend - size[0]
; libsrc/lz4.pla: 0113: fileio:read(ref, block, size[0])
; libsrc/lz4.pla: 0114: len = lz4Unpack(block, block + size[0], dstbuf, dstend)
; libsrc/lz4.pla: 0115: fin
!BYTE $66,$0A ; LLW [10]
!BYTE $66,$0C ; LLW [12]
!BYTE $84 ; SUB
!BYTE $76,$10 ; SLW [16]
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$10 ; LLW [16]
!BYTE $66,$0C ; LLW [12]
!BYTE $6A ; LAW _X030+18
_F008 !WORD 0+18
!BYTE $56 ; ICAL
!BYTE $30 ; DROP
!BYTE $66,$10 ; LLW [16]
!BYTE $34 ; DUP
!BYTE $B2,$0C ; ADDLW [12]
!BYTE $66,$04 ; LLW [4]
!BYTE $66,$06 ; LLW [6]
!BYTE $54 ; CALL _C000
_F009 !WORD _C000
!BYTE $76,$12 ; SLW [18]
_B028
; libsrc/lz4.pla: 0116: if flags & $10 // Block Checksum
; libsrc/lz4.pla: 0117: fileio:read(ref, @size, 4)
; libsrc/lz4.pla: 0118: fin
!BYTE $66,$02 ; LLW [2]
!BYTE $3C,$10 ; ANDI 16
!BYTE $4C ; BRFLS _B031
!WORD _B031-*
!BYTE $66,$00 ; LLW [0]
!BYTE $28,$0C ; LLA [12]
!BYTE $08 ; CN 4
!BYTE $6A ; LAW _X030+18
_F010 !WORD 0+18
!BYTE $56 ; ICAL
!BYTE $30 ; DROP
_B031
_B032
; libsrc/lz4.pla: 0119: return len
!BYTE $66,$12 ; LLW [18]
!BYTE $5A,$14 ; LEAVE 20
; libsrc/lz4.pla: 0120: end
; libsrc/lz4.pla: 0121: export def lz4Read(filestr, dstbuf, dstend, unpackbuf, unpackend)#1
; filestr -> [0]
; dstbuf -> [2]
; dstend -> [4]
; unpackbuf -> [6]
; unpackend -> [8]
_P029 ; lz4Read(filestr, dstbuf, dstend, unpackbuf, unpackend)#1()
_C002 ; lz4Read()
; libsrc/lz4.pla: 0122: word len
; len -> [10]
; libsrc/lz4.pla: 0123: byte ref, header[t_lz4header], opt
; ref -> [12]
; header -> [13]
; opt -> [19]
; libsrc/lz4.pla: 0124:
; libsrc/lz4.pla: 0125: ref = fileio:open(filestr)
!BYTE $58,$14,$05 ; ENTER 20,5
; libsrc/lz4.pla: 0126: if not ref; return LZ4_INVALID; fin
!BYTE $66,$00 ; LLW [0]
!BYTE $6A ; LAW _X030+14
_F011 !WORD 0+14
!BYTE $56 ; ICAL
!BYTE $6C,$0C ; DLB [12]
!BYTE $4E ; BRTRU _B033
!WORD _B033-*
!BYTE $20 ; MINUS ONE
!BYTE $5A,$14 ; LEAVE 20
_B033
_B034
; libsrc/lz4.pla: 0127: fileio:read(ref, @header, t_lz4header)
; libsrc/lz4.pla: 0128: if header:lz4magic[1] <> $184D or header:lz4magic[0] <> $2204
; libsrc/lz4.pla: 0129: return LZ4_INVALID
!BYTE $64,$0C ; LLB [12]
!BYTE $28,$0D ; LLA [13]
!BYTE $0C ; CN 6
!BYTE $6A ; LAW _X030+18
_F012 !WORD 0+18
!BYTE $56 ; ICAL
!BYTE $30 ; DROP
!BYTE $66,$0F ; LLW [15]
!BYTE $2C,$4D,$18 ; CW 6221
!BYTE $42 ; ISNE
!BYTE $AE ; BROR _B035
!WORD _B035-*
!BYTE $66,$0D ; LLW [13]
!BYTE $2C,$04,$22 ; CW 8708
!BYTE $42 ; ISNE
_B035
!BYTE $4C ; BRFLS _B036
!WORD _B036-*
!BYTE $20 ; MINUS ONE
!BYTE $5A,$14 ; LEAVE 20
; libsrc/lz4.pla: 0130: fin
_B036
_B037
; libsrc/lz4.pla: 0131: if header.lz4FLG & $C0 <> $40
; libsrc/lz4.pla: 0132: return LZ4_WRONG_VERSION
!BYTE $64,$11 ; LLB [17]
!BYTE $3C,$C0 ; ANDI 192
!BYTE $2A,$40 ; CB 64
!BYTE $22 ; BREQ _B038
!WORD _B038-*
!BYTE $5E,$FE ; CFFB -2
!BYTE $5A,$14 ; LEAVE 20
; libsrc/lz4.pla: 0133: fin
_B038
_B039
; libsrc/lz4.pla: 0134: if header.lz4BD & $70 <> $40
; libsrc/lz4.pla: 0135: return LZ4_NOT_64K
!BYTE $64,$12 ; LLB [18]
!BYTE $3C,$70 ; ANDI 112
!BYTE $2A,$40 ; CB 64
!BYTE $22 ; BREQ _B040
!WORD _B040-*
!BYTE $5E,$FD ; CFFB -3
!BYTE $5A,$14 ; LEAVE 20
; libsrc/lz4.pla: 0136: fin
_B040
_B041
; libsrc/lz4.pla: 0137: opt = 1
; libsrc/lz4.pla: 0138: if header.lz4FLG & $08 // Content Size
; libsrc/lz4.pla: 0139: opt = opt + 8
; libsrc/lz4.pla: 0140: fin
!BYTE $02 ; CN 1
!BYTE $74,$13 ; SLB [19]
!BYTE $64,$11 ; LLB [17]
!BYTE $3C,$08 ; ANDI 8
!BYTE $4C ; BRFLS _B042
!WORD _B042-*
!BYTE $64,$13 ; LLB [19]
!BYTE $38,$08 ; ADDI 8
!BYTE $74,$13 ; SLB [19]
_B042
_B043
; libsrc/lz4.pla: 0141: if header.lz4FLG & $01 // Dictionary ID
; libsrc/lz4.pla: 0142: opt = opt + 4
; libsrc/lz4.pla: 0143: fin
!BYTE $64,$11 ; LLB [17]
!BYTE $3C,$01 ; ANDI 1
!BYTE $4C ; BRFLS _B044
!WORD _B044-*
!BYTE $64,$13 ; LLB [19]
!BYTE $38,$04 ; ADDI 4
!BYTE $74,$13 ; SLB [19]
_B044
_B045
; libsrc/lz4.pla: 0144: fileio:read(ref, heapmark, opt) // Read rest of header and throw away
; libsrc/lz4.pla: 0145: repeat
!BYTE $64,$0C ; LLB [12]
!BYTE $54 ; CALL _X012
_F013 !WORD 0
!BYTE $64,$13 ; LLB [19]
!BYTE $6A ; LAW _X030+18
_F014 !WORD 0+18
!BYTE $56 ; ICAL
!BYTE $30 ; DROP
_B047
; libsrc/lz4.pla: 0146: len = lz4ReadBlock(ref, header.lz4FLG, dstbuf, dstend, unpackbuf, unpackend)
; libsrc/lz4.pla: 0147: dstbuf = len + dstbuf
; libsrc/lz4.pla: 0148: until len == 0
!BYTE $64,$0C ; LLB [12]
!BYTE $64,$11 ; LLB [17]
!BYTE $66,$02 ; LLW [2]
!BYTE $66,$04 ; LLW [4]
!BYTE $66,$06 ; LLW [6]
!BYTE $66,$08 ; LLW [8]
!BYTE $54 ; CALL _C001
_F015 !WORD _C001
!BYTE $6E,$0A ; DLW [10]
!BYTE $B2,$02 ; ADDLW [2]
!BYTE $76,$02 ; SLW [2]
_B048
!BYTE $66,$0A ; LLW [10]
!BYTE $4E ; BRTRU _B047
!WORD _B047-*
_B046
; libsrc/lz4.pla: 0149: fileio:close(ref)
; libsrc/lz4.pla: 0150: return LZ4_OK
!BYTE $64,$0C ; LLB [12]
!BYTE $6A ; LAW _X030+16
_F016 !WORD 0+16
!BYTE $56 ; ICAL
!BYTE $30 ; DROP
!BYTE $00 ; CN 0
!BYTE $5A,$14 ; LEAVE 20
; libsrc/lz4.pla: 0151: end
; libsrc/lz4.pla: 0152: done
_INIT
!BYTE $00 ; CN 0
!BYTE $5C ; RET
_SYSFLAGS = 0
_DEFCNT = 4
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C000
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C001
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C002
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F000-_SEGBEGIN
!BYTE 25 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F001-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F002-_SEGBEGIN
!BYTE 26 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F003-_SEGBEGIN
!BYTE 25 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F004-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F005-_SEGBEGIN
!BYTE 26 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F006-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F007-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F008-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F009-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F010-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F011-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F012-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F013-_SEGBEGIN
!BYTE 12 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F014-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F015-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F016-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: HEAPMARK
!BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 12 ; ESD INDEX
; DCI STRING: ISUGE
!BYTE $C9,$D3,$D5,$C7,$45
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 25 ; ESD INDEX
; DCI STRING: ISULT
!BYTE $C9,$D3,$D5,$CC,$54
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 26 ; ESD INDEX
; DCI STRING: LZ4UNPACK
!BYTE $CC,$DA,$B4,$D5,$CE,$D0,$C1,$C3,$4B
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C000
; DCI STRING: LZ4READ
!BYTE $CC,$DA,$B4,$D2,$C5,$C1,$44
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C002
; DCI STRING: FILEIO
!BYTE $C6,$C9,$CC,$C5,$C9,$4F
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 30 ; ESD INDEX
!BYTE $00 ; END OF ESD
-4077
View File
File diff suppressed because it is too large. Load diff
-2852
View File
File diff suppressed because it is too large. Load diff
-640
View File
@@ -1,640 +0,0 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/sincos.pla: 0001: include "inc/cmdsys.plh"
; inc/cmdsys.plh: 0001: import cmdsys
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
; CMDSYS -> X000
; inc/cmdsys.plh: 0002: //
; inc/cmdsys.plh: 0003: // Useful values for everyone
; inc/cmdsys.plh: 0004: //
; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against
; _SYSVER_ = 544
; inc/cmdsys.plh: 0006: const FALSE = 0
; FALSE = 0
; inc/cmdsys.plh: 0007: const TRUE = not FALSE
; TRUE = -1
; inc/cmdsys.plh: 0008: const NULL = 0
; NULL = 0
; inc/cmdsys.plh: 0009: //
; inc/cmdsys.plh: 0010: // Machine ID values
; inc/cmdsys.plh: 0011: //
; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01
; MACHID_CLOCK = 1
; inc/cmdsys.plh: 0013: const MACHID_80COL = $02
; MACHID_80COL = 2
; inc/cmdsys.plh: 0014: const MACHID_MEM = $30
; MACHID_MEM = 48
; inc/cmdsys.plh: 0015: const MACHID_64K = $20
; MACHID_64K = 32
; inc/cmdsys.plh: 0016: const MACHID_128K = $30
; MACHID_128K = 48
; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8
; MACHID_MODEL = 200
; inc/cmdsys.plh: 0018: const MACHID_II = $00
; MACHID_II = 0
; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40
; MACHID_IIPLUS = 64
; inc/cmdsys.plh: 0020: const MACHID_IIE = $80
; MACHID_IIE = 128
; inc/cmdsys.plh: 0021: const MACHID_III = $C0
; MACHID_III = 192
; inc/cmdsys.plh: 0022: const MACHID_IIC = $88
; MACHID_IIC = 136
; inc/cmdsys.plh: 0023: const MACHID_I = $08
; MACHID_I = 8
; inc/cmdsys.plh: 0024: byte MACHID
; MACHID -> X001
; inc/cmdsys.plh: 0025: //
; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes.
; inc/cmdsys.plh: 0027: //
; inc/cmdsys.plh: 0028: const restxt1 = $0001
; restxt1 = 1
; inc/cmdsys.plh: 0029: const restxt2 = $0002
; restxt2 = 2
; inc/cmdsys.plh: 0030: const resxtxt1 = $0004
; resxtxt1 = 4
; inc/cmdsys.plh: 0031: const resxtxt2 = $0008
; resxtxt2 = 8
; inc/cmdsys.plh: 0032: const reshgr1 = $0010
; reshgr1 = 16
; inc/cmdsys.plh: 0033: const reshgr2 = $0020
; reshgr2 = 32
; inc/cmdsys.plh: 0034: const resxhgr1 = $0040
; resxhgr1 = 64
; inc/cmdsys.plh: 0035: const resxhgr2 = $0080
; resxhgr2 = 128
; inc/cmdsys.plh: 0036: const nojitc = $0100
; nojitc = 256
; inc/cmdsys.plh: 0037: const vid80col = $0800
; vid80col = 2048
; inc/cmdsys.plh: 0038: //
; inc/cmdsys.plh: 0039: // Module don't free memory
; inc/cmdsys.plh: 0040: //
; inc/cmdsys.plh: 0041: const modflagkeep = $1000
; modflagkeep = 4096
; inc/cmdsys.plh: 0042: const modkeep = $2000
; modkeep = 8192
; inc/cmdsys.plh: 0043: const modinitkeep = $4000
; modinitkeep = 16384
; inc/cmdsys.plh: 0044: //
; inc/cmdsys.plh: 0045: // CMD exported interface table
; inc/cmdsys.plh: 0046: //
; inc/cmdsys.plh: 0047: struc t_cmdsys
; inc/cmdsys.plh: 0048: word sysver
; sysver = 0
; inc/cmdsys.plh: 0049: word syspath
; syspath = 2
; inc/cmdsys.plh: 0050: word cmdline
; cmdline = 4
; inc/cmdsys.plh: 0051: word modexec
; modexec = 6
; inc/cmdsys.plh: 0052: word sysopen
; sysopen = 8
; inc/cmdsys.plh: 0053: word sysclose
; sysclose = 10
; inc/cmdsys.plh: 0054: word sysread
; sysread = 12
; inc/cmdsys.plh: 0055: word syswrite
; syswrite = 14
; inc/cmdsys.plh: 0056: byte syserr
; syserr = 16
; inc/cmdsys.plh: 0057: byte jitcount
; jitcount = 17
; inc/cmdsys.plh: 0058: byte jitsize
; jitsize = 18
; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific
; sysexec = 19
; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific
; refcons = 19
; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific
; devcons = 20
; inc/cmdsys.plh: 0062: word lookupsym
; lookupsym = 21
; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write)
; _sysflags_ = 23
; inc/cmdsys.plh: 0064: end
; t_cmdsys = 25
; inc/cmdsys.plh: 0065: //
; inc/cmdsys.plh: 0066: // CMD exported functions
; inc/cmdsys.plh: 0067: //
; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0
; PUTC -> X002
; PUTLN -> X003
; PUTS -> X004
; PUTI -> X005
; GETC -> X006
; GETS -> X007
; PUTB -> X008
; PUTH -> X009
; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1
; CALL -> X010
; SYSCALL -> X011
; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1
; HEAPMARK -> X012
; HEAPALLOCALIGN -> X013
; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1
; HEAPALLOC -> X014
; HEAPRELEASE -> X015
; HEAPAVAIL -> X016
; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
; MEMSET -> X017
; MEMCPY -> X018
; STRCPY -> X019
; STRCAT -> X020
; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1
; TOUPPER -> X021
; SEXT -> X022
; DIVMOD -> X023
; ISUGT -> X024
; ISUGE -> X025
; ISULT -> X026
; ISULE -> X027
; inc/cmdsys.plh: 0074: end
; libsrc/sincos.pla: 0001:
; libsrc/sincos.pla: 0002: include "inc/int32.plh"
; inc/int32.plh: 0001: import int32
; DCI STRING: INT32
!BYTE $C9,$CE,$D4,$B3,$32
; INT32 -> X028
; inc/int32.plh: 0002: const t_i32 = 4
; t_i32 = 4
; inc/int32.plh: 0003:
; inc/int32.plh: 0004: predef zero32#0
; ZERO32 -> X029
; inc/int32.plh: 0005: predef zext16to32#0
; ZEXT16TO32 -> X030
; inc/int32.plh: 0006: predef neg32#0
; NEG32 -> X031
; inc/int32.plh: 0007: predef load32(i32ptr)#0
; LOAD32 -> X032
; inc/int32.plh: 0008: predef loadi16(imm16)#0
; LOADI16 -> X033
; inc/int32.plh: 0009: predef store32(i32ptr)#0
; STORE32 -> X034
; inc/int32.plh: 0010: predef add32(i32ptr)#0
; ADD32 -> X035
; inc/int32.plh: 0011: predef addi16(imm16)#0
; ADDI16 -> X036
; inc/int32.plh: 0012: predef sub32(i32ptr)#0
; SUB32 -> X037
; inc/int32.plh: 0013: predef subi16(imm16)#0
; SUBI16 -> X038
; inc/int32.plh: 0014: predef shl32(imm8)#0
; SHL32 -> X039
; inc/int32.plh: 0015: predef shr32(imm8)#0
; SHR32 -> X040
; inc/int32.plh: 0016: predef mul32(i32ptr)#0
; MUL32 -> X041
; inc/int32.plh: 0017: predef muli16(imm16)#0
; MULI16 -> X042
; inc/int32.plh: 0018: predef div32(i32ptr)#2
; DIV32 -> X043
; inc/int32.plh: 0019: predef divi16(imm16)#2
; DIVI16 -> X044
; inc/int32.plh: 0020: predef iseq32(i32ptr)#1
; ISEQ32 -> X045
; inc/int32.plh: 0021: predef iseqi16(imm16)#1
; ISEQI16 -> X046
; inc/int32.plh: 0022: predef isge32(i32ptr)#1
; ISGE32 -> X047
; inc/int32.plh: 0023: predef isgei16(imm16)#1
; ISGEI16 -> X048
; inc/int32.plh: 0024: predef isle32(i32ptr)#1
; ISLE32 -> X049
; inc/int32.plh: 0025: predef islei16(imm16)#1
; ISLEI16 -> X050
; inc/int32.plh: 0026: predef isgt32(i32ptr)#1
; ISGT32 -> X051
; inc/int32.plh: 0027: predef isgti16(imm16)#1
; ISGTI16 -> X052
; inc/int32.plh: 0028: predef islt32(i32ptr)#1
; ISLT32 -> X053
; inc/int32.plh: 0029: predef islti16(imm16)#1
; ISLTI16 -> X054
; inc/int32.plh: 0030: predef i32tos(i32ptr, strptr)#1
; I32TOS -> X055
; inc/int32.plh: 0031: predef puti32(i32ptr)#0
; PUTI32 -> X056
; inc/int32.plh: 0032: end
; libsrc/sincos.pla: 0002:
; libsrc/sincos.pla: 0003:
; libsrc/sincos.pla: 0004: word sin90[]
!BYTE $00 ; END OF MODULE DEPENDENCIES
_D057 ; sin90[]
; libsrc/sincos.pla: 0005: word = $0000,$0478,$08EF,$0D66,$11DC,$1650,$1AC2,$1F33,$23A1,$280C
!WORD $0000
!WORD $0478
!WORD $08EF
!WORD $0D66
!WORD $11DC
!WORD $1650
!WORD $1AC2
!WORD $1F33
!WORD $23A1
!WORD $280C
; libsrc/sincos.pla: 0006: word = $2C74,$30D9,$353A,$3996,$3DEF,$4242,$4690,$4AD9,$4F1C,$5358
!WORD $2C74
!WORD $30D9
!WORD $353A
!WORD $3996
!WORD $3DEF
!WORD $4242
!WORD $4690
!WORD $4AD9
!WORD $4F1C
!WORD $5358
; libsrc/sincos.pla: 0007: word = $578F,$5BBE,$5FE6,$6407,$6820,$6C31,$7039,$7439,$782F,$7C1C
!WORD $578F
!WORD $5BBE
!WORD $5FE6
!WORD $6407
!WORD $6820
!WORD $6C31
!WORD $7039
!WORD $7439
!WORD $782F
!WORD $7C1C
; libsrc/sincos.pla: 0008: word = $8000,$83DA,$87A9,$8B6D,$8F27,$92D6,$9679,$9A11,$9D9C,$A11B
!WORD $8000
!WORD $83DA
!WORD $87A9
!WORD $8B6D
!WORD $8F27
!WORD $92D6
!WORD $9679
!WORD $9A11
!WORD $9D9C
!WORD $A11B
; libsrc/sincos.pla: 0009: word = $A48E,$A7F3,$AB4C,$AE97,$B1D5,$B505,$B827,$BB3A,$BE3F,$C135
!WORD $A48E
!WORD $A7F3
!WORD $AB4C
!WORD $AE97
!WORD $B1D5
!WORD $B505
!WORD $B827
!WORD $BB3A
!WORD $BE3F
!WORD $C135
; libsrc/sincos.pla: 0010: word = $C41B,$C6F3,$C9BB,$CC73,$CF1C,$D1B4,$D43C,$D6B3,$D91A,$DB6F
!WORD $C41B
!WORD $C6F3
!WORD $C9BB
!WORD $CC73
!WORD $CF1C
!WORD $D1B4
!WORD $D43C
!WORD $D6B3
!WORD $D91A
!WORD $DB6F
; libsrc/sincos.pla: 0011: word = $DDB4,$DFE7,$E209,$E419,$E617,$E804,$E9DE,$EBA6,$ED5C,$EEFF
!WORD $DDB4
!WORD $DFE7
!WORD $E209
!WORD $E419
!WORD $E617
!WORD $E804
!WORD $E9DE
!WORD $EBA6
!WORD $ED5C
!WORD $EEFF
; libsrc/sincos.pla: 0012: word = $F090,$F20E,$F378,$F4D0,$F615,$F747,$F865,$F970,$FA68,$FB4C
!WORD $F090
!WORD $F20E
!WORD $F378
!WORD $F4D0
!WORD $F615
!WORD $F747
!WORD $F865
!WORD $F970
!WORD $FA68
!WORD $FB4C
; libsrc/sincos.pla: 0013: word = $FC1C,$FCD9,$FD82,$FE18,$FE99,$FF07,$FF60,$FFA6,$FFD8,$FFF6
!WORD $FC1C
!WORD $FCD9
!WORD $FD82
!WORD $FE18
!WORD $FE99
!WORD $FF07
!WORD $FF60
!WORD $FFA6
!WORD $FFD8
!WORD $FFF6
; libsrc/sincos.pla: 0014: word[2] fprounding = $8000, $0000
_D058 ; fprounding = $8000, $0000
!WORD $8000
!WORD $0000
; libsrc/sincos.pla: 0015:
; libsrc/sincos.pla: 0016: def sin32(deg)#0
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
; deg -> [0]
_C000 ; sin32()
; libsrc/sincos.pla: 0017: word[2] i32
; i32 -> [2]
; libsrc/sincos.pla: 0018:
; libsrc/sincos.pla: 0019: while deg >= 360; deg = deg - 360; loop
!BYTE $58,$06,$01 ; ENTER 6,1
!BYTE $50 ; BRNCH _B003
!WORD _B003-*
_B001
!BYTE $66,$00 ; LLW [0]
!BYTE $2C,$68,$01 ; CW 360
!BYTE $84 ; SUB
!BYTE $76,$00 ; SLW [0]
_B003
!BYTE $66,$00 ; LLW [0]
!BYTE $2C,$68,$01 ; CW 360
!BYTE $48 ; ISGE
!BYTE $4E ; BRTRU _B001
!WORD _B001-*
_B002
; libsrc/sincos.pla: 0020: while deg < 0; deg = deg + 360; loop
!BYTE $50 ; BRNCH _B006
!WORD _B006-*
_B004
!BYTE $66,$00 ; LLW [0]
!BYTE $2C,$68,$01 ; CW 360
!BYTE $82 ; ADD
!BYTE $76,$00 ; SLW [0]
_B006
!BYTE $66,$00 ; LLW [0]
!BYTE $00 ; CN 0
!BYTE $46 ; ISLT
!BYTE $4E ; BRTRU _B004
!WORD _B004-*
_B005
; libsrc/sincos.pla: 0021: if deg < 90
; libsrc/sincos.pla: 0022: i32[0] = (sin90[deg])
; libsrc/sincos.pla: 0023: i32[1] = 0
; libsrc/sincos.pla: 0024: elsif deg == 90
!BYTE $66,$00 ; LLW [0]
!BYTE $2A,$5A ; CB 90
!BYTE $46 ; ISLT
!BYTE $4C ; BRFLS _B007
!WORD _B007-*
!BYTE $26 ; LA _D057+0
_F000 !WORD _D057+0
!BYTE $BA,$00 ; IDXLW [0]
!BYTE $62 ; LW
!BYTE $76,$02 ; SLW [2]
!BYTE $00 ; CN 0
!BYTE $76,$04 ; SLW [4]
!BYTE $50 ; BRNCH _B008
!WORD _B008-*
_B007
; libsrc/sincos.pla: 0025: i32[0] = 0
; libsrc/sincos.pla: 0026: i32[1] = 1
; libsrc/sincos.pla: 0027: elsif deg <= 180
!BYTE $66,$00 ; LLW [0]
!BYTE $2A,$5A ; CB 90
!BYTE $24 ; BRNE _B009
!WORD _B009-*
!BYTE $00 ; CN 0
!BYTE $76,$02 ; SLW [2]
!BYTE $02 ; CN 1
!BYTE $76,$04 ; SLW [4]
!BYTE $50 ; BRNCH _B008
!WORD _B008-*
_B009
; libsrc/sincos.pla: 0028: i32[0] = (sin90[180 - deg])
; libsrc/sincos.pla: 0029: i32[1] = 0
; libsrc/sincos.pla: 0030: elsif deg < 270
!BYTE $66,$00 ; LLW [0]
!BYTE $2A,$B4 ; CB 180
!BYTE $4A ; ISLE
!BYTE $4C ; BRFLS _B010
!WORD _B010-*
!BYTE $26 ; LA _D057+0
_F001 !WORD _D057+0
!BYTE $2A,$B4 ; CB 180
!BYTE $66,$00 ; LLW [0]
!BYTE $84 ; SUB
!BYTE $9E ; IDXW
!BYTE $62 ; LW
!BYTE $76,$02 ; SLW [2]
!BYTE $00 ; CN 0
!BYTE $76,$04 ; SLW [4]
!BYTE $50 ; BRNCH _B008
!WORD _B008-*
_B010
; libsrc/sincos.pla: 0031: i32[0] = ~(sin90[deg - 180])
; libsrc/sincos.pla: 0032: i32[1] = -1
; libsrc/sincos.pla: 0033: elsif deg == 270
!BYTE $66,$00 ; LLW [0]
!BYTE $2C,$0E,$01 ; CW 270
!BYTE $46 ; ISLT
!BYTE $4C ; BRFLS _B011
!WORD _B011-*
!BYTE $26 ; LA _D057+0
_F002 !WORD _D057+0
!BYTE $66,$00 ; LLW [0]
!BYTE $3A,$B4 ; SUBI 180
!BYTE $9E ; IDXW
!BYTE $62 ; LW
!BYTE $92 ; COMP
!BYTE $76,$02 ; SLW [2]
!BYTE $20 ; MINUS ONE
!BYTE $76,$04 ; SLW [4]
!BYTE $50 ; BRNCH _B008
!WORD _B008-*
_B011
; libsrc/sincos.pla: 0034: i32[0] = 0
; libsrc/sincos.pla: 0035: i32[1] = -1
; libsrc/sincos.pla: 0036: else
!BYTE $66,$00 ; LLW [0]
!BYTE $2C,$0E,$01 ; CW 270
!BYTE $24 ; BRNE _B012
!WORD _B012-*
!BYTE $00 ; CN 0
!BYTE $76,$02 ; SLW [2]
!BYTE $20 ; MINUS ONE
!BYTE $76,$04 ; SLW [4]
!BYTE $50 ; BRNCH _B008
!WORD _B008-*
_B012
; libsrc/sincos.pla: 0037: i32[0] = ~(sin90[360 - deg])
; libsrc/sincos.pla: 0038: i32[1] = -1
; libsrc/sincos.pla: 0039: fin
!BYTE $26 ; LA _D057+0
_F003 !WORD _D057+0
!BYTE $2C,$68,$01 ; CW 360
!BYTE $66,$00 ; LLW [0]
!BYTE $84 ; SUB
!BYTE $9E ; IDXW
!BYTE $62 ; LW
!BYTE $92 ; COMP
!BYTE $76,$02 ; SLW [2]
!BYTE $20 ; MINUS ONE
!BYTE $76,$04 ; SLW [4]
_B008
; libsrc/sincos.pla: 0040: load32(@i32)
; libsrc/sincos.pla: 0041: end
!BYTE $28,$02 ; LLA [2]
!BYTE $54 ; CALL _X032
_F004 !WORD 0
!BYTE $5A,$06 ; LEAVE 6
; libsrc/sincos.pla: 0042:
; libsrc/sincos.pla: 0043: export def mulsin(val, deg)
; val -> [0]
; deg -> [2]
_C001 ; mulsin()
; libsrc/sincos.pla: 0044: word[2] i32
; i32 -> [4]
; libsrc/sincos.pla: 0045: sin32(deg)
!BYTE $58,$08,$02 ; ENTER 8,2
; libsrc/sincos.pla: 0046: muli16(val)
; libsrc/sincos.pla: 0047: add32(@fprounding) // Round up
; libsrc/sincos.pla: 0048: store32(@i32)
; libsrc/sincos.pla: 0049: return i32[1]
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _C000
_F005 !WORD _C000
!BYTE $66,$00 ; LLW [0]
!BYTE $54 ; CALL _X042
_F006 !WORD 0
!BYTE $26 ; LA _D058+0
_F007 !WORD _D058+0
!BYTE $54 ; CALL _X035
_F008 !WORD 0
!BYTE $28,$04 ; LLA [4]
!BYTE $54 ; CALL _X034
_F009 !WORD 0
!BYTE $66,$06 ; LLW [6]
!BYTE $5A,$08 ; LEAVE 8
; libsrc/sincos.pla: 0050: end
; libsrc/sincos.pla: 0051:
; libsrc/sincos.pla: 0052: export def mulcos(val, deg)
; val -> [0]
; deg -> [2]
_C002 ; mulcos()
; libsrc/sincos.pla: 0053: word[2] i32
; i32 -> [4]
; libsrc/sincos.pla: 0054: sin32(deg + 90)
!BYTE $58,$08,$02 ; ENTER 8,2
; libsrc/sincos.pla: 0055: muli16(val)
; libsrc/sincos.pla: 0056: add32(@fprounding) // Round up
; libsrc/sincos.pla: 0057: store32(@i32)
; libsrc/sincos.pla: 0058: return i32[1]
!BYTE $66,$02 ; LLW [2]
!BYTE $38,$5A ; ADDI 90
!BYTE $54 ; CALL _C000
_F010 !WORD _C000
!BYTE $66,$00 ; LLW [0]
!BYTE $54 ; CALL _X042
_F011 !WORD 0
!BYTE $26 ; LA _D058+0
_F012 !WORD _D058+0
!BYTE $54 ; CALL _X035
_F013 !WORD 0
!BYTE $28,$04 ; LLA [4]
!BYTE $54 ; CALL _X034
_F014 !WORD 0
!BYTE $66,$06 ; LLW [6]
!BYTE $5A,$08 ; LEAVE 8
; libsrc/sincos.pla: 0059: end
; libsrc/sincos.pla: 0060:
; libsrc/sincos.pla: 0061: //
; libsrc/sincos.pla: 0062: // Keep module in memory
; libsrc/sincos.pla: 0063: //
; libsrc/sincos.pla: 0064: return modkeep
_INIT
!BYTE $2C,$00,$20 ; CW 8192
!BYTE $5C ; RET
; libsrc/sincos.pla: 0065: done
_SYSFLAGS = 0
_DEFCNT = 4
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C000
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C001
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C002
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F000-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F001-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F002-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F003-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F004-_SEGBEGIN
!BYTE 32 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F005-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F006-_SEGBEGIN
!BYTE 42 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F007-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F008-_SEGBEGIN
!BYTE 35 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F009-_SEGBEGIN
!BYTE 34 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F010-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F011-_SEGBEGIN
!BYTE 42 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F012-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F013-_SEGBEGIN
!BYTE 35 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F014-_SEGBEGIN
!BYTE 34 ; ESD INDEX
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: LOAD32
!BYTE $CC,$CF,$C1,$C4,$B3,$32
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 32 ; ESD INDEX
; DCI STRING: STORE32
!BYTE $D3,$D4,$CF,$D2,$C5,$B3,$32
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 34 ; ESD INDEX
; DCI STRING: ADD32
!BYTE $C1,$C4,$C4,$B3,$32
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 35 ; ESD INDEX
; DCI STRING: MULI16
!BYTE $CD,$D5,$CC,$C9,$B1,$36
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 42 ; ESD INDEX
; DCI STRING: MULSIN
!BYTE $CD,$D5,$CC,$D3,$C9,$4E
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C001
; DCI STRING: MULCOS
!BYTE $CD,$D5,$CC,$C3,$CF,$53
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C002
!BYTE $00 ; END OF ESD
-1419
View File
File diff suppressed because it is too large. Load diff
-2651
View File
File diff suppressed because it is too large. Load diff
-10254
View File
File diff suppressed because it is too large. Load diff
-5546
View File
File diff suppressed because it is too large. Load diff
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loaded 100 of 207 files, more files were not shown because too many files have changed in this diff. Show more