Class: PowerBoot
Several newer Maintenance Programs used the following instructions:
Mnemonic | Octal | Code Function |
SPL | 6102 | Skip if the AC LOW flag is set or AC LOW signal is low |
CAL | 6103 | Clear the AC LOW interrupt. |
SBE | 6101 | Skip if the BATTERY EMPTY flag is set. |
In order to execute these instructions correctly I decided to implement this functionality. The available test programs were all for the PDP-8/A, so I chose to implement the logic of the M8317 KM8-A Option #1 Board of the PDP-8/A. The description of the logic involved in these operation is found in 'Power Fail/Auto restart andd Bootstrap loader'.

Power button and Switch

Context menu options
The power fail option requires turning off the power to the computer. This is naturally not possible in an emulator: we have implemented logic so that the power button (as seen on the left in a partial picture of the panel) simulates the removal of power. It does not close the emulator; the closing of the emulator is done by closing any window.
Also shown is the 'Switch' which now functions as a Bootstrap button. It finally has the intended function; the SW cannot be tested by any program, it only was an Omnibus line. Because the emulator does not have all the switches the hardware KM8-A board has, the bootstrap chosen for the bootstrap loader is the last one chosen through the context menu as shown on the right. An extra check button called 'Time share' was added for turning off this feature as requested by the test program.
The logic serving both the Powerfail and Bootstrap functions are implemented in the abovementioned PowerBoot module, with help of some interfacing in Panellogic and Panel8. All bootstraps as shown in the context menu (see higher up on the right) are implemented in this module by means of a pseudo-rom called 'boottable'.
The testing procedure as detailed in KM8-A M8317 Testing tells us that the appropriate testing program is called MAINDEC-08-DJKMA-A or B. The only binary I have found is DJKMAC. That means I had to recompile this binary and also adapt it to the bootstraps of my emulator.
The following list shows the three versions of the test program. Under 'Test program' the name of the test program to be found under 'Tests', under 'Source' the respective sources that were used to produce the executables, under 'Testing procedure' the instructions for executing the test. The last description called 'DJKMAE-Extract-Emulator' will give the step by step instructions for using this program in my emulator.
Test Program | Source | Testing procedure | Remarks |
MAINDEC_08-DJKMAB-D_KM8-A_Option_Test_2_BIN=DJKMAC | DJKMAB | DJKMAB-Extract | Non matching listing and binary |
MAINDEC_08-DJKMAD-D_KM8-A_Option_Test_2_RECOMPILE | DJKMAD | DJKMAB-Extract | Recompiled shown as listing |
MAINDEC_08-DJKMAE-D_KM8-A_Option_Test_2_ADAPT | DJKMAE | DJKMAE-Extract-Emulator | Binary and listing adapted to my bootstraps |
The modified and unmodified programs can be found on the MyProgs disk (DJKMAE.SV and DJKMAD.SV).