PDP-10 / its

Incompatible Timesharing System
Other
856 stars 81 forks source link

SSV - Imlac monitor and text editor #1001

Closed larsbrinkhoff closed 3 years ago

larsbrinkhoff commented 6 years ago

IMLAC; IMLAC SSV
IMLAC; SSV4B IML IMLAC; SSV4 74
IMLAC; SSV4B 72
IMLAC; SSV4LR 71
IMLAC; SSVTTY 27
IMSRC; SSV 52
IMSRC; SSV IML
.INFO.; SSV ORDER
.INFO; SSV RECENT
.INFO; SSV TTY

SSV is the program sometimes resident in MIT-DMS IMLAC terminals. It provides communication with the DEC-1040, copious local storage for characters and graphics, flexible local editing functions, and ARDS-compatible graphics.

larsbrinkhoff commented 6 years ago

"ssv (11374)"
http://www.ubanproductions.com/imlac_sw.html

larsbrinkhoff commented 5 years ago

This list includes SSV.22:
https://github.com/livingcomputermuseum/sImlac/blob/master/imlac/notes/software.txt

(Also many other interesting programs.)

larsbrinkhoff commented 5 years ago

There is also IMLAC; IMLAC SSV which is an SBLK file; probably output from MIDAS using IMSRC; IMDEFS. The words are all 16-bit values, and there's a symbol table.

larsbrinkhoff commented 5 years ago

Progress running SSV on @livingcomputermuseum's sImlac: image

larsbrinkhoff commented 5 years ago

We now have source code for SSV 52.

 TITLE SCROLL SAVER

It includes SSV CHARS, which looks like display lists for drawing characters.

larsbrinkhoff commented 5 years ago

Also something called SST 21.

TITLE SST 21

; Written for PDS-1D compatible IMLACs, uses DMS display addressing
; modification.  Includes ARDS graphics simulator.

; 21 (04/16/77) Software TTY codes

This looks promising for the current version of ITS, because it's expects Imlac to be software TTYs.

larsbrinkhoff commented 5 years ago

@livingcomputermuseum, see comments above for new Imlac software.

larsbrinkhoff commented 5 years ago

