Minor SIMH fun

Well I updated the packages for SIMH last night, and I’ve included the win32s stuff and MS-DOS builds. This ought to allow some old schoole to have some fun!

The packages should be visable from here: https://sourceforge.net/project/showfiles.php?group_id=154308&package_id=244756

I have also decided that the MS-DOS version (being the lowest common denominator) should include some kind of ‘sampler’ of OS’s so that you can see right out of the gate what simh is capable of. Naturally you can download the MS-DOS version, and simply replace the exe’s with stuff for windows/win32s/linux etc..

SIMH 3.8-0 for MS-DOS

This is a quick survey of SIMH 3.8-0 for MS-DOS. I’ve built these exe’s with Watcom C++ 11.0a.

You can break out of any of the simulators by pressing CONTROL+E.

All of the EXE’s are for the MS-DOS environment, and I’ve built them with DOS/4GW in mind. I will have to say that an initial test shows that running this stuff under a DPMI server like Windows or OS/2 provides better performance then native switching.. It could be my PC, however I’d recommend anyone who uses these EXE’s to try them natively and under Windows 3.1 at a minimum.. Because all of the MS-DOS nature of these programs, no disk files can be over 2 gigabytes. I don’t know if that’ll be an issue but of course you can have multiple files/partitions as I recall MS-DOS 5 having a 2 gigabyte file/partition size limit..

For anyone running this natively I have included only one copy of dos4gw.exe in the root of the zip.

1. Altair
2. Altair Z80
3. The HP2100
4. The Interdata 32b
5. The Nova
6. The PDP-11
7. The PDP-8
8. The MicroVAX II
9. The VAX 11/780

============================
1. Altair 8800
simh\altair\work

This is the Altair 8800 emulator with both AltairDOS and CP/M 2.2

Both CP/M and Altair DOS are from the file ceoaltair.zip

altdos.bat

——8<------8<------8<------8<------8<------8<
C:\simh\altair\work>altdos
C:\simh\altair\work>altair.exe altdos.ini
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994

Altair 8800 simulator V3.8-0

MEMORY SIZE? 62
INTERRUPTS? n
HIGHEST DISK NUMBER? 1
HOW MANY DISK FILES? 5
HOW MANY RANDOM FILES? 4

055938 BYTES AVAILABLE
DOS MONITOR VER 1.0
COPYRIGHT 1977 BY MITS INC
.
——8<------8<------8<------8<------8<------8< cpm.bat ——8<------8<------8<------8<------8<------8<
C:\simh\altair\work>cpm
C:\simh\altair\work>altair.exe cpm22.ini
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994

Altair 8800 simulator V3.8-0
62K CP/M VERSION 2.2 (ALTAIR 8800)
A>
Simulation stopped, PC: 172052 (JNC 172047)
sim> q
Goodbye
——8<------8<------8<------8<------8<------8< ============================
2. The Altair 8800 z80 emulator.
simh\altairz8\work

This is more full featured then the other Altair emulator, and I’ve found the z80 to have more
software available. I’ve included the CP/M 2.2 that I found cpm2.zip

cpm2.bat

——8<------8<------8<------8<------8<------8<
C:\simh\altairz8\work>cpm2
C:\simh\altairz8\work>altairz8.exe cpm2.ini
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994

Altair 8800 (Z80) simulator V3.8-0

64K CP/M Version 2.2 (SIMH ALTAIR 8800, BIOS V1.25, 2 HD, 15-Jan-07)

A>
Simulation stopped, PC: 0F3FA (RRA)
sim> q
Goodbye
——8<------8<------8<------8<------8<------8< ============================
3. The HP2100 emulator.
simh\hp2100\work

I really don’t know much about this machine, but I included a way to run the basic1 program I
found online. It kind of reminds me of the ROMBASIC back ‘in the day’… It’s basic with line
numbers so I know it’s kind of old.. I really don’t know much otherwise about this machine.

basic1.bat

——8<------8<------8<------8<------8<------8<
C:\simh\hp2100\work>basic1
C:\simh\hp2100\work>hp2100.exe basic1.ini
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994

