RGB video modes available only with RGB card

This commit is contained in:
Ivan Izaguirre 2020-09-23 18:08:19 +02:00
parent 8f2b12d6ef
commit 8e109720e6
2 changed files with 4 additions and 1 deletions

View File

@ -35,6 +35,8 @@ func setupRGBCard(a *Apple2) *cardRGB {
var c cardRGB
c.step = 0
a.io.softSwitchesData[ioFlagRGBCardActive] = ssOn
// Does not have ROM or private softswitches. It spies on the softswitches
a.io.addSoftSwitchRW(0x50, func(io *ioC0Page) uint8 {
io.softSwitchesData[ioFlagText] = ssOff

View File

@ -49,6 +49,7 @@ func getCurrentVideoMode(a *Apple2) uint16 {
isDoubleResMode := !isTextMode && is80Columns && !a.io.isSoftSwitchActive(ioFlagAnnunciator3)
isSuperHighResMode := a.io.isSoftSwitchActive(ioDataNewVideo)
isRGBCard := a.io.isSoftSwitchActive(ioFlagRGBCardActive)
rgbFlag1 := a.io.isSoftSwitchActive(ioFlag1RGBCard)
rgbFlag2 := a.io.isSoftSwitchActive(ioFlag2RGBCard)
isMono560 := isDoubleResMode && !rgbFlag1 && !rgbFlag2
@ -64,7 +65,7 @@ func getCurrentVideoMode(a *Apple2) uint16 {
} else if isTextMode {
if is80Columns {
mode = videoText80
} else if isStore80Active {
} else if isRGBCard && isStore80Active {
mode = videoText40RGB
} else {
mode = videoText40