<br />
<b>Notice</b>:  Trying to access array offset on value of type bool in <b>/mnt/cpcwiki-httpdocs/includes/libs/IPSet.php</b> on line <b>243</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type bool in <b>/mnt/cpcwiki-httpdocs/includes/libs/IPSet.php</b> on line <b>246</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type bool in <b>/mnt/cpcwiki-httpdocs/includes/libs/IPSet.php</b> on line <b>243</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type bool in <b>/mnt/cpcwiki-httpdocs/includes/libs/IPSet.php</b> on line <b>246</b><br />
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://oldwiki.cpcwiki.eu/index.php?action=history&amp;feed=atom&amp;title=MYM</id>
		<title>MYM - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://oldwiki.cpcwiki.eu/index.php?action=history&amp;feed=atom&amp;title=MYM"/>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;action=history"/>
		<updated>2026-08-30T00:12:22Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=127212&amp;oldid=prev</id>
		<title>Polluks: Category</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=127212&amp;oldid=prev"/>
				<updated>2026-03-26T14:08:11Z</updated>
		
		<summary type="html">&lt;p&gt;Category&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 14:08, 26 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L442&quot; &gt;Line 442:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 442:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Music and sound]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Music and sound]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Source code]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:version:1.11a:oldid:120279:newid:127212 --&gt;
&lt;/table&gt;</summary>
		<author><name>Polluks</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=120279&amp;oldid=prev</id>
		<title>Phi2x: /* Players */</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=120279&amp;oldid=prev"/>
				<updated>2024-11-19T05:41:19Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Players&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 05:41, 19 November 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L3&quot; &gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Players ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Players ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;2 MYM players exist for the Amstrad CPC: &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;one &lt;/del&gt;by Andy Cadley and another one by Morpheus.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;2 MYM players exist for the Amstrad CPC: &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Media:Mymcpc.dsk|MYMPlay &lt;/ins&gt;by Andy Cadley&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;and another one by Morpheus.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;They &lt;/del&gt;can be downloaded at http://www.kameli.net/lt/prod.htm&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Both &lt;/ins&gt;can be downloaded &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;with their sources &lt;/ins&gt;at http://www.kameli.net/lt/prod.htm&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Here you'll find a pile of songs suitable for the MYM player: http://ftp.kameli.net/pub/mym/&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:version:1.11a:oldid:118860:newid:120279 --&gt;
&lt;/table&gt;</summary>
		<author><name>Phi2x</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=118860&amp;oldid=prev</id>
		<title>Phi2x at 03:45, 17 September 2024</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=118860&amp;oldid=prev"/>
				<updated>2024-09-17T03:45:20Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 03:45, 17 September 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MYM is a file format for ripped PSG tunes, created by Marq/Lieves!Tuore &amp;amp; Fit (marq@iki.fi)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MYM is a file format for ripped &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/ins&gt;PSG&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;tunes, created by Marq/Lieves!Tuore &amp;amp; Fit (marq@iki.fi)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Players ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Players ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:version:1.11a:oldid:118859:newid:118860 --&gt;
&lt;/table&gt;</summary>
		<author><name>Phi2x</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=118859&amp;oldid=prev</id>
		<title>Phi2x: /* Players */</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=118859&amp;oldid=prev"/>
				<updated>2024-09-17T03:43:30Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Players&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 03:43, 17 September 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L3&quot; &gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Players ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Players ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;2 players exist for the Amstrad CPC: one by Andy Cadley and another one by Morpheus.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;2 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;MYM &lt;/ins&gt;players exist for the Amstrad CPC: one by Andy Cadley and another one by Morpheus.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;They can be downloaded at http://www.kameli.net/lt/prod.htm&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;They can be downloaded at http://www.kameli.net/lt/prod.htm&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:version:1.11a:oldid:118858:newid:118859 --&gt;
