I don’t see a link to a guide
is it better to nuke and start again?
On Feb 22, 2021, at 1:44 PM, Warren Young <tange...@gmail.com> wrote:
--
You received this message because you are subscribed to a topic in the Google Groups "PiDP-8" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/pidp-8/_y8UHCQnsY4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pidp-8+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/9dbcf166-f0c3-4906-b933-36a359de0f4bn%40googlegroups.com.
Is this release intended to only run on Raspbian Buster?
One of the most obvious is that the Memory Buffer display on the front panel is not always acting like it should.
--
You received this message because you are subscribed to the Google Groups "PiDP-8" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-8+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/79a0d38a-c5fe-4bd3-9b04-8f82a74267d4n%40googlegroups.com.
a cycle accurate PDP-8 simulator
Writing a stand alone instruction simulator I can do. Added all of the IOT emulation and Integrating it into SIMH is another issue entirely.
The cycle accurate simulator would have to take into account:
- make sure the LED display doesn't insult PDP-8 gurus during single-instruction-step mode
Indicator |
PDP-8 |
PDP-8/S |
PDP-8/I |
PDP-8/L |
PDP-8/E③ |
PDP-12 |
Memory Address |
12 |
12 |
12 |
12 |
12 |
12 |
Program Counter |
12 |
12 |
12 |
|
|
12 |
Memory Buffer |
12 |
12 |
12 |
12 |
12 (BUS) |
12 |
Memory Data |
|
|
|
|
12 (MD) |
|
Accumulator |
12 |
12 |
12 |
12 |
12 (AC) |
12 |
Multiplier Quotient |
12 |
|
12 |
|
12 (MQ) |
12 |
Step Counter |
|
|
5 |
|
|
|
Instruction Field |
3 |
3 |
3 |
|
3 (STATUS) |
5② |
Data Field |
3 |
3 |
3 |
|
3 (STATUS) |
5② |
AND |
1 |
1 |
1 |
|
|
|
TAD |
1 |
1 |
1 |
|
|
|
ISZ |
1 |
1 |
1 |
|
|
|
DCA |
1 |
1 |
1 |
|
|
|
JMS |
1 |
1 |
1 |
|
|
|
JMP |
1 |
1 |
1 |
|
|
|
IOT |
1 |
1 |
1 |
|
|
|
OPR |
1 |
1 |
1 |
|
|
|
Fetch |
1 |
1 |
1 |
1 |
1 (STATE) |
1 |
Execute |
1 |
1 |
1 |
1 |
1 (STATE) |
1 |
Defer |
1 |
1 |
1 |
1 |
1 (STATE) |
1 |
Word Count |
|
|
1 |
1 |
|
1 |
Current Address |
|
|
1 |
1 |
|
1 |
Break |
1 |
1 |
1 |
1 |
1 (STATE) |
1 |
Pause |
1 |
1 |
1 |
|
1 (STATE) |
|
Run |
1 |
1 |
1 |
1 |
1 |
1 |
Ion |
1 |
|
1 |
1 |
1 (STATUS) |
1 |
Link |
1 |
|
1 |
|
1 (STATUS) |
|
IR0 |
|
|
|
|
1 (STATE) |
|
IR1 |
|
|
|
|
1 (STATE) |
|
IR2 |
|
|
|
|
1 (STATE) |
|
MD DIR |
|
|
|
|
1 (STATE) |
|
DATA CONT |
|
|
|
|
1 (STATE) |
|
SW |
|
|
|
|
1 (STATE) |
|
BRK PROG |
|
|
|
|
1 (STATE) |
|
GT |
|
|
|
|
1 (STATUS) |
|
INT BUS |
|
|
|
|
1 (STATUS) |
|
NO INT |
|
|
|
|
1 (STATUS) |
|
UM |
|
|
|
|
1 (STATUS) |
|
INDEX |
|
1 |
|
|
|
|
END |
|
1 |
|
|
|
|
PARITY |
|
1 |
|
1 (PAR) |
|
|
PARITY ERROR |
|
1 |
|
|
|
|
INSTRUCTION |
|
|
|
3 |
|
12 |
PROT |
|
|
|
1 |
|
|
E2 |
|
|
|
|
|
1 |
INT |
|
|
|
|
|
1① |
TB |
|
|
|
|
|
1 |
8 Mode |
|
|
|
|
|
1① |
LINC MODE |
|
|
|
|
|
1 |
I/O PAUSE |
|
|
|
|
|
1① |
INT PAUSE |
|
|
|
|
|
1 |
AUTO |
|
|
|
|
|
1 |
TRAP |
|
|
|
|
|
1 |
SKIP |
|
|
|
|
|
1 |
FLO |
|
|
|
|
|
1① |
Number in columns is number of indicators.
①PDP-12 Specific indicator. Not used in PDP-8 mode.
②PDP-8 uses 3 of the 5 indicators.
③PDP-8/E dial position indicated in parenthesis.
--
You received this message because you are subscribed to the Google Groups "PiDP-8" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-8+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/f3dbe8e2-6888-4bb5-909d-32da8f5be5ebn%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "PiDP-8" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-8+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/f3dbe8e2-6888-4bb5-909d-32da8f5be5ebn%40googlegroups.com.
"5. Increment 0010 (Does this happen here)"
Yes, the increment of an Autoindex register (read-modify-write) happens in the Defer state.
"For each of these steps we need to know what registers (internal and external) and front panel indicators are affected at each step"
There are various more or less formal specifications of this in the DEC documentation.
"IOTs, Interrupts and Combined Microinstructions get even more complicated in terms of steps, their order and how they affect the registers and indicators."
I'm not sure I get your point here. My goal would be to have the front panel reflect realistic status as of the end of each Fetch, Defer, or Execute cycle. Ideally, we would be able to re-activate the Sing Step switch on the PiDP-8/I front panel and have it look as it would on a real machine.
"Different PDP-8s will function differently for certain instructions as well."
True, but the number of differences is fairly small. If this effort does take off, one should pick a reference model of -8 and build to that. In truth, the current SIMH PDP-8 simulation is an 8/e. It's just hiding behind an -8/I front panel. If it were up to me, I would stick with the 'execute as an 8/e but hide behind an -8/I front panel' idea.
"We only need to reflect the result at points where the PDP-8 CPU would stop during normal operations with the appropriate Single Step, Single Instruction and Halt switches in the active (down) state. This will differ between different PDP-8 CPUs."
Differ in the sense of, for example, what 600x, 7002, 7014, 7016, and EAE Mode B instructions do? This would be solved by picking the reference model. Or, do you mean something else?
"However, if we want to truly emulate the bus, we need to accurately represent each bus cycle even if a single step incorporates multiple bus cycles."
FWIW, I don't see any value in a bus cycle-level emulation.
--
You received this message because you are subscribed to the Google Groups "PiDP-8" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-8+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/cf7f561d-e8a1-4497-b6ae-e72f960379den%40googlegroups.com.
I am far, far away from home on a business trip and don't have convenient access to the PDP-8 SIMH source code.
On the assumption that function sim_instr() simulates execution of a single instruction then returns...
update_front_panel_lights()
if( single_step_switch_is_set )wait_for_cont_switch()
I seem to recall that a JMP direct is actually completed in the Fetch state alone but I could be mistaken.
1) Do we really want to be able to use the single step switch?
the single-step mode would not just entail to wait for CONT
I think it's a can of worms.
2) There are a few instructions currently implemented in SIMH that are kind of odd and deviate from the scheme you expressed in the pseudo code, e.g. the EAE instruction
I understand "Mode B" EAE instructions were not impmented for the 8i's EAE
SIMH...simulates an 8e
....so should we be "strictly-8i" and have the new implementation support just the 8e instructions
Scanning the switches at the same time we update the display is fast enough for the human to perceive each switch change as "instant."
--
You received this message because you are subscribed to the Google Groups "PiDP-8" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-8+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/1bba629b-8c22-4953-afff-bcbd436f4b8cn%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/630c36ba-c340-4768-99e0-b1f393d8dcb5n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/b99abdd4-dfc6-42aa-92b6-dd7c2035495fn%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/2035ff62-f257-4d7c-aa67-58dd4b8bde30n%40googlegroups.com.
--
You received this message because you are subscribed to a topic in the Google Groups "PiDP-8" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/pidp-8/_y8UHCQnsY4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pidp-8+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/5ac8cdb7-9ac6-4eab-9004-08e02cb6d917n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/f30dbccd-2416-4a46-b0d4-14b9a51cb92bn%40googlegroups.com.
Indeed, the author has posted here: https://groups.google.com/g/pidp-8/c/PNS6YyOCoAE/m/LNn0PVDsAgAJ