Kernel 0.9.1 : SHELL, CSH style scripting.....(wip), Math API (wip)

This commit is contained in:
Rémy GIBERT 2017-10-26 18:01:54 +02:00
parent 50763e0f7a
commit 84b423e9de
54 changed files with 316 additions and 224 deletions

Binary file not shown.

Binary file not shown.

View File

@ -299,7 +299,7 @@ EnumKM ldx #0
.DA MLICLOSE01
rts
.98 cmp #MLI.ERR.EOF
.98 cmp #MLI.E.EOF
beq .8
pha
jsr .8

View File

@ -67,7 +67,7 @@ CS.RUN >SYSCALL GetArgC
>SYSCALL SSCANF
bcc CS.RUN.QUERY
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts
*--------------------------------------

View File

@ -63,7 +63,7 @@ CS.INIT
.99 >LDYA L.MSG.USAGE
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts
@ -142,7 +142,7 @@ CS.RUN >SYSCALL GetChar
bcc CS.RUN.PRINT
cmp #MLI.ERR.EOF
cmp #MLI.E.EOF
bne .9
jsr CS.RUN.CLOSE

View File

@ -69,7 +69,7 @@ CS.INIT
.99 >LDYA L.MSG.USAGE
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts

View File

@ -76,7 +76,7 @@ CS.RUN.ADD cmp #3
sec we do not want to stay in memory
rts
.9 lda #SYSMGR.ERRSYN
.9 lda #K.E.SYN
sec
.99 rts

View File

@ -69,7 +69,7 @@ CS.INIT ldy #S.PS.ARGC
.99 >LDYA L.MSG.USAGE
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts

View File

@ -111,10 +111,10 @@ CS.RUN.DUMPDEV sta DevID
lda ZPDevStatPtr
clc
adc #S.DEVSTAT.IDSTRING
adc #S.DEVSTAT.IDS
tay
lda ZPDevStatPtr+1
adc /S.DEVSTAT.IDSTRING
adc /S.DEVSTAT.IDS
>PUSHYA
>PUSHB DevID

View File

@ -70,7 +70,7 @@ CS.INIT
dex
bne .2
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts

View File

@ -157,14 +157,14 @@ DumpStatus >LDA.G DEV.S
lda ZPPTR2
clc
adc #S.DEVSTAT.IDSTRING
adc #S.DEVSTAT.IDS
tay
lda ZPPTR2+1
adc #0
>PUSHYA
ldy #S.DEVSTAT.SUBTYPE
ldy #S.DEVSTAT.ST
>PUSHB (ZPPTR2),y
dey
>PUSHB (ZPPTR2),y

View File

@ -54,7 +54,7 @@ CS.RUN lda #1
sec
.9 rts
.99 lda #SYSMGR.ERRSYN
.99 lda #K.E.SYN
sec
rts
*--------------------------------------

View File

@ -65,7 +65,7 @@ CS.INIT >SYSCALL GetArgC
.99 >LDYA L.MSG.USAGE
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts
*--------------------------------------

View File

@ -62,7 +62,7 @@ CS.RUN.READ jsr NSC.Init
>LDYA L.MSG.READ.KO
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV
lda #MLI.E.NODEV
sec
rts
@ -143,7 +143,7 @@ CS.RUN.SET lda #1
sec we do not want to stay in memory
rts
.9 lda #SYSMGR.ERRSYN
.9 lda #K.E.SYN
sec
rts
*--------------------------------------

View File

@ -68,7 +68,7 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ?
>LDYA L.MSG.IPKO
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts
@ -96,7 +96,7 @@ CS.RUN.IPOK >SYSCALL GetArgC
.9 >LDYA L.MSG.USAGE
.99 >SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts
@ -141,7 +141,7 @@ CS.RUN.OPENSKT ldx #3
>LDYA L.MSG.SKTKO
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts

View File

@ -75,7 +75,7 @@ CS.INIT >SYSCALL GetArgC
.99 >LDYA L.MSG.USAGE
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts
*--------------------------------------

View File

@ -74,7 +74,7 @@ CS.INIT
.99 >LDYA L.MSG.USAGE
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts
@ -266,7 +266,7 @@ CS.RUN >SYSCALL GetChar
.5 jsr CS.RUN.BuildFilePath
jmp CS.RUN.FILE
.6 lda #MLI.ERR.UNSUPST
.6 lda #MLI.E.UNSUPST
sec
.9 rts
*--------------------------------------
@ -632,7 +632,7 @@ CS.RUN.Copy stz .90+1
>PUSHB (pData),y
>SYSCALL FRead
bcc .1
cmp #MLI.ERR.EOF
cmp #MLI.E.EOF
bne .9
lda #0
bra .9

