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

<channel>
	<title>What&#039;s All This Brouhaha? &#187; Retrocomputing</title>
	<atom:link href="https://whats.all.this.brouhaha.com/category/computing/retrocomputing/feed/" rel="self" type="application/rss+xml" />
	<link>https://whats.all.this.brouhaha.com</link>
	<description>miscellaneous musings and random rantings</description>
	<lastBuildDate>Fri, 01 Nov 2019 06:31:54 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9</generator>
	<item>
		<title>Retrochallenge wrap-up</title>
		<link>https://whats.all.this.brouhaha.com/2019/10/31/retrochallenge-wrap-up/</link>
		<comments>https://whats.all.this.brouhaha.com/2019/10/31/retrochallenge-wrap-up/#comments</comments>
		<pubDate>Fri, 01 Nov 2019 06:31:54 +0000</pubDate>
		<dc:creator><![CDATA[Eric]]></dc:creator>
				<category><![CDATA[RetroChallenge]]></category>

		<guid isPermaLink="false">http://whats.all.this.brouhaha.com/?p=1312</guid>
		<description><![CDATA[For this Retrochallenge, I got two different 8008 CPU board PCBs designed and fabricated, and got one fully assembled, working, and running small 8008 test programs. The second board is not yet fully assembled, but I am about to start &#8230; <a href="https://whats.all.this.brouhaha.com/2019/10/31/retrochallenge-wrap-up/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><span class="css-901oao css-16my406 r-1qd0xha r-ad9z0x r-bcqeeo r-qvutc0">For this Retrochallenge, I got two different 8008 CPU board PCBs designed and fabricated, and got one fully assembled, working, and running small 8008 test programs. The second board is not yet fully assembled, but I am about to start testing it.</span></p>
<p><span class="css-901oao css-16my406 r-1qd0xha r-ad9z0x r-bcqeeo r-qvutc0">Here&#8217;s a photo of the second board, with only the CPLD and surface mount capacitors soldered down by my friend John D:<br />
</span></p>
<p><a href="https://www.flickr.com/photos/_brouhaha_/48994736857/in/album-72157711328440762/"><img src="https://live.staticflickr.com/65535/48994736857_dd114d3851_z.jpg" alt="smt_installed_front" width="640" height="295" /></a></p>
<p>There are other photos of both boards in the same album.</p>
<p>The next step for the second board will be to <span class="css-901oao css-16my406 r-1qd0xha r-ad9z0x r-bcqeeo r-qvutc0">install the bus connector, 3.3V regulator and capacitors, and 20 MHz oscillator, and start testing the CPLD, verifying that all the I/Os I use work properly.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://whats.all.this.brouhaha.com/2019/10/31/retrochallenge-wrap-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retrochallenge progress</title>
		<link>https://whats.all.this.brouhaha.com/2019/10/18/retrochallenge-progress/</link>
		<comments>https://whats.all.this.brouhaha.com/2019/10/18/retrochallenge-progress/#comments</comments>
		<pubDate>Sat, 19 Oct 2019 06:54:21 +0000</pubDate>
		<dc:creator><![CDATA[Eric]]></dc:creator>
				<category><![CDATA[RetroChallenge]]></category>

		<guid isPermaLink="false">http://whats.all.this.brouhaha.com/?p=1304</guid>
		<description><![CDATA[Not only have I not posted any Retrochallenge updates here, but I just noticed that the MariaDB instance was down, for no obvious reason, preventing the blog from working. I started it up again. The real reason for the lack &#8230; <a href="https://whats.all.this.brouhaha.com/2019/10/18/retrochallenge-progress/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Not only have I not posted any Retrochallenge updates here, but I just noticed that the MariaDB instance was down, for no obvious reason, preventing the blog from working. I started it up again. The real reason for the lack of updates here is that it&#8217;s <em>so</em> much faster and easier to tweet about the progress.</p>
<p>I&#8217;ll try to gather up some of the stuff I&#8217;ve tweeted and write it up here, but here&#8217;s an overview of the progress:</p>
<ul>
<li>Drew up schematics and PCB layouts for two boards, and submitted both to fab
<ul>
<li>The stage 1 board is a very simple double-sided board that interfaces an 8008 to an FPGA board, which has a Xilinx Artix-7 XC7A100T FPGA, and will make it relatively easy to test my RTL code.</li>
<li>The stage 2 board is a smaller four-layer board with a CPLD that interfaces the 8008 to a Z80-style bus. This board took much more effort to lay out. I originally intended to not send it to fab until the stage 1 board was working, but then there would have been no chance of having it back before the end of the month.</li>
</ul>
</li>
<li>Received the stage 1 board and parially assembled it: <a title="RC2019/10 photos" href="https://www.flickr.com/photos/_brouhaha_/albums/72157711328440762" target="_blank">photos</a></li>
<li>Started debugging the stage 1 board. Errors found so far:
<ul>
<li>I screwed up my Eagle footprint for the DIN 41612 type R male connector. The rows (A, B, C) are correct, but the pin numbering (1 through 32) is reversed. Fortunately the FPGA board uses a symmetric layout so the power rails and ground are still on the correct pins. I just had to redo my Vivado pin constraints file. The 20 MHz oscillator output unfortunately does not end up on one of the FPGA&#8217;s global clock inputs, which causes an error, but that can be overridden by another constraint.</li>
<li>The data bus signals being driven by the FPGA look funny. While trying to track that down, I discovered that the 74HCT245 data bus buffer was hot enough to burn my finger. There must be one or more shorted outputs, which I now need to track down.</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://whats.all.this.brouhaha.com/2019/10/18/retrochallenge-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retrochallenge project: an 8008 CPU board</title>
		<link>https://whats.all.this.brouhaha.com/2019/10/01/retrochallenge-project-an-8008-cpu-board/</link>
		<comments>https://whats.all.this.brouhaha.com/2019/10/01/retrochallenge-project-an-8008-cpu-board/#comments</comments>
		<pubDate>Wed, 02 Oct 2019 03:07:47 +0000</pubDate>
		<dc:creator><![CDATA[Eric]]></dc:creator>
				<category><![CDATA[RetroChallenge]]></category>

		<guid isPermaLink="false">http://whats.all.this.brouhaha.com/?p=1301</guid>
		<description><![CDATA[My RC2019/10 project is to design and build a new CPU board using the Intel 8008. The 8008 was Intel&#8217;s first 8-bit microprocessor, first announced in April 1972. The 8008 architecture was based on that of the Datapoint 2200. I&#8217;ll &#8230; <a href="https://whats.all.this.brouhaha.com/2019/10/01/retrochallenge-project-an-8008-cpu-board/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>My RC2019/10 project is to design and build a new CPU board using the Intel 8008. The 8008 was Intel&#8217;s first 8-bit microprocessor, first announced in April 1972. The 8008 architecture was based on that of the Datapoint 2200.</p>
<p>I&#8217;ll try to get the LLL DODT monitor running on it, or something similar. It would be nice to have other demo programs, but I haven&#8217;t decided what to write.</p>
<p>I reviewed the 8008 datasheet last week. Because the 8008 is a PMOS chip, it requires two power supplies, +5V and -9V, but does not have a ground pin. Effectively it runs on a single 14V power supply, but referenced to +5V. All of the 8008 signals are <em>almost</em> TTL compatible. Vil(max) is 0.8V, which is fine, but Vih(min) is 3.5V, which cannot be guaranteed when driving from bipolar TTL families. However, given how slow the 8008 is, for all pins but the clock, adding a pullup resistor would probably be sufficient to solve that problem.</p>
<p>While most early microprocessors required multiple-phase MOS level (high voltage) clocks, I had forgotten that the 8008 clock inputs have the same electrical requirements as the logic signals.</p>
<p>For my CPU board, I plan to use two SN74AHCT245 8-bit bidirectional bus buffers, one for the data bus and one for the other 8 unidirectional signals. (Bidirectional buffer chips make perfectly fine unidirectional buffers.) Being CMOS, the AHCT family will drive outputs high to nearly 5V, easily meeting the 8008 Vih(min) requirement. The &#8220;T&#8221; in AHCT indicates that the chip will accept TTL input levels, rather than requiring CMOS levels. The AHCT family is similar to the HCT family, but much faster; the SN74AHCT245 maximum propagation delay is 8.5 ns, vs. 28 ns for the SN74HCT245. Not that the 8008 needs fast timing.</p>
<p>The normal 8008 operates with a 2 us clock cycle. While there are various constraints on the timing of the clock phases, there is some flexibility. There was a speed-binned 8008-1 which was rated to operate with a clock cycle as short as 1.25 us. To operate the 8008-1 at the minimum clock cycle, there is no flexibility in the clock phase timing at all.</p>
<p>I can derive suitable timings for both 2 us and 1.25 us cycles from a 20 MHz clock input, using a counter and decode logic.</p>
<p>The first version of my 8008 CPU board will be designed as a daughterboard to plug into an FPGA evaluation board I have on hand, to let me easily develop the HDL code that I will later put in a CPLD in a later version, which will be much less expensive.</p>
]]></content:encoded>
			<wfw:commentRss>https://whats.all.this.brouhaha.com/2019/10/01/retrochallenge-project-an-8008-cpu-board/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reverse-engineering the Apple II emulation disk for the Apple ///</title>
		<link>https://whats.all.this.brouhaha.com/2018/04/07/reverse-engineering-the-apple-ii-emulation-disk-for-the-apple/</link>
		<comments>https://whats.all.this.brouhaha.com/2018/04/07/reverse-engineering-the-apple-ii-emulation-disk-for-the-apple/#comments</comments>
		<pubDate>Sun, 08 Apr 2018 06:46:05 +0000</pubDate>
		<dc:creator><![CDATA[Eric]]></dc:creator>
				<category><![CDATA[RetroChallenge]]></category>

		<guid isPermaLink="false">http://whats.all.this.brouhaha.com/?p=1298</guid>
		<description><![CDATA[I&#8217;ve been curious about some details of how the Apple II emulation disk for the Apple III works, so I&#8217;ve been working on reverse-engineering the code. I&#8217;ve just put it up on github. The first 1 1/2 tracks of the &#8230; <a href="https://whats.all.this.brouhaha.com/2018/04/07/reverse-engineering-the-apple-ii-emulation-disk-for-the-apple/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been curious about some details of how the Apple II emulation disk for the Apple III works, so I&#8217;ve been working on reverse-engineering the code. I&#8217;ve just put it up on <a title="a3a2em on github" href="https://github.com/brouhaha/a3a2em" target="_blank">github</a>.</p>
<p>The first 1 1/2 tracks of the disk get loaded into memory from A000..B7FF. That loads the Apple II ROM images into memory from 2000 up. Then it gives the user a chance to change some configuration options. Finally it copies the ROM images into place, does some more hardware configuration, sets the hardware Apple II emulation mode, and jumps into the Apple II monitor ROM.</p>
]]></content:encoded>
			<wfw:commentRss>https://whats.all.this.brouhaha.com/2018/04/07/reverse-engineering-the-apple-ii-emulation-disk-for-the-apple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing interleave of Apple II (and Apple ///) floppy disk images</title>
		<link>https://whats.all.this.brouhaha.com/2018/04/07/changing-interleave-of-apple-ii-and-apple-floppy-disk-images/</link>
		<comments>https://whats.all.this.brouhaha.com/2018/04/07/changing-interleave-of-apple-ii-and-apple-floppy-disk-images/#comments</comments>
		<pubDate>Sun, 08 Apr 2018 06:37:24 +0000</pubDate>
		<dc:creator><![CDATA[Eric]]></dc:creator>
				<category><![CDATA[RetroChallenge]]></category>

		<guid isPermaLink="false">http://whats.all.this.brouhaha.com/?p=1294</guid>
		<description><![CDATA[On Twitter, Mike Finger (@Retro2Neo) mentioned that he used a Python script dsk2po by @paulhagstrom to convert the sector order of Apple II floppy disk images. I just needed to do that this week for Apple III images, and not &#8230; <a href="https://whats.all.this.brouhaha.com/2018/04/07/changing-interleave-of-apple-ii-and-apple-floppy-disk-images/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>On Twitter, Mike Finger (@Retro2Neo) <a title="tweet" href="https://twitter.com/Retro2Neo/status/981368259856519168" target="_blank">mentioned</a> that he used a Python script <a title="dsk2po.py" href="https://github.com/paulhagstrom/dsk2po/blob/master/dsk2po.py" target="_blank">dsk2po</a> by @paulhagstrom to convert the sector order of Apple II floppy disk images. I just needed to do that this week for Apple III images, and not having been aware of dsk2po, a few days ago I wrote <a title="a2reinterleave" href="https://github.com/brouhaha/a2reinterleave" target="_blank">reinterleave.py</a> a to do the same thing. Currently it can convert between physical order, DOS order (which is what most .dsk images are), and ProDOS/Pascal/SOS order.</p>
]]></content:encoded>
			<wfw:commentRss>https://whats.all.this.brouhaha.com/2018/04/07/changing-interleave-of-apple-ii-and-apple-floppy-disk-images/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using BMOW Floppy Emu on Apple ///</title>
		<link>https://whats.all.this.brouhaha.com/2018/04/07/using-bmow-floppy-emu-on-apple/</link>
		<comments>https://whats.all.this.brouhaha.com/2018/04/07/using-bmow-floppy-emu-on-apple/#comments</comments>
		<pubDate>Sun, 08 Apr 2018 06:04:05 +0000</pubDate>
		<dc:creator><![CDATA[Eric]]></dc:creator>
				<category><![CDATA[RetroChallenge]]></category>

		<guid isPermaLink="false">http://whats.all.this.brouhaha.com/?p=1291</guid>
		<description><![CDATA[Because of the lack of working Apple III floppy drives, I made a cable to connect a BMOW Floppy Emu to the Apple III internal floppy connector. The Apple III uses a 26-pin cable to the floppy drives, while the &#8230; <a href="https://whats.all.this.brouhaha.com/2018/04/07/using-bmow-floppy-emu-on-apple/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Because of the lack of working Apple III floppy drives, I made a cable to connect a <a title="BMOW Floppy Emu" href="https://www.bigmessowires.com/floppy-emu/" target="_blank">BMOW Floppy Emu</a> to the Apple III internal floppy connector. The Apple III uses a 26-pin cable to the floppy drives, while the Apple II uses a 20-pin cable. Pins 1-20 are wired identically; the extra pins on the Apple III are used for additional signals for daisy-chaining extra drives (up to three total) and supporting Apple II emulation mode. I took a 26-pin cable, split off six wires at one end, and installed a 20-pin header.</p>
<p><a href="https://www.flickr.com/photos/22368471@N04/40414659305/in/dateposted-public/">BMOW Floppy Emu in use on Apple ///</a></p>
<p>After copying some Apple III floppy images to the MicroSD card, I was pleased to find that it works just fine. I&#8217;ve been able to boot SOS 1.3 with Business BASIC 1.23, and Pascal 1.1.</p>
<p><a href="https://www.flickr.com/photos/22368471@N04/26438473977/in/dateposted-public/">Apple /// running Business BASIC 1.23</a></p>
]]></content:encoded>
			<wfw:commentRss>https://whats.all.this.brouhaha.com/2018/04/07/using-bmow-floppy-emu-on-apple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No working internal floppy drive for Apple ///; spare motherboard</title>
		<link>https://whats.all.this.brouhaha.com/2018/04/07/no-working-internal-floppy-drive-for-apple-spare-motherboard/</link>
		<comments>https://whats.all.this.brouhaha.com/2018/04/07/no-working-internal-floppy-drive-for-apple-spare-motherboard/#comments</comments>
		<pubDate>Sun, 08 Apr 2018 05:58:53 +0000</pubDate>
		<dc:creator><![CDATA[Eric]]></dc:creator>
				<category><![CDATA[RetroChallenge]]></category>

		<guid isPermaLink="false">http://whats.all.this.brouhaha.com/?p=1289</guid>
		<description><![CDATA[In addition to the internal floppy drive that came in my Apple III, and which does not work, I have three additional spare internal floppy drive mechanisms. Today I tried all of them, and found that none of them work &#8230; <a href="https://whats.all.this.brouhaha.com/2018/04/07/no-working-internal-floppy-drive-for-apple-spare-motherboard/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In addition to the internal floppy drive that came in my Apple III, and which does not work, I have three additional spare internal floppy drive mechanisms. Today I tried all of them, and found that none of them work well enough to boot an Apple III disk written from a disk image file by my Apple IIe. The disk format is identical to Apple Disk II 16-sector 5.25-inch format, and the Unidisk 5.25 drives I&#8217;m using on the Apple IIe haven&#8217;t had any trouble reading and writing any other disks from a large collection from various sources, so I&#8217;m pretty sure the drive on the Apple IIe is not the problem.</p>
<p>Having four non-working drives made me think that perhaps the floppy controller, an integrated part of the Apple III motherboard, might be bad. I switched to my spare motherboard, and didn&#8217;t have any different results.</p>
<p>I also have an external Disk III drive. I tried cabling that to the internal drive port, in place of the internal drive, and was able to successfully boot the Apple III Dealer Diagnostics disk. That mostly worked, and I was able to test the RAM and ROM of both motherboards. Both are the later 5V configuration, one with a 5V 256KB memory board, and one with a 5V 128KB memory board (which could easily be expanded to 256KB).</p>
<p>I say &#8220;mostly worked&#8221; because the drive did give I/O errors trying to load some of the diagnostics, or to display a CATALOG of the diagnostic disk. So really, I have five Apple /// floppy drives that aren&#8217;t working properly.</p>
]]></content:encoded>
			<wfw:commentRss>https://whats.all.this.brouhaha.com/2018/04/07/no-working-internal-floppy-drive-for-apple-spare-motherboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Floppy drive spindle motor speed measurement</title>
		<link>https://whats.all.this.brouhaha.com/2018/04/03/floppy-drive-spindle-motor-speed-measurement/</link>
		<comments>https://whats.all.this.brouhaha.com/2018/04/03/floppy-drive-spindle-motor-speed-measurement/#comments</comments>
		<pubDate>Tue, 03 Apr 2018 07:19:33 +0000</pubDate>
		<dc:creator><![CDATA[Eric]]></dc:creator>
				<category><![CDATA[RetroChallenge]]></category>

		<guid isPermaLink="false">http://whats.all.this.brouhaha.com/?p=1276</guid>
		<description><![CDATA[The floppy drive in my Apple III is not working well enough to boot floppies written on my Apple II. I think the spindle motor speed may be off. I&#8217;m hoping that&#8217;s what it is, since it&#8217;s the easiest thing &#8230; <a href="https://whats.all.this.brouhaha.com/2018/04/03/floppy-drive-spindle-motor-speed-measurement/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The floppy drive in my Apple III is not working well enough to boot floppies written on my Apple II. I think the spindle motor speed may be off. I&#8217;m hoping that&#8217;s what it is, since it&#8217;s the easiest thing to fix. I&#8217;m putting together a timing strobe light to measure it, using a microcontroller and an inexpensive Harbor Freight LED flashlight.</p>
<p><span id="more-1276"></span></p>
<p>Using a strobe to adjust floppy disk drive spindle motor speed works the same way as the strobe lights on turntables. The drive spindle pulley has a sticker with 50 Hz and 60 Hz stripes. One looks at the stripes illuminated by the strobe light, and if the drive speed is set correctly, the stripes appear to stand still. Otherwise they will appear to rotate in one direction or the other, depending on whether the motor speed is low or high, and at a rate proportional to the speed error. Traditionally a neon lamp was used, powered by AC mains power, at 50 Hz or 60 Hz depending on your locale.</p>
<p>I will use a Harbor Freight LED flashlight, which comes in a two-pack (one with red housing, one with blue), currently on sale for $2.99.  The flashlights use three AAA &#8220;heavy duty&#8221; zinc-carbon cells. As Richard Ottosen has observed, there is _NO_ current limiting, other than the impedance of the AAA cells, so replacing them with alkaline cells may reduce the life of the LED(s).</p>
<div>
<p>Two weeks ago I bought a two-pack of the flashlights. They had a package with a single black housing flashlight for less money. It had nine LEDs that appeared to be conventional T1-3/4 package. The two-pack (red and blue) had a single LED. I compared them side-by-side, and the single LED flashlights were brighter, so I bought those. Today I went back for more, and discovered that the two-packs on the rack are actually a mix; some packs have nine-LED flashlights, and some have single-LED.</p>
</div>
<div>
<p>Today Richard modified a flashlight for me, drilling a hole in the side and soldering wires to the battery holder, so I can power and control it externally. He measured the current with the provided set of zinc-carbon AAA cells, and found that at initial power-on it draws over 450mA, but drops to closer to 400mA.</p>
</div>
<div>
<p>This evening I connected it to my bench power supply and took measurements at various forward voltages in 0.1V steps. I was in a hurry and did not let the LED reach thermal equilibrium at each step. I put the data into a <a href="http://whats.all.this.brouhaha.com/wp-content/uploads/2018/04/flashlight_if_vs_vf.ods">spreadsheet</a> with a graph, and exported it as a <a href="http://whats.all.this.brouhaha.com/wp-content/uploads/2018/04/flashlight_if_vs_vf.pdf">PDF</a>. What surprised me is that a forward voltage of 2.2V actually did produce an extremely dim light, though the power supply (with 1mA resolution) still read 0mA. At 2.5V it was still pretty dim, but there was a significant jump in brightness between 2.5V and 2.6V, and the power supply read 2mA at 2.6V.</p>
</div>
<p>I had originally hoped that using only two AAA cells and a very inexpensive boost regulator, I could drive the enable input of the regulator to modulate the LED on and off. However, at 3.0V, the LED draws 73mA, and produces an impressive amount of light. I think I&#8217;ll either have to use a &#8220;true output disconnect&#8221; boot regulator, or use an nFET to switch the power, rather than the boost regulator enable.</p>
<p>Building a self-contained timing stobe light with a boost regulator is beyond the scope of this RetroChallenge project. For now, I&#8217;ll just power it from a bench power supply.</p>
]]></content:encoded>
			<wfw:commentRss>https://whats.all.this.brouhaha.com/2018/04/03/floppy-drive-spindle-motor-speed-measurement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple /// floppy drive discovery</title>
		<link>https://whats.all.this.brouhaha.com/2018/04/03/apple-floppy-drive-discovery/</link>
		<comments>https://whats.all.this.brouhaha.com/2018/04/03/apple-floppy-drive-discovery/#comments</comments>
		<pubDate>Tue, 03 Apr 2018 07:06:49 +0000</pubDate>
		<dc:creator><![CDATA[Eric]]></dc:creator>
				<category><![CDATA[RetroChallenge]]></category>

		<guid isPermaLink="false">http://whats.all.this.brouhaha.com/?p=1274</guid>
		<description><![CDATA[I was looking at the schematics of Apple II and Apple III floppy disk drive analog boards on Bitsavers late last night, and made a surprising discovery: the DuoDisk 5.25 dual floppy drive sold for use on the Apple II &#8230; <a href="https://whats.all.this.brouhaha.com/2018/04/03/apple-floppy-drive-discovery/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I was looking at the schematics of Apple II and Apple III floppy disk drive analog boards on Bitsavers late last night, and made a surprising discovery: the DuoDisk 5.25 dual floppy drive sold for use on the Apple II is actually directly usable on the Apple III+, with the full functionality the Apple III SOS operating system expects.</p>
<p><span id="more-1274"></span>The Apple III had one internal floppy drive, and could support up to three external drives. The internal and external drives used the same drive mechanism as the Disk II used on the Apple II, and the same motor control board, but a different analog board. Whereas the Disk II used a 20-position ribbon cable to connect to the interface card, the floppy drives for the Apple III use a 26-position ribbon cable, and there are two connectors and three drive select signals allowing for three external drives to be daisy-chained. Each drive shifts the drive select signals on the daisy chain down, so that the drives don&#8217;t need to be configured for their position in the chain. The analog card also has a flip-flop circuit which latches a disk changed signal, not present in the Disk II. The Apple III SOS operating system uses the disk changed indication to ensure that it does not write to the wrong disk even if the user swaps disks at an inopportune time. The disk change signal is derived from detecting an edge on the write-protect sensor.</p>
<p>The usual external floppy drive was known as the Disk III, model number A3M0004, and had a molded plastic housing, unlike the sheet metal housing of the Disk II. However, the earliest external floppy drive for the Apple III was the Disk II for Apple III, model number A3M0003, and did use the same (or nearly the same) sheet metal housing as the Apple II.</p>
<p>Bitsavers has <a title="Bitsavers Apple 5.25-inch floppy drive documents" href="http://bitsavers.trailing-edge.com/pdf/apple/disk/5_inch/" target="_blank">schematics</a> for the Disk II analog card, the Disk III analog card, the UniDisk 5.25 analog card, and the DuoDisk 5.25 analog card. The UniDisk 5.25 was the replacement for the Disk II, and like the Disk III, was in a molded plastic housing. The DuoDisk 5.25 contained two floppy drives in a single housing. The UniDisk and DuoDisk were most commonly used with the Apple IIe.</p>
<p>The suprise discovery was that the UniDisk analog card schematic shows that it has the same disk changed circuit as the Disk III, and that like the Disk III, it has an &#8220;Apple II Mode&#8221; pin on the connector to disable the disk changed circuit when used on an Apple II, or on an Apple III when running in Apple II emulation mode. When I discovered this, I was excited because I actually have a number of UniDisk 5.25 drives, and would like to use them on the Apple III. I hastily tweeted about my discovery.</p>
<p>Alas, I was almost certainly mistaken. Upon further study, it became apparent that the UniDisk 5.25 analog card schematic on Bitsavers is for a version of the drive that did not make it into production. The schematic and the PCB layout show a 25-pin D-subminiature connector, as used on the Apple III+, but the product as manufactured has a non-standard 19-pin D-subminiature connector, as used on all later Apple floppy drives. The 19-pin connector has only two drive select lines, and does not have the Apple II mode line. I haven&#8217;t yet cracked open a production UniDisk 5.25 drive to check, but I&#8217;m now fairly confident that will not contain the disk changed circuit needed for use on the Apple III.</p>
<p>However, I then realized that the production DuoDisk 5.25 drive actually _does_ have the 25-pin D-subminiature connector, and a quick check of the pinouts revealed that it appears to match the Apple III+ disk connnector pinout. This causes no end of aggravation to people wanting to use the DuoDisk on an Apple II because it needs a special 19-pin to 25-pin cable, which is very hard to find now.</p>
<p>After tweeting about jumping the gun regarding the UniDisk 5.25, I also tweeted that it was possible that the DuoDisk 5.25 might have the disk changed circuit, and might work directly connected to an Apple III+. I don&#8217;t have a DuoDisk 5.25 to test, and I have an Apple III with 26-pin header for the disk connector rather than an Apple III+, so I wasn&#8217;t able to test it myself. To my amazement, within a few hours @jrobj_ confirmed that the DuoDisk works on the Apple III+ and does have the disk changed circuit.</p>
<p>It is interesting to note that the DuoDisk schematic shows only a single disk changed detection circuit for both drives, rather than separate circuits for each drive. As a result, if the user changes either diskette, SOS will think that both have been changed.</p>
]]></content:encoded>
			<wfw:commentRss>https://whats.all.this.brouhaha.com/2018/04/03/apple-floppy-drive-discovery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RC2018/04 entry</title>
		<link>https://whats.all.this.brouhaha.com/2018/03/16/rc201804-entry/</link>
		<comments>https://whats.all.this.brouhaha.com/2018/03/16/rc201804-entry/#comments</comments>
		<pubDate>Sat, 17 Mar 2018 05:37:26 +0000</pubDate>
		<dc:creator><![CDATA[Eric]]></dc:creator>
				<category><![CDATA[RetroChallenge]]></category>

		<guid isPermaLink="false">http://whats.all.this.brouhaha.com/?p=1271</guid>
		<description><![CDATA[For the next RetroChallenge, I plan to port the Infocom ZIP intepreter to the Apple III, to run games (including Zork) natively under the SOS operating system. At the moment the floppy drive of my Apple III isn&#8217;t working properly, &#8230; <a href="https://whats.all.this.brouhaha.com/2018/03/16/rc201804-entry/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>For the next <a title="RetroChallenge" href="http://www.retrochallenge.org/" target="_blank">RetroChallenge</a>, I plan to port the <a title="Infocom" href="https://en.wikipedia.org/wiki/Infocom" target="_blank">Infocom</a> <a title="Z-machine" href="https://en.wikipedia.org/wiki/Z-machine" target="_blank">ZIP intepreter</a> to the <a title="Apple III" href="https://en.wikipedia.org/wiki/Apple_III" target="_blank">Apple III</a>, to run games (including <a title="Zork" href="https://en.wikipedia.org/wiki/Zork" target="_blank">Zork</a>) natively under the <a title="Apple SOS" href="https://en.wikipedia.org/wiki/Apple_SOS" target="_blank">SOS</a> operating system.</p>
<p>At the moment the floppy drive of my Apple III isn&#8217;t working properly, so I&#8217;ll have to fix that or replace it with one of my spares, though the spares aren&#8217;t necessarily in working order either. This evening I purchased a two-pack of inexpensive <a title="LED mini flashlights" href="https://www.harborfreight.com/2-piece-3-12-in-9-led-mini-flashlight-69112.html" target="_blank">LED flashlights</a> from Harbor Freight, and I plan to modify one, adding a PIC or AVR microcontroller, crystal, and NFET, to make a timing light for adjustment of motor speed. I hope that just adjusting the motor speed will be sufficient to get at least one of my floppy drives working; I don&#8217;t presently have a head alignment diskette.</p>
<p>In 1983, I mostly reverse-engineered the version 1, 2, and 3 (no revision letter) of the Infocom ZIP interpreters into source code that could be assembled using Microsoft ALDS on CP/M. Until recently, all that survived of that effort was a printed listing, which my friend Richard had preserved, and returned to me in 2002. I put a <a title="http://www.brouhaha.com/~eric/if/zip/" href="http://www.brouhaha.com/~eric/if/zip/" target="_blank">scanned PDF</a> of the listing online, and . The listing has false conditionals disabled, so only the code for the version 3 interpreter is seen, with a two-instruction modification I made to display lower case. (Infocom&#8217;s 3A interpreter supported 80 column display with lower case on the Apple IIe.)</p>
<p>In the last few weeks, I retyped the source code, converted it to assemble with a modern cross-assembler, added back the conditionals for ZIP versions 1 and 2, and added the code for 3A and 3B. I&#8217;ve put it on <a title="Infocom ZIP version 1 through 3 interpreters for Apple II, partially reverse-engineered " href="https://github.com/brouhaha/a2zip/" target="_blank">Github</a>. This source code will be used as the basis for the SOS port of the interpreter.</p>
<p>The display output and keyboard input code will have to be replaced with code that uses the .CONSOLE driver, and the disk I/O code, both for &#8220;story file&#8221; and save file access will have to be replaced with code that uses the SOS file system calls, which are similar to the <a title="Apple ProDOS" href="https://en.wikipedia.org/wiki/Apple_ProDOS" target="_blank">ProDOS</a> file system calls used on the <a title="Apple II series" href="https://en.wikipedia.org/wiki/Apple_II_series" target="_blank">Apple II</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://whats.all.this.brouhaha.com/2018/03/16/rc201804-entry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
