Kernel version 0.8 : DevMgr bug fixing in progress

This commit is contained in:
Rémy GIBERT 2016-10-12 08:28:57 +02:00
parent 8822685ee4
commit b6d8805622
12 changed files with 175 additions and 33 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -17,20 +17,20 @@ STARTPROC GETTY CON ${A2OSX}SBIN/LOGIN
#STARTPROC GETTY COM2 LOGIN #STARTPROC GETTY COM2 LOGIN
#INSDRV PIC.DRV #INSDRV PIC.DRV
# Network Section # Network Section
INSDRV UTHERNET.DRV 000E3A123456 #INSDRV UTHERNET.DRV 000E3A123456
#INSDRV UTHERNET2.DRV 0008DC123456 #INSDRV UTHERNET2.DRV 0008DC123456
#INSDRV UTHER2.AI.DRV 0008DC123456 #INSDRV UTHER2.AI.DRV 0008DC123456
#INSDRV LANCEGS.DRV #INSDRV LANCEGS.DRV
STARTPROC TCPIP #STARTPROC TCPIP
STARTPROC DHCPCLNT #STARTPROC DHCPCLNT
#STARTPROC HTTPD #STARTPROC HTTPD
#TELNETD #TELNETD
#NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX #NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX
#CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE #CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE
# End Network Section # End Network Section
# GUI Section # GUI Section
INSDRV DHGR.DRV #INSDRV DHGR.DRV
INSDRV MOUSE.DRV #INSDRV MOUSE.DRV
#STARTPROC DESKTOP #STARTPROC DESKTOP
# End GUI Section # End GUI Section
ECHO *** End A2osX Startup file *** ECHO *** End A2osX Startup file ***

View File

@ -203,8 +203,20 @@ CS.RUN.PRINTMEM ldy #S.MEM.LEN
sta ZPPTR2+1 sta ZPPTR2+1
lda #"{" lda #"{"
>SYSCALL SYS.COutA >SYSCALL SYS.COutA
lda (ZPPTR2) lda (ZPPTR2)
>SYSCALL SYS.HexOutA lsr
lsr
lsr
lsr
ora #$30
>SYSCALL SYS.COutA
lda (ZPPTR2)
and #$0F
ora #$30
>SYSCALL SYS.COutA
lda #"|" lda #"|"
>SYSCALL SYS.COutA >SYSCALL SYS.COutA
ldy #1 ldy #1
@ -224,8 +236,7 @@ CS.RUN.PRINTMEM ldy #S.MEM.LEN
bra .4 bra .4
.3 >SYSCALL SYS.GetMemPtrA .3 >SYSCALL SYS.GetMemPtrA
>PUSHYA >SYSCALL SYS.PStrOutYA
>LIBCALL hLIBSTR,LIBSTR.PRINTP
.4 lda #13 .4 lda #13
>SYSCALL SYS.COutA >SYSCALL SYS.COutA

View File

@ -192,15 +192,15 @@ SYS.READDIRA .EQ $3A
SYS.CLOSEDIRA .EQ $3C SYS.CLOSEDIRA .EQ $3C
SYS.MKDIRYA .EQ $3E SYS.MKDIRYA .EQ $3E
*-------------------------------------- *--------------------------------------
SYS.COutA .EQ $40 SYS.FPUTCA SYS.COutA .EQ $40
* .EQ $42 SYS.FGETC * .EQ $42
SYS.PStrOutYA .EQ $44 SYS.FPUTSYA SYS.PStrOutYA .EQ $44
* .EQ $46 SYS.FGETS SYS.PrintFYA .EQ $46
SYS.HexOutA .EQ $48 * .EQ $48 SYS.FPUTCA
SYS.HexOutYA .EQ $4A * .EQ $4A SYS.FGETC
SYS.DecOutA .EQ $4C * .EQ $4C SYS.FPUTSYA
SYS.DecOutYA .EQ $4E * .EQ $4E SYS.FGETS
*-------------------------------------- *--------------------------------------
SYS.NewPStrYA .EQ $50 SYS.NewPStrYA .EQ $50
SYS.PStrCpy .EQ $52 SYS.PStrCpy .EQ $52

View File

@ -7,15 +7,15 @@ AUTO 6
.OP 65C02 .OP 65C02
*-------------------------------------- *--------------------------------------
LIBSTR.PRINTF .EQ 4 LIBSTR.PRINTF .EQ 4
LIBSTR.PRINTC .EQ 6 *LIBSTR.PRINTC .EQ 6
LIBSTR.PRINTP .EQ 8 *LIBSTR.PRINTP .EQ 8
LIBSTR.STRMATCHP .EQ 10 *LIBSTR.STRMATCHP .EQ 10
LIBSTR.STRCPYP .EQ 12 *LIBSTR.STRCPYP .EQ 12
LIBSTR.STRCATP .EQ 14 *LIBSTR.STRCATP .EQ 14
LIBSTR.UCASEP .EQ 16 *LIBSTR.UCASEP .EQ 16
LIBSTR.LCASEP .EQ 18 *LIBSTR.LCASEP .EQ 18
LIBSTR.PRINTDATE .EQ 20 *LIBSTR.PRINTDATE .EQ 20
LIBSTR.PRINTTIME .EQ 22 *LIBSTR.PRINTTIME .EQ 22
LIBSTR.SSCANF .EQ 24 LIBSTR.SSCANF .EQ 24
*-------------------------------------- *--------------------------------------
MAN MAN

View File

