Since it only ever got to prototype stages, the original C65s that are out there run a bewildering array of slightly buggy systems. All have quite different capabilities. Was it supposed to have a UI? We'll never know, and you won't get a unified answer from the ex-Commodore folks
This is apparently a FAQ when it comes to C65 emulation, and as such, the developer of Hi65 has answered it in quite a few places already.
There aren't _that_ many -- few leaked, so it's not a big array of kit. The latest ROM would be preferable, and possibly fixing any outstanding bugs in it.
Another alternative is simply to emulate the Mega65.
Horizon was horrific. The spec was so old that the contract was with colonial favourites ICL, before they were fully renamed Fujitsu. Several postmasters committed suicide when the Royal Mail initiated fraud causes against them that were caused by Horizon accounting errors.
if you want to see how it's done in modern plotters/CNC, Bart Dring's [Grbl_ESP32](https://github.com/bdring/Grbl_Esp32) is fairly easy to follow with good docs. I have one of Bart's plotters, as I don't have space or money for an Axidraw with all my other old plotters around the place.
Going back to really old/simple plotters, there wasn't enough code space to do any optimization. For example, the (fairly terrible) Commodore 1520 roll paper plotter had 2KB of ROM for all the 6502-compatible code its micro-controller used. When I first looked into the [firmware](https://e4aws.silverdr.com/hacks/6500_1/), I was pretty shocked that it printed text by scanning a table of character data from the start every time. Then I realized that even storing pointers for each character would use up about ⅛ of total storage, and the mechanical plotter mechanism was always way behind anything the code could do. So small mattered more than efficient
HP-GL was always able to plot text labels and make graph data markers: it was meant for scientific graphs, after all. Later plotters added arc sectors and filled (hatched) polygons. All the clever optimization was handled by the host computer: a plotter will just output what you tell it.
There is a feature in HP-GL that does make certain types of XY plotting simpler. While it's not a programming language like PostScript, you can scale, rotate and offset the plot by arbitrary amounts. HP instrumentation manuals claimed it was possible to directly plot experimental data by feeding it straight to the plotter after setting the scale. I feel this was a highly aspirational statement, and one not seeing much real use.
You can still make many HP and compatible laser printers speak HP-GL (well, HP-GL/2) through some arcane PJL commands.
Fun fact: HP-GL is equally compatible with metric and US customary measure as it uses 1/40 mm as its base unit. This just happens to be 1/1016 inches: not a tremendously useful integer factor, but every bit of integer goodness mattered back when peripherals were 8-bit.
> Fun fact: HP-GL is equally compatible with metric and US customary measure as it uses 1/40 mm as its base unit. This just happens to be 1/1016 inches
and you guys finally got rid of the US survey foot - the bane of this Canadian's existence when working on big civil jobs in the states. We'll get you guys using proper units afore long
the mailing address for Ferranti-Cetec was at Crewe Toll. I have a vague memory of the Ferranti-Cetec office being further west, though, but I could be wrong
Since it only ever got to prototype stages, the original C65s that are out there run a bewildering array of slightly buggy systems. All have quite different capabilities. Was it supposed to have a UI? We'll never know, and you won't get a unified answer from the ex-Commodore folks