{"id":2300,"date":"2025-12-10T10:36:30","date_gmt":"2025-12-10T09:36:30","guid":{"rendered":"https:\/\/pockemul.com\/?p=2300"},"modified":"2025-12-10T10:36:31","modified_gmt":"2025-12-10T09:36:31","slug":"the-hewlett-packard-hp-71b","status":"publish","type":"post","link":"https:\/\/pockemul.com\/index.php\/2025\/12\/10\/the-hewlett-packard-hp-71b\/","title":{"rendered":"The Hewlett-Packard HP-71b"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-text-align-center\">( <strong>In  PockEmul 2.10.0 )<\/strong><\/h2>\n\n\n\n<p>PockEmul was originally dedicated to pocket computers from the 1980s and 1990s, most of them programmable in BASIC. The absence of HP models (HP\u201175 and HP\u201171) was therefore a gap that absolutely needed to be filled.<\/p>\n\n\n\n<p>I had long postponed this task because I was unfamiliar with these machines, and their complexity somewhat discouraged me. Eventually, I decided to take the plunge\u2014and here is the <strong>HP\u201171B in PockEmul<\/strong>.<\/p>\n\n\n\n<p>It was an interesting challenge because I wanted to emulate this machine entirely using object-oriented programming, with each component represented as an object or a set of objects. That meant drawing inspiration from existing emulators\u2014mostly developed in C with pointers to data structures\u2014was never really an option.<\/p>\n\n\n\n<p>This is the very first release, and inevitably some issues remain. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pockemul.com\/?attachment_id=2305\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"578\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_2-1024x578.png\" alt=\"\" class=\"wp-image-2305\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_2-1024x578.png 1024w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_2-300x169.png 300w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_2-768x434.png 768w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_2-1536x868.png 1536w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_2-1200x678.png 1200w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_2.png 1643w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/figure>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Main Areas Covered by the HP\u201171B Emulation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>ROM version<\/strong> <strong>2CDCC<\/strong><\/h3>\n\n\n\n<p>Currently, only this ROM version is included. I see little value in offering older buggy ROMs, but let me know if you think it would be useful.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/pockemul.com\/?attachment_id=2307\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"406\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_3.jpg\" alt=\"\" class=\"wp-image-2307\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_3.jpg 800w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_3-300x152.jpg 300w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_3-768x390.jpg 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Full Memory Module Management (ROM and RAM)<\/strong> <\/h3>\n\n\n\n<p>The internal architecture of memory modules is emulated down to the chip level. Standard modules (Math, Finance, etc.) are available, and you can also build custom modules using 4K or 32K RAM chips and external ROM files.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/pockemul.com\/?attachment_id=2308\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"114\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_4.webp\" alt=\"\" class=\"wp-image-2308\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_4.webp 800w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_4-300x43.webp 300w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_4-768x109.webp 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Port 5<\/strong> Management<\/h3>\n\n\n\n<p>It supports memory modules up to 192K. <\/p>\n\n\n\n<p><strong>The card reader is not yet implemented.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pockemul.com\/?attachment_id=2309\"><img loading=\"lazy\" decoding=\"async\" width=\"796\" height=\"1024\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_5-796x1024.jpg\" alt=\"\" class=\"wp-image-2309\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_5-796x1024.jpg 796w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_5-233x300.jpg 233w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_5-768x988.jpg 768w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_5.jpg 849w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Port 0 and HP\u2011IL<\/strong> <\/h3>\n\n\n\n<p>My goal was to emulate the HP\u2011IL chain of the HP\u201171B in depth. <br>The two main HP\u2011IL management chips, the HP_1LB3 used in the HP-71b HP-IL module and the HP_1LR4 used in peripherals, are emulated separately. <\/p>\n\n\n\n<p>Please be aware that the HP-IL protocol emulation is in <strong>Preview State<\/strong>. Only a few commands are implemented &#8211; Just enough to manage the printer and the video interface. <\/p>\n\n\n\n<p>The next release is planned to include full <strong>HP-IL management<\/strong>, with advanced features\u2014such as chaining multiple HP\u201171Bs on the same loop, managing two HP\u2011IL loops on one machine, or supporting a PIL\u2011BOX&#8230;<\/p>\n\n\n\n<p>The HP\u2011IL universe is vast, and I am just beginning to explore it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pockemul.com\/?attachment_id=2310\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"155\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_6-1024x155.webp\" alt=\"\" class=\"wp-image-2310\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_6-1024x155.webp 1024w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_6-300x45.webp 300w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_6-768x116.webp 768w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_6-1200x181.webp 1200w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_6.webp 1418w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pockemul.com\/?attachment_id=2339\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"855\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hpil-1024x855.png\" alt=\"\" class=\"wp-image-2339\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hpil-1024x855.png 1024w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hpil-300x251.png 300w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hpil-768x641.png 768w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hpil-1200x1002.png 1200w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hpil.png 1305w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Peripheral Connection Cables<\/strong> <\/h3>\n\n\n\n<p>Cable drawing has been added, with an avoidance algorithm so cables route around objects when possible. This still needs refinement in appearance and behavior.<\/p>\n\n\n\n<p>Drawing the cables is indeed necessary with the HP\u2011IL loop, since multiple peripherals can be chained together. I\u2019m still undecided whether to restrict cable visualization exclusively to the HP\u2011IL loop, or to extend it to all types of connections.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>HP\u2011IL Frame Sniffer<\/strong> <\/h3>\n\n\n\n<p>Not yet enabled in the release version; currently reserved for development, but intended for future inclusion.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Diagnostic ROM<\/strong><\/h3>\n\n\n\n<p> It is not yet integrated due to emulation issues with timers and CPU errors.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Overlay Management<\/strong> <\/h3>\n\n\n\n<p>Overlay handling has been generalized across PockEmul. For now, the HP\u201171B offers Finance, HP\u201141, and Text Editor overlays. <br>Custom overlays are planned but still experimental in the development version.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pockemul.com\/?attachment_id=2312\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"520\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_7-1024x520.jpg\" alt=\"\" class=\"wp-image-2312\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_7-1024x520.jpg 1024w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_7-300x152.jpg 300w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_7-768x390.jpg 768w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_7-1200x609.jpg 1200w, https:\/\/pockemul.com\/wp-content\/uploads\/2025\/12\/hp71b_7.jpg 1253w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Peripheral Support<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Printer HP\u201182162A<\/strong> Functional in text mode only. Graphics mode will be implemented in the next release.<\/li>\n\n\n\n<li><strong>Video Interface HP\u201182163<\/strong> Present, but ESC command handling has not yet been thoroughly tested. This is an initial version.<\/li>\n\n\n\n<li><strong>HP\u20119114 Tape Disk<\/strong> Not yet ready; planned for the next release.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Availability<\/h2>\n\n\n\n<p>I hesitated to make the HP\u201171B universe accessible outside subscriptions, since this first version inevitably contains many issues due to its early stage. Nevertheless, I have created the <strong>Android package in the PockEmul Store<\/strong>.<\/p>\n\n\n\n<p>If you choose to purchase it, please be aware that this is version 1.0\u2014an initial release that will be significantly corrected and enriched in the future.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Perfect emulation is an infinite quest. Please report us any inaccurate behaviour at&nbsp;<a href=\"mailto:contact@pockemul.com\">contact@pockemul.com<\/a>&nbsp;<\/h2>\n\n\n\n<p>A message for our longstanding users and subscribers :<br>PockEmul is a 25 years passion project and a labor of love.<br>We invite you to share the passion and love for vintage computing.<br>Help us make history like these computers have done in the not-so-distant past.<br>Help us shape the future of PockEmul. Spread the word!<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>( In PockEmul 2.10.0 ) PockEmul was originally dedicated to pocket computers from the 1980s and 1990s, most of them programmable in BASIC. The absence of HP models (HP\u201175 and HP\u201171) was therefore a gap that absolutely needed to be filled. I had long postponed this task because I was unfamiliar with these machines, and &hellip; <a href=\"https:\/\/pockemul.com\/index.php\/2025\/12\/10\/the-hewlett-packard-hp-71b\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;The Hewlett-Packard HP-71b&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[33,58,29],"tags":[],"class_list":["post-2300","post","type-post","status-publish","format-standard","hentry","category-hp","category-news","category-pockemullite"],"_links":{"self":[{"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/posts\/2300"}],"collection":[{"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/comments?post=2300"}],"version-history":[{"count":16,"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/posts\/2300\/revisions"}],"predecessor-version":[{"id":2343,"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/posts\/2300\/revisions\/2343"}],"wp:attachment":[{"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/media?parent=2300"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/categories?post=2300"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/tags?post=2300"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}