HP 2100 simulator V3.8-0

READY

Simulation stopped, P: 17436 (JMP 17435)
sim> q
Goodbye
——8<------8<------8<------8<------8<------8<
============================
4. The Interdata 32b emulator

simh\id32\unix6

Both of these unix’s were taken from the files iu6swre.zip and iu7swre.zip respectively.

This is research Unix v6 ported to the Interdata. I set the batch file to tell you how to
bootstrap the system, as it doesn’t just ‘turn on’.. Otherwise it should be comparable to Unix v6 on the PDP-11 or any other v6. This should be the first port of Unix outside of Western Electric. There is no halt/reboot/init 0, so I just sync the disk a few times, and then interrupt the emulator and quit.

——8<------8<------8<------8<------8<------8<
C:\simh\id32\unix6\unixv6.bat
C:\simh\id32\unix6>id32.exe v6.ini
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994

Interdata 32b simulator V3.8-0
at the ? prompt type in:
unix
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994

Interdata 32b simulator V3.8-0
v6.ini> d lfc tps 100
Read only argument
?unix
Memory = 182.50 K

login: root
You have mail.
# sync
# sync
# sync
#
Simulation stopped, PC: 2EB5C (EPSR R1,R0)
sim> q
Goodbye
——8<------8<------8<------8<------8<------8<
simh\id32\unix7

This pretty much follows in the steps of the Unix v6 above. This is the research version of UNIX v7.

——8<------8<------8<------8<------8<------8<
C:\simh\id32\unix7>unixv7.bat
At the : prompt type in
dsk(1,0)unix
ECHO is off.
Then at the # prompt hit CONTROL+D
the root password is root
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994

Interdata 32b simulator V3.8-0

Boot
: dsk(1,0)unix
Memory = 248.0 K
# Restricted rights: Use, duplication, or disclosure is subject
to restrictions stated in your contracts with Western Electric
Company, Inc. and the University of Wollongong.
Fri Jan 2 18:15:04 EST 1970

login: root
Password:
# sync
# sync
# sync
#
Simulation stopped, PC: 00D20 (EPSR R1,R0)
sim> q
Goodbye
——8<------8<------8<------8<------8<------8< ============================
5. The Nova emulator

simh\nova\work

This is RDOS V7.50, which I honestly don’t know anything about… I retrieved this OS from the archive rdosswre.tgz .

rdos.bat

——8<------8<------8<------8<------8<------8<
C:\simh\nova\work>nova.exe rdos.ini
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994

NOVA simulator V3.8-0

Filename?

NOVA RDOS Rev 7.50
Date (m/d/y) ? 10/31/77
Time (h:m:s) ? 10:10:00

R
——8<------8<------8<------8<------8<------8<
============================
6. The PDP-11 Emulator

simh\pdp11\unixv1

This is the Unix v1 restoration project’s latest disk image, that I have retrieved from
http://code.google.com/p/unix-jun72/
Being one of the first versions of Unix it’s super primitive, however I thought it was interesting to include in this SIMH sampler to see just how far UNIX has progressed, and just how much is the same.

unixv1.bat

——8<------8<------8<------8<------8<------8<
C:\simh\pdp11\unixv1>unixv1.bat
C:\simh\pdp11\unixv1>pdp11 simh.cfg
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994

PDP-11 simulator V3.8-0
Disabling CR
Disabling XQ
RF: buffering file in memory
TC0: 16b format, buffering file in memory
simh.cfg> att dci 5555
File open error

:login: root
root
#
Simulation stopped, PC: 007332 (MOV (SP)+,25244)
sim> q
Goodbye
RF: writing buffer to file
——8<------8<------8<------8<------8<------8<
============================
7. The PDP-8 Emulator

simh\pdp8\work

This is the PDP-8 emulator with OS8. I really don’t know anything about this other then the
‘list’ command… I retrieved this from the file os8swre.tgz .

os8.bat

——8<------8<------8<------8<------8<------8<
C:\simh\pdp8\work>os8
C:\simh\pdp8\work>pdp8 os8.ini
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994

