05/05/1992 09:46 AM 144,272 EMXDEV.ZOO
05/05/1992 09:44 AM 167,809 EMXINFO.ZOO
05/05/1992 09:46 AM 101,132 EMXLIB.ZOO
05/05/1992 09:46 AM 19,266 EMXTEST.ZOO
05/05/1992 09:46 AM 586,285 GNUDEV.ZOO
05/05/1992 09:40 AM 78,575 GNUPAT.ZOO
05/05/1992 09:41 AM 138,891 GNUSRC1.ZOO
05/05/1992 09:41 AM 184,671 GNUSRC2.ZOO
05/05/1992 09:45 AM 1,044,875 GNUSRC3.ZIP
05/05/1992 09:43 AM 1,015,692 GNUSRC3.ZOO
05/05/1992 09:42 AM 505,127 GNUSRC4.ZOO
05/05/1992 09:45 AM 3,178 README.DOC
And from the readme, the release is from February of 1992. Keeping in mind the GA release of OS/2 2.0 was released in April of 1992.
EMX 0.8b INTRODUCTION 22-Feb-1992
Welcome to emx, a common environment for creating 32-bit programs for OS/2 2.0
and MS-DOS. You can use the GNU C compiler to compile programs for EMX.
Included in the emx package are:
emx.dll dynamic link library for OS/2 2.0
emx.exe DOS extender for running 32-bit programs under MS-DOS
emxbind.exe for creating .exe files which work both under OS/2 2.0 and
MS-DOS
C header files and a nearly complete C library, including source
Additionally, the following GNU programs are available compiled and with
sources (note that these files are not part of EMX):
gcc, the GNU C compiler
gas, the GNU assembler
gdb, the GNU debugger
ld, the GNU linker
ar, nm, size, strip, objdump: some GNU utilities for dealing with binary
files
Patched source for gcc, gas, gdb, ld, ar, nm, size, strip, objdump. You can
compile all these programs with the files that come with emx (but you also
need a make utility, such as NMAKE)
So, this pretty much sums it up. I went ahead and extracted the ZOOs and placed a copy on my site: emx08b_extracted.7z Although I don’t think anyone really cares about ancient versions of GCC on OS/2.
I recently got some old diskettes, and sure enough I was lucky to find this gem a ‘virus free’ disk, the Team Computing demo disk.
Vintage 1992!
So naturally it’s MS-DOS based, as that is all that was left in the early 1990’s.
logo
And it’s chock full of vintage networking pitches, as Digital was trying desperatly to get people to buy their Enterprise software for being that all in one of file/print sharing, email and business process automation.
Digital networking
So 1990’s.
Teamlinks workflow
And of course it touts over and over again ‘open standards’ although I’m suspecting none of them really are that open, nor surviving.
Teamlinks over the world
Did it go anywhere? Â Did anyone actually use it?
It sounds like a somewhat useful all in one thing that I’m sure cost far far far too much money. Â And of course, in 1997 there was Microsoft Exchange 5.5 which basically killed everything.
I’ve only found a copy of Pathworks 7.1a on Ebay many many years ago, which I’ve used to get Windows NT onto Hecnet. Â That’s as much ‘Digitial for Windows’ software as I’ve used.
For anyone so inclined, you can download the demo files teamlinks.zip
Yes, I know there are others. Â Newer versions of GCC too!.. but I was more so curious to see if I could do it. Â I know there were GCC 1.x ports to the Amiga but I can’t find source anywhere. Â And for some reason the Amiga and Atari ST seem to have never been mainlined into GCC. Â I would have thought 1990-1992 they would have had far more users than say SUN-2/SUN-3.
I downloaded the files mentioned on this GCC page, and started to massage stuff. Â This was easier as GCC 2.7 & Binutils 2.8 both support Windows NT 3.5 (and much much higher!).
I may want to try to get an ancient Nethack to build, so I put it onto sourceforge…
I’ve just tested a hello world type executable. Â I’m more so amazed that it linked and executed, ‘file’ detects the objects as
x.o: raw G3 data, byte-padded
But at least the executables look right:
hi: AmigaOS loadseg()ble executable/binary
I had to hack all kinds of crap compiling eamiga.c
and eamiga_bss.c as neither generated correctly, and both had all kinds of missing and undefined things.  I’m sure on bigger projects it’d just explode, but right now I’m just amazed the linker could pick up my object, plus the 21 year old objects + libraries from that aforementioned ancient GCC port.
I recently discovered this youtube channel by Kim Justice. Â She does quite a few video documentaries about retro games, and the like. Â I found these two quite interesting:
The history of US Gold was quite interesting, along with her documentary on Ocean
And of course this video about the ZX Spectrum tape wars.
I had a Commodore 64, and although I did have a 1541 disk drive first, I did later manage to get a datacasette, and on rare occasion I would pick up a Zzap64 and did quite enjoy the whole idea of a covertape. Â The tradition continues in the UK & EU with cover discs, which I pick up on occasion in Hong Kong.
I found this eBay auction, and couldn’t believe what they had unearthed! Â Boxes and boxes of these clone datassette!
New old stock
Obviously the perfect thing for any retro Commodore user! Â And as you may know in Europe most people used tapes, while us North Americans all used disk drives, namely the mighty 1541.
As of me writing this there is only ONE left! Â It’s not my auction, and I have nothing to do with them, but this is your big chance to get one if you want one!
***EDIT
Well it turns out the last unit has just been sold. Â Too late to post it seems.
To start this fun voyage, I used HCC, the first usable port of Sozobon C to the Amiga I could track down. From it’s description:
Amiga port of Sozobon, Limited’s C Compiler. Can completely compile itself, supports 32 bit ints, and optimizer can ‘registerize’ variables. Includes compiler, optimizer, tool for creating interface code for Amiga system calls, startup code, C library, include files, and library routines that work with Motorola FFP format. Uses assembler A68k, linker BLink, and provided run-time shared C library CClib.library.
From the readme
And isn’t that great? Â It even supports 32 bit integers! Â I had to massage things in Visual C++, as there was some weird instances of return codes missing, and the optimizer not actually mallocing it’s memory, but just blindly using pointers. Â As always if you can see what is going on in a debugger it’s not too hard to make some wild guesses and get it running, and if you get lucky it may even work too…
Running the compiler
With the compiler and optimizer running (it is actually needed to run to further massage the assembly output into something the Amiga a68k assembler can read), it was time to look at an assembler. Â For the heck of it, I did try a68k, and to my amazement it did actually work, once I had updated the file output call.
hcc\hcc -L hanoi.c
hcc: version 2.0 Copyright (c) 1988,1989,1991 by Sozobon, Limited.
Amiga Version 1.1 by Detlef W³rkner.
hanoi.c:
top\top -v hanoi.s h2.s
top Version 2.00 Copyright (c) 1988-1991 by Sozobon, Limited.
Amiga Version 1.1 by Detlef W³rkner.
hanoi.s:
Peephole changes (1): 8
Peephole changes (2): 1
Peephole changes (3): 0
Instructions deleted: 3
Variables registered: 0
Loop rotations : 0
Branch reversals : 0
Branches removed : 4
a68k\a68k -q100 h2.s
68000 Assembler - version 2.61 (January 11, 1990)
Copyright 1985 by Brian R. Anderson
AmigaDOS conversion copyright 1989 by Charlie Gibbs.
Assembling h2.s
PASS 1 line 59
PASS 2 line 59
End of assembly - no errors were found.
Heap usage: -w2047,80
Total hunk sizes: 94 code, 10 data, 0 BSS
linking
Wow wasn’t that fun! I haven’t seen the source code to the BLINK linker, so I just end up using a native linker, BLINK.
Towers of Hanoi
Much to my amazement, the a68k assembler functions just fine as a cross assembler, and I only had to copy the object file into the emulator, and I could happily link.
The syntax for BLINK was a little strange, mostly because I really don’t know what I’m doing.
BLink LIB:HCC.o+hanoi.o LIB LIB:HCC.lib+LIB:stubs.lib TO hanoi SC SD VERBOSE
Now to try something bigger, like the ancient 1987 vintage InfoTaskForce. I had to add in the include files from the DICE compiler, and surprisingly, in no time, it was all compiled, and assembled the only step remaining was to run the BLINK linker. This time it was slightly different as now we had a bunch of object files:
BLink LIB:HCC.o+fileo.o+funcso.o+infocomo.o+inito.o+inputo.o+interpo.o+ioo.o+jumpo.o+objecto.o+optionso.o+pageo.o+printo.o+propertyo.o+supporto.o+variableo.o LIB LIB:HCC.lib+LIB:stubs.lib TO infocom SC SD VERBOSE
Running that as a single line (or better in a command file) got me my executable.
Linking
And it linked without any unresolved externals.
InfoTaskForce cross compiled on Windows, linked on AmigaDOS 2.0
Running under WinUAE
And even better, it worked. Here it is running Planetfall!
I can’t imagine it being all that useful for anyone, as Sozobon C is K&R C, and well this is for the Commodore Amiga, not exactly a mainstay in this day & age.
HCC_Sozobon_win32cross.7z This link will take you to the sourceforge page, and the archive contains both source, and executables. As mentioned I didn’t see any Amiga linker that has source code, it seems everyone use BLINK, and the team that write BLINK went on to re-write all the ‘c’ commands in AmigaDOS from BCPL/asm into C.
***
Addendum
I just discovered vlink after writing this, and now I can link a working executable under Windows 10! Since I made zero changes to vlink, and I’m not charging money, I am free to redistribute this so I’ve updated my archive, and included it.
I saw this PDP-1 emulator being mentioned on reddit, and it’s certainly worth a moment to check out! Â Written in javascript it offers a cool HTML5 CRT like screen to play spacewar! on.
After much fighting, and apparently being blocked by one of my ISP’s, I got back onto HECnet! Â Even better I was able to verify operation with HECnetNT!
Selective binding for DECnet
Like last time I was able to bind Pathworks 32’s DECnet onto a MS Loopback adapter, and then use the bridge to connect onto that loopback to a local Linux bridge (which is also hosting a virtual SIMH VAX instance).
The big problems I ran into is that I originally had setup SIMH to use a tap interface, and connect into a bridge, as mentioned on the raspberrypi.org forums, however the HECnet bridge program seems to have difficulty injecting packets onto the bridge interface.  I suspect the ‘correct’ thing to do is to remove libpcap from the bridge, and re-write it to be a tuntap client.  There is enough examples, I should be able to do this, but I just wanted the thing to work, so I didn’t want to tackle this just yet.
Instead I had SIMH attach to the Linux lo adapter (typically where 127.0.0.1 lives), and the HECnet bridge program, and success! Â Even better the interface has been up now over 12 hours since it was brought online.
SIMH VAX VMS 4.7
Well wasn’t that fun?
Want to learn more about HECnet? Â simply check it out! Â But as the short order goes it’s a hobbyist DECnet of machines spread out across the globe running the ancient DECnet protocol on various legacy style systems.