Kernel 0.9.1 : Drivers, bugfix EC not returned properly when load failed

This commit is contained in:
Rémy GIBERT 2018-01-18 06:49:41 +00:00
parent 9971d98412
commit b5457721c3
8 changed files with 36 additions and 38 deletions

Binary file not shown.

Binary file not shown.

View File

@ -1,8 +1,6 @@
PR#3
PREFIX /A2OSX.BUILD
NEW
INC 1
AUTO 6
PREFIX /A2OSX.BUILD
AUTO 4,1
.LIST OFF
*--------------------------------------
CL.PrintPrompt >LDYA L.ENV.PS1

View File

@ -1,8 +1,6 @@
PR#3
NEW
PREFIX /A2OSX.BUILD
LOMEM $A00
INC 1
AUTO 6
AUTO 4,1
.LIST OFF
*--------------------------------------
CMD.Init >LDYAI CmdLine.MAX+1

View File

@ -1,8 +1,6 @@
PR#3
NEW
PREFIX /A2OSX.BUILD
LOMEM $A00
INC 1
AUTO 6
AUTO 4,1
.LIST OFF
*--------------------------------------
HIS.Init >LDYAI History.MAX Get a buffer for History

View File

@ -1,8 +1,6 @@
PR#3
NEW
PREFIX /A2OSX.BUILD
LOMEM $A00
INC 1
AUTO 6
AUTO 4,1
.LIST OFF
*--------------------------------------
IO.PrintErrMsg pha Save EC for PrintF

View File

@ -84,7 +84,7 @@ K.LoadDrv.YA jsr BIN.FindDRV
>LDYA BIN.CmdLine
>STYA ZPPtr1
.1 lda (ZPPtr1) Advance to ARG[1]
pha
inc ZPPtr1
@ -108,13 +108,34 @@ K.LoadDrv.YA jsr BIN.FindDRV
clc
.9 rts
.96 pha
.96 pha
.97 lda #$ff
jsr K.FreeMem.A
pla
sec
rts
.88 jmp (pDrv)
*--------------------------------------
BIN.FindLIB clc
.HS B0 bcs
BIN.FindDRV sec
>STYA BIN.CmdLine
>LDYAI BIN.Find.ENV.LIB
bcc .1
>LDYAI BIN.Find.ENV.DRV
.1 jsr K.GetEnv.YA get value for Search Path
bcs .9
>PUSHYA
>PUSHW BIN.CmdLine
jsr K.FileSearch.I find LIB/DRV in Search
bcs .9
>LDYAI K.Buf256
.9 rts
*/--------------------------------------
* # FileSearch
* Search a file in the provided PATH list
@ -209,25 +230,6 @@ K.FileSearch.I >PULLW .4+1 Filename
sec
rts
*--------------------------------------
BIN.FindLIB clc
.HS B0 bcs
BIN.FindDRV sec
>STYA BIN.CmdLine
>LDYAI BIN.Find.ENV.LIB
bcc .1
>LDYAI BIN.Find.ENV.DRV
.1 jsr K.GetEnv.YA get value for Search Path
bcs .9
>PUSHYA
>PUSHW BIN.CmdLine
jsr K.FileSearch.I find LIB/DRV in Search
bcs .9
>LDYAI K.Buf256
.9 rts
*--------------------------------------
BIN.Find.ENV.DRV >CSTR "DRV"
BIN.Find.ENV.LIB >CSTR "LIB"
*--------------------------------------
@ -303,7 +305,7 @@ BIN.Load.YA.1 >PUSHWI K.S.STAT
>SYSCALL LoadFile BANK1!!!
.9 bcs .99 Error Loading file
stx BIN.hMem save hMem
stx BIN.hMem save hMem
pha YA=CODE+DATA size
tya

View File

@ -22,6 +22,8 @@ ERR.Codes .DA #MLI.E.IO
.DA #MLI.E.LOCKED
.DA #MLI.E.OPEN
*--------------------------------------
.DA #K.E.OOM
.DA #K.E.OOH
.DA #K.E.SYN
*--------------------------------------
ERR.Count .EQ *-ERR.Codes
@ -43,6 +45,8 @@ ERR.Messages >PSTR "I/O Error"
>PSTR "File Access Error, File Locked"
>PSTR "File Already Open"
*--------------------------------------
>PSTR "Out Of Memory"
>PSTR "Out Of Memory Handle"
>PSTR "Syntax Error"
*--------------------------------------
>PSTR "Unknown Error"