<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://oldwiki.cpcwiki.eu/index.php?action=history&amp;feed=atom&amp;title=Programming%3ADetecting_a_NEC765_disc_controller</id>
		<title>Programming:Detecting a NEC765 disc controller - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://oldwiki.cpcwiki.eu/index.php?action=history&amp;feed=atom&amp;title=Programming%3ADetecting_a_NEC765_disc_controller"/>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;action=history"/>
		<updated>2026-08-28T12:58:41Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=126724&amp;oldid=prev</id>
		<title>Poliander at 12:56, 27 July 2025</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=126724&amp;oldid=prev"/>
				<updated>2025-07-27T12:56:21Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 12:56, 27 July 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L214&quot; &gt;Line 214:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 214:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Programming&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]][[Category:Vortex Computersysteme&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Programming]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

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

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=126722&amp;oldid=prev</id>
		<title>Poliander: Poliander moved page Programming:Detecting an Amstrad or Vortex disc controller to Programming:Detecting a NEC765 disc controller</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=126722&amp;oldid=prev"/>
				<updated>2025-07-27T12:56:03Z</updated>
		
		<summary type="html">&lt;p&gt;Poliander moved page &lt;a href=&quot;/index.php/Programming:Detecting_an_Amstrad_or_Vortex_disc_controller&quot; class=&quot;mw-redirect&quot; title=&quot;Programming:Detecting an Amstrad or Vortex disc controller&quot;&gt;Programming:Detecting an Amstrad or Vortex disc controller&lt;/a&gt; to &lt;a href=&quot;/index.php/Programming:Detecting_a_NEC765_disc_controller&quot; title=&quot;Programming:Detecting a NEC765 disc controller&quot;&gt;Programming:Detecting a NEC765 disc controller&lt;/a&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 12:56, 27 July 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Poliander</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=126699&amp;oldid=prev</id>
		<title>Poliander at 12:25, 27 July 2025</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=126699&amp;oldid=prev"/>
				<updated>2025-07-27T12:25:36Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 12:25, 27 July 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L214&quot; &gt;Line 214:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 214:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Programming]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Programming&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]][[Category:Vortex Computersysteme&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

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

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=126697&amp;oldid=prev</id>
		<title>Poliander: Poliander moved page Programming:Detecting an Amstrad or Vortex disc controler to Programming:Detecting an Amstrad or Vortex disc controller</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=126697&amp;oldid=prev"/>
				<updated>2025-07-27T12:25:10Z</updated>
		
		<summary type="html">&lt;p&gt;Poliander moved page &lt;a href=&quot;/index.php/Programming:Detecting_an_Amstrad_or_Vortex_disc_controler&quot; class=&quot;mw-redirect&quot; title=&quot;Programming:Detecting an Amstrad or Vortex disc controler&quot;&gt;Programming:Detecting an Amstrad or Vortex disc controler&lt;/a&gt; to &lt;a href=&quot;/index.php/Programming:Detecting_an_Amstrad_or_Vortex_disc_controller&quot; class=&quot;mw-redirect&quot; title=&quot;Programming:Detecting an Amstrad or Vortex disc controller&quot;&gt;Programming:Detecting an Amstrad or Vortex disc controller&lt;/a&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 12:25, 27 July 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Poliander</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=14901&amp;oldid=prev</id>
		<title>Octoate: added category</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=14901&amp;oldid=prev"/>
				<updated>2007-03-12T20:49:26Z</updated>
		
		<summary type="html">&lt;p&gt;added category&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 20:49, 12 March 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L213&quot; &gt;Line 213:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 213:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ret&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ret&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Programming]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

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

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=14894&amp;oldid=prev</id>
		<title>CPCLER at 16:47, 12 March 2007</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=14894&amp;oldid=prev"/>
				<updated>2007-03-12T16:47:39Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 16:47, 12 March 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;From the '''The Unofficial Amstrad WWW Resource'''&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;;; This example shows how it is possible to detect a Amstrad&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;;; This example shows how it is possible to detect a Amstrad&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

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

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=14893&amp;oldid=prev</id>
		<title>CPCLER at 16:46, 12 March 2007</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming:Detecting_a_NEC765_disc_controller&amp;diff=14893&amp;oldid=prev"/>
				<updated>2007-03-12T16:46:37Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
;; This example shows how it is possible to detect a Amstrad&lt;br /&gt;
;; or Vortex floppy disc controller.&lt;br /&gt;
;;&lt;br /&gt;
;; Both controllers use a NEC765 compatible floppy disc controller,&lt;br /&gt;
;; and the same control method to read/write to the discs&lt;br /&gt;
;; using the controller (polling).&lt;br /&gt;
;;&lt;br /&gt;
;; But the NEC765 controller is accessed through different &lt;br /&gt;
;; I/O port addressess for each controller.&lt;br /&gt;
;;&lt;br /&gt;
;; This example attempts to send a &amp;quot;invalid&amp;quot; command to the NEC765&lt;br /&gt;
;; FDC. If the correct responses are detected, then it is assumed&lt;br /&gt;
;; that the controller is present and connected.&lt;br /&gt;
&lt;br /&gt;
org &amp;amp;4000&lt;br /&gt;
nolist&lt;br /&gt;
&lt;br /&gt;
.txt_output equ &amp;amp;bb5a&lt;br /&gt;
.ams_fdc_io equ &amp;amp;fb7e		;; I/O address for main status register of NEC765 in Amstrad controller&lt;br /&gt;
.vtx_fdc_io equ &amp;amp;fbf6		;; I/O address for main status register of NEC765 in Vortex controller.&lt;br /&gt;
&lt;br /&gt;
;;---------------------------------------------------&lt;br /&gt;
;; &lt;br /&gt;
;; do detection and report result&lt;br /&gt;
&lt;br /&gt;
.do_detect&lt;br /&gt;
ld hl,amstrad_di&lt;br /&gt;
call output_text&lt;br /&gt;
&lt;br /&gt;
;;------------------------------------&lt;br /&gt;
;; detect amstrad floppy disc interface&lt;br /&gt;
&lt;br /&gt;
ld bc,ams_fdc_io&lt;br /&gt;
call detect_fdc&lt;br /&gt;
ld hl,detected&lt;br /&gt;
jr nc,dd1&lt;br /&gt;
ld hl,not_detected&lt;br /&gt;
.dd1&lt;br /&gt;
call output_text&lt;br /&gt;
&lt;br /&gt;
call crlf&lt;br /&gt;
&lt;br /&gt;
;;------------------------------------&lt;br /&gt;
;; detect vortex floppy disc interface&lt;br /&gt;
&lt;br /&gt;
ld hl,vortex_di&lt;br /&gt;
call output_text&lt;br /&gt;
&lt;br /&gt;
ld bc,vtx_fdc_io&lt;br /&gt;
call detect_fdc&lt;br /&gt;
ld hl,detected&lt;br /&gt;
jr nc,dd2&lt;br /&gt;
ld hl,not_detected&lt;br /&gt;
.dd2&lt;br /&gt;
call output_text&lt;br /&gt;
&lt;br /&gt;
call crlf&lt;br /&gt;
ret&lt;br /&gt;
&lt;br /&gt;
;;-----------------------------------------------------&lt;br /&gt;
;; messages&lt;br /&gt;
&lt;br /&gt;
.amstrad_di&lt;br /&gt;
defb &amp;quot;Amstrad disc interface&amp;quot;,0&lt;br /&gt;
.vortex_di&lt;br /&gt;
defb &amp;quot;Vortex disc interface&amp;quot;,0&lt;br /&gt;
&lt;br /&gt;
.detected&lt;br /&gt;
defb &amp;quot; detected&amp;quot;,0&lt;br /&gt;
.not_detected&lt;br /&gt;
defb &amp;quot; not detected&amp;quot;,0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;;-----------------------------------------------------&lt;br /&gt;
;; new line&lt;br /&gt;
&lt;br /&gt;
.crlf&lt;br /&gt;
ld a,13&lt;br /&gt;
call txt_output&lt;br /&gt;
ld a,10&lt;br /&gt;
call txt_output&lt;br /&gt;
ret&lt;br /&gt;
&lt;br /&gt;
;;-----------------------------------------------------&lt;br /&gt;
;; output a null terminated string&lt;br /&gt;
&lt;br /&gt;
.output_text&lt;br /&gt;
ld a,(hl)     ;; get character&lt;br /&gt;
inc hl      ;; update character pointer&lt;br /&gt;
or a      ;; termination char (0)?&lt;br /&gt;
ret z&lt;br /&gt;
call txt_output    ;; output character to screen&lt;br /&gt;
jr output_text    ;; loop for next character&lt;br /&gt;
&lt;br /&gt;
;;-----------------------------------------------------------------&lt;br /&gt;
;; Entry conditions:&lt;br /&gt;
;; BC = I/O address for FDC main status register&lt;br /&gt;
;;&lt;br /&gt;
;; Exit conditions:&lt;br /&gt;
;; carry flag set -&amp;gt; not detected&lt;br /&gt;
;; carry flag clear -&amp;gt; detected&lt;br /&gt;
;;&lt;br /&gt;
;; assumes:&lt;br /&gt;
;; - I/O port for read data = I/O port for write data&lt;br /&gt;
;; - I/O port for read data = I/O port for write data = I/O port for main status register + 1&lt;br /&gt;
;; - FDC is not executing a command at this time&lt;br /&gt;
;;&lt;br /&gt;
;; Attempts to execute a invalid command.&lt;br /&gt;
&lt;br /&gt;
.detect_fdc&lt;br /&gt;
;; initialise timeout&lt;br /&gt;
ld e,0&lt;br /&gt;
&lt;br /&gt;
.df1&lt;br /&gt;
;; read main status register&lt;br /&gt;
in a,(c)&lt;br /&gt;
;; isolate flags we are interested in&lt;br /&gt;
and %11110000&lt;br /&gt;
;; test for the following flags:&lt;br /&gt;
;; - Data register of FDC is ready for data transfer&lt;br /&gt;
;; - Data transfer direction is from CPU-&amp;gt;FDC&lt;br /&gt;
;; - Not in Execution Mode&lt;br /&gt;
;; - FDC not busy&lt;br /&gt;
cp %10000000&lt;br /&gt;
jr z,df2&lt;br /&gt;
&lt;br /&gt;
;; decrease timeout&lt;br /&gt;
dec e&lt;br /&gt;
jr nz,df1&lt;br /&gt;
;; failed&lt;br /&gt;
scf&lt;br /&gt;
ret&lt;br /&gt;
&lt;br /&gt;
.df2&lt;br /&gt;
;; ok... FDC is ready to accept a command&lt;br /&gt;
&lt;br /&gt;
;;----------------------------------------&lt;br /&gt;
;; write the &amp;quot;invalid&amp;quot; command&lt;br /&gt;
&lt;br /&gt;
inc c&lt;br /&gt;
;; BC = I/O address of FDC data register&lt;br /&gt;
&lt;br /&gt;
;; code for invalid command&lt;br /&gt;
xor a&lt;br /&gt;
;; write to FDC data register&lt;br /&gt;
out (c),a&lt;br /&gt;
dec c&lt;br /&gt;
;; BC = I/O address of FDC main status register&lt;br /&gt;
&lt;br /&gt;
;;--------------------------&lt;br /&gt;
;; wait for fdc to become busy&lt;br /&gt;
ld e,0&lt;br /&gt;
.df3&lt;br /&gt;
;; read main status register&lt;br /&gt;
in a,(c)&lt;br /&gt;
and %00010000&lt;br /&gt;
jr nz,df4&lt;br /&gt;
&lt;br /&gt;
dec e&lt;br /&gt;
jr nz,df3&lt;br /&gt;
;; failed&lt;br /&gt;
scf&lt;br /&gt;
ret&lt;br /&gt;
&lt;br /&gt;
.df4&lt;br /&gt;
;; saw fdc become busy&lt;br /&gt;
&lt;br /&gt;
;;--------------------------------&lt;br /&gt;
;; wait for execution phase&lt;br /&gt;
&lt;br /&gt;
ld e,0&lt;br /&gt;
.df5&lt;br /&gt;
in a,(c)&lt;br /&gt;
and %11110000&lt;br /&gt;
;; test for the following flags:&lt;br /&gt;
;; - Data register of FDC is ready for data transfer&lt;br /&gt;
;; - Data transfer direction is from CPU-&amp;gt;FDC&lt;br /&gt;
;; - Not in Execution Mode&lt;br /&gt;
;; - FDC busy&lt;br /&gt;
cp %11010000&lt;br /&gt;
jr z,df6&lt;br /&gt;
dec e&lt;br /&gt;
jr nz,df5&lt;br /&gt;
&lt;br /&gt;
;; failed&lt;br /&gt;
scf&lt;br /&gt;
ret&lt;br /&gt;
&lt;br /&gt;
.df6&lt;br /&gt;
;; ok saw start of result phase&lt;br /&gt;
inc c&lt;br /&gt;
;; BC = I/O address of FDC data register&lt;br /&gt;
&lt;br /&gt;
;; read result phase data&lt;br /&gt;
in a,(c)&lt;br /&gt;
&lt;br /&gt;
dec c&lt;br /&gt;
&lt;br /&gt;
cp &amp;amp;80&lt;br /&gt;
jr nz,df7&lt;br /&gt;
&lt;br /&gt;
;; ok successful&lt;br /&gt;
or a&lt;br /&gt;
ret&lt;br /&gt;
&lt;br /&gt;
.df7&lt;br /&gt;
;; failed&lt;br /&gt;
scf&lt;br /&gt;
ret&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>CPCLER</name></author>	</entry>

	</feed>