ND110 - ND Emulator

project:

written for Windows 10, runs fine under Wine. A Linux version also exists.

links

NDWiki - download link ND110.zip, Github: CAVISU/NDsim,

local links

bb - ASRock BeeBox-S 7100U - Debian, c2 - main FreeBSD workstation,

back to emulators page.

History

2021-11-15: I re-created this page on my self-hosted web server.

2020-05-20: c2 - will it run?

tingo@kg-core2$ ./ND110

********************************************
* Carl-Victor Sundling, Halden Norway      *
* sundling@getmail.no                      *
* ND-10/110/120 SIMULATOR V-6.0 21-12.2019 *
* For Noncommercial use only               *
********************************************

argv[0]=./ND110 Missing user SYSTEM, RT or SCRATCH

Logged in user is EMULATOR, index 8
Opening scratch file for random access was successful: ./(SCRATCH)/SCRATCH01.DATA
Missing user SYSTEM, RT or SCRATCH
<>exit

--- Terminated ND-110 simulator
yes, it does. Fix the missing RT user
tingo@kg-core2$ mkdir '(RT)'

and restart the emulator

tingo@kg-core2$ ./ND110

********************************************
* Carl-Victor Sundling, Halden Norway      *
* sundling@getmail.no                      *
* ND-10/110/120 SIMULATOR V-6.0 21-12.2019 *
* For Noncommercial use only               *
********************************************

argv[0]=./ND110
Logged in user is EMULATOR, index 9
Opening scratch file for random access was successful: ./(SCRATCH)/SCRATCH01.DATA
<>

nice.

2020-05-20: c2 - install ND110 for linux (NDsim-21-12-2019.tar.gz) on my FreeBSD workstation, and see if it runs under Linux emulation. Currently, FreeBSD is at

root@kg-core2# uname -a
FreeBSD kg-core2.kg4.no 11.3-RELEASE-p9 FreeBSD 11.3-RELEASE-p9 #0: Tue May 12 05:10:48 UTC 2020     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

and I have set up a directory for the emulator at

tingo@kg-core2$ pwd
/home/tingo/data/emul/ND110_linux

extract it

