{"id":1853,"date":"2024-06-21T21:54:53","date_gmt":"2024-06-21T19:54:53","guid":{"rendered":"https:\/\/pockemul.com\/?p=1853"},"modified":"2024-11-20T22:27:33","modified_gmt":"2024-11-20T21:27:33","slug":"the-almost-casio-pb-100","status":"publish","type":"post","link":"https:\/\/pockemul.com\/index.php\/2024\/06\/21\/the-almost-casio-pb-100\/","title":{"rendered":"The Almost Casio PB-100"},"content":{"rendered":"\n<p>Dear PockEmul fans,<\/p>\n\n\n\n<p>I don&#8217;t think anyone will contradict me when I point out the lack in PockEmul of 2 or 3 iconic machines from the history of pocket computers.<br><\/p>\n\n\n\n<p>The Sharp PC-1211 , the Casio FX-702p and the Casio PB-100 .<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"411\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-4-1024x411.png\" alt=\"\" class=\"wp-image-1860\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-4-1024x411.png 1024w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-4-300x120.png 300w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-4-768x308.png 768w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-4-1536x616.png 1536w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-4-1200x481.png 1200w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-4.png 1711w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"313\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-3.png\" alt=\"\" class=\"wp-image-1859\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-3.png 640w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-3-300x147.png 300w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"448\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-1-1024x448.png\" alt=\"\" class=\"wp-image-1857\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-1-1024x448.png 1024w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-1-300x131.png 300w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-1-768x336.png 768w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-1-1536x673.png 1536w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-1-2048x897.png 2048w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-1-1200x525.png 1200w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<!--more-->\n\n\n\n<p>More than 10 years ago, I made a post on the <a rel=\"noreferrer noopener\" href=\"https:\/\/forum.silicium.org\/\" data-type=\"URL\" data-id=\"https:\/\/forum.silicium.org\/\" target=\"_blank\">Silicium <\/a>forum &#8220;Let&#8217;s not let the Sharp PC-1211 die&#8221; in which I explained the different ways to save the PC-1211 from its LCD disease.<br>At the time replacement LCD screens were not yet available.<\/p>\n\n\n\n<p>To summarize my thoughts, emulation is not possible without the ROM (I still hope one day to be able to recover the ROM by photography) and the simulation is really too complex to achieve a satisfactory result.<\/p>\n\n\n\n<p>I have a simulator in my dev environment for many years but it is still far from perfect.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"338\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2022\/09\/pc1211-1024x338.png\" alt=\"\" class=\"wp-image-1644\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2022\/09\/pc1211-1024x338.png 1024w, https:\/\/pockemul.com\/wp-content\/uploads\/2022\/09\/pc1211-300x99.png 300w, https:\/\/pockemul.com\/wp-content\/uploads\/2022\/09\/pc1211-768x253.png 768w, https:\/\/pockemul.com\/wp-content\/uploads\/2022\/09\/pc1211.png 1128w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">I introduced a 3rd hybrid way<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Another idea that is on my mind would be to modify the ROM of a PC-1251 (the closest on a feature point of view), to restrict it and make it work like a pc-1211.<\/p><p>&#8211; We disassemble the ROM (easy)<br>&#8211; We document each LM instruction (not easy at all)<br>&#8211; We modify it (not so easy)<br>&#8211; we reassemble<br>&#8211; we integrate this into PockEmul<\/p><\/blockquote>\n\n\n\n<p>After investigation, this hybrid solution was too complex because documenting the PC-1251 ROM is a huge work and it is not close enough to the PC-1211 to serve as an easy starting point.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Almost PB-100<\/h2>\n\n\n\n<p>For the  Casio PB-100, there is an extremely close model, the Elektronika MK-85, already emulated in PockEmul.<br>In my opinion it is a more than 95% perfect clone.<br>Its ROM has been disassembled and <strong>documented<\/strong>. Piotr (<a href=\"http:\/\/www.pisi.com.pl\/piotr433\/index.htm\" target=\"_blank\" rel=\"noreferrer noopener\">Vintage programmable calculators (pisi.com.pl)<\/a>) has done an incredible work on this machine.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"442\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2023\/04\/mk85-1024x442.jpg\" alt=\"\" class=\"wp-image-1750\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2023\/04\/mk85-1024x442.jpg 1024w, https:\/\/pockemul.com\/wp-content\/uploads\/2023\/04\/mk85-300x129.jpg 300w, https:\/\/pockemul.com\/wp-content\/uploads\/2023\/04\/mk85-768x331.jpg 768w, https:\/\/pockemul.com\/wp-content\/uploads\/2023\/04\/mk85-1536x663.jpg 1536w, https:\/\/pockemul.com\/wp-content\/uploads\/2023\/04\/mk85-1200x518.jpg 1200w, https:\/\/pockemul.com\/wp-content\/uploads\/2023\/04\/mk85.jpg 1543w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>So I started using the PDP11 assembly language (the MK-85 CPU) to patch and enhance the original MK-85 ROM.<br>I am going to add functions, remove some commands specific to the MK-85 and modify some behaviors of the MK-85 to make it a perfect clone of the PB-100.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>I changed the Cyrillic characters to lowercase,<\/li><li>I modified the memory map to have the right number of memory bytes available.<\/li><li>I added modes 7 and 8 to write a flag and trap the call to the function of displaying a character on the LCD to intercept this call and send it to a pseudo printer connector.<\/li><li>I created the FP-12 printer.<\/li><li>I blocked some functions (WHO, DRAW, DRAWC, TEST, \u2026)<\/li><li>I added some other functions (MID, &#8230;)<\/li><li>I removed the display of &#8216;P&#8217; when a BASIC program is running.<\/li><li>\u2026<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"589\" src=\"https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-1024x589.png\" alt=\"\" class=\"wp-image-1854\" srcset=\"https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-1024x589.png 1024w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-300x173.png 300w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-768x442.png 768w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-1536x884.png 1536w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-2048x1178.png 2048w, https:\/\/pockemul.com\/wp-content\/uploads\/2024\/06\/image-1200x690.png 1200w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>I&#8217;m thinking of calling it &#8216;<strong>The Almost PB-100<\/strong>&#8216;.<\/p>\n\n\n\n<p>It is a long journey to have a perfect PB-100 clone but the first shot is very promising and will be part of PockEmul 2.9.0.<\/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","protected":false},"excerpt":{"rendered":"<p>Dear PockEmul fans, I don&#8217;t think anyone will contradict me when I point out the lack in PockEmul of 2 or 3 iconic machines from the history of pocket computers. The Sharp PC-1211 , the Casio FX-702p and the Casio PB-100 .<\/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":[77,30,58,29],"tags":[],"class_list":["post-1853","post","type-post","status-publish","format-standard","hentry","category-almost-pb-100","category-casio","category-news","category-pockemullite"],"_links":{"self":[{"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/posts\/1853"}],"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=1853"}],"version-history":[{"count":7,"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/posts\/1853\/revisions"}],"predecessor-version":[{"id":1865,"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/posts\/1853\/revisions\/1865"}],"wp:attachment":[{"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/media?parent=1853"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/categories?post=1853"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pockemul.com\/index.php\/wp-json\/wp\/v2\/tags?post=1853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}