Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-08-29 19:25:43 +02:00
parent 37f9a2c585
commit 7b61dc9118
6 changed files with 59 additions and 63 deletions

Binary file not shown.

Binary file not shown.

View File

@ -96,4 +96,4 @@ MONZ .EQ $FF69 ENTER MONITOR QUIETLY
GETNUM .EQ $FFA7 ASCII TO HEX IN 3E & 3F
*--------------------------------------
MAN
SAVE INC/MONITOR.I
SAVE inc/monitor.i

View File

@ -126,7 +126,6 @@ H24C8 jsr MLI close interpreter file
bne badlod hopefully never taken
lda RROMBNK2 enable ROM
jmp sysentry go run interpreter
nointrp jsr MLI no interpreter found,so quit.

View File

@ -18,13 +18,13 @@ H2000 jmp prostart
jmp atalkset
jmp p16start
*--------------------------------------
LDR.MSG.0 .AT "PRODOS FX 0.94"
LDR.MSG.PRODOS .AT "PRODOS FX 0.94"
LDR.MSG.UNSUPP .AT "UNSUPPORTED HARDWARE"
LDR.MSG.IIe .AT "//e"
LDR.MSG.IIc .AT "//c"
LDR.MSG.IIgs .AT "IIgs"
LDR.MSG.Unknown .AT "Unknown"
LDR.MSG.CLK .AT "Clk"
LDR.MSG.CLK .AT "XClk"
LDR.MSG.RAM .AT "/RAM"
LDR.MSG.ROOTERR .AT "ERR reading CATALOG"
*--------------------------------------
@ -42,21 +42,11 @@ prostart lda unitnum
sta CLR80DISP
sta CLR80STORE
jsr setnorm
jsr init
jsr setvid
jsr setkbd
jsr home
lda #$20
ldx #39
.1 sta $400,x
dex
bpl .1
ldx #LDR.MSG.0
jsr LDR.PrintX
jsr LDR.ScrInit
sec
jsr idroutine returns system info
@ -94,7 +84,7 @@ prostart lda unitnum
LDR.CheckROM ldx #LDR.MSG.IIE
lda #MACHID.T.IIe+MACHID.M.128+MACHID.COL80
ldy $FBB3 check hardware id
ldy version check hardware id
cpy #$06 apple //e?
beq .1 if yes
@ -104,7 +94,7 @@ LDR.CheckROM ldx #LDR.MSG.IIE
ldx #LDR.MSG.UNKNOWN
bra m128k machine is unknown, Assume //e Enh 128k
.1 ldy $FBC0 //c ?
.1 ldy zidbyte //c ?
bne .2
ldy kbd //c, check for keypress
@ -126,7 +116,7 @@ LDR.CheckROM ldx #LDR.MSG.IIE
bra m128k not a //e Enh....
.3 sec
jsr $FE1F //gs ????
jsr idroutine //gs ????
bcs m128k no.....
inc LDR.cortland
@ -140,9 +130,16 @@ LDR.UNSUPP.HW ldx #LDR.MSG.UNSUPP
*--------------------------------------
m128k sta idapple Save MACHID in temp location
lda #$8C Reset 80 col screen ($0C:HOME)
jsr $C300
sta SETALTCHAR
jsr LDR.PrintX
lda #$20 "PRODOS" -> "ProDOS"
tsb LDR.MSG.PRODOS+1
tsb LDR.MSG.PRODOS+2
jsr LDR.ScrInit
sta CLRC3ROM
@ -175,14 +172,8 @@ m128k sta idapple Save MACHID in temp location
ldx #0
.1
* stz $D700,x
stz FCBs,x
.1 stz FCBs,x
stz VCBs,x
* stz $DA00,x
* stz $DB00,x
* stz $DC00,x
* stz $DD00,x
inx
bne .1
@ -275,7 +266,6 @@ LDR.II ldx #PAKME.SEL1-PAKME.Table
LDR.Common jsr LDR.BlkDevScan
jsr LDR.SetupRAM
>DEBUGOA
*--------------------------------------
lda LDR.BootFlag get setup entry point flag
beq LDR.ReadRoot taken if normal boot.
@ -468,10 +458,14 @@ LDR.ClkDevTCLK lda CLRC8ROM switch out $C8 ROMs
LDR.SetupCLK stx ZPInBufPtr
sty ZPInBufPtr+1
jsr LDR.PrintA
sta LDR.MSG.CLK
bit RROMBNK2
ldx #LDR.MSG.CLK
jsr LDR.PrintX
jsr lc1in
lda #$D742
sta ZPOutBufPtr
lda /$D742
@ -856,34 +850,32 @@ LDR.SetDevID ldy #$FE check attributes byte.
sta devid
rts
*--------------------------------------
LDR.PrintA ldy LDR.Print.CX
and #$7F
cmp #$60
bcs .2
and #$3F
.2 sta $400,y
inc LDR.Print.CX
rts
LDR.ScrInit jsr setnorm
jsr home
jsr SETINV
jsr CLREOL
jsr setnorm
ldx #LDR.MSG.PRODOS
*--------------------------------------
LDR.PrintX ldy LDR.Print.CX
LDR.PrintX bit RROMBNK2
lda INVFLG
pha
jsr SETINV
.1 lda $2000,x
pha
and #$7F
cmp #$60
bcs .2
and #$3F
.2 sta $400,y
ora #$80
jsr COUT
inx
iny
pla
bpl .1
* lda #$20
* sta $400,y
iny Add a Space
sty LDR.Print.CX
lda #$A0
jsr COUT
pla
sta INVFLG
rts
*--------------------------------------
* 16 bytes moved to $03F0 vectors
@ -1005,7 +997,6 @@ LDR.DEVPTRS.IDX .DA #$16 S3D2
.DA #$18 S4D2
.DA #$08 S4D1
*--------------------------------------
LDR.Print.CX .DA #0
LDR.cortland .DA #0 cortland loader flag (1 = Cortland)
LDR.BootFlag .DA #0 0 = normal boot, <>0 = return
*--------------------------------------
@ -1017,6 +1008,6 @@ LDR.SlotDevType .BS 7
LDR.SlotDevCnt .BS 7
*--------------------------------------
MAN
SAVE USR/SRC/PRODOS.FX/PRODOS.S.LDR
LOAD USR/SRC/PRODOS.FX/PRODOS.S
SAVE usr/src/prodos.fx/prodos.s.ldr
LOAD usr/src/prodos.fx/prodos.s
ASM

