I’ve been compiling quite a bit of stuff.. Looking back it was something I intended to do back in October of 2007… Well no time like the present then! I’ve done my best to include all the relevant bits for each of the following packages. It’s entirely possible I’ve missed stuff, so feel free to re-build the stuff as you wish. Some of the packages require you to build them with GCC as the default CC won’t work. However if you are going to build it yourself you won’t be able to jump to gcc 2.7.2.2 as it requires gperf which in turn requires a working c++ compiler. So far here are the following packages:
bash-1.14.7
bash-2.0
binutils-2.8.1
bison-1.25
flex-2.5.4
gcc-1.42
gcc-2.4.5
gcc-2.5.8
gcc-2.7.2.2
gdb.3.1
gzip-1.2.4
hack.1.0.3
irc2.8.21
ircii-4.4
lynx-2.8.2
make-3.75
pine-3.87
screen-3.7.1
unzip522
All of these can be downloaded from here. I’m keeping all the source code (unaltered) in tap format for the SIMH emulator right here.
To get the C compilers going I had to build gcc 1.42 with the system compiler (cc/PCC) then use that version of GCC to build the next version. Once I had gcc 2.5.8 building, then I was able to build binutils 2.8.1 without issues, then rebuild gcc 2.5.8 to use binutils instead of the default system assembler so that I could build lynx and it wouldn’t barf because of the massive switch statement…
And no, -J didn’t help.
Speaking of lynx the search ability is broken because the function simply isn’t in 4.3 BSD (bsearch), and for pine, I had to make a fake tmpfile function that uses the /tmp/pinebox directory.
The gcc 2.5.8 package includes the C++ components, and I’m pretty sure I did with 2.7.2.2 as well. I’m not sure if GCC 3.x kept the VAX cpu so I haven’t pushed forward, but seeing that the cc1 exe is over 1mb it doesn’t seem worth it to push ahead.
I’ll have to see about including more games. The selection in this 4.3 release is kind of weak,
aardvark* boggle* hack@ monop* snake*adventure* ching* hangman* quiz* snscore*backgammon* cribbage* hunt* robots* teachgammon*battlestar* doctor* lib/ rogue* trek*bogdict* fortune* mille* sail* zork*
I’ll have to see what’s missing from where.. Also I notice that the arrow key bindings in terraterm are not working… I’ll have to dive into that as well. It may end up with a new re-relase of the emulator or a patch thing. I’ll have to see.
I should add a quick note on how to unpack these tap files. First you will need bzip2 on your native pc. You should be able to get one here.
Now just uncompress the file..
C:\Program Files (x86)\uwiscbsd>bzip2 -d lynx-2.8.2.binary.BSD-4.3.Uwisc.tap.bz2
Now you need to go to the SIMH console window. It will say something like this in it:
VAX780 simulator V3.8-1
Listening on port 42221 (socket 376)
Waiting for console Telnet connection
Running
Hit Control+E and it’ll interrupt the simulator. Then we need to attach the tap file like so:
Simulation stopped, PC: 800018A3 (MTPR #0,#12)
sim> att ts0 lynx-2.8.2.binary.BSD-4.3.Uwisc.tap
sim> c
the att command will attach the tap file to the ts0 device. the c will tell the simulator to continue. Now just switch to a tty windows (or attach a pty), then it’s a simple matter of running the following commands:
myname# cd /
myname# mt rew
myname# tar -xvmf /dev/rmt12
x /usr/local/bin/gzip, 66560 bytes, 130 tape blocks
x /usr/local/bin/lynx, 949248 bytes, 1854 tape blocks
x /usr/local/lib/lynx.cfg, 97203 bytes, 190 tape blocks
myname# rehash
Thats about all it takes, now you can run lynx. If you so wish, you can run back to the SIMH console, and tell it to “det ts0” which will detach the tape image.