Category:Saturn Software

From RSX11M
Revision as of 22:28, 9 June 2026 by Mark (talk | contribs)
Jump to navigation Jump to search

Saturn Software for RSX

This Saturn software consists of three main components, Calc, Graph, and Word Processing.

  • SAT.TSK – Master Menu and Document control
  • CAL.TSK – Spreadsheet
  • SIG.TSK – Interactive Graphics
  • WPS.TSK – Word Processing

In this distribution there are 23 RSX tasks that perform various functions and 22 (.SAT) files that contain data and configuration information. In addition there are 4 help (.HLP) files and 18 example spreadsheets (.CAL) and 60 example graphics (.GCL) files and 32 drawing files (.GDF). For word processing there are 13 example files (.WPS).

The software is being made available as a Files-11 disk image (SATURN.DSK) currently available at [1](http://RSX11M.com/Saturn) which can be imported into RSX in the following ways:


- Using the RSX VCP utility (see RSX11M+ V4.6 release notes, Chapter 6 for details on using VCP) - Mounted as a uda disk image with a UniBone or QBone on real PDP-11s - Attached as a rq disk in Simh on a PiDP-11/70

The command file INSAT.CMD will copy the Saturn files from the RSX disk drive where you’ve connected the Saturn disk image to a UIC and drive you also specify. It will then install the software by copying the .SAT and .HLP files to LB:[1,1], create the SA77: global logical required and install the required tasks. The command file STARTSAT.CMD should be called during RSX boot-up. This is typically toward the end of either LB:[1,2]USERPROG.CMD or LB:[1,2]INSPROG.CMD.

Saturn software assumes you have DEC VT terminal emulation including the PF1 – PF4 keys that are used extensively. The rest of the numeric key pad is available for numeric entry. If you don’t have the PF1-PF4 keys mapped, it will be difficult to use the software. If you have a VT125, VT240, VT330 or VT340 or good emulation of the Regis graphics (Gigi or VT LAN 40) you will really enjoy using Saturn Graph.


- PF1 usually backs up a step in the menus to the prior screen. - PF2 is context specific help (like EDT or KED) - PF3 is advance to the next screen in menus - PF4 is exit from the current menu

The documentation for Saturn has been partially recovered. Scanned .pdfs of the following manuals, and miscellaneous documents are available.

- Saturn\_Calc\_Users\_Manual\_1984.pdf (129 pages) - Saturn\_Calc\_System\_Summary\_1985.pdf (17 pages) - Saturn\_Release\_Notes\_1991.pdf (6 pages) - Saturn\_Install\_RT-11\_1984.pdf (63 pages) - Saturn\_Calc\_Quick\_Reference.pdf (quick reference card, duplex legal size) - Saturn\_Graph\_Quick\_Reference.pdf (quick reference card, duplex legal size)


Overview of Saturn Graph


SIG is the menu based interactive graphics function. It takes you through a series of menus based on the type of chart you want to create. It also allows you to output your graph to a variety of devices. The devices are defined by option 7 Graphics Device Definitions. In that screen, the first field is the name of the device such as TI:, TT4:, or a logical name. The next field is device type which could be VT240, VT330, VT340, HDS220, TEK4010, HP7475, HP7550, HOUSTON, NICOLET, LA100, OKIDATA, and a number of others. The devices defined are stored in GTABLE.SAT Table 4 of the Saturn\_Install\_RT-11.pdf contains a partial list of graphics devices that can be used.


When SIG is told to draw a graph on a particular device, it spawns GRF which creates the file of Regis RGL or HPGL or PLOT10 vectors and spools the output to the device chosen. If the device is a printer, then GRF spawns RAS which converts the vectors into raster based code such as sixels that LA100, LA50 and LA75 printers use.


For someone just starting to use Saturn Graph, the biggest issue is finding a suitable vintage graphics device to display the graphs. Fortunately, Rene Richarz just put the finishing touches on his TEK4010 emulator for Raspberry Pi, Windows and Mac OS. You can find this on github at:


[2](https://github.com/rricharz/Tek4010/)


The best way to use the TEK emulator to log into RSX:


./tek4010 telnet RSXNOD


After logging in, @SETTEK.CMD a command file in the distribution will change some terminal characteristics and define a global logical device name TK: This is the display device that needs to be set up in SIG 7 - Graphics Device Definitions.


Enter the device name TK: \<CR\> and Device type 4010 \<CR\>


SIG should fill in the scale range 1024 and 780. Then use PF3 to advance to the Store definitions. This will create a new LB:\[1,1\]GTABLE.SAT

Now you can choose one of the many .GCL example files and choose 4 to display the graph on TK: Graphs display on the 4010 screen and are really fun to watch being drawn. SIG calls GRF to create the vector graphics, GRF pauses to allow you to view the graph and hitting a \<CR\> will erase the graph amd take you back to SIG.

You can modify the graph with SIG 3 – Edit Chart and then redraw to see the effect of your changes. Once you have the chart perfected you can create a hard copy with a HP plotter or LA printer.


Like the .CCL files of Calc the .GCL files are ascii files that could be created with BASIC or FORTRAN and used via GRF to create graphs. An example of a .GCL file is below. It was created by Calc with the / S G menu but then can be modified by SIG or sent to GRF.


Below is an example of a ballistics chart that was generated by Calc’s / S G command and then displayed by SIG and GRF. You can also just send it to GRF directly \>GRF BALLISTIC.GCL but make sure the Device name on the second line is defined.

>TYPE BALLISTIC.GCL
DEVICE,TK:;100,100
CHAIN,SIG,SY:BALLISTIC.GCL
LINE,~06MM REMINGTON,~095 GR NOSLER,12,1,N,D,1,Y,1.15,1,N,D,D,N,N
2,4 ,~0\*,1,0
     50.0000,   3162.5073
    100.0000,   3051.9802
    150.0000,   2943.4194
    200.0000,   2836.8245
    250.0000,   2732.1953
    300.0000,   2629.5320
    350.0000,   2528.8347
    400.0000,   2430.1035
    500.0000,   2238.5386
    600.0000,   2054.8376
    700.0000,   1878.9995
    800.0000,   1711.0255
*,   12
0,700,~0Yards
1500,3500,~0Velocity
*
KEY,95 Nosler

If you have a VT330 or VT340 with a mouse, then you can use option 5 in SIG the drawing program GCU which creates .GDF files which are NOT ascii. There are 32 example .GDF files that can be used as a starting point for further editing. Or example a map of the USA.GDF can be shaded by state to show regions etc.


Another option in SIG are slide shows which pull up a sequence of charts to aid a talk like a primitive Power Point.



History of this Software


It originally ran on RSX11M, RT-11, and RSTS/E as well as VMS and even MS-DOS.

I used Saturn Calc and Graph in an R&D Lab in the 1980s. It was an extremely powerful and easy to learn software package.


I have also been waiting a long time (started in 2013) to be able to use Saturn Calc and Graph. Over the years, I've collected various distributions but the licenses that I had for the RSX version no longer seemed to work. It was distributed as task images, instead of object libraries which would have been easier to hack. The Saturn Calc task would check for a couple files and then if it had not been modified by the license key program it just exited.


I’d like to thank a number of people who had a hand in recovering this software. Norm Byers, the original author of Saturn Calc, who spent time on the phone with me explaining various things. Ken Kunstmann, the former President of Saturn Systems, who was supportive of this effort and connected me with Norm. Malcolm MacLeod, recovered a Saturn dealer’s distribution kit on RX50s in Australia. Most of all, I want to thank Lee Gleason, who developed some fantastic RSX tools that made it possible to disable the license checks.


These task execution tracing tools are able to record a t-bit trace of the executing Saturn Calc task. This trace records the octal value of PC register and the first word of the instruction being executed.


see [3](https://rsx11.blogspot.com/2026/02/) for details


However, RSX works very hard not to allow a task to run with the t-bit trap set. Lee had to modify both INS and LDR in multiple places to NOT clear the t-bit trap in the task header PSW if it is set. When the program exited since the license had not activated it, we would look at the last instruction executed, an EMT 377, to call RSX EXIT$ directive. Then we would work backward to find the conditional branch that could have skipped over the EMT 377. Once that is found change the BLE or BEQ and make it unconditional BR instruction with ZAP.


These tasks are heavily overlaid so the particular overlay of the conditional branch at the correct PC address has to be found. ZAP /LI showed that CAL.TSK had 19 overlays at the address of the EMT 377 and conditional branch. So each has to be checked to find which overlay has the correct octal values in the correct addresses. Then ZAP the BEQ (001403) or BLE (003403) to a BR (000403) to skip over the EMT 377 (104377) that called EXIT$S.


Each of the many Saturn tasks had to be hacked and they each had a couple

spots that had to be ZAPped. But then we had working versions of Saturn Calc,

Graph and WP and were just checking to see if anything was broke.


This is when we ran into the next hurdle, both Calc and Graph were in a demo mode.

For Graph this meant that each plot that it made had a DEMO Version written diagonally across the chart. This was done at the end of the created plot so you could send the HPGL or RGL code to a file and edit it out but that was no fun. I figured out how too by using the SATKEY task and feeding it old license info, I could remove the DEMO mode. This was the same license KEY that would not unlock things directly I suppose because of a Y2K or similar issue.


Saturn Calc was different, It would allow you to create any size (upto the 16384 max cells) but if you tried to save the spreadsheet, it refused unless you had less than 150 cells. The SATKEY trick did not fix Calc. Lee Gleason solved this one by dumping the entire task image to a .DMP file and looking for the 150 (226 octal) value, decoding instruction around it to see if there was a conditional branch associated with it, then use ZAP to make it an unconditional branch.


So far everything looks good, but there are a couple caveats to know about.


- First, the RSX Saturn software doesn't understand named directories so you should be in a UIC based directory when you use it.


- Second, there is an obscure bug that I have not been able to solve and don’t know if it was always there or it was somehow introduced by our hacks and zaps. It involves SUM or AVG calculations across a range when the range of cells when the input values are calculated.


Saturn Graph is working very well. I can create a line, bar or pie chart

either in SIG (Saturn Interactive Graphics) or from a Calc spreadsheet. Then it

can be displayed on a VT125, VT240, VT330 or VT340 (Regis) terminal, then when

I'm ready to make a hard copy, send it to a spooled HP7550 (HPGL) plotter or even a LA50 (sixel) printer. The VT340 mouse even works with the Saturn drawing program.



Current Status


   I would be interested in a beta tester or two who are somewhat familiar

with Saturn to see if there are any issues remaining. Saturn provided many

example files and I'm including them as wellI also included a couple

of my .CAL spreadsheets: BENCH.CAL has some bench mark data for various PDP-11s

and VAXes. BALLISTIC.CAL calculates ballistic tables for bullets given the

initial velocity and Ballistic Coefficient.


This distribution contains in total about 7500 blocks in 190 files.


If you have an RSX system on HECnet, you can NFT the Saturn files from RDP1:: (30.11) them back to your system.


>NFT =RDP1::\*.\*/LO


I’ve also packaged everything in a RL02 zipped disk image at [4](http://RSX11M.COM/Saturn) that can be downloaded with wget to a PiDP-11/70 or QBone. Then just unzip and attach the RL02 disk image to a rl device in simh.


Ultimately, Johnny Billquist said he might be interested in creating an RPM package.

Subcategories

This category has only the following subcategory.

S

Pages in category "Saturn Software"

This category contains only the following page.