tingo@kg-core2$ tar xvf ~/dl/NDsim-21-12-2019.tar.gz
x ND110
x (TPE-MON)/PRINTERS-005-B00.NEXT
x (SCRATCH)/SCRATCH03.DATA
x (TPE-MON)/INS-3.SYMB
x (TPE-MON)/TPE-1.PROG
x (TPE-MON)/UNIVERS-DMA-C01.TEST
x (TPE-MON)/INSTRUCTION-C03.TEST
x (SYSTEM)/QED.PROG
x (SYSTEM)/SEGFIL.SJEK
x (SYSTEM)/NOTIS-TF-NO-MM06.PROG
x (SCRATCH)/
x (TPE-MON)/S3-INSTRUCT-TEST.TEST
x (PASCAL)/PASCAL.PROG
x (SYSTEM)/SEGFILE_301.SGNO
x (SYSTEM)/SEGFILE_204.SGNO
x (IMAGES)/F210523G02-01D.IMAG
x (TPE-MON)/PRINTERS-004-B00.NEXT
x (PASCAL)/PASCAL-2LIB-J.BRF
x (SYSTEM)/UE-ERMSG-NO-B02.ERR
x (BPUN)/MACRO1.MODE
x (SYSTEM)/P-BACKUP-25I.PROG
x (TSS)/LIST2.SYMB
x (TPE-MON)/GRAPHIC-TERM-B00.TEST
x (SYSTEM)/GPM-2365B.PROG
x (TPE-MON)/DISK-MM-B00.TEST
x (SYSTEM)/Z.PROG
x (SYSTEM)/BRF-EDITOR.PROG
x (SYSTEM)/MACRO1.MODE
x (TPE-MON)/PRINTERS-B00.TEST
x (SYSTEM)/BASLIBR-H00.BRF
x (TSS)/MINIT.SYMB
x (TPE-MON)/PRINTERS-003-B00.NEXT
x (TPE-MON)/
x (TPE-MON)/LIST-3.SYMB
x (TPE-MON)/POWER-FAIL-A01.TEST
x (TPE-MON)/NO-FILE-GIVEN.BRF
x (TPE-MON)/DISC-TEMA-I11.TEST
x (TSS)/TSS3.SYMB
x (SYSTEM)/FM-SIN-EN-C01.PROG
x (SYSTEM)/FTNLIBR.BRF
x (TSS)/TSS1.ORG
x (TPE-MON)/HDLC-MEGALIN-D00.TEST
x (TPE-MON)/KKK.SYMB
x (SYSTEM)/P-BACKUP-SERV-I.PROG
x (SYSTEM)/VTM-COMPOUND-A-C.PROG
x (SCRATCH)/SCRATCH04.DATA
x Doc/NDEmulatorUserManual.pdf
x (TPE-MON)/TPE-2.PROG
x (TPE-MON)/PRINTERS-002-B00.NEXT
x (KERMIT)/
x (TPE-MON)/CONFIGURATIO-D00.TEST
x (TSS)/ASSYSA.SYMB
x (SYSTEM)/FORTRAN-1BANK.BRF
x (SYSTEM)/yDDBTABLES-C.VTM
x (PASCAL)/PATCH-SINTRAN-J.SYMB
x (SYSTEM)/SEGFILE_302.SGNO
x (SYSTEM)/PASCAL-2LIB-J.BRF
x (IMAGES)/ND-10076J.IMAG
x (EMULATOR)/
x (TPE-MON)/SETPAR.SYMB
x (BPUN)/DUMPFL-2327A.BPUN
x (SYSTEM)/FORTRAN-2BANK.BRF
x (SYSTEM)/DITAP-1880D.PROG
x (SYSTEM)/FMAC.PROG
x (TPE-MON)/FLOPPY-STREA-C02.TEST
x (TSS)/LIST3.SYMB
x (TSS)/TSS2.ORG
x (SYSTEM)/TRUE-TRMH-OE-A00.PROG
x (TPE-MON)/LP-TEST-E00.TEST
x (TPE-MON)/CACHE-1X0-A00.TEST
x (TPE-MON)/arg.txt
x (TPE-MON)/PAGING-C00.TEST
x (SYSTEM)/S3-CONFIG-E01.PROG
x (SYSTEM)/WP-UTIL-M06.PROG
x (SYSTEM)/UE-ERMSG-EN-B.ERR
x (IMAGES)/FF210523-01d.IMAG
x (SYSTEM)/DDBTABLES-C.VTM
x (TPE-MON)/INS.MODE
x (TSS)/TSS4.SYMB
x (PASCAL)/PASCAL-ERR-J.SYMB
x (SYSTEM)/SEGFILE_200.SGNO
x (IMAGES)/NOTIS-ENCR-NO-A0.PROG
x (SCRATCH)/SCRATCH05.DATA
x (SYSTEM)/WP-EDITOR-M06.PROG
x (TSS)/TSS3.ORG
x (SYSTEM)/VTM-ALL-TYPES.VTM
x (TSS)/ASSYSB.SYMB
x (BPUN)/MCOPY-HP-1650G.BPUN
x (SYSTEM)/UE-ERRORS-ENG-A.ERR
x (SYSTEM)/SEGFILE_400.SGNO
x (SYSTEM)/
x (SYSTEM)/LINE-PRINTER.SYMB
x (BPUN)/FLOPPY-MON-2010F.BPUN
x (TPE-MON)/OCTOBUS-B00.TEST
x (BPUN)/DITAP-1880D.BPUN
x (SYSTEM)/SEGFIL_345
x (TPE-MON)/reveng.txt
x (SYSTEM)/PC-LINK.PROG
x (SYSTEM)/ISAM-INTER-K01.PROG
x (SYSTEM)/PASCAL-COD-J.BRF
x (IMAGES)/PC-LINK-10561A.IMAG
x (SYSTEM)/DMAC-1915D.PROG
x (TPE-MON)/ITEST.SYMB
x (SYSTEM)/SIMPLE-MAIN.PROG
x (TSS)/LIST4.SYMB
x (TPE-MON)/COLOUR-TERM-A00.TEST
x (SYSTEM)/XMSG-COMMAND.PROG
x (BPUN)/DMAC-1915D.BPUN
x (TPE-MON)/LP-TEST-E01.TEST
x (TSS)/TSS4.ORG
x (TPE-MON)/TERMINAL-ASY-F00.TEST
x (TPE-MON)/GRAPHIC-TERM-B00.FONT
x (SYSTEM)/PED.PROG
x (TPE-MON)/CACHE-120-A00.NEXT
x (SYSTEM)/NEW.PROG
x (SYSTEM)/PASCAL-ERR-J.SYMB
x (SYSTEM)/NDP-COMPILER-D.PROG
x (TPE-MON)/INSTRUCTION-C00.TEST
x (SYSTEM)/SERVER-ADM.PROG
x (SYSTEM)/LIST-ALL-FILES.PROG
x (TSS)/TSS5.SYMB
x (SYSTEM)/PASCAL-LIB-J.BRF
x (SYSTEM)/FILE-MAN-NO.PROG
x (SYSTEM)/SEGFILE_201.SGNO
x (SYSTEM)/PED-ENG-J.HELP
x (IMAGES)/GRAPHIC-TERM-B00.FONT
x (BPUN)/TPE-MON-100-A02.BPUN
x (SYSTEM)/FORTRAN-100-G02.PROG
x (SCRATCH)/SCRATCH06.DATA
x (IMAGES)/S12-19851220.IMAG
x (KERMIT)/KERMIT.HELP
x (IMAGES)/
x (KERMIT)/KERMIT.IMAG
x (TPE-MON)/PRINTERS-001-B00.NEXT
x (TSS)/TSS5.ORG
x (TPE-MON)/CACHE-110-A00.TEST
x (SYSTEM)/SEGFILE_401.SGNO
x (TPE-MON)/SYNC-MODEM-B00.TEST
x (BPUN)/PED-ENG-J.BPUN
x (PASCAL)/CRASH.SYMB
x (TSS)/TDUMP.SYMB
x (TPE-MON)/PRINTERS-A00.TEST
x (SYSTEM)/DDBTABLES-DX.VTM
x (TPE-MON)/PIOC-ETHER-B01.TEST
x (SYSTEM)/NRL-1935L.PROG
x (SYSTEM)/SIMPLE-MAIN.save
x (SYSTEM)/PERFORM-G00.PROG
x (BPUN)/PERFORM-2412D.BPUN
x Doc/
x (KERMIT)/norskdata.zip
x (BPUN)/
x (SYSTEM)/WP-PRM-M06.PROG
x (TSS)/LIST5.SYMB
x (BPUN)/MEMTOF-2326A.BPUN
x (TPE-MON)/CACHE-100-A00.TEST
x (SYSTEM)/TERMINAL.SYMB
x (SYSTEM)/PERF-500-LIB-G00.MCRO
x (SYSTEM)/LOOK-FILE.PROG
x (BPUN)/MCOPY-TANB-1649I.BPUN
x (IMAGES)/NDDISK34.IMD
x (TPE-MON)/TERMINAL-ASY-F01.TEST
x (SCRATCH)/SCRATCH01.DATA
x (SYSTEM)/JEC-2BANK-B00.BRF
x (TPE-MON)/PAGING-C02.TEST
x (TPE-MON)/MACRO1.MODE
x (TPE-MON)/INS-1.SYMB
x (TPE-MON)/MOVEW.txt
x (SYSTEM)/FTN.PROG
x (SYSTEM)/SEGFILE_202.SGNO
x (SYSTEM)/MAC.PROG
x (IMAGES)/TPND.IMAG
x (TPE-MON)/MEMORY-D04.TEST
x (SYSTEM)/BRF-LINKER.PROG
x (TPE-MON)/Bilder - Snarvei.lnk
x (TPE-MON)/SCSI-TV-OVL4-B00.NEXT
x (TPE-MON)/MY-TPE.PROG
x (SCRATCH)/SCRATCH07.DATA
x (KERMIT)/KERMIT.PROG
x (SYSTEM)/MON-CALL-2B-A00.BRF
x (SYSTEM)/PERFORM-LIBRARY.MCRO
x (PASCAL)/PASCAL-COD-J.BRF
x (SYSTEM)/TF-LIB-COMPRESS.PROG
x (TPE-MON)/not-enough-memory.txt
x (IMAGES)/210455G02-XX-01D.IMAG
x (TPE-MON)/NET-ONE-A00.TEST
x (TSS)/BSYMB.SYMB
x (SYSTEM)/MON-CALL-1B-A00.BRF
x (SYSTEM)/VTM-COMPOUND-D-C.PROG
x (TPE-MON)/set-par.txt
x (SYSTEM)/PLANC-100-A-I01.PROG
x (TPE-MON)/SCSI-TV-OVL3-B00.NEXT
x (SYSTEM)/PLANC-1BANK-I01.BRF
x (IMAGES)/NDDISK19.IMD
x (TSS)/
x (KERMIT)/KERMIT.HLIB
x (TPE-MON)/C03-INSTR.TEST
x (TPE-MON)/LIST-1.SYMB
x (SYSTEM)/PC-LINK_PROG.SYMB
x (IMAGES)/COB-210177K01-D.IMAG
x (BPUN)/GRAPHIC-TERM-B00.FONT
x (PASCAL)/
x (SYSTEM)/ISAM-SERVICE-K02.PROG
x (TSS)/TSS1.SYMB
x (SYSTEM)/PLANC-UTILLIB-1B.BRF
x (SYSTEM)/JEC-1BANK-B00.BRF
x (TSS)/LIST.SYMB
x (SYSTEM)/FTNRTLIBR-2094F.BRF
x (PASCAL)/PASCAL-LIB-J.BRF
x (TPE-MON)/PRINTERS-008-B00.NEXT
x (TSS)/ASYMB.SYMB
x (SYSTEM)/NPL.PROG
x (TPE-MON)/SCSI-TV-B00.TEST
x (SYSTEM)/xDDBTABLES-C.VTM
x (SCRATCH)/SCRATCH02.DATA
x (SYSTEM)/SEGTEST.PROG
x (TPE-MON)/SCSI-TV-OVL2-B00.NEXT
x (SYSTEM)/JEC.PROG
x (TPE-MON)/MY-INST-C03.TEST
x (TPE-MON)/UNIVERS-DMA-C00.TEST
x (TPE-MON)/INS-2.SYMB
x (SYSTEM)/SEGFILE.SIN3
x (TPE-MON)/CACHE-110-A00.NEXT
x (SYSTEM)/SEGFILE_300.SGNO
x (SYSTEM)/SEGFILE_203.SGNO
x (SYSTEM)/PERFORM-LIB-G00.MCRO
x (PASCAL)/LOAD.SYMB
x (TPE-MON)/PRINTERS-007-B00.NEXT
x (TPE-MON)/PIOC-ETHER-B01.NEXT
x (TPE-MON)/PIOC-ETHER-A00.TEST
x (SCRATCH)/SCRATCH08.DATA
x (BPUN)/COP-VERIFY-2035D.BPUN
x (IMAGES)/F210523G02-02D.IMAG
x (TPE-MON)/SCSI-TV-OVL1-B00.NEXT
x (TPE-MON)/CONFIGURATIO-D04.TEST
x (TPE-MON)/FLOPPY-STREA-C00.TEST
x (TSS)/LIST1.SYMB
x (SYSTEM)/FILE-EXTRACT.PROG
x (SYSTEM)/DDBTABLES-G02.VTM
x (TPE-MON)/CACHE-100-A00.NEXT
x (SYSTEM)/PLANC-2BANK-I01.BRF
x (TPE-MON)/MAGTAPE-B00.TEST
x (TPE-MON)/PRINTERS-006-B00.NEXT
x (IMAGES)/TP100-210523-01.IMAG
x (IMAGES)/INST-ENCRYPT-A01.PROG
x (TPE-MON)/LIST-2.SYMB
x (TPE-MON)/POWER-FAIL-A00.TEST
x (IMAGES)/ND211004A01-01D.IMAG
x (BPUN)/ACCOUNTS-2183A.BPUN
x (TSS)/TSS2.SYMB
x (SYSTEM)/WP-CMD-M06.PROG
x (SYSTEM)/PLANC-UTILLIB-2B.BRF
x (TPE-MON)/MEMORY-D00.TEST
x (BPUN)/FILSYS-INV-2135H.BPUN
x (SYSTEM)/WP-MAIN-NO-M06.PROG
x (BPUN)/TPE-MON-100-B00.BPUN

