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 GETNUM .EQ $FFA7 ASCII TO HEX IN 3E & 3F
*-------------------------------------- *--------------------------------------
MAN 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 bne badlod hopefully never taken
lda RROMBNK2 enable ROM lda RROMBNK2 enable ROM
jmp sysentry go run interpreter jmp sysentry go run interpreter
nointrp jsr MLI no interpreter found,so quit. nointrp jsr MLI no interpreter found,so quit.

View File

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

View File

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