Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-05-26 16:23:09 +02:00
parent 1722e9cde0
commit be157e3ff3
19 changed files with 181 additions and 116 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -5,10 +5,10 @@ NEW
.OR $2000
.TF BIN/CMP
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/MLI.I
.INB INC/MLI.E.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.i
.INB inc/mli.e.i
*--------------------------------------
.DUMMY
.OR ZPBIN
@ -312,5 +312,5 @@ DS.END
.ED
*--------------------------------------
MAN
SAVE USR/SRC/BIN/CMP.S
SAVE usr/src/bin/cmp.s
ASM

View File

@ -356,7 +356,11 @@ CS.RUN.LL.DISKII
jsr CS.RUN.SeekToX
bcc .1
.9 rts
.9 pha
jsr CS.RUN.MotorOff
pla
sec
rts
.8 ldx #0
jsr CS.RUN.SeekToX

View File

@ -299,6 +299,6 @@ CL.PrintCLBuf >PUSHW ZPCLBuf
rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/SH.S.CL
LOAD USR/SRC/BIN/SH.S
SAVE usr/src/bin/sh.s.cl
LOAD usr/src/bin/sh.s
ASM

View File

@ -1216,6 +1216,6 @@ CMD.PrintArgVBufPtr
rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/SH.S.CMD
LOAD USR/SRC/BIN/SH.S
SAVE usr/src/bin/sh.s.cmd
LOAD usr/src/bin/sh.s
ASM

View File

@ -788,6 +788,6 @@ CORE.StkGet lda (pData) StackPtr
rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/SH.S.CORE
LOAD USR/SRC/BIN/SH.S
SAVE usr/src/bin/sh.s.core
LOAD usr/src/bin/sh.s
ASM

View File

@ -314,6 +314,6 @@ EXP.GetInt32YA.RTS
rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/SH.S.EXP
LOAD USR/SRC/BIN/SH.S
SAVE usr/src/bin/sh.s.exp
LOAD usr/src/bin/sh.s
ASM

View File

@ -88,6 +88,6 @@ HIS.GetToCl >STA.G HIS.Index
jmp CL.PrintCLBuf
*--------------------------------------
MAN
SAVE USR/SRC/BIN/SH.S.HIS
LOAD USR/SRC/BIN/SH.S
SAVE usr/src/bin/sh.s.his
LOAD usr/src/bin/sh.s
ASM

View File

@ -274,6 +274,6 @@ IO.PrintErrMsg ldy #S.PS.RC
rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/SH.S.IO
LOAD USR/SRC/BIN/SH.S
SAVE usr/src/bin/sh.s.io
LOAD usr/src/bin/sh.s
ASM

View File

@ -47,10 +47,10 @@ C.END .EQ 62
*--------------------------------------
C.CLEXEC .EQ 63
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/MLI.I
.INB INC/MLI.E.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.i
.INB inc/mli.e.i
*--------------------------------------
.DUMMY
.OR ZPBIN
@ -514,12 +514,12 @@ IncPStack3 inc pStack
inc pStack
rts
*--------------------------------------
.INB USR/SRC/BIN/SH.S.CL
.INB USR/SRC/BIN/SH.S.HIS
.INB USR/SRC/BIN/SH.S.CORE
.INB USR/SRC/BIN/SH.S.IO
.INB USR/SRC/BIN/SH.S.CMD
.INB USR/SRC/BIN/SH.S.EXP
.INB usr/src/bin/sh.s.cl
.INB usr/src/bin/sh.s.his
.INB usr/src/bin/sh.s.core
.INB usr/src/bin/sh.s.io
.INB usr/src/bin/sh.s.cmd
.INB usr/src/bin/sh.s.exp
*--------------------------------------
CS.END
*--------------------------------------

View File

@ -535,6 +535,6 @@ BB.Free .EQ $a00-*
.EP
*--------------------------------------
MAN
SAVE USR/SRC/LIB/LIBBLKDEV.S.BB
LOAD USR/SRC/LIB/LIBBLKDEV.S
SAVE usr/src/lib/libblkdev.s.bb
LOAD usr/src/lib/libblkdev.s
ASM

View File