and

tingo@kg-core2$ file ND110
ND110: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=118d6721c429e7868255944be5a73906af692925, with debug_info, not stripped

good.

2020-01-08: bb - try to compile a small FORTRAN program

<>(sys)ftn
NORD-10/ND-100 FORTRAN COMPILER FTN-2090I
$compile ok-pkload,,ok-pkload
137 LINES COMPILED . OCTAL SIZE=   1752
CPU-TIME USED IS 0.0 SEC.
$exit
Time used 81 secs, 134701 usecs (81134.703125 msec)
2503001 instructions executed, 32.414969 usec/instruction
link it, and dump it s a program (:PROG) file
<>(sys)nrl
RELOCATING LOADER LDR-1935J
*load ok-pkload
FREE: 030170-177713
*load ftnl
FREE: 044535-177713
*dump ok-pkload
"OK-PKLOAD"
NO SUCH FILE NAME

*dump "OK-PKLOAD"
*exit
Time used 62 secs, 768459 usecs (62768.460938 msec)
2143604 instructions executed, 29.281743 usec/instruction

check

<>@l-fi ok,,

FILE 0 : (TINGO)OK-PKLOAD:PROG                  15872 bytes
FILE 5 : (TINGO)OK-PKLOAD:SYMB                  3253 bytes
FILE 6 : (TINGO)OK-PKLOAD:BRF                   3716 bytes
FILE 11 : (TINGO)OK-PKP-C:SYMB                   177 bytes
<>

