Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-11-05 17:31:29 +01:00
parent 7091fc157b
commit 9a1ea30e6e
3 changed files with 119 additions and 10 deletions

Binary file not shown.

Binary file not shown.

View File

@ -264,20 +264,20 @@ isromin3 sta SETC3ROM
lda $C305 check card id bytes
cmp #$38
bne hitswtch not terminal card
lda $C307
cmp #$18
bne hitswtch
lda $C30B
cmp #$01
bne hitswtch
lda $C30C is it an apple 80 col compatible card?
and #$F0
cmp #$80
bne hitswtch if not.
lda machid machine ID byte
and #$C8
cmp #$C0 is it a //+ ?
beq docard yes
lda $C3FA
cmp #$2C does card have an interrupt handler?
beq docard yes
@ -476,7 +476,115 @@ LDR.SetupQC bit RRAMWRAMBNK2 read/write RAM bank 2
sta $D000
jmp lc1in switch in LC bank 1
*--------------------------------------
LDR.ClkDevScan rts
DS1216E.DATA1 .EQ $10
DS1216E.DATA2 .EQ A1L
DS1216E.SIG .HS 5CA33AC55CA33AC5 Reverted 7->0
*--------------------------------------
LDR.ClkDevScan php
sei
lda $CFFF
pha
sta $C300
ldx #7
.1 ldy #8
.2 lda $C304
lsr
ror DS1216E.DATA1,x
dey
bne .2
dex
bpl .1
lda $C304 Reset DS1216E comparison register with READ A2=1
ldx #7 Read 8 bytes...
.3 lda DS1216E.PATTERN,x
phx
ldx #8 ....of 8 bits
.4 ldy #0
lsr
bcc .5
iny
.5 pha
lda $C300,y Write Pattern bit in A0, with A2=0
pla
dex
bne .4
plx
dex
bpl .3
ldx #7
.6 ldy #8
.7 lda $C304
lsr
ror DS1216E.DATA2,x
dey
bne .7
dex
bpl .6
pla
bmi .8
sta $CFFF
.8 plp
ldx #7
.9 lda DS1216E.DATA1,x
cmp DS1216E.DATA2,x
bne LDR.ClkDevTCLK
dex
bpl .9
ldx PAKME.NCLK
ldy PAKME.NCLK+1
jmp LDR.SetupCLK
LDR.ClkDevTCLK lda CLRC8ROM switch out $C8 ROMs
ldy #$05
stz idxl
lda #$C1
sta idxl+1
.1 ldy #6
.2 lda (idxl),y compare id bytes
cmp dskid,y
bne .3
dey
dey
bpl .2
ldx PAKME.TCLK
ldy PAKME.TCLK+1
jsr LDR.SetupCLK
lda idxl+1
sta TCLK.Cx1+2
sta TCLK.Cx2+2
rts
.3 inc idxl+1
lda idxl+1
cmp #$C8
bne .1
rts
*--------------------------------------
LDR.SetupCLK stx ZPInBufPtr
sty ZPInBufPtr+1
@ -491,6 +599,7 @@ LDR.SetupCLK stx ZPInBufPtr
lda #MACHID.CLK
tsb MACHID
LDR.SetupCLK.RTS
rts
*--------------------------------------
* find all disk devices in system slots and set up address
@ -962,9 +1071,9 @@ numdev2 .HS 0000000000000000 8 bytes for smartport call
driveradr .DA 0
d2idx .DA #0
diskins2 .DA #0 msb clear if drive in slot 2
*--------------------------------------
* 16 bytes moved to $03F0 vectors
*--------------------------------------
LDR.3F0 .DA breakv
.DA oldrst
.DA #$5A powerup byte
@ -975,9 +1084,9 @@ LDR.3F0 .DA breakv
lc1in lda RRAMWRAMBNK1
lda RRAMWRAMBNK1
rts
*--------------------------------------
* patch to gsos vectors so error is returned for os calls - rev note #101
*--------------------------------------
patch101 php
sei disable interrupts
clc
@ -1039,7 +1148,7 @@ L2C4D lda 1,s
lda ##$00FF #NoOS
sec
rtl
*--------------------------------------
MAN
SAVE USR/SRC/PRODOS.FX/PRODOS.S.LDR
LOAD USR/SRC/PRODOS.FX/PRODOS.S