CPC Workbench

Hi all! :slight_smile:

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 :wink:

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
  • a built-in disk editor (files or hex sectors)

Here it is: https://cpcworkbench.gradew.net

Let me know what you think :wink:

10 Likes

Some nice features like the NOP display! :+1:

1 Like

Thanks! Yeah that was something I’ve kind of always kind of wanted every since I started using WinApe to finally code my own raster effects :wink:

Looks pretty cool, but it doesnt play my GX4000 game:

Ronald In The Maze (GX4000) - Games! - CPCWiki

Which runs in Arnold and Retro Virtual Machine.

Would be great to see that grafting on there! :slight_smile:

Dabzy

1 Like

Thanks for the feedback, I’ll get to it right away! :smiley:

You mean you cannot get it to start? Because it seems to run fine here:

I loaded it through Machine>Cartridge

Could it be the issue I hit trying to play on cpcec and reported on Ronald In The Maze (GX4000) - #5 by cpcitor?

1 Like

Mmmm… It wouldnt start… I’ll have another go! :slight_smile:

EDIT: Well, it ran… But doesnt draw the hardware sprites (Ronald and enemies):slight_smile:

Dabzy

2 Likes

Gotcha, I’ll investigate that!

2 Likes

Ooops, my bad indeed :smiley: I fixed the bug, the sprites appear correctly now.

Thanks for this ROM, it is great for two things:

  • bug squashing
  • makes me want to play it :smiley:
3 Likes

Super! :slight_smile:

I’m pleased Ronald could help! :wink: hehehe

Dabzy

2 Likes

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.

1 Like

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 :clap:

1 Like

Thanks for the feedback!
This demo is another gold mine for me, I’ll get cracking right away :slight_smile:

Thanks for the feedback!

Good point about the scrollbars, why didn’t I think of that… :smiley:

I’ve added them just now, you should be able to see them (both web+standalone)

1 Like

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 :smiley: 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.

MAP.asm (108,6 Ko)

1 Like

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 :slight_smile: Having a look now, I might be on to something…

2 Likes

Ok the 4 lines are gone, your map is now displayed perfectly :slight_smile: 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 :stuck_out_tongue:)

Now going back to work on the CRTC 2 branch, because I’ve noticed something nasty :smiley:

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!

1 Like