Time to clean out all of the commented-out code, tighten up some of the functions, optimize it, pull-request it, flip it and reverse it. [video:youtube][/video]
Interestingly, if you implement more of the CRTC, it’s less likely to hang.
The vertical smearing is a feature – the so-called 1:2:1 convolution. In reality, it reduces interlace flicker. It’s only used for indexed colour modes (bandwidth between RAMDAC and VRAM is too low to support it in direct colour mode), and it’s only used when 1MB VRAM is installed (there doesn’t appear to be a technical reason for this, just to “encourage” you to buy the card with more VRAM).
Drawing in interlaced modes still isn’t quite right, most noticeably with the vertical offset. But this is all derived directly from parameters sent to the framebuffer controller, CRTC and RAMDAC – no magic numbers.
More progress on the Psion MC400, the machine is running and has working keyboard. The System folder is empty as I now need to emulate another ASIC that communicates with the Solid State Disks. I have an image of the System Disk containing the apps, just need to work out how it's accessed.
BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
It's the same DSP as on the CTK-601 and others, with a similar set of 3 presets. It's definitely much more noticeable with the "stage" and "hall" presets on the 601 (like in this recording for example).