tag:blogger.com,1999:blog-50513648113870916932024-03-01T17:05:09.911-08:00APPLE CRAPPLEAdventures in Retro Computing, Hacking, and Other Madnessepoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.comBlogger213125tag:blogger.com,1999:blog-5051364811387091693.post-25541227725022103212024-02-20T13:06:00.000-08:002024-02-24T10:55:53.214-08:00EXORbus Card Cage and Backplane (Semy Engineering)<p>In the past I had a lot of difficulty finding a reasonably priced backplanes and card cages for EXORbus systems and ended up trying to make my own. Since then, I have discovered many more PLC manufacturers that made EXORbus based systems and have been able to find more reasonably priced processor cards, backplanes, and cages. As a result, I did not find it necessary to make a new run of my <a href="https://www.tindie.com/products/epooch/multi-plane-for-exorbus/">Multi-Plane ExorBus backplanes</a>. Instead, I am going to finalize and open source the design so that others can have it manufactured if they want.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQNrPq96nRUzf5-zL1qzTQ5zKg39mDhoHDssf6YhOwPXqjwhUa7rG56GYBbWFawP2kTtpgvqRhpTzjGPXowe1nkkfDCdEcD7NpDhdRJiXCQy2uJIYyoM0QVepn2eO9Qc0Pe9uYT2K3Y4RkfGOO7ex0NzvfhOLffJCWllvPPSOffzbh6Sd2k6onVOStvwhT/s1600/s-l1600-8.jpg" style="display: block; padding: 1em 0; text-align: center; clear: right; float: right;"><img alt="Semy Engineering MyPro cage and backplane" border="0" height="200" data-original-height="1600" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQNrPq96nRUzf5-zL1qzTQ5zKg39mDhoHDssf6YhOwPXqjwhUa7rG56GYBbWFawP2kTtpgvqRhpTzjGPXowe1nkkfDCdEcD7NpDhdRJiXCQy2uJIYyoM0QVepn2eO9Qc0Pe9uYT2K3Y4RkfGOO7ex0NzvfhOLffJCWllvPPSOffzbh6Sd2k6onVOStvwhT/s200/s-l1600-8.jpg"/></a></div>
<p>Almost a year ago, I saw a Semy Engineering cage and backplane on sale for about $150. They typically are listed for over $500, but like much of this EXORbus hardware, it sits for sale for a long time, awaiting the perfect buyer who has a malfunctioning PLC system and a silicon wafer production line waiting on it to get repaired. As more and more of it reaches end-of-life, it accumulates on ebay until there is a glut, and finally the prices are slashed. While the price still isn't cheap, it is probably a better deal than trying to make one myself... or so I thought.
<p>Unfortunately, when it arrived, I realized that it did not have a ±12V power supply for the RS-232 line drivers on my boards, only the +5V main power supply. This probably isn't too big of a deal, as most modern equipment deals well with lower RS-232 voltages and I am not planning on running very long serial communication lines. However, I felt like it was worth the time to get this running the right way. So, the hunt for suitable power supplies began.
<h3>±12V Options</h3>
<p>Searching for a ±12V PSU is pretty difficult, as there is not a widely used term to describe them, and the minus sign usually gets ignored by the search or acts as a NOT operator. "Dual rail" led me to some decent options, and the electronics parts suppler search filters were helpful to find some (expensive) power supplies too. The MEAN WELL PD-2512 is a well-priced option, but it is quite large, and I dont need nearly that much power.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTqDpx0GWWs9LVcf06bEywWvdEmV7nUHNQtgIOsZb_-yJroA4ueLZDUKC2BscsVNka92t4Y0P3XlFrEvWfwwKE7X2SUTxTpt55O6kpi3ngi-YXi3sJoFcMdDmfTbwlK5NISB2x-U6rDDG0XRFY45EmzwcUcU4r-oAvUGgleGvtln5_RKHsCeQIDotW8w/s800/b3fb895ce2b6f92f08269debffd99bec.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="MEAN WELL PD-2512 power supply" border="0" width="320" data-original-height="800" data-original-width="800" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTqDpx0GWWs9LVcf06bEywWvdEmV7nUHNQtgIOsZb_-yJroA4ueLZDUKC2BscsVNka92t4Y0P3XlFrEvWfwwKE7X2SUTxTpt55O6kpi3ngi-YXi3sJoFcMdDmfTbwlK5NISB2x-U6rDDG0XRFY45EmzwcUcU4r-oAvUGgleGvtln5_RKHsCeQIDotW8w/s320/b3fb895ce2b6f92f08269debffd99bec.jpg"/></a></div>
<h4>Parallel 12V PSUs</h4>
<p>Apparently, you can connect two 12V switch mode power supplies so that the negative wire of one is connected to the positive terminal of the other (creating a GND reference), and leaving you with +12V, GND, and -12V power. While I understand how you could do this with two transformers to effectively create a single center-tapped transformer, I am struggling to wrap my head around how this would work properly with the various diodes and voltage regulators that might be involved in the full power supply. I believe a single 24V power supply with a "virtual center tap" GND reference using a couple of resistors would work as well to give ±12V, rather than just +24V. I am not excited about either of these options and I am not willing to risk my boards if this does not work properly.
<h4>MULTI-PLANE</h4>
<p>While attempting to solve the ±12V issue, I noticed that my Multi-Plane backplane fit perfectly into the card slot, as was intended (whew)! The Multi-Plane was designed to be an ATX power supply injector for another backplane just like this. However, when I designed the board there really wansn't enough space to include the ATX power connector in a location that would allow to clear the sides of a card cage and clear the cards inserted into the board at the same time. So, To get it to work in this cage, I would need to swap the right angle ATX PSU connector with a straight one (or cut a hole in the side of the cage), but then I would lose a slot, I would still need an external ATX power supply, and I would not be able to use the MULTI-PLANE for anything else. This really isn't a great solution for me, just to get ±12V power.
<h4>DVD Universal PSU</h4>
<p> In the end, I stumbled across an "EVD/DVD Universal Switching Power Supply Module" that is <em>very</em> cheap (<$6 shipped), widely available, and provides the ±12V at a reasonable 200mA for each rail.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfmR8NI6dEx0WXY5f-1drM6f-A0lnN6ujARtK0qKlYhOB1wMbE1OXP84oibELu7RBL9lCVr0dZ7DinuwSnLwCc00gptmCCg80LEmc3RYEpkJ3W_Fb_l7FG4YK0qmLkhAzyfonRflsUxExGUTjIGTAJv6mP_Bh52pCUp8C_lrWfVUV9gIbMpVhxY_-gFg/s1000/s-l1600-1.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="EVD/DVD Universal Switching Power Supply Module" border="0" width="320" data-original-height="750" data-original-width="1000" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfmR8NI6dEx0WXY5f-1drM6f-A0lnN6ujARtK0qKlYhOB1wMbE1OXP84oibELu7RBL9lCVr0dZ7DinuwSnLwCc00gptmCCg80LEmc3RYEpkJ3W_Fb_l7FG4YK0qmLkhAzyfonRflsUxExGUTjIGTAJv6mP_Bh52pCUp8C_lrWfVUV9gIbMpVhxY_-gFg/s320/s-l1600-1.jpg"/></a></div> It also includes ±5V power, useful to run cards with old DRAM chips. I will likely be using the +5V for a power indicator light or maybe connect to a relay to turn on the main power supply. I would not want to use this product to run the entire system though, and will be keeping the orignial power supply for that duty.</p>
<h3>Installation</h3>
<p>The DVD power supply has a 7 pin XH (2.54mm pitch) header for the output power and a 3 pin CH (3.96mm pitch) header for the AC input and another for the switch. I went ahead and bought a pre-made pigtail for the XH header ("JST XH 2.54 2~12 Pin Connector Plug Single Head With 300MM Wire") and rearranged the wires so that the voltages would correspond with the wire colors, just like an ATX power supply.
<p>A used two of the existing holes in the case to mount a couple of nylon posts for the new power supply board. One required a new hole in power supply PCB but fortunately it landed on the ground plane. I glued two more nylon posts onto the case, aligned with existing holes in the power supply board. I rigged up a splitter/extension harness to give the board 120V AC power from the plug socket. I also needed to add a jumper wire for the switch socket so that it will remain powered on. This case does not have a power switch on it, but I expect to add one to a front panel once I get it built.
<p>Next, I removed the backplane and soldered up the pigtail for the DVD power supply to the appropriate pins and ground plane. I also soldered up some wire to ensure that every slot gets the 12V power. <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi87RQEuMZZFVKFKfSvT0klOEQvwxl_soOJoCBFsNKYlc8ORh3DUuFB79uZYqdUgS4_mdwrp3-NbHIKazGjTapyGPT0m5FM8KBTH7NogmNpNmeC91g4ivOsPUXkBJn8OhSujOAjKW_u-dL7GhhpwWn21HJ_Gw_mT96Qt0usW2JHzzh5MBotQJC1oazz1WVf/s4032/IMG_1093.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="backplane with power wires soldered up" border="0" width="320" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi87RQEuMZZFVKFKfSvT0klOEQvwxl_soOJoCBFsNKYlc8ORh3DUuFB79uZYqdUgS4_mdwrp3-NbHIKazGjTapyGPT0m5FM8KBTH7NogmNpNmeC91g4ivOsPUXkBJn8OhSujOAjKW_u-dL7GhhpwWn21HJ_Gw_mT96Qt0usW2JHzzh5MBotQJC1oazz1WVf/s320/IMG_1093.jpg"/></a></div>
I routed the pigtail (covered in a piece of wire loom for protection and tidiness) under the backplane and card slots, out the side of the case, and back in one of the air holes to the DVD power supply.
<p>After a bit of testing to make sure the voltages looked correct, I plugged in an expendable board and was happy to see everything working!
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGmV7sy3pCN2YPNFLqfytflHOtboywuFe67l3rtfOKA4C2-sNgI6N3d_o_dJwIeQexanOrfW0dp7eRHv0vONf7XG5ndDkvhipxNYZWvAnfiil0OuxxnEPFSHfW1xvNld6lp3c44R8BGd_PXM9OB28DaHU3jD7viSbG1Y6H2qr-_nnvnuhTcA0Dcbghz_Du/s4032/IMG_1105.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="DVD power supply in the card cage" border="0" width="400" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGmV7sy3pCN2YPNFLqfytflHOtboywuFe67l3rtfOKA4C2-sNgI6N3d_o_dJwIeQexanOrfW0dp7eRHv0vONf7XG5ndDkvhipxNYZWvAnfiil0OuxxnEPFSHfW1xvNld6lp3c44R8BGd_PXM9OB28DaHU3jD7viSbG1Y6H2qr-_nnvnuhTcA0Dcbghz_Du/s400/IMG_1105.jpg"/></a></div>
<p>Now I can start building up a usable OS-9 system that I won't have to tear-down every time I want to do some experiments with another board.
epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-25087281098419319232023-10-04T23:55:00.006-07:002023-10-05T00:03:28.007-07:00RetroChallenge Day 4: MBC020 video and troubleshooting<p><a href="http://apple-crapple.blogspot.com/2022/07/synertek-mbc020-video-output.html">A while back, I tested out the video output on my new-to-me SYNERTEK MBC020 ExorBus SBC</a>, and noticed problems with the upper half of the video. I wanted to make sure it was not my LCD monitor that was at issue so, I went out and bought a 9" black and white CRT security monitor to use for further testing. Unfortunately, when I recently went to connect it to the monitor, I could not get the MBC020 to boot anymore!
<p>This is a good excuse to share some troubleshooting tips for these vintage SBCs.
<h4>With a multimeter or voltage tester:</h4>
<ol>
<li><b>Check the power rail voltage</b>- this may seem obvious, but is an important first step, especially since these boards usually do not have any power indicators.
<li><b>Verify that RTS or DTR goes low on the ACIA (or high on the serial connector)</b>- This is a very simple check and you don't need an oscilloscope. If RTS or DTR goes low at the ACIA on boot, it indicates that the microprocessor is able to access ROM (to read the firmware) and the ACIA (to configure the ACIA), and is probably running OK. If it does go low but there is no activity on the serial connection then you may have a cable configuration problem, a terminal settings misconfiguration, or a problem with the RS232 driver ICs.
<li><b>Verify that RESET goes high</b>-
</ol>
<h4>With an oscilloscope or logic analyzer:</h4>
<ol>
<li>Test clock signal to processor.
<li>Test chip select signals to RAM, I/O chips
<li>Test data bus and buffers
</ol>
<p>With this procedure I was able to pretty quickly determine that I had no clock signal to the CPU. After I swapped a few ICs in the circuit around the oscillator with no improvement it became apparent that the crystal was likely at fault. This problem seemed consistent with my nearly 2-year-old son knocking the board off of the dining room table a few months ago. I ordered the crystal and that brings us to now, the first week of RetroChallenge.
<hr>
<p>Replacing the crystal was pretty straight-forward, despite the large amount of solder on the board in that area. I did have to use a small drill bit to completely clean out one of the vias, but no big deal. I really dreaded turning the board on for the first time though. If the problew was something other than the crystal, I would be very stumped and my RC2023/10 would get stalled right out of the gate.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDW6CQOyX4u0LFAXSromj_wh_3urOtpKJNRCJ21ry9Ydnrk34enfjVY0a9CVtHkviZN5lrpaDy8g4In7ZFP9etUgWz0WlaKSsLuMe80QOZDfmDUC9EBUBszx-sFMuA922BwCVGL1TgUvNmc5QetsUXTD1r6Wuw9zaK57s5FhEjREx1Ydpm7vIEwQ4w7zjT/s4032/IMG_4798.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDW6CQOyX4u0LFAXSromj_wh_3urOtpKJNRCJ21ry9Ydnrk34enfjVY0a9CVtHkviZN5lrpaDy8g4In7ZFP9etUgWz0WlaKSsLuMe80QOZDfmDUC9EBUBszx-sFMuA922BwCVGL1TgUvNmc5QetsUXTD1r6Wuw9zaK57s5FhEjREx1Ydpm7vIEwQ4w7zjT/s320/IMG_4798.jpg"/></a></div>
<p>Fortunately, everything came right back to life! The CRT monitor initially showed the same skewed image as the LCD, but after some heavy adjustment to the vertical hold, I ended up with a nice clear display. Although everything seemed to be working, I did notice some spurious "E" characters popping up after a command is completed. I am not sure if this is normal, or some new fault in the board, but I do not recall it happening before.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwrOPcsfWQVTHgA4ddqJBIR_9Z5UUnqZzjIiWCE-apahD5Lpkq_hjGDr8xvmp_AecF3zIcjZKooyPxFOWzT0gQ1IxEty-No1jsKbX-rdY4XGFcQWKoXCXsFGr5zkW9KXoDK6NjyX7iCM65lZysSRN5WByb1GEXkhexMUun5YG4yNc9Q4V1j6jrWPX4Ag7y/s4032/IMG_4797.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwrOPcsfWQVTHgA4ddqJBIR_9Z5UUnqZzjIiWCE-apahD5Lpkq_hjGDr8xvmp_AecF3zIcjZKooyPxFOWzT0gQ1IxEty-No1jsKbX-rdY4XGFcQWKoXCXsFGr5zkW9KXoDK6NjyX7iCM65lZysSRN5WByb1GEXkhexMUun5YG4yNc9Q4V1j6jrWPX4Ag7y/s320/IMG_4797.jpg"/></a></div>
<p>With everyting up and running, of course I had to mess with video connector and sudddenly I lost video and the terminal stopped responding. I tracked the problem down to a blown 5V fuse on the backplane. I must have short-circuited something. Fortunately, I still have a few hundred fuses left over from when I first built the backplane, so a new fuse and little soldering got it working again. I think I would definitely make the fuses easier to replace if I make another run of these backplanes.
epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-693046701895309432023-09-29T21:18:00.004-07:002024-02-16T09:39:47.847-08:00RetroChallenge 2023/10 Preview<p>This year for RetroChallenge, I think I will focus on some 6502 projects, mostly my Synertek MBC020 ExorBus board. I never got it working correcly as a terminal: skewed video and no keyboard yet. Let's see if I can get all of this working properly! This was supposed to be my project last year before I picked up a Radio Shack Micro Color Computer MC-10.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQU-K5VhKN1oGdVotFupwFJZBaWdIXqmAYnBiloMfel_rNgi35xUyV0KOuIlxetEFYCpTlU5XFle7psof_tr-mNRahyphenhyphenAREqu2pKR953xJP98CY6mnPLTim1yyyg_4_rLfZPwxfdCFgOv_OxIYEsuHmbPMJ9w4tqeXyk6XRIfr1grDO6PzDxKv2F9RPSKo_/s1600/SYN-MBC020.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="1200" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQU-K5VhKN1oGdVotFupwFJZBaWdIXqmAYnBiloMfel_rNgi35xUyV0KOuIlxetEFYCpTlU5XFle7psof_tr-mNRahyphenhyphenAREqu2pKR953xJP98CY6mnPLTim1yyyg_4_rLfZPwxfdCFgOv_OxIYEsuHmbPMJ9w4tqeXyk6XRIfr1grDO6PzDxKv2F9RPSKo_/s320/SYN-MBC020.jpg"/></a></div>epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-22946784458250422612023-01-25T08:45:00.012-08:002023-05-15T21:38:35.280-07:00PS/2 Keyboard - the Retro Way!<p>I have seen a lot of overpowered PS/2 keyboard interfaces lately: microcontrollers, bit-banged PIAs, PIAs with shift registers. All sorts of complex solutions. Here is my simple contribution, using retro hardware.
<p>It is important to note that the PS/2 protocol is basically just an <a href="https://en.wiktionary.org/wiki/isosynchronous">isosynchronous</a> serial connection with open-collector i/o. Isosynchronous is basically the same as the normal asynchronous serial connection, but there is also a clock signal. To simply implement this protocol, all we need is an ACIA or UART that supports a 1x clock mode and a buffer to make the signals open-collector. The 1x clock requirement rules out the common MOS 6551 (16X clock required), but includes many common alternatives such as the MC6850, Signetics 2651 and Zilog SIOs.
<p>Next, the signals to the keyboard need to be buffered and converted to open-collector outputs. The <a href="https://www.futurlec.com/74LS/74LS05.shtml">74LS05 open-collector hex inverter</a> is a simple choice for this. Since this inverts the signals and the PS/2 data is already at the correct polarity, we need to invert the TX data signal 2x: invert the signal, pull it up, and invert it again. Here is an example for the MC6850:
<p><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5eCSNzEDsIqjmLcAWlktkAx1WncQAxIjvT-Vxc6aALxi5tZI6gJx3Ce8jkHTFOkCzleBp3GRlAP17Lu0_yfOkLWuHXTjvFn_4vteeyKCpLkXYi8Uyj5a1Bmo3sGeMZEXkfpAFkP_mGlNvFVclZfX1D1lx4BhQJT4OqqwUsvKtncVNqUTyJL1eq0kbkg/s1220/PS2-ACIA.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="404" data-original-width="1220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5eCSNzEDsIqjmLcAWlktkAx1WncQAxIjvT-Vxc6aALxi5tZI6gJx3Ce8jkHTFOkCzleBp3GRlAP17Lu0_yfOkLWuHXTjvFn_4vteeyKCpLkXYi8Uyj5a1Bmo3sGeMZEXkfpAFkP_mGlNvFVclZfX1D1lx4BhQJT4OqqwUsvKtncVNqUTyJL1eq0kbkg/s400/PS2-ACIA.png"/></a></div>
Sorry for the weird orientation of the schematic; it is part of another project.
<p>Notice that the clock from the PS/2 device is connected to the ACIA as the RxClk, but is also inverted, pulled up and used as the ACIA TxClk. The RTS signal from the ACIA can be used to pull the PS/2 clock low for commands to the keyboard (untested). The data line from the PS/2 device is pulled up and connected directly to the ACIA, while the command data to the keyboard is inverted twice with open collector output.
<p>If you only want to receive data from the keyboard, you can just connect up the clock (to ACIA RxClk) and the data line (to ACIA RxData) through non-inverting buffers (to protect the ACIA). Too simple!
<p>Once you have the data from the ACIA, you will unfortunately need to use a small lookup table to translate the PS/2 keyboard codes to ASCII. A small PROM on the data lines of the ACIA could also work, but you would also need a tranceiver to do writes to the ACIA and a decoder to make sure the data moves through the PROM or tranceiver at the right times.
<p>The one issue with this technique is that when using the 1x clock mode on the MC6850, I think that the the ACIA needs one more clock cycle than the PS/2 protocol provides per byte to indicate that there is a byte available (this could just be an issue with my clock phasing though). As a result, the input buffer full flag does not get set until the start of the next byte. Unfortunately, this means you are always one byte behind the keyboard. That may seem like a non-starter, but in reality, it does not affect much because the proper key code does get sent when the key is released. So every key press/release cycle sends you:
<pre>[previous key code]...[key code][break code]
</pre>
instead of:
<pre>[key code]...[break code][keycode]
</pre>
So, the key code for the current key is available when it is released, or when repeating. Not perfect, but it is much simpler than many of the solutions out there. It definitely needs more testing, and I would love to hear your results. This makes me want to try interfacing with a PS/2 keyboard and a character LCD with a single ACIA.
<p>MC6800 assembly available for a test program:
<p><span></span></p><a name='more'></a>
<script src="https://gist.github.com/ep00ch/bfed0148b5b4b5df629fbf19d75f59e4.js"></script>
epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-43712911279848601072022-10-31T17:02:00.004-07:002022-10-31T17:05:49.288-07:00MC-10 to EXORbus adapter<p>I previously hinted at a hardware project I have been working on- an expansion bus adapter for the MC-10 allowing it to use EXORbus peripheral cards. The idea is pretty absurd as it the MC-10 is a little low-end consumer computer while EXORbus was typically used for pretty advanced industrial PLC or scientific computers. For instance, an EXORbus serial card would be quite expensive and have 8 ACIAs on it, giving you 8 serial ports, an insane amount for the lowly MC-10. My EXORbus Static RAM card has 1 MiB of RAM on it, also an insane amount for this little guy.
<p>Since the EXORbus is made for 6800/6809 processors, and the MC-10's expansion bus is mostly just unbuffered signals from the mostly compatible processor, all we need is a bunch of buffers and connectors and a GAL to do address decoding into the MC-10's memory map. Here is the design I have been working on, yet to be prototyped:
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeqxQ5qRPhQAWQ5ynf0eMmNc8VtmF8oYAjPDvaV9YxjJ7JdUaH2ofQFsnHVqoWfgItVNbi7xfJKYc-KyP5S7fwnHuUABzHPfNtkVzKKlUc9CF_MUg1kt-a-EV5saDIprlhvUOvhaXW1r8t3qZJ8Ey9tCtgDiiblt9zYX2qYZ0kzdlqadTs_-qPbWOFtA/s2266/9601-10_bus_adapter.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="1466" data-original-width="2266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeqxQ5qRPhQAWQ5ynf0eMmNc8VtmF8oYAjPDvaV9YxjJ7JdUaH2ofQFsnHVqoWfgItVNbi7xfJKYc-KyP5S7fwnHuUABzHPfNtkVzKKlUc9CF_MUg1kt-a-EV5saDIprlhvUOvhaXW1r8t3qZJ8Ey9tCtgDiiblt9zYX2qYZ0kzdlqadTs_-qPbWOFtA/s400/9601-10_bus_adapter.png"/></a></div>
<p>I really wish I could have finished this during Retrochallenge, but I lost momentum with family events and vacations. Next time!
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsh0xRhl9tqGGThxz3MmhkTbNp2Um9MKDcGHwQgN-Dt5t0klXQroglh25z81HpypTG5TKbGB8l03idWl4paISSgxzmlbv_FcBReASbgyuqL_xsphby2LVK72qInnKY6MA5oOQlaL_w3UEE1XkT2RbMaYN-GEW1tvUAHHPdLU8VqrouVrGoNfsCuR8ZCA/s1600/CMS-9650.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="200" data-original-height="1200" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsh0xRhl9tqGGThxz3MmhkTbNp2Um9MKDcGHwQgN-Dt5t0klXQroglh25z81HpypTG5TKbGB8l03idWl4paISSgxzmlbv_FcBReASbgyuqL_xsphby2LVK72qInnKY6MA5oOQlaL_w3UEE1XkT2RbMaYN-GEW1tvUAHHPdLU8VqrouVrGoNfsCuR8ZCA/s200/CMS-9650.jpg"/></a></div>
<div style="text-align: center; font-size: 2em;">+</div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsLx6p0wcI9RxsenHR1YyiiApT7WO9ux_tmTlrR5tHK3LEMWmDqpw4HGLCP_-KNgr01rNuKay2BnY_pGDtjlcx6bBdn2aMHrUWjCVA1skNUve7Cl_G2-qiKusM2dDC7vLvpCXzcra8bmEkMXY5TJKQ0_rJnZePcWM7ONRdzx4d2zAGMyceG-EkK4p6iA/s4032/MC-10.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="200" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsLx6p0wcI9RxsenHR1YyiiApT7WO9ux_tmTlrR5tHK3LEMWmDqpw4HGLCP_-KNgr01rNuKay2BnY_pGDtjlcx6bBdn2aMHrUWjCVA1skNUve7Cl_G2-qiKusM2dDC7vLvpCXzcra8bmEkMXY5TJKQ0_rJnZePcWM7ONRdzx4d2zAGMyceG-EkK4p6iA/s200/MC-10.jpg"/></a></div>epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com1tag:blogger.com,1999:blog-5051364811387091693.post-21617116001080231542022-10-14T16:10:00.000-07:002022-10-31T16:11:02.298-07:00Off the MC-10 Wagon<p>Day 14:
<p>So, I was making good progress doing daily tasks on my MC-10, but lost my momentum after a camping trip. I have been doing minor development and added a new level to my BAM Minesweeper game, but I have been using <a href="https://www.6809.org.uk/xroar/">XRoar emulator</a> instead of the MC-10. Unfortunately, the extra level will not load on my bare-bones MC-10, so I am working on trimming the fat. epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-82097251873279286242022-10-10T03:46:00.012-07:002022-10-10T10:57:55.940-07:00BASIC Programming<p>Days 7-9
<p>I started working on a BASIC game for the MC-10. Previously, I had been able to use the MC's serial port to "LPRINT" any BASIC programs to my Mac. Of course, this did not work anymore, since I had to <a href="https://apple-crapple.blogspot.com/2022/10/comms-day.html">change the serial cable wiring</a>. So, I had to make a little adapter to make the serial port cable work with the BASIC ROM functions. Very frustrating.
<p>After I got that working I had a decent build chain to write a BASIC game, doing as much of the programming as possible on the MC-10 and saving to my Mac. The line editor for the MC-10 is non-existant, but there are some solutions out there. Still it took a long time for me to write a simple mine-sweeper type game that was based on my TS-1000 efforts in a <a href="https://apple-crapple.blogspot.com/2013/08/major-setback-and-final-push-to-end.html">previous Retrochallenge</a>. As much as I despise the keyboard on the TS-1000, the BASIC implementation is quite good with some conditional printing syntax that is lacking in the traditional MS BASICs. But I enjoyed figuring out how to work around the shortcomings in the MC-10 BASIC. I know there are a number of minesweeper games out there for the MC-10, but they don't seem to work on an unexpanded 4K RAM MC-10. Anyway, I have a working first version that is pretty fun to play. I intend to add a second level before the end of RetroChallenge. I used a few of the tricks that I learned on the TS-1000 to keep memory down. I was also proud of how it only has code for 2 loops - one to loop through the locations on the game board and one to loop through the 8 locations surrounding the current selection. The loops call different subroutines to do the work on each square on the grid based on a preset variable. Probably horrible coding practices, but it kept the number of code intensive for-next loops down to a minimum. Screenshot:
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi75zRptPRJ48FsYOF8fBZEcp3JReV51-Mv6mcBHQ1WNGMxu1sBX7EKwdvo2BHyRO3CT8FTq4GnRzvNoFuxc9VuoTs71d8WAKXat2EmgLzraX2yI6KWFDsB0gnAfkM-HhXx6CzFohxzToAPsgriCXik-Dhbvy22Y23UwJXnnkyVd7gAmgqHjhlKrS_Ckg/s4032/IMG_3050.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="Screenshot of minesweeper type game on TRS-80 MC-10" border="0" width="400" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi75zRptPRJ48FsYOF8fBZEcp3JReV51-Mv6mcBHQ1WNGMxu1sBX7EKwdvo2BHyRO3CT8FTq4GnRzvNoFuxc9VuoTs71d8WAKXat2EmgLzraX2yI6KWFDsB0gnAfkM-HhXx6CzFohxzToAPsgriCXik-Dhbvy22Y23UwJXnnkyVd7gAmgqHjhlKrS_Ckg/s400/IMG_3050.jpg"/></a></div>
<p>You can find it on my <a href="https://apple-crapple.blogspot.com/p/mc-10-cassette-server.html">MC-10 Cassette Server</a>. epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-79045796741066440132022-10-07T01:39:00.007-07:002022-10-07T09:15:10.184-07:00Games Day...<p>Day 6:
<p>I mostly played MC-10 games from <a href="https://drive.google.com/drive/folders/0B7oFL_dNqgh9aDB1MW9FVzlibUU?resourcekey=0-OYcjRksPokks2iL3MyyEnA">Jim Gerrie's TRS-80 MC-10 Files repository</a>. So much stuff in there! Unfortunately Google Drive reports a lot of errors when trying to play the files online. It often forces me to download the cassette audio file which is annoying, but it pretty much works. I played a game "rocket" which is basically an Apollo lunar lander simulator. I spent so much time trying to land and win the game... I finally did it though!
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWcOX6-L4euapqylzxjtDOMRAairdZKcjan0vMcN947f_phqeMoqtXvpAUn-2CDJkh70L3F9yd9RJLqFJh6IsUzwQUsKabolJhWgy6wRh7MrfQ4oRX4O6ACEQBfvwXG1FKudvT-4Kr_nVsy52xVBuYAesQjmOksm8OieILF65McPdj6KGX12x-D0lsMA/s4032/IMG_3032.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWcOX6-L4euapqylzxjtDOMRAairdZKcjan0vMcN947f_phqeMoqtXvpAUn-2CDJkh70L3F9yd9RJLqFJh6IsUzwQUsKabolJhWgy6wRh7MrfQ4oRX4O6ACEQBfvwXG1FKudvT-4Kr_nVsy52xVBuYAesQjmOksm8OieILF65McPdj6KGX12x-D0lsMA/s320/IMG_3032.jpg"/></a></div>
<p>I have to give it up for Jim Gerrie who keeps all of this archived, and ported or wrote many of the games. So much fun, even with 4K of RAM still!
<p>On that note, I have been thinking of the best route to upgrade this little MC-10. There are a lot of good semi-commercial options out there, but I think I will go for something far more ridiculous and excessive. If you follow my blog, you probably have some idea of what I am thinking. I am working out some schematics to figure out the best way to do the upgrade from only the expansion port. Stay tuned!
epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-24111137968032791552022-10-05T23:15:00.014-07:002022-10-07T01:26:08.886-07:00MC-10 Cassette Server is Online!<p>Day 5:
<p>I spent a fair bit of time today downloading and running TRS-80 MC-10 games and utiliites. Unfortunately, the process was rough:
<ol>
<li>download the file
<li>extract it from zip archive
<li>load the .c10 file into XRoar
<li>save it to .wav file using XRoar
<li>awkwardly play it in the Mac Music app
<li>organize all the new files
</ol>
<p>To be fair, many of the zip files already have a .wav format file in there, but it is still not a convenient process. XRoar is esptecially time consuming as the cassette menu controls can be a bit awkward and the conversion is done using MC-10 commands in MC-10 time. There is apparently a Windows utility to do the conversion, but I don't have Windows and it is not open source. Fortunately, I am familiar with the useful <a href="https://github.com/datajerk/c2t">c2t utility by datajerk</a> for converting Apple II format files to .wav and .aiff formats. I knew that the MC-10 cassette audio format was vaguely simlar to the Apple II (FM encoding), so I made some changes to make a simple command line tool for converting .c10 files to .wav files. I was so shocked when it worked, I had to double check a few times that I was playing my generated file rather than a comparison file I was using. I just posted the <a href="https://github.com/ep00ch/c2t">project code on github</a>.
<p>Even with the .c10 format files converted to .wav, I was still struggling with my Mac always importing them into the Music app, or not being able to rewind and start again with the Finder preview. Inspired by the <a href="https://asciiexpress.net/gameserver/">Online Apple II Game Server</a>, I uploaded the .wav files onto Google Drive, and wrote a small web app to organize and display them. So, now I can just hook up my audio cable, go to the <b><a href="https://apple-crapple.blogspot.com/p/mc-10-cassette-server.html">MC-10 Cassette Server</a></b> webpage, and play them right from there. I can even use an iPhone or iPad to connect. I will be adding more files and information there as I test everything.
<div class="separator" style="clear: both;"><a href="https://apple-crapple.blogspot.com/p/mc-10-cassette-server.html" style="display: block; padding: 1em 0; text-align: center; "><img alt="" height="400" data-original-height="1140" data-original-width="1091" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuWPYEC2yLOIV6c3alwmPFAYTrnEyRyzejEALoyTmgsI5ut0uL3ZVC1bhsaP7hlxAAIJ2Dr377En7PZGRkrPcrbQDh72i3OZ0GnU42KhMYx7AyAXHcDovVXgW-swn-dIg_FQeEQ4-KzCllE2aYpB_F4Wp1T68nGrK-bS75LWRw81zIevjj4DyhAb2Ndw/s400/Screen%20Shot%202022-10-05%20at%2011.17.01%20PM.png"/></a></div>
epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-41870694386018765632022-10-05T02:24:00.021-07:002023-01-17T10:41:38.293-08:00Comms Day!<p>Day 4:
<p>I found an <a href="http://users.on.net/~clockmeister/MC-10/">MC-10 serial terminal program "COMPAC"</a> online and was able to load it onto the MC-10 using my new 'cassette' interface cable (see <a href="https://apple-crapple.blogspot.com/2022/10/cassette-save-and-load-part-1.html">part 1</a> and <a href="https://apple-crapple.blogspot.com/2022/10/cassette-save-and-load-pt-2.html">part 2</a> of making the cable).
<p>Of course, I could only send letters from the MC-10 to my Mac's terminal program, but not from the Mac to the MC-10. I knew immediately that it was due to the serial cable wiring and how the Tx and CD wires were swapped for printing. I tried to make a little adapter, but it did not work, so I had to re-solder the connector using the orinal pinout in the <a href="https://cdn.hackaday.io/files/1837077859720288/Tandy_MC-10_Service_Manual.pdf">Service Manual</a>.
<p>Well, it works now! I can type messages back and forth between my computers finally! It's only 300 baud, but it feels like a good success. Oh, in the README for the console program was a link to a <a href="https://mymc10.tripod.com">90's awsome MC-10 website on triod</a>. What flashback and a great resource!
<p>Tomorrow I will see if I can access the macOS shell.
<table>
<tr><td>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5jYnINPB6HBjFy1IJCdk1JhnQKLVmezm5lj2cMIsGUqxjnEwnJt25zzGAv5SodAM4GBg2fRVvA4SgG5GU_jI-DbvTfaBhxnxT0D7Snx9bkWrO6dOeDZBUEshTv2LddqP9pMCcJhDqhmrqZlmqw7k8VxJKyXQLB_g8wAMMsfmVLY-VSiQTCzagfg-iow/s395/Compac.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="200" data-original-height="336" data-original-width="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5jYnINPB6HBjFy1IJCdk1JhnQKLVmezm5lj2cMIsGUqxjnEwnJt25zzGAv5SodAM4GBg2fRVvA4SgG5GU_jI-DbvTfaBhxnxT0D7Snx9bkWrO6dOeDZBUEshTv2LddqP9pMCcJhDqhmrqZlmqw7k8VxJKyXQLB_g8wAMMsfmVLY-VSiQTCzagfg-iow/s200/Compac.jpg"/></a>
</td>
<td>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSoAKcfQoSg4M8RoQ7umEibDuOGyog1wsrXRi5n9cNQAQkRT1F0Ta4Y3rFG9LDgnlGDiJEzX0VPvhXSifB8bZWEk_FCnkleCEVP3OMEmIVPfWHB9-vuhS7fBFiZlPlqpdp9TbIO3Z4YWNW-sSVCokjviBLca4XJH_SKuOdogYxmS7lbbPkiR5bdzvhhA/s4032/IMG_3029.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="200" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSoAKcfQoSg4M8RoQ7umEibDuOGyog1wsrXRi5n9cNQAQkRT1F0Ta4Y3rFG9LDgnlGDiJEzX0VPvhXSifB8bZWEk_FCnkleCEVP3OMEmIVPfWHB9-vuhS7fBFiZlPlqpdp9TbIO3Z4YWNW-sSVCokjviBLca4XJH_SKuOdogYxmS7lbbPkiR5bdzvhhA/s200/IMG_3029.jpg"/></a>
</td></tr>
</table>
<kbd>
screen /dev/cu.usbserial 300,cs7,cstopb
</kbd>
epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-78765717181491292702022-10-04T05:20:00.011-07:002022-10-07T09:14:26.579-07:00Cassette SAVE and LOAD, pt 2<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKxl1DsXMRwYFERYk5fX3CveqC-Fbtyo-cBNg-z9Hl_kKmh19mwpVKSjlLITIvrd137P6yXqTFBvwjXy2wra__p1hDs_AnrBqDXepsNsXA988pMJRsA3Xz7O2DSQKbTT7pTSdNmA5herqbu_UAHcEEndkbHc6gzIe9wy4xsckaMi6mAmX3ghwFK38uLA/s4032/IMG_3026.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="After some research I found out that my MacBook needs a resistor from the sleeve to ground to identify the TRRS jack as having a microphone or audio input. 10k ohm was the highest that still worked reliably. However, it took hours to get everything soldered up nicely. But it works!! I can load and save programs to and from the mac as a virtual cassette recorder for the MC-10." border="0" width="400" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKxl1DsXMRwYFERYk5fX3CveqC-Fbtyo-cBNg-z9Hl_kKmh19mwpVKSjlLITIvrd137P6yXqTFBvwjXy2wra__p1hDs_AnrBqDXepsNsXA988pMJRsA3Xz7O2DSQKbTT7pTSdNmA5herqbu_UAHcEEndkbHc6gzIe9wy4xsckaMi6mAmX3ghwFK38uLA/s400/IMG_3026.jpg"/></a></div>
<pre>
Pinout:
3.5mm TRRS plug
| |
-----
| = (5) MIC + 10K OHM resistor to ground
_
| = (2) Signal Ground
_
| = (N/C) right EAR
_
v = (4) left EAR or AUX
</pre>
<p>BASIC after the break...
<a name='more'></a>
<br>
<samp>
5 REM "SUPER SIMPLE TEXT WRITER"
10 CLS
20 INPUT X$
40 GOTO 20
</samp>epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-4143905512944332522022-10-04T00:17:00.008-07:002022-10-04T11:20:34.634-07:00Cassette SAVE and LOAD, pt 1<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJEwRHdHYDXrPc5M-Rk1YiIRmKnn0X2JUpXZ1b23HXaRIX4PG2Z4aqVKBqTE46XCOf4bnTQn2BTP4waG7QThndK0s_NxnYiarwQ4M5MtUncKXJurbhjfstxVjLHDxO9sbby1eFxtkqgDNiz60gPSqAKdOyEczv8JWqXgXR6uQkPZ2G8ztTSwCv_lnsoQ/s4032/IMG_3025.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="575" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJEwRHdHYDXrPc5M-Rk1YiIRmKnn0X2JUpXZ1b23HXaRIX4PG2Z4aqVKBqTE46XCOf4bnTQn2BTP4waG7QThndK0s_NxnYiarwQ4M5MtUncKXJurbhjfstxVjLHDxO9sbby1eFxtkqgDNiz60gPSqAKdOyEczv8JWqXgXR6uQkPZ2G8ztTSwCv_lnsoQ/s600/IMG_3025.jpg"/></a></div>
<p>So basically, MC-10 can load from Mac, but can't save cassette/audio output to Mac yet. <a href="https://www.6809.org.uk/xroar/">XRoar</a> is converting file formats for me.</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjQsSjkQIe5oZLmi3WU7Ejpjp67rlps9UqXyhWo9vPGUL-LlLDSP4v5j1Gzx4CzmHr1w-44BHnWxtwaPsNGYEeWsigtTKN_VKQF9jH8w2woI2W-ucMtTRtKzbuxzbUec53EM2y4PGw2jbVJj82mNyFt0yHJ-qA7mfj3iQg0neLgEsXKbYL1CbwLWfu2w/s4032/IMG_3024.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="MC-10 cassette audio cable looking very much in prototype stage." border="0" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjQsSjkQIe5oZLmi3WU7Ejpjp67rlps9UqXyhWo9vPGUL-LlLDSP4v5j1Gzx4CzmHr1w-44BHnWxtwaPsNGYEeWsigtTKN_VKQF9jH8w2woI2W-ucMtTRtKzbuxzbUec53EM2y4PGw2jbVJj82mNyFt0yHJ-qA7mfj3iQg0neLgEsXKbYL1CbwLWfu2w/s320/IMG_3024.jpg" width="320" /></a></div>
<p>Half working audio cable still in development.</p>
BASIC program after the break.
<a name='more'></a>
<samp>
2 REM"PRINT WITH IMAGEWRITER I"
4 POKE 16932,255 : REM"300 BAUD"
6 LPRINT CHR$(14) : REM"DOUBLE WIDTH CHARS"
8 LPRINT CHR$(27)+CHR$(68)+CHR$(128)+CHR$(0) : REM"LF AFTER CR"
10 LPRINT"RC2022/10 DAY3:"
20 LPRINT"SINCE I HAVE THE MC-10 OUTPUT WORKING WELL,
25 LPRINT"I NEEDED TO GET THE INPUT SORTED SO THAT "
30 LPRINT"I CAN LOAD GAMES AND STUFF. I FOUND 3.5MM "
35 LPRINT"TRRS AV CABLE THAT I CAN USE TO CONNECT TO"
40 LPRINT"MY MACBOOK'S HEADPHONE JACK. THEN I CUT OFF "
45 LPRINT"THE RCA PHONO PLUGS, CONNECTED THE "
50 LPRINT"GROUNDS AND SOLDERED THE SIGNAL AND GROUND "
55 LPRINT"WIRES TO A DIN 5 JACK FOR THE MC-10."
60 LPRINT"UNFORTUNATELY, MY MAC IS NOT DETECTING MY
65 LPRINT"HACKED TRRS CABLE AS A MICROPHONE TO SAVE"
70 LPRINT"AUDIO TO THE MAC. NEED TO FIX THIS."
75 LPRINT""
80 LPRINT"THERE ARE A LOT OF PROGRAMS AVAILABLE ONLINE"
85 LPRINT"FOR THE MC-10 IN .C10 FORMAT. THIS IS THE"
90 LPRINT"SAME FORMAT AS THE CASSETTE I/O, BUT IS IN A "
95 LPRINT"MORE COMPACT 8-BIT BINARY DATA FORMAT "
100 LPRINT"RATHER THAN AUDIO. HOWEVER, I NEED THE "
105 LPRINT"CASSETTE AUDIO FORMAT TO PLAY FROM MY MAIN "
110 LPRINT"COMPUTER INTO THE MC-10 SINCE THERE IS NOT "
115 LPRINT"A BUILT-IN MC-10 LOADER FOR THE .C10 FORMAT."
120 LPRINT"AT FIRST, I DID NOT SEE ANY CONVERTERS THAT
125 LPRINT"WERE PORTABLE TO MACOS AND WAS PREPARING "
130 LPRINT"TO WRITE MY OWN. HOWEVER, I NOTICED TODAY "
135 LPRINT"THAT XROAR EMULATOR (WHICH I ALREADY USE AN "
140 LPRINT"OLDER VERSION OF) NOW HAS SUPPORT FOR THE "
145 LPRINT"MC-10, CAN LOAD .C10 FILES, AND CAN OUTPUT "
150 LPRINT".WAV FORMAT AUDIO FILES. IT IS GOOD TO SEE "
155 LPRINT"THAT THIS USEFUL PROGRAM HAS BEEN UPDATED "
160 LPRINT"SO MUCH RECENTLY!"
170 LPRINT""
180 LPRINT"SO WITH MY NEW CABLE, I WAS FINALLY ABLE TO "
185 LPRINT"CONVERT A .C10 FILE TO .WAV FORMAT USING "
190 LPRINT"XROAR, PLAY IT ON MY MAC, AND LOAD IT "
195 LPRINT"(USING THE CLOAD COMMAND) ON MY MC-10! "
200 LPRINT"HOWEVER, MY ATTEMPTS TO LOAD REAL GAMES "
205 LPRINT"IMMEDIATELY RAN INTO AN 'OM ERROR'. MY 4K "
210 LPRINT"OF RAM ISN'T CUTTING IT."
215 LPRINT""
220 LPRINT"WHILE I AM STILL TEMPTED TO WRITE A .C10 "
225 LPRINT"FILE LOADER FOR THE MC-10, THIS SEEMS TO WORK "
230 LPRINT"WELL ENOUGH FOR NOW, AT LEAST UNTIL I GET THE "
235 LPRINT"RAM UPGRADED."
240 LPRINT"I ALSO FIGURED OUT SOME CONTROL CODES FOR THE"
245 LPRINT"IMAGEWRITER TO PRINT DOUBLE WIDE LETTERS!"
</samp><span><!--more--></span><span><!--more--></span>epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-78199746032472913092022-10-02T17:24:00.014-07:002022-10-04T23:50:17.065-07:00Printer Day!<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWtxrLm7ebaHU9KM7YKjkxpkaZsPbbzcvoTjmHRy7cxHgACStNrs1o3CUzb9ma0IrIZ493DK7SKddX9wcAdsvyVCKms8k-Ve-ntBZyKRP8NJLUEOYbr2MfDPOO9T5B04zIxg1DxzmnfNiTql-C7RzWvdP9ZmpN69AB7Ge36UVeMEbZ39NAoiP9GXkoYA/s4032/IMG_3022.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="TODAY WAS PRINTER DAY! I HOOKED THE MC-10 UP TO AN APPLE IMAGEWRITER. I HAD TO LUBE UP THE PRINTER AND PUT SOME RUBBING ALCOHOL INTO THE RIBBON TO GET IT WORKING. THE MC-10 IS NOT A GOOD MATCH FOR THIS PRINTER. THE MC-10 OUTPUTS AT 600 BAUD AND THE IMAGEWRITER DOES NOT HAVE A SETTING FOR THAT. BUT THE MC-10 SPEED IS ADJUSTABLE IN MEMORY, THOUGH NOT PUBLISHED. I MADE A BASIC PROGRAM TO INCREMENT THE BIT DELAY UNTIL IT PRINTED AT 300 BAUD. THEN I HAD TO SET LF ON CR ON THE PRINTER SO IT WOULD ADVANCE LINES. YOU CAN SEE IN THE VIDEO THAT THE OLD PRINTER ROLLER DOES NOT GRIP THE PAPER WELL, SO I HAVE TO HELP IT ALONG A BIT. I AM VERY HAPPY WITH MY PROGRESS FOR TODAY!" border="0" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWtxrLm7ebaHU9KM7YKjkxpkaZsPbbzcvoTjmHRy7cxHgACStNrs1o3CUzb9ma0IrIZ493DK7SKddX9wcAdsvyVCKms8k-Ve-ntBZyKRP8NJLUEOYbr2MfDPOO9T5B04zIxg1DxzmnfNiTql-C7RzWvdP9ZmpN69AB7Ge36UVeMEbZ39NAoiP9GXkoYA/s400/IMG_3022.jpg" width="450" /></a></div>
<iframe style="display: block; margin: 0 auto;" frameborder="0" width="450" height="281" src="https://youtube.com/embed/CBa84V8jVO4"></iframe>
<p>BASIC code samples after the break...</p>
<a name='more'></a>
<p>Find the right delay for 300 baud:</p>
<samp>
5 PRINT PEEK(16932)
10 LET A=128
15 REM "BAUD DELAY IN 16931,16932"
20 POKE 16932,A
30 LPRINT A;" A"
40 LPRINT CHR$(10)
50 LET A=A+1
60 INPUT X$
70 GOTO 20
</samp>
<p>Print test message:</p>
<samp>
10 REM "ABOUT 300 BAUD:"
20 POKE 16932,255
30 FOR X=1 TO 10
40 LPRINT "HELLO IMAGEWRITER"
50 NEXT X
</samp>
<p><em>Update!</em>
I found a<a href="https://mymc10.tripod.com/files/MC10ME.TXT"> chart of the proper baud rate settings</a> online:
<pre>
Baud POKE this value
-------------------------------
300 241
600 118
1200 57
2400 26
4800 10
9600 9
</pre>
epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-44805550755106350682022-10-01T21:43:00.041-07:002022-10-03T18:00:04.294-07:00Serial Confusion<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim3iFHh_kA3pormR3LBsvI4BbF8dPZZ_qm-2Pm4kL9RytyI52jJ3MpMRK_qKgJqp4H4n5lPs9UmDPZFirLiVHf2J7k4aNOdby69gMKhbOcxaJ2QAUPIS3grojTDSAXFk-JMFUKC0f_eUrcZGUjidg_bZdnJNwXReA1hkP8uJI-N9Ubj4WhJXAxOrZAbQ/s4032/IMG_3007.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim3iFHh_kA3pormR3LBsvI4BbF8dPZZ_qm-2Pm4kL9RytyI52jJ3MpMRK_qKgJqp4H4n5lPs9UmDPZFirLiVHf2J7k4aNOdby69gMKhbOcxaJ2QAUPIS3grojTDSAXFk-JMFUKC0f_eUrcZGUjidg_bZdnJNwXReA1hkP8uJI-N9Ubj4WhJXAxOrZAbQ/s400/IMG_3007.jpg" width="400" /></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNV2L7ska97zHNQfqLYt-jOdZ_PPkrGNddVCTFG7-FPsl3iwXo3FZQ4oU-5ZHdCh2c7b1vttRg9Rb2mj79akem__c9GOTfGGr99a4ubnmN8R3-H9uBd2TmqUBPJNX6diNJkjMlpYpjaLAvxmmNnGGpSJU2osg8X_mtjd1-kUl3SBB7ahRbIFKBqSO1mQ/s4032/IMG_3009.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNV2L7ska97zHNQfqLYt-jOdZ_PPkrGNddVCTFG7-FPsl3iwXo3FZQ4oU-5ZHdCh2c7b1vttRg9Rb2mj79akem__c9GOTfGGr99a4ubnmN8R3-H9uBd2TmqUBPJNX6diNJkjMlpYpjaLAvxmmNnGGpSJU2osg8X_mtjd1-kUl3SBB7ahRbIFKBqSO1mQ/s400/IMG_3009.jpg" width="400" /></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEuofPY3jhM6ZRczAM8i86BVsPCb0wF9bN6DY2g2ADCqssstCK-YL1Ku31iuegfvvD_Wqz4fkukguO8AnUYB5UpjDl-THbJIqvUuQD9T3yG21bwL931E67wpr1ZbIfALZ5PHHLSiLxQKg0JsfCn7ZG6WdKBUXOapeb5SWmSiVvmBdP3uZR2_Zah1yh5w/s4032/IMG_2981.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEuofPY3jhM6ZRczAM8i86BVsPCb0wF9bN6DY2g2ADCqssstCK-YL1Ku31iuegfvvD_Wqz4fkukguO8AnUYB5UpjDl-THbJIqvUuQD9T3yG21bwL931E67wpr1ZbIfALZ5PHHLSiLxQKg0JsfCn7ZG6WdKBUXOapeb5SWmSiVvmBdP3uZR2_Zah1yh5w/s320/IMG_2981.jpg" width="400" /></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihYk5jwyjkWDdYvFQ_fHmTJUjuOj_egf7NeR7wOujxGkZ0FJqCyoySjCW31CfOilGvLLB-jj1kj-Ztt9dqwj_4HSO3nNO1CqtcKQxsiqylAOJu3-YQGxuDtbfBcsNBxAdLywew8-uZaMCnk32Tqh4O9kWVF-NNrs2--pRUtFddK1t06oVoDwSWeI07dg/s4032/IMG_3010.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihYk5jwyjkWDdYvFQ_fHmTJUjuOj_egf7NeR7wOujxGkZ0FJqCyoySjCW31CfOilGvLLB-jj1kj-Ztt9dqwj_4HSO3nNO1CqtcKQxsiqylAOJu3-YQGxuDtbfBcsNBxAdLywew8-uZaMCnk32Tqh4O9kWVF-NNrs2--pRUtFddK1t06oVoDwSWeI07dg/s400/IMG_3010.jpg"/></a>
<br><a href="https://cdn.hackaday.io/files/1837077859720288/Tandy_MC-10_Service_Manual.pdf#page=12">Annotated MC-10 Service Manual</a>
</div>
<p>Here is the transferred BASIC for this post:</p>
<samp style="overflow-x: auto; white-space: pre-wrap; word-wrap: break-word;">
10 CLS
20 PRINT "I MADE AN MC-10 SERIAL CABLE TODAY. FRANKLY, I AM SURPRISED THAT IT WORKED."
30 PRINT "THE RX LINE IS APPARENTLY WRONG IN THE SERVICE MANUAL. OR WRONG IN THE BASIC ROM?"
40 PRINT "ANYWAY, IT IS STRANGE THAT THE SCHEMATIC DOES NOT FOLLOW THE SCI (SERIAL COMMUNICATIONS INTERFACE) OF MC6801 EITHER"
50 PRINT "I CANT FIND AN OFFICIAL SOURCE FOR HOW IT SHOULD BE WIRED BUT IT WORKS FOR SENDING ANYWAY."
55 REM END : REM "END HERE FOR FIRST PAGE"
60 PRINT "SO I CAN TRANSFER MY BASIC PROGRAM TO MY MAIN COMPUTER NOW"
70 PRINT "THE ONLY ISSUE IS THAT IT SENDS WITH CARRIAGE RETURN ONLY AND NOT A LINE FEED."
80 PRINT "EASY ENOUGH TO FIX WITH THE TR COMMAND ON MY MAC."
90 PRINT "HOWEVER THE BASIC ROM DOES NOT HAVE A COMMAND TO LOAD FROM SERIAL PORT. SO I NEED TO MAKE AN AUDIO CABLE STILL."
100 PRINT "A PRINTER WOULD BE NICE TOO..."
110 REM END : REM "END HERE FOR SECOND PAGE"
120 CLS
130 PRINT "QUICK TIP: MAKE SURE THE CONNECTORS ARE PLUGGED INTO A SPARE JACK WHEN SOLDERING TO ENSURE THAT THE PINS DONT MOVE."
140 PRINT "IN THE END, I USED THE PINOUT IN THE ANNOTATED DIAGRAM HERE:
150 LLIST
</samp>epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-51679168246689272892022-10-01T02:30:00.001-07:002022-10-01T09:44:55.159-07:00MC-10 First Impressions...<p>Between running RetroChallenge and how limited the TRS-80 MC-10 is, a <em>real</em> endurance challenge is not in the cards for me. But I fully intend to use this computer daily, connect to some important peripherals and make some necessary upgrades. I hope the results will be a usable guide for somebody who is just getting started with the Radio Shack Model MC-10 TRS-80 Micro Color Computer. For such a small computer, it has a very long name! So, here we go with my notes so far:
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzSzEa0EY5tlkNT3YoG1JpurFmc9jBg2EkfOeV_2drwMd9iW6tN71628-knsBK1qZlhVdwSmNerBWUrclfhf2VE9KZVqlHlW6LQdGNwTzFNCQSXRN20tYHdwvByRekT8X1XFUx5qkZx01HtoQMAafnfGjU6Qq-VgT_25BkpPMU8pBHnG6XlPP_rc1V9A/s4032/IMG_2989.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="FIRST RC2022/10 POST. INITIAL IMPRESSIONS OF MC-10:
1) WHERE IS LOWERCASE?!; 2) KEYBOARD IS OK. MUCH BETTER THAN TS1000. AND I LIKE THE CTRL KEY BASIC COMMANDS HERE TOO. MISSING A SHIFT KEY; 3) LOTS OF SOFTWARE ONLINE. NEED TO FIGURE OUT HOW TO GET IT ON HERE; 4) I REALLY DO LIKE THE FORM FACTOR AND AESTHETICS; 5) DISPLAY IS SMALL AND BLURRY. NEED COMPOSITE + 80 COLS" border="0" width="400" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzSzEa0EY5tlkNT3YoG1JpurFmc9jBg2EkfOeV_2drwMd9iW6tN71628-knsBK1qZlhVdwSmNerBWUrclfhf2VE9KZVqlHlW6LQdGNwTzFNCQSXRN20tYHdwvByRekT8X1XFUx5qkZx01HtoQMAafnfGjU6Qq-VgT_25BkpPMU8pBHnG6XlPP_rc1V9A/s400/IMG_2989.jpg"/></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPzwMFvekkn6wzMKAQw4YTarV3nRb4wGZuLQ6D1wBMeI1n5QaXk-oQFv3mcoXoDbXF8VFaYiPRDoyqUqmVQCEEvMFCZ9s4a-vxZMdypyfY57rp1QZKCDSXq7j004u9L4coDCR9ciQQA3NDHKn0T73tCGugeRNN2RdZLr6mzJHXfx6x8VZ7tnUOssf-8g/s4032/IMG_2991.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="I STARTED BY HOOKING UP THE MONITOR. THE PHONO PLUG ON THE COMPUTER IS FOR RF, NOT COMOSITE VIDEO. SO, YOU NEED AN ADAPTER. 'F / RCA ADAPTER' WITH CATV CABLE WORKS GREAT. AFTER MAKING SURE THE COMPUTER AND TV WERE SET TO THE SAME CHANNEL, I TURNED ON THE MC-10. I WAS GREETED WITH A MICROSOFT COPYRIGHT ON GREEN BACKGROUND THAT ONLY A COCO USER COULD LOVE." border="0" width="400" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPzwMFvekkn6wzMKAQw4YTarV3nRb4wGZuLQ6D1wBMeI1n5QaXk-oQFv3mcoXoDbXF8VFaYiPRDoyqUqmVQCEEvMFCZ9s4a-vxZMdypyfY57rp1QZKCDSXq7j004u9L4coDCR9ciQQA3NDHKn0T73tCGugeRNN2RdZLr6mzJHXfx6x8VZ7tnUOssf-8g/s400/IMG_2991.jpg"/></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXzZNnzF-3BTPvOQASBtZKiZHwXEP2IskDDDHNomgI1OylkRm5cmIGvTtbgDlf1fSuAd2eNcTdyGaOfUXMSXrPj6YpjBtCUx69VowosPVvUecCVDW75Wx2Kt4I9pTAFcLZuYm1tmX8hPSM0bEIiEIb-uyoV3dfhQhiQDGmh8WBC2suBNvZW9ZwyEZJog/s4032/IMG_2990.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="I HAD TO TURN OFF THE COLOR ON MY MONITOR TO GET A DECENT PICTURE. THE BLACK ON GREEN COLOR WAS FAR TOO BLURRY.IN THE MORNING I WILL BUY SOME MORE SUPPLIES TO MAKE A SERIAL CABLE AND AUDIO CASSETTE STORAGE CABLE." border="0" width="400" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXzZNnzF-3BTPvOQASBtZKiZHwXEP2IskDDDHNomgI1OylkRm5cmIGvTtbgDlf1fSuAd2eNcTdyGaOfUXMSXrPj6YpjBtCUx69VowosPVvUecCVDW75Wx2Kt4I9pTAFcLZuYm1tmX8hPSM0bEIiEIb-uyoV3dfhQhiQDGmh8WBC2suBNvZW9ZwyEZJog/s400/IMG_2990.jpg"/></a></div>epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0Santee, CA, USA32.8383828 -116.97391674.5281489638211525 -152.13016670000002 61.148616636178843 -81.8176667tag:blogger.com,1999:blog-5051364811387091693.post-82152624146102563542022-09-09T22:48:00.014-07:002024-02-16T09:40:15.290-08:00RetroChallenge 2022/10 Entry<p>SBCs + Keyboards!! I will figuring out how to interface keyboards with some 6502/6809 SBCs, playing around with PS/2 interfaces, and, if I have time, build my own parallel ascii keyboard.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx9W6ppqdy_Lm1Sjqr9pOzcayPAlBdccQUkyjxdaw4NGY3Ahqq-z1uyFUjPjtVTrAq85C_lzIIt29utSu9FSYjiyPrOZ5QCBCMgzRX5U226hJYP0JUBvBsDzxrXrt0jIaNuEBJiZFWGDRdMHqGWA19BCbjJUw0QqoYdR4XTAh7fP1Zcp8lxSyH7aKirw/s1600/SYN-MBC020.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="1200" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx9W6ppqdy_Lm1Sjqr9pOzcayPAlBdccQUkyjxdaw4NGY3Ahqq-z1uyFUjPjtVTrAq85C_lzIIt29utSu9FSYjiyPrOZ5QCBCMgzRX5U226hJYP0JUBvBsDzxrXrt0jIaNuEBJiZFWGDRdMHqGWA19BCbjJUw0QqoYdR4XTAh7fP1Zcp8lxSyH7aKirw/s400/SYN-MBC020.jpg"/></a></div>
I will probably be focused on using my <a href="https://apple-crapple.blogspot.com/search/label/MBC020">6502 based Synertek MBC020</a>, <a href="https://apple-crapple.blogspot.com/2022/06/synertek-mbc020.html">MC6800 based CMS 9600A</a>, and <a href="https://apple-crapple.blogspot.com/2021/01/mikul-6218-memory-and-via-exorbus-board.html">MIKUL 6218</a> for its extra RAM and 6522 VIAs. Maybe the Apple II+, too.
<br>
<p><em>Update!</em> Change of plans... I just bought a Radio Shack TRS-80 MC-10 and I am going to spend the month using it, connecting it, and upgrading it!
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh70p-LhpEd7v4zFrZiM-7p4a5_lm1IVn9W1zWJSrro0G8K7ecfsDnofhWKShIB2Opju1bgTeorigMoGvKyOzBtcZKoRZV6HSSefFBolZkrgqgRnq5Y2FMZHp7eFSQpthtmr2wWZQ2f9WgtCajdIHog401eAFI_y-ytOjdaA9Wn0KuvmbMbfSkSMXvZJw/s4032/MC-10.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh70p-LhpEd7v4zFrZiM-7p4a5_lm1IVn9W1zWJSrro0G8K7ecfsDnofhWKShIB2Opju1bgTeorigMoGvKyOzBtcZKoRZV6HSSefFBolZkrgqgRnq5Y2FMZHp7eFSQpthtmr2wWZQ2f9WgtCajdIHog401eAFI_y-ytOjdaA9Wn0KuvmbMbfSkSMXvZJw/s400/MC-10.jpg"/></a></div>
<ul>
<li>Connect to printer</li>
<li>Add some utilities</li>
<li>Connect as terminal</li>
<li>Expand the RAM</li>
<li>HID keyboard?</li>
</ul>
epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-79949388598408799292022-07-24T17:51:00.021-07:002022-07-25T10:16:41.271-07:00SYNERTEK MBC020 Video Output and More RAM<p>After figuring out the location of the video output on the MBC020's P4 connector (pin 20), I noticed that the video and ground signals are also connected to some large through-hole pads nearby. These may be solder points for a video coax cable, or some sort of connector.
<img alt="thumbnail" style="display: none;" border="0" width="1" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNEJz1RoU0VVfkZ6ufCFovQTVVyGo8jY7nwvAS8L-Q_Nj94UwrPA8AwpK4d9s45R0E6liixL8T0F4z151mOVlFmqGL3w9RbHp0vwZNyh-3g53Dky5NbK62iHVzDJW42rsd4DZG6hwlbum20q6flg9PAp4FSTIg1xQbF28xwcCp9Qm-MVz7IMIaDJA0NA/s320/IMG_2818.jpg"/>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPV6g4VYg47hVV_hoM8pWKUpM2Zgrwbprp4tqhC7o4hMYKhmp7kocfxEwuh4Im7eQ8QDtSPGuTdf-QUXIZDblG9Qz9i9JoHjEO2kI1pH86yeuCDm2fM56qlVk02zE31PeI_UnerwSREbCxIK4DU2ptvrZ0TOp8bBGnYikPaKcgreo6I_9elySrCCHIOw/s140/s-l140.jpg" style="display: block; padding: 0; text-align: center; clear: right; float: right;"><img alt="" border="0" width="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPV6g4VYg47hVV_hoM8pWKUpM2Zgrwbprp4tqhC7o4hMYKhmp7kocfxEwuh4Im7eQ8QDtSPGuTdf-QUXIZDblG9Qz9i9JoHjEO2kI1pH86yeuCDm2fM56qlVk02zE31PeI_UnerwSREbCxIK4DU2ptvrZ0TOp8bBGnYikPaKcgreo6I_9elySrCCHIOw/s200/s-l140.jpg"/></a></div>
<p>I hoped to avoid soldering directly onto the board, so I first tried some "9mm Through-Hole Loop Test Points". These fit nicely in the holes in the board, but I struggled to get them connected to a coax video cable. Withe the added weight of a cable, they pulled out too easily and were generally awkward to solder and secure.</p>
<p>The obvious choice for this was a PCB mount RCA/phono jack for the composite video. Unfortunately, there was just no clearance on the front of the board since an IC and the board ejector interferred with the placement. Only after my failure with the test points did I realize that, after bending up one of the ground legs, there was plenty of space on the <em>back</em> of the board:
<table style="clear: both; margin-left: auto; margin-right: auto"><tr><td>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMU1rROfEQ9yGC8XZIWs-TdgtCTGe967b5rPv7VXIi0mdZVd1i8bep6USG4dgAbCFNVEdS5CBgTf8DzYuuQ6kCmeTMlWk_QbJNEbUI7N2ZF9g4PIjN-Ovi7BNMyglYMm7QWFmcBD7a9LcfhoDRl7EaU4U-LepLFPyWc6AGU8ExYMKZrNGQ5gDYOdcEeA/s3030/IMG_2821.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="PCB mount RCA jack, bent and original" border="0" width="200" data-original-height="2273" data-original-width="3030" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMU1rROfEQ9yGC8XZIWs-TdgtCTGe967b5rPv7VXIi0mdZVd1i8bep6USG4dgAbCFNVEdS5CBgTf8DzYuuQ6kCmeTMlWk_QbJNEbUI7N2ZF9g4PIjN-Ovi7BNMyglYMm7QWFmcBD7a9LcfhoDRl7EaU4U-LepLFPyWc6AGU8ExYMKZrNGQ5gDYOdcEeA/s200/IMG_2821.jpg"/></a>
</td>
<td>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhot5cr97LK0m_JWbFnDJyPjaAHQD24e0qR_rQJowPbNah_0C7lu-o35Cieh-q7LCERhzGGI1xgwLvCyPtsk0jsvDvcqG9rM8Y-asWLxQ3WVEkVvf8VOiQVWttCh1lhyW48GpAd0GFpiXm_-XvLvlu2sIfDCWtfuuRqagiz2pbczEX1Gsvaa9s7TiH3og/s4032/IMG_2819.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="RCA jack mounted on back of MBC020" border="0" width="200" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhot5cr97LK0m_JWbFnDJyPjaAHQD24e0qR_rQJowPbNah_0C7lu-o35Cieh-q7LCERhzGGI1xgwLvCyPtsk0jsvDvcqG9rM8Y-asWLxQ3WVEkVvf8VOiQVWttCh1lhyW48GpAd0GFpiXm_-XvLvlu2sIfDCWtfuuRqagiz2pbczEX1Gsvaa9s7TiH3og/s200/IMG_2819.jpg"/></a>
</td></tr>
</table>
<p>With the RCA/phono jack inserted, I booted it up. The video displays "SE" until the serial connection is made, and then is shows the exact same information as the terminal. Unfortunately, some testing uncovered that the top 1/4-1/2 of the screen has some apparent tearing and sync issues which improve progressively down the screen. The bottom 1/2 of the screen is very clear 80 column output. I am not sure why this is happening, but I would assume it is a damaged component on the board. Moving around the video jack to get a better connection did not improve the video quality. Since this monitor has proven to be compatible with many vintage video devices, if there is a compatibility problem I think it must be the board that is way out of spec.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNEJz1RoU0VVfkZ6ufCFovQTVVyGo8jY7nwvAS8L-Q_Nj94UwrPA8AwpK4d9s45R0E6liixL8T0F4z151mOVlFmqGL3w9RbHp0vwZNyh-3g53Dky5NbK62iHVzDJW42rsd4DZG6hwlbum20q6flg9PAp4FSTIg1xQbF28xwcCp9Qm-MVz7IMIaDJA0NA/s3951/IMG_2818.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="distorted video output from MBC020" border="0" width="320" data-original-height="2963" data-original-width="3951" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNEJz1RoU0VVfkZ6ufCFovQTVVyGo8jY7nwvAS8L-Q_Nj94UwrPA8AwpK4d9s45R0E6liixL8T0F4z151mOVlFmqGL3w9RbHp0vwZNyh-3g53Dky5NbK62iHVzDJW42rsd4DZG6hwlbum20q6flg9PAp4FSTIg1xQbF28xwcCp9Qm-MVz7IMIaDJA0NA/s320/IMG_2818.jpg"/></a></div>
<p>So, video is <em>almost</em> working.</p>
<p>Next, I tried adding the unmodified <a href="https://apple-crapple.blogspot.com/2021/01/mikul-6218-memory-and-via-exorbus-board.html">Mikul 6218</a> board with extra RAM installed in place of the usual ROMs. Although I did not test the I/O, the RAM addition worked great! Using <a href="http://apple-crapple.blogspot.com/2022/06/synertek-mbc020.html">SERVOMON commands</a>, I was able to edit memory areas that were previously unassigned. This confirms my belief that the Mikul 6218 is a really nice and reasonably priced memory board for a variety of EXORbus systems, especially because the memory sockets are very configurable for a variety of RAM and ROM chips.</p>
<p>Next time I will document the memory map further and check out the keyboard connection to try to make it a complete terminal!
epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-34544820337585062792022-06-30T20:37:00.022-07:002022-09-02T00:02:12.841-07:00Synertek MBC020 Serial Snags<h4>Serial Cable</h4>
<p>I spent a few minutes continuity testing the P3 card edge connector for the serial port so that I could build a serial cable for the MBC020. I was hopeful that this was just a 1:1 pinout for a card edge to DB-25 RS-232 IDC connector, like one I built for my <a href="http://www.easy68k.com/paulrsm/mecb/MecbManual.pdf#page=36">Motorola MC68000 Educational Computer Board.</a> It is almost exactly right except the send (TxD) and receive (RxD) data lines are swapped. I thought maybe it was wired as a <abbr title="data circuit-terminating equipment">DCE</abbr> device, but in fact, only the data lines are switched. As annoying as this was, it wasn't too difficult to put a twist in part of the ribbon cable, swapping wires 3 and 5:
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCxxpyDJbY6mX0o-sCS848x-N6jOoCfKqHheIG21NuOlRzad5qFfBSU2IgYasEP3lLWAhnfAm3w_EhMOf7lNWtdgr47Cm0Hsifwe-hU_quBx671o5tSP3KfmltZM03wi3GVhZdQ32mqYcz8eky3LdGxq3xvyAlDwkjRWGeW5EJtHKdU4qHDRM591Rz4g/s4032/IMG_2751.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="Card Edge to DB25 serial cable" border="0" width="320" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCxxpyDJbY6mX0o-sCS848x-N6jOoCfKqHheIG21NuOlRzad5qFfBSU2IgYasEP3lLWAhnfAm3w_EhMOf7lNWtdgr47Cm0Hsifwe-hU_quBx671o5tSP3KfmltZM03wi3GVhZdQ32mqYcz8eky3LdGxq3xvyAlDwkjRWGeW5EJtHKdU4qHDRM591Rz4g/s320/IMG_2751.jpg"/></a></div>
<p>Note the twist in the green, yellow, and orange wires near the DB25 connector on the bottom right of the picture.
<h4>Serial Output</h4>
<p>With the serial cable constructed and a null modem adapter attached, it was time to power it up! I installed the card in my <a href="https://apple-crapple.blogspot.com/2020/09/exorbus-multi-plane-kit-now-available.html">EXORbus "MULTI-PLANE" backplane</a>, and booted it up. Unfortunately, no matter what baud rate I tried, I was only receiving data that looked like a baud rate mismatch. I double checked <a href="https://raw.githubusercontent.com/mamedev/mame/bb18b80300cb711b9c8bf92ec562627caabd78e1/src/mame/drivers/mbc020.cpp">the MBC020 driver source code in mame</a> to see if it provided any hints, and sure enough, it apparently set 9600 baud, 7 data bits with 2 start bits. This effectively eliminates a high bit 7, as you would also need in the Apple II monitor. However, after apparently configuring GNU screen, it still did not work. Examining a hex dump of the output showed:
<samp>
00000000: 00d3 c5d2 d6cf cdcf cea0 d6c5 d2a0 b4ae ................
00000010: b08d 8ac3 cfd0 d9d2 c9c7 c8d4 a0ca d5cc ................
00000020: adb1 b9b8 b3a0 d4cf d2d1 d5c5 a0d3 d9d3 ................
00000030: d4c5 cdd3 a0c9 cec3 ae8d 8abe c800 ..............
</samp>
<p>This appeared to be the data I wanted, but bit 7 was still set high, making the text unreadable. After a quick check of my screen command line parameters, I realized that screen expects the serial options to be comma separated. Duh! The command:<br>
<kbd>screen -L /dev/cu.usbserial 9600,cs7,cstopb</kbd><br>
did the trick perfectly and allowed me to finally interact with the real SERVOMON monitor:
<br><samp>
SERVOMON VER 4.0
COPYRIGHT JUL-1983 TORQUE SYSTEMS INC.
>V 0000-000F
0000 BF BF 9F BF BF BF 9F BF,B8
0008 9F AF BF BF BF BF BF BF,80
0B80
>F 00,0000-00F
>V 0000-000F
0000 00 00 00 00 00 00 00 00,00
0008 00 00 00 00 00 00 00 00,00
0000
>J 1
MPC DIGITAL DRIVE REV 4.0 JUL-1983.
AXES FOUND ON-LINE : 4
Ok
AUTO
ER 00
>G
SERVOMON VER 4.0
COPYRIGHT JUL-1983 TORQUE SYSTEMS INC.
>
</samp>
<p>Success! Next I will test out composite video output! Special thanks to "andysa" on <a href="http://forum.6502.org">the 6502.org Forum</a> for sharing his notes on this board with me.
<br>epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-1268790216126490582022-06-15T23:32:00.066-07:002023-07-26T11:40:34.350-07:00Synertek MBC020<p>I recently acquired a <a href="https://archive.org/details/Synertek-DataBook1983OCR/page/n517/mode/1up">Synertek MBC020</a> EXORbus single board computer, notably sporting a 6512 microprocessor. The 6512 is software compatible with the famous MOS 6502 processor used in the Apple ][. This is one step closer to the whole point of this blog! It may at first seem odd that this 6512 board uses the EXORbus card edge which was most commonly associated with Motorola MC6800, MC6802, and MC6809 processors. However, the 6500 family was always intended to be MC6800 bus compatible. In fact, Rockwell even produced an <a href="http://retro.hansotten.nl/uploads/aim65/AIM%2065%20Expansion%20Motherboard.pdf">AIM 65 Expansion Motherboard</a> that would allow their AIM 65 computer (which like the Synertek SYM-1, was a derivitive of the famous MOS KIM-1 6502 trainer) to use EXORbus card modules. Synertek also made a clone of the MC6800 based <a href="http://ushomeautomation.com/Projects/Motorola/motorola_micromodules_overview_1980.pdf#page=11">Motorola MicroModule MM01</a>, named the <a href="https://archive.org/details/Synertek-DataBook1983OCR/page/n519/mode/1up">MBC01A2</a>, and various EXORbus RAM and I/O cards.
</p><p>Any of these ExorBus systems I have seen are either trainers or PLCs (programmable logic controllers) for industrial applications. They appear in knitting machines, industrial ovens, industrial food processing machines, and silicon wafer exposure and inspection stations. Fittingly, the Synertek MBC020 is usually seen configured for use in an "EG&G Torque Systems" servo controller. This is the same configuration for the card I purchased:
</p><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh09z47o5QwmCMLW75TRokFZPwGPzN7zibXOlvf1MZZDGDxT0MRqUnrqdo3J0UZ2MbrDeiSTESwhzwAb_fbPRbC3lWEL2Ykk06KnKnkwfRo6K49ZC6F8W25aNql_QjxVA4uVWn5vW-CYH8ZgeIVcVqjJWPCjwVdrnoICVZAf1-FP4BqdeQJb15Mu6s-5w/s1600/SYN-MBC020.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="The Synertek MBC020 MOS 6512 based Single Board Computer" border="0" data-original-height="1200" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh09z47o5QwmCMLW75TRokFZPwGPzN7zibXOlvf1MZZDGDxT0MRqUnrqdo3J0UZ2MbrDeiSTESwhzwAb_fbPRbC3lWEL2Ykk06KnKnkwfRo6K49ZC6F8W25aNql_QjxVA4uVWn5vW-CYH8ZgeIVcVqjJWPCjwVdrnoICVZAf1-FP4BqdeQJb15Mu6s-5w/s400/SYN-MBC020.jpg" width="400" /></a></div>
<p>In a strange stroke of luck, this board happens to be <a href="https://wiki.mamedev.org/index.php/MNW#maygayv1">available in the MAME emulator</a> (formerly:"Multiple Arcade Machine Emulator"). I'm not sure why an industrial controller would be included in a emulator focused on arcade and console video games. Anyway, the ROMs available online appear to be the same as my own, so it is nice that I can see what I should be expecting when booting the board. Once I compiled MAME and added the ROMs, I was greeted with:
</p><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnSIm4ObLGnimQCwzLNq4xNJv9Fqp7Q2Pt_XkoOC2qGw-v0LzoHo02WsdBuVZb-oRuaDf0Vcxpuv-fvSmeTVOgvZp6l_urtdiQ4PsNveVYvbNPrIlu3-OyW0dKj2aEAxxddDpcFAQeF2xEZzLkixZRcUfkRW1VMXqNYbvi_7MHMh14nQJsSRXba6c9iw/s2880/MBC020_SERVOMON.png" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="1800" data-original-width="2880" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnSIm4ObLGnimQCwzLNq4xNJv9Fqp7Q2Pt_XkoOC2qGw-v0LzoHo02WsdBuVZb-oRuaDf0Vcxpuv-fvSmeTVOgvZp6l_urtdiQ4PsNveVYvbNPrIlu3-OyW0dKj2aEAxxddDpcFAQeF2xEZzLkixZRcUfkRW1VMXqNYbvi_7MHMh14nQJsSRXba6c9iw/s400/MBC020_SERVOMON.png" width="400" /></a></div>
<p>After a bit of trying out different key combinations, I discovered that the commands are predictably very similar to the <a href="http://www.6502.org/trainers/synertek/manuals/srefman.pdf#page=68">SYM-1's SUPERMON monitor</a>. Here is an incomplete summary:
<table>
<thead>
<tr><th align="left" colspan="2">SERVOMON COMMANDS: [] is optional parameter, $ is a hex digit (0-9,A-F)</th></tr>
<tr class="bar"><th style="white-space: nowrap; width:33%">Command and Format</th><th>Description</th></tr>
</thead>
<tbody>
<tr class="bar"><td>M [[$$,]$$$$[-$$$$]]</td><td><em>MEM</em>: Memory examine, modify, [search,] hex data editor starting at address [-end]</td></tr>
<tr class="bar"><td>R </td><td><em>REG</em>: Examine and modify user registers PC,S,F,A,X,Y</td></tr>
<tr class="bar"><td>G [$$$$]</td><td><em>GO</em>: Restore all user registers [except PC=address, S=FD] and resume execution.</td></tr>
<tr class="bar"><td>V [$$$$[-$$$$]]</td><td><em>VER</em>: View/Verify display data and checkums [starting at address [-to end]]</td></tr>
<tr class="bar"><td>D [$$$$]</td><td><em>DEP</em>: Deposit hex data to memory [starting address]</td></tr>
<tr class="bar"><td>C [$$,]$$$$[-$$$$]</td><td><em>CALC</em>: Calculate two's complement [-displacement], with [,offset] </td></tr>
<tr class="bar"><td>B $$$$,$$$$-$$$$</td><td><em>BMOV</em>: Move data to address, from start -to end</td></tr>
<tr class="bar"><td>J $</td><td><em>JUMP</em>: Restore user registers, except PC=listed entry in jump table, S=FD, and jump to it</td></tr>
<tr class="bar"><td>J 1 </td><td>MPC DIGITAL DRIVE REV 4.0 JUL-1983.<br> AXES FOUND ONLINE : 1<br> Ok</td></tr>
<tr class="bar"><td>SD $$$$-$$$$</td><td><em>SDBL</em>: Store double byte from address -to address</td></tr>
<tr class="bar"><td>F $$,$$$$-$$$$</td><td><em>FILL</em>: Fill data, from memory address -to address</td></tr>
<tr class="bar"><td>S1 [$$$$]</td><td>Save ASCII data to memory [starting address]. </td></tr>
</tbody>
</table>
<p>Next post: let's try out the real board!epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-717362770743623232022-06-05T10:31:00.026-07:002022-07-14T09:14:21.150-07:00MIKUL 1MiB Mods (final)<p>It did not take long for me to realize that the <a href="/2021/04/mikul-1mib-mods.html">virtual address jumper board for my MIKUL 6218</a> was not a great long-term soloution. It was ugly and was not very physically secure with jumper wires running everywhere. Instead, I decided to remove the jumper board and add a 2*5 pin header to the top of the memory board, where it belonged. As a result, I would need to program a GAL to go back in place of the jumper board, handling the conversion from virtual to physical addresses. Since I now have a <a href="/2021/06/mikul-1mib-mods-continued.html">working GAL programming pipeline,</a> this was no longer a serious impediment.
<h4>Header</h4>
<p>Adding the pin header was a simple matter of drilling holes in the board in a .10" grid, supergluing a 2*5 male header (with latch) to the board, adding some copper tape connected to ground, and soldering on jumper wires connecting to the A16-A20 address lines. Although I would have preferred to use some mounting screws on the header, <em>both</em> of the mounting holes ended up right on top of VCC traces.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirWcwaCNw7NSkHPNW_WL3OqZ-xc3HC_6qxuBxUkxFnVWM3hkIbISAC3ksi7WTPSCFlVx_cI5SAPWTwNchqztz_vND5utIkZdbyB1Ixs8XOoSaBfLQ3I5RapNGnHUEiJCFBZuTt9UN9e6yj1yeXpLIF2YtvQJJ3HWDY1HNpuS2A7lk6tOApfm9lZVI6qQ/s4032/IMG_2249.HEIC" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirWcwaCNw7NSkHPNW_WL3OqZ-xc3HC_6qxuBxUkxFnVWM3hkIbISAC3ksi7WTPSCFlVx_cI5SAPWTwNchqztz_vND5utIkZdbyB1Ixs8XOoSaBfLQ3I5RapNGnHUEiJCFBZuTt9UN9e6yj1yeXpLIF2YtvQJJ3HWDY1HNpuS2A7lk6tOApfm9lZVI6qQ/s320/IMG_2249.HEIC" width="320" /></a></div>
<h4>GAL Program</h4>
<p>With the board soldered up, I had some initial success using it with my CMS 9639 and Microware OS9 Level 2. However, I soon noticed that there was a block of memory that was not being identified at $C000-$DFFF every 64K. This is an odd range of addresses to have a problem with, since it can't be attributed to bad connections on an address line or two. I quickly identified that the GAL in U10 will disable the RAM and enable the I/O in that range, regardless of the state of the high virtual address lines. Although this is fine for the MIKUL 6809-5 board it was designed for, it is not consistent with the CMS9639's expectation that I/O is only enabled in the $00FF60-$00FF9F address range. So, I had to reprogram the U10 GAL and make some adjustments to the program in the U13 GAL to get everything working properly.
<h4>Conclusion</h4>
<p>Here is the final product, a relatively clean looking 1 MiB EXORBus RAM and 3xVIA I/O card working great with the CMS 9619 and OS9 Level 2 on the CMS 9639:
<div class="separator" style="clear: both;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWjAmpQc9qlIrzmrR972VERKY1XH9NvHqmEO6_o2jG7bt54YJ-45cbsRKpPYsAg4xAcJp_oXSPop20hmi0VLTDi9DyfPBa2Wjaxq38wF_o80T2RHQ25CZlshziEZ4citwwCFSBfqi5bV82cVgDUJ5mmYi5v5DeCzp8ZdUoFFw8Y2vTiN52BANtzNtBtQ/s4032/IMG_2433.HEIC" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWjAmpQc9qlIrzmrR972VERKY1XH9NvHqmEO6_o2jG7bt54YJ-45cbsRKpPYsAg4xAcJp_oXSPop20hmi0VLTDi9DyfPBa2Wjaxq38wF_o80T2RHQ25CZlshziEZ4citwwCFSBfqi5bV82cVgDUJ5mmYi5v5DeCzp8ZdUoFFw8Y2vTiN52BANtzNtBtQ/s320/IMG_2433.HEIC"/></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3aJRc9rnRB9R-heMWj06nHUMK1jegtVZeO_2bW4A-yMTw0maMXfSRzqInWGik0CtsYw8gEuWuJswTxyKFBXtaO_JRQgltY4gLJypvdD0yGgRHMTd05F71UBv3xUfAm9wMsAoXdBOwU0-nuIqsjbI0FXH1Z7FBQTg7VVkHSfLa0Hk9fqiC9T9QpY1b9A/s4032/IMG_2435.HEIC" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3aJRc9rnRB9R-heMWj06nHUMK1jegtVZeO_2bW4A-yMTw0maMXfSRzqInWGik0CtsYw8gEuWuJswTxyKFBXtaO_JRQgltY4gLJypvdD0yGgRHMTd05F71UBv3xUfAm9wMsAoXdBOwU0-nuIqsjbI0FXH1Z7FBQTg7VVkHSfLa0Hk9fqiC9T9QpY1b9A/s320/IMG_2435.HEIC"/></a></div><div class="separator" style="clear: both;"></div>epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com2tag:blogger.com,1999:blog-5051364811387091693.post-52026510189968562322022-03-27T22:57:00.031-07:002022-04-05T01:40:32.088-07:00MIKUL 6809-5 Keypad<p>I received some membrane keypads in the mail today. Unfortunately, I neglected to order the 4x5 Keypads I hoped to use and only ordered 4x4 and (accidentally) 3x4 keypads. No problem. The 4x4 keypad will work fine to navigate the menus, with: * as clear; # as enter; D as Main Menu. You can't quite set the clock though because it is missing the keys to select year/month/day as they are on the missing row.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQJeLPtt-QZAToj6ZBI_qjWJDGXuhYNlv5aQ5My4ZdIIj-a92RvwP7WGtUI84kMrXCVvj-ILbOstLWh2SZ80OXozb0vVK9aE1r3WABn-O8guHVyE2J68nPh1T5j5FXgVAsa2eR3lqvuN37eK_ZbkVsX4apZ7FXV2PAObao9mKNV1Fl1MxmyrtLLWsnzQ/s4032/IMG_2072.HEIC" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQJeLPtt-QZAToj6ZBI_qjWJDGXuhYNlv5aQ5My4ZdIIj-a92RvwP7WGtUI84kMrXCVvj-ILbOstLWh2SZ80OXozb0vVK9aE1r3WABn-O8guHVyE2J68nPh1T5j5FXgVAsa2eR3lqvuN37eK_ZbkVsX4apZ7FXV2PAObao9mKNV1Fl1MxmyrtLLWsnzQ/s400/IMG_2072.HEIC"/></a></div>
<p>Here is the pinout, which requires a small jumper board to connect to either a 4x4 or 5x4 keypad, as the P3 header is not arranged in a very logical way:
<pre>
MIKUL 6809-5 eBay | Alltronics
P3 HEADER 4x4 Keypad | 5x4 Keypad
___
COL1 |1 -> 3 - ROW3 | 6 - ROW3
ROW1 ||2 -> 5 - COL1 | 5 - COL3
COL2 ||3 -> 2 - ROW2 | 2 - ROW2
ROW2 ||4 -> 6 - COL2 | 7 - COL4
ROW3 ||5 -> 7 - COL3 | 9 - COL5
ROW4 ||6 -> x - N/C | 3 - COL2
COL3 ||7 -> 1 - ROW1 | 8 - ROW1
ROW5 ||8 -> 8 - COL4 | 1 - COL1
COL4 |9 -> 4 - ROW4 | 4 - ROW4
|___ </pre>
<P>I think these are the orignial keypads that came with the TEMPMATE and CASEMATE firmware (pics from various auction sites):<br>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW_uCkja3iXq6uY3NNfGRfzDtCIG9sC7-mjJBXM9jUsU92kVn8WA_vt3Jiy8XSO5zwYKPhPgz49h5U1yOYT4OZLFKOse4ZoG4emlokXZ5oHdsmAIOn7iZAC3cOFePDD4lQb62bEUoOYPPVUonkveR3lGQifXTL7VQGCoNfUBdRsbXrmp2ur8znTiRxVA/s1600/MIK-key2.jpg" style="padding: 1em; "><img alt="" border="0" width="200" data-original-height="1200" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW_uCkja3iXq6uY3NNfGRfzDtCIG9sC7-mjJBXM9jUsU92kVn8WA_vt3Jiy8XSO5zwYKPhPgz49h5U1yOYT4OZLFKOse4ZoG4emlokXZ5oHdsmAIOn7iZAC3cOFePDD4lQb62bEUoOYPPVUonkveR3lGQifXTL7VQGCoNfUBdRsbXrmp2ur8znTiRxVA/s200/MIK-key2.jpg"/></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7bBU5zzKyRiQe0g4sNIPWq72mHF6Y4eB7b2U5aL17tjscjeC-FQ1TpTILx7NnG-bGi0C7Xd_BGSWbBCwaAp08QUg9jjxFQnYNLXzgI3TJn-ul7SFjcDbf36GRjnoE1xJkN2xT-Z1yy2nBMuQChMTgCAopJuXzCIroA_E1ACOJ1drucQP-CFX63WHNQw/s1800/MIK-key.jpg" style="padding: 1em; "><img alt="" border="0" width="200" data-original-height="1350" data-original-width="1800" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7bBU5zzKyRiQe0g4sNIPWq72mHF6Y4eB7b2U5aL17tjscjeC-FQ1TpTILx7NnG-bGi0C7Xd_BGSWbBCwaAp08QUg9jjxFQnYNLXzgI3TJn-ul7SFjcDbf36GRjnoE1xJkN2xT-Z1yy2nBMuQChMTgCAopJuXzCIroA_E1ACOJ1drucQP-CFX63WHNQw/s200/MIK-key.jpg"/></a>
<p>Unfortunately, I think the cheap ebay 4x5 keypads I hoped to use will not work because they have 5 rows when the MIKUL's TEMPMATE software is written to use a keypad with 5 columns.
<p>I found a <a href="https://anatekinstruments.com/products/membrane-keypad-with-flex-connector">keypad at Alltronics that has the right layout</a> for only a few dollars. That keypad only has the flat flexible cable without a PCB connector, so I had to source that too. Also, it does not have the nice clicky metal domes in it so it feels mushy, but it works, and I can finally set the clock!:
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYG7YR2wCj2DVEYSCdJD4wr5Hpag6d1TEMIiLeQLgyi5bZO7XpSymKoOS1F82U7O5pFPxtGLn03wlanXJfQZoNjGwIUy50c3s6cllRTlgmt3O38TJBK44wLK9GOOU3HMNTkTHOjqZm12YlTn6jdXGD1Zt5oxZduRmJus4-hNxBJu5nK3ksYRrgs0gTng/s4032/IMG_2080.HEIC" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="400" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYG7YR2wCj2DVEYSCdJD4wr5Hpag6d1TEMIiLeQLgyi5bZO7XpSymKoOS1F82U7O5pFPxtGLn03wlanXJfQZoNjGwIUy50c3s6cllRTlgmt3O38TJBK44wLK9GOOU3HMNTkTHOjqZm12YlTn6jdXGD1Zt5oxZduRmJus4-hNxBJu5nK3ksYRrgs0gTng/s400/IMG_2080.HEIC"/></a></div>
epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-46503625944223862832022-03-19T20:04:00.010-07:002022-03-20T19:46:03.077-07:00MIKUL 6809-5 Memory Map<p>By using the <a href="https://apple-crapple.blogspot.com/2022/03/reverse-engineering-mc6809-sbc-easy-way.html">HCF instruction and a cheap logic analyzer</a>, I was able to make a memory map of the MIKUL 6809-5:
<table style="text-align:center">
<tr>
<td style="border:2px solid; border-bottom:2px dashed">↑<br />External<br /> </td>
<td style="border-top:2px solid; vertical-align:top">FFFF<br /><br /><br /></td>
</tr>
<tr>
<td style="border:2px solid; border-top:2px dashed">MEMORY OR I/O<br />↓</td>
<td style="border-bottom:2px solid; vertical-align:bottom"><br />EC00</td>
</tr>
<tr>
<td style="border:2px solid">EXTERNAL I/0</td>
<td style="border-bottom:2px solid">EBFF<br />EB10</td>
</tr>
<tr>
<td style="border:2px solid">U21 6821 PIA</td>
<td style="border-bottom:2px solid">EB00-EB0F</td>
</tr>
<tr>
<td style="border:2px solid">EXTERNAL I/0</td>
<td style="border-bottom:2px solid">EAFF<br />EA10</td>
</tr>
<tr>
<td style="border:2px solid">U20 SIO/2
<td style="border-bottom:2px solid">EA00-EA0F</td>
</tr>
<tr>
<td style="border:2px solid">U25 VRAM<br /><br />MEMORY?</td>
<td style="border-bottom:2px solid">E9FF<br /><br /><br /><br /><br />E800</td>
</tr>
<tr>
<td style="border:2px solid; border-bottom:2px dashed">↑<br />External</td>
<td style="border-top:2px solid; vertical-align:top">E7FF<br /><br /><br /><br /><br /></td>
</tr>
<tr>
<td style="border:2px solid; border-top:2px dashed">MEMORY<br />↓</td>
<td style="border-bottom:2px solid; vertical-align:bottom"><br /><br /><br />0000</td>
</tr>
</table>
<p>Of course, this lines up well with the <a href="https://apple-crapple.blogspot.com/2021/01/mikul-6218-memory-and-via-exorbus-board.html">MIKUL 6218 memory and VIA board</a>. I need to update that memory map using the HCF technique.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhtZhaAE_TquJD20q60RDfKdWNj05PQlJlhfu_hATrXxdDOzSqM1NMdjzV1alm5TYDdxh4BOzW8MwQU7plUTJZ0f73d5jZz0Pv7hukwYMVrGrLo9QqzEaxh2ryw4s4Xft89Dp0VasuXA5cKAECho5GEeOYVgjyPhxqQwOb-T5B3k9-C48hedmB4HZFIKg=s4032" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/a/AVvXsEhtZhaAE_TquJD20q60RDfKdWNj05PQlJlhfu_hATrXxdDOzSqM1NMdjzV1alm5TYDdxh4BOzW8MwQU7plUTJZ0f73d5jZz0Pv7hukwYMVrGrLo9QqzEaxh2ryw4s4Xft89Dp0VasuXA5cKAECho5GEeOYVgjyPhxqQwOb-T5B3k9-C48hedmB4HZFIKg=s400"/></a></div>epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-47621631346383593752022-03-19T18:44:00.018-07:002022-03-21T22:07:46.966-07:00Reverse Engineering MC6809 SBC... The Easy Way!<p> I previously documented my ultimately successful attempt to <a href="https://apple-crapple.blogspot.com/2019/05/cms-6919a-sbc.html">reverse engineer the CMS 9619 Advanced Single Board Computer</a>. The main goal was to get a memory map of the system, including I/O addresses. Having this memory map makes disassembling the firmware on these boards much easier. The process I used prevously was labor intensive, and required me to:
</p><ol>
<li>figure out what each of the pins on the PAL IC (that decodes the addresses) connects to;</li>
<li>lookup datasheets to see if it is an input or output pin;</li>
<li>build a small circuit to increment through all of the possible inputs;</li>
<li>write a program to display all of the actual outputs for those inputs.</li>
</ol>
This took a lot of work and most of it is will only apply to the particular address decoder I was working on.
<p>Ideally, I would want to just keep everything connected in circuit and just have the processor increment through all of the address lines for me, like a 16 bit binary counter. Hmm... Fortunately, the MC6809 has just such a feature built in! The "HCF" (Halt and Catch Fire!) instruction will halt the processor and increment the MC6809 address lines while holding R/W' high, causing it to output every possible address, and select every I/O chip on the board. This is perfect to build a memory map. Even better, since just one instruction does all of this, all I need to do is wire up that one instruction on the data bus and let the processor do the rest. I don't even need to program an EEPROM! Then, I can just observe the addresses and I/O enable lines using a cheap (under $10) logic analyzer. I could even use an Apple II (or another 6809 SBC) with a MC6821 PIA (or MC6522 VIA) to track the signal changes.
</p><p>In the end, I decided to just program an EEPROM with a lot of HCF instructions:
<code>% touch HCF.bin
% os9 padrom -c=205 8192 ./HCF.bin
% minipro -p AT28C64 -w ./HCF.bin
% xxd -s $((16#1FF0)) ./HCF.bin
</code>
<pre>00001ff0: cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
</pre>
and I used my cheap logic analyzer to check the addresses and the chip select pins on the various I/O ICs on the board. Although this took a couple of steps (A15-A9 addresses, then A8-A2 addresses, before settling on A11-A8 with 4 chip select lines), I think it was probably faster than building a cable to connect to the Apple II APIO (MC6821) card, and I am pretty sure the Apple II could not have polled the lines fast enough.
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiy7zmVkN8gf6TIWpkwWg5Uo-uNeOqGjXtuT_A3HkbmHE2m93H60rNhvuXuVETwUyxfgtWQiMi2NSWXziH0Z33ZYWzzK3OMjgzrYynupKHz344UIC2sRskzet5y4uayjaKJjtMU09KwYZbqBF1l27nprPfCS4GHKtStjNzCbSkfJJLAp91wtalrn57H8w=s2743" style="display: block; margin-left: auto; margin-right: auto; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="1662" data-original-width="2743" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEiy7zmVkN8gf6TIWpkwWg5Uo-uNeOqGjXtuT_A3HkbmHE2m93H60rNhvuXuVETwUyxfgtWQiMi2NSWXziH0Z33ZYWzzK3OMjgzrYynupKHz344UIC2sRskzet5y4uayjaKJjtMU09KwYZbqBF1l27nprPfCS4GHKtStjNzCbSkfJJLAp91wtalrn57H8w=w515-h320" width="515" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Note channels 3-7 (A11-A7)incrementing nicely with HCF instruction</td></tr></tbody></table>epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-82347835168647628532022-03-16T21:14:00.028-07:002022-04-08T14:55:13.613-07:00MIKUL 6809-5 Processor and Video Board<p>I recently procured another EXORbus processor board, the MIKUL 6809-5, for a reasonable price. Let's take a look...
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhjoxkNE2atUpP0a32f0inrHdexkRaonxILZeyM0I6AqlqbXJaxaiSykA4uBZyF7Djr1hK4XRaMwjRd5-uo_9Oqcu8rrJV_ReKsDj0v_fAsXDF4H0MBy9FVA3AxVFfO9Udo2jw44SAXtMRWQfMcOtSzpJkSFjyEFixdvmb7jlKhLKZ7xi5-POtyRy2ybw=s1108" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="886" data-original-width="1108" src="https://blogger.googleusercontent.com/img/a/AVvXsEhjoxkNE2atUpP0a32f0inrHdexkRaonxILZeyM0I6AqlqbXJaxaiSykA4uBZyF7Djr1hK4XRaMwjRd5-uo_9Oqcu8rrJV_ReKsDj0v_fAsXDF4H0MBy9FVA3AxVFfO9Udo2jw44SAXtMRWQfMcOtSzpJkSFjyEFixdvmb7jlKhLKZ7xi5-POtyRy2ybw=s320"/></a></div>
<p>Notable ICs:
<ul>
<li>Motorola MC6809 processor
</li><li>MC6821 Peripheral Interface Adapter (<abbr title="Peripheral Interface Adapter">PIA</abbr>)
</li><li>MC6847 Video Display Generator (<abbr title="Video Display Generator">VDG</abbr>)
</li><li>Z0844206 SERIAL INPUT/OUTPUT CONTROLLER (<abbr title="SERIAL INPUT/OUTPUT CONTROLLER">SIO/2</abbr>)
</li><li>MM74C923 20 Key Keyboard Encoder
</li></ul>
<p>Ports:
<ol>
<li>EXORbus card edge
</li><li>RS232 and RS485 / multidrop LAN port?
</li><li>20 key matrix keypad
</li><li>LED indicator ?
</li><li>video output
</li><li>composite video
</li></ol>
<p>It is interesting that the board uses the MC6809 CPU with a MC6847 VDG like the Radio Shack Color Computer (CoCo). Unike the CoCo, it does not have an MC6883 SAM, making it similar to the Radio Shack TRS-80 MC-10 (which uses an MC6803, rather than the MC6809). So the basic CPU and video chipset places it somewhere between those two computers.
</p><p>Notably, the board does not have any provision for ROM or application RAM on it. As a result, it needs another memory board on the bus to function properly. The <a href="https://apple-crapple.blogspot.com/2021/01/mikul-6218-memory-and-via-exorbus-board.html">MIKUL 6218</a> would make a perfect companion for it, but I already <a href="https://apple-crapple.blogspot.com/search/label/MIKUL6218">modified my 6218 board to work with the my CMS processor boards</a>...whoops. So, with the price of these MIKUL boards dropping due to an apparent glut of them, I picked up a fresh MIKUL 6218 for ~$35 and installed them both in my <a href="/2020/09/exorbus-multi-plane-kit-now-available.html">EXORbus MULTI-PLANE backplane</a>.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgfEE_9DhGQVIkksswZoXQXSNdRs2R6BkLlYLK2-0cCWpIUnlmMBqoJq0HfJt3CfQZo3Ye7qBXwsij-k1mgDaP1ApZiu2UKy4Sfw7BzSfqVpRVZFC83J5-UaFdSw_rSSH50BauX8KG8Yo0PDr-whgEBAxO32NcQmg4qDTRf5h-dWQPUQpcxjAoUDcbsCQ=s4032" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/a/AVvXsEgfEE_9DhGQVIkksswZoXQXSNdRs2R6BkLlYLK2-0cCWpIUnlmMBqoJq0HfJt3CfQZo3Ye7qBXwsij-k1mgDaP1ApZiu2UKy4Sfw7BzSfqVpRVZFC83J5-UaFdSw_rSSH50BauX8KG8Yo0PDr-whgEBAxO32NcQmg4qDTRf5h-dWQPUQpcxjAoUDcbsCQ=s320"/></a></div>
<p>Despite the interesting video output, I am not in love with the features. The MC6821 PIA is dedicated to running the keypad encoder and baud rate dip switches, so it can't be used for much. Really the MIKUL 6809<u>-4</u> or 6809<u>-6</u> (Motorola MicroModule clone?) would be a better choice as a all-in-one SBC. However, the 6809-5s are definitely more pentiful and far cheaper right now, so maybe somebody else can make use of any info I publish about it.
<p>More details below...
<span><a name='more'></a></span>
<h4>P2 Serial Ports</h4>
<p>Based on the various signal amplifiers and components connected to this port, I initially thought it was only for some sort of industrial multidrop LAN specification, such as RS485. However, connected to the B serial port of the SIO/2 is a basic RS232 connection to pins 15-25. So, port 1 includes multidrop AND RS232, with an unconventional pinout which does not match a standard DB25 IDC cable.
<pre>
P2 HEADER
______
??? |1 2| GND
??? |3 4| GND
GND |5 6| GND
??? |7 8| GND
??? |9 10| GND
GND |11 12| GND
??? |13 14| GND
GND |15 16| GND
RTS |17 18| GND
Tx |19 20| GND
CTS |21 22| GND
Rx |23 24| GND
DCD |25 26| GND
|______|
</pre>
<h4>P3 Matrix Keypad port</h4>
P3 is connected to a <a href="https://www.mouser.com/datasheet/2/308/mm74c923-1193604.pdf">MM74C923 20 Key Keyboard Encoder IC</a>, which is connected in turn to a port on the MC6821 PIA.
<pre> P3 HEADER
___
COL1 |1
ROW1 ||2
COL2 ||3
ROW2 ||4
ROW3 ||5
ROW4 ||6
COL3 ||7
ROW5 ||8
COL4 |9
|___
</pre>
<p>Unfortunately, this pinout does not match well with standard 20 key matrix keypads, so some wire rearrangement will be necessary to use it.
<h4>Boot It Up!</h4>
<p>With the MIKUL 6809-5 and the new MIKUL 6218 in place in the backplane, there wasn't much left to do but flip the switch.
<iframe width="448" height="252" src="https://www.youtube.com/embed/ONteebnIWDI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p>After the boot, I shorted pins 1 and 2 of the P3 Matrix keypad port to simulate a keypress, and "CASEMATE" responded!
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhKrxjtGEI8ic0yznKukhTe6AQiOvJF7J-AcBKPZrD1LLwp7Zad-o6HzoaYjJsQ488E3p_H1mXU4N6T_7vyS0w0zio6gyMenYN4ZbGu8zJ_b65RU-y3ItcaokESHTfE5d_OzV1O2wxalj8lo1OXbZdvXzzYqW1yUlZ8SiKhHqfs4FGQqlXdcogt4sumLg=s4032" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/a/AVvXsEhKrxjtGEI8ic0yznKukhTe6AQiOvJF7J-AcBKPZrD1LLwp7Zad-o6HzoaYjJsQ488E3p_H1mXU4N6T_7vyS0w0zio6gyMenYN4ZbGu8zJ_b65RU-y3ItcaokESHTfE5d_OzV1O2wxalj8lo1OXbZdvXzzYqW1yUlZ8SiKhHqfs4FGQqlXdcogt4sumLg=s400"/></a></div>
<p>Since I had another EPROM labeled "TEMPMATE" left over from my first MIKUL 6218, I swapped it in to see what would happen:
<table align=center><tr><td>
<a href="https://blogger.googleusercontent.com/img/a/AVvXsEhquRUhyKg-cCqEgOYl4jBkvsnyirAn_erShp5IeP5WsM7qqjCKNrh7SXSJ3HRIDJ4pu8bnSAubz_cGsikLDKBXqM2Q4lZuOlaMI5_H8hWlLu2hslL4HKEYtiBbdTPQbxqLZKWH4Pp42H4D7BLRsYfzpm0WIZzqopXF4GTcIGiDLe8SeQs6bzCxyXCYkw=s4032" style="display: block; padding: 1em 0; text-align: left; "><img alt="" border="0" width="200" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/a/AVvXsEhquRUhyKg-cCqEgOYl4jBkvsnyirAn_erShp5IeP5WsM7qqjCKNrh7SXSJ3HRIDJ4pu8bnSAubz_cGsikLDKBXqM2Q4lZuOlaMI5_H8hWlLu2hslL4HKEYtiBbdTPQbxqLZKWH4Pp42H4D7BLRsYfzpm0WIZzqopXF4GTcIGiDLe8SeQs6bzCxyXCYkw=s200"/></a></td>
<td>
<a href="https://blogger.googleusercontent.com/img/a/AVvXsEhb1LWaISgzjtn626uFuFNZltcVNgVoapMMfN1uwhRbKVI9K-uBIGYBeAlk8YN-pdrSAbIocT9g_5ZhnyQ6-rcZuTEKhveXU6tlrZmmkBnsw3el6dUDLqx0GL8cbMT93cvahshBAQCCs7sPYb12a6x1FM5Oi_u4k_TZgF53l7piSb5sEv341k_3gcvuRQ=s4032" style="display: block; padding: 1em 0; text-align: right; "><img alt="" border="0" width="200" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/a/AVvXsEhb1LWaISgzjtn626uFuFNZltcVNgVoapMMfN1uwhRbKVI9K-uBIGYBeAlk8YN-pdrSAbIocT9g_5ZhnyQ6-rcZuTEKhveXU6tlrZmmkBnsw3el6dUDLqx0GL8cbMT93cvahshBAQCCs7sPYb12a6x1FM5Oi_u4k_TZgF53l7piSb5sEv341k_3gcvuRQ=s200"/></a>
</td></tr></table>
<p>So both boards seem to be working! It is obviously used as a controller for some sort of industrial furnace/oven. I have also seen MIKUL 6218s with an EEPROM labled "PLCMATE" which I assume is similar to these programs. I ordered a 4x5 keypad which should make navigating the menus a bit easier. Now, I may take a stab at porting <a href="http://www.nitros9.org/">Nitros-9</a> on to it.
epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0tag:blogger.com,1999:blog-5051364811387091693.post-91448613508270304152021-10-31T09:48:00.004-07:002021-10-31T09:50:53.436-07:00RC2021/10 Final post<p>Well, I ended up having a very busy October (baby is due November 1st!), so I didnt get much done for RetroChallenge. I kept looking for a Zaurus I/O connector or serial cable on eBay, but did not have any luck. That said, I feel good that I helped organize my first RetroChallenge event, and I think it was a great success with 44 entries! I also did some programming on Google Suite to set up some infrastructure for the event. So, all in all a good month, despite the lack of retro computing! epoochhttp://www.blogger.com/profile/06765059549332407655noreply@blogger.com0