WARNING! LONG post coming up! Alrighty! I've been having a good look at CPC Basic 3, and I've gotta say, I'm really liking it!
For more serious stuff, I'll stick with ccz80 (also by the same dev), but for simpler stuff, CPC Basic 3 is FANTASTIC!
It's particularly good for prototyping, and for making magazine/book type-ins run about a bajillion times faster!
Your mileage may vary of course, as it still uses the same firmware routines for PRINT, PLOT, DRAW etc, but the actual program logic will be much, much quicker.
A few things to note:
CPC Basic 3 doesn't handle REAL values the same way that Locomotive Basic does.
This threw me at first, as the vast majority of the language works just like Locomotive.
In fact, I've typed up an old type-in from a book, and at least 95% of the code didn't need to change!
To handle real values, Emilio has developed a number of RSX commands, which allow you to pass in an element from a "table" of real variables. I had no idea how to get this working at first, but once I figured it out, it's actually pretty simple, and rather clever too.
If anyone wants to have a go with CPC Basic 3, and has troubles with REAL variables/values, post here and I'll do my best to help.
The website at
cpcbasic.tk serves as the documentation. It needs to be read and understood, if only to learn about the differences from Locomotive. It's not too hard, and once again I'm happy to help with any questions (though I'm still learning as well!)
For these screenshots, I'll be using this block of code:
10 REM Hello World!
20 RANDOMIZE TIME
30 MODE 1
40 FOR i=1 TO 10
50 LOCATE RND MOD 29+1,RND MOD 25+1
60 color=RND MOD 4
70 PAPER color:PEN (color+(RND MOD 3+1)) MOD 4
80 PRINT "Hello World!";
90 NEXT
100 PAPER 0:PEN 1:LOCATE 1,1
You'll notice a few instances of "RND MOD" in the code.
CPC Basic 3 handles RND a bit differently from Locomotive, but it is explained on the website, and is pretty simple to get working the same way.
NOTE that you can simply edit your program in a text file, and compile it using the command line (and therefore avoid the IDE entirely), and for many people that will be the preferred option. But for the more adventurous/nostalgic among us, the IDE is a lot of fun.
Okay, some screenies:
This is what you see when you run cpcbasic.exe.

Along the top of the IDE are some options:
This allows you to set the model of CPC you are targetting.

This allows you to select the output type.

And this allows you to tell the compiler how big the table of REAL values need to be.
There are also handy shortcuts to the Programs and Output folders.

Now for some cool things in the IDE.
You can type CLS to clear the screen.
It's not really a "screen", but a non-editable text window, syntax highlighted with CPC colours.
All typing is done in the white bit under the blue area.
You can click in the blue area, and use the arrow keys to move up/down through the window, to effectively see a history of what you've done.
Very handy for examining your program without having to use the LIST commands as on a real CPC.
Note that the blue section slows down if it gets too long, but can be cleared and sped up again by typing CLS.
You can also use PageUp/PageDown to move more quickly.
You can change the mode!
For example, here is the listing in mode 2 text.

The MODE commands are the same as on a real CPC.
Typing CAT lists the files in your Programs folder.

Typing LOAD"HELLO.BAS" will load that program, and it can be viewed by typing LIST.
Editing and deleting lines is done just like on a real CPC.
For example:
EDIT 80
The line will be made available to edit in the white editing area at the bottom.

Don't forget to SAVE your program periodically.
The saved file will be put into your Programs folder.
Typing RUN will compile the program according to the options you have selected at the top of the IDE.
In this example, it compiles the program, and automatically sends it to the included CPCE emulator.

Hopefully that'll be enough to get people started.
I'm really enjoying CPC Basic 3 so far, and I'm thinking of "updating" some old type-ins that I enjoyed back in the day.