Monday, September 26, 2016

Running SimH (Point 4 IRIS) on different Apple MAC Versions

Received from one of the gurus at SimH:

------------------------------

1)      Install the Max OS X compiler environment (XCode) from the App Store

2)      Start a terminal window

3)      Download and unzip the source (or use git to directly clone the repo)

4)      Build  a the nova or other simulator:

                   $ make nova
------------------------------
The source can be found here:
https://github.com/simh/simh

Use the green button on the right that says 'clone or download' to get the source.
It contains the make file and everything, so the above process should work.
If you have trouble, I would email Mark at: 

Mark Pizzolato <Mark@infocomm.com>

Hope that helps.

-----------------------------------------------------

The above instructions assumes you know how to start Terminal, and cd your way to the directory of the SimH files, which are in the simh-master folder, and then run the $ make nova

BUT, what if you're running an older version of Mac OS, like 10.6 or 10.5.8?  The most current XCode won't install, or run the right "make" command.



Dan Paymar wants to run Point 4 IRIS on SimH, but he says he's running an older Mac OS 10.6.  That's OK, because my test machine runs an even older Mac OS 10.5.8.  And I got it to run!

But one must modify the "standard" instructions, found further below from a "SimH Guru".  The trickiest thing was to find the older XCode and XCode versions at

https://guide.macports.org/chunked/installing.html#installing.xcode

Which say Xcode for OS X 10.5 is Xcode 3.0 and Xcode 3.1 Developer Tools

And then even trickier, navigating to those two downloads in the not-so-ordered list at:

https://developer.apple.com/download/more/

Then I had to figure out how to install stuff on a Mac, not really doing that kind of thing very often.  Well, I figured out that I just double clicked this thing here:




I've archived these crucial vintage Mac OS files for this build for my easier reference at:

https://drive.google.com/drive/folders/0B5nQ3LyTyYE7NURqZE94OXVXZms?usp=sharing

The Terminal output of the nova build on the Mac is below, underneath your instructions below,

SimH Launches on the Mac just fine, but will it run the Point 4 IRIS?  Well, now that's another story.  I like to use a SimH "batch file", with the .sim extension, passing that as a parameter to the nova executable.  like this.

nova mybatch.sim

You need to build a Mac-compiled nova executable/binary, or whatever they call those things on a Mac.

I created iris.command, which is a bash script, in which I had to specify the hard-coded path of nova and of the .sim file as a parameter in order to get it to work right.

#!/bin/bash
#this is a comment-the first line sets bash as the shell script
cd /Users/powermac/Desktop/SimH/Point4iris;
/Users/powermac/Desktop/SimH/Point4iris/nova mybatch.sim;

exit;

Do you know how I should make the bash script execute from the directory in which it is running?  just executing ./nova failed "no such file".

I think these 2 sites shed light on to how to make the bash script not have to have the directory hard-coded into it:

http://stackoverflow.com/questions/3349105/how-to-set-current-working-directory-to-the-directory-of-the-script


http://stackoverflow.com/questions/6393551/what-is-the-meaning-of-0-in-a-bash-script

The idea here is to create the .command file so that one does not have to edit the hard-coded paths within to match the path where they put the Point4iris directory/folder.  It will just run wherever it is.

And this works perfectly:


#!/bin/bash
#this is a comment-the first line sets bash as the shell script
cd "${0%/*}"
pwd
./novaMAC10_5 mybatch.sim;
exit;

Just name it

iris.command or irisMAC10_5.command 

and set execution permissions using Terminal if necessary using 

chmod +x iris.command or chmod +x irisMAC10_5.command 

OH, and after all of this, where might you get the source files to run Point 4 IRIS?  Well on NOVA-IRIS.NET of course...

---------------------------------------

And here is the Mac's Terminal output for the install:

powermacs-power-mac-g5:simh-master powermac$ make nova
-bash: make: command not found
powermacs-power-mac-g5:simh-master powermac$ make NOVA
-bash: make: command not found
powermacs-power-mac-g5:simh-master powermac$ make nova
lib paths are: /usr/lib /usr/X11/lib
include paths are:  /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include /usr/include
using libm: /usr/lib/libm.dylib
using libpthread: /usr/lib/libpthread.dylib /usr/include/pthread.h
using regex: /usr/include/regex.h
using libdl: /usr/lib/libdl.dylib /usr/include/dlfcn.h
using mman: /usr/include/sys/mman.h
***
*** nova Simulator being built with:
*** - compiler optimizations and no debugging support. GCC Version: 4.0.1.
***
*** git commit id is c1ca3d461297376eae23e32c182d36e8e966f685.
***
*** No SDL ttf support available.  BESM-6 video panel disabled.
***
mkdir -p BIN
gcc -std=gnu99 -U__STRICT_ANSI__  -O2 -finline-functions -fgcse-after-reload -DSIM_GIT_COMMIT_ID=c1ca3d461297376eae23e32c182d36e8e966f685 -DSIM_COMPILER="GCC Version: 4.0.1" -I . -D_GNU_SOURCE -DUSE_READER_THREAD -DSIM_ASYNCH_IO  -DHAVE_REGEX_H -DHAVE_DLOPEN=dylib -DHAVE_GLOB -DHAVE_SHM_OPEN  NOVA/nova_sys.c NOVA/nova_cpu.c NOVA/nova_dkp.c NOVA/nova_dsk.c NOVA/nova_lp.c NOVA/nova_mta.c NOVA/nova_plt.c NOVA/nova_pt.c NOVA/nova_clk.c NOVA/nova_tt.c NOVA/nova_tt1.c NOVA/nova_qty.c scp.c sim_console.c sim_fio.c sim_timer.c sim_sock.c sim_tmxr.c sim_ether.c sim_tape.c sim_disk.c sim_serial.c sim_video.c sim_imd.c sim_card.c -I NOVA -o BIN/nova -L/usr/X11/lib -lm -lpthread -ldl  
powermacs-power-mac-g5:simh-master powermac$ 
powermacs-power-mac-g5:simh-master powermac$ pwd
/Users/powermac/Desktop/SimH/simh-master
powermacs-power-mac-g5:simh-master powermac$ 

No comments:

Post a Comment