Ticket #160: IRQ/BRK hdlr restores GS to speed at Applecorn start.

This commit is contained in:
Bobbi Webber-Manners 2022-09-23 20:24:39 -04:00
parent 5b9657ef64
commit b4109f1d1f
3 changed files with 13 additions and 4 deletions

Binary file not shown.

View File

@ -126,6 +126,10 @@ MOSHIGH SEI ; Disable IRQ while initializing
DEX
BPL :INITPG2
LDA $C036 ; GS speed register
AND #$80 ; Speed bit only
STA GSSPEED ; In Alt LC for IRQ/BRK hdlr
JSR ROMINIT ; Build list of sideways ROMs
JSR KBDINIT ; Returns A=startup MODE
JSR VDUINIT ; Initialise VDU driver
@ -205,8 +209,9 @@ BYTE00 BEQ BYTE00A ; OSBYTE 0,0 - generate error
RTS ; %000x1xxx host type, 'A'pple
BYTE00A BRK
DB $F7
HELLO ASC 'Applecorn MOS 2022-09-22'
HELLO ASC 'Applecorn MOS 2022-09-23'
DB $00 ; Unify MOS messages
GSSPEED DB $00 ; $80 if GS is fast, $00 for slow

View File

@ -562,9 +562,13 @@ IRQBRKHDLR PHA
STA $45 ; $45=A for ProDOS IRQ handlers
BPL :S1 ; If aux write wasn't active, skip
STA $C005 ; Write to aux memory
LDA #$80
TSB $C036 ; For GS: Enable 'fast' speed
:S1 TXA
:S1 LDA GSSPEED ; See if GS was set to 2.8MHz
CMP #$80
BNE :S2 ; Nope, continue slow
TSB $C036 ; GS: Enable 'fast' speed
:S2 TXA
PHA
CLD
TSX