tag:blogger.com,1999:blog-42654654974970200102024-03-01T09:54:19.496-08:00An Ode to CommiesThe journeys of a Commodore computer collector. A celebration of the products of Commodore Business Machines. And also a blog.Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.comBlogger37125tag:blogger.com,1999:blog-4265465497497020010.post-85796363921992123332024-01-15T21:35:00.000-08:002024-03-01T09:53:47.255-08:00Amiga + Unix = AMIX<p> <br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMm_XaOpaT_uFNjIBADpi5f1TLjashFoZye-esTCiBqm9b2r1kLrZpU5gH1a6x5Gkt_7gOj2cD7P2v7YCbsq4hx83fMHSEJtDmTmiSGjU-_tHS7lIVcPi1Nt7YUIO7R_b2sOhj0FV6rqIuyp1hlpDTK2gAXalEBgaoVjzbfMUZ43sOjx-Ri0yVZ4VcfQvi/s4272/a2500uxMineFrontLeft1-CA1074777.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2848" data-original-width="4272" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMm_XaOpaT_uFNjIBADpi5f1TLjashFoZye-esTCiBqm9b2r1kLrZpU5gH1a6x5Gkt_7gOj2cD7P2v7YCbsq4hx83fMHSEJtDmTmiSGjU-_tHS7lIVcPi1Nt7YUIO7R_b2sOhj0FV6rqIuyp1hlpDTK2gAXalEBgaoVjzbfMUZ43sOjx-Ri0yVZ4VcfQvi/w400-h266/a2500uxMineFrontLeft1-CA1074777.jpg" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div>It's not all that often these days that a computer on my Wanted list becomes available, so when a genuine <a href="http://zimmers.net/cbmpics/ca2500ux.html">Amiga 2500UX</a> computer appeared on eBay, I absolutely jumped at it.<div><br /></div><div>So, what is it? Well, according to lore, the Amiga engineers at Commodore were very interested in the Unix operating system(s), and wanted to bring it to their own machines. Unfortunately, the Motorola 68000 CPU in the Amiga was deemed insufficient, as it lacked the sophisticated MMU required. This, in turn, led to the creation by Commodore of the Amiga <a href="https://bigbookofamigahardware.com/bboah/product.aspx?id=165">A2630 </a>CPU accelerator which contained a 68030 processor and mmu. And <b>this</b>, in turn, led to the creation of the <a href="http://zimmers.net/cbmpics/ca2500ux.html" target="_blank">Amiga 2500UX</a>, which is basically an Amiga 2000 with the aforementioned <a href="https://bigbookofamigahardware.com/bboah/product.aspx?id=165">A2630 </a>card and an <a href="https://bigbookofamigahardware.com/bboah/product.aspx?id=1161">A2091 </a>SCSI hard drive card with a hard drive containing AMIX.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTRf_ygHpPLHVsXmwiNCc47hyphenhyphenKh2f3nPqCmtMwr2YA-w4sqPwoj1LgS9FGEUOXjdw3Bz43PcL_nj-kEckGZ1WUFXXkOUc73QAo40U_eaFmfQa1lIVleRJBlhaB7U-PX9tuISskZZs_2V-6v3CT837shvsXCZ3SEQ2omJ1vFNSh3o4HivTXlKTYPdDbycz5/s1841/amixcover.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1841" data-original-width="1471" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTRf_ygHpPLHVsXmwiNCc47hyphenhyphenKh2f3nPqCmtMwr2YA-w4sqPwoj1LgS9FGEUOXjdw3Bz43PcL_nj-kEckGZ1WUFXXkOUc73QAo40U_eaFmfQa1lIVleRJBlhaB7U-PX9tuISskZZs_2V-6v3CT837shvsXCZ3SEQ2omJ1vFNSh3o4HivTXlKTYPdDbycz5/s320/amixcover.jpg" width="256" /></a></div><br /><div><br /></div><div>And what is AMIX you ask? Well, AMIX, or "Amiga UNIX" is a variation on Unix System V Release 4. Installed versions of this OS range from 1.0 to 2.1c, and includes X11R5, OpenLook window manager, support for networking over the <a href="https://bigbookofamigahardware.com/bboah/product.aspx?id=905">A2065</a> ethernet card, special drivers for the A2232 serial card, drivers for the <a href="https://bigbookofamigahardware.com/bboah/product.aspx?id=446">A2410 </a>University of Lowell high resolution graphics card, and also for the <a href="http://zimmers.net/cbmpics/mlcomp6.html">A2024 </a>"Hedley Hi-Res" monitor. </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimJUUY3_yy-0-kXDZ-PHJ2wFqSbwebMVunDY2f3Z5Zh-bcjPhpGQDRgbbEqdPoV1AWkyLazq37tVQJ2icK9_Naph9LGASk7h-l6tI4FilGGLAQSG2zWBhZ8bEpdAAcQyCP1hXab2xw8gEc3jC0RBBT4hnoVnvpQWdf0fWKZxAL8uYoWV5SRGUyEtKO7h1p/s640/logo1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="42" data-original-width="640" height="26" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimJUUY3_yy-0-kXDZ-PHJ2wFqSbwebMVunDY2f3Z5Zh-bcjPhpGQDRgbbEqdPoV1AWkyLazq37tVQJ2icK9_Naph9LGASk7h-l6tI4FilGGLAQSG2zWBhZ8bEpdAAcQyCP1hXab2xw8gEc3jC0RBBT4hnoVnvpQWdf0fWKZxAL8uYoWV5SRGUyEtKO7h1p/w400-h26/logo1.png" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG2z-buPPN5pkPfbdaY8t09HoP_Jw6-xk_HSe2RolAxqgsLVL9bpZ3ya7k0zq7tdtJoRkvawpc5w9iRszyuEM7-LGXaH5FWHHgl9dimPKeip_rsJg2SzFW2V5bZ9jGSjT6IviLB36nkk6Z6-2tmKXW8VBRRHfWFq91MdmTx09hKsyZhbqtnZ6x5w8nsEA5/s1634/a2500uxMineBeforeWkFront-CA1074777.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="582" data-original-width="1634" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG2z-buPPN5pkPfbdaY8t09HoP_Jw6-xk_HSe2RolAxqgsLVL9bpZ3ya7k0zq7tdtJoRkvawpc5w9iRszyuEM7-LGXaH5FWHHgl9dimPKeip_rsJg2SzFW2V5bZ9jGSjT6IviLB36nkk6Z6-2tmKXW8VBRRHfWFq91MdmTx09hKsyZhbqtnZ6x5w8nsEA5/w400-h143/a2500uxMineBeforeWkFront-CA1074777.jpg" width="400" /></a></div><br /><div><br /></div><div>When the machine arrived, it was in a somewhat fair-to-middlin state. The ill-fitted floppy drive was from an Amiga 500, the spacer plate over the 5.25" bay was from some other random computer, and it lacked a keyboard.</div><div><br /></div><div>The machine did boot, however.... to AmigaOS. No sign of AMIX whatsoever.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRs5C-_JKokMKhbCZKXwN-SJujB3ewEvQs-7DlK0L-jqKi9o5S8AaYP10x3AIZPnfLtTo2pgBJu9FKTdSuvdur4CTA1c-OeAz6e3GuO98Fxz4u15Bnl9bu62gTLmjp2U3uYhvd0-tmiPVwttnwIGtPvjBZzEdBQGu9weaHyYzE2Sn64GmjuZ7Kb4iriXpk/s1270/a2500uxMineBeforeWkInside-CA1074777.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1126" data-original-width="1270" height="355" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRs5C-_JKokMKhbCZKXwN-SJujB3ewEvQs-7DlK0L-jqKi9o5S8AaYP10x3AIZPnfLtTo2pgBJu9FKTdSuvdur4CTA1c-OeAz6e3GuO98Fxz4u15Bnl9bu62gTLmjp2U3uYhvd0-tmiPVwttnwIGtPvjBZzEdBQGu9weaHyYzE2Sn64GmjuZ7Kb4iriXpk/w400-h355/a2500uxMineBeforeWkInside-CA1074777.jpg" width="400" /></a></div><br /><div><br /></div><div>Inside, I found that the motherboard lacked a battery (which isn't necessarily bad at ALL), contained a second hard drive that wasn't spinning up, had several cracked Zorro (expansion) slots, a hand-programmed eprom kickstart, and was sorely short on ram, having only its stock 1MB of chip/video ram, and 2MB on the A2630 card, so, 3MB total.</div><div><br /></div><div>My goals for this machine would be to back up the existing drives, and then do a restoration, with just enough enhancement to get the most out of AMIX. Lastly, those hard drives would just HAVE to go. One of them wasn't spinning up at all (the one on the hard card), and the boot drive took several tries to spin up on each attempt (but did boot eventually, which is why I found AmigaOS).</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMCXYz1Xv7TnrX2jFnLsRNsooW62RJ3WT0f95syLtPvwst4ULbvCobuYb2fzYPmS0mTtLuJ4tH1s102CW1iJEgDGyH5wMsTUCR2NS3RVA94zKzk4TkRGMmt-lStjKoBKd1F0uw44MWggxVnMrotCiKhMcHw62u_wMEw1HmGNRtcUwvhEJ6mMu3h4muyEKp/s3745/scsiHardDrive3Platter.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2820" data-original-width="3745" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMCXYz1Xv7TnrX2jFnLsRNsooW62RJ3WT0f95syLtPvwst4ULbvCobuYb2fzYPmS0mTtLuJ4tH1s102CW1iJEgDGyH5wMsTUCR2NS3RVA94zKzk4TkRGMmt-lStjKoBKd1F0uw44MWggxVnMrotCiKhMcHw62u_wMEw1HmGNRtcUwvhEJ6mMu3h4muyEKp/w400-h301/scsiHardDrive3Platter.jpg" width="400" /></a></div><br /><div><br /></div><div class="separator" style="clear: both; text-align: left;">Backing up the boot hard drive was pretty straight-forward. I put a 2GB <a href="http://www.codesrc.com/mediawiki/index.php/SCSI2SD">SCSI2SD </a>drive onto the external SCSI port of the <a href="https://bigbookofamigahardware.com/bboah/product.aspx?id=1161">A2091</a>, and booted into an AmigaOS 3.1 floppy disk. I then ran a disk imager (PackDev? TSGUI? I forget :( ) and produced a flat ISO of the boot drive on the SCSI2SD partition. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">The hard drive mounted to the A2091, however, simply would not spin up at all. It seemed quite dead. Thinking it was a lost cause, I removed the cover (shown above) and attempted to twist the drive motor and move the head by hand. Everything seemed very stiff. When powered on, the platters would spin for barely a moment before shutting down, thus the seeming death. However, I found that if I pulled the head away using the arm extension, right after power up, it initialized! It was thus that I was able to backup this unit as well, and finally confirm that AMIX was not installed on any drive in this machine.</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp6hxC-RF03t7kb38oOhHw6Kwkl-Q0iMdSE-X1D2CGEfKZTZWWwegXE4qDHgTq9ABBhgU9OwRq0x6X8BCaY4vjfX6IRuaj4F6OhAO0bNaB5878HTw_KHtrJkznaGtQGO3MWTUZp1O_lLrrocncWDjjRcToolwLvZO2fTd_una9R4PmXjPDCHbgNuDsqi6c/s2595/a2500uxMineChipBattCloset1-CA1074777.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1530" data-original-width="2595" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp6hxC-RF03t7kb38oOhHw6Kwkl-Q0iMdSE-X1D2CGEfKZTZWWwegXE4qDHgTq9ABBhgU9OwRq0x6X8BCaY4vjfX6IRuaj4F6OhAO0bNaB5878HTw_KHtrJkznaGtQGO3MWTUZp1O_lLrrocncWDjjRcToolwLvZO2fTd_una9R4PmXjPDCHbgNuDsqi6c/w400-h236/a2500uxMineChipBattCloset1-CA1074777.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div>I then removed the motherboard to inspect the battery area. The board did not originally have a battery at all, which is kinda good, as the Varta batteries that they came with are absolutely notorious for leaking and destroying the motherboard. The fact that it was removed means that someone knew this was coming, and cared enough to stop it in its tracks.</div><div><br /></div><div>As a result, I found little more than slight discoloration around the battery area. Aside from cleaning it a bit, there was nothing to do but put in a replacement CR2032 battery. These would not be rechargeable, like the Varta, but being lithium-ion, would last a good long time.</div><div><br /></div><div>I also swapped the hand-written kickstart eprom with a licensed Kickstart 3.1, in case I wanted to dual-boot in the future.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHV1Uj8ZORmrB3uvxBgLKfTf4IjEKot-ZSNCXL_BTxNqnXPgAM2tMgIkF1jM78D2zT2pLd04HgJalPI2wubPXk-Igramu_rvWm9FruvBkAJpnJpVzKe1FQl732WlXUXq8uQgLnjJo7qUrX6FxTJIXKfasycImSijRnR2aJGlHF_feyKgRvLhW293R7MnDX/s4272/a2500uxMineZorroRepair-CA1074777.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2848" data-original-width="4272" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHV1Uj8ZORmrB3uvxBgLKfTf4IjEKot-ZSNCXL_BTxNqnXPgAM2tMgIkF1jM78D2zT2pLd04HgJalPI2wubPXk-Igramu_rvWm9FruvBkAJpnJpVzKe1FQl732WlXUXq8uQgLnjJo7qUrX6FxTJIXKfasycImSijRnR2aJGlHF_feyKgRvLhW293R7MnDX/w400-h266/a2500uxMineZorroRepair-CA1074777.jpg" width="400" /></a></div><br /><div><br /></div><div>The cracked and abused Zorro (and cpu) slots were repaired with superglue, some clamps, and a plastic utensil that was the perfect size to fit between the Zorro and ISA slots, providing pressure for the pieces to dry together. :) </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSKB1sYQwCooxgatk1B3Mt13AuGja3PseARs05pGWnOFzci8sF5ARcyP_vf1wNVoCONLOLesAbZ-nNEXz8aPCa-JC4NOfrDDCvRjygmPEsZzB2Z1iQUZBx4cznFIIw3pCJfVBc548suYdWmuvDG1uh3b3bk80eo1Jp445HaZh5erI8Sy5kkk4CGoieKl5p/s3640/A2091minePortrait1-03310.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1425" data-original-width="3640" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSKB1sYQwCooxgatk1B3Mt13AuGja3PseARs05pGWnOFzci8sF5ARcyP_vf1wNVoCONLOLesAbZ-nNEXz8aPCa-JC4NOfrDDCvRjygmPEsZzB2Z1iQUZBx4cznFIIw3pCJfVBc548suYdWmuvDG1uh3b3bk80eo1Jp445HaZh5erI8Sy5kkk4CGoieKl5p/w400-h156/A2091minePortrait1-03310.jpg" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div><div class="separator" style="clear: both; text-align: left;">Now that the old hard drives were gone, I turned to the A2091 hard card and replacing them.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">The first thing I did was actually to fill out the empty ram sockets on the left hand side with compatible ram chips, giving the card 2MB. This ram would increase the performance of the A2091, but also give the computer itself access to more ram. I had gone from 3MB to 5!</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">To replace the hard drive mechanism, I first tried some internal SCSI2SD boards, but the two spares I had simply would not be recognized by my AmigaOS 3.1 boot disk. I suspected that this might be due to the fact that my A2091 roms are only 6.0, and no one seems to be selling 7.0 roms any longer, so I despaired. The hard drive for AMIX, by the way, should be configured as SCSI ID 6. A tape drive, if you have one, should be SCSI ID 4. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">I then turned to a <a href="https://zuluscsi.com/">ZuluSCSI </a>I had picked up a year or so ago, which went much better. While the SCSI2SD is a relatively easy to use device, only requiring the use of configuration software that runs only on a few modern systems, the ZuluSCSI is downright trivial to use! You take an existing flat hard drive image and drop it onto a scsi card, give it a name to denote the SCSI id it will have, and It Just Works!</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPZ4_PtuC3M8X03qvcSIWDULWK7ADHJEmGvd6Y2czlxTADZ_6zd21lAXHG1QagAIlRxxubnLSRVApCerxlC2woV0cz2sNsDKYaSMx4Vl9kll5Vz4RddglRG4ohZ7vABr_uMydL8nU6kBqeBiWX_qquWKoHaUQXbAQ9pShFpjUhX1nVxhGiDrfuV9wFEuPC/s3955/a2630mineBackBigRamPortrait1-.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1450" data-original-width="3955" height="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPZ4_PtuC3M8X03qvcSIWDULWK7ADHJEmGvd6Y2czlxTADZ_6zd21lAXHG1QagAIlRxxubnLSRVApCerxlC2woV0cz2sNsDKYaSMx4Vl9kll5Vz4RddglRG4ohZ7vABr_uMydL8nU6kBqeBiWX_qquWKoHaUQXbAQ9pShFpjUhX1nVxhGiDrfuV9wFEuPC/w400-h146/a2630mineBackBigRamPortrait1-.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">I next considered how to get the system up to its maximum 8MB of ram. The most advantageous place, of course, would be on the A2630 card itself.</div></div><div><br /></div><div>I first tried using an <a href="https://icomp.de/shop-icomp/de/shop/product/BigRAM_2630.html">Individual Computers BigRam 2630</a>. This would give the 68030 CPU 128MB of ram to address directly, at its full speed. However, while this card works absolutely perfectly in AmigaOS, AMIX simply would not boot with this ram installed. I did find that AMIX would boot if I set the BigRam into "non-auto-configure" mode, but what good is that?</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN4-VpGCRN_JYbRKD4h3WwjfoVrI7eM7rauct_3mQ96vy4SY6ItYSLRiyK-RsKOUdVquMKGOB5KSS74wc87qxqhD06RdWkGZ8VplcnVNq34412P8Q7SUfollBL5VZMBUtzGD-_WRekMPSiXAe0XD_jKlAcEos4L0CDf5h7pKLnij1byviVDlZbm_e7QjFQ/s1215/TC514256AZ-10.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="894" data-original-width="1215" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN4-VpGCRN_JYbRKD4h3WwjfoVrI7eM7rauct_3mQ96vy4SY6ItYSLRiyK-RsKOUdVquMKGOB5KSS74wc87qxqhD06RdWkGZ8VplcnVNq34412P8Q7SUfollBL5VZMBUtzGD-_WRekMPSiXAe0XD_jKlAcEos4L0CDf5h7pKLnij1byviVDlZbm_e7QjFQ/s320/TC514256AZ-10.jpg" width="320" /></a></div><br /><div><br /></div><div>I also tried filling out the A2630 card with another 2MB of ram by soldering in 16 of these TC514256AZ-10 chips. I was certain this would work, and my soldering sure LOOKED ok, but the extra ram failed AmiKit ram tests, and AMIX would not boot until I physically removed the chips, even when I jumped the A2630 to ignore the extra ram.</div><div><div class="separator" style="clear: both; text-align: left;"><br /></div>In the end, I just pulled out my spare <a href="https://bigbookofamigahardware.com/bboah/product.aspx?id=973">A2058 </a>ram expansion card, jumpered it down to 4MB, and went with that. :(</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIjdwAI6le5fHC9lKuPPY8WcwksqCK0H9e-0r6xDEd0zN4Pz0pinwB4pEUboVbOZcpRmgyahMPyHAdfAeHT_H8CD9Cc82iyBaxTCrTMj4S_rrOqfM47DtKC5_mBxgO0-Gujfn-VtJwx9itPl7q-XTYkSiVyc6ckYzgEdSuDt9_67nwfAWl46IW6671fuHw/s4272/fb354mineActLEDFix2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2848" data-original-width="4272" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIjdwAI6le5fHC9lKuPPY8WcwksqCK0H9e-0r6xDEd0zN4Pz0pinwB4pEUboVbOZcpRmgyahMPyHAdfAeHT_H8CD9Cc82iyBaxTCrTMj4S_rrOqfM47DtKC5_mBxgO0-Gujfn-VtJwx9itPl7q-XTYkSiVyc6ckYzgEdSuDt9_67nwfAWl46IW6671fuHw/w400-h266/fb354mineActLEDFix2.jpg" width="400" /></a></div><br /><div><br /><div class="separator" style="clear: both; text-align: left;">Next I went to replace the floppy drive with a more fitting (pun intended) Chinon FB-354. I have no less than 6 spares, but wouldn't you know it? ALL of them gave me read errors except for one, and that one lacked an LED.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Well, no worries: apparently this is a known issue to internet Amigans. I first 'borrowed' an LED from a non-working unit and soldered it onto the existing contacts on my working drive.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc-9KHfcdMs0rxrKls7CohCJYLxqVc9yexX0En8vrtDdF5UIJyK7Q9_Q5KBj4M-afZbAfZS66eHGJMIBma0zSJyWLnDSBetsHYLgwkHH7MSO3tPmpkCTTsB4QtJZ9aXpFZJtOYjw6XGGou3z3poTrx4wwDIZ9UG8qwb8pq-j8JtU98X51tYCyUrBXwfFNe/s4272/fb354mineActLEDFix1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2848" data-original-width="4272" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc-9KHfcdMs0rxrKls7CohCJYLxqVc9yexX0En8vrtDdF5UIJyK7Q9_Q5KBj4M-afZbAfZS66eHGJMIBma0zSJyWLnDSBetsHYLgwkHH7MSO3tPmpkCTTsB4QtJZ9aXpFZJtOYjw6XGGou3z3poTrx4wwDIZ9UG8qwb8pq-j8JtU98X51tYCyUrBXwfFNe/w400-h266/fb354mineActLEDFix1.jpg" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: left;"><br /></div>Next I was *supposed* to solder a surface mount 2.6kohm resistor to the R13 position on the board. However, I simply can not understand how anyone can solder something that is smaller than their iron's tip?! I attempted it once, and it was a comical disaster. So I ended up with what you see here: a normal sized resister carefully positioned and soldered in place.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZQ6XrhMMk0CQO-fO4ucrP8nrYVZTh5hwalknODXuYgy6z_2W_23P1L9ExHb9xzSmJHSQ92hMRvs1rbpuOWEkgw8IthfsQXTV16cAvH0-9W1SUuAsviM60eEr1TEVYkcAB34OCIvtsIzxt_RRbUhYXo_EbEMSuuN57XBFZ_ksWcppt5TftUUl0thpMRARX/s2832/retroVideoConverterGizmoMine1-.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2688" data-original-width="2832" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZQ6XrhMMk0CQO-fO4ucrP8nrYVZTh5hwalknODXuYgy6z_2W_23P1L9ExHb9xzSmJHSQ92hMRvs1rbpuOWEkgw8IthfsQXTV16cAvH0-9W1SUuAsviM60eEr1TEVYkcAB34OCIvtsIzxt_RRbUhYXo_EbEMSuuN57XBFZ_ksWcppt5TftUUl0thpMRARX/s320/retroVideoConverterGizmoMine1-.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div><div class="separator" style="clear: both; text-align: left;">AMIX configuration and testing would come next, so it's a good time to mention my video solution. For most of my work, I relied on the Composite port on the Amiga 2000. But then I picked up this GBSC Converter, and it was completely plug-and-play. I only had to use a 23pin Amiga Video -> VGA Adapter, but the converter handled everything else, producing a compliant VGA signal.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOuoTo5GSZr0FnIvbmyBLyrn0OZ9OM96UeHhwd-0KP1nn-6ncrZ-QXMa4W0D9zkQHHfYXriBXwkH-DDtJAbENHTB7gpaHKc1WqgDc9iMSPPQZwVxHuyqoVX9Wf8UpRqWLdVRzOeSzw3gVPAESLTdruFKhbbNjWfKbfX-mLVOP7T3KrrOVJ2yNJNffjQeP5/s3168/a2500uxMineWorkPortrait-CA1074777.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2784" data-original-width="3168" height="281" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOuoTo5GSZr0FnIvbmyBLyrn0OZ9OM96UeHhwd-0KP1nn-6ncrZ-QXMa4W0D9zkQHHfYXriBXwkH-DDtJAbENHTB7gpaHKc1WqgDc9iMSPPQZwVxHuyqoVX9Wf8UpRqWLdVRzOeSzw3gVPAESLTdruFKhbbNjWfKbfX-mLVOP7T3KrrOVJ2yNJNffjQeP5/s320/a2500uxMineWorkPortrait-CA1074777.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: left;">With AMIX booting on my little workbench monitor, a spare Amiga 2000 spacer plate sourced, and a keyboard swap provided by Jack from <a href="https://www.twitch.tv/pintzandamiga">Pintz&Amiga</a>, I started configuration, which mostly consisted of getting the right keymapping. :) The C= Users Group here was interested as well, so I thought about how to give them access to the machine over the internet. Since I lacked a spare A2065 ethernet card, this would not be easy.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNBg3Aqbik8Trts4aaEUhNvLkhJ0kc0_4-Is2aKP2IxxLmwGCbu11xDJNFZvmH3p9ZO4I9n4tr8eQonP9mw8EOVK9eCaS8jN7rq1UvDu9wmHBm-BOiQkGA0DSBccBKXPghrof-uDxXfBoEB4SznUEf9eOvYl3WtvsgoGoKZT2RhKz3hVtog5_VaUUyj9ze/s2850/gurumodemOnA2000UXMine1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1775" data-original-width="2850" height="249" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNBg3Aqbik8Trts4aaEUhNvLkhJ0kc0_4-Is2aKP2IxxLmwGCbu11xDJNFZvmH3p9ZO4I9n4tr8eQonP9mw8EOVK9eCaS8jN7rq1UvDu9wmHBm-BOiQkGA0DSBccBKXPghrof-uDxXfBoEB4SznUEf9eOvYl3WtvsgoGoKZT2RhKz3hVtog5_VaUUyj9ze/w400-h249/gurumodemOnA2000UXMine1.jpg" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: left;">Oh wait, yes it *would* be easy! AMIX supports attaching a getty listener to the serial port, through which users could login and get a shell. This allowed me to use a Gurumodem ethernet board on the serial port, which I configured with a TCP listener on socket 6830. Internet users could 'telnet' to the Gurumodem port I opened, which would cause the modem to go into "Stream" mode, allowing the user to send data directly to the serial port. AMIX would sense this and give a login prompt. When the user is done and exits from their shell, the DTR signal going inactive would cause the Gurumodem to disconnect the TCP socket, allowing another user to connect.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4TOdDnnRdQIp01PZMsObnEvSJEWzxJPbi-MQcL6_SJnVhuZxYkJTR7vtj1oeM1YPShRdqIm_KE2zBD7ZT5vev7_w8EZDvF2db5kZAY6lNMF3hppkSrV5_yrIMUHtHcf0HgdmoVlilaGcu4bsvJm9fowu-M6oytagaaCVmK565f38GgOz94FJkh-fptnvT/s2665/a2500uxMineOpenLookPortrait1-CA1074777.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2665" data-original-width="2270" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4TOdDnnRdQIp01PZMsObnEvSJEWzxJPbi-MQcL6_SJnVhuZxYkJTR7vtj1oeM1YPShRdqIm_KE2zBD7ZT5vev7_w8EZDvF2db5kZAY6lNMF3hppkSrV5_yrIMUHtHcf0HgdmoVlilaGcu4bsvJm9fowu-M6oytagaaCVmK565f38GgOz94FJkh-fptnvT/s320/a2500uxMineOpenLookPortrait1-CA1074777.jpg" width="273" /></a></div><br /></div><br /><div class="separator" style="clear: both; text-align: left;">All that was left now was exploring and playing with the machine. I pulled down my Amiga <a href="https://bigbookofamigahardware.com/bboah/product.aspx?id=863">A2024 </a>monitor and tinkered with the OpenLook window manager in normal video modes.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_5c9sNqXuTGSVyUYtoe-H7N9XQheacW2OxXrpOhrKuDweKvWBJ0uyO6T0L4VZcD5af-aC-fqqOp9u6p_w-u-gq1xOyKYTyapdjtJbenzfeIE0ZYgMlwa8g1H41go-cRcVavp46LKct43VsvMv3Bamrc63aYkzBHdclzcezPtEvq4NZ7FvBU1_E6p7HvBQ/s2684/a2500uxMineTWMPortrait1-CA1074777.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2684" data-original-width="2304" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_5c9sNqXuTGSVyUYtoe-H7N9XQheacW2OxXrpOhrKuDweKvWBJ0uyO6T0L4VZcD5af-aC-fqqOp9u6p_w-u-gq1xOyKYTyapdjtJbenzfeIE0ZYgMlwa8g1H41go-cRcVavp46LKct43VsvMv3Bamrc63aYkzBHdclzcezPtEvq4NZ7FvBU1_E6p7HvBQ/s320/a2500uxMineTWMPortrait1-CA1074777.jpg" width="275" /></a></div><br /><div class="separator" style="clear: both; text-align: left;">I also put AMIX into its special "Hedley Hires" 1024 x 900 mode and booted "twm", which is the more standard X-Windows window manager. The vertical line you see is the failure of the monitor to correctly sync its four quadrants. The consensus is that it probably needs to be recapped.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOIpOeoLLUv_DVRI7AtiGLzq6wDqQyYp39uncA3gsi6OWuLiZzjVxyFFHF9McRD9OqQEAGUa9YM_bHEbvSyIkzYSa6g3uRVrLWRuEgFMpd8FOEIkREFGE_iLLaZ6IQDp4Z5pBBu1rNEEeqeywr8xJOen-ymARoE4Bnz3Z-T5uhRkBL_XZERRPtD1Javur1/s3880/labDuringA25kuxRefit2024.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2355" data-original-width="3880" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOIpOeoLLUv_DVRI7AtiGLzq6wDqQyYp39uncA3gsi6OWuLiZzjVxyFFHF9McRD9OqQEAGUa9YM_bHEbvSyIkzYSa6g3uRVrLWRuEgFMpd8FOEIkREFGE_iLLaZ6IQDp4Z5pBBu1rNEEeqeywr8xJOen-ymARoE4Bnz3Z-T5uhRkBL_XZERRPtD1Javur1/w400-h243/labDuringA25kuxRefit2024.jpg" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">I probably spent 3-4 weeks on this project all-told, with some of it just waiting for parts and such. During that period my lab work area became absolutely cluttered with stuff. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">I hope to find some way to keep the system online for extended periods. As mentioned above, the Gurumodem works great for this purpose, and is honestly the most secure way to expose the machine, since, once logged in, a user has no way to access my local LAN (or even the internet). That said, the same Jack who swapped me for the keyboard is also willing to make a similar swap for one of his spare A2065 network cards, so that's coming.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Overall, this is a fantastic machine, and the restoration experience was very rewarding. Projects like this remind me of why, between all the coding and stuff, collecting has unique joys that are all its own.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><br /><p></p></div><br /></div><br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0tag:blogger.com,1999:blog-4265465497497020010.post-72136960666546400112023-06-13T13:51:00.004-07:002023-06-18T21:32:58.180-07:00Beyond The BBS<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvw-azZMR3jiD5leqlOxkijLxtkRIl4r33fiCn9e3bqFFGOyKqjtNPK2WzRpZKFEJV_huZD7V3W1tgdU4YsKLAaTMjzpxtLuMKttfwATm01JkqkYoknQ1aZeIIe_uEQfN4_ob-ijiJY2XDA92fH61l9mWz1ocO-r8HCIlxPri9Ruk2VzPGRp0CNwV0OQ/s700/songofmypeople-c=.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="700" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvw-azZMR3jiD5leqlOxkijLxtkRIl4r33fiCn9e3bqFFGOyKqjtNPK2WzRpZKFEJV_huZD7V3W1tgdU4YsKLAaTMjzpxtLuMKttfwATm01JkqkYoknQ1aZeIIe_uEQfN4_ob-ijiJY2XDA92fH61l9mWz1ocO-r8HCIlxPri9Ruk2VzPGRp0CNwV0OQ/w400-h286/songofmypeople-c=.jpg" width="400" /></a></div><br /><p></p><p>Bulletin Board Systems (BBSs) in the 1980s are sometimes compared to a primitive version of the internet, and I think there's something to that. Consider the experiences that a typical BBS caller would have when calling around.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb_CYzTU1QHmX0yPjtzkOS6IZwYUP82HQ3sJFtuOxDl_mVz7GnTQVykEksBzfgY7q2Z8HeRhuRj5qUrPn2pftICV4aKeTZHZqJqKjPuJFa-VAn7D2KYA3gjHxn1CNJAAPx1Y1RkX30S4GwTOu59HYLlo5jBD-bJLl1npkTNOXNndKWo7jDZtFeAK0M-g/s1207/atari.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="816" data-original-width="1207" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb_CYzTU1QHmX0yPjtzkOS6IZwYUP82HQ3sJFtuOxDl_mVz7GnTQVykEksBzfgY7q2Z8HeRhuRj5qUrPn2pftICV4aKeTZHZqJqKjPuJFa-VAn7D2KYA3gjHxn1CNJAAPx1Y1RkX30S4GwTOu59HYLlo5jBD-bJLl1npkTNOXNndKWo7jDZtFeAK0M-g/w400-h270/atari.jpg" width="400" /></a></div><p>A user might start their call, for example, by engaging in instant messaging by chatting with the SysOp, then sliding into the message bases for a bit of 'social media' with the other hundred or so active users. Looking for new software, the user might then hit up the file transfers area, where perhaps a whole megabyte of games and utilities might be available, and finally head to the text file area for ansi/petscii images, computer related news, or encyclopedic articles.</p><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQYoZNzbr4TitX7GgQW_02oJrYwMTGYONUtD587qLuQfPEANnexBCYXfvlrgSg7A-8s3P5pWLHsbBcPmy3iE_R_1NYiv0f2j4dbfIc3P8eLZN6K_ad_dxwRhVVU2Dth6538Ko6drNX7C6Qy4WWBY5glt4IfBa2FRpMj-J_F5mo3iAjbju4efwLb_0GQQ/s973/amitcp.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="716" data-original-width="973" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQYoZNzbr4TitX7GgQW_02oJrYwMTGYONUtD587qLuQfPEANnexBCYXfvlrgSg7A-8s3P5pWLHsbBcPmy3iE_R_1NYiv0f2j4dbfIc3P8eLZN6K_ad_dxwRhVVU2Dth6538Ko6drNX7C6Qy4WWBY5glt4IfBa2FRpMj-J_F5mo3iAjbju4efwLb_0GQQ/s320/amitcp.jpg" width="320" /></a></div><p>But then came the actual internet. Instead of chatting with one person, you could chat with all of them. Your social media encompassed people from all over the globe. The availability of software for your computer was measured not in megabytes, but in all-the-bytes; your images and movies were measured in pixels instead of characters per line, and your access to news and information became up-to-the-minute from professional journalists. It was little wonder that BBSes did not fair well against such competition.</p><p></p><p>Some computing ecosystems handled this well. By "well", I mean that standards for network interface APIs were adopted by their communities and operating systems rather quickly. This allowed any software that wanted to provide solutions involving the internet to do so, without having to worry whether their programs would work on newer or competing internet interfaces. Some obvious examples from the early 90s are PCs with Windows via WINSOCK, Apple computers with MacTCP, Amiga computers with AmiTCP, Atari STiNG, and others.</p><p>This adoption was vital for progress in networking software to occur. With only a single viable API to write, e.g., a web browser against, competing browsers could be developed, with each trying to out-do the others in features, which moved the product space forward. And whether you are looking at Internet Explorer vs Netscape, or IBrowse vs AWeb, this is exactly what happened.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLsgW3pPnrE1TxMhG1jX3f5Sa09HltyC3GQiaNljc_W97iM6PTIk1NhrXGDXgPKzIe0_3cHgyNILeR0hK_gYrkyLf90eeq0OgWFtQS4igWG8qO3mE5G4SfihW58nMozyGvZxxvzD7tzBAjjHRFB8lTZSO8Ny7801LKsIXPFiEe6kKkHjml2bCkYJ0qqw/s1600/beautifulSysteminWhite.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1307" data-original-width="1600" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLsgW3pPnrE1TxMhG1jX3f5Sa09HltyC3GQiaNljc_W97iM6PTIk1NhrXGDXgPKzIe0_3cHgyNILeR0hK_gYrkyLf90eeq0OgWFtQS4igWG8qO3mE5G4SfihW58nMozyGvZxxvzD7tzBAjjHRFB8lTZSO8Ny7801LKsIXPFiEe6kKkHjml2bCkYJ0qqw/w400-h326/beautifulSysteminWhite.jpg" width="400" /></a></div><br /><p>Some platforms, however, did not handle the dawn of the internet particularly well. An example of this is the Commodore 8-bit line, particularly the Commodore 64. With multiple and endlessly changing internet interfaces, each one picked up and tossed aside in favor of a Shiny New Way, the result would be a a relative lack in internet software, even of the limited sort that the hardware could handle, and this led to little or no competition or progress. </p><p>It is this amusing history - this parade of technologies - that I will be walking you through, before I bring in my own float.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgeowj9drXJG9p0qvKNtyXp5IEzqxoWGgigvtkDXMWtpoXmgRyHABYX9gariZUPTr6jEQ6azs_7Ywsc6M6ThGhbsEQMnOzZ4EJKxUqJu0yuUCQiQ_UQ4m0mikNMBFLx7M3vDQfqxW73WRdIpS4nbx2l24CNlfs8N1eXVXqTpZEqACMtg4ej80qLGT4UA/s476/linux.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="342" data-original-width="476" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgeowj9drXJG9p0qvKNtyXp5IEzqxoWGgigvtkDXMWtpoXmgRyHABYX9gariZUPTr6jEQ6azs_7Ywsc6M6ThGhbsEQMnOzZ4EJKxUqJu0yuUCQiQ_UQ4m0mikNMBFLx7M3vDQfqxW73WRdIpS4nbx2l24CNlfs8N1eXVXqTpZEqACMtg4ej80qLGT4UA/w400-h288/linux.jpg" width="400" /></a></div><br /><p>In the late 1980s and early 1990s, the initial solution for C64 users to get on the internet was an ISP "shell" account. This was functionally similar to a BBS, in the sense that a common 1980s modem was the only hardware you needed, and you used the same terminal programs to access the shell account as you did to access many other non-Commodore BBSs. During this time, demand for C64 and C128 terminal programs that supported *NIX terminal types would increase, leading to the popularity of programs like Novaterm or Desterm. </p><p>At this time, the C64 "user port", where serial modems were connected, was viewed as being limited to 2400 baud. This limitation was overcome in two different ways.</p><p>The first was by using the Creative Micro Designs "SwiftLink" 6551 UART cartridge. This cartridge would consume the computers expansion port to provide a faster dedicated standard RS-232 serial interface, capable of using faster modems available for PCs at up to 38.4 bps. </p><p>Another way higher speeds were achieved was through Danial Dallmann's UP9600 mod, which was presented in 1997. This was a modification of the standard C= user port serial interface, which used additional pins to take advantage of that computers' automatic bit-shifting feature. As the name suggests, it enabled the C64 to reliably communicate at 9600 baud. The mod itself could be done to the modem or to the computer, and required only jumpering a few extra pins to each other.</p><p>Of course, this entire variety of dial-up internet died with the loss of popularity and availability of ISP shell accounts.</p><p>So, we're still in the 1990s, and we've already got 3 hardware interfaces to the internet. This means it's time to talk about PC-based modem emulators and null-modem cables.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWgfQAGOdWC-VLuQLTgVP70_mWAjL6SuJI6NXnbHPPSIOTSr4kxqB0R2kXui9ic3x7lgy8ZjxcRZCyCAAWXAtIlIEDv5uAuYzyh3cVybLYql8uMNQ5UygrY9-cWMU4M6CXIoepX59U92ailfjzMGv3c2JMVRGi20hOa1EQHYLk4-F8kjoL_rcPPq5-4A/s3728/c128online.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3728" data-original-width="2832" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWgfQAGOdWC-VLuQLTgVP70_mWAjL6SuJI6NXnbHPPSIOTSr4kxqB0R2kXui9ic3x7lgy8ZjxcRZCyCAAWXAtIlIEDv5uAuYzyh3cVybLYql8uMNQ5UygrY9-cWMU4M6CXIoepX59U92ailfjzMGv3c2JMVRGi20hOa1EQHYLk4-F8kjoL_rcPPq5-4A/w304-h400/c128online.jpg" width="304" /></a></div><br /><p>In 1996, I was only 3 years separated from my own BBS SysOp days, when I found myself working in a computer science lab at my university. We had several rows of 386 PCs running Slackware linux, all connected to the internet, and each with an external IP address. This meant that anyone on the internet could access any of those machines. Oh, those days of innocence!</p><p>Together with some of my old BBSing friends, we engaged in a project to connect my Commodore 128 to one of these machines using a null modem cable, which is simply a serial cable that allows two computers to talk to each other. One end of the cable connected to the PC serial port, while the other end connected to the C128 user port, after going through some voltage converting chips. The C128 would be running my BBS software and watching for the "Carrier Detect" signal on the serial port to go active. Meanwhile, the PC would run a linux terminal program called 'minicom' when a user logged in, which would automatically wake up the C128 BBS program and announce itself to the user. In effect, by remotely connecting to the PC via telnet, and logging in, you would be using a BBS, running on a Commodore 128.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieh7i5rVnYRf4MyRK1T4eJ3QTRz2NcvwAqQTXtECCKReYbV2y9R-YXl2G8k_Uo50z4kr2_EwIdr76i3wi7XXAUtTA7qF_sWo54slCq-rWQ3xld4SaD8aoxHcD9B0LN5kamkWhbQJxM0NRXLZzFSUhOwgTga9OFxWs6PBQrsamrhxMBNKwZY-OzpclttQ/s460/leif.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="460" data-original-width="460" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieh7i5rVnYRf4MyRK1T4eJ3QTRz2NcvwAqQTXtECCKReYbV2y9R-YXl2G8k_Uo50z4kr2_EwIdr76i3wi7XXAUtTA7qF_sWo54slCq-rWQ3xld4SaD8aoxHcD9B0LN5kamkWhbQJxM0NRXLZzFSUhOwgTga9OFxWs6PBQrsamrhxMBNKwZY-OzpclttQ/w400-h400/leif.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Leif Bloomquist</div><p></p><p>My little college project illustrates the next phase in Commodore 8-bit internet access. Around the turn of the millennium, Leif Bloomquist would present "BBS Server", a windows application that would forward tcp/ip connection from the internet to one of the PCs serial ports. The purpose was the same as my minicom example: to allow Commodore BBSs to be accessed from the internet instead of old phone lines, but also included outgoing connection abilities with Hayes style AT-command emulation.</p><p>This was followed by a project from Jim Brain called TCPSER, which also used null modem cables. This was written as a port of BBS Server to linux, and provided the same Hayes/C= 1670 modem emulation that BBS Server does. </p><p>The last in this category was Strikelink USB by Alwyz, author of the popular CCGMS term program for the C64. In this case, the Strikelink is a cable that connects the Commodore user port serial interface to the USB port of a PC instead of the standard com port. Like the later Strikelink variations, this was never really produced for sale, but only presented as a project for interested users.</p><p>These sorts of solutions are still used today. Strikelink USB, in fact, only goes back a decade. However, the requirement of having a PC physically close to your Commodore computer has probably limited its popularity overall.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifoVsQmgzUM_WNmO7oMMGCWeqDbLS4K2HHPsO3FOJkCYlWKz-_mpsFnML4gJwZa4kYlfhdpH87WP6k8P6LNAw8KbS4GAxPT5B8tbNZPJvJWCvbaZmFcYSFRZ_hrKbR26oQFyTuKQsRgqFLZ8Q7zWxVVT_LPAww4iM-DunCDe6D99sJqvml5lY9N8hJEQ/s325/palmcradle.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="271" data-original-width="325" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifoVsQmgzUM_WNmO7oMMGCWeqDbLS4K2HHPsO3FOJkCYlWKz-_mpsFnML4gJwZa4kYlfhdpH87WP6k8P6LNAw8KbS4GAxPT5B8tbNZPJvJWCvbaZmFcYSFRZ_hrKbR26oQFyTuKQsRgqFLZ8Q7zWxVVT_LPAww4iM-DunCDe6D99sJqvml5lY9N8hJEQ/w400-h334/palmcradle.jpg" width="400" /></a></div>The late 90s also saw the first attempts to join the rest of the computing world in connecting to the internet via dial-up SLIP/PPPoE. If you dialed up to the internet in the 90s, and you did not have AOL, you were probably using a SLIP or PPPoE account. There were several ways for the C64 to do this as well. <div><br /></div><div>The most obvious way was to continue using the same modems used for shell accounts, but one of the stranger methods that had its day in the sun was the Palm Ethernet Cradle for the Palm Pilot. This little docking station was actually a little box that took PPoE packets from its standard RS-232 serial port and sent them out of its wired RJ-45 ethernet jack. Users of old computers would break open the case to wire up a normal 9 pin connector, and then use either the SwiftLink cartridge or a voltage-shifted null-modem cable mentioned above.<br /><p>For software, the C64/C128 operating system LUNIX, by Daniel Dallman, had both a SLIP and PPoE client, as well as some very basic internet tools, such as telnet and ftp clients, and a web server. Another internet client was The Wave, for the Wheels operating system, which included a terminal program and web browser.</p><p>The ethernet cradles may still be in use, but dial-up internet is not exactly common any more. Also, while LUNIX is still remembered by some, The Wave required both Wheels OS and a Super CPU, which leaves it with a limited audience.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNgnTgn0g6Ql-PA0Mi0NRLOlMNBzbE3Mg2jsmGojweGyXdDsumINScMzVT_CDahQUCTQHUVnYY8VwjlEoHWn2bzSpCpbrbNnw0wT4ORbxoKaL8YpdXkhr-4wlXWRYjwgcDFTvXpbnz6A5agFk4V6dE1et5k86V94Br_UlbiZlYsh5nvMeI1qdSI-QSzA/s645/800px-RR-Net_Mk2_und_Mk3.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="418" data-original-width="645" height="259" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNgnTgn0g6Ql-PA0Mi0NRLOlMNBzbE3Mg2jsmGojweGyXdDsumINScMzVT_CDahQUCTQHUVnYY8VwjlEoHWn2bzSpCpbrbNnw0wT4ORbxoKaL8YpdXkhr-4wlXWRYjwgcDFTvXpbnz6A5agFk4V6dE1et5k86V94Br_UlbiZlYsh5nvMeI1qdSI-QSzA/w400-h259/800px-RR-Net_Mk2_und_Mk3.jpg" width="400" /></a></div><br /><p>The mid-late 2000s saw the first ethernet bus cartridge for the C64/C128, called the RR-Net, which is short for "Retro-Replay-Net". It was produced by Individual Computers as an 'add-on' for their "Retro Replay" freeze cartridge. </p><p>The cartridge contains a Cirrus logic CS8900a ethernet chip, which is set up in 8-bit mode. Registers are then exposed on the C64 expansion port address page to allow packet bytes to be transferred back and forth. </p><p>The RR-Net was eventually turned into a proper stand-alone cartridge, completely compatible with the original RR-Net add-on. These can be found under the names RR-Net MK3 from Individual Computers, TFE from Adam Dunkels, and the 64NIC+ from go4retro.com.</p><p>A cartridge solution likes this has the benefit of speed, but the downsides of consuming the cartridge port, and requiring that the C64 run a full tcp/ip stack, with its own buffers. Perhaps half a dozen software titles support the RR-Net, including terminals, a browser, and PC transfer tools, the most impressive being Contiki from Adam Dunkels. Contiki is a GUI operating system with a tcp/ip stack called uIP. The entire OS is essentially designed around networking, and its small selection of internet clients and tools.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-AhsYl4lSz7an1xWuccucvxjeCyYPv84NI9SC5fY_Nygr_Nfr0cvs7NrXwPcRWYWsvYb9b7OcowQ5U1CW1suvxWbNIKmMJJNlFpzEu2bPn2Wzlxe1UnuzlOvYqV3xaFSuO-iyOfd7U7w5OKIPbw66DakqQp-j1vcIKTbZcsHGjTtfUZzLLYzxXacLOQ/s1056/1541ult2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1056" data-original-width="762" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-AhsYl4lSz7an1xWuccucvxjeCyYPv84NI9SC5fY_Nygr_Nfr0cvs7NrXwPcRWYWsvYb9b7OcowQ5U1CW1suvxWbNIKmMJJNlFpzEu2bPn2Wzlxe1UnuzlOvYqV3xaFSuO-iyOfd7U7w5OKIPbw66DakqQp-j1vcIKTbZcsHGjTtfUZzLLYzxXacLOQ/s320/1541ult2.jpg" width="231" /></a></div><br /><p><br /></p><p>More recently, the 1541Ultimate-II cartridge was also released with its own ethernet port and interface. The author has provided a couple of tools, including a terminal, which supports this port. The 1541UII is reportedly also adding SwiftLink and modem emulation, to allow the use of other terminal programs. Presumably it is the same interface integrated into the Ultimate64 computer, which is an FPGA reproduction of the computer with built in 1541Ultimate-II features.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiddkqD18waQUP4T25ua4sqFKJwjqnzyY8mZjet2Hx9pDwrRS3QwMuErGFKxJ-OKPh4eXe5SCmFjn-kVRCZXZajJnRlkylKZnKfXi9r65qV5gkWwaWCdXOoLJPtaq5lN9Yyw4THx6LBlB8SjvQ-P8vZr8Yu0IGaArqC-1M78seFw5BilQ32Y5KPbwQahg/s488/comet64.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="462" data-original-width="488" height="379" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiddkqD18waQUP4T25ua4sqFKJwjqnzyY8mZjet2Hx9pDwrRS3QwMuErGFKxJ-OKPh4eXe5SCmFjn-kVRCZXZajJnRlkylKZnKfXi9r65qV5gkWwaWCdXOoLJPtaq5lN9Yyw4THx6LBlB8SjvQ-P8vZr8Yu0IGaArqC-1M78seFw5BilQ32Y5KPbwQahg/w400-h379/comet64.jpg" width="400" /></a></div><br /><p>As microcontrollers became cheaper and more full featured, we started to see them used to give us even more internet options. </p><p>The COMET 64 was released in 2008, along with the launch of its companion web site "commodoreserver.com". While COMET appears to be a user port modem with wired ethernet, it's actually better described as a storage and data exchange device. Much like Q-Link, CommodoreServer features chat and online gaming options. When a special driver is loaded on the C64 computer, the modem also provides an internet disk drive on device 2, with all files stored on the commodoreserver.com web site.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV4e3B9nBe-vfD77DakXB5t7MzciPgfDgmMVOyPu3tFu21ZbfAR0pS3pwD1lGOCh2QoURDPAK7yvB9WJ-bNlvepfjCUNnHT-M02w4ogWT0tnB0UJ_WmtKhygdfPhDns2vWaMgsaPpAkJIsxCcyMhy--Po0M4ly5JmoWt0QlKsl2ZBQG8NOkRp7tFm1CA/s426/leifmodem.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="426" data-original-width="406" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV4e3B9nBe-vfD77DakXB5t7MzciPgfDgmMVOyPu3tFu21ZbfAR0pS3pwD1lGOCh2QoURDPAK7yvB9WJ-bNlvepfjCUNnHT-M02w4ogWT0tnB0UJ_WmtKhygdfPhDns2vWaMgsaPpAkJIsxCcyMhy--Po0M4ly5JmoWt0QlKsl2ZBQG8NOkRp7tFm1CA/w381-h400/leifmodem.jpg" width="381" /></a></div><br /><p>In 2015 we saw the first emergence of the "wifi" modem with the release of the Commodore WiFi Modem by Leif Bloomquist, of BBS Server fame. His user port modem was a complete "BBS Server" package in one box: it could allow incoming connections in order to run a Commodore BBS, as well as allowing outgoing connections to the emerging (re-emerging?) "Telnet BBS" phenomenon.</p><p>Great care was given to the user interface of this device, with easy menu driven configuration and use.</p><p>This was the device that inspired my own interest in wifi modems.</p><p>The next year, the C64Net-WiFi modem would appear, followed soon after by the Strikelink wifi modem project, and later by several other similar devices, which you can still pick up on eBay for $25-50. Like Leif's modem, these would be user port devices, typically with UP9600 support. They all have varying features, but in common they support some variation on the Hayes AT-command set, giving them a level of compatibility with standard C64/C128 terminal programs.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNoJ9aspsOlNwrdwiCI2SLNzbiW_uG_hbFBZfMS4E2TVxYuROF1gvQ-vm4T1Xd9JTr5YRvDum2KryhUjZmp6-82jgB_zgh2YK5YppsL6f0pQzdIzO2z3VE6KiQpRbmrHEomwBq-iYhrZg3kbuGvNFFknLhVlcFKzezDYEOaPQcutCfWkQo5nflBtqWZg/s1200/link232.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNoJ9aspsOlNwrdwiCI2SLNzbiW_uG_hbFBZfMS4E2TVxYuROF1gvQ-vm4T1Xd9JTr5YRvDum2KryhUjZmp6-82jgB_zgh2YK5YppsL6f0pQzdIzO2z3VE6KiQpRbmrHEomwBq-iYhrZg3kbuGvNFFknLhVlcFKzezDYEOaPQcutCfWkQo5nflBtqWZg/s320/link232.jpg" width="320" /></a></div><p>Related to the modem emulator, is the LINK-232 WiFi. This wireless ethernet device is connected to an integrated Link-232 cartridge, which in turn ia a clone of the CMD Turbo-232 cart, the successor to the SwiftLink cartridge mentioned above. Like the other wireless modems, it is compatible with a few exceptional term programs, and supports the AT command set. Aside from terminal programs, it also enjoys support from several Zimodem-compatible apps, and upcoming support from Greg Nacu's 64OS.</p><p>Even more recently the WiC 64 device was also made available for the C64. It features a user port interface like other wifi modems, but uses a parallel instead of serial interface. Although this creates yet another software ecosystem, the advantage would be the speed boost over serial.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH2IvnG41YDkjN_2KxUAKv6K-1P4zinR4Nbn1g-mkXb40vNeh0fq3P9p_2I1MsEAtD0xTf9gTgYYrYQrv5iZdCHPrGX09x_TGm77gY3kfN1Zw-RoaIFcTfdRcrTYMkFD2cqr7rWV1FtnL-nVn-67PzbfKp8lfQUifNtqv2MsKDt0QNtS--__HxLLSerQ/s437/home_flyer.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="234" data-original-width="437" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH2IvnG41YDkjN_2KxUAKv6K-1P4zinR4Nbn1g-mkXb40vNeh0fq3P9p_2I1MsEAtD0xTf9gTgYYrYQrv5iZdCHPrGX09x_TGm77gY3kfN1Zw-RoaIFcTfdRcrTYMkFD2cqr7rWV1FtnL-nVn-67PzbfKp8lfQUifNtqv2MsKDt0QNtS--__HxLLSerQ/w400-h214/home_flyer.jpg" width="400" /></a></div><br /><p>The last internet platform we'll look at are also the newest: IEC serial port internet devices. The IEC bus is the C64s primary disk drive and printer port, and is supported by the C64 KERNAL as such. These IEC modems have other internet socket communication features, but their primary appeal is clearly for network-based storage.</p><p>The first of these devices to appear was the COMET+ and COMET Flyer, the successors to the COMET 64 modem discussed previously. Along with it came another web site, commodoreonline.com, providing similar remote disk/file storage as commodoreserver.com did. </p><p>A later addition to network storage is the PETDisk Max, from bitfixer, which has a IEEE-488 interface for PETs, but includes wifi capabilities for fetching data from disk images over the network.</p><p>The newest entry in this category is the Meatloaf and Fujinet. While not yet available, Meatloaf is reported to offer similar features to the Flyer, except that it uses more standard web protocols (WebDAV) for dealing with remote disk images and files. It seems is will also optionally include a user-port option for standard modem compatibility. The relationship between Meatloaf and Fujinet is unclear to me, but it's possible the Fujinet for the C64 will be based on Meatloaf.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir18IYAs4NMggECoBh7ksh3yiDuUCH61dwGiCTBuhE8ALeHDwlWuck_QsYgUwcCmlTwmfiW99jNSUZo9liI4CuRi-1U9WeyaXujCnI1cpvf1ivnd5Uc6ajnlGwyagykhEfLYVr7HG0iBz2KsJv791pNe_04ZIY44V5fEHMGVVNlV36ibNCQ9_nguw4kw/s500/standards.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="283" data-original-width="500" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir18IYAs4NMggECoBh7ksh3yiDuUCH61dwGiCTBuhE8ALeHDwlWuck_QsYgUwcCmlTwmfiW99jNSUZo9liI4CuRi-1U9WeyaXujCnI1cpvf1ivnd5Uc6ajnlGwyagykhEfLYVr7HG0iBz2KsJv791pNe_04ZIY44V5fEHMGVVNlV36ibNCQ9_nguw4kw/w400-h226/standards.png" width="400" /></a></div><br /><p>And that brings us up to the present. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTgjZhUsSWeBP0Z2Zq1SlTCcKus2jQNgZUSTVUXmhGBvoS-W3SCVoah7KLD86xwQw30X0KKKc8md3PJyjjagRJXHUIVCbejEUUTieH2khbufRV5Fe0RLNY7eWfoO0xW6bZuNpG7MRARJKLsJBi91FtlVHgW5oVowAYs3xEI4yixSxDcH1EIcmYV4e7Dg/s1983/modem.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1037" data-original-width="1983" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTgjZhUsSWeBP0Z2Zq1SlTCcKus2jQNgZUSTVUXmhGBvoS-W3SCVoah7KLD86xwQw30X0KKKc8md3PJyjjagRJXHUIVCbejEUUTieH2khbufRV5Fe0RLNY7eWfoO0xW6bZuNpG7MRARJKLsJBi91FtlVHgW5oVowAYs3xEI4yixSxDcH1EIcmYV4e7Dg/w400-h209/modem.png" width="400" /></a></div><br /><p>My own story in all this begins in 1984, when I picked up a VICMODEM for my Commodore 64, and immediately became an avid BBS user. By 1985, I was running my own BBS system, initially on 64Messenger, and then switching to CMBBS. I always found one reason or another to be dissatisfied with these programs though, so in 1986 I wrote and ran my own program, called Zelch 64. In 1990, I switched to the newly written Zelch 128, and ran that until 1993. In 1996, as mentioned above, I revived the Zelch 128 BBS as a telnet-board. After 1997 though, I was a typical C= 8-bit user enjoying all the various internet options mentioned previously, until 2016.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitLsJjalJqV29obk8W0RuARH4zwkCv3H25ZkSZ5LaQvjEuzl_vH5fxSEqzmk_TRX6cuOq8vCFcQbiTuejHEzPYssMQIgmtW4i7kJ1RRWNcze6Uac3tokqUOK09hFtyEfETvFQ8iVFhd392Fm3cdyU0-oHE8PpuaA55dLnUzCtiP-bw2xp80BRjE9MUJw/s3963/64nets.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1350" data-original-width="3963" height="136" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitLsJjalJqV29obk8W0RuARH4zwkCv3H25ZkSZ5LaQvjEuzl_vH5fxSEqzmk_TRX6cuOq8vCFcQbiTuejHEzPYssMQIgmtW4i7kJ1RRWNcze6Uac3tokqUOK09hFtyEfETvFQ8iVFhd392Fm3cdyU0-oHE8PpuaA55dLnUzCtiP-bw2xp80BRjE9MUJw/w400-h136/64nets.jpg" width="400" /></a></div><br /><p>The creation of the C64Net WiFi in 2016, by Carlos Santiago of ElectronicsIsFun.com, was my first opportunity to have an impact on internet appliances for the Commodore 8-bits. Carlos himself really wanted a way to access all the disk images he'd downloaded from the internet directly from his C64, and I suspect what he really had in mind was something closer to the Flyer or Meatloaf. However, he also wanted a proper internet modem, and so that's the direction he chose. At the time, I was a user of Leif Bloomquist's wifi modem, and was very excited about the chance to influence the features it would have.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRMmEaeFU3L1D_ikjH1jnaym5Hql0j7Zve50YVAw98oIBY-eXuiqu0v6KCs56-TMdtUKNvn4v7ZF47B1yFQt7dFdNZTOQuHMo9NgaAI5rpc5Fmlk5PmPe36R2wRIqs-ksk82DB8d1cogdci6cAWuCOpOWn5F99f9qyTohxOBUIlfPRsZh6U_Sbz0Amuw/s1815/64net.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1575" data-original-width="1815" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRMmEaeFU3L1D_ikjH1jnaym5Hql0j7Zve50YVAw98oIBY-eXuiqu0v6KCs56-TMdtUKNvn4v7ZF47B1yFQt7dFdNZTOQuHMo9NgaAI5rpc5Fmlk5PmPe36R2wRIqs-ksk82DB8d1cogdci6cAWuCOpOWn5F99f9qyTohxOBUIlfPRsZh6U_Sbz0Amuw/s320/64net.jpg" width="320" /></a></div><br /><p>The C64Net WiFi would be based on the Espressif ESP-8266, specifically using the incredibly cheap ESP-01 package. This microcontroller came with 1mb of flash memory, and 80kb of user ram, half of which is available to application programmers. The cartridge was designed to be powered entirely by the host computer using its stock power supply. This presented some serious constraints on the C64 user port, which was solved by using both the 5V and 9VAC rails to power the device. A lot of the circuitry on the right side is for converting the 9VAC to 5VDC. The interface is obviously the user port, and the pin configuration is designed to comply with the standards for Commodore user port modems, including pins for both Carrier Detect, and hardware flow control. It also included the pin configuration to support UP9600, which could be disabled via jumpers for C128 users.</p><p>The speed of the C64 user port serial interface is worth discussing at this point. The most popular Commodore 8-bits: the VIC-20, C64, and C128, did not have a serial UART built into the computer. Serial communication was achieved on the computers' 8-bit parallel "user port" interface by bit-banging routines built into the operating system, called the KERNAL. </p><p>Commodore initially advertised that the C64 user port could achieve a speed of 300bps, however, it was quickly discovered that, by working around a bug in the KERNAL's bit timing table, 1200bps could easily be supported. The C128 could handle 2400bps, especially in its 2mhz operating mode. By ignoring the KERNAL and using more tightly written bit-banging algorithms in assembly language (Ilker Ficicilar), speeds of 4800-7200bps were achievable. By altering the hardware, UP9600 bumped this up to 9600bps (Dallmann). More recently, 57600bps was achieved by both disabling the VIC-II video chip and timing the bit transfer by counting the cpu cycles instead of using timer interrupts from the computer I/O chips (Jorge Castillo). </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF736jy2aPs7Ur6Y8QM6tM1mF3s_c0AgTu5pvvLu4yTKyHZqmBVh4oONmjUeYg3GSByQcsqvMMPyrhR537ppyievI0DRMQVKT4xFBu3FrWP2DilOhNAGoGjh8N6YeM28mz961f1EgYqGAerAGWRHIwOVp6vYeK75VWGLlshmHTJ_xBfQzTjBdrPAs_mg/s273/zimodem.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="273" data-original-width="273" height="273" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF736jy2aPs7Ur6Y8QM6tM1mF3s_c0AgTu5pvvLu4yTKyHZqmBVh4oONmjUeYg3GSByQcsqvMMPyrhR537ppyievI0DRMQVKT4xFBu3FrWP2DilOhNAGoGjh8N6YeM28mz961f1EgYqGAerAGWRHIwOVp6vYeK75VWGLlshmHTJ_xBfQzTjBdrPAs_mg/s1600/zimodem.jpg" width="273" /></a></div><br /><p>So, my Zimodem project began in 2016 to provide firmware for the C64Net WiFi and its ESP-8266. From the very beginning, I had three specific goals for the project, which have been achieved to varying degrees.</p><p>The first goal was that the firmware appear to the user as a Hayes/C= 1670 style modem, and have all the features expected from such a command set. The second was that the modem be a useful appliance to computers that are limited to running terminal programs. The last was that the modem be a useful internet platform, allowing it to be easily used by the host computer for writing custom network applications and games. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTcFf2fpRK4JLk3ean5UFFZG_orx9toXt-iSUbSrepwF4t-Vj7jSdv5XpVWL_Vi7Ys8k7jIhLBEbv6BaLhOLX7jXP4DRBtk9yFtzHcHTb-VUvplRaMx9h_A5OZ55PWuH24JOdwGgbNfm2MDTWLLL4GATtnTFmOVQUg-ApVaqLCG6-aeVIuL6NJu8U4yg/s712/ccgms2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="538" data-original-width="712" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTcFf2fpRK4JLk3ean5UFFZG_orx9toXt-iSUbSrepwF4t-Vj7jSdv5XpVWL_Vi7Ys8k7jIhLBEbv6BaLhOLX7jXP4DRBtk9yFtzHcHTb-VUvplRaMx9h_A5OZ55PWuH24JOdwGgbNfm2MDTWLLL4GATtnTFmOVQUg-ApVaqLCG6-aeVIuL6NJu8U4yg/s320/ccgms2.jpg" width="320" /></a></div><br /><p>The firmware for the C64Net uses inverted signals: high for active, low for inactive. This always struck me as intuitive, though the more I've learned about electronics, the more I realize that it's not common, including in RS232.</p><p>The AT command set includes all the standard commands and every extended command that made any sense for a WiFi modem, and many that didn't. This includes things like response codes, verbosity, duplex, and setting internal registers for auto-answer and number of rings. That last one may not make much sense, but I tried not to assume what all BBS software might expect or be looking for.</p><p>Commands were also added to list available wireless access points and to connect to one with credentials. Although I was a slave to the Espressif libraries for the types of wireless security supported, I've yet to run into any troubles in that department.</p><p>ATD, which is the command for making an outgoing call and connecting to a remote phone number, was extended to allow internet hosts and ip addresses. On connection, the modem exits command mode and enters stream mode, where bytes can be sent to and received from the remote system.</p><p>Support for both hardware and software flow control was added as well, using the ATF and AT&K commands.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNA_oFhMMugcvEY4XnCcQt0e2SxmzplJUWB6TL_K1Qj1Z0Ttos8luJ9b6Vaus82vNWdsvLOag8ruXjWZTuqeA2Ek6jniEyLKHiY4rTGTEGZNZv4OpEvXlWc8RqpaCSZNTyHkJiiAR9QXcuXI8N3mzTcEwUdeN2N8-smNr6uyv6UcIwjFPzwLfM2OvxQg/s400/earlycbmterm2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="337" data-original-width="400" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNA_oFhMMugcvEY4XnCcQt0e2SxmzplJUWB6TL_K1Qj1Z0Ttos8luJ9b6Vaus82vNWdsvLOag8ruXjWZTuqeA2Ek6jniEyLKHiY4rTGTEGZNZv4OpEvXlWc8RqpaCSZNTyHkJiiAR9QXcuXI8N3mzTcEwUdeN2N8-smNr6uyv6UcIwjFPzwLfM2OvxQg/s320/earlycbmterm2.jpg" width="320" /></a></div><br /><p>Additional AT commands were invented to overcome the limits of old terminal programs, and expand the supported platforms.</p><p>For example, the AT&P command was added to support decoding ASCII/ANSI to PETSCII, including color translation. </p><p>Both ATR and ATS3 allow the carriage return character to be tweaked. </p><p>"Telnet" code handling was added mostly to make a remote telnet server happy by responding properly to requests and demands. One issue I ran into here was remote telnet servers that, when receiving a telnet escape code, would immediately read the next character. When dealing with network packets, however, there is never a guarantee that all of the bytes of a telnet command would arrive in the same packet. One of the many accommodations I had to make over the years was to try and guarantee that an entire command would always be contained in the same packet.</p><p>Baud rate, as well as the ability to change other RS232 settings, such as data bits, stop bits, and parity bits, can be changed with the ATB command. Although 8N1 is practically universal, it wasn't always so, and some older terminals will desire other settings.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLezm-OxQbo4-UDurPN-oXtBAh77KvzT55P-tmWUgVcJLrXgKNyiiDWy9PHxkSH8aGy2ojqZN6n3FYMlYAPokPYCpoNYsiI-hTTXolwfxrLvIIzXjB_MnHKY7ARYe5xwN6jF8ACD0F4ao7D38MBnGtojm5D5NVWTOngaOuUetiNeF4Va6XarX8jISVZA/s1536/qlink-menu.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="940" data-original-width="1536" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLezm-OxQbo4-UDurPN-oXtBAh77KvzT55P-tmWUgVcJLrXgKNyiiDWy9PHxkSH8aGy2ojqZN6n3FYMlYAPokPYCpoNYsiI-hTTXolwfxrLvIIzXjB_MnHKY7ARYe5xwN6jF8ACD0F4ao7D38MBnGtojm5D5NVWTOngaOuUetiNeF4Va6XarX8jISVZA/w400-h245/qlink-menu.jpg" width="400" /></a></div><br /><p>An important feature for supporting existing terminals and applications was the addition of a persistent phonebook. With the ATP command, fake "phone numbers" can be assigned to particular internet hosts and ports, with desired terminal settings. The phone numbers are automatically persisted to flash memory. Later, whenever the ATD command is used with an integer, the phone book is checked and the matching host connected to.</p><p>This makes it easy to use the Q-Link revival server called "Q-Link Reloaded". For those unaware, Quantum Link was a C64 online service that was a predecessor to AOL.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlg5uRk-V-dspgSlvB5DL9KnT_mTGAwMKKUnBxiso2nVyIAy22sgc43AcSEmR3bMdhGtnj8aBGNiQDub_oVENlHOezlam6dgEZ9qgV3LRpvxO6qrMD8Q36H8SA7KanxQDS_zICKplL6OOIDd2SDMBXf1zRbANoRL9AeUqQwX3nsgAgOY3RaLC2hoaPRQ/s360/settings.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="360" data-original-width="360" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlg5uRk-V-dspgSlvB5DL9KnT_mTGAwMKKUnBxiso2nVyIAy22sgc43AcSEmR3bMdhGtnj8aBGNiQDub_oVENlHOezlam6dgEZ9qgV3LRpvxO6qrMD8Q36H8SA7KanxQDS_zICKplL6OOIDd2SDMBXf1zRbANoRL9AeUqQwX3nsgAgOY3RaLC2hoaPRQ/w200-h200/settings.jpg" width="200" /></a></div><br /><p>In addition to the phonebook, 38 different terminal and register settings can be persisted in the onboard flash, meaning that the modem always comes on exactly as you prefer it. This was especially important for machines that prefer odd baud rates or strange data bit and parity settings.</p><p> The behavior of various pins of the microcontroller can also read or changed using special AT commands. This was important for dealing with UARTs that required, for example, the DCD pin to always be active.</p><p>The firmware supports over-the-air updates, so there's never a need to deal with special programming cables or software to get the latest version. Updates can be checked for and downloaded on demand using the AT&U command. Specific or custom versions can also be reverted to, should one be feeling nostalgic. I often use this for testing versions with one-off features.</p><p>The microcontroller does its best to maintain a real-time clock, which can be read using the AT&T command. It will initialize this clock via the Network Time Protocol (NTP) on bootup, and the firmware will allow the TimeZone to be set.</p><p>A help file for all the AT commands can be accessed with the AT&H command, which will persist the current versions help file after first access for off-line viewing.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJo2hUxj60F1ke-MCZs0vFhA8iSUiYWvmq0xDFeCm768H7TEDAi2a77gpYbd7FItsIOKS52ZrqcLiF3i5Y0AU8hxO5BC-M_BWwsI5SQ4pdGDXcYTvFfh2OVorWfso10edYK8_QKy0YKDJxNDAvdXGI7eXIHqDGbR1SFEJAP9FAtajJKyErH8i9sFLAaA/s1147/zelchbbs.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="875" data-original-width="1147" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJo2hUxj60F1ke-MCZs0vFhA8iSUiYWvmq0xDFeCm768H7TEDAi2a77gpYbd7FItsIOKS52ZrqcLiF3i5Y0AU8hxO5BC-M_BWwsI5SQ4pdGDXcYTvFfh2OVorWfso10edYK8_QKy0YKDJxNDAvdXGI7eXIHqDGbR1SFEJAP9FAtajJKyErH8i9sFLAaA/w400-h305/zelchbbs.jpg" width="400" /></a></div><br /><p>The wifi modem can be configured with multiple incoming socket listeners on different ports. Like the phonebook, these settings can be persisted with their own terminal settings so that they are immediately available after reboots.</p><p>Like the "auto-answer" mode on old modems, incoming connections can be configured to send zero or more RING messages and then go automatically into stream mode. This allows Commodore BBS programs that support Hayes or 1670 modems to work out of the box.</p><p>A custom "busy message" can also be configured, so that an incoming connection request, when another connection is already using the serial port, will know they need to try back later.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGVWCuLvjdxCTrxFkaZ_w9ckXiZ7HWKpUNFVeW1YsIW7ges6aY6DZxGIF2i8YvBVinJeXRPfIFn8tmZwa_ehV4-B1XUeRZb2MOWVB8UggQb1EudvVkTr0Ybwx1YtvPJNyhPmSOSpNvS3FIzaSg37r_jpd82wN_AZIgdCdTfKAujwjva5QO-O2JUCb_hA/s614/ftp.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="420" data-original-width="614" height="274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGVWCuLvjdxCTrxFkaZ_w9ckXiZ7HWKpUNFVeW1YsIW7ges6aY6DZxGIF2i8YvBVinJeXRPfIFn8tmZwa_ehV4-B1XUeRZb2MOWVB8UggQb1EudvVkTr0Ybwx1YtvPJNyhPmSOSpNvS3FIzaSg37r_jpd82wN_AZIgdCdTfKAujwjva5QO-O2JUCb_hA/w400-h274/ftp.png" width="400" /></a></div><br /><p>Another feature in supporting the firmware as a networking platform is the ability to make and manage multiple outgoing connections. The ATC command allows a new remote client to be created, without immediately going into stream mode. Instead, the modem stays in command mode, where special AT commands allow the connections to be managed and communicated with.</p><p>Whenever data is received from any of the open connections, the data is presented in the form of packets of data, which can be up to 255 bytes. These packets are preceded by a header block, which can contain information such as the connection id that the data came from, the size of the packet, an 8-bit crc of the packet, and the packet sequence number for that connection. If a sequence or crc number for a packet is incorrect, the ATL command can order the modem to re-transmit a previous packet.</p><p>The ATT command can be used to transmit either a string message, or a block of binary data, to a specified open connection. It can also be configured to return the CRC8 of the data block it received via serial, for error checking.</p><p>Because internet data is likely to be received far faster than a 1mhz computer can process it, there are several new flow control methods that can be turned on to manage incoming data. These are typically variations on standard software (XON/XOFF) flow control that operate at the packet instead of the character level. These are selected using the ATF command.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMMKKyoSbRFyxcLE7AlKD5FDN-tlLpIu51-4ZtoWn5pSFw74BT7h9HC5wZQZWxbafMQHHxPsbUn5ogvg6SYzHCq-EKelWj1ZCggTGx_2kt-HW71J0IGJNGei7iaTCzlDfhclWn49pKUUegUudXmV8l4iJjtX2S7WyD8E02oydsTOAxFdCQQt9mxYTwrA/s352/vicirc.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="262" data-original-width="352" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMMKKyoSbRFyxcLE7AlKD5FDN-tlLpIu51-4ZtoWn5pSFw74BT7h9HC5wZQZWxbafMQHHxPsbUn5ogvg6SYzHCq-EKelWj1ZCggTGx_2kt-HW71J0IGJNGei7iaTCzlDfhclWn49pKUUegUudXmV8l4iJjtX2S7WyD8E02oydsTOAxFdCQQt9mxYTwrA/w400-h297/vicirc.jpg" width="400" /></a></div><br /><p>All of this ended up allowing me to fulfill my dream of being able to write internet application in simple BASIC. Well, *mostly* BASIC.</p><p>The problem is that BASIC V2 found in the VIC-20 and C64 does not have good string parsing functions, which makes separating the numeric data out of each packet header especially painful. The INPUT# command in BASIC also has some rather annoying parsing rules of its own. Luckily, during my BBS days, I learned how to create BASIC strings from machine language. I therefore wrote some packet machine language routines, which I call "PML", that I can call from BASIC to quickly parse the information from incoming packets, leaving the data in a BASIC string variable.</p><p>With that, then, I cobbled together some super simple internet applications, such as IRC (Internet Relay Chat) for instant-messaging, an FTP (file transfer protocol) application for uploading and downloading files from FTP sites, a wget application for downloading web pages or binary files from web servers, and a d64wget for downloading .D64/D71/etc disk images directly from a web server to a blank floppy. I also wrote a telnetd server that allows an incoming internet user to remotely "take control" of the C64 BASIC prompt and use the computer as if they were sitting in front of it, so long as they limit their activity to text input and output. </p><p>I did also write some super simple telnet and petscii terminal programs, just as examples. There are far better terminal programs out there.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5gm2rb7OAflX3cup_iJLT_9vUxhc_qk-BZ4TtsiFMGx0LPhEY_P5-Rb3LYmW1Xr3jhfLBKK7bWqHDG1DSqcYt9FQ4F8jdnwsHdyZRDHO8kyCzelcbKY5II9W5wPObwPw7kwW9UEfjCYjPsm_WpSc57TWqowOvZCJSsc8gKev06YpTNsOZmnwGFwJYOw/s320/commodore-pet-game-weather-war-1.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="200" data-original-width="320" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5gm2rb7OAflX3cup_iJLT_9vUxhc_qk-BZ4TtsiFMGx0LPhEY_P5-Rb3LYmW1Xr3jhfLBKK7bWqHDG1DSqcYt9FQ4F8jdnwsHdyZRDHO8kyCzelcbKY5II9W5wPObwPw7kwW9UEfjCYjPsm_WpSc57TWqowOvZCJSsc8gKev06YpTNsOZmnwGFwJYOw/s1600/commodore-pet-game-weather-war-1.gif" width="320" /></a></div>The culmination of the entire Zimodem project was embodied, however, when took one of my favorite 2 player PET games, called "Weather!", ported it to the C64, and made it playable over the internet.</div><div><br /></div><div>More than anything else, this is what I want people to remember and see in the project. If a simple BASIC (mostly!) game can be turned into an internet game, then just imagine what someone that knows what they are doing can do. Why shouldn't every application have a network component, much as modern software does. If only network applications were so easy to program that you could do it in BASIC by sending string commands with PRINT#!</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJgkrwABEr_eqgBadeN3x7zazLBfT6aQWRlmIzEWkg-8H8uvXF3h1_JDl1jkzy4ejo_zUyHQmmZdvSm_IgNCji45_3mNYIJs-dGXiZ_Sy0nGwiQsM7r82KY2lttVaOaSyv4QEwV4gPzFCKuSJTweI3BJtbhfpOcxK7n5B1kv1GVsEK7pa672dPoTrDMA/s410/telnet1.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="348" data-original-width="410" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJgkrwABEr_eqgBadeN3x7zazLBfT6aQWRlmIzEWkg-8H8uvXF3h1_JDl1jkzy4ejo_zUyHQmmZdvSm_IgNCji45_3mNYIJs-dGXiZ_Sy0nGwiQsM7r82KY2lttVaOaSyv4QEwV4gPzFCKuSJTweI3BJtbhfpOcxK7n5B1kv1GVsEK7pa672dPoTrDMA/w400-h340/telnet1.gif" width="400" /></a></div><br /><div>Because I had a familiarity with the GEOS environment, I also wrote up a proper ANSI telnet terminal program for GEOS, complete with a phonebook, file transfers, and buffers, and followed it with a GEOS PETSCII terminal program with similar features. </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmBL1tT0x3Asv8jIta3nhb1LJow-TBmg-JXQ5FcstOgzBdxK2xteVq-ZqtNn6fFKnVGtZnZG0DiaousVF-_BZqmvFASe5CduQvyrdhQ4dG8Yldnz0LY1BQyUx7kpSU8YLXeOxAfsz-ZIeA-4ekta4L00d3ghGn_e5cYGOUSdTG9gZuSlHYqEIvkP9KAw/s717/QD8dLIZ.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="540" data-original-width="717" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmBL1tT0x3Asv8jIta3nhb1LJow-TBmg-JXQ5FcstOgzBdxK2xteVq-ZqtNn6fFKnVGtZnZG0DiaousVF-_BZqmvFASe5CduQvyrdhQ4dG8Yldnz0LY1BQyUx7kpSU8YLXeOxAfsz-ZIeA-4ekta4L00d3ghGn_e5cYGOUSdTG9gZuSlHYqEIvkP9KAw/w400-h301/QD8dLIZ.png" width="400" /></a></div><br /><div>Another application supporting the firmware is called RetroTerm, which connects to online BBS-like services based around an open-source server. The client is very small, and supports up to 57600bps on the user port. This allows it to do some surprising things, like download hi-resolution pictures very quickly, as well as stream 4 bit PCM audio and SID music.</div><div><br /></div><div>The modem also has no trouble supporting the V-1541 protocol and its commodoreserver.com services, which are still around today.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihWbtgTs13EvkdZ42FKBlqbe2OMNGnw-cBvu2WxBGfYJTLZJiAc7MVO5oUp_ZJK16GWcEpI0JSywfzOfFQefD_FS66tSM_c8Vbu-i5ckH68DQ-I6YuW4RsXDcq0N6aCO-3Qf3T65J4gXV0G9qYGjfo3TJPkKjtLc7fy6CRchtxTQD2TIfoOpu55ArYjg/s743/gurumodem.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="588" data-original-width="743" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihWbtgTs13EvkdZ42FKBlqbe2OMNGnw-cBvu2WxBGfYJTLZJiAc7MVO5oUp_ZJK16GWcEpI0JSywfzOfFQefD_FS66tSM_c8Vbu-i5ckH68DQ-I6YuW4RsXDcq0N6aCO-3Qf3T65J4gXV0G9qYGjfo3TJPkKjtLc7fy6CRchtxTQD2TIfoOpu55ArYjg/w400-h316/gurumodem.jpg" width="400" /></a></div><br /><div>Not long after the C64Net WiFi was released, Carlos produced a standard RS-232 version of the modem, which he called the Gurumodem. Unlike the C64Net, this modem is externally powered via a USB plug, is based on the Espressif ESP-32 chip with 4mb and later 8mb of flash, has a 25 pin standard RS-232 port with all the signals, and includes an SD-card slot.</div><div><br /></div><div>With this new modem, Zimodem was altered to compile for both the ESP-8266 and ESP-32, and then more features were added, some of which required the extra ram or features of the Gurumodem, while some remained in both versions.</div><div><br /></div><div>It was at this point that the appliance goals came into play. The first of which was to add an AT+CONFIG command that allowed many of the wifi and terminal configuration settings, including the phonebook, to be managed from a menu driven interface.</div><div><br /></div><div>A built-in IRC client, also menu driven, was added via the AT+IRC command. This was mostly done by request, for computers that have access to little more than simple terminal programs.</div><div><br /></div><div>SSL/TLS support was also added, allowing secure web sites to be accessed for the first time. Due to constraints, the HTTPS certificates are not really validated by the client, but at least the pages and data can be read.</div><div><br /></div><div>SSH client support was also added, allowing terminal connections to modern linux servers. These connections can be made using ATDS where the 'S' stands for secure. Between this and SSL, a wide variety of services and features are now accessible by the modem.</div><div><br /></div><div>Later, but again by request, an AT+PING command was added.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_cQgE9vQbA1e7YV82iyvOYg0nzGGBVG8mY8gBVKKtF5AockBbjXwVplhR1tXt8rpUg_QlKfKjgkrYGQcY005tPg9trZZwmchdPYlZMI4h-m51xn079SHESlKgZCri3OfflYg3beKxKvkpmuA55fMukEzvHcM7bnOC3ifRau-q6b_QsikBREx64duhhQ/s3451/printouts.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2709" data-original-width="3451" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_cQgE9vQbA1e7YV82iyvOYg0nzGGBVG8mY8gBVKKtF5AockBbjXwVplhR1tXt8rpUg_QlKfKjgkrYGQcY005tPg9trZZwmchdPYlZMI4h-m51xn079SHESlKgZCri3OfflYg3beKxKvkpmuA55fMukEzvHcM7bnOC3ifRau-q6b_QsikBREx64duhhQ/s320/printouts.jpg" width="320" /></a></div><br /><div>Another feature added along the way was support for network printers via the AT+PRINT command and the IPP protocol. Some modern printers with network support include a limited version of this protocol built in, allowing the modem to send print jobs directly to the printer over the network. For other printers though, the best choice was to run a CUPs server, which can translate IPP network requests through an appropriate and proprietary network driver for your specific printer.</div><div><br /></div><div>As this would put the "printer" on a non-standard device number, the Commodore 8-bit software will have limited support for this system. The KERNAL supports it just fine, however. By opening device 2 (the modem) and initializing it with CHR$(8) to set 1200 baud, and then sending the string "AT+PRINTP", all data sent to the same channel afterwards will be forwarded to the configured printer. For example, to print out a BASIC program listing, you would enter:<br /><br /><span style="font-family: courier;">OPEN4,2,0,CHR$(8):PRINT#4,”at+printp”:CMD4:LIST:CLOSE4</span></div><div><p>GEOS, also for the C64 and C128, supports proper printer drivers, so it was a relatively simple matter to produce one that supports the network printing features of the modem. GEOS has a graphical WYSIWYG paradigm for printing; all printouts are actually pictures of what was on the screen. Luckily, the IPP protocol specification lists native support for an image format called RAS, which CUPs also supports. The GEOS printer driver, therefore, has only to translate the screen image data into a RAS formatted image before sending it to the modem for printing. This project was called ras4c64net, and can be found at github.</p><p>The Amiga also supports printer drivers, but the documentation on how to write them is much less straight forward. I'd love to talk to anyone who's actually written one, as what I found on Aminet and in my books did not click with me. Instead, I relied on the fact that Amiga supports both serial-based printers, and that later versions of AmigaOS come with a PostScript printer driver. I therefore added a feature in the firmware's command mode that would automatically detect when a PostScript file was being dumped into the modem, and immediately go into printing mode.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ3yme6j8iwwIpSVBHBDch8mzyYUaY7iuRxDcHIeB8PR9RnY_xioXzyFll69u4pTrQzoEVIJRkgsOLHzS0juu_CQOsXB589j9ZKqom4kaZQM-TSqQMVAo0_5dY0GlauwWdlGkd6Om490mZzUc2IsNg6espwDuFHChCx1GfcvoHpNuow6_brgyah6wdVg/s2442/c900sp.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2115" data-original-width="2442" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ3yme6j8iwwIpSVBHBDch8mzyYUaY7iuRxDcHIeB8PR9RnY_xioXzyFll69u4pTrQzoEVIJRkgsOLHzS0juu_CQOsXB589j9ZKqom4kaZQM-TSqQMVAo0_5dY0GlauwWdlGkd6Om490mZzUc2IsNg6espwDuFHChCx1GfcvoHpNuow6_brgyah6wdVg/w400-h346/c900sp.jpg" width="400" /></a></div><br /><p>The Gurumodem was also designed with an SD card interface, and therefore needed some way to access it via the modem. This was done by adding the AT+SHELL command, which provides a command line prompt into which you can enter well-known file and directories commands such as dir, copy, move, makedir, cd, etc. So that users of many platforms would feel comfortable, it also supports aliases of all these commands, such as "$", "ls", or "list" for directory, and similar aliases for other commands.</p><p>The shell also includes a simple ftp client for fetching files from the internet to the fat-formatted sd card. </p><p>Getting files from the SD card to the host computer is done through the built in shell support for uploading and downloading via the X-Modem protocol, Z-Modem protocol, or KERMIT. The later protocol was added primarily to support the Commodore 900s only stock terminal software.</p><p>Shell commands can also be entered directly from command mode by adding a colon after AT+SHELL followed by the command. For example AT+SHELL:list would list the current SD card directory to the modem, while remaining in command mode.</p><p>The Commodore SuperPET natively supports a special serial-port file management protocol called "HOSTCM", which was used to send data to and from other central computers. This 'mode' is turned on with the AT+HOSTCM command.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieF0IocA6P1N2sga7oUCn09_w_de7njJpPPdU2VlLE8qv434s5CQx7-CwH2BSCrrIYgjw_AhZGDVl07EO7NGSS8-DFToMqtAI1Q8UuT8SqP_tkgZUN2mrmAl4xIMsOTlvgQ4-rMFhuobwdN0Qs6Ht6Vx7koAS1QbTizB2iD1oxG1GK_HBlnw2ROw9aUQ/s607/gopher.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="503" data-original-width="607" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieF0IocA6P1N2sga7oUCn09_w_de7njJpPPdU2VlLE8qv434s5CQx7-CwH2BSCrrIYgjw_AhZGDVl07EO7NGSS8-DFToMqtAI1Q8UuT8SqP_tkgZUN2mrmAl4xIMsOTlvgQ4-rMFhuobwdN0Qs6Ht6Vx7koAS1QbTizB2iD1oxG1GK_HBlnw2ROw9aUQ/s320/gopher.jpg" width="320" /></a></div><br /><p>So, that's where things stand with the firmware as of June, 2023. Several new features are actively in the works, or coming very soon.</p><p>One is SLIP/PPoE support, which has been on the TODO list almost from the very beginning. The ability to leverage LUNIX and support The Wave browser would be an amazing boon. Integrating with lwip in a way that doesn't trash otherwise normal operation has been tricky, but it's coming.</p><p>I also have been eager to add Pulse-dialing support to the modem, along with pin-level emulation of the Commodore 1650/1660. This would be an amazing addition because of all the pre-1986 software that would instantly become compatible with it, including terminal programs, BBS software, and the game Modem Wars.</p><p>Lastly, an integrated GOPHER client has been requested, for the extremely limited platform crowd. GOPHER is a fun idea though, as I recall thinking at one point that it was far superior to HTTP and HTML. Apparently, there are still people running GOPHER servers out there, so the usefulness would be immediate.</p><p>The creator of the WiFi Retromodem at tempestfpga.com has also recently created an ESP-32 based modem that fits in an old Hayes modem case. To the Zimodem firmware, he added the ability to play old modem sounds out of a speaker, which is absolutely delightful. Perhaps that will be integrated to the main branch soon.</p><p>Otherwise, I'm always open to suggestions and bug reports. Please post them on my Zimodem repository "Issues" section at github.</p><p>Well, that wraps up this very very long look back at internet solutions for the Commodore 8-bits, and how my own projects have weaved in and out of that tapestry. I hope you enjoyed the parade, and perhaps learned about some technology you'd never heard of. I also sincerely hope you recognize the potential the 8-bits have as networking clients, if we can only settle on an API.</p><p>Here are some parting resources:<br /></p></div><p style="text-align: left;"></p><ul style="text-align: left;"><li>Project page: <a href="http://github.com/bozimmerman/zimodem">github.com/bozimmerman/zimodem</a></li><li>C64/128 BBS Software page: <a href="http://bbs.zimmers.net">bbs.zimmers.net</a></li><li>The "Zelch BBS": coffeemud.net:6502</li><li>MMORPG for old machines: <a href="http://coffeemud.net">coffeemud.net</a>:23</li></ul><div><br /></div><p></p><div><p><br /></p><p><br /></p><p><br /></p></div>Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0tag:blogger.com,1999:blog-4265465497497020010.post-428429370572088302023-03-07T12:31:00.003-08:002023-03-07T12:31:46.689-08:00Wireless printing, over a serial port!<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ-77WODkbUymARyjAJPjfzshJ1y09BilNuwqF8PB-qQMFcXaJXHh-J4t9NEjOmUijAVyNtQUeWX_8xhUYF5EU9BPHlLi3bMKX9IkklFCb8HVnkjvxWze_fxw-r3CxHJCMC9EK03CPsbLYZzNxyG0jfs3oVhnFMguHEnTRTiS8FPRVHQjG6B0AIZRp-w/s2920/mps1250minePortrait2-XU1012128-7Y.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2012" data-original-width="2920" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ-77WODkbUymARyjAJPjfzshJ1y09BilNuwqF8PB-qQMFcXaJXHh-J4t9NEjOmUijAVyNtQUeWX_8xhUYF5EU9BPHlLi3bMKX9IkklFCb8HVnkjvxWze_fxw-r3CxHJCMC9EK03CPsbLYZzNxyG0jfs3oVhnFMguHEnTRTiS8FPRVHQjG6B0AIZRp-w/s320/mps1250minePortrait2-XU1012128-7Y.jpg" width="320" /></a></div><p>I know printing ink onto physical pieces of paper is not exactly as popular as it once was, but I still often find it useful. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE_PZqodxeuH9JgqmQlytkgNDtZJt6VWitOsnEpQ9R_VeDsIuzLzQCF8KKKCQUgQN2bU6D0I4GYw92Lzt1EeRPRI68iPuunHNe_27YhLMsfct08W1Yva3H1GOJCXjg8Bm9IM64O1dfD7-1LjLf0v7QlXxzFmUYCeb8OutOahcZXbEqJwVVsiY9wV5S6g/s4032/20230228_005451.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE_PZqodxeuH9JgqmQlytkgNDtZJt6VWitOsnEpQ9R_VeDsIuzLzQCF8KKKCQUgQN2bU6D0I4GYw92Lzt1EeRPRI68iPuunHNe_27YhLMsfct08W1Yva3H1GOJCXjg8Bm9IM64O1dfD7-1LjLf0v7QlXxzFmUYCeb8OutOahcZXbEqJwVVsiY9wV5S6g/s320/20230228_005451.jpg" width="320" /></a></div><p>Printouts are great! Each page is like a tablet screen, only the information doesn't change, it's super light, and doesn't need recharging. When I'm doing some project that requires constantly referencing different pages of information, having it all laid out at once saves me time.</p><p>Anyway, this is to explain why I wanted to be able to send print jobs from my Commodore and Amiga branded computers to my modern network laser printer. I do have enough Commodore printers to give each machine their own, but lack the space, and the ribbons.</p><p>So what was the answer to this problem? .... Wait for it....</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCz63BgFr86Nd2sYVYufSAbA_CK0v1q-TTEiEO_UTQe-t_8W_VhUR7I8IMTIn0ztz-Gdzl0NLMWRfH7WwVFsV4_yrGOHHICClZs9YFB9Fo8-JNnAAR3o7ESybWleFJvb1yxUvtCfPMpzYGTE3lSJeBlRLhna2YiFGGGaCbkJFVGSEnuXv1Tj7ParieZQ/s1454/ctcugwifis.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="557" data-original-width="1454" height="154" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCz63BgFr86Nd2sYVYufSAbA_CK0v1q-TTEiEO_UTQe-t_8W_VhUR7I8IMTIn0ztz-Gdzl0NLMWRfH7WwVFsV4_yrGOHHICClZs9YFB9Fo8-JNnAAR3o7ESybWleFJvb1yxUvtCfPMpzYGTE3lSJeBlRLhna2YiFGGGaCbkJFVGSEnuXv1Tj7ParieZQ/w400-h154/ctcugwifis.jpg" width="400" /></a></div><br /><p>Serial WiFi Modems, of course! Everything from the 8-bits on up to the Amiga 4000 has a serial port, and both have native kernal support for it.</p><p>The problem was on the modem side. I knew there was no way I was going to be able to fit actual printer drivers, data converters, or anything similar into those tiny ESP chips. I would have to look for an intermediary.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRz6DGO78Oa3sdkMRk5P-cigYJrtCzM__20sh05_m3YRAZciB5eRDfuydmZUdf6IoTY-DUQPeWJSG_2_mZVxRhr2Mr65okKYdi4JdHMsIELcs_F-lbKkFXLegbowKeTsGjhDOsKKCnA4p6OVlFT5wVZge9iw9hrbdKI6zJ9l2ky2FA5aSV41AZ8w-oNg/s948/IPPnCUPs.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="382" data-original-width="948" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRz6DGO78Oa3sdkMRk5P-cigYJrtCzM__20sh05_m3YRAZciB5eRDfuydmZUdf6IoTY-DUQPeWJSG_2_mZVxRhr2Mr65okKYdi4JdHMsIELcs_F-lbKkFXLegbowKeTsGjhDOsKKCnA4p6OVlFT5wVZge9iw9hrbdKI6zJ9l2ky2FA5aSV41AZ8w-oNg/w400-h161/IPPnCUPs.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">The answer was IPP and CUPS. CUPS is a print service/daemon that can be run on a myriad of *nix like devices, from a full PC to a Raspberry Pi, all of which are likely to support a useful printer driver. IPP is the protocol that the WiFi modem would use to communicate with the CUPS server over the network.</div><div><br /></div>My first step, however, was to install a printer driver onto some device. I won't go into that, as it will differ from person to person. In my case, I needed a Linux driver for a HP Laser Jet, which I found <a href="https://www.cyberciti.biz/faq/how-to-install-networked-hp-printer-and-scanner-on-ubuntu-linux/" target="_blank">here</a>. <div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheAnWmYpj35z4ZSDGBPALZ-vRC5PLaFnM-JJEwRP54fACGr0Rhr1qVbL5izIBAm2YKw-KQG-3o_MDj0VtTVTYp5w16evNgbdEnCWazuy6VaEQUqe0izL85M4iMaFnvxFa3akAv0_pNQdTqDQ8_EXjwrCMxAGWRms-2vK9VPfWbpXUlJCAZx0UUK1BsvQ/s2048/hpPrinterPages.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1657" data-original-width="2048" height="324" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheAnWmYpj35z4ZSDGBPALZ-vRC5PLaFnM-JJEwRP54fACGr0Rhr1qVbL5izIBAm2YKw-KQG-3o_MDj0VtTVTYp5w16evNgbdEnCWazuy6VaEQUqe0izL85M4iMaFnvxFa3akAv0_pNQdTqDQ8_EXjwrCMxAGWRms-2vK9VPfWbpXUlJCAZx0UUK1BsvQ/w400-h324/hpPrinterPages.jpg" width="400" /></a></div><br /><div><div class="separator" style="clear: both;">Once that was all working, I installed the CUPS server/daemon on the same Linux PC. I won't go into this either, but after doing this, I made CUPS aware of my printer. When this was done, entering <span style="font-family: courier;"><b>lpstat -l -e</b></span> gave me the following:</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv3WJENx7k9s5vJG4w7z0vgUDJlmrlsdnSsKHUSGi-IQ4FIUpwnRIyb0F6ZthogTBrR9_KxAmrXcpzs90hOQV-VQ8lnmWQUHxR9xFBGIXY4h9ghaEOEObUh_iv_zWFuR9x0OUZUcM-ySlejDdDLYhn5m0NwXi5ttp_qMCcVc4Q35Fath0MRGYlXJg6sA/s1007/CUPsconfig.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="301" data-original-width="1007" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv3WJENx7k9s5vJG4w7z0vgUDJlmrlsdnSsKHUSGi-IQ4FIUpwnRIyb0F6ZthogTBrR9_KxAmrXcpzs90hOQV-VQ8lnmWQUHxR9xFBGIXY4h9ghaEOEObUh_iv_zWFuR9x0OUZUcM-ySlejDdDLYhn5m0NwXi5ttp_qMCcVc4Q35Fath0MRGYlXJg6sA/w400-h120/CUPsconfig.jpg" width="400" /></a></div><br /><div class="separator" style="clear: both;">This got me half of the way there. Other devices in my house could now send print jobs to this CUPS server, which would then queue and process the job until I had a physical piece of paper. </div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Next up was to teach the Zimodem firmware, which runs in our WiFi modems, how to speak IPP.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">The primary mechanism users would have to sending print jobs to their modem is via the <span style="font-family: courier;"><b>AT+PRINT</b></span> command. This command comes in three flavors:</div><p><span style="font-family: courier;"><b>AT+PRINTA:<host>:<port>/<path></b></span></p><p><span style="font-family: courier;"><b>AT+PRINTP:<host>:<port>/<path></b></span></p><p><span style="font-family: courier;"><b>AT+PRINTR:<host>:<port>/<path></b></span></p><p>The arguments are the actual IPP url, In my case it looks like <span style="font-family: courier;">AT+PRINTA:192.168.1.10:631/printers/HP_ColorLaserJet_MFP_M278-M281</span></p><p>The three variations are for printing, respectively, A)scii data, P)etscii data, or R)aw data (typically an image, or postscript, or pdf file).</p><p>The user would type one of the command variations into their modem terminal, press RETURN, and then follow this immediately with the data they want printed. When done, the user can use the normal <b><pause><span style="font-family: courier;">+++</span><pause></b> method to begin printing, or just wait for a timeout.<br /></p><p>Subsequent <span style="font-family: courier;"><b>AT+PRINT</b></span> commands may omit the host/url, especially if the current modem configuration was saved to flash with <span style="font-family: courier;"><b>AT&W.</b></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi69i7UyLA1Rkem1OSd6uv51DKCpVvJTOFsPo9l9FDfm6H-KFMdLy6r-D5_QvOkmj5CyumPxJ0ukg2-ctDRTuSv8Js8gc4J7oZVKk99qXFU0g-ZNzHim7F813CpjYpzhYKKkykuqV7db68zce83ASTofY44cBu7bolal72NXDDoePe673Z3ApwvdjKkvw/s596/Img_9327.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="397" data-original-width="596" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi69i7UyLA1Rkem1OSd6uv51DKCpVvJTOFsPo9l9FDfm6H-KFMdLy6r-D5_QvOkmj5CyumPxJ0ukg2-ctDRTuSv8Js8gc4J7oZVKk99qXFU0g-ZNzHim7F813CpjYpzhYKKkykuqV7db68zce83ASTofY44cBu7bolal72NXDDoePe673Z3ApwvdjKkvw/w400-h266/Img_9327.jpg" width="400" /></a></div><br /><p>This was enough to be immediately useful. On my C64, I wrote a long silly BASIC program, and then printed it out by entering:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC4dWRGYvoNJGqc4NmQ3jIdYU7eDdMJ4b4FmI7uHaLjr49QHK73x4-oxLyIR7b34YBnHs5KpFicycM6xsmNfDvuSf1kOFk2h-rQXkd0EAPOc36ueyG7GSCvbgxq3Ng3gc4MqHfZrols95aWD0-fLbWW3GtEyGHYGh_tA205nGwz1nTZUZELxltz9EONw/s688/Image1C.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="503" data-original-width="688" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC4dWRGYvoNJGqc4NmQ3jIdYU7eDdMJ4b4FmI7uHaLjr49QHK73x4-oxLyIR7b34YBnHs5KpFicycM6xsmNfDvuSf1kOFk2h-rQXkd0EAPOc36ueyG7GSCvbgxq3Ng3gc4MqHfZrols95aWD0-fLbWW3GtEyGHYGh_tA205nGwz1nTZUZELxltz9EONw/w400-h293/Image1C.jpg" width="400" /></a></div><br /><p><span style="font-family: courier;">OPEN5,2,0,CHR$(8):PRINT#5,"AT+PRINTP":CMD5:LIST</span></p><p>So, with Commodore 8-bit printing ability out of the way, I turned my attention to the Amiga. For awhile, I entertained the thought of writing a full blown Amiga printer driver. The documentation I found, however, was insufficient to allow me to make much progress.</p><p>But then I discovered that the Amiga has a PostScript printer driver, especially in later AmigaOS versions. PostScript is a type of text encoding that allows everything from documents to pictures to be rendered in a platform-independent way. Amigas also support sending print jobs to its serial port transparently to applications. And to cap it all off, CUPS supports this ancient encoding natively, so it was a perfect match all around.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd4_v85Mg3n8lQc11wo8Hi3JIQbMWM4B3ftliX3LzHW0Auj3_Og-Iz7NU8XFRqrCqDSoTPbFnPDVvjnphMa2I1975oPBO0SMTPQB8MJYC8g3Nz17s_TKiENXK-eKS0tavQNw4OP9L3Ps_USIgInTQ7h7JdpROKSSgaX1VHlF5EDSCrlW48q-cs68KDAg/s680/WorkbenchPrintersPrinterPSEditor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="343" data-original-width="680" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd4_v85Mg3n8lQc11wo8Hi3JIQbMWM4B3ftliX3LzHW0Auj3_Og-Iz7NU8XFRqrCqDSoTPbFnPDVvjnphMa2I1975oPBO0SMTPQB8MJYC8g3Nz17s_TKiENXK-eKS0tavQNw4OP9L3Ps_USIgInTQ7h7JdpROKSSgaX1VHlF5EDSCrlW48q-cs68KDAg/w400-h201/WorkbenchPrintersPrinterPSEditor.png" width="400" /></a></div><br /><p>The only problem was getting the Amiga to send the required <span style="font-family: courier;"><b>AT+PRINTR</b></span> command before each job. Not finding an easy answer there, I decided to have the WiFi modem firmware detect when a PostScript document is being dumped into the modem, and then automatically go into raw printing mode. PostScript documents all start with something like <span style="font-family: courier;"><b>%!PS</b></span>, so that was easy enough.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlc6r4G2DJk0VcJi6rCYlb6DRy4d8VnwQ5fIYVlTPrnf0KyX82fiXi8Wioxnhs816_TSqIEhUvwKoKYTBvbJi9EUUF8v19yrYzQyTC0qUsYtvI8xuYdCidilcG-si2koazkuC0SPNxKRRvEwcyrQmqrfhXQUbqe0BT7dBhb_BIhraVkgp1X4CFrdvuvg/s2930/amigaPrinted.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2320" data-original-width="2930" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlc6r4G2DJk0VcJi6rCYlb6DRy4d8VnwQ5fIYVlTPrnf0KyX82fiXi8Wioxnhs816_TSqIEhUvwKoKYTBvbJi9EUUF8v19yrYzQyTC0qUsYtvI8xuYdCidilcG-si2koazkuC0SPNxKRRvEwcyrQmqrfhXQUbqe0BT7dBhb_BIhraVkgp1X4CFrdvuvg/w400-h316/amigaPrinted.jpg" width="400" /></a></div><br /><p>The results were, as you can see, fantastic! From the other side of my house, on a lowly Amiga 600, I was able to print these pictures directly from DPaint to my network printer.</p><p>The last platform I wanted to tackle was WYSIWYG printing via GEOS on my 8-bit C64 and C128 computers. </p><p>Luckily, the documentation for GEOS printer drivers is fantastic and very straight forward. </p><p>That isn't to say it was a trivial project, though. Unlike AmigaOS, GEOS has no native support for the serial port, so RS232 bit-banging would need to be written from scratch. An even bigger problem was the image format. There would be no way to generate PostScript in the tiny space allowed.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK0Yay-8LkyBkvMwJ0kk_E7yjn0iWTzD0cUuQ4UxjZmLytoCF2Xgkoa3zO99IhP8uCB5evXRw9cRB00mvOYHOukCmH1I9TCsCNUuiMde2MjTKUBoGYFcdnRz-VYUO38Os5eRfDZ2ozN2d6ODfzfnL2GSmtgmyNsk-c4h58n_I12MIuh4gxScf_1l_icA/s457/1000_F_498737945_th29br9qObBg2AAkB6buAqkHnWxYJa28.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="427" data-original-width="457" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK0Yay-8LkyBkvMwJ0kk_E7yjn0iWTzD0cUuQ4UxjZmLytoCF2Xgkoa3zO99IhP8uCB5evXRw9cRB00mvOYHOukCmH1I9TCsCNUuiMde2MjTKUBoGYFcdnRz-VYUO38Os5eRfDZ2ozN2d6ODfzfnL2GSmtgmyNsk-c4h58n_I12MIuh4gxScf_1l_icA/s320/1000_F_498737945_th29br9qObBg2AAkB6buAqkHnWxYJa28.jpg" width="320" /></a></div><br /><p>To the rescue came an old SunOS image format called RAS. The CUPS specification supports this format natively, and it is both uncompressed, and raster-based. It's almost a wonder that GEOS didn't use this format itself, as it is absolutely perfect.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbvPLZK_4LSWyFE8bwGrdjS9HK3vv65b34ym2y66nuNufKi2r8ODynCi0iQIcHn0qWDBb-PtHKDwRNj6QE-KPe_QeE1UxHTUm_ZIz1IXTgZ6xrJ8DcrD3VBg5O1Zw_NwmH20JET_SHMGFUaHYVcRE1UaZFscME74vNJq76hvt69cXTzdgqcPIDsPzAiA/s757/ras464netPrintout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="507" data-original-width="757" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbvPLZK_4LSWyFE8bwGrdjS9HK3vv65b34ym2y66nuNufKi2r8ODynCi0iQIcHn0qWDBb-PtHKDwRNj6QE-KPe_QeE1UxHTUm_ZIz1IXTgZ6xrJ8DcrD3VBg5O1Zw_NwmH20JET_SHMGFUaHYVcRE1UaZFscME74vNJq76hvt69cXTzdgqcPIDsPzAiA/w400-h268/ras464netPrintout.jpg" width="400" /></a></div><br /><p>So, I coded up a new GEOS printer driver, which I called "ras4c64net", which converts GEOS bitmap printing data to the RAS format on-the-fly and sends it to the WiFi Modem at 4800 baud (making it technically faster than using the C64's own IEC port). </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2Kzba7PRwBNrZLnsRFmYQVNra5xCWeqf3ODURk25KxFmj1A7plspcZ1T4WTPMadYJCJibYeijxQZ2kDhwza1mQfaJ8Mfw1QD9J3Pv7BTkR79fdoMGeVpNxPoBj4ZOP96zVRxjqIO_MvxWq82zUt_y_mfwrfVc6ZDSU8rg44_jeW8Wn4J9UyCBsDdThA/s388/ras4c64net.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="290" data-original-width="388" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2Kzba7PRwBNrZLnsRFmYQVNra5xCWeqf3ODURk25KxFmj1A7plspcZ1T4WTPMadYJCJibYeijxQZ2kDhwza1mQfaJ8Mfw1QD9J3Pv7BTkR79fdoMGeVpNxPoBj4ZOP96zVRxjqIO_MvxWq82zUt_y_mfwrfVc6ZDSU8rg44_jeW8Wn4J9UyCBsDdThA/w400-h299/ras4c64net.gif" width="400" /></a></div><br /><p>The results, as you can see below, came out fantastic.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGuvCigVj3N4eol7mSZVuys6VXBSOwZU8SrADLoT45UQCnjUi1mOsBinZdijZf17MzHgVLLy-WMwbYoWtHENFgCEQ0fXB_cGvMfVoddvs7H7yh5cZGTqd9c7Jb8O1nft-6L7GRxpX-G6RFySNWGNe9g2pnssA1Z7CaNVvNRdzoP39I9bxOfWaCCgOfgw/s383/ras4c64netSample.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="361" data-original-width="383" height="378" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGuvCigVj3N4eol7mSZVuys6VXBSOwZU8SrADLoT45UQCnjUi1mOsBinZdijZf17MzHgVLLy-WMwbYoWtHENFgCEQ0fXB_cGvMfVoddvs7H7yh5cZGTqd9c7Jb8O1nft-6L7GRxpX-G6RFySNWGNe9g2pnssA1Z7CaNVvNRdzoP39I9bxOfWaCCgOfgw/w400-h378/ras4c64netSample.gif" width="400" /></a></div><br /><p>So, that wraps it up! </p><p>Serial-based WiFi modems are often designed, built, and sold to do only one thing: connect to online BBSes. That's such a narrow vision though! From unix terminals, to IRC, FTP, WGET, etc clients, and now as printer interfaces, WiFi modems are wonderful tools for keeping our old machines relevant and useful!</p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /><br /></p></div>Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com3tag:blogger.com,1999:blog-4265465497497020010.post-12325165889744483242021-11-19T00:07:00.008-08:002021-11-19T00:44:03.453-08:00"Look up in the sky!"<p> Although it was a classroom full of PET 4032s that got me interested in Commodore back in the early 80s, the first PET I would ever own myself was the Commodore <a href="http://www.zimmers.net/cbmpics/csp9000.html" target="_blank">SuperPET</a>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifkEgiLIgXZjbmb3793LHgEDDqm3HkTkxVqDyohIWZElsGPoM0XGjqQ3TpvZKCoUNfJjFO-uqiqjFfdnCV4KVDq9wJhFJbu6MkqKnu-hbOdz_Qa77Hx0lII_C-6jPDgOfp8QM_sgRR0S0m/s2048/sp9000mineRPortrait1-SP0004732.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1747" data-original-width="2048" height="341" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifkEgiLIgXZjbmb3793LHgEDDqm3HkTkxVqDyohIWZElsGPoM0XGjqQ3TpvZKCoUNfJjFO-uqiqjFfdnCV4KVDq9wJhFJbu6MkqKnu-hbOdz_Qa77Hx0lII_C-6jPDgOfp8QM_sgRR0S0m/w400-h341/sp9000mineRPortrait1-SP0004732.jpg" width="400" /></a></div><br /><p>I was not yet collecting at this point, so I thought this would be the only PET I would ever own. For that reason, I was very careful in which model I picked. I wanted the best.</p><p>Over the years, the numerous exotic programming languages, such as Waterloo BASIC, APL, Pascal, COBOL, etc have provided me countless hours of education and entertainment. Lately, however, my appreciation of this machine has leapt into the stratosphere. </p><p>It began with a purchase of <a href="https://www.go4retro.com/products/super-os9-mmu/">Retro Innovations Super OS/9 MMU</a>. OS/9 is a 6809-based business operating system not normally associated with Commodore computers, and this hardware upgrade would allow my SuperPET to run it. The Super MMU, originally designed by TPUG, provides a new optional method by which the 6809 can address its extra 64K. Normally, this memory is only available in chunks at a particular address window. The SuperMMU allows the ram to dominate the entire address space, making it friendlier to OS/9.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDKjYGGEUUdPSNTtrzeMQsEJo2xRgfVxfpCBPvIaj_7s98vmuk16m88pXl1jX59yd5fx1axWDm223sKSWbDOxPBbFtQ_zeaSHFgOGnhtl38maIfn4JtJAyEzsrhZKcnusakj51SB4i6coF/s1904/SP9000os9mmuBoardMine-SP0004732.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1134" data-original-width="1904" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDKjYGGEUUdPSNTtrzeMQsEJo2xRgfVxfpCBPvIaj_7s98vmuk16m88pXl1jX59yd5fx1axWDm223sKSWbDOxPBbFtQ_zeaSHFgOGnhtl38maIfn4JtJAyEzsrhZKcnusakj51SB4i6coF/w400-h239/SP9000os9mmuBoardMine-SP0004732.jpg" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div>The Super MMU sits between the 6809 processor and the SuperPET cpu daughterboard. It also replaces the functionality of a 74LS273 on the board through that cable you see in the picture. The position of the cable depends on which kind of SuperPET you have. Two-Board SuperPETs, like mine, use the upper position, while Three-Board SuperPETs use the lower one. It also took me forever to figure this out, but the jumper JP2 pictured here also needs to be changed to reflect your board type. Again, the upper position is 2-board, and the lower 3-board. You can see I have it wrong in this picture, thus the "taking a long time to figure out" part. :)<div><br /></div><div>The OS/9 disks themselves came from <a href="http://mikenaberezny.com/hardware/superpet/super-os9-mmu/" target="_blank">Mike Naberezny</a>, who also had a hand in helping bring the MMU project back to life. The disk format for PET OS/9 is extremely strange. OS/9 "disks" exist as 640 block RELative files on an 8050 disk. Thus, for best results, you also kinda need a CBM 8050 drive to use with it, since other PET drives, such as 2040, 4040, etc can only fit one image per floppy, the SD2PET doesn't support REL files well enough, and the CBM 8250 requires special commands to support the 8050 REL file format.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl2wPJ17tKFgM2Cfsxcu2zOLAyPpXyLFMspliqKP9LB9Mj6pgPkvnlVA5fE9rv3PD2ZbIpo_fvZHVqiZGAJR7CnEMoSxx63YqyooxCId8WWkQRy2f66GK51KIvyCFh8HAAbyyigBcqGURK/s2048/20211119_002912.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1026" data-original-width="2048" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl2wPJ17tKFgM2Cfsxcu2zOLAyPpXyLFMspliqKP9LB9Mj6pgPkvnlVA5fE9rv3PD2ZbIpo_fvZHVqiZGAJR7CnEMoSxx63YqyooxCId8WWkQRy2f66GK51KIvyCFh8HAAbyyigBcqGURK/w400-h200/20211119_002912.jpg" width="400" /></a></div><br /><div>Once the MMU was installed and the disks prepared, I was ready to boot. This involved typing <span style="font-family: courier;">Disk8/0.os9</span> at the SuperPET 6809 menu screen.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8xbfZ9mZqpCFLIJ8Cvq8UbJgfFPRC2skS2nE-pAS09gDOSRNjO6mHWl7eJxKhoy45rahqRuMyz45Az2FGVNnPl47DpY3T1IQchOMlwfbkTR6RGcdRhBZyzeqk_TtVumZPiWmHQu2Z7GT8/s2048/20211119_002537.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2048" data-original-width="1536" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8xbfZ9mZqpCFLIJ8Cvq8UbJgfFPRC2skS2nE-pAS09gDOSRNjO6mHWl7eJxKhoy45rahqRuMyz45Az2FGVNnPl47DpY3T1IQchOMlwfbkTR6RGcdRhBZyzeqk_TtVumZPiWmHQu2Z7GT8/w300-h400/20211119_002537.jpg" width="300" /></a></div><br /><div>After mentioning my adventures on facebook, a wonderful human being named Andy shared his SuperPET software collection with me. Even more important, he shared his *knowledge* regarding the enigmatic loading procedures required to boot and use the several new programs. For example, take a look at some of the commands required to boot Collossal Cave:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9ZsX4RScEerJrRO7Lr8wQ7ntr7nWS8ObEgHT-Ihu8lfydJMiQD1DhWGPm8hkJ0jDppwudcHz-e8KuxRlURRhtF1Opr_yKsdeIU3Xf7Szfl_AAHnf9kBACMIpFRpNxADU8ZAPf9omRdVZl/s1320/20211119_002921.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1227" data-original-width="1320" height="371" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9ZsX4RScEerJrRO7Lr8wQ7ntr7nWS8ObEgHT-Ihu8lfydJMiQD1DhWGPm8hkJ0jDppwudcHz-e8KuxRlURRhtF1Opr_yKsdeIU3Xf7Szfl_AAHnf9kBACMIpFRpNxADU8ZAPf9omRdVZl/w400-h371/20211119_002921.jpg" width="400" /></a></div><br /><div>I have not yet made this software available on my FTP site, but it will be soon.</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioavz8Wi8iPwD0JaedJPpHdPVpPX4Nh0zjyPEK8zRRulz7nWABui3r_iCZNTmvuY6ZfWN3Nb7avgA9GA0HgwLdnLpaSjclQzoEQEjtDoIxb-SHqWc3mBaS0ASoBe75PbSTSIUbF_OUoc5G/s640/logo1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="42" data-original-width="640" height="26" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioavz8Wi8iPwD0JaedJPpHdPVpPX4Nh0zjyPEK8zRRulz7nWABui3r_iCZNTmvuY6ZfWN3Nb7avgA9GA0HgwLdnLpaSjclQzoEQEjtDoIxb-SHqWc3mBaS0ASoBe75PbSTSIUbF_OUoc5G/w400-h26/logo1.png" width="400" /></a></div><div><br /></div><div><br /></div>Not long after this, I discovered the web site of a Mr. Robert Ferguson. He not only assembled a fantastic <a href="http://seefigure1.com/2013/07/02/timeline.html" target="_blank">timeline </a>of the SuperPET, but actually *<a href="http://seefigure1.com/projects/hostcm/index.html" target="_blank">reverse engineered</a>* the RS232C-based "HOSTCM" filesystem protocol used by the SuperPET to transfer files to and from mainframes back in the day. He even provides his C source.<div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5RVXuJwYYARccN6ZAprMeuzGRozoeDItE1IjrvJwMbWhAeVSoC6bMNGhNQd-y_I3ZJQl6zyPq2Xk7130JypY5AK5ID2mwltMw781BfUOlsDSgD_NEC8oTbP65TW0BE_sQkBNPr6Vppc_q/s2070/guru123.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="2070" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5RVXuJwYYARccN6ZAprMeuzGRozoeDItE1IjrvJwMbWhAeVSoC6bMNGhNQd-y_I3ZJQl6zyPq2Xk7130JypY5AK5ID2mwltMw781BfUOlsDSgD_NEC8oTbP65TW0BE_sQkBNPr6Vppc_q/w400-h185/guru123.jpg" width="400" /></a></div><br /><div>This provided me an amazing opportunity. You see, my user's group designed an RS232C modem, the "<a href="https://electronicsisfun.com/gurumodem" target="_blank">Gurumodem</a>", that actually has an SD-card interface on it. How perfect is that?! </div><div><br /></div><div>So, I immediately got to work porting Mr. Ferguson's code to work with the Zimodem firmware used by our modem. While I probably could have just cut and pasted 90% of it, I instead decided to re-type and refactor while reading, so that I could actually learn how the protocol worked as I went along. This is a bit like copying your friends homework in your own words, I guess. :)</div><div><br /></div><div>Of course, the first step was to configure the Gurumodem for the SuperPET's default RS232 settings with the command: <span style="font-family: courier;">ATB"2400,7E1"</span> followed by <span style="font-family: courier;">ATS54=2S46=2&W</span>. Obviously, I did this on another computer at first.</div><div><br /></div><div>I then used a very dumb and simple SuperPET terminal program called "NEWTERM" to upgrade my firmware to a special version containing the HOSTCM protocol using the command <span style="font-family: courier;">AT&U=9000</span>.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6hiNKGu5givny389TmM4sX3l4ISGs2gIdJefz55slGE4lb-POsXnpPgIrcnRCtfsXgmqxfxraj6Yi3jnh3QzabehV7kG18aX_4vkXzOLld9baU0HnXLOScB-B0u450sWJGqVqs2ROVME2/s2048/20211119_001929.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2048" data-original-width="1536" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6hiNKGu5givny389TmM4sX3l4ISGs2gIdJefz55slGE4lb-POsXnpPgIrcnRCtfsXgmqxfxraj6Yi3jnh3QzabehV7kG18aX_4vkXzOLld9baU0HnXLOScB-B0u450sWJGqVqs2ROVME2/w300-h400/20211119_001929.jpg" width="300" /></a></div><br /><div><br /></div><div>Once the firmware upgrade completed, and I had reset the modem, I was ready to activate HOSTCM mode by entering <span style="font-family: courier;">AT+HOSTCM</span> while inside NEWTERM.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3WmvTPve1viR5RzlzSxYnrplfiox6mpWXVvlXZxvodg4fuvNRXPHYZOSa3fmYdPkXb-PzXb2qQRxqm1nz2C1AdMjKAtHWKSgkwK9PfNl1MaxXLPUBJAJquHTy6zo2nj8W0ljlexohr7uz/s2048/20211119_002036.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2048" data-original-width="1536" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3WmvTPve1viR5RzlzSxYnrplfiox6mpWXVvlXZxvodg4fuvNRXPHYZOSa3fmYdPkXb-PzXb2qQRxqm1nz2C1AdMjKAtHWKSgkwK9PfNl1MaxXLPUBJAJquHTy6zo2nj8W0ljlexohr7uz/w300-h400/20211119_002036.jpg" width="300" /></a></div><br /><div><br /></div><div>From here on, I was able to access the SD card on my Gurumodem using the built-in syntax that involves prefixing filenames with "<span style="font-family: courier;">host./</span>". Above is an example from inside the SuperPET text editor, using the DIrectory command to list the contents of my SD card.</div><div><br /></div><div>Well, that's all I've got for today. I'd like to find a way to exercise some of the features of the HOSTCM protocol not used by the Editor, but I'll have to think about that one. Until then, if you have a SuperPET, I encourage you to get the most from your computer by taking a look at both the Super OS/9 MMU and the Gurumodem.</div><div><br /></div><div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div><br /><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p></div></div>Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com1tag:blogger.com,1999:blog-4265465497497020010.post-72868358533424732622021-08-29T17:33:00.006-07:002021-08-29T18:18:44.908-07:00Welcome Back to Planet Zelch<p> Around 1983, I got my first modem: the Commodore <a href="http://www.zimmers.net/cbmpics/ouser1.html" target="_blank">VICMODEM</a>. It allowed me to discover a world that would enthrall me for the next decade: the world of Bulletin Board Systems (BBS). For those who don't know, a BBS was a computer-to-computer service, run by ordinary people on their public phone lines. To the users who called in, BBSs provided message forums, email, file downloads, chat, online games, and often an art gallery. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRqLqk3QFd4PBQWh7Jf_Kn4ZA7vBgO9sswQXQpTOoKzVhzUPbzeHK8ZnEnAcT_J_16kIVicPeeAPzlwtnSs0H39eYuVzosBZTk0JFWlCzHsIxbSMcVvRJzcJ4y4KDjZfMp9ddSRRbNmTPu/s2048/IMG_0948.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2048" data-original-width="1365" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRqLqk3QFd4PBQWh7Jf_Kn4ZA7vBgO9sswQXQpTOoKzVhzUPbzeHK8ZnEnAcT_J_16kIVicPeeAPzlwtnSs0H39eYuVzosBZTk0JFWlCzHsIxbSMcVvRJzcJ4y4KDjZfMp9ddSRRbNmTPu/s320/IMG_0948.JPG" width="213" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p>By 1986 I was writing my own <a href="http://bbs.zimmers.net/index.html" target="_blank">BBS software</a> for the <a href="http://www.zimmers.net/cbmpics/c64s.html">C64</a>, and by 1987, running a board named after it: </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOybjsJusHrXVpEhEwq4PVjzBeyhNjYrfcq6RWeJexq7KAyxdgAZpLzrgpub7pCjC17svNYcMWZSn10Bopz0NYuBO7Ej9aE4B1m5mHGVkCxqn1IfNcgMp5COjndsTVFzW72kIbGYM3Pojl/s653/Zelch1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="413" data-original-width="653" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOybjsJusHrXVpEhEwq4PVjzBeyhNjYrfcq6RWeJexq7KAyxdgAZpLzrgpub7pCjC17svNYcMWZSn10Bopz0NYuBO7Ej9aE4B1m5mHGVkCxqn1IfNcgMp5COjndsTVFzW72kIbGYM3Pojl/s320/Zelch1.jpg" width="320" /></a></div><br /><p>In 1990, I put aside <a href="http://www.zimmers.net/bbs/z6bbs.html" target="_blank">Zelch BBS for the C64</a>, and helped write <a href="http://www.zimmers.net/bbs/z8bbs.html" target="_blank">Zelch 128</a> with my friend Bill in Tucson, Arizona.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWXamQF-guMfUAjCy2A0-5K1pjwljonO96lViD7e5j0GGxh0iN1Usix3GpsG6JZPjf0N7fbX19lYnwW4RFlWPEu8f-pkTg-a2KQwYzsvrZOxFM07a5v5emSq3FYrP6ROqVuDArNvllbigD/s389/z8bb20lo.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="389" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWXamQF-guMfUAjCy2A0-5K1pjwljonO96lViD7e5j0GGxh0iN1Usix3GpsG6JZPjf0N7fbX19lYnwW4RFlWPEu8f-pkTg-a2KQwYzsvrZOxFM07a5v5emSq3FYrP6ROqVuDArNvllbigD/s320/z8bb20lo.gif" width="320" /></a></div><br /><p>Unfortunately, in 1993 my years of BBS-ing came to an end. I went off to college and discovered the internet, which replaced the venerable BBS, both for me as well as everyone else. </p><p>In 1996, however, it all came back for a brief encore. I was a grad. student working for the Computer Science dept. at SWT University, where we had a room full of Slackware Linux machines, all online. With lots of help from some friends back in Tucson, we managed to put Zelch 128 back online, but in a new way. Instead of a modem and phone line, the C128 user port was wired directly to the serial port on the Linux machine. When a user logged into to the Linux machine from the internet via Telnet, they would automatically be put into a serial terminal program (minicom), which would communicate with the C128 as if it were a modem connection. A Commodore Telnet BBS! [ Read the C= Hacking article about that <a href="http://www.zimmers.net/commie/telbbs.txt" target="_blank">here</a>, and the article in Driven <a href="http://www.zimmers.net/commie/telbbsdr.txt" target="_blank">here</a>. ] </p><p>However, even this ended when I graduated at the end of 1996.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcFfyW5TkiG7s-JFgWPWe5krT1BVRP5Vk6_nh6nf6vuIQsH9Vu6W1Uf49dODOKYk4wvz_h0HTacDhalQznwRZ7PJwpXEUtXZV2Mkl6QP1V0j60r7hRywF8U9Sffjgk0lX9t1Rri4fsL6U1/s2048/C128BBS.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2048" data-original-width="1106" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcFfyW5TkiG7s-JFgWPWe5krT1BVRP5Vk6_nh6nf6vuIQsH9Vu6W1Uf49dODOKYk4wvz_h0HTacDhalQznwRZ7PJwpXEUtXZV2Mkl6QP1V0j60r7hRywF8U9Sffjgk0lX9t1Rri4fsL6U1/w346-h640/C128BBS.jpg" width="346" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><p>Now, fast forward to 2021, and a lot has changed. Instead of floppy drives, the best high-speed storage peripherals are sd-card based, such as the <a href="https://store.go4retro.com/uiec-sd/" target="_blank">SD2IEC</a>. And instead of Linux boxes, <a href="https://electronicsisfun.com/c64net-wifi" target="_blank">wireless internet "WiFi" modems</a> that hook directly to the Commodore 128 user port solve the same problem. My interest in the later spawned my WiFi Modem firmware "<a href="https://github.com/bozimmerman/Zimodem" target="_blank">Zimodem</a>", as well as the plethora of 8-bit internet software, including <a href="https://ode2commies.blogspot.com/2020/02/return-of-geojunky.html" target="_blank">new terminal programs for GEOS</a>.</p><p>When I received a nicely working C128 as a donation a few weeks ago, I decided it was time to revive, once again, that old telnet BBS from 1996.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmMcZVA9OXCmCH1VeuzysjUHVIAbkqijd5lIf81e5eiJyWPgJRBVsnqmPYLqqLjODUcE8e5IYfuekXJqEh8d0-m6w8Bcdp3Yo95YyebuOxh_EwgXwXRDvF1df1MPhH79fa_dj9yRu3NBrN/s1147/Zelch128.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="875" data-original-width="1147" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmMcZVA9OXCmCH1VeuzysjUHVIAbkqijd5lIf81e5eiJyWPgJRBVsnqmPYLqqLjODUcE8e5IYfuekXJqEh8d0-m6w8Bcdp3Yo95YyebuOxh_EwgXwXRDvF1df1MPhH79fa_dj9yRu3NBrN/w400-h305/Zelch128.jpg" width="400" /></a></div><br /><p>So, if you'd like to give it a try, you can connect to it at <b>coffeemud.net</b>, port <b>6502</b>. The best way is from a real Commodore 8-bit computer, such as the C64, C128, or Plus/4, using your own WiFi Modem. For Windows users, there is also <a href="https://commodore.software/downloads/download/98-terminal-programs/6726-cgterm-v1-7b2-win32">CGTerm</a> or <a href="https://sourceforge.net/projects/syncterm/">SyncTerm</a>. </p><p>Stop by when you can, and behold this microscopic internet-before-the-Internet that consumed my attention and interest for so many years.</p><p><br /></p><p><br /></p>Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com6tag:blogger.com,1999:blog-4265465497497020010.post-29405856173257043822021-04-07T12:15:00.006-07:002021-04-07T12:29:00.541-07:00Zee C900 Computer Story<p>In 2003, a kind German fellow named Claus Schoenleber helped me get my hands on a pair of prototype Unix machines built by Commodore around 1984-85. One was a server (the Model 1) and the other a workstation/client (the Model 2). Because of the issues I had with them, it would take until very recently to get them working, and require the help of many, using teamwork only the internet could make possible. That's the story for today.<br /><br />The C= engineers referred to these machines internally as "Z Machine" for their Zilog Z8000 chipset, but would be marketed as the Commodore 900.</p><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA8kY8XlZiRRu7xM9mc0QxruFs-Aefk08zWXcF3LteL05abgXml1sr13mW-ms8BrXDqdNrd9aX_ZAX0w-Ja59JZDgX3RA6GKpmrVDS7pEFslOQNp3Fug5hZKOLcpUbSyNapQMp4gqJLbFt/s2048/c900minePortrait1-ol314-02.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2025" data-original-width="2048" height="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA8kY8XlZiRRu7xM9mc0QxruFs-Aefk08zWXcF3LteL05abgXml1sr13mW-ms8BrXDqdNrd9aX_ZAX0w-Ja59JZDgX3RA6GKpmrVDS7pEFslOQNp3Fug5hZKOLcpUbSyNapQMp4gqJLbFt/w400-h395/c900minePortrait1-ol314-02.jpg" width="400" /></a></div><br /><p>It was rough being a software guy who collected old hardware in the early 2000s. My knowledge of basic troubleshooting was very weak, and the internet was still mostly a desert for a niche hobby like this. As excited as I was about getting these machines, I quickly realized that their problems, and even their requirements and basic usage, were beyond my understanding.</p><p>Last year though, thanks to some encouragement from my friends at the Commodore International Historical Society and the Central Texas Commodore Users Group, I decided to apply all I'd learned in the intervening years and see what I could do with them.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyPb68YNFjZ9UNaOsioRcmTg2sgVnig5-z5Q7UvPZSEqQW7PGNZbG0Ve7RA5CEEo3w3KytipKhJufVNd89PulXDpLVCvDIlH7hoICPU4SJwpSadrAgPUMoxLQdKAXPsRA8NLLDonwKvt7L/s4272/c900mineBootDiag-OC231-03.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2848" data-original-width="4272" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyPb68YNFjZ9UNaOsioRcmTg2sgVnig5-z5Q7UvPZSEqQW7PGNZbG0Ve7RA5CEEo3w3KytipKhJufVNd89PulXDpLVCvDIlH7hoICPU4SJwpSadrAgPUMoxLQdKAXPsRA8NLLDonwKvt7L/w400-h266/c900mineBootDiag-OC231-03.jpg" width="400" /></a></div><br /><p>The Model 1 (server) was the first one I tackled, as its power supply seemed functional. At first, the issue was just figuring out what kind of video it generated, but experimenting got me around to this simple monochrome PC monitor, which gave me a first glimpse of the machine in action. Unfortunately, the hard drive clearly had issues, so this was as far as I got.</p><p>In 2020, I was able to chat with a fellow named Santo who had a Model 2 he had gotten working, so I decided to give that one a shot. The power supply in that machine was non-functional, and the best efforts of my friends at the Central TX Commodore Users group to help me diagnose and repair it had progressed slowly. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkYTMDx0kNQcI5sFQ50Qr2OP0vcTH_ySv67cyvdBNxcrdJtsWAnowl5H0Im-5OIIaMsZqjKtEmuGB6dzgMbjdiASgIsbDlV2stwi1D9AQ-oUuMikF_BW5ddeWsq6ks1ouQ59I4i__ikHRr/s3910/c900minePowerSupplyCage-OC231-03.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2030" data-original-width="3910" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkYTMDx0kNQcI5sFQ50Qr2OP0vcTH_ySv67cyvdBNxcrdJtsWAnowl5H0Im-5OIIaMsZqjKtEmuGB6dzgMbjdiASgIsbDlV2stwi1D9AQ-oUuMikF_BW5ddeWsq6ks1ouQ59I4i__ikHRr/w400-h208/c900minePowerSupplyCage-OC231-03.jpg" width="400" /></a></div><br /><p>But then Dave from the Commodore International Historical Society, whose interest in these machines knew no bounds, offered to send me a near-identical power supply from a U.S. Commodore PC-10 to get it working.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilbDF80YwJaGexpmtYP_kw-hjP-Il1zV3709IjARTmsJGDPbk7yvkJATy-TVHnPHd2UJ5wRP8a1tFD7pOZbT_oXubJf-jkNaCEeR7T7EZ8AIly3cH0B46kMbqIlrBvxje55Pp4GTVXYa0L/s640/c900minewkBack.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="640" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilbDF80YwJaGexpmtYP_kw-hjP-Il1zV3709IjARTmsJGDPbk7yvkJATy-TVHnPHd2UJ5wRP8a1tFD7pOZbT_oXubJf-jkNaCEeR7T7EZ8AIly3cH0B46kMbqIlrBvxje55Pp4GTVXYa0L/w400-h300/c900minewkBack.jpg" width="400" /></a></div><br /><p>That was only the beginning though. You see, the Model 2 had a proprietary video standard to achieve its 1024x800 resolution, which means having a one-off monitor that didn't even have a known model number. I also lacked a video cable, and its 220V requirement was certainly an inconvenience. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpicv8CMlsXM4VWUPb4Yw1sdTlUF_KN3LmGzepn-tzJZ2yWg5n3Kskelj7bqF8JZMR8Igl9BESl0xrbQ8ekKD0jsAER9S-fVbqreViHeWOHY7pG_ntWLC17L934GIKDg1VHq7JbqLMiruQ/s2660/900MineRPortrait-.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2660" data-original-width="2473" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpicv8CMlsXM4VWUPb4Yw1sdTlUF_KN3LmGzepn-tzJZ2yWg5n3Kskelj7bqF8JZMR8Igl9BESl0xrbQ8ekKD0jsAER9S-fVbqreViHeWOHY7pG_ntWLC17L934GIKDg1VHq7JbqLMiruQ/w373-h400/900MineRPortrait-.jpg" width="373" /></a></div><p>Santo to the rescue though! He had discovered a jumper in his own monitor that allowed it to accept 110V, and when my home-made video cable still failed to produce a useful signal and I discovered that one of the wires inside the monitor had become disconnected, he photographed his own board to help me figure out where it was supposed to go.</p><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHmjn8rG5ZV_yPvzpZw0hp1zSiWIDPEt6TweWfYG32FXUi1rNywniOYa7khPMxZsVWhuiryFLcq-5tgfXmTyFI8Z1jwN4X6ig4G_CDpMN4fdStgME0TWNhZSu-KSspwOZ4P_GYS98yY5J0/s2877/c900workstationMineBootBad.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2877" data-original-width="2800" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHmjn8rG5ZV_yPvzpZw0hp1zSiWIDPEt6TweWfYG32FXUi1rNywniOYa7khPMxZsVWhuiryFLcq-5tgfXmTyFI8Z1jwN4X6ig4G_CDpMN4fdStgME0TWNhZSu-KSspwOZ4P_GYS98yY5J0/w389-h400/c900workstationMineBootBad.jpg" width="389" /></a></div><br /><p>And walah! We have video!</p><p>And this is where new problems began to surface: the hard drive was unreadable, and the boot sequence reported memory errors.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuE54XIjc_owkYJXLIPTeMPtAnG0oCo9wUkfgMakAewlr40wfGPGio-IWQ9HlNzjS4XhZMtPZDctTWvaQXzRuk3KaJ8uBkFo7bv7npzVj-UTT9GdMtIYhPK7qZkNGLXFm6Yw-LY9ajOIDF/s1280/c900inside-2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="1280" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuE54XIjc_owkYJXLIPTeMPtAnG0oCo9wUkfgMakAewlr40wfGPGio-IWQ9HlNzjS4XhZMtPZDctTWvaQXzRuk3KaJ8uBkFo7bv7npzVj-UTT9GdMtIYhPK7qZkNGLXFm6Yw-LY9ajOIDF/w400-h300/c900inside-2.jpg" width="400" /></a></div><br /><p>The computer has 32 individually socketed 41256 ram chips, and the brilliant engineers at Commodore were kind enough to more or less report exactly which chip it was failing on the boot screen. Well, sort of. Either way, some experimental swapping with good replacement chips ended up fixing the memory issue.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH-R1O4y8TTJlKH_8H2AKZpBf1VUVLiVKw_BSwWbLFF0JacwJrSpgHg6pcG5cE32hqThqqP9OnrZHw0e3K6UnLChLQzy51OLEYWsC9hGXHXcxNLGZNzYaJytL_6yHXcEJ5EB6F0akCDJa6/s4272/C900mineHDemul-OC314-02.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2848" data-original-width="4272" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH-R1O4y8TTJlKH_8H2AKZpBf1VUVLiVKw_BSwWbLFF0JacwJrSpgHg6pcG5cE32hqThqqP9OnrZHw0e3K6UnLChLQzy51OLEYWsC9hGXHXcxNLGZNzYaJytL_6yHXcEJ5EB6F0akCDJa6/w400-h266/C900mineHDemul-OC314-02.jpg" width="400" /></a></div><br /><p>The bad hard drive was a tougher problem. But Santo to the rescue again. He pointed me at the fine folks at pdp8online.com/mfm who produce a remarkable board capable of both hosting a working MFM hard drive for imaging, as well as emulating one using locally stored image files. Since my own hard drive was unreadable, I used a hard drive image he had taken of his own installation.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgol0Vc2q1fUSrVSAYVmAmaxE4dt1QGzZWFwg3kS8l2_wUn0AHJjUXYmDK5cePGEFXb8I52EKxYgjcZZTG3KDZ0X9lQk62z77oQ2ruRVPynPVIY2zv945-r736A2hUEsUypAyOqAjq3-rRO/s4272/c900MinefloppyDriveBottom-OC314-02.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4272" data-original-width="2848" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgol0Vc2q1fUSrVSAYVmAmaxE4dt1QGzZWFwg3kS8l2_wUn0AHJjUXYmDK5cePGEFXb8I52EKxYgjcZZTG3KDZ0X9lQk62z77oQ2ruRVPynPVIY2zv945-r736A2hUEsUypAyOqAjq3-rRO/s320/c900MinefloppyDriveBottom-OC314-02.jpg" /></a></div><br /><p>Of course, now there were new problems. The X-Windows-Like GUI desktop software required a C900 mouse, which I did not have, and the floppy drive with its proprietary format appeared unable to format a new floppy or read known-good ones. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCjWnzCGmmUyIMY_RLcKIvbxTz84MMK66zOTa3aU3RkEWb9j2dy40bbo0HrlxjQwazeDVskl7qMZ8yrQ2pdUF_QZnhy6wP7jNqI2sUohQiasXiqFyjR-8fhNDfjH6DjpuyBQpyik-zw8Hi/s2484/c900keyboardMinePortrait3.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1072" data-original-width="2484" height="173" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCjWnzCGmmUyIMY_RLcKIvbxTz84MMK66zOTa3aU3RkEWb9j2dy40bbo0HrlxjQwazeDVskl7qMZ8yrQ2pdUF_QZnhy6wP7jNqI2sUohQiasXiqFyjR-8fhNDfjH6DjpuyBQpyik-zw8Hi/w400-h173/c900keyboardMinePortrait3.jpg" width="400" /></a></div><br /><p>And then even the keyboard started crapping out on me. Luckily, the C900 can use a standard PC keyboard, which Claus had included in his shipment. I also later discovered that the C900 keyboard was fine, and that it was a stuck key that was not visibly-stuck causing it to fail to boot. It was that ugly wide skinny stop/continue button in the upper-right.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjINJNV8f1JRWs7F3K0gtymHTSzc8YTwQXcAl-hVrUhrED0Agve_esCC-0GLhj3Mvc6kJZyQhikGE5Jqg0dZJ2thtnwkA8Cd1ZvTqntnP1ife16KFPANG7XdPw_rIipHMsEJLqdabcNiNHC/s2444/c900minePortrait3-ol314-02.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2439" data-original-width="2444" height="399" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjINJNV8f1JRWs7F3K0gtymHTSzc8YTwQXcAl-hVrUhrED0Agve_esCC-0GLhj3Mvc6kJZyQhikGE5Jqg0dZJ2thtnwkA8Cd1ZvTqntnP1ife16KFPANG7XdPw_rIipHMsEJLqdabcNiNHC/w400-h399/c900minePortrait3-ol314-02.jpg" width="400" /></a></div><br /><p>After the keyboard, I tackled the mouse issue. Mr Santo provided me detailed photos of his own mouse, so I went to the schematics and prepared to build one from scratch using, perhaps, an old Amiga mouse as a base. To my great delight, however, I discovered that the pinouts for the two were identical. The C900 mouse *IS* an Amiga mouse. </p><p>Now I was in business. I spent the better part of a month playing around with the demo software, using its Kermit terminal to do some wifi modeming, writing some little utilities in C, learning the cryptic keys of Emacs, and otherwise enjoying the machine. You can see some videos of the demos <a href="https://www.youtube.com/watch?v=NGw305IJ9iY&t=24s">here</a>, and <a href="https://www.youtube.com/watch?v=pIpstuQbKMQ">here</a>. </p><p>But eventually I wanted to revisit the Model 1/Server machine. If you recall, it had a bad hard drive. Well, I discovered the hard drive issue was merely intermittent, and I already had a good long-term solution when dealing with the Model 2, namely the MFM emulator. And so...</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCYSmRHJFCCnF7t7N3ZHS7Up4HIpspQFSY2jsZVA-V8Vn7cmUFX9zlgevft7TDqQnEbASj35fTYS9QelcjDjLgMDOZ3PuqEnOZ2mzufMJziHe808pUbRuEzZABX02Cfw7XIpMeCcCsyKey/s2646/c900mineSysPortrait-OC231-03.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2499" data-original-width="2646" height="378" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCYSmRHJFCCnF7t7N3ZHS7Up4HIpspQFSY2jsZVA-V8Vn7cmUFX9zlgevft7TDqQnEbASj35fTYS9QelcjDjLgMDOZ3PuqEnOZ2mzufMJziHe808pUbRuEzZABX02Cfw7XIpMeCcCsyKey/w400-h378/c900mineSysPortrait-OC231-03.jpg" width="400" /></a></div><br /><p>18 years was a long time to wait to finally see these machines happy and functioning again, but definitely worth it. 2020 may have been the worst year ever, but for a shut-in Commodore collector: not so bad! And definitely a team effort that only good hearts and the power of the internet could provide.</p><p>I hope you enjoyed my little journey. Until next time...</p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p>Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com2tag:blogger.com,1999:blog-4265465497497020010.post-62169105908767219452021-02-04T23:06:00.007-08:002021-02-04T23:17:01.959-08:00Best Week Ever!<p>Way back in 2002, I was lucky enough to lay my hands on a beautiful Commodore 256-80 computer, the top dog of the CBM-II line of business machines. </p><p>It had issues almost from the beginning though. </p><p>First off, it would only power up occasionally, and when it did, the power supply made a horrible screeching sound for as long as I used it. </p><p>Second, it had been equipped with the 128K BASIC roms instead of the 256k roms, which means BASIC was using less than half of the available memory.</p><p>Lastly, my 8088 card, which I acquired from the same owner, absolutely refused to work inside this computer. </p><p>I despaired, but remained thankful for what I had.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzAGOOycXvH5DW6Bb0x6YkowLN_1m86xVQ393jvBL43LJ3G-tuT-7UGMB2XxFdnmwjMvEX8qXB8mGCH01n-547RMR_UlBKqCw4dYKhyMbeKSwv9zdFq9GHzph7NrVqorD2acPag8iHNOga/s2048/cbm256-80minePortrait2-B1007086.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2048" data-original-width="1420" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzAGOOycXvH5DW6Bb0x6YkowLN_1m86xVQ393jvBL43LJ3G-tuT-7UGMB2XxFdnmwjMvEX8qXB8mGCH01n-547RMR_UlBKqCw4dYKhyMbeKSwv9zdFq9GHzph7NrVqorD2acPag8iHNOga/w444-h640/cbm256-80minePortrait2-B1007086.jpg" width="444" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><p>You might think the first thing I would concern myself with was fixing that screeching noise from the power supply. However, I didn't. I had been told it was probably due to slightly loose wiring in one of the transformers vibrating during normal usage, and that replacing the irreplaceable transformer was the only real fix.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcaiE4eDKyK_a5svVUQhVSMtoXrI8cBkkQbYCWvDEX_cbt0UVCmgC9o8lkUA_z_TPKzaMF4lXbeIuXFhoySzlLp-dfuW7KfM3Nj5tHcMh4QTM-iGfZ5PPqwUcAgqvUCFyz854kxeP_NuTZ/s2048/Img_2418.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1365" data-original-width="2048" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcaiE4eDKyK_a5svVUQhVSMtoXrI8cBkkQbYCWvDEX_cbt0UVCmgC9o8lkUA_z_TPKzaMF4lXbeIuXFhoySzlLp-dfuW7KfM3Nj5tHcMh4QTM-iGfZ5PPqwUcAgqvUCFyz854kxeP_NuTZ/w400-h266/Img_2418.jpg" width="400" /></a></div><br /><p>I focused instead on the booting problem of the power supply. For nearly 20 years, perhaps twice a year, the computer would stop booting. I would then take it apart, remove the board shown above, and then try to figure out what was wrong. Typically, after a few days of poking around, the computer would start booting again, and so I'd button it back up and move on to something else.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmblaWWklVygdRCwKcOI78qfn1JSoekLxTBqelXbf4ux-uvQwlcVYXjHdMHHJYCPWMCCeeUS469FASxGLdr5EIUJgrMQGeRCetBO7ar2bAcSlWOD85WdHtXHLASm29z1QBZev8iMSvXgMB/s2048/Img_0477.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1575" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmblaWWklVygdRCwKcOI78qfn1JSoekLxTBqelXbf4ux-uvQwlcVYXjHdMHHJYCPWMCCeeUS469FASxGLdr5EIUJgrMQGeRCetBO7ar2bAcSlWOD85WdHtXHLASm29z1QBZev8iMSvXgMB/s320/Img_0477.jpg" width="320" /></a></div><br /><p>Along the way, I tried restoring the BASIC 256 roms by burning the images to some 68764 EPROMS I had, but the computer would only boot into the monitor, indicating a failure. Did I have bad memory in the upper two banks? Is that why the 128K roms had been put in there? <sigh></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRB7qdOXZrP3eUdIxMeFLUj8orHuRbH8KAwm8xKZ0IsYWho5EGW3yuQISjDc5H22cFQ6Li4WJtbBlaGOW0JYgv1GXlwnwa_6_9299hzWGdsRA0hYOxVmlmjeqrDOUvHdZAY1fbfR12W5yf/s2048/Img_0478.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1345" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRB7qdOXZrP3eUdIxMeFLUj8orHuRbH8KAwm8xKZ0IsYWho5EGW3yuQISjDc5H22cFQ6Li4WJtbBlaGOW0JYgv1GXlwnwa_6_9299hzWGdsRA0hYOxVmlmjeqrDOUvHdZAY1fbfR12W5yf/s320/Img_0478.jpg" width="320" /></a></div><br /><p>I also made repeated attempts to get the 8088 board working, but the boot disks would never do more than hang the computer during load, indicating to me that the board was still failing or incompatible.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxf1jvaJ9AABhvyMcHK-DQvj0DmImYMLhJAQ4qo38raX1yQx5O5GUHDnZUa9PJGOyrwkKkgxvmLnbhL93LF40-W_EINpkgh1Psnu8jjb2mOt9ChyphenhyphenXhZgTyzxgHLuI0XKOqpDR4rTQHadD-/s320/logoDivider.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="21" data-original-width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxf1jvaJ9AABhvyMcHK-DQvj0DmImYMLhJAQ4qo38raX1yQx5O5GUHDnZUa9PJGOyrwkKkgxvmLnbhL93LF40-W_EINpkgh1Psnu8jjb2mOt9ChyphenhyphenXhZgTyzxgHLuI0XKOqpDR4rTQHadD-/s0/logoDivider.png" /></a></div><br /><p>Recently, however, Dave McMurtrie acquired an identical 256-80 machine with a bad power supply, and managed to fix his by replacing basically every source-able component on the board. This was inspiring to me. Why couldn't I do that? If he can fix a dead power supply, surely I can fix an intermittently bad one. </p><p>Why did I have to live with any of these problems? </p><p>And so I got to work.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh85gJtD6mv-G-zN2oQepjx2N6h8wsePWS1gJ4hac1HYPO2pxB8GI01B_ZfQTp2_JmIxJM2wObHJlQONk9Lytait2KdWvX-byXlVrEWxKTCUsAz_P-1jzn6Jl0I25_c15e0X7ouuHsSvON5/s2048/256-80minePowerSupplyCapped-B1007086%2527.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1365" data-original-width="2048" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh85gJtD6mv-G-zN2oQepjx2N6h8wsePWS1gJ4hac1HYPO2pxB8GI01B_ZfQTp2_JmIxJM2wObHJlQONk9Lytait2KdWvX-byXlVrEWxKTCUsAz_P-1jzn6Jl0I25_c15e0X7ouuHsSvON5/w400-h266/256-80minePowerSupplyCapped-B1007086%2527.jpg" width="400" /></a></div><br /><p>My first step was to replace every capacitor on the board except the two largest, which measured fine. If I had any doubts about the need to replace the others, they were dispelled when I tried measuring one of the old capacitors on the left side of the board and it was reported as a diode. I also found myself cleaning off tons of electrolytic fluid that had been leaking. You hear all the time about how bad capacitors will bulge on top when they go bad, but these were all bulging out at the *bottom*. </p><p>Dave had sent me some of his leftovers, so I also swapped in some fresh voltage regulators and transistors, and even replaced the choke, though I doubt they were bad.</p><p>When I was done, I tried it out, and to my delight, the computer was booting again. But that wasn't the best part: the screeching noise was GONE! It wasn't just loose wires in the transformer after all! Something I wish I'd known 15 years ago, but better late than never and all that.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifEEayi80nz2E-nSZEovaT7FP7JLBhUAFWiQ4XAfuChxk24W_lseQpIOKOKTlHp9tIP-Fj1z-miY1i1EEEil3UNpS34NxcXCyZ0W1vl8uJ1HDDGqacJycjBLm7YFb4ucx7cnmv9XrKlOl-/s2048/Img_0458.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1400" data-original-width="2048" height="274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifEEayi80nz2E-nSZEovaT7FP7JLBhUAFWiQ4XAfuChxk24W_lseQpIOKOKTlHp9tIP-Fj1z-miY1i1EEEil3UNpS34NxcXCyZ0W1vl8uJ1HDDGqacJycjBLm7YFb4ucx7cnmv9XrKlOl-/w400-h274/Img_0458.jpg" width="400" /></a></div><br /><p>Flush with optimism from the power supply repair, I went back to looking at those BASIC 256 roms. The 68764 burns I had made still verified as correct in my eprom programmer, but also still refused to boot in the computer. So, for no reason, I made new ones, this time in some 68766 eproms, and guess what? BAM!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiybhvzk2twnqNu7-9ppyBF59MNFqKKrw_mgTEt_kBkvN66_RYcXvLezgzWZ5UfKDFRMoT37PnLv4pJpqKO7W6ef6lYgm4qsfodgQfxYWUfLsL_xJrSFjFI_R_H8z6zL_ZyAsbiFCg15dXj/s2048/Img_0445.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1365" data-original-width="2048" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiybhvzk2twnqNu7-9ppyBF59MNFqKKrw_mgTEt_kBkvN66_RYcXvLezgzWZ5UfKDFRMoT37PnLv4pJpqKO7W6ef6lYgm4qsfodgQfxYWUfLsL_xJrSFjFI_R_H8z6zL_ZyAsbiFCg15dXj/w400-h266/Img_0445.jpg" width="400" /></a></div><br /><p>I was on a roll now. Nothing could stop me. I pulled the 8088 daughterboard off the shelf and once again carefully installed it inside the computer.</p><p>I had two boot disks, which I'd tried interchangeably over the years: an MS-DOS 1.25 boot disk, and a CP/M 86 boot disk. I hooked up a drive and tried MS-DOS 1.25...</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaUtZ8U-m5bvsSg-vh7nXzXl31UewFjmrRvAMW3Hsr1G0OnCvnL0EKnOOXjnieQo9-V2fdpqEvBWRplc1N5QbYzrP1rqbaxvFB9ZGRPhrzt1qimdZmoS_80-nEg3wuGdqBIY5BcrWvgAB6/s2048/Img_0473.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2048" data-original-width="1378" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaUtZ8U-m5bvsSg-vh7nXzXl31UewFjmrRvAMW3Hsr1G0OnCvnL0EKnOOXjnieQo9-V2fdpqEvBWRplc1N5QbYzrP1rqbaxvFB9ZGRPhrzt1qimdZmoS_80-nEg3wuGdqBIY5BcrWvgAB6/w430-h640/Img_0473.jpg" width="430" /></a></div><br /><p>I almost fell over with joy, right then and there. After 20 years: a stable quiet power supply, the correct version of BASIC, and the 8088 card working perfectly. Perhaps the 8088 card had been too much for the power supply in the past? Either way, it was all good now.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1-JnjgTi35IhWr_6udUY9KKcSt8mFUUyus9eP1JKzu0LclGfH9ZwAEd6FIz3DyWaHYoW2pRJQO1HyC1g2vbGtgKNVMh_ZpwA8dPA_MQu-Os8I_nBOx7Bl0lMCarnTUC9Qz7oSFEwlbPcL/s2048/Img_0459.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1183" data-original-width="2048" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1-JnjgTi35IhWr_6udUY9KKcSt8mFUUyus9eP1JKzu0LclGfH9ZwAEd6FIz3DyWaHYoW2pRJQO1HyC1g2vbGtgKNVMh_ZpwA8dPA_MQu-Os8I_nBOx7Bl0lMCarnTUC9Qz7oSFEwlbPcL/w400-h231/Img_0459.jpg" width="400" /></a></div><p>So, of course I tried the CP/M-86 boot disk and now it, too, came right up. Looking at the directory on the disk, my eyes went straight to that first program. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzPP-wOIjxDeVhwVMwC4VJN-hSQhSqetKtdF_jbuJrqsw-sNgHbUD8osv0JTAMPhHT5f6I5AsxMlOdh8uH5Remtkeny4SC7rx1cubSaoNkqPTTuJGNBso2JSfLPyikNAoLeYO98mazB7tr/s2048/Img_0467.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1335" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzPP-wOIjxDeVhwVMwC4VJN-hSQhSqetKtdF_jbuJrqsw-sNgHbUD8osv0JTAMPhHT5f6I5AsxMlOdh8uH5Remtkeny4SC7rx1cubSaoNkqPTTuJGNBso2JSfLPyikNAoLeYO98mazB7tr/s320/Img_0467.jpg" width="320" /></a></div><div><br /></div>WordStar on my C128 had gotten me through college, so how could I resist another trip around the keyboard with it?<div><br /></div><div>And with some finagling and some help from Steve Gray with the PET Emulator, I even managed to play some PETSCII robots:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-NW1g2Nsn5UQUdMFWkyc_h5Yg3Ge2IGmBKaR4RYMJGiykmPDcbkbhDXTUqmmG333g4VCj0uhAchdf_iCPnVy0skbAfONvfV6yhbVs1EHI4UytW1I4O12lhrZFxD6hJbLAHdatTm_Bn29n/s2048/Img_0480.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2048" data-original-width="1374" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-NW1g2Nsn5UQUdMFWkyc_h5Yg3Ge2IGmBKaR4RYMJGiykmPDcbkbhDXTUqmmG333g4VCj0uhAchdf_iCPnVy0skbAfONvfV6yhbVs1EHI4UytW1I4O12lhrZFxD6hJbLAHdatTm_Bn29n/w430-h640/Img_0480.jpg" width="430" /></a></div><br /><div><br /><div>This had been the best week ever! </div><div><br /></div><div>... of course, all of the above triumphs consumed perhaps 2-3 days. You'll have to wait to find out how the week actually started. If this didn't convince you I'd had a good week, the next installment will.</div><div><br /></div><div><p><br /></p><p><br /></p><p><br /></p><p><br /></p></div></div>Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0tag:blogger.com,1999:blog-4265465497497020010.post-76865813502825014392020-03-13T17:19:00.000-07:002020-03-20T19:01:55.913-07:00Here's What You MissedThe last decade or so has seen a bit of a revival in the Commodore 8-bit branch of the retro-gaming and retro-computing realm. Prices have been rising, new hardware and software has exploded, and the chatter in all kinds of social media has multiplied. For me, it's been fantastic.<br />
<br />
However, I've observed a kind of awareness gap in the prodigal sons who've been returning to the fold. I decided, therefore, to write a little essay to get everyone who was absent from the 8-bit community during the 1990s and 2000s caught up. <br />
<br />
For fellow die-hards: if I neglected anything, please comment below. This will understandably be written with a U.S. bias, though I did my best to overcome it.<br />
<br />
And with that, let's get started.<br />
<br />
<h2>
Part 1: <span style="color: blue;">Hardware</span></h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2JyxpwH79Qwzwv7JD86x42LqyEGtJfKnqaS3QiNoNwg6SSVT97Dtw7xvcMsQpGggokRSbXeX7lONh94arMxw7ct_LneIdl7uLx0zaWsQb6rfr_qD1b60Wr2E5vem5n47O4qbg7yoqCIFB/s1600/Img_9336.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1195" data-original-width="1600" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2JyxpwH79Qwzwv7JD86x42LqyEGtJfKnqaS3QiNoNwg6SSVT97Dtw7xvcMsQpGggokRSbXeX7lONh94arMxw7ct_LneIdl7uLx0zaWsQb6rfr_qD1b60Wr2E5vem5n47O4qbg7yoqCIFB/s400/Img_9336.jpg" width="400" /></a></div>
<br />
For the Commodore 8-bit scene, the 1990s cannot be understood at all without talking about a little company founded by Doug Cotton and Mark Fellows in Massachusetts called <a href="https://en.wikipedia.org/wiki/Creative_Micro_Designs">Creative Micro Designs</a>. From 1987 - 2001, CMD made us feel like our machines were more a lifestyle choice than clinging to obsolescence. Their products included the Kernal upgrade JiffyDOS, the SuperCPU 20mhz accelerator, HD-Series hard drives, FD-Series high density and enhanced density 3.5" floppy drives, the RAMlink ram drive, Smart-series mice and trackball controllers, gamepads, 1750 ram expansion clones (with 2MB!), and don't forget the SIDSymphony sound expander, and the SwiftLink and Turbo232 high speed serial/UART cartridges they licensed from <a href="https://www.commodoreserver.com/BlogEntryView.asp?EID=D9C41E661770475E97BAD939A423F0AC">Dr. Evil Labs</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVEWnD4tE22Jdk9tQ4_9ts2FDt_v8dV26N-ig6OftQeAhGh8vAyQOWR3H7FYmws0szyu8lu3vpTBFdEk6iDcBZkCKzpMj81CnNd8nF9ugIER-7qr0FiFjFQ4AE7m_bIMe8eOsvYtiIsT8z/s1600/ide64.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="424" data-original-width="597" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVEWnD4tE22Jdk9tQ4_9ts2FDt_v8dV26N-ig6OftQeAhGh8vAyQOWR3H7FYmws0szyu8lu3vpTBFdEk6iDcBZkCKzpMj81CnNd8nF9ugIER-7qr0FiFjFQ4AE7m_bIMe8eOsvYtiIsT8z/s320/ide64.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
While CMD towered over the 90s, they weren't entirely alone in their efforts to give Commodore power users new capacity. Tomas Pribyl and Jan Vorlicek developed the <a href="http://www.ide64.org/">IDE-64</a> in 1994, a cartridge-based IDE controller that bragged better performance and a lower price, at the expense of compatibility, for mass storage.<br />
<br />
Another option that emerged in the 90s was <a href="http://www.zimmers.net/anonftp/pub/cbm/crossplatform/transfer/CBM-to-PC/index.html">64NET</a> from Paul Gardner-Stephen, which allowed a PC to be used as a storage device for a C64. Around 2000, a similar solution called <a href="https://www.64hdd.com/">64HDD</a>, was devised by Nick Coplin.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1grJsobyMgti1rd1I4lxIrB8KI3hyphenhyphen-TfLEX84bC92T4GYpxN8vV4uDbvwoSH8jm5YVUJvE7EqKCYhsmTryea3zCni9tql4SiX60U382WKGS7I_2M1eXPJbKFS4368yK38ShUsLbZu9n1j/s1600/x1541.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="640" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1grJsobyMgti1rd1I4lxIrB8KI3hyphenhyphen-TfLEX84bC92T4GYpxN8vV4uDbvwoSH8jm5YVUJvE7EqKCYhsmTryea3zCni9tql4SiX60U382WKGS7I_2M1eXPJbKFS4368yK38ShUsLbZu9n1j/s320/x1541.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
As the internet began to take off in the mid-90s, new products began to emerge to solve the most pressing and important problem of the day: how to get software from the internet onto floppy disks. This led to various cables and solutions for connecting Commodore floppy drives to internet-enabled PCs in order to transfer software, primarily using Joe Forster's <a href="https://sta.c64.org/sc.html">Star Commander</a> software. These cables began with Leopoldo Ghielmetti's <a href="http://sta.c64.org/xcables.html">X1541 </a>cable in 1992, which eventually expanded to include the XM1541, XE1541, and so forth.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU_-PjqoWB3ATDtvxmsL2Y_mgK2MnkwNlnJAiXqVgCATs8MUMeBwhLgrCQ90afsp_NqruB0OShW3a6xjjFV7lFfsI4TUrc5cmF8L_xlVEbIIsKgi9uUiIBuhKC8Gbts5-ma-GALbvidUF7/s1600/palm1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="332" height="289" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU_-PjqoWB3ATDtvxmsL2Y_mgK2MnkwNlnJAiXqVgCATs8MUMeBwhLgrCQ90afsp_NqruB0OShW3a6xjjFV7lFfsI4TUrc5cmF8L_xlVEbIIsKgi9uUiIBuhKC8Gbts5-ma-GALbvidUF7/s320/palm1.jpg" width="320" /></a></div>
<br />
<br />
Not to be left out, however, these dark ages also saw the first devices for getting 8-bits onto the internet directly. Initially this was through dial-up modems, often involving the aforementioned SwiftLink cartridge. Eventually, the wired-ethernet solution <a href="https://icomp.de/shop-icomp/en/shop/product/rr-net-mk3.html">RR-Net</a> was introduced by Jens Schönfeld as an add-on for the Retro-Reply cartridge, although software support has always been somewhat slim for this device. An even stranger solution was the Palm Pilot ethernet cradle, which, when combined with the SwiftLink cartridge, also allowed wired ethernet capability.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3vHgy2sklKz-ZLIjkNd_874rQKTwu5jUYshYEv-oz3GpCPw-Z9WjIE3mJuUTq0ABGrBg6K9eDISTmBnb5RZCGtwKPIAcojDGbaVRL8AqKst9dMq8jyA0m_KHFiu7ruALhFGtoXmZRRWOZ/s1600/C64DTV-PAL-Mine-TPortrait.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1296" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3vHgy2sklKz-ZLIjkNd_874rQKTwu5jUYshYEv-oz3GpCPw-Z9WjIE3mJuUTq0ABGrBg6K9eDISTmBnb5RZCGtwKPIAcojDGbaVRL8AqKst9dMq8jyA0m_KHFiu7ruALhFGtoXmZRRWOZ/s400/C64DTV-PAL-Mine-TPortrait.jpg" width="323" /></a></div>
<br />
<br />
At the beginning of the new millennium, though, the scene's attention was turned to a young self-taught engineer named Jeri Ellsworth, who promised to bring us something previously un-imagined: a new hardware reproduction of the Commodore 64. By re-implementing each of the computer's custom chips in FPGA technology, this culminated in the <a href="https://en.wikipedia.org/wiki/C-One">CommodoreOne </a>(C-One) computer. Not many years later, this same technology was scaled back in the form of the C64 DTV game. The DTV was famously designed to be hacked in such a way as to include ports for a keyboard and second joystick, and a serial port for disk drives, allowing it to be turned into a useful computer.<br />
<br />
<h2>
Part II: <span style="color: blue;">Software</span></h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaIboZE-UOSLpzjJDLluh2wIv6gGT_JR-BLz7hTeBrPmOeF1X1paSBK5SBcwustABxwm4fDynXpEVN1DqnjALitr9SPUkX24-CR3kYAWHX2o1-D8ei49o5KCidZRGBH6faSaLxEKP-hR2v/s1600/weekendworld.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="169" data-original-width="240" height="281" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaIboZE-UOSLpzjJDLluh2wIv6gGT_JR-BLz7hTeBrPmOeF1X1paSBK5SBcwustABxwm4fDynXpEVN1DqnjALitr9SPUkX24-CR3kYAWHX2o1-D8ei49o5KCidZRGBH6faSaLxEKP-hR2v/s400/weekendworld.png" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Above is a screen shot of the Weekend World demo by Outcast. The interregnum Commodore demo scene saw a decline in the number of releases, though not in their quality. By the year 2000, the scene was producing 10% of what it had in 1990, but all of it building on the technological achievements of their predecessors. Output remained steady through 2009 before finally dying off in the last 10 years. The demo scene, especially in Europe, was the social center of Commodore 8-bit fandom. "The Scene" as it was called, was organizing itself into yearly and bi-annual "Parties" all over the continent.</div>
<div>
<br /></div>
<div>
Meanwhile, the same period saw intense interest among die-hard 8-bitters in new operating systems and platforms to take advantage of new hardware, new innovations in user interfaces, and, of course to access the internet. Chief amongst these was the graphical user interface GEOS and its Trinity of Successors. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglVao72tTnAyF1wgTrERrFP8HLd0l872USL_p-34P2A-shig_u7A5zfe7gU7dABB2szcmUF_t-OY_KlMXctv7rRaEZR1Gpdu2LG5p6uN9a8RclYEpQtpg-95gg5BtPjeAM706leLCQDAOs/s1600/gateway.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="540" data-original-width="1341" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglVao72tTnAyF1wgTrERrFP8HLd0l872USL_p-34P2A-shig_u7A5zfe7gU7dABB2szcmUF_t-OY_KlMXctv7rRaEZR1Gpdu2LG5p6uN9a8RclYEpQtpg-95gg5BtPjeAM706leLCQDAOs/s400/gateway.jpg" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Although Creative Micro Designs often released patches and utilities to help users of Berkeley Softwork's GEOS 2.0 enjoy their new hardware, it became quickly apparent, even to CMD themselves, that a more integrated solution was required. First out of the gate with such a solution was CMD themselves, with gateWay. Written by Jim Collette, gateWay featured integral support for CMD hardware, a task switcher, and a highly customizable (albeit unattractive) deskTop.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZfSJzmIOsttqhONwSFJ41P6vNVV9FX0QDqZqhfzLTxwQAEZt3geoqLaWPrexb8XDihIynfC4Vt6IPBLyjn_RRq4hB4fnWLsebYI5SOY6kClL_FmRQpveMe4y4F3_ulGu1ryDPudFHHpFw/s1600/mp3wh.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="543" data-original-width="1436" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZfSJzmIOsttqhONwSFJ41P6vNVV9FX0QDqZqhfzLTxwQAEZt3geoqLaWPrexb8XDihIynfC4Vt6IPBLyjn_RRq4hB4fnWLsebYI5SOY6kClL_FmRQpveMe4y4F3_ulGu1ryDPudFHHpFw/s400/mp3wh.jpg" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
The next leg of the trinity to arrive was Maurice Randall's "Wheels" (GEOS 4.0) OS. Wheels sported movable and re-sizable windows, and support for CMD native partitions and sub directories in its beautiful "Dashboard" replacement for deskTop. This was quickly followed by GEOS MegaPatch3 by Markus Kanet in Germany, which included TopDesk 64, and, like gateWay, included integrated task switching.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwvTsZ01nCtH9LHKPLNcIxxlgami7RpO1FDapyozD5E-AWNybCK8tevm6gCNo5y7tqb2nZWbH6iYXDk4XxHHb2zxPzC15jrwCOpet105LxFzC7FlU1Q3vT7ZNH9Y5gX3Av22LuHrTb6AMp/s1600/unix.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1082" data-original-width="1436" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwvTsZ01nCtH9LHKPLNcIxxlgami7RpO1FDapyozD5E-AWNybCK8tevm6gCNo5y7tqb2nZWbH6iYXDk4XxHHb2zxPzC15jrwCOpet105LxFzC7FlU1Q3vT7ZNH9Y5gX3Av22LuHrTb6AMp/s400/unix.jpg" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
While the GEOS patches remained a popular platform, UN*X clones for the 8-bits began arriving as well. First up was LUNIX in 1993 by Daniel Dallmann, which featured pre-emptive multitasking, pipes, and support for SLIP, PPP, and featured several network clients. The same year, Craig Bruce released his own ACE r9 for the C64 and C128, along with ZED-128 text editor, capable of handling enormous text files. Greg Reidel's UNIX-128 for the Commodore 128 rounds out our list.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj68hSq_1dG0SCdNqHotFEIAcUmc-yWezJ6uw0y47HNcjYQoZ64W0lKgUo74r7UN6xVwbE9I8jZ2bAKvv2ZOrN3CztmCKSlUANXQ8QamiJUkrLbKZXpZ-XmnKZoXYKp-EpiEbNEtA5pcQiS/s1600/wings.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="541" data-original-width="1436" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj68hSq_1dG0SCdNqHotFEIAcUmc-yWezJ6uw0y47HNcjYQoZ64W0lKgUo74r7UN6xVwbE9I8jZ2bAKvv2ZOrN3CztmCKSlUANXQ8QamiJUkrLbKZXpZ-XmnKZoXYKp-EpiEbNEtA5pcQiS/s400/wings.jpg" width="400" /></a></div>
<div>
<br /></div>
<div>
As the year 2000 rolled around, Jolse Maginnis brought us an OS for the CMD SuperCPU, called <a href="http://wingsos.org/">WiNGs</a>. It's object was to give the c64 support for the latest audio and video encodings, as well as extensive support for internet connectivity. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr2tufzjqn3isnhyw5fdh7KvVYueMegUelnnGvXfi7q_r8dZCGJMMePwXJW5gbKkjEOPvWKEUdDFmeoNv9-7AUjVnmvo91ygbMgOxSWfPaOpL2DLKOEliz-u21Zr3aY2tOT1jjwu6yM9uz/s1600/contiki.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="537" data-original-width="712" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr2tufzjqn3isnhyw5fdh7KvVYueMegUelnnGvXfi7q_r8dZCGJMMePwXJW5gbKkjEOPvWKEUdDFmeoNv9-7AUjVnmvo91ygbMgOxSWfPaOpL2DLKOEliz-u21Zr3aY2tOT1jjwu6yM9uz/s320/contiki.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
Our final entry in the OS bundle came in 2003, when Adam Dunkels released Contiki OS for all manner of Commodore 8-bits, as well as other platforms. Another GUI OS, Contiki was significant as a vehicle for RR-Net cartridges, by including a native tcp/ip stack as well as several internet servers and clients. Every 8-bitter wanted to run a web server on their C64 that year.</div>
<div>
<br /></div>
<div>
Software which ran on the standard Commodore kernal was also plentiful during this period, and helped us stay tentatively connected with advances in the PC-world. This included Pasi Ojala's "gunzip" in 2002 and "puzip" in 2004, Errol Smith's "UnZip64 v2" for handling pkzipped archives in 1998, and David DeSimone's "uuxfer" for decoding programs off of USENET. </div>
<div>
<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj06nCHbs19ajRB4xfJgcOYsYyHCaQZJMLDnoDxNmp0Rd7W-EwLgSSdN8bDuqBc8S583kUuYXOhd3QuJuu1Yidh0BrR6H_VqrtKXp3G5ZlS2kxg_6XTVRqZlKJGftLrtbfGT5V812bivhBB/s1600/jpx.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="263" data-original-width="361" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj06nCHbs19ajRB4xfJgcOYsYyHCaQZJMLDnoDxNmp0Rd7W-EwLgSSdN8bDuqBc8S583kUuYXOhd3QuJuu1Yidh0BrR6H_VqrtKXp3G5ZlS2kxg_6XTVRqZlKJGftLrtbfGT5V812bivhBB/s320/jpx.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
New graphic formats popularized in the 90s also got support on our little 8-bits, include JPEG with JPX viewer by Stephen Judd in 1999, GIF files with VGIF viewer by David Jansen in 1990, and geoGIF by Randy Weems for GEOS the same year. Photos became a particular fascination with C64 users with the invention/discovery of dozens of new video modes one could achieve with the VIC-II chip, such as FLI, IFLI, and all the derivatives that emerged between 1990 and 2010.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig2vn2np0oNE041ubU94KNl1DsDoNE7A4BdPTU_QhujTNDZhyphenhyphen3M27OiYhoFFYAkQZrfPdUzYWi6hCOtuUoSPOzoUAKkW0FRZkOb5RdpSGyvgo9MPZqlJJFHUuqkNCiLhK4Dvp5GMnEhx4m/s1600/gfxeds.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="1429" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig2vn2np0oNE041ubU94KNl1DsDoNE7A4BdPTU_QhujTNDZhyphenhyphen3M27OiYhoFFYAkQZrfPdUzYWi6hCOtuUoSPOzoUAKkW0FRZkOb5RdpSGyvgo9MPZqlJJFHUuqkNCiLhK4Dvp5GMnEhx4m/s400/gfxeds.jpg" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
There were also advances in image creating and editing software for the 8-bits as well. This includes the amazing <a href="https://github.com/godot64/GoDot">GoDot </a>system for the C64 released in 1996 by Arndt Dettke, as well as IPaint for the Commodore 128 in 1993 by Rick Kane. And of course, there is no way GEOS would be outdone on image editing, which made the release of geoCanvas by Nate Fiedler in 1993 quite an event.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtuXOEkP2c0a3X6bzpH8RH33fmWVxesRHJPGgREw1-mjtiSeBZyHKOoOx6ge-FYIp4ZRT5Xd8jHZnGHkRcZhyphenhyphenSL4qkKvPR0UPcpwPZJDhDfKzfD_KXefqWlysGtcpIbBu8pqMJCki2MwX3/s1600/terms.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="1473" height="130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtuXOEkP2c0a3X6bzpH8RH33fmWVxesRHJPGgREw1-mjtiSeBZyHKOoOx6ge-FYIp4ZRT5Xd8jHZnGHkRcZhyphenhyphenSL4qkKvPR0UPcpwPZJDhDfKzfD_KXefqWlysGtcpIbBu8pqMJCki2MwX3/s400/terms.jpg" width="400" /></a></div>
<div>
<br /></div>
<div>
And lastly, as the BBS scene gave way to the internet, serial terminal programs capable of 80 column display and ANSI grew in importance for 8-bit computer users using dial-up shell accounts. This made the release of Novaterm 9.6 by Nick Rossi in 1997 an extremely welcome development for C64 users. On the Commodore 128, we all swore by DesTerm by Mathew Desmond in 1998.</div>
<h2>
Part III: <span style="color: blue;">Magazines</span></h2>
<div>
Magazines and other bundles of periodical content continued to play an important role in the interregnum, especially during the early 1990s when it was still our only way to find out what was going on in the Commodore world.</div>
<div>
<br /></div>
<div>
At first, the Glossy magazines, especially those hanging in from the 1980s, continued to keep us in the loop. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTPmLVxQVkIvGaS5qOvHHJOvLqw0ljxQwNHqm76q3tXD8QZM1PkCS0mtXFt4FD5i2s6Ybl7wv-gphl_11CofDH2LtB5Mlyrzmp1k_LKiPOAxFOjDj8sidBOxDczn8QF3HofT3X5AXyilpK/s1600/runcompute.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="518" data-original-width="756" height="219" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTPmLVxQVkIvGaS5qOvHHJOvLqw0ljxQwNHqm76q3tXD8QZM1PkCS0mtXFt4FD5i2s6Ybl7wv-gphl_11CofDH2LtB5Mlyrzmp1k_LKiPOAxFOjDj8sidBOxDczn8QF3HofT3X5AXyilpK/s320/runcompute.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
In the U.S., these would include RUN Magazine which continued until 1993, and COMPUTE! magazine, which included an internal "Gazette" section for 8-bitters until 1994. In their waning years, the content shifted a bit towards GEOS and the new CMD hardware, but otherwise kept their original focus.</div>
<div>
<br /></div>
<div>
Believe it or not, new glossy magazines also appeared after the old 1980s magazines vanished. Although many of them didn't last very long. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisAKlOChTWN1GtL5J7F3zD_-VwKV-3T9YxmZAjAqgtdgan4NibhADWFcWL44tHcD-b4jUHuxUE8OG59Q2sNO0jW3tYhc_7mKxRv_YWq_AmIN30BNwnujspAUWBa1S-7OvGQUO-tawdsokZ/s1600/cwgo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="556" data-original-width="815" height="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisAKlOChTWN1GtL5J7F3zD_-VwKV-3T9YxmZAjAqgtdgan4NibhADWFcWL44tHcD-b4jUHuxUE8OG59Q2sNO0jW3tYhc_7mKxRv_YWq_AmIN30BNwnujspAUWBa1S-7OvGQUO-tawdsokZ/s320/cwgo.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Creative Micro Design's own Commodore World, which ran from 1994-1999, picked up where RUN magazine left off and focused almost entirely on GEOS and their other products. Meanwhile, GO64!, a German language Magazine, was published by CSW Verlag from 1997-2000. GO64! also began publishing an English edition in 1999, and picked up the remainder of Commodore World's subscribers.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLRjdtmnzn9sOWYPt-RpQmCHTu1IzJ5WQ2DJAz4iRq03SBolciKG-_zgXEOyj9v1gyUotY3eRnFWNNB2IHF4lGabReyKNBb5eYighsC39372k7Md9UcSR1bw8PihzjnflumhtA32z_zPc1/s1600/format.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="641" data-original-width="962" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLRjdtmnzn9sOWYPt-RpQmCHTu1IzJ5WQ2DJAz4iRq03SBolciKG-_zgXEOyj9v1gyUotY3eRnFWNNB2IHF4lGabReyKNBb5eYighsC39372k7Md9UcSR1bw8PihzjnflumhtA32z_zPc1/s320/format.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<br /></div>
<div>
Also in Europe, the gaming magazine Commodore Format held strong from 1990 all the way through Commodore's bankruptcy in 1995. It remained intensely focused on cheat codes and strategies and tons of colorful screenshots all the way.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
And of course, the magazine Die Hard ran for 20 issues, from 1992 to 1994, and started out as a monochrome newsletter to quickly build into a nice glossy magazine. It was published by LynnCarthy Industries in Idaho.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6g33YZ0hQnchUOot71XnujenQPkHL4m7k1GHXIbMWjkb9XBp5IMdoKmCgXy_eCtv1dEOJ0IGbYtsyLP-m_aKkB5bOzMVt4CF6ZZJnNxGe1gW0Wba98l45moaEUvAsC4C-lwVEI78g6LJh/s1600/ls128.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="536" data-original-width="720" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6g33YZ0hQnchUOot71XnujenQPkHL4m7k1GHXIbMWjkb9XBp5IMdoKmCgXy_eCtv1dEOJ0IGbYtsyLP-m_aKkB5bOzMVt4CF6ZZJnNxGe1gW0Wba98l45moaEUvAsC4C-lwVEI78g6LJh/s320/ls128.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Magazines based entirely on disk have been around since the 1980s, and chief among those was the mighty <a href="https://loadstargallery.webs.com/about">LoadStar</a> by Fender Tucker of SoftDisk Publishing, and later Dave Moorman. Known for publishing digital articles and original Commodore 64 programs, pictures, and music from independent contributors, LoadStar managed to hang on far longer than most. In 1990, LoadStar 128 joined its older brother as a Commodore 128 only publication, and they ran until 2007. The disk magazine was also accompanied by a paper magazine called the LoadStar Letter, which spawned another paper publication called The Underground by S. Eggleston of California.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifM8dbGQunYbH8XqT6o1Sz-1He7xaVeF3JeScb-GCZpCzvqV5wMzEr3yB3OQ0F24IE291z3Myi_BlhhRLko-u6C3MBzffA8bKrwA3EN4BsoEv4msRAL6MfChBhp-2LORcQ_ojmfjJpASOc/s1600/sceneworld.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="550" data-original-width="770" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifM8dbGQunYbH8XqT6o1Sz-1He7xaVeF3JeScb-GCZpCzvqV5wMzEr3yB3OQ0F24IE291z3Myi_BlhhRLko-u6C3MBzffA8bKrwA3EN4BsoEv4msRAL6MfChBhp-2LORcQ_ojmfjJpASOc/s320/sceneworld.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Launched in 2001 by Joerg "Nafcom" Droege, <a href="https://sceneworld.org/">Scene World</a> has been publishing their interviews, articles, and software for both NTSC and PAL users ever since.</div>
<div>
<br /></div>
<div>
Another important disk magazines from this period is Commodore Gazette published by Christopher Ryan of Michigan, which ran from 1995 - 2004. It focused primarily on articles and public domain software. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkQnQbp9Sd_tod42YdCSdHnIaCot_jrflxKxHc5xxwuslbktbWNHwVAkAMFdyN41Cjjoq0HwmXE_tqm9XJFsF4s1UqI1i7NwlxOY7s0aLSa9VSVGm3qigART6D1p5M1Ef9weBLdFq0DpSh/s1600/hacking.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="492" data-original-width="756" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkQnQbp9Sd_tod42YdCSdHnIaCot_jrflxKxHc5xxwuslbktbWNHwVAkAMFdyN41Cjjoq0HwmXE_tqm9XJFsF4s1UqI1i7NwlxOY7s0aLSa9VSVGm3qigART6D1p5M1Ef9weBLdFq0DpSh/s400/hacking.jpg" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Of course, its impossible to discuss periodicals from this period without discussing the several online newsletters published during this time. First and foremost among these was the mighty <a href="http://www.zimmers.net/anonftp/pub/cbm/magazines/c=hacking/index.html">C= Hacking Magazine</a> published by Craig Taylor, Jim Brian, and Steve Judd between 1992 and 2002. It focused on community innovations, programming techniques, and the hidden capabilities of our little 8-bits.</div>
<div>
<br /></div>
<div>
And lastly, although you've probably already heard of it, the online magazine Commodore Free was started back in 2006 by Nigel Parker, and didn't cease publishing new issues until 2017. </div>
<div>
<h2>
Part IV: <span style="color: blue;">Early Internet</span></h2>
</div>
<div>
The early days of the internet for Commodore 8-bit users could be summed up by USENET and FTP. Web sites did exist, but tended to be more like picture galleries and references than social media.</div>
<div>
<br /></div>
<div>
USENET was the early internet's standard Forums protocol, and allowed for networked computers to share plain-ascii text under group categories. It was THE social media of the 1990s for Commodore users. </div>
<div>
<br /></div>
<div>
The popular USENET groups for C= 8-bitters were called "comp.sys.cbm" and "comp.binaries.cbm".</div>
<div>
<br /></div>
<div>
The former was for announcements, conversation, trolling, and the occasional Speccy vs C64 flame war. It would be pretty familiar to any modern user browsing the old discussions, which you can absolutely do right now through google groups. Common refrains there include the FAQ postings by Cameron Kaiser, and few old timers will forget the ramblings of WildStar.</div>
<div>
<br /></div>
<div>
"comp.binaries.cbm" is a odd medium for sharing software, but that's what it was. Although on casual inspection it appeared to be another discussion forum, instead you'd find most of the messages were UUencoded ascii of various commodore related binaries, often broken up into several parts spanning several messages. An early unix shell account user would download the parts of the message, combine them, and translate them back from ascii -> binary before moving it over to a floppy for execution.</div>
<div>
<br /></div>
<div>
FTP sites constituted a more straight-forward method for sharing binary files on the internet, and several FTP sites sprang up during the 90s to serve the 8-bit community.</div>
<div>
<br /></div>
<div>
One early important site was the FUNET archives at ftp://ftp.funet.fi/pub/cbm. Maintained by Marko Mäkelä until 2005, funet was invaluable as a source of firmware for computers with dead roms, schematics for troubleshooting, as well as all the latest utilities and project documents to keep any 8-bit user busy. Since 2005, the archive has been at ftp://ftp.zimmers.net/pub/cbm</div>
<div>
<br /></div>
<div>
Videocam.net.au, run by the Australians Rod and Gaelyne Gasson, was another popular general purpose file area that seemed to have a little bit of everything. </div>
<div>
<br /></div>
<div>
When it comes to games, however, nothing beat arnold.c64.org and arnold.niof.no. So popular were these enormous collections of disk images that they were known simply as "The Arnold Archives". </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0OZeRoYLN3B3LmsnzpaOVViDSjppt3med49xubokcK_Y4rMF_L48BqjnxIUy10Lur5OT3DNqwRPhsmKoW4my9O71rtBdWJNayKyQpxhEiHy0GVweyQmjHAY0XHSFjZ7k014BvgxQi6N1b/s1600/secrettitle.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="250" data-original-width="400" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0OZeRoYLN3B3LmsnzpaOVViDSjppt3med49xubokcK_Y4rMF_L48BqjnxIUy10Lur5OT3DNqwRPhsmKoW4my9O71rtBdWJNayKyQpxhEiHy0GVweyQmjHAY0XHSFjZ7k014BvgxQi6N1b/s320/secrettitle.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Web sites, while not as important early on, were still seen as artistic monuments on a hill -- discussed when they changed, and little more. Many of these monuments remain to this day, while some have faded into memory. The <a href="https://www.floodgap.com/retrobits/ckb/secret/">Secret Weapons of Commodore</a> has always been one of my personal favorites, as was the Commodore 8-Bit Server, the Commodore Knowledge Base, VIC-20 Digital Archaeology, Snakeman's page, Project 64, <a href="http://commie.zimmers.net/">Zimmers.net</a>, and the <a href="http://www.6502.org/users/sjgray/computer/cbm2/">CBM-II</a> Page -- but these are just a sample.</div>
<div>
<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOOPQnGyVyLh6r4d1i4FSvkWVbJBYNKK6GWm-CivfWDlyjlYoepOWEEpc4DaPU-Gwhj654LSmhzXH7xmTNTRIf-B-5faEos-8qCjSJ4t3IkJd_wmqW9NUlMuwd5UEjQFkpvyaS99nR8E4Z/s1600/sx64.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="236" data-original-width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOOPQnGyVyLh6r4d1i4FSvkWVbJBYNKK6GWm-CivfWDlyjlYoepOWEEpc4DaPU-Gwhj654LSmhzXH7xmTNTRIf-B-5faEos-8qCjSJ4t3IkJd_wmqW9NUlMuwd5UEjQFkpvyaS99nR8E4Z/s1600/sx64.gif" /></a></div>
<br />
<h2>
Part V: <span style="color: blue;">Sunset, or Sunrise?</span></h2>
The last decade has seen impressive leaps of renewed interest in Commodore 8-bit computing. New storage devices, new networking solutions, new display options, new computers, and piles of new games and software that seems to have come out of nowhere. It's almost like the 1980s are completely back again.<br />
<br />
But between 1990 and 2010, the 8-bit community marched onward, even as we watched former comrades fall away. I think it's useful to remember that period, both to reflect on the problems we faced, and on all that was built as a foundation for what we would all enjoy today in our little 8-bit hobby.<br />
<br />
<br />
<br />
<br />
<br />
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com2tag:blogger.com,1999:blog-4265465497497020010.post-26247921821588661302020-02-06T13:40:00.000-08:002020-02-06T13:40:43.854-08:00Return of the geoJunkyDespite having had copies of the software forever, it wasn't until the early 1990s that I became a true convert to the cult of GEOS.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhalhyi_NdNBDRgfEd3P7mwntaUTI9uiTVsPbAPxyhJQlDvraTskrqjcnwPyQJuwIdkJB1AEOP0QGBP0MvuqdjRmFtqCaWAbFz2Vtdd_j5opfdBvvYvLLHTYdR6ecsjUn4lkyN3rtJ3zQqF/s1600/Geoscover.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="898" data-original-width="1078" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhalhyi_NdNBDRgfEd3P7mwntaUTI9uiTVsPbAPxyhJQlDvraTskrqjcnwPyQJuwIdkJB1AEOP0QGBP0MvuqdjRmFtqCaWAbFz2Vtdd_j5opfdBvvYvLLHTYdR6ecsjUn4lkyN3rtJ3zQqF/s320/Geoscover.jpg" width="320" /></a></div>
<br />
<br />
I picked up every accessory, every productivity package, every Thing I could get my hands on that was related to this Mac-like GUI for the Commodore 64 and 128. And this included geoProgrammer, the official symbolic macro assembler, linker, and debugging package from BSW.<br />
<br />
Code is written for geoProgrammer using the stock GEOS word processor, called geoWrite. This has the fun side-effect of not only allowing image assets to be integrated into the source code document, but also allows you to use all the fonts and styles and margins to make your code as beautiful as possible.<br />
<br />
So armed, I spent the 90s and early 2000s writing numerous applications for GEOS. You can find information about most of them on my <a href="http://www.zimmers.net/geos/geoproj.html">geoProjects</a> page. However, my geoCoding spree pretty much came to an end in 2002 ..... until very recently.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8vNMkxDUw8ZUvQIG15hBf5WwzkwYN1-RKbauVePTwpzb899-VXd8lc3LhM9PVAWKOT3ghugKpztxojW7Ockaq_ekrdiDkETWaxsX7KfnNQkwc3A0BR5oM7MM3en_HoFGkGN5EI7D7l_cU/s1600/geoprog1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="456" data-original-width="552" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8vNMkxDUw8ZUvQIG15hBf5WwzkwYN1-RKbauVePTwpzb899-VXd8lc3LhM9PVAWKOT3ghugKpztxojW7Ockaq_ekrdiDkETWaxsX7KfnNQkwc3A0BR5oM7MM3en_HoFGkGN5EI7D7l_cU/s400/geoprog1.jpg" width="400" /></a></div>
<br />
<br />
The C64Net WiFi modem, which I've blogged about to the point of exhaustion at this point, inspired not only my 8-bit programming in general, but got me back into GEOS programming in particular.<br />
<br />
In 2017 I wrote an 80 column ansi terminal program called <a href="http://www.zimmers.net/geos/geotelnet.html">geoTelnet</a>, which I've also mentioned in previous posts before, but you can find more information about it <a href="http://www.zimmers.net/geos/geotelnet.html">here</a>.<br />
<br />
In early 2018, not long after its release, I got asked to do a color PETSCII terminal program for enjoying online BBSes from GEOS. I figured this would be a pretty easy slam dunk, since the hardest problem, rs232 communication in GEOS, was already solved.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisY5498O4-BVnrvnjQvPI7XgLQjh277bs6B9IGvp7elvH0vRvmpiqzRG4V1WSwne2IFHCENr7Agvx7Qm4rl0yBCUqfO15gWbDTvpKVUza6qPccsUtw8bCrMo8oqS8kRHTWdKmnPhhZ__h6/s1600/geoprog2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="459" data-original-width="545" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisY5498O4-BVnrvnjQvPI7XgLQjh277bs6B9IGvp7elvH0vRvmpiqzRG4V1WSwne2IFHCENr7Agvx7Qm4rl0yBCUqfO15gWbDTvpKVUza6qPccsUtw8bCrMo8oqS8kRHTWdKmnPhhZ__h6/s400/geoprog2.jpg" width="400" /></a></div>
<br />
<br />
However, as engineers are wont to do, I decided I needed to re-architect things. You see, geoTelnet was a VLIR application, so it theoretically could grow naturally with new swapped-in code modules. However, it was only designed for two modules: a GEOS 64 module with all features, and a GEOS 128 module with all features. This left things rather squeezed, with no room for, for example, more transfer protocols or a settings screen.<br />
<br />
This created a slew of linking issues, since the code sections for the features were already pretty integrated with each other, and weren't expecting to be separated from each other. However, that was a straight-forward problem. What really frustrated me for several days as I started migrating to the new architecture was hard system crashes whenever text was printed on the screen. My interest soon waned, and a year went by when I gave no thought to it.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDCLUtVz1iXvs0CdsrDJH2LmkugBraO127RScEoSriCIGUI1Nu4Gb8XWczf_veH3ImnsP5MOvhpQ2bpArfm-nS9UV8iuxz15S8QZmEL5XuXnmolyeGdNAqKlP9zmIVlfTWlcbJRVaOq0a4/s1600/earlycbmterm2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="456" data-original-width="542" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDCLUtVz1iXvs0CdsrDJH2LmkugBraO127RScEoSriCIGUI1Nu4Gb8XWczf_veH3ImnsP5MOvhpQ2bpArfm-nS9UV8iuxz15S8QZmEL5XuXnmolyeGdNAqKlP9zmIVlfTWlcbJRVaOq0a4/s400/earlycbmterm2.jpg" width="400" /></a></div>
<br />
<br />
Then, in early 2020, on a whim, I decided to pick it back up and see if I couldn't find that bug. And find it I did, almost immediately (it was pretty stupid). I was so excited that I spent the entire rest of the day hacking away on my PETSCII renderer. <br />
<br />
To test it, the next feature I tackled was getting the Buffering system working again. This would allow me to load PETSCII files from disk for testing. I then generated the above test pattern in Commodore BASIC, saved it, loaded it into my program, and eventually got it to what you see above.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2-tgEl4mCva0NIRJCpFSVqljXOdrjoiq-w2GFE3pKbBt5spgVe0kXSHGi7gvdr4j7X2f1W7ALbDJR5-vx8Z_f9hG3nCM-J7G6vUAGdTzIONjx2F7aT9FbJBR0yTJRrtIdw0QFTp22HMsG/s1600/earlycbmterm3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="448" data-original-width="550" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2-tgEl4mCva0NIRJCpFSVqljXOdrjoiq-w2GFE3pKbBt5spgVe0kXSHGi7gvdr4j7X2f1W7ALbDJR5-vx8Z_f9hG3nCM-J7G6vUAGdTzIONjx2F7aT9FbJBR0yTJRrtIdw0QFTp22HMsG/s400/earlycbmterm3.jpg" width="400" /></a></div>
<br />
The first time I saw true online PETSCII art rendered correctly on the screen, I was ecstatic. I was able to borrow from the code written for ANSI and Telnet codes to implement the cursor and other special PETSCII codes.<br />
<br />
The last unique feature to put in place is the ability to actually input PETSCII codes from the keyboard. Things like color codes, special graphics characters, and the ability to toggle between the two font modes (lower/upper and upper/graphics). Surprisingly, this turned out to be trickier than I thought.<br />
<br />
You see, the GEOS kernel doesn't care about many of the keys on the keyboard, so they simply don't scan them. And since they don't scan them, they aren't available as keystroke events for my terminal program to act upon. This led to me having to learn how the standard Commodore KERNAL actually accomplishes the feat, so that it can be replicated in my application. Turns out it's not too bad -- you consult an 8x8 matrix of all possible keys, tell the 6526 CIA to pull one of the rows, and then read back an 8-bit bitmap, which tells you which, if any, keys on that row are being pressed.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibY3zJBjq-Dxb8V66olYfnSNE3EGCCXF-2lEPWEwSHDso8KhGi4JhLvsrTy0VDacNsnJePoZOT99TvTRXM4rf2JESFE_Hc27DpDBoZIi7hdoD6USHuhDfnNKG13AsmEHi06FbgDiTWWMiM/s1600/earlycbmterm4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="468" data-original-width="558" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibY3zJBjq-Dxb8V66olYfnSNE3EGCCXF-2lEPWEwSHDso8KhGi4JhLvsrTy0VDacNsnJePoZOT99TvTRXM4rf2JESFE_Hc27DpDBoZIi7hdoD6USHuhDfnNKG13AsmEHi06FbgDiTWWMiM/s320/earlycbmterm4.jpg" width="320" /></a></div>
<br />
Once that was done, fixing the remaining features was pretty much a down-hill process. The phonebook, terminal options, desk accessories, and x-modem worked pretty much the same as they did in geoTelnet. X-Modem uploads did give me a little trouble, due to the fact that serial communication must be de-activated to swap modules, causing it to "miss" the handshake character from the remote side. This was quickly figured out though.<br />
<br />
I'm not sure what's next at this point. I'd considered fulfilling the promise of the re-architecteing by not only adding new transfer protocols, but by actually integrating the ascii and ansi features of geoTelnet back into this program, to create one large full-featured terminal. Though, I might also venture into other areas -- geoFTP, geoIRC, geoETC...<br />
<br />
We'll see.<br />
<br />
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0tag:blogger.com,1999:blog-4265465497497020010.post-22914551160136401362020-01-11T22:20:00.000-08:002020-01-12T11:53:46.186-08:00Attack of the Mouse ClonesIn 1985 Commodore brought the Amiga into the world, with its amazing GUI interface, which required a mouse. Also at this time, the GEOS GUI operating system was becoming quite popular for the Commodore 8-bit line of computers, such as the C64 and the brand new Commodore 128, and it also could benefit from a mouse.<br />
<br />
The control ports that mice plugged into were not identical between the Amiga and C64/C128 line, so necessarily their mice would not be compatible with each other. However, since both the Commodore 128 and the Amiga (1000) had identical case colors, it was reasonable to produce mice that matched each other in color at least. What was NOT reasonable, however, was to produce mice that were completely IDENTICAL from the outside, while remaining incompatible with each other. <br />
<br />
Oh, and also, there weren't just two of them, but three functionally different mice in the exact same case:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUJ43BxA8_LVRM7tgkg_D94YES8OComK-b78H_9eyG0jLloyTIOfAWf3nskDIKy0cDC5uSWfWaDODtxNv4mnWrX5AwwOQUNllzwkuUbFsqCTl1nEeSIC02b4GOk3ZReLBKrWbX9oeXowws/s1600/3mice.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1268" data-original-width="1600" height="315" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUJ43BxA8_LVRM7tgkg_D94YES8OComK-b78H_9eyG0jLloyTIOfAWf3nskDIKy0cDC5uSWfWaDODtxNv4mnWrX5AwwOQUNllzwkuUbFsqCTl1nEeSIC02b4GOk3ZReLBKrWbX9oeXowws/s400/3mice.jpg" width="400" /></a></div>
<br />
Let me introduce you to the Commodore 1350, Commodore 1351, and the Commodore 1352, also known as the Amiga "Tank" Mouse.<br />
<br />
Released around Sep of 1985, the 1350 is the most odd of the three mice, as it's really a directional (non-proportional) Joystick stuck in a mouse case. It works with both the C64/C128 and the Amiga, but only as a joystick, and not as a very good one, since a mouse is a terrible way to persist directional movement.<br />
<br />
In March/April of 1987, the 1351 mouse was released. This is a true proportional mouse for the Commodore 64 and 128, and it works very well for that purpose. GEOS was greatly enhanced by this product, and its design earned Commodore some sort of patent! The 1351 is also special in the fact that it can emulate the 1350 as a joystick by holding down the right button on boot.<br />
<br />
In November of 1985, the Amiga became available for purchase, and that's when we first saw the Amiga "Tank" mouse in its original form. It wasn't until 1988, however, that it was marketed to Commodore PC users as the 1352. Like the 1351, it is a good and proper proportional mouse for Amigas and Commodore brand PCs. It is not compatible with PC "serial" mice, however.<br />
<br />
<h3>
The big question: <br />If you get handed one of these things, how do you tell them apart?</h3>
<div>
<br /></div>
<div>
Well, let's start with the easiest thing to check: as you can tell by the picture above, they are absolutely identical from the top, so that's not the answer.</div>
<br />
What about the cable ends? Since all three have different pinouts, perhaps the connector is different:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj095CDk19zqkUJoNLIeAQXEoSOexSC1Mq5UBH_I2bDtAgO7UfDnh1xrZek-k1KoqzqSHPtD2QzKObhZjo1tJCQ1RZtznxm0Ya8JHAIo49TCCIcfuTlSHMCXftcO-hCUa-m7pOxZ7EicD5x/s1600/ends.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1020" data-original-width="1600" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj095CDk19zqkUJoNLIeAQXEoSOexSC1Mq5UBH_I2bDtAgO7UfDnh1xrZek-k1KoqzqSHPtD2QzKObhZjo1tJCQ1RZtznxm0Ya8JHAIo49TCCIcfuTlSHMCXftcO-hCUa-m7pOxZ7EicD5x/s400/ends.jpg" width="400" /></a></div>
<br />
Here you can see two kinds of connectors pictured: A pair of fat-but-shorter connectors on the right, and a longer-thinner connector on the left. All three of those are from Commodore 1351 mice. So-- not entirely helpful. Amiga mice tended to have the long-thin connectors, and the 1350 tended to have the short-fat connector, but as you can see, the 1351 could have either.<br />
<br />
While the above is disappointing, there is ONE connector that is a dead giveaway:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgilf9xKcncpAo5YObIlKuQfYo9QP0FZKLYDvLWFI7t2ho31HLlKnn0PEUrv4yuTIIlr_foXfHvbRfJ8K1AXfi05PSlbje8PZxxg9Ih6LgN-SklUHexTkWG-dwRC1cnesw5F3zSFN6rloeK/s1600/amouse.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1217" data-original-width="1600" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgilf9xKcncpAo5YObIlKuQfYo9QP0FZKLYDvLWFI7t2ho31HLlKnn0PEUrv4yuTIIlr_foXfHvbRfJ8K1AXfi05PSlbje8PZxxg9Ih6LgN-SklUHexTkWG-dwRC1cnesw5F3zSFN6rloeK/s400/amouse.jpg" width="400" /></a></div>
<br />
The original Amiga 1000 mouse had a large angled connector designed to fit snugly into the side connector of the Amiga case. When you see one of these connectors, you can be sure you are looking at an Amiga mouse.<br />
<br />
OK, so what about the bottom labels? Surely Commodore put the model information on the bottom! Heck, we should have looked there first, so let's take a look:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS3FKRwft3lChSgKcSEHnTQkJi6jFf4rstv04AgaHiF1RGFceYx-3EeDUXLwJjxZ0Hh35-_2_wXjO7pFh0EUgyrRPHQtNjPkk3fEe1aAbKlMQWmwXvoc9kRyIb_lfVcozBRCxdxby5BV8L/s1600/mice1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="805" data-original-width="1600" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS3FKRwft3lChSgKcSEHnTQkJi6jFf4rstv04AgaHiF1RGFceYx-3EeDUXLwJjxZ0Hh35-_2_wXjO7pFh0EUgyrRPHQtNjPkk3fEe1aAbKlMQWmwXvoc9kRyIb_lfVcozBRCxdxby5BV8L/s400/mice1.jpg" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHO5jyvkrsPYpzATve5BWCB9NfZaYgW9abKKGF8sE59EuMIRBeoRehGw-L774Yifo-fgZu63yITcsHmheL-RuBhyNcdvcbRWRe_TC8pQkT2FWtYuFdUXJ4-UmXIbibjnkCW86n92S8H11O/s1600/mice2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="887" data-original-width="1600" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHO5jyvkrsPYpzATve5BWCB9NfZaYgW9abKKGF8sE59EuMIRBeoRehGw-L774Yifo-fgZu63yITcsHmheL-RuBhyNcdvcbRWRe_TC8pQkT2FWtYuFdUXJ4-UmXIbibjnkCW86n92S8H11O/s400/mice2.jpg" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3yfmhHE6J-Qqv3o7myGQPbCmmRrYOSnUICPMn2ZHHZDAR9sn8e2qS4OsluDMNuH0GXX82x8X58-LXQQR0w2STTRIC8UlENCU6aLh17Agvqe7Z7g-chaxPJFO8EgRfyUhC1uJpFJrXt0lt/s1600/mice3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="991" data-original-width="1600" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3yfmhHE6J-Qqv3o7myGQPbCmmRrYOSnUICPMn2ZHHZDAR9sn8e2qS4OsluDMNuH0GXX82x8X58-LXQQR0w2STTRIC8UlENCU6aLh17Agvqe7Z7g-chaxPJFO8EgRfyUhC1uJpFJrXt0lt/s400/mice3.jpg" width="400" /></a></div>
<br />
Except for the odd 1351, and the giant AMIGA letters on a few A1000 mice (not pictured), there is no model information. Believe it or not, however, there are at least some patterns. You see, the top row are all 1350s, the middle are 1351s, and the bottom are Amiga mice.<br />
<br />
Amiga mice seem to usually have similar looking bottom labels, even if there isn't any model information. They have those dark bold black letterings, the C= commodore lowercase logo, and a serial number beginning either with an A or B. However, there are exceptions to this as well. Pictured above is an Amiga 1000 mouse, with a lighter colored labeled and serial beginning with TM. Such labels have also been seen on non A-1000 mice.<br />
<br />
The 1351s, when you are lucky, actually say 1351 on them. When you aren't lucky, you get the lighter colored C= Commodore logo and lettering with a simple numeric serial number. But mine is a small sample size, so who knows what variations are out there.<br />
<br />
The 1350s are the only ones that say Commodore Business Machines on the bottom, again with lighter colored lettering than the Amigas, and a serial number beginning with X. Although, again, that's just my small sample size.<br />
<br />
<h3>
But...</h3>
.<br />
.. maybe you aren't comfortable with this method. After all, there's no way I can survey every single Commodore mouse. Suppose I made a mistake above, and some 1351s have labels that look like the Amiga, or some Amiga mice have labels like the 1350 or 1351s? Surely we can just pop the top off and look inside to tell the difference:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5ZtC1vfMuIukyVhtsUV7mtwt7UgNlll4nHNPQURqq5Tk862FYY9VoLqCF22_Qh8CyGhjRYt8mRnjs1PL6JraCMef9ZLFk2N94wOG2RQLFRqX07SsPW44Em7QL75Aq0TkSnOM1LF3ZQe2Z/s1600/mouse1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="961" data-original-width="1600" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5ZtC1vfMuIukyVhtsUV7mtwt7UgNlll4nHNPQURqq5Tk862FYY9VoLqCF22_Qh8CyGhjRYt8mRnjs1PL6JraCMef9ZLFk2N94wOG2RQLFRqX07SsPW44Em7QL75Aq0TkSnOM1LF3ZQe2Z/s320/mouse1.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now we are getting somewhere. This picture is the 1350, and it has a separate button board above the main board. So, that's how we can tell those from the 1351 and Amiga mice below, right? <b>Wrong</b>. The raise "button board" seems to be more a sign of when the mouse was made than the model. Since the 1350 and the Amiga mice were made earlier than the 1351, the early revisions will often have this raised button board. Meanwhile, later versions of the 1351 and the Amiga mouse will all be single-boards, as shown below. As far as I know, the limited run 1350s do all have that raised board, but I could be surprised.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1Vzku_7Mz-7eOZD_vXeduSj9y2yq0_boFgO5wLI3f7V25rtfPycSPbtpPWXi80y4Va31GBgxr63oeeZnZUoYo9JDpMPVpnHGUK_D_UKInFzkfT_jJHt3sebZ8OQ15EpzFQmM8riGzs_hS/s1600/mouse2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1600" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1Vzku_7Mz-7eOZD_vXeduSj9y2yq0_boFgO5wLI3f7V25rtfPycSPbtpPWXi80y4Va31GBgxr63oeeZnZUoYo9JDpMPVpnHGUK_D_UKInFzkfT_jJHt3sebZ8OQ15EpzFQmM8riGzs_hS/s320/mouse2.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1eB6DCCGFDmbvEpY7XKWxa5lWdhUKMubK-2jKhhrLjg85CRQmUnbjY14tWL8HeNCfz9Q8wWnPZ3oxkoWUMYF7KDwr9YY4xp9awskSLaXvrZcwlwsQrn13SL6nEW43M5U1xDwq3e5yhHPo/s1600/mouse3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="993" data-original-width="1600" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1eB6DCCGFDmbvEpY7XKWxa5lWdhUKMubK-2jKhhrLjg85CRQmUnbjY14tWL8HeNCfz9Q8wWnPZ3oxkoWUMYF7KDwr9YY4xp9awskSLaXvrZcwlwsQrn13SL6nEW43M5U1xDwq3e5yhHPo/s320/mouse3.jpg" width="320" /></a></div>
<br />
<br />
The later boards on the 1351 and Amiga mouse respectively, pictured above, have their components consolidated to a single board. The later 1351s don't seem to have any resisters along the left-hand-side of the board, while the later Amiga mice always do -- either three or five, depending on revision.<br />
<br />
The biggest difference, however, and the one certain SURE-FIRE way to tell the difference between these three mice is the chip inside.<br />
<br />
So that's the answer!<br />
<br />
Except that it's a little complicated.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc4WKFCyj_sQkMyOI2vw5r9eyGNacNCIqOO5B6wKBbq5iOffYAjmRwHhV3LR8v9BmU69KADUjY9YBYGzaImmT-xRLi2xnWO5-rZC5dNtrkRhYHtKU_ugL9pzfvoblPo3KOtTi4AEBcAh5p/s1600/5717.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="730" data-original-width="784" height="371" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc4WKFCyj_sQkMyOI2vw5r9eyGNacNCIqOO5B6wKBbq5iOffYAjmRwHhV3LR8v9BmU69KADUjY9YBYGzaImmT-xRLi2xnWO5-rZC5dNtrkRhYHtKU_ugL9pzfvoblPo3KOtTi4AEBcAh5p/s400/5717.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The Commodore 1351 mouse is easy. It almost always has a C= CSG 5717 chip in it. In fact, that same chip also appears in several 1351 clones I ran across, such as the CMD SmartMouse. So, if you see the CSG 5717 inside, you know you are looking at a 1351, period. Although, I found a 1351 online with a chip labeled "390209-01" -- so I guess that one too?</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrcGLvDc4Ga3Jb0ovQELffMHWlSV3dCsXOKCUY1Z7yRj_5CfkrsmDAEwwFloeUXCl7k2TWRj248o3kO1Q6xdmV7plW5bmvaFXdcwDVJRfiHK0vOfnm8xUy4b779EHqz3f8aTGkX6RSi5Vb/s1600/1350inside.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="640" data-original-width="1600" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrcGLvDc4Ga3Jb0ovQELffMHWlSV3dCsXOKCUY1Z7yRj_5CfkrsmDAEwwFloeUXCl7k2TWRj248o3kO1Q6xdmV7plW5bmvaFXdcwDVJRfiHK0vOfnm8xUy4b779EHqz3f8aTGkX6RSi5Vb/s400/1350inside.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
The Commodore 1350 has a chip which is probably a little "CMOS 4 bit microprocessor with A/D converter". This would make sense, since the analog signal from the wheel sensors are converted into simple on-off signals for the various directions. In this case, I'm seeing the Mitsumi MP01 and the MB88201<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo7EUmlWFIDl0QyL3CR92AmZVcpLRt8JZRxSAyE2XwJeBXAnPchK41GmWFtMiPgeXe7p7EVYbG9amjQeH4WRg-DiXE5yXFV33Q460NhNbTjJATLlXhteJqGRb_kCNcIK4MyI7MWw2dGP37/s1600/1352inside.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="1434" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo7EUmlWFIDl0QyL3CR92AmZVcpLRt8JZRxSAyE2XwJeBXAnPchK41GmWFtMiPgeXe7p7EVYbG9amjQeH4WRg-DiXE5yXFV33Q460NhNbTjJATLlXhteJqGRb_kCNcIK4MyI7MWw2dGP37/s400/1352inside.jpg" width="400" /></a></div>
<br />
Lastly, the Amiga mice have an analog quad comparator of one sort or another. I think the 339 at the end is probably the giveaway here.<br />
<br />
<hr />
<br />
<h3>
So!</h3>
That's the best I could come up with. Clues in the labels and the connector, and then a final answer in the chip, if you are able to find the model number online to figure out what kind of chip it is. If you have a Commodore or Amiga mouse with a serial label different from the ones discussed above, please drop me a <a href="http://www.zimmers.net/email/form-page.html">line</a>.<br />
<br />
There might also be a way to check for the right-mouse-button on pin 9 of the Amiga mouse, but I was aiming for more visual inspection methods, so I didn't investigate this. Still, if you want to pursue that, here is a pinout comparison. The 1350 is labeled here as "1351 Joystick Mode".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuC5xEnx6HcNw8Hk4Tj-MfgYgBUG8q3hymt6qYoavLYNVn1pIwRV41td9DAvif1mT9xo06r-1A_WX-HJPYIE1Vn2ROqO0OCcjjuv9kRHKG3axdhO3Y1B2gFUyIrIgyQaZN9OxpoB7ls9Ni/s1600/pinout.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="263" data-original-width="506" height="207" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuC5xEnx6HcNw8Hk4Tj-MfgYgBUG8q3hymt6qYoavLYNVn1pIwRV41td9DAvif1mT9xo06r-1A_WX-HJPYIE1Vn2ROqO0OCcjjuv9kRHKG3axdhO3Y1B2gFUyIrIgyQaZN9OxpoB7ls9Ni/s400/pinout.png" width="400" /></a></div>
<br />
<br />
Clearly Commodore should have thought about the confusion that might erupt around three products that look so similar, but which are functionally so different. Hopefully this post can help anyone faced with the frustrating situation I found myself in today trying to distinguish between a pile of tank mice from someone else's collection.<br />
<br />
<br />
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com6tag:blogger.com,1999:blog-4265465497497020010.post-83086974411499363942018-08-20T14:42:00.003-07:002021-08-31T09:31:28.738-07:00C64Net WiFi Modem Filter State MachineSo, believe it or not, work continues on the C64Net WiFi Modem firmware. Especially since the same firmware is being used in a traditional RS-232 version of the modem based on the ESP32 module.<br /><div class="separator" style="clear: both; text-align: center;"><br /><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6rtbHn9DQPUQFXgYJmg7GINnewJafPLfVXU0IjgJkkfpxxBUs1paN2R9BgaGXIFTBcl538w9ZJoR62ZfY14gHt0_81KFmnSIwOIM9N8bsbz7RQ393CdAoV90dMbXRKkgVRn_RBp_2_u3p/s1280/rs%253Dw_1280.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1134" data-original-width="1280" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6rtbHn9DQPUQFXgYJmg7GINnewJafPLfVXU0IjgJkkfpxxBUs1paN2R9BgaGXIFTBcl538w9ZJoR62ZfY14gHt0_81KFmnSIwOIM9N8bsbz7RQ393CdAoV90dMbXRKkgVRn_RBp_2_u3p/s320/rs%253Dw_1280.jpg" width="320" /></a></div><br /><div>Some of the newer features include:<br /><ol><li>New AT+CONFIG configuration menu</li><li>Ability to set the hostname</li><li>X-Modem and Z-Modem downloads</li><li>AT+SHELL to access an SD-card interface.</li><li>NTP client with configurable timezone.</li><li>New configurable socket filtering state machine.</li></ol><div>That last feature is what I wanted to document here.</div><div><br /></div><div>The use case was the ability to have the modem filter or transform bytes coming either from a socket connection, or from a web page via the AT&G command. There were already existing commands to mask out specific bytes, but users needed something more complex. I searched the web the best I could to find an existing language definition for doing such a thing, and couldn't come up with anything. I therefore chose to invent a really simple filtering code/language. </div><div><br /></div><div>My requirements were that it had to be completely definable in ascii, using only characters available for the AT command set in quotes. It needed to be as compact as possible for memory constraints, and needed to handle cases like filtering out everything inside html comments <!-- -->, or possibly filtering out everything NOT inside html comments.</div><div><br /></div><div>Here is what I came up with:</div><br /><div>State Machine entry format:</div><div><div><b><span style="font-family: "courier new" , "courier" , monospace;"><span style="color: red;">MM</span>cCC<span style="color: blue;">NN</span></span></b></div><div><span style="color: red;">MM</span> - byte value to match, in hex. The value 00 matches ALL.</div><div>c - Command character: e)at char, p)ush to que, d)isplay char, r)eplace char, q)ue display and empty, x)empty que</div><div>CC - if c == 'r', then hex value of replacement byte</div><div>C - if c != 'r', then same as 'c', or '-' to do nothing further.</div><div><span style="color: blue;">NN</span> - next state, in hex, starting with state 00.</div><div><br /></div><div>The machine starts with state 00, and, for each character byte, increments the state until a match is made, at which point is executes commands and proceeds to state NN.</div><div><br /></div><div>Example:</div><div>Suppose you wanted to filter out everything in a web page EXCEPT the contents of the comments.</div><div><br /></div><div><div>Important chars and their hex values:</div><div><span style="font-family: "courier new" , "courier" , monospace;">< 3c</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">! 21</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">- 2d</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">> 3e</span></div><div><br /></div><div>So, to grab only the stuff from <!-- -->, your state machine would look like this:</div><div><span style="font-family: "courier new" , "courier" , monospace;">## -CODE-- COMMENT</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">00 3Ce--02 <-- if a '<' go to state 02</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">01 00e--00 <-- anything else, ignore it, go back to state 00</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">02 21e--04 <-- if '<!', go to state 04</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">03 00x--00 <-- anything else, ignore it, go back to state 00</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">04 2de--06 <-- if '<!-', go to state 06</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">05 00x--00 <-- anything else, ignore it, go back to state 00</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">06 2de--08 <-- if '<!--', go to state 08</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">07 00x--00 <-- anything else, ignore it, go back to state 00</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">08 2dp--0a <-- <b>now inside the <!--</b>. If '-', then state 0A</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">09 00qd-08 <-- anything else, display que & char, go to state 08</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">0a 2dp--0c <-- if '--', then que the char, go to state 0C</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">0b 00qd-08 <-- </span><span style="font-family: "courier new" , "courier" , monospace;">anything else, display que & char, go to state 08</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">0c 3ex--00 <-- if '-->', dump the que, ignore char, go to state 00</span></div><div><span style="font-family: "courier new" , "courier" , monospace;">0d 2dqd-0a <-- </span><span style="font-family: "courier new" , "courier" , monospace;">anything else, display que & char, go to state 08</span></div><div><br /></div><div><br /></div><div>So, to do the AT&Y command, we just combine the codes in order:</div><div><span style="font-family: "courier new" , "courier" , monospace;">AT&Y"3Ce--0200e--0021e--0400x--002de--0600x--002de--0800x--002dp--0a00qd-082dp--0c00qd-083ex--002dqd-0a"</span></div></div><div><br /></div><div>Then any subsequent packets received from an open socket, or from the AT&G command (which dumps a web page to the modem) will use the above filter.</div></div><div><br /></div><div>A few extra utility arguments were added for convenience:</div><div>AT&Y with no arguments clears the state machine definition entirely</div><div>AT&Yn where n is a decimal number, will set the state machine state.</div><div><br /></div><div>All of this will be in 3.4 of Zimodem.</div></div>Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0tag:blogger.com,1999:blog-4265465497497020010.post-49050639373821432152018-08-20T14:24:00.004-07:002021-08-31T09:36:13.513-07:00Amiga Recaps, Pt. 1Lately I've been recapping Amigas with a fellow from the CTCUG group. That's been going pretty well. I've been practicing on spare Amiga 600 boards, of which I had 3 non-booting boards. All 3 began booting after the recap, which is amazing happiness. Once I've recapped all my spare boards, I'll move on to the computers in my collection.<br />
<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPDznGNaiCDvV-8TsVFrQLAgto2Lbhum_JJGDSTJGGTeEG-c9IEgojRZ9EDPR7bi0p9f9FzKnxs8xe4a0vtycmXUtox8OcYon5ph8hL6cATLW1M8xtnK-MVJXvGVTT_e6Sq9EG4GFYfOQ4/s901/a2kopen.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="652" data-original-width="901" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPDznGNaiCDvV-8TsVFrQLAgto2Lbhum_JJGDSTJGGTeEG-c9IEgojRZ9EDPR7bi0p9f9FzKnxs8xe4a0vtycmXUtox8OcYon5ph8hL6cATLW1M8xtnK-MVJXvGVTT_e6Sq9EG4GFYfOQ4/s320/a2kopen.jpg" width="320" /></a></div>Some lessons I've learned:<br />1. You can use hot air to remove surface mount caps with tin-foil to isolate the cap and the damage, but be super-careful not to disturb nearby components for several minutes after removing the hot air. Easier is to use a wire cutter to cut into the cap from the top, being sure not to pinch along the same line as the solder contacts, so as not to pull a trace. When the cap is cut away, it is easy and safe to de-solder normally.<br /><br />2. Remove those tiny-legged through-hold electrolytics with a soldering iron on max heat by applying heat to the bottom pin while carefully pulling that pin up through the board. Once you've exposed the top-side of the pin, resume pulling it up from the top of the board to make sure you aren't pulling up any traces on the top. Then repeat for the second pin.<br /><br />3. Clean the area with alcohol and q-tips afterwards, and carefully clean the through-holes with solder-wick.<br /><br />4. When applying the surface mounted caps, do one leg at a time after tinning the pads.<br /><br />5. Check the smd caps for a short afterwards.Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0tag:blogger.com,1999:blog-4265465497497020010.post-14187041993702101532018-05-17T13:04:00.001-07:002021-02-11T12:19:41.243-08:00My new friend KIM.<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPLiIkqouUGLf-oIQpmbFR4XjE99yrWCKmrljGbZ69BbbJNSyzDZ7NcBdD0pu3UaWL0B65RgvpQdBFhhAN685YJt1tHrWv8j_Rql5kQ2z_HO4BmIIeV3VIy_y_AOIneDonJqKawyU8LebQ/s400/highres_471010975.jpeg" style="display: none;" />
<br />
I've had a pair of <a href="http://www.zimmers.net/cbmpics/ckim1.html">Commodore KIM-1</a> computers for at least 15 years now, but never really did anything with them. That all changed over the last few weeks, and now I feel sorry for how much fun I've been missing out on.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPLiIkqouUGLf-oIQpmbFR4XjE99yrWCKmrljGbZ69BbbJNSyzDZ7NcBdD0pu3UaWL0B65RgvpQdBFhhAN685YJt1tHrWv8j_Rql5kQ2z_HO4BmIIeV3VIy_y_AOIneDonJqKawyU8LebQ/s1600/highres_471010975.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPLiIkqouUGLf-oIQpmbFR4XjE99yrWCKmrljGbZ69BbbJNSyzDZ7NcBdD0pu3UaWL0B65RgvpQdBFhhAN685YJt1tHrWv8j_Rql5kQ2z_HO4BmIIeV3VIy_y_AOIneDonJqKawyU8LebQ/s400/highres_471010975.jpeg" width="400" /></a></div>
<br />
<br />
The KIM-1 is a single board, 1mhz, 1 kilobyte computer (the green thing in the picture above) with a 23 key hexadecimal keypad for input, and a 6 digit LED display for output. It also has two edge connectors on the left-hand-side. One is called the Expansion port, and the lower one is the Application port. The computer is powered by applying 5V to a pin on the Application port. This port also includes a Current-Loop RS232 interface and cassette interface for saving/loading programs.<br />
<br />
It may be a very minimal micro-computer, and it is definitely not a Home/Personal Computer, but it is certainly a computer!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTcdqksVhL0L6N0zeCJx1oBpG8xXKTV6uubGRmQU3xO8fNQIzFJ-DxnQ4upJrzo1nIEFIrq51TcU4OvkcrCGou5WW5VwFqkY8hxtS66GST3cmwKJAeIWWvlgwKDjHQhub4lwdUJvU_X4Uo/s1600/kimscreen.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="296" data-original-width="838" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTcdqksVhL0L6N0zeCJx1oBpG8xXKTV6uubGRmQU3xO8fNQIzFJ-DxnQ4upJrzo1nIEFIrq51TcU4OvkcrCGou5WW5VwFqkY8hxtS66GST3cmwKJAeIWWvlgwKDjHQhub4lwdUJvU_X4Uo/s400/kimscreen.jpg" width="400" /></a></div>
<br />
<br />
<br />
<div>
The screen is divided into two segments. The left four hex-digits are the current working Address, and the right two hex-digits are the contents of that address. The address can represent the program counter when stepping through a program, or just the address currently being read or written to when using the KIM-1s built-in monitor.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqKB7DvICCROZ5g65xPw9SSr0azMBKGcVyRwVvGMrDgTDjbGB7GnkbbecWZH7gzJUwuyIZvrxBmo7OP-Rip6za1s4tXOxYNTMHIhSp5pDmrg88J73qWtePD9Si9iu7qqYwJaBufLx7c0kA/s1600/kimkybd.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1198" data-original-width="856" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqKB7DvICCROZ5g65xPw9SSr0azMBKGcVyRwVvGMrDgTDjbGB7GnkbbecWZH7gzJUwuyIZvrxBmo7OP-Rip6za1s4tXOxYNTMHIhSp5pDmrg88J73qWtePD9Si9iu7qqYwJaBufLx7c0kA/s400/kimkybd.jpg" width="285" /></a></div>
<div>
<br /></div>
<br />
The keyboard has the sixteen hex digits for entering addresses or data. The AD button selects "Address" mode, where any entry on the keyboard will change the current working address. The DA button selects "Data" mode, where any entry will change the contents of the address shown on the LED screen. When in either Data or Address mode, the + key will advance to the next address byte.<br />
<br />
The switch in the upper left selects between SST mode (on), which allows you to step through an executing program one instruction at a time, and normal mode (off), which allows a program to run freely to completion. In both modes, the GO button will begin executing the program from the current address shown. In SST mode, the GO button is then used to execute the next instruction, and then immediately return to the monitor program.<br />
<br />
The RS button will reset the CPU and cause the KIM to re-enter the built-in monitor. It is the first button you must press after powering-on the KIM-1. Lastly, the PC button does nothing except replace the current address with the program counter address.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZnElHHGddZbbJG7BHekMUnzB_vw17wpPyoi8DF-p2Y3dJODqcikMeP6h2wv3fEMDnu5ezPR614pHkUpaF0deSzxPPFozWALUcMdAf64ruGc-vVlQ90ENtFgzF4zfgBxcQKqgAFbQpQzdP/s1600/kimchips.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="878" data-original-width="642" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZnElHHGddZbbJG7BHekMUnzB_vw17wpPyoi8DF-p2Y3dJODqcikMeP6h2wv3fEMDnu5ezPR614pHkUpaF0deSzxPPFozWALUcMdAf64ruGc-vVlQ90ENtFgzF4zfgBxcQKqgAFbQpQzdP/s320/kimchips.jpg" width="233" /></a></div>
<br />
<br />
The KIM-1 is powered by three principle chips. One, of course, is the MOS 6502 cpu/processor. The other two are a pair of MOS 6530 RRIOT chips. Each has 64 bytes (!) of ram, a pair of 8-bit bi-directional I/O controllers, timer registers, and 1k of ROM. On one of the 6530s is the ROM code for the ml-monitor and cassette interface, while the other has the paper-tape interface.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGUH2wAJQG_0E-26go6tWVLJGe02Jwjj5GWuvN3-vOEzZ8vks_iaO_aP89pKYBl8ad3cZEm5BiGnRCkDVnO2qz_wzPV2YJJm3yJ7nyGMg6CH3_CgLQ9TOz_g4OoPee4xCXH2SPqurmdV23/s1600/corsham1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1170" data-original-width="1116" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGUH2wAJQG_0E-26go6tWVLJGe02Jwjj5GWuvN3-vOEzZ8vks_iaO_aP89pKYBl8ad3cZEm5BiGnRCkDVnO2qz_wzPV2YJJm3yJ7nyGMg6CH3_CgLQ9TOz_g4OoPee4xCXH2SPqurmdV23/s400/corsham1.jpg" width="381" /></a></div>
<br />
<br />
I have a couple of <a href="http://www.corshamtech.com/product-category/kim-1-products/">Corsham </a>expansion boards hooked up to my KIM, which are awfully convenient, and part of the reason why I finally dug the KIM-1 out for play. Pictured above is their I/O board, which provides a standard 9-pin RS-232 port, which converts to the KIM's strange current-loop port. It also has convenient interface for regulated 5V, 12V, and ground (the colored wires you see above), as well as an audio input and output jack for plugging in a standard cassette deck. The little switch on the bottom lets me pick between TTY input, and using the KIM's keypad.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpqhtZ6AOT2sj7vFQjKiJs1D-JemBBfpoNlPPfJ3daQAIm8q2v6EtgCLJP0JJIygrsIZDWFiBTiTdFdkKIGvmNRtXIW-KZ0G1k99d77fUcVjDCAUUKdhQdVQu6avkw8gUuPX6SFY5uV555/s1600/corsham60.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="936" data-original-width="924" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpqhtZ6AOT2sj7vFQjKiJs1D-JemBBfpoNlPPfJ3daQAIm8q2v6EtgCLJP0JJIygrsIZDWFiBTiTdFdkKIGvmNRtXIW-KZ0G1k99d77fUcVjDCAUUKdhQdVQu6avkw8gUuPX6SFY5uV555/s400/corsham60.jpg" width="393" /></a></div>
<br />
On the Expansion port is a <a href="http://www.corshamtech.com/product-category/kim-1-products/">Corsham </a>60k ram expansion card, gives the computer ram from $2000 all the way through $FFF7.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPuf5crdbED0UZLV4Lilh2VhGH68hron3QA_n4JB1G1v4qbng2p6XvRGK-W8TD03aE1N2tBIfmJ-tg2MIP3aj0LL1rnjKZMG_GAvkH9hnIwewC3e__QRoDcjI793ztK931drYR4J4DACSi/s1600/kimMineRS2332.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="930" data-original-width="580" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPuf5crdbED0UZLV4Lilh2VhGH68hron3QA_n4JB1G1v4qbng2p6XvRGK-W8TD03aE1N2tBIfmJ-tg2MIP3aj0LL1rnjKZMG_GAvkH9hnIwewC3e__QRoDcjI793ztK931drYR4J4DACSi/s640/kimMineRS2332.jpg" width="398" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Once I got it working, I hooked the KIM-1 up to my <a href="http://www.zimmers.net/cbmpics/cvic.html">VIC-20</a> through the <a href="http://www.zimmers.net/cbmpics/xother.html">VIC-1011A</a> TTL interface and used the VIC's keyboard and monitor to program the computer. The protocol settings are: 2400bps, 8 data bits, no parity, two stop bits, no flow control.<br />
<br />
One of my first programs was a memory-page address tester to make sure that the Corsham 60K ram expander was working correctly. The program simply puts the page number into every byte in every page above $2000, and I then use the monitor to spot-check the results.<br />
<br />
The first program I wrote on it was done by writing the assembly on paper for address $0200, and then translating the mnemonics into the machine language op-code numbers, and the branch addresses into one byte 6502 offsets.<br />
<br />
Later, I realized that I could simply write the code in assembly, assemble it on the c64, and then key in the generated bytes onto the KIM's keyboard.<br />
<br />
I am seriously interested in translating Microsoft BASIC for the KIM, and have discovered <a href="https://www.pagetable.com/?p=46">numerous </a><a href="https://www.pagetable.com/?p=774">resources </a>on the web for doing that. Check back here in the future for progress on that project.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com1tag:blogger.com,1999:blog-4265465497497020010.post-9955190842122423312017-11-02T11:56:00.000-07:002017-11-02T15:12:27.874-07:00PETs are my Business<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
For <a href="http://www.zimmers.net/cbmpics/wanted.html">a long time</a>, I've been trying to get my hands on one of the U.S. PET 2001-B 'Business' series computers. And boy are they rare! I've seen at least two go through eBay, but over-confidence and under-estimations caused me to lose them. :(<br />
<br />
But finally, I struck gold .. well, sorta. A 2001B-16 turned up on eBay, but was advertised as non-functional. It was still an opportunity worth taking, so I took it:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSiumZifKLc6M93mP5V02pLF1vKfGfMOJMbK51hMeNQUf_Bm6-I7Oy0qYXnWeXXoaqca00ipOccRlwSiyOvcEttLI_0_20Xj0zIz2mCNqOsteebWf1aIQJ4MdyoADWhATm0BBQgVQLGvP7/s1600/2001b16-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1477" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSiumZifKLc6M93mP5V02pLF1vKfGfMOJMbK51hMeNQUf_Bm6-I7Oy0qYXnWeXXoaqca00ipOccRlwSiyOvcEttLI_0_20Xj0zIz2mCNqOsteebWf1aIQJ4MdyoADWhATm0BBQgVQLGvP7/s400/2001b16-1.jpg" width="368" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
So, let's talk about this computer and what makes it unique!<br />
<br />
At first glance, it appears to be just another PET with a 9" screen, just like it's Home series brother, the <a href="http://www.zimmers.net/cbmpics/cepets.html">2001N</a>. However, look closer and you'll see that the keyboard keycaps are not only different, but the entire arrangement of the keyboard has changed! There are no PETSCII graphic symbols on the front of the keys, the punctuation symbols and number keys are arranged together at the top row, just like a typewriter, and the numeric keypad is smaller. This keyboard would go on to be used in the <a href="http://www.zimmers.net/cbmpics/clpets.html">PET 8032</a> also.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdmz27wcQOdJ7sxVhG8eK-msi-gVx7RKbz4JHVjZkt3RVtTfe5P_89NY2PFaBp7YmqJFDFnrGPlo37N0FRT_lUfnRDViHjC3fRZtONNFi6Br-NZwjSq5jg0X65kPWL2v-UyUSXfYBdJu36/s1600/2001b16-3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="712" data-original-width="1600" height="177" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdmz27wcQOdJ7sxVhG8eK-msi-gVx7RKbz4JHVjZkt3RVtTfe5P_89NY2PFaBp7YmqJFDFnrGPlo37N0FRT_lUfnRDViHjC3fRZtONNFi6Br-NZwjSq5jg0X65kPWL2v-UyUSXfYBdJu36/s400/2001b16-3.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
Under the hood is another important difference. The standard Editor ROM, which handles screen editor control and keyboard mapping, is replaced with a 'Business series' editor ROM, whose model number is 901474-01 (second rom from the left in the above picture). This rom not only handles the new keyboard arrangement, but forces the computer to boot into Uppercase/Lowercase character set mode, instead of the Uppercase/Graphics mode the other PETs booted into. The computer otherwise has the standard BASIC-2 Kernal and BASIC.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZmoyxBoANp8wBgQfpEAJGiJnMy3fTkbGLaY5glhyCUDh_jlGw8TuDdS9oPFWjbAGg8JbAY0xCJLA6miiym03BFOxJG6hE4EPvt6NN4kXsdI2Uq_POduH6F1gWMbm3BSWg3M8Cas_7vo5D/s1600/2001b16-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1429" data-original-width="1600" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZmoyxBoANp8wBgQfpEAJGiJnMy3fTkbGLaY5glhyCUDh_jlGw8TuDdS9oPFWjbAGg8JbAY0xCJLA6miiym03BFOxJG6hE4EPvt6NN4kXsdI2Uq_POduH6F1gWMbm3BSWg3M8Cas_7vo5D/s400/2001b16-2.jpg" width="400" /></a></div>
<br />
And lastly, of course, if the above was not convincing that this is not a 2001N series, the model number is "PET 2001-16B".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioavz8Wi8iPwD0JaedJPpHdPVpPX4Nh0zjyPEK8zRRulz7nWABui3r_iCZNTmvuY6ZfWN3Nb7avgA9GA0HgwLdnLpaSjclQzoEQEjtDoIxb-SHqWc3mBaS0ASoBe75PbSTSIUbF_OUoc5G/s1600/logo1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="42" data-original-width="640" height="21" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioavz8Wi8iPwD0JaedJPpHdPVpPX4Nh0zjyPEK8zRRulz7nWABui3r_iCZNTmvuY6ZfWN3Nb7avgA9GA0HgwLdnLpaSjclQzoEQEjtDoIxb-SHqWc3mBaS0ASoBe75PbSTSIUbF_OUoc5G/s320/logo1.png" width="320" /></a></div>
<br />
When I first got the machine, the computer did not boot, which the seller did warn me about. Luckily, I had the Tynemouth 6502 PET diagnostics chip, v1.1!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0k2MRiKSrMo07pbeTJ3eXsJU60zOnGq4Sy6Pms45chmVbOMHw9cEDceE8jidEjTSeEtVjE_lI_VWIuXQ_FwjxNyhuZAyrxqdiQJ1kTtf52mABIin_-3MLGChVodjMTKvisUIj58T0C-zC/s1600/2001b16-8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="795" data-original-width="1510" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0k2MRiKSrMo07pbeTJ3eXsJU60zOnGq4Sy6Pms45chmVbOMHw9cEDceE8jidEjTSeEtVjE_lI_VWIuXQ_FwjxNyhuZAyrxqdiQJ1kTtf52mABIin_-3MLGChVodjMTKvisUIj58T0C-zC/s320/2001b16-8.jpg" width="320" /></a></div>
<br />
<br />
This chip replaces the 6502 on the motherboard, and performs several tests on main ram, video ram, and provides a hash and identification of the roms.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi6AZcDZXRFTa6uvYj96joikz8gf1VPTWIfgFWpJcfM29l7bNyJA94hpaLmSghFrVcTs9OcIZTCyqiiqR-ygPSzM-8MmMMjHOhnljqsXfurIOYMnSb5tYCZq6Uc6Q18xaeisqUP67zZuL1/s1600/22538728_10155902386022269_5484811078647921424_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1112" data-original-width="1600" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi6AZcDZXRFTa6uvYj96joikz8gf1VPTWIfgFWpJcfM29l7bNyJA94hpaLmSghFrVcTs9OcIZTCyqiiqR-ygPSzM-8MmMMjHOhnljqsXfurIOYMnSb5tYCZq6Uc6Q18xaeisqUP67zZuL1/s320/22538728_10155902386022269_5484811078647921424_o.jpg" width="320" /></a></div>
<br />
The first run showed the video ram and ROMs in good shape (the -UNKNOWN- rom is the business editor, which is pretty rare, and the BASIC-4 was just a silly add-in I removed later). However, it also shows ALL of the main ram as DOA. One or two bad chips, and I might have started replacing them, but when they are all gone like that, something more fundamental was wrong.<br />
<br />
And I quickly determined that the 12V rail was grounded. The 4116 ram chips require +5VDC, -5VDC, and +12VDC. So, starting at the regulator, I began removing and testing every damn component in the 12V circuit.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQiJR53mHqHrq7mbLCO7J5Lt6W9VI4PK3y3hQXCJBfuqE8eeLdlcfULyFNhcVa_0c5VNie_PF-yUHX7ZKDcPAWxpI8hv-ZJPD7V835wVzQx0VnvhvCK_YZhkpQdpqwLRVHJQL04a5Z_Sl_/s1600/2001b16-6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="685" data-original-width="510" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQiJR53mHqHrq7mbLCO7J5Lt6W9VI4PK3y3hQXCJBfuqE8eeLdlcfULyFNhcVa_0c5VNie_PF-yUHX7ZKDcPAWxpI8hv-ZJPD7V835wVzQx0VnvhvCK_YZhkpQdpqwLRVHJQL04a5Z_Sl_/s640/2001b16-6.jpg" width="476" /></a></div>
<br />
<br />
First up was this regulator, and the two caps and diodes you see here around C24 and C25. The electrolytic was out of spec (it's a 47uF, but reported 68uF), so I replaced it with a high quality long-lasting modern one that was closer to spec. Still, none of the components were shorted, so I followed the 12V rail down to the ram.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmHv4Wr1sM20Zz4wgR8BlSVgfA64tyHIruuQGIffeQGTz_c61EdfDy9AlDi-ZM1VhH_ZlXjRFowrtImj8a6i5nrGQmRjPYHUjThsLfxEGYprDdrr0EDCfU_3VT1jgk9eN5tgErs-0lmy2d/s1600/2001b16-7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="685" data-original-width="1505" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmHv4Wr1sM20Zz4wgR8BlSVgfA64tyHIruuQGIffeQGTz_c61EdfDy9AlDi-ZM1VhH_ZlXjRFowrtImj8a6i5nrGQmRjPYHUjThsLfxEGYprDdrr0EDCfU_3VT1jgk9eN5tgErs-0lmy2d/s400/2001b16-7.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
The 4116 ram chips I desoldered, socketed, and then re-inserted, after checking each one for a short at the 12V pin. I broke one of the 4116s during this process, but had plenty of replacements. Otherwise, I kept the original chips.<br />
<br />
Next, on the advice of a friend, I moved to the tantalum capacitors (the larger blue caps on the LHS and RHS -- not the tiny blue ones next to the ram). Turned out that was it! TWO of the three tantalum capacitors I removed were shorted. I therefore replaced all three. The Tan colored capacitors you see intermingled with the blue ones were the ones I replaced.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1-DKmwQ87we7nYBrRGZBrc1loqAo7zKMCEzcK84H2AKrlOsitEenevIviFc65IQW3JfLYVHU836QJSf6aJu2RrgzkWRHjeg9uR1LoyI_uduuSbSHdq3XSBaVYF_bwkhTJyY2nIUDxvY9v/s1600/2001b16-4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1371" data-original-width="1600" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1-DKmwQ87we7nYBrRGZBrc1loqAo7zKMCEzcK84H2AKrlOsitEenevIviFc65IQW3JfLYVHU836QJSf6aJu2RrgzkWRHjeg9uR1LoyI_uduuSbSHdq3XSBaVYF_bwkhTJyY2nIUDxvY9v/s400/2001b16-4.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
And Walah! Now I have working RAM! Woohoo! You can see from the test screen that I also removed the silly BASIC-4 chip I had added for no reason other than the socket looked lonely.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjplcX1A9hDAg_UsxDuEkEKL1GdiqzSJBjaiBhT4MZOUhtJ3A0elf1NRFcfnCWsMmvyNrH65gZsceSEpJDscWX1QhHCRGQ8IXIYzlRaX6A_wd9uXhrTHyhOR98dV2WyuUI0-kTLhGFZLhbi/s1600/2001b16-5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1332" data-original-width="1600" height="332" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjplcX1A9hDAg_UsxDuEkEKL1GdiqzSJBjaiBhT4MZOUhtJ3A0elf1NRFcfnCWsMmvyNrH65gZsceSEpJDscWX1QhHCRGQ8IXIYzlRaX6A_wd9uXhrTHyhOR98dV2WyuUI0-kTLhGFZLhbi/s400/2001b16-5.jpg" width="400" /></a></div>
<br />
You can see the char rom test is also good.<br />
<br />
However, when I put the working 6502 processor back in, the computer still would not boot!<br />
<br />
For giggles, I next tried the "PET tester ROM", which replaces the standard PET kernal instead of the processor, and runs a few simple memory tests.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieCFdxfrGQzkbJ9xXDV4rHdqyaUuEl-Y-EEdwwqhgNUBzocWQuwObqoZ18BnhLim2VMZpV1YYHWXdszT9QG9FC8vQuPvr7EUlxm1xqfw64crYpqNP16gxtvbTFew27V4Itw8wo9MaO0UOE/s1600/2001b16-9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1147" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieCFdxfrGQzkbJ9xXDV4rHdqyaUuEl-Y-EEdwwqhgNUBzocWQuwObqoZ18BnhLim2VMZpV1YYHWXdszT9QG9FC8vQuPvr7EUlxm1xqfw64crYpqNP16gxtvbTFew27V4Itw8wo9MaO0UOE/s400/2001b16-9.jpg" width="286" /></a></div>
<br />
<br />
As near as I can tell, those also came back with good results.<br />
<br />
So, well, I thought about it. When the computer starts, the CPU is reset, and it reads a location from the Kernal ROM at the bottom of memory and starts executing code. So the CPU needs to work, and the Kernal needs to be readable. Since the Pet Tester ROM test worked, I know it is doing those things. After that, it will starting writing to main ram, and eventually screen ram. I know all the RAM is good also, and that the CPU can read from and write to it. What else does the PET do on startup? I wasn't sure, but I imagined it also had to initialize the I/O chips so it can read from the keyboard.<br />
<br />
So, I swapped out the 6522 VIA, and the two 6520 PIAs. After swapping the PIA closest to the keyboard, BOOM:<br /><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdzKFHxPl-0r6gPOsp5hKhTiZhUsnEkJXjNPWt0Ru5P4Ng8Rj9xSoS7C5LmiOIpcsuFNGcTXaCHVuMteIFSy3AKLKI8LEqz67UeQNfoH40j22fnp7VDz4qxM-I8cY2ScxYHtOOk0xtOSDj/s1600/2001b16-0.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1500" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdzKFHxPl-0r6gPOsp5hKhTiZhUsnEkJXjNPWt0Ru5P4Ng8Rj9xSoS7C5LmiOIpcsuFNGcTXaCHVuMteIFSy3AKLKI8LEqz67UeQNfoH40j22fnp7VDz4qxM-I8cY2ScxYHtOOk0xtOSDj/s400/2001b16-0.jpg" width="375" /></a></div>
<br />
<br />
And they lived happily ever after!<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0tag:blogger.com,1999:blog-4265465497497020010.post-35203462158375657532017-09-11T01:00:00.000-07:002017-09-11T11:46:08.393-07:00A Post! Now with even more WiFi Modem!<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipy9pSum5p24jrujLECd9_hyphenhyphen-_2tY5QvKB8CNGRv16-PjjQy8AwFfVaw8477UxrpSWajXbjrFNPZo8zaBu8y5srecQe-jy1n8F8LZmfrPw2f5LyUOWZdk3NHhhqSh3G89UceV5w0tJui9y/s1600/modemAndScreens.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="760" data-original-width="1012" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipy9pSum5p24jrujLECd9_hyphenhyphen-_2tY5QvKB8CNGRv16-PjjQy8AwFfVaw8477UxrpSWajXbjrFNPZo8zaBu8y5srecQe-jy1n8F8LZmfrPw2f5LyUOWZdk3NHhhqSh3G89UceV5w0tJui9y/s400/modemAndScreens.jpg" width="400" /></a></div>
<br />
<br />
Well, I hope you aren't tired of news about the <a href="http://ctcug.coffeemud.net/">CTCUG</a> "C64Net WiFi Modem", because it has remained my development focus. Even as I type this I'm busy adding SSL support to the firmware, and wondering if the feature is really worth the 50k of program space and 5k of global ram it appears to consume. The answer? Probably Yes.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnw2ZuAwwsmu5fpeKl2fMdzypRWXxqQ7U9Klt3lG0C9Cz7c9d250PZ8eCMuZ4hhBDFfwRyiZs5KDOn41ewo_iabuMf91jycPQQpJeieWQb3DHlGJ7hakiWa7lWXF7JXVqabAfDD2LyPlWZ/s1600/vicftp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1150" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnw2ZuAwwsmu5fpeKl2fMdzypRWXxqQ7U9Klt3lG0C9Cz7c9d250PZ8eCMuZ4hhBDFfwRyiZs5KDOn41ewo_iabuMf91jycPQQpJeieWQb3DHlGJ7hakiWa7lWXF7JXVqabAfDD2LyPlWZ/s400/vicftp.jpg" width="287" /></a></div>
<br />
<br />
My last posting talked about the Telnetd server for the Commodore 64. That program turned out to be my last new application for the standard C64 kernal. Since then, I've moved onto the Commodore VIC-20. Some quick tinkering allowed me to discover that this little 22 column wonder can easily do 1200 baud with our new modem. That was all I needed to know.<br />
<br />
I proceeded to port the machine language code for the WiFi modem applications, which I call the "PML" for "Packet Mode Library", to the VIC-20 memory map, which I was surprised to find so closely resembled the C64 memory map as to need almost no changes at all!<br />
<br />
After that, it was a simple matter to adapt most of the standard BASIC applications to run on it, provided you had at least a 16K ram expansion for the VIC.<br />
<br />
So that means our modem comes with a nice suite of internet programs for the Commodore 64, 128, and the VIC! I also tried the Plus/4, but we found that the DCD line on our modem was causing problems, and that a Plus/4 version of the modem would have to wait.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2YkokH8VkQXJQo5m_eCtIicYQXJ3Fm7TMgeL6ZqYo-Ggpc9-0Wxm3dIcNxF54GyQNc6vF9H8FL5xSfbv8eIUXVqN6UGjwI88J3ItOEwFp_lRxPrQQnGAub-ftQ_19R_xrj1i4n1a_lU6G/s1600/modem.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="291" data-original-width="391" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2YkokH8VkQXJQo5m_eCtIicYQXJ3Fm7TMgeL6ZqYo-Ggpc9-0Wxm3dIcNxF54GyQNc6vF9H8FL5xSfbv8eIUXVqN6UGjwI88J3ItOEwFp_lRxPrQQnGAub-ftQ_19R_xrj1i4n1a_lU6G/s320/modem.jpg" width="320" /></a></div>
<br />
The next thing that happened was that our modems went on sale on eBay! You can find it by searching for <a href="https://www.ebay.com/sch/i.html?_odkw=c64net+wifi+modem&_osacat=0&_from=R40&_trksid=p2045573.m570.l1313.TR0.TRC0.H0.Xc64net+wifi+card.TRS0&_nkw=c64net+wifi+card&_sacat=0">"C64NET WiFi Card"</a><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhax2ff4PXQTD1o8tDX_EW8MDkLLtefT2MPYKGZ3cMLUVtDz_WWlA9NDRvQ1KK7ZCuTgw_lFZML9WydbPXz2atb2pfqoM-BbQrSJMBPMZVUrCPlAhP7oomdLLIP_1t5y1O-isGzobP8G-KS/s1600/geoscreen.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="524" data-original-width="738" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhax2ff4PXQTD1o8tDX_EW8MDkLLtefT2MPYKGZ3cMLUVtDz_WWlA9NDRvQ1KK7ZCuTgw_lFZML9WydbPXz2atb2pfqoM-BbQrSJMBPMZVUrCPlAhP7oomdLLIP_1t5y1O-isGzobP8G-KS/s400/geoscreen.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Since then, I've been working on porting my internet applications to the GEOS graphical operating system. Back in the late 90s, I was quite infatuated with coding for this environment, and have found it quite easy to slip back into its elegant arms.<br />
<br />
My first step, of course, was figuring out how to do modem I/O from inside an operating system that ignored the existence of the user port. I quickly decided I would not try to replicate the C64 Kernal routines, which have some notorious speed issues. Instead I decided to port Ilker Fiçicilar's "commLib2" library, which claims to be able to do much higher speeds. You can download it and find other information <a href="http://cbm.ficicilar.name.tr/program/7/rs232-communication-library">here</a>.<br />
<br />
Porting commLib2 to GEOS was done in several painful steps. The easiest part was first: I took his binary and ran it through the <a href="http://www.white-flame.com/wfdis/">WFDis interactive disassembler</a> and generated something approaching the original assembly source. I then stripped out the terminal, which I would not use, and filled in as many labels as I could.<br />
<br />
The next step was hardest: actually getting it working in GEOS. Like the C64 Kernal, commLib2 relies on timer interrupts from the CIA to handle serial. However, GEOS does not use NMI interrupts, and, by default, uses a memory map that "hides" the CIA addresses from the CPU. After working through these problems, I uncovered a few minor bugs in the library, and discovered that the timing was optimized for a European PAL C64, which runs slightly slower than my NTSC C64. Lastly, I replaced his more complex support for large receive buffers with a faster and simpler small-buffer design that used hardware flow control. Getting through all this took the better part of a month, but eventually I had a working driver!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkR_ijWAppVqWsD1vGagPbh3-bsOqk49XCQUxfeQKPp9IMc4zXq8gard5mpXZYbbPuE12bItCHC0NcGLhLofzwQOu801Ltfqi-mfxHQmbpubPc8zt_CFKthoEHiEoS9aMFMq9MnS67HQ9y/s1600/geoscreen2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="418" data-original-width="738" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkR_ijWAppVqWsD1vGagPbh3-bsOqk49XCQUxfeQKPp9IMc4zXq8gard5mpXZYbbPuE12bItCHC0NcGLhLofzwQOu801Ltfqi-mfxHQmbpubPc8zt_CFKthoEHiEoS9aMFMq9MnS67HQ9y/s400/geoscreen2.jpg" width="400" /></a></div>
<br />
Once the driver was done, I started working on an 80 column ANSI terminal program, which would be my first GEOS application for the modem. I discovered that the driver does up to 4800 baud without any troubles. The author says I should be able to get 7200, but I'll probably need to tweek my NTSC timing numbers at some point to actually see this.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNVF60JfhJwYFJQyJKi0tnUQDegmWgefYiA7FaBGn863BNWGeug9o14TXOIrRHEgVgn6JsCqEinDxdaln1EdSaCYyj1NjwsxPPwGadFYhNlW9czzX2WRkC4PzFV-QIpte1KlJ8YJCXhRTJ/s1600/geotelnet.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="682" data-original-width="794" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNVF60JfhJwYFJQyJKi0tnUQDegmWgefYiA7FaBGn863BNWGeug9o14TXOIrRHEgVgn6JsCqEinDxdaln1EdSaCYyj1NjwsxPPwGadFYhNlW9czzX2WRkC4PzFV-QIpte1KlJ8YJCXhRTJ/s400/geotelnet.jpg" width="400" /></a></div>
<br />
Adding the ANSI color support was tricky, since the font is 4 pixels wide, but the C64 hi-resolution screen supports background and foreground colors in pixel blocks of a minimum 8x8. I went ahead and allowed this fudge to go through, but I don't think it looks too bad at all.<br />
<br />
I still have quite a ways to go before it's finished. It will need a phonebook/dialer, and support for X-Modem file transfers, but after that, it will be ready to release.<br />
<br />
It will eventually be followed by an IRC client, CBM graphics "BBS" client, an FTP client, and probably a combination of the WGET/D64WGET program I wrote in BASIC. At first, all of these programs will be for the C64 version of GEOS (including Wheels, MP3, and gateWay). For GEOS 128, I would basically need to start from scratch with the driver all the way up, so I'll leave that for the distant future.<br />
<br />
Until next time!<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com1tag:blogger.com,1999:blog-4265465497497020010.post-17310160940283507032017-07-02T23:11:00.003-07:002017-07-07T17:51:27.528-07:00C64 Telnet Server<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8P8IGxskmRdFkv__IX8VF4gChyl8KSVqpk-HdWtBTHztHOYQW6YBjnmklDz3SnXRyu_u2bCx9rCvBFpgxtlAtIo88DJWf39sCSi2s8b40P-sMLyrG6cEnYMOygXv2xVayvKVpSBOGIpzy/s1600/rev4prototype.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8P8IGxskmRdFkv__IX8VF4gChyl8KSVqpk-HdWtBTHztHOYQW6YBjnmklDz3SnXRyu_u2bCx9rCvBFpgxtlAtIo88DJWf39sCSi2s8b40P-sMLyrG6cEnYMOygXv2xVayvKVpSBOGIpzy/s400/rev4prototype.jpg" width="400" /></a></div>
<br />
<span id="goog_451073695"></span><span id="goog_451073696"></span><br />
<br />
<br />
Of late, I have not been able to get enough of my Commodore user-port wireless Ethernet modems. Yes, the same modem I described before ><a href="http://ode2commies.blogspot.com/2017/01/so-whats-new.html">here</a><.<br />
<br />
Since that last blog post, we've added hardware flow control, and gone through two more revisions of the hardware. Changes to the firmware have slowed down at this point, as I focus more of my energy on different applications of my new internet toy.<br />
<br />
In addition to all the programs mentioned in the previous post, I've since added a version of WGET specifically for downloading .D64 (or D81, etc..) disk image and writing the sectors directly to a blank floppy. This is perfect for users who want to enjoy games on the internet in .D64 format, but only have a single 1541 disk drive and our modem. The program is called D64WGET on our disk.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipgs7vALn0ycUQFv52g4VGl_23YSmrw3y993zrem9mJDGSFGoR-S45rHgqrdatGa9HkXSVHAUC_t9iETfJj3ggDzR2LjMpmyZFg8SaIAFJ06Shos-8x2hs2fbmYjUdlZesKMHBMFReOhBN/s1600/weather.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="302" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipgs7vALn0ycUQFv52g4VGl_23YSmrw3y993zrem9mJDGSFGoR-S45rHgqrdatGa9HkXSVHAUC_t9iETfJj3ggDzR2LjMpmyZFg8SaIAFJ06Shos-8x2hs2fbmYjUdlZesKMHBMFReOhBN/s400/weather.jpg" width="400" /></a></div>
<br />
<br />
I also ported one of my favorite old Commodore PET games, "weather", to the C64, and then made it playable over the internet using our modems. I got my brother to help me play test it several times during testing, and I was soundly defeated. :(<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeXikF8WqimYAoxKXWTyFCarVmJLYfHAvZQYlcVZyU9Um-0n2WFjCfOliYhZy0-CPnHSvz1bs43yhH5sSxYjyrRacaYxK6ZRUaB_iBP7yOfSj554HW39Y7dKGHZBG9WfB13k1XIaEp5HnL/s1600/spinternet.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeXikF8WqimYAoxKXWTyFCarVmJLYfHAvZQYlcVZyU9Um-0n2WFjCfOliYhZy0-CPnHSvz1bs43yhH5sSxYjyrRacaYxK6ZRUaB_iBP7yOfSj554HW39Y7dKGHZBG9WfB13k1XIaEp5HnL/s400/spinternet.jpg" width="300" /></a></div>
<br />
<br />
I even managed to hook my Commodore SuperPET's RS232 port to the FTDI pins on an old rev 2 version of our modem (after going through a RS232/TTL converter), and playing around with it online. This little project did require adding some more features to the firmware, since the SuperPET needed 7 bit characters and Even parity. The fact that it uses 7-bit characters instead of the standard 8-bit was especially hard to discern, since neither the computer manual nor the uart setup menu mentioned it. It was only after hooking up a logic analyzer to the TX/RX pins that this was figured out.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilQcn-_PjmEpewP4p26kyJKm9HXddGNvqpx626Nowi5TcwThmyzsriNehtzBET7_EfDvxN_PlC1KHKlWzBaQ9_GVh1qwA8aD7uCGcYmeGQMqGN8H8ho9meu3k5er6fSVeeRrfh7reoRcwp/s1600/64rdp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1144" data-original-width="1600" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilQcn-_PjmEpewP4p26kyJKm9HXddGNvqpx626Nowi5TcwThmyzsriNehtzBET7_EfDvxN_PlC1KHKlWzBaQ9_GVh1qwA8aD7uCGcYmeGQMqGN8H8ho9meu3k5er6fSVeeRrfh7reoRcwp/s400/64rdp.jpg" width="400" /></a></div>
<br />
But my latest project has been a telnetd server for the C64. From the internet you can connect to my C64 using a telnet-client of some sort, or even another ethernet modem like I'm doing here, and "take over" the C64's READY prompt. You can write, run, load, and save programs, and so long as they limit themselves to text and keyboard input, everything works great.<br />
<br />
In the picture above, the breadbox C64 on the left is running the server using a prototype of the rev 4 modem, while the C64C on the right is running a little four-line BASIC terminal program at 1200 baud on a rev 3.<br />
<br />
The telnetd server resides in C64 memory at $C000 and is hard coded to initialize the modem and listen on port 6400. The server injects itself into all the the Kernal vectors and thereby redirects modem input to the keyboard buffer, and screen output to the modem. I've been learning quite a bit about the way the C64 Kernal RS232 routines and Kernal IEC (disk drive/printer) routines share CIA timers and thereby step all over each other. At one point running the telnetd server all but ensured that programs LOADed would be corrupted, while also disabling remote user input. It was a mess. But since then I've gotten it to the point where you can remotely do disk access commands and maintain your control, which I debugged by simple disabling all modem output during LOAD, SAVE, and OPEN kernal calls.<br />
<br />
My next mission was security. One wrong POKE or SYS and the server is toast. This was fixed by injecting code into the '<span style="background-color: whitesmoke; color: #333333; font-family: "monaco" , "menlo" , "consolas" , "courier new" , monospace; font-size: 13px; white-space: pre-wrap;">IGONE'</span> BASIC vector that converted the token values for POKE and SYS into PRINT. :)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNA4XiGU7LmBq1S1A9gz1I1SvXXaaqly5085KmbBiZt63d_hscKF9omIsAyXpj1S9Gto09UcZlT6TPQ7ztCLcQV9SQqTcxA8fOt8P94kT1dCLLPHcA0ymlQ03nlF77XLGRX2vvAzHf76B5/s1600/Image1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="537" data-original-width="714" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNA4XiGU7LmBq1S1A9gz1I1SvXXaaqly5085KmbBiZt63d_hscKF9omIsAyXpj1S9Gto09UcZlT6TPQ7ztCLcQV9SQqTcxA8fOt8P94kT1dCLLPHcA0ymlQ03nlF77XLGRX2vvAzHf76B5/s400/Image1.jpg" width="400" /></a></div>
<br />
<br />
An idle timer, and an overall time limit was then put in, so that tinkerers can't hog the system forever, or just sit around doing nothing. I chose an overall limit of 1 hour, and idle time of 5 minutes, though I'm sure that will be configurable in the future. I tried using the ability of the TOD clock to generate interrupts to handle my time limits, but then discovered that i/o and the c64 kernal's default NMI step all over those as well. I mean, the first thing the C64 Kernal NMI interrupt does is turn OFF all interrupts on CIA#2. What the hell?! In the end, I just had my normal interrupt code watch the two TOD clocks for timeouts.<br />
<br />
Lastly, I needed a welcome message for when users connected, and, to enforce my time limits, the ability to send the delayed "+++" (pause) "ath" commands to the modem. Since I was detecting users coming online and time limit timeouts in the standard periodic interrupt, that was where I handled this 'forced disconnect' feature as well by simply adding a state machine and letting the TOD clock used for the idle timer do double duty as a delay-pause timer as well.<br />
<br />
When completed, this program will join its brothers over in my Zimodem/C64Net WiFi project, which you can follow at <a href="https://github.com/bozimmerman/Zimodem">https://github.com/bozimmerman/Zimodem</a>.<br />
<br />
I'm sure there will be more on this forthcoming.. unless some other shiny C= bauble catches my eye of course.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com2tag:blogger.com,1999:blog-4265465497497020010.post-46797785589886713552017-01-11T15:42:00.001-08:002017-01-11T16:17:33.358-08:00So, What's New? A WiFi Modem, That's What!<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
I haven't updated the blog in awhile, but this is not because I've been idle. In fact, I've been so constantly busy on Commodore things that I just never took a breath long enough to talk about it. As a result, you can expect an endless barrage of posts as I try to get you, and my future self, caught up.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDGb5zKz5aVl5Ixij9l3Y1-2MH-nbCUxhl_ke4bPCqn1cToovzi7FLo_XAFhfVWDMK2aiGyI3Pnk3vIxrDGYfZlELml8KunSn2a8DrVc7ewDvksxq_7Gt0lUkUmHCG-ocO959pb2KwhB85/s1600/WiFiModemRev1Fab.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDGb5zKz5aVl5Ixij9l3Y1-2MH-nbCUxhl_ke4bPCqn1cToovzi7FLo_XAFhfVWDMK2aiGyI3Pnk3vIxrDGYfZlELml8KunSn2a8DrVc7ewDvksxq_7Gt0lUkUmHCG-ocO959pb2KwhB85/s640/WiFiModemRev1Fab.jpg" width="526" /></a></div>
<br />
<br />
The Commodore WiFi Modem project has been an effort by our local Commodore users group, and has been progressing nicely, both at the hardware and software level. A WiFi modem is a wireless ethernet device usable by Commodore computers. Anyway, as I've been handling the software side, I'll talk a bit about the hardware side first.<br />
<br />
Shown above is the REV1 fab. We (<a href="http://ctcug.coffeemud.net/">CTCUG</a>) are just days away from Carlos having REV2 in his hands. REV1 featured a fully powered ESP8266 board with proper RS232 levels for the Commodore 64 and 128, allowing basic KERNAL I/O between the two. REV2 will feature DCD detection for BBS support, and support for UP9600 in C64 mode. It will also have an optimized and cheaper design, and be only half the length of REV1.<br />
<br />
I've done almost all of my software development using the REV1 board, as well as my own hand-made version.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKyc0JemefqRsQIlz8YpnwqIiBB97zhCPGuFKPI9YlP09psCPOi_v526S1aK5I3lz935dCOcRk1_IZh9XN1zt_SJRPzY8rhslbiA2VRVDEWvHPtOoC1TKDKUWauvS-0ckwjn5lJCyCFrha/s1600/c64mineWNewModem.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKyc0JemefqRsQIlz8YpnwqIiBB97zhCPGuFKPI9YlP09psCPOi_v526S1aK5I3lz935dCOcRk1_IZh9XN1zt_SJRPzY8rhslbiA2VRVDEWvHPtOoC1TKDKUWauvS-0ckwjn5lJCyCFrha/s640/c64mineWNewModem.jpg" width="425" /></a></div>
<br />
<br />
I have several features I desire in a Commodore 8-bit internet device, which this WiFi modem is capable of fulfilling, with the right firmware. These desires are:<br />
<br />
<ol>
<li>Uses the User Port (No cartridge port/bus hogging)</li>
<li>Supports KERNAL RS232 (easy simple BASIC/ML programming)</li>
<li>Does not hog system CPU/Memory (the TCP stack is in the device, not the Commodore)</li>
<li>Supports socket listening and multiple client connections.</li>
<li>Supports both streaming and controllable packet-based data.</li>
<li>Supports CRC for error detection and correction of packet data.</li>
<li>Can look enough like a modem to the Commodore to support old BBS programs.</li>
<li>Supports boot-options (again, for BBS support)</li>
</ol>
<div>
With those goals in mind, I wrote firmware for the ESP8266 that would run in this device, which I called Zimodem. The project is mirrored <a href="https://github.com/bozimmerman/Zimodem">here on GitHub.</a> </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDLzCLT0OBi21oCWQ1M483ls0tHVMxC5gGb_6sMIUoj9o5IP34a7cCIa4uqGxjZHZz5tExAOi45fCzNqHSOAQIDCGbuUG_OAjg8J2MT8jbEUsDZ21y3xyWfUVi2eqIuptA_6HA1OVYGPoS/s1600/Img_2437.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDLzCLT0OBi21oCWQ1M483ls0tHVMxC5gGb_6sMIUoj9o5IP34a7cCIa4uqGxjZHZz5tExAOi45fCzNqHSOAQIDCGbuUG_OAjg8J2MT8jbEUsDZ21y3xyWfUVi2eqIuptA_6HA1OVYGPoS/s640/Img_2437.jpg" width="420" /></a></div>
<div>
<br /></div>
<br />
After some initial frustrations, development went pretty well. If you check out the build instructions, you'll see that I had all kinds of problems with the ESP8266 Arduino libraries. And I probably should never have bothered with trying to program for it using Arduino IDE, but, well, it seemed like the best idea at the time.<br />
<br />
To make a long story short, all of the features listed above, and many more, are implemented, with periodic bug fixes as the capabilities are tested and stretched. <br />
<br />
While the initial landmark was being able to use a standard Commodore terminal program, such as Novaterm in the picture above, to connect to MUDs and BBS programs, the second landmark of a suite of internet applications that run natively in the C64 and C128 is also coming along.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF23J1hdm6YsnjZBkv9BYkM2QNBtLG3xWkBLaqJU24eWtMZsnj-86AfSe0ubKtBZl2MuDcHFbdwwmOdWY0QWjNdYTI2_ggPBZX952Vr3VrhjquhRrWBjL-I_lMcmOOSCpUCtBerrpdK50j/s1600/c128dRunningIRCforWiFiModem.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF23J1hdm6YsnjZBkv9BYkM2QNBtLG3xWkBLaqJU24eWtMZsnj-86AfSe0ubKtBZl2MuDcHFbdwwmOdWY0QWjNdYTI2_ggPBZX952Vr3VrhjquhRrWBjL-I_lMcmOOSCpUCtBerrpdK50j/s640/c128dRunningIRCforWiFiModem.jpg" width="360" /></a></div>
<br />
Here is my C128D testing an early version of the <b><span style="color: red;">IRC </span></b>chat client. Like all the clients, the same BASIC program works in a C64, in a C128 in C64 mode, in a C128 in C128 mode, in 40 or 80 columns. The biggest difference is which machine language support file it loads. All the clients will be made available on my ftp site, and in a separate GitHub project when available.<br />
<br />
In addition to the IRC client, a <b><span style="color: red;">TELNET</span></b> client has also been completed, which does full ASCII/PETSCII translation, supports color as far as it can, supports TELNET codes, at least to the extent of eating them, and supports local keystroke echo, all in super-fast machine language core wrapped by the BASIC handler. It also has a little phonebook that gets saved to your disk.<br />
<br />
A <span style="color: red;"><b>WGET</b> </span>client has ALSO been completed, which allows any text or binary file to be downloaded from a non-SSL Url off the internet. So, if the URL starts with HTTP://, it can probably download it to your commodore.<br />
<br />
Lastly, an <span style="color: red;"><b>FTP </b></span>client is currently in the works. It uses PASSIVE modem FTP to get around firewall issues, although early tests with non-PASSIVE socket listeners were also promising. This will be super cool.<br />
<br />
Beyond these, a special <span style="color: red;"><b>MUD </b></span>client, similar to TELNET except for some extra features unique to MUD clients, will be done. A special C= <span style="color: red;"><b>BBS </b></span>client will also be done. It's also similar to TELNET except that it skips ascii and telnet translation.<br />
<br />
So, that's it. Keep your eyes posted here for more updates!<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com4tag:blogger.com,1999:blog-4265465497497020010.post-7867120720398041552016-06-06T22:02:00.002-07:002016-06-06T22:14:25.835-07:00Amiga on Steroids, Complete with Side Effects!.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX-LLy5kawWner99Mr8ExpSE4vgsNaZUZb9CdiAGkYAt2N1z7XBhWf5yqJoXYgxRr4OPnyCN16AOcEBIowzJitX53p1wzTmnEEhxKFr72i-XMrzR27Y9IM6OOwrk7yEBr3hUf3pZk5inZ1/s1600/amiga600mineSystemWorkbench.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX-LLy5kawWner99Mr8ExpSE4vgsNaZUZb9CdiAGkYAt2N1z7XBhWf5yqJoXYgxRr4OPnyCN16AOcEBIowzJitX53p1wzTmnEEhxKFr72i-XMrzR27Y9IM6OOwrk7yEBr3hUf3pZk5inZ1/s640/amiga600mineSystemWorkbench.jpg" width="426" /></a></div>
<br />
<br />
Nestled snug in the corner of my computer room is an Amiga 600. It was put there for one purpose: as a quick and easy game console for classic Amiga titles like Lemmings, Street Fighter II, and whatever else I could find on floppy that worked. <br />
<br />
This was fine until the day I decided to put one of those pre-configured flash-based IDE drives off eBay inside it. The hard drive came with a program called WHDLOAD installed on it, along with around a hundred games. I was captivated, but very few of those games actually worked, and I was told it was the machine's fault. So first I upgraded it to the latest Kickstart ROM, then I gave it 4mb of Fast Memory in the belly slot, and finally another 2mb through PCMCIA. None of it was enough.<br />
<br />
Then I heard about the <a href="http://www.kipper2k.com/accel600.html">Vampire V2</a> CPU card. It promised to solve all my problems with an 80+mhz 68040 emulated processor, 128mb ram, and an sdcard slot for extra storage. For the money, it was the cheapest and fastest 680x0 based cpu expansion for any Amiga.<br />
<br />
So I placed my order, waited several months, paid the bill, waited another month. And then one day...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1aLkXppu1BmeABgaBovjTv-WqgyDgBosXuOfAYXTnx8NAaXjfFIcCPJDIupDxPnHnhsRmjzmPtVyB4xsAsew3rXElEM7H514Y4UVhYXlzc5DcXTLulCoOi1p_xeNCbHiy23dHBs3H-ThJ/s1600/a600mineVampireMotherboard.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1aLkXppu1BmeABgaBovjTv-WqgyDgBosXuOfAYXTnx8NAaXjfFIcCPJDIupDxPnHnhsRmjzmPtVyB4xsAsew3rXElEM7H514Y4UVhYXlzc5DcXTLulCoOi1p_xeNCbHiy23dHBs3H-ThJ/s400/a600mineVampireMotherboard.jpg" width="400" /></a></div>
<br />
The package came with the card, two little plastic mounting legs, a Q-Tip, and alcohol swab. I used the Q-Tip and swab to clean the contacts around the existing 68000 processor, and after some moderate but careful violence, was able to push the card into place and screw it down. I then put a cheap 8gb sdcard into the card reader and hooked it back up.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji8xBt7yVfXqpgTZtaaDgIU8SRQfqXWCWtJcEuO04qgQe6QDNPlW067csN5dWrMOxccUGiSpl9KfSQ99hoQhaz2aNHTPg6XnNFzWBh7IIPHjk3zo6jQJqgTd35XzwoGQEaZiQCbCJTilM2/s1600/a600mineVampireSpecs.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji8xBt7yVfXqpgTZtaaDgIU8SRQfqXWCWtJcEuO04qgQe6QDNPlW067csN5dWrMOxccUGiSpl9KfSQ99hoQhaz2aNHTPg6XnNFzWBh7IIPHjk3zo6jQJqgTd35XzwoGQEaZiQCbCJTilM2/s320/a600mineVampireSpecs.jpg" width="314" /></a></div>
<br />
<br />
It booted right up, and a quick run of SysInfo showed that it was every bit as screaming fast as it promised to be. I also ran AIBB, which contains numerous benchmark tests. Generally speaking, it's screaming fast on CPU and integer intensive tasks, still Fast as Hell on Floating point tests, and (shockingly) slower than a 68040 (but still faster than a 68000) on graphics operations.<br />
<br />
The sdcard was not recognized as a standard scsi device, so my first step was to discover, find, download, and install the latest drivers. This took way too long to figure out. Shipping the card with instructions on at least where to find drivers would have been nice. Anyway, some time later, the sd card was partitioned and ready to receive data. The process went something like this:<br />
<ol>
<li>Download <a href="http://www.apollo-accelerators.com/files/SAGADriver.v0.9c.lha">Saga Driver</a> (as of this writing, 0.9c, requiring firmware rev SILVER6)</li>
<li>Copy sagasd.device to Devs, and SDDiag and VampireTool into C</li>
<li>Copy SDMount into System</li>
<li>Alter the "Information" tab on HDConfig to refer to the new sagasd.device</li>
<li>Using HDConfig, setup and partition the drive as normal.</li>
<li>Reboot</li>
<li>Run SDMount in the System folder. It will appear to have done nothing.</li>
<li>In RAM:T/SDMount, you'll find some number of device config files equal to the number of partitions you created. Copy these into your DEVS:DosDrivers folder.</li>
<li>Edit each of the new device files with a text editor. They will have an empty "Filesystem =" entry that you must fill in. For example, if you set up the partitions to use FastFileSystem, you would put: <span style="background-color: #e0e0e0; font-size: 13px;">FileSystem = L:FastFileSystem</span></li>
<li><span style="font-size: 13px;"><span style="font-size: small;">Reboot Again</span></span></li>
<li>After a few seconds, the new devices will appear in Workbench. Quick Format them.</li>
</ol>
It only took a few megabytes of copying data onto the new partitions to discover my error: The cheap (slow) 8gb flash card I used wasn't cutting it. The OS would constantly error out as if the device was no longer there. It would ask me to reinsert the volume as if I had removed it. Hitting retry would usually work, but that's not behavior you want out of fixed storage. Using a higher quality (faster) $20 8gb sdcard did the trick.<br />
<br />
Another problem I discovered is that running a computer with a 68040 but no FPU (Floating Point Unit/Math CoProcessor) creates confusion. The Vampire team promises a core update with an FPU in the future, but until then, certain programs are going to be a problem. Thankfully, they are always non-Game programs.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0tag:blogger.com,1999:blog-4265465497497020010.post-5979218227980109402016-03-22T11:17:00.000-07:002016-03-22T11:17:26.872-07:00Commodore Collector Trudgery<br />
I don't really have much exciting to say for this entry, but wanted to let blogspot know that I have been quite busy.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJfu58RYL4-_1-Q6RFCIfTG3hyt0OvMToWifD1cHPvHq2uAyuaISly2gynTnGI56CsY5-xyCcA7D-Rh1w83OOeYKdiFeZDNSDNUseDzWDt0c82JcmEFpaeFY3HohR3LjWT7oa_eXMIJ2Bs/s1600/a500mine2LHSBoxPortrait2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJfu58RYL4-_1-Q6RFCIfTG3hyt0OvMToWifD1cHPvHq2uAyuaISly2gynTnGI56CsY5-xyCcA7D-Rh1w83OOeYKdiFeZDNSDNUseDzWDt0c82JcmEFpaeFY3HohR3LjWT7oa_eXMIJ2Bs/s400/a500mine2LHSBoxPortrait2.jpg" width="400" /></a></div>
<br />
This beautiful Amiga 500 was purchased off eBay only because I wanted an earlier motherboard and the "Chicken Head" logo case. The original box was bonus and might have been the best part. It's gorgeous!<br />
<br />
When it arrived, however, it had two flaws: a missing disk drive ejection button and a mostly malfunctioning keyboard.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha2GIVhD7N9LgTxD3B1X4tI5fy1KNdvjhWRYVMcX0zLGQ9Jp2ERsdRK1AdInf4Jg2KA-3VDObS_MOEDh3QXjDmvarwM4JGuSBP1UR7YkfEvZhDPUD8WwnnS8x4hyefIyor8L5jDw0VnK0k/s1600/12799091_10153991487342269_8131917374423580014_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha2GIVhD7N9LgTxD3B1X4tI5fy1KNdvjhWRYVMcX0zLGQ9Jp2ERsdRK1AdInf4Jg2KA-3VDObS_MOEDh3QXjDmvarwM4JGuSBP1UR7YkfEvZhDPUD8WwnnS8x4hyefIyor8L5jDw0VnK0k/s400/12799091_10153991487342269_8131917374423580014_n.jpg" width="400" /></a></div>
<br />
The problem with the disk drive button was easy enough to fix, as I had a spare floppy to draw it from. The keyboard, however, was tricky. Upon very close inspection of the keyboard membrane, it turns out that several of the metal traces near the connector had gotten bent to the point of breaking. I tried using some liquid carbon with the absolute finest tipped brush I had, but was only able to bring back two or three of the dead traces that way. Luckily, someone on facebook routed me to <a href="http://sellmyretro.com/">sellmyretro.com</a>, where someone was selling brand new (and compatible!) membranes. I dropped my repair attempts (who knows how long that liquid carbon would have held anyway) and just got a new one.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU8ZDzDS4x6arhcPu_QWOc1_R6yV1gFy5dANYGTuZ0Ze09BgjyjneTXFfuDQpC4AhOu78sncjm_cSkCFCFRrT6jfBbcALfqsAcBhm9jqge2x3IZ9o9KNSiqMZzqbmDZXPh5c9dKU3i7_oH/s1600/logoDivider.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="26" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU8ZDzDS4x6arhcPu_QWOc1_R6yV1gFy5dANYGTuZ0Ze09BgjyjneTXFfuDQpC4AhOu78sncjm_cSkCFCFRrT6jfBbcALfqsAcBhm9jqge2x3IZ9o9KNSiqMZzqbmDZXPh5c9dKU3i7_oH/s400/logoDivider.png" width="400" /></a></div>
<br />
While all this was going on, I was also contacted by a Houston resident who was moving out of the country and wanted to unload all his Commodore stuff. Apparently, he was a big Commodore 128-mode and C128 CP/M-mode fan, as well as a Commodore 8-bit power user who kept up with all the latest storage, memory expansion, and accelerators.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji32P6jaIptPbnlWkY9tH1AhHOFRooNOJFYouBaaJ3jznoAZHTS0dVwEGfQpM26sm1VFG79KEbhIrxQl7sQ0M_dHj4oECUNORfaidmKOwrqd58JD2gLjthgRURiZ1rpECftQNjWOvVmlhw/s1600/20160227_110605.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji32P6jaIptPbnlWkY9tH1AhHOFRooNOJFYouBaaJ3jznoAZHTS0dVwEGfQpM26sm1VFG79KEbhIrxQl7sQ0M_dHj4oECUNORfaidmKOwrqd58JD2gLjthgRURiZ1rpECftQNjWOvVmlhw/s320/20160227_110605.jpg" width="320" /></a></div>
<br />
<br />
I'm a big fan of CMD (Creative Micro Designs), who designed much of those later expansions, so I knew the deal would be a good and useful one.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjkQkCl-b9SMAXpUqojXBITKMypqhhmx7YxeJBhNCHQMM-_3rNnnGhCaE2JcP7uALvPhdIVgb3TFq1KAP8awEvG6vBP7zs9jzKCRP_Q28_YuaMllrIcvuzM0jmob6AoCEeyf-nagamyeUy/s1600/20160224_103355+%25282%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjkQkCl-b9SMAXpUqojXBITKMypqhhmx7YxeJBhNCHQMM-_3rNnnGhCaE2JcP7uALvPhdIVgb3TFq1KAP8awEvG6vBP7zs9jzKCRP_Q28_YuaMllrIcvuzM0jmob6AoCEeyf-nagamyeUy/s320/20160224_103355+%25282%2529.jpg" width="320" /></a></div>
<br />
<br />
Once I got as much of it home as my wagon would carry, it took weeks just to take stock. And then came very minor repairs. A CMD Hard Drive got a new SCSI drive mechanism. A pair of FD2000s swapped drive mechs so that the one with the functioning motherboard would be a fully functioning drive. A 1581 had a shorted capacitor replaced. And meanwhile, there were stacks of floppy disks to archive. All of this has kept me extremely busy to this day.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYKACBaq1rHeL6oDLXmeI2SRzKmjagPKmF6BixZlQmv6LpoWwzdnAVyG6PHq_onaqO97PJA4ZvRLdZawr_p7BV4hXEzohcgRdCknGXVBOE9gfuh6JrbsjiMKxz8vzXeOU3ySFrqv51y0qG/s1600/logoDivider.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="26" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYKACBaq1rHeL6oDLXmeI2SRzKmjagPKmF6BixZlQmv6LpoWwzdnAVyG6PHq_onaqO97PJA4ZvRLdZawr_p7BV4hXEzohcgRdCknGXVBOE9gfuh6JrbsjiMKxz8vzXeOU3ySFrqv51y0qG/s400/logoDivider.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3e0wFUOpsBuDn74pFnp8KS9BLzsqsQJTCNSN39y2wQJ23UzOFbe5_5y7aYxv3By8mXS1lqTgzC2jzEkmTsK62Wj-A35i2idyUPb6uE9agEehlHsTJuJIwVBwTfpbgII4X-Kww74zxj-RY/s1600/cbm256-80-mine1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="367" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3e0wFUOpsBuDn74pFnp8KS9BLzsqsQJTCNSN39y2wQJ23UzOFbe5_5y7aYxv3By8mXS1lqTgzC2jzEkmTsK62Wj-A35i2idyUPb6uE9agEehlHsTJuJIwVBwTfpbgII4X-Kww74zxj-RY/s400/cbm256-80-mine1.jpg" width="400" /></a></div>
<br />
<br />
Then, on top of all this, the power supply in my CBM-256 has gone out, again, I *think*. This is the third of fourth time it has failed to power up. Most times, tinkering with it for a few weeks would make it mysteriously start working again. Once, all it needed was a new monitor fuse, but that won't work this time. The symptom is, once again, an utter lack of voltage on all lines.<br />
<br />
So, it's hardware that has kept me busy. I've actually been looking forward to doing some software projects, but those will wait.<br />
<br />
<br />
<br />
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com1tag:blogger.com,1999:blog-4265465497497020010.post-40772178586669231592016-02-22T02:19:00.002-08:002016-02-22T02:19:33.763-08:00Project Batteries: FinishedThe longest and most exhausting hardware "project" I've ever embarked on is completed. I'm referring, of course, to the mission of inspecting every Commodore Amiga, PC-compatible, and PC-laptop for leaking or dead batteries, and replacing them.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRmxfY9ORKu8aP8HXSxc1SYQgZpcPs0pU7ALgY3ifTZsR_sNhFowmIK_2a97AgkgENHX9gzXwlooifP3tKKOv48vilMDk27GG9umXYoch81P0F8K4qmicyjo32_q7N7_3VwdFkgSKBQpAU/s1600/a500mine1BoxPortrait1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRmxfY9ORKu8aP8HXSxc1SYQgZpcPs0pU7ALgY3ifTZsR_sNhFowmIK_2a97AgkgENHX9gzXwlooifP3tKKOv48vilMDk27GG9umXYoch81P0F8K4qmicyjo32_q7N7_3VwdFkgSKBQpAU/s400/a500mine1BoxPortrait1.jpg" width="400" /></a></div>
<br />
The final computer to receive attention, out of the dozens and dozens, was this plain Jane Amiga 500 with an A501 memory expansion in its "belly". The A501 provides this computer with an addition 512k of memory, as well as a real-time battery-backed clock. However, that aforementioned battery was a leaky Ni-Cd barrel that needed cutting out and replacing, which I did.<br />
<br />
All of the computers which required a battery replacement received ordinary lithium-ion "coin" batteries. This represented a trade-off. These batteries are not rechargeable, but they are easy to swap, since I always mounted a battery-holder for them, and they do not leak acids or bases over time, but simply fade into oblivion.<br />
<br />
Safer computers was not the only thing I had to show for having done this project, however. Since these computers were coming down from high shelves in some cases, being tested, and often disassembled to get to the motherboards, I took pictures. Lots and lots of pictures.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLED8rUlOqi8A0TGzZ9pZ6cJh0KSPx7KlVwiQpO_oONPp10UHSt1QlM5DjRpMW2ADcL2165hWg61ivvpyLMf7lSwhF6gjOfM2iDD0bHyHF1tgoRhEihZ3_jV86sWbl6iAAeNNkRUkCQeKs/s1600/a600mine1lhsSysPortrait2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLED8rUlOqi8A0TGzZ9pZ6cJh0KSPx7KlVwiQpO_oONPp10UHSt1QlM5DjRpMW2ADcL2165hWg61ivvpyLMf7lSwhF6gjOfM2iDD0bHyHF1tgoRhEihZ3_jV86sWbl6iAAeNNkRUkCQeKs/s320/a600mine1lhsSysPortrait2.jpg" width="320" /></a></div>
<br />
<br />
A few also required repair, such as the Amiga 600 in the above picture. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLxIR2hRspC78aR-TPmZ99o0xgMN9ZRTogstcSlBcTmAxOSGbGJg214Sut1SBuoRcPh0q0ExQYUvpnuyo1S4nSlEWtQnCjGcXaLScabPCYR7LcNi3DG9_BbeSPBSuPrOuXPGyY6jWlZux9/s1600/se286MineWindowsDisk.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLxIR2hRspC78aR-TPmZ99o0xgMN9ZRTogstcSlBcTmAxOSGbGJg214Sut1SBuoRcPh0q0ExQYUvpnuyo1S4nSlEWtQnCjGcXaLScabPCYR7LcNi3DG9_BbeSPBSuPrOuXPGyY6jWlZux9/s320/se286MineWindowsDisk.jpg" width="320" /></a></div>
<br />
<br />
Others got their hard drives reformatted for a fresh install of Windows 3.1, for no reason at all. Such was the case for this Commodore Select Edition 286, with 80287 co-processor!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkD0WBcV7aI22Bj64cY0rbp5Jxb9DQ002JpetSPYnN2smKIvPGG0HnUaK0Ile47W4dz8DfXCivkS-6NgjCZv4eHgqPxV3795LDP6hce34Mnq-hXVHi2yLd-CZt4XVFxDjtHIcjipFBNyq0/s1600/a4000d040LHSMineAngleSystemPortrait.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkD0WBcV7aI22Bj64cY0rbp5Jxb9DQ002JpetSPYnN2smKIvPGG0HnUaK0Ile47W4dz8DfXCivkS-6NgjCZv4eHgqPxV3795LDP6hce34Mnq-hXVHi2yLd-CZt4XVFxDjtHIcjipFBNyq0/s320/a4000d040LHSMineAngleSystemPortrait.jpg" width="313" /></a></div>
<br />
This Amiga 4000 /040 got a fresh install of AmigaOS 3.9. It deserved it.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgidPn2hazwCn6AT32yOgH90PCpf29d24JrzEQMf5JkbWQ775xeFwHr_tKDpZ0hYG8cyLa1nTCwFREJg7nTFlT5vPeSbzhP2PncuyosRu9wOYQSN8rVn9cj5luRNuB3_SQvOcDQkmVfMJiE/s1600/pc10iiiMineAngleSystemRunningGEOS3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgidPn2hazwCn6AT32yOgH90PCpf29d24JrzEQMf5JkbWQ775xeFwHr_tKDpZ0hYG8cyLa1nTCwFREJg7nTFlT5vPeSbzhP2PncuyosRu9wOYQSN8rVn9cj5luRNuB3_SQvOcDQkmVfMJiE/s320/pc10iiiMineAngleSystemRunningGEOS3.jpg" width="300" /></a></div>
<br />
<br />
But most of them I was just happy to see still kicking after all these years, such as this Commodore PC10-III, which was one of my first Commodore PCs. I remember using it for many years as a 64NET server for the 8-bits. Later it got PC-GEOS installed on it for productivity use.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmC1LR5E42AYTVOVKsksr-wPXOYBppUdLFoMNhF9Kmk0g1YGBwqk-xxmcH7REA30EwxZxz-CxyQRrc5-tad8BpL6gt82K4bTi7OpOP3wnnNtk8wvYc4YnaAZrjlLlMKoFj5Kd4nbqJCLQc/s1600/a1200mine2SysPortrait1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmC1LR5E42AYTVOVKsksr-wPXOYBppUdLFoMNhF9Kmk0g1YGBwqk-xxmcH7REA30EwxZxz-CxyQRrc5-tad8BpL6gt82K4bTi7OpOP3wnnNtk8wvYc4YnaAZrjlLlMKoFj5Kd4nbqJCLQc/s320/a1200mine2SysPortrait1.jpg" width="320" /></a></div>
<br />
<br />
It's good to know these computers will be safe and secure for years of new joys to come.<br />
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0tag:blogger.com,1999:blog-4265465497497020010.post-85483281249977652852016-01-27T14:41:00.005-08:002016-01-27T14:42:39.771-08:00The Strangest CollectablesOf all the things in my collection, printers and monitors are the strangest. They serve very narrow purposes and tend to all do their tasks in about the same way. Of the two, printers are the strangest. Monitors can often be justified due to the non-standard video output of some computers, especially the RGBI of the C128, the Chroma/Lumina of the C64, and the 15khz signal from the Amigas.<br />
<br />
Printers, however, just print. They take paper with tiny holes along the side, onto which they deposit letters by pressing a shape against a piece of cloth coated with ink. And they are all either IEEE-488, IEC, or GPIB (Parallel).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5M1jw3LbDs1GOr_Ab2JvcvIUaAAD8_iwSdGiEcR7kW6esFD8YL2m5IhhER-IeYtZZJxwJpxPlpw10tahqaNnVcjazAGu2SVvqbgR99jEuQG4Op4i9r1iwH7KuNM928cMLMcOfJwA6TX7_/s1600/cbm4022pMinePortrait1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="257" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5M1jw3LbDs1GOr_Ab2JvcvIUaAAD8_iwSdGiEcR7kW6esFD8YL2m5IhhER-IeYtZZJxwJpxPlpw10tahqaNnVcjazAGu2SVvqbgR99jEuQG4Op4i9r1iwH7KuNM928cMLMcOfJwA6TX7_/s400/cbm4022pMinePortrait1.jpg" width="400" /></a></div>
<br />
This is a Commodore 4022P IEEE-488 printer. It has enough processing power and memory to handle the IEEE-488 communication with the computer, and it prints. It does not scan. It does not fax. It has no lasers or jets of ink. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN33GAD7Xy1zsYLl7Y53-MKMtnnFe7dUM6XxxtHi9GbfIWPGGjjTtIkYULq3l9YsjxMfJj54iKhlpGFsVeyk_PhpPehUANC2dzQ1tXUpkFY9_5jUw6HyUUX7_IArmDSGG6X9XhWsbPW_P8/s1600/cbm4022pMineRibbon1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="111" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN33GAD7Xy1zsYLl7Y53-MKMtnnFe7dUM6XxxtHi9GbfIWPGGjjTtIkYULq3l9YsjxMfJj54iKhlpGFsVeyk_PhpPehUANC2dzQ1tXUpkFY9_5jUw6HyUUX7_IArmDSGG6X9XhWsbPW_P8/s400/cbm4022pMineRibbon1.jpg" width="400" /></a></div>
<br />
Instead it takes, as I mentioned earlier, a piece of cloth dipped in ink and rolled up in a continuous loop inside this plastic casing. Much like the printers of today, every printer takes a slightly differently shaped ribbon cartridge, allowing the manufacturers to sell the printers at a loss and make it up on all the ribbon sales. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2s0f96WtpzMBzcii4vJxfCoFOi7wz02HLqHXD3f3hdOQVDM-tb_oDOmI8nBX-cHlNbokd-YIR97dbzxKFI93I7xgPGumYM9omMTy3vMNQZJ_W6DSwdLPq_Mrc_-Ny49Szm4YRCij21shT/s1600/cbm4022pMineBackPorts.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2s0f96WtpzMBzcii4vJxfCoFOi7wz02HLqHXD3f3hdOQVDM-tb_oDOmI8nBX-cHlNbokd-YIR97dbzxKFI93I7xgPGumYM9omMTy3vMNQZJ_W6DSwdLPq_Mrc_-Ny49Szm4YRCij21shT/s400/cbm4022pMineBackPorts.jpg" width="400" /></a></div>
<br />
This particular model was made for the European market, having an AC 220V power input. Inside is a step-down transformer and some sort of rectifier circuit to provide the DC current needed by the chips and paper motor inside. The data port is, as mentioned earlier, IEEE-488, meaning it was meant for either the Commodore PET, CBM or CBM-II line of computers.<br />
<br />
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0tag:blogger.com,1999:blog-4265465497497020010.post-32750515195392216112015-11-24T23:22:00.000-08:002015-11-24T23:22:49.700-08:00PC Battery ReduxCommodore PC Desktops are not the only x86 computers with bios batteries I worried over recently. Without power to the BIOS ram, Commodore PC laptops lose their hardware settings and refuse to boot up. Fixing this problem became my next concern.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9QF03Lt7763Dd9-eowlGA182JPl8ReEEm_oioAk1Y5JuZN6TLm8b6H3Bp8ZYJwp2jj-hw8rZAgHvFeSGvHv22SyfSokfGxdIphDRh4gBWWzp3VjrKqZT436_rN4q7nxLucl0NZUMtqBFd/s1600/c386sxLTminePortrait3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9QF03Lt7763Dd9-eowlGA182JPl8ReEEm_oioAk1Y5JuZN6TLm8b6H3Bp8ZYJwp2jj-hw8rZAgHvFeSGvHv22SyfSokfGxdIphDRh4gBWWzp3VjrKqZT436_rN4q7nxLucl0NZUMtqBFd/s400/c386sxLTminePortrait3.jpg" width="358" /></a></div>
<br />
<br />
First up was my C286-LT and C386SX-LT. These computers were, in some ways, the easiest to replace the batteries in. The battery was a 3.6V non-rechargeable AA-sized battery. Moreover, these computers have an externally accessible battery port, which made my life much easier.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5YHJeFAroqR9W-pOtJAaSlQrvuQzQr0lMjLv6KlcwNjxtOTFbA3fkx7Tyc9GD9ZJ2AezHT8NQDqsFTPl5ORuLdMhsXSQNnnSLlYWTrGGWil8xgLIdoHYWj8vs8aU5sGdtb8kpf-rh-rjG/s1600/Img_7606.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5YHJeFAroqR9W-pOtJAaSlQrvuQzQr0lMjLv6KlcwNjxtOTFbA3fkx7Tyc9GD9ZJ2AezHT8NQDqsFTPl5ORuLdMhsXSQNnnSLlYWTrGGWil8xgLIdoHYWj8vs8aU5sGdtb8kpf-rh-rjG/s320/Img_7606.jpg" width="320" /></a></div>
<br />
<br />
Most AAs are 1.5V, so it took awhile to get the correct ones on order. Also, the battery that was in there had the special connector lead required for the computer board already built in. And, importantly, the battery was coated in plastic to prevent shorting itself against the internal battery space. Turns out that entire space where the battery goes is grounded, so this was important. Lastly, because the battery had its own leads built in, it didn't need to fit very snugly in its place, which would become important when trying to figure out how to get a new battery in there.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeGNvUSKJ2lkSXZTVZxw2s5wzsHereBpIgndDBg_WrtwTS8tDpXXHvlnKCUj7cOiy5lmDzomYT6z9vmRD3GbyVB3ul1ixFXMgn-yfpmgwwT87LOR0tsY1f8_G-cWL5UMX6ageKa1niMH-D/s1600/Img_7602.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeGNvUSKJ2lkSXZTVZxw2s5wzsHereBpIgndDBg_WrtwTS8tDpXXHvlnKCUj7cOiy5lmDzomYT6z9vmRD3GbyVB3ul1ixFXMgn-yfpmgwwT87LOR0tsY1f8_G-cWL5UMX6ageKa1niMH-D/s400/Img_7602.jpg" width="400" /></a></div>
<br />
<br />
The first thing I tried was soldering those wires directly to the new battery. The solder would not hold. So then I Dremel-tooled away some of the coating on the battery metal to see if I could get a better grip. I ruined a battery that way, don't try it.<br />
<br />
Eventually I came around to what you see above. One side, for ground, hugs the batterys negative end and has a clip on which to solder the black wire. The other is actually a clip-on that fits neatly over the one of the ends of the battery space. Since the entire space is !!grounded!!, and I needed that end to hold the positive charge, I used some black electrical tape over the battery area, and then put the positive-end clip over the electrical tape. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzL8NLSsGauf5tvH1mf3Xq_YtySiXQJZHNLdP5oBnPZNtRGiHVF9K6tPPxSnQUgldnnkGNWQvfZ4jaL6_86XCQUjmrbHH6g0gjX_IMwsn9ifl5q2BnCacA3Ev5TuYCLXc6xETQxXae1sXb/s1600/Img_7610.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzL8NLSsGauf5tvH1mf3Xq_YtySiXQJZHNLdP5oBnPZNtRGiHVF9K6tPPxSnQUgldnnkGNWQvfZ4jaL6_86XCQUjmrbHH6g0gjX_IMwsn9ifl5q2BnCacA3Ev5TuYCLXc6xETQxXae1sXb/s400/Img_7610.jpg" width="400" /></a></div>
<br />
<br />
The combination was enough for the snug fit and secure contact on the positive side. I replicated this process twice, once for the 286 and once for the 386, and now, a happy BIOS.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQyJdvkfxUT1LLP2vFNFJwqdGV-IEFdZfN4PNhCva6_Mt7lIQk-rDdVyneCk_473Il9UGtRlajwmlt1n9LqxguVpQuxXJqSNJeSynbDGAuICAC8sV5Zpa9bfDgNV5FKN6cd8UMPB0Jz0yh/s1600/logoDivider.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="26" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQyJdvkfxUT1LLP2vFNFJwqdGV-IEFdZfN4PNhCva6_Mt7lIQk-rDdVyneCk_473Il9UGtRlajwmlt1n9LqxguVpQuxXJqSNJeSynbDGAuICAC8sV5Zpa9bfDgNV5FKN6cd8UMPB0Jz0yh/s400/logoDivider.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
Next up was my 486SX-LTC.<br />
<br />
I broke it open, perused it with my magnifying glass, and to save my life could not find anything resembling a battery. I suspect it relies on the main laptop battery for constant power, but well, time to move on.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdEe_rdp633IVMiuXmcmOeS7CESRdSmMCvuje6ngPWAManIsdQzX5MksQEaaiKnCz6cgjfgdAjTU2M0Kc8GTtT2bzPqTraEK_zefOjCJYs2FQdCQ1hmE23Y9RlIwGxmyyYxLHpJJFFY2Lu/s1600/c486sxLTCminePortrait1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdEe_rdp633IVMiuXmcmOeS7CESRdSmMCvuje6ngPWAManIsdQzX5MksQEaaiKnCz6cgjfgdAjTU2M0Kc8GTtT2bzPqTraEK_zefOjCJYs2FQdCQ1hmE23Y9RlIwGxmyyYxLHpJJFFY2Lu/s320/c486sxLTCminePortrait1.jpg" width="320" /></a></div>
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizvHMH40sZs2WyNfaPU6EFIqk34XEqFY4iiE8-oKd31vTOd_UmG7lfoGpE8T-OM3VFxj76p6pGePiAsMHUH5W3rpnVn00DX0rTo8HbK4pv3kInjWkfzvWQwlzKR3q0qPTUK7M6psPSzWxn/s1600/logoDivider.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="26" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizvHMH40sZs2WyNfaPU6EFIqk34XEqFY4iiE8-oKd31vTOd_UmG7lfoGpE8T-OM3VFxj76p6pGePiAsMHUH5W3rpnVn00DX0rTo8HbK4pv3kInjWkfzvWQwlzKR3q0qPTUK7M6psPSzWxn/s400/logoDivider.png" width="400" /></a></div>
<br />
Last up was the C325XN laptop, another 386SX 25mhz based computer. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhO9mAkOMPQH1y0-R8qKeJFsm33U7qMY-y7djw3oQYCxVxXQco5CpcZ4bHyNFBoc8Jq4HNxVg8TS_D3iOcCvdUcjWEvO4oExtrhdjjVUTseQ0fMBVXCex2kz_UacsP91PQSJR6PAksIQgp/s1600/c325xnMinePortrait1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhO9mAkOMPQH1y0-R8qKeJFsm33U7qMY-y7djw3oQYCxVxXQco5CpcZ4bHyNFBoc8Jq4HNxVg8TS_D3iOcCvdUcjWEvO4oExtrhdjjVUTseQ0fMBVXCex2kz_UacsP91PQSJR6PAksIQgp/s320/c325xnMinePortrait1.jpg" width="295" /></a></div>
<br />
The battery in this one was extremely inaccessible. Five screws and an hour of painful prying was required to get the top off this damn thing. And then, inside, I found a strange 4.8V rechargeable chain of batteries molded in plastic with custom wires velcroed between the hard drive and the floppy drive.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIoR-H8LRW0H6Q_HPbcuuCZFG3J3kTJMyzxBbl9TJisolknrAquDyw4p1cfp31wI3PgdBPghFuRAH3FBEgB3oM-U12YnWUEJowOPIVhYQ-88XV-aN-4DkN5154EhD9xqUu8CZseQFIq4PQ/s1600/c325xnMineMotherboard3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIoR-H8LRW0H6Q_HPbcuuCZFG3J3kTJMyzxBbl9TJisolknrAquDyw4p1cfp31wI3PgdBPghFuRAH3FBEgB3oM-U12YnWUEJowOPIVhYQ-88XV-aN-4DkN5154EhD9xqUu8CZseQFIq4PQ/s400/c325xnMineMotherboard3.jpg" width="400" /></a></div>
<br />
<br />
Replacing this one required purchasing numerous 1.2V rechargeable button-sized batteries. Sounds easy, right? Well, scale and dimensions aren't always mentioned in web stores. Sometimes you order a battery that looks identical to the one you want to discover it is exactly 3 times the size and weight of the one you have. <sigh> Well, it only took a month, but eventually the correct batteries arrived from China.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJH9Xugm6KtKdBQacZ19_EpQlGfWlzq_sCF9jX1s0iP2ZBkFb1Ll98HYre5jk_zt8xSS7u4QPvY-cAOUblcJ2BKKaA6_vcPWDKq1Btevq1aBcv1Jd6uuwy43_4dsQ6UVVRD4eNI9U_-FyR/s1600/Img_7856.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJH9Xugm6KtKdBQacZ19_EpQlGfWlzq_sCF9jX1s0iP2ZBkFb1Ll98HYre5jk_zt8xSS7u4QPvY-cAOUblcJ2BKKaA6_vcPWDKq1Btevq1aBcv1Jd6uuwy43_4dsQ6UVVRD4eNI9U_-FyR/s400/Img_7856.jpg" width="400" /></a></div>
<br />
<br />
Pictured above is the original battery chain, after unwrapping. Below that are some spares of the new batteries from china. Those cute little nubbins on them made it possible to solder them into their own new little chain and then solder on the wire leads. At the bottom was the final produce, wrapped snugly in electrical tape to help with any future leaking.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmx8yqeh8aebRXV-VnVl0k9nUQy0SgptTxmupeQBXyLTRsiKrKIDblwnw23ZGNy85cN6z49qtabOBVgjfYHaUhk3wMBZ7zmrNop2yD6NtY8zhRKFOTosSF6JTVFYwPyWUaG28jJ2ekIViJ/s1600/c486sxLTCmineLogo1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="67" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmx8yqeh8aebRXV-VnVl0k9nUQy0SgptTxmupeQBXyLTRsiKrKIDblwnw23ZGNy85cN6z49qtabOBVgjfYHaUhk3wMBZ7zmrNop2yD6NtY8zhRKFOTosSF6JTVFYwPyWUaG28jJ2ekIViJ/s400/c486sxLTCmineLogo1.jpg" width="400" /></a></div>
<br />
<br />
With all the laptops now safely remembering their bios settings, it was time to move on to the Amigas. A few more Commodore PC desktops will be arriving next month to the collection, which I'm sure will interrupt this process, but well, a Commie-fans work is never done!<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0tag:blogger.com,1999:blog-4265465497497020010.post-22454967395828231532015-11-12T13:17:00.001-08:002015-11-12T13:20:29.457-08:00Rare Repair AffairsOver the last few days I had occasion to go through a bunch of old VIC-20s from the George Page collection. <br />
<br />
Most of them have scuffed cases, missing keys, boards covered in rust, and didn't boot at all. I figured I would go through some of them to see if I can scrounge some working parts. I also pulled out a few reference working VIC boards to do the testing against. These are pictured below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-tM-0QR-RI4xLI5I2z8mPt9Q8afdcs4jZMRCrPGVxz9sEBvSI32R3wIbP6usT_p_KKWAYHo1sDWCFF1xaLIm_350ATqUQCZ99800VJRTsXd2_qBf-vQR2ZuIIuX_A8cko5pxQmobhyphenhyphengEl/s1600/20151112_142536.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-tM-0QR-RI4xLI5I2z8mPt9Q8afdcs4jZMRCrPGVxz9sEBvSI32R3wIbP6usT_p_KKWAYHo1sDWCFF1xaLIm_350ATqUQCZ99800VJRTsXd2_qBf-vQR2ZuIIuX_A8cko5pxQmobhyphenhyphengEl/s400/20151112_142536.jpg" width="400" /></a></div>
<br />
<br />
In the course of testing the various 6560 VIC-I chips (the video chip that the computer takes its name from), I made an amusing discovery. <br />
<br />
The discovery was that, even in the exact same board, different VIC-I chips produce different tints in their basic colors. This is something I expect from TVs and Monitors which, after all, have a Tint knob. But from a digital component deterministically manufactured? A shock! I'm sure many of you olde VIC fans already knew this, but I'm still fairly new to this computer, compared to some of the other Commodores, so it was a surprise.<br />
<br />
Below are some of the colors I observed. ++NOTE: these images were snagged off the net for illustration purposes only...<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4UMmeSSI0QvXs8m-mhvYqBt9uIlD-Uc7whDybwLJn4AQl9H68XZkWqYBRUXCOUi3sbL95mqx3L8ls5C_IEXjv23lxDa7X-z9ZXObOA5vUfX-37CT7fQY_x5tyIqi3GiMCIHbr6f-x35xA/s1600/vic-20boot1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4UMmeSSI0QvXs8m-mhvYqBt9uIlD-Uc7whDybwLJn4AQl9H68XZkWqYBRUXCOUi3sbL95mqx3L8ls5C_IEXjv23lxDa7X-z9ZXObOA5vUfX-37CT7fQY_x5tyIqi3GiMCIHbr6f-x35xA/s320/vic-20boot1.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGUklicYE-AoF7UaPO050gVHlqTZGbVK_hrtR29I0rls-8d2ENehAQuFX-6DAwHVQifxPemd8MOv9s9oazdwGSUSShx0eRwLdvVJBX_fMp5J07el0s07W-iNBz2tP6zcAkW26q3CFGKLdH/s1600/vic-20boot2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="167" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGUklicYE-AoF7UaPO050gVHlqTZGbVK_hrtR29I0rls-8d2ENehAQuFX-6DAwHVQifxPemd8MOv9s9oazdwGSUSShx0eRwLdvVJBX_fMp5J07el0s07W-iNBz2tP6zcAkW26q3CFGKLdH/s320/vic-20boot2.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi21K8BUpTK7qFHP6Jd6XPnznYmDCOfVVI_1PFRkOwxzDYPKJljpy-ThUDktypEhBuZzwhdp5jcE9RfUFB2pDfYcwSJLQ04wSGzF6UZg-_mQYuA5Y8b3CxO9GdkrI7yKllNBy0DxUMgNmVT/s1600/vic-20boot3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi21K8BUpTK7qFHP6Jd6XPnznYmDCOfVVI_1PFRkOwxzDYPKJljpy-ThUDktypEhBuZzwhdp5jcE9RfUFB2pDfYcwSJLQ04wSGzF6UZg-_mQYuA5Y8b3CxO9GdkrI7yKllNBy0DxUMgNmVT/s320/vic-20boot3.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqi8Yd-1TgKfGny5NJqZsZreNTnP4_1EY06n2M9A5rE35jkfXDtIkkWGIE9UKEDCXFb0pG1QoRG9gnyslyuIBjffNBFCw_XkvvsyyRrLpHnZ47Azc0HTRsVzePUZs4IQ_ISDE9N7M-Z3_z/s1600/vic-20boot4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqi8Yd-1TgKfGny5NJqZsZreNTnP4_1EY06n2M9A5rE35jkfXDtIkkWGIE9UKEDCXFb0pG1QoRG9gnyslyuIBjffNBFCw_XkvvsyyRrLpHnZ47Azc0HTRsVzePUZs4IQ_ISDE9N7M-Z3_z/s320/vic-20boot4.jpg" width="320" /></a></div>
<br />
<br />
Another amusing discovery was how resilient the VIC-I chip is. Even on the worst condition boards, where CPUs, VIAs, and ROM chips had all met their doom, not a single solitary VIC-I was defective. :)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPYpTsXZFEZbe3pRWsvZ-NLZm9DT8dPHCUjpDewSf7JzvJ5ZKo-iwBwbgTTU0sJ8EnlzQCDDOG_VASnAIKxLmaoExjQevdOBPodlAF0ewFrOCXhWY73dIUh3vnty1X3Sphi9HBc_LiMz92/s1600/logo1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPYpTsXZFEZbe3pRWsvZ-NLZm9DT8dPHCUjpDewSf7JzvJ5ZKo-iwBwbgTTU0sJ8EnlzQCDDOG_VASnAIKxLmaoExjQevdOBPodlAF0ewFrOCXhWY73dIUh3vnty1X3Sphi9HBc_LiMz92/s1600/logo1.png" /></a></div>
<br />
<br />
While I was working on this, I made the sad discovery that the 6581 SID (sound) chip in my main breadbox Commodore 64 had gone silent. In my experience, when a SID goes bad, it goes All The Way BAD. And that's what happened to me. A replacement was necessary.<br />
<br />
I have a nice selection of pull-spares in my parts cabinet, so I wasn't worried. But I decided to dig into a sealed bag of SIDs I purchased off eBay 7-8 years ago. They were sold as a group, and most appear to come from the same manufacturing batch. All the chips were pushed into a pin-protection mat, and the static-bag was still unopened. I cut the bag open and began testing them. You can still see some thermo-compound on some of them -- that's my doing; they were pristinely clean with perfectly straight pins when I opened it.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYxwHFmSdz2nawYZkr60u22qk5DgEqdgMH9asI5Ko1dQfu2DbKCrJiZdmRkurU4qqywihi8WCZjKUu5Fa4P7WlEwh6xEK5QYb3ALdB1fmWvvEuEOEjjvg9CXRhWRUaYiJdhuCuONbz54BB/s1600/20151112_140323.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYxwHFmSdz2nawYZkr60u22qk5DgEqdgMH9asI5Ko1dQfu2DbKCrJiZdmRkurU4qqywihi8WCZjKUu5Fa4P7WlEwh6xEK5QYb3ALdB1fmWvvEuEOEjjvg9CXRhWRUaYiJdhuCuONbz54BB/s400/20151112_140323.jpg" width="400" /></a></div>
<br />
<br />
I was shocked to discover that the first chip I put in did not work correctly. I was even MORE surprised at the WAY it did not work. As I mentioned above, when a SID goes bad, it goes All The Way. But this chip was not silent, but FLAWED; it did not sound right.<br />
<br />
Moreover, as I tested the chips one after another, I discovered that the same was true of all the chips. Each one made sound, but the wrong sounds. Some had missing voices. Some had loud noisy interference. Some had broken waveform generators. None were all the way broken, but all were flawed. I was robbed, and robbed in a way I didn't expect. Were these manufacturing defects I purchased? Pulls of flawed chips from an old repair shop? Who knows. Watch the video below to see what I found.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/_YQfIMFH6uQ/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/_YQfIMFH6uQ?feature=player_embedded" width="320"></iframe></div>
<br />
<br />
So, in the end, I had to dig into my working pulls, and my beloved breadbox now has its voice back.<br />
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0tag:blogger.com,1999:blog-4265465497497020010.post-85475292654088528632015-11-10T15:50:00.000-08:002015-11-10T15:55:48.326-08:00A Tour Around the LabWhile perusing the web the other day, I happened upon a beautiful panorama of Yosimite Valley and it made me wonder how those are made. Some quick googling made it seem fairly simple at first. Take lots of pictures, combine them into one huge panorama picture with an editor program, and then, for a video, clip the picture into frames and recombine them as a video.<br />
<br />
In the end, it took something like half a dozen programs and tools, with perhaps 2 hours of combined processing time on my PC, to produce this tour around my home away from the rest of my home: My Commodore Lab:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="420" height="315" src="https://www.youtube.com/embed/yxiW0FVhtvE" frameborder="0" allowfullscreen></iframe>
<br /></div>
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com1tag:blogger.com,1999:blog-4265465497497020010.post-70960049273227035972015-10-11T12:15:00.000-07:002015-10-11T12:15:43.462-07:00Look What I Found!For various reasons, I've been poking my nose into corners of my Commodore Lab that I would not normally poke into. And the stuff I've been finding has been surprising and fun. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPmQuBCRMT8iPe5LO0ZwlYy2rUbGb1Jppa-lfDDwuufyHUmZyAcUVUczMIh6WgwSVlJfB1mC6eYUgAWmP_8DytF84dfFdY4JEIUdXY4yxPr0oIKD-XPFQ6KLZO8iWL5TYTf1xTxzxTkPlI/s1600/mycornerBits.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPmQuBCRMT8iPe5LO0ZwlYy2rUbGb1Jppa-lfDDwuufyHUmZyAcUVUczMIh6WgwSVlJfB1mC6eYUgAWmP_8DytF84dfFdY4JEIUdXY4yxPr0oIKD-XPFQ6KLZO8iWL5TYTf1xTxzxTkPlI/s320/mycornerBits.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
I wish I could say they bring back a wash of fond memories, but frankly I barely even remember where some of this stuff came from. That's OK though, surprise is a delight all its own, and it's not like I don't remember anything at all.<br />
<br />
For one thing, in the mid 2000s, I enjoyed going to the several Commodore Expos held around North America. The ECCC in Chicago, CommVex in Vegas, and (my fav) the LUCKI Expo in Louisville were yearly excursions for my carefree slightly-younger-self. And I met some wonderful Commodore fans at those Expos, such as Jeri Ellsworth, Jens Schönfeld, Joe Torre, Robert Bernard<span style="font-family: inherit;">o, Jim Brain, <span style="background-color: white; text-align: -webkit-center;">Eric Kudzin, Jim Butterfield, Larry Anderson, and numerous others.</span></span><br />
<span style="font-family: inherit;"><span style="background-color: white; text-align: -webkit-center;"><br /></span></span>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyB0wYV-mok7fpwJ9_GqQcj-IkfOM4Z0lNhcWoDTgdGBwg5B-e-wUo0ZMAU93vr67bozpU5khaLLtWV4fZfuSR3-MDrTbL5RNQL8Z4pB6OrJQcESmASTIDxWCHf7HLYwp7EcDHbFXsm9jK/s1600/commvex2006.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyB0wYV-mok7fpwJ9_GqQcj-IkfOM4Z0lNhcWoDTgdGBwg5B-e-wUo0ZMAU93vr67bozpU5khaLLtWV4fZfuSR3-MDrTbL5RNQL8Z4pB6OrJQcESmASTIDxWCHf7HLYwp7EcDHbFXsm9jK/s320/commvex2006.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-size: 12.8000001907349px;">L->R: Eric Kudzin, Me, unknown gentleman.<br />Photo Taken from Dick Estel's photo gallery http://www.dickestel.com/commvex06.htm</span></td></tr>
</tbody></table>
<br />
Apparently, it was to one of these events that I brought a <a href="http://www.zimmers.net/cbmpics/c264s.html">Commodore 116</a> and <a href="http://www.zimmers.net/cbmpics/cvic.html">VIC-20</a>. And to my present delight, I actually got them signed by some of their original developers.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3BK8XLLNFacMugX0v4zNg4sF6hresS6qi1XAvNo_vkjQzIC4TX6TIPHxOgEQdxHLzEz6hCWIOToccXvTjJu-JGkxMhMYccyWlY4O5WhLAMB05d8qTgiHq2Lv-OvYmhwVAXwMIC-Sek-rB/s1600/VIC20RusselAngle1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3BK8XLLNFacMugX0v4zNg4sF6hresS6qi1XAvNo_vkjQzIC4TX6TIPHxOgEQdxHLzEz6hCWIOToccXvTjJu-JGkxMhMYccyWlY4O5WhLAMB05d8qTgiHq2Lv-OvYmhwVAXwMIC-Sek-rB/s400/VIC20RusselAngle1.jpg" width="400" /></a></div>
<br />
The first one I ran across while investigating a shallow plastic crate on top of a stack of boxed computers. It was signed by Robert Russell, a former Commodore engineer. Mr. Russell took over the development of the VIC-20 project from Bob Yannes, and completed the computer design, added necessary ports, and adapted the KERNEL and BASIC roms,<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwAVefabVOJrxFF3vSYqTXGxAJHNunHGhKWq2_ZarxPXkLgxB98ubJ06Z54vcBQoKlG-DyiEeUqzcWhMV9N37LDV-1pyIlqS87igZDtPEbXureewSifKYIhAi71HL6f7tjwp1f_nWKujD-/s1600/c116mineSigned.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="263" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwAVefabVOJrxFF3vSYqTXGxAJHNunHGhKWq2_ZarxPXkLgxB98ubJ06Z54vcBQoKlG-DyiEeUqzcWhMV9N37LDV-1pyIlqS87igZDtPEbXureewSifKYIhAi71HL6f7tjwp1f_nWKujD-/s400/c116mineSigned.jpg" width="400" /></a></div>
<br />
<br />
Barely a week later, while investigating yet another strange plastic crate, I found two of my unboxed C-116s and my <a href="http://www.zimmers.net/cbmpics/c232s.html">Commodore 232</a>. One of the Commodore 116s was *also* signed, this time by Dave Haynie and Bil Herd. Although Mr. Haynie is known more for his work on the Amigas, both him and Bil Herd were engineers on the Commodore 264 series computers, which includes the 116.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRTtrZYHCQ5d-2uOih4M3nUGdxjVZnik5KeABPzgpSlGRGCQd1ippAwIx6hjGlVLFOnU2MbF-G1ze0Cr6jdA7SUv9cQoQVsOtJtFBE13OWZYD43zf5GPu80FnAyekv7lkAi6ql82ecYTGU/s1600/daveHaynieBilHerdRobertRussell.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRTtrZYHCQ5d-2uOih4M3nUGdxjVZnik5KeABPzgpSlGRGCQd1ippAwIx6hjGlVLFOnU2MbF-G1ze0Cr6jdA7SUv9cQoQVsOtJtFBE13OWZYD43zf5GPu80FnAyekv7lkAi6ql82ecYTGU/s320/daveHaynieBilHerdRobertRussell.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">L->R: Dave Haynie, Bil Herd, Robert Russell. <br />
Photo Taken from Dick Estel's photo gallery http://www.dickestel.com/commvex06.htm</td></tr>
</tbody></table>
<br />
Although my mission in pulling them out was to either hook them up or box them, it seems I can do neither with what are obviously show-pieces. I decided therefore to create a special shelf area exclusively for "Show Pieces" in my Commodore Lab, and put it right alongside the prototype CommodoreOne, Gold C-64, LCD Keyboard, and other wall-mounted show pieces.<br />
<br />
It looks like this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsjtPi6bVCeDTaHiAm4oc9a-4m9EVufYc3D1AwvPAXaVA_lIntMzlI7CZ59AK9_xdxjhn5qiF5TTR3pr4XWPRBLa4X6BgMShb0sw0fvCeHc5myV_pn-zmoPbplQTTDIqW9C9zAQkxIQtpg/s1600/shelfShowPieces.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="123" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsjtPi6bVCeDTaHiAm4oc9a-4m9EVufYc3D1AwvPAXaVA_lIntMzlI7CZ59AK9_xdxjhn5qiF5TTR3pr4XWPRBLa4X6BgMShb0sw0fvCeHc5myV_pn-zmoPbplQTTDIqW9C9zAQkxIQtpg/s400/shelfShowPieces.jpg" width="400" /></a></div>
<br />
<br />
On the shelf, I added the Commodore thermostat, a C= Typewriter, Adding Machine, the two aforementioned computers, and some watches and camera.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />Bo Zimmermanhttp://www.blogger.com/profile/01516530864398923182noreply@blogger.com0