User:TArntsen

From NDWiki
Jump to: navigation, search

Other pages found here

Missing-docs, a list of documents that http://sintran.com/ doesn't yet have, with info about where to possibly find them (and eventually provide scans for sintran.com)

Floppy disks, a list of ND floppy disks that I have (nearly all 5.25" 1.2MB)

ND Hardware

  • Happy owner of an ND-110 Satellite system, graciously donated by Gandalf
  • Nokia NOTIS VDU 301 S terminal, also from Gandalf
  • ND-5000 extension board, from a co-worker

Alternative to physical SCSI disks for ND machines

I noticed that Tingo just ordered a SCSI2SD v5 adapter from itead. I have one of those already, bought from the same place, which I bought with a future ND SCSI system (which I now have) in mind. It looks like just the thing, with support for reprogrammable SCSI sector size and more. Unfortunately I seem to have managed to forget it in Japan, but I'll bring it along when I return in November. --TArntsen (talk) 11:44, 5 September 2016 (UTC)

About me

These days a Unix and Linux geek, but I used to work with a Nord-10/S system back in 1982. From 1983 and until about 1986 I worked with real-time systems on ND-100, after that also ND-500, and ND-5000 systems as soon as they became available. The latter systems (first ND-550 and later ND-5500/5700) were deployed at ESA (the European Space Agency) from 1988 to approximately 1995 (when we replaced them with Silicon Graphics systems), where they were used for reception and processing of data from the ERS-1 satellite, and also the ERS-2 satellite in the final year. ERS-1 was launched in 1991 but ESA did fully manned 24/7 simulation-data operations on the first deployed system (ND plus VAX) for two years until launch.. how does that compare to your regular testing regime? :-)

I used to have several sets of what must have been close to every manual Norsk Data ever produced, but unfortunately everything somehow got thrown away at some point (by someone, not me), except for a few documents. I also have lots of CCT backup tapes (although some of them are probably quite degraded by now), and I once wrote a tool to read backup-system format tapes on an SGI system, but unfortunately I only copied a couple of tapes back then when I still had a CCT tape drive.

Update: The last CCT drive magically re-appeared a few years ago, and since I wrote the above I copied nearly all my CCTs, via a setup including an SGI Octane, an Anritsu CCT drive (a heavy monster now stored in my garage - the Anritsu is still much smaller than those full-height Tandberg/Kennedy/Pertec racks we used with the actual ND machines), and my own software. It turned out 99.9% of the CCTs were fine, all initial problems disappeared after a little cleaning of the CCT drive. Unfortunately I'm still short of real disk images, at some point in the far past I had thought that image backups had less value than file backups, so I dumped most of the image backups. Not a smart thing to do, as it turned out - emulators like disk image backups, and there are more files on those than on dedicated file backups.

All of which goes to show that despite the best of intentions information loss does continue to happen..

