Tor
Veteran Member
Is the tape format documented somewhere? I looked around, but the only reference I could find was in the 18bit_extract.c file mentioned by anders_bzn
>L TT_DT2
14-JAN-83
DIRECTORY LISTING
213 FREE BLKS
17 USER FILES
367 SYSTEM BLKS
.LIBR BIN 141 151
DDT9 BIN 142 12
.LOAD BIN 143 7
CHAIN BIN 144 11
INTEGE EAE 217 1
INTEGE NON 236 1
REAL EAE 267 4
REAL NON 225 4
FNEW SRC 257 14
FNEW BIN 263 1
FOCAL BIN 161 21
SRCCOM BIN 270 16
DTCOP BIN 353 3
TIME BIN 147 1
TIME10 BIN 154 1
KM9 SYS 0
.SGEN2 SYS 36
SKPBLK SYS 44
UPDATE SYS 45
IOBLK SYS 55
.SYSLD SYS 56
EXECUT SYS 67
^QAREA SYS 101
PATCH SYS 652
EDIT SYS 657
PIP SYS 671
F4 SYS 711
F4A SYS 742
MACRO SYS 771
MACROA SYS 1020
DUMP SYS 1044
.SGEN1 SYS 1050
CONV SYS 1064
I will look at the output from my Windows program and see if I can get it to match the output from DOS/KM9.
Makes want to get the RICM PDP-9 out of the warehouse, and get the TC02 connected and working.
Is the format (not the structure on the tapes) documented somewhere?
Do you have DECTapes for that machine as well?
Indirectly, in the driver code.
These systems are a little unusual in that the file structure is not implemented across devices, but is unique to each driver.
Because of that, it doesn't surprise me that they might have changed the file system between releases.
Section 4.6.2, File-Oriented DECtape, in the DEC-15-MR2B-D Advanced Monitor Software System Programmers Reference Manual, describes the DECtape structure. There is usually a directory at block 100 (octal). Some of the tape images that Mattis just made don't have a recognizable directory anywhere.
Tested SIMH with KM9-15 V5B and the results are approximately the same. Files readable in DOS-15 V2A seems to be readable in KM9-15 V5B. Which makes sense
sim> attach dt0 /Users/mattis/Downloads/pdp9-dectapes-203/afi18.tu56
DT0: writing buffer to file
DT0: 18b/36b format, buffering file in memory
sim> load dec-15u.rim 77637
sim> run
Resetting all devices... This may not have been your intention.
The GO and CONTINUE commands do not reset devices.
KM9-15 V5A
$D
DIRECTORY LISTING
.LOAD BIN 36
DDT BIN 37
EXECUT BIN 40
INTEAE BIN 41
.LIBR BIN 47
RELEAE BIN 54
SCTEST BIN 265
SCTEST SRC 252
FOCAL XCT 245
FOCAL XCU 262
KM9-15 SYS 0
SKPBLK SYS 42
IOBLK SYS 46
SGNBLK SYS 52
SYSHAN SYS 56
SYSBLK SYS 61
.SYSLD SYS 62
BITMAP SYS 71
DIRECT SYS 100
^QAREA SYS 101
F4I SYS 141
MACROI SYS 201
EDIT SYS 647
PIP SYS 661
MACRO SYS 701
CHAIN SYS 737
F4 SYS 757
DUMP SYS 1012
PATCH SYS 1016
UPDATE SYS 1025
SRCCOM SYS 1035
SGEN SYS 1047
160 FREE BLOCKS
$
sim> attach dt0 /Users/mattis/Downloads/pdp9-dectapes-203/afi16.tu56
DT0: writing buffer to file
DT0: 18b/36b format, buffering file in memory
sim> load dec-15u.rim 77637
sim> run
Resetting all devices... This may not have been your intention.
The GO and CONTINUE commands do not reset devices.
.IOPS 00 217663.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS 00 217646.IOPS...
sim> attach dt0 /Users/mattis/Downloads/pdp9-dectapes-203/afi14.tu56
DT0: writing buffer to file
DT0: 18b/36b format, buffering file in memory
sim> load dec-15u.rim 77637
sim> run
Resetting all devices... This may not have been your intention.
The GO and CONTINUE commands do not reset devices.
IOPS00 217663
sim> attach dt0 /Users/mattis/Downloads/pdp9-dectapes-203/afi12.tu56
DT0: writing buffer to file
DT0: 18b/36b format, buffering file in memory
sim> load -R /Users/mattis/Downloads/dectapebootstrap.hri 17637
sim> go 17646
MONITOR V4E
$D
DIRECTORY LISTING
.LIBR BIN 141
DDT9 BIN 142
.LOAD BIN 143
CHAIN BIN 144
INTEGE EAE 217
INTEGE NON 236
REAL EAE 267
REAL NON 225
FNEW SRC 257
FNEW BIN 263
FOCAL BIN 161
SRCCOM BIN 270
DTCOP BIN 353
TIME BIN 147
TIME10 BIN 154
KM9 SYS 0
.SGEN2 SYS 36
SKPBLK SYS 44
UPDATE SYS 45
IOBLK SYS 55
.SYSLD SYS 56
EXECUT SYS 67
^QAREA SYS 101
PATCH SYS 652
EDIT SYS 657
PIP SYS 671
F4 SYS 711
F4A SYS 742
MACRO SYS 771
MACROA SYS 1020
DUMP SYS 1044
.SGEN1 SYS 1050
CONV SYS 1064
213 FREE BLOCKS
$PIP
PIP V9A
>
sim> attach dt0 /Users/mattis/Downloads/pdp9-dectapes-203/afi11.tu56
DT0: writing buffer to file
DT0: 18b/36b format, buffering file in memory
sim> load -R /Users/mattis/Downloads/dectapebootstrap.hri 17637
sim> go 17646
MONITOR V3C
$D
DIRECTORY LISTING
.LIBR BIN 141
DDT9 BIN 142
.LOAD BIN 143
CHAIN BIN 144
INTEGE EAE 145
INTEGE NON 152
REAL EAE 164
REAL NON 215
KM9 SYS 0
.SGEN2 SYS 36
SKPBLK SYS 44
UPDATE SYS 45
.SYSLD SYS 56
EXECUT SYS 67
^QAREA SYS 101
PATCH SYS 652
EDIT SYS 657
PIP SYS 671
F4 SYS 711
MACRO SYS 742
F4A SYS 771
MACROA SYS 1020
DUMP SYS 1044
.SGEN1 SYS 1050
CONV SYS 1064
234 FREE BLOCKS
$PIP
PIP V5C
>
sim> attach dt0 /Users/mattis/Downloads/pdp9-dectapes-203/afi14.tu56
DT0: writing buffer to file
DT0: 18b/36b format, buffering file in memory
sim> load -R /Users/mattis/Downloads/dectapebootstrap.hri 17637
sim> go 17646
MONITOR V4B
$D
DIRECTORY LISTING
.LIBR BIN 141
DDT9 BIN 142
.LOAD BIN 143
CHAIN BIN 144
INTEGE EAE 251
INTEGE NON 256
REAL EAE 270
REAL NON 321
KM9 SYS 0
.SGEN2 SYS 36
SKPBLK SYS 44
UPDATE SYS 45
IOBLK SYS 55
.SYSLD SYS 56
EXECUT SYS 67
^QAREA SYS 101
PATCH SYS 652
EDIT SYS 657
PIP SYS 671
F4 SYS 711
MACRO SYS 742
F4A SYS 771
MACROA SYS 1020
DUMP SYS 1044
.SGEN1 SYS 1050
CONV SYS 1064
70 FREE BLOCKS
$PIP
PIP V7A
>
Well done so far! You are doing what I have planned to do, but not yet come to.
I guess that some of the paper tapes I dumped a couple of years ago can give a clue. Some of them have notes one them saying: Put DECTape xxx, Set SW1 for xxx, SW2 for yyy and so on. It looks to me that some DECtapes has their own loader on paper tape.
http://www.bitsavers.org/bits/DEC/pdp9/papertapeImages/Sandahl_PDP9_Tape_Collection/
DEC-Tape "GAME" on unit #1. Select program with AC switches.Switch up: 1 - Space war 2- Napoleon 3 - Calculator 4 - Moving Circle
Start address (HRI) 17640
sim> attach dt1 /Users/mattis/Downloads/pdp9-dectapes-203/afi23.tu56
DT1: 18b/36b format, buffering file in memory
sim> attach dt2 /Users/mattis/Downloads/pdp9-dectapes-203/afi23.tu56
sim> load -R /Users/mattis/Downloads/Sandahl_PDP9_Tape_Collection/tape09/data.bin 17640
sim> d sr 400000
sim> go 17640
CONTROL 2/69
>
sim> load -R /Users/mattis/Downloads/dectapebootstrap.hri 17637
sim> attach dt0 /Users/mattis/Downloads/pdp9-dectapes-203/tape3.tu56
DT0: writing buffer to file
DT0: 18b/36b format, buffering file in memory
sim> go 17646
SYSTST V1D
$A
*USER PROGRAM CORE MAP
SYSTST V1D
$D
*DIRECTORY
NUMB TITLE BKN
01 TIME 000040
02 TIME5 000042
03 RDRTST 000044
04 PUNTST 000050
05 EAEPT1 000053
06 EAEPT2 000074
07 XRLR 000101
08 DECTPI 000116
09 DECTPS 000127
10 MAGTAP 000140
11 MAGTPS 000160
12 VP15A 000200
13 LP15F 000207
14 LP15C 000213
15 LT1519 000217
16 DC01EB 000226
17 CR03B 000237
18 AD15 000243
19 ADF15 000247
20 XY15 000253
21 FP15T1 000260
22 FP15T2 000313
23 DTCOPY 000337
24 UC15 000344
25 TTY11 000351
26 DECTAP 000354
27 RF15RF 000365
28 RP15 000373
29 VT15GP 000403
000450 FREE BLOCKS
SYSTST V1D
$L
*SYSTEM LOADER V2B
MEMSIZE TYPE 8K,12K,16K,20K,24K,28K,OR 32K:
SYSTST V1D
$P
*PARAMETER MODE
SYSTST V1D
$X
*CHAIN MODE OPERATION V3B
MEMORY FIELD? ^C
SYSTST V1D
$
sim> load -R /Users/mattis/Downloads/Sandahl_PDP9_Tape_Collection/tape04/data.bin 17637
sim> attach dt2 /Users/mattis/Downloads/pdp9-dectapes-203/afi20.tu56
DT2: writing buffer to file
DT2: 18b/36b format, buffering file in memory
sim> go 17650
INPUT, TYPE OF PAPERTAPE =>
It at least starts. But what is it?