mirror of
https://github.com/V2RetroComputing/analog.git
synced 2025-02-19 13:31:06 +00:00
VGA mode bugfixes
AUX page was being selected due to an errant && where a & should have been. IIe and IIgs registers were being written during read cycles.
This commit is contained in:
parent
e76ecd19b3
commit
7eb8ea3ede
@ -21,7 +21,7 @@ static inline void __time_critical_func(shadow_memory)(uint32_t address, uint32_
|
||||
// Shadow parts of the Apple's memory by observing the bus write cycles
|
||||
if((value & (1u << CONFIG_PIN_APPLEBUS_RW-CONFIG_PIN_APPLEBUS_DATA_BASE)) == 0) {
|
||||
// Mirror Video Memory from MAIN & AUX banks
|
||||
if(terminal_switches && TERMINAL_AUX_WRITE) {
|
||||
if(terminal_switches & TERMINAL_AUX_WRITE) {
|
||||
if((address >= 0x400) && (address < 0xC00)) {
|
||||
private_memory[address] = value & 0xff;
|
||||
} else if((address >= 0x2000) && (address < 0x6000)) {
|
||||
@ -78,11 +78,11 @@ static inline void __time_critical_func(shadow_memory)(uint32_t address, uint32_
|
||||
terminal_switches |= TERMINAL_80COL;
|
||||
break;
|
||||
case 0x22:
|
||||
if(terminal_switches & TERMINAL_IIGS_REGS)
|
||||
if((terminal_switches & TERMINAL_IIGS_REGS) && ((value & (1u << CONFIG_PIN_APPLEBUS_RW-CONFIG_PIN_APPLEBUS_DATA_BASE)) == 0))
|
||||
terminal_tbcolor = value & 0xff;
|
||||
break;
|
||||
case 0x34:
|
||||
if(terminal_switches & TERMINAL_IIGS_REGS)
|
||||
if((terminal_switches & TERMINAL_IIGS_REGS) && ((value & (1u << CONFIG_PIN_APPLEBUS_RW-CONFIG_PIN_APPLEBUS_DATA_BASE)) == 0))
|
||||
terminal_border = value & 0x0f;
|
||||
break;
|
||||
case 0x50:
|
||||
|
@ -16,7 +16,9 @@ void render_init() {
|
||||
// Initialize the character generator ROM
|
||||
memcpy(character_rom, default_character_rom, sizeof(character_rom));
|
||||
soft_switches = 0;
|
||||
terminal_switches = TERMINAL_TEST;
|
||||
terminal_switches = TERMINAL_TEST | TERMINAL_IIE_REGS | TERMINAL_IIGS_REGS;
|
||||
terminal_tbcolor = 0x0f;
|
||||
terminal_border = 0x00;
|
||||
|
||||
render_test_init();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user