A latency-hating emulator of: the Acorn Electron and Archimedes, Amstrad CPC, Apple II/II+/IIe and early Macintosh, Atari 2600 and ST, ColecoVision, Enterprise 64/128, Commodore Vic-20 and Amiga, MSX 1/2, Oric 1/Atmos, early PC compatibles, Sega Master System, Sinclair ZX80/81 and ZX Spectrum.
MIT License
910
stars
50
forks
source link
Apple IIe INTCXROM sometimes remains active after reset #1345
In the Apple IIe emulation, INTCXROM, the soft switch that causes ROM contents to appear in C100–CFFF instead of slot card memory, is unexpectedly active sometimes after pressing Reset. After this happens, commands that access cards, like PR#6, fail, since e.g. the code at C600 is no longer the disk booting code. I originally reported it as part of a Mockingboard problem in #1339 but the problem exists in older builds of Clock Signal that predate Mockingboard support.
The problem is easy to reproduce with this BASIC test program:
1?PEEK(49173)>127:GOTO1
2POKE49158,0:GOTO1
RUN the program and it repeatedly prints 1 if INTCXROM is active or 0 if it isn't. After a fresh start it should print 0s but if you Reset and RUN again, possibly a few times, it switches to printing 1s. To switch INTCXROM off and try again, you can RUN 2.
This change makes it easy to see when the soft switches are accessed:
In the Apple IIe emulation,
INTCXROM
, the soft switch that causes ROM contents to appear in C100–CFFF instead of slot card memory, is unexpectedly active sometimes after pressing Reset. After this happens, commands that access cards, likePR#6
, fail, since e.g. the code at C600 is no longer the disk booting code. I originally reported it as part of a Mockingboard problem in #1339 but the problem exists in older builds of Clock Signal that predate Mockingboard support.The problem is easy to reproduce with this BASIC test program:
RUN
the program and it repeatedly prints1
ifINTCXROM
is active or0
if it isn't. After a fresh start it should print0
s but if you Reset andRUN
again, possibly a few times, it switches to printing1
s. To switchINTCXROM
off and try again, you canRUN 2
.This change makes it easy to see when the soft switches are accessed:
It looks like BASIC generally keeps
INTCXROM
switched on (C007W) but switches it off (C006W) briefly when there is a keystroke:and when a newline is printed:
And sometimes when Reset is pressed, it forgets about switching it off:
Sather's Understanding the Apple IIe, page 5-28, says:
Is Clock Signal implementing that?