• Please review our updated Terms and Rules here

PDP-12 #435 at the University of Minnesota Duluth

I don't know what it takes to make a disk image bootable (in any respect), or what needs to be done to make it bootable on a PDP-12.
The process is documented here. If you try it and cannot get it booting, please post here so I (and others) can help further debug.


I recall that it took less than 60 seconds to get the ADVENT prompt after starting it, but the fact you're hearing noises for nearly that long seems like a good sign. Can you halt the machine and single step to see which range of addresses and which instructions it's executing in a loop?
 
I am using the version on @djg 's diag-games-kermit image, FWIW.
I made a copy of diag-games-kermit, and ran SIMH:
Code:
at rk diag-games-kermit.dsk
b rk

From there "RUN RKB0:ADVENT" works, but
Code:
.R FRTS
*RKB0:ADVENT.LD$

D.F. TOO BIG INIT   0000
MAIN   1740
.
That seems different than what you're experiencing.
 
If your running off one disk and trying to run it from another I don't think that will work without rebuilding
sim> att rk0 diagpack2.rk05
sim> att rk1 diag-games-kermit.rk05
sim> bo rk0

.RUN RKB1:ADVENT

8!I"> +-I"8 Y"Q2+OQ*H?8!M*>(+"H?+,;XY"I9> .7; Y9I6:;XY"M*Y+R7.7THURS

http://www.pdp8online.com/pdp8cgi/o...8/diag-games-kermit.rk05;blk=2243,9,1;to=auto

Adjust device names as needed. If you do it this way you will need RKB1 present when you run.
(same 2 disks mounted in SIMH)
.RUN RKB0:FRTS
*RKB1:ADVENT.LD
*RKB1:ADVENT.TX/1
*RKB1:ADVENT.DA/2
*$
.SAVE RKB1 ADVENT

.RUN RKB1:ADVENT

WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS?
 
The process is documented here. If you try it and cannot get it booting, please post here so I (and others) can help further debug.


I recall that it took less than 60 seconds to get the ADVENT prompt after starting it, but the fact you're hearing noises for nearly that long seems like a good sign. Can you halt the machine and single step to see which range of addresses and which instructions it's executing in a loop?
Thanks, @djg , @vrs42 and @antiquekid3 .

I single stepped it once it fell into the loop, which is 28 instructions. I can post them here, but since @djg confirmed that my disk setup is incompatible, it seems like I should try @djg 's approach first. (Thank you, @djg
!)
 
For those interested in the MM8/I replacements, I've got the "no-delay-lines" version working. This should make it a lot easier to source the parts.

This is another example of the phenomenon that "some of my best ideas are Kyle's ideas". @antiquekid3 had been saying for a while now that he thought the timing could be done with monostables instead of delay lines. He was right :).

I also added a gate to theoretically support FRAM to be even more core-like. Haven't actually tested that yet, though.
 
This is another example of the phenomenon that "some of my best ideas are Kyle's ideas".
Yet another case of "Vince actually finishes his projects, and Kyle doesn't." :)

Congrats on getting it working! I think sourcing those monostables will be pretty easy for the foreseeable future compared to the delay lines. It reduced the BOM cost as well, right?
 
Yet another case of "Vince actually finishes his projects, and Kyle doesn't." :)

Congrats on getting it working! I think sourcing those monostables will be pretty easy for the foreseeable future compared to the delay lines. It reduced the BOM cost as well, right?
There's a huge pile of rubble in my basement which basically consists of unfinished projects, which argues against that. I do tend to build things, but I'm really lazy about finishing them, particularly if they aren't working.

There are basically three dual monostables ($0.68 each) and their associated resistors and caps. That replaces half a dozen delay line chips and three 74LS74 latches. That's almost surely a big win for the BOM cost. Perhaps a toss-up, if getting delay lines was somehow comparable to resistors and caps.
 
My tendency is to overthink a project, and then get it to a state where the only person who can use it is me. My book is sort of in that state. I have a bunch of the program examples that are written but until I try them on actual hardware (or even simh) they are not going to be inserted. I got Console Serial Disk to a point where I am pretty pleased with it and put it up on github. But it really needs a lot more work to get it to the place where I want it to be. Vince pushed me to get it to the point where I could post something..

We all have different ways of approaching projects. You guys have a working PDP-12. That is a rare and special thing.
 
If your running off one disk and trying to run it from another I don't think that will work without rebuilding
sim> att rk0 diagpack2.rk05
sim> att rk1 diag-games-kermit.rk05
sim> bo rk0

.RUN RKB1:ADVENT

8!I"> +-I"8 Y"Q2+OQ*H?8!M*>(+"H?+,;XY"I9> .7; Y9I6:;XY"M*Y+R7.7THURS

http://www.pdp8online.com/pdp8cgi/o...8/diag-games-kermit.rk05;blk=2243,9,1;to=auto

Adjust device names as needed. If you do it this way you will need RKB1 present when you run.
(same 2 disks mounted in SIMH)
.RUN RKB0:FRTS
*RKB1:ADVENT.LD
*RKB1:ADVENT.TX/1
*RKB1:ADVENT.DA/2
*$
.SAVE RKB1 ADVENT

.RUN RKB1:ADVENT

WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS?
Hi @djg -- thanks for these instructions! Things seemed to work, until we hit ESC. We got the $ prompt, but then the machine entered what seemed like a waiting loop. I could leave the loop using ^C and get back to the . prompt. Here's a transcript:

