Fix check for last character of number

This commit is contained in:
David Schmenk 2023-12-15 11:45:50 -08:00
parent 21ac8cc402
commit 35b2aa3080
196 changed files with 193761 additions and 99 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

BIN
images/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
src/.DS_Store vendored Normal file

Binary file not shown.

BIN
src/TEST#FE1000 Normal file

Binary file not shown.

BIN
src/TESTLIB#FE1000 Normal file

Binary file not shown.

1932
src/libsrc/apple/conio.a Normal file

File diff suppressed because it is too large Load Diff

1839
src/libsrc/apple/dgrlib.a Normal file

File diff suppressed because it is too large Load Diff

2550
src/libsrc/apple/fileio.a Normal file

File diff suppressed because it is too large Load Diff

1327
src/libsrc/apple/grafix.a Normal file

File diff suppressed because it is too large Load Diff

1512
src/libsrc/apple/grlib.a Normal file

File diff suppressed because it is too large Load Diff

2275
src/libsrc/apple/hgrfont.a Normal file

File diff suppressed because it is too large Load Diff

3962
src/libsrc/apple/hgrlib.a Normal file

File diff suppressed because it is too large Load Diff

2340
src/libsrc/apple/hgrsprite.a Normal file

File diff suppressed because it is too large Load Diff

1532
src/libsrc/apple/hgrtile.a Normal file

File diff suppressed because it is too large Load Diff

7080
src/libsrc/apple/jit.a Normal file

File diff suppressed because it is too large Load Diff

5445
src/libsrc/apple/jit16.a Normal file

File diff suppressed because it is too large Load Diff

143
src/libsrc/apple/joybuzz.a Normal file
View File

@ -0,0 +1,143 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/apple/joybuzz.pla: 0001: asm asmdefs
!BYTE $00 ; END OF MODULE DEPENDENCIES
_A000 ; asmdefs()
; libsrc/apple/joybuzz.pla: 0002: !SOURCE "vmsrc/plvmzp.inc"
!SOURCE "vmsrc/plvmzp.inc"
; libsrc/apple/joybuzz.pla: 0003: SPEAKER = $C030
SPEAKER = $C030
; libsrc/apple/joybuzz.pla: 0004: GCSTRB = $C070
GCSTRB = $C070
; libsrc/apple/joybuzz.pla: 0005: GC0 = $C064
GC0 = $C064
; libsrc/apple/joybuzz.pla: 0006: GC1 = $C065
GC1 = $C065
; libsrc/apple/joybuzz.pla: 0007: GCPB1 = $C061
GCPB1 = $C061
; libsrc/apple/joybuzz.pla: 0008: GCPB2 = $C062
GCPB2 = $C062
; libsrc/apple/joybuzz.pla: 0009: GCMAX = 79 ; MAX VALUE FOR GAME CONTROLLER
GCMAX = 79 ; MAX VALUE FOR GAME CONTROLLER
; libsrc/apple/joybuzz.pla: 0010: end
; libsrc/apple/joybuzz.pla: 0011: //
; libsrc/apple/joybuzz.pla: 0012: // Read both game controllers in parallel
; libsrc/apple/joybuzz.pla: 0013: //
; libsrc/apple/joybuzz.pla: 0014: export asm joypos(buzz)#4
_A001 ; joypos()
; libsrc/apple/joybuzz.pla: 0015: LDY ESTKL,X ; BUZZ TONE
LDY ESTKL,X ; BUZZ TONE
; libsrc/apple/joybuzz.pla: 0016: STY TMPH
STY TMPH
; libsrc/apple/joybuzz.pla: 0017: DEX
DEX
; libsrc/apple/joybuzz.pla: 0018: DEX
DEX
; libsrc/apple/joybuzz.pla: 0019: DEX
DEX
; libsrc/apple/joybuzz.pla: 0020: LDA #$00
LDA #$00
; libsrc/apple/joybuzz.pla: 0021: STA ESTKL+2,X
STA ESTKL+2,X
; libsrc/apple/joybuzz.pla: 0022: STA ESTKH+2,X
STA ESTKH+2,X
; libsrc/apple/joybuzz.pla: 0023: STA ESTKL+3,X
STA ESTKL+3,X
; libsrc/apple/joybuzz.pla: 0024: STA ESTKH+3,X
STA ESTKH+3,X
; libsrc/apple/joybuzz.pla: 0025: LDA #GCMAX
LDA #GCMAX
; libsrc/apple/joybuzz.pla: 0026: SEC
SEC
; libsrc/apple/joybuzz.pla: 0027: BIT GCSTRB
BIT GCSTRB
; libsrc/apple/joybuzz.pla: 0028: BUZZ DEY
BUZZ DEY
; libsrc/apple/joybuzz.pla: 0029: BNE BUZZDLY
BNE BUZZDLY
; libsrc/apple/joybuzz.pla: 0030: BIT SPEAKER
BIT SPEAKER
; libsrc/apple/joybuzz.pla: 0031: LDY TMPH ; BUZZ TONE
LDY TMPH ; BUZZ TONE
; libsrc/apple/joybuzz.pla: 0032: GC0READ BIT GC0
GC0READ BIT GC0
; libsrc/apple/joybuzz.pla: 0033: BPL GC0DLY
BPL GC0DLY
; libsrc/apple/joybuzz.pla: 0034: INC ESTKL+3,X
INC ESTKL+3,X
; libsrc/apple/joybuzz.pla: 0035: GC1READ BIT GC1
GC1READ BIT GC1
; libsrc/apple/joybuzz.pla: 0036: BPL GC1DLY
BPL GC1DLY
; libsrc/apple/joybuzz.pla: 0037: INC ESTKL+2,X
INC ESTKL+2,X
; libsrc/apple/joybuzz.pla: 0038: JOYLP SBC #$01
JOYLP SBC #$01
; libsrc/apple/joybuzz.pla: 0039: BNE BUZZ
BNE BUZZ
; libsrc/apple/joybuzz.pla: 0040: TAY ; LDY #$00
TAY ; LDY #$00
; libsrc/apple/joybuzz.pla: 0041: BIT GCPB1 ; READ GC BUTTONS
BIT GCPB1 ; READ GC BUTTONS
; libsrc/apple/joybuzz.pla: 0042: BPL +
BPL +
; libsrc/apple/joybuzz.pla: 0043: DEY
DEY
; libsrc/apple/joybuzz.pla: 0044: + STY ESTKL+1,X
+ STY ESTKL+1,X
; libsrc/apple/joybuzz.pla: 0045: STY ESTKH+1,X
STY ESTKH+1,X
; libsrc/apple/joybuzz.pla: 0046: TAY ; LDY #$00
TAY ; LDY #$00
; libsrc/apple/joybuzz.pla: 0047: BIT GCPB2
BIT GCPB2
; libsrc/apple/joybuzz.pla: 0048: BPL +
BPL +
; libsrc/apple/joybuzz.pla: 0049: DEY
DEY
; libsrc/apple/joybuzz.pla: 0050: + STY ESTKL,X
+ STY ESTKL,X
; libsrc/apple/joybuzz.pla: 0051: STY ESTKH,X
STY ESTKH,X
; libsrc/apple/joybuzz.pla: 0052: RTS
RTS
; libsrc/apple/joybuzz.pla: 0053: GC0DLY NOP ; TIMING
GC0DLY NOP ; TIMING
; libsrc/apple/joybuzz.pla: 0054: BPL GC1READ
BPL GC1READ
; libsrc/apple/joybuzz.pla: 0055: GC1DLY NOP ; TIMING
GC1DLY NOP ; TIMING
; libsrc/apple/joybuzz.pla: 0056: BPL JOYLP
BPL JOYLP
; libsrc/apple/joybuzz.pla: 0057: BUZZDLY BNE + ; TIMING
BUZZDLY BNE + ; TIMING
; libsrc/apple/joybuzz.pla: 0058: + BNE GC0READ
+ BNE GC0READ
; libsrc/apple/joybuzz.pla: 0059: end
; libsrc/apple/joybuzz.pla: 0060: done
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
_INIT
!BYTE $00 ; CN 0
!BYTE $5C ; RET
_SYSFLAGS = 0
_DEFCNT = 1
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: JOYPOS
!BYTE $CA,$CF,$D9,$D0,$CF,$53
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _A001
!BYTE $00 ; END OF ESD

View File