@ -45,13 +45,21 @@ D2MoveHead >PULLB MoveTo
.2 dec MoveFrom>MoveTo, must move out
sta MoveFrom
jsr D2.AllPhaseOff
pha
jsr D2.PhaseOn
lda #115 11.5 ms
lda #85 8.5 ms
jsr D2.Wait100msA Trash X
pla
jsr D2.PhaseOff
lda #1 0.1 ms
jsr D2.Wait100msA Trash X
iny
bra .1
@ -62,6 +70,8 @@ D2MoveHead >PULLB MoveTo
lda #0 wait 25.5 ms
jsr D2.Wait100msA Trash X
clc
rts
*--------------------------------------
D2.AllPhaseOff ldx Slotn0
bit IO.D2.Ph0Off,x
@ -73,18 +83,40 @@ D2.AllPahseOff.8
rts
*--------------------------------------
D2.PhaseOn bit #1 1,3,5,7 ?
beq .7
beq .7 only half track
pha
bcc .1
pha CS : move out
jsr .7
pla
inc
bcs .7
.1 pha
inc
jsr .7
pla
inc 2,4,6,0
.7 and #6 mask for 0,2,4,6
ora Slotn0
ora Slotn0 Slot $n0
ora #IO.D2.Ph0On
tax
lda IO.D2.Ph0On,x turn on one phase
.8 rts
bit $C000,x turn on one phase
lda D2.PhaseOff.2+1
sta D2.PhaseOff.1+1
dex
stx D2.PhaseOff.2+1
rts
*--------------------------------------
D2.PhaseOff bit #1 1,3,5,7 ?
beq D2.PhaseOff.2 only half track
D2.PhaseOff.1 bit $c000
D2.PhaseOff.2 bit $c000
rts
*--------------------------------------
D2.Wait100msA sec
@ -399,6 +431,6 @@ D2WriteTrackPtr2
rts
*--------------------------------------
MAN
SAVE USR/SRC/LIB/LIBBLKDEV.S.D2
LOAD USR/SRC/LIB/LIBBLKDEV.S
SAVE usr/src/lib/libblkdev.s.d2
LOAD usr/src/lib/libblkdev.s
ASM

View File

@ -5,11 +5,11 @@ NEW
.OR $2000
.TF lib/libblkdev
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/MLI.I
.INB INC/MLI.E.I
.INB INC/IO.D2.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.i
.INB inc/mli.e.i
.INB inc/io.d2.i
*--------------------------------------
* 300rpm = 5rps = 200000us / 4ms = 50000 bits MAX
*--------------------------------------
@ -296,7 +296,7 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf
inc ZPPtr1+1
bra .7
*--------------------------------------
.INB USR/SRC/LIB/LIBBLKDEV.S.D2
.INB usr/src/lib/libblkdev.s.d2
*--------------------------------------
CS.END
*--------------------------------------
@ -521,7 +521,7 @@ ProDOS.Boot .HS 01.38.b0.03.4c.32.a1.86.43.c9.03.08.8a.29.70.4a
.HS d0.e3.a0.7f.84.52.08.28.38.c6.52.f0.ce.18.08.88
.HS f0.f5.bd.8c.c0.10.fb.00.00.00.00.00.00.00.00.00
*--------------------------------------
ProDOSFX.Boot .INB USR/SRC/LIB/LIBBLKDEV.S.BB
ProDOSFX.Boot .INB usr/src/lib/libblkdev.s.bb
*--------------------------------------
* Block 2 : First DIR block
*--------------------------------------
@ -562,5 +562,5 @@ MotorOn .BS 1
Count .BS 2
*--------------------------------------
MAN
SAVE USR/SRC/LIB/LIBBLKDEV.S
SAVE usr/src/lib/libblkdev.s
ASM

View File

@ -758,11 +758,19 @@ XRW.Seek ldx XRW.UnitIndex
.2 dec CS, CurrentQTrack<TargetQTrack, must move out
sta XRW.CurrentQTrack
jsr XRW.AllPhaseOff
pha
jsr XRW.PhaseOn
lda #115 11.5 ms
lda #85 8.5 ms
jsr XRW.Wait100msA Trash X
pla
jsr XRW.PhaseOff
lda #1 0.1 ms
jsr XRW.Wait100msA Trash X
iny
@ -773,29 +781,50 @@ XRW.Seek ldx XRW.UnitIndex
beq XRW.AllPhaseOff.8
lda #0 wait 25.5 ms
jsr XRW.Wait100msA Trash X
jmp XRW.Wait100msA Trash X
*--------------------------------------
XRW.AllPhaseOff ldx A2L
bit IO.D2.Ph0Off,x
bit IO.D2.Ph3Off,x
bit IO.D2.Ph2Off,x
bit IO.D2.Ph1Off,x
bit IO.D2.Ph1Off,x
XRW.AllPhaseOff.8
rts
*--------------------------------------
XRW.PhaseOn bit #1 1,3,5,7 ?
beq .7
beq .7 only half track
pha
bcc .1
pha CS : move out
jsr .7
pla
inc
bra .7
.1 pha
inc
jsr .7
pla
inc 2,4,6,0
.7 and #6 mask for 0,2,4,6
ora A2L Slot $n0
ora #IO.D2.Ph0On
tax
lda IO.D2.Ph0On,x turn on one phase
bit $C000,x turn on one phase
lda XRW.PhaseOff.2+1
sta XRW.PhaseOff.1+1
dex
stx XRW.PhaseOff.2+1
rts
*--------------------------------------
XRW.PhaseOff bit #1 1,3,5,7 ?
beq XRW.PhaseOff.2 only half track
XRW.PhaseOff.1 bit $c000
XRW.PhaseOff.2 bit $c000
rts
*--------------------------------------
XRW.Trk2Qtrk asl x2

