PDP-10 / waits

Stanford A. I. Lab operating system 1972 to 1990 named WAITS, Western Artificial Intelligence Time Sharing. This repository provides the wide overview with pointers to and a few samples of the technical and historical details.
11 stars 3 forks source link

Things to try #5

Open larsbrinkhoff opened 3 years ago

larsbrinkhoff commented 3 years ago

Some things I'd like to try. I'll jot some notes here occasionally.

larsbrinkhoff commented 3 years ago

Tested the 1976-08-03 "SYSTEM.DMP.72" off Saildart with pdp10-kl. It started off well, but hangs/crashes after entering time.

Stanford 8.01/C  08-01-76
Start other processor at 204, else type any character.

Type today's date as mm-dd-yy
08-01-76

Enter time of day in 24-hour format
0832

Breaking out to SIMH prompt says Simulation stopped, PC: 000000 (LUUO00 0,1)

FYI, @rcornwell & @bgbaumgart

larsbrinkhoff commented 3 years ago

Is seems the crash is in DDT[S,SYS]. We get safely to the CONO KLPAG, but after that it goes off into the weeds according to CPU history.

SETXC:
IFE FTEXPG,<    PUSH P,EXPGT+DDTPG      >;NO FTEXPG

NOKL10,<        PUSH    P,170
                MOVE    TAC,[JRST SETXCT]
                MOVEM   TAC,170         >;NOKL10

IFKL10,<        PUSH    P,KLUPT+KLPFNP
                MOVEI   TAC,SETXCT
                MOVEM   TAC,KLUPT+KLPFNP ;>IFKL10

        MOVE    TAC,[160040,,1000]      ;PAGE TABLE POINTER TO 1000000
        MOVE    TAC1,[DDTA,,DDTPG⊗9]    ;INITIAL BLT POINTER
        HLRE    AC2,DDTSYM
        MOVN    AC2,AC2
        ADD     AC2,DDTSYM              ;ONE PAST LAST SYMBOL
        MOVEI   AC2,-DDTA+777(AC2)      ;SIZE OF DDT+SYMBOLS+777
        LDB     AC2,[POINT 9,AC2,26]    ;NUMBER OF PAGES IN DDT+SYMBOLS
        PUSH    P,AC2

NOKL10,<        CONO    PAG,0           ;LOAD MBR
                CONO    PAG,7           ;TURN ON MAPPING
SETXC2:         CONO    PAG,1           ;CLEAR ARS MAPPING EXEC PAGES  >;NOKL10

IFKL10,<        BLKI    KLPAG,[EXPGT⊗-9 ↔ -1]   ;SET EXPGT AND USPGT POINTERS IN AC BLOCK 6
SETXC2:         CONO    KLPAG,@KLPCON   ;>IFKL10

History:

076604   777602036310  002502     004000060217  777603036311   300000  00 261140002502  PUSH 3,2502
076605   000777000000  077455     004000076647  004000076647   300000  00 200040077455  MOVE 1,77455
076606   004000076647  002502     004000076647  004000076647   300000  00 202040002502  MOVEM 1,2502
076607   004000076647  077462     160040001000  160040001000   300000  00 200040077462  MOVE 1,77462
076610   000001000000  077447     100000261000  100000261000   300000  00 200100077447  MOVE 2,77447
076611   000007072140  000036     000000106357  000000000000   300000  00 574700000036  HLRE 16,36
076612   000000000000  000016     000000000000  000000000000   300000  00 210700000016  MOVN 16,16
076613   000000000000  000036     000000106357  000000106357   300000  00 270700000036  ADD 16,36
076614   000000106357  007356     000000007356  000000007356   300000  00 201716700777  MOVEI 16,700777(16)
076615   000000007356  077461     000000077461  111100000016   300000  00 135700077461  LDB 16,77461
076615   000000007356  000016     000000000016  000000007356   320000  00
076616   777603036311  000016     000000000007  777604036312   300000  00 261140000016  PUSH 3,16
076617   000000000001  077471     000000077471  700100000002   300000  00 701000077471  BLKI PAG,77471
076620   000000000004  060001     000000060001  000000060001   300000  00 701220022577  CONO PAG,@22577
401313   000000000001  001444     000000000000  000000000000   300000  00 336002000444  SKIPN 0,444(2)

Not too sure about that SKIPN. Here's stepping from a breakpoint:

Breakpoint, PC: 076620
sim> s
Step expired, PC: 076621
sim> s
Step expired, PC: 000000 (LUUO00 0,1)
sim>

So it looks like the pager isn't doing the right thing here. Were there special SAIL microcode?

larsbrinkhoff commented 3 years ago

@bgbaumgart, is this the WAITS bell?

larsbrinkhoff commented 3 years ago

I have a program to draw the Mandelbrot set on a Knight TV or 340 display. It would be an interesting exercise to port it over to WAITS and display on DD and/or III.

larsbrinkhoff commented 3 years ago

I was expecting to hack Spacewar due to a rumor that it needs a PDP-6 to run. But on a whim I just loaded SW[SW,REG] and it worked right off the bat.

There's an option to use keyboard controls, but it seems they are not ordinary key presses but actually a spaceware console attached to the keyboard scanner? There are also spacewar buttons, but the emulator doesn't yet support those. I think it will be a nice afternoon hack to add them in the same fashion as MIT's spacewar consoles.