@ -0,0 +1,945 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/apple/matchfiles.pla: 0001: include "inc/cmdsys.plh"
; inc/cmdsys.plh: 0001: import cmdsys
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
; CMDSYS -> X000
; inc/cmdsys.plh: 0002: //
; inc/cmdsys.plh: 0003: // Useful values for everyone
; inc/cmdsys.plh: 0004: //
; inc/cmdsys.plh: 0005: const _SYSVER_ = $0200 // Version built against
; _SYSVER_ = 512
; inc/cmdsys.plh: 0006: const FALSE = 0
; FALSE = 0
; inc/cmdsys.plh: 0007: const TRUE = not FALSE
; TRUE = -1
; inc/cmdsys.plh: 0008: const NULL = 0
; NULL = 0
; inc/cmdsys.plh: 0009: //
; inc/cmdsys.plh: 0010: // Machine ID values
; inc/cmdsys.plh: 0011: //
; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01
; MACHID_CLOCK = 1
; inc/cmdsys.plh: 0013: const MACHID_80COL = $02
; MACHID_80COL = 2
; inc/cmdsys.plh: 0014: const MACHID_MEM = $03
; MACHID_MEM = 3
; inc/cmdsys.plh: 0015: const MACHID_64K = $20
; MACHID_64K = 32
; inc/cmdsys.plh: 0016: const MACHID_128K = $30
; MACHID_128K = 48
; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8
; MACHID_MODEL = 200
; inc/cmdsys.plh: 0018: const MACHID_II = $00
; MACHID_II = 0
; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40
; MACHID_IIPLUS = 64
; inc/cmdsys.plh: 0020: const MACHID_IIE = $80
; MACHID_IIE = 128
; inc/cmdsys.plh: 0021: const MACHID_III = $C0
; MACHID_III = 192
; inc/cmdsys.plh: 0022: const MACHID_IIC = $88
; MACHID_IIC = 136
; inc/cmdsys.plh: 0023: const MACHID_I = $08
; MACHID_I = 8
; inc/cmdsys.plh: 0024: byte MACHID
; MACHID -> X001
; inc/cmdsys.plh: 0025: //
; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes.
; inc/cmdsys.plh: 0027: //
; inc/cmdsys.plh: 0028: const restxt1 = $0001
; restxt1 = 1
; inc/cmdsys.plh: 0029: const restxt2 = $0002
; restxt2 = 2
; inc/cmdsys.plh: 0030: const resxtxt1 = $0004
; resxtxt1 = 4
; inc/cmdsys.plh: 0031: const resxtxt2 = $0008
; resxtxt2 = 8
; inc/cmdsys.plh: 0032: const reshgr1 = $0010
; reshgr1 = 16
; inc/cmdsys.plh: 0033: const reshgr2 = $0020
; reshgr2 = 32
; inc/cmdsys.plh: 0034: const resxhgr1 = $0040
; resxhgr1 = 64
; inc/cmdsys.plh: 0035: const resxhgr2 = $0080
; resxhgr2 = 128
; inc/cmdsys.plh: 0036: const nojitc = $0100
; nojitc = 256
; inc/cmdsys.plh: 0037: //
; inc/cmdsys.plh: 0038: // Module don't free memory
; inc/cmdsys.plh: 0039: //
; inc/cmdsys.plh: 0040: const modkeep = $2000
; modkeep = 8192
; inc/cmdsys.plh: 0041: const modinitkeep = $4000
; modinitkeep = 16384
; inc/cmdsys.plh: 0042: //
; inc/cmdsys.plh: 0043: // CMD exported interface table
; inc/cmdsys.plh: 0044: //
; inc/cmdsys.plh: 0045: struc t_cmdsys
; inc/cmdsys.plh: 0046: word sysver
; sysver = 0
; inc/cmdsys.plh: 0047: word syspath
; syspath = 2
; inc/cmdsys.plh: 0048: word cmdline
; cmdline = 4
; inc/cmdsys.plh: 0049: word modexec
; modexec = 6
; inc/cmdsys.plh: 0050: word sysopen
; sysopen = 8
; inc/cmdsys.plh: 0051: word sysclose
; sysclose = 10
; inc/cmdsys.plh: 0052: word sysread
; sysread = 12
; inc/cmdsys.plh: 0053: word syswrite
; syswrite = 14
; inc/cmdsys.plh: 0054: byte syserr
; syserr = 16
; inc/cmdsys.plh: 0055: byte jitcount
; jitcount = 17
; inc/cmdsys.plh: 0056: byte jitsize
; jitsize = 18
; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific
; refcons = 19
; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific
; devcons = 20
; inc/cmdsys.plh: 0059: end
; t_cmdsys = 21
; inc/cmdsys.plh: 0060: //
; inc/cmdsys.plh: 0061: // CMD exported functions
; inc/cmdsys.plh: 0062: //
; inc/cmdsys.plh: 0063: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0
; PUTC -> X002
; PUTLN -> X003
; PUTS -> X004
; PUTI -> X005
; GETC -> X006
; GETS -> X007
; PUTB -> X008
; PUTH -> X009
; inc/cmdsys.plh: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1
; CALL -> X010
; SYSCALL -> X011
; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1
; HEAPMARK -> X012
; HEAPALLOCALIGN -> X013
; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1
; HEAPALLOC -> X014
; HEAPRELEASE -> X015
; HEAPAVAIL -> X016
; inc/cmdsys.plh: 0067: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
; MEMSET -> X017
; MEMCPY -> X018
; STRCPY -> X019
; STRCAT -> X020
; inc/cmdsys.plh: 0068: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1
; TOUPPER -> X021
; SEXT -> X022
; DIVMOD -> X023
; ISUGT -> X024
; ISUGE -> X025
; ISULT -> X026
; ISULE -> X027
; inc/cmdsys.plh: 0069: end
; libsrc/apple/matchfiles.pla: 0001:
; libsrc/apple/matchfiles.pla: 0002: include "inc/fileio.plh"
; inc/fileio.plh: 0001: import fileio
; DCI STRING: FILEIO
!BYTE $C6,$C9,$CC,$C5,$C9,$4F
; FILEIO -> X028
; inc/fileio.plh: 0002: //
; inc/fileio.plh: 0003: // Useful ProDOS values
; inc/fileio.plh: 0004: //
; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh
; inc/fileio.plh: 0006: // Which slot has a ROM
; inc/fileio.plh: 0007: const SLTBYT = $BF99
; SLTBYT = 49049
; inc/fileio.plh: 0008: // Prefix active
; inc/fileio.plh: 0009: const PFIXPTR = $BF9A
; PFIXPTR = 49050
; inc/fileio.plh: 0010: // Memory alocate bitmap
; inc/fileio.plh: 0011: const MEMTABL = $BF58
; MEMTABL = 48984
; inc/fileio.plh: 0012: //
; inc/fileio.plh: 0013: // SOS/ProDOS error codes
; inc/fileio.plh: 0014: //
; inc/fileio.plh: 0015: const FILE_ERR_OK = $00
; FILE_ERR_OK = 0
; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01
; FILE_ERR_BAD_CALL_NUM = 1
; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04
; FILE_ERR_BAD_PARAM_CNT = 4
; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25
; FILE_ERR_INT_TBL_FULL = 37
; inc/fileio.plh: 0019: const FILE_ERR_IO = $27
; FILE_ERR_IO = 39
; inc/fileio.plh: 0020: //
; inc/fileio.plh: 0021: // File entry struc
; inc/fileio.plh: 0022: //
; inc/fileio.plh: 0023: struc t_fileentry
; inc/fileio.plh: 0024: byte store_namelen
; store_namelen = 0
; inc/fileio.plh: 0025: byte entry_name[15]
; entry_name = 1
; inc/fileio.plh: 0026: byte entry_type
; entry_type = 16
; inc/fileio.plh: 0027: word entry_keyptr
; entry_keyptr = 17
; inc/fileio.plh: 0028: word entry_blocks
; entry_blocks = 19
; inc/fileio.plh: 0029: word entry_EOFL
; entry_EOFL = 21
; inc/fileio.plh: 0030: byte entry_EOFH
; entry_EOFH = 23
; inc/fileio.plh: 0031: word entry_create[2]
; entry_create = 24
; inc/fileio.plh: 0032: byte entry_version
; entry_version = 28
; inc/fileio.plh: 0033: byte entry_minver
; entry_minver = 29
; inc/fileio.plh: 0034: byte entry_access
; entry_access = 30
; inc/fileio.plh: 0035: word entry_aux
; entry_aux = 31
; inc/fileio.plh: 0036: word entry_mod[2]
; entry_mod = 33
; inc/fileio.plh: 0037: word entry_headptr
; entry_headptr = 37
; inc/fileio.plh: 0038: end
; t_fileentry = 39
; inc/fileio.plh: 0039: //
; inc/fileio.plh: 0040: // File info struc
; inc/fileio.plh: 0041: //
; inc/fileio.plh: 0042: struc t_fileinfo
; inc/fileio.plh: 0043: byte file_access
; file_access = 0
; inc/fileio.plh: 0044: byte file_type
; file_type = 1
; inc/fileio.plh: 0045: word aux_type
; aux_type = 2
; inc/fileio.plh: 0046: byte storage_type
; storage_type = 4
; inc/fileio.plh: 0047: word blocks_used
; blocks_used = 5
; inc/fileio.plh: 0048: word mod_date
; mod_date = 7
; inc/fileio.plh: 0049: word mod_time
; mod_time = 9
; inc/fileio.plh: 0050: word create_date
; create_date = 11
; inc/fileio.plh: 0051: word create_time
; create_time = 13
; inc/fileio.plh: 0052: end
; t_fileinfo = 15
; inc/fileio.plh: 0053: //
; inc/fileio.plh: 0054: // File functions
; inc/fileio.plh: 0055: //
; inc/fileio.plh: 0056: struc t_fileio
; inc/fileio.plh: 0057: word getpfx
; getpfx = 0
; inc/fileio.plh: 0058: word setpfx
; setpfx = 2
; inc/fileio.plh: 0059: word getfileinfo
; getfileinfo = 4
; inc/fileio.plh: 0060: word setfileinfo
; setfileinfo = 6
; inc/fileio.plh: 0061: word geteof
; geteof = 8
; inc/fileio.plh: 0062: word seteof
; seteof = 10
; inc/fileio.plh: 0063: word iobufalloc
; iobufalloc = 12
; inc/fileio.plh: 0064: word open
; open = 14
; inc/fileio.plh: 0065: word close
; close = 16
; inc/fileio.plh: 0066: word read
; read = 18
; inc/fileio.plh: 0067: word write
; write = 20
; inc/fileio.plh: 0068: word create
; create = 22
; inc/fileio.plh: 0069: word destroy
; destroy = 24
; inc/fileio.plh: 0070: word rename
; rename = 26
; inc/fileio.plh: 0071: word newline
; newline = 28
; inc/fileio.plh: 0072: word online
; online = 30
; inc/fileio.plh: 0073: word readblock
; readblock = 32
; inc/fileio.plh: 0074: word writeblock
; writeblock = 34
; inc/fileio.plh: 0075: end
; t_fileio = 36
; inc/fileio.plh: 0076: //
; inc/fileio.plh: 0077: // Globally accessible error code
; inc/fileio.plh: 0078: //
; inc/fileio.plh: 0079: byte perr
; PERR -> X029
; inc/fileio.plh: 0080: end
; libsrc/apple/matchfiles.pla: 0002:
; libsrc/apple/matchfiles.pla: 0003:
; libsrc/apple/matchfiles.pla: 0004: var dirbuf
!BYTE $00 ; END OF MODULE DEPENDENCIES
_D030 !FILL 2 ; dirbuf
; libsrc/apple/matchfiles.pla: 0005: //
; libsrc/apple/matchfiles.pla: 0006: // Match next section of source and expression
; libsrc/apple/matchfiles.pla: 0007: //
; libsrc/apple/matchfiles.pla: 0008: def matchNext(src, srcofst, exp, expofst)
_SUBSEG ; BYTECODE STARTS
; src -> [0]
; srcofst -> [2]
; exp -> [4]
; expofst -> [6]
_C000 ; matchNext()
; libsrc/apple/matchfiles.pla: 0009: if ^exp >= expofst
!BYTE $58,$08,$04 ; ENTER 8,4
; libsrc/apple/matchfiles.pla: 0010: when exp->[expofst]
!BYTE $66,$04 ; LLW [4]
!BYTE $60 ; LB
!BYTE $66,$06 ; LLW [6]
!BYTE $48 ; ISGE
!BYTE $4C ; BRFLS _B001
!WORD _B001-*
!BYTE $66,$04 ; LLW [4]
!BYTE $B2,$06 ; ADDLW [6]
!BYTE $60 ; LB
!BYTE $52 ; SEL
!WORD _B004-*
; libsrc/apple/matchfiles.pla: 0011: is '*' // Multi-char wildcard
_B005
; libsrc/apple/matchfiles.pla: 0012: if matchNext(src, srcofst, exp, expofst + 1) // Match zero wild chars
; libsrc/apple/matchfiles.pla: 0013: return TRUE
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$02 ; LLW [2]
!BYTE $66,$04 ; LLW [4]
!BYTE $66,$06 ; LLW [6]
!BYTE $8C ; INCR
!BYTE $54 ; CALL _C000
_F000 !WORD _C000
!BYTE $4C ; BRFLS _B006
!WORD _B006-*
!BYTE $20 ; MINUS ONE
!BYTE $5A,$08 ; LEAVE 8
; libsrc/apple/matchfiles.pla: 0014: elsif ^src >= srcofst and matchNext(src, srcofst + 1, exp, expofst) // Match more wild chars
!BYTE $50 ; BRNCH _B007
!WORD _B007-*
_B006
; libsrc/apple/matchfiles.pla: 0015: return TRUE
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $66,$02 ; LLW [2]
!BYTE $48 ; ISGE
!BYTE $AC ; BRAND _B008
!WORD _B008-*
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$02 ; LLW [2]
!BYTE $8C ; INCR
!BYTE $66,$04 ; LLW [4]
!BYTE $66,$06 ; LLW [6]
!BYTE $54 ; CALL _C000
_F001 !WORD _C000
_B008
!BYTE $4C ; BRFLS _B009
!WORD _B009-*
!BYTE $20 ; MINUS ONE
!BYTE $5A,$08 ; LEAVE 8
; libsrc/apple/matchfiles.pla: 0016: fin
_B009
_B007
; libsrc/apple/matchfiles.pla: 0017: is '?' // Single char wildcard
_B010
; libsrc/apple/matchfiles.pla: 0018: if ^src >= srcofst
; libsrc/apple/matchfiles.pla: 0019: return matchNext(src, srcofst + 1, exp, expofst + 1)
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $66,$02 ; LLW [2]
!BYTE $48 ; ISGE
!BYTE $4C ; BRFLS _B011
!WORD _B011-*
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$02 ; LLW [2]
!BYTE $8C ; INCR
!BYTE $66,$04 ; LLW [4]
!BYTE $66,$06 ; LLW [6]
!BYTE $8C ; INCR
!BYTE $54 ; CALL _C000
_F002 !WORD _C000
!BYTE $5A,$08 ; LEAVE 8
; libsrc/apple/matchfiles.pla: 0020: fin
_B011
_B012
; libsrc/apple/matchfiles.pla: 0021: return FALSE
!BYTE $00 ; CN 0
!BYTE $5A,$08 ; LEAVE 8
; libsrc/apple/matchfiles.pla: 0022: otherwise // verbatim match
!BYTE $50 ; BRNCH _B013
!WORD _B013-*
_B004
!BYTE $02 ; CASEBLOCK
!WORD $002A
!WORD _B005-*
!WORD $003F
!WORD _B010-*
_B013
; libsrc/apple/matchfiles.pla: 0023: if ^src >= srcofst and src->[srcofst] == exp->[expofst]
; libsrc/apple/matchfiles.pla: 0024: return matchNext(src, srcofst + 1, exp, expofst + 1)
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $66,$02 ; LLW [2]
!BYTE $48 ; ISGE
!BYTE $AC ; BRAND _B014
!WORD _B014-*
!BYTE $66,$00 ; LLW [0]
!BYTE $B2,$02 ; ADDLW [2]
!BYTE $60 ; LB
!BYTE $66,$04 ; LLW [4]
!BYTE $B2,$06 ; ADDLW [6]
!BYTE $60 ; LB
!BYTE $40 ; ISEQ
_B014
!BYTE $4C ; BRFLS _B015
!WORD _B015-*
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$02 ; LLW [2]
!BYTE $8C ; INCR
!BYTE $66,$04 ; LLW [4]
!BYTE $66,$06 ; LLW [6]
!BYTE $8C ; INCR
!BYTE $54 ; CALL _C000
_F003 !WORD _C000
!BYTE $5A,$08 ; LEAVE 8
; libsrc/apple/matchfiles.pla: 0025: fin
_B015
_B016
; libsrc/apple/matchfiles.pla: 0026: return FALSE
!BYTE $00 ; CN 0
!BYTE $5A,$08 ; LEAVE 8
; libsrc/apple/matchfiles.pla: 0027: wend
_B003
; libsrc/apple/matchfiles.pla: 0028: fin
_B001
_B002
; libsrc/apple/matchfiles.pla: 0029: return ^src < srcofst and ^exp < expofst // Return TRUE if at the end of both
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $66,$02 ; LLW [2]
!BYTE $46 ; ISLT
!BYTE $AC ; BRAND _B017
!WORD _B017-*
!BYTE $66,$04 ; LLW [4]
!BYTE $60 ; LB
!BYTE $66,$06 ; LLW [6]
!BYTE $46 ; ISLT
_B017
!BYTE $5A,$08 ; LEAVE 8
; libsrc/apple/matchfiles.pla: 0030: end
; libsrc/apple/matchfiles.pla: 0031: //
; libsrc/apple/matchfiles.pla: 0032: // Start off matching process
; libsrc/apple/matchfiles.pla: 0033: //
; libsrc/apple/matchfiles.pla: 0034: export def matchName(src, exp)#1
; src -> [0]
; exp -> [2]
_C001 ; matchName()
; libsrc/apple/matchfiles.pla: 0035: //
; libsrc/apple/matchfiles.pla: 0036: // Match on empty wildcard name (same as '*')
; libsrc/apple/matchfiles.pla: 0037: //
; libsrc/apple/matchfiles.pla: 0038: if not ^exp
!BYTE $58,$04,$02 ; ENTER 4,2
; libsrc/apple/matchfiles.pla: 0039: return TRUE
!BYTE $66,$02 ; LLW [2]
!BYTE $60 ; LB
!BYTE $4E ; BRTRU _B018
!WORD _B018-*
!BYTE $20 ; MINUS ONE
!BYTE $5A,$04 ; LEAVE 4
; libsrc/apple/matchfiles.pla: 0040: fin
_B018
_B019
; libsrc/apple/matchfiles.pla: 0041: return matchNext(src, 1, exp, 1)
!BYTE $66,$00 ; LLW [0]
!BYTE $02 ; CN 1
!BYTE $66,$02 ; LLW [2]
!BYTE $02 ; CN 1
!BYTE $54 ; CALL _C000
_F004 !WORD _C000
!BYTE $5A,$04 ; LEAVE 4
; libsrc/apple/matchfiles.pla: 0042: end
; libsrc/apple/matchfiles.pla: 0043: export def matchList(pathstr, exp)#2
; pathstr -> [0]
; exp -> [2]
_C002 ; matchList()
; libsrc/apple/matchfiles.pla: 0044: byte refnum
; refnum -> [4]
; libsrc/apple/matchfiles.pla: 0045: char[64] curpath
; curpath -> [5]
; libsrc/apple/matchfiles.pla: 0046: var firstblk, entrylen, entriesblk, i, entry, entrylist, entryptr, entrycnt
; firstblk -> [69]
; entrylen -> [71]
; entriesblk -> [73]
; i -> [75]
; entry -> [77]
; entrylist -> [79]
; entryptr -> [81]
; entrycnt -> [83]
; libsrc/apple/matchfiles.pla: 0047:
; libsrc/apple/matchfiles.pla: 0048: if not dirbuf
!BYTE $58,$55,$02 ; ENTER 85,2
; libsrc/apple/matchfiles.pla: 0049: dirbuf = heapallocalign(512, 8, 0)
; libsrc/apple/matchfiles.pla: 0050: fin
!BYTE $6A ; LAW _D030+0
_F005 !WORD _D030+0
!BYTE $4E ; BRTRU _B020
!WORD _B020-*
!BYTE $2C,$00,$02 ; CW 512
!BYTE $10 ; CN 8
!BYTE $00 ; CN 0
!BYTE $54 ; CALL _X013
_F006 !WORD 0
!BYTE $7A ; SAW _D030+0
_F007 !WORD _D030+0
_B020
_B021
; libsrc/apple/matchfiles.pla: 0051: if not ^pathstr
; libsrc/apple/matchfiles.pla: 0052: fileio:getpfx(@curpath)
; libsrc/apple/matchfiles.pla: 0053: pathstr = @curpath
; libsrc/apple/matchfiles.pla: 0054: fin
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $4E ; BRTRU _B022
!WORD _B022-*
!BYTE $28,$05 ; LLA [5]
!BYTE $6A ; LAW _X028+0
_F008 !WORD 0+0
!BYTE $56 ; ICAL
!BYTE $30 ; DROP
!BYTE $28,$05 ; LLA [5]
!BYTE $76,$00 ; SLW [0]
_B022
_B023
; libsrc/apple/matchfiles.pla: 0055: if pathstr->[^pathstr] <> '/' // Make sure path ends with a '/'
; libsrc/apple/matchfiles.pla: 0056: ^pathstr++
!BYTE $66,$00 ; LLW [0]
!BYTE $34 ; DUP
!BYTE $60 ; LB
!BYTE $82 ; ADD
!BYTE $60 ; LB
!BYTE $2A,$2F ; CB 47
!BYTE $22 ; BREQ _B024
!WORD _B024-*
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $8C ; INCR
; libsrc/apple/matchfiles.pla: 0057: pathstr->[^pathstr] = '/'
; libsrc/apple/matchfiles.pla: 0058: fin
!BYTE $66,$00 ; LLW [0]
!BYTE $70 ; SB
!BYTE $2A,$2F ; CB 47
!BYTE $66,$00 ; LLW [0]
!BYTE $34 ; DUP
!BYTE $60 ; LB
!BYTE $82 ; ADD
!BYTE $70 ; SB
_B024
_B025
; libsrc/apple/matchfiles.pla: 0059: entrylist = 0
; libsrc/apple/matchfiles.pla: 0060: entrycnt = 0
; libsrc/apple/matchfiles.pla: 0061: firstblk = 1
; libsrc/apple/matchfiles.pla: 0062: refnum = fileio:open(pathstr)
; libsrc/apple/matchfiles.pla: 0063: while fileio:read(refnum, dirbuf, 512) == 512
!BYTE $00 ; CN 0
!BYTE $76,$4F ; SLW [79]
!BYTE $00 ; CN 0
!BYTE $76,$53 ; SLW [83]
!BYTE $02 ; CN 1
!BYTE $76,$45 ; SLW [69]
!BYTE $66,$00 ; LLW [0]
!BYTE $6A ; LAW _X028+14
_F009 !WORD 0+14
!BYTE $56 ; ICAL
!BYTE $74,$04 ; SLB [4]
!BYTE $50 ; BRNCH _B028
!WORD _B028-*
_B026
; libsrc/apple/matchfiles.pla: 0064: //
; libsrc/apple/matchfiles.pla: 0065: // Skip block pointers
; libsrc/apple/matchfiles.pla: 0066: //
; libsrc/apple/matchfiles.pla: 0067: entry = dirbuf + 4
; libsrc/apple/matchfiles.pla: 0068: if firstblk
; libsrc/apple/matchfiles.pla: 0069: //
; libsrc/apple/matchfiles.pla: 0070: // Pull out revelant details from the first block
; libsrc/apple/matchfiles.pla: 0071: //
; libsrc/apple/matchfiles.pla: 0072: entrylen = dirbuf->$23
; libsrc/apple/matchfiles.pla: 0073: entriesblk = dirbuf->$24 - 1
; libsrc/apple/matchfiles.pla: 0074: entry = entry + entrylen
; libsrc/apple/matchfiles.pla: 0075: fin
!BYTE $6A ; LAW _D030+0
_F010 !WORD _D030+0
!BYTE $38,$04 ; ADDI 4
!BYTE $76,$4D ; SLW [77]
!BYTE $66,$45 ; LLW [69]
!BYTE $4C ; BRFLS _B029
!WORD _B029-*
!BYTE $6A ; LAW _D030+0
_F011 !WORD _D030+0
!BYTE $38,$23 ; ADDI 35
!BYTE $60 ; LB
!BYTE $76,$47 ; SLW [71]
!BYTE $6A ; LAW _D030+0
_F012 !WORD _D030+0
!BYTE $38,$24 ; ADDI 36
!BYTE $60 ; LB
!BYTE $8E ; DECR
!BYTE $76,$49 ; SLW [73]
!BYTE $66,$4D ; LLW [77]
!BYTE $B2,$47 ; ADDLW [71]
!BYTE $76,$4D ; SLW [77]
_B029
_B030
; libsrc/apple/matchfiles.pla: 0076: for i = firstblk to entriesblk
!BYTE $66,$49 ; LLW [73]
!BYTE $66,$45 ; LLW [69]
!BYTE $A0 ; BRGT _B031
!WORD _B031-*
_B032
!BYTE $6E,$4B ; DLW [75]
; libsrc/apple/matchfiles.pla: 0077: //
; libsrc/apple/matchfiles.pla: 0078: // Copy directory entry details
; libsrc/apple/matchfiles.pla: 0079: //
; libsrc/apple/matchfiles.pla: 0080: ^entry = ^entry & $0F
; libsrc/apple/matchfiles.pla: 0081: if ^entry
; libsrc/apple/matchfiles.pla: 0082: //
; libsrc/apple/matchfiles.pla: 0083: // Match wildcard filename
; libsrc/apple/matchfiles.pla: 0084: //
; libsrc/apple/matchfiles.pla: 0085: if matchName(entry, exp)
; libsrc/apple/matchfiles.pla: 0086: entryptr = heapalloc(t_fileentry)
; libsrc/apple/matchfiles.pla: 0087: memcpy(entryptr, entry, t_fileentry)
; libsrc/apple/matchfiles.pla: 0088: entrycnt++
!BYTE $66,$4D ; LLW [77]
!BYTE $60 ; LB
!BYTE $3C,$0F ; ANDI 15
!BYTE $66,$4D ; LLW [77]
!BYTE $70 ; SB
!BYTE $66,$4D ; LLW [77]
!BYTE $60 ; LB
!BYTE $4C ; BRFLS _B034
!WORD _B034-*
!BYTE $66,$4D ; LLW [77]
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _C001
_F013 !WORD _C001
!BYTE $4C ; BRFLS _B036
!WORD _B036-*
!BYTE $2A,$27 ; CB 39
!BYTE $54 ; CALL _X014
_F014 !WORD 0
!BYTE $6E,$51 ; DLW [81]
!BYTE $66,$4D ; LLW [77]
!BYTE $2A,$27 ; CB 39
!BYTE $54 ; CALL _X018
_F015 !WORD 0
!BYTE $66,$53 ; LLW [83]
!BYTE $8C ; INCR
; libsrc/apple/matchfiles.pla: 0089: if not entrylist
; libsrc/apple/matchfiles.pla: 0090: entrylist = entryptr
; libsrc/apple/matchfiles.pla: 0091: fin
!BYTE $76,$53 ; SLW [83]
!BYTE $66,$4F ; LLW [79]
!BYTE $4E ; BRTRU _B038
!WORD _B038-*
!BYTE $66,$51 ; LLW [81]
!BYTE $76,$4F ; SLW [79]
_B038
_B039
; libsrc/apple/matchfiles.pla: 0092: fin
_B036
_B037
; libsrc/apple/matchfiles.pla: 0093: fin
_B034
_B035
; libsrc/apple/matchfiles.pla: 0094: entry = entry + entrylen
; libsrc/apple/matchfiles.pla: 0095: next
!BYTE $66,$4D ; LLW [77]
!BYTE $B2,$47 ; ADDLW [71]
!BYTE $76,$4D ; SLW [77]
_B033
!BYTE $A4 ; INCBRLE _B032
!WORD _B032-*
_B031
!BYTE $76,$4B ; SLW [75]
!BYTE $30 ; DROP
; libsrc/apple/matchfiles.pla: 0096: firstblk = 0
; libsrc/apple/matchfiles.pla: 0097: loop
!BYTE $00 ; CN 0
!BYTE $76,$45 ; SLW [69]
_B028
!BYTE $64,$04 ; LLB [4]
!BYTE $6A ; LAW _D030+0
_F016 !WORD _D030+0
!BYTE $2C,$00,$02 ; CW 512
!BYTE $6A ; LAW _X028+18
_F017 !WORD 0+18
!BYTE $56 ; ICAL
!BYTE $2C,$00,$02 ; CW 512
!BYTE $22 ; BREQ _B026
!WORD _B026-*
_B027
; libsrc/apple/matchfiles.pla: 0098: fileio:close(refnum)
; libsrc/apple/matchfiles.pla: 0099: return entrylist, entrycnt
!BYTE $64,$04 ; LLB [4]
!BYTE $6A ; LAW _X028+16
_F018 !WORD 0+16
!BYTE $56 ; ICAL
!BYTE $30 ; DROP
!BYTE $66,$4F ; LLW [79]
!BYTE $66,$53 ; LLW [83]
!BYTE $5A,$55 ; LEAVE 85
; libsrc/apple/matchfiles.pla: 0100: end
; libsrc/apple/matchfiles.pla: 0101: //
; libsrc/apple/matchfiles.pla: 0102: // Is this a wildcard name?
; libsrc/apple/matchfiles.pla: 0103: //
; libsrc/apple/matchfiles.pla: 0104: export def isWildName(exp)#1
; exp -> [0]
_C003 ; isWildName()
; libsrc/apple/matchfiles.pla: 0105: byte i
; i -> [2]
; libsrc/apple/matchfiles.pla: 0106:
; libsrc/apple/matchfiles.pla: 0107: if ^exp
!BYTE $58,$03,$01 ; ENTER 3,1
; libsrc/apple/matchfiles.pla: 0108: for i = 1 to ^exp
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $4C ; BRFLS _B040
!WORD _B040-*
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $02 ; CN 1
!BYTE $A0 ; BRGT _B042
!WORD _B042-*
_B043
!BYTE $6C,$02 ; DLB [2]
; libsrc/apple/matchfiles.pla: 0109: if exp->[i] == '*' or exp->[i] == '?'
; libsrc/apple/matchfiles.pla: 0110: return TRUE
!BYTE $66,$00 ; LLW [0]
!BYTE $B0,$02 ; ADDLB [2]
!BYTE $60 ; LB
!BYTE $2A,$2A ; CB 42
!BYTE $40 ; ISEQ
!BYTE $AE ; BROR _B045
!WORD _B045-*
!BYTE $66,$00 ; LLW [0]
!BYTE $B0,$02 ; ADDLB [2]
!BYTE $60 ; LB
!BYTE $2A,$3F ; CB 63
!BYTE $40 ; ISEQ
_B045
!BYTE $4C ; BRFLS _B046
!WORD _B046-*
!BYTE $32 ; DROP2
!BYTE $20 ; MINUS ONE
!BYTE $5A,$03 ; LEAVE 3
; libsrc/apple/matchfiles.pla: 0111: fin
_B046
_B047
; libsrc/apple/matchfiles.pla: 0112: next
_B044
!BYTE $A4 ; INCBRLE _B043
!WORD _B043-*
_B042
!BYTE $74,$02 ; SLB [2]
!BYTE $30 ; DROP
; libsrc/apple/matchfiles.pla: 0113: fin
_B040
_B041
; libsrc/apple/matchfiles.pla: 0114: return FALSE
!BYTE $00 ; CN 0
!BYTE $5A,$03 ; LEAVE 3
; libsrc/apple/matchfiles.pla: 0115: end
; libsrc/apple/matchfiles.pla: 0116: //
; libsrc/apple/matchfiles.pla: 0117: // Utility routine to separate filename from path
; libsrc/apple/matchfiles.pla: 0118: //
; libsrc/apple/matchfiles.pla: 0119: export def fileFromPath(filestr, pathstr)#0
; filestr -> [0]
; pathstr -> [2]
_C004 ; fileFromPath()
; libsrc/apple/matchfiles.pla: 0120: byte i
; i -> [4]
; libsrc/apple/matchfiles.pla: 0121:
; libsrc/apple/matchfiles.pla: 0122: for i = ^pathstr downto 1
!BYTE $58,$05,$02 ; ENTER 5,2
!BYTE $02 ; CN 1
!BYTE $66,$02 ; LLW [2]
!BYTE $60 ; LB
!BYTE $A2 ; BRLT _B048
!WORD _B048-*
_B049
!BYTE $6C,$04 ; DLB [4]
; libsrc/apple/matchfiles.pla: 0123: if pathstr->[i] == '/'
; libsrc/apple/matchfiles.pla: 0124: break
!BYTE $66,$02 ; LLW [2]
!BYTE $B0,$04 ; ADDLB [4]
!BYTE $60 ; LB
!BYTE $2A,$2F ; CB 47
!BYTE $24 ; BRNE _B051
!WORD _B051-*
!BYTE $50 ; BRNCH _B048
!WORD _B048-*
; libsrc/apple/matchfiles.pla: 0125: fin
_B051
_B052
; libsrc/apple/matchfiles.pla: 0126: next
_B050
!BYTE $A8 ; DECBRGE _B049
!WORD _B049-*
_B048
!BYTE $74,$04 ; SLB [4]
!BYTE $30 ; DROP
; libsrc/apple/matchfiles.pla: 0127: ^filestr = ^pathstr - i
; libsrc/apple/matchfiles.pla: 0128: memcpy(filestr + 1, pathstr + 1 + i, ^filestr)
; libsrc/apple/matchfiles.pla: 0129: end
!BYTE $66,$02 ; LLW [2]
!BYTE $60 ; LB
!BYTE $64,$04 ; LLB [4]
!BYTE $84 ; SUB
!BYTE $66,$00 ; LLW [0]
!BYTE $70 ; SB
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
!BYTE $66,$02 ; LLW [2]
!BYTE $8C ; INCR
!BYTE $B0,$04 ; ADDLB [4]
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $54 ; CALL _X018
_F019 !WORD 0
!BYTE $5A,$05 ; LEAVE 5
; libsrc/apple/matchfiles.pla: 0130: done
_INIT
!BYTE $00 ; CN 0
!BYTE $5C ; RET
_SYSFLAGS = 0
_DEFCNT = 6
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C000
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C001
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C002
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C003
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C004
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F000-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F001-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F002-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F003-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F004-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F005-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F006-_SEGBEGIN
!BYTE 13 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F007-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F008-_SEGBEGIN
!BYTE 28 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F009-_SEGBEGIN
!BYTE 28 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F010-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F011-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F012-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F013-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F014-_SEGBEGIN
!BYTE 14 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F015-_SEGBEGIN
!BYTE 18 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F016-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F017-_SEGBEGIN
!BYTE 28 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F018-_SEGBEGIN
!BYTE 28 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F019-_SEGBEGIN
!BYTE 18 ; ESD INDEX
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: HEAPALLOCALIGN
!BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$C3,$C1,$CC,$C9,$C7,$4E
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 13 ; ESD INDEX
; DCI STRING: HEAPALLOC
!BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 14 ; ESD INDEX
; DCI STRING: MEMCPY
!BYTE $CD,$C5,$CD,$C3,$D0,$59
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 18 ; ESD INDEX
; DCI STRING: FILEIO
!BYTE $C6,$C9,$CC,$C5,$C9,$4F
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 28 ; ESD INDEX
; DCI STRING: MATCHNAME
!BYTE $CD,$C1,$D4,$C3,$C8,$CE,$C1,$CD,$45
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C001
; DCI STRING: MATCHLIST
!BYTE $CD,$C1,$D4,$C3,$C8,$CC,$C9,$D3,$54
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C002
; DCI STRING: ISWILDNAME
!BYTE $C9,$D3,$D7,$C9,$CC,$C4,$CE,$C1,$CD,$45
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C003
; DCI STRING: FILEFROMPATH
!BYTE $C6,$C9,$CC,$C5,$C6,$D2,$CF,$CD,$D0,$C1,$D4,$48
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C004
!BYTE $00 ; END OF ESD