&lt;/table&gt;</summary>
		<author><name>Phi2x</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=118858&amp;oldid=prev</id>
		<title>Phi2x: /* File format */</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=118858&amp;oldid=prev"/>
				<updated>2024-09-17T03:32:39Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;File format&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 03:32, 17 September 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L14&quot; &gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The best we have is the commented source code of the original converters from YM to MYM files and vice versa.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The best we have is the commented source code of the original converters from YM to MYM files and vice versa.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== ym2mym.c ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== ym2mym.c ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:version:1.11a:oldid:118857:newid:118858 --&gt;
&lt;/table&gt;</summary>
		<author><name>Phi2x</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=118857&amp;oldid=prev</id>
		<title>Phi2x: /* File format */</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=118857&amp;oldid=prev"/>
				<updated>2024-09-17T03:11:01Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;File format&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 03:11, 17 September 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L11&quot; &gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== File format ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== File format ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I have not been able to find a formal &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;description &lt;/del&gt;of this file format.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I have not been able to find a formal &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;specification &lt;/ins&gt;of this file format.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The best we have is the commented source code of the original converters from YM to MYM files and vice versa.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The best we have is the commented source code of the original converters from YM to MYM files and vice versa.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:version:1.11a:oldid:118854:newid:118857 --&gt;
&lt;/table&gt;</summary>
		<author><name>Phi2x</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=118854&amp;oldid=prev</id>
		<title>Phi2x at 02:57, 17 September 2024</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=118854&amp;oldid=prev"/>
				<updated>2024-09-17T02:57:17Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 02:57, 17 September 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;They can be downloaded at http://www.kameli.net/lt/prod.htm&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;They can be downloaded at http://www.kameli.net/lt/prod.htm&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== File format ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== File format ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L11&quot; &gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I have not been able to find a formal description of this file format.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I have not been able to find a formal description of this file format.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The best we have is the source code of the original &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;converter &lt;/del&gt;from YM to MYM files and vice versa.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The best we have is the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;commented &lt;/ins&gt;source code of the original &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;converters &lt;/ins&gt;from YM to MYM files and vice versa.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== ym2mym.c ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== ym2mym.c ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L434&quot; &gt;Line 434:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 436:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/*&amp;#160; EOS */&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/*&amp;#160; EOS */&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Music and sound]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:version:1.11a:oldid:118853:newid:118854 --&gt;
&lt;/table&gt;</summary>
		<author><name>Phi2x</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=118853&amp;oldid=prev</id>
		<title>Phi2x: Created page with &quot;MYM is a file format for ripped PSG tunes, created by Marq/Lieves!Tuore &amp; Fit (marq@iki.fi)  == Players ==  2 players exist for the Amstrad CPC: one by Andy Cadley and another...&quot;</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=MYM&amp;diff=118853&amp;oldid=prev"/>
				<updated>2024-09-17T02:51:35Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;MYM is a file format for ripped PSG tunes, created by Marq/Lieves!Tuore &amp;amp; Fit (marq@iki.fi)  == Players ==  2 players exist for the Amstrad CPC: one by Andy Cadley and another...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;MYM is a file format for ripped PSG tunes, created by Marq/Lieves!Tuore &amp;amp; Fit (marq@iki.fi)&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
&lt;br /&gt;
2 players exist for the Amstrad CPC: one by Andy Cadley and another one by Morpheus.&lt;br /&gt;
&lt;br /&gt;
They can be downloaded at http://www.kameli.net/lt/prod.htm&lt;br /&gt;
&lt;br /&gt;
== File format ==&lt;br /&gt;
&lt;br /&gt;
I have not been able to find a formal description of this file format.&lt;br /&gt;
&lt;br /&gt;
The best we have is the source code of the original converter from YM to MYM files and vice versa.&lt;br /&gt;
&lt;br /&gt;
=== ym2mym.c ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
    ym2mym.c&lt;br /&gt;
&lt;br /&gt;
    Converts _unpacked_ YM tunes to a format better suitable for&lt;br /&gt;
    MSX1. Supports YM2 and YM3 types well plus YM5 somehow.&lt;br /&gt;