View File

@ -126,7 +126,7 @@ InitSrcDirYA >SYSCALL RealPath.YA
clc
rts
.91 lda #MLI.ERR.FNOTFND
.91 lda #MLI.E.FNOTFND
.9 pha
>LDA.G hFullPath

View File

@ -64,7 +64,7 @@ Dev.Detect >STYA Args
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV
lda #MLI.E.NODEV
sec
rts
@ -83,7 +83,7 @@ Dev.Detect >STYA Args
>STYA ZPTmpPTR
jsr DecodeMac
bcc .4
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts

View File

@ -98,7 +98,7 @@ Dev.Detect >LDYA L.MSG.DETECT
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV
lda #MLI.E.NODEV
sec
rts
@ -217,7 +217,7 @@ READBLOCK >STYA ZPTmpPtr1
clc
rts
.9 lda #MLI.ERR.EOF
.9 lda #MLI.E.EOF
sec
rts
*--------------------------------------

View File

@ -65,7 +65,7 @@ Dev.Detect >STYA ARGS
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV Not Found in any slot, exiting
lda #MLI.E.NODEV Not Found in any slot, exiting
sec
rts

View File

@ -67,7 +67,7 @@ Dev.Detect >STYA ARGS
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV Not Found in any slot, exiting
lda #MLI.E.NODEV Not Found in any slot, exiting
sec
rts

View File

@ -70,7 +70,7 @@ Dev.Detect >STYA ARGS
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV Not Found in any slot, exiting
lda #MLI.E.NODEV Not Found in any slot, exiting
sec
rts

View File

@ -89,7 +89,7 @@ Dev.Detect >STYA Args
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV
lda #MLI.E.NODEV
sec
rts
@ -119,7 +119,7 @@ Dev.Detect >STYA Args
.4 jsr DecodeMac
bcc .8
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts

View File

@ -73,7 +73,7 @@ Dev.Detect >STYA ARGS
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV
lda #MLI.E.NODEV
sec
rts
@ -113,7 +113,7 @@ Dev.Detect >STYA ARGS
.4 jsr DecodeMac
bcc .8
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts

View File

@ -88,7 +88,7 @@ Dev.Detect >STYA Args
>LDYA L.MSG.DETECT.KO
>SYSCALL PrintF.YA
lda #MLI.ERR.NODEV
lda #MLI.E.NODEV
sec
rts
@ -118,7 +118,7 @@ Dev.Detect >STYA Args
.4 jsr DecodeMac
bcc .8
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts

View File

@ -208,16 +208,15 @@ SYS.Sleep .EQ $E0
* Lib ERROR CODES : $80->$BF
* Kernel ERROR CODES : $C0->$FF
*--------------------------------------
MEMMGR.ERROOM .EQ $FF Out Of Memory Error
MEMMGR.ERROOH .EQ $FE Out Of Handle Error
K.E.OOM .EQ $FF Out Of Memory Error
K.E.OOH .EQ $FE Out Of Handle Error
*--------------------------------------
TSKMGR.ERROOH .EQ $DF Out Of Handle Error
TSKMGR.ERRNSP .EQ $DD No Such Process Error
K.E.NSP .EQ $DD No Such Process Error
*--------------------------------------
SYSMGR.ERRSYN .EQ $CF Syntax Error
SYSMGR.ERRENVF .EQ $CE Env is Full
SYSMGR.ERRIBIN .EQ $CD Invalid BIN format
SYSMGR.ERRFTB .EQ $CC File Too Big Error
K.E.SYN .EQ $CF Syntax Error
K.E.ENVF .EQ $CE Env is Full
K.E.IBIN .EQ $CD Invalid BIN format
K.E.FTB .EQ $CC File Too Big Error
*--------------------------------------
* MEM STRUCT
*--------------------------------------
@ -313,7 +312,7 @@ S.DEVSTAT.S.WENABL .EQ %00000100
S.DEVSTAT.S.IRQ .EQ %00000010
S.DEVSTAT.S.OPENED .EQ %00000001
S.DEVSTAT.SIZE .EQ 1 3 bytes
S.DEVSTAT.IDSTRING .EQ 4 1 (LEN) + 16 MAX
S.DEVSTAT.IDS .EQ 4 1 (LEN) + 16 MAX
S.DEVSTAT.T .EQ 21
S.DEVSTAT.T.RAM .EQ $00 Memory Expansion Card (RAM disk)
S.DEVSTAT.T.3.5 .EQ $01 3.5" disk
@ -337,10 +336,10 @@ S.DEVSTAT.T.NET .EQ $12 Network board
S.DEVSTAT.T.XY .EQ $13 X,Y Pointing Device
S.DEVSTAT.T.CHAR .EQ $14
S.DEVSTAT.T.GFX .EQ $15
S.DEVSTAT.SUBTYPE .EQ 22
S.DEVSTAT.SUBTYPE.EXT .EQ $80
S.DEVSTAT.SUBTYPE.DSKSW .EQ $40
S.DEVSTAT.SUBTYPE.NOREM .EQ $20
S.DEVSTAT.ST .EQ 22
S.DEVSTAT.ST.EXT .EQ $80
S.DEVSTAT.ST.DSKSW .EQ $40
S.DEVSTAT.ST.NOREM .EQ $20
S.DEVSTAT.VERSION .EQ 23
S.DEVSTAT .EQ 25
*--------------------------------------
@ -370,7 +369,7 @@ S.PS.PC .EQ 14
S.PS.ARGC .EQ 16
S.PS.hARGS .EQ 17
S.PS.Context .EQ 24 24 Bytes
S.PS.ZP .EQ 24 24 Bytes
*
S.PS .EQ 48
*--------------------------------------

View File

@ -50,10 +50,16 @@ TXTPTR .EQ $B8
*--------------------------------------
* ROM Entry Point
*--------------------------------------
ROM.SETFAC .EQ 10 Set FAC from INDEX
ROM.GETFAC .EQ 12 Get FAC at FORPNT
ROM.FIN .EQ 14
ROM.FOUT .EQ 16
ROM.FSUB .EQ 0
ROM.FADD .EQ 2
ROM.LOG .EQ 4
ROM.FMULT .EQ 6
ROM.SETARG.AY .EQ 8
ROM.FDIV .EQ 10
ROM.SETFAC.AY .EQ 12
ROM.GETFAC .EQ 14 Get FAC at FORPNT
ROM.FIN .EQ 16
ROM.FOUT .EQ 18
*--------------------------------------
* Memory Map
*--------------------------------------

View File

@ -6,29 +6,29 @@ AUTO 6
.LIST OFF
*--------------------------------------
*$00 - No Error
MLI.ERR.BADCALL .EQ $01 Bad Call Number
*MLI.ERR.BADCNT .EQ $04 Bad Parameter Count
*MLI.ERR.IRQFULL .EQ $25 Interrupt Table Full
MLI.ERR.IO .EQ $27 I/O Error
MLI.ERR.NODEV .EQ $28 No Device Connected
MLI.ERR.WRTPROT .EQ $2B Write Protected
MLI.ERR.DSKSWIT .EQ $2E Disk Switched
MLI.ERR.OFFLINE .EQ $2F Device Offline
MLI.ERR.INVPATH .EQ $40 Invalid Pathname
MLI.ERR.FCBFULL .EQ $42 Maximum Number of Files Open
MLI.ERR.BADREF .EQ $43 Invalid Reference Number
MLI.ERR.PNOTFND .EQ $44 Directory Not Found
MLI.ERR.VNOTFND .EQ $45 Volume Not Found
MLI.ERR.FNOTFND .EQ $46 File Not Found
MLI.ERR.DUPFILE .EQ $47 Duplicate File Name
MLI.ERR.VOLFULL .EQ $48 Volume Full
MLI.ERR.DIRFULL .EQ $49 Directory Full
MLI.ERR.INCFF .EQ $4A Incompatible File Format
MLI.ERR.UNSUPST .EQ $4B Unsupported Storage Type
MLI.ERR.EOF .EQ $4C End of File, No More Data
MLI.ERR.BEYEOF .EQ $4D Beyond EOF
MLI.ERR.LOCKED .EQ $4E File Access Error, File Locked
MLI.ERR.OPEN .EQ $50 File Already Open
MLI.E.BADCALL .EQ $01 Bad Call Number
*MLI.E.BADCNT .EQ $04 Bad Parameter Count
*MLI.E.IRQFULL .EQ $25 Interrupt Table Full
MLI.E.IO .EQ $27 I/O Error
MLI.E.NODEV .EQ $28 No Device Connected
MLI.E.WRTPROT .EQ $2B Write Protected
MLI.E.DSKSWIT .EQ $2E Disk Switched
MLI.E.OFFLINE .EQ $2F Device Offline
MLI.E.INVPATH .EQ $40 Invalid Pathname
MLI.E.FCBFULL .EQ $42 Maximum Number of Files Open
MLI.E.BADREF .EQ $43 Invalid Reference Number
MLI.E.PNOTFND .EQ $44 Directory Not Found
MLI.E.VNOTFND .EQ $45 Volume Not Found
MLI.E.FNOTFND .EQ $46 File Not Found
MLI.E.DUPFILE .EQ $47 Duplicate File Name
MLI.E.VOLFULL .EQ $48 Volume Full
MLI.E.DIRFULL .EQ $49 Directory Full
MLI.E.INCFF .EQ $4A Incompatible File Format
MLI.E.UNSUPST .EQ $4B Unsupported Storage Type
MLI.E.EOF .EQ $4C End of File, No More Data
MLI.E.BEYEOF .EQ $4D Beyond EOF
MLI.E.LOCKED .EQ $4E File Access Error, File Locked
MLI.E.OPEN .EQ $50 File Already Open
*$51 - Directory Structure Damaged
*$53 - Invalid Parameter
*$55 - Too Many Volumes

