Gavin!  you are to be commended  for  this  project! Will put  on  file  at  
smecc museum and at some  point  set up  a instance of it running  on a  system 
here. Oddly  we  have a laptop that  works in apl and  saves  data  to a 
dictation  type  mini cassette  type  of  storage media! side issue   drop me  
Dave Elward's email or  have  him  contact me.  thanks  ed# In a message dated 
9/27/2020 2:22:07 PM US Mountain Standard Time, [email protected] writes: 
As some people here are aware, I have spent probably too much time this 
summerhacking on J. David Bryan's excellent Classic HP 3000 simulator and 
trying tobuild up the ultimate classic 1980s HP 3000 system (virtually 
speaking). I started with the MPE V/R KIT that's widely available and expanded 
that into a5x120MB HP 7925 disc system and configured things like the system 
directorysize and all the system tables to make a fully functional multi-user 
server. I then set about collecting as much old MPE software as I could find, 
whichincluded Keven Miller's collection of the old Contributed Software Library 
tapeswhich were conveniently available in SIMH format. This is a huge trove of 
coolstuff including most of the classic mini/mainframe games (Dungeon, 
Warp,Advent, etc., etc.) and even a little game called DRAGONS that was written 
in1980 by a guy named Bruce Nesmith when he was in college and he used itto get 
a job at TSR and went on to write parts of many classic D&D productsand 
eventually landed at Bethesda where among other things he was thelead designer 
for another little game called The Elder Scrolls V: Skyrim. I wasable to track 
Bruce down and give him a copy of the system with his 40 yearold game running 
on it. The CSL tapes also include other amazing goodiesthat people developed 
and gave away over the years, including a FORTH andLISP, as well as most of the 
system and utility programs that people used torun their 3000 shops. It's quite 
fun to explore. I was curious how far we could push the 3000 simulator, so I 
hacked allthe memory bank registers to be six bits instead of four bits, and 
wenow have a simulated HP 3000 Series III that supports 8MB of memory, 4xmore 
than any physical system ever did. I started trying to do the same thingfor 
giant disc drives, but MPE turned out to have too much knowledge ofwhat the 
supported disc models look like to make it practical. Bummer. Since I met my 
first HP 3000 in 1980 (40 years ago this month), people wouldtalk about what 
was probably the most rare and exotic HP software subsystemever produced, 
APL\3000. APL on the 3000 was a project started at HP Labsin Palo Alto in the 
early 1970s. They were likely motivated by the success IBMwas having with 
mainframe APL timesharing services. This would be the firstfull APL 
implementation on a "small" (non-mainframe) computer. It would be thefirst APL 
with a compiler (and a byte-code virtual machine to execute thecompiled code), 
it would include an additional new language APLGOL (APLwith ALGOL like 
structured control statements), and it managed to supportAPL workspaces of 
unlimited size through a clever set of system CPUmicrocode extensions that 
provided a flat 32-bit addressing capability (ona 16-bit machine where every 
other language was limited to a 64KB datasegment). Because APL required these 
extra special CPU instructions that you got asa set of ROM chips when you 
bought the $15,000 APL\3000, and becauseAPL ultimately failed as a product 
(another story in itself) and thus HP neverimplemented these instructions on 
their later HP 3000 models, I never sawit run on a real HP 3000, but over the 
years we talked about wouldn't it becool to find a way to get APL running 
again. With assistance and moral support from Stan Sieler and Frank 
McConnelland others, I was ultimately able to reverse-engineer the behavior of 
theundocumented ten magic APL CPU instructions needed to get it to run 
andimplement them as part of the MPE unimplemented instruction trap and 
nowAPL\3000 runs again for the first time in ~35 years. Somewhat ironically, 
thisimplementation method could have been used back in 1980 as I didn'tactually 
end up changing the hardware simulation code at all, and it shouldalso run (if 
a bit slowly) on any physical classic architecture 3000. So that was cool and 
all, but what is APL without all the weird overstruckcharacters and whatnot? 
APL\3000 supports the use of plain ASCII terminalsthrough blecherous trigraphs 
like "QD for the APL quad character, but thisis hardly satisfying. So the quest 
was on to find a solution. Back in 1976 whenAPL\3000 was released, there was a 
companion HP terminal in the 264x line,the HP 2641A APL Display Station, which 
was basically an HP 2645A withspecial firmware and APL character set ROMs that 
supported all the APLspecial characters as well as overstrikes (the terminal 
would take X<backspace>Yand lookup to see if it had a character to represent Y 
overstriking X and ifso it would show that on the display, and if that got 
transmitted to the host itwould convert it back into the original three 
character overstriking sequence). I briefly looked into the idea of hacking 
QCTerm or Putty or something, butthen I found out from Curious Chris that an HP 
2645A emulator already existedin the MAME emulator system! Since the '41 is 
basically just a '45 with modifiedfirmware, and Bitsavers had both the 
character set ROMs as well as thefirmware ROMs from a '41, this sounded like it 
might be easy! There was a snaghowever in that the firmware ROM images that 
were allegedly from a '41 turnedout to actually be from an ordinary '45. But we 
did have the character sets andone of the ROMs from the second CTL PCA. I put 
out a call on the Vintage HPlist to see if anyone might possibly have a lead on 
an actual HP 2641A, andKyle Owen responded that not only did he have one he 
could also dump theROMs for us. So a few days and a few hacks to F. Ulivi's 
MAME hp2645 driverlater we now have a functioning MAME HP 2641A terminal 
emulation, so youcan experience APL\3000 in all its original glory. I bundled 
up a somewhatstripped down MAME along with my turnkey 3000 setup so both 
emulated HPterminals are just a couple clicks away. So that's how I spent my 
summer vacation (who am I kidding, it's pretty much allvacation these days). It 
has been a lot of fun revisiting all this old3000 stuff aswell as the numerous 
people I talked to along the way including some of thosewho were around at 
APL\3000's birth (before my time). It was rather a lot ofwork so I'd like to 
feel it might be useful to someone in the futurewho is digginginto this part of 
history. Because of all the usual reasons, I don'tplan on hostingit permanently 
until and unless we maybe someday get the licensing worked out(the 50th 
anniversary of the HP 3000 will be in a couple years so maybe peoplewill get 
interested again then) but I will offer it up here to myfellow computerhistory 
nuts if you want to help ensure that it doesn't vanish if Iget run over by abus 
or something :) This is a simulated HP 3000 Series III (circa 1980) running MPE 
V/R (circa 1986)with 8MB of memory, all the language subsystems (APL, BASIC, 
BASICOMP, RPG,FORTRAN (66), SPL, PASCAL, COBOL (68), COBOL II (74)), 20 years 
of users groupcontributed software, many classic historical computer games, 
etc. Softwarearchaeologists can get lost in here for years. Oh, and thanks to 
DaveElward, theHP 2000 Timesharing BASIC contributed library is even included 
(kinda sortaconverted to MPE BASIC) for good measure. This is a streamlined 
turnkey editionthat's ready to run out of the box with no assembly required 
(allbatteries are included).Currently, I only provide executables for Windows 
(sorry) but am inthe process ofgetting the 3000 simulator changes (for large 
memory support) and the new MAMEhp2641 driver back upstream. Instructions and 
further details can befound in theREADME.txt hint book for this adventure. 94MB 
Google Drive link: 
https://drive.google.com/file/d/1bmXvHkBLbUeLAid73EJ4H1yQ2uwXQuRu Gavin P.S. 
I'm giving a talk on the history of APL\3000 and its resurrectionto the ACM 
APLBUGgroup in a couple weeks. If anyone is interested I can provide 
moredetails when I havethem.

Reply via email to