[Simh] Porting simh for IBM VM/CMS

rubhone at aol.com rubhone at aol.com
Tue Aug 4 06:46:36 EDT 2015


I'm pleased that my efforts have inspired others to produce code to improve
portability of simh.


My base hardware for this project runs Ubuntu on a AMD Athlon system,
maybe 3-4 years old.  The surmised legacy environment is
provided by Hercules emulator on Ubuntu; this runs the VM/370 "Six-Pack"
v1.2 by Robert O'Hara.


Out of time for tonight, but will be back with more details and some answers
to "Why???".


Thanks for the help so far.
Fritz



-----Original Message-----
From: Mark Pizzolato - Info Comm <Mark at infocomm.com>
To: Dave G4UGM <dave.g4ugm at gmail.com>; rubhone <rubhone at aol.com>
Cc: simh <simh at trailing-edge.com>
Sent: Mon, Aug 3, 2015 2:36 pm
Subject: RE: [Simh] Porting simh for IBM VM/CMS


On Saturday, August 1, 2015 at 11:29AM Dave G4UGM wrote:
> On Saturday, August
1, 2015 at 10:32AM Fritz wrote:
> >Perhaps this original code struck you as
nasty because it is really a hidden OS dependency,
> >is it not?  Or are
character set arrangements not included in that realm?

> Well it’s a
character set dependency and a really neat piece of optimization. 
> However
its hiding something in a bit field, a trick which in High Level languages has

> always caused me problems in the past.
> I think it would be more portable
to have the Alphabet as a string 
> “ABCDEFGHIJKLMNOPQRSTUVWXYZ” and then
search through it for the wanted 
> character, but of course much
slower…

That is a good suggestion, AND since code paths which use the SWMASK
macro are not performance sensitive speed really isn't a concern.

The simh
code at https://github.com/simh/simh has been changed to implement the SWMASK
macro with code which does this as Dave suggested.

The simh source code now
doesn't have a ASCII character set dependency, however, many/most of the systems
that have simh simulators expect ASCII characters as input and output.  Mapping
from host platform character set into the ASCII simulated character set will
also be required as you move forward...

> >Thinking about related matters, do
I need to be concerned that the IBM systems are
> >big endian?  It appears that
simh takes this into account with the sim_finit routine in sim_fio.c,
> >but
there could be other places with data coding assumptions not fitting the /370
architecture.
>
> It possible, but its probably easier to try and test, rather
than to find.

The simh codebase works fine on big endian systems.

> >For
the moment, I hacked the "attach" <dev>" code to avoid a rb+ file open attempt
since
> >the CMS implementation of the stdio package does not support
simultaneous r/w file access.
> >This will surely prove to be another big
problem, but for now the attach is successful for an
> >existing file.
>
>
You didn’t say which IBM platform you were running this on, and which “C”
compiler….

A C runtime environment which supports open mode "rb+" is
definitely a requirement.  

I have no familiarity with VM/CMS, but the name
(and the issues Fritz previously mentioned) suggest to me that this is a legacy
environment.  Porting simh to run on legacy environments is generally out of
scope with respect to the project goals.  The general simh goals are to provide
ways of simulating legacy environments or systems on modern systems.

- Mark

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20150804/eeb3a347/attachment.html>


More information about the Simh mailing list