{"id":1612,"date":"2026-04-18T16:32:57","date_gmt":"2026-04-18T16:32:57","guid":{"rendered":"https:\/\/pdp2011.sytse.net\/wordpress\/?p=1612"},"modified":"2026-04-18T16:38:13","modified_gmt":"2026-04-18T16:38:13","slug":"attn-11-ai-on-a-pdp11","status":"publish","type":"post","link":"https:\/\/pdp2011.sytse.net\/wordpress\/attn-11-ai-on-a-pdp11\/","title":{"rendered":"ATTN\/11 &#8211; AI on a PDP11"},"content":{"rendered":"\n<p>If like me you&#8217;ve never really taken the time to take a look at the details and internals of AI in its current form of neural networks and machine learning, now is your chance because someone has written just that in MACRO11!.<\/p>\n\n\n\n<p>Check out Damien Boureille&#8217;s Github page : <a href=\"https:\/\/github.com\/dbrll\/ATTN-11\">https:\/\/github.com\/dbrll\/ATTN-11<\/a>, and before you go there, check out the Dave&#8217;s Garage youtube channel detailed explanation of what is going on <a href=\"https:\/\/youtu.be\/OUE3FSIk46g\">https:\/\/youtu.be\/OUE3FSIk46g<\/a><\/p>\n\n\n\n<p>Of course I had to run that on PDP2011. That took some doing &#8211; the MACRO11 I use for various bits of code in the project is the original Richard Krehbiel version, and that doesn&#8217;t like the .ASECT and .INCLUDE statements in Damien&#8217;s source. And the same also goes for the MACRO11 embedded in PDP11GUI.<\/p>\n\n\n\n<p>Easy enough to fix &#8211; remove the .ASECT and location counter assignment in TRAIN.MAC, replace it with a .blkb 1000. Then replace each .INCLUDE statement with a copy of the contents of that file, feed it to PDP11GUI while you rebuild a PDP2011 with the ODT bootroms. Then run MACRO11, click on &#8216;deposit&#8217; in the listing window, and observe lots of deposits scrolling by in the terminal window.<\/p>\n\n\n\n<p>Then the moment of truth: type L 1000, then S.<\/p>\n\n\n\n<p>It&#8217;ll take about a minute, and, frankly, the blinkenlight patterns on the console were somewhat underwhelming. But hey, I ran a proper AI on my very own CPU! Yay!<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">@L 1000<br>@SATTN\/11 - PAPER TAPE IS ALL YOU NEED<br>D=16 SEQ=8 V=10 PARAMS=1216 Q8\/Q15\/Q16<br><br>TRAINING...<br> STEP   50 LOSS=1.6113 ACC=0.217<br> STEP   100 LOSS=2.1865 ACC=0.255<br> STEP   150 LOSS=2.1511 ACC=0.267<br> STEP   200 LOSS=1.3874 ACC=0.395<br> STEP   250 LOSS=0.0500 ACC=0.662<br> STEP   300 LOSS=0.0019 ACC=0.982<br> STEP   350 LOSS=0.0009 ACC=1.000<br><br><br> 4 7 0 7 2 9 0 7 -> 7 0 9 2 7 0 7 4  OK<br> 0 9 8 1 2 3 8 5 -> 5 8 3 2 1 8 9 0  OK<br> 8 1 6 1 6 7 8 7 -> 7 8 7 6 1 6 1 8  OK<br> 4 9 0 5 0 5 0 3 -> 3 0 5 0 5 0 9 4  OK<br> 6 3 2 1 6 9 2 7 -> 7 2 9 6 1 2 3 6  OK<br> 2 9 4 5 8 1 8 1 -> 1 8 1 8 5 4 9 2  OK<br> 6 5 8 7 4 5 0 1 -> 1 0 5 4 7 8 5 6  OK<br> 0 9 8 3 2 3 2 3 -> 3 2 3 2 3 8 9 0  OK<br> 0 7 4 1 0 5 4 5 -> 5 4 5 0 1 4 7 0  OK<br> 2 7 4 7 4 7 2 5 -> 5 2 7 4 7 4 7 2  OK<br><br> ACCURACY  10\/10<br><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If like me you&#8217;ve never really taken the time to take a look at the details and internals of AI in its current form of neural networks and machine learning, now is your chance because someone has written just that in MACRO11!. Check out Damien Boureille&#8217;s Github page : https:\/\/github.com\/dbrll\/ATTN-11, and before you go there, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1612","post","type-post","status-publish","format-standard","hentry","category-pdp11","missing-thumbnail"],"_links":{"self":[{"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/posts\/1612","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/comments?post=1612"}],"version-history":[{"count":5,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/posts\/1612\/revisions"}],"predecessor-version":[{"id":1618,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/posts\/1612\/revisions\/1618"}],"wp:attachment":[{"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/media?parent=1612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/categories?post=1612"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pdp2011.sytse.net\/wordpress\/wp-json\/wp\/v2\/tags?post=1612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}