<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to longpulses</title><link>https://sourceforge.net/p/mtap2/wiki/longpulses/</link><description>Recent changes to longpulses</description><atom:link href="https://sourceforge.net/p/mtap2/wiki/longpulses/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 05 Jan 2013 11:56:25 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/mtap2/wiki/longpulses/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage longpulses modified by minstrel</title><link>https://sourceforge.net/p/mtap2/wiki/longpulses/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -25,7 +25,9 @@

 * Long pulses *pl* (pl = cycles) are split up into *n* parts of length 0xffffff; save (n-1) pulses of layout 00 ff ff ff.
 followed by a pulse 00 xx xx xx, with x = pl % 0xffffff.
+* Split the remaining cycles into two long pulses of the same length.

+This ensures that there no artificial "short" pulses are created.

 ###TAP version 2###

@@ -35,3 +37,5 @@
 * for the remaining cycles: 2500 &lt; cycles &lt; 2*0xffffff
 * if (n-1) is even: save 2 pulses with length (remaining cycles / 2)
 * if (n-1) is odd: save 3 pulses with length (remaining cycles / 3)
+
+This ensures that there is always an even number of long "half" pulses, and no artificial "short" pulses are created.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">minstrel</dc:creator><pubDate>Sat, 05 Jan 2013 11:56:25 -0000</pubDate><guid>https://sourceforge.net2caed45f5c8d94802a6850c73049ca4b89d39676</guid></item><item><title>WikiPage longpulses modified by minstrel</title><link>https://sourceforge.net/p/mtap2/wiki/longpulses/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -23,7 +23,8 @@

 This allows for a more precise representation of long pulses:

-* Long pulses *pl* (pl = cycles) are split up into *n* pulses of layout 00 ff ff ff, with n = pl / 0xffffff, followed by a pulse 00 xx xx xx, with x = pl % 0xffffff.
+* Long pulses *pl* (pl = cycles) are split up into *n* parts of length 0xffffff; save (n-1) pulses of layout 00 ff ff ff.
+followed by a pulse 00 xx xx xx, with x = pl % 0xffffff.

 ###TAP version 2###
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">minstrel</dc:creator><pubDate>Sat, 05 Jan 2013 11:42:56 -0000</pubDate><guid>https://sourceforge.netb91d35cd30ea12f1f02dd3a2f070e522fdc87d65</guid></item><item><title>WikiPage longpulses modified by minstrel</title><link>https://sourceforge.net/p/mtap2/wiki/longpulses/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -29,3 +29,8 @@
 ###TAP version 2###

 For TAP version 2 splitting of pulses into half-pulses needs to be considered.
+
+* n = (cycles / 0xffffff); save (n-1) pulses 00 ff ff ff
+* for the remaining cycles: 2500 &lt; cycles &lt; 2*0xffffff
+* if (n-1) is even: save 2 pulses with length (remaining cycles / 2)
+* if (n-1) is odd: save 3 pulses with length (remaining cycles / 3)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">minstrel</dc:creator><pubDate>Sat, 05 Jan 2013 11:36:06 -0000</pubDate><guid>https://sourceforge.net17e3e0f369f71fde787a64802c768cb5e704147a</guid></item><item><title>WikiPage longpulses modified by minstrel</title><link>https://sourceforge.net/p/mtap2/wiki/longpulses/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -4,7 +4,7 @@

 According to the original [TAP specification](http://www.computerbrains.com/tapformat.html), long pulses are encoded like this:

-&lt;i&gt;"The data byte value of 00 represents overflow, any pulselength of more than 255*8 cycles."&lt;/i&gt;
+&lt;i&gt;The data byte value of 00 represents overflow, any pulselength of more than 255*8 cycles.&lt;/i&gt;

 Since this is somewhat underspecified, mtap2 uses the following definition:

@@ -13,3 +13,19 @@
 * Long pulses *pl* (pl = (cycles+7)/8) recorded from the original tape, with pl &gt; 255 are split up into *n* 00 pulses, with n = (pl + 2499) / 2500
 * As a special case, all pulse lengths *pl* with 255 &lt; pl &lt;= 2500 are encoded as exactly one 00 pulse.

+
+###TAP version 1###
+
+According to [TAP spec](http://www.computerbrains.com/tapformat.html), in TAP version 1 long pulses are encoded like this:
+
+&lt;i&gt;Data value of 00 is followed by three bytes, representing a 24 bit value of C64 
+cyles (NOT times 8). The order is as follow: 00   .&lt;/i&gt;
+
+This allows for a more precise representation of long pulses:
+
+* Long pulses *pl* (pl = cycles) are split up into *n* pulses of layout 00 ff ff ff, with n = pl / 0xffffff, followed by a pulse 00 xx xx xx, with x = pl % 0xffffff.
+
+
+###TAP version 2###
+
+For TAP version 2 splitting of pulses into half-pulses needs to be considered.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">minstrel</dc:creator><pubDate>Fri, 04 Jan 2013 11:38:59 -0000</pubDate><guid>https://sourceforge.net22d382c67c603a191e2e4617f36a982e6aab6ede</guid></item><item><title>WikiPage longpulses modified by minstrel</title><link>https://sourceforge.net/p/mtap2/wiki/longpulses/</link><description>&lt;div class="markdown_content"&gt;&lt;h2 id="handling-of-long-pulses"&gt;Handling of long pulses&lt;/h2&gt;
&lt;h3 id="tap-version-0"&gt;TAP version 0&lt;/h3&gt;
&lt;p&gt;According to the original &lt;a class="" href="http://www.computerbrains.com/tapformat.html"&gt;TAP specification&lt;/a&gt;, long pulses are encoded like this:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;"The data byte value of 00 represents overflow, any pulselength of more than 255*8 cycles."&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Since this is somewhat underspecified, mtap2 uses the following definition:&lt;/p&gt;
&lt;p&gt;The data byte value of 00 represents a long pulse value of 2500 * 8 cycles.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Long pulses &lt;em&gt;pl&lt;/em&gt; (pl = (cycles+7)/8) recorded from the original tape, with pl &amp;gt; 255 are split up into &lt;em&gt;n&lt;/em&gt; 00 pulses, with n = (pl + 2499) / 2500&lt;/li&gt;
&lt;li&gt;As a special case, all pulse lengths &lt;em&gt;pl&lt;/em&gt; with 255 &amp;lt; pl &amp;lt;= 2500 are encoded as exactly one 00 pulse.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">minstrel</dc:creator><pubDate>Fri, 04 Jan 2013 09:59:10 -0000</pubDate><guid>https://sourceforge.net5360be7c9babbbf6c29ca179bced488610511f94</guid></item></channel></rss>