<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Zyklus &#8211; Zyklus-MPS</title>
	<atom:link href="https://zyklus-mps.com/category/zyklus/feed/" rel="self" type="application/rss+xml" />
	<link>https://zyklus-mps.com</link>
	<description></description>
	<lastBuildDate>Sun, 01 Feb 2026 21:48:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>[ZYKLUS] Acrylate display cover</title>
		<link>https://zyklus-mps.com/zyklus-acrylate-display-cover/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 01 Feb 2026 21:48:36 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Zyklus]]></category>
		<guid isPermaLink="false">https://zyklus-mps.com/?p=592</guid>

					<description><![CDATA[Marcel&#8217;s buddy had some Acrylate display covers made that fit the front panel nicely. Since they were totally clear, I decided to see if I could black out the edges with Matte Black paint. This is the process and result: First, I masked the outsiude of  the  viewport on the frontside: Using this, I could [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Marcel&#8217;s buddy had some Acrylate display covers made that fit the front panel nicely. Since they were totally clear, I decided to see if I could black out the edges with Matte Black paint. This is the process and result:</p>
<p>First, I masked the outsiude of  the  viewport on the frontside:<br />
<img fetchpriority="high" decoding="async" class="alignnone size-large wp-image-597" src="https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.42.33-1024x753.png" alt="" width="640" height="471" srcset="https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.42.33-1024x753.png 1024w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.42.33-300x220.png 300w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.42.33-768x564.png 768w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.42.33.png 1298w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>Using this, I could mask the actual viewport on the inside, leaving out the part that needs to be matted:</p>
<p><img decoding="async" class="alignnone size-large wp-image-595" src="https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.42.49-1024x765.png" alt="" width="640" height="478" srcset="https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.42.49-1024x765.png 1024w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.42.49-300x224.png 300w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.42.49-768x573.png 768w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.42.49.png 1279w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>Add a shitload of black matte paint (quick drying)</p>
<p><img decoding="async" class="alignnone size-large wp-image-594" src="https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.43.01-1024x756.png" alt="" width="640" height="473" srcset="https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.43.01-1024x756.png 1024w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.43.01-300x221.png 300w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.43.01-768x567.png 768w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.43.01.png 1283w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>And presto:  Came out pretty good &#8211; maybe a tad too much on the far right side.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-593" src="https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.43.12-1024x558.png" alt="" width="640" height="349" srcset="https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.43.12-1024x558.png 1024w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.43.12-300x164.png 300w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.43.12-768x419.png 768w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-22.43.12.png 1280w" sizes="auto, (max-width: 640px) 100vw, 640px" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[ZYKLUS]</title>
		<link>https://zyklus-mps.com/zyklus/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 01 Feb 2026 19:54:58 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Zyklus]]></category>
		<guid isPermaLink="false">https://zyklus-mps.com/?p=588</guid>

					<description><![CDATA[Well, here it is, the open source release for the Zyklus clone: https://github.com/jeroenhn/zykl Thanks so much to Pete and Bill for allowing this project to go this far. Now go ahead and make your own!]]></description>
										<content:encoded><![CDATA[<p>Well, here it is, the open source release for the Zyklus clone:</p>
<p>https://github.com/jeroenhn/zykl</p>
<p>Thanks so much to Pete and Bill for allowing this project to go this far.</p>
<p>Now go ahead and make your own!</p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-589" src="https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-20.34.50-1024x556.png" alt="" width="640" height="348" srcset="https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-20.34.50-1024x556.png 1024w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-20.34.50-300x163.png 300w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-20.34.50-768x417.png 768w, https://zyklus-mps.com/wp-content/uploads/2026/02/Screenshot-2026-02-01-at-20.34.50.png 1400w" sizes="auto, (max-width: 640px) 100vw, 640px" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[ZYKLUS] Update</title>
		<link>https://zyklus-mps.com/zyklus-update/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 28 Oct 2025 14:37:54 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Zyklus]]></category>
		<guid isPermaLink="false">https://zyklus-mps.com/?p=534</guid>

					<description><![CDATA[On the Zyklus MPS front, there&#8217;s a lot brewing as wel. In essence we could now release everything as open source, where people can build their own and run it on the old MPS-1 software. But wouldn&#8217;t it be nice to have the ReZyklus variant of the software? I managed to find a linker and [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>On the Zyklus MPS front, there&#8217;s a lot brewing as wel.</p>
<p>In essence we could now release everything as open source, where people can build their own and run it on the old MPS-1 software.</p>
<p>But wouldn&#8217;t it be nice to have the ReZyklus variant of the software?<br />
I managed to find a linker and now I can build the whole code base as originally given to me. The problem is that the resulting EPROMS don&#8217;t actually run the machine. There are some variations in the main EPROM that are likely the result of further untested development when they were working towards V 1.3.  This is a bit of a puzzle obviously, but one I&#8217;m convinced I could nail using modern debugging tools and creating an emulator in Python.</p>
<p>To be continued.</p>
<p>The bank eproms also build and EPROM 2 actually runs&#8230;.</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-535" src="https://zyklus-mps.com/wp-content/uploads/2025/10/Screenshot-2025-10-28-at-15.37.35.png" alt="" width="449" height="318" srcset="https://zyklus-mps.com/wp-content/uploads/2025/10/Screenshot-2025-10-28-at-15.37.35.png 449w, https://zyklus-mps.com/wp-content/uploads/2025/10/Screenshot-2025-10-28-at-15.37.35-300x212.png 300w" sizes="auto, (max-width: 449px) 100vw, 449px" /></p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[ZYKLUS]  Trying EPROM Emulation</title>
		<link>https://zyklus-mps.com/zyklus-trying-eprom-emulation/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 10 May 2025 20:17:46 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Zyklus]]></category>
		<guid isPermaLink="false">https://zyklus-mps.com/?p=502</guid>

					<description><![CDATA[Most of the old Z80 assembly code has been ported to a more modern variant (z88dk-z80asm) &#8211; thanks to David for translating quite a lot of it. Now I can build new EPROMS and burn them, but the better and quicker way, I thought, would be using EPROM Emulators so I can upload the bin [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Most of the old Z80 assembly code has been ported to a more modern variant (z88dk-z80asm) &#8211; thanks to David for translating quite a lot of it.</p>
<p>Now I can build new EPROMS and burn them, but the better and quicker way, I thought, would be using EPROM Emulators so I can upload the bin files quickly without spending time burning, erasing, burning etc.</p>
<p>First try:<br />
I can emulate EPROM 0 without a hitch, the machine boots. including the others though, not so much. Not sure what is going on here.</p>
<p>For funsies, here&#8217;s a picture of the setup:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-503" src="https://zyklus-mps.com/wp-content/uploads/2025/05/IMG_8583.jpeg" alt="" width="2000" height="1500" srcset="https://zyklus-mps.com/wp-content/uploads/2025/05/IMG_8583.jpeg 2000w, https://zyklus-mps.com/wp-content/uploads/2025/05/IMG_8583-300x225.jpeg 300w, https://zyklus-mps.com/wp-content/uploads/2025/05/IMG_8583-1024x768.jpeg 1024w, https://zyklus-mps.com/wp-content/uploads/2025/05/IMG_8583-768x576.jpeg 768w, https://zyklus-mps.com/wp-content/uploads/2025/05/IMG_8583-1536x1152.jpeg 1536w" sizes="auto, (max-width: 2000px) 100vw, 2000px" /></p>
<p>&nbsp;</p>
<p>Second try, I can run on EPROM 0 and 2 emulated, so I&#8217;m thinking that one of the emulators is borked.</p>
<p>to confirm, I use 2 to emulate 1 and that works too.</p>
<p>Now I use the old 1 to emulate 2 and all of a sudden all three work.</p>
<p>&nbsp;</p>
<p>Eh. Weird stuff. Oh well, now I can focus on building the new binaries! Yay!</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-506" src="https://zyklus-mps.com/wp-content/uploads/2025/05/Screenshot-2025-05-10-at-22.35.30.png" alt="" width="753" height="999" srcset="https://zyklus-mps.com/wp-content/uploads/2025/05/Screenshot-2025-05-10-at-22.35.30.png 753w, https://zyklus-mps.com/wp-content/uploads/2025/05/Screenshot-2025-05-10-at-22.35.30-226x300.png 226w" sizes="auto, (max-width: 753px) 100vw, 753px" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[ZYKLUS] Dial Out</title>
		<link>https://zyklus-mps.com/zyklus-dial-out/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 25 Jan 2025 18:47:19 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Zyklus]]></category>
		<guid isPermaLink="false">https://zyklus-mps.com/?p=491</guid>

					<description><![CDATA[Time for a little Re-Zyklus update: The original machine had very heavy duty aluminum Encoder Dials. Some of the builders have tried 3d printed alternatives but just to see how it would pan out, I had JLCPCB create aluminum ones in black (would fit nicely with the white panels done by Paul). Thanks to user [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Time for a little Re-Zyklus update:</p>
<p>The original machine had very heavy duty aluminum Encoder Dials. Some of the builders have tried 3d printed alternatives but just to see how it would pan out, I had JLCPCB create aluminum ones in black (would fit nicely with the white panels done by Paul). Thanks to user Marcel, a working STEP file was obtained and a week or two later, this was the result!</p>
<p>(New on the left, original on the right)</p>
<figure id="attachment_492" aria-describedby="caption-attachment-492" style="width: 1506px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="wp-image-492 size-full" src="https://zyklus-mps.com/wp-content/uploads/2025/01/333.jpg" alt="" width="1506" height="892" srcset="https://zyklus-mps.com/wp-content/uploads/2025/01/333.jpg 1506w, https://zyklus-mps.com/wp-content/uploads/2025/01/333-300x178.jpg 300w, https://zyklus-mps.com/wp-content/uploads/2025/01/333-1024x607.jpg 1024w, https://zyklus-mps.com/wp-content/uploads/2025/01/333-768x455.jpg 768w" sizes="auto, (max-width: 1506px) 100vw, 1506px" /><figcaption id="caption-attachment-492" class="wp-caption-text">Dials</figcaption></figure>
<figure id="attachment_493" aria-describedby="caption-attachment-493" style="width: 1592px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="wp-image-493 size-full" src="https://zyklus-mps.com/wp-content/uploads/2025/01/222.jpg" alt="" width="1592" height="736" srcset="https://zyklus-mps.com/wp-content/uploads/2025/01/222.jpg 1592w, https://zyklus-mps.com/wp-content/uploads/2025/01/222-300x139.jpg 300w, https://zyklus-mps.com/wp-content/uploads/2025/01/222-1024x473.jpg 1024w, https://zyklus-mps.com/wp-content/uploads/2025/01/222-768x355.jpg 768w, https://zyklus-mps.com/wp-content/uploads/2025/01/222-1536x710.jpg 1536w" sizes="auto, (max-width: 1592px) 100vw, 1592px" /><figcaption id="caption-attachment-493" class="wp-caption-text">Dials</figcaption></figure>
<p>Still need to tap the threads in the holes for the grub screws, which will happen later. But they are spot on with the originals.</p>
<p>&nbsp;</p>
<p>Here&#8217;s one in the project Zyklus I got from Pete. You can also see clearly the moisture spots&#8230;</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-494 size-full" src="https://zyklus-mps.com/wp-content/uploads/2025/01/111.jpg" alt="" width="1850" height="1104" srcset="https://zyklus-mps.com/wp-content/uploads/2025/01/111.jpg 1850w, https://zyklus-mps.com/wp-content/uploads/2025/01/111-300x179.jpg 300w, https://zyklus-mps.com/wp-content/uploads/2025/01/111-1024x611.jpg 1024w, https://zyklus-mps.com/wp-content/uploads/2025/01/111-768x458.jpg 768w, https://zyklus-mps.com/wp-content/uploads/2025/01/111-1536x917.jpg 1536w" sizes="auto, (max-width: 1850px) 100vw, 1850px" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[Zyklus] 1.3</title>
		<link>https://zyklus-mps.com/1-3/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 31 Oct 2024 17:04:10 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Zyklus]]></category>
		<guid isPermaLink="false">https://zyklus-mps.com/?p=284</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-285" src="https://zyklus-mps.com/wp-content/uploads/2024/10/IMG_7557-1024x768.jpg" alt="" width="640" height="480" srcset="https://zyklus-mps.com/wp-content/uploads/2024/10/IMG_7557-1024x768.jpg 1024w, https://zyklus-mps.com/wp-content/uploads/2024/10/IMG_7557-300x225.jpg 300w, https://zyklus-mps.com/wp-content/uploads/2024/10/IMG_7557-768x576.jpg 768w, https://zyklus-mps.com/wp-content/uploads/2024/10/IMG_7557.jpg 1400w" sizes="auto, (max-width: 640px) 100vw, 640px" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[Zyklus] A little update</title>
		<link>https://zyklus-mps.com/a-little-update/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 11 Oct 2024 19:11:50 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Zyklus]]></category>
		<guid isPermaLink="false">https://zyklus-mps.com/?p=275</guid>

					<description><![CDATA[There is a little update, now that I&#8217;ve receieved one of the Most Amazing frontpanels created by Paul &#8211; and holy cow does it look good! He made one for himself compleet with wooden sides etc, and oh my&#8230;. I&#8217;m working on the Teensy version as well and mostly actually on the software, which is [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>There is a little update, now that I&#8217;ve receieved one of the Most Amazing frontpanels created by Paul &#8211; and holy cow does it look good!</p>
<p>He made one for himself compleet with wooden sides etc, and oh my&#8230;.</p>
<p>I&#8217;m working on the Teensy version as well and mostly actually on the software, which is quite a large undertaking. I&#8217;ll write up some more on that soon.</p>
<p>Meanwhile, how cool is this&#8230;:</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-276 size-full" src="https://zyklus-mps.com/wp-content/uploads/2024/10/IMG_7474.jpg" alt="" width="1400" height="1050" srcset="https://zyklus-mps.com/wp-content/uploads/2024/10/IMG_7474.jpg 1400w, https://zyklus-mps.com/wp-content/uploads/2024/10/IMG_7474-300x225.jpg 300w, https://zyklus-mps.com/wp-content/uploads/2024/10/IMG_7474-1024x768.jpg 1024w, https://zyklus-mps.com/wp-content/uploads/2024/10/IMG_7474-768x576.jpg 768w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[Zyklus] The next phase</title>
		<link>https://zyklus-mps.com/the-next-phase/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 08 Jun 2024 19:09:39 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Zyklus]]></category>
		<guid isPermaLink="false">https://zyklus-mps.com/?p=251</guid>

					<description><![CDATA[So now that we have succesfully cloned the Zyklus with that learned a great deal on how it all works from a hardware perspective, it&#8217;s time to get deep with the code and try a new hardware platform. Obviously the Z80 is limited, which is why the code included some very handy bank switching to [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>So now that we have succesfully cloned the Zyklus with that learned a great deal on how it all works from a hardware perspective, it&#8217;s time to get deep with the code and try a new hardware platform. Obviously the Z80 is limited, which is why the code included some very handy bank switching to use more ROM memory space than available. However, while the z80 has only 64K adressable space, we could certainly use a lot more.</p>
<p>A lot has happend since 1987, and these days, the power of computers compared to that time is just crazy.</p>
<p>So a small Teensy board, like the Teensy 4.1, could essentialy run a couple of thousand Zyklus machines without breaking a sweat.</p>
<p>It&#8217;s for now the platform I&#8217;m using to replatform the code, because it accepts C, through the arduino IDE. Also, as shown earlier, the MCLZ8 is based on a Teensy.</p>
<p>Have a google at Teensy Synthesizer &#8220;Jeannie&#8221; to see what it&#8217;s capable of.</p>
<p>I&#8217;ve bought myself the biggest breadboard I could find and a bunch of other stuff, including a few extra teensys.</p>
<p>My first setup has a midi in and out, connected to the teensy, and using the Midi library, I&#8217;ve managed to read and write midi information from and to the teensy. Now comes the fun part.</p>
<p>From the Zyklus software, and most likely the Zyklus improvisor and some other software I have, I&#8217;m going to inventory all the functionality as wel think of a list of things I&#8217;d like to see in Zyklus 2.0 so to speak. And then it&#8217;s a matter of coding that and building up a suitable interface to go along.</p>
<p>I&#8217;m a fan of one knob &#8211; one function and obviously if this is going to continue being aimed at live performance, menu diving is a no-go, so let&#8217;s see how this will pan out.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-252" src="https://zyklus-mps.com/wp-content/uploads/2024/06/r-768x1024.jpg" alt="" width="640" height="853" srcset="https://zyklus-mps.com/wp-content/uploads/2024/06/r-768x1024.jpg 768w, https://zyklus-mps.com/wp-content/uploads/2024/06/r-225x300.jpg 225w, https://zyklus-mps.com/wp-content/uploads/2024/06/r-1152x1536.jpg 1152w, https://zyklus-mps.com/wp-content/uploads/2024/06/r.jpg 1200w" sizes="auto, (max-width: 640px) 100vw, 640px" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[Zyklus] Getting the OS builds working</title>
		<link>https://zyklus-mps.com/getting-the-os-builds-working/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 09 May 2024 17:46:27 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Zyklus]]></category>
		<guid isPermaLink="false">https://zyklus-mps.com/?p=246</guid>

					<description><![CDATA[The original Zyklus code was written in Z80 Assmebly, using a Macro assembler from 1985. Thanks to the current popularity of retro computing and the vast resources of the internet, I managed to obtain a copy of the assembler (though not the linker, although I&#8217;m fairly certain I have one from an earlier release that [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>The original Zyklus code was written in Z80 Assmebly, using a Macro assembler from 1985. Thanks to the current popularity of retro computing and the vast resources of the internet, I managed to obtain a copy of the assembler (though not the linker, although I&#8217;m fairly certain I have one from an earlier release that will work as well).</p>
<p>Getting this old software to run can be very hairy on modern hardware, but I&#8217;m pleasantly suprised with the ease of this  &#8211; so far.</p>
<p>I&#8217;m using Windows XP on a virtual box on my Mac. With a shared dir to move the code from my main system where I can freely edit. This is a workable solution for now, but I&#8217;m planning to build a docker container with MS DOS in QEMU, so that I can just compile directly from my command line. I&#8217;ll do that once I&#8217;ve got everything required to complete a full build done.</p>
<p>Going through the old source archive, they used batch files to build everything. Some items were specific to the In-Circuit Emulator they used during development. Others were part of cross-platoform compliation. Right now I&#8217;m figuring out the basics. Getting the .ASM files to compile, and they all actually do, although most with some kind of &#8220;Undefined Symbol&#8221; notification &#8211; still generating an OBJ though. The goal is to build it fully and burn new EPROMS based on this build. If that runs succesfully on the Zyklus, we got a good starting point.</p>
<p>Using command line tool, I can convert the bin to HEX code, which is what I can use in the C Arrays in the MCLZ8 emulator.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-247" src="https://zyklus-mps.com/wp-content/uploads/2024/05/Screenshot-2024-05-09-at-19.37.56-1024x717.png" alt="" width="640" height="448" srcset="https://zyklus-mps.com/wp-content/uploads/2024/05/Screenshot-2024-05-09-at-19.37.56-1024x717.png 1024w, https://zyklus-mps.com/wp-content/uploads/2024/05/Screenshot-2024-05-09-at-19.37.56-300x210.png 300w, https://zyklus-mps.com/wp-content/uploads/2024/05/Screenshot-2024-05-09-at-19.37.56-768x538.png 768w, https://zyklus-mps.com/wp-content/uploads/2024/05/Screenshot-2024-05-09-at-19.37.56.png 1207w" sizes="auto, (max-width: 640px) 100vw, 640px" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[Zyklus] Running the Zyklus on the MCLZ8</title>
		<link>https://zyklus-mps.com/running-the-zyklus-on-the-mclz8/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 09 May 2024 16:48:20 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Zyklus]]></category>
		<guid isPermaLink="false">https://zyklus-mps.com/?p=242</guid>

					<description><![CDATA[After having new MCLZ8 boards created, this time with the components pre-populated (and thanks Paul for guiding me through the ordering process on that), I now have a working MCLZ8 emulator running. The emulator supports various modes, two of whcih are interesting for us: Mode 0, which means the emulator runs without acceleration, using external [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>After having new MCLZ8 boards created, this time with the components pre-populated (and thanks Paul for guiding me through the ordering process on that), I now have a working MCLZ8 emulator running.</p>
<p>The emulator supports various modes, two of whcih are interesting for us:</p>
<ul>
<li>Mode 0, which means the emulator runs without acceleration, using external roms and memory</li>
<li>Mode 1, which means the emulator runs without acceleration, using internal roms and memory (basically defined as arrays within the emulator code).</li>
</ul>
<p>Mode 0 works perfectly, after I set the Teensy to slightly overclock (816 Mhz).</p>
<p>Mode 1 will be a bit more cumbersome, simply because the original software employed bank switching to deal with memory limitations.</p>
<p>This is still doable in the emulator, it needs some custom code though. Also, I&#8217;m not quite sure yet which memory limitation they worked around &#8211; The EPROMS in total are 40K, well less than the Z80 64K limit.  Here I&#8217;m entering the vast learning curve of the Z80 and how it controls hardware.  Below is a picture of the zyklus running on the Teensy. Right now, I&#8217;m using this setup but with the USB connected to the computer, so I can see directly what happens. This requires to cut a trace on the Teensy, as it&#8217;s powered through the Zyklus (VIN from VUSB).</p>
<p>I&#8217;m going to try a few things, meanwhile:</p>
<ul>
<li>Write some short diagnostics code that will enable and disable all the LED&#8217;s, Buzzer and write something cute on the LCD in Z80 assembly and run that from the Emulator internal ROM.</li>
<li>Adjust the emulator software so I can define 3 ROM arrays and somehow work out the correct addressing for switching.</li>
</ul>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-243" src="https://zyklus-mps.com/wp-content/uploads/2024/05/IMG_6942-2.jpeg" alt="" width="1000" height="750" srcset="https://zyklus-mps.com/wp-content/uploads/2024/05/IMG_6942-2.jpeg 1000w, https://zyklus-mps.com/wp-content/uploads/2024/05/IMG_6942-2-300x225.jpeg 300w, https://zyklus-mps.com/wp-content/uploads/2024/05/IMG_6942-2-768x576.jpeg 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