confirmed. Can't run the program, it needs a TDV1200 terminal

2020-01-08: bb - testing the latest Linux version (NDsim-21-12-2019.tar.gz) on my machine:

tingo@kg-bsbox:/zs/tingo/dl/emul/ND110_linux$ ./ND110

********************************************
* Carl-Victor Sundling, Halden Norway      *
* sundling@getmail.no                      *
* ND-10/110/120 SIMULATOR V-6.0 21-12.2019 *
* For Noncommercial use only               *
********************************************

argv[0]=./ND110 Missing user SYSTEM, RT or SCRATCH

Logged in user is EMULATOR, index 1
Opening scratch file for random access was successful: ./(SCRATCH)/SCRATCH01.DATA
Missing user SYSTEM, RT or SCRATCH
<>

hmm, user RT missing, quit the emulator and create it

tingo@kg-bsbox:/zs/tingo/dl/emul/ND110_linux$ mkdir '(RT)'

ok, try again

tingo@kg-bsbox:/zs/tingo/dl/emul/ND110_linux$ ./ND110

********************************************
* Carl-Victor Sundling, Halden Norway      *
* sundling@getmail.no                      *
* ND-10/110/120 SIMULATOR V-6.0 21-12.2019 *
* For Noncommercial use only               *
********************************************

