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