View File

@ -108,16 +108,14 @@ CS.RUN ldy #S.PS.PID
ldx #6
jsr CS.RUN.EXEC.X
bra .2
.5 cmp #4 Ctrl.D
bne .2
ldx #8
jsr CS.RUN.EXEC.X
bcs .2
sec
rts
bra .2
.9 lda #E.SYN
sec
@ -136,6 +134,9 @@ CS.RUN.ETCINIT >LDYAI 256
bcc .10
pha
.DO INITDDBG=1
jsr CS.RUN.ERRMSG
.FIN
jsr .81
pla
sec
@ -171,15 +172,10 @@ CS.RUN.ETCINIT >LDYAI 256
.FIN
>SLEEP
bra .1
.DO INITDDBG=1
.2 tax
>PUSHW L.MSG.KO
txa
>PUSHA
>PUSHBI 1
>SYSCALL PrintF
jmp .1
.DO INITDDBG=1
.2 jsr CS.RUN.ERRMSG
bra .1
.FIN
.80 lda hFile
@ -194,6 +190,16 @@ CS.RUN.EXEC.X >PUSHW L.CMDS,x
>PUSHBI S.PS.F.HOLD
>SYSCALL ExecL
rts
*--------------------------------------
.DO INITDDBG=1
CS.RUN.ERRMSG tax
>PUSHW L.MSG.KO
txa
>PUSHA
>PUSHBI 1
>SYSCALL PrintF
rts
.FIN
*--------------------------------------
CS.DOEVENT sec
rts