The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 795 - File: showthread.php PHP 7.4.33 (FreeBSD)
File Line Function
/showthread.php 795 errorHandler->error





Post Reply 
new HP-IL software implementation in C++20
05-25-2024, 11:09 PM
Post: #1
new HP-IL software implementation in C++20
Lately I've been writing a from-scratch HP-IL implementation in C++20. My older HP-IL firmware implementations in 6502 assembler and in C were rather ad-hoc affairs, but this time I'm following the HP-IL Interface Specification as closely as possible, implementing all of the interface function state machines, local messages, etc. I expect to use this implementation in Nonpareil II to support the PIL-Box and/or virtual loops, but I might also release it separately if it is of use to any other developers.

To my knowledge, most of the HP-IL implementations in real product, from HP or others, use the ad-hoc approach, because they used microcontroller with only 2K of ROM and 128 bytes of RAM. The Interface Specification explicitly states that devices are not required to implement the state machines as presented, as long as the actual behavior matches them. I'm sure the HP engineers spent time validating this for their devices, but I never did any validation for my prior implementations beyond "it works fine with an HP-41C".

I suspect that HP-IL devices with more memory (e.g. 9114, 1630/31) may have implemented the actual state machines as shown, but the only device I've personally reverse-engineered that follows the state machines fairly closely is the HP 92198A/Mountain Computer MC00701A 80-column video interface.

I'm interested in discussing HP-IL interface implementation with others that have done it. In my reading of the HP-IL Interface Specification, I find that the author(s) have made some assumptions that I didn't recognize until fairly far into my implementation. Perhaps I should docu,emt these for the benefit of anyone else who goes down this path in the future (i.e., probably no one).
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
new HP-IL software implementation in C++20 - brouhaha - 05-25-2024 11:09 PM



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