printing text on HP-GL plotters through RS232 on AY-3-8912

edited August 24 in Software

i don't know, if anyone is even interested in these things. But i do. I like printers, plotters and other devices which we can connected to the ZX Spectrum.

Some time ago i did small research about RS232 (i wrote pretty long and still unfinished article on my website, but it is in Czech). Interesting thing is, we can use RS232 fully compatible with ZX Spectrum 128k (and grey Amstrad 128k +2) with almost any ZX Spectrum clone with AY-3-8912. See this video - it have english subtitles

So yeah, i am using amazing utility sercp with ZX Spectrum 48k+ and ESXDOS on DivIDE. It really saves time if you programming on PC and testing on real hardware.

Thanks to others on forum we now have drivers which can transmit data from ZX Spectrum with 57600bps or even with amazing speed 115200bps. Yes, Z80 can do it. On speed 57600bps data can be received too. See source code here (hopefully, some day, i will finish that article, some source codes must be analyzed, some measurements must be done).

Almost year ago i even built my own plotter which can interprett very simple and basic HPGL. It cannot do more sophisticated commands (like circles, curves, or fill areas), but even most basic commands like PU,PD, PA,PR are enough to be able draw anything. I can print complicated pictures from Inkscape (here are some for download ... at bottom of page).

Btw... before i built my own plotter, i drew these pictures on Aritma Minigraf 0507, which is plotter without any intelligence, is fully driven by ZX Spectrum with very interesting driver MZXR. It interprets language similar to HPGL, but not same, not compatible. Pictures from Inkscape must be converted from HPGL to MZXR. (utility is available)

So, now it's time draw some texts on HPGL plotter. And maybe on any HPGL plotter. Who will try it first?

I wrote simple driver, which is using font "rowmans" (and font "scriptc") from Dr. A. V. Hershey and draws texts generated by commands LLIST and LPRINT. (other fonts are here - most of them needs to be converted and maybe little modified).

Here is article about it (in Czech - maybe Google translator will help?)
Here is video about it (use subtitles, i translated it best i can)

Dr. A. V. Hershey published his very nice fonts in book Calligraphy for Computers in 1967 (yes, in 1967 - almost 15 years before ZX Spectrum). I just wondering why we was not using it before? Why took it so long?

It should work, with some minor tuning (page size, resolution, font size, page rotation ...), on any HP-GL plotter (even on original Hewlett Packard) if you are able to connect it to Sinclair RS232 on AY-3 -8912. My driver by default uses 9600bps with RTS / CTS HW data flow control. But it is simple switch it on slower speeds 4800bps, 2400bps and enable odd or even parity. Many plotters uses some of these parameters.

Enjoy. Source code is of course available. Feel free modify it and make it better.

