Another Bunch of fixes:

-Loader is now working (todo:rename to A2osX.system,tSYS)
-most of BINs working
-CR->CR/LF
This commit is contained in:
Rémy GIBERT 2015-03-14 22:47:37 +01:00
parent 36e174bbf2
commit f34e2b5f7c
22 changed files with 3330 additions and 3293 deletions

View File

@ -1,15 +1,15 @@
PR#3 PR#3
PREFIX /DATA/A2OS PREFIX /DATA/A2OSX
NEW NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
.TF /DATA/A2OS/BIN/ASM .TF BIN/ASM
*--------------------------------------- *---------------------------------------
.INB INC/MACROS.I .INB INC/MACROS.I
.INB INC/A2OS.I .INB INC/A2OSX.I
.INB INC/LIBSTR.I .INB INC/LIBSTR.I
*--------------------------------------- *---------------------------------------
SYM.BLOCK.SIZE .EQ 4096 SYM.BLOCK.SIZE .EQ 4096
@ -24,7 +24,7 @@ CS.START cld
jmp (.1,x) jmp (.1,x)
.1 .DA CS.INIT .1 .DA CS.INIT
.DA CS.RUN .DA CS.RUN
.DA CS.EVENT .DA CS.DOEVENT
.DA CS.QUIT .DA CS.QUIT
L.LIBSTR .DA LIBSTR L.LIBSTR .DA LIBSTR
L.MSG.HELP1 .DA MSG.HELP1 L.MSG.HELP1 .DA MSG.HELP1
@ -44,7 +44,7 @@ CS.INIT >LIBLOADP L.LIBSTR
bne .1 bne .1
ldy #S.PS.hARGS ldy #S.PS.hARGS
lda (TSKMGR.TSKPTR),y lda (pPsContext),y
bne CS.INIT.ARGS bne CS.INIT.ARGS
>PUSHW L.MSG.HELP1 >PUSHW L.MSG.HELP1
@ -68,21 +68,21 @@ CS.INIT.ARGS >SYSCALL SYS.GetMemPtrA
cmp #'/' cmp #'/'
bne .2 bne .2
ldy #S.PS.hARGS ldy #S.PS.hARGS
lda (TSKMGR.TSKPTR),y lda (pPsContext),y
>SYSCALL SYS.PStrCpyA >SYSCALL SYS.PStrCpyA
bra CS.INIT.ARGS.OK bra CS.INIT.ARGS.OK
.2 ldy #S.PS.hARGS .2 ldy #S.PS.hARGS
lda (TSKMGR.TSKPTR),y lda (pPsContext),y
>PUSHA >PUSHA
ldy #S.PS.hPREFIX ldy #S.PS.hPREFIX
lda (TSKMGR.TSKPTR),y lda (pPsContext),y
>PUSHA >PUSHA
>SYSCALL SYS.PStrCat >SYSCALL SYS.PStrCat
CS.INIT.ARGS.OK sta SRC.hFILENAMES CS.INIT.ARGS.OK sta SRC.hFILENAMES
>SYSCALL SYS.OpenFileA >SYSCALL SYS.MLIOpenA
bcc CS.INIT.OPEN bcc CS.INIT.OPEN
sec sec
rts rts
@ -91,7 +91,7 @@ CS.INIT.OPEN sta SRC.hREFNUMS
stx SRC.hBUFFERS stx SRC.hBUFFERS
inc SRC.COUNT inc SRC.COUNT
lda SRC.hFILENAMES lda SRC.hFILENAMES
>SYSCALL SYS.GetFileInfoA >SYSCALL SYS.MLIGetFileInfoA
bcs .99 bcs .99
>STYA ZPQuickPtr1 >STYA ZPQuickPtr1
@ -103,7 +103,7 @@ CS.INIT.OPEN sta SRC.hREFNUMS
>PUSHBI $0D >PUSHBI $0D
>PUSHBI $FF >PUSHBI $FF
>PUSHB SRC.hREFNUMS >PUSHB SRC.hREFNUMS
>SYSCALL SYS.NewLine >SYSCALL SYS.MLINewLine
bcs .99 bcs .99
.1 cmp #$FA BAS? .1 cmp #$FA BAS?
@ -111,9 +111,9 @@ CS.INIT.OPEN sta SRC.hREFNUMS
stz bSTOP stz bSTOP
stz bCANCEL stz bCANCEL
lda (TSKMGR.TSKPTR) lda (pPsContext)
ora #S.PS.F.EVENT Now accept events ora #S.PS.F.EVENT Now accept events
sta (TSKMGR.TSKPTR) sta (pPsContext)
clc clc
rts rts
@ -229,22 +229,22 @@ CS.RUN.READLINE.YA >PUSHYA
ldx SRC.COUNT ldx SRC.COUNT
lda SRC.hREFNUMS-1,x lda SRC.hREFNUMS-1,x
>PUSHA >PUSHA
>SYSCALL SYS.ReadFile >SYSCALL SYS.MLIRead
rts rts
*-------------------------------------- *--------------------------------------
CS.EVENT ldy #S.EVT.hDEV is Event from active IN device? CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
lda (EVTMGR.EVTPTR),y lda (pEvent),y
ldy #S.PS.hINDEV ldy #S.PS.hINDEV
cmp (TSKMGR.TSKPTR),y cmp (pPsContext),y
bne .9 bne .9
lda (EVTMGR.EVTPTR) lda (pEvent)
and #S.EVT.F.KEY is it a KEY event? and #S.EVT.F.KEY is it a KEY event?
beq .9 beq .9
ldy #S.EVT.DATAHI is it an O or SAPPLE key ? ldy #S.EVT.DATAHI is it an O or SAPPLE key ?
lda (EVTMGR.EVTPTR),y lda (pEvent),y
bne .9 bne .9
ldy #S.EVT.DATALO ldy #S.EVT.DATALO
lda (EVTMGR.EVTPTR),y lda (pEvent),y
cmp #$03 Ctrl-C cmp #$03 Ctrl-C
bne .1 bne .1
lda #$FF lda #$FF
@ -265,7 +265,7 @@ CS.QUIT ldx SRC.COUNT
beq .1 beq .1
lda SRC.hREFNUMS-1,x lda SRC.hREFNUMS-1,x
>SYSCALL SYS.CloseFileA >SYSCALL SYS.MLICloseA
ldx SRC.COUNT ldx SRC.COUNT
lda SRC.hFILENAMES-1,x lda SRC.hFILENAMES-1,x
@ -378,5 +378,5 @@ SYM.BLOCKS .BS SYM.BLOCK.MAX
DS.END DS.END
*--------------------------------------- *---------------------------------------
MAN MAN
SAVE /DATA/A2OS/BIN/ASM.S SAVE BIN/ASM.S
ASM ASM