argv[0]=./ND110
Logged in user is EMULATOR, index 4
Opening scratch file for random access was successful: ./(SCRATCH)/SCRATCH01.DATA
<>

better.

2019-06-19: bb - testing the Linux version (NDsim.tar.gz) on my Debian 9.9 machine

tingo@kg-bsbox:/zs/tingo/dl/emul/ND110_linux$ ./ND110

*******************************************
* Carl-Victor Sundling, Halden Norway     *
*                                         *
* ND-10/110/120 SIMULATOR V-5.0 27-03.2019*
* For Noncommercial use only              *
*******************************************

argv[0]=./ND110
Logged in user is EMULATOR, index 3

Opening scratch file for random access was successful: ./(SCRATCH)/SCRATCH01.DATA
<>

it works.

2019-05-27: bb - replacing DDBTABLES-C.VTM with the one that supports terminal type 6 (vt-100), I can run PED as well. Cool.

2019-05-27: bb - using my Debian machine, which currently runs Debian 9.9

tingo@kg-bsbox:~$ cat /etc/debian_version
9.9

kernel

tingo@kg-bsbox:~$ uname -a
Linux kg-bsbox 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1 (2019-04-12) x86_64 GNU/Linux

I downloaded the emulator and put it in C:\NDSim on my default WINEPREFIX (which is 64-bit) I have wine-4.0

tingo@kg-bsbox:~/.wine/drive_c/NDSim$ wine --version
wine-4.0 (Debian 4.0-1~bpo9+2)

start the emulator

tingo@kg-bsbox:~/.wine/drive_c/NDSim$ wine ./ND110.exe

*******************************************
* Carl-Victor Sundling, Halden Norway     *
*                                         *
* ND-10/110/120 SIMULATOR V-5.0 27-03.2019*
* For Noncommercial use only              *
*******************************************

argv[0]=C:\NDSim\ND110.exe
Logged in user is EMULATOR, index 3

Opening scratch file for random access was successful: ./(SCRATCH)/SCRATCH01.DATA
<>
that works.
<>sintran

No such file name: SINTRAN.PROG

<>SINTRAN

System number (CPU #): 16505
CPU type             : 5  ND-110CX/ND-120CX with 32 bit floating
Instruction set      : 3  ND-1n0/CX 16 page tables
Microprogram version : 12
System type          : 0
Operating system     : 5  SINTRAN III VSX-500
Operating system vers: D
Patch level          : 64
Sys.gen time         : 09:34 16/12-1988
<>SINTRAN-info

System number (CPU #): 16505
CPU type             : 5  ND-110CX/ND-120CX with 32 bit floating
Instruction set      : 3  ND-1n0/CX 16 page tables
Microprogram version : 12
System type          : 0
Operating system     : 5  SINTRAN III VSX-500
Operating system vers: D
Patch level          : 64
Sys.gen time         : 09:34 16/12-1988

emulator commands are case-sensitive.