Written by: Administrator
Parent Category: Tools
Category: PDP11GUI

The PDP-11 architecture uses the upper 8 kilobytes of its 64 kilobyte address space to access registers of processor components or device controller cards. This is called “memory mapped I/O”. The I/O page occupies the 16-bit user mode addresses 160000 to 177776, (bzw) the 22-bit addresses 17760000 to 17777776.

The I/O page scanner creates a list of all addresses in the I/O page, which do not cause an UNIBUS timeout. With the resulting address list  you can

 

pdp11gui_iopagescanner

Scanning

If you press the “Start” button, the I/O page scanner reads every even address in the I/O page. Either the address yields a value, or it generates a UNIBUS timeout. The scan takes a lot of time ... typical more than 10 minutes! You can press the “Abort” button to stop the scan. If you do not so, progress is displayed in the window caption for your entertainment.

Result windows

The result of the scan is displayed in two sub-windows:

An Example

In the example above, I performed an I/O page scan on my 11/44, only processor cards and one memory card were installed. Only a part of the big register list is visible. Since I have a nearly complete machine description file, most addresses are shown with good symbolic information. But you see an undocumented area of 256 words at address 17770200. I would be glad to know whats behind it!

You see also the CPU diagnostic ROM at 17765000, with the version info word sitting at 17765774. DEC’s “EK-KD11Z-TM-001 PDP-1144 System Technical Manual” listed this address as 17776774. Finding the CPU diagnostic ROM was in fact my primary motivation for writing the I/O page scanner!

Limitation

The I/O page scanner will exam lots of unimplemented addresses wich cause a UNIBUS timeout. On early machines like PDP-11/34, the console emulator can not give an error output, it just halts the machine, and contact to PDP11GUI is lost until you start the machine over the front panel again. Do not try an I/O page scan on 11/34!