Parallel Port Oscilloscope (PPOSC)

In the following, I will explain PPOSC a little bit. This is preliminary information, and subject to change.


March 28, 2006

I uploaded V2 of PPOSC. This fixes some bugs:

  • On some machines (for example, in VMWare), you could not read all texts, as the EGAVGA.BGI driver does not work everywhere.
  • There were some data lines swapped: D2 with D3, and D6 with D7. This was because I wanted to take into account a cabling error in my setup, and I totally forgot to remove this for the published version.

Get V2 from the download section below.

What is PPOSC?

PPOSC is a program which runs on plain DOS. It collects information from the machine's parallel port as fast as possible, and displays it like some oscilloscope.

You can use PPOSC to monitor other parallel ports, as well as monitor any other signal which can be interpreted digitally, that is, there is only an "ON" and an "OFF" state. Anyway, you might need some interface hardware to be able to connect your parallel port to another device.

Supported operating systems

To be able to collect data, PPOSC runs on plain DOS only. No DOS extenders, DOS box of Windows (or Linux), or other hardware virtualization (VMWare or Virtual PC come to mind) or allowed, either. That's because PPOSC needs the timing as correct as possible, and these virtualizations would break this requirement.

Anyway, for having a look at the collected data, you can use any suitable DOS box. That is, the DOS box of Windows NT, 2000 or XP are as good as the DOS box of Linux might be.

Precautions, and Legal


The following applies:

Copyright (C) 1998-2006 Spiro Trikaliotis
All rights reserved.

You can download the free version for your own usage. Please, do not spread it.

In action

The following is an example shot of PPOSC in action:

Who can tell me what is shown here?


You can start the program with PPOSC. There are command-line arguments, you can see a list with PPOSC -?.

For a starter, you must know the (real!) frequency of the processor you are using for measurements. For example, if your system's frequency is 150 MHz, you must start PPOSC with PPOSC -f150M (no spaces between -f and 150M, please! And: Case matters!)

If you want to make measurements, you MUST boot your machine using a DOS without (!) any DOS extenders! That is, you cannot use Win 95, 98 or Me boot disks. Furthermore, HIMEM.SYS and EMM386.SYS are not allowed. These would change the timing significantly, which is not good for this usage.

Upon start of the PPOSC.EXE file, your bidirectional LPT port is set to all inputs. Now, you can start measurements by issuing the menu entry FILE/Collect (you get to the menu by pressing F10 and using cursor keys as well as enter, or you can select directly via Alt+F for file, and so on).

If your measurement is done, press any key. PPOSC writes the measurements to a disk file called _TMP.DAT before showing the results. Now, you can save your measurement (File/Save), load a previously saved file (File/Open), zoom in and out to see more details (View/Zoom), and the like. I believe you will easily understand each option. To exit, either press Alt+X, or use File/Exit.

If you use zoom in, or you use the ruler, you can move a ruler left and right via the cursor keys. To accelerate it, you can use Shift+Cursor keys, ctrl+cursor keys, or alt+cursor keys. Home, End, Page Up and Page Down work, too.

If you stumble across a bug which crashes pposc, after aborting File/Collect, PPOSC will quit with an error message. Fortunately, your measurement has been written to the disk into the file named _TMP.DAT. You should copy that file into another one, with another name, and try to re-open that one. If this does not work, please send your _TMP.DAT to me. This will help me catch that bug.


I hope you find that little tool useful. At least, it was for me more than once. If you have any questions, feel free to ask.

You can download a free version of PPOSC from here.


Just contact me at, or visit my homepage at