View File

@ -36,9 +36,7 @@ CS.START cld
.DA TAN
.DA 0
*--------------------------------------
COS >PULLW INDEX
>ROMCALL SETFAC
>ROMCALL COS
COS
*--------------------------------------
SIN
*--------------------------------------

View File

@ -446,7 +446,7 @@ SKT.Write.TCP ldy #S.SOCKET.TCP.STATUS
sec
rts
.91 lda #MLI.ERR.IO
.91 lda #MLI.E.IO
sec
.99 rts
*/--------------------------------------
@ -610,7 +610,7 @@ SKT.Read.I jsr SKT.GetA.I
sec
rts
.91 lda #MLI.ERR.IO
.91 lda #MLI.E.IO
sec
rts

View File

@ -80,7 +80,7 @@ CS.RUN jsr Init.Timeout
.99 >LDYA L.MSG.TCPIPERR
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts
@ -128,7 +128,7 @@ CS.RUN.INIT ldx #3
.9 >LDYA L.MSG.SKTERR
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts

View File

@ -74,7 +74,7 @@ CS.RUN jsr Init.Timeout
.99 >LDYA L.MSG.TCPIPERR
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts
@ -124,7 +124,7 @@ CS.RUN.INIT ldx #3
.9 >LDYA L.MSG.SKTERR
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts

View File

@ -191,7 +191,7 @@ Cmd.Exec.EXT jsr Cmd.Exec.Split
bra *
.9 lda #SYSMGR.ERRSYN
.9 lda #K.E.SYN
sec
.99 jmp Cmd.Exec.Done
*--------------------------------------
@ -331,7 +331,7 @@ Cmd.Exec.CD lda (ZPPTR2)
clc
.9 jmp Cmd.Exec.Done
*--------------------------------------
Cmd.Exec.ERRSYN lda #SYSMGR.ERRSYN
Cmd.Exec.ERRSYN lda #K.E.SYN
sec
jmp Cmd.Exec.Done
*--------------------------------------

View File

