HP2641A APL Terminal


Gavin Scott
 

Hi all,

Having recently gotten HP's 1976 APL\3000 running under MPE V/R on David Bryan's HP 3000 simulator, I am now on a quest to resurrect the associated HP2641A APL Terminal that provided the exotic APL character set and also supported the entry of "overstruck" characters used in APL.

I have built a MAME emulator for it based on the exiting HP2645 driver by F.Ulivi, but unfortunately, it turns out that some of the 2641 ROM images available on Bitsavers did not actually come from a 2641 but were from a 2645. So we have the character sets, and one of the four APL personality ROMs, but three are missing.

So, while this is a super long-shot, I am looking for anyone who might have a lead on an actual HP2641A, or the appropriate parts therefrom.

Thanks,

Gavin


David Collins
 

Gavin what are the part numbers of the ROMs you are missing? It doesn’t look like the HP Computer Museum's collection includes a 2641A but I can always check for ROMs on spare boards that may have come from a 2641A.

David Collins

-----Original Message-----
From: VintHPcom@groups.io <VintHPcom@groups.io> On Behalf Of Gavin Scott via groups.io
Sent: Monday, 14 September 2020 10:16 AM
To: VintHPcom@groups.io
Subject: [VintHPcom] HP2641A APL Terminal

Hi all,

Having recently gotten HP's 1976 APL\3000 running under MPE V/R on David Bryan's HP 3000 simulator, I am now on a quest to resurrect the associated HP2641A APL Terminal that provided the exotic APL character set and also supported the entry of "overstruck" characters used in APL.

I have built a MAME emulator for it based on the exiting HP2645 driver by F.Ulivi, but unfortunately, it turns out that some of the 2641 ROM images available on Bitsavers did not actually come from a 2641 but were from a 2645. So we have the character sets, and one of the four APL personality ROMs, but three are missing.

So, while this is a super long-shot, I am looking for anyone who might have a lead on an actual HP2641A, or the appropriate parts therefrom.

Thanks,

Gavin


Gavin Scott
 

There are four ROMs specific to the HP2641A. The rest of its ROMs are common between the 41A and the HP2645A so we have those. The four are:

1818-0273
1818-0274
1818-0275
1818-0276 <- This one we have

The first three should be in location/addresses 8, 16, and 18 on the first Control Memory PCA among a total of (usually) 11 ROMs in the 12 sockets on the board. The fourth one is the only ROM chip installed on a second Control Memory PCA required in the 2641. We have that one because the boards that Al or whoever dumped thinking they were from a 2641 did include the second CTL MEM board from a real '41. Unfortunately, the first CTL MEM PCA appears to have been from a regular HP2645 so we didn't get the APL specific ROMS off it.

Thanks!

Gavin

On September 13, 2020 at 10:15 PM, "David Collins" <davidkcollins2@...> wrote:

Gavin what are the part numbers of the ROMs you are missing? It doesn’t look like the HP Computer Museum's collection includes a 2641A but I can always check for ROMs on spare boards that may have come from a 2641A.

David Collins

-----Original Message-----
From: VintHPcom@groups.io <VintHPcom@groups.io> On Behalf Of Gavin Scott via groups.io
Sent: Monday, 14 September 2020 10:16 AM
To: VintHPcom@groups.io
Subject: [VintHPcom] HP2641A APL Terminal

Hi all,

Having recently gotten HP's 1976 APL\3000 running under MPE V/R on David Bryan's HP 3000 simulator, I am now on a quest to resurrect the associated HP2641A APL Terminal that provided the exotic APL character set and also supported the entry of "overstruck" characters used in APL.

I have built a MAME emulator for it based on the exiting HP2645 driver by F.Ulivi, but unfortunately, it turns out that some of the 2641 ROM images available on Bitsavers did not actually come from a 2641 but were from a 2645. So we have the character sets, and one of the four APL personality ROMs, but three are missing.

So, while this is a super long-shot, I am looking for anyone who might have a lead on an actual HP2641A, or the appropriate parts therefrom.

Thanks,

Gavin








Kyle Owen
 

On Sun, Sep 13, 2020, 22:30 Gavin Scott via groups.io <gbs=me.com@groups.io> wrote:
There are four ROMs specific to the HP2641A. The rest of its ROMs are common between the 41A and the HP2645A so we have those. The four are:

1818-0273
1818-0274
1818-0275
1818-0276 <- This one we have

The first three should be in location/addresses 8, 16, and 18 on the first Control Memory PCA among a total of (usually) 11 ROMs in the 12 sockets on the board. The fourth one is the only ROM chip installed on a second Control Memory PCA required in the 2641. We have that one because the boards that Al or whoever dumped thinking they were from a 2641 did include the second CTL MEM board from a real '41. Unfortunately, the first CTL MEM PCA appears to have been from a regular HP2645 so we didn't get the APL specific ROMS off it.