Code:
.RUN SDA0:FRTS
*SDB1:ADVENT.LD
*SDB1:ADVENT.TX/1
*SDB1:ADVENT.DA/2
*$^C
.SAVE SDB1 ADVENT
CORE IMAGE ERR
.

This is with a new copy of diag-games-kermit, since I had deleted ADVENT.DA from the one I was using earlier.

Any suggestions? Thanks!
 
@ZachyCatGames spent some time looking at the loop it is stuck in when we have the $ (after pressing escape), and it looks like it is processing interrupts (or something to do with it), but it keeps getting interrupted(?) we are not really sure.

Here's a code listing:

Code:
0001 5402
0400 3322
0401 7010
0402 3323
0403 5207
0407 6551
0410 5215
0415 6661
0416 5240
0440 6041
0441 5252
0452 6031
0453 5276
0476 6021
0477 5303
0503 6011
0504 5311
0511 6663
0512 7410
0514 1323
0515 7104
0516 1322
0517 6244
0520 6001
0521 5400

... in case that is helpful. Thanks!
 
@ZachyCatGames spent some time looking at the loop it is stuck in when we have the $ (after pressing escape), and it looks like it is processing interrupts (or something to do with it), but it keeps getting interrupted(?) we are not really sure.
That's a common problem with FRTS. It runs with interrupts enabled but if some device generates an interrupt it doesn't know about it won't clear it. We had that problem initially with the serial disk server.

I don't know of a easy way to determine what device is generating the interrupt. Any of the PDP-12 folks know what might be generating the interrupt?

One option is to look at documentation of peripherals on machine and see what might be generating an interrupt and what the skip on interrupt instruction for it is. Toggle them in and see which skips.

Worst case would be use scope to trace back to source. Tracing back is a pain without a netlist.
 
I don't know of a easy way to determine what device is generating the interrupt. Any of the PDP-12 folks know what might be generating the interrupt?
I'm thinking the most likely is some unknown issue with SerialDisk. I did some work a while back to clean up the driver return so as never to leave interrupt request set. Possibly I missed a case. @pahp, can you do a "RES/E" and determine the version of SYS:?
 
I'm thinking the most likely is some unknown issue with SerialDisk. I did some work a while back to clean up the driver return so as never to leave interrupt request set. Possibly I missed a case. @pahp, can you do a "RES/E" and determine the version of SYS:?
@Zach or I can do that tomorrow.

Our 12 has the KW12 option... does that generate periodic interrupts all the time? We don't really know how it works and I think it's the one thing that Warren & Dawson didn't do much with.
 
@Zach or I can do that tomorrow.

Our 12 has the KW12 option... does that generate periodic interrupts all the time? We don't really know how it works and I think it's the one thing that Warren & Dawson didn't do much with.
I should add that we are using an os8diskserver built from recent GitHub source.
 
Found manual here
http://users.rcn.com/crfriend/museum/doco/PDP-12/UG-Chap5s4.html#5.4.4

I think this should check if its the source
100 6131
101 5101
102 7402

If it halts its the clock. It doesn't say if enables are cleared by default to disable interrupts. I would hope they are cleared by the main reset.

Console port skips are. You can replace the 6131 with these.
6041
6031

Are you running your serialdisk on the console port?

Not sure if skip last digit has to be 1 for skip if flag but common. You could try all 6##1 to see which skips.
 
Found manual here
http://users.rcn.com/crfriend/museum/doco/PDP-12/UG-Chap5s4.html#5.4.4

I think this should check if its the source
100 6131
101 5101
102 7402

If it halts its the clock. It doesn't say if enables are cleared by default to disable interrupts. I would hope they are cleared by the main reset.

Console port skips are. You can replace the 6131 with these.
6041
6031

Are you running your serialdisk on the console port?

Not sure if skip last digit has to be 1 for skip if flag but common. You could try all 6##1 to see which skips.
Thanks - we look forward to trying this tomorrow.

We have two of @vrs42 's serial cards -- one is running minicom and one is running os8diskserver.
 
We have two of @vrs42 's serial cards -- one is running minicom and one is running os8diskserver.
Try the skips for the address the disk server serial card is at also.
 
I'm thinking the most likely is some unknown issue with SerialDisk. I did some work a while back to clean up the driver return so as never to leave interrupt request set. Possibly I missed a case. @pahp, can you do a "RES/E" and determine the version of SYS:?
RES/E:
Code:
130 FILES IN 2496 BLOCKS USING 4 SEGMENTS
696 FREE BLOCKS

#  NAME TYPE MODE SIZ BLK KIND U V ENT USER
01 SYS   64  RWF      SYS      0 G  07
02 DSK   64  RWF      SYS      0 G  07
03 TTY  TTY  RW       16+ KL8E   E 176
04 RXA0 RX8E RWF  494 17         E  30
05 RXA1 RX8E RWF  494 17         E  34
06 LTA0 LINC RWF  737 20       0 A  10
07 LTA1 LINC RWF  737 20       1 A  11
10 TV   VR12 W        21+        A  13
11 PTR  PTR  R        22  KS33   A 110
12 RKA0 RK8E RWF 3248 23  RK05 0 A  20
13 RKB0 RK8E RWF 3248 23  RK05 0 A  21
14 T4    64  RWF      24         G  53
15 TDA0  64  RWF      24         G  52
16 T5    64  RWF      24         G  51
17 TDA1  64  RWF      24         G  50

FREE DEVICE SLOTS: NONE,  FREE BLOCK SLOTS: 01
OS/8 V3T
 
Back
Top