@ -345,6 +345,86 @@ CSH.TYPE >STA.G CSH.ACCT
sec
.99 rts
*--------------------------------------
CSH.ExpEval jsr CSH.ZeroACC
dec A=0
>STA.G CSH.EXPBOP1
jsr CSH.GetCharNB
bcs .9
.10 jsr CSH.IsLetter Fnc or Var ?
bcs .2
jsr CSH.GetVar
bcs .1
jsr CSH.LoadACCFromVar
bcs .9
bra .11
.1 bra .9 TO DO : Functions
.2 jsr CSH.IsDigit10 number ?
bcs .9
jsr CSH.GetNumInACC
bcs .9
.11 jsr CSH.GetCharNB
bcs .9
cmp #')'
beq .8
cmp #';'
beq .8
jsr CSH.IsOPChar
bcs .9
>LDYA L.CSH.BOPS
jsr CSH.LookupOP
bcs .9
>LDA.G CSH.EXPBOP1 previous OP...
bpl .5 go check precedence
txa
>STA.G CSH.EXPBOP1
jsr CSH.ACC2ARG
jsr CSH.GetCharNB
bcc .10 go check for an ARG
.9 lda #CSH.E.SYNTAX
sec
.99 rts
.5 txa
>STA.G CSH.EXPBOP2
>CMP.G CSH.EXPBOP1
bcs .3
* new OP has precedence, stack ACC
bra .10
* Old OP has precedence, compute ACC=ARG <BOP> ACC
.3 >LDA.G CSH.EXPBOP1
jsr CSA.Compute
bcs .9
jsr CSH.GetCharNB
bcc .10
bra .9
.8 >LDA.G CSH.EXPBOP1
bmi .80
jmp CSA.Compute
.80 clc
rts
*--------------------------------------
CSH.SavePtr >LDYA ZPCSHBufPtr
>STYA.G CSH.BufPtrSave
rts
@ -408,83 +488,6 @@ CSH.Lookup phy Y = len
sec
rts
*--------------------------------------
CSH.ExpEval jsr CSH.ZeroACC
>STA.G CSH.EXPBOP1 A=0
jsr CSH.GetCharNB
bcs .9
.10 jsr CSH.IsLetter Fnc or Var ?
bcs .2
jsr CSH.GetVar
bcs .1
jsr CSH.LoadACCFromVar
bcs .9
bra .11
.1 bra .9 TO DO : Functions
.2 jsr CSH.IsDigit10 number ?
bcs .9
jsr CSH.GetNumInACC
bcs .9
.11 jsr CSH.GetCharNB
bcs .9
cmp #')'
beq .8
cmp #';'
beq .8
jsr CSH.IsOPChar
bcs .9
>LDYA L.CSH.BOPS
jsr CSH.LookupOP
bcs .9
>LDA.G CSH.EXPBOP1 previous OP...
bne .5 go check precedence
txa
>STA.G CSH.EXPBOP1
jsr CSH.ACC2ARG
jsr CSH.GetCharNB
bcc .10
.9 lda #CSH.E.SYNTAX
sec
.99 rts
.5 txa
>STA.G CSH.EXPBOP2
>CMP.G CSH.EXPBOP1
bcs .3
* new OP has precedence, stack ACC
bra .10
* Old OP has precedence, compute ACC=ARG <BOP> ACC
.3 >LDA.G CSH.EXPBOP1
jsr CSA.Compute
bcs .9
jsr CSH.GetCharNB
bcc .10
bra .9
.8 clc
rts
*--------------------------------------
CSA.Compute tax
>DEBUG
jmp (J.CSH.BOPS,x)
*--------------------------------------
CSH.GetNumInACC >LDA.G CSH.ACCT
cmp #CSH.TYPE.FLOAT
bcc .1
@ -516,7 +519,20 @@ CSH.ZeroACC lda #0
rts
*--------------------------------------
CSH.ACC2ARG
CSH.ACC2ARG >LEA.G CSH.ACCT
>STYA ZPPtr1
>LEA.G CSH.ARGT
>STYA ZPPtr2
ldy #5
.1 lda (ZPPtr1),y
sta (ZPPtr2),y
dey
bpl .1
rts
*--------------------------------------
* Vars...
*--------------------------------------
@ -732,7 +748,13 @@ CSH.IsACC0 >LDA.G CSH.ACCT
.9 sec
rts
*--------------------------------------
CSH.BOPS.ADD
CSA.Compute tax
jmp (J.CSH.BOPS,x)
*--------------------------------------
CSH.BOPS.ADD
CSH.BOPS.SUB
CSH.BOPS.MUL
CSH.BOPS.DIV
@ -866,7 +888,7 @@ CSH.GetChar lda (ZPCSHBufPtr)
clc
rts
.9 lda #MLI.ERR.EOF
.9 lda #MLI.E.EOF
sec
rts
*---------------------------------------

View File

@ -234,7 +234,7 @@ CS.RUN.READ lda #0 reset Buffer
CS.RUN.BATCH jsr CSH.Run
bcc .7
cmp #MLI.ERR.EOF
cmp #MLI.E.EOF
beq .9
pha

View File

@ -80,7 +80,7 @@ CS.RUN jsr Init.Timeout
.99 >LDYA L.MSG.TCPIPERR
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts
@ -111,7 +111,7 @@ CS.RUN.INIT ldx #3
.9 >LDYA L.MSG.SKTERR
>SYSCALL PrintF.YA
lda #SYSMGR.ERRSYN
lda #K.E.SYN
sec
rts

