HP 3000, APL\3000, the HP 2641A APL Display Station, and stuff.
ED SHARPE
couryhouse at aol.com
Sun Jan 24 01:45:52 CST 2021
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, cctalk at classiccmp.org 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.
More information about the cctalk
mailing list