Kernel 0.9.1 : KERNEL, bug fix in IRQ manager while IRQ happens in $C8xx space..

(btw, Expansion cards NOT supporting MSLOT protocol should crash!)
This commit is contained in:
Rémy GIBERT 2018-03-29 16:29:47 +01:00
parent 56ba5ecc08
commit 4f2ee9a6bd
6 changed files with 33 additions and 13 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -12,8 +12,8 @@ CLRREADAUX .EQ $C002 W
SETREADAUX .EQ $C003 W
CLRWRITEAUX .EQ $C004 W
SETWRITEAUX .EQ $C005 W
*CLRCXROM .EQ $C006 W
*SETCXROM .EQ $C007 W
CLRCXROM .EQ $C006 W
SETCXROM .EQ $C007 W
CLRALTZP .EQ $C008 W
SETALTZP .EQ $C009 W
*CLRC3ROM .EQ $C00A W
@ -27,7 +27,7 @@ RDLCBNK2 .EQ $C011 R
RDLCRAM .EQ $C012 R
RDREADAUX .EQ $C013 R
RDWRITEAUX .EQ $C014 R
*RDCXROM .EQ $C015 R
RDCXROM .EQ $C015 R
RDALTZP .EQ $C016 R
*RDC3ROM .EQ $C017 R
RD80STORE .EQ $C018 R

View File

@ -14,6 +14,8 @@ POWERUPBYTE .EQ $3F4
*NMIJMP .EQ $3FB jmp $xxxx
IRQVECT .EQ $3FE
*--------------------------------------
MSLOT .EQ $7F8 $Cn n=slot using $C800
*--------------------------------------
COL80FIRM .EQ $C300
*--------------------------------------
PLOT .EQ $F800 PLOT LORES BLOCK

View File

@ -11,18 +11,25 @@ AUTO 4,1
* if A2osX Drivers cannot clear IRQ,
* must call regular System Handler
*--------------------------------------
K.IrqHAuxLC sta .12+1
MSLOT .EQ $7f8
*--------------------------------------
K.IrqHAuxLC sta .6+1
pla
pha
and #$10 BRK?
bne .2
bne .7
stx .11+1
sty .10+1
lda $fe
stx .5+1
sty .4+1
lda $fe Save 2 bytes in ZP
pha
lda $ff
pha
lda MSLOT Save MSLOT
pha
lda RDREADAUX
pha
sta CLRREADAUX Make sure we can access Dev.Table
@ -33,18 +40,29 @@ K.IrqHAuxLC sta .12+1
bpl .1
sta SETREADAUX
.1 pla
.1 pla Get back MSLOT
sta MSLOT
sta .2+2
and #$C0
eor #$C0 ....mmm...not looking link Cn....
bne .3
sta $CFFF Release $C800
.2 lda $ff00 SELF MODIFIED
.3 pla
sta $ff
pla
sta $fe
.10 ldy #$ff Self Modified
.11 ldx #$ff Self Modified
.12 lda #$ff Self Modified
.4 ldy #$ff Self Modified
.5 ldx #$ff Self Modified
.6 lda #$ff Self Modified
bcs .8
rti
.2 pla pull P
.7 pla pull P
bra *
.8 jmp (IRQ.OldFFFE)