1232
src/libsrc/apple/mouse.a Normal file

File diff suppressed because it is too large Load Diff

386
src/libsrc/apple/portio.a Normal file
View File

@ -0,0 +1,386 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/apple/portio.pla: 0001: //
; libsrc/apple/portio.pla: 0002: // Game port I/O library based on the wiring library
; libsrc/apple/portio.pla: 0003: //
; libsrc/apple/portio.pla: 0004: include "inc/cmdsys.plh"
; inc/cmdsys.plh: 0001: import cmdsys
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
; CMDSYS -> X000
; inc/cmdsys.plh: 0002: //
; inc/cmdsys.plh: 0003: // Useful values for everyone
; inc/cmdsys.plh: 0004: //
; inc/cmdsys.plh: 0005: const _SYSVER_ = $0200 // Version built against
; _SYSVER_ = 512
; inc/cmdsys.plh: 0006: const FALSE = 0
; FALSE = 0
; inc/cmdsys.plh: 0007: const TRUE = not FALSE
; TRUE = -1
; inc/cmdsys.plh: 0008: const NULL = 0
; NULL = 0
; inc/cmdsys.plh: 0009: //
; inc/cmdsys.plh: 0010: // Machine ID values
; inc/cmdsys.plh: 0011: //
; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01
; MACHID_CLOCK = 1
; inc/cmdsys.plh: 0013: const MACHID_80COL = $02
; MACHID_80COL = 2
; inc/cmdsys.plh: 0014: const MACHID_MEM = $03
; MACHID_MEM = 3
; inc/cmdsys.plh: 0015: const MACHID_64K = $20
; MACHID_64K = 32
; inc/cmdsys.plh: 0016: const MACHID_128K = $30
; MACHID_128K = 48
; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8
; MACHID_MODEL = 200
; inc/cmdsys.plh: 0018: const MACHID_II = $00
; MACHID_II = 0
; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40
; MACHID_IIPLUS = 64
; inc/cmdsys.plh: 0020: const MACHID_IIE = $80
; MACHID_IIE = 128
; inc/cmdsys.plh: 0021: const MACHID_III = $C0
; MACHID_III = 192
; inc/cmdsys.plh: 0022: const MACHID_IIC = $88
; MACHID_IIC = 136
; inc/cmdsys.plh: 0023: const MACHID_I = $08
; MACHID_I = 8
; inc/cmdsys.plh: 0024: byte MACHID
; MACHID -> X001
; inc/cmdsys.plh: 0025: //
; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes.
; inc/cmdsys.plh: 0027: //
; inc/cmdsys.plh: 0028: const restxt1 = $0001
; restxt1 = 1
; inc/cmdsys.plh: 0029: const restxt2 = $0002
; restxt2 = 2
; inc/cmdsys.plh: 0030: const resxtxt1 = $0004
; resxtxt1 = 4
; inc/cmdsys.plh: 0031: const resxtxt2 = $0008
; resxtxt2 = 8
; inc/cmdsys.plh: 0032: const reshgr1 = $0010
; reshgr1 = 16
; inc/cmdsys.plh: 0033: const reshgr2 = $0020
; reshgr2 = 32
; inc/cmdsys.plh: 0034: const resxhgr1 = $0040
; resxhgr1 = 64
; inc/cmdsys.plh: 0035: const resxhgr2 = $0080
; resxhgr2 = 128
; inc/cmdsys.plh: 0036: const nojitc = $0100
; nojitc = 256
; inc/cmdsys.plh: 0037: //
; inc/cmdsys.plh: 0038: // Module don't free memory
; inc/cmdsys.plh: 0039: //
; inc/cmdsys.plh: 0040: const modkeep = $2000
; modkeep = 8192
; inc/cmdsys.plh: 0041: const modinitkeep = $4000
; modinitkeep = 16384
; inc/cmdsys.plh: 0042: //
; inc/cmdsys.plh: 0043: // CMD exported interface table
; inc/cmdsys.plh: 0044: //
; inc/cmdsys.plh: 0045: struc t_cmdsys
; inc/cmdsys.plh: 0046: word sysver
; sysver = 0
; inc/cmdsys.plh: 0047: word syspath
; syspath = 2
; inc/cmdsys.plh: 0048: word cmdline
; cmdline = 4
; inc/cmdsys.plh: 0049: word modexec
; modexec = 6
; inc/cmdsys.plh: 0050: word sysopen
; sysopen = 8
; inc/cmdsys.plh: 0051: word sysclose
; sysclose = 10
; inc/cmdsys.plh: 0052: word sysread
; sysread = 12
; inc/cmdsys.plh: 0053: word syswrite
; syswrite = 14
; inc/cmdsys.plh: 0054: byte syserr
; syserr = 16
; inc/cmdsys.plh: 0055: byte jitcount
; jitcount = 17
; inc/cmdsys.plh: 0056: byte jitsize
; jitsize = 18
; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific
; refcons = 19
; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific
; devcons = 20
; inc/cmdsys.plh: 0059: end
; t_cmdsys = 21
; inc/cmdsys.plh: 0060: //
; inc/cmdsys.plh: 0061: // CMD exported functions
; inc/cmdsys.plh: 0062: //
; inc/cmdsys.plh: 0063: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0
; PUTC -> X002
; PUTLN -> X003
; PUTS -> X004
; PUTI -> X005
; GETC -> X006
; GETS -> X007
; PUTB -> X008
; PUTH -> X009
; inc/cmdsys.plh: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1
; CALL -> X010
; SYSCALL -> X011
; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1
; HEAPMARK -> X012
; HEAPALLOCALIGN -> X013
; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1
; HEAPALLOC -> X014
; HEAPRELEASE -> X015
; HEAPAVAIL -> X016
; inc/cmdsys.plh: 0067: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
; MEMSET -> X017
; MEMCPY -> X018
; STRCPY -> X019
; STRCAT -> X020
; inc/cmdsys.plh: 0068: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1
; TOUPPER -> X021
; SEXT -> X022
; DIVMOD -> X023
; ISUGT -> X024
; ISUGE -> X025
; ISULT -> X026
; ISULE -> X027
; inc/cmdsys.plh: 0069: end
; libsrc/apple/portio.pla: 0004:
; libsrc/apple/portio.pla: 0005:
; libsrc/apple/portio.pla: 0006: const ANN0 = $C058
!BYTE $00 ; END OF MODULE DEPENDENCIES
; ANN0 = 49240
; libsrc/apple/portio.pla: 0007: const ANN1 = $C05A
; ANN1 = 49242
; libsrc/apple/portio.pla: 0008: const ANN2 = $C05C
; ANN2 = 49244
; libsrc/apple/portio.pla: 0009: const ANN3 = $C05E
; ANN3 = 49246
; libsrc/apple/portio.pla: 0010: const OFF = 0
; OFF = 0
; libsrc/apple/portio.pla: 0011: const ON = 1
; ON = 1
; libsrc/apple/portio.pla: 0012: const STROBE = $C040
; STROBE = 49216
; libsrc/apple/portio.pla: 0013: const FLAG0 = $C060
; FLAG0 = 49248
; libsrc/apple/portio.pla: 0014: const FLAG1 = $C061
; FLAG1 = 49249
; libsrc/apple/portio.pla: 0015: const FLAG2 = $C062
; FLAG2 = 49250
; libsrc/apple/portio.pla: 0016: const FLAG3 = $C063
; FLAG3 = 49251
; libsrc/apple/portio.pla: 0017: const PREAD = $FB1E
; PREAD = 64286
; libsrc/apple/portio.pla: 0018: const WAIT = $FCA8
; WAIT = 64680
; libsrc/apple/portio.pla: 0019:
; libsrc/apple/portio.pla: 0020: export def digitalRead(pin)
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
; pin -> [0]
_C000 ; digitalRead()
; libsrc/apple/portio.pla: 0021: return FLAG0[pin&3] > 127
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $2C,$60,$C0 ; CW 49248
!BYTE $66,$00 ; LLW [0]
!BYTE $3C,$03 ; ANDI 3
!BYTE $82 ; ADD
!BYTE $60 ; LB
!BYTE $2A,$7F ; CB 127
!BYTE $44 ; ISGT
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/portio.pla: 0022: end
; libsrc/apple/portio.pla: 0023:
; libsrc/apple/portio.pla: 0024: export def portRead
_C001 ; portRead()
; libsrc/apple/portio.pla: 0025: return (^FLAG0>>7)&1|(^FLAG1>>6)&2|(^FLAG2>>5)&4|(^FLAG3>>4)&8
!BYTE $68,$60,$C0 ; LAB 49248
!BYTE $0E ; CN 7
!BYTE $9C ; SHR
!BYTE $3C,$01 ; ANDI 1
!BYTE $68,$61,$C0 ; LAB 49249
!BYTE $0C ; CN 6
!BYTE $9C ; SHR
!BYTE $3C,$02 ; ANDI 2
!BYTE $68,$62,$C0 ; LAB 49250
!BYTE $0A ; CN 5
!BYTE $9C ; SHR
!BYTE $3C,$04 ; ANDI 4
!BYTE $68,$63,$C0 ; LAB 49251
!BYTE $08 ; CN 4
!BYTE $9C ; SHR
!BYTE $3C,$08 ; ANDI 8
!BYTE $96 ; OR
!BYTE $96 ; OR
!BYTE $96 ; OR
!BYTE $5C ; RET
; libsrc/apple/portio.pla: 0026: end
; libsrc/apple/portio.pla: 0027:
; libsrc/apple/portio.pla: 0028: export def digitalWrite(pin, val)#0
; pin -> [0]
; val -> [2]
_C002 ; digitalWrite()
; libsrc/apple/portio.pla: 0029: ANN0[((pin&3)<<1)+(val&1)]
!BYTE $58,$04,$02 ; ENTER 4,2
; libsrc/apple/portio.pla: 0030: end
!BYTE $2C,$58,$C0 ; CW 49240
!BYTE $66,$00 ; LLW [0]
!BYTE $3C,$03 ; ANDI 3
!BYTE $34 ; DUP
!BYTE $82 ; ADD
!BYTE $66,$02 ; LLW [2]
!BYTE $3C,$01 ; ANDI 1
!BYTE $82 ; ADD
!BYTE $82 ; ADD
!BYTE $60 ; LB
!BYTE $30 ; DROP
!BYTE $5A,$04 ; LEAVE 4
; libsrc/apple/portio.pla: 0031:
; libsrc/apple/portio.pla: 0032: export def portWrite(val)#0
; val -> [0]
_C003 ; portWrite()
; libsrc/apple/portio.pla: 0033: ANN0[val&1]
!BYTE $58,$02,$01 ; ENTER 2,1
; libsrc/apple/portio.pla: 0034: ANN1[(val>>1)&1]
; libsrc/apple/portio.pla: 0035: ANN2[(val>>2)&1]
; libsrc/apple/portio.pla: 0036: ANN3[(val>>3)&1]
; libsrc/apple/portio.pla: 0037: end
!BYTE $2C,$58,$C0 ; CW 49240
!BYTE $66,$00 ; LLW [0]
!BYTE $3C,$01 ; ANDI 1
!BYTE $82 ; ADD
!BYTE $60 ; LB
!BYTE $30 ; DROP
!BYTE $2C,$5A,$C0 ; CW 49242
!BYTE $66,$00 ; LLW [0]
!BYTE $02 ; CN 1
!BYTE $9C ; SHR
!BYTE $3C,$01 ; ANDI 1
!BYTE $82 ; ADD
!BYTE $60 ; LB
!BYTE $30 ; DROP
!BYTE $2C,$5C,$C0 ; CW 49244
!BYTE $66,$00 ; LLW [0]
!BYTE $04 ; CN 2
!BYTE $9C ; SHR
!BYTE $3C,$01 ; ANDI 1
!BYTE $82 ; ADD
!BYTE $60 ; LB
!BYTE $30 ; DROP
!BYTE $2C,$5E,$C0 ; CW 49246
!BYTE $66,$00 ; LLW [0]
!BYTE $06 ; CN 3
!BYTE $9C ; SHR
!BYTE $3C,$01 ; ANDI 1
!BYTE $82 ; ADD
!BYTE $60 ; LB
!BYTE $30 ; DROP
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/portio.pla: 0038:
; libsrc/apple/portio.pla: 0039: export def analogRead(pin)
; pin -> [0]
_C004 ; analogRead()
; libsrc/apple/portio.pla: 0040: return call(PREAD,0,pin&3,0,0).2
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $2C,$1E,$FB ; CW 64286
!BYTE $00 ; CN 0
!BYTE $66,$00 ; LLW [0]
!BYTE $3C,$03 ; ANDI 3
!BYTE $00 ; CN 0
!BYTE $00 ; CN 0
!BYTE $54 ; CALL _X010
_F000 !WORD 0
!BYTE $38,$02 ; ADDI 2
!BYTE $60 ; LB
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/portio.pla: 0041: end
; libsrc/apple/portio.pla: 0042:
; libsrc/apple/portio.pla: 0043: export def delay(time)#0
; time -> [0]
_C005 ; delay()
; libsrc/apple/portio.pla: 0044: call(WAIT,time,0,0,0)
!BYTE $58,$02,$01 ; ENTER 2,1
; libsrc/apple/portio.pla: 0045: end
!BYTE $2C,$A8,$FC ; CW 64680
!BYTE $66,$00 ; LLW [0]
!BYTE $00 ; CN 0
!BYTE $00 ; CN 0
!BYTE $00 ; CN 0
!BYTE $54 ; CALL _X010
_F001 !WORD 0
!BYTE $30 ; DROP
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/portio.pla: 0046:
; libsrc/apple/portio.pla: 0047: done
_INIT
!BYTE $00 ; CN 0
!BYTE $5C ; RET
_SYSFLAGS = 0
_DEFCNT = 7
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C000
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C001
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C002
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C003
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C004
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C005
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F000-_SEGBEGIN
!BYTE 10 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F001-_SEGBEGIN
!BYTE 10 ; ESD INDEX
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: CALL
!BYTE $C3,$C1,$CC,$4C
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 10 ; ESD INDEX
; DCI STRING: DIGITALREAD
!BYTE $C4,$C9,$C7,$C9,$D4,$C1,$CC,$D2,$C5,$C1,$44
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C000
; DCI STRING: PORTREAD
!BYTE $D0,$CF,$D2,$D4,$D2,$C5,$C1,$44
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C001
; DCI STRING: DIGITALWRITE
!BYTE $C4,$C9,$C7,$C9,$D4,$C1,$CC,$D7,$D2,$C9,$D4,$45
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C002
; DCI STRING: PORTWRITE
!BYTE $D0,$CF,$D2,$D4,$D7,$D2,$C9,$D4,$45
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C003
; DCI STRING: ANALOGREAD
!BYTE $C1,$CE,$C1,$CC,$CF,$C7,$D2,$C5,$C1,$44
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C004
; DCI STRING: DELAY
!BYTE $C4,$C5,$CC,$C1,$59
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C005
!BYTE $00 ; END OF ESD

951
src/libsrc/apple/sdfat.a Normal file
View File