View File

@ -201,7 +201,7 @@ K.FileSearch.I >PULLW .4+1 Filename
.98 lda #$ff SELF MODIFIED : Discard Expanded hSrch list
jsr K.FreeMem.A
lda #MLI.ERR.FNOTFND
lda #MLI.E.FNOTFND
sec
.99 rts
*--------------------------------------
@ -390,11 +390,11 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O
cmp #K.DEV.MAX
bne .10 No Device Handle Left
lda #MEMMGR.ERROOH
lda #K.E.OOH
sec
rts
.9 lda #MEMMGR.ERROOM
.9 lda #K.E.OOM
sec
rts
@ -506,7 +506,7 @@ BIN.RelocateEXE ldy #H.BIN.T+1
cmp /H.BIN.T.DRV65
beq .1
lda #SYSMGR.ERRIBIN
lda #K.E.IBIN
sec
rts

View File

@ -360,7 +360,7 @@ CORE.GetPSStatus.A
dey
bne .1
.9 lda #TSKMGR.ERRNSP
.9 lda #K.E.NSP
sec
rts
@ -428,7 +428,7 @@ CORE.DestroyEvent
CORE.PSSelect0 >LDYAI CORE.S.PS0 Select PS0
>STYA pPs
>LDYA CORE.S.PS0+S.PS.Context+4
>LDYA CORE.S.PS0+S.PS.ZP+4
>STYA pStack
rts
*/--------------------------------------
@ -454,7 +454,7 @@ K.Sleep pla get PC LO
ora #S.PS.F.SLEEP
sta (pPs)
*--------------------------------------
CORE.PSLeave ldy #S.PS.Context+23
CORE.PSLeave ldy #S.PS.ZP+23
ldx #23
.1 lda pCode,x
@ -466,7 +466,7 @@ CORE.PSLeave ldy #S.PS.Context+23
clc No error,
rts back to Kernel
*--------------------------------------
CORE.PSEnter ldy #S.PS.Context+23
CORE.PSEnter ldy #S.PS.ZP+23
ldx #23
.1 lda (pPs),y

View File

@ -75,7 +75,7 @@ K.GetDevByName.YA
cpx DevMgr.Count
bne .1
K.GetDevDNF lda #MLI.ERR.NODEV CS from cpx/beq
K.GetDevDNF lda #MLI.E.NODEV CS from cpx/beq
rts
*/--------------------------------------
* # GetDevStatus.A

View File

@ -304,7 +304,7 @@ K.SetEnvPtr1Ptr2
clc
rts
.99 lda #SYSMGR.ERRENVF
.99 lda #K.E.ENVF
* sec
rts
*/--------------------------------------

View File

@ -51,7 +51,7 @@ K.LoadFile clc
bne .1
inc
bne .1
lda #SYSMGR.ERRFTB
lda #K.E.FTB
bra .99
.1 jsr K.GetMem.YA
@ -133,7 +133,7 @@ K.LoadFile.GetSize
>PUSHB K.LoadFile.hFile
jmp K.FSeek
.98 lda #SYSMGR.ERRFTB
.98 lda #K.E.FTB
.99 rts
*--------------------------------------
K.LoadFile.bTXT .BS 1

View File

@ -39,7 +39,7 @@ AUTO 6
*--------------------------------------
* BADCALL
*--------------------------------------
lda #MLI.ERR.BADCALL
lda #MLI.E.BADCALL
sec
rts
*--------------------------------------
@ -107,15 +107,22 @@ A2osX.ROMCALL1 phx
bit $C000,x
bit $C000,x
rts
.1 jmp (.2,x)
* http://www.txbobsc.com/scsc/scdocumentor/E7A0.html
.2 .DA $E7A7 FSUB
.DA $E7BE FADD
* .DA $E82E NORMALIZE.FAC.2 (L->F)
.DA $E941 LOG
.DA $E97F FMULT
.DA $E9E3 LOAD.ARG.FROM.YA
.DA $EA66 FDIV
.DA $EAFD LOAD.FAC.FROM.INDEX
.DA $EAF9 LOAD.FAC.FROM.YA
.DA $EB27 SETFOR
* .DA $EBB2 FCOMP
* .DA $EBF2 QINT (F->L)
.DA $EC4A FIN
.DA $ED36 FOUT.1
.DA $EE8D SQR

