RSTS/E AWS progress…continued

I ended yesterday on a good note. Looking back at the program I see there was no valid FIELD statements. Actually it looks like this…

LIST 130
TAPE01 12:01 AM 29-May-99
130 ! FIELD !1%, (I%-1%)*32% AS D$, 27% AS B$, 5% AS A$

Ready

LIST 140
TAPE01 12:01 AM 29-May-99
140 ! TEST FOR MULTI LINE “&”

Ready

LIST 150
TAPE01 12:01 AM 29-May-99
150 FIELD !1%, (I%-1%)*164% AS FILL$

Ready

Line 150 should have a # after the FIELD statement. Somewhere along the line I must have done a search and replace. So of course printing FILL$ would print a blank line.

A reminder…

$ ./tapedump INPUT: CUST-TAPE-1000.aws
TAPEDUMP v1.0 (BASIC) copyright Jay Moseley, CCP 2000
Processing AWSTAPE file: CUST-TAPE-1000.aws
Serial Number from VOLume 1 label: VOL001
File MVT Dataset RECFM BLKSIZE LRECL BlocksExpected BlocksRead
0001 CUSTOMER.FILE B    16,400   164             10         10

OK. After some trial and error here is where I’m at…

sim> att tu -r -f aws CUST-TAPE-1000.aws

ASSIGN MM0:

OLD TAPE01

Ready
        
RUN
TAPE01  12:56 AM        29-May-99
 1                                                                      
                                                                        
                                  
 2                                                                      
                                                                        
                                  
 3                                                                      
                                                                        
                                  
 4                                                                      
                                                                        
                                  
 5                                                                      
                                                                        
                                  
 6                                                                      
                                                                        
                                  
 7                                                                      
                                                                        
                                  
 8                                                                      
                                                                        
                                  
 9                                                                      
                                                                        
                                  
 10                                                                     
                                                                        
                                  
 11           tsqsxuyutrwtrxyxqETT@@@@@@C$#(@@@@@@@Y@@@@@@@@@G@@@@@@@@@@
@@@@@@@@@QY@@@@@@qyvr`ps`pvqyyp`pw`qwpquKrwwtrt@f@yr@D@@@@@@@@@G@@@@@@@
@@@WAqwswu@
 12           tsqsyxtywxqvwxrruBT@@@@@@@@Q@@@@@@@@@@@@@@@@@@@@@@@@@C$@@@
@@@@@@@@@@@@@@@@@@@@@@@@@qywv`qq`qxrpqr`py`rrpytKrvvxq@b@sxx@c@@@@@@@W#@
@@@@@@@@@@@TEptqrt@
 13           tsqswupywvtupsqvuAFT	""@@@@T	@@@@@@@@@@@@D@@@@@@@@@@U	@@@@@@@
@@@@@@@@@@@@@@@@@@@@qywq`pt`ryqyyv`qr`qwpuvKuqtvsu@E@tyx@D@@@@@@@C$$"@@@
@@@@@@@@@VHtsrpw@

[records 14-79 deleted to keep this shorter]

 80           tsqsuyqxqsvvrvuyrDT@@@@@@@@E#@@@@@@@@@S@@@@@@@R"(@@@@@@@@@
