Home » Compiling ORIC Code under Windows XP

Compiling ORIC Code under Windows XP

The ORIC accelerator modeling code will not work in its current form on any OS newer than Windows XP.  You can find notes on how to install Windows XP on VirtualBox or other VM here.

I started with the ORIC directory tree here, which I got from Jim Ball on a CD.  You can find a slightly modified version here, which has the minor changes that I describe below (see AAAReadme.txt file)

I installed the MS Fortran 5.1 compiler from here.  It comes as a .7z file, which 7-zip unpacks to 6 floppy images. Use 7-zip again to unpack each of these and tell it to unpack to “\disk1” through “\disk6”.  Go into \disk1 and run “setup.exe”.  I used all the defaults except where there was a “*” item available.  The most important thing is to NOT install “C” support, as this will cause a lot of link errors.  It’s smart enough to find the other disk directories without prompting, so installation goes really fast.  The final step is to “build the shared libraries”, then CTRL-C out.  You then need to add the following lines to AUTOEXEC.BAT or a separate .BAT file  (they are in the FORTRAN-SETUP.BAT file in the modified version of the source, linked about)

SET PATH=C:\FORTRAN\BIN;C:\FORTRAN\BINB;C:\WINDOWS\;C:\WINDOWS\COMMAND
SET LIB=C:\FORTRAN\LIB\
SET INCLUDE=C:\FORTRAN\INCLUDE\
SET HELPFILES=C:\FORTRAN\HELP\*.HLP
SET INIT=C:\FORTRAN\INIT\
SET TMP=c:\windows\TEMP

One time when I installed FORTRAN, it created a file called NEW-VARS.BAT with these definitions, but I was never able to reproduce that.

All the source code is in the “5.Source Codes” directory, with a separate subdirectory for each routine.  You should compile the code in JBACCEL first, because that has the ACCLIB.for program that everything else links to.

I found that when I ran Jim’s batch file, it crashed looking for a file called “FL.DEF”.  I made this go away by getting rid of the /Mw compiler flag.  This is the “Windows support” option.  As far as I can tell, the only difference it makes is that with the flag, the programs pop window to run, while without it, they just run in the DOS window.  I think it ultimately has to do with the fact that according to the documentation, this code was actually compiled with FORTRAN 6.1 rather than 5.1, but since we don’t really care, I didn’t spend any time tracking it down.  The UCD version of the code has this flag removed.

The compilation generates a lot of errors having to do with inconsistent types in calls to subroutines, but it still generates an executable.  I was able to compile all the FORTRAN code in the subdirectories.

To run the original Visual Basic programs, you need to download Visual Studio 6 from here. It will ask for a product code, but believe it or not 111-1111111 works. This will give you .ISO image, which you can unpack with 7-ZIP. Installation is a little tricky.  You have to:

  • Run the SETUP.EXE file in the unpacked disk.  Follow it up until the point it re-boots Windows
  • After the reboot, if you try to run SETUP again, it will give you a “not enough memory” error, so instead run the file AMCBOOT.EXE.  This will complete the installation.

Once you do all this, you can copy all the executables to the “\1.ORIC Orbit Calculations” and run the programs JBISOC.EXE, JBEQORB.EXE, JBACCEL.EXE, and JBPLOT.EXE.  I started with one of the example .CAR files by copying it to TSISOC.CAR.  I found that for some of the programs, if for any reason they don’t finish, they leave some files behind that will cause a run time error the next time you run them, so if this happens, be sure to delete any files they created.

There are tools to convert the Visual Basic stuff to more modern formats, but they come out badly broken.  I think we’ll have to rewrite them in Python.