This package contains a bootable SimH HP2100 7906 disk image
containing a HP-IPL/OS-based disk menu and several old-comp and
old-comp-style programs to run. The disk image can also be
directly copied to an IDE disk, connected to a HP2113E or
compatible CPU using an 8052-based interface, and booted without
change other than reconfiguring the software/hardware to use the
same device slots.
Here's the main menu... (in Xterm running under Ubuntu)
An antique chess game written in ALGOL/assembly...
The Sea Battle program...
A pair of Treks...
HPBASIC doing color... (a new hack for a 40 year old interpreter)
The operating system can run just about any "absolute" HP21xx
minicomputer application that restricts itself to 31KW or less,
including suitably prepared BCS apps such as the chess program. An
enhanced version of HPBASIC and the vintage assembler and
compilers are included on the disk image for restoring old code
and writing new code using the old development tools.
3/9/21 - While
on my mind and messing with stuff, added a few more BASIC games to
the disk image... OTHPT2 is an older (non-ANSI) version of my
Reversi program with one level of look-ahead (minor mod from OTHPT
to add a random seed prompt so it wouldn't play the same game
every time), HAMERABI is an old classic, FTBLOV is a conversion of
the old FTBL football program using the overlay hack's CALL(7,x)
and CALL(8,x) to implement string input and output (still didn't
get backspace exactly right but works well enough for this), and
PTSTRK is a papertape basic conversion of an old Altair Trek
3/7/21 - switched to using PuTTY
for the Windows Telnet scripts, lots easier than trying to make
3/6/21 - Fixed it! there was a bug in the 7906.ipl driver -
the STC 6,C instruction that starts a DMA transfer was missing the
,C part... in the driver changed 102706 to 103706 in both the boot
build and the SFS utility build, now it works with the latest
hp2100 simulator as well as old versions. The patch is simple
enough to apply to existing installs based on the previous 7906
disk sim, after booting and exiting to HP-IPL/OS, enter 33032 GET
PNUM and if it says 102706 then enter 33032 103706 PUT then do
33032 GET PNUM again and make sure it now says 103706. If so DGEN
to update the boot system. The SFS utility build is also affected,
to update it, after running SFS UTILITY do the same patch then
enter "@ SFS UTILITY" XDEL "@ SFS UTILITY" XSAVE to update it. No
other changes were made to the disk image other than bumping the
versions to 1.66 and adding a note at the end of the DISK NOTES
file. The hpiplos_main_testing.zip
archive has been updated with the new version and also modified
the build scripts and MKBCS utility to
be compatible with the latest hp2100 simulator. I haven't fully
tested MKBCS yet but it appears to be doing the right thing now,
doesn't affect the 7906 disk simulation so if I find an issue with
it I'll fix it in the archive.
2/28/21 - The 7906 Disk Simulation is Not Working with the new
hp2100 simulator from the SimH HP Simulator
page... it boots but the binaries don't run, they crash when run
using the menu or manually loaded with XLOAD with almost random
effects. Works fine with my old modified hp2100
binaries and works with an older beta version of the github version 4 branch but it
does not work with the current "Release 29" version from there or
the current "Release 30" version. [... fixed, was a typo that
happened to still work with old simulator versions, so added my
old hp2100 binaries to keep it working]
6/12/11 - Updated the simulation to use a modified HPBASIC rather than MSUBASIC, the updated BASIC permits using a regular backspace to correct mistakes rather than the old "rubout" character ("_"), and has an overlay added to provide calls for peek/poke, character I/O and other features. Dropped menu programs HAMURABI, MANDPLOT, 31-ODD, 1DCA, and ECAL. Replaced OTH with OTHOV, REVERSIX with REVRSI, BEASI with BEASIOV and SFS/EDIT with SFS UTILITY. Added menu programs SEA BATTLE and OREGON. Chess and REVRSI source code now menu entries for reading. Removed some of the optional IPL files, added vintage assembler, FORTRAN, ALGOL and BCS linker with words to run them in the SFS utility build. BCS was built with an experimental modified TTY driver that eliminates having to switch to CRLF enters or press control-M control-J to enter lines. Manually hacked the boot build to alter a text message about that, and changed the BASIC re-enter vector to 2027 to properly display READY, incremented the boot system version to 1.61 (not really a new version yet, next real version should be 1.64). This new version of the simulation focuses less on HP-IPL/OS and removes dubious IPL's like the "printer" driver and SFS library stuff, and instead focuses more on vintage and vintage-style applications made using minorly adapted versions of the original HP21xx software. Everything that was removed can be added back by importing files from the HP-IPL/OS archive, nothing is lost just makes room for including better and more interesting apps.
This is a fairly drastic change so keeping the previous MSUBASIC-based version around
in the 7906sim_101002.zip
archive, at least for now.
These links are pretty outdated, but may still contain useful
binpatch.txt (3/25/08) - How to patch
binaries using HP-IPL/OS
simextra.txt (4/18/08) - Additional "technical" notes
update151p.txt (8/12/08) - How to update an existing sim (covers an older version)
10/2/10 - Updated the simulation to version 1.60 with dictionary
overflow protection and an ERASE word that erases the last package
loaded, both are very useful when making new builds. The boot
system includes an updated menu that fixes a bug that kept menu
option Z from being used, this version permits 6 more entries past
Z using ascii characters ("[" through "`") and can save HPBASIC as
well as MSU BASIC programs. Added TTY TREK and MANDPLOT programs
(MSU BASIC), updated DM2.IPL, added SIOBCS.IPL, updated SUMMARY
and NOTES. The readme.txt file was updated to include
KDE4-compatible bash running scripts (I hope:-), updated the
scripts in mkdisk.zip to be compatible with the "testing" archive
upon which this update is based upon.
3/16/09 - The previous printer driver worked under simulation but
not with real hardware. Updated PRINT.IPL and SUMMARY to fix (file
dates 3/15/09). The new printer driver renames the words, MSPRN
etc is now MSLPT to match other LPT references in CONFIG etc, and
adds stand-alone print words so things can be printed directly
without involving MS redirection. The printer driver is of limited
use under simulation but +PE function is handy for logging all
console I/O to a file.
12/4/08 - Added a throttle setting to the sim script so it
won't load the CPU to 100%, presently set to 80% which on my
systems actually uses about 66% of the CPU. Reduce for very fast
machines or laptops but if set too slow can interfere with pasting
code into MSU BASIC. No changes to the simulation disk itself,
added this line because some (in my opinion broken) machines
cannot sustain 100% CPU usage without problems.
9/14/08 - Updated EDIT.IPL to a new
version that uses machine code (faster), updated SUMMARY to
match. Added information about running on real hardware to the
9/1/08 - Replaced the lib2.ipl and a2l.ipl library packages with
the new sfslib.ipl
library system, updated SUMMARY and NOTES to describe.
8/20/08 - Updated the sim's boot system and DM2.IPL
source for the menu (8/19/08, now 1.52A). The new menu fixes the
import text from PTR function so that it properly skips the
leader, not really an issue under sim but this is for real
hardware too and some PTR emulators require a leader of zeroes.
Dropped an empty string if just enter pressed at the save binary
file name prompt. Now displays the HP-IPL/OS version string in the
title rather than a generic title. Better handling of invalid
keypresses at the main menu by backing up and reprinting the
prompt. PC keyboards still cause inadvertent running if cursor
keys etc pressed due to capitol letters in the escape sequence but
would take too much code to ignore that, just don't do it. The
load ABS function now has a way out if inadvertently selected
(without having to halt and restart). DM2.IPL no longer requires
(but still uses) MSUPATCH to reduce requirements when using for
other apps. Added a conversion of the classic LANDER game, updated
NOTES and SUMMARY docs.
8/12/08 - Updated the sim's boot system and DM2.IPL source for
the menu (8/11/08, now 1.51P). While playing with it on my HP2113E
I used the Load ABS from PTR option to copy over the another
build, then saved it to disk using the Save binary option, got
7Filename: for the prompt... oops... moved a CRLF.
8/10/08 - Updated the sim's SFS/EDIT build and associated files
with the latest version of SFS from HP-IPL/OS v1.52 (previous
version could destroy a directory if the required buffer memory
wasn't present, now the DIRECTORY word does a memory test). Added
A2L.IPL to use with the SFS library system (in LIB2.IPL) to permit
using the editor to craft multi-word library applications. Added
instructions to the NOTES file for creating and using a SFS
library system to provide quick access to utilities without having
to inflate the dictionary or disturbing alternate memory during
the loading process. Also added CONALT.IPL and BKFILE.IPL for
dumping and restoring files to and from the console as encoded
text. These are mainly for me so I can back up files from my
HP2113E which doesn't have a PTP connection. No changes to the
boot system or other included software.
4/18/08 - Added MSU BASIC binaries containing GOLF, BEASTI and
GOMOKU. Edited simextra.txt linked above to clarify how the SFS
disk layout derives a file's location, added more technical docs
to the sim's NOTES file.
4/11/08 - Cleaned out and condensed this section... no need for
all the editor update notes, the boot system was barely touched
and the editor problems probably wouldn't have been noticed except
for pushing it hard in the preperation of the IPL and NOTES files
included with the sim (that's a good thing, bugs got found and
fixed). Technical notes are now in a separate text file.
4/7/08 - Imported the new FED.IPL "standard" editor for the FED
on the menu, and AEDIT.IPL for the "experimental" version that's
in the SFS/EDIT build, now version 1.51L and all appears well.
With any luck there are no more bugs to fix and the next update
can be to actually add additional content. Or at least sneak in
fixes along with new content... I'm ready to get back to BASIC.
3/27/08 to 4/6/08 - [condensed] various fixes to the editor and
SFS/EDIT build, took a few tries.
3/27/08 - [condensed] Renamed +IRQ to !IRQ to enable interrupts
in the boot system, now version 1.51F. Interrupts are not
necessary here but can cause problems if used as a base to make
other builds. In particular SFS requires that interrupts be
enabled (even if only briefly then disabled) or file writes fail.
3/22/08 - [condensed] Updated the menu program (DM2.IPL) to avoid
renaming files to no name if just enter pressed at the new name
prompt, now it does nothing in that situation. Boot system is now
version 1.51E. Here's the bootup menu from the original 3/15/08
The new menu is fancier than the original dmenu.ipl version [in
the HP-IPL/OS archive]...
...but it's much more bloated and specific to MSU BASIC. No plans
to replace the simpler menu in the main archive which directly
supports saving HP paper-tape BASIC programs with an extra trick -
can patch them to automatically run the embedded program. But I
don't mind entering RUN. The most useful aspect of the new menu
(and the cause of most of the bloat) is the inclusion of common
operations - renaming, deleting, punching and loading ABS binaries
and a submenu for importing and exporting files. The menu's text
import function does not require knowing the byte-size of the file
(unlike the stock MS2F command), instead it just stops when the
first zero byte of the trailer is detected, which later versions
of the HP2100 simulator automatically add by default. Of course
this limits it to text but I'll take it, beats having to do ! ls
-la file.ipl (! dir file.ipl for Windows) then after attaching the
file doing DECIMAL [bytes] OCTAL "FILE" MS2F. Now it's just press
a key, press Y to halt, attach ptr file, c, c, done. By the way...
to avoid creating a 0-byte file if the file doesn't exist, attach
-e ptr file instead of just attach ptr file.
Page created 3/22/08, last modified 6/12/11, 2/27/21
Terry Newton (email@example.com)