@@@@@@@@@@@@@@@@qyqu`pt`pvqysu`pq`rqpuyKspurrr@b@uvr@f(@@@@@@TC$@@@@@@@@
@@@@@TVvuwpq@
 1020 
 11 

Ready

Hopefully that garbage is EBCDIC!
I assume records 1-10 are the AWS header record. I don’t remember the format. So it’s easier to assume!
I assume the 1st actual record above is #11

Now to use my EBCDIC conversion routine, I wrote earlier.

Now I’m rerunning the above program and getting totally different output.

RSTS/E AWS progress?

Progress? Right before bed? Maybe!

So after ungracefully ending RSTS/E…I decided to see if I would recover. So I restarted and all I saw different was a “Disk is being cleaned – wait …” for about a half a second.

Seems like it recovered. So I’ll just quickly redo my Tape steps.

Simulation stopped, PC: 041410 (SOB R1,41406)
/home/bill/MyStuff/Computer_Simulator_Emulator/Emulators/Mini/simh/PDP-11/rsts-built [works-opensimh]/billb_rsts.ini-17> ass
Too few arguments
sim> att tu -r -f aws CUST-TAPE-1000.aws
%SIM-INFO: TU0: unit is read only
%SIM-INFO: TU0: Tape Image ‘CUST-TAPE-1000.aws’ scanned as AWS format
sim> show tu0
TU0 attached to CUST-TAPE-1000.aws, read only, write locked, TE16
AWS format, unlimited capacity
sim> c

ASSIGN MM0: Sometimes I forget to do this!!!!!!!!!!

Ready

OLD TAPE01

Ready

RUN
TAPE01 12:01 AM 29-May-99

Ready Ready…no errors…nice!

I don’t think I did anything different other than starting fresh. My first thought…seems many changes in the previous session weren’t cleaning up other past settings correctly.

No Errors!

RSTS/E and AWS tapes

In Googling SIMH and AWS tapes I came across this statement that basically says says SIMH handles AWS tapes. But when I looked at the SIMH manual it only lists these 4…

The currently supported tape image file formats are:
SIMH SIMH simulator format
E11 E11 simulatorformat
TPC TPC format
P7B Pierce simulator 7-track format

SIMH unsurprisingly seems to be the default. So I assumed AWS tapes were handled by the default. However in reading the response to the person inquiring about AWS tapes. A responder said…”Well, when I implemented this support…”

So I tried the attach with the undocumented aws format, like so

sim> att tu -e -r -f aws CUST-TAPE-1000.aws

And simh acceped it and responded…

%SIM-INFO: TU0: unit is read only
%SIM-INFO: TU0: Tape Image ‘CUST-TAPE-1000.aws’ scanned as AWS format
sim>

Anywho when I run my program that refrences MM0:, I get

?Protection violation at line 110

and line 110 says…

110 OPEN “MM0:” FOR INPUT AS FILE #1, MODE 32%

The System User Guide says…

10 ?Protection violation The user was prohibited from performing the requested operation because the kind of operation was illegal (such as input from a line printer) or because the user did not have the privileges necessary (such as deleting a protected file).

So what’s the problem?

  1. I’m trying to open a read-only tape as input
  2. I’m user 1,2 so I would certainly have the privileges necessary

IDK. Maybe try a different drive type?

All of a sudden I started getting…

Ready

110 OPEN B^\MM0:B^] FOR INPUT AS FILE #1, RECORDSIZE 16400, MODE 32%^C

Ready

110 OPEN “MM0:” FOR INPUT AS FILE #1, RECORDSIZE 16400, MODE 32%
?Error text lookup failure

LIST
TAPE01 04:43 AM 01-Jan-99
?Error text lookup failure

Ready

OLD TAPE01
?Error text lookup failure

Ready

RUN $SHUTDOWN
?Error text lookup failure
?Error text lookup failure

Ready

Finally I just had to ungracefully end RSTS/E by exiting simh!

Further RSTS/E tape adventures

set tu enable in pdp ini

Option: HA

HARDWR suboption? LI

