{"id":1526,"date":"2022-06-11T16:17:51","date_gmt":"2022-06-11T21:17:51","guid":{"rendered":"https:\/\/www.computercollection.net\/?p=1526"},"modified":"2023-06-29T10:58:00","modified_gmt":"2023-06-29T15:58:00","slug":"ibm1410-fpga-more-inputs","status":"publish","type":"post","link":"https:\/\/www.computercollection.net\/index.php\/2022\/06\/11\/ibm1410-fpga-more-inputs\/","title":{"rendered":"IBM1410 FPGA: More Inputs"},"content":{"rendered":"\n<p>The IBM 1410 FPGA project has reached a milestone.  Console input of characters, word mark, space bar, index (force premature end of line) and the  special inquiry keys: request, cancel and release is now complete.<\/p>\n\n\n\n<p>With that it is possible to display memory, update memory, start execution at a specific address, start the machine, stop and machine, etc.<\/p>\n\n\n\n<p>I have tried a few instructions in as simple way: Set Word Mark, Halt, Add, Subtract, Jump on Inquiry Request and Jump unconditionally, and they work OK for at least a very simple example.<\/p>\n\n\n\n<p>With this, the implementation is very close to being in same state as a real IBM 1410 donated by Oscar Mayer that we played with in the basement of the University of Wisconsin Computer Science lab:  CPU, console but no peripherals or I\/O synchronizers.<\/p>\n\n\n\n<p>There are some issues, though, both with the console implementation and with the FPGA implementation.  For the FPGA<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The Console Check Test 3 fails to set the ADDRESS CHANNEL error.  This is a &#8220;fight&#8221; between the DC Set which the switch activates, and another signal holding the trigger reset.  (I think an earlier blog post discusses this in more detail).<\/li>\n\n\n\n<li>Attempts to display memory at 09998 show only two characters (this may or may not be correct), and attempts to display memory above 10000 fail miserably with a B Character Select error.  This could be an issue of a gate being present that should not be, because I generally entered all gates using the IBM 1410 SMS application, even ones that I knew I would not want eventually, and\/or a missing tie-down or tie-up of a signal.  This is a critical problem to ferret out and fix.  [Resolved 6\/11\/2023 &#8211; simply a matter of marking most of the gates for features &#8220;S10&#8221; (or $10 depending on where you look) and &#8220;S20&#8221; for &#8220;no generation&#8221;.]<\/li>\n\n\n\n<li>As mentioned in an earlier post, when starting a display memory sequence, during the first step &#8211; address entry &#8211; a &#8220;D&#8221; should be displayed.  Instead an underlined (invalid parity) &#8220;F&#8221; is displayed because of a bit 2 &#8220;pick&#8221;.  This looks to be an error in the actual ALD, will be easy to fix, but doesn&#8217;t really affect much of anything.<\/li>\n\n\n\n<li>An attempt to do output I\/O to the console, using instruction M%T0aaaaaW does not operate properly &#8212; it repeats the first character in the I\/O buffer at address &#8220;aaaaa&#8221; without end.  This is also a critical problem, as diagnostics need to do this.  [This has also been fixed as of 6\/20\/2022.  It <strong>might<\/strong> have involved the change that *removed* a &#8220;D&#8221; flip flop after gate 3F.] [Update:  This problem has also since been resolved.]<\/li>\n<\/ul>\n\n\n\n<p>With the addition of the console, there are now three github projects involved with this effort:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The SMS data gathering \/ entry \/ update application: <a href=\"https:\/\/github.com\/cube1us\/IBM1410SMS\">https:\/\/github.com\/cube1us\/IBM1410SMS<\/a><\/li>\n\n\n\n<li>The FPGA itself &#8211; in VHDL: <a href=\"https:\/\/github.com\/cube1us\/IBM1410FPGA\">https:\/\/github.com\/cube1us\/IBM1410FPGA<\/a><\/li>\n\n\n\n<li>And now, the console\/lights\/switches (and, eventually, I\/O device emulation)  application: <a href=\"https:\/\/github.com\/cube1us\/IBM1410Console\">https:\/\/github.com\/cube1us\/IBM1410Console<\/a><\/li>\n<\/ul>\n\n\n\n<p>The immediate activity, which may take a few weeks due to other commitments, will be to figure out what is going on with the console output issue.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The IBM 1410 FPGA project has reached a milestone. Console input of characters, word mark, space bar, index (force premature end of line) and the special inquiry keys: request, cancel and release is now complete. With that it is possible to display memory, update memory, start execution at a specific address, start the machine, stop &hellip; <a href=\"https:\/\/www.computercollection.net\/index.php\/2022\/06\/11\/ibm1410-fpga-more-inputs\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;IBM1410 FPGA: More Inputs&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,9,15,10],"tags":[],"post_folder":[],"class_list":["post-1526","post","type-post","status-publish","format-standard","hentry","category-computers","category-hardware","category-ibm1410","category-software"],"_links":{"self":[{"href":"https:\/\/www.computercollection.net\/index.php\/wp-json\/wp\/v2\/posts\/1526","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.computercollection.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.computercollection.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.computercollection.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.computercollection.net\/index.php\/wp-json\/wp\/v2\/comments?post=1526"}],"version-history":[{"count":7,"href":"https:\/\/www.computercollection.net\/index.php\/wp-json\/wp\/v2\/posts\/1526\/revisions"}],"predecessor-version":[{"id":1578,"href":"https:\/\/www.computercollection.net\/index.php\/wp-json\/wp\/v2\/posts\/1526\/revisions\/1578"}],"wp:attachment":[{"href":"https:\/\/www.computercollection.net\/index.php\/wp-json\/wp\/v2\/media?parent=1526"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.computercollection.net\/index.php\/wp-json\/wp\/v2\/categories?post=1526"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.computercollection.net\/index.php\/wp-json\/wp\/v2\/tags?post=1526"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/www.computercollection.net\/index.php\/wp-json\/wp\/v2\/post_folder?post=1526"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}