This question addressed the question of APL overstrikes on printing terminals. However, IBM also had 3270 video display terminals that supported APL, as well, and those, too, handled overstriking. How?

  • Instead of opening two question it might be useful to just have one, as the answer is essentially the same.
    – Raffzahn
    Mar 27, 2020 at 15:50
  • I was sure they were related, but not certain that they were so closely related that it was appropriate to combine them. Mar 27, 2020 at 15:56
  • At least seen from the language/mainframe perspective they are. Keep in mind, there wasn't much room for 'intelligence' (and even less memory) in peripherals in the 60s when APL and it's environment was implemented.
    – Raffzahn
    Mar 27, 2020 at 16:06

1 Answer 1


It's important to keep in mind, that there weren't that much symbols using overstrike in basic (IBM) APL. By using an 8 bit codeset they all could be integrated. The most common charset was Page 293 which extends EBCDIC with all legal APL codes. Symbols that get generated per overstrike, like log ( which is 'Power-Overstrike' or PO), got their own code position (X'CD') and was handled as a single characters.

Later on terminals as well supported code page switching to handle the increased symbol set of APL2. Now a combination of Page 037 (the EBCDIC equivalent of ISO8859-1) and Page 310 could be used. Page 310 holds all APL(1) symbols at the same encoding as Page 293, but replaces the letter blocks with 'new' APL symbols as well as making the decimals superscript. Page 310 is, despite its alike organization, not an EBCDIC page, but a strict graphical supplement, not usable on it's own.

It's ASCII equivalent (for ASCII perhiperals) of Page 293 was Page 371.

Combining was handled by the terminal, not the mainframe. To work with APL, a terminal had to have this codepage installed, usually part of the APL package including the appropriate keyboard and the capability to handle overstrike.

  • Thank you; a very clear explanation that more-or-less matches what I had expected from my (more modern) experience. Mar 27, 2020 at 16:08
  • @JeffZeitlin Glad to help. Of course, this is only a very basic explanation, as over time a lot of special cases added. Which turned upside down with APL2, essentially ending in modal code handling.
    – Raffzahn
    Mar 27, 2020 at 16:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .