mirror of
https://github.com/A2osX/A2osX.git
synced 2024-07-03 22:29:36 +00:00
Kernel 0.9.2
This commit is contained in:
parent
b0bfcee198
commit
eb30794b11
Binary file not shown.
Binary file not shown.
|
@ -29,7 +29,7 @@ L.MSG.DETECT .DA MSG.DETECT
|
|||
L.INSDRV .DA DRV.CS.START
|
||||
.DA DRV.CS.END
|
||||
.DA DRV.END
|
||||
L.NODE .DA DEV.NODE
|
||||
L.NODE .DA NODE
|
||||
.DA 0 End Of Reloc Table
|
||||
*--------------------------------------
|
||||
Dev.Detect >LDYA L.MSG.DETECT
|
||||
|
@ -41,7 +41,7 @@ Dev.Detect >LDYA L.MSG.DETECT
|
|||
>SYSCALL InsDrv
|
||||
bcs .9
|
||||
|
||||
>STYA DEV.NODE+S.FD.DEV.DRVPTR
|
||||
>STYA NODE+S.FD.DEV.DRVPTR
|
||||
|
||||
>LDYA L.NODE
|
||||
>SYSCALL MKNOD
|
||||
|
@ -54,8 +54,8 @@ NODE .DA #S.FD.T.CDEV
|
|||
.DA #0 HANDLER
|
||||
.DA #0 BUSID
|
||||
.DA #0 DEVID
|
||||
.DA 0 BUSPTR
|
||||
.BS 2 DRVPTR
|
||||
.DA 0 ROMPTR
|
||||
.AZ "CON" NAME
|
||||
.HS 00000000
|
||||
*--------------------------------------
|
||||
|
@ -907,7 +907,7 @@ DEVSTAT .DA #S.DSTAT.S.WRITE+S.DSTAT.S.READ
|
|||
.DA #S.DSTAT.T.CHAR
|
||||
.DA #0
|
||||
.DA #0
|
||||
.DA #91
|
||||
.DA KVER
|
||||
*--------------------------------------
|
||||
DRV.END
|
||||
MAN
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
PR#3
|
||||
PREFIX /A2OSX.BUILD
|
||||
NEW
|
||||
INC 1
|
||||
AUTO 6
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
|
@ -19,7 +17,7 @@ ZPPTR3 .EQ ZPBIN+4
|
|||
*--------------------------------------
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #H.BIN.CPU.65C02
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1
|
||||
.DA 0
|
||||
.DA CS.END-CS.START Code Length To Relocate
|
||||
|
@ -44,14 +42,14 @@ CS.INIT ldy #S.PS.ARGC
|
|||
beq .9
|
||||
|
||||
lda #1 get PTR to ARG[1] (Driver name)
|
||||
>SYSCALL GetArg.A
|
||||
>SYSCALL GetArg
|
||||
>PUSHYA
|
||||
|
||||
>LDYA L.MSG.LOAD
|
||||
>SYSCALL printf
|
||||
|
||||
lda #1 get PTR to ARG[1] (Driver name)
|
||||
>SYSCALL GetArg.A
|
||||
>SYSCALL GetArg
|
||||
|
||||
>SYSCALL LoadDrv YA = PTR to ARG[1...n]
|
||||
bcs .99
|
||||
|
|
|
@ -4,8 +4,8 @@ AUTO 4,1
|
|||
.LIST OFF
|
||||
*--------------------------------------
|
||||
CL.PrintPrompt >LDYA L.ENV.PS1
|
||||
>SYSCALL GetEnv.YA
|
||||
>SYSCALL ExpandStr.YA
|
||||
>SYSCALL GetEnv
|
||||
>SYSCALL ExpandStr
|
||||
phx
|
||||
>SYSCALL printf
|
||||
>LDYA L.MSG.PROMPT
|
||||
|
@ -14,7 +14,7 @@ CL.PrintPrompt >LDYA L.ENV.PS1
|
|||
php
|
||||
pha
|
||||
txa
|
||||
>SYSCALL FreeMem.A
|
||||
>SYSCALL FreeMem
|
||||
pla
|
||||
plp
|
||||
rts
|
||||
|
@ -61,9 +61,9 @@ CL.CHARIN.CTRL cpx #13 CR
|
|||
bne .10
|
||||
|
||||
txa
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
lda #10
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
|
||||
>LDA.G CmdBufPtr
|
||||
tay
|
||||
|
@ -125,7 +125,7 @@ CL.Insert >LDA.G CmdBuflen
|
|||
txa
|
||||
sta (ZPCMDBuf),y
|
||||
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
|
||||
>INC.G CmdBufPtr
|
||||
|
||||
|
@ -163,7 +163,7 @@ CL.BS >LDA.G CmdBufPtr
|
|||
sta (pData),y
|
||||
|
||||
lda #8
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CL.NAK >LDA.G CmdBufPtr
|
||||
|
@ -174,7 +174,7 @@ CL.NAK >LDA.G CmdBufPtr
|
|||
>STA.G CmdBufPtr
|
||||
|
||||
lda #21
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
* Erase char UNDER cursor
|
||||
|
@ -194,7 +194,7 @@ CL.DEL >LDA.G CmdBuflen
|
|||
beq CL.PrintEOL.8
|
||||
|
||||
lda #8
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
|
||||
>DEC.G CmdBufPtr
|
||||
|
||||
|
@ -224,13 +224,13 @@ CL.PrintEOL >LDA.G CmdBufPtr
|
|||
pha
|
||||
tay
|
||||
lda (ZPCMDBuf),y
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
pla
|
||||
inc
|
||||
bra .1
|
||||
|
||||
.2 lda #' '
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
|
||||
>LDA.G CmdBufPtr
|
||||
|
||||
|
@ -240,13 +240,13 @@ CL.PrintEOL >LDA.G CmdBufPtr
|
|||
pha
|
||||
|
||||
lda #8
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
pla
|
||||
inc
|
||||
bra .3
|
||||
|
||||
.4 lda #8
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
|
||||
CL.PrintEOL.8 clc
|
||||
rts
|
||||
|
|
|
@ -4,7 +4,7 @@ AUTO 4,1
|
|||
.LIST OFF
|
||||
*--------------------------------------
|
||||
CMD.Init >LDYAI CmdLine.MAX+1
|
||||
>SYSCALL GetMem.YA
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
>STYA ZPCMDBuf
|
||||
txa
|
||||
|
@ -13,7 +13,7 @@ CMD.Init >LDYAI CmdLine.MAX+1
|
|||
*--------------------------------------
|
||||
CMD.Quit >LDA.G hCmdBuf
|
||||
beq .9
|
||||
>SYSCALL FreeMem.A
|
||||
>SYSCALL FreeMem
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
* ZPCMDBuf : Remove extra SPACE & comment
|
||||
|
@ -76,7 +76,7 @@ Cmd.Exec lda #0
|
|||
>STA.G CMD.hFullpath
|
||||
>LDYA ZPCMDBuf
|
||||
|
||||
>SYSCALL ExpandStr.YA
|
||||
>SYSCALL ExpandStr
|
||||
>STYA ZPPtr1 Ptr to CMD ARGS
|
||||
|
||||
txa
|
||||
|
@ -135,11 +135,11 @@ Cmd.Exec lda #0
|
|||
Cmd.Exec.Done php
|
||||
pha
|
||||
>LDA.G CMD.hCmdLine
|
||||
>SYSCALL FreeMem.A
|
||||
>SYSCALL FreeMem
|
||||
|
||||
>LDA.G CMD.hFullpath
|
||||
beq .1
|
||||
>SYSCALL FreeMem.A
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.1 pla
|
||||
plp
|
||||
|
@ -160,7 +160,7 @@ Cmd.Exec.EXT jsr Cmd.Exec.Split
|
|||
bra .4
|
||||
|
||||
.1 >LDYA L.ENV.PATH push ENVNAME=PATH for search
|
||||
>SYSCALL GetEnv.YA get value for ENV=PATH
|
||||
>SYSCALL GetEnv get value for ENV=PATH
|
||||
bcs .2 No PATH, try in CD
|
||||
|
||||
jsr Cmd.Exec.EXT.Search
|
||||
|
@ -168,13 +168,13 @@ Cmd.Exec.EXT jsr Cmd.Exec.Split
|
|||
|
||||
.2 ldy #S.PS.hPREFIX not found, try in CD
|
||||
lda (pPs),y
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
jsr Cmd.Exec.EXT.Search
|
||||
bcs .99
|
||||
|
||||
.3 >LDYA ZPCMDBuf
|
||||
|
||||
.4 >SYSCALL NewStr.YA
|
||||
.4 >SYSCALL NewStr
|
||||
bcs .99
|
||||
txa
|
||||
>STA.G CMD.hFullpath
|
||||
|
@ -202,7 +202,7 @@ Cmd.Exec.EXT jsr Cmd.Exec.Split
|
|||
Cmd.Exec.EXT.TXT
|
||||
lda #0 Get arg[0] = /PATH/SHELL
|
||||
|
||||
>SYSCALL GetArg.A
|
||||
>SYSCALL GetArg
|
||||
>PUSHYA
|
||||
>PUSHW ZPCMDBuf
|
||||
>SYSCALL StrCat
|
||||
|
@ -213,7 +213,7 @@ Cmd.Exec.EXT.TXT
|
|||
*--------------------------------------
|
||||
Cmd.Exec.EXT.BIN
|
||||
>LDA.G CMD.hFullpath
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>PUSHW ZPCMDBuf
|
||||
>SYSCALL StrCat
|
||||
|
@ -232,10 +232,10 @@ Cmd.Exec.EXT.BIN
|
|||
>LDYA ZPCMDBuf
|
||||
bcs .2 startproc
|
||||
|
||||
>SYSCALL ExecPSNewEnv.YA
|
||||
>SYSCALL ExecPSNewEnv
|
||||
jmp Cmd.Exec.Done
|
||||
|
||||
.2 >SYSCALL CreatePSNewEnv.YA
|
||||
.2 >SYSCALL CreatePSNewEnv
|
||||
jmp Cmd.Exec.Done
|
||||
*--------------------------------------
|
||||
Cmd.Exec.EXT.Search
|
||||
|
@ -263,7 +263,7 @@ Cmd.Exec.EXT.SEP
|
|||
*--------------------------------------
|
||||
Cmd.Exec.PWD ldy #S.PS.hPREFIX
|
||||
lda (pPs),y
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
>SYSCALL printf
|
||||
jmp Cmd.Exec.ECHO.CR
|
||||
*--------------------------------------
|
||||
|
@ -271,10 +271,10 @@ Cmd.Exec.CD lda (ZPPTR2)
|
|||
bne .1
|
||||
|
||||
>LDYA L.ENV.HOME
|
||||
>SYSCALL GetEnv.YA
|
||||
>SYSCALL GetEnv
|
||||
bcs Cmd.Exec.PWD
|
||||
|
||||
>SYSCALL ExpandStr.YA
|
||||
>SYSCALL ExpandStr
|
||||
bcs .9
|
||||
|
||||
bra .4
|
||||
|
@ -296,7 +296,7 @@ Cmd.Exec.CD lda (ZPPTR2)
|
|||
sta (ZPPTR2),y
|
||||
|
||||
.3 >LDYA ZPPTR2 Get ARG
|
||||
>SYSCALL RealPath.YA
|
||||
>SYSCALL RealPath
|
||||
bcs .9
|
||||
|
||||
.4 >STYA ZPPTR2
|
||||
|
@ -318,13 +318,13 @@ Cmd.Exec.CD lda (ZPPTR2)
|
|||
bne Cmd.Exec.ERRSYN
|
||||
|
||||
.8 >LDYA ZPPTR2
|
||||
>SYSCALL NewStr.YA
|
||||
>SYSCALL NewStr
|
||||
bcs .9
|
||||
phx
|
||||
|
||||
ldy #S.PS.hPREFIX
|
||||
lda (pPs),y
|
||||
>SYSCALL FreeMem.A
|
||||
>SYSCALL FreeMem
|
||||
|
||||
pla
|
||||
|
||||
|
@ -356,7 +356,7 @@ Cmd.Exec.SET lda (ZPPTR2)
|
|||
|
||||
ldy #S.PS.hENV
|
||||
lda (pPs),y
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPPTR1
|
||||
|
||||
.1 lda (ZPPTR1)
|
||||
|
@ -420,19 +420,19 @@ Cmd.Exec.SETVAR ldy #0
|
|||
beq .2 "VAR=" go UnsetEnv
|
||||
|
||||
>LDYA ZPPTR2 String is VAR=VALUE...
|
||||
>SYSCALL PutEnv.YA
|
||||
>SYSCALL PutEnv
|
||||
jmp Cmd.Exec.Done
|
||||
|
||||
.2 dey String is "VAR=", Remove endig '='
|
||||
sta (ZPPTR2),y
|
||||
>LDYA ZPPTR2 String is "VAR"...
|
||||
>SYSCALL UnsetEnv.YA
|
||||
>SYSCALL UnsetEnv
|
||||
jmp Cmd.Exec.Done
|
||||
|
||||
* Print requested VAR
|
||||
|
||||
.3 >LDYA ZPPTR2
|
||||
>SYSCALL GetEnv.YA
|
||||
>SYSCALL GetEnv
|
||||
bcs .8
|
||||
|
||||
>PUSHYA push value
|
||||
|
@ -450,7 +450,7 @@ Cmd.Exec.DATE sec
|
|||
Cmd.Exec.TIME clc
|
||||
php
|
||||
>LEA.G CMD.Time
|
||||
>SYSCALL Time.YA
|
||||
>SYSCALL Time
|
||||
|
||||
>PUSHW ZPCMDBuf
|
||||
plp
|
||||
|
@ -475,11 +475,11 @@ Cmd.Exec.ECHO lda (ZPPtr2)
|
|||
|
||||
Cmd.Exec.ECHO.CR
|
||||
lda #13
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
bcs Cmd.Exec.ECHO.END
|
||||
|
||||
lda #10
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
Cmd.Exec.ECHO.END
|
||||
jmp Cmd.Exec.Done
|
||||
*--------------------------------------
|
||||
|
@ -539,7 +539,7 @@ Cmd.Exec.READ lda (ZPPtr2)
|
|||
beq .1
|
||||
|
||||
phy
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
ply
|
||||
bcs .99
|
||||
bra .3
|
||||
|
|
|
@ -31,37 +31,37 @@ CSH.Init lda #$0
|
|||
>STA.G CSH.StackPtr
|
||||
|
||||
lda #1
|
||||
>SYSCALL GetArg.A
|
||||
>SYSCALL LoadTxtFile.YA
|
||||
>SYSCALL GetArg
|
||||
>SYSCALL LoadTxtFile
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
>STA.G CSH.hBuf
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPCSHBufPtr
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem0.YA
|
||||
>SYSCALL GetMem0
|
||||
bcs .9
|
||||
txa
|
||||
>STA.G CSH.hSymbols
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPCSHSymbols
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
txa
|
||||
>STA.G CSH.hData
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPCSHData
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem.YA
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
txa
|
||||
>STA.G CSH.hStack
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPCSHStack
|
||||
|
||||
* clc
|
||||
|
@ -179,19 +179,19 @@ CSH.Run jsr CL.RESET
|
|||
*--------------------------------------
|
||||
CSH.Quit >LDA.G CSH.hBuf
|
||||
beq .1
|
||||
>SYSCALL FreeMem.A
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.1 >LDA.G CSH.hStack
|
||||
beq .2
|
||||
>SYSCALL FreeMem.A
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.2 >LDA.G CSH.hData
|
||||
beq .3
|
||||
>SYSCALL FreeMem.A
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.3 >LDA.G CSH.hSymbols
|
||||
beq .8
|
||||
>SYSCALL FreeMem.A
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
|
@ -1138,7 +1138,7 @@ CSH.IsDigit10 cmp #'0'
|
|||
rts
|
||||
*--------------------------------------
|
||||
CSH.ErrorMsg >LDA.G CSH.hBuf
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPPtr1
|
||||
|
||||
lda #0
|
||||
|
@ -1174,14 +1174,14 @@ CSH.ErrorMsg >LDA.G CSH.hBuf
|
|||
cmp #$0D
|
||||
beq .6
|
||||
phy
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
ply
|
||||
bra .5
|
||||
|
||||
.6 lda #$0D
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
lda #$0A
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
|
||||
|
||||
|
||||
|
@ -1193,7 +1193,7 @@ CSH.ErrorMsg >LDA.G CSH.hBuf
|
|||
|
||||
.7 phy
|
||||
lda #'-'
|
||||
>SYSCALL PutChar.A
|
||||
>SYSCALL PutChar
|
||||
ply
|
||||
dey
|
||||
bne .7
|
||||
|
|
|
@ -4,7 +4,7 @@ AUTO 4,1
|
|||
.LIST OFF
|
||||
*--------------------------------------
|
||||
HIS.Init >LDYAI History.MAX Get a buffer for History
|
||||
>SYSCALL GetMem0.YA
|
||||
>SYSCALL GetMem0
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
|
@ -18,7 +18,7 @@ HIS.Init >LDYAI History.MAX Get a buffer for History
|
|||
HIS.Add >LDA.G HIS.hBuf
|
||||
beq .9
|
||||
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPPTR1
|
||||
|
||||
.10 lda #$ff
|
||||
|
@ -86,7 +86,7 @@ HIS.Add >LDA.G HIS.hBuf
|
|||
HIS.GetPrev >LDA.G HIS.hBuf
|
||||
beq HISTORY.RTS
|
||||
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPPTR1
|
||||
|
||||
>LDA.G HIS.Count
|
||||
|
@ -107,7 +107,7 @@ History.RTS rts
|
|||
HIS.GetNext >LDA.G HIS.hBuf
|
||||
beq HISTORY.RTS
|
||||
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPPTR1
|
||||
|
||||
>LDA.G HIS.Count
|
||||
|
@ -176,7 +176,7 @@ HIS.GetA ldy #0
|
|||
*--------------------------------------
|
||||
HIS.Quit >LDA.G HIS.hBuf
|
||||
beq .9
|
||||
>SYSCALL FreeMem.A
|
||||
>SYSCALL FreeMem
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
|
|
@ -25,7 +25,7 @@ IO.PrintErrMsg pha Save EC for PrintF
|
|||
|
||||
.3 dey
|
||||
bmi .8
|
||||
|
||||
|
||||
lda (ZPPTR1)
|
||||
sec
|
||||
adc ZPPTR1
|
||||
|
|
|
@ -324,7 +324,7 @@ CheckSleep ldy #Sleep+3
|
|||
*--------------------------------------
|
||||
SetPWD ldy #S.PS.hPREFIX
|
||||
lda (pPs),y
|
||||
>SYSCALL GetMemPtr.A
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>PUSHW L.ENV.PWD
|
||||
>SYSCALL SetEnv
|
||||
|
|
|
@ -218,7 +218,7 @@ BIN.Load.1 >PUSHWI K.S.STAT
|
|||
tya
|
||||
* clc CC from bcs .99
|
||||
|
||||
adc BIN.R.CS.Start Get AUXTYPE for actual Base Address
|
||||
adc BIN.R.CS.Start Get AUXTYPE for actual Base Address
|
||||
sta BIN.R.End compute Range End=AUXTYPE+FILELEN
|
||||
pla
|
||||
adc BIN.R.CS.Start+1
|
||||
|
@ -241,11 +241,11 @@ BIN.Load.1 >PUSHWI K.S.STAT
|
|||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc ZPPtr1
|
||||
sta ZPPtr2 Make ZPPtr2 = ZPPtr1 + CodeLen
|
||||
sta BIN.R.CS.End ZPPtr1 + CodeLen
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc ZPPtr1+1
|
||||
sta ZPPtr2+1
|
||||
sta BIN.R.CS.End+1
|
||||
|
||||
jsr BIN.RelExe
|
||||
|
||||
|
|
|
@ -303,7 +303,7 @@ DRV.SYS.WRITE ldy #S.IOCTL.BUFPTR
|
|||
clc
|
||||
rts
|
||||
|
||||
.3 lda (ZPDRV)
|
||||
.3 lda (ZPDRV+4)
|
||||
inc ZPDRV+4
|
||||
bne .4
|
||||
inc ZPDRV+5
|
||||
|
|
|
@ -113,13 +113,11 @@ Kernel.Init3 sta SETALTZP
|
|||
|
||||
jsr PS0.Init
|
||||
|
||||
>DEBUG
|
||||
>LDYAI MSG.Init3
|
||||
>SYSCALL printf
|
||||
>DEBUG
|
||||
|
||||
jsr CPU.Init
|
||||
|
||||
jsr CPU.Init.6502
|
||||
jsr CPU.Init.Z80
|
||||
jsr DevMgrInit
|
||||
|
||||
jsr IrqMgrInit
|
||||
|
@ -294,15 +292,17 @@ PS0.Init >LDYAI CORE.S.PS0 Select Process 0 (Kernel)
|
|||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CPU.Init >LDYAI MSG.CPU
|
||||
CPU.Init.6502 >LDYAI MSG.CPU
|
||||
>SYSCALL printf
|
||||
|
||||
jsr Detect6502 A = CPU type
|
||||
sta A2osX.CPUTYPE
|
||||
|
||||
ldx MSG.CPUTYPEL,y
|
||||
lda MSG.CPUTYPEH,y
|
||||
tay
|
||||
and #$F
|
||||
asl
|
||||
tax
|
||||
ldy MSG.CPUTYPE,x
|
||||
lda MSG.CPUTYPE+1,x
|
||||
|
||||
>SYSCALL printf
|
||||
|
||||
|
@ -368,19 +368,20 @@ CPU.Init >LDYAI MSG.CPU
|
|||
|
||||
.8 lda A2osX.RANDOM16
|
||||
sta A2osX.CPUSPEED+1
|
||||
pha push CPU speed LO
|
||||
>PUSHA push CPU speed LO
|
||||
lda A2osX.CPUSPEED
|
||||
pha push CPU speed HI
|
||||
>PUSHA push CPU speed HI
|
||||
>LDYAI MSG.CPU.SPEEDOK
|
||||
>SYSCALL printf
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CPU.Init.Z80 >LDYAI MSG.Z80
|
||||
>SYSCALL printf
|
||||
|
||||
jsr DetectZ80
|
||||
bcs .9
|
||||
sta A2osX.Z80SLOT
|
||||
pha Push Z80Slot
|
||||
>PUSHA
|
||||
|
||||
tax
|
||||
lda #A2osX.S.Z80
|
||||
|
@ -855,6 +856,10 @@ DevMgrInit.AddBDev
|
|||
ora #$30
|
||||
sta FD.BDEV+S.FD.DEV.NAME+3 SxDn
|
||||
|
||||
>PUSHWI FD.BDEV+S.FD.DEV.NAME
|
||||
>LDYAI MSG.BLKDEV
|
||||
>SYSCALL printf
|
||||
|
||||
>LDYAI FD.BDEV
|
||||
|
||||
DevMgrInit.AddCDev
|
||||
|
@ -884,7 +889,6 @@ DevMgrInit.AddCDev
|
|||
bpl .1
|
||||
|
||||
inc DevMgr.DevCnt
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
EvtMgrInit >LDYAI MSG.EVT
|
||||
|
@ -997,10 +1001,14 @@ TClock.SIG .HS 0878282c58ff700538b00118b8087848
|
|||
SYSSCREEN.TOP .AZ "A2osX System Screen"
|
||||
MSG.Init2 .AZ "A2osX[Stage2]:Init\nRelocating Kernel...\n"
|
||||
MSG.HZ .AZ "Kernel SYS Timer Set For %d0 hz Machine.\n"
|
||||
MSG.KCREAD .AZ "Reading Kernel Config File..."
|
||||
MSG.KCREAD.OK .AZ "OK\n"
|
||||
MSG.KCREAD.KO .AZ "\nError While Reading Kernel Config File, Using Default.\n"
|
||||
MSG.Init2.OK .AZ "A2osX[Stage2]:Complete.\n"
|
||||
*--------------------------------------
|
||||
MSG.Init3 .AZ "A2osX[Stage3]:Init\r\n"
|
||||
MSG.DEV .AZ "-Device Manager...\r\n"
|
||||
MSG.BLKDEV .AZ " /DEV/%s\r\n"
|
||||
MSG.IRQ .AZ "-Interrupt Manager..."
|
||||
MSG.IRQ.VBL .AZ "Mouse VBL IRQ Activated.\r\n"
|
||||
MSG.IRQ.CLOCK .AZ "Clock Card IRQ Activated.\r\n"
|
||||
|
@ -1015,25 +1023,18 @@ MSG.Init3.OK .AZ "A2osX[Stage3]:Complete.\r\n"
|
|||
*--------------------------------------
|
||||
MSG.CPU .AZ "Checking CPU..."
|
||||
MSG.CPU.SPEED .AZ "Detecting CPU Speed..."
|
||||
MSG.CPUTYPEL .DA #MSG.6502
|
||||
.DA #MSG.65C02
|
||||
.DA #MSG.65R02
|
||||
.DA #MSG.65816
|
||||
MSG.CPUTYPEH .DA /MSG.6502
|
||||
.DA /MSG.65C02
|
||||
.DA /MSG.65R02
|
||||
.DA /MSG.65816
|
||||
MSG.6502 .AZ "6502.\n"
|
||||
MSG.65C02 .AZ "65C02.\n"
|
||||
MSG.65R02 .AZ "65R02.\n"
|
||||
MSG.65816 .AZ "65816.\n"
|
||||
MSG.CPU.SPEEDOK .AZ "%d.%02d Mhz.\n"
|
||||
MSG.CPUTYPE .DA MSG.6502
|
||||
.DA MSG.65C02
|
||||
.DA MSG.65R02
|
||||
.DA MSG.65816
|
||||
MSG.6502 .AZ "6502.\r\n"
|
||||
MSG.65C02 .AZ "65C02.\r\n"
|
||||
MSG.65R02 .AZ "65R02.\r\n"
|
||||
MSG.65816 .AZ "65816.\r\n"
|
||||
MSG.CPU.SPEEDOK .AZ "%d.%02d Mhz.\r\n"
|
||||
MSG.Z80 .AZ "Detecting Z80 CPU..."
|
||||
MSG.Z80.OK .AZ "Detected In Slot %d.\n"
|
||||
MSG.Z80.KO .AZ "Not Detected.\n"
|
||||
MSG.KCREAD .AZ "Reading Kernel Config File..."
|
||||
MSG.KCREAD.OK .AZ "OK\n"
|
||||
MSG.KCREAD.KO .AZ "\nError While Reading Kernel Config File, Using Default.\n"
|
||||
MSG.Z80.OK .AZ "Detected In Slot %d.\r\n"
|
||||
MSG.Z80.KO .AZ "Not Detected.\r\n"
|
||||
*--------------------------------------
|
||||
DEV.SYS .AZ "/DEV/SYS"
|
||||
I.ENV.A2osX .AZ "A2OSX"
|
||||
|
|
|
@ -94,10 +94,13 @@ K.Read
|
|||
*--------------------------------------
|
||||
* int write(int fd, const void *buf, size_t count);
|
||||
*--------------------------------------
|
||||
K.Write jsr K.GetMemPtr
|
||||
>STYA pFD
|
||||
K.Write jsr IO.SELECT
|
||||
bcs K.Write.9
|
||||
|
||||
lda (pFD) #S.FD.T
|
||||
>PULLW K.S.IOCTL+S.IOCTL.BUFPTR
|
||||
>PULLW K.S.IOCTL+S.IOCTL.BYTECNT
|
||||
|
||||
K.Write.I lda (pFD) #S.FD.T
|
||||
tax
|
||||
jmp (.1,x)
|
||||
|
||||
|
@ -109,6 +112,7 @@ K.Write jsr K.GetMemPtr
|
|||
.DA STDIO.IOERR DSOCK
|
||||
.DA IO.WRITE.SSOCK
|
||||
.DA IO.WRITE.FIFO
|
||||
K.Write.9 >RET 4
|
||||
*--------------------------------------
|
||||
IO.WRITE.REG >PUSHW K.S.IOCTL+S.IOCTL.BUFPTR
|
||||
>PUSHW K.S.IOCTL+S.IOCTL.BYTECNT
|
||||
|
@ -124,7 +128,7 @@ IO.WRITE.CDEV ldy #S.FD.DEV.DRVPTR
|
|||
lda (pFD),y
|
||||
sta .1+2
|
||||
|
||||
lda K.IOBuf
|
||||
>LDYAI K.S.IOCTL
|
||||
ldx #IOCTL.WRITE
|
||||
.1 jmp $ffff
|
||||
*--------------------------------------
|
||||
|
|
|
@ -175,11 +175,15 @@ K.PrintF >STYA ZPPtr1 format
|
|||
|
||||
K.PrintF.0 >LDYAI K.IOBuf
|
||||
>STYA pIOBuf
|
||||
>STYA K.S.IOCTL+S.IOCTL.BUFPTR
|
||||
|
||||
K.PrintF.1 ldy #0
|
||||
|
||||
K.PrintF.1 stz K.S.IOCTL+S.IOCTL.BYTECNT
|
||||
stz K.S.IOCTL+S.IOCTL.BYTECNT+1
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 lda (ZPPtr1),y
|
||||
beq .99
|
||||
beq .8 end of format..
|
||||
iny
|
||||
cmp #'%'
|
||||
bne .10
|
||||
|
@ -194,7 +198,7 @@ K.PrintF.1 ldy #0
|
|||
iny
|
||||
|
||||
.3 cmp PrintFTBL1,x do we have a %x command?
|
||||
beq .8 yes, jmp to it!
|
||||
beq .6 yes, jmp to it!
|
||||
dex
|
||||
bpl .3 no valid letter...
|
||||
|
||||
|
@ -225,7 +229,7 @@ K.PrintF.1 ldy #0
|
|||
sta K.PrintF.PadL
|
||||
bra .2 go get next char...
|
||||
|
||||
.8 phy
|
||||
.6 phy
|
||||
txa
|
||||
asl
|
||||
tax
|
||||
|
@ -233,6 +237,8 @@ K.PrintF.1 ldy #0
|
|||
ply
|
||||
bcc .1
|
||||
rts
|
||||
|
||||
.8 jmp PrintF.Flush
|
||||
|
||||
.10 cmp #'\'
|
||||
bne .20
|
||||
|
@ -542,9 +548,9 @@ PrintF.SS ldy #$00 PSTR
|
|||
*--------------------------------------
|
||||
PrintF.COut phy
|
||||
|
||||
ldy S.IOCTL.BYTECNT
|
||||
ldy K.S.IOCTL+S.IOCTL.BYTECNT
|
||||
sta (pIOBuf),y
|
||||
inc S.IOCTL.BYTECNT
|
||||
inc K.S.IOCTL+S.IOCTL.BYTECNT
|
||||
bne .8
|
||||
|
||||
lda pIOBuf+1
|
||||
|
@ -553,23 +559,25 @@ PrintF.COut phy
|
|||
|
||||
* we are printing to IObuf, flush!
|
||||
|
||||
lda S.IOCTL.BYTECNT+1
|
||||
lda K.S.IOCTL+S.IOCTL.BYTECNT+1
|
||||
pha
|
||||
lda #1 Flush $100 bytes
|
||||
sta S.IOCTL.BYTECNT+1
|
||||
sta K.S.IOCTL+S.IOCTL.BYTECNT+1
|
||||
|
||||
|
||||
pla
|
||||
inc
|
||||
sta S.IOCTL.BYTECNT+1
|
||||
sta K.S.IOCTL+S.IOCTL.BYTECNT+1
|
||||
|
||||
|
||||
.7 inc pIOBuf+1
|
||||
inc S.IOCTL.BYTECNT+1
|
||||
inc K.S.IOCTL+S.IOCTL.BYTECNT+1
|
||||
|
||||
.8 ply
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
PrintF.Flush jmp K.Write.I
|
||||
*/--------------------------------------
|
||||
* # GetChar
|
||||
* Get char from StdIn
|
||||
|
@ -593,8 +601,7 @@ K.GetChar ldy #S.PS.hStdIn
|
|||
* CC = success
|
||||
* A = char
|
||||
*\--------------------------------------
|
||||
K.GetC jsr K.GetMemPtr
|
||||
>STYA pFD
|
||||
K.GetC jsr IO.SELECT
|
||||
|
||||
ldy #S.FD.T
|
||||
lda (pFD),y
|
||||
|
|
Loading…
Reference in New Issue
Block a user