@ -20,7 +20,7 @@ AUTO 6
* %H pull 2 bytes to Print HEX * %H pull 2 bytes to Print HEX
* %i pull 1 byte to Print signed DEC -128..127 * %i pull 1 byte to Print signed DEC -128..127
* %I pull 2 bytes to Print signed DEC -32768..32767 * %I pull 2 bytes to Print signed DEC -32768..32767
* %L pull 2 bytes PTR to Print signed DEC -2147483648..2147483647 * %L pull 2 bytes PTR to 4 bytes signed DEC -2147483648..2147483647
* %n pull 1 byte to Print low Nibble HEX * %n pull 1 byte to Print low Nibble HEX
* %N pull 1 byte to Print high Nibble HEX * %N pull 1 byte to Print high Nibble HEX
* %s pull 2 bytes ptr to C-Style String * %s pull 2 bytes ptr to C-Style String
@ -391,6 +391,135 @@ K.PStrOutYAS >STYA ZPQuickPtr2
.9 ply .9 ply
rts rts
*-------------------------------------- *--------------------------------------
* Convert HEXBUF to ASCBUF decimal padded with 0
*--------------------------------------
HEX2DEC ldx #4
.1 stz BCDBUF,x Clear all 5 bytes
dex
bpl .1
sed switch to BCD mode
ldx #32 let's roll 32 bits
.2 asl HEXBUF
rol HEXBUF+1
rol HEXBUF+2
rol HEXBUF+3
ldy #4
.3 lda BCDBUF,y
adc BCDBUF,y
sta BCDBUF,y
dey
bpl .3
dex
bne .2
cld
ldy #4
ldx #9
.4 lda BCDBUF,y
pha
and #$0F
ora #$30
sta ASCBUF,x
dex
pla
lsr
lsr
lsr
lsr
ora #$30
sta ASCBUF,x
dey
dex
bpl .4
rts
*--------------------------------------
* Convert ASCBUF decimal to HEXBUF
*--------------------------------------
DEC2HEX stz HEXBUF
stz HEXBUF+1
stz HEXBUF+2
stz HEXBUF+3
ldx #0
.1 lda HEXBUF+3 save HEXBUF for 4+1
pha
lda HEXBUF+2
pha
lda HEXBUF+1
pha
lda HEXBUF
pha
asl HEXBUF HEXBUF * 2 -> HEXBUF
rol HEXBUF+1
rol HEXBUF+2
rol HEXBUF+3
bcs .9 overflow!!!
asl HEXBUF HEXBUF * 4 -> HEXBUF
rol HEXBUF+1
rol HEXBUF+2
rol HEXBUF+3
bcs .9 overflow!!!
pla HEXBUF * 4 + HEXBUF -> HEXBUF
adc HEXBUF
sta HEXBUF
pla
adc HEXBUF+1
sta HEXBUF+1
pla
adc HEXBUF+2
sta HEXBUF+2
pla
adc HEXBUF+3
sta HEXBUF+3
bcs .99 overflow!!!
asl HEXBUF HEXBUF * 10 -> HEXBUF
rol HEXBUF+1
rol HEXBUF+2
rol HEXBUF+3
bcs .99 overflow!!!
inx
lda ASCBUF,x
and #$0F
adc HEXBUF
sta HEXBUF
bcc .2
inc HEXBUF+1
bne .2
inc HEXBUF+2
bne .2
inc HEXBUF+3
.2 cpx ASCBUF
bne .1
rts
.9 pla discard saved HEXBUF
pla
pla
pla
.99 rts
*--------------------------------------
HEXBUF .BS 4 32 bits max
BCDBUF .BS 5 5, enough to handle 10 digits (32bits)
ASCBUF .BS 12 LEN + sign + 10 digits ($FFFFFFFF=4.294.967.295)
*--------------------------------------
HEX .BS 2 HEX .BS 2
BCD .BS 3 BCD .BS 3
bL0Flag .BS 1 bL0Flag .BS 1

View File

@ -7,7 +7,7 @@ AUTO 6
*-------------------------------------- *--------------------------------------
Kernel.Init3 jsr K.DevMgrInit Kernel.Init3 jsr K.DevMgrInit
bcs * bcs *
lda #1 SYS device lda #1 SYS device
>SYSCALL SYS.GetDevByIDA >SYSCALL SYS.GetDevByIDA
>STYA pDev >STYA pDev

View File

@ -23,6 +23,9 @@ K.IrqHandlerAuxLC
pha pha
and #$10 BRK? and #$10 BRK?
beq .10 beq .10
bne *
lda K.IrqMgr.A lda K.IrqMgr.A
.82 jmp (K.IrqMgrOldFFFE) .82 jmp (K.IrqMgrOldFFFE)

View File

@ -52,11 +52,11 @@ KERNEL.SYSCALL
.DA K.COutA $40 .DA K.COutA $40
.DA 0 .DA 0
.DA K.PStrOutYA .DA K.PStrOutYA
.DA K.PrintFYA
.DA 0
.DA 0
.DA 0
.DA 0 .DA 0
.DA K.HexOutA
.DA K.HexOutYA
.DA K.DecOutA
.DA K.DecOutYA
*-------------------------------------- *--------------------------------------
.DA K.NewPStrYA $50 .DA K.NewPStrYA $50
.DA K.PStrCpy .DA K.PStrCpy

View File

@ -252,10 +252,9 @@ PS.Init >LDYA K.CreateProcess.CmdLine
txa txa
ldy #S.PS.hCMDLINE ldy #S.PS.hCMDLINE
sta (ZPQuickPtr3),y sta (ZPQuickPtr3),y
pla Restore PTR... pla Restore PTR...
ply ply
>SYSCALL SYS.LoadExeYA Y,A=filename full path >SYSCALL SYS.LoadExeYA Y,A=filename full path
bcs .9 bcs .9