Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-08-07 21:49:24 +02:00
parent 446559ae88
commit 651fd664da
9 changed files with 50 additions and 35 deletions

Binary file not shown.

Binary file not shown.

View File

@ -644,8 +644,8 @@ CS.RUN.NewLine.1
lda #C.CR
>SYSCALL putchar
bit bCRLF
bpl CS.RUN.NewLine.8
* bit bCRLF
* bpl CS.RUN.NewLine.8
lda #C.LF
>SYSCALL putchar

View File

@ -141,6 +141,7 @@ DEVCNT .EQ $BF31 0 -> 13
DEVLST .EQ $BF32 -> $BF3F
*DEVLST0END .EQ $BF40 A 0 was added to ensure list ended with 0 if 14 devices in list
*PRODOSCOPYRIGHT .EQ $BF41 ;free->$BF4B
*MLIENTRY .EQ $BF4B to bypass ATLK hook
MEMTABL .EQ $BF58 -> $BF6F
*GL.BUFF .EQ $BF70
*INTRUPT1 .EQ $BF80

View File

@ -67,12 +67,7 @@ D2MoveHead >PULLB MoveTo
jsr CheckDiskII
bcs .9
jsr D2MoveHead.1
clc
.9 rts
D2MoveHead.1 ldx Slotn0
ldx Slotn0
ldy Slotn0
.1 lda MoveFrom
@ -131,7 +126,10 @@ D2MoveHead.1 ldx Slotn0
lda IO.D2.Ph0Off,x
lda IO.D2.Ph0Off,y
rts
clc
.9 rts
*--------------------------------------
D2.Wait25600usec
lda #0

View File

@ -65,7 +65,11 @@ L59BD lda bloknml
lsr
sta XRW.ReqSector
*--------------------------------------
jsr XRW.AllPhasesOff make sure all motor phases are off
ldx A2L
lda IO.D2.Ph0Off,x
lda IO.D2.Ph1Off,x
lda IO.D2.Ph2Off,x
lda IO.D2.Ph3Off,x
lda IO.D2.ReadMode,x turn off write enable X = slot $S0
nop
@ -801,16 +805,8 @@ XRW.Seek ldx XRW.UnitIndex
bra .1
.7 jsr XRW.Wait25600usec
lda IO.D2.Ph0On,y
lda IO.D2.Ph0On,x
rts
*--------------------------------------
XRW.AllPhasesOff
ldx A2L
lda IO.D2.Ph0Off,y
lda IO.D2.Ph0Off,x
lda IO.D2.Ph1Off,x
lda IO.D2.Ph2Off,x
lda IO.D2.Ph3Off,x
rts
*--------------------------------------
XRW.Trk2Qtrk asl x2

View File

@ -190,7 +190,7 @@ Kernel.Init3C >PUSHWI MSG.Init3
>PUSHWI SBININITD
>PUSHBI 0 PS Flags
>SYSCALL2 ExecL
>SYSCALL2 ExecV
bcs Kernel.Init3.Err
>PUSHWI MSG.Init3.OK
@ -202,9 +202,10 @@ Kernel.Init3C >PUSHWI MSG.Init3
Kernel.Init3.Err
pha
>PUSHWI MSG.StartupErr
>PUSHWI SBININITD
pla
>PUSHA
>PUSHBI 1
>PUSHBI 3
>SYSCALL2 printf
bra * No need to discard Expanded CMDLINE
*--------------------------------------
@ -1203,7 +1204,7 @@ MSG.EVT .AZ "Event Manager..."
MSG.TSK .AZ "Task Manager..."
MSG.PWD .AZ "Password Manager..."
MSG.EXEC .AZ "Executing %s..."
MSG.StartupErr .AZ "Failed : [$%h]\r\n"
MSG.StartupErr .AZ "%s Failed : [$%h]\r\n"
MSG.Init3.OK .AZ "OK\r\nA2osX[Stage3]:Complete.\r\n"
*--------------------------------------
MSG.HW .AZ "Checking Hardware..."
@ -1231,6 +1232,7 @@ I.ENV.PATH .AZ "PATH=${BOOT}sbin/:${BOOT}bin/"
I.ENV.LIB .AZ "LIB=${BOOT}lib/"
I.ENV.DRV .AZ "DRV=${BOOT}drv/"
SBININITD .AZ "${ROOT}sbin/initd"
.DA #0 end of ARGV for ExecV
*--------------------------------------
MLIGETFILEINFOEX00
.DA #2

View File

@ -92,6 +92,7 @@ K.Fork jsr PS.CreateChild A=PID,Child S.PS at PS.NewPSPtr,PS.Load.hMem
lda #S.PS.S.RUN
sta (PS.NewPSPtr),y
ldy #S.PS.hCS
.8 lda #$ff SELF MODIFIED

View File

@ -36,17 +36,32 @@ RW.Init >LDYAI RW.MSG
bcc .1
>LDYAI RW.MSG.KO1
jsr PrintFYA
rts
bra .9
.1 pha Push Page count
.1 tay save RAM drive pages
pha
lsr divide by 4 to compute KB size
ror .12+1
lsr
ror .12+1
.12 ldx #$00 X,A = RAM drive size
phx Push Kbyte LO
pha Push Kbyte HI
tya
inc + 1 page AUX mem
pha Total page detected
lsr divide by 4 to compute KB size
ror .11+1
lsr
ror .11+1
.11 ldx #$00
.11 ldx #$00 X,A = Total KB detected
phx Push Kbyte LO
pha Push Kbyte HI
@ -57,8 +72,7 @@ RW.Init >LDYAI RW.MSG
bcc .2
>LDYAI RW.MSG.KO2
jsr PrintFYA
rts
bra .9
.2 >LDYAI RW.MSG.OK2
jsr PrintFYA
@ -67,10 +81,11 @@ RW.Init >LDYAI RW.MSG
bcc .3
>LDYAI RW.MSG.KO3
jsr PrintFYA
rts
bra .9
.3 >LDYAI RW.MSG.OK3
jsr PrintFYA
.9 jsr PrintFYA
rts
*--------------------------------------
RW.Detect1 jsr MLI
@ -151,15 +166,17 @@ RW.Detect2 php
dey
bpl .6
txa
stx RW.PGCNT PGCNT = last detected page, as we do -1 for AuxMem
sta CLRALTZP
plp
txa PGCNT > 0 ?
beq .9
dec minus 1 for AUX mem
beq .9
sta RW.PGCNT PGCNT = last detected page
clc
rts
@ -361,7 +378,7 @@ RW.BLOCK2.END .EQ *
*--------------------------------------
RW.MSG .AZ "RAMWorks (I,II,III,z-Ram) Driver For A2osX\n"
RW.MSG.OK .AZ "/RAM3 Device Already Installed.\n"
RW.MSG.OK1 .AZ "%D KB (%d Pages) Available for RamDrive.\n"
RW.MSG.OK1 .AZ "%D KB Detected (%d Pages), %D KB (%d Pages) Available for RamDrive.\n"
RW.MSG.KO1 .AZ "Not Detected.\n"
RW.MSG.OK2 .AZ "RamWorks Driver Installed.\n"
RW.MSG.KO2 .AZ "RamWorks Driver Install Error.\n"