&lt;br /&gt;
    30.1.2000 Marq/Lieves!Tuore &amp;amp; Fit (marq@iki.fi)&lt;br /&gt;
&lt;br /&gt;
    3.2.2000  - Added a rude YM5 loader. Skips most of the header.&lt;br /&gt;
&lt;br /&gt;
    Output format:&lt;br /&gt;
&lt;br /&gt;
    Rows in the tune, 16 bits (lobyte first)&lt;br /&gt;
    For each register, 0 - fragment contains only unchanged data&lt;br /&gt;
                       1 - fragment contains packed data&lt;br /&gt;
&lt;br /&gt;
    In a packed fragment, 0  - register value is the same as before&lt;br /&gt;
                          11 - raw register data follows. Only regbits[i]&lt;br /&gt;
                               bits, not full 8&lt;br /&gt;
                          10 - offset + number of bytes from preceding&lt;br /&gt;
                               data. As many bits as are required to hold&lt;br /&gt;
                               fragment offset &amp;amp; counter data (OFFNUM).&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define REGS 14&lt;br /&gt;
#define FRAG 128    /*  Nuber of rows to compress at a time   */&lt;br /&gt;
#define OFFNUM 14   /*  Bits needed to store off+num of FRAG  */&lt;br /&gt;
&lt;br /&gt;
void writebits(unsigned data,int bits,FILE *f);&lt;br /&gt;
&lt;br /&gt;
int main(int argc,char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    unsigned char   *data[REGS];    /*  The unpacked YM data    */&lt;br /&gt;
    &lt;br /&gt;
    unsigned    current[REGS];&lt;br /&gt;
&lt;br /&gt;
    char    id[5]={0,0,0,0,0},ym_new=0,&lt;br /&gt;
            LeOnArD[8];             /*  Check string    */&lt;br /&gt;
&lt;br /&gt;
    FILE    *f;&lt;br /&gt;
&lt;br /&gt;
    long    n,i,row,change,pack,biggest=0,hits,oldrow,remain,offi,&lt;br /&gt;
            regbits[REGS]={8,4,8,4, 8,4,5,8, 5,5,5,8, 8,8}, /* Bits per PSG reg */&lt;br /&gt;
            /*  AND values to mask out extra bits from register data */&lt;br /&gt;
            regand[REGS]={255,15,255,15, 255,15,31,255, 31,31,31,255, 255,255};&lt;br /&gt;
&lt;br /&gt;
    unsigned long   length,         /*  Song length     */&lt;br /&gt;
                    ldata;          /*  Needed in the loader    */&lt;br /&gt;
&lt;br /&gt;
    if(argc!=3)&lt;br /&gt;
    {&lt;br /&gt;
        printf(&amp;quot;Usage: ym2mym source.ym destination.mym\n&amp;quot;);&lt;br /&gt;
        printf(&amp;quot;Raw YM files only. Uncompress with LHA.\n&amp;quot;);&lt;br /&gt;
        return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if((f=fopen(argv[1],&amp;quot;rb&amp;quot;))==NULL)&lt;br /&gt;
    {&lt;br /&gt;
        printf(&amp;quot;File open error.\n&amp;quot;);&lt;br /&gt;
        return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    fseek(f,0,SEEK_END);&lt;br /&gt;
    length=ftell(f)-4;&lt;br /&gt;
    fseek(f,0,SEEK_SET);&lt;br /&gt;
&lt;br /&gt;
    fread(id,1,4,f);&lt;br /&gt;
    if(strcmp(id,&amp;quot;YM2!&amp;quot;))               /*  YM2 is ok   */&lt;br /&gt;
        if(strcmp(id,&amp;quot;YM3!&amp;quot;))           /*  YM3 is ok   */&lt;br /&gt;
            if(strcmp(id,&amp;quot;YM3b&amp;quot;))       /*  YM3b is ok  */&lt;br /&gt;
            {&lt;br /&gt;
                if(!strcmp(id,&amp;quot;YM5!&amp;quot;))  /*  YM5 is ok but needs a   */&lt;br /&gt;
                    ym_new=1;           /*  different loader        */&lt;br /&gt;
                else&lt;br /&gt;
                {&lt;br /&gt;
                    printf(&amp;quot;Unknown file format.\n&amp;quot;);&lt;br /&gt;
                    exit(EXIT_FAILURE);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                fread(id,1,4,f);    /*  Skip restart for YM3b   */&lt;br /&gt;
                length-=4;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
    if(ym_new)  /*  New YM5 format loader       */&lt;br /&gt;
    {&lt;br /&gt;
        fread(LeOnArD,1,8,f);           /*  Skip checkstring        */&lt;br /&gt;
        for(n=length=0;n&amp;lt;4;n++)         /*  Number of VBL's    */&lt;br /&gt;
        {&lt;br /&gt;
            length&amp;lt;&amp;lt;=8;&lt;br /&gt;
            length+=fgetc(f);&lt;br /&gt;
        }&lt;br /&gt;
        length*=REGS;&lt;br /&gt;
&lt;br /&gt;
        fread(&amp;amp;ldata,1,3,f);            /*  Skip first 3 bytes of info */&lt;br /&gt;
        if(!(fgetc(f)&amp;amp;1))&lt;br /&gt;
        {&lt;br /&gt;
            printf(&amp;quot;Only interleaved data supported.\n&amp;quot;);&lt;br /&gt;
            return(EXIT_FAILURE);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if(fgetc(f) || fgetc(f))        /*  Number of digidrums     */&lt;br /&gt;
        {&lt;br /&gt;
            printf(&amp;quot;Digidrums not supported.\n&amp;quot;);&lt;br /&gt;
            return(EXIT_FAILURE);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        fread(&amp;amp;ldata,1,4,f);            /*  Skip external freq      */&lt;br /&gt;
        fread(&amp;amp;ldata,1,2,f);            /*  Skip VBL freq           */&lt;br /&gt;
        fread(&amp;amp;ldata,1,4,f);            /*  Skip loop position      */&lt;br /&gt;
        fread(&amp;amp;ldata,1,2,f);            /*  Skip additional data    */&lt;br /&gt;
&lt;br /&gt;
        while(fgetc(f))                 /*  Skip song name          */&lt;br /&gt;
            ;&lt;br /&gt;
        while(fgetc(f))                 /*  Skip author name        */&lt;br /&gt;
            ;&lt;br /&gt;
        while(fgetc(f))                 /*  Skip comments           */&lt;br /&gt;
            ;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /*  Old YM2/YM3 format loader   */&lt;br /&gt;
    for(n=0;n&amp;lt;REGS;n++)     /*  Allocate memory &amp;amp; read data */&lt;br /&gt;
    {&lt;br /&gt;
        /*  Allocate extra fragment to make packing easier  */&lt;br /&gt;
        if((data[n]=malloc(length/REGS+FRAG))==NULL)&lt;br /&gt;
        {&lt;br /&gt;
            printf(&amp;quot;Out of memory.\n&amp;quot;);&lt;br /&gt;
            return(EXIT_FAILURE);&lt;br /&gt;
        }&lt;br /&gt;
        memset(data[n],0,length/REGS+FRAG);&lt;br /&gt;
        fread(data[n],1,length/REGS,f);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if(ym_new)  /*  Let's mask the extra YM5 data out   */&lt;br /&gt;
    {&lt;br /&gt;
        for(n=0;n&amp;lt;REGS;n++)&lt;br /&gt;
            for(row=0;row&amp;lt;length/REGS;row++)&lt;br /&gt;
                data[n][row]&amp;amp;=regand[n];&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    fclose(f);&lt;br /&gt;
&lt;br /&gt;
    if((f=fopen(argv[2],&amp;quot;wb&amp;quot;))==NULL)&lt;br /&gt;
    {&lt;br /&gt;
        printf(&amp;quot;Cannot open destination file.\n&amp;quot;);&lt;br /&gt;
        return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for(n=0;n&amp;lt;REGS;n++)     /*  Set current values to impossible   */&lt;br /&gt;
        current[n]=0xffff;&lt;br /&gt;
&lt;br /&gt;
    fputc(length/REGS&amp;amp;0xff,f);  /*  Write tune length   */&lt;br /&gt;
    fputc(length/REGS&amp;gt;&amp;gt;8,f);&lt;br /&gt;
&lt;br /&gt;
    for(n=0;n&amp;lt;length/REGS;n+=FRAG)  /*  Go through fragments...    */&lt;br /&gt;
    {&lt;br /&gt;
        for(i=0;i&amp;lt;REGS;i++)         /*  ... for each register      */&lt;br /&gt;
        {&lt;br /&gt;
            for(row=change=0;row&amp;lt;FRAG;row++)&lt;br /&gt;
                if(data[i][n+row]!=current[i])&lt;br /&gt;
                    change=1;&lt;br /&gt;
&lt;br /&gt;
            if(!change) /*  No changes in the whole fragment    */&lt;br /&gt;
            {&lt;br /&gt;
                writebits(0,1,f);&lt;br /&gt;
                continue;   /*  Skip the next pass              */&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
                writebits(1,1,f);&lt;br /&gt;
&lt;br /&gt;
            for(row=0;row&amp;lt;FRAG;row++)&lt;br /&gt;
            {&lt;br /&gt;
                if(data[i][n+row]!=current[i])&lt;br /&gt;
                {&lt;br /&gt;
                    change=1;&lt;br /&gt;
                    current[i]=data[i][n+row];&lt;br /&gt;
&lt;br /&gt;
                    biggest=0;&lt;br /&gt;
                    if(n)       /*  Skip first fragment */&lt;br /&gt;
                    {&lt;br /&gt;
                        offi=0;&lt;br /&gt;
                        remain=FRAG-row;&lt;br /&gt;
&lt;br /&gt;
                        /* Go through the preceding data and try to find&lt;br /&gt;
                           similar data     */&lt;br /&gt;
                        for(oldrow=0;oldrow&amp;lt;FRAG;oldrow++)&lt;br /&gt;
                        {&lt;br /&gt;
                            hits=0;&lt;br /&gt;
                            for(pack=0;pack&amp;lt;remain;pack++)&lt;br /&gt;
                            {&lt;br /&gt;
                                if(data[i][n+row+pack]==data[i][n-FRAG+row+oldrow+pack]&lt;br /&gt;
                                   &amp;amp;&amp;amp; oldrow+pack&amp;lt;FRAG)&lt;br /&gt;
                                    hits++;&lt;br /&gt;
                                else&lt;br /&gt;
                                    break;&lt;br /&gt;
                            }&lt;br /&gt;
                            if(hits&amp;gt;biggest)    /* Bigger sequence found */&lt;br /&gt;
                            {&lt;br /&gt;
                                biggest=hits;&lt;br /&gt;
                                offi=oldrow;&lt;br /&gt;
                            }&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    if(biggest&amp;gt;1)   /* Could we pack data? */&lt;br /&gt;
                    {&lt;br /&gt;
                        row+=biggest-1;&lt;br /&gt;
                        current[i]=data[i][n+row];&lt;br /&gt;
                        writebits(2,2,f);&lt;br /&gt;
                        writebits((offi&amp;lt;&amp;lt;OFFNUM/2)+(biggest-1),OFFNUM,f);&lt;br /&gt;
                    }&lt;br /&gt;
                    else    /*  Nope, write raw bits    */&lt;br /&gt;
                    {&lt;br /&gt;
                        writebits(3,2,f);&lt;br /&gt;
                        writebits(data[i][n+row],regbits[i],f);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
                else    /*  Same as former value, write 0   */&lt;br /&gt;
                    writebits(0,1,f);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    writebits(0,0,f);   /* Pad to byte size */&lt;br /&gt;
    fclose(f);&lt;br /&gt;
    return(EXIT_SUCCESS);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*  Writes bits to a file. If bits is 0, pads to byte size. */&lt;br /&gt;
void writebits(unsigned data,int bits,FILE *f)&lt;br /&gt;
{&lt;br /&gt;
    static unsigned char    byte=0;&lt;br /&gt;
&lt;br /&gt;
    static int  off=0;&lt;br /&gt;
&lt;br /&gt;
    int n;&lt;br /&gt;
&lt;br /&gt;
    if(!bits &amp;amp;&amp;amp; off)&lt;br /&gt;
    {&lt;br /&gt;
        off=byte=0;&lt;br /&gt;
        fputc(byte,f);&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /* Go through the bits and write a whole byte if needed */&lt;br /&gt;
    for(n=0;n&amp;lt;bits;n++) &lt;br /&gt;
    {&lt;br /&gt;
        if(data&amp;amp;(1&amp;lt;&amp;lt;bits-1-n))&lt;br /&gt;
            byte|=0x80&amp;gt;&amp;gt;off;&lt;br /&gt;
&lt;br /&gt;
        if(++off==8)&lt;br /&gt;
        {&lt;br /&gt;
            fputc(byte,f);&lt;br /&gt;
            off=byte=0;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*  EOS */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== mym2ym.c ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
    mym2ym.c&lt;br /&gt;
&lt;br /&gt;
    Converts MYM files back to upacked YM3.&lt;br /&gt;
&lt;br /&gt;
    31.1.2000 Marq/Lieves!Tuore &amp;amp; Fit (marq@iki.fi)&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define REGS 14&lt;br /&gt;
#define FRAG 128    /*  Nuber of rows to compress at a time   */&lt;br /&gt;
#define OFFNUM 14   /*  Bits needed to store off+num of FRAG  */&lt;br /&gt;
&lt;br /&gt;
unsigned readbits(int bits,FILE *f);&lt;br /&gt;
&lt;br /&gt;
int main(int argc,char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    unsigned char   *data[REGS],    /*  The unpacked YM data    */&lt;br /&gt;
                    c;&lt;br /&gt;
&lt;br /&gt;
    unsigned    current[REGS];&lt;br /&gt;
&lt;br /&gt;
    FILE    *f;&lt;br /&gt;
&lt;br /&gt;
    long    n,i,row,index,compoff,compnum,&lt;br /&gt;
            bytes=0,&lt;br /&gt;
            regbits[REGS]={8,4,8,4, 8,4,5,8, 5,5,5,8, 8,8}; /* Bits per PSG reg */&lt;br /&gt;
&lt;br /&gt;
    unsigned long   rows;&lt;br /&gt;
&lt;br /&gt;
    if(argc!=3)&lt;br /&gt;
    {&lt;br /&gt;
        printf(&amp;quot;Usage: mym2ym source.mym destination.ym\n&amp;quot;);&lt;br /&gt;
        printf(&amp;quot;Raw YM files only. Compress with LHA.\n&amp;quot;);&lt;br /&gt;
        return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if((f=fopen(argv[1],&amp;quot;rb&amp;quot;))==NULL)&lt;br /&gt;
    {&lt;br /&gt;
        printf(&amp;quot;File open error.\n&amp;quot;);&lt;br /&gt;
        return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    rows=fgetc(f);    /*  Read the number of rows */&lt;br /&gt;
    rows+=fgetc(f)&amp;lt;&amp;lt;8u;&lt;br /&gt;
&lt;br /&gt;
    for(n=0;n&amp;lt;REGS;n++)     /*  Allocate memory for rows    */&lt;br /&gt;
    {&lt;br /&gt;
        if((data[n]=malloc(rows+FRAG))==NULL)&lt;br /&gt;
        {&lt;br /&gt;
            printf(&amp;quot;Out of memory.\n&amp;quot;);&lt;br /&gt;
            exit(EXIT_FAILURE);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for(n=0;n&amp;lt;rows;n+=FRAG) /*  Go through rows...  */&lt;br /&gt;
    {&lt;br /&gt;
        for(i=0;i&amp;lt;REGS;i++) /*  ... and registers   */&lt;br /&gt;
        {&lt;br /&gt;
            index=0;&lt;br /&gt;
            if(!readbits(1,f))  /*  Totally unchanged fragment */&lt;br /&gt;
            {&lt;br /&gt;
                for(row=0;row&amp;lt;FRAG;row++)&lt;br /&gt;
                    data[i][n+row]=current[i];&lt;br /&gt;
                continue;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            while(index&amp;lt;FRAG)   /*  Packed fragment */&lt;br /&gt;
            {&lt;br /&gt;
                if(!readbits(1,f))  /*  Unchanged register  */&lt;br /&gt;
                {&lt;br /&gt;
                    &lt;br /&gt;
                    data[i][n+index]=current[i];&lt;br /&gt;
                    index++;&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                {&lt;br /&gt;
                    if(readbits(1,f))   /*  Raw data    */&lt;br /&gt;
                    {&lt;br /&gt;
                        c=readbits(regbits[i],f);&lt;br /&gt;
                        current[i]=data[i][n+index]=c;&lt;br /&gt;
                        index++;&lt;br /&gt;
                    }&lt;br /&gt;
                    else    /*  Reference to previous data */&lt;br /&gt;
                    {&lt;br /&gt;
                        compoff=readbits(OFFNUM/2,f)+index;&lt;br /&gt;
                        compnum=readbits(OFFNUM/2,f)+1;&lt;br /&gt;
&lt;br /&gt;
                        for(row=0;row&amp;lt;compnum;row++)&lt;br /&gt;
                        {&lt;br /&gt;
                            c=data[i][n-FRAG+compoff+row];&lt;br /&gt;
                            data[i][n+index]=current[i]=c;&lt;br /&gt;
                            index++;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    fclose(f);&lt;br /&gt;
&lt;br /&gt;
    if((f=fopen(argv[2],&amp;quot;wb&amp;quot;))==NULL)&lt;br /&gt;
    {&lt;br /&gt;
        printf(&amp;quot;Cannot open destination file.\n&amp;quot;);&lt;br /&gt;
        return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /*  Write uncompressed data to YM3 format   */&lt;br /&gt;
    fwrite(&amp;quot;YM2!&amp;quot;,1,4,f);&lt;br /&gt;
    for(n=0;n&amp;lt;REGS;n++)&lt;br /&gt;
        fwrite(data[n],1,rows,f);&lt;br /&gt;
    fclose(f);&lt;br /&gt;
&lt;br /&gt;
    return(EXIT_SUCCESS);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*  Reads bits from a while */&lt;br /&gt;
unsigned readbits(int bits,FILE *f)&lt;br /&gt;
{&lt;br /&gt;
    static unsigned char    byte;&lt;br /&gt;
&lt;br /&gt;
    static int  off=7;&lt;br /&gt;
&lt;br /&gt;
    unsigned    n,data=0;&lt;br /&gt;
&lt;br /&gt;
    /* Go through the bits and read a whole byte if needed */&lt;br /&gt;
    for(n=0;n&amp;lt;bits;n++) &lt;br /&gt;
    {&lt;br /&gt;
        data&amp;lt;&amp;lt;=1;&lt;br /&gt;
        if(++off==8)&lt;br /&gt;
        {&lt;br /&gt;
            byte=fgetc(f);&lt;br /&gt;
            off=0;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        if(byte&amp;amp;(0x80&amp;gt;&amp;gt;off))&lt;br /&gt;
            data++;&lt;br /&gt;
    }&lt;br /&gt;
    return(data);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*  EOS */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Phi2x</name></author>	</entry>

	</feed>