(oh, and I'm also writing my own ND500(x) and ND100 emulators.. the latter just so I can use assembler-500.prog to generate test programs for the former)

Edit: Updating the timeline a bit as and when my memory recall improves.

License for contributions

TArntsen 11:09, 19 October 2009 (UTC): For my contributions to the wiki Mike may use any license he sees fit.

Software for ND-100

* File:Snpcal.tar.gz

Snoopy calendar program for ND-100. It creates a SNPCAL:OUT file with calendar for 1988. This is the original IBM version modified for PDP-11 slightly modified for ND. The tar file contains source and data files, and an ND-100 executable compiled in 1-bank mode for easy network transfer. There is also a sample output file. Source files have Sintran line endings, but names must be changed from FILE.TYPE to FILE:TYPE

ND-100 disassembler for Unix

* http://www.box.net/shared/voqjcalxgk

This is a disassembler for ND-100 which executes on *nix (this particular one is for Linux). Disassembles BPUN and PROG files, but also non-programs like floppy bootstrap code or SINTRAN:DATA (which is a file in a Sintran filesystem which simply maps to the first pages of the directory image itself). Usage is fairly simple:

./dump100 -h
Usage: ./dump100 [options] <nd100program.[bpun|prog]>
Options:
-h              Print this help and exit.
-o <offset>     Optional start offset, in 16-bit words. Default is start
                address for PROG and BPUN files, and 0 for RAW files.
-b              File is a BPUN file.
-p              File is a PROG file.
-r              File is a RAW file (no header).

Default file type is deduced from the file extension unless -p or -b
is specified. -r must ALWAYS be set for raw files. If both -p and -b
are specifed then the last takes precedence. Don't use -b or -p with -r.
./dump100 ~/brf-linker-c01.prog |more
Start address  : 30031b
Restart address: 30031b
First address  : 0b
Last address   : 77023b
Bank 2:
First address  : 0b
Last address   : 26011b
030031 : 171400 SAX 0
030032 : 135137 JPL I * 137
030033 : 000002 STZ * 2
030034 : 002372 STZ ,X - 6
030035 : 010000 STT * 0
030036 : 000001 STZ * 1
030037 : 000000 STZ * 0
030040 : 124024 JMP * 24
030041 : 146147 COPY SL DX
..
./dump100 -r ~/nd-image |more
Start offset  : 0b
First address : 0
Last address  : 177777b
000000 : 150405 PIOF
000001 : 150001 TRA STS
000002 : 170412 SAA 12
000003 : 150103 TRR PCR
000004 : 170400 SAA 0
000005 : 150111 TRR LCIL
..

Sorry for the simple box.net link. This is only a tar.gz file with a statically linked 'dump100' application, it will work on Linux i686 or x86-64 if the kernel is reasonably new - it won't work on 2.6.8, for example, but it will work on at least 2.6.22 or later. Maybe as old as 2.6.18, I'm not sure.

I'll do a proper release at a later point, with source etc. It'll be GPL'ed. I will also add the actual lib function itself (the dump100 tool is just a user interface to the function). The function itself is useful e.g. in emulators/emulator debuggers where you want a trace of the executing code, for example. I'll add an update for that as soon as I can, I'm rather busy right now so this is just to get something out that maybe a very few persons might find useful. A rather limited market I presume, but so be it :-) --TArntsen 16:50, 31 May 2011 (CEST)

Norsk Data filesystem lister and extractor for Unix

* https://dl.dropboxusercontent.com/u/62378230/ND-TOOLS/ndfs-tool-1.2.tar.gz

This is a filesystem tool for Norsk Data filesystem images (e.g. floppy images or hard disk images) which I wrote in 2009. Latest version is from 2012 (version 1.2). Source code in tar file.

  • Build with 'make -f Makefile.ndfs'. Needs GNU Make. Works on 32/64-bit, big-endian, little-endian *nix and Linux.
  • License: GPL V3

It works a bit like 'zip' or 'tar' in list- or extraction mode.

./ndfs 
Usage: ./ndfs [-t | -x [-d] | other options] <Sintran filesystem image>
Options:
-h      Print this help and exit
-i      Info mode: Show more info from directory entry
-t      List files in image
-u      List user entries (-v also sets this)
-x      Extract files from image
-d      If used with -x, also extract directories
-l      Convert names to lower case letters
        (This also changes ':' to '.' for extracted files)
-c      Ignore bytepointer for contiguous files
-v      Verbose output when extracting files
-V      Show version number and exit

./ndfs -V
ndfs: Sintran Filesystem tool version 1.2

I have it installed in /usr/local/bin and can thus do:

$ ndfs -t 210523G02-XX-02D.image
Directory name            : 210523G02-XX-02D
Object file index pointer : 508 SI: 0x1 (indexed)
User file index pointer   : 510 SI: 0x1 (indexed)
Bit file pointer          : 306 SI: 0x0 (contiguous)
No. of unreserved pages   : 1
Files:
  0   0: I       28 pages     56182 bytes 1988-03-04 20:13:49 (FLOPPY-USER)TPE-MON-100-B00:BPUN
  0   1: I       36 pages     72192 bytes 1988-06-09 11:17:46 (FLOPPY-USER)DISK-MM-B00:TEST
  0   2: I       36 pages     72704 bytes 1988-06-15 08:33:31 (FLOPPY-USER)SCSI-TV-B00:TEST
  0   3: I       19 pages     37376 bytes 1988-06-15 08:33:33 (FLOPPY-USER)SCSI-TV-OVL1-B00:NEXT
  0   4: I       16 pages     31232 bytes 1988-06-15 08:33:36 (FLOPPY-USER)SCSI-TV-OVL2-B00:NEXT
  0   5: I       19 pages     37376 bytes 1988-06-15 08:33:37 (FLOPPY-USER)SCSI-TV-OVL3-B00:NEXT
  0   6: I       18 pages     36352 bytes 1988-06-15 08:33:38 (FLOPPY-USER)SCSI-TV-OVL4-B00:NEXT
Directory size: 611 pages
Bit file size : 1 page 

and

$ mkdir tmp
$ cd tmp
$ ndfs -x -l ../210523G02-XX-02D.image
Directory name            : 210523g02-xx-02d
Object file index pointer : 508 SI: 0x1 (indexed)
User file index pointer   : 510 SI: 0x1 (indexed)
Bit file pointer          : 306 SI: 0x0 (contiguous)
No. of unreserved pages   : 1
Directory size: 611 pages
Bit file size : 1 page 
Extracting: tpe-mon-100-b00.bpun
Extracting: disk-mm-b00.test
Extracting: scsi-tv-b00.test
Extracting: scsi-tv-ovl1-b00.next
Extracting: scsi-tv-ovl2-b00.next
Extracting: scsi-tv-ovl3-b00.next
Extracting: scsi-tv-ovl4-b00.next
$ ls
disk-mm-b00.test  scsi-tv-ovl1-b00.next  scsi-tv-ovl3-b00.next  tpe-mon-100-b00.bpun
scsi-tv-b00.test  scsi-tv-ovl2-b00.next  scsi-tv-ovl4-b00.next

or, without -l, and with -d:

$ ndfs -x -d ../210523G02-XX-02D.image
Directory name            : 210523G02-XX-02D
Object file index pointer : 508 SI: 0x1 (indexed)
User file index pointer   : 510 SI: 0x1 (indexed)
Bit file pointer          : 306 SI: 0x0 (contiguous)
No. of unreserved pages   : 1
Directory size: 611 pages
Bit file size : 1 page 
Extracting: FLOPPY-USER/TPE-MON-100-B00:BPUN
Extracting: FLOPPY-USER/DISK-MM-B00:TEST
Extracting: FLOPPY-USER/SCSI-TV-B00:TEST
Extracting: FLOPPY-USER/SCSI-TV-OVL1-B00:NEXT
Extracting: FLOPPY-USER/SCSI-TV-OVL2-B00:NEXT
Extracting: FLOPPY-USER/SCSI-TV-OVL3-B00:NEXT
Extracting: FLOPPY-USER/SCSI-TV-OVL4-B00:NEXT
$ ls
FLOPPY-USER/

It can't extract single files, i.e. you can't give it optional file arguments as with e.g. tar or zip. I can add that if someone needs it.

Curiosity ND-100 on a mobile phone:

My ND-100 emulator (user-level only) on my Nokia 900, running PED:

PED Editor on the Nokia N900







The LED editor help screen

Notice this spelling error in the first A01 release. It was still there in later versions, at least as late as verson B03!

LED A01 editor help page