PDP-8 simulator V3.8-0
RX: buffering file in memory

.
——8<------8<------8<------8<------8<------8<
============================
8. The MicroVAX II Emulator

simh\vax\quas

This is the MicroVAX II emulator with a miniroot of Quasijarus 0c. It’s not exactly fully functional in this state, but it’s enough to exercise the emulator, and boot up from disk.
I’ve configured the NVram so it will just boot up by default. I have left the installation tape image as quas.tap. Please note that this is *NOT* enough for a full install, this is just a demo to check that your system works.

quas.bat

——8<------8<------8<------8<------8<------8<
C:\simh\vax\quas>vax.exe quas.ini
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994

VAX simulator V3.8-0
NVR: buffering file in memory
Loading boot code from ka655x.bin

KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
Loading system software.
(BOOT/R5:0 DUA0

2..
-DUA0
1..0..

loading boot

Boot
: /vmunix
326312+104440+130352 start 0x23b8
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004
[email protected]:/nbsd/usr/src/sys/GENERIC
real mem = 33521664
SYSPTSIZE limits number of buffers to 80
avail mem = 31697920
using 80 buffers containing 655360 bytes of memory
MicroVAX 3000, ucode rev 6
uda0 at uba0 csr 172150 vec 774, ipl 15
uda0: version 3 model 3
uda0: DMA burst size set to 4
ra0 at uda0 slave 0: ra81, size = 891072 sectors
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
Changing root device to ra0a
Automatic reboot in progress…
Tue Feb 3 17:52:10 PST 2004
Can’t open checklist file: /etc/fstab
Automatic reboot failed… help!
erase ^?, kill ^U, intr ^C
# sync
# sync
# sync
#
Simulation stopped, PC: 800029AF (BNEQ 800029C6)
Goodbye
NVR: writing buffer to file
——8<------8<------8<------8<------8<------8<
============================
9. The VAX 11/780 Emulator

simh\vax780\work

The VAX 11/780 is a bit weird in that it cannot run it’s vmb.exe directly, unlike how the
MicrovaxII can run its ROM. I’ve been using extracted boot code to get the 11/780 to run. Again because I’m more familiar with Unix, I chose to include BSD 4.2’s miniroot to test functionality. This is really only suitable for testing the emulator out. I extracted the file bootra from the source code, and I took the miniroot file from the tape.

bsd42.bat

——8<------8<------8<------8<------8<------8<
C:\simh\vax780\work>bsd42
C:\simh\vax780\work>vax780.exe bsd42.ini
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994

VAX780 simulator V3.8-0
loading ra(0,0)boot
Boot
: ra(0,0)vmunix
199488+
4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
real mem = 8384512
avail mem = 7073792
using 102 buffers containing 835584 bytes of memory
mcr0 at tr1
mcr1 at tr2
uba0 at tr3
hk0 at uba0 csr 177440 vec 210, ipl 15
rk0 at hk0 slave 0
rk1 at hk0 slave 1
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
ra1 at uda0 slave 1
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
root on ra0
WARNING: should run interleaved swap with >= 2Mb
erase ^?, kill ^U, intr ^C
# sync
# sync
# sync
#
Simulation stopped, PC: 8000162E (BRB 80001620)
Goodbye
——8<------8<------8<------8<------8<------8< The entire source is in the ‘source’ directory with projects for all of the SIMH material.
There are a few emulators that *WILL NOT BUILD* for MS-DOS because of a lack of 64bit integers. I suppose if there is any call for the missing emulators with the DJGPP compiler, assuming that it contains 64bit integer support. It’s completely unverified on my part. I’ve also done some preliminary work on networking with packet network drivers, however I am experiencing some weird timeouts. It’s hard to track down at the moment, but I’ll keep plugging away.

I don’t think there is any reason why you would not be able to use OpenWATCOM to build these files.

Fun with Win32s!

Well I planned on doing an update, but I didn’t get around to it. I’ll post my fun thru dec alpha fun later.
In the meantime, I was combing ebay, and I saw a cheap copy of Watcom C++ version 11. Now back in college I had 10.0, and it was AWESOME! It does 16bit & 32bit development of OS/2 MS-DOS and even Windows… For some reason the guy who sold the Watcom 11 included some techsupport thing he had going on, and included a tidbit about their being a ‘Default-windows application [-bw]’ (it’s on page 7 of C compiler settings) and it’s like the old Borland C++ for windows, or QuickC for windows days… It’s too bad I never knew it was there, as it allows for easy text mode stuff to win32 enviroments like … Win32s.
Now Win32s was one of those funny things, in which some smart people noticed that for the most part the ‘core’ of Win32 was a superset of Win16, and all they needed to do was hook the program loader, load the win32 exe into a relocatable space, then thunk all the win32 calls into win16 calls allowing a bunch of win32 applications to run on Windows 3.1! This was somewhat popular as most peoples machines at the time were not powerfull enough to run Windows NT 3.1, or they simply wished not to. And Windows 95 was going to be nearly another 2 years away…
Anyways, I’ve always thought SIMH was cool in that it’s super portable, so spending 20 minutes clearing out the ‘win32 console’ specific stuff from the code, I was able to build up a version that not only runs on Win32s on Windows 3.1, but also supports the TCP/IP remote console.
Here is a screen shot of my Windows 3.1 running under Virtual PC, telnetted to itself running the simh microvax running VMS 4.7
A Win32s VAX!
Anyways it’s too little too late, but I think it’s still cool. The neat thing about this is since it’ll run on Win32s is that it’ll run on dammed near any emulator as it’ll conform to such a subset.. Or so I’m hoping. I imagine it should also run under OS/2 3.0’s win32s emulation as well… And yes I’ve tested it with Win32s 1.25a that’s before Microsoft ‘fixed’ it to break all the OS/2 users out there…

SimH 3.8 is out!

A new version of SIMH has been released!

You can check it out here. I’ve been on the road so no new compiles of it just yet, but I’ll do what I can.

At the moment I’m on an old computer that Visual C++ express 2008 is out of the question on running. A while ago there was the Microsoft Visual C++ Toolkit 2003, which has been nearly impossible to track down until I found its real name was VCToolkitSetup.exe

Using filewatcher, I managed to score a copy!

Check file watcher:

I’ve just downloaded it, so I have no idea how much other stuff I need to get to get it going, but I’m thinking a VC 2003 build of the exe’s along with HX DOS for the MS-DOS users ought to provide a good solution. HX DOS is awesome as it does what Pharlap TNT did back in the day, but it does more! And it’s free, no insane fee schedules like Pharlap TNT had… Frankly Pharlap slit their own throats by making their product so expensive. If it had been CHEAP/Free to developers, and cheap for distribution odds are nobody would be running windows…

Anyways for whatever reason, I get people downloading the MS-DOS builds of simh, and I figure this will make a good compromise as they can run the same build as everyone else. Looking at this refrence It should be possible to write a network driver using the old packet interface to have simh on MS-DOS live on the network… I’m not sure if I’ll actually do it, as I don’t know if people would want it… But then I’m still amazed that there are MS-DOS downloads from sourceforge… 22 of them, and I swear it’s not me!

Also I spotted this while it’s in Japanese I think it has some kind of guide and some simple examples of a ‘text mode’ windows program… It may be a good thing for some ancient windows/Windows CE simh stuff…

Just a thought at the moment, I can’t promise much.

Visual C++ 2005 project & exe’s for SIMH 3.7-3

I’ve uploaded onto the sourceforge site, 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.

Zork lives on the Altair!

Ok, I can’t sleep so I thought I’d rummage through the dungeon of Zork…

And what better platform to do so than the Altair?

First get your altairz80.exe, out of simh, or just build it yourself…

Then you’ll need a copy of CP/M! (http://www.schorn.ch/cpm/zip/cpm2.zip)

Finally a copy of Zork (http://www.retroarchive.org/cpm/games/zork123_80.zip)

unzip everything into a directory, then run the following

C:\altair>altairz80.exe cpm2

And with any luck you’ll be greeted with the following:

Altair 8800 (Z80) simulator V3.7-1
64K CP/M Version 2.2 (SIMH ALTAIR 8800, BIOS V1.25, 2 HD, 15-Jan-07)
A>

Just like MS-DOS right?. … Not quite. Anyways there is time to tour later, but for now there is dungeons to explore.

The Altair has two floppies (out of eight) and a 8mb hard disk!… So let’s go to the hard disk on I:

I:

changing drives is just like MS-DOS, letter, colon then hit enter. Ok now lets copy in the zork game from the native PC into the emulator. Hat’s off to Peter Schorn for this!

b:read zork1.com
b:read zork1.dat

If all goes well it’ll look like this:

A>I:
I>B:READ ZORK1.COM
READ V-2.21 (03-Dec-06) SIMH Interface V003

Read from “ZORK1.COM” and write to “ZORK1.COM”.
PTR: unit is read only8.5kB written.

I>B:READ ZORK1.DAT
READ V-2.21 (03-Dec-06) SIMH Interface V003

Read from “ZORK1.DAT” and write to “ZORK1.DAT”.
PTR: unit is read only83kB written.

Ok, now with that out of the way, lets enter the Dungeon!

I>zork1
ZORK I: The Great Underground Empire
Copyright (c) 1981, 1982, 1983 Infocom, Inc. All rightsreserved.
ZORK is a registered trademark of Infocom, Inc.
Revision 88 / Serial number 840726
West of House

You are standing in an open field west of a white house, with
a boarded front door.
There is a small mailbox here.

>open mailbox
Opening the small mailbox reveals a leaflet.

>take leaflet
Taken.

>read leaflet

“WELCOME TO ZORK!
ZORK is a game of adventure, danger, and low cunning. In it

you will explore some of the most amazing territory ever seen
by mortals. No computer should be without one!”

>

Ok, now we are playing one of the greatest games ever. Wikipedia has an awesome article on Zork ( http://en.wikipedia.org/wiki/Zork ) And along with ( http://infocom.elsewhere.org/gallery/zork1/zork1.html ) You can party like its 1982.

SIMH 3.71 released!

The ammount of systems that this package contains is simply amazing. It could probably take me a few months to properly review the whole thing, but to get started, I’m going to go with building from source code.

As it ships it’s really meant for UNIX type build enviroments with CLI tools. Now if you really want you can build it from the main site using MinGW (http://www.mingw.org/download.shtml).

I’ve built simh using Microsoft Visual C++ 2005 Express. You can download that here (http://msdn.microsoft.com/vstudio/express/visualc/default.aspx). You’ll also need to install the Platform and integrate it with VC++. Instructions on how to do that can be found here (http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/ ). If you are on Vista, be sure to install the service packs associated with the Express tools!

With that out of the way, simply download the project file from my site (http://sourceforge.net/projects/simh/files/simh%20source%20code/simh%203.7-3/simh-3.73-vc2005.zip/download), unzip it, and open simh-3.71.sln . I’ve included the runtime for WinPCAP, so this *should* build on your computer. Unless you want to really dive into the source, you can build the release target, and then build the entire solution. On my laptop this takes about 3-5 minutes. Remember that if you want to run your 2005 compiled EXE’s on another computer will need to install the associated runtime on that machine first.

You can download the Microsoft Visual C++ 2005 SP1 Redistributable Packagehere:http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=en

Once it’s completed, just open the release folder, and you’ll see all the emulated systems.

They are:

altair.exe
altairz80.exe
eclipse.exe
nova.exe
h316.exe
hp2100.exe
i1401.exe
i1620.exe
i7094.exe
ibm1130.exe
interdata16.exe
Interdata32.exe
pdp1.exe
pdp10-network.exe
pdp10.exe
pdp11-network.exe
pdp11.exe
pdp18b.exe
pdp8.exe
vax-network.exe
vax.exe vax780-network.exe
vax780.exe
s3.exe

With the -network part to signify that they are capable of networking. You will need to have WinPCAP 4.0 installed on your computer to take advantage of it, however the host computer is unable to communicate with the emulated computer.

WinPCAP can be downloaded here: (http://www.winpcap.org/install/default.htm)