@ -0,0 +1,951 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/apple/sdfat.pla: 0001: include "inc/cmdsys.plh"
; inc/cmdsys.plh: 0001: import cmdsys
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
; CMDSYS -> X000
; inc/cmdsys.plh: 0002: //
; inc/cmdsys.plh: 0003: // Useful values for everyone
; inc/cmdsys.plh: 0004: //
; inc/cmdsys.plh: 0005: const _SYSVER_ = $0200 // Version built against
; _SYSVER_ = 512
; inc/cmdsys.plh: 0006: const FALSE = 0
; FALSE = 0
; inc/cmdsys.plh: 0007: const TRUE = not FALSE
; TRUE = -1
; inc/cmdsys.plh: 0008: const NULL = 0
; NULL = 0
; inc/cmdsys.plh: 0009: //
; inc/cmdsys.plh: 0010: // Machine ID values
; inc/cmdsys.plh: 0011: //
; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01
; MACHID_CLOCK = 1
; inc/cmdsys.plh: 0013: const MACHID_80COL = $02
; MACHID_80COL = 2
; inc/cmdsys.plh: 0014: const MACHID_MEM = $03
; MACHID_MEM = 3
; inc/cmdsys.plh: 0015: const MACHID_64K = $20
; MACHID_64K = 32
; inc/cmdsys.plh: 0016: const MACHID_128K = $30
; MACHID_128K = 48
; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8
; MACHID_MODEL = 200
; inc/cmdsys.plh: 0018: const MACHID_II = $00
; MACHID_II = 0
; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40
; MACHID_IIPLUS = 64
; inc/cmdsys.plh: 0020: const MACHID_IIE = $80
; MACHID_IIE = 128
; inc/cmdsys.plh: 0021: const MACHID_III = $C0
; MACHID_III = 192
; inc/cmdsys.plh: 0022: const MACHID_IIC = $88
; MACHID_IIC = 136
; inc/cmdsys.plh: 0023: const MACHID_I = $08
; MACHID_I = 8
; inc/cmdsys.plh: 0024: byte MACHID
; MACHID -> X001
; inc/cmdsys.plh: 0025: //
; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes.
; inc/cmdsys.plh: 0027: //
; inc/cmdsys.plh: 0028: const restxt1 = $0001
; restxt1 = 1
; inc/cmdsys.plh: 0029: const restxt2 = $0002
; restxt2 = 2
; inc/cmdsys.plh: 0030: const resxtxt1 = $0004
; resxtxt1 = 4
; inc/cmdsys.plh: 0031: const resxtxt2 = $0008
; resxtxt2 = 8
; inc/cmdsys.plh: 0032: const reshgr1 = $0010
; reshgr1 = 16
; inc/cmdsys.plh: 0033: const reshgr2 = $0020
; reshgr2 = 32
; inc/cmdsys.plh: 0034: const resxhgr1 = $0040
; resxhgr1 = 64
; inc/cmdsys.plh: 0035: const resxhgr2 = $0080
; resxhgr2 = 128
; inc/cmdsys.plh: 0036: const nojitc = $0100
; nojitc = 256
; inc/cmdsys.plh: 0037: //
; inc/cmdsys.plh: 0038: // Module don't free memory
; inc/cmdsys.plh: 0039: //
; inc/cmdsys.plh: 0040: const modkeep = $2000
; modkeep = 8192
; inc/cmdsys.plh: 0041: const modinitkeep = $4000
; modinitkeep = 16384
; inc/cmdsys.plh: 0042: //
; inc/cmdsys.plh: 0043: // CMD exported interface table
; inc/cmdsys.plh: 0044: //
; inc/cmdsys.plh: 0045: struc t_cmdsys
; inc/cmdsys.plh: 0046: word sysver
; sysver = 0
; inc/cmdsys.plh: 0047: word syspath
; syspath = 2
; inc/cmdsys.plh: 0048: word cmdline
; cmdline = 4
; inc/cmdsys.plh: 0049: word modexec
; modexec = 6
; inc/cmdsys.plh: 0050: word sysopen
; sysopen = 8
; inc/cmdsys.plh: 0051: word sysclose
; sysclose = 10
; inc/cmdsys.plh: 0052: word sysread
; sysread = 12
; inc/cmdsys.plh: 0053: word syswrite
; syswrite = 14
; inc/cmdsys.plh: 0054: byte syserr
; syserr = 16
; inc/cmdsys.plh: 0055: byte jitcount
; jitcount = 17
; inc/cmdsys.plh: 0056: byte jitsize
; jitsize = 18
; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific
; refcons = 19
; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific
; devcons = 20
; inc/cmdsys.plh: 0059: end
; t_cmdsys = 21
; inc/cmdsys.plh: 0060: //
; inc/cmdsys.plh: 0061: // CMD exported functions
; inc/cmdsys.plh: 0062: //
; inc/cmdsys.plh: 0063: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0
; PUTC -> X002
; PUTLN -> X003
; PUTS -> X004
; PUTI -> X005
; GETC -> X006
; GETS -> X007
; PUTB -> X008
; PUTH -> X009
; inc/cmdsys.plh: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1
; CALL -> X010
; SYSCALL -> X011
; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1
; HEAPMARK -> X012
; HEAPALLOCALIGN -> X013
; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1
; HEAPALLOC -> X014
; HEAPRELEASE -> X015
; HEAPAVAIL -> X016
; inc/cmdsys.plh: 0067: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
; MEMSET -> X017
; MEMCPY -> X018
; STRCPY -> X019
; STRCAT -> X020
; inc/cmdsys.plh: 0068: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1
; TOUPPER -> X021
; SEXT -> X022
; DIVMOD -> X023
; ISUGT -> X024
; ISUGE -> X025
; ISULT -> X026
; ISULE -> X027
; inc/cmdsys.plh: 0069: end
; libsrc/apple/sdfat.pla: 0001:
; libsrc/apple/sdfat.pla: 0002: include "inc/spiport.plh"
; inc/spiport.plh: 0001: import spiport
; DCI STRING: SPIPORT
!BYTE $D3,$D0,$C9,$D0,$CF,$D2,$54
; SPIPORT -> X028
; inc/spiport.plh: 0002: //
; inc/spiport.plh: 0003: // Wiring constants for Arduino
; inc/spiport.plh: 0004: //
; inc/spiport.plh: 0005: const PINHIGH = 1
; PINHIGH = 1
; inc/spiport.plh: 0006: const PINLOW = 0
; PINLOW = 0
; inc/spiport.plh: 0007: const PINOUTPUT = 1
; PINOUTPUT = 1
; inc/spiport.plh: 0008: const PININPUT = 0
; PININPUT = 0
; inc/spiport.plh: 0009: const PINPULLUP = 2
; PINPULLUP = 2
; inc/spiport.plh: 0010: //
; inc/spiport.plh: 0011: // SPI commands to Wiring functions on Arduino
; inc/spiport.plh: 0012: //
; inc/spiport.plh: 0013: const CMDPINMODE = 3
; CMDPINMODE = 3
; inc/spiport.plh: 0014: const CMDDIGREAD = 4
; CMDDIGREAD = 4
; inc/spiport.plh: 0015: const CMDDIGWRITE = 5
; CMDDIGWRITE = 5
; inc/spiport.plh: 0016: const CMDANAREAD = 6
; CMDANAREAD = 6
; inc/spiport.plh: 0017: const CMDANAWRITE = 7
; CMDANAWRITE = 7
; inc/spiport.plh: 0018: //
; inc/spiport.plh: 0019: // SPI commands to serial functions on Arduino
; inc/spiport.plh: 0020: //
; inc/spiport.plh: 0021: const CMDSERMODE = 8
; CMDSERMODE = 8
; inc/spiport.plh: 0022: const CMDSERAVAIL = 9
; CMDSERAVAIL = 9
; inc/spiport.plh: 0023: const CMDSERREAD = 10
; CMDSERREAD = 10
; inc/spiport.plh: 0024: const CMDSERWRITE = 11
; CMDSERWRITE = 11
; inc/spiport.plh: 0025: predef spiXferByte(outbyte), spiSend(data), spiRecv, spiWriteBuf(buf, len), spiReadBuf(buf, len)
; SPIXFERBYTE -> X029
; SPISEND -> X030
; SPIRECV -> X031
; SPIWRITEBUF -> X032
; SPIREADBUF -> X033
; inc/spiport.plh: 0026: predef spiDelay(time), spiReady
; SPIDELAY -> X034
; SPIREADY -> X035
; inc/spiport.plh: 0027: end
; libsrc/apple/sdfat.pla: 0002:
; libsrc/apple/sdfat.pla: 0003:
; libsrc/apple/sdfat.pla: 0004: //
; libsrc/apple/sdfat.pla: 0005: // FAT I/O object
; libsrc/apple/sdfat.pla: 0006: //
; libsrc/apple/sdfat.pla: 0007: predef cwd(pathname), chdir(path), mkdir(path), rmdir(path), rename(newpath), remove, exists(path)
!BYTE $00 ; END OF MODULE DEPENDENCIES
; libsrc/apple/sdfat.pla: 0008: predef openFirst(filename), openNext(filename), open(path, mode)
; libsrc/apple/sdfat.pla: 0009: predef close, read(buf, len), write(buf, len), sync, rewind, seek, seekOfs, pos
; libsrc/apple/sdfat.pla: 0010: predef size, truncate, isDir, isFile
; libsrc/apple/sdfat.pla: 0011: //
; libsrc/apple/sdfat.pla: 0012: // SD card FAT filesystem interface
; libsrc/apple/sdfat.pla: 0013: //
; libsrc/apple/sdfat.pla: 0014: export byte[] sdFAT
_D058 ; sdFAT
; libsrc/apple/sdfat.pla: 0015: word[] = @cwd, @chdir, @mkdir, @rmdir, @rename, @remove, @exists, @openFirst, @openNext, @open
_F000 !WORD _P000
_F001 !WORD _P001
_F002 !WORD _P002
_F003 !WORD _P003
_F004 !WORD _P004
_F005 !WORD _P005
_F006 !WORD _P006
_F007 !WORD _P007
_F008 !WORD _P008
_F009 !WORD _P009
; libsrc/apple/sdfat.pla: 0016: word[] = @close, @read, @write, @sync, @rewind, @seek, @seekOfs, @pos
_F010 !WORD _P010
_F011 !WORD _P011
_F012 !WORD _P012
_F013 !WORD _P013
_F014 !WORD _P014
_F015 !WORD _P015
_F016 !WORD _P016
_F017 !WORD _P017
; libsrc/apple/sdfat.pla: 0017: word[] = @size, @truncate, @isDir, @isFile
_F018 !WORD _P018
_F019 !WORD _P019
_F020 !WORD _P020
_F021 !WORD _P021
; libsrc/apple/sdfat.pla: 0018: //
; libsrc/apple/sdfat.pla: 0019: // Directory related functions
; libsrc/apple/sdfat.pla: 0020: //
; libsrc/apple/sdfat.pla: 0021: def cwd(pathname)
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
; pathname -> [0]
_P000 ; cwd(pathname)()
_C000 ; cwd()
; libsrc/apple/sdfat.pla: 0022: byte namelen
; namelen -> [2]
; libsrc/apple/sdfat.pla: 0023:
; libsrc/apple/sdfat.pla: 0024: namelen = 0
!BYTE $58,$03,$01 ; ENTER 3,1
; libsrc/apple/sdfat.pla: 0025: spiSend(15) // CWD
; libsrc/apple/sdfat.pla: 0026: namelen = spiRecv
; libsrc/apple/sdfat.pla: 0027: if namelen
; libsrc/apple/sdfat.pla: 0028: spiReadBuf(pathname+1, namelen)
; libsrc/apple/sdfat.pla: 0029: fin
!BYTE $00 ; CN 0
!BYTE $74,$02 ; SLB [2]
!BYTE $1E ; CN 15
!BYTE $54 ; CALL _X030
_F022 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F023 !WORD 0
!BYTE $6C,$02 ; DLB [2]
!BYTE $4C ; BRFLS _B001
!WORD _B001-*
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
!BYTE $64,$02 ; LLB [2]
!BYTE $54 ; CALL _X033
_F024 !WORD 0
!BYTE $30 ; DROP
_B001
_B002
; libsrc/apple/sdfat.pla: 0030: ^pathname = namelen
; libsrc/apple/sdfat.pla: 0031: return namelen
!BYTE $64,$02 ; LLB [2]
!BYTE $66,$00 ; LLW [0]
!BYTE $70 ; SB
!BYTE $64,$02 ; LLB [2]
!BYTE $5A,$03 ; LEAVE 3
; libsrc/apple/sdfat.pla: 0032: end
; libsrc/apple/sdfat.pla: 0033:
; libsrc/apple/sdfat.pla: 0034: def chdir(path)
; path -> [0]
_P001 ; chdir(path)()
_C001 ; chdir()
; libsrc/apple/sdfat.pla: 0035: spiWriteBuf(path + 1, ^path)
!BYTE $58,$02,$01 ; ENTER 2,1
; libsrc/apple/sdfat.pla: 0036: spiSend(16) // CHGDIR
; libsrc/apple/sdfat.pla: 0037: return spiRecv
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $54 ; CALL _X032
_F025 !WORD 0
!BYTE $30 ; DROP
!BYTE $2A,$10 ; CB 16
!BYTE $54 ; CALL _X030
_F026 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F027 !WORD 0
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0038: end
; libsrc/apple/sdfat.pla: 0039:
; libsrc/apple/sdfat.pla: 0040: def mkdir(path)
; path -> [0]
_P002 ; mkdir(path)()
_C002 ; mkdir()
; libsrc/apple/sdfat.pla: 0041: return 0
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $00 ; CN 0
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0042: end
; libsrc/apple/sdfat.pla: 0043:
; libsrc/apple/sdfat.pla: 0044: def rmdir(path)
; path -> [0]
_P003 ; rmdir(path)()
_C003 ; rmdir()
; libsrc/apple/sdfat.pla: 0045: return 0
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $00 ; CN 0
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0046: end
; libsrc/apple/sdfat.pla: 0047:
; libsrc/apple/sdfat.pla: 0048: def rename(newpath)
; newpath -> [0]
_P004 ; rename(newpath)()
_C004 ; rename()
; libsrc/apple/sdfat.pla: 0049: return 0
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $00 ; CN 0
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0050: end
; libsrc/apple/sdfat.pla: 0051:
; libsrc/apple/sdfat.pla: 0052: def remove
_P005 ; remove()
_C005 ; remove()
; libsrc/apple/sdfat.pla: 0053: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0054: end
; libsrc/apple/sdfat.pla: 0055:
; libsrc/apple/sdfat.pla: 0056: def exists(path)
; path -> [0]
_P006 ; exists(path)()
_C006 ; exists()
; libsrc/apple/sdfat.pla: 0057: return 0
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $00 ; CN 0
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0058: end
; libsrc/apple/sdfat.pla: 0059:
; libsrc/apple/sdfat.pla: 0060: def openDir(cmd, filename)
; cmd -> [0]
; filename -> [2]
_C007 ; openDir()
; libsrc/apple/sdfat.pla: 0061: byte namelen
; namelen -> [4]
; libsrc/apple/sdfat.pla: 0062:
; libsrc/apple/sdfat.pla: 0063: namelen = 0
!BYTE $58,$05,$02 ; ENTER 5,2
; libsrc/apple/sdfat.pla: 0064: spiSend(cmd)
; libsrc/apple/sdfat.pla: 0065: namelen = spiRecv
; libsrc/apple/sdfat.pla: 0066: if namelen == $FF
; libsrc/apple/sdfat.pla: 0067: namelen = 0
; libsrc/apple/sdfat.pla: 0068: fin
!BYTE $00 ; CN 0
!BYTE $74,$04 ; SLB [4]
!BYTE $66,$00 ; LLW [0]
!BYTE $54 ; CALL _X030
_F028 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F029 !WORD 0
!BYTE $6C,$04 ; DLB [4]
!BYTE $2A,$FF ; CB 255
!BYTE $24 ; BRNE _B003
!WORD _B003-*
!BYTE $00 ; CN 0
!BYTE $74,$04 ; SLB [4]
_B003
_B004
; libsrc/apple/sdfat.pla: 0069: if namelen
; libsrc/apple/sdfat.pla: 0070: spiReadBuf(filename+1, namelen)
; libsrc/apple/sdfat.pla: 0071: fin
!BYTE $64,$04 ; LLB [4]
!BYTE $4C ; BRFLS _B005
!WORD _B005-*
!BYTE $66,$02 ; LLW [2]
!BYTE $8C ; INCR
!BYTE $64,$04 ; LLB [4]
!BYTE $54 ; CALL _X033
_F030 !WORD 0
!BYTE $30 ; DROP
_B005
_B006
; libsrc/apple/sdfat.pla: 0072: ^filename = namelen
; libsrc/apple/sdfat.pla: 0073: return namelen
!BYTE $64,$04 ; LLB [4]
!BYTE $66,$02 ; LLW [2]
!BYTE $70 ; SB
!BYTE $64,$04 ; LLB [4]
!BYTE $5A,$05 ; LEAVE 5
; libsrc/apple/sdfat.pla: 0074: end
; libsrc/apple/sdfat.pla: 0075: def openFirst(filename) // return filename in buffer
; filename -> [0]
_P007 ; openFirst(filename) // return filename in buffer()
_C008 ; openFirst()
; libsrc/apple/sdfat.pla: 0076: return openDir(22, filename) // OPENFIRST
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $2A,$16 ; CB 22
!BYTE $66,$00 ; LLW [0]
!BYTE $54 ; CALL _C007
_F031 !WORD _C007
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0077: end
; libsrc/apple/sdfat.pla: 0078:
; libsrc/apple/sdfat.pla: 0079: def openNext(filename) // return filename i buffer
; filename -> [0]
_P008 ; openNext(filename) // return filename i buffer()
_C009 ; openNext()
; libsrc/apple/sdfat.pla: 0080: return openDir(23, filename) // OPENNEXT
!BYTE $58,$02,$01 ; ENTER 2,1
!BYTE $2A,$17 ; CB 23
!BYTE $66,$00 ; LLW [0]
!BYTE $54 ; CALL _C007
_F032 !WORD _C007
!BYTE $5A,$02 ; LEAVE 2
; libsrc/apple/sdfat.pla: 0081: end
; libsrc/apple/sdfat.pla: 0082:
; libsrc/apple/sdfat.pla: 0083: //
; libsrc/apple/sdfat.pla: 0084: // File related functions
; libsrc/apple/sdfat.pla: 0085: //
; libsrc/apple/sdfat.pla: 0086: def open(path, mode)
; path -> [0]
; mode -> [2]
_P009 ; open(path, mode)()
_C010 ; open()
; libsrc/apple/sdfat.pla: 0087: spiWriteBuf(path + 1, ^path) // send filename
!BYTE $58,$04,$02 ; ENTER 4,2
; libsrc/apple/sdfat.pla: 0088: spiSend(21) // OPEN
; libsrc/apple/sdfat.pla: 0089: spiSend(mode)
; libsrc/apple/sdfat.pla: 0090: return spiRecv // status
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $54 ; CALL _X032
_F033 !WORD 0
!BYTE $30 ; DROP
!BYTE $2A,$15 ; CB 21
!BYTE $54 ; CALL _X030
_F034 !WORD 0
!BYTE $30 ; DROP
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X030
_F035 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F036 !WORD 0
!BYTE $5A,$04 ; LEAVE 4
; libsrc/apple/sdfat.pla: 0091: end
; libsrc/apple/sdfat.pla: 0092:
; libsrc/apple/sdfat.pla: 0093: def close
_P010 ; close()
_C011 ; close()
; libsrc/apple/sdfat.pla: 0094: return spiSend(24) // CLOSE
!BYTE $2A,$18 ; CB 24
!BYTE $54 ; CALL _X030
_F037 !WORD 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0095: end
; libsrc/apple/sdfat.pla: 0096:
; libsrc/apple/sdfat.pla: 0097: def read(buf, len)
; buf -> [0]
; len -> [2]
_P011 ; read(buf, len)()
_C012 ; read()
; libsrc/apple/sdfat.pla: 0098: if len > 512
!BYTE $58,$04,$02 ; ENTER 4,2
; libsrc/apple/sdfat.pla: 0099: len = 512
; libsrc/apple/sdfat.pla: 0100: fin
!BYTE $66,$02 ; LLW [2]
!BYTE $2C,$00,$02 ; CW 512
!BYTE $44 ; ISGT
!BYTE $4C ; BRFLS _B007
!WORD _B007-*
!BYTE $2C,$00,$02 ; CW 512
!BYTE $76,$02 ; SLW [2]
_B007
_B008
; libsrc/apple/sdfat.pla: 0101: spiSend(25) // READ
; libsrc/apple/sdfat.pla: 0102: spiSend(len >> 8); spiSend(len)
; libsrc/apple/sdfat.pla: 0103: len = (spiRecv << 8) | spiRecv
; libsrc/apple/sdfat.pla: 0104: if len > 0
; libsrc/apple/sdfat.pla: 0105: spiReadBuf(buf, len)
; libsrc/apple/sdfat.pla: 0106: fin
!BYTE $2A,$19 ; CB 25
!BYTE $54 ; CALL _X030
_F038 !WORD 0
!BYTE $30 ; DROP
!BYTE $64,$03 ; LLB [3]
!BYTE $54 ; CALL _X030
_F039 !WORD 0
!BYTE $30 ; DROP
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X030
_F040 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F041 !WORD 0
!BYTE $10 ; CN 8
!BYTE $9A ; SHL
!BYTE $54 ; CALL _X031
_F042 !WORD 0
!BYTE $96 ; OR
!BYTE $6E,$02 ; DLW [2]
!BYTE $00 ; CN 0
!BYTE $44 ; ISGT
!BYTE $4C ; BRFLS _B009
!WORD _B009-*
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X033
_F043 !WORD 0
!BYTE $30 ; DROP
_B009
_B010
; libsrc/apple/sdfat.pla: 0107: return len
!BYTE $66,$02 ; LLW [2]
!BYTE $5A,$04 ; LEAVE 4
; libsrc/apple/sdfat.pla: 0108: end
; libsrc/apple/sdfat.pla: 0109:
; libsrc/apple/sdfat.pla: 0110: def write(buf, len)
; buf -> [0]
; len -> [2]
_P012 ; write(buf, len)()
_C013 ; write()
; libsrc/apple/sdfat.pla: 0111: if len > 512
!BYTE $58,$04,$02 ; ENTER 4,2
; libsrc/apple/sdfat.pla: 0112: len = 512
; libsrc/apple/sdfat.pla: 0113: fin
!BYTE $66,$02 ; LLW [2]
!BYTE $2C,$00,$02 ; CW 512
!BYTE $44 ; ISGT
!BYTE $4C ; BRFLS _B011
!WORD _B011-*
!BYTE $2C,$00,$02 ; CW 512
!BYTE $76,$02 ; SLW [2]
_B011
_B012
; libsrc/apple/sdfat.pla: 0114: spiWriteBuf(buf, len)
; libsrc/apple/sdfat.pla: 0115: spiSend(26) // WRITE
; libsrc/apple/sdfat.pla: 0116: spiSend(len >> 8); spiSend(len)
; libsrc/apple/sdfat.pla: 0117: len = (spiRecv << 8) | spiRecv
; libsrc/apple/sdfat.pla: 0118: return len
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X032
_F044 !WORD 0
!BYTE $30 ; DROP
!BYTE $2A,$1A ; CB 26
!BYTE $54 ; CALL _X030
_F045 !WORD 0
!BYTE $30 ; DROP
!BYTE $64,$03 ; LLB [3]
!BYTE $54 ; CALL _X030
_F046 !WORD 0
!BYTE $30 ; DROP
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X030
_F047 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F048 !WORD 0
!BYTE $10 ; CN 8
!BYTE $9A ; SHL
!BYTE $54 ; CALL _X031
_F049 !WORD 0
!BYTE $96 ; OR
!BYTE $6E,$02 ; DLW [2]
!BYTE $5A,$04 ; LEAVE 4
; libsrc/apple/sdfat.pla: 0119: end
; libsrc/apple/sdfat.pla: 0120:
; libsrc/apple/sdfat.pla: 0121: def sync
_P013 ; sync()
_C014 ; sync()
; libsrc/apple/sdfat.pla: 0122: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0123: end
; libsrc/apple/sdfat.pla: 0124:
; libsrc/apple/sdfat.pla: 0125: def rewind
_P014 ; rewind()
_C015 ; rewind()
; libsrc/apple/sdfat.pla: 0126: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0127: end
; libsrc/apple/sdfat.pla: 0128:
; libsrc/apple/sdfat.pla: 0129: def seek
_P015 ; seek()
_C016 ; seek()
; libsrc/apple/sdfat.pla: 0130: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0131: end
; libsrc/apple/sdfat.pla: 0132:
; libsrc/apple/sdfat.pla: 0133: def seekOfs
_P016 ; seekOfs()
_C017 ; seekOfs()
; libsrc/apple/sdfat.pla: 0134: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0135: end
; libsrc/apple/sdfat.pla: 0136:
; libsrc/apple/sdfat.pla: 0137: def pos
_P017 ; pos()
_C018 ; pos()
; libsrc/apple/sdfat.pla: 0138: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0139: end
; libsrc/apple/sdfat.pla: 0140:
; libsrc/apple/sdfat.pla: 0141: def size
_P018 ; size()
_C019 ; size()
; libsrc/apple/sdfat.pla: 0142: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0143: end
; libsrc/apple/sdfat.pla: 0144:
; libsrc/apple/sdfat.pla: 0145: def truncate
_P019 ; truncate()
_C020 ; truncate()
; libsrc/apple/sdfat.pla: 0146: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0147: end
; libsrc/apple/sdfat.pla: 0148:
; libsrc/apple/sdfat.pla: 0149: def isDir
_P020 ; isDir()
_C021 ; isDir()
; libsrc/apple/sdfat.pla: 0150: spiSend(35) // ISDIR
; libsrc/apple/sdfat.pla: 0151: return spiRecv
!BYTE $2A,$23 ; CB 35
!BYTE $54 ; CALL _X030
_F050 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X031
_F051 !WORD 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0152: end
; libsrc/apple/sdfat.pla: 0153:
; libsrc/apple/sdfat.pla: 0154: def isFile
_P021 ; isFile()
_C022 ; isFile()
; libsrc/apple/sdfat.pla: 0155: return 0
!BYTE $00 ; CN 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0156: end
; libsrc/apple/sdfat.pla: 0157:
; libsrc/apple/sdfat.pla: 0158: //
; libsrc/apple/sdfat.pla: 0159: // Init SD card FAT filesystem
; libsrc/apple/sdfat.pla: 0160: //
; libsrc/apple/sdfat.pla: 0161: spiSend(14) // SDINIT
_INIT
; libsrc/apple/sdfat.pla: 0162: return spiReady <> 0 // Is Arduino READY?
!BYTE $1C ; CN 14
!BYTE $54 ; CALL _X030
_F052 !WORD 0
!BYTE $30 ; DROP
!BYTE $54 ; CALL _X035
_F053 !WORD 0
!BYTE $5C ; RET
; libsrc/apple/sdfat.pla: 0163: done
_SYSFLAGS = 0
_DEFCNT = 24
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C000
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C001
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C002
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C003
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C004
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C005
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C006
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C007
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C008
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C009
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C010
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C011
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C012
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C013
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C014
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C015
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C016
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C017
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C018
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C019
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C020
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C021
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C022
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F000-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F001-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F002-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F003-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F004-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F005-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F006-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F007-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F008-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F009-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F010-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F011-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F012-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F013-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F014-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F015-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F016-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F017-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F018-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F019-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F020-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F021-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F022-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F023-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F024-_SEGBEGIN
!BYTE 33 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F025-_SEGBEGIN
!BYTE 32 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F026-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F027-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F028-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F029-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F030-_SEGBEGIN
!BYTE 33 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F031-_SEGBEGIN
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F032-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F033-_SEGBEGIN
!BYTE 32 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F034-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F035-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F036-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F037-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F038-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F039-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F040-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F041-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F042-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F043-_SEGBEGIN
!BYTE 33 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F044-_SEGBEGIN
!BYTE 32 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F045-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F046-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F047-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F048-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F049-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F050-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F051-_SEGBEGIN
!BYTE 31 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F052-_SEGBEGIN
!BYTE 30 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F053-_SEGBEGIN
!BYTE 35 ; ESD INDEX
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: SPISEND
!BYTE $D3,$D0,$C9,$D3,$C5,$CE,$44
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 30 ; ESD INDEX
; DCI STRING: SPIRECV
!BYTE $D3,$D0,$C9,$D2,$C5,$C3,$56
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 31 ; ESD INDEX
; DCI STRING: SPIWRITEBUF
!BYTE $D3,$D0,$C9,$D7,$D2,$C9,$D4,$C5,$C2,$D5,$46
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 32 ; ESD INDEX
; DCI STRING: SPIREADBUF
!BYTE $D3,$D0,$C9,$D2,$C5,$C1,$C4,$C2,$D5,$46
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 33 ; ESD INDEX
; DCI STRING: SPIREADY
!BYTE $D3,$D0,$C9,$D2,$C5,$C1,$C4,$59
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 35 ; ESD INDEX
; DCI STRING: SDFAT
!BYTE $D3,$C4,$C6,$C1,$54
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _D058
!BYTE $00 ; END OF ESD