Name Address Vector Comments
TT: 177560 060
RL: 174400 160 Units: 0(RL01) 1(RL01) 2(RL01) 3(RL01)
RR: 176700 254 BAE=+050, Units: 0(RM03) 1(RM03) 2(RM03)
3(RM03) 4(RM03) 5(RM03) 6(RM03) 7(RM03)
TU: 172440 224 BAE=+034, Units: 0(TE16 @TM03 #0)
1(TE16 @TM03 #0) 2(TE16 @TM03 #0)
3(TE16 @TM03 #0) 4(TE16 @TM03 #0)
5(TE16 @TM03 #0) 6(TE16 @TM03 #0)
7(TE16 @TM03 #0)

PR0: 177550 070
PP0: 177554 074
LP0: 177514 200
RX0: 177170 264
CR0: 177160 230
DZ0: 160100 300
DZ1: 160110 310
DZ2: 160120 320
DZ3: 160130 330

KW11L 177546 100

Hertz = 60.

Other: FPU, Cache

HARDWR suboption? EXIT

Option:

After RSTS/E starts…

OLD TAPE01

Ready

LIST
TAPE01 12:02 AM 01-Jan-99

Ready

^e

Simulation stopped, PC: 041410 (SOB R1,41406)
/home/bill/MyStuff/Computer_Simulator_Emulator/Emulators/Mini/simh/PDP-11/rsts-built [works-opensimh]/billb_rsts.ini-17> ass
Too few arguments
sim> att tu -f raw CUST-TAPE-1000.aw (I saw raw…somewhere)
%SIM-ERROR: Unknown tape format: RAW
%SIM-ERROR: Invalid Tape Format: RAW
sim> att tu -e -r CUST-TAPE-1000.aws

If the file does not exist, and the -e switch was not specified, a new file is created
If the -r switch is specified, or the file is write protected, ATTACH tries to open the file read only.


%SIM-INFO: TU0: creating new file
%SIM-INFO: TU0: Tape Image ‘CUST-TAPE-1000.aw’ scanned as SIMH format
sim> show tu
TU Massbus adapter 1 (RHB), FORMATTER, TM03, 8 units
TU0 attached to CUST-TAPE-1000.aw, write enabled, TE16
SIMH format, unlimited capacity

TU1 not attached, write enabled, TE16
SIMH format, unlimited capacity
TU2 not attached, write enabled, TE16
SIMH format, unlimited capacity
TU3 not attached, write enabled, TE16
SIMH format, unlimited capacity
TU4 not attached, write enabled, TE16
SIMH format, unlimited capacity
TU5 not attached, write enabled, TE16
SIMH format, unlimited capacity
TU6 not attached, write enabled, TE16
SIMH format, unlimited capacity
TU7 not attached, write enabled, TE16
SIMH format, unlimited capacity
sim> c

RUN
TAPE01 12:14 AM 01-Jan-99
?Device hung or write locked at line 160

Ready

More on RSTS/E tapes

I was just looking back on the SYSGEN install output I saved, and read this …

The RSTS/E system is distributed on magtape; RK05 (DK), RL01 (DL), and RK06 and RK07 (DM) cartridge disks; or may already have been transferred to the system disk (SY).


For magtape, a distinction must be made between
the TU10, TE10, and TS03 drives, which use the device name “MT”;
the TU16, TE16, TU45, and TU77 drives, which use the device name “MM”;
and the TS11 drive, which uses the device name “MS”.

So three different device drive prefixes TU, TE and TS…
And three different device name prefixes MT, MM and MS

But any device drive can belong to any device name…

TU10 drive use device name MT
But TU16 and TU77 drives use device name MM

And…

TE10 drive uses device name MT
but…
TE16 drive use device name MM

Oh, and lets not forget…

TS11 drive uses device name MS
but…
TS03 use uses device name MT

Not confusing…at all! Riiiiiiiiiiiiight!!!!!

Looking back I can see I…

att -f tu0 CUST-TAPE-1000.aws from simh
and I used the device name MM (in RSTS/E) which was correct…by chance
I also did show tu0 which said…
TU0 attached to CUST-TAPE-1000.aws, write enabled, TE16
And I now know that a TE16 uses the device name MM

But…at the time it was totally a guess. So the simh command show <device> is very important because it lets you know what you should use for the RSTS/E device name prefix!

RSTS/E Basic-Plus tape problems

I’d like to replicate some of what I did…back in the day. But don’t know how much more effort I’ll put into this. Googling doesn’t help much. We processed alot of tapes.

It would be cool to read a IBM EBCDIC tape. Convert to a ASCII record and write to disk. I remember it being kinda slow. This would later added to a “Data Boss” (I do have part of a listing with some of that code) proprietary database.

But I don’t have any old Tape processing listings. Or any other old Basic-Plus listings. At least none that I’ve found so far. his is shocking to me. I have no listings from a job that I actively sought, working on the computer system I wanted to? And the errors I get aren’t helping either. I’m just guessing and trying random things. For example I define “set tu enable” in the simh startup. So are the devices TU0: or TU1:. No…I totally guess by trying devices I’ve seen in a book somewhere.

There is a Google RSTS group that had 2 questions in 2020…same in 2021, no questions in 2022 and whose last post was this last Jan…with no response. So that doesn’t sound promising.

sim> show tu0
TU0 attached to CUST-TAPE-1000.aws, write enabled, TE16

WTH is a TE16? Is the device TE0:? No !

I try…
ASSIGN MM0

and…
110 OPEN “MM0:” FOR INPUT AS FILE #1, MODE 32%

And it accepts it and kinda works but I get errors

It’d be nice to see these controllers correspond to these devices. But so far I’m left to guess.

Successfully booted my RSTS/E system

I really can’t brag. I just followed someones step by step instructions. Except I attempted to add tape drives and a card reader. I probably will have to add some statements to the startup ini. I could look at the SYSGEN manuals to make sense of it all. But why at this stage? I just want a working system to do what I want. It’s not important for me to under stand this anymore.

TU10,  TE10, or TS03 magtape (MT);
TU16, TE16, TU45, or TU77 magtape  (MM);
TS11  magtape  (MS);  
or  DECtape  (DT).

Option: HA

HARDWR suboption? LI

Name Address Vector Comments
TT: 177560 060
RL: 174400 160 Units: 0(RL01) 1(RL01) 2(RL01) 3(RL01)
RR: 176700 254 BAE=+050, Units: 0(RM03) 1(RM03) 2(RM03)
3(RM03) 4(RM03) 5(RM03) 6(RM03) 7(RM03)
TS0: 172520 224
PR0: 177550 070
PP0: 177554 074
LP0: 177514 200
RX0: 177170 264
CR0: 177160 230
DZ0: 160100 300
DZ1: 160110 310
DZ2: 160120 320
DZ3: 160130 330

KW11L 177546 100

Hertz = 60.

Other: FPU, Cache

HARDWR suboption? EXIT

My RSTS/E

ERRINT V7.0-07 RSTS V7.0-07 BillB Install
ERRLOG File is 2% Full
Change Size to < 100 >?
Utilize Crash File Output (Yes/No) ?
Detaching . . .

I1/2
Password:
Job 1 is detached under this account
Job number to attach to?
1 other user is logged in under this account

Ready

^E

Simulation stopped, PC: 041410 (SOB R1,41406)
sim> show devices
PDP-11 simulator configuration

CPU, 11/73, NOCIS, autoconfiguration enabled, idle enabled, stability wait = 20s
SYSTEM
RHA, address=17776700-17776753, vector=254, BR5, RH70 emulator
RHB, disabled
RHC, disabled
CLK, 60Hz, address=17777546-17777547, vector=100, BR6
PCLK, disabled
PTR, address=17777550-17777553, vector=70, BR4
PTP, address=17777554-17777557, vector=74, BR4
TTI, address=17777560-17777563, vector=60, BR4
TTO, address=17777564-17777567, vector=64, BR4
CR, no EOF pending, address=17777160-17777167, vector=230, BR6, 285 cards per minute, translation=029
LPT, address=17777514-17777517, vector=200, BR4
DLI, disabled
DLO, disabled
DCI, disabled
DCO, disabled
DZ, address=17760100-17760137, vector=300-334, BR5, lines=32 VH, disabled RC, disabled RF, disabled RK, disabled RL, RLV12, address=17774400-17774411, vector=160, BR5, 4 units HK, disabled RX, address=17777170-17777173, vector=264, BR5, 2 units
RY, disabled
RP, Massbus adapter 0, 8 units
RS, disabled
RQ, address=17772150-17772153, no vector, BR5, 4 units RQB, disabled RQC, disabled RQD, disabled TC, disabled TM, disabled TS, address=17772520-17772523, vector=224, BR5 TQ, TK50 (94MB), address=17774500-17774503, no vector, BR5, 4 units TU, disabled TA, disabled XQ, address=17774440-17774457, vector=120, BR5, MAC=08:00:2B:AA:BB:CC, type=DELQA-T,mode=DELQA, polling=disabled
XQB, disabled
XU, disabled
XUB, disabled
KG, disabled
KE, disabled
sim>

Trying to SYSGEN RSTS/E and failing

Following a build guide. But when I get to step 15 it want’s me to drop out to simh, by pressing Ctrl E so I can attach a drive. Which I did a few prevous times in the SYSGEN. Except now it’s not dropping out…just displays ^E on the screen. Pressing Ctrl Z exits ungracefully.

Same thing twice, using Opensimh. Followed steps exactly…except. I added a card reader and tape drives. May try regular simh next.

Created better EBCDIC Basic-Plus conversion program

I believe it’s more readable and efficient than my first attempt. I translated my julia style EBCDIC table to a more convential Basic way by using DATA statements. I didn’t borrow Jay’s data statement’s like I said I might. Mainly because he used hexadecimal values in his program. To me that’s an extra conversion step I didn’t want. So I just use regular base 10. Once the table was built I use the handy XLATE function to do the conversion. Due to my Basic-Plus rust I totally misunderstood it’s use at first. I was making it way more complicated than it was.

Anywho the result was (I constructed this EBCDIC test string)…

250 EHELLO$=CHR$(200)+CHR$(133)+CHR$(147)+CHR$(147)+CHR$(150)+CHR$(64)+C
HR$(241)+CHR$(242)+CHR$(243) !EBCDIC “HELLO 123”

This EBCDIC string prints like this…
H@qrs

And it translated perfectly!

I honestly don’t remember how we handled the EBCDIC conversion where I worked. I do seem to remember DATA statements. However I can’t say if we used the XLATE command. These routines were already in place when I started programming there so I just used what was there.