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 >
