Decoding photographs of the IBM 5100’s Executable ROS

Use elementary image processing and machine learning techniques to decode images of a computer screen showing hexadecimal digits. The data in these images are ROM contents from an interesting old computer.

The IBM 5100 is an early personal computer (ostensibly portable at 24 kg). Depending on customer-selected options, a 5100 could have interactive programming environments for APL and BASIC built into its ROM. Or, if you prefer, its ROS (“read-only storage”), which seems to have been the IBM-favoured term.


The youngest 5100s are a bit over 40 at time of writing, and some accounts online suggest that the ROS devices are no longer dependable. This notebook is part of an effort to back up the entire IBM 5100 ROS to modern media. Specifically, this notebook contains code that analyses screenshots (that is, photographs taken with a camera) containing 512-byte portions of the “Executable ROS”—the ROS containing the native PALM code.

That sure is one way to perform computer archeology and keep an old technology alive for posterity.


  1. 2019-04-03 10:53 pm
  2. 2019-04-05 12:52 am
    • 2019-04-13 8:24 pm