3984
src/libsrc/apple/sndseq.a Normal file

File diff suppressed because it is too large Load Diff

1369
src/libsrc/apple/spiport.a Normal file

File diff suppressed because it is too large Load Diff

1192
src/libsrc/apple/uthernet.a Normal file

File diff suppressed because it is too large Load Diff

3876
src/libsrc/apple/uthernet2.a Normal file

File diff suppressed because it is too large Load Diff

325
src/libsrc/args.a Normal file
View File

@ -0,0 +1,325 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/args.pla: 0001: include "inc/cmdsys.plh"
; inc/cmdsys.plh: 0001: import cmdsys
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
; CMDSYS -> X000
; inc/cmdsys.plh: 0002: //
; inc/cmdsys.plh: 0003: // Useful values for everyone
; inc/cmdsys.plh: 0004: //
; inc/cmdsys.plh: 0005: const _SYSVER_ = $0200 // Version built against
; _SYSVER_ = 512
; inc/cmdsys.plh: 0006: const FALSE = 0
; FALSE = 0
; inc/cmdsys.plh: 0007: const TRUE = not FALSE
; TRUE = -1
; inc/cmdsys.plh: 0008: const NULL = 0
; NULL = 0
; inc/cmdsys.plh: 0009: //
; inc/cmdsys.plh: 0010: // Machine ID values
; inc/cmdsys.plh: 0011: //
; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01
; MACHID_CLOCK = 1
; inc/cmdsys.plh: 0013: const MACHID_80COL = $02
; MACHID_80COL = 2
; inc/cmdsys.plh: 0014: const MACHID_MEM = $03
; MACHID_MEM = 3
; inc/cmdsys.plh: 0015: const MACHID_64K = $20
; MACHID_64K = 32
; inc/cmdsys.plh: 0016: const MACHID_128K = $30
; MACHID_128K = 48
; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8
; MACHID_MODEL = 200
; inc/cmdsys.plh: 0018: const MACHID_II = $00
; MACHID_II = 0
; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40
; MACHID_IIPLUS = 64
; inc/cmdsys.plh: 0020: const MACHID_IIE = $80
; MACHID_IIE = 128
; inc/cmdsys.plh: 0021: const MACHID_III = $C0
; MACHID_III = 192
; inc/cmdsys.plh: 0022: const MACHID_IIC = $88
; MACHID_IIC = 136
; inc/cmdsys.plh: 0023: const MACHID_I = $08
; MACHID_I = 8
; inc/cmdsys.plh: 0024: byte MACHID
; MACHID -> X001
; inc/cmdsys.plh: 0025: //
; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes.
; inc/cmdsys.plh: 0027: //
; inc/cmdsys.plh: 0028: const restxt1 = $0001
; restxt1 = 1
; inc/cmdsys.plh: 0029: const restxt2 = $0002
; restxt2 = 2
; inc/cmdsys.plh: 0030: const resxtxt1 = $0004
; resxtxt1 = 4
; inc/cmdsys.plh: 0031: const resxtxt2 = $0008
; resxtxt2 = 8
; inc/cmdsys.plh: 0032: const reshgr1 = $0010
; reshgr1 = 16
; inc/cmdsys.plh: 0033: const reshgr2 = $0020
; reshgr2 = 32
; inc/cmdsys.plh: 0034: const resxhgr1 = $0040
; resxhgr1 = 64
; inc/cmdsys.plh: 0035: const resxhgr2 = $0080
; resxhgr2 = 128
; inc/cmdsys.plh: 0036: const nojitc = $0100
; nojitc = 256
; inc/cmdsys.plh: 0037: //
; inc/cmdsys.plh: 0038: // Module don't free memory
; inc/cmdsys.plh: 0039: //
; inc/cmdsys.plh: 0040: const modkeep = $2000
; modkeep = 8192
; inc/cmdsys.plh: 0041: const modinitkeep = $4000
; modinitkeep = 16384
; inc/cmdsys.plh: 0042: //
; inc/cmdsys.plh: 0043: // CMD exported interface table
; inc/cmdsys.plh: 0044: //
; inc/cmdsys.plh: 0045: struc t_cmdsys
; inc/cmdsys.plh: 0046: word sysver
; sysver = 0
; inc/cmdsys.plh: 0047: word syspath
; syspath = 2
; inc/cmdsys.plh: 0048: word cmdline
; cmdline = 4
; inc/cmdsys.plh: 0049: word modexec
; modexec = 6
; inc/cmdsys.plh: 0050: word sysopen
; sysopen = 8
; inc/cmdsys.plh: 0051: word sysclose
; sysclose = 10
; inc/cmdsys.plh: 0052: word sysread
; sysread = 12
; inc/cmdsys.plh: 0053: word syswrite
; syswrite = 14
; inc/cmdsys.plh: 0054: byte syserr
; syserr = 16
; inc/cmdsys.plh: 0055: byte jitcount
; jitcount = 17
; inc/cmdsys.plh: 0056: byte jitsize
; jitsize = 18
; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific
; refcons = 19
; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific
; devcons = 20
; inc/cmdsys.plh: 0059: end
; t_cmdsys = 21
; inc/cmdsys.plh: 0060: //
; inc/cmdsys.plh: 0061: // CMD exported functions
; inc/cmdsys.plh: 0062: //
; inc/cmdsys.plh: 0063: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0
; PUTC -> X002
; PUTLN -> X003
; PUTS -> X004
; PUTI -> X005
; GETC -> X006
; GETS -> X007
; PUTB -> X008
; PUTH -> X009
; inc/cmdsys.plh: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1
; CALL -> X010
; SYSCALL -> X011
; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1
; HEAPMARK -> X012
; HEAPALLOCALIGN -> X013
; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1
; HEAPALLOC -> X014
; HEAPRELEASE -> X015
; HEAPAVAIL -> X016
; inc/cmdsys.plh: 0067: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
; MEMSET -> X017
; MEMCPY -> X018
; STRCPY -> X019
; STRCAT -> X020
; inc/cmdsys.plh: 0068: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1
; TOUPPER -> X021
; SEXT -> X022
; DIVMOD -> X023
; ISUGT -> X024
; ISUGE -> X025
; ISULT -> X026
; ISULE -> X027
; inc/cmdsys.plh: 0069: end
; libsrc/args.pla: 0001:
; libsrc/args.pla: 0002: sysflags nojitc // No need to speed this up
!BYTE $00 ; END OF MODULE DEPENDENCIES
_SYSFLAGS = $0100 ; SYSTEM FLAGS
; libsrc/args.pla: 0003:
; libsrc/args.pla: 0004: def argDelim(str)
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
; str -> [0]
_C000 ; argDelim()
; libsrc/args.pla: 0005: byte n
; n -> [2]
; libsrc/args.pla: 0006:
; libsrc/args.pla: 0007: // Skip leading spaces
; libsrc/args.pla: 0008: while ^str and ^(str + 1) == ' '
!BYTE $58,$03,$01 ; ENTER 3,1
!BYTE $50 ; BRNCH _B003
!WORD _B003-*
_B001
; libsrc/args.pla: 0009: ^(str + 1) = ^str - 1
; libsrc/args.pla: 0010: str++
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $8E ; DECR
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
!BYTE $70 ; SB
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
; libsrc/args.pla: 0011: loop
!BYTE $76,$00 ; SLW [0]
_B003
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $AC ; BRAND _B004
!WORD _B004-*
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
!BYTE $60 ; LB
!BYTE $2A,$20 ; CB 32
!BYTE $40 ; ISEQ
_B004
!BYTE $4E ; BRTRU _B001
!WORD _B001-*
_B002
; libsrc/args.pla: 0012: // Scan to trailing spaces (if any)
; libsrc/args.pla: 0013: for n = 1 to ^str
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $02 ; CN 1
!BYTE $A0 ; BRGT _B005
!WORD _B005-*
_B006
!BYTE $6C,$02 ; DLB [2]
; libsrc/args.pla: 0014: if ^(str + n) <= ' '
; libsrc/args.pla: 0015: ^(str + n) = ^str - n
; libsrc/args.pla: 0016: ^str = n - 1
; libsrc/args.pla: 0017: break
!BYTE $66,$00 ; LLW [0]
!BYTE $B0,$02 ; ADDLB [2]
!BYTE $60 ; LB
!BYTE $2A,$20 ; CB 32
!BYTE $4A ; ISLE
!BYTE $4C ; BRFLS _B008
!WORD _B008-*
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $64,$02 ; LLB [2]
!BYTE $84 ; SUB
!BYTE $66,$00 ; LLW [0]
!BYTE $B0,$02 ; ADDLB [2]
!BYTE $70 ; SB
!BYTE $64,$02 ; LLB [2]
!BYTE $8E ; DECR
!BYTE $66,$00 ; LLW [0]
!BYTE $70 ; SB
!BYTE $50 ; BRNCH _B005
!WORD _B005-*
; libsrc/args.pla: 0018: fin
_B008
_B009
; libsrc/args.pla: 0019: next
_B007
!BYTE $A4 ; INCBRLE _B006
!WORD _B006-*
_B005
!BYTE $74,$02 ; SLB [2]
!BYTE $30 ; DROP
; libsrc/args.pla: 0020: return str
!BYTE $66,$00 ; LLW [0]
!BYTE $5A,$03 ; LEAVE 3
; libsrc/args.pla: 0021: end
; libsrc/args.pla: 0022:
; libsrc/args.pla: 0023: export def argNext(str)
; str -> [0]
_C001 ; argNext()
; libsrc/args.pla: 0024: str = str + ^str + 1
!BYTE $58,$02,$01 ; ENTER 2,1
; libsrc/args.pla: 0025: return argDelim(str)
!BYTE $66,$00 ; LLW [0]
!BYTE $34 ; DUP
!BYTE $60 ; LB
!BYTE $82 ; ADD
!BYTE $8C ; INCR
!BYTE $6E,$00 ; DLW [0]
!BYTE $54 ; CALL _C000
_F000 !WORD _C000
!BYTE $5A,$02 ; LEAVE 2
; libsrc/args.pla: 0026: end
; libsrc/args.pla: 0027:
; libsrc/args.pla: 0028: export def argFirst
_C002 ; argFirst()
; libsrc/args.pla: 0029: ^(cmdsys:cmdline + ^cmdsys:cmdline + 1) = NULL
; libsrc/args.pla: 0030: return argDelim(cmdsys:cmdline)
!BYTE $00 ; CN 0
!BYTE $6A ; LAW _X000+4
_F001 !WORD 0+4
!BYTE $34 ; DUP
!BYTE $60 ; LB
!BYTE $82 ; ADD
!BYTE $8C ; INCR
!BYTE $70 ; SB
!BYTE $6A ; LAW _X000+4
_F002 !WORD 0+4
!BYTE $54 ; CALL _C000
_F003 !WORD _C000
!BYTE $5C ; RET
; libsrc/args.pla: 0031: end
; libsrc/args.pla: 0032:
; libsrc/args.pla: 0033: done
_INIT
!BYTE $00 ; CN 0
!BYTE $5C ; RET
_DEFCNT = 4
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C000
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C001
!BYTE $00
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C002
!BYTE $00
!BYTE $81 ; INTERNAL FIXUP
!WORD _F000-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F001-_SEGBEGIN
!BYTE 0 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F002-_SEGBEGIN
!BYTE 0 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F003-_SEGBEGIN
!BYTE $00
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 0 ; ESD INDEX
; DCI STRING: ARGNEXT
!BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C001
; DCI STRING: ARGFIRST
!BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C002
!BYTE $00 ; END OF ESD

1261
src/libsrc/dhcp.a Normal file

File diff suppressed because it is too large Load Diff

2483
src/libsrc/etherip.a Normal file

File diff suppressed because it is too large Load Diff

1213
src/libsrc/fiber.a Normal file

File diff suppressed because it is too large Load Diff

1596
src/libsrc/fpstr.a Normal file

File diff suppressed because it is too large Load Diff

3871
src/libsrc/fpu.a Normal file

File diff suppressed because it is too large Load Diff

1090
src/libsrc/inet.a Normal file

File diff suppressed because it is too large Load Diff

1700
src/libsrc/int32.a Normal file

File diff suppressed because it is too large Load Diff

1945
src/libsrc/lines.a Normal file

File diff suppressed because it is too large Load Diff

173
src/libsrc/longjmp.a Normal file
View File

@ -0,0 +1,173 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/longjmp.pla: 0001: asm incs
!BYTE $00 ; END OF MODULE DEPENDENCIES
_A000 ; incs()
; libsrc/longjmp.pla: 0002: !SOURCE "vmsrc/plvmzp.inc"
!SOURCE "vmsrc/plvmzp.inc"
; libsrc/longjmp.pla: 0003: XPAGE = $1600
XPAGE = $1600
; libsrc/longjmp.pla: 0004: NEXTOP = $F0
NEXTOP = $F0
; libsrc/longjmp.pla: 0005: FETCHOP = NEXTOP+1
FETCHOP = NEXTOP+1
; libsrc/longjmp.pla: 0006: IP = FETCHOP+1
IP = FETCHOP+1
; libsrc/longjmp.pla: 0007: IPL = IP
IPL = IP
; libsrc/longjmp.pla: 0008: IPH = IPL+1
IPH = IPL+1
; libsrc/longjmp.pla: 0009: IPX = XPAGE+IPH
IPX = XPAGE+IPH
; libsrc/longjmp.pla: 0010: end
; libsrc/longjmp.pla: 0011: //
; libsrc/longjmp.pla: 0012: // Save environment (PLASMA ZP and stack) for below and return 0
; libsrc/longjmp.pla: 0013: //
; libsrc/longjmp.pla: 0014: export asm except(env)
_A001 ; except()
; libsrc/longjmp.pla: 0015: LDA ESTKL,X
LDA ESTKL,X
; libsrc/longjmp.pla: 0016: STA SRC
STA SRC
; libsrc/longjmp.pla: 0017: LDA ESTKH,X
LDA ESTKH,X
; libsrc/longjmp.pla: 0018: STA SRC+1
STA SRC+1
; libsrc/longjmp.pla: 0019: STX ESP
STX ESP
; libsrc/longjmp.pla: 0020: TSX
TSX
; libsrc/longjmp.pla: 0021: STX TMPL
STX TMPL
; libsrc/longjmp.pla: 0022: LDY TMPL
LDY TMPL
; libsrc/longjmp.pla: 0023: - LDA $0100,Y
- LDA $0100,Y
; libsrc/longjmp.pla: 0024: STA (SRC),Y
STA (SRC),Y
; libsrc/longjmp.pla: 0025: INY
INY
; libsrc/longjmp.pla: 0026: BNE -
BNE -
; libsrc/longjmp.pla: 0027: INC SRC+1
INC SRC+1
; libsrc/longjmp.pla: 0028: LDX #ESTK
LDX #ESTK
; libsrc/longjmp.pla: 0029: - LDA $00,X
- LDA $00,X
; libsrc/longjmp.pla: 0030: STA (SRC),Y
STA (SRC),Y
; libsrc/longjmp.pla: 0031: INY
INY
; libsrc/longjmp.pla: 0032: INX
INX
; libsrc/longjmp.pla: 0033: BNE -
BNE -
; libsrc/longjmp.pla: 0034: TXA
TXA
; libsrc/longjmp.pla: 0035: LDX ESP
LDX ESP
; libsrc/longjmp.pla: 0036: STA ESTKL,X
STA ESTKL,X
; libsrc/longjmp.pla: 0037: STA ESTKH,X
STA ESTKH,X
; libsrc/longjmp.pla: 0038: RTS
RTS
; libsrc/longjmp.pla: 0039: end
; libsrc/longjmp.pla: 0040: //
; libsrc/longjmp.pla: 0041: // Restore environment saved above and return retval
; libsrc/longjmp.pla: 0042: //
; libsrc/longjmp.pla: 0043: export asm throw(env, retval)
_A002 ; throw()
; libsrc/longjmp.pla: 0044: LDA ESTKL,X
LDA ESTKL,X
; libsrc/longjmp.pla: 0045: STA SRC
STA SRC
; libsrc/longjmp.pla: 0046: LDA ESTKH,X
LDA ESTKH,X
; libsrc/longjmp.pla: 0047: STA SRC+1
STA SRC+1
; libsrc/longjmp.pla: 0048: LDA ESTKL+1,X
LDA ESTKL+1,X
; libsrc/longjmp.pla: 0049: STA DST
STA DST
; libsrc/longjmp.pla: 0050: LDY ESTKH+1,X
LDY ESTKH+1,X
; libsrc/longjmp.pla: 0051: INY
INY
; libsrc/longjmp.pla: 0052: STY DST+1
STY DST+1
; libsrc/longjmp.pla: 0053: LDX #ESTK
LDX #ESTK
; libsrc/longjmp.pla: 0054: LDY #$00
LDY #$00
; libsrc/longjmp.pla: 0055: - LDA (DST),Y
- LDA (DST),Y
; libsrc/longjmp.pla: 0056: STA $00,X
STA $00,X
; libsrc/longjmp.pla: 0057: INY
INY
; libsrc/longjmp.pla: 0058: INX
INX
; libsrc/longjmp.pla: 0059: BNE -
BNE -
; libsrc/longjmp.pla: 0060: DEC DST+1
DEC DST+1
; libsrc/longjmp.pla: 0061: LDX TMPL
LDX TMPL
; libsrc/longjmp.pla: 0062: TXS
TXS
; libsrc/longjmp.pla: 0063: LDY TMPL
LDY TMPL
; libsrc/longjmp.pla: 0064: - LDA (DST),Y
- LDA (DST),Y
; libsrc/longjmp.pla: 0065: STA $0100,Y
STA $0100,Y
; libsrc/longjmp.pla: 0066: INY
INY
; libsrc/longjmp.pla: 0067: BNE -
BNE -
; libsrc/longjmp.pla: 0068: LDX ESP
LDX ESP
; libsrc/longjmp.pla: 0069: LDA SRC
LDA SRC
; libsrc/longjmp.pla: 0070: STA ESTKL,X
STA ESTKL,X
; libsrc/longjmp.pla: 0071: LDA SRC+1
LDA SRC+1
; libsrc/longjmp.pla: 0072: STA ESTKH,X
STA ESTKH,X
; libsrc/longjmp.pla: 0073: RTS
RTS
; libsrc/longjmp.pla: 0074: end
; libsrc/longjmp.pla: 0075: done
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
_INIT
!BYTE $00 ; CN 0
!BYTE $5C ; RET
_SYSFLAGS = 0
_DEFCNT = 1
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: EXCEPT
!BYTE $C5,$D8,$C3,$C5,$D0,$54
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _A001
; DCI STRING: THROW
!BYTE $D4,$C8,$D2,$CF,$57
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _A002
!BYTE $00 ; END OF ESD

489
src/libsrc/lz4.a Normal file
View File

@ -0,0 +1,489 @@
; ACME COMPATIBLE OUTPUT
!WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT
_SEGBEGIN
!WORD $6502 ; MAGIC #
!WORD _SYSFLAGS ; SYSTEM FLAGS
!WORD _SUBSEG ; BYTECODE SUB-SEGMENT
!WORD _DEFCNT ; BYTECODE DEF COUNT
!WORD _INIT ; MODULE INITIALIZATION ROUTINE
; libsrc/lz4.pla: 0001: include "inc/cmdsys.plh"
; inc/cmdsys.plh: 0001: import cmdsys
; DCI STRING: CMDSYS
!BYTE $C3,$CD,$C4,$D3,$D9,$53
; CMDSYS -> X000
; inc/cmdsys.plh: 0002: //
; inc/cmdsys.plh: 0003: // Useful values for everyone
; inc/cmdsys.plh: 0004: //
; inc/cmdsys.plh: 0005: const _SYSVER_ = $0200 // Version built against
; _SYSVER_ = 512
; inc/cmdsys.plh: 0006: const FALSE = 0
; FALSE = 0
; inc/cmdsys.plh: 0007: const TRUE = not FALSE
; TRUE = -1
; inc/cmdsys.plh: 0008: const NULL = 0
; NULL = 0
; inc/cmdsys.plh: 0009: //
; inc/cmdsys.plh: 0010: // Machine ID values
; inc/cmdsys.plh: 0011: //
; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01
; MACHID_CLOCK = 1
; inc/cmdsys.plh: 0013: const MACHID_80COL = $02
; MACHID_80COL = 2
; inc/cmdsys.plh: 0014: const MACHID_MEM = $03
; MACHID_MEM = 3
; inc/cmdsys.plh: 0015: const MACHID_64K = $20
; MACHID_64K = 32
; inc/cmdsys.plh: 0016: const MACHID_128K = $30
; MACHID_128K = 48
; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8
; MACHID_MODEL = 200
; inc/cmdsys.plh: 0018: const MACHID_II = $00
; MACHID_II = 0
; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40
; MACHID_IIPLUS = 64
; inc/cmdsys.plh: 0020: const MACHID_IIE = $80
; MACHID_IIE = 128
; inc/cmdsys.plh: 0021: const MACHID_III = $C0
; MACHID_III = 192
; inc/cmdsys.plh: 0022: const MACHID_IIC = $88
; MACHID_IIC = 136
; inc/cmdsys.plh: 0023: const MACHID_I = $08
; MACHID_I = 8
; inc/cmdsys.plh: 0024: byte MACHID
; MACHID -> X001
; inc/cmdsys.plh: 0025: //
; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes.
; inc/cmdsys.plh: 0027: //
; inc/cmdsys.plh: 0028: const restxt1 = $0001
; restxt1 = 1
; inc/cmdsys.plh: 0029: const restxt2 = $0002
; restxt2 = 2
; inc/cmdsys.plh: 0030: const resxtxt1 = $0004
; resxtxt1 = 4
; inc/cmdsys.plh: 0031: const resxtxt2 = $0008
; resxtxt2 = 8
; inc/cmdsys.plh: 0032: const reshgr1 = $0010
; reshgr1 = 16
; inc/cmdsys.plh: 0033: const reshgr2 = $0020
; reshgr2 = 32
; inc/cmdsys.plh: 0034: const resxhgr1 = $0040
; resxhgr1 = 64
; inc/cmdsys.plh: 0035: const resxhgr2 = $0080
; resxhgr2 = 128
; inc/cmdsys.plh: 0036: const nojitc = $0100
; nojitc = 256
; inc/cmdsys.plh: 0037: //
; inc/cmdsys.plh: 0038: // Module don't free memory
; inc/cmdsys.plh: 0039: //
; inc/cmdsys.plh: 0040: const modkeep = $2000
; modkeep = 8192
; inc/cmdsys.plh: 0041: const modinitkeep = $4000
; modinitkeep = 16384
; inc/cmdsys.plh: 0042: //
; inc/cmdsys.plh: 0043: // CMD exported interface table
; inc/cmdsys.plh: 0044: //
; inc/cmdsys.plh: 0045: struc t_cmdsys
; inc/cmdsys.plh: 0046: word sysver
; sysver = 0
; inc/cmdsys.plh: 0047: word syspath
; syspath = 2
; inc/cmdsys.plh: 0048: word cmdline
; cmdline = 4
; inc/cmdsys.plh: 0049: word modexec
; modexec = 6
; inc/cmdsys.plh: 0050: word sysopen
; sysopen = 8
; inc/cmdsys.plh: 0051: word sysclose
; sysclose = 10
; inc/cmdsys.plh: 0052: word sysread
; sysread = 12
; inc/cmdsys.plh: 0053: word syswrite
; syswrite = 14
; inc/cmdsys.plh: 0054: byte syserr
; syserr = 16
; inc/cmdsys.plh: 0055: byte jitcount
; jitcount = 17
; inc/cmdsys.plh: 0056: byte jitsize
; jitsize = 18
; inc/cmdsys.plh: 0057: byte refcons // Apple /// specific
; refcons = 19
; inc/cmdsys.plh: 0058: byte devcons // Apple /// specific
; devcons = 20
; inc/cmdsys.plh: 0059: end
; t_cmdsys = 21
; inc/cmdsys.plh: 0060: //
; inc/cmdsys.plh: 0061: // CMD exported functions
; inc/cmdsys.plh: 0062: //
; inc/cmdsys.plh: 0063: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0
; PUTC -> X002
; PUTLN -> X003
; PUTS -> X004
; PUTI -> X005
; GETC -> X006
; GETS -> X007
; PUTB -> X008
; PUTH -> X009
; inc/cmdsys.plh: 0064: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1
; CALL -> X010
; SYSCALL -> X011
; inc/cmdsys.plh: 0065: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1
; HEAPMARK -> X012
; HEAPALLOCALIGN -> X013
; inc/cmdsys.plh: 0066: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1
; HEAPALLOC -> X014
; HEAPRELEASE -> X015
; HEAPAVAIL -> X016
; inc/cmdsys.plh: 0067: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
; MEMSET -> X017
; MEMCPY -> X018
; STRCPY -> X019
; STRCAT -> X020
; inc/cmdsys.plh: 0068: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1
; TOUPPER -> X021
; SEXT -> X022
; DIVMOD -> X023
; ISUGT -> X024
; ISUGE -> X025
; ISULT -> X026
; ISULE -> X027
; inc/cmdsys.plh: 0069: end
; libsrc/lz4.pla: 0001:
; libsrc/lz4.pla: 0002: asm incs
!BYTE $00 ; END OF MODULE DEPENDENCIES
_A000 ; incs()
; libsrc/lz4.pla: 0003: !SOURCE "vmsrc/plvmzp.inc"
!SOURCE "vmsrc/plvmzp.inc"
; libsrc/lz4.pla: 0004: end
; libsrc/lz4.pla: 0005: //
; libsrc/lz4.pla: 0006: // Always forward copy memory - important for overlapping match sequences
; libsrc/lz4.pla: 0007: //
; libsrc/lz4.pla: 0008: asm bcpy(dst, src, len)#0
_A001 ; bcpy()
; libsrc/lz4.pla: 0009: INX
INX
; libsrc/lz4.pla: 0010: INX
INX
; libsrc/lz4.pla: 0011: INX
INX
; libsrc/lz4.pla: 0012: LDA ESTKL-3,X
LDA ESTKL-3,X
; libsrc/lz4.pla: 0013: ORA ESTKH-3,X
ORA ESTKH-3,X
; libsrc/lz4.pla: 0014: BEQ CPYEX
BEQ CPYEX
; libsrc/lz4.pla: 0015: LDA ESTKL-1,X
LDA ESTKL-1,X
; libsrc/lz4.pla: 0016: STA DSTL
STA DSTL
; libsrc/lz4.pla: 0017: LDA ESTKH-1,X
LDA ESTKH-1,X
; libsrc/lz4.pla: 0018: STA DSTH
STA DSTH
; libsrc/lz4.pla: 0019: LDA ESTKL-2,X
LDA ESTKL-2,X
; libsrc/lz4.pla: 0020: STA SRCL
STA SRCL
; libsrc/lz4.pla: 0021: LDA ESTKH-2,X
LDA ESTKH-2,X
; libsrc/lz4.pla: 0022: STA SRCH
STA SRCH
; libsrc/lz4.pla: 0023: LDY ESTKL-3,X
LDY ESTKL-3,X
; libsrc/lz4.pla: 0024: BEQ CPYLP
BEQ CPYLP
; libsrc/lz4.pla: 0025: INC ESTKH-3,X
INC ESTKH-3,X
; libsrc/lz4.pla: 0026: LDY #$00
LDY #$00
; libsrc/lz4.pla: 0027: CPYLP LDA (SRC),Y
CPYLP LDA (SRC),Y
; libsrc/lz4.pla: 0028: STA (DST),Y
STA (DST),Y
; libsrc/lz4.pla: 0029: INY
INY
; libsrc/lz4.pla: 0030: BNE +
BNE +
; libsrc/lz4.pla: 0031: INC DSTH
INC DSTH
; libsrc/lz4.pla: 0032: INC SRCH
INC SRCH
; libsrc/lz4.pla: 0033: + DEC ESTKL-3,X
+ DEC ESTKL-3,X
; libsrc/lz4.pla: 0034: BNE CPYLP
BNE CPYLP
; libsrc/lz4.pla: 0035: DEC ESTKH-3,X
DEC ESTKH-3,X
; libsrc/lz4.pla: 0036: BNE CPYLP
BNE CPYLP
; libsrc/lz4.pla: 0037: CPYEX RTS
CPYEX RTS
; libsrc/lz4.pla: 0038: end
; libsrc/lz4.pla: 0039: //
; libsrc/lz4.pla: 0040: // Unpack LZ4 sequence into buffer, return unpacked length
; libsrc/lz4.pla: 0041: //
; libsrc/lz4.pla: 0042: export def lz4Unpack(seq, seqend, buff, buffend)
!BYTE $00 ; PAD BYTE
_SUBSEG ; BYTECODE STARTS
; seq -> [0]
; seqend -> [2]
; buff -> [4]
; buffend -> [6]
_C000 ; lz4Unpack()
; libsrc/lz4.pla: 0043: word data, len, match, i
; data -> [8]
; len -> [10]
; match -> [12]
; i -> [14]
; libsrc/lz4.pla: 0044: byte token
; token -> [16]
; libsrc/lz4.pla: 0045:
; libsrc/lz4.pla: 0046: data = buff
!BYTE $58,$11,$04 ; ENTER 17,4
; libsrc/lz4.pla: 0047: while isult(seq, seqend)
!BYTE $66,$04 ; LLW [4]
!BYTE $76,$08 ; SLW [8]
!BYTE $50 ; BRNCH _B003
!WORD _B003-*
_B001
; libsrc/lz4.pla: 0048: token = ^seq
; libsrc/lz4.pla: 0049: seq++
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $74,$10 ; SLB [16]
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
; libsrc/lz4.pla: 0050: len = token >> 4
; libsrc/lz4.pla: 0051: if len
; libsrc/lz4.pla: 0052: //
; libsrc/lz4.pla: 0053: // Literal sequence
; libsrc/lz4.pla: 0054: //
; libsrc/lz4.pla: 0055: if len == 15
; libsrc/lz4.pla: 0056: while ^seq == 255
!BYTE $76,$00 ; SLW [0]
!BYTE $64,$10 ; LLB [16]
!BYTE $08 ; CN 4
!BYTE $9C ; SHR
!BYTE $6E,$0A ; DLW [10]
!BYTE $4C ; BRFLS _B004
!WORD _B004-*
!BYTE $66,$0A ; LLW [10]
!BYTE $1E ; CN 15
!BYTE $24 ; BRNE _B006
!WORD _B006-*
!BYTE $50 ; BRNCH _B010
!WORD _B010-*
_B008
; libsrc/lz4.pla: 0057: len = len + 255
; libsrc/lz4.pla: 0058: seq++
!BYTE $66,$0A ; LLW [10]
!BYTE $38,$FF ; ADDI 255
!BYTE $76,$0A ; SLW [10]
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
; libsrc/lz4.pla: 0059: loop
!BYTE $76,$00 ; SLW [0]
_B010
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $2A,$FF ; CB 255
!BYTE $22 ; BREQ _B008
!WORD _B008-*
_B009
; libsrc/lz4.pla: 0060: len = len + ^seq
; libsrc/lz4.pla: 0061: seq++
!BYTE $66,$0A ; LLW [10]
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $82 ; ADD
!BYTE $76,$0A ; SLW [10]
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
; libsrc/lz4.pla: 0062: fin
!BYTE $76,$00 ; SLW [0]
_B006
_B007
; libsrc/lz4.pla: 0063: if isuge(data + len, buffend); return 0; fin
!BYTE $66,$08 ; LLW [8]
!BYTE $B2,$0A ; ADDLW [10]
!BYTE $66,$06 ; LLW [6]
!BYTE $54 ; CALL _X025
_F000 !WORD 0
!BYTE $4C ; BRFLS _B011
!WORD _B011-*
!BYTE $00 ; CN 0
!BYTE $5A,$11 ; LEAVE 17
_B011
_B012
; libsrc/lz4.pla: 0064: bcpy(data, seq, len)
; libsrc/lz4.pla: 0065: data = data + len
; libsrc/lz4.pla: 0066: seq = seq + len
; libsrc/lz4.pla: 0067: fin
!BYTE $66,$08 ; LLW [8]
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$0A ; LLW [10]
!BYTE $54 ; CALL _A001
_F001 !WORD _A001
!BYTE $66,$08 ; LLW [8]
!BYTE $B2,$0A ; ADDLW [10]
!BYTE $76,$08 ; SLW [8]
!BYTE $66,$00 ; LLW [0]
!BYTE $B2,$0A ; ADDLW [10]
!BYTE $76,$00 ; SLW [0]
_B004
_B005
; libsrc/lz4.pla: 0068: len = token & $0F
; libsrc/lz4.pla: 0069: if len or isult(seq, seqend)
; libsrc/lz4.pla: 0070: //
; libsrc/lz4.pla: 0071: // Match sequence
; libsrc/lz4.pla: 0072: //
; libsrc/lz4.pla: 0073: match = data - *seq
; libsrc/lz4.pla: 0074: seq = seq + 2
; libsrc/lz4.pla: 0075: len = len + 4
; libsrc/lz4.pla: 0076: if len == 19 // $0F + 4
; libsrc/lz4.pla: 0077: while ^seq == 255
!BYTE $64,$10 ; LLB [16]
!BYTE $3C,$0F ; ANDI 15
!BYTE $6E,$0A ; DLW [10]
!BYTE $AE ; BROR _B013
!WORD _B013-*
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X026
_F002 !WORD 0
_B013
!BYTE $4C ; BRFLS _B014
!WORD _B014-*
!BYTE $66,$08 ; LLW [8]
!BYTE $66,$00 ; LLW [0]
!BYTE $62 ; LW
!BYTE $84 ; SUB
!BYTE $76,$0C ; SLW [12]
!BYTE $66,$00 ; LLW [0]
!BYTE $38,$02 ; ADDI 2
!BYTE $76,$00 ; SLW [0]
!BYTE $66,$0A ; LLW [10]
!BYTE $38,$04 ; ADDI 4
!BYTE $6E,$0A ; DLW [10]
!BYTE $2A,$13 ; CB 19
!BYTE $24 ; BRNE _B016
!WORD _B016-*
!BYTE $50 ; BRNCH _B020
!WORD _B020-*
_B018
; libsrc/lz4.pla: 0078: len = len + 255
; libsrc/lz4.pla: 0079: seq++
!BYTE $66,$0A ; LLW [10]
!BYTE $38,$FF ; ADDI 255
!BYTE $76,$0A ; SLW [10]
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
; libsrc/lz4.pla: 0080: loop
!BYTE $76,$00 ; SLW [0]
_B020
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $2A,$FF ; CB 255
!BYTE $22 ; BREQ _B018
!WORD _B018-*
_B019
; libsrc/lz4.pla: 0081: len = len + ^seq
; libsrc/lz4.pla: 0082: seq++
!BYTE $66,$0A ; LLW [10]
!BYTE $66,$00 ; LLW [0]
!BYTE $60 ; LB
!BYTE $82 ; ADD
!BYTE $76,$0A ; SLW [10]
!BYTE $66,$00 ; LLW [0]
!BYTE $8C ; INCR
; libsrc/lz4.pla: 0083: fin
!BYTE $76,$00 ; SLW [0]
_B016
_B017
; libsrc/lz4.pla: 0084: if isuge(data + len, buffend); return 0; fin
!BYTE $66,$08 ; LLW [8]
!BYTE $B2,$0A ; ADDLW [10]
!BYTE $66,$06 ; LLW [6]
!BYTE $54 ; CALL _X025
_F003 !WORD 0
!BYTE $4C ; BRFLS _B021
!WORD _B021-*
!BYTE $00 ; CN 0
!BYTE $5A,$11 ; LEAVE 17
_B021
_B022
; libsrc/lz4.pla: 0085: bcpy(data, match, len)
; libsrc/lz4.pla: 0086: data = data + len
; libsrc/lz4.pla: 0087: fin
!BYTE $66,$08 ; LLW [8]
!BYTE $66,$0C ; LLW [12]
!BYTE $66,$0A ; LLW [10]
!BYTE $54 ; CALL _A001
_F004 !WORD _A001
!BYTE $66,$08 ; LLW [8]
!BYTE $B2,$0A ; ADDLW [10]
!BYTE $76,$08 ; SLW [8]
_B014
_B015
; libsrc/lz4.pla: 0088: loop
_B003
!BYTE $66,$00 ; LLW [0]
!BYTE $66,$02 ; LLW [2]
!BYTE $54 ; CALL _X026
_F005 !WORD 0
!BYTE $4E ; BRTRU _B001
!WORD _B001-*
_B002
; libsrc/lz4.pla: 0089: return data - buff
!BYTE $66,$08 ; LLW [8]
!BYTE $66,$04 ; LLW [4]
!BYTE $84 ; SUB
!BYTE $5A,$11 ; LEAVE 17
; libsrc/lz4.pla: 0090: end
; libsrc/lz4.pla: 0091: done
_INIT
!BYTE $00 ; CN 0
!BYTE $5C ; RET
_SYSFLAGS = 0
_DEFCNT = 2
_SEGEND
;
; RE-LOCATEABLE DICTIONARY
;
!BYTE $02 ; CODE TABLE FIXUP
!WORD _C000
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F000-_SEGBEGIN
!BYTE 25 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F001-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F002-_SEGBEGIN
!BYTE 26 ; ESD INDEX
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F003-_SEGBEGIN
!BYTE 25 ; ESD INDEX
!BYTE $81 ; INTERNAL FIXUP
!WORD _F004-_SEGBEGIN
!BYTE $00
!BYTE $91 ; EXTERNAL FIXUP
!WORD _F005-_SEGBEGIN
!BYTE 26 ; ESD INDEX
!BYTE $00 ; END OF RLD
;
; EXTERNAL/ENTRY SYMBOL DICTIONARY
;
; DCI STRING: ISUGE
!BYTE $C9,$D3,$D5,$C7,$45
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 25 ; ESD INDEX
; DCI STRING: ISULT
!BYTE $C9,$D3,$D5,$CC,$54
!BYTE $10 ; EXTERNAL SYMBOL FLAG
!WORD 26 ; ESD INDEX
; DCI STRING: LZ4UNPACK
!BYTE $CC,$DA,$B4,$D5,$CE,$D0,$C1,$C3,$4B
!BYTE $08 ; ENTRY SYMBOL FLAG
!WORD _C000
!BYTE $00 ; END OF ESD

