I’ve been working on my own emulator for the CPC, with a big focus on development tools, and I’ve decided to share it here, in case it might be useful to other people
Not going to write a huge wall of text, but essentially:
written in C/WASM, so it works in a browser
also wrapped in Electron, so it’s also available as a standalone app (for Windows and Linux)
made it so it would pass most of Longshot’s Shaker tests, for accuracy
supports CPC 464, 664, 6128, 464 Plus, 6128 Plus and GX4000
built-in image converter, sprite editor, font editor and palette editor
debugger with beam tracer, breakpoints, I/O breakpoints, as well as conditional breakpoints
a profiler with a memory heatmap
a cartridge builder
a built-in Assembler editor that actually displays how many NOPs an instruction takes
a built-it BASIC editor to easily pull code out or inject code back in
This is a really good set of tools combined in an IDE, easily available everywhere. Impressing what can be done in a browser nowadays. As a WinAPE user, I easily could find most of the things I use often.
For testing, besides the given test programs, I also used my small pre-demo “circles” to see if the CRTC emulation works as expected. And it does! There is only one small detail: At the bottom of the screen, the last four pixel lines do not look as they should. It seems, the image is shifted upwards by these four pixel lines. I cannot test on real hardware, but other emulators do not show this effect. The demo sets up exactly 272 pixel lines and does not care about the remaining 40 pixel lines. Somehow the visible region seems to be shifted a bit. On real hardware, the monitor frame might cover this.
Impressive piece of work, congrats ! If you could please just append some elevators on the debugger window, that would be perfect.
The TV Filter looks particularly good, and really matches what I had back then
Quick question: what CRTC did you have the issue on? I see it’s wildly broken for CRTC 3, more than just a few pixel lines I’m getting started on that first.
Yeah, I too have noticed a small glitch with overscan pictures. It displays a few extra lines at the bottom.
This image is 192x272. I join the source code if it can help. It seems to affect all CRTC types.
I have fixed the issue with CRTC 3 that was showing a completely broken image.
Managed to reproduce the issue with your missing lines, they smell like a common timing issue Having a look now, I might be on to something…
Ok the 4 lines are gone, your map is now displayed perfectly Thanks a bunch for the feedback and sources, much appreciated <3
Web emulator updated, and v1.1 standalone re-built (still working on a proper CICD and release process right now so I’d playing dirty )
Now going back to work on the CRTC 2 branch, because I’ve noticed something nasty
Your issue should be gone now with the released version (web and standalone). Let me know if you see anything odd, and thank you so much for all the info and demo you provided!