<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://preservation64.de/index.php?action=history&amp;feed=atom&amp;title=Steinberg_Protection</id>
	<title>Steinberg Protection - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://preservation64.de/index.php?action=history&amp;feed=atom&amp;title=Steinberg_Protection"/>
	<link rel="alternate" type="text/html" href="https://preservation64.de/index.php?title=Steinberg_Protection&amp;action=history"/>
	<updated>2026-11-11T09:22:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://preservation64.de/index.php?title=Steinberg_Protection&amp;diff=76929&amp;oldid=prev</id>
		<title>Enigma: Scheme B, behaviour on a real 1541: failure rate of variant 2 withdrawn (read model corrected, results contradict; not verified on hardware)</title>
		<link rel="alternate" type="text/html" href="https://preservation64.de/index.php?title=Steinberg_Protection&amp;diff=76929&amp;oldid=prev"/>
		<updated>2026-11-09T08:36:46Z</updated>

		<summary type="html">&lt;p&gt;Scheme B, behaviour on a real 1541: failure rate of variant 2 withdrawn (read model corrected, results contradict; not verified on hardware)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:36, 9 November 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l107&quot;&gt;Line 107:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 107:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Variants 0 and 1 are deterministic. Variant 2 is not: error 27 is not written onto the disk. The headers on track 35 are fine, and the error comes from the drive reading them at the wrong bit rate.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Variants 0 and 1 are deterministic. Variant 2 is not: error 27 is not written onto the disk. The headers on track 35 are fine, and the error comes from the drive reading them at the wrong bit rate.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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 style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This &lt;/del&gt;was &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;evaluated &lt;/del&gt;with a model of the 1541 read electronics and DOS, applied to the KryoFlux streams of all scheme B releases. The model includes the job code, sync timeouts and the full retry chain with head offsets&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. It &lt;/del&gt;returns exactly 21, 22 and 00 for tracks 33, 34 and the normal track 18. For track 35 at nominal drive speed, the DOS reports 27 in &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;about &lt;/del&gt;83-98% of the reads&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, depending on &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;disk; otherwise it reports mostly 20, sometimes 23&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;If &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;disk turns &lt;/del&gt;1&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-2&lt;/del&gt;% slower &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;relative to the drive clock&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;this drops to 42-&lt;/del&gt;93%. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;So &lt;/del&gt;on a real &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;C64 about 1-6% of all program starts fail &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;check, and more &lt;/del&gt;on &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;slow drives&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This has not been measured &lt;/del&gt;on real &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hardware yet&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;How often variant 2 fails on a real drive could not be determined. It &lt;/ins&gt;was &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;simulated &lt;/ins&gt;with a model of the 1541 read electronics and DOS, applied to the KryoFlux streams of all scheme B releases. The model includes the job code, sync timeouts and the full retry chain with head offsets&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, and &lt;/ins&gt;returns exactly 21, 22 and 00 for tracks 33, 34 and the normal track 18. For track 35 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the results contradict each other:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;* With the exact digital circuit of the 1541 (as emulated by VICE for P64 images, without analog noise), the dumps of [[Hohner Midi Sequencer]] and [[Korg Poly 800 II Editor]] give error 27 in 72-99% of the reads &lt;/ins&gt;at nominal drive speed&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. The dumps of [[Track Star]]&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Pro16]] 2.4 and [[Pro16 PLUS]] V2.4 read track 35 too well: &lt;/ins&gt;the DOS reports &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;23 (data block checksum) or no error at all, so variant 2 would never pass, as in VICE with the P64.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;* An earlier model with more timing noise gave error &lt;/ins&gt;27 in 83-98% of the reads &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;for all disks.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;* A drive speed difference of only 1% changes &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;result a lot (e.g&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Korg Poly 800 II Editor]] side 0: error 27 in 0% of &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reads at &lt;/ins&gt;1% slower &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;disk rotation&lt;/ins&gt;, 93% &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;at nominal speed, 100% at 1% faster rotation)&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;Since the original disks were sold and used, a check that never passes &lt;/ins&gt;on &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;some of them is unlikely; the analog noise of &lt;/ins&gt;a real &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;drive is probably what makes &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;misread produce error 27. A test &lt;/ins&gt;on &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;real hardware is needed&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Until then, the failure rate of variant 2 &lt;/ins&gt;on &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a &lt;/ins&gt;real &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;drive is unknown&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note: the KryoFlux streams of these disks were captured at 360 rpm. Normalise the timing to 300 rpm (200 ms per revolution) before analysing them.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note: the KryoFlux streams of these disks were captured at 360 rpm. Normalise the timing to 300 rpm (200 ms per revolution) before analysing them.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Enigma</name></author>
	</entry>
	<entry>
		<id>https://preservation64.de/index.php?title=Steinberg_Protection&amp;diff=76909&amp;oldid=prev</id>
		<title>Enigma: Steinberg Research protections: scheme A (hidden track 37, key sector, KERNAL requirement) and scheme B (read errors on tracks 33-35, real 1541 behaviour, VICE, patched G64s)</title>
		<link rel="alternate" type="text/html" href="https://preservation64.de/index.php?title=Steinberg_Protection&amp;diff=76909&amp;oldid=prev"/>
		<updated>2026-11-08T23:28:14Z</updated>

		<summary type="html">&lt;p&gt;Steinberg Research protections: scheme A (hidden track 37, key sector, KERNAL requirement) and scheme B (read errors on tracks 33-35, real 1541 behaviour, VICE, patched G64s)&lt;/p&gt;
&lt;a href=&quot;https://preservation64.de/index.php?title=Steinberg_Protection&amp;amp;diff=76909&amp;amp;oldid=76900&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Enigma</name></author>
	</entry>
	<entry>
		<id>https://preservation64.de/index.php?title=Steinberg_Protection&amp;diff=76900&amp;oldid=prev</id>
		<title>Enigma: Created page with &quot;text&quot;</title>
		<link rel="alternate" type="text/html" href="https://preservation64.de/index.php?title=Steinberg_Protection&amp;diff=76900&amp;oldid=prev"/>
		<updated>2026-11-08T23:14:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;text&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;text&lt;/div&gt;</summary>
		<author><name>Enigma</name></author>
	</entry>
</feed>