I was playing with DOSBox on an XP machine, and I came across this exciting link: http://www.eliteclub.co.uk/download/ You can now download Frontier II as shareware! Most cool, so I’ve downloaded it & just run it under DOSBox. No tweaks, answer for the SoundBlaster sound card, and away you go! Here is me attempting to do a flyby of the Saturn system..
This game was super cool back in the day for it’s realistic physics as you could do slingshots, flybys, orbits & even land on various moons & planets. There is nothing more exhilarating then flying through the solar system or the universe at hundreds of thousands of Km/s. Not to mention the hyper drive!
It’s been a long while, life has been busy. But I figured I ought to try to make a post this year!
Ok, I’ve gotten a new laptop over the last few months & I’m running the 64 bit version of Vista. One or the first things us old people will find is that the MS-DOS & Win16 subsystems have been completely removed.
This of course, poses a massive problem! How to play games!!!!?
Thankfully there exists two really great solutions for Vista 64bit users. The first one I’ll suggest is Virtual PC from Microsoft, and DosBox.
It’s no wonder Microsoft has made Virtual PC a free download (http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx) since they have crippled the compatibility of the OS. Now I’m personally a little biased for Virtual PC as I’ve been using it since it was owned by Connectix. Virtual PC is a complete PC emulation strategy, allowing you to run MS-DOS or quite a few other operating systems. For this example I’m going to install MS-DOS, but it’s capable of running all kinds of other operating systems.
Now back to my laptop. It of course doesn’t come with floppy drives, so I used an older PC with a drive to create disk images. (it was running OpenBSD so I just ran ‘dd’. Winimage is capable of creating disk images as well). Of course I could use a USB floppy drive and boot my MS-DOS 6.22 floppies from that as well.
The cool thing is that you can setup a virtual machine, boot off either real floppies or virtual disks, and you will need to setup a virtual hard disk. Naturally it will need partitioning, and formatting. As for installing games, again if you have floppies of them, everything is cool. There even is an emulated CD-ROM device, however you will need a device driver to use it! (http://www.google.com/search?q=idecd.sys) Virtual PC emulates an IDE CD-ROM, and you can use just about any driver you can find out there. Once you can read CD-ROM’s under the emulated MS-DOS you can install the ‘extensions’ program, which has an idle program (to stop the emulator from consuming 100% of your CPU, as MS-DOS has no inherent idle loop), and a neat program called fshare. Fshare will allow you to give your emulated PC access to a directory on the host computer.
The plus’s of Virtual PC is that it’s a more accurate emulation, it provides sound blaster pro emulation, and good psudo device emulation. The major downside for me is that it provides no joystick emulation. Of course you’ll need to bring your own DOS, however I imagine that freedos (http://www.freedos.org/) ought to work just fine, but I kind of like the real thing.
The second emulator I’d like to mention is DOSBox (http://www.dosbox.com/). Unlike Virtual PC, DOSBox is not a complete system emulator, it’s designed specifically to run MS-DOS programs. So you will not need a copy of MS-DOS, nor will you need to worry about such hassles as media, or emulated hard disks.
To run DOSBox for the most part all I do is add the following lines into my config file:
Mount c: c:\Users\Jason\dos
This will make my “c” drive a dos directory in my home directory on Vista, and change the current directory there. From here I can unzip any of the old programs I have, or just copy from CD to my vista directory and just run things. Overall DOSBox has pretty good compatibility. I’ve even run Windows 3.1, and some compiler & development stuff. And yes, it supports Joysticks & the emulation of various sound cards. DOSBox also has various throttle and various video emulation strategies. The other cool thing DOSBox can do is setup a virtual IPX/SPX network, and allow you to play old DOS multiplayer games over the internet. Warcraft 2 & Doom work quite nice under DOSBox. While Virtual PC does provide virtual Ethernet interfaces, it does not provide a way to connect them up over the internet. While it could be done with loopback adapters & PPTP routing, it would be way beyond the average user. DOSBox can listen on a specified TCP port, you can setup your internet router to redirect that port to the host PC, then allow your friends to connect in.
While I can understand Microsoft’s desire to cut all ties with past OS’s in terms of support, It’s a good thing that there still exists an emulation strategy for the two of us. And between DOSBox and Virtual PC hopefully your needs will be met.
*Yes I’m aware of VMWare, however it’s not technically free, and while you can create your own config files, and disk images in Qemu, and install your own OS, it’s not the ‘right’ thing to do according to the EULA.
I know it’s not very retro… Ok far from it, but check out http://msdn.microsoft.com/express . I have to admit the p2p, gaming and webservice stuff looks interesting in this release.
I just installed VC++ 2008 on my Vista laptop, and 2005 seems to function ok.
At the least, you have to love the price!
For Windows users you’ll actually need a different archive that includes Windows support. I’m using VisualC++ 2005 Express to build this out. You can find it @ http://msdn.microsoft.com/express . Don’t forget the servicepack 1 for Vista users.
unzip the bcpl zip to somewhere eg (c:\proj\bcpl)
run the visual studio 2005 command promptcd to your project directory
edit the vc9env.bat file: search and replace distribution with where you put your zip file (proj)Next remove all the vcvar lines (since we invoked a vc capable shell we dont need to worry here)
nmake -f MakefileVC
It’ll compiler the interpeter, then it’ll compile all the bcpl bits, and dump you into a shell. From here you can type in ‘logout’ and cd into the bcplprogs directory and play around.
then we’ll compile the maze program with:
bcpl maze.b to maze hdrs BCPLHDRS
finally we can run the maze program:
BCPL Cintcode System (25 Jan 2007)
0> bcpl maze.b to maze hdrs BCPLHDRS
BCPL (3 July 2007)
Code size = 1164 bytes
… the program will print the maze, as it solves it…
screens will fly by.
From here you can play with the rest of the bcpl examples. You can exit the interpeter with either control C or logout. Currently there doesnt seem to be a cd command, so I just exit and move via the Vista command shell.
I hope this clears it up somewhat.
While I was reading the new part 4 ( http://arstechnica.com/articles/culture/amiga-history-4-commodore-years.ars ) on the history of the Commodore Amiga, it mentions that AmigaDOS was not the original Operating System that they had wanted, but due to difficulties they had to pick a ‘plan b’ as it were.. They went with TripOS a portable OS written in BCPL.
TripOS ran on PDP-11’s, NOVA’s, m68k’s, and probably other machine type… What is also interesting is that BCPL heavily influenced the development of C! Searching about I found this:
The homepage of Martin Richards, the author of TripOS & BCPL! What’s even cooler is that he’s cooked up an interpeted version of TripOS that will run on most anything! Downloading http://www.cl.cam.ac.uk/users/mr/Cintpos/cintpos.zip I was quickly able to setup the exe’s under Vista, and run TripOS. It’s very cool!
Boot tracing level is set to 1
Cintcode memory (upb=4000000) allocated
Boot’s stack allocated at 211
Boot’s global vector allocated at 727
Rootnode allocated at 100
syscin/boot loaded successfully
syscin/blib loaded successfully
syscin/syslib loaded successfully
syscin/dlib loaded successfully
BOOT stack is at 211
BOOT global vector is at 727
CLI stack allocated at 8551
CLI global vector allocated at 9067
BCPL Cintcode System (25 Jan 2007)
boot about to call the interpreter recursively
It should start executing the boot function: startrootboot: about to call sys(Sys_interpret,…)
startroot: can now use normal stream i/o
startroot: trying to load syscin/cli
startroot: loaded syscin/cli successfully
startroot: now entering the cli
cli: now entering the main CLI loop
From here you can build various demonstration BCPL programs, and whatnot. Also looking at the code for TripOS it’s VERY small… But then the same could be said of UnixV6.. Things have gotten VERY complicated over the years..
Anyways, I thought you’d like a glimpse into the basis of AmigaDOS!
As promised the MicroVAX II/4.3BSD-RENO package has been completed. You can download it from here:
What’s new in this version?
Well again, usermode networking (SLiRP) from Qemu. A newer OS and emulator to take advantage of it. And pre-built gzip & irc. Yes I know it’s not much but since /usr/local is a seperate disk, I can update it later. I’m hoping to get gcc 1.x running, and *MAYBE* even Apache or Lynx. But I’m not sure at the moment if they’ll build. I’ve been using this build for an irc client and so far no issues.
Here is the install notes:
Welcome to this Beta test of SIM-H 3.7 on Windows with BSD 4.3-Reno
This is the second time I’ve written a NSIS install package
so bear with me.
*Please note that this program is nowhere Vista compliant. The user data is
dumped into the program file directory (bad) so you must run this program elevated
as Administrator! (right click on the program link “RUN 4.3BSD-RENO”, and choose run as Administrator).
You can login as root, there is no passwords. I have setup the installation so that you can preserve
the disk images, or overwrite them by simply re-installing the program. This way anyone can easily recover
from a massive system failure.
On NT/2000/2003/XP/Vista machines I would *HIGHLY* recommend compressing the drive images using NTFS
Compression, as the install takes nearly 2 gigabytes, but using compression it will occupy about 135 Megabytes.
I have included a bunch of the documents in PDF format. Before you give up saying there isn’t enough
documention, you may find there is actually too much. All documentation was converted under OS X (groff -t -ms *> bla.ps;open bla.ps)
I have included an IRC client that will default to chat.taucher.net (a BSD support site), simply pick a name (bob)
And type the following in as root:
From there you will be on the channel. Feel free to say Hi!
The main website is http://sourceforge.net/projects/bsd42/
By default you should install *everything*. The config
file is setup to mount a /home drive separate from the
Operation System. This will allow for a somewhat painless
recovery if you trash the OS.
On uninstalling you will have the option of keeping your
I have installed this copy of 4.3BSD-Reno from the Unix Archive.
The emulator is currently setup for a MicroVAX and it includes SLiRP from
the QEMU project. This allows for ‘user mode networking’ and will allow
you to immediately connect to the internet with no overhead.
The following ports are automatically redirected into the emulator:
HOST PC BSD
Of all the ports setup, the only daemon I’ve currently tested is telnet. You
can telnet into 4.3BSD-Reno by typing in:
telnet localhost 42323
Or by using the “attach a pty” link from the start menu.
This is the configuration file that I’m using.
set cpu 32m
set cpu idle
att nvr reno.nvram
set rq0 ra81
att rq0 reno.disk
set rq1 ra81
att rq1 usrlocal.disk
set rq2 ra81
att rq2 opt.disk
set rq3 ra81
att rq3 home.disk
set tq tk50
set tq dis
set lpt dis
set ts dis
set rl dis
set cr dis
set ry dis
set dz lines=4
set tti 7b
set tto 7b
att xq bb
load -r ka655.bin
dep bdr 0
By default on windows the console will not handle ascii correctly.
I have enclosed a copy of putty that will connect on the correct port,
the link is the “Attach a PTY”. Just wait for the Operating System
to boot up to the login prompt.
That’s about it!
Feel free to download it, and give me any feed back! Even better join me on IRC!
Ok so this isn’t exactly emulation, since you can already run Unix v7 via simh’s PDP11 emulator, however you cannot overlook the coolness factor of this. They have ported v7 to the i486 cpu.
In other news I’ve done a very preliminary port of the SLiRP stack from Qemu to SIMH. What is cool about this, is that it allows user mode networking so that you do not have to configure any drivers on the host. Currently I have 4.3BSD-Reno running under the MicroVAX II simulator. I’m going to add some extra utilities (gzip/gcc/gnumake/ircii-4/lynx?/wget?/apache?), convert the SMM into PDF’s, and make it into an install package, much like the 4.2BSD on sourceforge.
If anyone want’s to alpha test it, let me know, otherwise the next post will most likely be the release of 4.3BSD-RENO with NAT!
I’ve uploaded onto the sourceforge site ( http://sourceforge.net/project/showfiles.php?group_id=154308 ) my project source & the resulting exe’s…
I need to see which compiler generates the faster exe, and ship with that going forward for the win32 platform. I suspect its VC2005, but the race is going to be between VC2005, gcc/mingw, Watcom 11.
Of course if anyone want’s to suggest another C compiler for win32, I could always try it out, and see how it performs.
Of course today is 9/11… It’s hard to believe that it’s been 6 years. One can only hope the madness will end.
Recently I’ve taken it upon myself to update the sourceforge pages for SIMH. In the process of building platform EXE’s for people and whatnot, I’ve decided to try to make some of the more popular Operating Systems easier to use for the Windows users.
From what I’ve seen of the downloads the Windows users are the largest group, then followed by OSX. I’ve actually seen 2x more downloads for NeXTSTEP than Linux/i386… But I suspect it’s an advertising thing if anything else.
So inorder to make 4.2BSD more accessable to the end user I have spent a day with NSIS, and created an install package.
You can now download 4.2BSD in an easy to use EXE here:
As I write this the current version is listed as v0.1a . I fixed a few annoying bugs, however I wanted to push out a release before I went to sleep.
What I have tried to do here, is seperate the user data, from the Operating System. By doing this a novice can quickly repair the OS, but re-installing the os component from a windows installer. Currently this NSIS script doesn’t support repairs, so to do it cleanly you must uninstall 4.2BSD, doing so will give you the options of preserving your OS & Home disks. If the OS is trashed, simply allow it to remove the OS, but retain the home disk. Then re-install the application, and uncheck the home disk. This will preserve the one in place.
I’ve also included a copy of putty to give a better tty experence to the end user. I’m thinking about changing this so that the console is brought up with putty.
At any rate, if anyone thinks something along these lines is a good tool, let me know!