I think I can help; I've got a 2641A and can probably dump the ROMs this week.

Thanks,

Kyle


Gavin Scott
 

Kyle, that would be AWESOME!!

Hope you get a chance to do it.

Gavin

On September 14, 2020 at 7:59 AM, "Kyle Owen" <kylevowen@...> wrote:

On Sun, Sep 13, 2020, 22:30 Gavin Scott via groups.io <gbs=me.com@groups.io> wrote:
There are four ROMs specific to the HP2641A. The rest of its ROMs are common between the 41A and the HP2645A so we have those. The four are:

1818-0273
1818-0274
1818-0275
1818-0276 <- This one we have

The first three should be in location/addresses 8, 16, and 18 on the first Control Memory PCA among a total of (usually) 11 ROMs in the 12 sockets on the board. The fourth one is the only ROM chip installed on a second Control Memory PCA required in the 2641. We have that one because the boards that Al or whoever dumped thinking they were from a 2641 did include the second CTL MEM board from a real '41. Unfortunately, the first CTL MEM PCA appears to have been from a regular HP2645 so we didn't get the APL specific ROMS off it.

I think I can help; I've got a 2641A and can probably dump the ROMs this week.

Thanks,

Kyle







 

Kyle, that would be totally awesome. Since Al Kossow had dumped the APL character ROMs we had that, but were missing the firmware that handles the overstrike - something easy to do on a TTY but not really on a glass terminal. If we can get that, it's just a matter of burning ROMs anew and you can turn a common 2645 into an uncommon 2641. Well, except for the keyboard. Would be great if you could take a picture of the keyboard while you are at it. For the curious, the beautifully weird APL normal and overstrike characters generated from the ROM dumps can be seen on my website (https://www.curiousmarc.com/computing/hp-264x-terminals).

Marc


Kyle Owen
 

I've uploaded some photos of the keyboard and ROM boards to the photo section. I think I have some older photos of the unit that I'll upload as well.

I've pulled both ROM cards, and am seeing what programmer I have that can natively dump the AM9216. The pinout is fortunately similar to the ubiquitous 2716, but the 9216 requires 12V, and a few of the pins are swapped around. 

Al, Marc, or others: what programmer was used to dump these in the past? Or was a generic programmer used with an interposer board to swap pins around and provide 12V?

Thanks,

Kyle


Mike Loewen
 

On Mon, 14 Sep 2020, Kyle Owen wrote:

I've pulled both ROM cards, and am seeing what programmer I have that can
natively dump the AM9216. The pinout is fortunately similar to the
ubiquitous 2716, but the 9216 requires 12V, and a few of the pins are
swapped around.

Al, Marc, or others: what programmer was used to dump these in the past? Or
was a generic programmer used with an interposer board to swap pins around
and provide 12V?
I made an adapter board to read them with a Data I/O 29B. I think I know where it is. :-)


Mike Loewen mloewen@...
Old Technology http://q7.neurotica.com/Oldtech/


Kyle Owen
 

On Mon, Sep 14, 2020 at 9:23 PM Mike Loewen <mloewen@...> wrote:
    I made an adapter board to read them with a Data I/O 29B. I think I know
where it is.  :-)

Well, mine is now in my programmer! :)

I dumped the 12 ROMs across the two control memory boards. The numbering wasn't sequential on the ROMs of interest, so I suspect there may have been an update or the like. Please refer to the pictures for ROM placement.

The programmer didn't complain after reading each ROM twice, but if for whatever reason something doesn't look right, let me know and I'll re-dump it.

Hope this helps!

Kyle


Gavin Scott
 

Spectacular! Thanks Kyle!

The ROMs generally look good. Interestingly, several of them have the same part# but are a different revision than the hp2645 ROMset I have. Others match in CRC32/SHA1 so that's a good sign the dump process was good.

I loaded them up in my hp2641 MAME emulator and... Screen full of garbage. Drat. Ok, so I was trying it with the full set of Kyle's ROMs, so let's try putting back the known working hp2645 ROMS with the exception of the three APL ones...

Holy crap, it kinda works... (Screenshot if the list will redistribute it)
hp2641a.png
It's not perfect, but we can switch in and out of APL mode successfully (it's definitely a 2641!), the base APL character set works correctly. Overstrikes don't seem to be working right. There are some handshaking or buffer-overrun issues that drop characters/lines when listing functions in APL in the editor. Not sure if this is more of a MAME serial port / bitbanger issue, but it can display some things fine. Still not bad for the first try.

