Mark, for both the S/370 and S/3 "emulation" we found the opcode jump
tables for the 5100/5110 (I don't think I posted those anywhere, but
mentioned in the VCF 5100 talk).  While each opcode 00-FF has an entry, as
you say many of them jump to effectively a halt or invalid instruction
placeholder (or in other words, only about 80% of the opcodes actually
being supported).

In the 5110, both the BASIC and APL "ROMs" increase in size, and so it also
has a larger subset of instruction jump table entries that are implemented.


On Fri, May 9, 2025 at 10:13 AM mark.s.waterbury--- via cctalk <
[email protected]> wrote:

> APL on the 5100/5110/5120 was based on the IBM mainframe APL/SV,
> (follow-on to APL\360), with several added features.  The "360 emulator"
> was not a full emulator of 360/370, but only emulated exactly those
> instructions needed by the APL interpreter (that was written in 360/370
> assembler language).
>
> Similarly, the System/3 emulator that was developed for the 5100/5110/5120
> BASIC implemented only those instructions that were needed by the S/3 BASIC
> software.  System/3 was a machine with limited amounts of real CORE memory,
> so developers recognized early on that they needed to implement a kind of a
> "virtual machine" for BASIC, and that was coded in S/3 assembler language.
> This layer also provided the "virtual" memory for BASIC use, done via
> "software paging" on a machine (S/3) that had no hardware for virtual
> memory, relocation, etc.
>
> See also:
>     https://www.glennsmuseum.com/items/s3m6/
>
> Glenn Henry was instrumental in the development of the S/3 Model 6 BASIC,
> and later led the effort to create the IBM System/38.  He was eventually
> promoted to become an IBM Fellow.  The design of the virtual instruction
> set used for S/3 BASIC was used to create the "scientific instructions" for
> the S/32, S/34 and S/36 that was used by BASIC and FORTRAN on those systems.
>
> Mark S Waterbury
>

Reply via email to