kazblox wrote:MAJOR 3-MONTH NECROBUMP, but has there been any minor or major progress since last post in this thread?
Unfortunately not. I do indeed have plans, but this hasn't been high on the list lately. Actually in the last few days I picked up the project of building the device I need to gather the data for making a cycle-exact 8088 emulator (after it's been idle for 3 years or so). I managed to flash the device with a bootloader, and was able to run a simple program on the microcontroller clocked by the XT's 14.318MHz crystal. Just a bit more programming, and I should be able to gather execution traces of the 8088 and ISA bus in action.
kazblox wrote:Voting for proper MC6845 emulation. I'd love to see it happen later this year, and I know reenigne has upcoming plans... Heh heh.
No promises, but I'll see what I can do.
kazblox wrote:What exactly does the DOSBOX MC6845 emulation miss that requires 8088MPH to work? Proper scanline emulation?
On real hardware, there are essentially two things keeping track of the position of the raster beam. There's the CRT itself (and, in particular, the phases of the horizontal and vertical oscillators) and the counters in the CRTC. In the current DOSBox implemention, these two things are conflated, and the "virtual CRT beam" is fixed to be what the CRTC's idea of what the beam position should be.
Several of the effects in 8088 MPH reprogram the CRTC several (or even >100) times per CRT frame, essentially moving some of the CRTC's state into software. This means that the CRTC's idea of the beam position and the CRT's don't agree. So DOSBox is no longer correct in assuming that the CRTC state is accurate.
So what needs to be done is to essentially emulate a CRT as well as the CRTC. I think this is likely to be a rather more invasive change than the composite colour work. I've only skimmed the surface of what's likely to be involved so far. I'm also wondering whether it might be better to implement this on top of one of the DOSBox forks that already has some more advanced CRT features. I'm thinking in particular of overscan, since overscan kind of "comes for free" with CRT emulation. Starting with SVN DOSBox might make It more difficult to eventually port the changes to the forks, and I'm not sure how likely CRT emulation would be to be accepted into SVN DOSBox anyway. Though DOSBox could definitely do with some overscan emulation for reasons other than 8088 MPH (I'm thinking in particular of the earthquake effects at the beginning of Ultima VII).
On the PCjr/Tandy composite emulation side - I did recently point Trixter towards an ebay auction for the kind of card that would be ideal for the test captures I need to make. I'm not sure if he won it or not, though.