Both sides previous revisionPrevious revisionNext revision | Previous revision |
ns32ksoft [2020/01/20 18:55] – [SNX/GNX crosstools] admin | ns32ksoft [2022/06/29 20:45] (current) – [Opus Systems board] admin |
---|
<html><h1>Software packages for 32000 series</h1></html> | <html><h1>Software packages for 32000 series</h1></html> |
Author: Alexander Voropai alec@sensi.org\\ | Author: Alexander Voropai alec@sensi.org\\ |
Aug 2017\\ | Aug 2017 .. Jun 2022\\ |
This page was created as a "companion" for this amazing site: http://www.cpu-ns32k.net\\ | This page was created as a "companion" article for this amazing site: http://www.cpu-ns32k.net\\ |
For GNU Toolchains for 32000 series see a separate page: [[ns32ktoolchain]] | For the GNU Toolchains for 32000 series see a separate page: [[ns32ktoolchain]] |
| |
==== Definicon ==== | ==== Definicon ==== |
Definicon DSI-32 was an "coprocessor" ISA-8 board with NS32032 CPU designed to run a "heavy" match tasks. | Definicon DSI-32 was an "coprocessor" ISA-8 board with NS32032 CPU designed to run a "heavy" match tasks. |
| |
Byte Magazine articles:\\ | See a Byte Magazine articles:\\ |
https://archive.org/details/BYTE_Vol_10-08_1985-08_The_Amiga\\ | https://archive.org/details/BYTE_Vol_10-08_1985-08_The_Amiga\\ |
p. 120 The DSI-32 Coprocessor Board. Part 1: The Hardware\\ | p. 120 The DSI-32 Coprocessor Board. Part 1: The Hardware\\ |
p.52 The Definicon DSI-32 Co-Processor\\ | p.52 The Definicon DSI-32 Co-Processor\\ |
| |
Interesting issue about "Scienstific coprocessors" for early PC (PC Mag 14 Apr 1987) \\ | Interesting issue about "Scienstific coprocessors" for the early PCs (PC Mag 14 Apr 1987) \\ |
https://books.google.ru/books?id=Jr7Bj4Yr0FMC&printsec=frontcover\\ | https://books.google.ru/books?id=Jr7Bj4Yr0FMC&printsec=frontcover\\ |
p.208 "Changing the rules of the game"\\ | p.208 "Changing the rules of the game"\\ |
https://virtuallyfun.com/category/ns32032/ | https://virtuallyfun.com/category/ns32032/ |
| |
=== Software === | === DSI-32 Software === |
1) http://ftp.berklix.org/~dlr/dsi/set021387/\\ | 1) http://user.berklix.org/~dlr/dsi/set021387/\\ |
A complete Definicon software set. Includes GreenHills C (K&R only), Fortran and Pascal compilers. Filenames are in mixed case. An assembler is made by the Computer Systems Design (Perth, Western Australia) and language compilers are from the Green Hills Software. Assembler is quite powerful and supports **module** concept for the 32000 (unlike many other assemblers including GAS). Also two alternative assemblers included. Object module format is proprietary. Executables ''*.e32'' are in an ''a.out'' variant (loader sources is available in the LOAD sources). | This is a complete Definicon software set. Includes GreenHills C (K&R only), Fortran and Pascal compilers. Filenames are in mixed case. An assembler is made by the Computer Systems Design (Perth, Western Australia) and language compilers are from the Green Hills Software. Assembler is quite powerful and supports **module** concept for the 32000 (unlike many other assemblers including ''gas''). There are also two alternative assemblers (included). Object module format is proprietary. Executables has a suffix ''*.e32'' and this is an ''a.out'' variant (loader sources is available in the LOAD sources). |
| |
<code>CSD-32000 Assembler V1.00a, Computer Systems Design | <code>CSD-32000 Assembler V1.00a, Computer Systems Design |
| |
2) http://cpu-ns32k.net/files/Def-Soft.zip \\ | 2) http://cpu-ns32k.net/files/Def-Soft.zip \\ |
More recent assembler, not a full set. Includes 32IO and LOAD sources. Filenames in Uppercase. Also includes some Public Domain utilities. | This archive contains a more recent assembler, but not a full set. Includes 32IO and LOAD sources(!). Filenames in Uppercase. Also includes some Public Domain utilities. |
<code>DSI-32000 Assembler V1.03m, Definicon Systems Inc. | <code>DSI-32000 Assembler V1.03m, Definicon Systems Inc. |
DSI-32000 Linker V1.03d, Definicon Systems Inc</code> | DSI-32000 Linker V1.03d, Definicon Systems Inc</code> |
Documentation: http://cpu-ns32k.net/files/docs.zip | Documentation: http://cpu-ns32k.net/files/docs.zip |
| |
This ''C'' compiler (tested under emulator) is trying to include a "system" HOST header files from the ''/usr/include''. This does not work because of non-K&R syntax and complexity of the modern headers. Use a "local" header files (in double quotes) ''#include "stdio.h"'' in your sources.\\ (TODO: Make a "fake root" in emulator ?) | This ''C'' compiler (was tested under emulator) is trying to include a "system" HOST header files from the ''/usr/include''. This does not work because of non-K&R syntax and complexity of the modern headers. Use a "local" header files (in double quotes) ''#include "stdio.h"'' in your sources.\\ (TODO: Make a "fake root" in the emulator ?) |
C Compiler options: [[dsi32-copt]] | C Compiler options: [[dsi32-copt]] |
| |
''ln'' linker uses unusual syntax. It requires a special "definition file" (slightly similar to "response file" for a Microsoft's linker). Software distribution provides sample files with ''def'' or ''d32'' extension.\\ | ''ln'' linker has unusual syntax. It requires a special "definition file" (slightly similar to the "response file" for a Microsoft's linker). Software distribution provides sample files with ''def'' or ''d32'' extension.\\ |
LN users manual: http://cpu-ns32k.net/files/LN_user_manual.pdf | LN users manual: http://cpu-ns32k.net/files/LN_user_manual.pdf |
| |
=== Emulator === | === Emulator === |
Definicon software requires a DSI-32 card with real 32000 CPU installed in PC. In 2016 Dave Rand wrote an **DSI-32 emulator** using a 32016 software emulator from the Acorn 32016 Tube Coprocessor Board project:\\ | As it is clear, Definicon software requires a real DSI-32 card with a real 32000 CPU installed in a PC. Fortunately, in 2016 Dave Rand wrote a **DSI-32 emulator** using a 32016 software emulator from the Acorn 32016 Tube Coprocessor Board project:\\ |
https://github.com/hoglet67/PiTubeClient\\ | https://github.com/hoglet67/PiTubeClient\\ |
https://github.com/hoglet67/PiTubeDirect | https://github.com/hoglet67/PiTubeDirect |
[[wp>Portable_C_Compiler|Portable C compiler]] (pcc) ported to 16032:\\ | [[wp>Portable_C_Compiler|Portable C compiler]] (pcc) ported to 16032:\\ |
http://www.tuhs.org/Archive/Applications/Portable_CC/\\ | http://www.tuhs.org/Archive/Applications/Portable_CC/\\ |
Contains **a16**, **cc16** and **ld16** sourcecode. Binary format: **a.out** variant. | Contains **a16**, **cc16** and **ld16** sourcecode. Binary format is **a.out** variant. |
| |
Not tested. | Not tested. |
| |
| ==== Labtam ==== |
| |
| http://www.cpu-ns32k.net/Multi.html |
| |
| Labtam firmware:\\ |
| http://wiki.sensi.org/download/ns32k/Labtam-V32-G87.zip |
| |
| It supports the following Multibus controllers:\\ |
| ''Disk:\\ |
| * Labtam Z80 disk controller *\\ |
| * Interphase STORAGER disk *\\ |
| * Interphase 2190 SMD Controller *\\ |
| Tape:\\ |
| * Labtam Streaming Tape Interface *\\ |
| * XYlogics 472 Tape controller *\\ |
| * Interphase STORAGER tape *\\'' |
| |
==== TDS ==== | ==== TDS ==== |
==== GENIX ==== | ==== GENIX ==== |
| |
GENIX was a National Semiconductor's trademark for the UNIX-class OS for the NS32000 architecture. Early GENIX was a 4.xBSD port and later GENIX was a UNIX SYSV (R2 and R3) port. A significant number of workstations used this OS: i.e. [[http://cpu-ns32k.net/Whitechapel.html|Whitechapel Computer Works]], [[http://cpu-ns32k.net/Trinity.html|Trinity Workstation]] and [[http://cpu-ns32k.net/Opus.html|NS SYS32/20]]. There were also proprietary 32000 UNIX ports under it's own name (i.e. Sequent [[wp>DYNIX]], [[http://cpu-ns32k.net/Siemens.html|Siemens MX 300]] [[wp>SINIX]], [[http://cpu-ns32k.net/Encore.html|Encore]] UMAX, Tektronix UTek e.t.c) | GENIX was a National Semiconductor's trademark for the UNIX-class OS for the NS32000 architecture. Early GENIX was a 4.xBSD port and later GENIX was a UNIX SYSV (R2 and R3) port. A significant number of workstations used this OS: i.e. [[http://cpu-ns32k.net/Whitechapel.html|Whitechapel Computer Works]], [[http://cpu-ns32k.net/Trinity.html|Trinity Workstation]] and [[http://cpu-ns32k.net/Opus.html|NS SYS32/20]]. There were also proprietary 32000 UNIX ports under it's own names (i.e. Sequent [[wp>DYNIX]], [[http://cpu-ns32k.net/Siemens.html|Siemens MX 300]] [[wp>SINIX]], [[http://cpu-ns32k.net/Encore.html|Encore]] UMAX, Tektronix UTek e.t.c) |
| |
=== Documentation === | === GENIX Documentation === |
| |
http://bitsavers.trailing-edge.com/components/national/_dataBooks/1983_Development_Systems_Products_Databook.pdf\\ | http://bitsavers.trailing-edge.com/components/national/_dataBooks/1983_Development_Systems_Products_Databook.pdf\\ |
section 7-16 (GENIX/V.3 is a port of AT&T's System V, Release 3.0, UNIX operating system for the Series 32000 microprocessor family. ) | section 7-16 (GENIX/V.3 is a port of AT&T's System V, Release 3.0, UNIX operating system for the Series 32000 microprocessor family. ) |
| |
Tilson, Michael (October 1983). "[[https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n267/mode/2up|Moving Unix to New Machines]]". BYTE. p. 266. An article about porting early UNIX to NS32000 architecture. Seems this is source of the "unreliability" opinion about NS32000 CPU. | Tilson, Michael (October 1983). "[[https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n267/mode/2up|Moving Unix to New Machines]]". BYTE. p. 266. An article about porting early UNIX to the NS32000 architecture. Seems this article is a source of the "unreliability" opinion about NS32000 CPU. |
| |
Since GENIX 2 is based on the AT&T SYSVR2/3 hence most of documentation are suitable for GENIX 2 too.\\ | Since GENIX 2 is based on the AT&T SYSVR2/3 hence most of documentation are suitable for the GENIX 2 too.\\ |
http://bitsavers.trailing-edge.com/pdf/att/unix/System_V_Release_2/\\ | http://bitsavers.trailing-edge.com/pdf/att/unix/System_V_Release_2/\\ |
http://bitsavers.trailing-edge.com/pdf/att/unix/System_V_Release_3/ | http://bitsavers.trailing-edge.com/pdf/att/unix/System_V_Release_3/ |
| |
| |
=== Distributives === | === GENIX distributives === |
| |
1) http://bitsavers.trailing-edge.com/bits/AmericanInformationSystems/AIS_GENIXsrc_ | 1) http://bitsavers.trailing-edge.com/bits/AmericanInformationSystems/AIS_GENIXsrc_6-20-85.tar.gz\\ |
6-20-85.tar.gz\\ | This is an early GENIX sources (derived from the 4.1BSD) for the DB16000 board. Also includes SNXC (an early 32000 crosscompiler) for the VAX 4.1BSD. An assembler sourcecode is written in Pascal (sic!). C compiler is PCC. Binary format is a.out (variant). See below how to run this SNXC at a VAX emulator. |
Early GENIX sources (derived from the 4.1BSD) for the DB16000 board. Also includes SNXC (early 32000 crosscompiler) for VAX 4.1BSD. An assembler sourcecode is written in Pascal (sic!). C compiler is PCC. Binary format is a.out (variant). | |
| |
2) http://bitsavers.trailing-edge.com/bits/AmericanInformationSystems/AIS_oldUsr_10-3.cpio.gz\\ | 2) http://bitsavers.trailing-edge.com/bits/AmericanInformationSystems/AIS_oldUsr_10-3.cpio.gz\\ |
/usr cpio archive from a more recent GENIX (SYSVR2). No sources, no /bin, /lib and /etc. The /usr/bin contains binaries in the ns32k COFF format (similar to the Opus binaries, see below). Some binaries are not stripped. | This ia a /usr cpio archive from a more recent GENIX (SYSVR2). No sources, no /bin, /lib and /etc. The /usr/bin contains binaries in the ns32k COFF format (similar to the Opus5 binaries, see below). Some binaries are not stripped. |
| |
3) http://wiki.sensi.org/download/ns32k/SysVr2.0_32000.tgz\\ | 3) http://wiki.sensi.org/download/ns32k/SysVr2.0_32000.tgz\\ |
A full SYSVR2 sources ported for the NS32000 processor for National Semiconductor SYS16/SYS32 machines. Includes NS32000 assembler, loader and C compiler sources. This UNIX sources correspond to the well known SYSVR2 sources for the VAX SYSVR2 floating around: i.e. [[http://vetusware.com/download/UNIX%20SYSVr2%20Source%20Code%20r2%20_usr%20dump_%20r2/?id=13474|sysvr2-vax.cpio]] | This is a full SYSVR2 sources ported to the NS32000 processor for National Semiconductor SYS16/SYS32 machines. Includes NS32000 assembler, loader and C compiler sources. This UNIX sources correspond to the well known SYSVR2 sources for the VAX and 3B2 SYSVR2 floating around: i.e. [[http://vetusware.com/download/UNIX%20SYSVr2%20Source%20Code%20r2%20_usr%20dump_%20r2/?id=13474|sysvr2-vax.cpio]] but for the NS32000 CPU. |
| |
| The ''as'' assembler is written in a "classic" LEX/YACC. Unusually, ''m4'' is used as macro-pre-processor. Unfortunately, this assembler is very "fragile" - it coredumps on any errors in the input file. Object file format for this ''as'' and ''ld'' is COFF (ns32k variant). Assembler has a quite unusual syntax: all numerical constants and variables are treated as "absolute" (even without "@var"). According to some reports, this addressing mode works faster. The syntax for the ''var(pc)'' (PC-relative) addressing mode is unknown. |
| |
| Sources may be [[sysvcross|cross-compiled]] under working SYSVR2 (i.e. SIMH/VAX or SIMH/3B2) to make a sort-of "crosstool". It is possible also to build binaries under relative old GCC (I've successfully built some sources with GCC 2.7 on a i386 [[https://archive.org/details/RHL2.1|RedHat Linux 2.1 Bluesky]], November 1995 under VirtualBox). |
| |
''as'' assembler is written in a "classic" LEX/YACC. Unusually, ''m4'' is used as macro-processor. Unfortunately, this assembler is very "fragile" - it coredumps on a errors in the input file. Object format from this ''as'' and ''ld'' is COFF (ns32k variant). Assembler has a quite unusual syntax: all numerical constants and variables are treated as "absolute" (even without "@var"). According to some reports, this addressing mode works faster. The syntax for ''var(pc)'' (PC-relative) addressing mode is unknown. | ==== Opus Systems board ==== |
| |
Sources may be [[sysvcross|compiled]] under working SYSVR2 (i.e. SIMH/VAX or SIMH/3B2) to make a sort-of "crosstool". It is possible to build it under relative old GCC too (I've successfully built it with GCC 2.7 on a i386 [[https://archive.org/details/RHL2.1|RedHat Linux 2.1 Bluesky]], November 1995 under VirtualBox). | 1) http://bitsavers.trailing-edge.com/bits/OpusSystems/Floppies/\\ |
| This is a full binary distributive for the Opus5 card (see http://cpu-ns32k.net/Opus.html ) also know as a National Semiconductor SYS32/20 Development Board. It's SYSVR2 (equal to GENIX2 ?). No sourcecode. Binaries are in the ns32k COFF format. Contains some DOS utuluties for the Opus5 board. |
| |
4) http://bitsavers.trailing-edge.com/bits/OpusSystems/Floppies/\\ | 2) http://bitsavers.org/pdf/opusSystems/32k/\\ |
Full binary distributive for the Opus5 card ( http://cpu-ns32k.net/Opus.html ) also know as National Semiconductor SYS32/20 Development Board. It's SYSVR2 (GENIX2). No sourcecode. Binaries are in the ns32k COFF format. | Opus Systems board documentation. |
| |
==== Siemens SINIX ==== | ==== Siemens SINIX ==== |
| |
==== SNX/GNX crosstools ==== | ==== SNX/GNX crosstools ==== |
National Semiconductor's SNXC16 (later known as NSX-32 and GNX (GENIX Native and Cross-Support)) was a cross tool including | National Semiconductor's SNXC16 (later known as NSX-32 and GNX (GENIX Native and Cross-Support)) was a cross-tool including |
C, Fortran and Pascal compilers, linker, assembler and supporting tools. Assembler accepts an "old" or "classic" NS16000/32000 syntax. | C, Fortran and Pascal compilers, linker, assembler and supporting tools. Assembler accepts an "old" or "classic" NS16000/32000 syntax. |
| |
section 5-16 (GNX Version 3 for VAX BSD,VMS and Ultrix or NS Unix SYSVR3 port. I have no this version) | section 5-16 (GNX Version 3 for VAX BSD,VMS and Ultrix or NS Unix SYSVR3 port. I have no this version) |
| |
| Distributives:\\ |
http://oldcomputers-ddns.org/public/pub/rechner/national_semiconductors_series_32000/index.html\\ | http://oldcomputers-ddns.org/public/pub/rechner/national_semiconductors_series_32000/index.html\\ |
GNX v3 and GNXv4 documentation and GNX v4 MS-DOS executables. | GNX v3 and GNXv4 documentation and GNX v4 MS-DOS executables. |
=== How to run MS-DOS GNX 4 === | === How to run MS-DOS GNX 4 === |
| |
GNX v3 and v4 were a cross tols for National Semiconductor's evaluation boards:\\ | There were a GNX v3 and GNX v4, a cross tools for the National Semiconductor's evaluation boards:\\ |
NSV-CG16-EDB, NSV-CG160-EDB, NSV-GX32-EDB, NSV-GX320-EDB, NSV-FX-GC-EDB, GC160LX-LBP, NSP-AM160-EDB, FX16FAX | NSV-CG16-EDB, NSV-CG160-EDB, NSV-GX32-EDB, NSV-GX320-EDB, NSV-FX-GC-EDB, GC160LX-LBP, NSP-AM160-EDB, FX16FAX |
| |
page 33 | page 33 |
| |
It is possible to run this tools under DosBox on the new Windows system (including modern 64-bit Windows 10). DosBox is an emulator program which emulates an IBM PC compatible computer running a DOS operating system.\\ | It is still possible to run a GNX tools under [[https://www.dosbox.com/|DosBox]] even on the recent Windows system (including a modern 64-bit Windows 10). DosBox is an emulator program which emulates an IBM PC compatible computer running a DOS operating system. |
https://www.dosbox.com/ | |
| |
Download a GNX 4.4\\ | Download a GNX 4.4\\ |
C:</code> | C:</code> |
| |
Extract GNX 4.4 folder (Software\folder.gnx) into host i.e. C:\TEMP\GNX (programs sees it as C:\GNX inside DosBox) | Extract GNX 4.4 folder (Software\folder.gnx) into host i.e. C:\TEMP\GNX (programs will see it as C:\GNX inside DosBox) |
| |
DosBox provides 16MB of DOS XMS memory by default (GNX/MS-DOS uses built-in DOS Extender). | DosBox provides 16MB of DOS XMS memory by default (GNX/MS-DOS uses built-in DOS Extender). |