View File

@ -443,7 +443,7 @@ PS0Init ldx #S.DEV*2 NUL,SYS
>LDYAI K.STACKTOP
>STYA pStack
>STYA CORE.S.PS0+S.PS.Context+4 init Kernel Soft Stack
>STYA CORE.S.PS0+S.PS.ZP+4 init Kernel Soft Stack
>LDYAI DEV.SYS
>SYSCALL MkNod.YA
@ -838,7 +838,7 @@ DevMgrInit.AddDev
clc
rts
.9 lda #MEMMGR.ERROOH
.9 lda #K.E.OOH
sec
rts
*--------------------------------------

57
SYS/KERNEL.S.MATH.txt Normal file
View File

@ -0,0 +1,57 @@
PR#3
PREFIX /A2OSX.BUILD
LOMEM $A00
INC 1
AUTO 6
*/--------------------------------------
* # FAdd
* Return X+Y
* ## In:
* PUSHW = X (*Float)
* PUSHW = Y (*Float)
*\--------------------------------------
K.FAdd ldx #ROM.FADD
.HS 2C BIT ABS
*/--------------------------------------
* # FSub
* Return X-Y
* ## In:
* PUSHW = X (*Float)
* PUSHW = Y (*Float)
*\--------------------------------------
K.FSub ldx #ROM.FSUB
phx
jsr MATH.PullFAC
jsr MATH.PullARG
plx
jsr A2osX.ROMCALL
*--------------------------------------
K.Cos jsr MATH.PullFAC
* >ROMCALL COS
*--------------------------------------
*--------------------------------------
*--------------------------------------
MATH.PullFAC >PULLA
tay
>PULLA
>ROMCALL SETFAC.AY
rts
*--------------------------------------
MATH.PullARG >PULLA
tay
>PULLA
>ROMCALL SETARG.AY
rts
*--------------------------------------
*--------------------------------------
MAN
SAVE /A2OSX.SRC/SYS/KERNEL.S.MATH
LOAD /A2OSX.SRC/SYS/KERNEL.S
ASM

View File

@ -222,11 +222,11 @@ MemMgr.AddSlot >STYA ZPMemMgrTmp1 save req size
rts
.98 pla discard new MemMgr.Free HI
lda #MemMgr.ERROOM
lda #K.E.OOM
sec
rts
.99 lda #MemMgr.ERROOH
.99 lda #K.E.OOH
sec
rts
*--------------------------------------

View File

@ -72,7 +72,7 @@ PS.CreateChild ldx #0
.2 cpx #K.PS.MAX
bne .3
lda #TSKMGR.ERROOH
lda #K.E.OOH
sec
rts
@ -266,7 +266,7 @@ PS.Init jsr BIN.Load.YA Y,A=filename full path
>STYA ZPPtr4 save PTR to Code Segment
phy
ldy #S.PS.Context+1
ldy #S.PS.ZP+1
sta (ZPPtr3),y save pCode HI...
dey
pla
@ -294,7 +294,7 @@ PS.Init jsr BIN.Load.YA Y,A=filename full path
bcs .9
phy
ldy #S.PS.Context+3
ldy #S.PS.ZP+3
sta (ZPPtr3),y save pData HI...
dey
pla
@ -308,7 +308,7 @@ PS.Init jsr BIN.Load.YA Y,A=filename full path
.2 ldy #H.BIN.EXE.SS.SIZE
lda (ZPPtr4),y Load SS.SIZE
ldy #S.PS.Context+4
ldy #S.PS.ZP+4
sta (ZPPtr3),y save pStack LO...
tay
@ -323,7 +323,7 @@ PS.Init jsr BIN.Load.YA Y,A=filename full path
jsr K.GetMem
bcs .9
ldy #S.PS.Context+5
ldy #S.PS.ZP+5
sta (ZPPtr3),y save pStack HI...(LO alredy set to Stack TOP)
txa

View File

@ -163,7 +163,7 @@ K.MkNod.YA jsr K.GetDevByName.YA Ptr1=NAME
clc
.9 rts
.99 lda #MLI.ERR.IO
.99 lda #MLI.E.IO
sec
rts
*/--------------------------------------

View File

