2015-03-14 21:48:35 +00:00
|
|
|
|
PR#3
|
2015-06-03 18:30:57 +00:00
|
|
|
|
PREFIX /A2OSX.SRC
|
2015-03-14 21:48:35 +00:00
|
|
|
|
NEW
|
|
|
|
|
INC 1
|
|
|
|
|
AUTO 6
|
|
|
|
|
.LIST OFF
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA DEBUG
|
2015-06-03 18:30:57 +00:00
|
|
|
|
:1 bit $C000
|
|
|
|
|
bpl :1
|
2015-03-14 21:48:35 +00:00
|
|
|
|
sta $C010
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* SYSCALLs Macros
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA SYSCALL
|
|
|
|
|
ldx #]1
|
|
|
|
|
jsr A2osX.SYSCALL
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA MLICALL
|
|
|
|
|
ldx #]1
|
2015-06-03 18:30:57 +00:00
|
|
|
|
.DO ]1=MLIALLOCIRQ
|
2015-03-14 21:48:35 +00:00
|
|
|
|
lda #2
|
|
|
|
|
.FIN
|
2015-06-03 18:30:57 +00:00
|
|
|
|
.DO ]1=MLIDEALLOCIRQ
|
2015-03-14 21:48:35 +00:00
|
|
|
|
lda #1
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIREADBLOCK
|
|
|
|
|
lda #3
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIWRITEBLOCK
|
|
|
|
|
lda #3
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLICREATE
|
|
|
|
|
lda #7
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIDESTROY
|
|
|
|
|
lda #1
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIRENAME
|
|
|
|
|
lda #2
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLISETFILEINFO
|
|
|
|
|
lda #7
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIGETFILEINFO
|
|
|
|
|
lda #10
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIONLINE
|
|
|
|
|
lda #2
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLISETPREFIX
|
|
|
|
|
lda #1
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIGETPREFIX
|
|
|
|
|
lda #1
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIOPEN
|
|
|
|
|
lda #3
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLINEWLINE
|
|
|
|
|
lda #3
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIREAD
|
|
|
|
|
lda #4
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIWRITE
|
|
|
|
|
lda #4
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLICLOSE
|
|
|
|
|
lda #1
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIFLUSH
|
|
|
|
|
lda #1
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLISETMARK
|
|
|
|
|
lda #2
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIGETMARK
|
|
|
|
|
lda #2
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLISETEOF
|
|
|
|
|
lda #2
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIGETEOF
|
|
|
|
|
lda #2
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLISETBUF
|
|
|
|
|
lda #2
|
|
|
|
|
.FIN
|
|
|
|
|
.DO ]1=MLIGETBUF
|
|
|
|
|
lda #2
|
|
|
|
|
.FIN
|
|
|
|
|
|
2015-06-03 18:30:57 +00:00
|
|
|
|
jsr A2osX.MLICALL
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA DRVCALL
|
|
|
|
|
ldy ]1
|
|
|
|
|
ldx #]2
|
|
|
|
|
jsr A2osX.DRVCALL
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
2015-06-03 18:30:57 +00:00
|
|
|
|
.MA LOADLIBYA
|
|
|
|
|
ldx #SYS.LoadLibYA
|
2015-03-14 21:48:35 +00:00
|
|
|
|
jsr A2osX.SYSCALL
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
2015-06-03 18:30:57 +00:00
|
|
|
|
.MA LOADLIBA
|
2015-03-14 21:48:35 +00:00
|
|
|
|
ldx #SYS.LoadLibA
|
|
|
|
|
jsr A2osX.SYSCALL
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA LIBCALL
|
|
|
|
|
ldy ]1
|
|
|
|
|
ldx #]2
|
|
|
|
|
jsr A2osX.LIBCALL
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
2015-06-03 18:30:57 +00:00
|
|
|
|
* D.STACK PUSH/PULL Macros
|
2015-03-14 21:48:35 +00:00
|
|
|
|
*--------------------------------------
|
2015-06-03 18:30:57 +00:00
|
|
|
|
.MA PUSHA
|
|
|
|
|
dec pStack
|
|
|
|
|
sta (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
2015-06-03 18:30:57 +00:00
|
|
|
|
.MA PULLA
|
|
|
|
|
lda (pStack)
|
|
|
|
|
inc pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
2015-06-03 18:30:57 +00:00
|
|
|
|
.MA PUSHYA
|
|
|
|
|
dec pStack
|
|
|
|
|
sta (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
pha
|
2015-06-03 18:30:57 +00:00
|
|
|
|
tya
|
|
|
|
|
dec pStack
|
|
|
|
|
sta (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
pla
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
2015-06-03 18:30:57 +00:00
|
|
|
|
.MA PULLYA
|
|
|
|
|
lda (pStack)
|
|
|
|
|
inc pStack
|
|
|
|
|
tay
|
|
|
|
|
lda (pStack)
|
|
|
|
|
inc pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
2015-06-03 18:30:57 +00:00
|
|
|
|
.MA PUSHAX
|
2015-03-14 21:48:35 +00:00
|
|
|
|
pha
|
2015-06-03 18:30:57 +00:00
|
|
|
|
txa
|
|
|
|
|
dec pStack
|
|
|
|
|
sta (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
pla
|
2015-06-03 18:30:57 +00:00
|
|
|
|
dec pStack
|
|
|
|
|
sta (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
2015-06-03 18:30:57 +00:00
|
|
|
|
.MA PULLAX
|
|
|
|
|
lda (pStack)
|
|
|
|
|
inc pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
pha
|
2015-06-03 18:30:57 +00:00
|
|
|
|
lda (pStack)
|
|
|
|
|
inc pStack
|
|
|
|
|
tax
|
2015-03-14 21:48:35 +00:00
|
|
|
|
pla
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA PUSHBI
|
2015-06-03 18:30:57 +00:00
|
|
|
|
dec pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
lda #]1
|
2015-06-03 18:30:57 +00:00
|
|
|
|
sta (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA PUSHB
|
|
|
|
|
.DO ]#=2
|
2015-06-03 18:30:57 +00:00
|
|
|
|
dec pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
lda ]1,]2
|
2015-06-03 18:30:57 +00:00
|
|
|
|
sta (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.ELSE
|
2015-06-03 18:30:57 +00:00
|
|
|
|
dec pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
lda ]1
|
2015-06-03 18:30:57 +00:00
|
|
|
|
sta (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.FIN
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA PULLB
|
|
|
|
|
.DO ]#=2
|
2015-06-03 18:30:57 +00:00
|
|
|
|
lda (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
sta ]1,]2
|
2015-06-03 18:30:57 +00:00
|
|
|
|
inc pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.ELSE
|
2015-06-03 18:30:57 +00:00
|
|
|
|
lda (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
sta ]1
|
2015-06-03 18:30:57 +00:00
|
|
|
|
inc pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.FIN
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA PUSHWI
|
2015-06-03 18:30:57 +00:00
|
|
|
|
dec pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
lda /]1
|
2015-06-03 18:30:57 +00:00
|
|
|
|
sta (pStack)
|
|
|
|
|
dec pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
lda #]1
|
2015-06-03 18:30:57 +00:00
|
|
|
|
sta (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA PUSHW
|
2015-06-03 18:30:57 +00:00
|
|
|
|
dec pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
lda ]1+1
|
2015-06-03 18:30:57 +00:00
|
|
|
|
sta (pStack)
|
|
|
|
|
dec pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
lda ]1
|
2015-06-03 18:30:57 +00:00
|
|
|
|
sta (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA PULLW
|
2015-06-03 18:30:57 +00:00
|
|
|
|
lda (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
sta ]1
|
2015-06-03 18:30:57 +00:00
|
|
|
|
inc pStack
|
|
|
|
|
lda (pStack)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
sta ]1+1
|
2015-06-03 18:30:57 +00:00
|
|
|
|
inc pStack
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* General WORD Manipulation Macros
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA LDYAI
|
|
|
|
|
ldy #]1
|
|
|
|
|
lda /]1
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA LDAXI
|
|
|
|
|
lda #]1
|
|
|
|
|
ldx /]1
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA LDYA
|
|
|
|
|
.DO ]#=2
|
|
|
|
|
lda ]1+1,]2
|
|
|
|
|
ldy ]1,]2
|
|
|
|
|
.ELSE
|
|
|
|
|
lda ]1+1
|
|
|
|
|
ldy ]1
|
|
|
|
|
.FIN
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA LDAX
|
|
|
|
|
.DO ]#=2
|
|
|
|
|
ldx ]1+1,]2
|
|
|
|
|
lda ]1,]2
|
|
|
|
|
.ELSE
|
|
|
|
|
ldx ]1+1
|
|
|
|
|
lda ]1
|
|
|
|
|
.FIN
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA STYA
|
|
|
|
|
.DO ]#=2
|
|
|
|
|
sta ]1+1,]2
|
|
|
|
|
tya
|
|
|
|
|
sta ]1,]2
|
|
|
|
|
.ELSE
|
|
|
|
|
sta ]1+1
|
|
|
|
|
sty ]1
|
|
|
|
|
.FIN
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA STAX
|
|
|
|
|
.DO ]#=2
|
|
|
|
|
sta ]1+1,]2
|
|
|
|
|
txa
|
|
|
|
|
sta ]1,]2
|
|
|
|
|
.ELSE
|
|
|
|
|
stx ]1+1
|
|
|
|
|
sta ]1
|
|
|
|
|
.FIN
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* General Strings Macros
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA CSTRING
|
|
|
|
|
.AS "]1"
|
|
|
|
|
.HS 00
|
|
|
|
|
.EM
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.MA PSTRING
|
2015-10-19 20:35:00 +00:00
|
|
|
|
.DA #:2-:1
|
|
|
|
|
:1 .AS "]1"
|
|
|
|
|
:2 .EQ *
|
2015-03-14 21:48:35 +00:00
|
|
|
|
.EM
|
|
|
|
|
MAN
|
|
|
|
|
SAVE INC/MACROS.I
|