0
BIN/CP.S.txt Normal file
View File

0
BIN/FORMAT.S.txt Normal file
View File

0
BIN/HWINFO.S.txt Normal file
View File

0
BIN/MD.S.txt Normal file
View File

0
BIN/MV.S.txt Normal file
View File

0
BIN/RM.S.txt Normal file
View File

View File

@ -33,6 +33,7 @@ L.MSG1 .DA MSG1
L.MSG2 .DA MSG2 L.MSG2 .DA MSG2
L.MSG3 .DA MSG3 L.MSG3 .DA MSG3
L.SSCANF.IP .DA SSCANF.IP L.SSCANF.IP .DA SSCANF.IP
L.PRINTF.IP .DA PRINTF.IP
L.DST.IP .DA DST.IP L.DST.IP .DA DST.IP
L.TEST1 .DA TEST1 L.TEST1 .DA TEST1
L.TEST2 .DA TEST2 L.TEST2 .DA TEST2
@ -44,19 +45,15 @@ L.TEST3 .DA TEST3
CS.INIT >LIBLOADP L.LIBSTR CS.INIT >LIBLOADP L.LIBSTR
sta hLIBSTR sta hLIBSTR
ldy #S.PS.hOUTDEV
lda (TSKMGR.TSKPTR),y
>SYSCALL SYS.DevSelectA
ldy #S.PS.hPREFIX ldy #S.PS.hPREFIX
lda (TSKMGR.TSKPTR),y lda (pPsContext),y
>SYSCALL SYS.GetMemPtrA >SYSCALL SYS.GetMemPtrA
>PUSHYA >PUSHYA
>PUSHW L.MSG0 >PUSHW L.MSG0
>LIBCALL hLIBSTR,LIBSTR.PRINTF >LIBCALL hLIBSTR,LIBSTR.PRINTF
ldy #S.PS.hCS ldy #S.PS.hCS
lda (TSKMGR.TSKPTR),y lda (pPsContext),y
>SYSCALL SYS.GetMemByIDA >SYSCALL SYS.GetMemByIDA
>STYA ZPQuickPtr1 >STYA ZPQuickPtr1
ldy #S.MEM.BIN ldy #S.MEM.BIN
@ -67,18 +64,18 @@ CS.INIT >LIBLOADP L.LIBSTR
>LIBCALL hLIBSTR,LIBSTR.PRINTF >LIBCALL hLIBSTR,LIBSTR.PRINTF
ldy #S.PS.hARGS ldy #S.PS.hARGS
lda (TSKMGR.TSKPTR),y lda (pPsContext),y
>SYSCALL SYS.GetMemPtrA >SYSCALL SYS.GetMemPtrA
>PUSHYA >PUSHYA
ldy #S.PS.hCMD ldy #S.PS.hCMD
lda (TSKMGR.TSKPTR),y lda (pPsContext),y
>SYSCALL SYS.GetMemPtrA >SYSCALL SYS.GetMemPtrA
>PUSHYA >PUSHYA
>PUSHW L.MSG2 >PUSHW L.MSG2
>LIBCALL hLIBSTR,LIBSTR.PRINTF >LIBCALL hLIBSTR,LIBSTR.PRINTF
ldy #S.PS.hENV ldy #S.PS.hENV
lda (TSKMGR.TSKPTR),y lda (pPsContext),y
>SYSCALL SYS.GetMemPtrA >SYSCALL SYS.GetMemPtrA
>STYA ZPBIN >STYA ZPBIN
@ -100,27 +97,36 @@ CS.INIT >LIBLOADP L.LIBSTR
>PUSHW L.TEST1 >PUSHW L.TEST1
>LIBCALL hLIBSTR,LIBSTR.SSCANF >LIBCALL hLIBSTR,LIBSTR.SSCANF
lda DST.IP+3 >PUSHB DST.IP+3
jsr PRBYTE >PUSHB DST.IP+2
jsr CROUT >PUSHB DST.IP+1
>PUSHB DST.IP
>PUSHW L.PRINTF.IP
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>PUSHW L.DST.IP >PUSHW L.DST.IP
>PUSHW L.SSCANF.IP >PUSHW L.SSCANF.IP
>PUSHW L.TEST2 >PUSHW L.TEST2
>LIBCALL hLIBSTR,LIBSTR.SSCANF >LIBCALL hLIBSTR,LIBSTR.SSCANF
lda DST.IP+3 >PUSHB DST.IP+3
jsr PRBYTE >PUSHB DST.IP+2
jsr CROUT >PUSHB DST.IP+1
>PUSHB DST.IP
>PUSHW L.PRINTF.IP
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>PUSHW L.DST.IP >PUSHW L.DST.IP
>PUSHW L.SSCANF.IP >PUSHW L.SSCANF.IP
>PUSHW L.TEST3 >PUSHW L.TEST3
>LIBCALL hLIBSTR,LIBSTR.SSCANF >LIBCALL hLIBSTR,LIBSTR.SSCANF
lda DST.IP+3 >PUSHB DST.IP+3
jsr PRBYTE >PUSHB DST.IP+2
jsr CROUT >PUSHB DST.IP+1
>PUSHB DST.IP
>PUSHW L.PRINTF.IP
>LIBCALL hLIBSTR,LIBSTR.PRINTF
lda #0 tell TSKMGR that all done ok, but lda #0 tell TSKMGR that all done ok, but
sec we do not want to stay in memory sec we do not want to stay in memory
@ -135,6 +141,36 @@ CS.QUIT lda hLIBSTR
clc clc
rts rts
*-------------------------------------- *--------------------------------------
PRBYTE pha
lsr
lsr
lsr
lsr
ora #$B0
cmp #$BA
bcc .1
adc #6
.1 jsr COUT
pla
PRHEX and #$0F
ora #$B0
cmp #$BA
bcc COUT
adc #6
bra COUT
*--------------------------------------
CROUT lda #13
*--------------------------------------
COUT phx
phy
>PUSHA
ldy #S.PS.hOUTDEV
lda (pPsContext),y
>SYSCALL SYS.DevOutA
ply
plx
rts
*--------------------------------------
CS.END CS.END
hLIBSTR .BS 1 hLIBSTR .BS 1
LIBSTR >PSTRING "libstr.o" LIBSTR >PSTRING "libstr.o"
@ -146,6 +182,7 @@ TEST1 >PSTRING "198.168.1.1"
TEST2 >PSTRING "198.168.1.23" TEST2 >PSTRING "198.168.1.23"
TEST3 >PSTRING "198.168.1.4" TEST3 >PSTRING "198.168.1.4"
SSCANF.IP >PSTRING "%d.%d.%d.%d" SSCANF.IP >PSTRING "%d.%d.%d.%d"
PRINTF.IP >CSTRING "IP=%d.%d.%d.%d\n"
DST.IP .BS 4 DST.IP .BS 4
*-------------------------------------- *--------------------------------------
MAN MAN

0
BIN/UMOUNT.S.txt Normal file
View File