Post Reply 
HP82143 Processor details
11-11-2023, 01:50 AM
Post: #25
RE: HP82143 Processor details
(11-10-2023 10:53 PM)brouhaha Wrote:  I've started reverse-engineering the firmware. I've put what I've got so far into a git repository. Thus far I've figured out a little bit of the RAM usage, a little bit of the timer interrupt state machine, and a little of the communication to the NPIC chip.

There are some mysterious things in the code that may relate to a factory test mode using MK3870 GPIO pins that are not connected on the PCB. In particular, P01 (pin 4), P16 (pin 24), and P57 (pin 26) are read as inputs, and P01 is also written as an output.

There are a whopping TWO WHOLE BYTES of unused ROM, very slightly contradicting the claim in the HP Journal that "The microprocessor requirements of the 82143A printer use ALL of the 3870's capabilities." [emphasis added]
:-)

It will be interesting at some point in the future to compare the code to that of the 82162A HP-IL printer. The 82162A also uses an MK3870 series part, but I think it may be an MK3872'32 or MK3872/42, which have 3K or 4K of ROM, and an additional 64 bytes of RAM. Certainly the original MK3870 and the other variants without the added 64 bytes of RAM don't have enough RAM for the 82162A's 101-byte buffer. The extra RAM in the /x2 parts is accessed differently than the 64 bytes of scratchpad RAM in all MK3870 family parts, so the code to put characters into the buffer and get them back out must be more complicated than that of the 82143A.

Excellent work. It looks like the dump was a good one, then.
Have you looked at Ghidra? It is a reverse engineering tool that can be extended to handle unsupported processors for disassembly and decompilation, fairly easily. I extended it for the 6303 processor and it was relatively painless. Although with 2K to reverse engineer it's maybe not needed.

As it looks like there's at least one more M3870 family ROM to extract in the future do you think it's worth updating the PCB with the level shifters that I needed to get the original circuit to work? At the moment anyone wanting to make a dumper would have to put those extra transistors on as a bodge.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
HP82143 Processor details - blackjetrock - 06-02-2023, 09:29 AM
RE: HP82143 Processor details - brouhaha - 06-02-2023, 09:38 PM
RE: HP82143 Processor details - cruff - 06-03-2023, 01:31 AM
RE: HP82143 Processor details - brouhaha - 06-03-2023, 05:57 PM
RE: HP82143 Processor details - brouhaha - 06-03-2023, 11:07 PM
RE: HP82143 Processor details - brouhaha - 09-20-2023, 03:51 AM
RE: HP82143 Processor details - brouhaha - 09-25-2023, 03:15 PM
RE: HP82143 Processor details - brouhaha - 09-25-2023, 09:04 PM
RE: HP82143 Processor details - brouhaha - 09-27-2023, 05:38 AM
RE: HP82143 Processor details - brouhaha - 11-10-2023, 10:53 PM
RE: HP82143 Processor details - blackjetrock - 11-11-2023 01:50 AM



User(s) browsing this thread: 1 Guest(s)