@ -114,9 +114,9 @@ K.PutChar.A.FIFO
clc
rts
.9 lda #MLI.ERR.VOLFULL
.9 lda #MLI.E.VOLFULL
.HS 2C bit abs
.99 lda #MLI.ERR.EOF
.99 lda #MLI.E.EOF
sec
rts
*--------------------------------------
@ -504,9 +504,9 @@ K.FSeek jsr PFT.CheckNodeSTK
.9 rts
.98 lda #SYSMGR.ERRSYN
.98 lda #K.E.SYN
.HS 2C bit abs
.99 lda #SYSMGR.ERRFTB
.99 lda #K.E.FTB
sec
rts
*/--------------------------------------
@ -940,8 +940,10 @@ PrintF.U.1 bcc .8 unsigned, nothing to check
PrintF.E sec Force "E+12"
.HS 90 BCC
PrintF.F clc
>PULLW INDEX
>ROMCALL SETFAC
>PULLA
tay
>PULLA
>ROMCALL SETFAC.AY
ldy #3 In order not to trash A2osX.SaveSM,A2osX.SaveSX
>ROMCALL FOUT
@ -1079,7 +1081,7 @@ STDIO.GetRefNum jsr K.GetMemPtr.A
sta K.MLI.PARAMS+1
rts
*--------------------------------------
STDIO.IOERR lda #MLI.ERR.IO
STDIO.IOERR lda #MLI.E.IO
sec
rts
*--------------------------------------

View File

@ -316,7 +316,7 @@ K.RealPath.YA >STYA ZPPtr1
.89 >LDYAI K.Buf256
jmp K.NewStr.YA
.90 lda #SYSMGR.ERRSYN
.90 lda #K.E.SYN
sec
rts
*--------------------------------------

View File

@ -39,6 +39,7 @@ A2osX.D2 .PH $D000
.INB /A2OSX.SRC/SYS/KERNEL.S.PS
.INB /A2OSX.SRC/SYS/KERNEL.S.ARG
.INB /A2OSX.SRC/SYS/KERNEL.S.ENV
.INB /A2OSX.SRC/SYS/KERNEL.S.MATH
.EP
A2osX.E0 .PH $E000
.INB /A2OSX.SRC/SYS/KERNEL.S.JMP

View File

@ -490,7 +490,7 @@ RWDRV.EXITOK lda #0 make A=0
clc
rts
RWDRV.IOERR lda #MLI.ERR.IO Carry already set
RWDRV.IOERR lda #MLI.E.IO Carry already set
rts
*--------------------------------------
* X=Page(0/1 or LC),A=Bank

View File

@ -417,7 +417,7 @@ DRV.DO.CMD.R ldy #3 Read Back and check 4 bytes
DRV.DO.CMD.ERR1 pla
pla
DRV.DO.CMD.ERR lda #MLI.ERR.IO
DRV.DO.CMD.ERR lda #MLI.E.IO
sec
rts
*--------------------------------------

View File

@ -5,24 +5,24 @@ INC 1
AUTO 6
.LIST OFF
*--------------------------------------
ERR.Codes .DA #MLI.ERR.IO
.DA #MLI.ERR.NODEV
.DA #MLI.ERR.WRTPROT
.DA #MLI.ERR.DSKSWIT
.DA #MLI.ERR.OFFLINE
.DA #MLI.ERR.INVPATH
.DA #MLI.ERR.PNOTFND
.DA #MLI.ERR.VNOTFND
.DA #MLI.ERR.FNOTFND
.DA #MLI.ERR.DUPFILE
.DA #MLI.ERR.VOLFULL
.DA #MLI.ERR.DIRFULL
.DA #MLI.ERR.UNSUPST
.DA #MLI.ERR.EOF
.DA #MLI.ERR.LOCKED
.DA #MLI.ERR.OPEN
ERR.Codes .DA #MLI.E.IO
.DA #MLI.E.NODEV
.DA #MLI.E.WRTPROT
.DA #MLI.E.DSKSWIT
.DA #MLI.E.OFFLINE
.DA #MLI.E.INVPATH
.DA #MLI.E.PNOTFND
.DA #MLI.E.VNOTFND
.DA #MLI.E.FNOTFND
.DA #MLI.E.DUPFILE
.DA #MLI.E.VOLFULL
.DA #MLI.E.DIRFULL
.DA #MLI.E.UNSUPST
.DA #MLI.E.EOF
.DA #MLI.E.LOCKED
.DA #MLI.E.OPEN
*--------------------------------------
.DA #SYSMGR.ERRSYN
.DA #K.E.SYN
*--------------------------------------
ERR.Count .EQ *-ERR.Codes
*--------------------------------------