<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[CBMSTUFF FORUM - Developer Area]]></title>
		<link>https://www.cbmstuff.com/forum/</link>
		<description><![CDATA[CBMSTUFF FORUM - https://www.cbmstuff.com/forum]]></description>
		<pubDate>Thu, 16 Apr 2026 23:44:03 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Reference of first flux transition]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=868</link>
			<pubDate>Tue, 21 Dec 2021 06:09:55 -0500</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=1706">AlWe</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=868</guid>
			<description><![CDATA[In my multi revolutions images something is off with the track length or my understanding of the format.<br />
<br />
I'm just reading in the flux data, add them all<span style="font-family: Arial;" class="mycode_font"> up and </span>then compare the result with the corresponding duration field from the TRK header.<br />
Here what I e.g. get for one of my 1.44 MB IBM disks:<br />
<br />
<br />
<br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite><span style="font-family: monospace;" class="mycode_font"><span style="color: #000000;" class="mycode_color">rev: 0, index2index=7987142, flux transitions=76847 </span><br />
rev: 1, index2index=7988418, flux transitions=76853 <br />
rev 0: acc ticks=7987094 <br />
rev 1: acc ticks=7988423</span></blockquote>
<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font">index2index and <span style="color: #000000;" class="mycode_color">flux transitions</span> are the duration and the bitcells from the TRK </span>hea<span style="font-family: Arial;" class="mycode_font">der, while acc ticks is the sum </span>over all flux transitions in the revolutions.<br />
<br />
For rev 0 there are 48 "free" ticks which should be the ticks from the last flux transition to the index signal,<br />
But in rev 1 there are 5 ticks *more* than the revolution is long...<br />
<br />
Noteworthy is also the discrepancy: while the index2index time varies 1276 ticks (31.9ms) the accumulated ticks have a discrepancy of 1329 ticks (33,225ms)<br />
So the second revolution as roughly 2ms longer, and has 6 flux transitions more. Which seems to be too much to be explained away by some rounding errors.<br />
<br />
As background why I'm looking at that:<br />
There is at least one floppy formal - XDF - which is writing sectors over the index pulse and therefore I have to stitch revolutions together correctly, too.<br />
<br />
My first assumption was, that the scp format is simply using the time from the first index pulse as reference for the first recorded flux transition.<br />
The question therefore was, if I have to account for the time between the last flux in a track when I want to decode the first flux transition when reading over the index mark.<br />
Now since the first flux transitions in my mult-rev images are always identical it looks like the reference may already be the last flux prior to the index signal. (Which would prevent us to figure out how far away the first flux transition is from the index pulse...)<br />
That could explain why the sum of all flux transactions is longer than the track.<br />
<br />
But I simply can't match the what I see into either assumption... So any tips what I'm doing wrong here?]]></description>
			<content:encoded><![CDATA[In my multi revolutions images something is off with the track length or my understanding of the format.<br />
<br />
I'm just reading in the flux data, add them all<span style="font-family: Arial;" class="mycode_font"> up and </span>then compare the result with the corresponding duration field from the TRK header.<br />
Here what I e.g. get for one of my 1.44 MB IBM disks:<br />
<br />
<br />
<br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite><span style="font-family: monospace;" class="mycode_font"><span style="color: #000000;" class="mycode_color">rev: 0, index2index=7987142, flux transitions=76847 </span><br />
rev: 1, index2index=7988418, flux transitions=76853 <br />
rev 0: acc ticks=7987094 <br />
rev 1: acc ticks=7988423</span></blockquote>
<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font">index2index and <span style="color: #000000;" class="mycode_color">flux transitions</span> are the duration and the bitcells from the TRK </span>hea<span style="font-family: Arial;" class="mycode_font">der, while acc ticks is the sum </span>over all flux transitions in the revolutions.<br />
<br />
For rev 0 there are 48 "free" ticks which should be the ticks from the last flux transition to the index signal,<br />
But in rev 1 there are 5 ticks *more* than the revolution is long...<br />
<br />
Noteworthy is also the discrepancy: while the index2index time varies 1276 ticks (31.9ms) the accumulated ticks have a discrepancy of 1329 ticks (33,225ms)<br />
So the second revolution as roughly 2ms longer, and has 6 flux transitions more. Which seems to be too much to be explained away by some rounding errors.<br />
<br />
As background why I'm looking at that:<br />
There is at least one floppy formal - XDF - which is writing sectors over the index pulse and therefore I have to stitch revolutions together correctly, too.<br />
<br />
My first assumption was, that the scp format is simply using the time from the first index pulse as reference for the first recorded flux transition.<br />
The question therefore was, if I have to account for the time between the last flux in a track when I want to decode the first flux transition when reading over the index mark.<br />
Now since the first flux transitions in my mult-rev images are always identical it looks like the reference may already be the last flux prior to the index signal. (Which would prevent us to figure out how far away the first flux transition is from the index pulse...)<br />
That could explain why the sum of all flux transactions is longer than the track.<br />
<br />
But I simply can't match the what I see into either assumption... So any tips what I'm doing wrong here?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[SCP format - disk type confusion]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=861</link>
			<pubDate>Thu, 11 Nov 2021 16:21:48 -0500</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=1706">AlWe</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=861</guid>
			<description><![CDATA[I'm interested to find reliable way to identify PC SCP disk images and what type these are. (I don't care about non-IBM disk images at the moment.)<br />
Looking at the <a href="https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt" target="_blank" rel="noopener" class="mycode_url">SCP format description</a> this should be possible by checking Byte 4. But when I look at my SCP images the value is not even close to what I expect and I can see no way to match it up to the documentation...<br />
<br />
Here some samples I created at different times using the SuperCard Pro Software. The last sample was created just now after double checking that as format IBM 1.44 had been selected:<br />
<ol type="1" class="mycode_list"><li>53 43 50 20 <span style="font-weight: bold;" class="mycode_b">45</span><br />
</li>
<li>53 43 50 23 <span style="font-weight: bold;" class="mycode_b">45</span><br />
</li>
<li>53 43 50 23 <span style="font-weight: bold;" class="mycode_b">45</span><br />
</li>
</ol>
I don't get why the disk type is 0x45 when I just created an IBM 1.44 image. Shouldn't it be 0x33?<br />
0x45 would map to DISK CLASS TANDY and an undefined SUB.CLASS. Am I missing something or is the documentation really wrong here?!?<br />
<br />
Unrelated but also noteworthy, there is a typo in the tapes section:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>tape_MFM = 0x01                    ; xxxx 0010</code></div></div><br />
In context it's more or less obvious that this should be tape_MFM = 0x02]]></description>
			<content:encoded><![CDATA[I'm interested to find reliable way to identify PC SCP disk images and what type these are. (I don't care about non-IBM disk images at the moment.)<br />
Looking at the <a href="https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt" target="_blank" rel="noopener" class="mycode_url">SCP format description</a> this should be possible by checking Byte 4. But when I look at my SCP images the value is not even close to what I expect and I can see no way to match it up to the documentation...<br />
<br />
Here some samples I created at different times using the SuperCard Pro Software. The last sample was created just now after double checking that as format IBM 1.44 had been selected:<br />
<ol type="1" class="mycode_list"><li>53 43 50 20 <span style="font-weight: bold;" class="mycode_b">45</span><br />
</li>
<li>53 43 50 23 <span style="font-weight: bold;" class="mycode_b">45</span><br />
</li>
<li>53 43 50 23 <span style="font-weight: bold;" class="mycode_b">45</span><br />
</li>
</ol>
I don't get why the disk type is 0x45 when I just created an IBM 1.44 image. Shouldn't it be 0x33?<br />
0x45 would map to DISK CLASS TANDY and an undefined SUB.CLASS. Am I missing something or is the documentation really wrong here?!?<br />
<br />
Unrelated but also noteworthy, there is a typo in the tapes section:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>tape_MFM = 0x01                    ; xxxx 0010</code></div></div><br />
In context it's more or less obvious that this should be tape_MFM = 0x02]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[SCP media test in Linux, verify question?]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=524</link>
			<pubDate>Thu, 31 May 2018 09:34:33 -0400</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=983">Pitou</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=524</guid>
			<description><![CDATA[Hello,<br />
<br />
I just started working on a media test for Linux re-using the source code from Keir Fraser.<br />
<br />
I did a lot and so far it's working pretty well. For now, I'm writing a 4us flux for a total of 200ms.<br />
<br />
I'm now reading back the data, but not sure how to do the compare. As we know the values are not always exact from read to read.<br />
<br />
What is the margin error we can assume?<br />
<br />
Also, the first 2-3 bitcells are often very far from original value. Is that normal?<br />
<br />
How should I do the compare and assume that a track is ok?<br />
<br />
Thank you.<br />
<br />
Pitou!]]></description>
			<content:encoded><![CDATA[Hello,<br />
<br />
I just started working on a media test for Linux re-using the source code from Keir Fraser.<br />
<br />
I did a lot and so far it's working pretty well. For now, I'm writing a 4us flux for a total of 200ms.<br />
<br />
I'm now reading back the data, but not sure how to do the compare. As we know the values are not always exact from read to read.<br />
<br />
What is the margin error we can assume?<br />
<br />
Also, the first 2-3 bitcells are often very far from original value. Is that normal?<br />
<br />
How should I do the compare and assume that a track is ok?<br />
<br />
Thank you.<br />
<br />
Pitou!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[SuperCard Pro iwth IEC interface]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=399</link>
			<pubDate>Mon, 21 Aug 2017 11:02:10 -0400</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=860">Jeff_Birt</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=399</guid>
			<description><![CDATA[Jim, I was watching a YouTube vide where you put an LCD screen in a SX-64 and you talked about putting a 1581 drive in the top bay. This got me wondering if the SCPro could 'speak' Commodore IEC then a PC type 3.5" drive could be used as a 1581 (which are not vast in numbers.) Of course emulating all the quirks of a real drive might be painful<br />
<br />
Just a random thought...]]></description>
			<content:encoded><![CDATA[Jim, I was watching a YouTube vide where you put an LCD screen in a SX-64 and you talked about putting a 1581 drive in the top bay. This got me wondering if the SCPro could 'speak' Commodore IEC then a PC type 3.5" drive could be used as a 1581 (which are not vast in numbers.) Of course emulating all the quirks of a real drive might be painful<br />
<br />
Just a random thought...]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Settle delay and other timings, three-mode drives]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=344</link>
			<pubDate>Mon, 14 Nov 2016 12:15:58 -0500</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=275">mark_k</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=344</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Settle delay</span><br />
<br />
How is the drive settle delay handled? That's the delay needed after moving the heads to the desired track, before reading/writing data. Do programs which access the SCP have to handle that themselves, or does the hardware/firmware guarantee it for the step to track command?<br />
<br />
The doc for command 0x91 set parameters says "Word 4 - delay (in milliseconds) after seeking track 0 (default 15)". Which suggests the SCP only uses a settle delay after stepping to track 0 via command 0x88 - seek track 0. Should user programs wait after issuing command 0x89 step to track, before reading data? And similarly wait after issuing commands 0x8A and 0x8B (step inwards and outwards)?<br />
<br />
The Citizen Z1DA-78A floppy drive specification at<br />
  <a href="http://maben.homeip.net/static/S100/citizen/diskette/citizen%20Z1DA%203.5%20diskete.pdf" target="_blank" rel="noopener" class="mycode_url">http://maben.homeip.net/static/S100/citi...iskete.pdf</a><br />
mentions 18ms being needed as the settle delay. My drive is a Citizen Z1DE-57Bb (HP OEM model) and I'm having problems getting good dumps using it. I'll post about that in another thread.<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Three-mode floppy drives</span><br />
<br />
When using a three-mode floppy drive (i.e. one capable of being told to spin at 360rpm instead of 300rpm), can the SuperCard control the drive mode? I notice the 0xA0 read flux data command has bit 3 related to that. Does that flag just tell the SCP to read at a higher resolution, or does it tell the drive to spin at that speed?<br />
<br />
Various drive manuals say the mode (for HD disks at least) is selected by the state of drive connector pin 2.<br />
According to "SAMSUNG-SFD321B-070103.pdf"<br />
  <a href="http://www.techtravels.org/wp-content/uploads/pefiles/SAMSUNG-SFD321B-070103.pdf" target="_blank" rel="noopener" class="mycode_url">http://www.techtravels.org/wp-content/up...070103.pdf</a><br />
the mode is set by the density select line (pin 2 of the 34-pin connector):<br />
 - HD disk and DS line HIGH: 2.0MB (normal 300rpm)<br />
 - HD disk and DS line low: 1.6MB (360rpm)<br />
 - DD disk: always 1.0MB regardless of DS line (300rpm)<br />
<br />
According to "FDAA-522041_YD-702D-6639D_3.5_Floppy.pdf"<br />
  <a href="http://bitsavers.informatik.uni-stuttgart.de/pdf/yeData/FDAA-522041_YD-702D-6639D_3.5_Floppy.pdf" target="_blank" rel="noopener" class="mycode_url">http://bitsavers.informatik.uni-stuttgar...Floppy.pdf</a><br />
those Y-E Data drives can be jumpered for both senses of pin 2 (the Y-E Data PDF calls that line MODE SELECT). In other words, either the same as SFD-321B, or the opposite: HD disk and pin 2 low: 2.0MB/300rpm, HD disk and pin 2 high: 1.6MB/360rpm. If I read the PDF correctly, it looks like that particular Y-E Data drive ships with jumpers set to the opposite of the SFD-321B.<br />
<br />
Teac also made 3-mode floppy drives (FD-235HG). According to "Teac FD-235HG manual.pdf"<br />
  <a href="http://maben.homeip.net/static/S100/teac/diskette/Teac%20FD-235HG%20manual.pdf" target="_blank" rel="noopener" class="mycode_url">http://maben.homeip.net/static/S100/teac...manual.pdf</a><br />
(document page 22, PDF page 25)<br />
MODE SELECT LOW: 1.6MB (360rpm), MODE SELECT HIGH: 2.0MB (300rpm)<br />
So Teac 3-mode selection is same as Samsung.]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Settle delay</span><br />
<br />
How is the drive settle delay handled? That's the delay needed after moving the heads to the desired track, before reading/writing data. Do programs which access the SCP have to handle that themselves, or does the hardware/firmware guarantee it for the step to track command?<br />
<br />
The doc for command 0x91 set parameters says "Word 4 - delay (in milliseconds) after seeking track 0 (default 15)". Which suggests the SCP only uses a settle delay after stepping to track 0 via command 0x88 - seek track 0. Should user programs wait after issuing command 0x89 step to track, before reading data? And similarly wait after issuing commands 0x8A and 0x8B (step inwards and outwards)?<br />
<br />
The Citizen Z1DA-78A floppy drive specification at<br />
  <a href="http://maben.homeip.net/static/S100/citizen/diskette/citizen%20Z1DA%203.5%20diskete.pdf" target="_blank" rel="noopener" class="mycode_url">http://maben.homeip.net/static/S100/citi...iskete.pdf</a><br />
mentions 18ms being needed as the settle delay. My drive is a Citizen Z1DE-57Bb (HP OEM model) and I'm having problems getting good dumps using it. I'll post about that in another thread.<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Three-mode floppy drives</span><br />
<br />
When using a three-mode floppy drive (i.e. one capable of being told to spin at 360rpm instead of 300rpm), can the SuperCard control the drive mode? I notice the 0xA0 read flux data command has bit 3 related to that. Does that flag just tell the SCP to read at a higher resolution, or does it tell the drive to spin at that speed?<br />
<br />
Various drive manuals say the mode (for HD disks at least) is selected by the state of drive connector pin 2.<br />
According to "SAMSUNG-SFD321B-070103.pdf"<br />
  <a href="http://www.techtravels.org/wp-content/uploads/pefiles/SAMSUNG-SFD321B-070103.pdf" target="_blank" rel="noopener" class="mycode_url">http://www.techtravels.org/wp-content/up...070103.pdf</a><br />
the mode is set by the density select line (pin 2 of the 34-pin connector):<br />
 - HD disk and DS line HIGH: 2.0MB (normal 300rpm)<br />
 - HD disk and DS line low: 1.6MB (360rpm)<br />
 - DD disk: always 1.0MB regardless of DS line (300rpm)<br />
<br />
According to "FDAA-522041_YD-702D-6639D_3.5_Floppy.pdf"<br />
  <a href="http://bitsavers.informatik.uni-stuttgart.de/pdf/yeData/FDAA-522041_YD-702D-6639D_3.5_Floppy.pdf" target="_blank" rel="noopener" class="mycode_url">http://bitsavers.informatik.uni-stuttgar...Floppy.pdf</a><br />
those Y-E Data drives can be jumpered for both senses of pin 2 (the Y-E Data PDF calls that line MODE SELECT). In other words, either the same as SFD-321B, or the opposite: HD disk and pin 2 low: 2.0MB/300rpm, HD disk and pin 2 high: 1.6MB/360rpm. If I read the PDF correctly, it looks like that particular Y-E Data drive ships with jumpers set to the opposite of the SFD-321B.<br />
<br />
Teac also made 3-mode floppy drives (FD-235HG). According to "Teac FD-235HG manual.pdf"<br />
  <a href="http://maben.homeip.net/static/S100/teac/diskette/Teac%20FD-235HG%20manual.pdf" target="_blank" rel="noopener" class="mycode_url">http://maben.homeip.net/static/S100/teac...manual.pdf</a><br />
(document page 22, PDF page 25)<br />
MODE SELECT LOW: 1.6MB (360rpm), MODE SELECT HIGH: 2.0MB (300rpm)<br />
So Teac 3-mode selection is same as Samsung.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Decoding Flux Information]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=299</link>
			<pubDate>Mon, 15 Feb 2016 21:12:23 -0500</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=644">Relayer</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=299</guid>
			<description><![CDATA[I'm writing my own SCP decoding app, initially for extracting files from TI-99 formatted DSDD disks. I believe I am able to parse the SCP files in their entirety. Now I need to figure out what I'm looking at with the flux data.<br />
<br />
I currently contain the flux values in a byte array. One sample track of a disk has alternate low and high decimal values. If I understand the SCP format, I'm looking at 16-bit pair values in HIGH-BYTE/LOW-BYTE sequence. Does each 16-bit value represent a flux intensity in a range from 0 to 65535?<br />
<br />
I converted the first 300 bytes to HEX values and got the following:<br />
<br />
<span style="font-family: Courier New;" class="mycode_font">002E0108010901090109010901090109010901080109010901090109010901090109010901090109010901090109010901090107010A010A01090108010B0107010A0109010B01050086008200880108010A0106008700850083008500870106010B01080109010A01090108010A0107010C0107010A0107010A0109010A010801090108010A01090108010A0109010801090108010A0109</span><br />
<br />
Any guess as to what I'm looking at?]]></description>
			<content:encoded><![CDATA[I'm writing my own SCP decoding app, initially for extracting files from TI-99 formatted DSDD disks. I believe I am able to parse the SCP files in their entirety. Now I need to figure out what I'm looking at with the flux data.<br />
<br />
I currently contain the flux values in a byte array. One sample track of a disk has alternate low and high decimal values. If I understand the SCP format, I'm looking at 16-bit pair values in HIGH-BYTE/LOW-BYTE sequence. Does each 16-bit value represent a flux intensity in a range from 0 to 65535?<br />
<br />
I converted the first 300 bytes to HEX values and got the following:<br />
<br />
<span style="font-family: Courier New;" class="mycode_font">002E0108010901090109010901090109010901080109010901090109010901090109010901090109010901090109010901090107010A010A01090108010B0107010A0109010B01050086008200880108010A0106008700850083008500870106010B01080109010A01090108010A0107010C0107010A0107010A0109010A010801090108010A01090108010A0109010801090108010A0109</span><br />
<br />
Any guess as to what I'm looking at?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Device initialisation]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=295</link>
			<pubDate>Sat, 06 Feb 2016 14:02:42 -0500</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=93">obo</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=295</guid>
			<description><![CDATA[I've been driving the SCP board from my own software for some time, but have noticed occasional strangeness in behaviour.  I've finally spotted a pattern to it, which usually begins with me unplugging the device for more than a few seconds before use.<br />
<br />
After opening the device I always select drive 0, turn the motor on, then seek to cyl 0.  Instead of seeking to cyl 0 it seems to position the drive head at cyl -4, and using a slower than normal step rate.  If I then sequentially read the content of tracks 0 upwards, the first 4 show as blank and cyl 4 shows the output from physical cyl 0, etc.  If I stop my program and re-run it everything works completely normally, with cyl 0 correctly located and a normal step rate used.<br />
<br />
It seems like I should be initialising more of the board when I first open it.  Can you advise on what I need to change from the firmware defaults?  I have hardware version 1.1 and firmware version 1.2 installed.<br />
<br />
The cyl -4 issue feels like it might be related to the flippy mode somehow, which I'm not changing.  I've noticed your own software doesn't suffer from the same problem, but it's likely to be applying more to restore the user's configuration settings...]]></description>
			<content:encoded><![CDATA[I've been driving the SCP board from my own software for some time, but have noticed occasional strangeness in behaviour.  I've finally spotted a pattern to it, which usually begins with me unplugging the device for more than a few seconds before use.<br />
<br />
After opening the device I always select drive 0, turn the motor on, then seek to cyl 0.  Instead of seeking to cyl 0 it seems to position the drive head at cyl -4, and using a slower than normal step rate.  If I then sequentially read the content of tracks 0 upwards, the first 4 show as blank and cyl 4 shows the output from physical cyl 0, etc.  If I stop my program and re-run it everything works completely normally, with cyl 0 correctly located and a normal step rate used.<br />
<br />
It seems like I should be initialising more of the board when I first open it.  Can you advise on what I need to change from the firmware defaults?  I have hardware version 1.1 and firmware version 1.2 installed.<br />
<br />
The cyl -4 issue feels like it might be related to the flippy mode somehow, which I'm not changing.  I've noticed your own software doesn't suffer from the same problem, but it's likely to be applying more to restore the user's configuration settings...]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Sending data from RAM to USB]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=287</link>
			<pubDate>Mon, 18 Jan 2016 16:41:49 -0500</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=625">dfstudios</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=287</guid>
			<description><![CDATA[Hi there,<br />
<br />
I've been experimenting with writing some software to control SCP. Everything I've done so far works okay, apart from sending data from the on-board RAM to the USB port as I keep getting a pr_CommandErr return code.<br />
<br />
Could someone please explain to me in more detail how to use this function?<br />
<br />
Kind regards,<br />
<br />
Francis]]></description>
			<content:encoded><![CDATA[Hi there,<br />
<br />
I've been experimenting with writing some software to control SCP. Everything I've done so far works okay, apart from sending data from the on-board RAM to the USB port as I keep getting a pr_CommandErr return code.<br />
<br />
Could someone please explain to me in more detail how to use this function?<br />
<br />
Kind regards,<br />
<br />
Francis]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Weird problem writing 'weak flux' pattern]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=282</link>
			<pubDate>Thu, 07 Jan 2016 07:53:31 -0500</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=107">keirf</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=282</guid>
			<description><![CDATA[Hi there,<br />
<br />
I'm experimenting with reliably writing 'weak flux' areas to disk, as short as 64 MFM bitcells (128us), which will read back randomly. I've settled on the following repeated pattern of 12 flux values: 25us, 0.5us*6, 19us, 0.5us*4<br />
<br />
This works well. However for convenience I want to use the same pattern even for much larger weak areas. I have one track which is 44894489 ... a few bytes of header ... 8192 MFM weak bitcells (16ms). Remainder of track is normal null filler.<br />
<br />
When I generate above track with my chosen weak pattern, write to disk with Supercard Pro, and then read back, my 44894489 header is missing <img src="https://www.cbmstuff.com/forum/images/smilies/sad.gif" alt="Sad" title="Sad" class="smilie smilie_8" /> It seems related to the large number of short (500ns) fluxes I am emitting. If I remove those I get my 44894489 sync back.<br />
<br />
I can provide before and after SCP files. Of course these are generated entirely by my own tools, so can't discount I've done something stupid  <img src="https://www.cbmstuff.com/forum/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /> <br />
<br />
 Regards,<br />
 Keir]]></description>
			<content:encoded><![CDATA[Hi there,<br />
<br />
I'm experimenting with reliably writing 'weak flux' areas to disk, as short as 64 MFM bitcells (128us), which will read back randomly. I've settled on the following repeated pattern of 12 flux values: 25us, 0.5us*6, 19us, 0.5us*4<br />
<br />
This works well. However for convenience I want to use the same pattern even for much larger weak areas. I have one track which is 44894489 ... a few bytes of header ... 8192 MFM weak bitcells (16ms). Remainder of track is normal null filler.<br />
<br />
When I generate above track with my chosen weak pattern, write to disk with Supercard Pro, and then read back, my 44894489 header is missing <img src="https://www.cbmstuff.com/forum/images/smilies/sad.gif" alt="Sad" title="Sad" class="smilie smilie_8" /> It seems related to the large number of short (500ns) fluxes I am emitting. If I remove those I get my 44894489 sync back.<br />
<br />
I can provide before and after SCP files. Of course these are generated entirely by my own tools, so can't discount I've done something stupid  <img src="https://www.cbmstuff.com/forum/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /> <br />
<br />
 Regards,<br />
 Keir]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Strange...]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=199</link>
			<pubDate>Wed, 10 Dec 2014 05:08:02 -0500</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=272">giants</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=199</guid>
			<description><![CDATA[Hi !<br />
<br />
I Have the 2 cars (Kryo and scp), why ? because I think this cards is perfect.<br />
I prefere to start to say, This post IS NOT, sorry : 'which has the largest' <img src="https://www.cbmstuff.com/forum/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
I say that because this post was deleted to the kryo forum... maybe here we are more understanding, I hope <img src="https://www.cbmstuff.com/forum/images/smilies/smile.gif" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
SO !<br />
I made DUMPS with 1 floppy reader (Sony MPF920L)<br />
one cable simple (2 connectors)<br />
one Molex External Power (12 and 5V)<br />
And, one Original Amiga Disk Game : BloodMoney<br />
I Made ALL MY test with the SAME Hardware, it's very important<br />
<br />
The question is, It is normaln when I use some programs to see 'What the data look like', Program like Aufit or hxcfe, to generate bmp 'diskview'<br />
I don't have the same graphics....<br />
<br />
Flux is Flux, don't care is Kryo or Scp<br />
If Data Is present, normaly I must see It.<br />
<br />
But...<br />
<img src="http://sasfepu78.fr/scp/Bizarre/aufit_KRYO_BloodMoney_WindowsXP.gif" loading="lazy"  alt="[Image: aufit_KRYO_BloodMoney_WindowsXP.gif]" class="mycode_img" /><br />
<br />
and<br />
<br />
<img src="http://sasfepu78.fr/scp/Bizarre/aufit_SCP_BloodMoney_WindowsXP.gif" loading="lazy"  alt="[Image: aufit_SCP_BloodMoney_WindowsXP.gif]" class="mycode_img" /><br />
<br />
Look in the circle, left picture...<br />
Maybe is aufit so, let's try with hxcfe<br />
<br />
<span style="font-weight: bold;" class="mycode_b">hxcfe_KRYO_BloodMoney_WindowsXP.gif</span><br />
<img src="http://sasfepu78.fr/scp/Bizarre/hxcfe_KRYO_BloodMoney_WindowsXP.gif" loading="lazy"  alt="[Image: hxcfe_KRYO_BloodMoney_WindowsXP.gif]" class="mycode_img" /><br />
<br />
and<br />
<br />
<span style="font-weight: bold;" class="mycode_b">hxcfe_SCP_BloodMoney_WindowsXP.gif</span><br />
<img src="http://sasfepu78.fr/scp/Bizarre/hxcfe_SCP_BloodMoney_WindowsXP.gif" loading="lazy"  alt="[Image: hxcfe_SCP_BloodMoney_WindowsXP.gif]" class="mycode_img" /><br />
<br />
<br />
How do you explain that?]]></description>
			<content:encoded><![CDATA[Hi !<br />
<br />
I Have the 2 cars (Kryo and scp), why ? because I think this cards is perfect.<br />
I prefere to start to say, This post IS NOT, sorry : 'which has the largest' <img src="https://www.cbmstuff.com/forum/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
I say that because this post was deleted to the kryo forum... maybe here we are more understanding, I hope <img src="https://www.cbmstuff.com/forum/images/smilies/smile.gif" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
SO !<br />
I made DUMPS with 1 floppy reader (Sony MPF920L)<br />
one cable simple (2 connectors)<br />
one Molex External Power (12 and 5V)<br />
And, one Original Amiga Disk Game : BloodMoney<br />
I Made ALL MY test with the SAME Hardware, it's very important<br />
<br />
The question is, It is normaln when I use some programs to see 'What the data look like', Program like Aufit or hxcfe, to generate bmp 'diskview'<br />
I don't have the same graphics....<br />
<br />
Flux is Flux, don't care is Kryo or Scp<br />
If Data Is present, normaly I must see It.<br />
<br />
But...<br />
<img src="http://sasfepu78.fr/scp/Bizarre/aufit_KRYO_BloodMoney_WindowsXP.gif" loading="lazy"  alt="[Image: aufit_KRYO_BloodMoney_WindowsXP.gif]" class="mycode_img" /><br />
<br />
and<br />
<br />
<img src="http://sasfepu78.fr/scp/Bizarre/aufit_SCP_BloodMoney_WindowsXP.gif" loading="lazy"  alt="[Image: aufit_SCP_BloodMoney_WindowsXP.gif]" class="mycode_img" /><br />
<br />
Look in the circle, left picture...<br />
Maybe is aufit so, let's try with hxcfe<br />
<br />
<span style="font-weight: bold;" class="mycode_b">hxcfe_KRYO_BloodMoney_WindowsXP.gif</span><br />
<img src="http://sasfepu78.fr/scp/Bizarre/hxcfe_KRYO_BloodMoney_WindowsXP.gif" loading="lazy"  alt="[Image: hxcfe_KRYO_BloodMoney_WindowsXP.gif]" class="mycode_img" /><br />
<br />
and<br />
<br />
<span style="font-weight: bold;" class="mycode_b">hxcfe_SCP_BloodMoney_WindowsXP.gif</span><br />
<img src="http://sasfepu78.fr/scp/Bizarre/hxcfe_SCP_BloodMoney_WindowsXP.gif" loading="lazy"  alt="[Image: hxcfe_SCP_BloodMoney_WindowsXP.gif]" class="mycode_img" /><br />
<br />
<br />
How do you explain that?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Suggestion for addition to SCP file format]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=182</link>
			<pubDate>Sun, 10 Aug 2014 11:26:33 -0400</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=275">mark_k</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=182</guid>
			<description><![CDATA[Hi,<br />
<br />
A suggestion for an addition to the .scp file format: Add a field for an arbitrary comment. You could put that directly after the current last field (timestamp).<br />
<br />
My use for that would be to record the drive make/model/serial number used for reading the disk. And maybe some notes about that specific disk (e.g. when/where bought from, whether known to be modified, etc.).<br />
<br />
Or perhaps have a general extensible extra data system to allow programs to handle extra data even if they don't understand that specific entry. So you could have a field type followed by byte length then the field data (the comment text in this case). Hmm, that sounds a bit like the IFF specification... <img src="https://www.cbmstuff.com/forum/images/smilies/smile.gif" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
<br />
Also a little question about the timestamp field. Is the time supposed to be UTC or the user's local time? And what zero-padding is supposed to be used? In scp_image_specs.txt one example given is "1/05/2014 5:15:21 PM"<br />
<br />
I assume the date format is the American type, i.e. day/month/year? Is the day supposed to be not-zero-padded (for days 1-9) but the month field is?<br />
<br />
(If I were (re)designing the format, I'd probably have the time field contain a string conforming to <a href="http://www.w3.org/TR/NOTE-datetime" target="_blank" rel="noopener" class="mycode_url">ISO 9601</a>...)]]></description>
			<content:encoded><![CDATA[Hi,<br />
<br />
A suggestion for an addition to the .scp file format: Add a field for an arbitrary comment. You could put that directly after the current last field (timestamp).<br />
<br />
My use for that would be to record the drive make/model/serial number used for reading the disk. And maybe some notes about that specific disk (e.g. when/where bought from, whether known to be modified, etc.).<br />
<br />
Or perhaps have a general extensible extra data system to allow programs to handle extra data even if they don't understand that specific entry. So you could have a field type followed by byte length then the field data (the comment text in this case). Hmm, that sounds a bit like the IFF specification... <img src="https://www.cbmstuff.com/forum/images/smilies/smile.gif" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<br />
<br />
Also a little question about the timestamp field. Is the time supposed to be UTC or the user's local time? And what zero-padding is supposed to be used? In scp_image_specs.txt one example given is "1/05/2014 5:15:21 PM"<br />
<br />
I assume the date format is the American type, i.e. day/month/year? Is the day supposed to be not-zero-padded (for days 1-9) but the month field is?<br />
<br />
(If I were (re)designing the format, I'd probably have the time field contain a string conforming to <a href="http://www.w3.org/TR/NOTE-datetime" target="_blank" rel="noopener" class="mycode_url">ISO 9601</a>...)]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[C code for accessing the SCP hardware]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=115</link>
			<pubDate>Tue, 08 Apr 2014 11:20:39 -0400</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=115</guid>
			<description><![CDATA[Keir Fraser has updated his Disk Utilities package to support the SCP hardware.   If you are interested in getting ahold of some working C source code for accessing the SCP hardware, Keir has made his Disk Utilities package open source and it can be found here:<br />
<br />
<a href="https://github.com/keirf/Disk-Utilities" target="_blank" rel="noopener" class="mycode_url">https://github.com/keirf/Disk-Utilities</a><br />
<br />
You should be able to drop in the scp.c, scp_dump.c, and scp.h files into any project and modify them as needed.<br />
<br />
Thanks Keir for providing this!]]></description>
			<content:encoded><![CDATA[Keir Fraser has updated his Disk Utilities package to support the SCP hardware.   If you are interested in getting ahold of some working C source code for accessing the SCP hardware, Keir has made his Disk Utilities package open source and it can be found here:<br />
<br />
<a href="https://github.com/keirf/Disk-Utilities" target="_blank" rel="noopener" class="mycode_url">https://github.com/keirf/Disk-Utilities</a><br />
<br />
You should be able to drop in the scp.c, scp_dump.c, and scp.h files into any project and modify them as needed.<br />
<br />
Thanks Keir for providing this!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Software Developer's Kit (SDK)]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=93</link>
			<pubDate>Sun, 02 Feb 2014 13:42:32 -0500</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=93</guid>
			<description><![CDATA[Here is the first version of the SDK for using SCP however you like.  If you have questions, please feel free to ask.<br />
<br />
The SCP PC software is written in Visual Basic 6, so it doesn't take much to use the SCP hardware.<br />
<br />
<a href="https://www.cbmstuff.com/downloads/scp/scp_sdk.pdf" target="_blank" rel="noopener" class="mycode_url">SuperCard Pro Software Developer's Kit</a>]]></description>
			<content:encoded><![CDATA[Here is the first version of the SDK for using SCP however you like.  If you have questions, please feel free to ask.<br />
<br />
The SCP PC software is written in Visual Basic 6, so it doesn't take much to use the SCP hardware.<br />
<br />
<a href="https://www.cbmstuff.com/downloads/scp/scp_sdk.pdf" target="_blank" rel="noopener" class="mycode_url">SuperCard Pro Software Developer's Kit</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Devices/emulators supporting SCP]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=80</link>
			<pubDate>Wed, 08 Jan 2014 10:01:26 -0500</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=80</guid>
			<description><![CDATA[This thread is for the discussion of all devices and emulations that are working on (or have completed) support for the SuperCard Pro hardware and/or .scp image file format.<br />
<br />
Finished support:<br />
<br />
HxC - supports read and write of .scp image files.  You can use the HxC drive emulator software on a PC or Mac to convert to/from .scp format and a variety of image formats, such as .ipf, .raw, .adf, etc.<br />
E-UAE, FS-UAE, WinUAE - full support for using .scp image files for floppy images.<br />
<br />
Work in progress:<br />
<br />
FPGA Arcade<br />
Hatari - Atari ST emulation<br />
AII]]></description>
			<content:encoded><![CDATA[This thread is for the discussion of all devices and emulations that are working on (or have completed) support for the SuperCard Pro hardware and/or .scp image file format.<br />
<br />
Finished support:<br />
<br />
HxC - supports read and write of .scp image files.  You can use the HxC drive emulator software on a PC or Mac to convert to/from .scp format and a variety of image formats, such as .ipf, .raw, .adf, etc.<br />
E-UAE, FS-UAE, WinUAE - full support for using .scp image files for floppy images.<br />
<br />
Work in progress:<br />
<br />
FPGA Arcade<br />
Hatari - Atari ST emulation<br />
AII]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[SuperCard Pro Flux Image format (.scp)]]></title>
			<link>https://www.cbmstuff.com/forum/showthread.php?tid=16</link>
			<pubDate>Fri, 01 Nov 2013 20:54:19 -0400</pubDate>
			<dc:creator><![CDATA[<a href="https://www.cbmstuff.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.cbmstuff.com/forum/showthread.php?tid=16</guid>
			<description><![CDATA[We have made the flux image format public information so that emulation authors can finally take advantage of low level data that is easy to read and use.<br />
<br />
The flux image format consists of a header containing offsets to tracks.  Each track contains a header with the information about the track data, including bit cell count, rotational speed, and offset to the actual flux data.  The image format was made so that corrupted images could be recovered, losing only the track(s) of data where the corruption occurred, not all of the data.  Because offsets are used for the data, it is possible to make very small images where writing is not required (a write-protected disk).  You can also have a large padded space so that the track can change sizes for writing support.<br />
<br />
If you have any questions about the data structure, please ask here so that everyone can learn.<br />
<br />
We are willing to help emulation authors implement this format.  This format is being implemented into the FPGA Arcade for low-level disk access so it will be possible to use copy protected disk images that will load just like the original!<br />
<br />
The updated image file format specification is located here:<br />
<br />
<a href="https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt" target="_blank" rel="noopener" class="mycode_url">https://www.cbmstuff.com/downloads/scp/s..._specs.txt</a>]]></description>
			<content:encoded><![CDATA[We have made the flux image format public information so that emulation authors can finally take advantage of low level data that is easy to read and use.<br />
<br />
The flux image format consists of a header containing offsets to tracks.  Each track contains a header with the information about the track data, including bit cell count, rotational speed, and offset to the actual flux data.  The image format was made so that corrupted images could be recovered, losing only the track(s) of data where the corruption occurred, not all of the data.  Because offsets are used for the data, it is possible to make very small images where writing is not required (a write-protected disk).  You can also have a large padded space so that the track can change sizes for writing support.<br />
<br />
If you have any questions about the data structure, please ask here so that everyone can learn.<br />
<br />
We are willing to help emulation authors implement this format.  This format is being implemented into the FPGA Arcade for low-level disk access so it will be possible to use copy protected disk images that will load just like the original!<br />
<br />
The updated image file format specification is located here:<br />
<br />
<a href="https://www.cbmstuff.com/downloads/scp/scp_image_specs.txt" target="_blank" rel="noopener" class="mycode_url">https://www.cbmstuff.com/downloads/scp/s..._specs.txt</a>]]></content:encoded>
		</item>
	</channel>
</rss>