Opened 10 years ago
Last modified 9 days ago
#8 new defect
ISOLTS executes pas2 test harness incorrectly.
| Reported by: | Owned by: | Eric Swenson | |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | General | Version: | |
| Keywords: | Cc: |
Description
Running the pas2 exec command 'hdump' produces an infinite listing of history resister values.
Note:
See TracTickets
for help on using tickets.

This is almost certainly an emulator (dps8m) issue, not Multics. Needs debugging on the emulator
Multics isolts_ only relays
hdump.isolts_.pl1(bound_tolts_) handles a few options itself:cdump,mdump,xdump,sdumpinck_isolts_opt. Anything else,hdumpincluded, goes to the pas2executive, which runs on the CPU under test.
isolts_'s part is only to relay pas2's output requests (interpret_action:action.print/action.typemessages, converted from BCD and printed).The endless listing is pas2 itself looping, asking again and again to print history-register data. pas2 is Honeywell test code that reads the history registers of the CPU under test and stops after the registers have all been read. If the emulator's history register behavior differs from the hardware (how many entries a read returns, the wrap or "last entry" indication, or the effect of the history register control bits in the mode register), pas2 never sees the end and keeps going.
We should look at the dps8m history register implementation (
dps8_cpu.c"history register inputs", thelhr/shr-type reads and thedps8_faults.chistory register lock and strobe handling), withcpu.tweaks.isolts_modeon. dps8m already has many ISOLTS-specific fixes (comments citing ISOLTS test numbers), so this belongs with those.We should run
isoltson the emulator, enterhdump, interrupt after a few screens, and trace the instructions the test CPU executes (dps8m debug tracing) to see which history-register instruction pas2 loops on and what value it tests.This really should become a dps8m ticket, not a Multics ticket.