mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-22 00:32:44 +00:00
Kernel 0.92
This commit is contained in:
parent
69ea50ba1a
commit
e1011e4ae9
4
ETC/INIT
4
ETC/INIT
@ -5,8 +5,8 @@ AUTO 4,1
|
||||
ECHO *** A2osX INIT Script ***
|
||||
SET PS1='$PWD'
|
||||
# Main Screen
|
||||
INSDRV CONSOLE.DRV
|
||||
STARTPROC GETTY /DEV/CON ${ROOT}SBIN/LOGIN
|
||||
# INSDRV CONSOLE.DRV
|
||||
# STARTPROC GETTY /DEV/CON ${ROOT}SBIN/LOGIN
|
||||
# Serial Login
|
||||
#INSDRV SSC.DRV 9600,N,8,1,X
|
||||
#INSDRV SSC.I.DRV 9600,N,8,1,X
|
||||
|
@ -15,7 +15,7 @@ pDRV .EQ ZPKERNEL+10
|
||||
pIOCTL .EQ ZPKERNEL+12
|
||||
pIOBuf .EQ ZPKERNEL+14
|
||||
*--------------------------------------
|
||||
SYS.BASL0 .EQ $800
|
||||
SYS.BASL0 .EQ $400
|
||||
*--------------------------------------
|
||||
* AuxMove / XFer
|
||||
*--------------------------------------
|
||||
|
@ -151,7 +151,6 @@ K.MKDev jsr MEM.SPtr1PPtr2 ptr1=fd, ptr2=name
|
||||
.8 >LDYA ZPPtr2
|
||||
jsr K.NewStr
|
||||
bcs .99
|
||||
>DEBUG
|
||||
txa
|
||||
|
||||
ldx DevMgr.DevCnt
|
||||
|
@ -117,7 +117,7 @@ Kernel.Init3 sta SETALTZP
|
||||
bcs *
|
||||
jsr PS0.Init
|
||||
bcs *
|
||||
|
||||
|
||||
>LDYAI MSG.Init3
|
||||
>SYSCALL puts
|
||||
|
||||
@ -145,18 +145,18 @@ Kernel.Init3 sta SETALTZP
|
||||
>LDYAI MSG.Prefix
|
||||
>SYSCALL printf
|
||||
|
||||
lda KBD
|
||||
bpl .1
|
||||
sta KBDSTROBE
|
||||
cmp #$84 CTRL-D for Maintenace mode
|
||||
bne .1
|
||||
* lda KBD
|
||||
* bpl .1
|
||||
* sta KBDSTROBE
|
||||
* cmp #146 CTRL-R for Maintenance mode
|
||||
* bne .1
|
||||
|
||||
>PUSHBI 0
|
||||
>LDYAI MSG.CTRLD
|
||||
>SYSCALL printf
|
||||
|
||||
>PUSHBI 0 PS Flags
|
||||
>LDYAI CTRLD.SHELL
|
||||
>LDYAI CTRLR.SHELL
|
||||
bra .8
|
||||
|
||||
.1 >PUSHWI ETCINIT.CMDLINE
|
||||
@ -338,54 +338,6 @@ SysScrInit jsr SysScrInit.EnvBuf
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
SysScrInit.OLD ldx #0
|
||||
|
||||
ldy #0
|
||||
|
||||
.2 lda SYSSCREEN.TOP,y
|
||||
beq .3
|
||||
|
||||
cmp #$40
|
||||
bcc .10
|
||||
cmp #$5F
|
||||
bcs .10
|
||||
and #$3F
|
||||
|
||||
.10 sta SETWRITEAUX
|
||||
sta SYS.BASL0,x
|
||||
sta CLRWRITEAUX
|
||||
|
||||
iny
|
||||
|
||||
lda SYSSCREEN.TOP,y
|
||||
beq .5
|
||||
|
||||
cmp #$40
|
||||
bcc .11
|
||||
cmp #$5F
|
||||
bcs .11
|
||||
and #$3F
|
||||
|
||||
.11 sta SYS.BASL0,x
|
||||
|
||||
iny
|
||||
inx
|
||||
bra .2
|
||||
|
||||
.3 lda #$20
|
||||
|
||||
.4 sta SETWRITEAUX
|
||||
sta SYS.BASL0,x
|
||||
sta CLRWRITEAUX
|
||||
|
||||
.5 lda #$20
|
||||
sta SYS.BASL0,x
|
||||
|
||||
inx
|
||||
cpx #40
|
||||
bne .4
|
||||
rts
|
||||
*--------------------------------------
|
||||
SysScrInit.EnvBuf
|
||||
clc
|
||||
@ -411,7 +363,7 @@ PS0.Init >LDYAI CORE.S.PS0 Select Process 0 (Kernel)
|
||||
>PUSHWI 0 Aux type
|
||||
>PUSHBI S.FI.T.TXT
|
||||
>PUSHBI O.RDWR
|
||||
|
||||
|
||||
>LDYAI DEV.CONSOLE
|
||||
>SYSCALL fopen
|
||||
bcs .9
|
||||
@ -1107,8 +1059,7 @@ MSG.KCREAD.KO .AZ "\nError While Reading Kernel Config File, Using Default.\n"
|
||||
MSG.Init2.OK .AZ "A2osX[Stage2]:Complete.\n"
|
||||
*--------------------------------------
|
||||
SYSSCREEN.TOP .AZ "A2osX 0.92 Console"
|
||||
MSG.Init3 .AS "A2osX[Stage3]:Init "
|
||||
.AZ "*** Press Ctrl-D for Mantenance Mode ***"
|
||||
MSG.Init3 .AZ "A2osX[Stage3]:Init *** Press Ctrl-R for ROOT Mode ***"
|
||||
MSG.DEV .AZ "Device Manager..."
|
||||
MSG.BLKDEV .AZ " Adding : /DEV/%s\r\n"
|
||||
MSG.IRQ .AZ "Interrupt Manager..."
|
||||
@ -1143,7 +1094,7 @@ I.ENV.ROOT .AZ "ROOT"
|
||||
I.ENV.PATH .AZ "PATH=${ROOT}SBIN/:${ROOT}BIN/"
|
||||
I.ENV.LIB .AZ "LIB=${ROOT}LIB/"
|
||||
I.ENV.DRV .AZ "DRV=${ROOT}DRV/"
|
||||
CTRLD.SHELL .AZ "${ROOT}BIN/SHELL"
|
||||
CTRLR.SHELL .AZ "${ROOT}BIN/SHELL"
|
||||
ETCINIT.CMDLINE .AZ "${ROOT}ETC/INIT"
|
||||
*--------------------------------------
|
||||
MLIOPEN00 .DA #3
|
||||
|
@ -4,37 +4,23 @@ AUTO 4,1
|
||||
*--------------------------------------
|
||||
CURSOR.BLINK.SPEED .EQ 2
|
||||
*--------------------------------------
|
||||
ZPIOCTL .EQ ZPDRV
|
||||
ZPDCBPtr .EQ ZPDRV+2
|
||||
ZPBufPtr .EQ ZPDRV+10
|
||||
ZPCount .EQ ZPDRV+12
|
||||
ZPBufBaseL1 .EQ ZPDRV+14
|
||||
ZPBufBaseL2 .EQ ZPDRV+16
|
||||
ZPScrBaseL1 .EQ ZPDRV+18
|
||||
ZPScrBaseL2 .EQ ZPDRV+20
|
||||
ZPTmpWord .EQ ZPDRV+22
|
||||
ZPTmpBool .EQ ZPDRV+24
|
||||
.DUMMY
|
||||
.OR ZPDRV
|
||||
ZPIOCTL .BS 2
|
||||
ZPDCBPtr .BS 2
|
||||
ZPBufPtr .BS 2
|
||||
ZPCount .BS 2
|
||||
ZPBufBaseL1 .BS 2
|
||||
ZPBufBaseL2 .BS 2
|
||||
ZPScrBaseL1 .BS 2
|
||||
ZPScrBaseL2 .BS 2
|
||||
ZPTmpWord .BS 2
|
||||
ZPTmpBool .BS 1
|
||||
.ED
|
||||
*--------------------------------------
|
||||
DRV.TERM cld
|
||||
>STYA pIOCTL
|
||||
|
||||
ldy #S.FD.DEV.DCBPTR
|
||||
lda (pFD),y
|
||||
sta ZPDCBPtr
|
||||
iny
|
||||
lda (pFD),y
|
||||
sta ZPDCBPtr+1
|
||||
|
||||
ldy #S.DCB.TTY.DEVID
|
||||
lda (ZPDCBPtr),y
|
||||
cmp A2osX.ASCREEN
|
||||
beq .1 CS
|
||||
|
||||
clc
|
||||
.1 ror bActive
|
||||
|
||||
jmp (.8,x)
|
||||
.8 .DA DRV.TERM.STATUS
|
||||
jmp (.1,x)
|
||||
.1 .DA DRV.TERM.STATUS
|
||||
.DA A2osX.BADCALL
|
||||
.DA A2osX.BADCALL
|
||||
.DA A2osX.BADCALL
|
||||
@ -45,12 +31,9 @@ DRV.TERM cld
|
||||
.DA DRV.TERM.READ
|
||||
.DA DRV.TERM.WRITE
|
||||
*--------------------------------------
|
||||
DRV.TERM.STATUS ldy #S.IOCTL.BUFPTR
|
||||
lda (ZPIOCTL),y
|
||||
sta ZPBufPtr
|
||||
iny
|
||||
lda (ZPIOCTL),y
|
||||
sta ZPBufPtr+1
|
||||
DRV.TERM.STATUS >STYA ZPIOCTL
|
||||
|
||||
jsr GetIOCTLBuf
|
||||
|
||||
ldy #S.IOCTL.STATCODE
|
||||
lda (ZPIOCTL),y
|
||||
@ -68,6 +51,8 @@ DRV.TERM.STATUS ldy #S.IOCTL.BUFPTR
|
||||
dey
|
||||
bne .2
|
||||
|
||||
jsr DRV.TERM.GetDCB
|
||||
|
||||
ldy #S.DCB.TTY.STATUS
|
||||
lda (ZPDCBPtr),y
|
||||
sta (ZPBufPtr)
|
||||
@ -79,7 +64,7 @@ DRV.TERM.STATUS ldy #S.IOCTL.BUFPTR
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.OPEN ldx #0
|
||||
DRV.TERM.OPEN ldx #0 DEV.ID in A
|
||||
|
||||
.1 ldy A2osX.SCRNDEVS,x
|
||||
beq .2
|
||||
@ -96,7 +81,11 @@ DRV.TERM.OPEN ldx #0
|
||||
sec
|
||||
rts
|
||||
|
||||
.2 sta A2osX.SCRNDEVS,x DEV.ID in A
|
||||
.2 pha DEV.ID in A
|
||||
|
||||
jsr DRV.TERM.GetDCB
|
||||
|
||||
pla
|
||||
ldy #S.DCB.TTY.DEVID
|
||||
sta (ZPDCBPtr),y
|
||||
|
||||
@ -114,14 +103,20 @@ DRV.TERM.OPEN ldx #0
|
||||
DRV.TERM.CONTROL
|
||||
sta SETTEXT
|
||||
|
||||
jsr DRV.TERM.GetDCB
|
||||
|
||||
ldy #S.DCB.TTY.DEVID
|
||||
lda (ZPDCBPtr),y
|
||||
sta A2osX.ASCREEN
|
||||
|
||||
jsr DRV.TERM.SCRCPY
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.CLOSE ldy #S.DCB.TTY.STATUS
|
||||
DRV.TERM.CLOSE jsr DRV.TERM.GetDCB
|
||||
|
||||
ldy #S.DCB.TTY.STATUS
|
||||
lda (ZPDCBPtr),y
|
||||
bit #S.DIB.S.OPENED
|
||||
beq .9
|
||||
@ -145,13 +140,21 @@ DRV.TERM.CLOSE ldy #S.DCB.TTY.STATUS
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 lda MLI.E.IO
|
||||
.9 lda #MLI.E.IO
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.READ bit bActive is screen active?
|
||||
bpl .6 no....go check flush...
|
||||
DRV.TERM.READ >STYA ZPIOCTL
|
||||
|
||||
jsr GetIOCTLBufAndCnt
|
||||
|
||||
jsr DRV.TERM.GetDCB
|
||||
|
||||
jsr DRV.TERM.GetActive
|
||||
|
||||
bit bActive is screen active?
|
||||
bpl .6 no....go check flush...
|
||||
|
||||
lda A2osX.TIMER16
|
||||
and #CURSOR.BLINK.SPEED
|
||||
ldy #S.DCB.TTY.bCURON
|
||||
@ -194,7 +197,7 @@ DRV.TERM.READ bit bActive is screen active?
|
||||
beq .9 no char in output buffer...
|
||||
|
||||
.7 stz .8+1
|
||||
jsr GetPtrsAndCnt
|
||||
jsr GetIOCTLBufAndCnt
|
||||
|
||||
.70 inc ZPCount
|
||||
bne .71
|
||||
@ -224,7 +227,13 @@ DRV.TERM.READ bit bActive is screen active?
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.WRITE jsr GetPtrsAndCnt
|
||||
DRV.TERM.WRITE >STYA ZPIOCTL
|
||||
|
||||
jsr GetIOCTLBufAndCnt
|
||||
|
||||
jsr DRV.TERM.GetDCB
|
||||
|
||||
jsr DRV.TERM.GetActive
|
||||
|
||||
.1 inc ZPCount
|
||||
bne .2
|
||||
@ -639,7 +648,7 @@ RESET jsr RESET.MODE
|
||||
lda #23
|
||||
sta (ZPDCBPtr),y
|
||||
|
||||
jsr CLRSCR
|
||||
jsr DRV.TERM.CLRSCR
|
||||
*--------------------------------------
|
||||
RESETATTR lda #$80
|
||||
ldy #S.DCB.TTY.bINVERSE
|
||||
@ -650,7 +659,7 @@ RESETATTR lda #$80
|
||||
J.CtrlChars .DA ENQ 5
|
||||
.DA BS 8
|
||||
.DA LF 10
|
||||
.DA CLRSCR 12
|
||||
.DA DRV.TERM.CLRSCR 12
|
||||
.DA CROUT 13
|
||||
.DA FS 21
|
||||
.DA ESC 27
|
||||
@ -1089,15 +1098,26 @@ Char.Out.Get ldy #S.DCB.TTY.OUTHEAD
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
GetPtrsAndCnt ldy #S.IOCTL.BUFPTR
|
||||
lda (ZPIOCTL),y
|
||||
sta ZPBufPtr
|
||||
iny
|
||||
lda (ZPIOCTL),y
|
||||
sta ZPBufPtr+1
|
||||
|
||||
* ldy #S.IOCTL.BYTECNT
|
||||
DRV.TERM.GetDCB ldy #S.FD.DEV.DCBPTR
|
||||
lda (pFD),y
|
||||
sta ZPDCBPtr
|
||||
iny
|
||||
lda (pFD),y
|
||||
sta ZPDCBPtr+1
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.GetActive
|
||||
ldy #S.DCB.TTY.DEVID
|
||||
lda (ZPDCBPtr),y
|
||||
cmp A2osX.ASCREEN
|
||||
beq .1 CS
|
||||
|
||||
clc
|
||||
.1 ror bActive
|
||||
rts
|
||||
*--------------------------------------
|
||||
GetIOCTLBufAndCnt
|
||||
ldy #S.IOCTL.BYTECNT
|
||||
|
||||
lda (ZPIOCTL),y
|
||||
eor #$ff
|
||||
@ -1106,17 +1126,25 @@ GetPtrsAndCnt ldy #S.IOCTL.BUFPTR
|
||||
lda (ZPIOCTL),y
|
||||
eor #$ff
|
||||
sta ZPCount+1
|
||||
|
||||
GetIOCTLBuf ldy #S.IOCTL.BUFPTR
|
||||
lda (ZPIOCTL),y
|
||||
sta ZPBufPtr
|
||||
iny
|
||||
lda (ZPIOCTL),y
|
||||
sta ZPBufPtr+1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
*--------------------------------------
|
||||
SETUP.L1X clc
|
||||
|
||||
ldy #S.FD.DEV.BUFPTR
|
||||
lda SCR.BASEL,x
|
||||
lda BUF.BASEL,x
|
||||
adc (pFD),y
|
||||
sta ZPBufBaseL1
|
||||
|
||||
iny
|
||||
lda SCR.BASEH,x
|
||||
lda BUF.BASEH,x
|
||||
adc (pFD),y
|
||||
sta ZPBufBaseL1+1
|
||||
|
||||
@ -1129,8 +1157,6 @@ SETUP.L1X clc
|
||||
sta ZPScrBaseL1+1
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
DRV.CS.END
|
||||
*--------------------------------------
|
||||
SCR.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0
|
||||
SCR.BASEH .HS 04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07
|
||||
*--------------------------------------
|
||||
|
@ -2,7 +2,7 @@ NEW
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*--------------------------------------
|
||||
ClrScr ldx #23
|
||||
DRV.TERM.CLRSCR ldx #23
|
||||
|
||||
.1 jsr SETUP.L1X
|
||||
|
||||
@ -35,6 +35,8 @@ ClrScr ldx #23
|
||||
dey
|
||||
bpl .5
|
||||
|
||||
sta CLRWRITEAUX
|
||||
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
@ -45,6 +47,60 @@ ClrScr ldx #23
|
||||
sta (ZPDCBPtr),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.SCRCPY ldx #0
|
||||
|
||||
.1 ldy #S.FD.DEV.BUFPTR
|
||||
lda (pFD),y
|
||||
clc
|
||||
adc BUF.BASEL,x
|
||||
sta .2+1
|
||||
sta .3+1
|
||||
|
||||
iny
|
||||
lda (pFD),y
|
||||
adc BUF.BASEH,x
|
||||
sta .2+2
|
||||
sta .3+2
|
||||
|
||||
lda SCR.BASEL,x
|
||||
sta ZPScrBaseL1
|
||||
lda SCR.BASEH,x
|
||||
sta ZPScrBaseL1+1
|
||||
|
||||
phx
|
||||
|
||||
sta SETREADAUX
|
||||
|
||||
ldx #79
|
||||
ldy #39
|
||||
sta SETPAGE2
|
||||
|
||||
.2 lda $ffff,x SELF MODIFIED
|
||||
sta (ZPScrBaseL1),y
|
||||
dex
|
||||
dex
|
||||
dey
|
||||
bpl .2
|
||||
|
||||
ldx #78
|
||||
ldy #39
|
||||
sta CLRPAGE2
|
||||
|
||||
.3 lda $ffff,x SELF MODIFIED
|
||||
sta (ZPScrBaseL1),y
|
||||
dex
|
||||
dex
|
||||
dey
|
||||
bpl .3
|
||||
|
||||
sta CLRREADAUX
|
||||
|
||||
plx
|
||||
inx
|
||||
cpx #24
|
||||
bne .1
|
||||
rts
|
||||
*--------------------------------------
|
||||
SetCharAtCurPos pha
|
||||
ldy #S.DCB.TTY.CV
|
||||
lda (ZPDCBPtr),y
|
||||
@ -55,26 +111,37 @@ SetCharAtCurPos pha
|
||||
pla
|
||||
*--------------------------------------
|
||||
SetCharAtYX cmp #$40
|
||||
bcc .10
|
||||
bcc .1
|
||||
cmp #$5F
|
||||
bcs .10
|
||||
bcs .1
|
||||
and #$3F
|
||||
|
||||
.10 pha
|
||||
.1 pha
|
||||
phy
|
||||
jsr SETUP.L1X
|
||||
ply
|
||||
|
||||
pla
|
||||
sta SETWRITEAUX
|
||||
sta (ZPBufBaseL1),y
|
||||
sta CLRWRITEAUX
|
||||
|
||||
bit bActive
|
||||
bpl .8
|
||||
|
||||
pha
|
||||
|
||||
tya
|
||||
lsr
|
||||
tay
|
||||
|
||||
pla
|
||||
bcs .1
|
||||
bcs .2
|
||||
|
||||
sta SETPAGE2
|
||||
.1 sta (ZPScrBaseL1),y
|
||||
.2 sta (ZPScrBaseL1),y
|
||||
sta CLRPAGE2
|
||||
rts
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
GetCharAtCurPos ldy #S.DCB.TTY.CV
|
||||
lda (ZPDCBPtr),y
|
||||
@ -84,14 +151,12 @@ GetCharAtCurPos ldy #S.DCB.TTY.CV
|
||||
|
||||
ldy #S.DCB.TTY.CH
|
||||
lda (ZPDCBPtr),y
|
||||
lsr
|
||||
tay
|
||||
|
||||
bcs .1
|
||||
|
||||
sta SETPAGE2
|
||||
.1 lda (ZPScrBaseL1),y
|
||||
sta CLRPAGE2
|
||||
sta SETREADAUX
|
||||
lda (ZPBufBaseL1),y
|
||||
sta CLRREADAUX
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
COPY.XtoL1 ldy #79
|
||||
|
Loading…
Reference in New Issue
Block a user