tag:blogger.com,1999:blog-5512826395070731262024-03-13T09:49:35.330-07:00Arduino NutSorted by Squirrels.SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.comBlogger83125tag:blogger.com,1999:blog-551282639507073126.post-29498978100656466032022-10-15T05:26:00.002-07:002022-11-21T04:16:31.337-08:00<p>So far so good!</p>
<p>And yes, they do all run on actual M5 hardware.</p>
<table>
<tbody>
<tr>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195983832-4100e1ec-dea4-47f2-b425-6974abf759d5.png" alt="burget time title" /></td>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195983836-f6914453-be70-45fe-abef-53c212e5f901.png" alt="burger time in-game" /></td>
</tr>
<tr>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195983842-65cc3138-de57-47a0-9e1c-c1e50b19840d.png" alt="carnival title" /></td>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195983843-db585b2d-f577-4d04-a802-6320117f7630.png" alt="carnival in-game" /></td>
</tr>
<tr>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195983847-62e36c51-d7f8-4b01-929f-f4d5fcb86efe.png" alt="carnival title" /></td>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195983852-d353bc5e-6c47-4082-8a96-5ce2cb9388ce.png" alt="carnival in-game" /></td>
</tr>
<tr>
<td>todo: give frogger a title screen :D</td>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195983863-7191c827-c708-4a64-a9c6-6e64575fff42.png" alt="frogger in-game" /></td>
</tr>
<tr>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195986055-af051cfa-784a-4244-8e32-8a9728dbd271.png" alt="gorf title" /></td>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195986162-c008d20e-3126-4230-b26c-e4b19a31291a.png" alt="gorf in-game" /></td>
</tr>
<tr>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195983868-b8d32062-e379-41ca-853f-282f3ecb7fc9.png" alt="hustler title" /></td>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195983871-93ef21ca-fca3-4c89-b8b9-22c5a9054df4.png" alt="hustler in-game" /></td>
</tr>
<tr>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195983877-ca162559-0251-40ce-b65b-747f06947b77.png" alt="q*bert title" /></td>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/195985110-9e4f5f72-9da2-436a-84e8-0363d7acb294.png" alt="q*bert in-game" /></td>
<td> </td>
</tr>
<tr>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/199200001-da0be1c6-ac93-475f-b640-29166213df52.png" alt="q*bert title" /></td>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/199200141-4fd010a1-cf18-45da-8756-d743f7fd22d8.png" alt="q*bert in-game" /></td>
<td> </td>
</tr>
<tr>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/199200935-6a71549a-0b56-4ecd-889d-890cd6011c34.png" alt="q*bert title" /></td>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/199200230-babb59a2-f626-4d2b-a502-8168b71be2d1.png" alt="q*bert in-game" /></td>
<td> </td>
</tr>
<tr>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/199200304-5f355c7a-6aa2-45dc-ab88-52d5d0b8ee57.png" alt="q*bert title" /></td>
<td><img style="margin: 1px 15px;" src="https://user-images.githubusercontent.com/14291932/199200348-68318a3c-5fe8-473a-84b4-72f5fefd2b16.png" alt="q*bert in-game" /></td>
<td> </td>
</tr>
</tbody>
</table>
SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-45277174515740390182022-10-12T03:43:00.003-07:002022-10-12T04:34:13.235-07:00What's old is new again - AKA M5 Madness<p> I've been going from port to port recently. It started with Chuckie Egg. A favourite game of mine.<br /><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://user-images.githubusercontent.com/14291932/195320087-0517003e-0760-46b9-82f4-36ca2fd2adbd.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="248" data-original-width="290" height="342" src="https://user-images.githubusercontent.com/14291932/195320087-0517003e-0760-46b9-82f4-36ca2fd2adbd.png" width="400" /></a></div><div style="text-align: left;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://user-images.githubusercontent.com/14291932/195320175-26d95750-adfa-460e-a1fd-9bb1122018e9.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="248" data-original-width="290" height="342" src="https://user-images.githubusercontent.com/14291932/195320175-26d95750-adfa-460e-a1fd-9bb1122018e9.png" width="400" /></a></div><p>It was ported to the venerable M5 from the Tatung Einstein code. Of all the Chuckies I think this is one of the best as it has the 'physics' of the BBC micro version that I grew up with, but much less of the flicker.</p><p>You can read a little about how I went about it <a href="https://github.com/charlierobson/M5Cheg#m5cheg" target="_blank">here</a>.<br /><br />Apart from the qualities of the Tatung version I chose it as the port's source because it was on a machine fairly similar to the M5. Z80, TMS VDP, err that's it really :laughing:</p><p>The M5 version will appear on all new M5 Multi carts that I make from now on. Yes, I still make them - typically to order. You can always <a href="https://www.sellmyretro.com/" rel="nofollow" target="_blank">check SellMyRetro</a> (unaffiliated) or contact me directly from there or here via a message.<br /></p><p>I enjoyed the porting process so much I looked around to see if there were any other systems that were suitably M5-like. And oh yes indeed, there certainly is <a href="https://en.wikipedia.org/wiki/ColecoVision" rel="nofollow" target="_blank">one in particular...</a><br /></p>SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-45712962610750921602021-12-11T03:00:00.005-08:002021-12-11T03:02:09.756-08:00Carts on a case by case basis.<p>I've been making some M5Multi cart cases recently. I'm quite fond of the two-tone look. The PETG filament comes out with a lovely translucent quality. I know many of the M5s out there are the grey-topped CGL versions but everyone deserves a bit of colour in their lives, no?<br /></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg9S30zO0hrY8WUKXbVRXzFtDDp5xEDP_vdMw9NRA5GS58403MGqea6zNjW3_EQC6Bc9wXpFlZAvFgbGy1_rOcXsE-mzrxAv9X6JcZR5BG0vj1NcJE7QfIaWhtCBjkiB4oXKf3xple5iXyBXLCn0eq7DIEu6Nbra6j-9tA484jpWEgDBhxyrdm_ST-C=s4032" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="480" src="https://blogger.googleusercontent.com/img/a/AVvXsEg9S30zO0hrY8WUKXbVRXzFtDDp5xEDP_vdMw9NRA5GS58403MGqea6zNjW3_EQC6Bc9wXpFlZAvFgbGy1_rOcXsE-mzrxAv9X6JcZR5BG0vj1NcJE7QfIaWhtCBjkiB4oXKf3xple5iXyBXLCn0eq7DIEu6Nbra6j-9tA484jpWEgDBhxyrdm_ST-C=w640-h480" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiZp1WW4mY7yUS3RE_x_YvhFeZz-hoy4OhigxM6ZLstjTuScemjbXy05r5JFjhYX8CJaZb_rXn2bKXcilhpioEmXDne65MZkgIcqgocKrWS5VXjGNB1FUlIf5rENUvnaQceLwG5RiRK3ZSlGqIekZueY131CDIfH8vg-vNzU_uJBJY5F3-JtYIRMmwO=s4032" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="480" src="https://blogger.googleusercontent.com/img/a/AVvXsEiZp1WW4mY7yUS3RE_x_YvhFeZz-hoy4OhigxM6ZLstjTuScemjbXy05r5JFjhYX8CJaZb_rXn2bKXcilhpioEmXDne65MZkgIcqgocKrWS5VXjGNB1FUlIf5rENUvnaQceLwG5RiRK3ZSlGqIekZueY131CDIfH8vg-vNzU_uJBJY5F3-JtYIRMmwO=w640-h480" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgg0AEycfedeFvfAPAbtB_IdQbgxfRJBRiST3PTBLjAEdHvrB3535dghs9A29iZFdlAOVy5am5gba_RD7O-YkexLEFTzpWa4eqnD8gRZj0GzX5Ci7BhuCdnW3ud1n7S76MA_IYJaZxQXJap0-isPDO_EyYUa0Kk39ZB7RXuXZP-8IX_mb5ED4zHtooy=s4032" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="480" src="https://blogger.googleusercontent.com/img/a/AVvXsEgg0AEycfedeFvfAPAbtB_IdQbgxfRJBRiST3PTBLjAEdHvrB3535dghs9A29iZFdlAOVy5am5gba_RD7O-YkexLEFTzpWa4eqnD8gRZj0GzX5Ci7BhuCdnW3ud1n7S76MA_IYJaZxQXJap0-isPDO_EyYUa0Kk39ZB7RXuXZP-8IX_mb5ED4zHtooy=w640-h480" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjGsTfwon_TkXKaxxCCI9ljyPINzOLVRt2HNnamvjST_J-YCiNiunx92OiI2UKIwed08nchnMEIqM5PiXjyEGBe_SBMMy_F5oQaR5RieLFrlIaxJjvfhZw5CshF9lv_VGHMMF-mr5cBgLAv90u6MCMbXWotzHs_XD3q6_JuKFm0FRwABDl5w3zjCF0p=s4032" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="480" src="https://blogger.googleusercontent.com/img/a/AVvXsEjGsTfwon_TkXKaxxCCI9ljyPINzOLVRt2HNnamvjST_J-YCiNiunx92OiI2UKIwed08nchnMEIqM5PiXjyEGBe_SBMMy_F5oQaR5RieLFrlIaxJjvfhZw5CshF9lv_VGHMMF-mr5cBgLAv90u6MCMbXWotzHs_XD3q6_JuKFm0FRwABDl5w3zjCF0p=w640-h480" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjUO-I3_eHCEuTE-uwLic0haL_NnTLI3trds42G50urdD-IiMeW5eHkU_f5357KjXf-iwXuiipWSRr0-6wlSh0u1BmhX8doyZPGP4rlR60Q6PzlkZt9LnIjY5_aWQUj48VK_EGI1okTJSZKTXYWy21Tv8UbS7lD1UxiCzjmqaOPi8ZAOdLfdLHB4DOI=s4032" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="480" src="https://blogger.googleusercontent.com/img/a/AVvXsEjUO-I3_eHCEuTE-uwLic0haL_NnTLI3trds42G50urdD-IiMeW5eHkU_f5357KjXf-iwXuiipWSRr0-6wlSh0u1BmhX8doyZPGP4rlR60Q6PzlkZt9LnIjY5_aWQUj48VK_EGI1okTJSZKTXYWy21Tv8UbS7lD1UxiCzjmqaOPi8ZAOdLfdLHB4DOI=w640-h480" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjcOwvunfeIvqHLpTxv3qpQdi6XFD36xqGKAgWUIIqPNsyvejcVQQlOSVSh4qTC91y5RPEeGFRdn77xhM_ZyDUZRb62_XI9qygIVNTM_MyijrydWsHnov4IaaKFbewdnqB3jyZagBfCecgv3Xfs3xPFNyaraL3UUGDdMRDrZApIE-tEDDghejWZjaex=s4032" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="480" src="https://blogger.googleusercontent.com/img/a/AVvXsEjcOwvunfeIvqHLpTxv3qpQdi6XFD36xqGKAgWUIIqPNsyvejcVQQlOSVSh4qTC91y5RPEeGFRdn77xhM_ZyDUZRb62_XI9qygIVNTM_MyijrydWsHnov4IaaKFbewdnqB3jyZagBfCecgv3Xfs3xPFNyaraL3UUGDdMRDrZApIE-tEDDghejWZjaex=w640-h480" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjV9_STuJLo-pVZDqywwRE3GuaHNR3TW_97XM8pUTWsvqeprAI8cvRbQtZmUuvIkBT_KZiqCMNWiXMjJol4tVlATNY8JjqYJ8rec5GiP3aj5LJDv5f9881rDLtoEdrtE9GW_6C8Ii-fvR2d9e_CyrT5uV3-4Y9-_ig9ayTuRsfkVryqm0b-crsYut7x=s4032" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="480" src="https://blogger.googleusercontent.com/img/a/AVvXsEjV9_STuJLo-pVZDqywwRE3GuaHNR3TW_97XM8pUTWsvqeprAI8cvRbQtZmUuvIkBT_KZiqCMNWiXMjJol4tVlATNY8JjqYJ8rec5GiP3aj5LJDv5f9881rDLtoEdrtE9GW_6C8Ii-fvR2d9e_CyrT5uV3-4Y9-_ig9ayTuRsfkVryqm0b-crsYut7x=w640-h480" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEggAxMaiFxBE_nIUJVfCuBIOFrAXQ8LXTFM7AdCjrn6f2GM-So8XW0uj-M6TWx5XdICO90VAttBdJHiXU0blxsI6FY_UKzRFUm8dpsC6KA9Wlu60CgPrMwo7XSdM_D07-k-N5xzMCDswryA-bH4i3Ica3GNZz60iQTO3Xls1YdSnPm-TK4H7i1nnnRD=s4032" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="480" src="https://blogger.googleusercontent.com/img/a/AVvXsEggAxMaiFxBE_nIUJVfCuBIOFrAXQ8LXTFM7AdCjrn6f2GM-So8XW0uj-M6TWx5XdICO90VAttBdJHiXU0blxsI6FY_UKzRFUm8dpsC6KA9Wlu60CgPrMwo7XSdM_D07-k-N5xzMCDswryA-bH4i3Ica3GNZz60iQTO3Xls1YdSnPm-TK4H7i1nnnRD=w640-h480" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhJTro-G2xUEGlP3qVL2m6MVJDSvqXb5-KXFVJ692drn-nQ1rHnzsyTlCUOdziMwJ7HDMn07xJIG6ayJLxvX7G529YqYgQdlxfYfscXveglHzrhR6pdasGkv6dWPw02JykpzDAPtybtvV8oFe2ndCpOjvIcJzcSfBkUdkXZMU_C1HVGkWbbdvoY699t=s4032" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="480" src="https://blogger.googleusercontent.com/img/a/AVvXsEhJTro-G2xUEGlP3qVL2m6MVJDSvqXb5-KXFVJ692drn-nQ1rHnzsyTlCUOdziMwJ7HDMn07xJIG6ayJLxvX7G529YqYgQdlxfYfscXveglHzrhR6pdasGkv6dWPw02JykpzDAPtybtvV8oFe2ndCpOjvIcJzcSfBkUdkXZMU_C1HVGkWbbdvoY699t=w640-h480" width="640" /></a></div><br /><p><br /></p>SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-31342305303444598212020-04-08T01:07:00.001-07:002020-04-08T01:07:27.892-07:00M5DEVI was asked if I made a cart that would enable development on the M5. I didn't but then some time passed and I did.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-2qsaosMjQxg/Xo2BjFG0fgI/AAAAAAAA6jc/QjEi4WhTnlEys0Rp2l0mvPqnPRdYAXmBgCKgBGAsYHg/s1600/IMG_20200328_150606.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="640" src="https://1.bp.blogspot.com/-2qsaosMjQxg/Xo2BjFG0fgI/AAAAAAAA6jc/QjEi4WhTnlEys0Rp2l0mvPqnPRdYAXmBgCKgBGAsYHg/s640/IMG_20200328_150606.jpg" width="480" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-HQuzUa1p4mY/Xo19MJObiNI/AAAAAAAA6i4/Z6AR8nPJuTgwv1uExIoOn-riJ1qEi9ndACKgBGAsYHg/s1600/IMG_20200327_165504.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://1.bp.blogspot.com/-HQuzUa1p4mY/Xo19MJObiNI/AAAAAAAA6i4/Z6AR8nPJuTgwv1uExIoOn-riJ1qEi9ndACKgBGAsYHg/s640/IMG_20200327_165504.jpg" width="640" /></a></div>
<br />
It's a fairly simple re-work of the Multi-II cart with data and some control lines broken out. And it's red. I've been paste-curious for a while now and I finally caved and ordered a stencil along with the PCBs. I've had a stencil before from the OSH people, hence the board retainers, but it didn't work out for me. This is from JLC and I have to say I'm very impressed with it. I've loved JLC for a long time now and despite trying other houses I keep going back. <br />
<br />
I don't have an oven but I do have a very basic hot air rework station. Even at this introductory level the process is simple and quick. I use a low temperature paste from the bay of E. The board can be pasted up, populated and cooked to perfection with a few waves of the hot-air-wand in a smattering of minutes.<br />
<br />
<span id="goog_2003967422"></span><br />
But does it work?<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-n740h1LcXjw/Xo1-wSbLyVI/AAAAAAAA6jQ/DG5PC5qlf48rchODZyWEg2kAR4vQQh5KQCKgBGAsYHg/s1600/IMG_20200408_082222.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1600" data-original-width="1200" height="640" src="https://1.bp.blogspot.com/-n740h1LcXjw/Xo1-wSbLyVI/AAAAAAAA6jQ/DG5PC5qlf48rchODZyWEg2kAR4vQQh5KQCKgBGAsYHg/s640/IMG_20200408_082222.jpg" width="480" /></a></div>
<br />
<span style="text-align: center;">Oh yes.</span><br />
<br />
Here it is connected to an SD-X. A useful little board if I do say so myself. I should build some more really. It's very crudely integrated at the moment but the plan is to refine the interface.<br />
<br />
This is the very first time <a href="https://github.com/charlierobson/biggoil-m5" target="_blank">my game BiggOil</a> downloaded to the M5 using the board.<br />
<br />
Right now the M5DEV decodes I/O requests into a simple read strobe and the SD-X listens out for it. When it sees the read request it puts a byte on the data bus. Repeat 8192 times. The SD-X is easily fast enough to service the IO requests and the result is an 8KB ROM image loading in under a second. 600mS to be exact-ish. It can go faster, I'm being a little conservative right now.<br />
<br />
The plan is to either make a dedicated board to interface with M5DEV or keep it SD-X based. The former idea could be cheaper but more work, and the latter would give more options. I intend to add WiFi via serial using an ESP series chip. This could provide a basic user interface. The work cycle would be compile, boot the m5 into a helper ROM, upload code to sd-x, download code to m5. A round-trip of a few tens of seconds I reckon.<br />
<br />
Oh yes and the M5DEV is also a fully-functioning first-class M5Multi-II!<br />
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-24415192293078543962019-05-24T02:22:00.000-07:002019-06-09T01:46:32.045-07:00Just in case...<div class="separator" style="clear: both; text-align: left;">
Lots of cart owners have asked about shells. Up 'till this point there haven't really been any other options other than cannibalising an existing M5 game cart. This isn't really an option due to the rarity of these beasties. This is why I didn't really cater for casing a cart in the first iterations of the board design, opting for something pleasing to the eye.</div>
<br />
Now I have a 3D printer that is all changing. Another M5 fan has published a design for a shell that holds a 'standard' PCB and<a href="https://www.thingiverse.com/thing:3343316" target="_blank"> I have used this as the basis for my own modification</a>. <br />
<br />
<div class="separator" style="clear: both; text-align: left;">
The first attempt is promising. I have re-designed the cart PCB to include some detents that will, with an appropriately designed shell, hold it securely in place.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/--Y3tBRsrgJU/XOeyqnUZ10I/AAAAAAAAzF8/IK5Kogfa9i0JikOTNkMaQ1A_Tm5tTKy2QCKgBGAs/s1600/IMG_20190523_174222.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://1.bp.blogspot.com/--Y3tBRsrgJU/XOeyqnUZ10I/AAAAAAAAzF8/IK5Kogfa9i0JikOTNkMaQ1A_Tm5tTKy2QCKgBGAs/s400/IMG_20190523_174222.jpg" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-RT8ceI6kZfI/XOeyqtzA2iI/AAAAAAAAzF8/BP28vJCnQKoTHazXjpn8VoPbaIalNmsIQCKgBGAs/s1600/IMG_20190523_174253.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://1.bp.blogspot.com/-RT8ceI6kZfI/XOeyqtzA2iI/AAAAAAAAzF8/BP28vJCnQKoTHazXjpn8VoPbaIalNmsIQCKgBGAs/s400/IMG_20190523_174253.jpg" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-A_-yOTiwal8/XOeyqth7vSI/AAAAAAAAzF8/xi_mG2bmKqsLeIBR5dFoKE_vHJDKjwGDACKgBGAs/s1600/IMG_20190523_174328.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://1.bp.blogspot.com/-A_-yOTiwal8/XOeyqth7vSI/AAAAAAAAzF8/xi_mG2bmKqsLeIBR5dFoKE_vHJDKjwGDACKgBGAs/s400/IMG_20190523_174328.jpg" width="400" /></a></div>
<br />
With a slight alteration to the case stand-offs the previous (pre-May 2019) PCBs can be held, and secured with a tiny blob of hot glue.<br />
<br />
I will probably make these shells for those who want one but aren't able to print their own. I will also be publishing the .STL files as a remix of the original design - see the link at the top of the post.<br />
<br />
For more information use the contact form at the foot of the page!SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-81303961317361914402018-09-22T06:53:00.001-07:002018-09-22T07:04:40.498-07:00Make your own M5 pad from scratch<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: start;">Here's how the M5 pad is wired. Eagle files linked below.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: start;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-XV73nAwj_78/W6ZIetz4eGI/AAAAAAAAwpA/C8oZa1zD_bMsP8XkksO_lvp0-S15nio0wCLcBGAs/s1600/schema.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1047" data-original-width="1600" height="418" src="https://2.bp.blogspot.com/-XV73nAwj_78/W6ZIetz4eGI/AAAAAAAAwpA/C8oZa1zD_bMsP8XkksO_lvp0-S15nio0wCLcBGAs/s640/schema.png" width="640" /></a></div>
<br />
<a href="https://1drv.ms/u/s!ArSJDCAszrjwgYZn9nPcEX_b69dR7Q" rel="nofollow" target="_blank">Here's a zip with the eagle files in.</a><br />
<br />
<br />
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-67317923923775961642018-09-22T03:57:00.002-07:002018-09-22T03:57:37.598-07:00Ma5ter pad conversion<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">So</span></b> that's what a master system pad looks like inside. For what I'll be doing with it today it's absolutely perfect. I'll be re-wiring this for use with a Sord M5.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The M5 joypad circuit needs a distinct common connection for directions and buttons. Having the separate button and pad PCBs is a gift.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-X5HtviDNIB4/W6YZcYRJQtI/AAAAAAAAwm8/tcBvg7yeHm4DuCF0VRTL1h7dy4HZYx-oACKgBGAs/s1600/20180922_100914.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://3.bp.blogspot.com/-X5HtviDNIB4/W6YZcYRJQtI/AAAAAAAAwm8/tcBvg7yeHm4DuCF0VRTL1h7dy4HZYx-oACKgBGAs/s400/20180922_100914.jpg" width="400" /></a></div>
<br />
So desoldering ensues.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-jScCXyS1CQ8/W6YZ8V7tZFI/AAAAAAAAwnQ/5d3UH2TCXekHhMh1ljls-xxFwd4pPqU8QCKgBGAs/s1600/20180922_101922.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://3.bp.blogspot.com/-jScCXyS1CQ8/W6YZ8V7tZFI/AAAAAAAAwnQ/5d3UH2TCXekHhMh1ljls-xxFwd4pPqU8QCKgBGAs/s400/20180922_101922.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
There still needs to be some track cutting, the buttons should have no common connection. I'll need to interrupt the common and re-route it to one of the solder pads stage left.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-GEki-7Rvbz4/W6YaYlfuzXI/AAAAAAAAwng/ctie6gDdUqIzlD_rzU1ul6h6jQEJGkkawCKgBGAs/s1600/20180922_102739.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://4.bp.blogspot.com/-GEki-7Rvbz4/W6YaYlfuzXI/AAAAAAAAwng/ctie6gDdUqIzlD_rzU1ul6h6jQEJGkkawCKgBGAs/s400/20180922_102739.jpg" width="400" /></a></div>
<br />
Scratch 'n' Snipp. I've noticed at this point that the bottom left pads are conjoined. I'll have to see to that.<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-NeHX9o31dDU/W6Ya92bKaFI/AAAAAAAAwnw/kiYPPwVw_f8QxNWXuPOc5Xs46vQ7m9AiQCKgBGAs/s1600/20180922_103625.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://2.bp.blogspot.com/-NeHX9o31dDU/W6Ya92bKaFI/AAAAAAAAwnw/kiYPPwVw_f8QxNWXuPOc5Xs46vQ7m9AiQCKgBGAs/s400/20180922_103625.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br />OK. Pads separated, jumper wire in place and the required diodes fitted. Ready for wiring now, we are ... almost. The fire buttons are connected to UP and RIGHT connections. The pads work by having 2 wires as selectors. By asserting one after the other either the pad or the buttons can be checked. The diodes prevent the buttons from interfering when it's time to read the pad.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-Y_8CBI3DTvE/W6Ybt15CG0I/AAAAAAAAwoA/TtTGnA0fNNMgryYfXm8P4EiCfzDqrVdFwCKgBGAs/s1600/20180922_104136.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://3.bp.blogspot.com/-Y_8CBI3DTvE/W6Ybt15CG0I/AAAAAAAAwoA/TtTGnA0fNNMgryYfXm8P4EiCfzDqrVdFwCKgBGAs/s400/20180922_104136.jpg" width="400" /></a></div>
<br />
OK. NOW it's time for wiring.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-o1Q4M_DFy3o/W6Yb9IVELyI/AAAAAAAAwoE/niGh_Irqgl8grKD-IhHWb07RzBBzNfcCgCKgBGAs/s1600/20180922_104757.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://3.bp.blogspot.com/-o1Q4M_DFy3o/W6Yb9IVELyI/AAAAAAAAwoE/niGh_Irqgl8grKD-IhHWb07RzBBzNfcCgCKgBGAs/s400/20180922_104757.jpg" width="400" /></a></div>
<br />Done!<br /><br />Now there was some devilish detail that I somewhat conveniently glossed over in the previous interstitial texts. Like the fact that the copper-exposing-scratching for the jumper wire was done in a very particular place. The surround of the little rubber contacts was carefully avoided. Did you wonder why the line was drawn on the PCB earlier? You did? Give yourself 5 extra points for observation. Very good.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-gD7dKwg5rNU/W6YdQFtyPFI/AAAAAAAAwoY/sAdOM-q0eYc597IPywjSwhv929vP79-mQCKgBGAs/s1600/20180922_102820.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://4.bp.blogspot.com/-gD7dKwg5rNU/W6YdQFtyPFI/AAAAAAAAwoY/sAdOM-q0eYc597IPywjSwhv929vP79-mQCKgBGAs/s400/20180922_102820.jpg" width="400" /></a></div>
<br />
<br />
The button PCB sits on a little rectangular plinth inside the case, so the additional wire needed to be placed so it doesn't foul.<br /><br />
With all that done the replacement cable is soldered.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-9jYYMa1T9qI/W6Yd_6kkjSI/AAAAAAAAwog/bwKnLQzDwuk4IXzjRaTjgv-6ljrvAwGDgCKgBGAs/s1600/20180922_104757.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://3.bp.blogspot.com/-9jYYMa1T9qI/W6Yd_6kkjSI/AAAAAAAAwog/bwKnLQzDwuk4IXzjRaTjgv-6ljrvAwGDgCKgBGAs/s400/20180922_104757.jpg" width="400" /></a></div>
<br />
The pad case has an internal cable restraint, very nice. Just make sure enough outer sleeve is cut from the cable so that the serpentine capture of the cable can sit snugly in the allotted cavity.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-jThWHhwgqms/W6YenX4X-jI/AAAAAAAAwos/fx3dfZbK-A4kiCT1xBu0XLHyEdOVc8A1QCKgBGAs/s1600/20180922_105510.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://2.bp.blogspot.com/-jThWHhwgqms/W6YenX4X-jI/AAAAAAAAwos/fx3dfZbK-A4kiCT1xBu0XLHyEdOVc8A1QCKgBGAs/s400/20180922_105510.jpg" width="400" /></a></div>
<br />
Very nice.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-5pAUBsq3REI/W6Yep3T_x6I/AAAAAAAAwow/GRL8pieDGAQe8NJfQs7NxJquT05G8mdsgCKgBGAs/s1600/20180922_105906.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://3.bp.blogspot.com/-5pAUBsq3REI/W6Yep3T_x6I/AAAAAAAAwow/GRL8pieDGAQe8NJfQs7NxJquT05G8mdsgCKgBGAs/s400/20180922_105906.jpg" width="400" /></a></div>
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-12405207271418576132018-07-11T00:19:00.000-07:002018-07-11T08:50:01.083-07:00SD-X on MSX. Introducing MSdX!<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-ZVFTJSQumcM/W0WvPixAMrI/AAAAAAAAvSo/Sb_OpJzXV8gCV1EMMzPG7pPxhfe2U7OoACLcBGAs/s1600/20180710_221916_Richtone%2528HDR%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="360" src="https://4.bp.blogspot.com/-ZVFTJSQumcM/W0WvPixAMrI/AAAAAAAAvSo/Sb_OpJzXV8gCV1EMMzPG7pPxhfe2U7OoACLcBGAs/s640/20180710_221916_Richtone%2528HDR%2529.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
All-in-One, Plug-n-Play</div>
<br />
No bells, whistles, frills or frippery. MSX-1 all the way.<br /><br />So far it provides an emulated drive A. Standard .dsk files are mounted using a DOS COM file or BASIC extension. Plans are afoot to hack command.com in order to allow transparent access to the filesystem on the micro sd card.<br />
<br />
...<br />
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-75775410634140816522017-03-07T13:00:00.001-08:002018-07-11T08:51:24.781-07:00Introducing SD-X<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-6mMkuqSBOiM/WL8dWNyvrpI/AAAAAAAAs7k/hm8uq1WnkBUSzdzMFI2divWCNsnDc8MUgCLcB/s1600/IMG_3167.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="426" src="https://4.bp.blogspot.com/-6mMkuqSBOiM/WL8dWNyvrpI/AAAAAAAAs7k/hm8uq1WnkBUSzdzMFI2divWCNsnDc8MUgCLcB/s640/IMG_3167.jpg" width="640" /></a></div>
<br />
It was always my plan - SD for everything. And today we're one step closer. With a single interface board for ... well, everything. All you need to get sd-card powered fun from your favourite Z80 based 8-bitter is an inexpensive adapter board. And suitable code to access the card, naturally.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-lumCMQ0M1IM/WL8dV3YLaWI/AAAAAAAAs7c/W-YmeETz1jQHtA6H9EqRl6XJVrJXBiEaACEw/s1600/IMG_3157.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://2.bp.blogspot.com/-lumCMQ0M1IM/WL8dV3YLaWI/AAAAAAAAs7c/W-YmeETz1jQHtA6H9EqRl6XJVrJXBiEaACEw/s320/IMG_3157.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-Wk7_3ko_1qg/WL8dWEFWT7I/AAAAAAAAs7g/QjOngfUB1PwIojpp2B2URTxxofjIReBqgCEw/s1600/IMG_3163.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://1.bp.blogspot.com/-Wk7_3ko_1qg/WL8dWEFWT7I/AAAAAAAAs7g/QjOngfUB1PwIojpp2B2URTxxofjIReBqgCEw/s320/IMG_3163.jpg" width="320" /></a></div>
<br />
This is the first production board - ready for one lucky Tatung Einstein owner. We're still a way off full production but with this unit we're one step closer.<br />
<br />
Currently X = Tatung Einstein + Tandy TRS80 Model 1. Next up..?<br />
<br />
<br />
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com7tag:blogger.com,1999:blog-551282639507073126.post-10921247057607255082017-02-28T03:36:00.006-08:002017-02-28T03:39:51.778-08:00M5-Multi-II production pictures<div class="separator" style="clear: both; text-align: justify;">
<span style="text-align: start;">Better late than never - unless you're talking about rescue from a perilous life threatening situation I suppose. Here are a couple of pictures from the first production run, alas nearly all sold out - which is the late bit.</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="text-align: start;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: start;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-JT1wumSc0Gw/WLVgQq3geWI/AAAAAAAAs7A/TldQw877L0cmEKFp2oiXntmaPGxmhNg9QCLcB/s1600/m5m-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="416" src="https://3.bp.blogspot.com/-JT1wumSc0Gw/WLVgQq3geWI/AAAAAAAAs7A/TldQw877L0cmEKFp2oiXntmaPGxmhNg9QCLcB/s640/m5m-1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-mJG7UbWZM6I/WLVgQnLYSJI/AAAAAAAAs7E/RCNYJnQCAJwe8pQjzovFqai_9KnhN76fwCLcB/s1600/m5m-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="425" src="https://2.bp.blogspot.com/-mJG7UbWZM6I/WLVgQnLYSJI/AAAAAAAAs7E/RCNYJnQCAJwe8pQjzovFqai_9KnhN76fwCLcB/s640/m5m-2.jpg" width="640" /></a></div>
<br />
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com5tag:blogger.com,1999:blog-551282639507073126.post-59340807598119894492016-09-03T07:06:00.002-07:002016-09-03T07:07:29.443-07:00M5-Multi-II ... IIA couple of tweaks have reduced the size of the board by nearly 2 square inches, meaning that the medium run service from OSHPark is now feasible.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-bF2Z8dxA6uM/V8rYhLBNDNI/AAAAAAAAs3s/tQFdr1iWjVArYuf5XQzsLgVauFPGFoR5gCLcB/s1600/IMG_1335.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="425" src="https://2.bp.blogspot.com/-bF2Z8dxA6uM/V8rYhLBNDNI/AAAAAAAAs3s/tQFdr1iWjVArYuf5XQzsLgVauFPGFoR5gCLcB/s640/IMG_1335.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-RN-plQob0PY/V8rYiVmfAsI/AAAAAAAAs3w/CgLXxllZzQYgsRrKJD8bzO5ozkbmkr4RwCLcB/s1600/IMG_1336.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="425" src="https://3.bp.blogspot.com/-RN-plQob0PY/V8rYiVmfAsI/AAAAAAAAs3w/CgLXxllZzQYgsRrKJD8bzO5ozkbmkr4RwCLcB/s640/IMG_1336.JPG" width="640" /></a></div>
<br />
I just need to adjust the size of the printing on the front and move a capacitor so that the EEPROM socket doesn't foul on it but other than that I believe it's good to go!<br />
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-91412304185548625412016-08-13T10:12:00.001-07:002016-08-13T10:24:49.638-07:00Sord M5 - Multicart V2Finally the ennui has passed and some time was devoted to seeing what I could rescue from the ashes of the original M5 multi-cart.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-F2MmFmNSgdM/V69MgX_1qeI/AAAAAAAAs18/VJzaZraKweIMAAdYzEGgkfRGY8uwKz79wCEw/s1600/IMG_0873.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="https://2.bp.blogspot.com/-F2MmFmNSgdM/V69MgX_1qeI/AAAAAAAAs18/VJzaZraKweIMAAdYzEGgkfRGY8uwKz79wCEw/s1600/IMG_0873.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="https://2.bp.blogspot.com/-F2MmFmNSgdM/V69MgX_1qeI/AAAAAAAAs18/VJzaZraKweIMAAdYzEGgkfRGY8uwKz79wCEw/s400/IMG_0873.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-5YWQeQDt2pA/V69MgH-qLwI/AAAAAAAAs14/fh7eq8XNFzweUBVwpSlgYpAnwiOx9vxgQCLcB/s1600/IMG_0871.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://2.bp.blogspot.com/-5YWQeQDt2pA/V69MgH-qLwI/AAAAAAAAs14/fh7eq8XNFzweUBVwpSlgYpAnwiOx9vxgQCLcB/s1600/IMG_0871.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://2.bp.blogspot.com/-5YWQeQDt2pA/V69MgH-qLwI/AAAAAAAAs14/fh7eq8XNFzweUBVwpSlgYpAnwiOx9vxgQCLcB/s1600/IMG_0871.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" src="https://2.bp.blogspot.com/-5YWQeQDt2pA/V69MgH-qLwI/AAAAAAAAs14/fh7eq8XNFzweUBVwpSlgYpAnwiOx9vxgQCLcB/s400/IMG_0871.jpg" width="400" /></a></div>
<br />
Long-time readers may remember this board from a few years ago now. It's a complicated little thing, with lots of chips and passives and switches and chips and passives and things. It was a pain to make and to top it all the failure rate was in the high 70%.<br />
<br />
There were a number of factors that contributed to this situation and I dare say that I could probably get it working now that I've had some support and debugging help from a friend and fellow enthusiast - Bas at <a href="https://www.facebook.com/BetaGamma-Computing-486899808139431/" target="_blank">BetaGamma</a>.<br />
<br />
The main issue with the board was that the ROM images needed to be stepped through one-at-a-time by pressing the button on the front. It was a chore and the reset method I devised was at best unreliable.<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
What I really wanted was a menu-driven design which was simpler. So I came up with this.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-V9kLRZaM7SI/V69NC9uFt0I/AAAAAAAAs2I/0HsgviibhYsU5PcmqEEW7zEzaXI1HLDWQCLcB/s1600/IMG_0885.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="408" src="https://3.bp.blogspot.com/-V9kLRZaM7SI/V69NC9uFt0I/AAAAAAAAs2I/0HsgviibhYsU5PcmqEEW7zEzaXI1HLDWQCLcB/s640/IMG_0885.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Simple, eh!</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Gone was the PIC microcontroller and its supporting hardware. Added was my CPLD of choice, a Xilinx XC9500XL series chip. 5V tolerant, and in my experience utterly bomb-proof.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The M5's cartridge slot contains a few signals which are very useful - IOWRITE and EXTIOB. The former is what you'd probably guess - asserted when an IO write is in progress by the Z80. The latter is a signal originating in the M5's memory controller custom chip, and is asserted when an IO access is made to a port in the range $70-$7f. Under normal circumstances nothing in the system writes to this IO port.</div>
<br />
My plan was to watch for writes to one of the $7x ports and capture the data bus content. This would be used as a base page number for selecting any one of the 64 8K pages of rom in the multicart's EEPROM. Most of the M5's carts are 8k, with the exception of BASICs F & G, and FALC - the M5's spreadsheet.<br />
<br />
The M5 has 3 ROM select lines on the cartridge slot. ROM1, ROM2 and EXT-ROM.<br />
<br />
ROM1 selects 8k in the region $2000-$4000<br />
<div>
ROM2 selects 8k in the region $4000-$6000<br />
EXT-ROM selects 4K in the region $6000-$7000<br />
<br />
The CPLD outputs 6 address lines used as bank selection on the EEPROM. The bank number output is a sum of the base bank number set by the Z80, and a 2 bit number formed by ROM2 and EXT-ROM being bit 0 and bit 1 respectively.</div>
<div>
<br /></div>
<div>
With this logic in place and a suitable menu program written and debugged using MESS, I finally had the multicart working that I'd originally imagined.</div>
<div>
<br /></div>
<div>
A fairly simple job of re-working the original schematic and board in EAGLE, another simple job of uploading the design to my favourite short-run fab-house and a final simple job of waiting for 2 weeks and here is the result:</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-nc9B1d0dKE8/V69M4gDdnmI/AAAAAAAAs2A/aOAY0NXNoFwCrpE8A0myNxA3ggx0_Rs6ACLcB/s1600/IMG_0876.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="472" src="https://2.bp.blogspot.com/-nc9B1d0dKE8/V69M4gDdnmI/AAAAAAAAs2A/aOAY0NXNoFwCrpE8A0myNxA3ggx0_Rs6ACLcB/s640/IMG_0876.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-HNLlkahl7nw/V69M-aSJYhI/AAAAAAAAs2E/YXL3LcOGYpcMnfFlD-Ass_KjJO66NXxeACLcB/s1600/IMG_0881.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="478" src="https://4.bp.blogspot.com/-HNLlkahl7nw/V69M-aSJYhI/AAAAAAAAs2E/YXL3LcOGYpcMnfFlD-Ass_KjJO66NXxeACLcB/s640/IMG_0881.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Perfect. Purple.</div>
<br />
I just need to sort out a manufacturer for a mid size run of boards then I'll be selling these.SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-59851100699257120232016-06-11T14:26:00.002-07:002016-06-11T14:27:59.321-07:00Sea Dragon. SEA DRAGON!<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/zm0rruO8mvo/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/zm0rruO8mvo?feature=player_embedded" width="320"></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
There's always Sea Dragon.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Loading from SD card, natch. This time on a Video Genie.</div>
SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-27228955980487189672016-06-10T09:14:00.001-07:002016-06-10T11:19:56.401-07:00Feeding the GenieThe einSDein interface is quite versatile. At its connector it is simply a very basic set of Z80 bus and control lines.<br />
<br />
RD, WR,IORQ, M1. A[0..7] and D[0..7].<br />
<br />
So it shouldn't be hard to interface to other Z80-based computers, right?<br />
<br />
Right!<br />
<br />
<a href="http://2.bp.blogspot.com/-CDi2abaAIIU/V1rjuZBAvsI/AAAAAAAAsyE/ySbhPHhhhW8MnlGF74yxeZPQ0reWV2PaQCK4B/s1600/20160609_221530.jpg" imageanchor="1"><img border="0" height="480" src="https://2.bp.blogspot.com/-CDi2abaAIIU/V1rjuZBAvsI/AAAAAAAAsyE/ySbhPHhhhW8MnlGF74yxeZPQ0reWV2PaQCK4B/s640/20160609_221530.jpg" width="640" /></a><br />
<br />
Here is an issue 2 einSDein wired up to a <a href="https://en.wikipedia.org/wiki/Video_Genie" target="_blank">Video Genie</a>, the UK version of the popular TRS-80 clone made by the EACA corporation. It is variously known by other names such as the Dick Smith System 80, PMC-80, TRZ-80 and so on.<br />
<br />
The expansion connector breakout was custom made one rainy afternoon, and while it looks a mess it does the business.<br />
<br />
A small machine language program was written to perform a directory listing of the SD card. This was converted into a cassette image format, then loaded using <a href="http://knut.one/PlayCAS.htm" target="_blank">PlayCAS</a>.<br />
<br />
<a href="https://www.youtube.com/watch?v=6uqybViCRi4" target="_blank">Here is a video</a> on arguably the best known video distribution channel in the western hemisphere. It shows the aforementioned program pulling a listing from the interface pictured above.<br />
<br />
The more eagle-eyed may recognise that the programs on the card are not Genie programs. This is being attended to, dear reader. I have written a converter program which takes cassette image format files and spits out a raw-ish binary dump which can be loaded from SD card. It only works with 'system' or machine language programs at the moment, but a gander at the <a href="http://www.classic-computers.org.nz/system-80/manuals_Level%20II%20ROM%20Reference%20Manual.pdf" target="_blank">Level II ROM reference</a> book will soon see to that restriction.<br />
<br />
Armed with a copy of MAME and its fine debugger I will spend a few quality hours stepping through the cassette loading functions to see what I need to do in order to craft a work-alike in order to load BASIC from the SD card.<br />
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-19972473555489525212016-06-08T04:43:00.001-07:002016-06-08T04:43:10.470-07:00Bit-ing the bucket. A tale of mixed metaphors.I have a few Mercurial repositories in BitBucket that I wanted to convert to Git, after undergoing something of a conversion myself. After a lot of onlinesearchengining for automated solutions, and being disappointed with the amount of effort involved, I came up with a rather nifty way of doing this without having to install and configure the HG command line tools. Sure enough, the <i>hggit </i>plugin sounds very quick and convenient - assuming you have HG installed. My way is undoubtedly clunky and a bit of a hack, but that's the way I like it, baby!<br />
<br />
I will assume that if you want to do this you have a BitBucket account already set up and you have, or will soon have, a GitHub account. The GitHub account is only used temporarily.<br />
<br />
<h4>
Step 0. BitBucket</h4>
Rename the convertee BitBucket repo, unless you will give the new git-i-fied version a different name. Click the gear icon in the left hand panel on your repository details page to get to the repo settings page where this can be achieved.<br />
<br />
<a href="http://4.bp.blogspot.com/-7NejL80H6Tk/V1f8s_Qb6EI/AAAAAAAAswQ/JnznJxCOIc4FQAvD7xW_KyuFQ29hQ1HgACK4B/s1600/bb-settingsgear.png" imageanchor="1"><img border="0" height="140" src="https://4.bp.blogspot.com/-7NejL80H6Tk/V1f8s_Qb6EI/AAAAAAAAswQ/JnznJxCOIc4FQAvD7xW_KyuFQ29hQ1HgACK4B/s200/bb-settingsgear.png" width="200" /></a><br />
<br />
Edit the repo name and click the large 'Save Repository Settings' button.<br />
<br />
<a href="http://1.bp.blogspot.com/-ib8ETuuPb30/V1f8wlnxOkI/AAAAAAAAswY/xMdvSqRVXzQessikLOCjI226-e6d1JmowCK4B/s1600/bb-rename.png" imageanchor="1"><img border="0" height="498" src="https://1.bp.blogspot.com/-ib8ETuuPb30/V1f8wlnxOkI/AAAAAAAAswY/xMdvSqRVXzQessikLOCjI226-e6d1JmowCK4B/s640/bb-rename.png" width="640" /></a><br />
<br />
<h4>
Step 1. GitHub.</h4>
Click on the '+' icon at the top right of your GitHub home page.<br />
Select 'Import Repository'.<br />
<br />
<a href="http://1.bp.blogspot.com/-o6_ltDjP85Q/V1f89rJRnWI/AAAAAAAAswg/gDoK4sctgwIdZqQ3IcNSSljTCEN_IZO5QCK4B/s1600/github-import.png" imageanchor="1"><img border="0" height="123" src="https://1.bp.blogspot.com/-o6_ltDjP85Q/V1f89rJRnWI/AAAAAAAAswg/gDoK4sctgwIdZqQ3IcNSSljTCEN_IZO5QCK4B/s200/github-import.png" width="200" /></a><br />
<br />
Enter the URL of the BitBucket repo you wish to convert.<br />
Give a name to the GitHub copy. Choose anything, it won't live for long.<br />
Begin the import by clicking the big green button.<br />
<br />
<a href="http://1.bp.blogspot.com/-CIcXaAWPW0w/V1f-ku0Ro0I/AAAAAAAAsxc/rb-EVx5z8V0Owa97gp86YHhk3MY6027wwCK4B/s1600/gh-urlandname.png" imageanchor="1"><img border="0" height="361" src="https://1.bp.blogspot.com/-CIcXaAWPW0w/V1f-ku0Ro0I/AAAAAAAAsxc/rb-EVx5z8V0Owa97gp86YHhk3MY6027wwCK4B/s400/gh-urlandname.png" width="400" /></a><br />
<br />
You may be prompted to enter your BitBucket credentials. GitHub will not store these.<br />
<br />
<a href="http://4.bp.blogspot.com/-y6pTQ8YgmLI/V1f9WQsZaEI/AAAAAAAAsw4/hEUwtOJew2QpmciQPOIFWAY2lXAJ9cJggCK4B/s1600/gh-entercreds.png" imageanchor="1"><img border="0" height="252" src="https://4.bp.blogspot.com/-y6pTQ8YgmLI/V1f9WQsZaEI/AAAAAAAAsw4/hEUwtOJew2QpmciQPOIFWAY2lXAJ9cJggCK4B/s400/gh-entercreds.png" width="400" /></a><br />
<br />
The repo will now be imported.<br />
If there are questions about contributors, you can safely ignore them if you wish.<br />
<br />
<a href="http://3.bp.blogspot.com/-sHi8jpvGwZc/V1f9tnWLb6I/AAAAAAAAsxE/yadOKg66Gr8vJq44DCtfkRDJvchjzj14ACK4B/s1600/gh-importing.png" imageanchor="1"><img border="0" height="243" src="https://3.bp.blogspot.com/-sHi8jpvGwZc/V1f9tnWLb6I/AAAAAAAAsxE/yadOKg66Gr8vJq44DCtfkRDJvchjzj14ACK4B/s400/gh-importing.png" width="400" /></a><br />
<br />
<h4>
Step 2. BitBucket.</h4>
Select the Repositories button in the menu at the top of the page, and choose the Import option.<br />
Enter the URL of the newly created GitHub repo.<br />
Nominate a new name for the converted repo.<br />
Click the 'Import Repository' button.<br />
<br />
<a href="http://1.bp.blogspot.com/-Bivsplx3ErE/V1f9_pbNtxI/AAAAAAAAsxQ/-liYBYrrSVsixbS-GQNi1bDESPqqz7lXwCK4B/s1600/bb-import.png" imageanchor="1"><img border="0" height="335" src="https://1.bp.blogspot.com/-Bivsplx3ErE/V1f9_pbNtxI/AAAAAAAAsxQ/-liYBYrrSVsixbS-GQNi1bDESPqqz7lXwCK4B/s400/bb-import.png" width="400" /></a><br />
<br />
Machinations!<br />
<br />
<a href="http://3.bp.blogspot.com/-80mNsiDeAC8/V1gCovBaa2I/AAAAAAAAsx0/97xJcguj7fYNJ04zU6oOKm90MMkK9nxKACK4B/s1600/bb-importing.png" imageanchor="1"><img border="0" height="352" src="https://3.bp.blogspot.com/-80mNsiDeAC8/V1gCovBaa2I/AAAAAAAAsx0/97xJcguj7fYNJ04zU6oOKm90MMkK9nxKACK4B/s640/bb-importing.png" width="640" /></a><br />
<br />
And that's it! This process has worked for me quite successfully on a number of projects.<br />
<br />
May the Petits Fours be with you.<br />
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-59783189333080195962016-04-01T04:30:00.000-07:002016-04-01T04:30:08.918-07:00This<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-BGfSur0rMto/Vv5bqcWF7JI/AAAAAAAAsuQ/N3MrcmGmRAkxLb8jv-wEAaRBUpNBRvwwQ/s1600/20160311_163528.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://4.bp.blogspot.com/-BGfSur0rMto/Vv5bqcWF7JI/AAAAAAAAsuQ/N3MrcmGmRAkxLb8jv-wEAaRBUpNBRvwwQ/s320/20160311_163528.jpg" width="320" /></a></div>
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com2tag:blogger.com,1999:blog-551282639507073126.post-75525335746621668392013-08-07T07:10:00.004-07:002013-08-07T07:12:29.739-07:00Serial #000000000000000001<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-U9R0Q1QD_GM/UgJTndHWMaI/AAAAAAAAgOM/59xpE0L833Q/s1600/DSCF6323.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="http://3.bp.blogspot.com/-U9R0Q1QD_GM/UgJTndHWMaI/AAAAAAAAgOM/59xpE0L833Q/s640/DSCF6323.JPG" width="640" /></a></div>
<br />
Thanks to the folks at <a href="http://oshpark.com/">OSH Park </a> the first production prototype has been assembled. It's quite one thing to cut the board yourself and quite another to have something so very purple and gold...<br />
<br />
<div style="text-align: center;">
As usual, click to embiggen.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-OiL2TOGONic/UgJTojuJERI/AAAAAAAAgOU/vqbF4cLbGYs/s1600/DSCF6321.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-OiL2TOGONic/UgJTojuJERI/AAAAAAAAgOU/vqbF4cLbGYs/s320/DSCF6321.JPG" width="320" /></a></div>
<br />
With all the handshaking issues worked out I now have a very fast and solid transfer protocol, able to load a 40K program in 300 milliseconds.<br />
<br />
Work is now ongoing to develop the utility ROM to enable two virtual disk drives 2: and 3:. Basic support is done but I'd love to be able to boot from an SD drive. Achieving this will be a challenge if I'm to retain 100% support for the various DOS versions available for this fine machine.<br />
<br />
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com3tag:blogger.com,1999:blog-551282639507073126.post-57695525777984037582013-06-20T10:33:00.000-07:002013-06-20T10:34:01.296-07:00Loading Einstein programs from SD cardFinally it's working!<br />
<br />
<a href="http://www.youtube.com/watch?v=VA3agKxpm8k">http://www.youtube.com/watch?v=VA3agKxpm8k</a><br />
<br />
There are still a few issues around some of the timing for handshaking, but I'll apply the logic analyser once I've found a reproducible test case.<br />
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-2889550943813962772013-06-13T06:55:00.002-07:002013-06-13T07:25:40.895-07:00What did _you_ do in your lunch-hour?As per the previous post - they were out of raspberry and white chocolate muffins, so...<br />
<br />
It's amazing what a coat of paint does for a prototype board! This is the result of a careful spraying of Plastikote 'Creme de la creme' - AKA 'Retrocomputer white'. Ignore the bloom in the picture - that's just an artifact of whatever additional compression has been applied to the JPEG. In the flesh, as it were, the board is a gleaming off-white.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-XQVA1FKnqgI/UbnN3ES5EbI/AAAAAAAAVgA/dwc0hP5g1ZQ/s1600/DSCF6239.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://3.bp.blogspot.com/-XQVA1FKnqgI/UbnN3ES5EbI/AAAAAAAAVgA/dwc0hP5g1ZQ/s400/DSCF6239.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
And here's the solder side. I can't wait to get stuffing.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-WQQqzEosJqw/UbnN3UMFFGI/AAAAAAAAVgE/N0r37RsCidw/s1600/DSCF6245.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://2.bp.blogspot.com/-WQQqzEosJqw/UbnN3UMFFGI/AAAAAAAAVgE/N0r37RsCidw/s400/DSCF6245.JPG" width="400" /></a></div>
<br />
If you click to embiggen then you may see the teeny tiny capacitors - 0402s. They'll be the teeniest thing I've ever used.<br />
<br />
I treated myself to a fresh etching solution today as I was short of time. This board went from printer to camera in just under an hour. It would have been about half that if there wasn't a 60 way IDC connector and 44 pin CPLD socket on there :D<br />
<br />
At least I didn't drill any body parts today.<br />
<br />
If you haven't been following (shame on you!) then you have been looking at the second prototype of einSDein - an SD card interface for Tatung Einstein computers.<br />
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-65800037256376498652013-06-13T03:46:00.000-07:002013-06-13T04:02:43.402-07:00<span style="background-color: #fbfbff; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;">Today I wrote data from my <a href="http://www.old-computers.com/museum/computer.asp?c=86">Einstein</a> to the PIC controller.</span><br />
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-2VU2DybWih8/UbmhHy9RYhI/AAAAAAAAVfM/qxmyx3np2E0/s1600/hw.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="145" src="http://1.bp.blogspot.com/-2VU2DybWih8/UbmhHy9RYhI/AAAAAAAAVfM/qxmyx3np2E0/s320/hw.png" width="320" /></a></div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
<br /></div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
<br /></div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
The PIC controller is announcing the title, and a small test program on the Einy is writing the ubiquitous string, where it is received and displayed by the PIC.</div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
<br /></div>
<div style="margin: 0px; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Arial, sans-serif; font-size: x-small;"><span style="line-height: 16px;"><br /></span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;">.module fnMessageToHostW</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;">fnMessageToHostW:</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> ld hl,message-1</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> jr _endtest</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"><br /></span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;">_send:</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> call waitByteTaken</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> jp c,reportTimeout</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> out (WRITE),a</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> ld e,a</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> push hl</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> DOSCALL(CPM_FUNC_CONSOLE_OUT)</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> pop hl</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;">_endtest:</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> inc hl</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> ld a,(hl)</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> and a</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> jr nz,_send</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"><br /></span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;"> ret</span></span></div>
<div style="margin: 0px; padding: 0px;">
<span style="font-family: Courier New, Courier, monospace;"><span style="line-height: 16px;">.endmodule</span></span></div>
<div style="font-family: Arial, sans-serif; line-height: 16px; margin: 0px; padding: 0px;">
<br /></div>
</div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
<br /></div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
The hardware has changed a little since my first stab after finding out to my horror that unless I upgraded the processor to a totally over-the-top type then I wasn't going to be able to use hardware SPI and the parallel master port at the same time. Disaster. Of course I could have used software SPI - like I did in the Acorn Atom version of this board - but that would have been too easy. Instead I chose to stand on the shoulders of a giant and implement the parallel port in the CPLD. My friend Phill had done this for the Dragon and so I've lifted a good portion of his design. Thanks Phill! </div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
<br /></div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
Phill's design has several advantages over the built-in hardware of the PIC. </div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
<br /></div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
1. It's processor agnostic so this design could be used with AVR, ARM, or whatever other chip you have handy.</div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
<br /></div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
B. Unlike the PIC the host computer can query the state of the buffers making for a slight increase in speed when polling long operations.</div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
<br /></div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
It hasn't been easy, I've spent a couple of days crying into my milk because it wasn't working and I just didn't know why. I added LEDs to make myself feel better. <span style="line-height: 1.3;">I stripped the implementation back to literally nothing and started again a couple of times. I stared at the code for Einy, PIC and CPLD until I realised my stupid mistake. One part of the design used active low logic, and the other was active high. With that sorted we appear to have lift-off!</span></div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
<br /></div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
Here's some glamour shots. Firstly - the thing in action!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-tkzeei0Hxr4/UbmktSbppdI/AAAAAAAAVfg/m4MnOsmcfVE/s1600/DSCF6226.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://3.bp.blogspot.com/-tkzeei0Hxr4/UbmktSbppdI/AAAAAAAAVfg/m4MnOsmcfVE/s400/DSCF6226.JPG" width="400" /></a></div>
<br />
To the left is the Xilinx programmer, to the right is Pickit3. Centre stage is the serial lead, an FTDITTL232. Bet you're really pleased I told you that.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-7N_JQcstJ9E/Ubmkte0chvI/AAAAAAAAVfc/7pUpVNhGkF8/s1600/DSCF6236.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://2.bp.blogspot.com/-7N_JQcstJ9E/Ubmkte0chvI/AAAAAAAAVfc/7pUpVNhGkF8/s400/DSCF6236.JPG" width="400" /></a></div>
<br /></div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
And here she lies, disconnected. Do you like the wiring mess? :D This should sort it out:<br />
<br />
Miraculously I've managed to fit this on a single layer which should make things a touch easier.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-DAT3aEHqW-o/Ubmlzh4FNeI/AAAAAAAAVfw/pap4RZH2wL0/s1600/v2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="291" src="http://4.bp.blogspot.com/-DAT3aEHqW-o/Ubmlzh4FNeI/AAAAAAAAVfw/pap4RZH2wL0/s320/v2.png" width="320" /></a></div>
<br />
<br /></div>
<div style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px;">
Next step will be to add the SD card handling to the PIC code. Or making the new board. Or a raspberry and white chocolate muffin. Decisions, decisions.</div>
<div>
<br /></div>
SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-63119285778012409852013-05-19T13:07:00.000-07:002013-05-19T13:07:18.587-07:00It can never be simpleI'd forgotten that I can't run a PIC18F4525 at 3.3V and expect it to work reliably. The minimum recommended volume is 4.2V. I can switch to the low voltage part, but speed decreases with voltage so I'm considering something a little more radical. Brain transplant!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-L-GQykypaYY/UZksbRb6ANI/AAAAAAAAUQA/scHT2d-rzhw/s1600/DSCF6169.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="http://2.bp.blogspot.com/-L-GQykypaYY/UZksbRb6ANI/AAAAAAAAUQA/scHT2d-rzhw/s400/DSCF6169.JPG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-hS-17ZiiAmE/UZkscmmbw9I/AAAAAAAAUQI/ZDL835cOAsw/s1600/DSCF6174.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="http://1.bp.blogspot.com/-hS-17ZiiAmE/UZkscmmbw9I/AAAAAAAAUQI/ZDL835cOAsw/s400/DSCF6174.JPG" width="400" /></a></div>
<br />
This is a PIC32MX broken out to solder pads. I'll wire it point to point to work out some minimal implementation as I go along porting the code. It pops into the vacated PIC18 socket, hence the strange lop-sided appearance - there are pins on the board that need to be avoided.<br />
<br />
This was the 1st chip which I soldered with paste & hot air.SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com1tag:blogger.com,1999:blog-551282639507073126.post-33437287601053389472013-05-16T06:53:00.001-07:002013-05-16T06:54:35.231-07:00EinSDein Step 2Told you I would :D<br />
<br />
Now on to the modification of the firmware. I'm going to be using a branch of the AtoMMC firmware which will allow both linear and sector-based access to files. This will allow the use of disk images directly from the FAT filing system.<br />
<br />
I haven't decided yet whether to use memory or IO mapped accesses. That's the beauty of using programmable logic.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-_xbUCCKw5lk/UZTkBPOhG3I/AAAAAAAAUPw/qU9jdV-HLt8/s1600/DSCF6144.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="http://3.bp.blogspot.com/-_xbUCCKw5lk/UZTkBPOhG3I/AAAAAAAAUPw/qU9jdV-HLt8/s640/DSCF6144.JPG" width="640" /></a></div>
<span id="goog_216239169"></span><span id="goog_216239170"></span><br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-31618333910667603232013-05-11T06:20:00.002-07:002013-05-11T06:20:59.742-07:00EinSDein drei vier!The board has been very patient waiting for me to have enough time to solder it up. It appears that I have some free time this fine Saturday afternoon so I'm going to heat up the Hakko..!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-4xvZJZ8og-U/UY5FdqcNvYI/AAAAAAAAT_w/O9R8WFv37tc/s1600/DSCF6113.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-4xvZJZ8og-U/UY5FdqcNvYI/AAAAAAAAT_w/O9R8WFv37tc/s320/DSCF6113.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-tnv4BychnAc/UY5FdfNV-UI/AAAAAAAAT_s/tegtesc-jt8/s1600/DSCF6116.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-tnv4BychnAc/UY5FdfNV-UI/AAAAAAAAT_s/tegtesc-jt8/s320/DSCF6116.JPG" width="320" /></a></div>
<br />SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com0tag:blogger.com,1999:blog-551282639507073126.post-34815557568143171052013-04-17T08:19:00.003-07:002013-04-17T08:21:03.527-07:00Tatung Einstein SD card interface<div class="separator" style="clear: both; text-align: left;">
No computer left behind - That's my motto! And just to prove it here is the first public outing of the circuit for EinSDein. I just thought of that name, snappy, eh? :D</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-BlhdT0Kg2yA/UW68ch4P9PI/AAAAAAAATMQ/2SYVcydS9p4/s1600/einsteinsd-top.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="227" src="http://1.bp.blogspot.com/-BlhdT0Kg2yA/UW68ch4P9PI/AAAAAAAATMQ/2SYVcydS9p4/s320/einsteinsd-top.png" width="320" /></a></div>
<div style="text-align: center;">
Click an image to embiggen it.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-GBiTBDqpYGE/UW68eRs7R-I/AAAAAAAATMY/cr_1HerpvJA/s1600/einsteinsd-bot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="227" src="http://3.bp.blogspot.com/-GBiTBDqpYGE/UW68eRs7R-I/AAAAAAAATMY/cr_1HerpvJA/s320/einsteinsd-bot.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
It's the usual suspects. A Pic18F452x class chip with its wonderful PSP, and a Xilinx XC9500 class CPLD. The whole thing runs at 3.3v so there's no need for any clumsy level conversion when accessing the SD card. The CPLD is 5V tolerant, which is nice.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
It will run a modified hybrid firmware from ZXpand and its Acorn Atom progenator - AtoMMC.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com1tag:blogger.com,1999:blog-551282639507073126.post-31491670664316560362013-04-14T14:25:00.003-07:002013-04-14T14:25:57.715-07:00Analyse this!While debugging AR80 I needed to attach the logic analyser semi-permanently. I came up with a shield stacker which has pin header posts soldered at a jaunty angle.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-mVEtXRLCSc8/UWsd5gXc-5I/AAAAAAAATLw/TOS8cCg9Vf4/s1600/DSCF6063.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-mVEtXRLCSc8/UWsd5gXc-5I/AAAAAAAATLw/TOS8cCg9Vf4/s320/DSCF6063.JPG" width="320" /></a></div>
These are just the usual long-legged sockets with smd-type pin header attached so that the spacer bar rests on the base of the socket part.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-WVg4K4b79Ao/UWsd5UW6p3I/AAAAAAAATL0/C5I3iwYoZ6o/s1600/DSCF6057.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-WVg4K4b79Ao/UWsd5UW6p3I/AAAAAAAATL0/C5I3iwYoZ6o/s320/DSCF6057.JPG" width="320" /></a></div>
This pushes the header pins out at a slight angle, allowing the analyser cable to attach without fouling on the shield itself.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-pyhKjFuxS8k/UWseC6eu5AI/AAAAAAAATME/IlWmspA--gU/s1600/DSCF6024.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="http://1.bp.blogspot.com/-pyhKjFuxS8k/UWseC6eu5AI/AAAAAAAATME/IlWmspA--gU/s640/DSCF6024.JPG" width="640" /></a></div>
<span id="goog_646761738"></span>SirMorrishttp://www.blogger.com/profile/07113097869951725059noreply@blogger.com5