SSV 52 required adding closing brackets to literals. (Setting .MLLIT to 0 or -1 doesn't work.)

The IMTRAN'ed binary runs on sImlac.

larsbrinkhoff commented 5 years ago

The .INFO.; IMLOAD RECENT for 12/5/73 says:

(b) The standard default program for graphics IMLACs is now
GSV IML, which has ARDS style graphics in it.  It is "SSV.9" in the
upper left of the screen.
larsbrinkhoff commented 5 years ago

The program SYSEN2; INIT 230 knows how to ask the Imlac console program what it is, and knows about these:

larsbrinkhoff commented 5 years ago

INFO; TERMS 160 says:


        Imlac PDS-1, PDS-4

Status: Supported by ":TCTYP IMLAC" if you're running SSV or SST.
Users:  MIT-DM, Plasma Physics (PLASMA-GROUP@MC)
Price:  PDS-1G is minimum $9K all the way up to PDS-4 with options >$20K
Screen: PDS-1 gets 44 lines by 88 chars with standard font.
        PDS-4 gets 50 lines by 89, but can hack smaller fonts yet.
Chars:  Stroke drawn, you need the long vector option!
Keybrd: no great feel, but stands up to an amazing amount of abuse.
        It takes a lot of multiplexing to generate all 128 Ascii codes.
Speeds: I have heard of Imlacs going 80Kbaud and better.
Has:    Everything.
Lacks:  If it doesn't have it, you can always write your own program.
Misfeatures:    Expensive.

It might be handy to attach your own keyboard.  Features are based on
use of the SSV or SST program of the MIT-DM group.  Since the display
processor is a full minicomputer, you can of course run any sort of
program you wish in the terminal.  In particular there is an excellent
set of games available.

CBF  8 March 1978
larsbrinkhoff commented 5 years ago

According to TCTYP, IMLAC is the plain Imlac terminal type, TIMLAC has a Knight keboard, and SIMLAC is a PDS-4 with a Knight keyboard and can display SAIL characters.

larsbrinkhoff commented 5 years ago

SSV, SST dating. These are file timestamps which might not reflect the true file creation time. Or in some cases, the version is mentioned in some other context.

Software, version Date Source
SSV 7 1973-02-11 .INFO.; SSV RECENT
SSV 8 1973-10-30 .INFO.; SSV RECENT
SSV 9 ≤1973-12-05 IMLOAD RECENT
SSV 9 1973-11-29 .INFO.; SSV RECENT
SSV 21 1974-03-01 .INFO.; SSV RECENT
SSV 22 http://www.ubanproductions.com/imlac_sw.html
SSV 22 1974-04-05 .INFO.; SSV RECENT
SSV 23 1974-06-07 .INFO.; SSV RECENT
? 1973-01-01 IMLAC; IMLAC SSV (tid7005620)
SSV 24 1973-04-03 IMLAC; IMLAC SSV (tid3100124)
SSV 24 1974-08-07 .INFO.; SSV RECENT
SSV 25 1974-09-13 .INFO.; SSV RECENT
SSV 26 1974-10-08 .INFO.; SSV RECENT
SSV 27 1974-10-09 .INFO.; SSV RECENT
SSV 28 1974-12-12 .INFO.; SSV RECENT
SSV 29 1974-12-19 .INFO.; SSV RECENT
SSV 30 ≤1976-10-13 SYSENG; TN6 5
SSV 30 1975-01-21 .INFO.; SSV RECENT
SSV 31 1975-04-02 .INFO.; SSV RECENT
SSV 32 1975-09-15 .INFO.; SSV RECENT
SSV 33 1975-10-04 .INFO.; SSV RECENT
SSV 34 1976-01-11 .INFO.; SSV RECENT
SSV 36 1977-02-03 MAPS3; DMI 7702A
SSV 36 1976-10-27 .INFO.; SSV RECENT
SSV 36.6 1977-02-07 .INFO.; SSV RECENT
SSV 37 1977-02-24 .INFO.; SSV RECENT
SSV 37.5 1977-03-03 .INFO.; SSV RECENT
SSV 38 1977-04-16 Backup: MSB; SSVMSE 3 (tid100068)
SSV 51 1973-01-11 Backup tapes
SSV 52 1973-01-11 Backup tapes
SSV4 24 1975-06-30 MAPS2; ML7507 1074
SSV4 25 1975-06-30 MAPS2; ML7507 1074
SSV4 26 1975-08-28 Backup tapes
SSV4 27 1975-11-11 Backup tapes
SSV4 28 1976-01-14 Backup tapes
SSV4 29 1976-01-28 Backup tapes
SSV4 37 1976-11-02 Backup tapes
SSV4 38 1976-10-29 Backup tapes
SSV4 40 1977-07-05 Backup tapes
SSV4 42 1977-10-25 Backup tapes
SSV4 43 1978-02-09 Backup tapes
SSV4 71 1978-06-02 Backup tapes
SSV4 72 1979-01-20 Backup tapes
SSV4 74 1979-04-26 Backup tapes
SST 21 1977-04-16 Backup tapes
larsbrinkhoff commented 5 years ago

Screenshots of all currently avaiable SSV and SST versions. @livingcomputermuseum, this is what I see.

SSV 22 ssv22

SSV 24 ssv24

SSV unknown version "tid70" ssv-tid70

SSV 52 ssv52

SST 21 sst21

larsbrinkhoff commented 5 years ago

Note that "PEACE WITH HONOR", "xx", and "L" comes from the file used to load the console program.

larsbrinkhoff commented 5 years ago

Display after having logged in, set terminal type to old Imlac codes, and listed some files.

SSV 22 sst22-listf

SSV 24 ssv24-listf

SSV ? ssvtid70-listf

SSV 52 ssv52-listf

SST 21 will not talk to the serial port.

larsbrinkhoff commented 5 years ago

SSV 22 does ARDS graphics well. foobar

larsbrinkhoff commented 5 years ago

We now have some new files:

larsbrinkhoff commented 5 years ago

Given the dating on the files, it appears SSV was developed on DM up to at least version 36 in 1976.

I believe SSV 52 was forked off the DM version eary, and run with ML. Maybe later MC.

MAZE expects to communicate with SSV through some absolute addresses, but they don't match SSV 52.

larsbrinkhoff commented 4 years ago

Some .INFO. files have appeared: SSV ORDER, SSV RECENT, and SSV TTY.

larsbrinkhoff commented 4 years ago

According to SSV RECENT, PDL released an SSV 37.5 on 3/3/77.

larsbrinkhoff commented 4 years ago

How to load SSV or some other Imlac console program, from DM: .INFO.; IMLOAD INFO.

     typing "TTY: CR" will load the standard console program into
     the user's console.  For each IMLAC, there exists in directory
     "IMLAC;" a link to the console program appropriate to that machine.

     IMLOAD also recognizes that if the user types just a number, as:
        25 CR
     he wants the console program loaded into that console (in this case
     "T25:").  If he is loading "TTY:", that is, his own console, the
     user may type only a carriage return-line feed.
     Once the file specification has been input, IMLOAD's behavior
     depends on whether the console being loaded is "TTY:" or some other
     console.  If "TTY:" is being loaded, IMLOAD will attempt to start
     the console's bootstrap loader running.  If this operation
     succeeds, the console's screen will go blank.  If the operation
     fails, the screen will not go blank, and the message:
        YOU HAVE FIVE (5) SECONDS TO START THIS CONSOLE AT 40!
     will be printed.  At this point you must start the bootstrap
     manually.  Having the address switches set to 40 before reaching
     this step is guaranteed to minimize nervous tension.  Most programs
     that are working sufficiently to allow you to interact, however,
     will jump to 40 automatically.

     If the console you are loading is not "TTY:", a different message
     is printed:
        TYPE ANY CHARACTER ON THIS CONSOLE WHEN READY:
     This message is a signal to start the bootstrap loader in the
     console being loaded.  In some cases it will have started
     automatically, as mentioned above, but usually it will have to be
     manually started.  Once the bootstrap is running, typing any
     character on the loading console will start IMLOAD running.  It
     will immediately PROCEED, DISOWN itself to minimize inconvenience
     to the loading console and its occupant.
     Normally, IMLOAD will cause the console program to jump to the boot
     strap loader.  However, the user may have to perform this operation
     manually if the currently resident program is sufficiently
     clobbered.  At the present time the PTD has two sorts of machines
     as far as starting methods are concerned.  One sort has
     "Programmer's Consoles", and the other "Starting Switches".

     If your machine has a "Programmer's Console", set the address
     switches on it to 40 octal (all switches down but switch number
     10).  Then, to start the IMLAC going at 40, press the large button
     marked "STOP" and then the one marked "START".  The console lights
     should indicate the machine is running in tight loop near 40.  Once
     actual loading begins, the lights will change to indicate a loop
     near location 17700 octal.  Most programs are self-starting, but
     some will stop with the loader at location 17714, which indicates
     that a manual start is needed.  Any other stop is an error and you
     will have to try loading again.  If your machine has "Starting
     Switches", located at the right rear of the machine in most cases,
     you should set the two position switch to the position marked "40"
     and then press the button.  The only evidence that this procedure
     has worked is that the display stops (if there was one).

     Most IMLAC programs start at either location 100 or 101 octal.  The
     latter is usually a reinitialization location, the former simply
     "continue".  Thus, if you are concerned about the buffer contents,
     restart at location 100.  Otherwise, start at location 101.
larsbrinkhoff commented 4 years ago

Some new files from the Dynamic Modeling PDP-10:

larsbrinkhoff commented 4 years ago

Added to the table above all versions from the Dynamic Modeling file .INFO.; SSV RECENT. The records go back to version 7, but for some reason there's a gap between 9 and 21.

Apparent are two different lineages of SSV. One is the original DM going ending at version 38 in 1977. (After this presumably SST took over.) The other was used on ML and/or MC, starting with version 24 from 1973 (before DM version 24!) and ending with 52 also in 1973.

larsbrinkhoff commented 4 years ago
Versions 8 and higher give their name and version number in the
upper left corner of the screen, for example: "SSV.8".

This is interesting because @tuban's file "ssv (11374)" does not display a version number.

larsbrinkhoff commented 4 years ago

MAZE has this comment.

; ALL CHARACTERS SUBROUTINES AND THE DJMS TABLE IS UP IN THE CONSOLE PROGRAM (SSV).
; THE DJMS TABLE IS ACCESSED THROUGH LOCATION 24 OCTAL WHICH STARTS WITH THE ENTRY
; FOR OCTAL CODE 40 (SPACE).

SSVMSE 3 says

; locations 24 through 37 are defined to contain
; constants and variables of interest to programs that
; might be overlaid on top of SSV
        LOC 24

JMSTAB: LIST40                  ; 24/ table of character DJMSs
BUFEND: CRIKY                   ; 25/ end of SSVs display buffer
INTARM: REF\KBD                 ; 26/ interrupt arming word

SSV 52 says

        LOC 24
        SCF
        ISZ TICKER              ; TICK BOMB
        JMP GLV
        CLA                     ; IT EXPLODED HERE

so it's clearly not compatible with MAZE.

larsbrinkhoff commented 4 years ago

I'm reconstructing source code for SSV 22, which is a version close in time to MAZE and seems a good match for running the game. It looks like SSV 52 is the closest relative, but also SST 21, SSVMSE, STV, etc are useful.