rcornwell / sims

Burroughs B5500, ICL1900, SEL32, IBM 360/370, IBM 7000 and DEC PDP10 KA10/KI10/KL10/KS10, PDP6 simulators for SimH
http://sky-visions.com
95 stars 20 forks source link

PDP6: JOSS #194

Open larsbrinkhoff opened 4 years ago

larsbrinkhoff commented 4 years ago

JOSS supervisor is here: https://www.rand.org/pubs/research_memoranda/RM5437.html

rcornwell commented 4 years ago

Without the JOSS compiler and other stuff this is not really useful.

PashPaw commented 4 years ago

Could we theoretically get AID to run on top of it considering that it is likely JOSS?

rcornwell commented 4 years ago

Would be neat to get it running. It should run without a problem since I have full support for the PDP6.

There is some listings here http://www.bitsavers.org/pdf/rand/joss/ but not sure what they are.

PashPaw commented 4 years ago

I think they're for the JOHNNIAC. For some odd reason, JOSS-II (PDP-6/10) and JOSS-I (JOHNNIAC) documentation is mixed up on Bitsavers right now. I wish I could get the source for the CUSP off of the Panda distribution as it appears to be from before the copyright date on Monitor 5.03's copyrights to see what pertinent information I could get out of them.

My guess is that KMON.MAC is a "simulator" for the JOSS Supervisor. Can't confirm it but there's a lot of mention of JOSS in ARITH.MAC and INTREP.MAC and a lot of the filing operations that appear to be covered in SU seem to be covered in KMON but I need someone with a little more experience to confirm this.

BTW, AID's broken in 5.03. Keeps crashing when I tell it to "Do part x".

larsbrinkhoff commented 4 years ago

From Wikipedia:

In order to support multiple user programs, the PDP-6 hardware was modified to examine bit-20 of any address reference. If this bit was set, the address was in "user space" and was modified so that address zero pointed to the base address of that user. In this way, user programs could be moved about in memory without causing problems for the system, and the operating system could switch from user to user simply by changing a single internal register.

Terminals were handled through a custom "concentrator" that consisted of a mechanical Strowger switch that could connect any of the 300 to 400 possible terminal plugs to any of 40 outputs. A further eight lines were dedicated to Teletype Model 33 inputs, as opposed to the JOSS-style Selectrics. Those 48 lines were then connected to an electronic multiplexer connected to the CPU. The multiplexer was interrupt driven, meaning idle terminals did not use up any cycles.

Other peripherals include drum, disk, magtape, dectape.

rcornwell commented 4 years ago

AID on 5.03 comes from WAITS archive, there might have been some stuff that got changed. If you want to debug it and send me some changes I will gladly apply them. I am also starting to work with the WAITS tapes so I might be able to find a better version.

PashPaw commented 4 years ago

The WAITS version of AID (JOSS), didn't have the HISEG pseudo-op. Seems to work fine after reenabling it.

`.ssave Job saved

.start

AID (14-JUNE-71) AT YOUR SERVICE ...

1.1 Type 1+1 Do part 1 1+1 = 2`

The changed file should be here: arith.mac.txt

rcornwell commented 4 years ago

I updated AID and BASIC yesterday... you missed a few HISEG ops. Updates are on my web site.