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
#INSDRV PIC.DRV
# Network Section
INSDRV UTHERNET.DRV 000E3A123456
#INSDRV UTHERNET.DRV 000E3A123456
#INSDRV UTHERNET2.DRV 0008DC123456
#INSDRV UTHER2.AI.DRV 0008DC123456
#INSDRV LANCEGS.DRV
STARTPROC TCPIP
STARTPROC DHCPCLNT
#STARTPROC TCPIP
#STARTPROC DHCPCLNT
#STARTPROC HTTPD
#TELNETD
#NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX
#CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE
# End Network Section
# GUI Section
INSDRV DHGR.DRV
INSDRV MOUSE.DRV
#INSDRV DHGR.DRV
#INSDRV MOUSE.DRV
#STARTPROC DESKTOP
# End GUI Section
ECHO *** End A2osX Startup file ***

View File

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

View File

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

View File

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

View File

@ -20,7 +20,7 @@ AUTO 6
* %H pull 2 bytes to Print HEX
* %i pull 1 byte to Print signed DEC -128..127
* %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 high Nibble HEX
* %s pull 2 bytes ptr to C-Style String
@ -391,6 +391,135 @@ K.PStrOutYAS >STYA ZPQuickPtr2
.9 ply
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
BCD .BS 3
bL0Flag .BS 1

View File

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

View File

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

View File

@ -52,11 +52,11 @@ KERNEL.SYSCALL
.DA K.COutA $40
.DA 0
.DA K.PStrOutYA
.DA K.PrintFYA
.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.PStrCpy

View File

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