More to come, but we now have a kinda working MAME HP2641A!

Thanks everyone!

Gavin

On September 15, 2020 at 1:30 AM, "Kyle Owen" <kylevowen@...> wrote:

On Mon, Sep 14, 2020 at 9:23 PM Mike Loewen <mloewen@...> wrote:
    I made an adapter board to read them with a Data I/O 29B. I think I know
where it is.  :-)

Well, mine is now in my programmer! :)

I dumped the 12 ROMs across the two control memory boards. The numbering wasn't sequential on the ROMs of interest, so I suspect there may have been an update or the like. Please refer to the pictures for ROM placement.

The programmer didn't complain after reading each ROM twice, but if for whatever reason something doesn't look right, let me know and I'll re-dump it.

Hope this helps!

Kyle




Gavin Scott
 

Well, it turns out that the MAME HP2641A emulation is actually working perfectly as far as I can tell. Everything in APL\3000 now functions as per expectations and the manual,

The flow-control / overrun issue is completely resolved (at least on my system) by changing the MAME Machine Config from 9600 baud to 4800 baud. Hey, it's still faster than the HP2640B I used in those days that only went up to 2400 baud.

If anyone wants to play with it, here's my turnkey HP 3000 setup with APL\3000 and bundled MAME terminal emulators. Requires Windows. Unzip wherever you like and see README.txt.

https://drive.google.com/file/d/1FhRp-hzKaCx0aZCJ3ZryZcfEd2P-HE_v