View File

@ -687,6 +687,6 @@ STDIO.NewHFile ldx #1
.9 rts
*--------------------------------------
MAN
SAVE USR/SRC/SYS/KERNEL.S.STDIO
LOAD USR/SRC/SYS/KERNEL.S
SAVE usr/src/sys/kernel.s.stdio
LOAD usr/src/sys/kernel.s
ASM

View File

@ -5,24 +5,24 @@ NEW
.OR $2000
.TF sys/kernel
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/IO.I
.INB INC/IO.IIC.I
.INB INC/IO.IIGS.I
.INB INC/MLI.I
.INB INC/MLI.E.I
.INB INC/NET.TELNET.I
.INB INC/XY.MOUSE.I
* .INB INC/GFX.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/io.i
.INB inc/io.iic.i
.INB inc/io.iigs.i
.INB inc/mli.i
.INB inc/mli.e.i
.INB inc/net.telnet.i
.INB inc/xy.mouse.i
* .INB inc/gfx.i
.INB INC/KERNEL.I
.INB USR/SRC/SYS/KERNEL.S.DEF
.INB USR/SRC/SYS/KERNEL.S.INIT
.INB USR/SRC/SHARED/X.PRINTF.S
.INB inc/kernel.i
.INB usr/src/sys/kernel.s.def
.INB usr/src/sys/kernel.s.init
.INB usr/src/shared/x.printf.s
A2osX.Unpak >STYA ZPOutBufPtr
.INB USR/SRC/SHARED/X.UNPAK.S
.INB usr/src/shared/x.unpak.s
PAKME.Table
PAKME.MAIN .DA A2osX.MAIN
@ -36,9 +36,9 @@ A2osX.MAIN .DA #0
.DA A2osX.MAIN.S
A2osX.MAIN.B .PH A2osX.EndTables
.INB USR/SRC/SYS/KERNEL.S.CORE
.INB USR/SRC/SYS/KERNEL.S.DRV
.INB USR/SRC/SYS/KERNEL.S.PFT
.INB usr/src/sys/kernel.s.core
.INB usr/src/sys/kernel.s.drv
.INB usr/src/sys/kernel.s.pft
Mem.MLoMem .EQ *
.EP
A2osX.MAIN.S .EQ *-A2osX.MAIN.B
@ -47,14 +47,14 @@ A2osX.AUX .DA #0
.DA A2osX.AUX.S
A2osX.AUX.B .PH Mem.XHiMem
.INB USR/SRC/SYS/KERNEL.S.TERMX
.INB USR/SRC/SYS/KERNEL.S.STRVX
.INB USR/SRC/SYS/KERNEL.S.ENVX
.INB USR/SRC/SYS/KERNEL.S.TIMEX
.INB USR/SRC/SYS/KERNEL.S.MD5X
.INB USR/SRC/SYS/KERNEL.S.PWDX
.INB USR/SRC/SYS/KERNEL.S.SLISTX
.INB USR/SRC/SYS/KERNEL.S.ERRORX
.INB usr/src/sys/kernel.s.termx
.INB usr/src/sys/kernel.s.strvx
.INB usr/src/sys/kernel.s.envx
.INB usr/src/sys/kernel.s.timex
.INB usr/src/sys/kernel.s.md5x
.INB usr/src/sys/kernel.s.pwdx
.INB usr/src/sys/kernel.s.slistx
.INB usr/src/sys/kernel.s.errorx
.EP
A2osX.AUX.S .EQ *-A2osX.AUX.B
@ -62,7 +62,7 @@ A2osX.GP .DA #0
.DA A2osX.GP.S
A2osX.GP.B .PH A2osX.SYSCALL
.INB USR/SRC/SYS/KERNEL.S.GP
.INB usr/src/sys/kernel.s.gp
A2osX.GP.SC .EQ GP.CodeEnd-GP.CodeStart
.EP
A2osX.GP.S .EQ *-A2osX.GP.B
@ -72,12 +72,12 @@ A2osX.D1 .DA #0
A2osX.D1.B .PH $D000
.DA #RRAMWRAMBNK1
.INB USR/SRC/SYS/KERNEL.S.STAT
.INB USR/SRC/SYS/KERNEL.S.DIRENT
.INB USR/SRC/SYS/KERNEL.S.UNISTD
.INB USR/SRC/SYS/KERNEL.S.STDIO
.INB USR/SRC/SYS/KERNEL.S.STDIO2
.INB USR/SRC/SYS/KERNEL.S.DEV
.INB usr/src/sys/kernel.s.stat
.INB usr/src/sys/kernel.s.dirent
.INB usr/src/sys/kernel.s.unistd
.INB usr/src/sys/kernel.s.stdio
.INB usr/src/sys/kernel.s.stdio2
.INB usr/src/sys/kernel.s.dev
.EP
A2osX.D1.S .EQ *-A2osX.D1.B
@ -86,13 +86,13 @@ A2osX.D2 .DA #0
A2osX.D2.B .PH $D000
.DA #RRAMWRAMBNK2
.INB USR/SRC/SYS/KERNEL.S.MOUNT
.INB USR/SRC/SYS/KERNEL.S.ERROR
.INB USR/SRC/SYS/KERNEL.S.ARG
.INB USR/SRC/SYS/KERNEL.S.STDLIB
.INB USR/SRC/SYS/KERNEL.S.STRING
.INB USR/SRC/SYS/KERNEL.S.BIN
.INB USR/SRC/SYS/KERNEL.S.PS
.INB usr/src/sys/kernel.s.mount
.INB usr/src/sys/kernel.s.error
.INB usr/src/sys/kernel.s.arg
.INB usr/src/sys/kernel.s.stdlib
.INB usr/src/sys/kernel.s.string
.INB usr/src/sys/kernel.s.bin
.INB usr/src/sys/kernel.s.ps
.EP
A2osX.D2.S .EQ *-A2osX.D2.B
@ -100,23 +100,23 @@ A2osX.E0 .DA #0
.DA A2osX.E0.S
A2osX.E0.B .PH $E000
.INB USR/SRC/SYS/KERNEL.S.JMP
.INB USR/SRC/SYS/KERNEL.S.IRQ
.INB USR/SRC/SYS/KERNEL.S.SHARED
.INB USR/SRC/SYS/KERNEL.S.MATH32
.INB USR/SRC/SYS/KERNEL.S.MATH
.INB USR/SRC/SYS/KERNEL.S.TERM
.INB usr/src/sys/kernel.s.jmp
.INB usr/src/sys/kernel.s.irq
.INB usr/src/sys/kernel.s.shared
.INB usr/src/sys/kernel.s.math32
.INB usr/src/sys/kernel.s.math
.INB usr/src/sys/kernel.s.term
.INB USR/SRC/SYS/KERNEL.S.STRV
.INB USR/SRC/SYS/KERNEL.S.ENV
.INB USR/SRC/SYS/KERNEL.S.TIME
.INB USR/SRC/SYS/KERNEL.S.MD5
.INB USR/SRC/SYS/KERNEL.S.PWD
.INB USR/SRC/SYS/KERNEL.S.SLIST
.INB usr/src/sys/kernel.s.strv
.INB usr/src/sys/kernel.s.env
.INB usr/src/sys/kernel.s.time
.INB usr/src/sys/kernel.s.md5
.INB usr/src/sys/kernel.s.pwd
.INB usr/src/sys/kernel.s.slist
.INB USR/SRC/SYS/KERNEL.S.MEM
.INB usr/src/sys/kernel.s.mem
* go to A2osX.D1
.INB USR/SRC/SYS/KERNEL.S.PIPE
.INB usr/src/sys/kernel.s.pipe
DevMgr.Timer .BS 1
DevMgr.Stat .DA DevMgr.FreeMem
@ -132,7 +132,7 @@ A2osX.E0.S .EQ *-A2osX.E0.B
.DA #6 Chunk Count
.DA PAKME.Table Chunks
.INB USR/SRC/SYS/KERNEL.S.CTRL
.INB usr/src/sys/kernel.s.ctrl
MAN
SAVE USR/SRC/SYS/KERNEL.S
SAVE usr/src/sys/kernel.s
ASM