mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-26 13:49:18 +00:00
Kernel version 0.9 : Few bytes saved in Kernel, SSC Drivers now updating KCONFIG Block
This commit is contained in:
parent
61615d2be9
commit
3e44afae7c
@ -35,15 +35,20 @@ L.MSG.DETECT.KO .DA MSG.DETECT.KO
|
||||
L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
|
||||
.DA 0 End Of Reloc Table
|
||||
*--------------------------------------
|
||||
Dev.Detect sta hArgs
|
||||
Dev.Detect >STYA ARGS
|
||||
>LDYA L.MSG.DETECT
|
||||
>SYSCALL CPrintFYA
|
||||
>SYSCALL PPrintFYA
|
||||
|
||||
stz ZPTmpPtr1
|
||||
lda #$C1
|
||||
sta ZPTmpPtr1+1
|
||||
|
||||
.1 ldx #DEVSIG.Length-1
|
||||
.1 and #$0f
|
||||
tay
|
||||
lda A2osX.SLOTS,y
|
||||
bne .3
|
||||
|
||||
ldx #DEVSIG.Length-1
|
||||
|
||||
.2 ldy DEVSIG.Offset,x
|
||||
lda (ZPTmpPtr1),y
|
||||
@ -59,7 +64,7 @@ Dev.Detect sta hArgs
|
||||
bne .1
|
||||
|
||||
>LDYA L.MSG.DETECT.KO
|
||||
>SYSCALL CPrintFYA
|
||||
>SYSCALL PPrintFYA
|
||||
|
||||
lda #MLI.ERR.NODEV Not Found in any slot, exiting
|
||||
sec
|
||||
@ -67,6 +72,11 @@ Dev.Detect sta hArgs
|
||||
|
||||
.4 lda ZPTmpPtr1+1
|
||||
and #$0F
|
||||
pha
|
||||
tay
|
||||
lda #A2osX.SLOTS.COM
|
||||
sta A2osX.SLOTS,y
|
||||
pla
|
||||
ora #$30
|
||||
sta DEV.HEADER.NAME+4
|
||||
asl
|
||||
@ -77,7 +87,7 @@ Dev.Detect sta hArgs
|
||||
|
||||
>PUSHW L.DEV.HEADER.NAME
|
||||
>LDYA L.MSG.DETECT.OK
|
||||
>SYSCALL CPrintFYA
|
||||
>SYSCALL PPrintFYA
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -85,10 +95,10 @@ CS.END
|
||||
DEVSIG.Offset .HS 05070B0C
|
||||
DEVSIG.Value .HS 38180131
|
||||
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
|
||||
MSG.DETECT >CSTR "Apple SSC (Super Serial Card,//c Serial Port) Driver.\r\n"
|
||||
MSG.DETECT.OK >CSTR "SSC Installed As Device : %S\r\n"
|
||||
MSG.DETECT.KO >CSTR "No SSC Found.\r\n"
|
||||
hArgs .BS 1
|
||||
MSG.DETECT >PSTR "Apple SSC (Super Serial Card,//c Serial Port) Driver.\r\n"
|
||||
MSG.DETECT.OK >PSTR "SSC Installed As Device : %S\r\n"
|
||||
MSG.DETECT.KO >PSTR "No SSC Found.\r\n"
|
||||
ARGS .BS 2
|
||||
*--------------------------------------
|
||||
* Device Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.BUILD
|
||||
NEW
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
@ -38,15 +38,21 @@ L.MSG.DETECT.KO .DA MSG.DETECT.KO
|
||||
L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
|
||||
.DA 0 End Of Reloc Table
|
||||
*--------------------------------------
|
||||
Dev.Detect sta hArgs
|
||||
Dev.Detect >STYA ARGS
|
||||
|
||||
>LDYA L.MSG.DETECT
|
||||
>SYSCALL CPrintFYA
|
||||
>SYSCALL PPrintFYA
|
||||
|
||||
stz ZPTmpPtr1
|
||||
lda #$C1
|
||||
sta ZPTmpPtr1+1
|
||||
|
||||
.1 ldx #DEVSIG.Length-1
|
||||
.1 and #$0f
|
||||
tay
|
||||
lda A2osX.SLOTS,y
|
||||
bne .3
|
||||
|
||||
ldx #DEVSIG.Length-1
|
||||
|
||||
.2 ldy DEVSIG.Offset,x
|
||||
lda (ZPTmpPtr1),y
|
||||
@ -62,7 +68,7 @@ Dev.Detect sta hArgs
|
||||
bne .1
|
||||
|
||||
>LDYA L.MSG.DETECT.KO
|
||||
>SYSCALL CPrintFYA
|
||||
>SYSCALL PPrintFYA
|
||||
|
||||
lda #MLI.ERR.NODEV Not Found in any slot, exiting
|
||||
sec
|
||||
@ -70,6 +76,11 @@ Dev.Detect sta hArgs
|
||||
|
||||
.4 lda ZPTmpPtr1+1
|
||||
and #$0F
|
||||
pha
|
||||
tay
|
||||
lda #A2osX.SLOTS.COM
|
||||
sta A2osX.SLOTS,y
|
||||
pla
|
||||
ora #$30
|
||||
sta DEV.HEADER.NAME+4
|
||||
asl
|
||||
@ -80,7 +91,7 @@ Dev.Detect sta hArgs
|
||||
|
||||
>PUSHW L.DEV.HEADER.NAME
|
||||
>LDYA L.MSG.DETECT.OK
|
||||
>SYSCALL CPrintFYA
|
||||
>SYSCALL PPrintFYA
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -88,10 +99,10 @@ CS.END
|
||||
DEVSIG.Offset .HS 05070B0C
|
||||
DEVSIG.Value .HS 38180131
|
||||
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
|
||||
MSG.DETECT >CSTR "Apple SSC (Super Serial Card,//c Serial Port) Driver (IRQ Enabled).\r\n"
|
||||
MSG.DETECT.OK >CSTR "SSC Installed As Device : %S\r\n"
|
||||
MSG.DETECT.KO >CSTR "No SSC Found.\r\n"
|
||||
hArgs .BS 1
|
||||
MSG.DETECT >PSTR "Apple SSC (Super Serial Card,//c Serial Port) Driver (IRQ Enabled).\r\n"
|
||||
MSG.DETECT.OK >PSTR "SSC Installed As Device : %S\r\n"
|
||||
MSG.DETECT.KO >PSTR "No SSC Found.\r\n"
|
||||
ARGS .BS 2
|
||||
*--------------------------------------
|
||||
* Device Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
@ -319,5 +330,5 @@ STAT .DA #S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ+S.DEV.S.IRQ
|
||||
.DA $0900
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/DRV/SSC.DRV.I.S
|
||||
SAVE /A2OSX.SRC/DRV/SSC.I.DRV.S
|
||||
ASM
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
12
README.md
12
README.md
@ -27,7 +27,7 @@ Several subprojects are now indentified :
|
||||
|
||||
+ Hardware Support : adding drivers to support more & more hardware (RAM cards, storage....)
|
||||
+ Z80 support : Kernel could pass control to any Z80 detected on the system.
|
||||
+ TCPIP stack : TCP still missing!
|
||||
+ TCP/IP stack
|
||||
+ AppleTalk Support
|
||||
+ GUI & Printing
|
||||
+ Archive, Disk Image transfer tools (ADT client!)...
|
||||
@ -79,11 +79,13 @@ OApple+1,OApple+2,OApple+3 to switch between screens : Kernel Log, text, DHGR.
|
||||
| INSDRV | Working | | 0.9 |
|
||||
| GETTY | Working | | 0.9 |
|
||||
| LOGIN | In Progress | no auth using /etc/passd yet | 0.9 |
|
||||
| SHELL | Working | (See Internal Shell commands) | 0.9 |
|
||||
| TCPIP | In Progress | New Socket API. ARP,IP,ICMP,UDP ok, TCP in progress | 0.9 |
|
||||
| SHELL | Working | Kernel Configuration Utility | 0.9 |
|
||||
| KCONFIG | Working | (See Internal Shell commands) | 0.9 |
|
||||
| ---- | ------ | ------- | -----:|
|
||||
| TCPIP | Working | Socket API.ARP,IP,ICMP,UDP & TCP ok | 0.9 |
|
||||
| DHCPCLNT| Working | rewritten to use new Socket API | 0.9 |
|
||||
| TELNETD | | | |
|
||||
| HTTPD | | | |
|
||||
| TELNETD | In Progress | | 0.9 |
|
||||
| HTTPD | In Progress | | 0.9 |
|
||||
|
||||
## Internal Shell commands:
|
||||
|
||||
|
@ -350,10 +350,10 @@ MSG.KCONF >PSTR "\e[2;1H------ Actual Kernel Configuration ------\r\n"
|
||||
MSG.FCONF >PSTR "\e[13;1H------ KCONFIG File Configuration ------\r\n"
|
||||
MSG.HZ >PSTR " Machine Timing : %d0 Hz\r\n"
|
||||
MSG.CHROOT >PSTR " CHRoot to /RAMx : %S\r\n"
|
||||
MSG.ENABLED >PSTR "Enabled"
|
||||
MSG.ENABLED >PSTR "Enabled "
|
||||
MSG.DISABLED >PSTR "Disabled"
|
||||
MSG.SLOT >PSTR " Slot #%d : %S\r\n"
|
||||
MSG.SLOT.NODEV >PSTR "<NO DEVICE>"
|
||||
MSG.SLOT.NODEV >PSTR "<ENABLED> "
|
||||
MSG.SLOT.Z80 >PSTR "Z80 CPU Board"
|
||||
MSG.SLOT.VSD >PSTR "SSC Shared Driver for VSDRIVE"
|
||||
MSG.SLOT.ATK >PSTR "AppleTalk Board"
|
||||
|
@ -14,21 +14,21 @@ K.LoadDrvYA >STYA K.LoadDrv.CmdArray
|
||||
|
||||
>LDYAI ENV.DRV push ENVNAME=DRV
|
||||
>SYSCALL GetEnvYA get value for ENV=DRV
|
||||
bcs .99
|
||||
bcs .9
|
||||
|
||||
>PUSHYA Push $DRV value
|
||||
|
||||
>PUSHW K.LoadDrv.CmdArray (ARG[0] = DRVNAME)
|
||||
|
||||
jsr K.FileSearch find libname in $DRV
|
||||
bcs .99
|
||||
stx K.LoadDrv.hFullName
|
||||
jsr K.FileSearch find Driver in $DRV
|
||||
bcs .9
|
||||
stx .99+1
|
||||
|
||||
jsr K.LoadExeYA Y,A =filename full path
|
||||
bcs .98
|
||||
|
||||
>STYA pDrv
|
||||
stx K.LoadDrv.hMem
|
||||
stx .97+1
|
||||
|
||||
>LDYA K.LoadDrv.CmdArray Advance to ARG[1]
|
||||
>STYA ZPPtr1
|
||||
@ -43,34 +43,30 @@ K.LoadDrvYA >STYA K.LoadDrv.CmdArray
|
||||
.1 >LDYA ZPPtr1
|
||||
|
||||
jsr pDrvJmp call Dev.Detect
|
||||
|
||||
bcs .97
|
||||
bcs .96
|
||||
|
||||
jsr BIN.InstallDRV
|
||||
bcs .96
|
||||
|
||||
bcs .97
|
||||
|
||||
jsr .97 Cleanup...
|
||||
jsr .96 Cleanup...
|
||||
|
||||
lda #0 Make sure RC = 0 if success
|
||||
clc
|
||||
.99 rts
|
||||
.9 rts
|
||||
|
||||
.97 pha
|
||||
lda K.LoadDrv.hMem
|
||||
.96 pha
|
||||
.97 lda #$ff
|
||||
jsr K.FreeMemA
|
||||
pla
|
||||
|
||||
.98 pha
|
||||
lda K.LoadDrv.hFullName
|
||||
.99 lda #$ff
|
||||
jsr K.FreeMemA
|
||||
pla
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
K.LoadDrv.CmdArray .BS 2
|
||||
K.LoadDrv.hFullName .BS 1
|
||||
K.LoadDrv.hMem .BS 1
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/SYS/KERNEL.S.DRV
|
||||
|
@ -237,13 +237,12 @@ K.FFlushA jsr PFT.CheckNodeA
|
||||
K.FSeek jsr PFT.CheckNodeSTK
|
||||
>PULLA
|
||||
jsr FILE.SetupPrt1A
|
||||
>PULLB K.FSeek.FROM
|
||||
>PULLA FROM
|
||||
tax
|
||||
>PULLW K.FSeek.OFFSET
|
||||
>PULLW K.FSeek.OFFSET+2
|
||||
|
||||
lda K.FSeek.FROM
|
||||
|
||||
* cmp #SYS.FSeek.SET =0
|
||||
cpx #SYS.FSeek.SET
|
||||
|
||||
bne .1
|
||||
stz K.MLI.PARAMS+2
|
||||
@ -251,26 +250,30 @@ K.FSeek jsr PFT.CheckNodeSTK
|
||||
stz K.MLI.PARAMS+4
|
||||
bra .8
|
||||
|
||||
.1 cmp #SYS.FSeek.CUR
|
||||
.1 cpx #SYS.FSeek.CUR
|
||||
bne .2
|
||||
>MLICALL MLIGETMARK
|
||||
bcc .8
|
||||
rts
|
||||
|
||||
.2 cmp #SYS.FSeek.END
|
||||
.2 cpx #SYS.FSeek.END
|
||||
bne .98
|
||||
>MLICALL MLIGETEOF
|
||||
bcs .9
|
||||
|
||||
.8 lda K.MLI.PARAMS+2
|
||||
adc K.FSeek.OFFSET
|
||||
sta K.MLI.PARAMS+2
|
||||
lda K.MLI.PARAMS+3
|
||||
adc K.FSeek.OFFSET+1
|
||||
sta K.MLI.PARAMS+3
|
||||
lda K.MLI.PARAMS+4
|
||||
adc K.FSeek.OFFSET+2
|
||||
sta K.MLI.PARAMS+4
|
||||
.8 ldx #0
|
||||
ldy #3
|
||||
|
||||
clc
|
||||
|
||||
.81 lda K.MLI.PARAMS+2,x
|
||||
adc K.FSeek.OFFSET,x
|
||||
sta K.MLI.PARAMS+2,x
|
||||
|
||||
inx
|
||||
dey
|
||||
bne .81
|
||||
|
||||
bcs .99 Offset out of range!
|
||||
|
||||
>MLICALL MLISETMARK
|
||||
@ -283,7 +286,6 @@ K.FSeek jsr PFT.CheckNodeSTK
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
K.FSeek.FROM .BS 1
|
||||
K.FSeek.OFFSET .BS 4
|
||||
*/--------------------------------------
|
||||
* # FTellA
|
||||
|
@ -22,12 +22,12 @@ K.LoadLibYA >STYA K.LoadLib.Name SAVE LIBname for K.FileSearch
|
||||
jsr K.FileSearch find libname in $LIB
|
||||
bcs .99
|
||||
|
||||
stx K.LoadLib.hFullName
|
||||
stx .9+1
|
||||
|
||||
jsr K.LoadExeYA Y,A=filename full path
|
||||
bcs .98
|
||||
|
||||
stx K.LoadLib.hMem
|
||||
stx .8+1
|
||||
>STYA LIB.Jump+1
|
||||
|
||||
txa Pass hLib to LibLoad
|
||||
@ -38,17 +38,17 @@ K.LoadLibYA >STYA K.LoadLib.Name SAVE LIBname for K.FileSearch
|
||||
|
||||
jsr .98 Cleanup...
|
||||
|
||||
lda K.LoadLib.hMem
|
||||
.8 lda #$ff hLib
|
||||
clc
|
||||
rts
|
||||
|
||||
.97 pha
|
||||
lda K.LoadLib.hMem
|
||||
lda .8+1
|
||||
jsr K.FreeMemA
|
||||
pla
|
||||
|
||||
.98 pha
|
||||
lda K.LoadLib.hFullName
|
||||
.9 lda #$ff
|
||||
jsr K.FreeMemA
|
||||
pla
|
||||
|
||||
@ -56,8 +56,6 @@ K.LoadLibYA >STYA K.LoadLib.Name SAVE LIBname for K.FileSearch
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
K.LoadLib.Name .BS 2
|
||||
K.LoadLib.hFullName .BS 1
|
||||
K.LoadLib.hMem .BS 1
|
||||
*--------------------------------------
|
||||
* K.UnloadLibA
|
||||
* in :
|
||||
|
Loading…
Reference in New Issue
Block a user