4063
src/libsrc/memmgr.a Normal file

File diff suppressed because it is too large Load Diff

2830
src/libsrc/sane.a Normal file

File diff suppressed because it is too large Load Diff

526
src/makefile.hgr Executable file
View File

@ -0,0 +1,526 @@
.SUFFIXES =
AFLAGS = -o $@
PLVM = plvm
PLVMZP_APL = vmsrc/apple/plvmzp.inc
PLVM01 = rel/apple/A1PLASMA\#060280
PLVM02 = rel/apple/PLASMA.SYSTEM\#FF2000
PLVMJIT = rel/apple/PLVM.128\#FF2000
PLVM802 = rel/apple/PLVM16\#FF2000
PLVM03 = rel/apple/SOS.INTERP\#050000
PLVMJIT03 = rel/apple/SOS.INTERPJIT\#050000
SOSCMD = rel/apple/SOS.CMD\#FE1000
SOSCMDJIT = rel/apple/SOS.CMDJIT\#FE1000
CMD = rel/apple/CMD\#061000
CMDJIT = rel/apple/CMD128\#061000
PLVMZP_C64 = vmsrc/c64/plvmzp.inc
PLVMC64 = rel/c64/PLASMA
ED = rel/ED\#FE1000
ZIP = rel/apple/ZIP\#FE1000
JIT = rel/apple/JIT\#FE1000
JIT16 = rel/apple/JIT16\#FE1000
JITUNE = rel/apple/JITUNE\#FE1000
SOS = rel/apple/SOS\#FE1000
ROD = rel/apple/ROD\#FE1000
COPY = rel/apple/COPY\#FE1000
DEL = rel/apple/DEL\#FE1000
REN = rel/apple/REN\#FE1000
CAT = rel/apple/CAT\#FE1000
NEWDIR = rel/apple/NEWDIR\#FE1000
TYPE = rel/apple/TYPE\#FE1000
SIEVE = rel/SIEVE\#FE1000
PRIMEGAP = rel/PRIMEGAP\#FE1000
ARGS = rel/ARGS\#FE1000
MATCHFILES = rel/apple/MATCHFILES\#FE1000
SPIPORT = rel/apple/SPIPORT\#FE1000
SDFAT = rel/apple/SDFAT\#FE1000
FATCAT = rel/apple/FATCAT\#FE1000
FATGET = rel/apple/FATGET\#FE1000
FATPUT = rel/apple/FATPUT\#FE1000
FATWDSK = rel/apple/FATWRITEDSK\#FE1000
FATRDSK = rel/apple/FATREADDSK\#FE1000
FILEIO_APL = rel/apple/FILEIO\#FE1000
CONIO_APL = rel/apple/CONIO\#FE1000
INT32 = rel/INT32\#FE1000
INT32TEST = rel/INT32TEST\#FE1000
SANE = rel/SANE\#FE1000
FPSTR = rel/FPSTR\#FE1000
FPU = rel/FPU\#FE1000
SNDSEQ = rel/apple/SNDSEQ\#FE1000
PLAYSEQ = rel/apple/PLAYSEQ\#FE1000
SANITY = rel/SANITY\#FE1000
RPNCALC = rel/RPNCALC\#FE1000
LZ4 = rel/LZ4\#FE1000
LZ4CAT = rel/LZ4CAT\#FE1000
MOUSE = rel/apple/MOUSE\#FE1000
UTHERNET2 = rel/apple/UTHERNET2\#FE1000
UTHERNET = rel/apple/UTHERNET\#FE1000
ETHERIP = rel/ETHERIP\#FE1000
INET = rel/INET\#FE1000
DHCP = rel/DHCP\#FE1000
HTTPD = rel/HTTPD\#FE1000
TFTPD = rel/TFTPD\#FE1000
HGRLIB = rel/apple/HGRLIB\#FE1000
GRLIB = rel/apple/GRLIB\#FE1000
DGRLIB = rel/apple/DGRLIB\#FE1000
HGRSPRITE = rel/apple/HGRSPRITE\#FE1000
HGRTILE = rel/apple/HGRTILE\#FE1000
HGRFONT = rel/apple/HGRFONT\#FE1000
LINES = rel/LINES\#FE1000
GRAFIX = rel/apple/GRAFIX\#FE1000
SFM = rel/apple/SFM\#FE1000
SFMSPRT = rel/apple/SFMSPRT\#FE1000
GFXDEMO = rel/apple/GFXDEMO\#FE1000
JOYBUZZ = rel/apple/JOYBUZZ\#FE1000
PORTIO = rel/apple/PORTIO\#FE1000
ROGUE = rel/ROGUE\#FE1000
ROGUEMAP = rel/ROGUEMAP\#FE1000
ROGUECOMBAT= rel/ROGUECOMBAT\#FE1000
MON = rel/apple/MON\#FE1000
TILETEST = rel/apple/TILETEST\#FE1000
HGRTEST = rel/apple/HGRTEST\#FE1000
GRTEST = rel/apple/GRTEST\#FE1000
DGRTEST = rel/apple/DGRTEST\#FE1000
MEMMGR = rel/MEMMGR\#FE1000
MEMTEST = rel/MEMTEST\#FE1000
FIBERTEST = rel/FIBERTEST\#FE1000
FIBER = rel/FIBER\#FE1000
LONGJMP = rel/LONGJMP\#FE1000
HELLO = HELLO\#FE1000
TEST = TEST\#FE1000
TESTLIB = TESTLIB\#FE1000
PLASM = plasm
PLASMAPLASM = rel/PLASM\#FE1000
CODEOPT = rel/CODEOPT\#FE1000
INCS = toolsrc/plasm.h toolsrc/tokens.h toolsrc/symbols.h toolsrc/lex.h toolsrc/parse.h toolsrc/codegen.h
OBJS = toolsrc/plasm.c toolsrc/parse.c toolsrc/lex.c toolsrc/codegen.c
#
# Image filetypes for Virtual ][
#
PLATYPE = .\$$ED
BINTYPE = .BIN
SYSTYPE = .SYS
TXTTYPE = .TXT
#
# Image filetypes for CiderPress
#
#RELTYPE = \#FE1000
#INTERPTYPE = \#050000
#BINTYPE = \#060000
#SYSTYPE = \#FF2000
#TXTTYPE = \#040000
apple: $(PLVMZP_APL) $(PLASM) $(PLVM) $(PLVM01) $(PLVM02) $(PLVMJIT) $(PLVM802) $(PLVM03) $(PLVMJIT03) $(CMD) $(CMDJIT) $(JIT) $(JIT16) $(JITUNE) $(SOSCMD) $(SOSCMDJIT) $(PLASMAPLASM) $(CODEOPT) $(ZIP) $(MATCHFILES) $(ARGS) $(MEMMGR) $(MEMTEST) $(FIBER) $(FIBERTEST) $(LONGJMP) $(ED) $(MON) $(COPY) $(DEL) $(REN) $(CAT) $(NEWDIR) $(TYPE) $(SOS) $(ROD) $(SIEVE) $(PRIMEGAP) $(MOUSE) $(UTHERNET2) $(UTHERNET) $(ETHERIP) $(INET) $(DHCP) $(HTTPD) $(TFTPD) $(ROGUE) $(ROGUEMAP) $(ROGUECOMBAT) $(SFM) $(SFMSPRT) $(GRAFIX) $(GFXDEMO) $(LINES) $(HGRTILE) $(HGRFONT) $(HGRSPRITE) $(HGRLIB) $(TILETEST) $(HGRTEST) $(GRLIB) $(DGRLIB) $(GRTEST) $(DGRTEST) $(HGRTEST) $(FILEIO_APL) $(CONIO_APL) $(JOYBUZZ) $(PORTIO) $(SPIPORT) $(SDFAT) $(FATCAT) $(FATGET) $(FATPUT) $(FATWDSK) $(FATRDSK) $(INT32) $(INT32TEST) $(SANE) $(FPSTR) $(FPU) $(SANITY) $(LZ4) $(LZ4CAT) $(RPNCALC) $(SNDSEQ) $(PLAYSEQ)
-rm vmsrc/plvmzp.inc
c64: $(PLVMZP_C64) $(PLASM) $(PLVM) $(PLVMC64)
-rm vmsrc/plvmzp.inc
all: apple c64
clean:
-rm *FE1000 *FF2000 $(PLASM) $(PLVM) $(PLVM01) $(PLVM02) $(PLVMJIT) $(PLVM03)
-rm -rf rel
-rm samplesrc/*.o samplesrc/*~ samplesrc/*.a
-rm toolsrc/*.o toolsrc/*~ toolsrc/*.a
-rm toolsrc/apple/*.o toolsrc/apple/*~ toolsrc/apple/*.a
-rm toolsrc/c64/*.o toolsrc/c64/*~ toolsrc/c64/*.a
-rm vmsrc/*.o vmsrc/*~ vmsrc/*.a vmsrc/*.sym
-rm vmsrc/apple/*.o vmsrc/apple/*~ vmsrc/apple/*.a vmsrc/apple/*.sym
-rm vmsrc/c64/*.o vmsrc/c64/*~ vmsrc/c64/*.a vmsrc/c64/*.sym
-rm libsrc/*.o libsrc/*~ libsrc/*.a
-rm libsrc/apple/*.o libsrc/apple/*~ libsrc/apple/*.a
-rm libsrc/c64/*.o libsrc/c64/*~ libsrc/c64/*.a
-rm utilsrc/*.o utilsrc/*~ utilsrc/*.a
-rm utilsrc/apple/*.o utilsrc/apple/*~ utilsrc/apple/*.a
-rm utilsrc/c64/*.o utilsrc/c64/*~ utilsrc/c64/*.a
#
# PLASMA compiler: plasm
#
$(PLASM): $(OBJS) $(INCS)
cc $(OBJS) -o $(PLASM)
$(PLASMAPLASM): toolsrc/plasm.pla toolsrc/lex.pla toolsrc/parse.pla toolsrc/codegen.pla toolsrc/codeseq.plh
./$(PLASM) -AMOW < toolsrc/plasm.pla > toolsrc/plasm.a
acme --setpc 4094 -o $(PLASMAPLASM) toolsrc/plasm.a
$(CODEOPT): toolsrc/codeopt.pla toolsrc/codeseq.plh
./$(PLASM) -AMOW < toolsrc/codeopt.pla > toolsrc/codeopt.a
acme --setpc 4094 -o $(CODEOPT) toolsrc/codeopt.a
#
# PLASMA VMs
#
$(PLVM): vmsrc/plvm.c
cc vmsrc/plvm.c -o $(PLVM)
$(PLVMZP_APL): FORCE
-mkdir -p rel
-mkdir -p rel/apple
-rm -f vmsrc/plvmzp.inc
-ln -s apple/plvmzp.inc vmsrc/plvmzp.inc
$(PLVMZP_C64): FORCE
-mkdir -p rel
-mkdir -p rel/c64
-rm -f vmsrc/plvmzp.inc
-ln -s c64/plvmzp.inc vmsrc/plvmzp.inc
FORCE:
vmsrc/c64/cmd.a: vmsrc/c64/cmd.pla $(PLASM)
./$(PLASM) -AOW < vmsrc/c64/cmd.pla > vmsrc/c64/cmd.a
$(PLVMC64): vmsrc/c64/plvmc64.s vmsrc/c64/cmd.a
acme -f cbm -o $(PLVMC64) -l vmsrc/c64/plvmc64.sym vmsrc/c64/plvmc64.s
vmsrc/apple/a1cmd.a: vmsrc/apple/a1cmd.pla $(PLASM)
./$(PLASM) -AOW < vmsrc/apple/a1cmd.pla > vmsrc/apple/a1cmd.a
$(PLVM01): vmsrc/apple/plvm01.s vmsrc/apple/a1cmd.a
acme -o $(PLVM01) -l vmsrc/apple/plvm01.sym vmsrc/apple/plvm01.s
$(CMD): vmsrc/apple/cmd.pla vmsrc/apple/cmdstub.s $(PLVM02) $(PLASM)
./$(PLASM) -AOW < vmsrc/apple/cmd.pla > vmsrc/apple/cmd.a
acme --setpc 8192 -o $(CMD) vmsrc/apple/cmdstub.s
$(CMDJIT): vmsrc/apple/cmdjit.pla vmsrc/apple/cmdjitstub.s $(PLVMJIT) $(PLASM)
./$(PLASM) -AOW < vmsrc/apple/cmdjit.pla > vmsrc/apple/cmdjit.a
acme --setpc 8192 -o $(CMDJIT) vmsrc/apple/cmdjitstub.s
$(SOSCMD): vmsrc/apple/soscmd.pla $(PLVM03) $(PLASM)
./$(PLASM) -AMOW < vmsrc/apple/soscmd.pla > vmsrc/apple/soscmd.a
acme --setpc 4094 -o $(SOSCMD) vmsrc/apple/soscmd.a
$(SOSCMDJIT): vmsrc/apple/soscmdjit.pla libsrc/jitcore.pla $(PLVMJIT03) $(PLASM)
./$(PLASM) -AMOW < vmsrc/apple/soscmdjit.pla > vmsrc/apple/soscmdjit.a
acme --setpc 4094 -o $(SOSCMDJIT) vmsrc/apple/soscmdjit.a
$(PLVM02): vmsrc/apple/plvm02.s
acme -o $(PLVM02) -l vmsrc/apple/plvm02.sym vmsrc/apple/plvm02.s
$(PLVMJIT): vmsrc/apple/plvmjit02.s
acme -o $(PLVMJIT) -l vmsrc/apple/plvmjit02.sym vmsrc/apple/plvmjit02.s
$(PLVM802): vmsrc/apple/plvm802.s
acme -o $(PLVM802) -l vmsrc/apple/plvm802.sym vmsrc/apple/plvm802.s
vmsrc/apple/sossys.a: vmsrc/apple/sossys.pla $(PLASM)
./$(PLASM) -AOW < vmsrc/apple/sossys.pla > vmsrc/apple/sossys.a
$(PLVM03): vmsrc/apple/plvm03.s vmsrc/apple/sossys.a
acme -o $(PLVM03) -l vmsrc/apple/plvm03.sym vmsrc/apple/plvm03.s
vmsrc/apple/sossysjit.a: vmsrc/apple/sossysjit.pla $(PLASM)
./$(PLASM) -AOW < vmsrc/apple/sossysjit.pla > vmsrc/apple/sossysjit.a
$(PLVMJIT03): vmsrc/apple/plvmjit03.s vmsrc/apple/sossysjit.a
acme -o $(PLVMJIT03) -l vmsrc/apple/plvmjit03.sym vmsrc/apple/plvmjit03.s
#
# Sample code
#
test: samplesrc/test.pla samplesrc/testlib.pla $(PLVM) $(PLASM)
./$(PLASM) -AMOW < samplesrc/test.pla > samplesrc/test.a
acme --setpc 4094 -o $(TEST) samplesrc/test.a
./$(PLASM) -AMOW < samplesrc/testlib.pla > samplesrc/testlib.a
acme --setpc 4094 -o $(TESTLIB) samplesrc/testlib.a
./$(PLVM) TEST
$(ED): toolsrc/ed.pla $(PLVM02) $(PLASM) toolsrc/ed.pla
./$(PLASM) -AMOW < toolsrc/ed.pla > toolsrc/ed.a
acme --setpc 4094 -o $(ED) toolsrc/ed.a
$(MATCHFILES): libsrc/apple/matchfiles.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/matchfiles.pla > libsrc/apple/matchfiles.a
acme --setpc 4094 -o $(MATCHFILES) libsrc/apple/matchfiles.a
$(ARGS): libsrc/args.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/args.pla > libsrc/args.a
acme --setpc 4094 -o $(ARGS) libsrc/args.a
$(MEMMGR): libsrc/memmgr.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/memmgr.pla > libsrc/memmgr.a
acme --setpc 4094 -o $(MEMMGR) libsrc/memmgr.a
$(MEMTEST): samplesrc/memtest.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/memtest.pla > samplesrc/memtest.a
acme --setpc 4094 -o $(MEMTEST) samplesrc/memtest.a
$(FIBER): libsrc/fiber.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/fiber.pla > libsrc/fiber.a
acme --setpc 4094 -o $(FIBER) libsrc/fiber.a
$(LINES): libsrc/lines.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/lines.pla > libsrc/lines.a
acme --setpc 4094 -o $(LINES) libsrc/lines.a
$(FIBERTEST): samplesrc/fibertest.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/fibertest.pla > samplesrc/fibertest.a
acme --setpc 4094 -o $(FIBERTEST) samplesrc/fibertest.a
$(LONGJMP): libsrc/longjmp.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/longjmp.pla > libsrc/longjmp.a
acme --setpc 4094 -o $(LONGJMP) libsrc/longjmp.a
$(SFM): samplesrc/sfm.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/sfm.pla > samplesrc/sfm.a
acme --setpc 4094 -o $(SFM) samplesrc/sfm.a
$(SFMSPRT): samplesrc/sfmsprt.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/sfmsprt.pla > samplesrc/sfmsprt.a
acme --setpc 4094 -o $(SFMSPRT) samplesrc/sfmsprt.a
$(ROGUE): samplesrc/hgrogue.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/hgrogue.pla > samplesrc/hgrogue.a
acme --setpc 4094 -o $(ROGUE) samplesrc/hgrogue.a
$(ROGUECOMBAT): samplesrc/hgrogue.combat.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/hgrogue.combat.pla > samplesrc/hgrogue.combat.a
acme --setpc 4094 -o $(ROGUECOMBAT) samplesrc/hgrogue.combat.a
$(ROGUEMAP): samplesrc/hgrogue.map.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/hgrogue.map.pla > samplesrc/hgrogue.map.a
acme --setpc 4094 -o $(ROGUEMAP) samplesrc/hgrogue.map.a
hello: samplesrc/hello.pla $(PLVM) $(PLASM)
./$(PLASM) -AMOW < samplesrc/hello.pla > samplesrc/hello.a
acme --setpc 4094 -o $(HELLO) samplesrc/hello.a
./$(PLVM) HELLO
$(ROD): samplesrc/rod.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/rod.pla > samplesrc/rod.a
acme --setpc 4094 -o $(ROD) samplesrc/rod.a
$(SIEVE): samplesrc/sieve.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMW < samplesrc/sieve.pla > samplesrc/sieve.a
acme --setpc 4094 -o $(SIEVE) samplesrc/sieve.a
$(PRIMEGAP): samplesrc/primegap.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMW < samplesrc/primegap.pla > samplesrc/primegap.a
acme --setpc 4094 -o $(PRIMEGAP) samplesrc/primegap.a
$(INT32): libsrc/int32.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/int32.pla > libsrc/int32.a
acme --setpc 4094 -o $(INT32) libsrc/int32.a
$(INT32TEST): samplesrc/int32test.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/int32test.pla > samplesrc/int32test.a
acme --setpc 4094 -o $(INT32TEST) samplesrc/int32test.a
$(SANE): libsrc/sane.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/sane.pla > libsrc/sane.a
acme --setpc 4094 -o $(SANE) libsrc/sane.a
$(FPSTR): libsrc/fpstr.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/fpstr.pla > libsrc/fpstr.a
acme --setpc 4094 -o $(FPSTR) libsrc/fpstr.a
$(FPU): libsrc/fpu.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/fpu.pla > libsrc/fpu.a
acme --setpc 4094 -o $(FPU) libsrc/fpu.a
$(SANITY): samplesrc/sanity.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/sanity.pla > samplesrc/sanity.a
acme --setpc 4094 -o $(SANITY) samplesrc/sanity.a
$(LZ4): libsrc/lz4.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/lz4.pla > libsrc/lz4.a
acme --setpc 4094 -o $(LZ4) libsrc/lz4.a
$(LZ4CAT): samplesrc/lz4cat.pla inc/lz4.plh $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/lz4cat.pla > samplesrc/lz4cat.a
acme --setpc 4094 -o $(LZ4CAT) samplesrc/lz4cat.a
$(RPNCALC): samplesrc/rpncalc.pla libsrc/fpu.pla inc/fpu.plh libsrc/fpstr.pla inc/fpstr.plh inc/conio.plh $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/rpncalc.pla > samplesrc/rpncalc.a
acme --setpc 4094 -o $(RPNCALC) samplesrc/rpncalc.a
$(ETHERIP): libsrc/etherip.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/etherip.pla > libsrc/etherip.a
acme --setpc 4094 -o $(ETHERIP) libsrc/etherip.a
$(INET): libsrc/inet.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/inet.pla > libsrc/inet.a
acme --setpc 4094 -o $(INET) libsrc/inet.a
$(DHCP): libsrc/dhcp.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/dhcp.pla > libsrc/dhcp.a
acme --setpc 4094 -o $(DHCP) libsrc/dhcp.a
$(HTTPD): samplesrc/httpd.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/httpd.pla > samplesrc/httpd.a
acme --setpc 4094 -o $(HTTPD) samplesrc/httpd.a
$(TFTPD): utilsrc/tftpd.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < utilsrc/tftpd.pla > utilsrc/tftpd.a
acme --setpc 4094 -o $(TFTPD) utilsrc/tftpd.a
$(MOUSE): libsrc/apple/mouse.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/mouse.pla > libsrc/apple/mouse.a
acme --setpc 4094 -o $(MOUSE) libsrc/apple/mouse.a
$(UTHERNET): libsrc/apple/uthernet.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/uthernet.pla > libsrc/apple/uthernet.a
acme --setpc 4094 -o $(UTHERNET) libsrc/apple/uthernet.a
$(UTHERNET2): libsrc/apple/uthernet2.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/uthernet2.pla > libsrc/apple/uthernet2.a
acme --setpc 4094 -o $(UTHERNET2) libsrc/apple/uthernet2.a
$(FILEIO_APL): libsrc/apple/fileio.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/fileio.pla > libsrc/apple/fileio.a
acme --setpc 4094 -o $(FILEIO_APL) libsrc/apple/fileio.a
$(CONIO_APL): libsrc/apple/conio.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/conio.pla > libsrc/apple/conio.a
acme --setpc 4094 -o $(CONIO_APL) libsrc/apple/conio.a
$(FILEIO_C64): libsrc/c64/fileio.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/c64/fileio.pla > libsrc/c64/fileio.a
acme --setpc 4094 -o $(FILEIO_C64) libsrc/c64/fileio.a
$(CONIO_C64): libsrc/c64/conio.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/c64/conio.pla > libsrc/c64/conio.a
acme --setpc 4094 -o $(CONIO_C64) libsrc/c64/conio.a
$(SNDSEQ): libsrc/apple/sndseq.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/sndseq.pla > libsrc/apple/sndseq.a
acme --setpc 4094 -o $(SNDSEQ) libsrc/apple/sndseq.a
$(PLAYSEQ): samplesrc/playseq.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/playseq.pla > samplesrc/playseq.a
acme --setpc 4094 -o $(PLAYSEQ) samplesrc/playseq.a
$(GRAFIX): libsrc/apple/grafix.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/grafix.pla > libsrc/apple/grafix.a
acme --setpc 4094 -o $(GRAFIX) libsrc/apple/grafix.a
$(GFXDEMO): samplesrc/gfxdemo.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/gfxdemo.pla > samplesrc/gfxdemo.a
acme --setpc 4094 -o $(GFXDEMO) samplesrc/gfxdemo.a
$(FATCAT): samplesrc/fatcat.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/fatcat.pla > samplesrc/fatcat.a
acme --setpc 4094 -o $(FATCAT) samplesrc/fatcat.a
$(FATGET): samplesrc/fatget.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/fatget.pla > samplesrc/fatget.a
acme --setpc 4094 -o $(FATGET) samplesrc/fatget.a
$(FATPUT): samplesrc/fatput.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/fatput.pla > samplesrc/fatput.a
acme --setpc 4094 -o $(FATPUT) samplesrc/fatput.a
$(FATWDSK): samplesrc/fatwritedsk.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/fatwritedsk.pla > samplesrc/fatwritedsk.a
acme --setpc 4094 -o $(FATWDSK) samplesrc/fatwritedsk.a
$(FATRDSK): samplesrc/fatreaddsk.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < samplesrc/fatreaddsk.pla > samplesrc/fatreaddsk.a
acme --setpc 4094 -o $(FATRDSK) samplesrc/fatreaddsk.a
$(SDFAT): libsrc/apple/sdfat.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/sdfat.pla > libsrc/apple/sdfat.a
acme --setpc 4094 -o $(SDFAT) libsrc/apple/sdfat.a
$(SPIPORT): libsrc/apple/spiport.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/spiport.pla > libsrc/apple/spiport.a
acme --setpc 4094 -o $(SPIPORT) libsrc/apple/spiport.a
$(JOYBUZZ): libsrc/apple/joybuzz.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/joybuzz.pla > libsrc/apple/joybuzz.a
acme --setpc 4094 -o $(JOYBUZZ) libsrc/apple/joybuzz.a
$(PORTIO): libsrc/apple/portio.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/portio.pla > libsrc/apple/portio.a
acme --setpc 4094 -o $(PORTIO) libsrc/apple/portio.a
$(HGRLIB): libsrc/apple/hgrlib.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/hgrlib.pla > libsrc/apple/hgrlib.a
acme --setpc 4094 -o $(HGRLIB) libsrc/apple/hgrlib.a
$(GRLIB): libsrc/apple/grlib.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/grlib.pla > libsrc/apple/grlib.a
acme --setpc 4094 -o $(GRLIB) libsrc/apple/grlib.a
$(DGRLIB): libsrc/apple/dgrlib.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/dgrlib.pla > libsrc/apple/dgrlib.a
acme --setpc 4094 -o $(DGRLIB) libsrc/apple/dgrlib.a
$(TILETEST): samplesrc/tiletest.pla $(PLASM)
./$(PLASM) -AMOW < samplesrc/tiletest.pla > samplesrc/tiletest.a
acme --setpc 4094 -o $(TILETEST) samplesrc/tiletest.a
$(HGRTILE): libsrc/apple/hgrtile.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/hgrtile.pla > libsrc/apple/hgrtile.a
acme --setpc 4094 -o $(HGRTILE) libsrc/apple/hgrtile.a
$(HGRFONT): libsrc/apple/hgrfont.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/hgrfont.pla > libsrc/apple/hgrfont.a
acme --setpc 4094 -o $(HGRFONT) libsrc/apple/hgrfont.a
$(HGRSPRITE): libsrc/apple/hgrsprite.pla $(PLVM02) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/hgrsprite.pla > libsrc/apple/hgrsprite.a
acme --setpc 4094 -o $(HGRSPRITE) libsrc/apple/hgrsprite.a
$(HGRTEST): samplesrc/hgrtest.pla $(HGRLIB) $(PLASM)
./$(PLASM) -AMOW < samplesrc/hgrtest.pla > samplesrc/hgrtest.a
acme --setpc 4094 -o $(HGRTEST) samplesrc/hgrtest.a
$(GRTEST): samplesrc/grtest.pla $(GRLIB) $(PLASM)
./$(PLASM) -AMOW < samplesrc/grtest.pla > samplesrc/grtest.a
acme --setpc 4094 -o $(GRTEST) samplesrc/grtest.a
$(DGRTEST): samplesrc/dgrtest.pla $(DGRLIB) $(PLASM)
./$(PLASM) -AMOW < samplesrc/dgrtest.pla > samplesrc/dgrtest.a
acme --setpc 4094 -o $(DGRTEST) samplesrc/dgrtest.a
$(MON): utilsrc/apple/mon.pla $(PLASM)
./$(PLASM) -AMOW < utilsrc/apple/mon.pla > utilsrc/apple/mon.a
acme --setpc 4094 -o $(MON) utilsrc/apple/mon.a
$(COPY): utilsrc/apple/copy.pla $(PLASM)
./$(PLASM) -AMOW < utilsrc/apple/copy.pla > utilsrc/apple/copy.a
acme --setpc 4094 -o $(COPY) utilsrc/apple/copy.a
$(DEL): utilsrc/apple/del.pla $(PLASM)
./$(PLASM) -AMOW < utilsrc/apple/del.pla > utilsrc/apple/del.a
acme --setpc 4094 -o $(DEL) utilsrc/apple/del.a
$(REN): utilsrc/apple/ren.pla $(PLASM)
./$(PLASM) -AMOW < utilsrc/apple/ren.pla > utilsrc/apple/ren.a
acme --setpc 4094 -o $(REN) utilsrc/apple/ren.a
$(CAT): utilsrc/apple/cat.pla $(PLASM)
./$(PLASM) -AMOW < utilsrc/apple/cat.pla > utilsrc/apple/cat.a
acme --setpc 4094 -o $(CAT) utilsrc/apple/cat.a
$(NEWDIR): utilsrc/apple/newdir.pla $(PLASM)
./$(PLASM) -AMOW < utilsrc/apple/newdir.pla > utilsrc/apple/newdir.a
acme --setpc 4094 -o $(NEWDIR) utilsrc/apple/newdir.a
$(TYPE): utilsrc/apple/type.pla $(PLASM)
./$(PLASM) -AMOW < utilsrc/apple/type.pla > utilsrc/apple/type.a
acme --setpc 4094 -o $(TYPE) utilsrc/apple/type.a
$(SOS): utilsrc/apple/sos.pla $(PLVM03) $(PLASM)
./$(PLASM) -AMOW < utilsrc/apple/sos.pla > utilsrc/apple/sos.a
acme --setpc 4094 -o $(SOS) utilsrc/apple/sos.a
$(ZIP): utilsrc/apple/zip.pla $(PLASM)
./$(PLASM) -AMOW < utilsrc/apple/zip.pla > utilsrc/apple/zip.a
acme --setpc 4094 -o $(ZIP) utilsrc/apple/zip.a
$(JIT): libsrc/apple/jit.pla libsrc/jitcore.pla $(PLVMJIT) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/jit.pla > libsrc/apple/jit.a
acme --setpc 4094 -o $(JIT) libsrc/apple/jit.a
$(JIT16): libsrc/apple/jit16.pla libsrc/jit16core.pla $(PLVMJIT) $(PLASM)
./$(PLASM) -AMOW < libsrc/apple/jit16.pla > libsrc/apple/jit16.a
acme --setpc 4094 -o $(JIT16) libsrc/apple/jit16.a
$(JITUNE): utilsrc/apple/jitune.pla $(PLVMJIT) $(PLASM)
./$(PLASM) -AMOW < utilsrc/apple/jitune.pla > utilsrc/apple/jitune.a
acme --setpc 4094 -o $(JITUNE) utilsrc/apple/jitune.a

Binary file not shown.

1159
src/mockingboard/LLtitle.s Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

BIN
src/plasm Executable file

Binary file not shown.

BIN
src/plvm Executable file

Binary file not shown.

1
src/prodos Symbolic link
View File

@ -0,0 +1 @@
/Users/dschmenk/Documents/ProDOS

BIN
src/rel/ARGS#FE1000 Normal file

Binary file not shown.

BIN
src/rel/CODEOPT#FE1000 Normal file

Binary file not shown.

BIN
src/rel/DHCP#FE1000 Normal file

Binary file not shown.

BIN
src/rel/ED#FE1000 Normal file

Binary file not shown.

BIN
src/rel/ETHERIP#FE1000 Normal file

Binary file not shown.

BIN
src/rel/FIBER#FE1000 Normal file

Binary file not shown.

BIN
src/rel/FIBERTEST#FE1000 Normal file

Binary file not shown.

BIN
src/rel/FPSTR#FE1000 Normal file

Binary file not shown.

BIN
src/rel/FPU#FE1000 Normal file

Binary file not shown.

BIN
src/rel/HTTPD#FE1000 Normal file

Binary file not shown.

BIN
src/rel/INET#FE1000 Normal file

Binary file not shown.

BIN
src/rel/INT32#FE1000 Normal file

Binary file not shown.

BIN
src/rel/INT32TEST#FE1000 Normal file

Binary file not shown.

BIN
src/rel/LINES#FE1000 Normal file

Binary file not shown.

BIN
src/rel/LONGJMP#FE1000 Normal file

Binary file not shown.

BIN
src/rel/LZ4#FE1000 Normal file

Binary file not shown.

BIN
src/rel/LZ4CAT#FE1000 Normal file

Binary file not shown.

BIN
src/rel/MEMMGR#FE1000 Normal file

Binary file not shown.

BIN
src/rel/MEMTEST#FE1000 Normal file

Binary file not shown.

BIN
src/rel/PLASM#FE1000 Normal file

Binary file not shown.

BIN
src/rel/PLFORTH#FE1000 Normal file

Binary file not shown.

BIN
src/rel/PRIMEGAP#FE1000 Normal file

Binary file not shown.

BIN
src/rel/ROGUE#FE1000 Normal file

Binary file not shown.

BIN
src/rel/ROGUECOMBAT#FE1000 Normal file

Binary file not shown.

BIN
src/rel/ROGUEMAP#FE1000 Normal file

Binary file not shown.

BIN
src/rel/RPNCALC#FE1000 Normal file

Binary file not shown.

BIN
src/rel/SANE#FE1000 Normal file

Binary file not shown.

BIN
src/rel/SANITY#FE1000 Normal file

Binary file not shown.

BIN
src/rel/SIEVE#FE1000 Normal file

Binary file not shown.

BIN
src/rel/TFTPD#FE1000 Normal file

Binary file not shown.

Binary file not shown.

BIN
src/rel/apple/CAT#FE1000 Normal file

Binary file not shown.

BIN
src/rel/apple/CMD#061000 Normal file

Binary file not shown.

BIN
src/rel/apple/CMD128#061000 Normal file

Binary file not shown.

BIN
src/rel/apple/CONIO#FE1000 Normal file

Binary file not shown.

Binary file not shown.

BIN
src/rel/apple/COPY#FE1000 Normal file

Binary file not shown.

BIN
src/rel/apple/DEL#FE1000 Normal file

Binary file not shown.

BIN
src/rel/apple/DGRLIB#FE1000 Normal file

Binary file not shown.

Binary file not shown.

BIN
src/rel/apple/FATCAT#FE1000 Normal file

Binary file not shown.

BIN
src/rel/apple/FATGET#FE1000 Normal file

Binary file not shown.

BIN
src/rel/apple/FATPUT#FE1000 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
src/rel/apple/FILEIO#FE1000 Normal file

Binary file not shown.

Binary file not shown.

BIN
src/rel/apple/GRAFIX#FE1000 Normal file

Binary file not shown.

BIN
src/rel/apple/GRLIB#FE1000 Normal file

Binary file not shown.

BIN
src/rel/apple/GRTEST#FE1000 Normal file

Binary file not shown.

Binary file not shown.

BIN
src/rel/apple/HGRLIB#FE1000 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More