To change the terminal baud rate, while running one of the two terminal emulators (you'll have to do it separately for each one), hit SCROLL LOCK then TAB to get into the MAME menus, select Machine Configuration, and change all *three* 9600 values to 4800, then at the bottom of the menu select Reset, then close the emulator and re-launch it.


Kyle Owen
 

On Tue, Sep 15, 2020 at 10:39 PM Gavin Scott via groups.io <gbs=me.com@groups.io> wrote:
Well, it turns out that the MAME HP2641A emulation is actually working perfectly as far as I can tell. Everything in APL\3000 now functions as per expectations and the manual,

But is there still the issue that using all 12 of my ROMs together produces garbage? I'd be curious to learn more about what's going on there.

Kyle


Jack Rubin
 

I’m kind of surprised that, given the number of ROMs involved, he was able to get it to work at all. Can you generate compatible checksums?

 

From: VintHPcom@groups.io [mailto:VintHPcom@groups.io] On Behalf Of Kyle Owen
Sent: Wednesday, September 16, 2020 10:00 AM
To: VintHPcom@groups.io
Subject: Re: [VintHPcom] HP2641A APL Terminal

 

On Tue, Sep 15, 2020 at 10:39 PM Gavin Scott via groups.io <gbs=me.com@groups.io> wrote:

Well, it turns out that the MAME HP2641A emulation is actually working perfectly as far as I can tell. Everything in APL\3000 now functions as per expectations and the manual,

 

But is there still the issue that using all 12 of my ROMs together produces garbage? I'd be curious to learn more about what's going on there.

 

Kyle


--
Jack
www.computerarium.org


Gavin Scott
 

My first thought was to go through and try different combinations like say swapping out one ROM at a time to see what the behavior is. In general, where there were differences your ROMs appeared to be newer versions (I think) than what was available with F.Ulivi's hp2645.zip ROMs. I believe the first few bytes of the ROM indicate an update number as well as which address the ROM is supposed to be installed at, and the last few bytes have a 16-bit CRC residue and a one-byte checksum, all of which should be validated by the terminal self-test.

Another thought at first was that your '41 had a newer version of some component that required updated ROMs, but I have not encountered any mention of that anywhere. The one document that mentions version updates shows new part#s for the new versions, so the existence of different versions of the same part# was a surprise. Of course maybe there' still some chance that there was an issue with the dump process like one data line being stuck high or low, and comparing the -0512 ROMS side by side in hex I'm now more than a little suspicious of this as they line up perfectly except that bit 1 (bit 14:1 in HP left to right numbering) appears to be turned on in a suspiciously large number of bytes in your version. And the oh-what-a-giveaway is probably that what I think is the CRC-16 is the same in both ROMs but with bit 1 turned on in one of the bytes in yours.

So you might try re-dumping the suspicious ones, but I also strongly suspect that you can simply take the corresponding ones from the lib\roms\hp2645.zip file (or just take everything from the lib\roms\hp2641.zip file which is all the '45 ROMs plus your three APL-specific ones, plus the APL character set ROMs (plus the Line Drawing set)) and have the same thing you would get from a perfect dump of yours.

The ROMS that were different in your set compared to the hp2645.zip set (besides the 027x APL specific ones) were 1818-0512, -0287, -0120, and -0426.

If you installed my 3000 setup, then you can go into lib\roms and extract the contents of the zip files into new directories named hp2645 and hp2641 (and then get rid of the zip files) and you can play with juggling the individual ROM files around. MAME will whine about the checksums not being as expected, but it will still load. Some of the ROMs for I/O like the cartridge tape support are actually optional but you can't omit a ROM file as MAME will refuse to start so that would require changing the emulation code. Also interestingly, your set only had three of the four APL ROMs and used the standard '45 ROM instead of one of them, though the APL functionality still works fine.

Gavin


Kyle Owen
 

On Wed, Sep 16, 2020 at 10:45 AM Gavin Scott via groups.io <gbs=me.com@groups.io> wrote:
My first thought was to go through and try different combinations like say swapping out one ROM at a time to see what the behavior is. In general, where there were differences your ROMs appeared to be newer versions (I think) than what was available with F.Ulivi's hp2645.zip ROMs. I believe the first few bytes of the ROM indicate an update number as well as which address the ROM is supposed to be installed at, and the last few bytes have a 16-bit CRC residue and a one-byte checksum, all of which should be validated by the terminal self-test.

Good to know. I'll look into that! 

Another thought at first was that your '41 had a newer version of some component that required updated ROMs, but I have not encountered any mention of that anywhere. The one document that mentions version updates shows new part#s for the new versions, so the existence of different versions of the same part# was a surprise. Of course maybe there' still some chance that there was an issue with the dump process like one data line being stuck high or low, and comparing the -0512 ROMS side by side in hex I'm now more than a little suspicious of this as they line up perfectly except that bit 1 (bit 14:1 in HP left to right numbering) appears to be turned on in a suspiciously large number of bytes in your version. And the oh-what-a-giveaway is probably that what I think is the CRC-16 is the same in both ROMs but with bit 1 turned on in one of the bytes in yours.

Quite suspicious for sure! I'll check the connection on my adapter. I'll bet it's making intermittent contact, though I'm surprised it didn't crop up more, if that's in fact the case. 

Thanks again for the info!

Kyle


 

I have the same experience with the real HP 2645. Running at 9600 bauds is pushing it. It’s mostly fine when you do nothing else than pushing small amount of text back and forth. But when trying to do more, like write on tapes or send large amount of text it droos stuff. That seems to be a very faithful emulation!

Marc


Steve Leibson
 

I vaguely recall using the RTS/CTS handshake pair when working with the 2600 terminals to control the data flow at 9600 baud while I was developing the HP 98036A serial interface and the System Programming ROM. Perhaps this is a false memory from nearly half a century ago. Does anyone know if the HP 2641/45 can use this handshake pair? It would prevent the data overflows you're seeing.

--Steve



On 9/16/2020 10:52 AM, CuriousMarc wrote:

I have the same experience with the real HP 2645. Running at 9600 bauds is pushing it. It’s mostly fine when you do nothing else than pushing small amount of text back and forth. But when trying to do more, like write on tapes or send large amount of text it droos stuff. That seems to be a very faithful emulation!

Marc

-- 
Steve Leibson

Phone (Cell): 408-910-5992
Phone (Home): 408-292-4930


Please feel free to link to me on LinkedIn


History site: www.hp9825.com

#Iwork4Intel


Gavin Scott
 

The standard flow control for these terminals talking to an HP 3000 as TERM TYPE 10 is a periodic in-band ENQ character sent from the 3000 to the terminal to which the terminal responds with an ACK character when it gets around to it.

It turns out that David Bryan's 3000 simulator's implementation of its ATC serial ports defaults to satisfying the ENQ/ACK handshake locally in the simulation which allows you to telnet into the virtualized serial ports from a non-HP terminal without having it hang all the time waiting for ACKs. So that's likely what's happening here and there's an option to change it to actually send the ENQs to the terminal which ought to clear up the problem, I just haven't actually tested it yet as I've been playing with it at a slower baud rate just for the nostalgia :)

I don't know for sure if you can actually get a 264x terminal to do RTS/CTS, though I went through the terminal straps on the 2641 yesterday looking for something like that without finding anything, and I don't recall ever doing it that way in the past.


 

Steve
The HP 2645 with the Extended Async Comm serial interface card can be configured to do RTS/CTS via a dip switch. I suppose the older card (non "extended") can do it too, but for the life of me I have not found the manual to confirm.
Marc


 

Gavin,
Awesome! How does one enter and exit the APL mode on a 2641?
Marc