Hi folks,
I'm slowly building an Apple II emulator in go, and I need some help from those more experienced than I.
The work in progress is at
http://github.com/zellyn/goapple2, although it lacks the various ROMs for now: I plan to write an S-C compatible assembler and bundle them as source...
Anyway: I've been shooting for the bare minimum: so far just keyboard read, keyboard strobe, firmware card, disk card. I'm cheating like crazy (probably that's the problem somewhere) on the disk, and just returning the next nibble byte on reads, as long as three or four ticks have passed.
Anyway, a lot of .dsk images (dos master, spedtest.dsk, dung beetles) work just fine, but it appears the first one I tried, chivalry.dsk, is harder... It works in Jace and OpenEmulator, naturally.
Here's what's happening: it loads up the title screen, with knight on horse, but at the point where it should start animating, it first junks up the screen a little, then jumps to text mode and flashes back and forth there: it appears that the normal program is running, flipping between page one and two to animate the horse, but something else (at 1F76) seems to be writing successive memory locations, strobing over C050, C051, etc in order, which switches out of hires mode.
After a while, the game starts, with approximately the normal text being rendered (at first) except everything not part of the letters is black.
Interesting, huh? I was expecting spectacular failure or for things to work :-/
I guess my next step is to get it working in a hackable emulator, dump all the RAM each time the disk controller card ROM sector read routine returns, and look for differences.
Unless anyone has clever guesses...
Zellyn