I am very interested see if someone will be able print something and how it looks from other devices.
Post edited by cygnus on


  • edited September 7
    I find this very interesting and fascinating but it's not a subject I understand. Decades ago when I read about plotters in Sinclair magazines, I imagined they could be used to draw screen$, vector graphics and even CAD stuff, all from Spectrums. Vector graphics were used in text adventures but never had much detail. Around 1987 I saw a Timex TC2048 draw a very detailed picture of the Mona Lisa, all using vector graphics. I imagine it would be even more impressive if we could see it done by a plotter.

    edit: RS232 has always fascinated me. I know none of the Spectrums have "proper" RS232 but we've seen posts about interesting experiments with it for the past couple years. I remember hoping it could be used to backup tapes and 3" disks to a PC but back then I didn't understand the limitations. The interest seems to be minimal but maybe back in the early 2000s it would've been fun. Now we have most people using emulators, real hardware with tape loading or real hardware with mass storage devices and interfaces. I don't see interest in RS232 or Plus D/Disciple/Opus stuff anymore.
    Post edited by zxbruno on
  • Hi, its very interesting to see although i only can read some tables.
    I am NOT a hardware guy but wrote a simple FX80 chr routine thats turns 8x8 chr into 11x8 proportional printer chr which are uploadable to (any?) epson fx-80 printer eg using an Disciple. not realy a plotter.
    And my other small link with your work is that i am writing a asm version off outplay and i had my own little thing with port 7. Outplay now is reading port 14 but its not used at all. So your routines are a welcome source for me. I hope to understand the asm links.
    thanks for sharing, it must be years off work.
    my old website has changed to so just click it and select a file
  • edited September 16
    Draw raster pictures (screenshots) with HPGL plotter is possible, i wrote driver for it recently (simple and not published yet). I even can draw pictures in colours, but it is very very slow and it is not easy replace pen in plotter with different color to be still at same position as previous colors. Draw monochrome picture is much simpler, but still slow. It is just not best use case for pen plotters.

    Other example of color drawing on ZX Spectrum is here

    Mr. Ladislav used different plotter Aritma Minigraf 0507, different driver and just bunch of cheap felt tip pens. Result is interesting. But it is not RS232 plotter, it have only simple TTL interface and whole plotter is fully controlled by ZX Spectrum.

    CAD drawings are not particularly interesting for me, because i just don't have usable data on ZX Spectrum. I even don't know about any usable CAD for ZX Spectrum. But pictures from Inkscape looks pretty good. I made several pictures from photos. For example - downloadable here

    RS232 definitelly can be used for backuping, i am using SIF for TRDOS with utility SIFTRD and Pavel Vymetalek modified my utility for ZX 128k RS232. Modern PC cannot read or write these diskettes, but send/receive TRD images through RS232 in to ZX Spectrum directly is easy and pretty reliable.

    A cannot see reason, why it should not be possible for +3 or any other storage system. I just don't have +3 etc. so i cannot write it nor test it.

    I am kinda dreaming about modifying one very good tape copy program for RS232 export, but i am still failing, because i just don't understand everything in this program.

    Btw. for Epson printers exist really good utility for text editor DESKTOP from Proxima (fully WYSIWYG editor on ZX Spectrum). Utility is called UltraLQ and can print text on 24 pin printers in higher resolution (characters are proportional 24 pixels tall). For 9 pin Epson printers is driver part of DESKTOP by default. You need only compatible interface with chip 8255 (something like this and proper cable). I have EPSON LQ-100 which is compatible with it. I think FX80 can be usable too.

    Post edited by cygnus on
  • Hi Thanks for pointing out UltraLQ. I know the program and had in mind i downloaded it years ago. With my today search i only find the TXT file instead of the routine. the program 'Desktop' it selve is found easily:
    but no 'ultra' to befound

    but even ZX-art mentions a "MIA"

    Is there a change that know were to find it ? or perhaps you upload the file if you have a copy your self?

    my own prog is here at WOS, i should make a tap file aswell, since i just notice its a Discple-file.:
    my old website has changed to so just click it and select a file
  • Utilities UltraLX (for 9 pin printers) and UltraLQ (for 24pin printers) are part of KUD 4 (Klub uživatelů Desktopu = Club of Desktop Users).

    List of all Proxima software is here

    At top of this list is link for download whole package with everything.

    I think, most of their software is unknown, because it was often in Czech language only. But fortunatelly, editor Desktop is in english, only manual need to be translated.

    Many years ago i wrote for editor Desktop driver for PCL printers, it works with some old HP Deskjet and Laser Jet printers.
  • Thank you, especialy the link to the proxima links. Proxima is known but not good enough apperently.
    But if you say "zx" and then " proxima" then i say YES. eg Edit-Sampler
    And now i know about KUD i found it in the list
    but its only mentioned here on WOS.
    Do you know if Ultra uses the "MOVE" command? On Disciple and +D thats very simple to use, like opening a file, and once the printer-font is made with 'font>#3' (font to stream 3 as you probably read) you can use it in any basic or machine code prog aslong as you can get it in the printers memory uploaded. Which is easy in the MGT device having a controled printer port.
    thaks for linking, i am "complete" now,
    my old website has changed to so just click it and select a file
Sign In or Register to comment.