<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://archive.worldofdragon.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Polluks</id>
	<title>The Dragon Archive - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://archive.worldofdragon.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Polluks"/>
	<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Special:Contributions/Polluks"/>
	<updated>2026-06-25T15:21:51Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.15</generator>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Fast_Edit&amp;diff=10007</id>
		<title>Fast Edit</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Fast_Edit&amp;diff=10007"/>
		<updated>2025-06-27T16:58:38Z</updated>

		<summary type="html">&lt;p&gt;Polluks: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fast Edit v1.00 was written by Geir Hovland in the period March-August 1990. After the review in [[Dragon Update]] by Raymond Roach in December 1990, version v1.01 was released. As of September 2011, FEdit is released to the public domain by the author.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FAST EDIT - REVIEWED BY RAYMOND ROACH, DRAGON UPDATE, DECEMBER 1990&lt;br /&gt;
-------------------------------------------------------------------&lt;br /&gt;
When I think that I have found the best text editor/word processor for the&lt;br /&gt;
Dragon, up comes someone with another which offers much that the others do not.&lt;br /&gt;
Geir Hovland has done just that with his FEDIT V1.00 disc. I have reviewed it&lt;br /&gt;
using my Dragon 64 with Superdos E6 and a Panasonic KX-P1081 printer.&lt;br /&gt;
The screen presentation is 64 x 32 upper and lower case characters. This, using&lt;br /&gt;
a TV set for the screen, is a little difficult to read at my age, but is really&lt;br /&gt;
very good, the program is fully menu driven and very straightforward to use.&lt;br /&gt;
The left/right arrow keys bring the required menus on screen. Only one hiccup&lt;br /&gt;
came to light in the edit mode. After making a deletion, the cursor did not&lt;br /&gt;
flash until the left arrow as pressed a second time. Once this was known, no&lt;br /&gt;
other problems were found. Block move, copy or delete functions are easy to use&lt;br /&gt;
as are the word search/replace facilities. A menu allows you to control key&lt;br /&gt;
repeat rate and delay time, and, if you like that sort of thing, have a&lt;br /&gt;
keyclick. There is also a menu which allows you to upload and download text&lt;br /&gt;
between computers at one of four Baud rates. The print menu provides for full&lt;br /&gt;
or part print with or without linefeed. It also caters for serial and parallel&lt;br /&gt;
printer connection.&lt;br /&gt;
Now I come to the part which I found sets this program apart from others. You&lt;br /&gt;
can use the full IBM international character set within the text by pressing&lt;br /&gt;
the CLEAR key followed by the ASCII number. These 255 possibilities have really&lt;br /&gt;
expanded the Dragon in a way I have never found before.&lt;br /&gt;
Geir Hovland deserves every encouragement Dragon owners can give him - so&lt;br /&gt;
PLEASE buy a copy of the disc, which brings a first rate English manual with&lt;br /&gt;
it, and open up the Dragon for even greater use.&lt;br /&gt;
P.S. Having just printed a proof copy of this review I realised that I have&lt;br /&gt;
forgotten another word of information. When you have finished your text, ALWAYS&lt;br /&gt;
end with an ENTER. If you do not, the last line will not print out - as I have&lt;br /&gt;
just reminded myself.&lt;br /&gt;
The disc can be obtained from G.E. Hovland, Stubbsvingen 67B, 7036 Trondheim,&lt;br /&gt;
Norway. Because of the high charges involved in international cheques, please&lt;br /&gt;
pay in Norwegian Kroner. The cost for disc and manual is only 100 Kroner. (Ask&lt;br /&gt;
your bank how you can pay).&lt;br /&gt;
&lt;br /&gt;
Comment by the author: In the updated version V1.01, an extra return/linefeed&lt;br /&gt;
is sent to the printer after the last page. The cursor flash issue pointed out&lt;br /&gt;
has also been fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Screenshots&lt;br /&gt;
-------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
[[File:fedit-1.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:fedit-2.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:fedit-3.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:fedit-4.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:fedit-5.png]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=OS-9_Editor_Assembler&amp;diff=10006</id>
		<title>OS-9 Editor Assembler</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=OS-9_Editor_Assembler&amp;diff=10006"/>
		<updated>2025-06-27T16:50:35Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|{{Infobox Game&lt;br /&gt;
|Image = [[Image:OS9_Assembler.png|center|300px|Title screen]]&lt;br /&gt;
|Gamenumber = &lt;br /&gt;
|Company = [[Microware Systems Corporation]]&lt;br /&gt;
|Developer = &lt;br /&gt;
|Publisher = [[Dragon Data Ltd]]&lt;br /&gt;
|Musician = &lt;br /&gt;
|HVSC = &lt;br /&gt;
|Release = 1980&lt;br /&gt;
|Platform = [[Dragon 64]]&lt;br /&gt;
|Genre = &lt;br /&gt;
|Gamemode = &lt;br /&gt;
|Operation = {{Keyboard}}&lt;br /&gt;
|Media = {{Diskette}}&lt;br /&gt;
|Language = {{EN}} &lt;br /&gt;
|Info = &lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Editor, assembler and debugger for the OS-9 operating system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Packaging==&lt;br /&gt;
&lt;br /&gt;
[[File:OS9_Assembler_diskette.jpg|300px|Assembler diskette]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloads==&lt;br /&gt;
&lt;br /&gt;
[http://archive.worldofdragon.org/archive/index.php?dir=Disks/Dragon/&amp;amp;file=OS-9%20Editor%20Assembler%20Debugger%20%28198x%29%28Dragon%20Data%20Ltd%29%5B%21%5D.zip OS-9 Editor Assembler Debugger diskette] (Zipped VDK image)&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:OS-9]] [[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=OS-9_C_Compiler&amp;diff=10005</id>
		<title>OS-9 C Compiler</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=OS-9_C_Compiler&amp;diff=10005"/>
		<updated>2025-06-27T16:49:33Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|{{Infobox Game&lt;br /&gt;
|Image = [[Image:CCompiler_DragonData_Screenshot01.png|center|300px|Title screen]]&lt;br /&gt;
|Gamenumber = &lt;br /&gt;
|Company = [[Microware Systems Corporation]]&lt;br /&gt;
|Developer = &lt;br /&gt;
|Publisher = [[Dragon Data Ltd]]&lt;br /&gt;
|Musician = &lt;br /&gt;
|HVSC = &lt;br /&gt;
|Release = &lt;br /&gt;
|Platform = [[Dragon 64]]&lt;br /&gt;
|Genre = &lt;br /&gt;
|Gamemode = &lt;br /&gt;
|Operation = {{Keyboard}}&lt;br /&gt;
|Media = {{Diskette}}&lt;br /&gt;
|Language = {{EN}} &lt;br /&gt;
|Info = &lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
K&amp;amp;R style C compiler for the OS-9 Operating System.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Packaging==&lt;br /&gt;
&lt;br /&gt;
The OS-9 C Compiler was delivered on two diskettes.&lt;br /&gt;
&lt;br /&gt;
[[File:CCompiler_DragonData_Inlay.jpg|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:OS9_C_Compiler_diskette_1.jpg|300px|C Compiler diskette 1]][[File:OS9_C_Compiler_diskette_2.jpg|300px|C Compiler diskette 2]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C-Compiler-OS9-Disk-label-cleaned-Disk-1of2.jpg|300px]][[File:C-Compiler-OS9-Disk-label-cleaned-Disk-2of2.jpg|300px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:CCompiler_DragonData_Sheet01.jpg|300px]][[File:CCompiler_DragonData_Sheet02.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==Downloads==&lt;br /&gt;
&lt;br /&gt;
[http://archive.worldofdragon.org/archive/index.php?dir=Disks/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20OS-9%20C.zip OS-9 C Compiler v1.1] (Zipped VDK images)&lt;br /&gt;
&lt;br /&gt;
[http://archive.worldofdragon.org/archive/index.php?dir=Manuals/&amp;amp;file=Dragon%20Data%20Ltd%20-%20OS9%20-%20C%20Compiler.zip OS-9 C Compiler v1.1 User&amp;#039;s Guide] (Zipped PDF document)&lt;br /&gt;
&lt;br /&gt;
[[Media:C-Compiler-OS9-Manual-Dragon_Data.pdf|OS-9 C Compiler v1.1 User&amp;#039;s Guide (A different version)]] (PDF file)&lt;br /&gt;
&lt;br /&gt;
[[Media:C-Compiler-OS9-Quick-Ref.pdf|OS-9 C Compiler Quick Reference Card]] (PDF file)&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:OS-9]] [[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=OS-9_Basic_09&amp;diff=10004</id>
		<title>OS-9 Basic 09</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=OS-9_Basic_09&amp;diff=10004"/>
		<updated>2025-06-27T16:48:47Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|{{Infobox Game&lt;br /&gt;
|Image = [[Image:Basic09.png|center|300px|Title screen]]&lt;br /&gt;
|Gamenumber = &lt;br /&gt;
|Company = [[Microware Systems Corporation]]&lt;br /&gt;
|Developer = &lt;br /&gt;
|Publisher = [[Dragon Data Ltd]]&lt;br /&gt;
|Musician = &lt;br /&gt;
|HVSC = &lt;br /&gt;
|Release = &lt;br /&gt;
|Platform = [[Dragon 64]]&lt;br /&gt;
|Genre = &lt;br /&gt;
|Gamemode = &lt;br /&gt;
|Operation = {{Keyboard}}&lt;br /&gt;
|Media = {{Diskette}}&lt;br /&gt;
|Language = {{EN}} &lt;br /&gt;
|Info = &lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
BASIC09 is the BASIC interpreter/compiler for OS-9.  This is a very structured version of BASIC, quite different from the Microsoft BASIC that is part of the DRAGON ROM.  &lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
[[File:Basic09_Screenshot01.png|300px]][[File:Basic09_Screenshot02.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Packaging==&lt;br /&gt;
&lt;br /&gt;
[[File:Basic09_Inlay.jpg|300px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Basic09_Disk.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==Downloads==&lt;br /&gt;
&lt;br /&gt;
[http://archive.worldofdragon.org/archive/index.php?dir=Disks/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20OS-9%20BASIC09.zip OS-9 BASIC09 diskette] (Zipped VDK image)&lt;br /&gt;
&lt;br /&gt;
[http://archive.worldofdragon.org/archive/index.php?dir=Manuals/&amp;amp;file=Dragon%20Data%20Ltd%20-%20OS9%20-%20Basic09.zip OS-9 BASIC09 User&amp;#039;s Guide] (Zipped PDF document)&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:OS-9]] [[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Tele-Forth&amp;diff=10003</id>
		<title>Tele-Forth</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Tele-Forth&amp;diff=10003"/>
		<updated>2025-06-27T16:48:01Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|{{Infobox Game&lt;br /&gt;
|Image = [[Image:TeleForth_Screenshot01.png|center|300px|Titleimage from the game]]&lt;br /&gt;
|Gamenumber = &lt;br /&gt;
|Company = [[Armadillo International Software]]&lt;br /&gt;
|Developer = &lt;br /&gt;
|Publisher = [[Microdeal]]&lt;br /&gt;
|Musician = &lt;br /&gt;
|HVSC = &lt;br /&gt;
|Release = [[:Category:Game_1983|1983]]&lt;br /&gt;
|Platform = [[Dragon 32]] or [[Dragon 64]]&lt;br /&gt;
|Genre = [[:Category:Application|Application]]&lt;br /&gt;
|Gamemode = &lt;br /&gt;
|Operation = {{Keyboard}}&lt;br /&gt;
|Media = {{Cassette}}&lt;br /&gt;
|Language = {{EN}} &lt;br /&gt;
|Info = &lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
[[File:TeleForth_Screenshot02.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Packaging ==&lt;br /&gt;
[[File:TeleForth_Binder.jpg|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:TeleForth_Tape.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Tapes/Dragon/cas/&amp;amp;file=Tele-Forth%20%281983%29%28Microdeal%29%5B%21%5D.zip Tele-Forth] (zipped .CAS file)&lt;br /&gt;
&lt;br /&gt;
[[Category:Application]] [[Category:Game_In_Archive]] [[Category:Game_1983]] [[Category:Game_Online]] [[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=OS-9_Pascal&amp;diff=10002</id>
		<title>OS-9 Pascal</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=OS-9_Pascal&amp;diff=10002"/>
		<updated>2025-06-27T16:46:00Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|{{Infobox Game&lt;br /&gt;
|Image = [[Image:OS9Pascal_Screenshot01.png|center|300px|Title screen]]&lt;br /&gt;
|Gamenumber = &lt;br /&gt;
|Company = [[Microware Systems Corporation]]&lt;br /&gt;
|Developer = &lt;br /&gt;
|Publisher = [[Dragon Data Ltd]]&lt;br /&gt;
|Musician = &lt;br /&gt;
|HVSC = &lt;br /&gt;
|Release = &lt;br /&gt;
|Platform = [[Dragon 64]]&lt;br /&gt;
|Genre = &lt;br /&gt;
|Gamemode = &lt;br /&gt;
|Operation = {{Keyboard}}&lt;br /&gt;
|Media = {{Diskette}}&lt;br /&gt;
|Language = {{EN}} &lt;br /&gt;
|Info = &lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A Pascal editor and compiler for the OS-9 operating system.&lt;br /&gt;
&lt;br /&gt;
Scans courtesy of Richard Harding.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
== Packaging ==&lt;br /&gt;
&lt;br /&gt;
[[File:OS9Pascal_Inlay_th.jpg|602px|link=https://archive.worldofdragon.org/images/e/ed/OS9Pascal_Inlay.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:OS9Pascal-disk-1of2.jpg|300px]] [[File:OS9Pascal-disk-2of2.jpg|302px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Pascal-OS9-label-1of2.jpg|300px]] [[File:Pascal-OS9-label-2of2.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==Downloads==&lt;br /&gt;
&lt;br /&gt;
* [http://archive.worldofdragon.org/browse/?dir=downloads/Software/Dragon/Dragon%20Data%20Ltd/OS-9/Pascal OS-9 Pascal] &lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:OS-9]] [[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Vbcc&amp;diff=10001</id>
		<title>Vbcc</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Vbcc&amp;diff=10001"/>
		<updated>2025-06-27T16:45:05Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;vbcc&amp;#039;&amp;#039;&amp;#039; cross compiler and its &amp;#039;&amp;#039;&amp;#039;vlink&amp;#039;&amp;#039;&amp;#039; linker support [[Dragon DOS]], the assembler is called &amp;#039;&amp;#039;&amp;#039;vasm6809_mot&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
http://www.compilers.de/vbcc.html&lt;br /&gt;
http://sun.hasenbraten.de/vlink/&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Dragon_DOS&amp;diff=10000</id>
		<title>Dragon DOS</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Dragon_DOS&amp;diff=10000"/>
		<updated>2025-06-27T16:42:28Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Subcategory&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dragon DOS 1.x ==&lt;br /&gt;
&lt;br /&gt;
[[Dragon Data Ltd]] comissioned [[The Micro Works]] to write the original Dragon DOS, some pre-release examples of this including the (c) Micro Works signature can be found in the downloads area. Shortly after release a number of bugs were discovered in 1.0 and a number of articles were published in [[Dragon User]] with patches to the ROM code to correct the worst of these. The most common version is 1.0, it is not known if any other version was officially released although 1.7 has been seen but the source of 1.7 and the differences with 1.0 are unknown at this time.&lt;br /&gt;
&lt;br /&gt;
== Dragon DOS 2.x ==&lt;br /&gt;
&lt;br /&gt;
For the [[Dragon Alpha]] a modified version of Dragon DOS was required, one that would load into RAM from disk rather than exist on a ROM. [[Vivaway Ltd]] were given the source code for Dragon DOS 1.x and Dragon DOS 2.x was created. A VDK disk image of Dragon DOS V2.F for the [[Dragon Alpha]] can be found in the downloads area. From looking at segments of the original Dragon DOS 2.C source code it would appear that [[Vivaway Ltd]] implemented the changes as options so that the source code could be assembled for a Dragon ROM or RAM implementation - There is also an option that appears to infer it would also assemble to work on a Tandy CoCo.&lt;br /&gt;
&lt;br /&gt;
== Dragon DOS 4.x ==&lt;br /&gt;
&lt;br /&gt;
Eurohard wanted to release an updated Dragon DOS for the [[Dragon 64]] / [[Dragon 200]] that contained all the known bugfixes and to avoid confusion with the 2.x series numbering they jumped straight to V4.0. A ROM image of this is available for download.&lt;br /&gt;
&lt;br /&gt;
== Dragon DOS Interface Pictures ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Dragon DOS Interface&amp;quot;&amp;gt;&lt;br /&gt;
Image:DiskController_Box.jpg|Box&lt;br /&gt;
Image:DiskController_Top.jpg|Casing Top&lt;br /&gt;
Image:DiskController_Bottom.jpg|Casing Bottom&lt;br /&gt;
Image:DiskController_PCB_Top.jpg|Issue 1 PCB Top&lt;br /&gt;
Image:DiskController_PCB_Bottom.jpg|Issue 1 PCB Bottom&lt;br /&gt;
Image:DiskController_Issue2_PCB_Top.jpg|Issue2 PCB Top &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dragon DOS IC Parts List ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DragonDOS Board IC list (with Datasheets)&lt;br /&gt;
{|{{PrettyTable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|&amp;#039;&amp;#039;Part Number&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Description&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Datasheet&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| 2764 || 8Kb EPROM || [[Media:HN482764G.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN7416N || Hex inverter buffers/drivers with open-collector high-voltage outputs || [[Media:SN5406-SN5416-SN7406-SN7416.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN7417N || Hex buffers/drivers with open-collector high-voltage outputs || [[Media:SN5407-SN5417-SN7407-SN7417.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS00N || Quad 2-input positive-NAND gates || [[Media:SN5400-SN54LS00-SN54S00-SN7400-SN74LS00-SN74S00.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS04N || Hex inverters || [[Media:SN5404-SN54LS04-SN54S04-SN7404-SN74LS04-SN74S04.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS74AN || DUAL D-TYPE POSITIVE EDGE-TRIGGERED FLIP-FLOPS WITH PRESET AND CLEAR || [[Media:SN54-74LS74N.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS139N || DUAL 1-OF-4 DECODER/DEMULTIPLEXER || [[Media:SN54-74LS139.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS174N || Hex/Quadruple D-Type Flip-Flops With Clear || [[Media:SN54174-SN54175-SN54LS174-SN54LS175-SN54S174-SN54S175-SN74174-SN74175-SN74LS174-SN74LS175-SN74S174-SN74S175.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| WD2797PL-02 || Floppy Disk Formatter/Controller || [[Media:WD279x-02.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New developments ==&lt;br /&gt;
&lt;br /&gt;
Several people have created new versions of the DragonDOS controller, which use the same WD2797 floppy controller IC as the original controller but are smaller.&lt;br /&gt;
&lt;br /&gt;
* Jose Leandro&amp;#039;s Disk Controller (2012)  Eagle Schematics:[[File:DragonDos_Controller_-_Jos%C3%A9_Leandro.zip]]&lt;br /&gt;
This one was created by Jose Leandro, a spanish Dragon user.&lt;br /&gt;
&lt;br /&gt;
Full details (in spanish): http://hardware.speccy.org/temp/Dragon-1.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Jose Leandro&amp;#039;s Dragon Disk Controller&amp;quot;&amp;gt;&lt;br /&gt;
Image:DragonDOS_JoseLeandro_PCB_Top.jpg|PCB Top&lt;br /&gt;
Image:DragonDOS_JoseLeandro_PCB_Bottom.jpg|PCB Bottom&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Lafumat&amp;#039;s Dragon Disk Controller (July 2012)&lt;br /&gt;
&lt;br /&gt;
This one was created by Lafumat, a user of the spanish RetroWiki and Zona de Pruebas forums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Lafumat&amp;#039;s Dragon Disk Controller&amp;quot;&amp;gt;&lt;br /&gt;
Image:Lafumat_Disk_Controller-V1.1-PCB_Top.jpg|PCB Top&lt;br /&gt;
Image:Lafumat_Disk_Controller-V1.1-PCB_Bottom.jpg|PCB Bottom&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dragon DOS Downloads ==&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20Dragon%20DOS%201.0%20-%20Pre-Release%201.zip Dragon DOS 1.0 - Pre-Release 1] (Zipped ROM file)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20Dragon%20DOS%201.0%20-%20Pre-Release%202.zip Dragon DOS 1.0 - Pre-Release 2] (Zipped ROM file)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20Dragon%20DOS%201.0%20-%20Pre-Release%201.zip Dragon DOS 1.0 - Pre-Release 3] (Zipped ROM file)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20Dragon%20DOS%201.0.zip Dragon DOS 1.0] (Zipped ROM File)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Disks/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20Dragon%20Alpha%28Professional%29%20-%20DragonDos%202.F%20Boot.zip Dragon DOS 2.F] (Zipped Disk Image)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Eurohard%20S.A.%20-%20Dragon%20DOS%204.0.zip Dragon DOS 4.0 (English)] (Zipped ROM File)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Eurohard%20S.A.%20-%20Dragon%20DOS%204.0%20%28ES%29.zip Dragon DOS 4.0 (Spanish)] (Zipped ROM File)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Eurohard%20S.A.%20-%20Dragon%20DOS%204.1.zip Dragon DOS 4.1] (Zipped ROM file)&lt;br /&gt;
&lt;br /&gt;
[[Category:System Software]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Category:System_Software&amp;diff=9999</id>
		<title>Category:System Software</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Category:System_Software&amp;diff=9999"/>
		<updated>2025-06-27T16:41:13Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=RS-DOS&amp;diff=9995</id>
		<title>RS-DOS</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=RS-DOS&amp;diff=9995"/>
		<updated>2025-03-03T20:12:57Z</updated>

		<summary type="html">&lt;p&gt;Polluks: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;RS-DOS&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;R&amp;#039;&amp;#039;&amp;#039;adio &amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039;hack &amp;#039;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;#039;isk &amp;#039;&amp;#039;&amp;#039;O&amp;#039;&amp;#039;&amp;#039;perating &amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039;ystem) was the primary disk operating system for the [[Tandy]]/[[Radio Shack]] TRS-80 Color Computer series, commonly referred to as the CoCo. It was developed by [[Tandy Corporation]] and was based on [[Microsoft]]&amp;#039;s [[BASIC]] interpreter with additional disk I/O functionality.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
RS-DOS was the standard disk operating system for early TRS-80 Color Computers before being largely replaced by third-party alternatives such as [[OS-9]] and [[Dragon DOS]]. Unlike [[MS-DOS]], RS-DOS was not a standalone operating system but rather an extension of the built-in [[Color BASIC]], adding disk commands and file management features.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Provided basic file management capabilities, including [[LOAD]], [[SAVE]], [[RUN]], and [[DIR]] commands.&lt;br /&gt;
* Used a proprietary [[Disk File System]] that differed from common FAT-based file systems.&lt;br /&gt;
* Supported up to 35 tracks per disk and single-sided, single-density [[floppy disks]].&lt;br /&gt;
* Required the Color Computer Disk Extended BASIC ROM for operation.&lt;br /&gt;
* Lacked multitasking or advanced memory management features.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
RS-DOS had several limitations:&lt;br /&gt;
* It did not support subdirectories or hierarchical file structures.&lt;br /&gt;
* Disk access was relatively slow compared to later systems.&lt;br /&gt;
* It lacked built-in support for hard drives or non-floppy disk storage.&lt;br /&gt;
&lt;br /&gt;
== Successors ==&lt;br /&gt;
As computing demands increased, RS-DOS was gradually replaced by more powerful operating systems such as [[OS-9 Level 1]] and [[OS-9 Level 2]], which provided multitasking and a Unix-like environment. Other third-party DOS implementations, such as [[Disk Extended Color BASIC]] and [[Dragon DOS]], also emerged to expand the capabilities of the TRS-80 Color Computer.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[TRS-80 Color Computer]]&lt;br /&gt;
* [[Color BASIC]]&lt;br /&gt;
* [[OS-9 System]]&lt;br /&gt;
* [[Dragon DOS]]&lt;br /&gt;
&lt;br /&gt;
[[Category:System Software]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=RS-DOS&amp;diff=9994</id>
		<title>RS-DOS</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=RS-DOS&amp;diff=9994"/>
		<updated>2025-03-03T20:11:25Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;RS-DOS&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;R&amp;#039;&amp;#039;&amp;#039;adio &amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039;hack &amp;#039;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;#039;isk &amp;#039;&amp;#039;&amp;#039;O&amp;#039;&amp;#039;&amp;#039;perating &amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039;ystem) was the primary disk operating system for the Tandy/Radio Shack TRS-80 Color Computer se...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;RS-DOS&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;R&amp;#039;&amp;#039;&amp;#039;adio &amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039;hack &amp;#039;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;#039;isk &amp;#039;&amp;#039;&amp;#039;O&amp;#039;&amp;#039;&amp;#039;perating &amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039;ystem) was the primary disk operating system for the [[Tandy]]/[[Radio Shack]] TRS-80 Color Computer series, commonly referred to as the CoCo. It was developed by [[Tandy Corporation]] and was based on [[Microsoft]]&amp;#039;s [[BASIC]] interpreter with additional disk I/O functionality.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
RS-DOS was the standard disk operating system for early TRS-80 Color Computers before being largely replaced by third-party alternatives such as [[OS-9]] and [[DragonDOS]]. Unlike [[MS-DOS]], RS-DOS was not a standalone operating system but rather an extension of the built-in [[Color BASIC]], adding disk commands and file management features.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Provided basic file management capabilities, including [[LOAD]], [[SAVE]], [[RUN]], and [[DIR]] commands.&lt;br /&gt;
* Used a proprietary [[Disk File System]] that differed from common FAT-based file systems.&lt;br /&gt;
* Supported up to 35 tracks per disk and single-sided, single-density [[floppy disks]].&lt;br /&gt;
* Required the Color Computer Disk Extended BASIC ROM for operation.&lt;br /&gt;
* Lacked multitasking or advanced memory management features.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
RS-DOS had several limitations:&lt;br /&gt;
* It did not support subdirectories or hierarchical file structures.&lt;br /&gt;
* Disk access was relatively slow compared to later systems.&lt;br /&gt;
* It lacked built-in support for hard drives or non-floppy disk storage.&lt;br /&gt;
&lt;br /&gt;
== Successors ==&lt;br /&gt;
As computing demands increased, RS-DOS was gradually replaced by more powerful operating systems such as [[OS-9 Level 1]] and [[OS-9 Level 2]], which provided multitasking and a Unix-like environment. Other third-party DOS implementations, such as [[Disk Extended Color BASIC]] and [[DragonDOS]], also emerged to expand the capabilities of the TRS-80 Color Computer.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[TRS-80 Color Computer]]&lt;br /&gt;
* [[Color BASIC]]&lt;br /&gt;
* [[OS-9 System]]&lt;br /&gt;
* [[DragonDOS]]&lt;br /&gt;
&lt;br /&gt;
[[Category:System Software]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Delta_DOS&amp;diff=9993</id>
		<title>Delta DOS</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Delta_DOS&amp;diff=9993"/>
		<updated>2025-03-03T19:58:14Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
The Delta DOS interface is a disk controller cartridge with disk access functions for BASIC in ROM. It was made by [[Premier Microsystems]] and there are two known versions of the interface.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta DOS Interface Pictures ==&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Casing&amp;quot;&amp;gt;&lt;br /&gt;
Image:DeltaDos_Top.jpg|Casing Top&lt;br /&gt;
Image:DeltaDos_Bottom.jpg|Casing Bottom&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Mk 1 Board (WD1771)&amp;quot;&amp;gt;&lt;br /&gt;
Image:DeltaDos_PCB_Top.jpg|Mk1 PCB Top&lt;br /&gt;
Image:DeltaDos_PCB_Bottom.jpg|Mk1 PCB Bottom&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Mk 2 Board (WD2791)&amp;quot;&amp;gt;&lt;br /&gt;
Image:Delta-mk2-top.JPG|Mk2 PCB Top&lt;br /&gt;
Image:Delta-mk2-bottom.JPG|Mk2 PCB Bottom&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IC Parts Lists ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mk1 Board IC list (with Datasheets)&lt;br /&gt;
{|{{PrettyTable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|&amp;#039;&amp;#039;Part Number&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Description&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Datasheet&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| 2764 || 8Kb EPROM || [[Media:HN482764G.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| INS1771N-1 || WD1771 compatible FDC controller || [[Media:INS1771N-1.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| ICL7660CPA || CMOS Voltage converter || [[Media:ICL7660.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN7404N || Hex inverters || [[Media:SN5404-SN54LS04-SN54S04-SN7404-SN74LS04-SN74S04.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN7416N || Hex inverter buffers/drivers with open-collector high-voltage outputs || [[Media:SN5406-SN5416-SN7406-SN7416.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN7417N || Hex buffers/drivers with open-collector high-voltage outputs || [[Media:SN5407-SN5417-SN7407-SN7417.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS03N || Quad 2-input positive-NAND gates with open collector outputs || [[Media:SN5403-SN54LS03-SN5403-SN7403-SN74LS03-SN74S03.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS04N || Hex inverters || [[Media:SN5404-SN54LS04-SN54S04-SN7404-SN74LS04-SN74S04.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS08N || Quadruple 2-Input Positive-AND Gates || [[Media:SN5408-SN54LS08-SN54S08-SN7408-SN74LS08-SN74S08.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS17N || Hex Buffers/Drivers With Open-Collector High-Voltage Outputs || [[Media:SN54LS07-SN74LS07-SN74LS17.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS32N || Quad 2-input positive-OR gates || [[Media:SN5432-SN54LS32-SN54S32-SN7432-SN74LS32-SN74S32.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS93N || 4-Bit Binary Counters || [[Media:SN5490A-SN5492A-SN5493A-SN54LS90-SN54LS92-SN54LS93-SN7490A-SN7492A-SN7493A-SN74LS90-SN74LS92-SN74LS93.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS123N || Dual retriggerable monostable multivibrators || [[Media:SN54122-SN54123-SN54130-SN54LS122-SN54LS123-SN74122-SN74123-SN74130-SN74LS122-SN74LS123.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS139AN || Dual 2-line to 4-line decoders / demultiplexers || [[Media:SN54LS139A-SN54S139-SN74LS139A-SN74S139A.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS245N || Octal bus transceivers || [[Media:SN54LS245-SN74LS245.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mk2 Board IC list (with Datasheets)&lt;br /&gt;
{|{{PrettyTable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|&amp;#039;&amp;#039;Part Number&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Description&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Datasheet&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| 2764 || 8Kb EPROM || [[Media:HN482764G.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS00N || Quad 2-input positive-NAND gates || [[Media:SN5400-SN54LS00-SN54S00-SN7400-SN74LS00-SN74S00.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS04N || Hex inverters || [[Media:SN5404-SN54LS04-SN54S04-SN7404-SN74LS04-SN74S04.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS08N || Quadruple 2-Input Positive-AND Gates || [[Media:SN5408-SN54LS08-SN54S08-SN7408-SN74LS08-SN74S08.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS32N || Quad 2-input positive-OR gates || [[Media:SN5432-SN54LS32-SN54S32-SN7432-SN74LS32-SN74S32.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS123N || Dual retriggerable monostable multivibrators || [[Media:SN54122-SN54123-SN54130-SN54LS122-SN54LS123-SN74122-SN74123-SN74130-SN74LS122-SN74LS123.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS139AN || Dual 2-line to 4-line decoders / demultiplexers || [[Media:SN54LS139A-SN54S139-SN74LS139A-SN74S139A.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS174N || Hex/Quadruple D-Type Flip-Flops With Clear || [[Media:SN54174-SN54175-SN54LS174-SN54LS175-SN54S174-SN54S175-SN74174-SN74175-SN74LS174-SN74LS175-SN74S174-SN74S175.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS240N || Octal buffers and line drivers, with 3-State outputs || [[Media:SN54LS240-SN54LS241-SN54LS244-SN54S240-SN54S241-SN54S244-SN74LS240-SN74LS241-SN74LS244-SN74S240-SN74S241-SN74S244.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS245N || Octal bus transceivers || [[Media:SN54LS245-SN74LS245.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| ULN2003AN || HIGH-VOLTAGE, HIGH-CURRENT DARLINGTON TRANSISTOR ARRAYS || [[Media:ULN2002A-ULN2003A-ULN2003AI-ULN2004A-ULQ2003A-ULQ2004A.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| WD2791PL-02 || Floppy Disk Formatter/Controller || [[Media:WD279x-02.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta DOS ROM ==&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Premier%20Micros%20-%20DeltaDOS.zip Delta DOS ROM]&lt;br /&gt;
[[Category:Hardware]][[Category:System Software]][[Category:Peripherals]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=OS-9_System&amp;diff=9992</id>
		<title>OS-9 System</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=OS-9_System&amp;diff=9992"/>
		<updated>2025-03-02T22:39:51Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|{{Infobox Game&lt;br /&gt;
|Image = [[Image:OS9.png|center|300px|OS-9 promt]]&lt;br /&gt;
|Gamenumber = &lt;br /&gt;
|Company = [[Microware Systems Corporation]]/[[Eurohard SA]]&lt;br /&gt;
|Developer = &lt;br /&gt;
|Publisher = [[Dragon Data Ltd]]&lt;br /&gt;
|Musician = &lt;br /&gt;
|HVSC = &lt;br /&gt;
|Release = &lt;br /&gt;
|Platform = [[Dragon 64]]&lt;br /&gt;
|Genre = &lt;br /&gt;
|Gamemode = &lt;br /&gt;
|Operation = {{Keyboard}}&lt;br /&gt;
|Media = [[Image:Icon_disk525.png|26px]]&lt;br /&gt;
|Language = {{EN}} &lt;br /&gt;
|Info = &lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OS-9 is a real-time, multi-tasking and multi-user operating system for the Dragon 64.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloads==&lt;br /&gt;
&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Disks/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20OS-9%20System.zip OS-9 Level 1 V1.2 Operating System Diskette] (Zipped VDK image)&lt;br /&gt;
&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Disks/Dragon/&amp;amp;file=Eurohard%20SA%20-%20OS-9%20Level%201%20V2.0.zip OS-9 Level 1 V2.0 Operating System Diskette] (Zipped VDK image)&lt;br /&gt;
&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Manuals/&amp;amp;file=Dragon%20Data%20Ltd%20-%20OS9%20-%20System%20Guide.zip OS-9 Operating System User&amp;#039;s Guide] (Zipped PDF document)&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]][[Category:System Software]][[Category:OS-9]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=File:Polluks.jpg&amp;diff=9991</id>
		<title>File:Polluks.jpg</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=File:Polluks.jpg&amp;diff=9991"/>
		<updated>2025-03-02T22:30:53Z</updated>

		<summary type="html">&lt;p&gt;Polluks: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9990</id>
		<title>User:Polluks</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9990"/>
		<updated>2025-03-02T22:28:45Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Polluks.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Polluks.jpg|right]]&lt;br /&gt;
https://sites.google.com/site/tandycocoloco/wordpak-rs&lt;br /&gt;
http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Wordpak%20Users%20Manual%20(PBJ%20Inc).pdf&lt;br /&gt;
&lt;br /&gt;
http://users.axess.com/twilight/sock/rs232.html&lt;br /&gt;
http://www.cocopedia.com/wiki/index.php/Deluxe_RS232_Pak&lt;br /&gt;
&lt;br /&gt;
http://dragon32.info/info/romref.html [[CoCo ROM Equivalents]]&lt;br /&gt;
&lt;br /&gt;
https://www.everygamegoing.com/litem/The-Hitchhikers-Guide-To-The-Galaxy/107786/ http://www.retrowiki.es/viewtopic.php?t=200033991&lt;br /&gt;
&lt;br /&gt;
https://github.com/prime6809/DragonRom https://github.com/prime6809/DragonDOS&lt;br /&gt;
&lt;br /&gt;
== Cross ==&lt;br /&gt;
https://bitbucket.org/magli143/exomizer/wiki/Home&lt;br /&gt;
&lt;br /&gt;
http://www.lwtools.ca&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Vbcc&amp;diff=9813</id>
		<title>Vbcc</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Vbcc&amp;diff=9813"/>
		<updated>2021-10-22T20:15:15Z</updated>

		<summary type="html">&lt;p&gt;Polluks: vasm6809_mot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;vbcc&amp;#039;&amp;#039;&amp;#039; cross compiler and its &amp;#039;&amp;#039;&amp;#039;vlink&amp;#039;&amp;#039;&amp;#039; linker support [[Dragon DOS]], the assembler is called &amp;#039;&amp;#039;&amp;#039;vasm6809_mot&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
http://www.compilers.de/vbcc.html&lt;br /&gt;
http://sun.hasenbraten.de/vlink/&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Dragon_DOS&amp;diff=9812</id>
		<title>Dragon DOS</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Dragon_DOS&amp;diff=9812"/>
		<updated>2021-10-22T11:02:50Z</updated>

		<summary type="html">&lt;p&gt;Polluks: /* New developments */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dragon DOS 1.x ==&lt;br /&gt;
&lt;br /&gt;
[[Dragon Data Ltd]] comissioned [[The Micro Works]] to write the original Dragon DOS, some pre-release examples of this including the (c) Micro Works signature can be found in the downloads area. Shortly after release a number of bugs were discovered in 1.0 and a number of articles were published in [[Dragon User]] with patches to the ROM code to correct the worst of these. The most common version is 1.0, it is not known if any other version was officially released although 1.7 has been seen but the source of 1.7 and the differences with 1.0 are unknown at this time.&lt;br /&gt;
&lt;br /&gt;
== Dragon DOS 2.x ==&lt;br /&gt;
&lt;br /&gt;
For the [[Dragon Alpha]] a modified version of Dragon DOS was required, one that would load into RAM from disk rather than exist on a ROM. [[Vivaway Ltd]] were given the source code for Dragon DOS 1.x and Dragon DOS 2.x was created. A VDK disk image of Dragon DOS V2.F for the [[Dragon Alpha]] can be found in the downloads area. From looking at segments of the original Dragon DOS 2.C source code it would appear that [[Vivaway Ltd]] implemented the changes as options so that the source code could be assembled for a Dragon ROM or RAM implementation - There is also an option that appears to infer it would also assemble to work on a Tandy CoCo.&lt;br /&gt;
&lt;br /&gt;
== Dragon DOS 4.x ==&lt;br /&gt;
&lt;br /&gt;
Eurohard wanted to release an updated Dragon DOS for the [[Dragon 64]] / [[Dragon 200]] that contained all the known bugfixes and to avoid confusion with the 2.x series numbering they jumped straight to V4.0. A ROM image of this is available for download.&lt;br /&gt;
&lt;br /&gt;
== Dragon DOS Interface Pictures ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Dragon DOS Interface&amp;quot;&amp;gt;&lt;br /&gt;
Image:DiskController_Box.jpg|Box&lt;br /&gt;
Image:DiskController_Top.jpg|Casing Top&lt;br /&gt;
Image:DiskController_Bottom.jpg|Casing Bottom&lt;br /&gt;
Image:DiskController_PCB_Top.jpg|PCB Top&lt;br /&gt;
Image:DiskController_PCB_Bottom.jpg| PCB Bottom&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dragon DOS IC Parts List ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DragonDOS Board IC list (with Datasheets)&lt;br /&gt;
{|{{PrettyTable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|&amp;#039;&amp;#039;Part Number&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Description&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Datasheet&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| 2764 || 8Kb EPROM || [[Media:HN482764G.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN7416N || Hex inverter buffers/drivers with open-collector high-voltage outputs || [[Media:SN5406-SN5416-SN7406-SN7416.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN7417N || Hex buffers/drivers with open-collector high-voltage outputs || [[Media:SN5407-SN5417-SN7407-SN7417.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS00N || Quad 2-input positive-NAND gates || [[Media:SN5400-SN54LS00-SN54S00-SN7400-SN74LS00-SN74S00.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS04N || Hex inverters || [[Media:SN5404-SN54LS04-SN54S04-SN7404-SN74LS04-SN74S04.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS74AN || DUAL D-TYPE POSITIVE EDGE-TRIGGERED FLIP-FLOPS WITH PRESET AND CLEAR || [[Media:SN54-74LS74N.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS139N || DUAL 1-OF-4 DECODER/DEMULTIPLEXER || [[Media:SN54-74LS139.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| SN74LS174N || Hex/Quadruple D-Type Flip-Flops With Clear || [[Media:SN54174-SN54175-SN54LS174-SN54LS175-SN54S174-SN54S175-SN74174-SN74175-SN74LS174-SN74LS175-SN74S174-SN74S175.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
| WD2797PL-02 || Floppy Disk Formatter/Controller || [[Media:WD279x-02.pdf|(pdf)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New developments ==&lt;br /&gt;
&lt;br /&gt;
Several people have created new versions of the DragonDOS controller, which use the same WD2797 floppy controller IC as the original controller but are smaller.&lt;br /&gt;
&lt;br /&gt;
* Jose Leandro&amp;#039;s Disk Controller (2012)  Eagle Schematics:[[File:DragonDos_Controller_-_Jos%C3%A9_Leandro.zip]]&lt;br /&gt;
This one was created by Jose Leandro, a spanish Dragon user.&lt;br /&gt;
&lt;br /&gt;
Full details (in spanish): http://hardware.speccy.org/temp/Dragon-1.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Jose Leandro&amp;#039;s Dragon Disk Controller&amp;quot;&amp;gt;&lt;br /&gt;
Image:DragonDOS_JoseLeandro_PCB_Top.jpg|PCB Top&lt;br /&gt;
Image:DragonDOS_JoseLeandro_PCB_Bottom.jpg|PCB Bottom&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Lafumat&amp;#039;s Dragon Disk Controller (July 2012)&lt;br /&gt;
&lt;br /&gt;
This one was created by Lafumat, a user of the spanish RetroWiki and Zona de Pruebas forums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Lafumat&amp;#039;s Dragon Disk Controller&amp;quot;&amp;gt;&lt;br /&gt;
Image:Lafumat_Disk_Controller-V1.1-PCB_Top.jpg|PCB Top&lt;br /&gt;
Image:Lafumat_Disk_Controller-V1.1-PCB_Bottom.jpg|PCB Bottom&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dragon DOS Downloads ==&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20Dragon%20DOS%201.0%20-%20Pre-Release%201.zip Dragon DOS 1.0 - Pre-Release 1] (Zipped ROM file)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20Dragon%20DOS%201.0%20-%20Pre-Release%202.zip Dragon DOS 1.0 - Pre-Release 2] (Zipped ROM file)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20Dragon%20DOS%201.0%20-%20Pre-Release%201.zip Dragon DOS 1.0 - Pre-Release 3] (Zipped ROM file)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20Dragon%20DOS%201.0.zip Dragon DOS 1.0] (Zipped ROM File)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Disks/Dragon/&amp;amp;file=Dragon%20Data%20Ltd%20-%20Dragon%20Alpha%28Professional%29%20-%20DragonDos%202.F%20Boot.zip Dragon DOS 2.F] (Zipped Disk Image)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Eurohard%20S.A.%20-%20Dragon%20DOS%204.0.zip Dragon DOS 4.0 (English)] (Zipped ROM File)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Eurohard%20S.A.%20-%20Dragon%20DOS%204.0%20%28ES%29.zip Dragon DOS 4.0 (Spanish)] (Zipped ROM File)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Eurohard%20S.A.%20-%20Dragon%20DOS%204.1.zip Dragon DOS 4.1] (Zipped ROM file)&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]][[Category:System Software]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9811</id>
		<title>User:Polluks</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9811"/>
		<updated>2021-10-13T07:16:41Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Cross&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://sites.google.com/site/tandycocoloco/wordpak-rs&lt;br /&gt;
http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Wordpak%20Users%20Manual%20(PBJ%20Inc).pdf&lt;br /&gt;
&lt;br /&gt;
http://users.axess.com/twilight/sock/rs232.html&lt;br /&gt;
http://www.cocopedia.com/wiki/index.php/Deluxe_RS232_Pak&lt;br /&gt;
&lt;br /&gt;
http://dragon32.info/info/romref.html [[CoCo ROM Equivalents]]&lt;br /&gt;
&lt;br /&gt;
https://www.everygamegoing.com/litem/The-Hitchhikers-Guide-To-The-Galaxy/107786/ http://www.retrowiki.es/viewtopic.php?t=200033991&lt;br /&gt;
&lt;br /&gt;
https://github.com/prime6809/DragonRom https://github.com/prime6809/DragonDOS&lt;br /&gt;
&lt;br /&gt;
== Cross ==&lt;br /&gt;
https://bitbucket.org/magli143/exomizer/wiki/Home&lt;br /&gt;
&lt;br /&gt;
http://www.lwtools.ca&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=RED_ROM_DATA&amp;diff=9810</id>
		<title>RED ROM DATA</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=RED_ROM_DATA&amp;diff=9810"/>
		<updated>2021-10-12T15:45:42Z</updated>

		<summary type="html">&lt;p&gt;Polluks: fixed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Red Rom Data]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9809</id>
		<title>User:Polluks</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9809"/>
		<updated>2021-10-12T15:44:49Z</updated>

		<summary type="html">&lt;p&gt;Polluks: ROM&amp;#039;s&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://sites.google.com/site/tandycocoloco/wordpak-rs&lt;br /&gt;
http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Wordpak%20Users%20Manual%20(PBJ%20Inc).pdf&lt;br /&gt;
&lt;br /&gt;
http://users.axess.com/twilight/sock/rs232.html&lt;br /&gt;
http://www.cocopedia.com/wiki/index.php/Deluxe_RS232_Pak&lt;br /&gt;
&lt;br /&gt;
https://bitbucket.org/magli143/exomizer/wiki/Home&lt;br /&gt;
&lt;br /&gt;
http://dragon32.info/info/romref.html [[CoCo ROM Equivalents]]&lt;br /&gt;
&lt;br /&gt;
https://www.everygamegoing.com/litem/The-Hitchhikers-Guide-To-The-Galaxy/107786/ http://www.retrowiki.es/viewtopic.php?t=200033991&lt;br /&gt;
&lt;br /&gt;
https://github.com/prime6809/DragonRom https://github.com/prime6809/DragonDOS&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Cumana_Disk_Drives&amp;diff=9808</id>
		<title>Cumana Disk Drives</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Cumana_Disk_Drives&amp;diff=9808"/>
		<updated>2021-10-12T15:40:29Z</updated>

		<summary type="html">&lt;p&gt;Polluks: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cumana marketed a range of 40 and 80 track disk drives for the Dragon with a disk interface provided by Premier Microsystems. Cumana DOS was simply [[Delta DOS]] by another name.&lt;br /&gt;
&lt;br /&gt;
== Single drive unit ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Cumana_DiskDrive_Top.jpg&lt;br /&gt;
Image:Cumana_DiskDrive_Bottom.jpg&lt;br /&gt;
Image:Cumana_DiskDrive_Front.jpg&lt;br /&gt;
Image:Cumana_DiskDrive_Back.jpg&lt;br /&gt;
Image:Cumana_DiskDrive_Left.jpg&lt;br /&gt;
Image:Cumana_DiskDrive_Right.jpg&lt;br /&gt;
Image:Cumana_DiskDrive_Interior.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9807</id>
		<title>User:Polluks</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9807"/>
		<updated>2021-10-11T12:38:39Z</updated>

		<summary type="html">&lt;p&gt;Polluks: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://sites.google.com/site/tandycocoloco/wordpak-rs&lt;br /&gt;
http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Wordpak%20Users%20Manual%20(PBJ%20Inc).pdf&lt;br /&gt;
&lt;br /&gt;
http://users.axess.com/twilight/sock/rs232.html&lt;br /&gt;
http://www.cocopedia.com/wiki/index.php/Deluxe_RS232_Pak&lt;br /&gt;
&lt;br /&gt;
https://bitbucket.org/magli143/exomizer/wiki/Home&lt;br /&gt;
&lt;br /&gt;
http://dragon32.info/info/romref.html [[CoCo ROM Equivalents]]&lt;br /&gt;
&lt;br /&gt;
https://www.everygamegoing.com/litem/The-Hitchhikers-Guide-To-The-Galaxy/107786/ http://www.retrowiki.es/viewtopic.php?t=200033991&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9806</id>
		<title>User:Polluks</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9806"/>
		<updated>2021-10-11T12:29:31Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Infocom&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://sites.google.com/site/tandycocoloco/wordpak-rs&lt;br /&gt;
http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Wordpak%20Users%20Manual%20(PBJ%20Inc).pdf&lt;br /&gt;
&lt;br /&gt;
http://users.axess.com/twilight/sock/rs232.html&lt;br /&gt;
http://www.cocopedia.com/wiki/index.php/Deluxe_RS232_Pak&lt;br /&gt;
&lt;br /&gt;
https://bitbucket.org/magli143/exomizer/wiki/Home&lt;br /&gt;
&lt;br /&gt;
http://dragon32.info/info/romref.html [[CoCo ROM Equivalents]]&lt;br /&gt;
&lt;br /&gt;
https://www.everygamegoing.com/litem/The-Hitchhikers-Guide-To-The-Galaxy/107786/&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9805</id>
		<title>User:Polluks</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9805"/>
		<updated>2021-10-11T12:21:58Z</updated>

		<summary type="html">&lt;p&gt;Polluks: ROM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://sites.google.com/site/tandycocoloco/wordpak-rs&lt;br /&gt;
http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Wordpak%20Users%20Manual%20(PBJ%20Inc).pdf&lt;br /&gt;
&lt;br /&gt;
http://users.axess.com/twilight/sock/rs232.html&lt;br /&gt;
http://www.cocopedia.com/wiki/index.php/Deluxe_RS232_Pak&lt;br /&gt;
&lt;br /&gt;
https://bitbucket.org/magli143/exomizer/wiki/Home&lt;br /&gt;
&lt;br /&gt;
http://dragon32.info/info/romref.html [[CoCo ROM Equivalents]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9804</id>
		<title>User:Polluks</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9804"/>
		<updated>2021-10-03T23:56:09Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Exomizer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://sites.google.com/site/tandycocoloco/wordpak-rs&lt;br /&gt;
http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Wordpak%20Users%20Manual%20(PBJ%20Inc).pdf&lt;br /&gt;
&lt;br /&gt;
http://users.axess.com/twilight/sock/rs232.html&lt;br /&gt;
http://www.cocopedia.com/wiki/index.php/Deluxe_RS232_Pak&lt;br /&gt;
&lt;br /&gt;
https://bitbucket.org/magli143/exomizer/wiki/Home&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9803</id>
		<title>User:Polluks</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9803"/>
		<updated>2021-10-03T21:42:03Z</updated>

		<summary type="html">&lt;p&gt;Polluks: RS-232&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://sites.google.com/site/tandycocoloco/wordpak-rs&lt;br /&gt;
http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Wordpak%20Users%20Manual%20(PBJ%20Inc).pdf&lt;br /&gt;
&lt;br /&gt;
http://users.axess.com/twilight/sock/rs232.html&lt;br /&gt;
http://www.cocopedia.com/wiki/index.php/Deluxe_RS232_Pak&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9802</id>
		<title>User:Polluks</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=User:Polluks&amp;diff=9802"/>
		<updated>2021-10-03T21:39:49Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Wordpak&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://sites.google.com/site/tandycocoloco/wordpak-rs&lt;br /&gt;
http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Wordpak%20Users%20Manual%20(PBJ%20Inc).pdf&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Vbcc&amp;diff=9800</id>
		<title>Vbcc</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Vbcc&amp;diff=9800"/>
		<updated>2021-09-29T22:27:19Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Created page with &amp;quot;The &amp;#039;&amp;#039;&amp;#039;vbcc&amp;#039;&amp;#039;&amp;#039; cross compiler and its &amp;#039;&amp;#039;&amp;#039;vlink&amp;#039;&amp;#039;&amp;#039; linker support Dragon DOS.  http://www.compilers.de/vbcc.html http://sun.hasenbraten.de/vlink/  Category:Software&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;vbcc&amp;#039;&amp;#039;&amp;#039; cross compiler and its &amp;#039;&amp;#039;&amp;#039;vlink&amp;#039;&amp;#039;&amp;#039; linker support [[Dragon DOS]].&lt;br /&gt;
&lt;br /&gt;
http://www.compilers.de/vbcc.html&lt;br /&gt;
http://sun.hasenbraten.de/vlink/&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Dragon_32_-_64K_Upgrade&amp;diff=9799</id>
		<title>Dragon 32 - 64K Upgrade</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Dragon_32_-_64K_Upgrade&amp;diff=9799"/>
		<updated>2021-09-29T22:10:37Z</updated>

		<summary type="html">&lt;p&gt;Polluks: /* Flex versus OS9. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Preliminary Version, 1st Revision - Sept. 1985)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Upgrading Dragon 32s to 64k of RAM&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
by R.W.Hall, National Dragon Users Group.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Disclaimer&amp;#039;&amp;#039;&amp;#039;. Although every care has been taken in the preparation of these&lt;br /&gt;
notes, and the technical data have been checked, neither the author nor the User&lt;br /&gt;
Group accept any liability for inaccuracies or consequential loss or damage,&lt;br /&gt;
however caused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction. ==&lt;br /&gt;
&lt;br /&gt;
These notes are provided to help the adventurous upgrade their Dragon 32s&lt;br /&gt;
from 32k of random access memory (RAM) to 64k, and to give them a feel for&lt;br /&gt;
possible uses for the additional memory. The technical detail given is adequate&lt;br /&gt;
rather than exhaustive, and assumes that you have some competence at&lt;br /&gt;
electronics, and in the programming, an acquaintance with the hardware of the&lt;br /&gt;
machine, such as may be found` by reading say &amp;#039;Inside the Dragon&amp;#039; (Smead &amp;amp;&lt;br /&gt;
Somerville, published by Addison—Wesley, 1983). The notes are based on articles&lt;br /&gt;
I wrote in Dragon Update, and the feedback that I received from other members of&lt;br /&gt;
the User Group.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Is upgrading worthwhile?. ==&lt;br /&gt;
&lt;br /&gt;
To answer this question let&amp;#039;s compare the spec of the Dragon 64 with that of&lt;br /&gt;
a 32:-&lt;br /&gt;
&lt;br /&gt;
The Dragon 64 currently retails for £195; it has twice as much RAM as the 32, an&lt;br /&gt;
RS232 interface, and two BASIC ROMs — the additional ROM is used when the 64 is &lt;br /&gt;
in &amp;#039;48k&amp;#039; mode. A Dragon 32 by contrast retails for £50 (if you can find one),&lt;br /&gt;
and secondhand fetches about £25—35. Changing the memory chips will cost you&lt;br /&gt;
well under £15 if you do it yourself (£40-60 if someone else does!), (and adding an RS232 interface - following the circuit in July 85 &amp;#039;Electronics &amp;amp; Computing&amp;#039; - would cost probably another £15). without the additional ROM however, the&lt;br /&gt;
additional RAM cannot easily be used by BASIC. So, if you don&amp;#039;t have a disk&lt;br /&gt;
system, and always write in BASIC, upgrading to 64k is probably not going to be&lt;br /&gt;
useful to you - if however you know at least a smattering of machine-code or use&lt;br /&gt;
a language like FORTH, then even if you haven&amp;#039;t got a disk yet, you&amp;#039;ll probably&lt;br /&gt;
find the extra memory useful. If of course you have got a disk drive, you&amp;#039;ll be&lt;br /&gt;
itching to make the mod.(?!).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== First Steps. ==&lt;br /&gt;
&lt;br /&gt;
The circuit-boards in D32s come in half-a-dozen different varieties, but&lt;br /&gt;
there are two basic types - those having 8 32k (by 1bit) RAM chips, and those&lt;br /&gt;
having 16 l6k RAM chips. The former are rather easier to modify than the latter&lt;br /&gt;
(more common) types. To find out which sort you&amp;#039;ve got, type the following,&lt;br /&gt;
immediately after switching on:-&lt;br /&gt;
&lt;br /&gt;
?PEEK(&amp;amp;HFF22) AND 4&lt;br /&gt;
&lt;br /&gt;
If the answer is 0 then you&amp;#039;ve got an 8 by 32k system, if its 4 then your memory&lt;br /&gt;
is 16 times 16k chips - if you get any other answer, steady your trembling&lt;br /&gt;
fingers and try again!.&lt;br /&gt;
&lt;br /&gt;
(The significance of this test bears explaining:-&lt;br /&gt;
when the Dragon is switched on, or when reset is pressed, a routine in ROM at&lt;br /&gt;
(hex) B3B4 is entered, which sets up the default settings of the two Peripheral&lt;br /&gt;
Interface Adapters (PIAs), the Video Display Generator (VDG) and the Synchronous Address Multiplexor (SAM); until the SAM has been set up correctly, the RAM&lt;br /&gt;
cannot be used. To set up the SAM however, the ROM routine on a D32 must know&lt;br /&gt;
the memory type, and the 2nd bit at FF22 is programmed as input and used for&lt;br /&gt;
this purpose. The D64 reset routine does not need to know the memory type, and the bit is instead used as an output signal to switch between the two BASIC&lt;br /&gt;
ROMs).  &lt;br /&gt;
&lt;br /&gt;
If you find that you have (8 times 32k) memory it is very likely that the&lt;br /&gt;
chips are in fact &amp;#039;half—good&amp;#039; 64k units (they are often marked as OKI 3732s).&lt;br /&gt;
&lt;br /&gt;
It‘s fairly straightforward to check if you do have these sorts of chips, by trying to write infomation to the uppermost 16K of the 64Kg (ie C000-FEFF, when there is nothing plugged in the cartridge port, (and then trying to recover&lt;br /&gt;
it), using the routine given in Appendix B. However, you won‘t be able to test&lt;br /&gt;
ALL of the upper 32k (if it exists) until you&amp;#039;ve made the mod. to the decoder&lt;br /&gt;
circuitry. This is, I suggest, the next step to make, in ALL cases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modifying the Decoder Circuitry. ==&lt;br /&gt;
&lt;br /&gt;
The modification to the decoder circuit is straightforward, and can be&lt;br /&gt;
added either externally or internally - however, it is only worth making the mod&lt;br /&gt;
externally (via a board in the expansion port) if you find you have &amp;#039;half-good&amp;#039;&lt;br /&gt;
64k RAMs aboard, you have no diskdrive or intention to get one, and are happy to&lt;br /&gt;
discover and work with the imperfections in the memory. The internal mod uses a&lt;br /&gt;
spare gate on one of the 74LS02s - this is the same gate as some people have&lt;br /&gt;
used to add a &amp;#039;reverse-video&amp;#039; (green-on-black instead of black—on-green) capability (see Update No. 5) — if you&amp;#039;ve added this you‘ll have to first remove&lt;br /&gt;
it and move it to another spare gate, wired as an inverter.&lt;br /&gt;
&lt;br /&gt;
The details of both the internal &amp;amp; external mods are given in Figs 1 &amp;amp; 2.&lt;br /&gt;
Both perform a similar function — they stop the 74LSl38 (a &amp;#039;3-to-8 decoder&amp;#039;)&lt;br /&gt;
from being activated when write-to-Memory is true. and thus prevent the BASIC &amp;amp;&lt;br /&gt;
cartridge ROMs being spuriously activated when writing to RAM in the memory map&lt;br /&gt;
above 32k. This circuit is functionally equivalent to that used by the D64 and&lt;br /&gt;
has the same side-effect, namely:-&lt;br /&gt;
&lt;br /&gt;
If you have any device in the cartridge port between 8000 and FEFF which is&lt;br /&gt;
activated by the &amp;#039;CART SEL&amp;quot; signal (pin 32), it will not be possible to WRITE&lt;br /&gt;
to this device: this is because &amp;#039;CART SEL&amp;#039; is derived from the LS138 decoder. lf&lt;br /&gt;
the device is an I/0 device, then the correct solution is to move its address to &lt;br /&gt;
FF00 or above using P2 (pin 36) and address lines as the select device signals.&lt;br /&gt;
(If it&amp;#039;s static RAM, you could separately decode the upper address lines, but do&lt;br /&gt;
you need it now anyway?; if so, see Appendix D for a possible fix).&lt;br /&gt;
&lt;br /&gt;
The external mod could be built up on any of the prototyping boards which&lt;br /&gt;
are available from Tandy, Compusense or Windrush. However, these are fairly&lt;br /&gt;
expensive, certainly compared with the two logic gates which make up the&lt;br /&gt;
circuit; a cheaper option may be to use a 44 way plug and extender board for the&lt;br /&gt;
spectrum expansion port, and cut it down to 40 ways to fit the Dragon port.&lt;br /&gt;
&lt;br /&gt;
It is possible to make the internal mod without removing the SAM and CPU,&lt;br /&gt;
provided you take the usual precautions against high voltages &amp;amp; static (earth&lt;br /&gt;
the iron, the board and you, and wear no nylon clothes). In detail the mod is as&lt;br /&gt;
follows:-&lt;br /&gt;
&lt;br /&gt;
i) Check that IC26 is a 6821 (PIA), IC33 is a 74LS138, and IC3l a 74LS02 with&lt;br /&gt;
the gate on pins 1,2 &amp;amp; 3 unused.&lt;br /&gt;
&lt;br /&gt;
ii) Now join pin 12 of IC31 to pin 3 of IC3l, and pin 2 of IC3l to pin 21 of&lt;br /&gt;
IC26 (this is just a convenient R/W line); (IC35, also a 682l PIA, may be more&lt;br /&gt;
convenient than lC26 on some boards). Reassemble, and check all still works.&lt;br /&gt;
&lt;br /&gt;
iii) Then join pin l of IC31 to pin 5 of IC33; and finally, cut the connection&lt;br /&gt;
between pin 5 of IC33 and pin 8 of IC33 (this is easier than it sounds - however&lt;br /&gt;
the hardened steel tips of a good pair of miniature side cutters will do the&lt;br /&gt;
trick).&lt;br /&gt;
&lt;br /&gt;
iv) Test out the circuitry -the effect on normal operation should be nil. If you have &amp;#039;half-good&amp;#039; 64k RAMs aboard, you can now begin exploring their potential.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changing the RAM chips. ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;a) Preliminaries.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The first problem is to get hold of 8 64k RAM chips at a reasonable price.&lt;br /&gt;
Chips with an access time faster than 300ns will probably be good enough, and&lt;br /&gt;
the only real subtlety is to get hold of l28·-cycle refresh chips, not 256—cycle&lt;br /&gt;
refresh chips — this excludes in particular the Texas 4164 (but not the Toshiba&lt;br /&gt;
or HEC or Motorola 4l64s!). (The 6883 cannot properly refresh 256·cycle chips -&lt;br /&gt;
although these may be adequately refreshed, miles out of spec., by the action of&lt;br /&gt;
the &amp;#039;VDG taking information from them). I give a possible list of suitable chips&lt;br /&gt;
and their suppliers in Appendix C - at the time of writing it should be possible&lt;br /&gt;
to purchase suitable chips at well below 21-50 each. Even at their present low&lt;br /&gt;
prices however, I suggest you socket the chips, since this makes fault tracing&lt;br /&gt;
much easier — suitable low-profile 16-pin DIL sockets cost about l2p each.&lt;br /&gt;
&lt;br /&gt;
Before beginning the removal and replacement of the RAM chips I would suggest you remove the SAM and CPU (which are socketed) - removal should be&lt;br /&gt;
effected gently, using eg a thin-bladed knife to lever up the chip with as well&lt;br /&gt;
distributed a force as possible (again, with everything earthed!). wrap these&lt;br /&gt;
safely away (in tinfoil or on a conducting mat for maximum safety), before&lt;br /&gt;
turning attention to the main circuit board (- make the decoder mod. now, if you&lt;br /&gt;
have not already done so).&lt;br /&gt;
&lt;br /&gt;
There are two common designs of mainboard in D32s - these are:-&lt;br /&gt;
&lt;br /&gt;
1) the &amp;#039;Issue 2&amp;#039; board, which comes in both (8 x 32k) and (16 x 16k) versions,&lt;br /&gt;
but with only 8 chips directly on the mainboard.&lt;br /&gt;
&lt;br /&gt;
ii) the ‘Mark II&amp;#039; board which has room for all 16 (16k) RAM chips on the&lt;br /&gt;
mainboard.&lt;br /&gt;
&lt;br /&gt;
You may well come across others, but the notes which follow should help you&lt;br /&gt;
through these too.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;b)(8 x 32k) Machines.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Machines with (8 x 32k) memory chips are usually built on &amp;#039;Issue 2&amp;#039;&lt;br /&gt;
mainboards, and the procedure for modifying them is straightforward - you must&lt;br /&gt;
remove the 8 old memory chips (usually numbered IC1-8), and replace them by&lt;br /&gt;
sockets, check out all lines and voltages, and install the new RAM chips. The&lt;br /&gt;
way you do the removing is largely dependant on personal skill and tools&lt;br /&gt;
available. I have used a chip extractor together with an IC desoldering&lt;br /&gt;
attachment on a moderate-wattage iron - others swear by desoldering braid, or a &lt;br /&gt;
solder extractor, whilst still others cut their losses and snip out the chips.&lt;br /&gt;
&lt;br /&gt;
In all cases take care not to use excessive force, because the lines are plated through, and breaking the plating is a sure cause of later malfunction. Also be&lt;br /&gt;
warned that it is very easy to bridge lines with solder splashes, especially&lt;br /&gt;
just under the ICs, where the lines are not lacquered over and are very close&lt;br /&gt;
together. It is for this reason that I would embark on a systematic check that&lt;br /&gt;
all 8 address lines (Z0-7) and control lines CAS, RAS and WE between SAM and RAM&lt;br /&gt;
are independent, and that the 8·data lines in and out on each chip are also OK&lt;br /&gt;
(see Appendix A, &amp;amp; Figs). I think this test is most safely made with volts on&lt;br /&gt;
the board, using a low-voltage high-impedance ohms range on a multimeter (NB -&lt;br /&gt;
on some meters the highest impedance ranges use dangerously large battery&lt;br /&gt;
voltages). (It is wise to preceed this resistance check with a voltage check,&lt;br /&gt;
but note that lines with logic connected to them (Din, Dout, RAS and usually Z7)&lt;br /&gt;
give non-zero voltages). If bridges are found, it is often possible to clear&lt;br /&gt;
them, if you&amp;#039;ve··bought the right design of socket(!), by prising the plastic&lt;br /&gt;
surround away from the soldered in pins, to inspect the state of the lines&lt;br /&gt;
beneath.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;c) (16 x 16k) Machines.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
On these machines the l6 RAM chips are arranged electrically in two banks&lt;br /&gt;
of 8, which are activated by different &amp;#039;Row Address Strobe&amp;#039; signals, RASO &amp;amp; RASI; the chips are usually MK4116s, ( or equivalents, eg MM5290s), and instead of having a single 5V supply (on pin 8), have -5v on pin 1, 5v on pin 9 and l2v&lt;br /&gt;
on pin 8 (-check these). These voltages (especially the l2v!) now need to be&lt;br /&gt;
rearranged (see the pinouts in Appendix C) for the 64k chips, which go in bank 0 (IC1-8) only. In addition the RASl signal needs bringing over from bank 1 (pins 4) to become the 8th address line (A7) on bank 0 (pins 9), and the SAM&lt;br /&gt;
initialisation routine needs informing of this change of duty by a change of the&lt;br /&gt;
signal on pin 12 of the PIA IC35 from high to low.&lt;br /&gt;
&lt;br /&gt;
Owners or &amp;#039;Issue 2&amp;#039; boards will find they can effect most of this by just&lt;br /&gt;
changing over jumpers - for owners of &amp;#039;Mark II&amp;#039; machines the path is slightly&lt;br /&gt;
more thorny, but not as difficult as at first appears.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;i) &amp;#039;Issue 2&amp;#039; boards.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A lot of D32s of 82-83 vintage were built on &amp;#039;Issue 2&amp;#039; mainboards. These had&lt;br /&gt;
room for only 8 chips on the mainboard, and often 8 OKI 3732s were fitted (see&lt;br /&gt;
above). However, they are even more common in their (16 x l6k) versions, when&lt;br /&gt;
the 8 extra memory chips were added in sockets above the others; or else a small&lt;br /&gt;
subsidiary ’patch&amp;#039; board was added, containing l0 RAM chips end the 74LS244 memory buffer - 6 RAM chips remained on the mainboard, with connections to the&lt;br /&gt;
patchboard taking up the space normally occupied by IC1, IC8 (RAMs) and ICl6&lt;br /&gt;
(74LS244).&lt;br /&gt;
&lt;br /&gt;
To facilitate their use as either (8 x 32k) or (16 x 16k) boards, 5 jumpers&lt;br /&gt;
were fitted, just in front and to the right of the power supply connector&lt;br /&gt;
(looking from keyboard!). The positions of these jumpers are numbered on the&lt;br /&gt;
board from 1 to 10 (odd positions are at back), and they perform the following&lt;br /&gt;
functions (which, if you are in any doubt, you should verify!):-&lt;br /&gt;
&lt;br /&gt;
a) The first (leftmost) jumper &amp;#039;controls the inclusion, or not, of an inverter in the RASl/Z7 signal line. In position 1 there is no inverter, in position 2 there is.&lt;br /&gt;
&lt;br /&gt;
b) The second jumper controls the voltage on pins l of the RAMs. In position 3&lt;br /&gt;
it is -5v, in position 4 it is +5v.&lt;br /&gt;
&lt;br /&gt;
c) The third controls the voltage on RAM pins 8. In position 5 it is 12v, in&lt;br /&gt;
position 6 it is 5v.&lt;br /&gt;
&lt;br /&gt;
d) The fourth controls the use of RAM pins 9. In position 7 there is +5v on the&lt;br /&gt;
pins, in position B it is RASl/Z7.&lt;br /&gt;
&lt;br /&gt;
e) The fifth (rightmost) jumper controls the voltage on pin 12 of IC35. In&lt;br /&gt;
position 9 this is 5v, and in position 10 0v.&lt;br /&gt;
&lt;br /&gt;
In (16 x 16k) mode the jumpers will be set to positions 1,3,5,7,9, and there `&lt;br /&gt;
will be a flying lead from position 8 taking the RASl signal to the patch-board.&lt;br /&gt;
&lt;br /&gt;
The straightforward way to modify these boards is as follows:-&lt;br /&gt;
&lt;br /&gt;
a) Remove the patch board and its connecting lines, saving the 74LS244;&lt;br /&gt;
&lt;br /&gt;
b) Remove IC2-7, C12, C58 and any other capacitors on the line connecting pins 9&lt;br /&gt;
of IC1-8; remove also C59 and R66 on the RASO line.&lt;br /&gt;
&lt;br /&gt;
c) Clean up the board, and fit 16 pin sockets in positions IC1-8, and a 20-pin&lt;br /&gt;
socket in ICl6.&lt;br /&gt;
&lt;br /&gt;
d) Set the jumpers to l,4,6,8,l0&lt;br /&gt;
&lt;br /&gt;
e) After checking all voltages and lines, install the 8 new memory chips in IC1-&lt;br /&gt;
8 and the 74LS244 in ICl6, ... and step back.&lt;br /&gt;
&lt;br /&gt;
This method of modification produces a nice clean job, with everything easily&lt;br /&gt;
accessible in case of trouble. However the patchboard may well have its chips&lt;br /&gt;
installed in sockets, and it is then tempting to try installing the new memory&lt;br /&gt;
chips on this patch board. I suggest the following route, which is for an issue&lt;br /&gt;
1 patchboard, with the proviso that I gave up on it!&lt;br /&gt;
&lt;br /&gt;
a) Remove IC2—7 etc from mainboard as described in b) above.&lt;br /&gt;
&lt;br /&gt;
b) Remove IC1—l0, R1 &amp;amp; C23 from patchboard.&lt;br /&gt;
&lt;br /&gt;
c) Take the flying lead, labelled ‘RAS1&amp;#039;, from jumper position 8 and connect it&lt;br /&gt;
to the wire going to pin 4 of IC1 on the patchboard (ie to pick up RASO) it&amp;#039;s&lt;br /&gt;
probably also worth linking the junction of R1 &amp;amp; C23 on the patchboard to the&lt;br /&gt;
junction of C59 &amp;amp; R66 on the mainboard, to produce the same effect.&lt;br /&gt;
&lt;br /&gt;
d) Now for the catch - unfortunately, on the issue 1 patchboard, the 5v supply&lt;br /&gt;
to pin 20 of IC11 (the M74LS244) is chained in with the lines connecting pins 9&lt;br /&gt;
on IC1-10. This chain must be broken, and IC9 &amp;amp; 10 relinked to IC1-8. I suggest breaking the line, which runs underneath the board, under IC5 (at back edge of&lt;br /&gt;
board, near centre); and at the front righthand edge by ICl0. After reinstating &lt;br /&gt;
a connection between pin 9 of IC10 (by deft unseeable soldering!) and the wire&lt;br /&gt;
to pin 9 of IC1, the difficulties are (I think) over.&lt;br /&gt;
&lt;br /&gt;
e) Set jumpers to 1,4,6,8,l0; check out&lt;br /&gt;
&lt;br /&gt;
f) Put new memory chips in patchboard sockets IC2-7, IC9 &amp;amp; 10, and return&lt;br /&gt;
74LS244 to IC11 if you removed it .... now turn on, and the best of luck.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ii) &amp;#039;Mark II&amp;#039; boards.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The sixteen memory chips are all installed on the mainboard and the two&lt;br /&gt;
banks are usually numbered IC1-8 (bank 0) and IC36-43 (bank l). Both sets of&lt;br /&gt;
chips are to be removed, but only ICl-8 are replaced with sockets. (NB&lt;br /&gt;
physically, the chips are arranged as a group of 9 and a group of 7 - IC43 is&lt;br /&gt;
next to IC8). Because there are no jumpers to help you on these boards all the&lt;br /&gt;
changes must be made by cutting/rerouting lines. These wiring changes are as&lt;br /&gt;
follows:~&lt;br /&gt;
&lt;br /&gt;
i) the -5v line on pins l should be chopped (if necessary at both ends of the&lt;br /&gt;
bank) and left to float; I did this modification on my board, a Mark II, Issue&lt;br /&gt;
6, by cutting through the line on the underside of the board, near the PSU&lt;br /&gt;
socket, but just after the connection to TR4 and R69. On most boards the -5v&lt;br /&gt;
line is not a through-line, but in cases where it is the connection between the&lt;br /&gt;
two ends of the chain must be reinstated with a patch wire. (Note. The pins l&lt;br /&gt;
are not connected internally on most 64k RAMS - it is not nice to leave the -5v&lt;br /&gt;
line connected however, since on some chips&amp;#039;(eg Motorola 6665) this pin is&lt;br /&gt;
pulled up internally to +5v!; moreover if -5v is accidentally cross—connected to&lt;br /&gt;
any of the RAM, SAM or CPU chips it will blow them!).&lt;br /&gt;
&lt;br /&gt;
ii) the +l2v line (on pins 8) must be similarly chopped - it in general is a&lt;br /&gt;
through-line (en route to the cartridge port) and so the through-circuit must be&lt;br /&gt;
completed by a tidy patch-wire.&lt;br /&gt;
&lt;br /&gt;
iii) the +5v line (pins 9) is then chopped at both ends of the bank, and the&lt;br /&gt;
voltage diverted via the old 12v line connecting pins 8. I suggest you sever the&lt;br /&gt;
line between C12 &amp;amp; IC1, and again between ICs 8 &amp;amp; 43/C50.&lt;br /&gt;
&lt;br /&gt;
iv) the old 5v line connecting pins 9 now becomes the eighth address line.&lt;br /&gt;
Remove any bypass capacitors on the line, then take a patch—wire from the line&lt;br /&gt;
to that connecting pins 4 of bank l. Using the old 5v line in this way as a `&lt;br /&gt;
signal line probably loads up the signal with rather more capacitance (80pf?)&lt;br /&gt;
than is present on the other address lines (because the land is quite wide) but&lt;br /&gt;
this does not seem to have any adverse affect on the circuitry — note that&lt;br /&gt;
connecting the signal across in the way suggested ensures the inclusion of the&lt;br /&gt;
22 ohm damping resistor (R12) between SAM and RAM;&lt;br /&gt;
&lt;br /&gt;
v)when all this is done, it remains to change the signal on bit 2 of FF22.&lt;br /&gt;
This is done by disconnecting pin l2 of IC35 (682l, PIA) from R73 (a &amp;#039;pull-up&amp;#039;&lt;br /&gt;
resistor connected to 5v), and wiring it to ground.&lt;br /&gt;
&lt;br /&gt;
This ends the mods - a subsequent careful test of all voltages on the RAM,&lt;br /&gt;
SAM &amp;amp; CPU sockets, followed by a systematic test for bridges or other errors,&lt;br /&gt;
prior to replacing the chips, is particularly recommended (-see remarks in 5b).&lt;br /&gt;
&lt;br /&gt;
Testing out by software in the event of malfunction is largely fruitless,&lt;br /&gt;
because most faults lead to totally dumb systems - however, provided you have&lt;br /&gt;
checked that the voltage rails are correct (and in particular that the -5v and&lt;br /&gt;
l2v lines have been routed away from the RAM), all changes should be reversible.&lt;br /&gt;
(Note that failing to perform step v) (or equivalently on an Issue 2 board,&lt;br /&gt;
failing to change jumper 5 from posn 9 to posn 10 ) will produce a running&lt;br /&gt;
system but with only l6k of memory visible to BASIC.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;d) Jokers in the Pack!.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In the cut—throat world of micro-manufacturing, Dragon Data seemed to have&lt;br /&gt;
shown commendable ingenuity to use what components they could get hold of, especially RAM chips. The result is that although the three boards described&lt;br /&gt;
above are the most common, there exist a number of less common varieties, of&lt;br /&gt;
which I don&amp;#039;t have &amp;#039;hands-on&amp;#039; experience. One of these is the so—called &amp;#039;Siemens&amp;#039; board, built using 8 Siemens HYB-4232s. Though numbered as if 32k&lt;br /&gt;
chips, these were in fact double l6k units. They were 18-pin chips but were&lt;br /&gt;
installed on issue 2 boards, and the instructions given above should suffice to&lt;br /&gt;
see you through.&lt;br /&gt;
&lt;br /&gt;
Secondly, there are later versions of the ‘patchboard&amp;#039;, I believe, and on&lt;br /&gt;
some of these DD actually installed 32k chips! A careful inspection of your&lt;br /&gt;
board. (if it&amp;#039;s not an Issue 1, dealt with above, and if it doesn&amp;#039;t already&lt;br /&gt;
contain only 8 x 32k chips, when the answer is clear!), should tell you if its worth keeping in place or not.&lt;br /&gt;
&lt;br /&gt;
In all cases of doubt, make sure you arrive at the connections between the&lt;br /&gt;
principle components outlined in Appendix A.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What can be done with it all. ==&lt;br /&gt;
&lt;br /&gt;
Lets now turn to ways of using the new memory which do not require a disk-&lt;br /&gt;
drive.&lt;br /&gt;
&lt;br /&gt;
When the Dragon is first switched on, it is in Memory-Map Mode 0, and the&lt;br /&gt;
new 32k of RAM is tucked away out of sight. To access the new memory we must&lt;br /&gt;
either switch to Map Mode l, or switch from Page 0 to Page 1 in Map Mode 0. In&lt;br /&gt;
Map Mode 1 the new memory occupies 8000 to FEFF and we have no access to the&lt;br /&gt;
BASIC &amp;amp; cartridge ROMs; neither can we access the last 256 bytes of RAM (FF00-&lt;br /&gt;
FEFF) which are reserved for I/O. In Map Mode 0, Page 1, the SAM automatically&lt;br /&gt;
adds 32k to the cpu (but not VDG) addresses before sending them to RAM so that&lt;br /&gt;
the new memory appears to lie at 0-7FFF (in place of the true lower memory,&lt;br /&gt;
which is now inaccessible). in all three modes however (Map Mode 0, Page 0; Map&lt;br /&gt;
Mode 0, Page 1; Map Mode 1), the VDG has access to all 64k of RAM (and never to&lt;br /&gt;
the ROM), which it sees in the &amp;#039;correct&amp;#039; order.&lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s fairly straightforward to get from Map Mode 0 to Map Mode 1, and vice&lt;br /&gt;
versa, in machine code or FORTH (in fact any language which doesn&amp;#039;t need the ROM&lt;br /&gt;
routines for a bit). by toggling the addresses FFDF &amp;amp; FFDE (see Appendix A) -&lt;br /&gt;
but you must turn the interrupts off first. An example of this is given in&lt;br /&gt;
Appendix B, program 1, which is a routine to copy blocks of data between low &amp;amp;&lt;br /&gt;
high RAM. or between ROM and high RAM. It may be used to copy the BASIC &amp;amp;&lt;br /&gt;
Cartridge ROMs into high RAM, and then run them — it is then possible to&lt;br /&gt;
customise the BASIC/DOS and also have easy access to the memory from E000 to&lt;br /&gt;
FEFF.&lt;br /&gt;
&lt;br /&gt;
Program 2 uses a high-res text generator (NOT provided!) resident in high- `&lt;br /&gt;
memory to write text from BASIC on to a high-res screen, also in high memory.&lt;br /&gt;
(This routine thus effectively gives BASIC routines use of 8k of graphics RAM&lt;br /&gt;
for nothing - note that it makes use of the fact that the VDG will continue to&lt;br /&gt;
display from high memory, whilst the processor is in Map Node 0.,)&lt;br /&gt;
&lt;br /&gt;
Access to and from Map Mode 0, Page 1, requires care, because the system&lt;br /&gt;
stack has to be reset each time; page-switching is achieved by toggling addresses FFD4 or FFD5, again with the interrupts disabled. In program 3 the two&lt;br /&gt;
pages are used to give two wholly independent areas for BASIC, so that two&lt;br /&gt;
independent 32k programs can be run. There is no reason why the two programs&lt;br /&gt;
need be wholly independent however, once the essential features of the&lt;br /&gt;
changeover are understood.&lt;br /&gt;
&lt;br /&gt;
In all these investigations of the Dragon&amp;#039;s Memory Modes, the Motorola data&lt;br /&gt;
sheet for the MC6883 (reproduced in &amp;#039;Inside the Dragon&amp;#039;) makes an invaluable, if&lt;br /&gt;
concise, reference.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Flex versus OS9. ==&lt;br /&gt;
&lt;br /&gt;
Many people contemplating upgrading to 64k have an eye to running either OS9&lt;br /&gt;
or Flex; (NB OS9 is not available for Premier &amp;#039;De1ta&amp;#039; disk systems).&lt;br /&gt;
&lt;br /&gt;
Both Compusense Flex and Dragon Data OS9 operating systems will work with an&lt;br /&gt;
upgraded machine (provided you&amp;#039;ve done the decoder mod.!) - however, whilst Flex&lt;br /&gt;
will boot up straightaway, a slightly more roundabout method is needed for OS9,&lt;br /&gt;
because the absence of an RS232 port at FFO4-8 causes the bootstrap routine to&lt;br /&gt;
hang up. To get round this, proceed as follows:-&lt;br /&gt;
&lt;br /&gt;
i)type &amp;#039;BOOT&amp;quot; - the words &amp;#039;OS9 B00T&amp;#039; should appear on the screen; and a few&lt;br /&gt;
seconds later all disc activity ceases, but with the disk still selected and turning.&lt;br /&gt;
&lt;br /&gt;
ii)press reset.&lt;br /&gt;
&lt;br /&gt;
iii)type &amp;#039;POKE &amp;amp;HFF03,&amp;amp;H34: EXEC9736&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Success should then be yours.&lt;br /&gt;
&lt;br /&gt;
A brief comparison of the advantages of the two systems may be useful.:-&lt;br /&gt;
&lt;br /&gt;
Flex is structurally simpler than OS9, being essentially a single-user, single&lt;br /&gt;
task operating system of mid 70&amp;#039;s vintage; it has been described by Mike James&lt;br /&gt;
(in ‘The 6809 Companion*) as &amp;#039;almost without argument the standard operating system for the 6800 and certainly the best single-user operating system for the&lt;br /&gt;
6809&amp;#039;. By contrast, OS9 is rather complex, being multi—user and multitasking;&lt;br /&gt;
the multi-user facility is largely academic for Dragon users, and the main use&lt;br /&gt;
of multi-tasking is to run a &amp;#039;background job&amp;#039; to the printer whilst proceeding&lt;br /&gt;
with something else on the screen - there just isn&amp;#039;t enough memory to do much&lt;br /&gt;
else anyway. (&amp;#039;Printer—spooling’ is a feature of some implementations of Flex,&lt;br /&gt;
but Compusense decided not to implement it on the Dragon for rather purist&lt;br /&gt;
reasons). The Flex system comes with a 5l oy 24 character set, with a facility&lt;br /&gt;
for windows; the 5l by 24. character—set is optional in OS9 (type &amp;#039;G05l&amp;#039; to get&lt;br /&gt;
it) but when it is installed, there is only about 40k of userspace free, as&lt;br /&gt;
against 48k for Flex. where OS9 scores is on the availability of cheap(ish)&lt;br /&gt;
software - even before the recent price cuts by Touchmaster and Cotswold&lt;br /&gt;
Computers the OS9 packages were more attractively priced that their Flex&lt;br /&gt;
counterparts, and with the recent dramatic price reductions this is now even&lt;br /&gt;
more true. (This is rather paradoxical, since one of the claimed advantages for&lt;br /&gt;
Flex is the wealth of software available for it - there is, from specialist&lt;br /&gt;
firms like Windrush, it you&amp;#039;ll pay £300 a time!). The only readily available&lt;br /&gt;
software for Flex is the editor/assembler, DBASIC, RMS (also available under&lt;br /&gt;
OS9), and a wordprocessor. The assembler is quite nice (it allows &amp;#039;macro&amp;#039;s&amp;#039;),&lt;br /&gt;
but not perfect (eg. it doesn&amp;#039;t optimise the code for PC-relative forward&lt;br /&gt;
references ); the editor is an oldfashioned line—editor, as is the the OS9 one;&lt;br /&gt;
DBASIC is essentially a copying-over of the Microsoft ROM into RAM it has its&lt;br /&gt;
uses but has none of the speed or aids to structured—programming of OS9&amp;#039;s&lt;br /&gt;
BASICO9. (And I haven&amp;#039;t tried the Flex word-processor, but this is written using&lt;br /&gt;
OS9 Stylograph). Overall, I feel that the Flex Editor/Assembler is a very powerful package for developing machine—code programs, but OS9 has more to offer &lt;br /&gt;
in other lines (eg C &amp;amp; Pascal), if you can live with its memory limitations. At&lt;br /&gt;
the end of the day it&amp;#039;s the old tale of horses for courses - why not play safe&lt;br /&gt;
and buy both??!!!&lt;br /&gt;
&lt;br /&gt;
== The Future - 256k? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
256k RAM chips are now the same price 64k chips were 18 months ago (13-50 or&lt;br /&gt;
so). These chips have the same pinout as the 64k ones, except that pin l is now&lt;br /&gt;
used for a 9th multiplexed address line. A recent article ln BYTE (September 85,&lt;br /&gt;
pages 247 to 254) showed how such chips could be incorporated on the Atari&lt;br /&gt;
80OXL, and how the refresh problem (all 256k chips are 256-cycle refresh) could&lt;br /&gt;
be overcome; it is likely that a similar method could be applied to the Dragon&lt;br /&gt;
(or &amp;#039;CAS before RAS&amp;#039; refresh could be implemented). The outstanding problem is&lt;br /&gt;
how to manage the memory map (the Atari already has a dedicated register for&lt;br /&gt;
this), and who will produce software to run on a 256k machine. A suitable&lt;br /&gt;
&amp;#039;Rolls-Royce&amp;#039; quality memory management unit for the 6809 does already exist ··&lt;br /&gt;
it&amp;#039;s called the Motorola 6829 and costs about £25. If you&amp;#039;re prepared to install&lt;br /&gt;
one (NOT trivial!) you could in principle have a machine capable of running OS9&lt;br /&gt;
Level Two (if you can persuade someone to sell this you). Ordinary mortals&lt;br /&gt;
however, would be advised to wait awhile, until Messrs Compusense &amp;amp; Eurohard&lt;br /&gt;
sort out their own upgrade path. If you socketed your chips, you can wait safe&lt;br /&gt;
in the knowledge of being prepared for the next leap forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== And Finally... ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d like to acknowledge helpful feedback from Paul Grade, John Bussell, Alan&lt;br /&gt;
Butler, Arne Eriksonn, and John Payne. I hope that you find these notes useful.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== APPENDICES. ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Appendix A. Memory Control on The Dragon.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
The MC6883/74LS783 Synchronous Address Multiplexor or SAM plays the central&lt;br /&gt;
role in the architecture of the Dragon, interfacing the control of the RAM,&lt;br /&gt;
ROMs, 6809E cpu, and VDG, and providing the E and Q clocksignals. All this is&lt;br /&gt;
accomplished in a standard IC package of only 40 pins, and the penalty for this&lt;br /&gt;
is that, having no connection to the cpu data bus, the SAM must receive its&lt;br /&gt;
orders from the cpu on the address bus. 32 addresses, from FFC0 to FFDF, are&lt;br /&gt;
used for this purpose, and control l6 bits of information; writing (anything!)&lt;br /&gt;
to the odd addresses sets a bit, whilst writing to the even addresses clears it.&lt;br /&gt;
&lt;br /&gt;
Most well—known of these operations is the so-called &amp;#039;speed-up poke&amp;#039; (POKE&amp;amp;HFFD7,0 and its reverse, POKE&amp;amp;HFFD6,0); however, of more concern to us&lt;br /&gt;
here is the Map Type Bit (TY), set by FFDF, cleared by FFDE; the Page Bit (Pl),&lt;br /&gt;
set by FFD5, cleared by FFD4; and the Memory Size Bits (M0 A Ml) set/cleared by&lt;br /&gt;
FFDB/FFDA &amp;amp; FFDD/FFDC respectively. Of the remaining addresses, FFD6 to FFD9&lt;br /&gt;
control the 2 clockrate bits (R0 &amp;amp; R1); FFC6 to FFD3 control 7 bits (F0 to F6)&lt;br /&gt;
giving the base address of the current Video-RAM (in units of 512 bytes); and&lt;br /&gt;
FFC0 to FFC5 control 3 VDG Mode bits (V0 to V2).&lt;br /&gt;
&lt;br /&gt;
The SAM interleaves requests from the cpu for data, with providing data. for the VDG. Depending on the map mode and the memory address sent out by the cpu,&lt;br /&gt;
the SAM will either pass on the address required to RAM, or will activate a ROM&lt;br /&gt;
or output device, (via signals sent to the LSl38 decoder); meanwhile, the&lt;br /&gt;
address of the next byte in video-RAM for output to the VDG is generated in the&lt;br /&gt;
SAM itself.&lt;br /&gt;
&lt;br /&gt;
There is more in passing an address to RAM than meets the eye, because to&lt;br /&gt;
reduce the size and complexity cf the RAM chips, the address is presented in `&lt;br /&gt;
two parts, called the row address and column address; this is the &amp;#039;address&lt;br /&gt;
multiplexing&amp;#039; process for which the SAM gets its name. when 32k or 64k chips are&lt;br /&gt;
in use, the SAM first presents the lowest 8 bits of the address to the RAM chips&lt;br /&gt;
on its output lines Z0 to Z7, and asserts the Row Address Strobe (RAS); about&lt;br /&gt;
0.1 microseconds later (!) it presents the upper half of the address on the same&lt;br /&gt;
lines, and asserts the Column Address Strobe (CAS) - about 0.1 to 0.2&lt;br /&gt;
microseconds later again, the data output from the RAM chip has stabilised, and&lt;br /&gt;
is read on the data bus (-or, if write-enable (WE) is activated, data is read&lt;br /&gt;
from the bus into memory). Now when l6k RAM chips are used, only 7 lines (Z0 to&lt;br /&gt;
Z6) are needed for addressing; Z7 is now programmed (via Ml) to act as a second&lt;br /&gt;
Row Address Strobe (RASl), thus allowing the use of two banks of 16k chips.&lt;br /&gt;
&lt;br /&gt;
Finally, thc SAM controls the &amp;#039;refreshing&amp;#039; of the RAM chips., Dynamic RAM&lt;br /&gt;
chips have a simple structure of one transistor and capacitor per bit (or cell),&lt;br /&gt;
and the charge leaks away from the capacitor over a few tens of milliseconds.&lt;br /&gt;
The RAMs are so constructed however that everytime a row address is presented to&lt;br /&gt;
them, all the cells with this row address have their information read out into buffers - later in the cycle this information (or new information if there is a write-to—memory) is read back into the capacitors, so that the whole row is refreshed at once. The SAM inserts a series of these &amp;#039;RAS-only refresh cycles&amp;#039; from time-to-time to keep all the cells updated. As a final subtlety, not all&lt;br /&gt;
256 RAS combinations need to be addressed on most chips, only 128. However some&lt;br /&gt;
chips (notably the Texas 4161) do require 256 refresh addresses, and cannot be&lt;br /&gt;
refreshed by the 6883.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Layout of the Dragon.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Both Dragon &amp;amp; Tandy machines closely follow the recommended circuit given by&lt;br /&gt;
Motorola in the MC6883 data sheet. On all the boards the SAM output lines (Z0-&lt;br /&gt;
Z6, RAS0, RAS1/Z7, CAS &amp;amp; WE) are linked to the corresponding rails on the RAMs&lt;br /&gt;
(A0-A6, RAS or A7, CAS &amp;amp; WE) by low—value damping resistors; on the &amp;#039;Issue 2&amp;#039;&lt;br /&gt;
boards however, there is optionally also an inverter between Z7 and A7,&lt;br /&gt;
presumably to allow the good upper half of &amp;#039;half-good&amp;#039; 64k RAM: to be used where&lt;br /&gt;
appropriate; it can safely be left in circuit when upgrading. As for the data&lt;br /&gt;
lines on the chips, the inputs Din are connected directly to the data bus from the cpu, whilst the outputs Dout (marked as &amp;#039;Q&amp;#039; on most RAM datasheets!) go via&lt;br /&gt;
a 74LS244 buffer on to the date bus, and via a 74LS273 latch to the VDG; data is&lt;br /&gt;
strobed into the latch under control of RAS0, whilst the 74LS244 memory buffer&lt;br /&gt;
is activated by a signal from the 74LSl38 decoder (which in turn decodes signals&lt;br /&gt;
50,51,52 from the SAM -· see block diagram, Fig 4). Note that, on MkII &amp;amp; Issue 2&lt;br /&gt;
mainboards, IC1 is connected to data line D7, and so on in reverse order til&lt;br /&gt;
IC8, which is connected to D0.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Appendix B. Some programming examples&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The three programs given in listings L1 to L3 have already been briefly introduced in the main text. At the heart of each are a series of short machine-&lt;br /&gt;
code routines; these are coded in hexadecimal and placed in BASIC DATA&lt;br /&gt;
statements, (one instruction per statement). The surrounding BASIC program loads&lt;br /&gt;
the the machine code, by default into the cassette buffer at (hex) 2OO, and then&lt;br /&gt;
where necessary modifies it, or installs jumps in the appropriate BASIC&lt;br /&gt;
input/output hooks. As a rule these m/c routines perform their manipulations&lt;br /&gt;
with the interrupts turned off -· this is because in normal operation the&lt;br /&gt;
interrupts are vectored, by jump instructions in locations (hex) 100 to ll2,&lt;br /&gt;
into routines in ROM; unless both the vectors and service-routines are copied&lt;br /&gt;
over to RAM the system will crash when an interrupt occurs. The most frequent&lt;br /&gt;
interrupt comes from the 50Hz clock, which can be turned off separately, in&lt;br /&gt;
BASIC, by executing &amp;#039;POKE&amp;amp;HFF03,&amp;amp;H34&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Program l: Here the machinecode begins by saving all registers and turning&lt;br /&gt;
interrupts off : it then executes a simple loop in which data is picked up from&lt;br /&gt;
an address pointed to by X, in one map mode, and deposited in the address given &lt;br /&gt;
in the Y register, in another map mode. The map mode for picking up the data, &lt;br /&gt;
for depositing it, and the final map made to return to, are all set up by BASIC,&lt;br /&gt;
as are the start &amp;amp; finish addresses in the first field, and the start address in&lt;br /&gt;
the second. By copying from 8000 to E000 (if you have a disk, BFFF if not) in&lt;br /&gt;
mapmode 0, to 8000 on in mapmode 1, and returning to mapmode 1, you will&lt;br /&gt;
smoothly transition from running BASIC in ROM to running it in RAM, giving space&lt;br /&gt;
for machinecode etc from E000 (C000) to FEFF.&lt;br /&gt;
&lt;br /&gt;
Program 2: This uses the Compusense Flex High—Res text—generator resident in&lt;br /&gt;
RAM above 32k to write text from BASIC to a high-res graphics screen at E6OO in&lt;br /&gt;
RAM. The text has true lower—case, and a 51 by 24 format. (A similar arrangement&lt;br /&gt;
could probably be made with other similar text-generators.)&lt;br /&gt;
&lt;br /&gt;
T0 use the program first boot Flex (not provided!) and turn off any options&lt;br /&gt;
set for the terminal (eg unset &amp;#039;pause at end of page&amp;#039; by typing &amp;#039;TTYSET, DP=0&amp;#039;),&lt;br /&gt;
then type &amp;#039;MON&amp;#039; to return to normal BASIC. Finally load and run the program -&lt;br /&gt;
the BASIC may be deleted after it has run, leaving the m/c routines.&lt;br /&gt;
&lt;br /&gt;
The program works by intercepting the BASIC &amp;#039;output a character&amp;#039; hook; if&lt;br /&gt;
the output is heading, for the disk, cassette or printer (9D nonzero) then it is&lt;br /&gt;
sent on its way — (the version shown assumes you have DragonDos, so amend line&lt;br /&gt;
A0 to 39,12,12 if not). If the output is heading for the screen, then the map&lt;br /&gt;
mode is changed to 1 and the Flex &amp;#039;output a character&amp;#039; routine or the &amp;#039;output a&lt;br /&gt;
crlf&amp;#039; routine entered; (the addresses of these and other useful Flex routines&lt;br /&gt;
nrc to be found `in the Flex &amp;#039;Advanced Programmers Guide&amp;#039;). Finally, it is&lt;br /&gt;
necessary to keep the VDG looking at the right graphics screen, since there 5is a BASIC routine called everytime a character is input which resets it to look at&lt;br /&gt;
the normal text screen at (hex) 400. A simple modification is hacked into the&lt;br /&gt;
input ram hook no achieve this.&lt;br /&gt;
&lt;br /&gt;
Program 3: This program uses pageswitching, to run two independent BASIC or&lt;br /&gt;
machinecode programs in the two 32K pages of memory. The program is configured&lt;br /&gt;
to run with DragonDos, and to remove this feature change line 140 (JMP $D917) to&lt;br /&gt;
&amp;#039;14O DATA 39,l2,l2&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The code comprises 3 sections: SWOPIT, which dumps the stack pointer in&lt;br /&gt;
&amp;quot;HOLE&amp;quot;, switches pages, and reloads the SP from the corresponding location in&lt;br /&gt;
the other page; VDC, which keeps the Video Display looking at the right text-&lt;br /&gt;
screen (400 in page 0, 8400 in page 1); and finally MOVIT, (a derivative of program l), which sets up Page 1 initially, by copying page 0 into it and then&lt;br /&gt;
modifying some locations.&lt;br /&gt;
&lt;br /&gt;
After running the BASlC, type MON to remove the redundant code, but leave&lt;br /&gt;
the machinecode. Typing or executing &amp;#039;EXEC&amp;#039; will enter SWOPIT, and send you to&lt;br /&gt;
the other page. SWOPIT could also be linked into the &amp;#039;End—of-BASIC-line&amp;#039; hook at&lt;br /&gt;
l9A—l9C, or at a pinch into the 50Hz interrupt routine. The routine will work&lt;br /&gt;
correctly (?!) for all BASIC programs which use text only, and m/c routines&lt;br /&gt;
which use the BASIC I/O. It will also generate graphics correctly, but in Page 1&lt;br /&gt;
will not display them unless the BASIC statement &amp;#039;SCREEN a,b‘ is expanded to&lt;br /&gt;
‘SCREEN a,b: POKE &amp;amp;HFFD3,0&amp;#039; (and equivalently for m/c programs).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Use of FORTH.&amp;#039;&amp;#039;&amp;#039; Those wishing to use FORTH will find it easy to change&lt;br /&gt;
map/page modes by defining words such as C64, thus:-&lt;br /&gt;
&lt;br /&gt;
HEX : C64 0 FFDF C! ;&lt;br /&gt;
&lt;br /&gt;
However; you will need to turn interrupts on and off — the following FORTH&lt;br /&gt;
word, CLOCKOFF, would usually be sufficient,&lt;br /&gt;
&lt;br /&gt;
HEX : CLOCKOFF 34 FF03 C! ;&lt;br /&gt;
&lt;br /&gt;
but a more satisfactory solution is to define e words IOF and ION in machinecode&lt;br /&gt;
as follows:-&lt;br /&gt;
&lt;br /&gt;
HEX CREATE IOF&lt;br /&gt;
1A50 , AEAl , 6E94 , SMUDGE&lt;br /&gt;
CREATE ION&lt;br /&gt;
1CAF , AEAl , 6E94 , SMUDGE&lt;br /&gt;
DECIMAL ;S&lt;br /&gt;
&lt;br /&gt;
(This screen should work with Oasis/Dragon Data &amp;amp; Tele-Forths. The m/c AEA1,&lt;br /&gt;
6E94 translates as LDX ,Y++ :JMP (,X) and is the &amp;#039;in-line &amp;#039; code for the FORTH&lt;br /&gt;
terminating-word &amp;#039;NEXT&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Appendix C&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Some suitable 64k RAM chips and their suppliers.&lt;br /&gt;
&lt;br /&gt;
{|{{PrettyTable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|&amp;#039;&amp;#039;Manufacturer&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Number&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Possible Stockist**&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Telephone&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|Oki ||M3764 ||Manhattan Skyline ||0628-75851&lt;br /&gt;
|-&lt;br /&gt;
|Hitachi ||HM4864 ||Farnell ||0532—636311&lt;br /&gt;
|-&lt;br /&gt;
|Motorola ||MCM6665 ||STC ||0279-26777&lt;br /&gt;
|-&lt;br /&gt;
|Mostek ||MK4564 ||Celdis ||0734-586191&lt;br /&gt;
|-&lt;br /&gt;
||NEC ||PD4l64 ||Farnell ||0532—636311&lt;br /&gt;
|-&lt;br /&gt;
|Toshiba ||TMM4l64 ||Verospeed ||0703-644555&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All of these have the same pinout (see fig C2), with pin 1 being marked as N/C,&lt;br /&gt;
except tor the MCM6665, for which the pin is connected internally to 5V; also&lt;br /&gt;
given in the figure (Cl) is the pinout of a typical 16k memory chip (MK4ll6),&lt;br /&gt;
usually fitted to the Dragon 32.&lt;br /&gt;
&lt;br /&gt;
All the 64k chips above are 128-cycle refresh types (in contrast to the Texas 4l64 which is a 256—cycle chip and is not suitable).&lt;br /&gt;
&lt;br /&gt;
**Finally, the stockists listed above are (apart from Manhattan Skyline)&lt;br /&gt;
often not the best sources for small quantities . The following four firms,&lt;br /&gt;
&lt;br /&gt;
Technomatic (O1-208—1177)&lt;br /&gt;
Midwich Computer Co. (0379-898751)&lt;br /&gt;
Watford Electronics (0923-37774)&lt;br /&gt;
Happy Memories (054-422-618)&lt;br /&gt;
&lt;br /&gt;
have recently been offering suitable chips at very competitive prices (eg less&lt;br /&gt;
than £l a chip for HM4864s at Happy Memories). Check the latest position in&lt;br /&gt;
T &amp;#039;Wireless World&amp;#039; &amp;amp; ‘Electronics &amp;amp; Computing&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Appendix D&amp;#039;&amp;#039;&amp;#039; An alternative decoder mod., allowing use of static RAM in the&lt;br /&gt;
cartridge port.&lt;br /&gt;
&lt;br /&gt;
The decoder modification suggested in the main text is the logical one to&lt;br /&gt;
use following the Motorola data sheets, and is essentially the same as that&lt;br /&gt;
employed on the Dragon 64. However, it does have the disadvantage of not easily&lt;br /&gt;
allowing static RAM in the cartridge port, because the cartridge-select line is disabled during all write operations. It appears that the following alteration to the internal mod. would overcome this:- instead of gating the decoder logic (IC33,74LS138 &amp;amp; IC31,74LS02),with R/W (the read/write line from the processor), the signal WE (write-enable) is used. To do this, connect pin 2 of IC31 to the land joining pins 3 of the RAM chips (rather than to pin 21 of IC 26); the other connections, between LS02 and LS138, remain the same.&lt;br /&gt;
&lt;br /&gt;
It must be emphasised that this is a rather speculative mod., using an undocumented property of the WE signal - namely, that WE does not go low when memory above 7FFF is addressed in Map Mode 0 - this has been determined by experiment only!&lt;br /&gt;
&lt;br /&gt;
For this reason, I do not recommend this mod. Having said this, it would be a great convenience to have static RAM available in this way when using the page—switch facility, since the system stack and a data interchange area could be maintained in it ( contrast Program 3 of Appendix B).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PROGRAM 1.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{|{{PrettyTable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|&amp;#039;&amp;#039;BASIC&amp;#039;&amp;#039;||&amp;#039;&amp;#039;ASSEMBLER&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Comment&amp;#039;&amp;#039; &lt;br /&gt;
|-&lt;br /&gt;
|10 ‘MOVIT 23-JAN—84&lt;br /&gt;
|-&lt;br /&gt;
|20 DATA 34,7F ||PSHS X,Y,A,B,DP,CC,U ||Dump the lot&lt;br /&gt;
|-&lt;br /&gt;
|30 DATA 1A,50 ||ORCC #$50 ||Interrupts off&lt;br /&gt;
|-&lt;br /&gt;
|40 DATA 8E,00,00 ||LDX #0000 ||Nasty impure instruction&lt;br /&gt;
|-&lt;br /&gt;
|50 DATA 10,8E,00,00 ||LDY #0000 ||And this&lt;br /&gt;
|-&lt;br /&gt;
|60 DATA B7,FF,00 ||STA $FF00 ||Will be FFDF or FFDE&lt;br /&gt;
|-&lt;br /&gt;
|70 DATA A6,80 ||LDA ,X+ ||Pick up Data&lt;br /&gt;
|-&lt;br /&gt;
|80 DATA B7,FF,00 ||STA $FF00 ||Will be FFDE or FFDF&lt;br /&gt;
|-&lt;br /&gt;
|90 DATA A7, A0 ||STA ,Y+ ||Dump Data&lt;br /&gt;
|-&lt;br /&gt;
|100 DATA 8C,00,00 ||CMPX #$0000 ||Another modified address&lt;br /&gt;
|-&lt;br /&gt;
|110 DATA 2F,F1 ||BLE L ||if less go round loop&lt;br /&gt;
|-&lt;br /&gt;
|120 DATA B7,FF,00 ||STA $FF00 ||Final map mode here&lt;br /&gt;
|-&lt;br /&gt;
|130 DATA 35,FF ||PULS X,Y,A,B,DP,CC,U,PC ||All done.&lt;br /&gt;
|-&lt;br /&gt;
|140 &amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|150 PRINT&amp;quot;movit here&amp;quot;:PRINT&amp;quot;GIVE ME`A HOLE TO LIVE IN&amp;quot;,: INPUT BA&lt;br /&gt;
|-&lt;br /&gt;
|160 IF BA&amp;gt;30O GOTO 170 ELSE BA=512&lt;br /&gt;
|-&lt;br /&gt;
|170 FOR I=BA TO BA+30&lt;br /&gt;
|-&lt;br /&gt;
|180 READ V$:V=VAL(&amp;quot;&amp;amp;H&amp;quot;+V$)&lt;br /&gt;
|-&lt;br /&gt;
|190 POKE I,V&lt;br /&gt;
|-&lt;br /&gt;
|200 NEXT I&lt;br /&gt;
|-&lt;br /&gt;
|210 PRINT&amp;quot;TAKE`DATA FROM&amp;quot;;:INPUT ST,FI&lt;br /&gt;
|-&lt;br /&gt;
|220 PRINT&amp;quot;IN MAP MODE 0(32K) OR 1(64K)&amp;quot;;: INPUT MI&lt;br /&gt;
|-&lt;br /&gt;
|230 PRINT&amp;quot;AND PUT IT AT&amp;quot;;; INPUT NA&lt;br /&gt;
|-&lt;br /&gt;
|240 PRINT&amp;quot;IN MAP MODE&amp;quot;; INPUT MO&lt;br /&gt;
|-&lt;br /&gt;
|250 PRINT&amp;quot;RETURN TO 32K(0) OR 64K(1) MODE&amp;quot;; INPUT MR&lt;br /&gt;
|-&lt;br /&gt;
|260 IF MR=0 THEN POKE BA+28,&amp;amp;HDE ELSE POKE BA+28,&amp;amp;HDF&lt;br /&gt;
|-&lt;br /&gt;
|270 IF MI=0 THEN POKE BA+13,&amp;amp;HDE ELSE POKE BA+13,&amp;amp;HDF&lt;br /&gt;
|-&lt;br /&gt;
|280 IF MO=0 THEN POKE BA+18,&amp;amp;HDE ELSE POKE BA+18,&amp;amp;HDF&lt;br /&gt;
|-&lt;br /&gt;
|290 X=INT(ST/256): Y=ST—256*X&lt;br /&gt;
|-&lt;br /&gt;
|300 POKE BA+5,X: POKE BA+6,Y&lt;br /&gt;
|-&lt;br /&gt;
|310 X=INT(FI/256); Y=FI-256*X&lt;br /&gt;
|-&lt;br /&gt;
|320 POKE BA+22,X: POKE BA+23,Y&lt;br /&gt;
|-&lt;br /&gt;
|330 X=INT(NA/256): Y=NA-256*X&lt;br /&gt;
|-&lt;br /&gt;
|340 POKE BA+9,X; POKE BA+10,Y&lt;br /&gt;
|-&lt;br /&gt;
|350 EXEC BA&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PROGRAM 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{|{{PrettyTable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|&amp;#039;&amp;#039;BASIC&amp;#039;&amp;#039;||&amp;#039;&amp;#039;ASSEMBLER&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Comment&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|10 &amp;#039;FLEXIT 8-MAR-85&lt;br /&gt;
|-&lt;br /&gt;
|20 DATA 0D,6F ||Start TST $6F ||Cheek ouput device&lt;br /&gt;
|-&lt;br /&gt;
|30 DATA 27,03 ||BEQ SCRN ||If 0 ir&amp;#039;s O/P to screen&lt;br /&gt;
|-&lt;br /&gt;
|40 DATA 7E,D9,17 ||JMP $D917 ||If anything else send to DOS hack&lt;br /&gt;
|-&lt;br /&gt;
|50 DATA 32,62 ||SCRN LEAS 2,S ||Drop return address off stack&lt;br /&gt;
|-&lt;br /&gt;
|60 DATA 34,7F ||PSHS X,Y,A,B,U,DP,CC&lt;br /&gt;
|-&lt;br /&gt;
|70 DATA 1A,50 ||ORCC #$50 ||IOF&lt;br /&gt;
|-&lt;br /&gt;
|80 DATA B7,FF,DF ||STA $FFDF ||Map mode 1&lt;br /&gt;
|-&lt;br /&gt;
|90 DATA 81,0D ||CMPA #$0D ||CRLF?&lt;br /&gt;
|-&lt;br /&gt;
|100 DATA 27,0A ||BEQ CRLF&lt;br /&gt;
|-&lt;br /&gt;
|110 DATA BD,CD,l2 ||JSR $CD12 ||Char O/P&lt;br /&gt;
|-&lt;br /&gt;
|120 DATA B7,FF,DE ||FINISH STA $FFDE ||Map mode 0&lt;br /&gt;
|-&lt;br /&gt;
|130 DATA 8D,07 ||BSR RESET&lt;br /&gt;
|-&lt;br /&gt;
|140 DATA 35,FF ||PULS X,Y,A,B,U,DP,CC,PC&lt;br /&gt;
|-&lt;br /&gt;
|150 DATA BD,CD,24 ||CRLF JSR $CD24&lt;br /&gt;
|-&lt;br /&gt;
|160 DATA 20,F4 ||BRA FINISH&lt;br /&gt;
|-&lt;br /&gt;
|170 &amp;#039;CHANGE VDG PAGE&lt;br /&gt;
|-&lt;br /&gt;
|180 DATA 34,02 ||RESET PSHS A&lt;br /&gt;
|-&lt;br /&gt;
|190 DATA 86,F0 ||LDA #$F0&lt;br /&gt;
|-&lt;br /&gt;
|200 DATA B7,FF,22 ||STA $FF22 ||Set VDG mode&lt;br /&gt;
|-&lt;br /&gt;
|210 DATA B7,FF,C5 ||STA $FFC5 ||Now set&lt;br /&gt;
|-&lt;br /&gt;
|220 DATA B7,FF,C3 ||STA $FFC3 ||VDG&lt;br /&gt;
|-&lt;br /&gt;
|230 DATA B7,FF,C0 ||STA SFFC0 ||Base page&lt;br /&gt;
|-&lt;br /&gt;
|240 DATA B7,FF,D3 ||STA $FFD3 ||to&lt;br /&gt;
|-&lt;br /&gt;
|250 DATA B7,FF,D1 ||STA $FFD1 ||$E600&lt;br /&gt;
|-&lt;br /&gt;
|260 DATA B7,FF,CF ||STA SFFCF ||which is where&lt;br /&gt;
|-&lt;br /&gt;
|270 DATA B7,FF,CC ||STA $FFCC ||the FLEX&lt;br /&gt;
|-&lt;br /&gt;
|280 DATA B7,FF,CA ||STA $FFCA ||HIRES&lt;br /&gt;
|-&lt;br /&gt;
|290 DATA B7,FF,C9 ||STA $FFC9 ||textscreen&lt;br /&gt;
|-&lt;br /&gt;
|300 DATA B7,FF,C7 ||STA $FFC7 ||lives&lt;br /&gt;
|-&lt;br /&gt;
|310 DATA 35,82 ||PULS A, PC ||All done&lt;br /&gt;
|-&lt;br /&gt;
|320 &amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|330 CLEAR 500&lt;br /&gt;
|-&lt;br /&gt;
|340 PRINT&amp;quot;flexit here&amp;quot;:PRINT&amp;quot;GIVE ME A HOLE TO LIVE IN&amp;quot;;; INPUT BA&lt;br /&gt;
|-&lt;br /&gt;
|350 IF BA&amp;gt;100 GOTO 360 ELSE BA=512&lt;br /&gt;
|-&lt;br /&gt;
|360 FOR I=BA TO BA+73&lt;br /&gt;
|-&lt;br /&gt;
|370 READ V$:V=VAL(&amp;quot;&amp;amp;H&amp;quot;+V$)&lt;br /&gt;
|-&lt;br /&gt;
|380 POKE I,V&lt;br /&gt;
|-&lt;br /&gt;
|390 NEXT I&lt;br /&gt;
|-&lt;br /&gt;
|400 X=BA:Y=INT(X/256):Z=X-256*Y&lt;br /&gt;
|-&lt;br /&gt;
|410 POKE &amp;amp;H169,Z&lt;br /&gt;
|-&lt;br /&gt;
|420 POKE &amp;amp;H168,Y&lt;br /&gt;
|-&lt;br /&gt;
|430 POKE &amp;amp;H167,&amp;amp;H7E&lt;br /&gt;
|-&lt;br /&gt;
|440 X=BA+35:Y=INT(X/256);Z=X-256*Y&lt;br /&gt;
|-&lt;br /&gt;
|450 POKE &amp;amp;H16C,Z&lt;br /&gt;
|-&lt;br /&gt;
|460 POKE &amp;amp;H16B,Y&lt;br /&gt;
|-&lt;br /&gt;
|470 POKE &amp;amp;H16A,&amp;amp;H7E&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PROGRAM 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{|{{PrettyTable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|&amp;#039;&amp;#039;BASIC&amp;#039;&amp;#039;||&amp;#039;&amp;#039;ASSEMBLER&amp;#039;&amp;#039;||&amp;#039;&amp;#039;Comment&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|10 &amp;#039;HOLE STACK STORED HERE ||HOLE FDB 0 ||Stack stored here&lt;br /&gt;
|-&lt;br /&gt;
|20 DATA 0,0&lt;br /&gt;
|-&lt;br /&gt;
||30 ‘SWOPIT- SWITCHES PAGES ||SWOPIT PSHS A,B,X,Y,U,DF,CC&lt;br /&gt;
|-&lt;br /&gt;
|40 DATA 34,7F&lt;br /&gt;
|-&lt;br /&gt;
|50 DATA 1A,50 ||ORCC #$50 ||IOF&lt;br /&gt;
|-&lt;br /&gt;
|60 DATA 1O,EF,8C,F6 ||STS HOLE, PCR&lt;br /&gt;
|-&lt;br /&gt;
|70 DATA 32,8C,75 ||LEAS SWOPIT+$80, PCR ||In case of NMI?&lt;br /&gt;
|-&lt;br /&gt;
|80 DATA B7,FF,D4 ||LSI STA $FFD4 ||Flip page&lt;br /&gt;
|-&lt;br /&gt;
|90 DATA 10,EE,8C,EC ||LDS HOLE,PCR&lt;br /&gt;
|-&lt;br /&gt;
||100 DATA 35,FF ||PULS PC,A,B,X,Y,U,DP,CC&lt;br /&gt;
|-&lt;br /&gt;
||110 &amp;#039;VDG - CHANGE VDG PAGE&lt;br /&gt;
|-&lt;br /&gt;
|120 DATA 7D,00,6F ||VDG TST $6F ||Find if O/P to&lt;br /&gt;
|-&lt;br /&gt;
|130 DATA 27,03 ||BEQ LV2 ||screen&lt;br /&gt;
|-&lt;br /&gt;
|140 DATA 7E,D9,17 ||JMP $D917 ||DragonDos hook&lt;br /&gt;
|-&lt;br /&gt;
|150 DATA BD,80,0C ||LV2 JSR $80OC ||Put char on scree&lt;br /&gt;
|-&lt;br /&gt;
|160 DATA 32,62 ||LEAS 2,S ||Drop return address off&lt;br /&gt;
|-&lt;br /&gt;
|170 DATA 34,16 ||PSHS X,B,A ||stack&lt;br /&gt;
|-&lt;br /&gt;
|180 DATA 8E,FF,C8 ||LDX $FFC8 ||SAM VDG bits start&lt;br /&gt;
|-&lt;br /&gt;
|190 DATA A7,0A ||LVI STA $A,X&lt;br /&gt;
|-&lt;br /&gt;
|200 DATA 7E,A9,41 ||JMP $A94q ||Now rejoin ROM Reset&lt;br /&gt;
|-&lt;br /&gt;
| || ||routine&lt;br /&gt;
|-&lt;br /&gt;
|210 &amp;#039;MOVIT ~ SETUP INITIAL CONFIG&lt;br /&gt;
|-&lt;br /&gt;
|220 DATA 34,7F ||MOVIT PSHS A,B,X,Y,U,DP,CC&lt;br /&gt;
|-&lt;br /&gt;
|230 DATA 1A,50 ||ORCC #$50&lt;br /&gt;
|-&lt;br /&gt;
|240 DATA 85,00,00 ||LDX #$0000&lt;br /&gt;
|-&lt;br /&gt;
|250 DATA 10,8E,80,00 ||LDY #$8000&lt;br /&gt;
|-&lt;br /&gt;
|260 DATA B7, FF,DF ||STA $FFDF ||Mapmode 1&lt;br /&gt;
|-&lt;br /&gt;
|270 DATA A6,80 ||LM1 LDA ,X+&lt;br /&gt;
|-&lt;br /&gt;
|280 DATA A7,A0 ||STA ,Y+&lt;br /&gt;
|-&lt;br /&gt;
||290 DATA 8C,7E,FF ||CMPX #$7EFF&lt;br /&gt;
|-&lt;br /&gt;
|300 DATA 2F,F7 ||BLE LM1&lt;br /&gt;
|-&lt;br /&gt;
|310 DATA 86,D5 ||LDA #$D5&lt;br /&gt;
|-&lt;br /&gt;
|320 DATA A7,8C,C6 ||STA LSI+2, PCR&lt;br /&gt;
|-&lt;br /&gt;
|330 DATA 4A ||DECA&lt;br /&gt;
|-&lt;br /&gt;
|340 DATA A7,8D,7F,C1 ||STA LSI+$8002, PCR&lt;br /&gt;
|-&lt;br /&gt;
|350 DATA 86,0A ||LDA #$0A&lt;br /&gt;
|-&lt;br /&gt;
|360 DATA A7,8C,D6 ||STA LV1+1, PCR&lt;br /&gt;
|-&lt;br /&gt;
|370 DATA 4C ||INCA&lt;br /&gt;
|-&lt;br /&gt;
|380 DATA A7,8D,7F,D1 ||STA LV1+1$8001, PCR&lt;br /&gt;
|-&lt;br /&gt;
|390 DATA B7,FF,DE ||STA $FFDE ||Mapmode 0&lt;br /&gt;
|-&lt;br /&gt;
|400 DATA 35, FF ||PULS PC,X,Y,A,B,U,DP,CC&lt;br /&gt;
|-&lt;br /&gt;
|410 &amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|420 CLEAR 500&lt;br /&gt;
|-&lt;br /&gt;
|430 PRINT&amp;quot;swapit here&amp;quot;:PRINT&amp;quot;GIVE ME A HOLE TO LIVE IN&amp;quot;;:INPUT BA&lt;br /&gt;
|-&lt;br /&gt;
|440 IF BA&amp;gt;300 THEN BA=512&lt;br /&gt;
|-&lt;br /&gt;
|450 SWOPIT=BA+2;VDG=BA+22:MOVIT=BA+45&lt;br /&gt;
|-&lt;br /&gt;
|460 FOR I=BA TO BA+92&lt;br /&gt;
|-&lt;br /&gt;
|470 READ V$:V=VAL(&amp;quot;&amp;amp;H&amp;quot;+V$)&lt;br /&gt;
|-&lt;br /&gt;
|480 POKE I,V&lt;br /&gt;
|-&lt;br /&gt;
|490 NEXT I&lt;br /&gt;
|-&lt;br /&gt;
|500 EXEC SWOPIT&lt;br /&gt;
|-&lt;br /&gt;
|510 X=VDG:Y=INT(X/256)=Z=X-256*Y&lt;br /&gt;
|-&lt;br /&gt;
|520 POKE &amp;amp;H169,Z&lt;br /&gt;
|-&lt;br /&gt;
|530 POKE &amp;amp;H168,Y&lt;br /&gt;
|-&lt;br /&gt;
|540 POKE &amp;amp;H167,&amp;amp;H7E&lt;br /&gt;
|-&lt;br /&gt;
|550 EXEC MOVIT&lt;br /&gt;
|-&lt;br /&gt;
|560 EXEC SWOPIT&lt;br /&gt;
|-&lt;br /&gt;
|570 EXEC SWOPIT&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=DriveWire&amp;diff=9798</id>
		<title>DriveWire</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=DriveWire&amp;diff=9798"/>
		<updated>2021-09-29T22:02:40Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
DriveWire is a way to connect your Dragon to a PC. It allows you to transfer files from the PC to your Dragon, or to use the PC as a virtual disk for the Dragon. A server program runs on the PC and services requests from the Dragon. Instead of a PC, a stand-alone DriveWire server like the [[uDW SD-card DriveWire microserver|uDW]] can be used.&lt;br /&gt;
&lt;br /&gt;
== DriveWire software ==&lt;br /&gt;
&lt;br /&gt;
DriveWire on the Dragon uses the printer port. On the Dragon, software is needed that can &amp;quot;talk&amp;quot; to the DriveWire server through the printer port. Operating systems like HDB-DOS and [[NitrOS-9]] have support for DriveWire, and can use the DriveWire server as a full replacement for a normal floppy or hard disk drive. See [[Drivewire for dummies]] for how to use HDB-DOS and DriveWire.&lt;br /&gt;
&lt;br /&gt;
For Dragon there is also [[DWLOAD]] - a small program that can be used to load programs from the DriveWire server without needing a disk operating system. DWLOAD can be embedded in a modified BASIC ROM, replacing the &amp;quot;DLOAD&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
== DriveWire adapters ==&lt;br /&gt;
&lt;br /&gt;
On the Dragon you will need an adapter to convert the printer port signals to a compatible serial port (or USB virtual serial port).&lt;br /&gt;
&lt;br /&gt;
See [[Dragon_32/64_Drivewire_Adapter]].&lt;br /&gt;
&lt;br /&gt;
== DriveWire server software ==&lt;br /&gt;
&lt;br /&gt;
The Drivewire4 (DW4) server is a Java application and can be downloaded here: https://sites.google.com/site/drivewire4/download&lt;br /&gt;
&lt;br /&gt;
A lightweight alternative is &amp;quot;DriveWire Lite&amp;quot;: A reimplementation in C of the server side of the DriveWire 3 protocol: http://sourceforge.net/projects/dwlite/&lt;br /&gt;
&lt;br /&gt;
There is also an open-source DriveWire server written in Python: https://github.com/6809/DwLoadServer&lt;br /&gt;
&lt;br /&gt;
There is a Python based Drivewire 4 compatible server here: https://gitlab.com/sorchard001/dwlserve - &lt;br /&gt;
&amp;#039;&amp;#039;&amp;quot;Minimal DriveWire server written in python, implementing a small subset of functions mainly to support Tormod Volden&amp;#039;s dwload software for Dragon computers.&amp;quot;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Drivewire4 (DW4) server usage ==&lt;br /&gt;
&lt;br /&gt;
Just choose CoCo2 in the DriveWire4 server &amp;quot;Simple Config Wizard&amp;quot;.&lt;br /&gt;
Keep all the default selections.&lt;br /&gt;
&lt;br /&gt;
If you would like to use the server under Windows without installing the JRE, use this batch file for startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET JDK=%~dp0\jre&lt;br /&gt;
SET JAVA_EXE=%JDK%\bin\java.exe&lt;br /&gt;
&amp;quot;%JAVA_EXE%&amp;quot; -XX:+UseConcMarkSweepGC -jar DW4UI.jar --backup &amp;amp;&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Download a JRE and put it into DriveWire directory together with this batch file.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/p/drivewireserver/wiki/DriveWire_Specification/ DriveWire specification]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:XRoar]] [[Category:Drivewire]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Orchestra_90&amp;diff=9797</id>
		<title>Orchestra 90</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Orchestra_90&amp;diff=9797"/>
		<updated>2021-09-29T21:51:42Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Orchestra-90 CC was a Program Pak that plugged directly into the Color Computer.&lt;br /&gt;
&lt;br /&gt;
[[Category:XRoar]] [[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Orchestra_90&amp;diff=9796</id>
		<title>Orchestra 90</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Orchestra_90&amp;diff=9796"/>
		<updated>2021-09-29T21:49:55Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Created page with &amp;quot;The Orchestra-90 CC was a Program Pak that plugged directly into the Color Computer.  Category:Hardware&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Orchestra-90 CC was a Program Pak that plugged directly into the Color Computer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Memory_Map&amp;diff=9795</id>
		<title>Memory Map</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Memory_Map&amp;diff=9795"/>
		<updated>2021-09-29T21:33:06Z</updated>

		<summary type="html">&lt;p&gt;Polluks: /* INPUT/OUTPUT ADDRESSES */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MEMORY MAP ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DRAGON 32 and 64 in 32 mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    0 -  1023  0000 - 03FF      SYSTEM USE&lt;br /&gt;
 1024 -  1535  0400 - 05FF      TEXT SCREEN&lt;br /&gt;
 1536 -  3071  0600 - 0BFF      GRAPHICS: PAGE 1&lt;br /&gt;
 3072 -  4607  0C00 - 11FF                PAGE 2&lt;br /&gt;
 4608 -  6143  1200 - 17FF                PAGE 3&lt;br /&gt;
 6144 -  7679  1800 - 1DFF                PAGE 4&lt;br /&gt;
 7680 -  9215  1E00 - 23FF                PAGE 5&lt;br /&gt;
 9216 - 10751  2400 - 29FF                PAGE 6&lt;br /&gt;
10752 - 12287  2A00 - 2FFF                PAGE 7&lt;br /&gt;
12288 - 13823  3000 - 35FF                PAGE 8&lt;br /&gt;
13824 - 32767  3600 - 7FFF      PROGRAM USE&lt;br /&gt;
32768 - 49151  8000 - BFFF      BASIC ROM&lt;br /&gt;
49152 - 65279  C000 - FEFF      CARTRIDGE USE&lt;br /&gt;
65280 - 65535  FF00 - FFFF      INPUT/OUTPUT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PLEASE NOTE:&lt;br /&gt;
With disks in use, the Disk work space occupies the first&lt;br /&gt;
page of graphics (1536 to 3071) and in consequence Graphics&lt;br /&gt;
screens are moved up one page, starting at 3072 (&amp;amp;H0C00) and&lt;br /&gt;
ending at 15359 (&amp;amp;H3BFF).&lt;br /&gt;
On start up the Dragon does a PCLEAR4 and in consequence the&lt;br /&gt;
memory available for program use starts at 7680, or 9216&lt;br /&gt;
with the DOS Controller in place.&lt;br /&gt;
&lt;br /&gt;
DRAGON 64 in 64 MODE.&lt;br /&gt;
&lt;br /&gt;
Same as above, except the BASIC ROM is moved from 32768&lt;br /&gt;
(&amp;amp;H8000) to 49152 (&amp;amp;HC000), which gives a substantial&lt;br /&gt;
increase in memory available for program use, but means that&lt;br /&gt;
disks cannot be used as the ROM overlays the Cartridge area.&lt;br /&gt;
Programs exist to overcome this problem however.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;13824 - 49151  3600 - BFFF      PROGRAM USE&lt;br /&gt;
49152 - 65279  C000 - FEFF      BASIC ROM&lt;br /&gt;
65280 - 65375  FF00 - FF5F      INPUT/OUTPUT&lt;br /&gt;
65376 - 65503  FF60 - FFDF      SAM CONTROL BITS&lt;br /&gt;
65504 - 65535  FFE0 - FFFF      MPU VECTORS&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE&lt;br /&gt;
&lt;br /&gt;
The following pages contain details of the Dragon&amp;#039;s memory,&lt;br /&gt;
both the Basic work pages and the Basic ROM. While every&lt;br /&gt;
effort has been made to ensure the accuracy of these&lt;br /&gt;
details, the Editor has had to rely on a number of sources&lt;br /&gt;
and it has not been possible to check them all.&lt;br /&gt;
Where possible details have also been given of the Tandy&lt;br /&gt;
Coco2 equivalent, making it possible for the conversion of&lt;br /&gt;
programs from American sources. In so doing you are reminded&lt;br /&gt;
that the Coco disk system differs greatly from Dragondos and&lt;br /&gt;
is closer to the cassette system in the way that it handles&lt;br /&gt;
data files.&lt;br /&gt;
One other major difference is the way that graphic binary&lt;br /&gt;
files are stored, they are usually 512 bytes higher in&lt;br /&gt;
memory than Dragon graphics.&lt;br /&gt;
&lt;br /&gt;
== MEMORY MAP DETAILS ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0       0       BREAK message flag&lt;br /&gt;
1       1       STRING delimiting character&lt;br /&gt;
2       2       Another delimiting character&lt;br /&gt;
3       3       General counter&lt;br /&gt;
4       4       Count of IF&amp;#039;s seen looking for ELSE&lt;br /&gt;
5       5       DIM flag&lt;br /&gt;
6       6       VARIABLE type flag 0=numeric 255=string&lt;br /&gt;
7       7       Garbage collection flag&lt;br /&gt;
8       8       Subscript allowed flag&lt;br /&gt;
9       9       INPUT/READ flag&lt;br /&gt;
10      A       Arithmetic use&lt;br /&gt;
11)     B)      String pointer - first free temporary&lt;br /&gt;
12)     C)&lt;br /&gt;
13)     D)      String pointer - last used temporory&lt;br /&gt;
15-24   E-18    Temporary results&lt;br /&gt;
25/26   19/1A   Start address of Basic program&lt;br /&gt;
27/28   1B/1C   Start address of simple variables table&lt;br /&gt;
                see D User 1/86 p38 for details of&lt;br /&gt;
                variables.&lt;br /&gt;
29/30   1D/1E   Start address of ARRAY table&lt;br /&gt;
31/32   1F/20   End of storage (last byte used by Basic)&lt;br /&gt;
33/34   21/22   Top of Stack. ((Stack grows down)&lt;br /&gt;
35/36   23/24   Top of free STRING space. By subtracting the&lt;br /&gt;
                contents of 33/34 you get free string space&lt;br /&gt;
37/38   25/26   Pointer to STRING in string space&lt;br /&gt;
39/40   27/28   Top of RAM available to Basic&lt;br /&gt;
41/42   29/2A   Line number used in &amp;#039;CONT&amp;#039; command&lt;br /&gt;
43/44   2B/2C   Temp G.P. line number store&lt;br /&gt;
45/46   2D/2E   Pointer to statement to be executed&lt;br /&gt;
47/48   2F/30   Direct mode command text pointer&lt;br /&gt;
49/50   31/32   Current DATA statement line number&lt;br /&gt;
51/52   33/34   Address of next item in current data sta&amp;#039;nt&lt;br /&gt;
53/54   35/36   Address of keyboard input buffer&lt;br /&gt;
55/56   37/38   Pointer to VARIABLE last in use&lt;br /&gt;
57/58   39/3A   VARPTR address of variable last in use&lt;br /&gt;
59/78   3B/4E   Evaluation variables&lt;br /&gt;
65/66   41/42   High end destination address for block move&lt;br /&gt;
67/68   43/44   High end origin address&lt;br /&gt;
69/70   45/46   Low end destination address&lt;br /&gt;
71/72   47/48   Low end origin address&lt;br /&gt;
79/84   4F/54   Floating Point Accumulator: No 1&lt;br /&gt;
79      4F      Exponent )&lt;br /&gt;
80/83   50/53   Mantissa ) Details of FPA&lt;br /&gt;
84      54      Sign     )&lt;br /&gt;
85      55      Temporary sign of FAC&lt;br /&gt;
86      56      String variable length&lt;br /&gt;
92/97   5C/61   Floating Pt Acc No 2: details as before&lt;br /&gt;
98      62      Sign comparison&lt;br /&gt;
99      63      Extended precision byte-Coco&lt;br /&gt;
104/105 68/69   Current line number (65535 in direct mode)&lt;br /&gt;
106     6A      VDU Comma field width (default 16)&lt;br /&gt;
107     6B      VDU Last Comma field (screen width - above)&lt;br /&gt;
108     6C      VDU Current column number (0 - 31)&lt;br /&gt;
109     6D      VDU Line width. No of characters per line&lt;br /&gt;
110     6E      Cassette I/O flag. Set FF on input incurring&lt;br /&gt;
111     6F      DEVN: re text output: 0=VDU 255=tape 254=prt&lt;br /&gt;
112     70      Cassette EOF flag: EOF reached if non zero&lt;br /&gt;
113     71      Restart flag. If&amp;lt;&amp;gt;$55 - cold start on reset&lt;br /&gt;
114/115 72/73   Restart vector. If flag=$55 &amp;amp; vector points&lt;br /&gt;
                points to a NOP then warm start else&lt;br /&gt;
                a cold start.&lt;br /&gt;
116/117 74/75   Physical end of RAM&lt;br /&gt;
120     78      Cassette status:0=closed 1=input 2=output&lt;br /&gt;
121     79      I/O buffer size&lt;br /&gt;
122/3   7A/B    Header buffer address:where f&amp;#039;name block is&lt;br /&gt;
124     7C      Cassette block type:&lt;br /&gt;
                0=f&amp;#039;name block 1=data block 255=EOF marker b&lt;br /&gt;
125     7D      BLKLEN:Cass Block length:Bytes to read/write&lt;br /&gt;
126/7   7E/F    Cassette I/O buffer address&lt;br /&gt;
128     80      Used internally to calculate the checksum&lt;br /&gt;
129     81      I/O error code 1=CRC 2=attempt load into RAM&lt;br /&gt;
130/2   82/4    Temp store used by COS&lt;br /&gt;
133     85      Last sine value&lt;br /&gt;
134     86      Data for Lo-res SET/RESET routine&lt;br /&gt;
135     87      ASCII code of last key pressed&lt;br /&gt;
136/7   88/89   Current VDU cursor address (ie screen pos)&lt;br /&gt;
138/9   8A/B    G.P. (16 bit) scratch pad&lt;br /&gt;
140     8C      Sound pitch value (frequency)&lt;br /&gt;
141/2   8D/E    GP Countdown facility (?duration of sound)&lt;br /&gt;
143     8F      Cursor Flash Counter&lt;br /&gt;
144/5   90/1    Cassette leader byte count (number of &amp;amp;H55s)&lt;br /&gt;
146     92      Min Cycle width of 1200HZ - Init=12&lt;br /&gt;
147     93      Min Pulse width of 1200HZ - Init=0A&lt;br /&gt;
148     94      Max pulse width of 1200HZ - Init=12&lt;br /&gt;
149/50  95/6    Dragon - Motor on delay&lt;br /&gt;
                Coco - Serial printer Baud rate constant&lt;br /&gt;
                HEX    Msb  Lsb (decimal) Baud&lt;br /&gt;
                       149  150&lt;br /&gt;
                02EB     2  235             75&lt;br /&gt;
                01CA     1  202            120&lt;br /&gt;
                0173     1  115            150&lt;br /&gt;
                00BE     0  180            300&lt;br /&gt;
                0057     0   87            600 (default)&lt;br /&gt;
                0028     0   41           1200&lt;br /&gt;
                0012     0   18           2400&lt;br /&gt;
                0006     0    6           4800&lt;br /&gt;
                0001     0    1           9600&lt;br /&gt;
151/2   97/8    Keyboard Scan Delay constant: Init=&amp;amp;H045E&lt;br /&gt;
153     99      Printer Comma Field Width: Default 16&lt;br /&gt;
154     9A      Printer Last Comma Field&lt;br /&gt;
155     9B      Printer Line Width: Set this to width 80?&lt;br /&gt;
156     9C      Printer Head Column:same as POS(-2) in basic&lt;br /&gt;
157/8   9D/E    Exec Entry address&lt;br /&gt;
159/170 9F/AA   Self modifying routine which reads next char&lt;br /&gt;
166/7   A6/7    Address of current sig byte - next char pntr&lt;br /&gt;
171/4   AB/E    Used by RND command&lt;br /&gt;
175     AF      TRON/TROFF flag: Non zero - trace on&lt;br /&gt;
176/7   B0/1    Address os start of USR address table&lt;br /&gt;
178     B2      Current foreground colour&lt;br /&gt;
179     B3      Current Background colour&lt;br /&gt;
180     B4      Temp colour in use&lt;br /&gt;
181     B5      Byte value for current colour: ie bits set&lt;br /&gt;
182     B6      Graphics PMODE number in use.&lt;br /&gt;
183/4   B7/8    Address of LAST byte of current graphics&lt;br /&gt;
185     B9      Number of bytes per line in current PMODE&lt;br /&gt;
186/7   BA/B    Address of FIRST byte: current graphics disp&lt;br /&gt;
188     BC      Start of graphics pages (MSB) defaults to 06&lt;br /&gt;
                Changed to 0C by Dragondos&lt;br /&gt;
189/90  BD/E    Current X Cursor position (not available&lt;br /&gt;
191/2   BF/C0   Current Y Cursor position (n.a.)&lt;br /&gt;
193     C1      Colour Set currently in use&lt;br /&gt;
194     C2      Plot/Unplot flag:0=Reset, Non-zero=Set&lt;br /&gt;
195/96  C3/4    Current Horizontal Pixel number&lt;br /&gt;
197/8   C5/6    Current Vertical Pixel number&lt;br /&gt;
199/200 C7/C8   Current X cursor co-ordinate&lt;br /&gt;
201/2   C9/CA   Current Y cursor co-ordinate&lt;br /&gt;
203/4   CB/CC   Circle command X co-ordinate&lt;br /&gt;
205/6   CD/CE   Circle command Y co-ordinate&lt;br /&gt;
207/8   CF/D0   RENUMber increment value&lt;br /&gt;
209/10  D1/2    RENUMber Start line (original number)&lt;br /&gt;
211/2   D3/4    CLOADM: 2&amp;#039;s complement load offset value&lt;br /&gt;
213/4   D5/6    RENUMber New Start line (new number)&lt;br /&gt;
215     D7      Editor line length - not user available&lt;br /&gt;
216/221 D8/DD   Graphics use&lt;br /&gt;
222     DE      Current octave in use (0 - 4)&lt;br /&gt;
223/4   DF/E0   Volume data for volume setting in PLAY&lt;br /&gt;
225     E1      Current note length in PLAY&lt;br /&gt;
226     E2      Current TEMPO for PLAY command&lt;br /&gt;
227/8   E3/4    Music duration count&lt;br /&gt;
229     E5      Music dotted note flag&lt;br /&gt;
230     E6      Coco - Baud rate constant&lt;br /&gt;
231     E7      Coco - Input timeout constant&lt;br /&gt;
232     E8      Current ANGLE used in DRAW routine&lt;br /&gt;
233     E9      Current SCALE used in DRAW routine&lt;br /&gt;
234     EA      Disk operation code-what operation specified&lt;br /&gt;
235     EB      Disk Drive number(1 - 4) Coco(1 - 3)&lt;br /&gt;
236     EC      Disk read/write TRACK number&lt;br /&gt;
237     ED      Disk read/write SECTOR number&lt;br /&gt;
238/9   EE/F    Disk read/write Sector Buffer address&lt;br /&gt;
240     F0      Disk Error Status byte (Convt to DDOS code)&lt;br /&gt;
241     F1      Disk File Control Block number (1 - 10)&lt;br /&gt;
242     F2      Number of bytes in Disk buffer area&lt;br /&gt;
243     F3      No of bytes to transfer to/from buffer&lt;br /&gt;
244     F4      Number of SIDES/TRACKS for current drive&lt;br /&gt;
                00=1 side 40 tracks     01=2 sides 40 tracks&lt;br /&gt;
                FF=1 side 80 tracks     FE=2 sides 80 tracks&lt;br /&gt;
                The FORMAT of a disk is taken from the last&lt;br /&gt;
                few bytes of Sector 1 of Track 20 in Drogon&lt;br /&gt;
                DOS, on first access of disk after switch on&lt;br /&gt;
                or RESET.&lt;br /&gt;
245     F5      File Read/write flag&lt;br /&gt;
                0=read, 1=write &amp;amp; FF=verify&lt;br /&gt;
246     F6      Disk I/O in progress flag&lt;br /&gt;
256/8   100/2   SWI3 JUMP VECTOR - called from &amp;amp;HFFF2&lt;br /&gt;
                Execution of a SWI3 instruction of &amp;amp;H113F&lt;br /&gt;
                will stack Registers and jump here&lt;br /&gt;
259/61  103/5   SWI2 JUMP VECTOR - called from &amp;amp;HFFF4&lt;br /&gt;
                Execution of a SWI2 instruction of &amp;amp;H103F&lt;br /&gt;
                will stack registers and jump here&lt;br /&gt;
262/4   106/8   SWI1 JUMP  VECTOR - called from &amp;amp;HFFFA -&amp;amp;H3F&lt;br /&gt;
                will stack registers and jump here&lt;br /&gt;
265/7   109/B   NMI JUMP VECTOR -non-maskable interrupt&lt;br /&gt;
                called from &amp;amp;HFFFC, set to &amp;amp;H7ED7AE JUMPD7AE&lt;br /&gt;
                by initialisation of disk operating system&lt;br /&gt;
                in the Coco. Okay for Dragon?&lt;br /&gt;
268/70  10C/E   IRQ JUMP SECTOR - Interrupt request called&lt;br /&gt;
                from &amp;amp;HFFF8. Set to &amp;amp;H7EA9B3 to initialise&lt;br /&gt;
                Basic, Set to &amp;amp;H7E894C for initialisation of&lt;br /&gt;
                extended Basic or set to &amp;amp;H7ED7BC for the&lt;br /&gt;
                initialisation of DOS in the Coco.&lt;br /&gt;
271/3   10F/111 FIRQ JUMP VECTOR - Fast interrupt request&lt;br /&gt;
                called from &amp;amp;HFFF6, set to &amp;amp;H7EA0F6 by the&lt;br /&gt;
                initialisation of Basic and causes a jump to&lt;br /&gt;
                the Cartridge Port in the Coco.&lt;br /&gt;
274/6   112/4   In Coco this is EXEC of USR basic function&lt;br /&gt;
274/5   112/3   Timer - current value of system timer&lt;br /&gt;
                In both Dragon and Coco (double function)&lt;br /&gt;
277/81  115/9   Random number seeds used in RND function&lt;br /&gt;
282/7   11A/F   Unused in Dragon&lt;br /&gt;
282     11A     Coco - Caps lock 1=lock 0=unlock (lower case&lt;br /&gt;
283/4   11B/C   Coco - keyboard delay constant&lt;br /&gt;
285/7   11D/F   Coco - Vector to 45509 (JUMP $8489)&lt;br /&gt;
288     120     Number of Basic commands (reserved words)&lt;br /&gt;
289/90  121/2   Address of list of Basic commands&lt;br /&gt;
291/2   123/4   Address of Command Despatch Table&lt;br /&gt;
293     125     Number of Basic functions&lt;br /&gt;
294/5   126/7   Address of list of Basic functions&lt;br /&gt;
296/7   128/9   Address of Function Despatch Table&lt;br /&gt;
298/307 12A/133 As for 288 to 297, but in Dragon refers to&lt;br /&gt;
                Disk commands and functions, but in the Coco&lt;br /&gt;
                to Extended Basic commands and functions.&lt;br /&gt;
308/317 134/13D These addresses as above re COCO disks.&lt;br /&gt;
308/327 134/147 DRAGON - USR Table (20 bytes 2 each USR)&lt;br /&gt;
                This USR table is switched to 1667 to 1686,&lt;br /&gt;
                or Hex 683 to 696 when DOS is connected and&lt;br /&gt;
                is replaced with Disk Stub3 which acts as a&lt;br /&gt;
                terminator.&lt;br /&gt;
328     148     PRINTER AUTO LF/CR Flag&lt;br /&gt;
329     149     Dragon - Caps Lock flag:non zero=upper case&lt;br /&gt;
330     14A     Number of chars in end of line sequence(1-4)&lt;br /&gt;
331/4   14B/E   End of Line Characters: Set to CR/LF/NUL/NUL&lt;br /&gt;
                This sequence is sent to printer when a&lt;br /&gt;
                carriage return is output.&lt;br /&gt;
336/45  150/9   Dragon Keyboard &amp;#039;Roll-over&amp;#039; table&lt;br /&gt;
338/45  152/9   Coco Keyboard &amp;#039;Roll-over&amp;#039; table&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DRAGON/COCO KEYBOARD ROLLOVER TABLE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                        Response:&lt;br /&gt;
 Address    191    223   239   247   251   253   254&lt;br /&gt;
Dec  Hex   D   C   D  C  D  C  D  C  D  C  D  C  D  C&lt;br /&gt;
338  152  ENT ENT  X  8  P  0  H  X  @  P  8  H  0  @&lt;br /&gt;
339  153  CLR CLR  Y  9  Q  1  I  Y  A  Q  8  I  1  A&lt;br /&gt;
340  154  BRK BRK  Z  :  R  2  J  Z  B  R  :  J  2  B&lt;br /&gt;
341  155              ;  S  3  K     C  S  ;  K  3  C&lt;br /&gt;
342  156              ,  T  4  L     D  T  ,  L  4  D&lt;br /&gt;
343  157              -  U  5  M     E  U  -  M  5  E&lt;br /&gt;
344  158              .  V  6  N     F  V  .  N  6  F&lt;br /&gt;
345  159          SPC /  W  7  O SPC G  W  /  O  7  G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RESPONSE IS 255 OR &amp;amp;HFF IF NO KEY IS PRESSED&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
346     15A     Right Joystick(0) - X value&lt;br /&gt;
347     15B     Right Joystick(1) - Y value&lt;br /&gt;
348     15C     Left Joystick (2) - X value&lt;br /&gt;
349     15D     Left Joystick (3) - Y value&lt;br /&gt;
&lt;br /&gt;
350 to 424 15E to 1A8   RAM HOOKS (each 3 bytes)&lt;br /&gt;
350/2   15E/160 Device Open- called just before OPEN command&lt;br /&gt;
353/5   161/3   Device Number-called when a DEVN is verified&lt;br /&gt;
356/8   164/6   Device Initialisation- called before setting&lt;br /&gt;
                up the Device parameters in Loctn 106 to 109&lt;br /&gt;
359/61  167/9   OUTPUT CHAR TO DEVN:called just before out-&lt;br /&gt;
                putting char in A Reg to DEVN&lt;br /&gt;
362/4   16A/C   INPUT CHAR FROM DEVN: called just before&lt;br /&gt;
                inputting a char from DEVN into A Register&lt;br /&gt;
365/7   16D/F   INPUT FILE: called just before inputting a&lt;br /&gt;
                file using INPUT&lt;br /&gt;
368/70  170/2   OUTPUT FILE: called just before outputting&lt;br /&gt;
                to a file using PRINT&lt;br /&gt;
371/3   173/5   CLOSE ALL FILES: called before all files are&lt;br /&gt;
                closed, action only taken if Cassette open&lt;br /&gt;
374/6   176/8   CLOSE FILE: called before device is CLOSED&lt;br /&gt;
                action only taken if DEVN is -1 (tape)&lt;br /&gt;
377/9   179/B   COMMAND INTERPRETER: called before interpret&lt;br /&gt;
                of token in A Reg as command, used by Delta&lt;br /&gt;
380/2   17C/E   RE-REQUEST INPUT. Called before requesting&lt;br /&gt;
                more data from keyboard- ie before ?? prompt&lt;br /&gt;
383/5   17F/181 CHECK KEYS. Called before keyboard scanned&lt;br /&gt;
                for BREAK and SHIFT/@. Keyboard not scanned&lt;br /&gt;
                if DEVN is -1.&lt;br /&gt;
386/8   182/4   LINE INPUT FILE. Called before Line Input is&lt;br /&gt;
                executed on current DEVN&lt;br /&gt;
389/91  185/7   CLOSE FILE &amp;amp; COMMAND. Called before closing&lt;br /&gt;
                an ASCII file just read in as a Basic prog&amp;#039;m&lt;br /&gt;
                by CLOAD &amp;amp; returning to COMMAND mode.&lt;br /&gt;
392/4   188/A   CHECK EOF. Called before checking for EOF&lt;br /&gt;
                for current DEVN&lt;br /&gt;
395/7   18B/D   EVALUATE EXPRESSION. (obvious)&lt;br /&gt;
398/400 18E/190 USER ERROR TRAP. Can be patched by the user,&lt;br /&gt;
                that is in Basic, to trap error messages.&lt;br /&gt;
401/3   191/3   SYSTEM ERROR TRAP. Can be patched by the&lt;br /&gt;
                &amp;#039;system&amp;#039;, ie Basic extension ROMs to trap&lt;br /&gt;
                errors (used by Dragondos)&lt;br /&gt;
404/6   194/6   RUN LINK. Called when RUN command is about&lt;br /&gt;
                to be executed. Patched by DDOS to allow a&lt;br /&gt;
                disk filename to be specified.&lt;br /&gt;
407/9   197/9   RESET BASIC MEMORY. Called from two routines&lt;br /&gt;
                in ROM before Basic Memory vectors are&lt;br /&gt;
                changed, ie by entering or editing lines,&lt;br /&gt;
                running programs etc.&lt;br /&gt;
410/2   19A/C   GET NEXT COMMAND. Called before reading in&lt;br /&gt;
                the next Basic command to be executed while&lt;br /&gt;
                program is running.&lt;br /&gt;
413/5   19D/F   ASSIGN STRING VARIABLE. (obvious)&lt;br /&gt;
416/8   1A0/2   SCREEN ACCESS. Called before the CLS,GET and&lt;br /&gt;
                PUT commands are executed.&lt;br /&gt;
419/21  1A3/5   TOKENISE LINE. Called before an ASCII line&lt;br /&gt;
                is tokenised in internal Basic format&lt;br /&gt;
422/4   1A6/8   DETOKENISE LINE. Called before a Tokenised&lt;br /&gt;
                line is converted to ASCII characters&lt;br /&gt;
425/464 or 1A9/1D0  STRING BUFFER AREA&lt;br /&gt;
465     1D1     Cassette filename length&lt;br /&gt;
466/73  1D2/9   Cassette filename to search for/or write out&lt;br /&gt;
474/728 or 1DA/2D8  CASSETTE FILE DATA BUFFER&lt;br /&gt;
                Area of memory used to load filename block &amp;amp;&lt;br /&gt;
                ASCII data blocks - if this contains a file-&lt;br /&gt;
                name block then this can be peeked (474-488)&lt;br /&gt;
474/81  1DA/1E1 Cassette filename (in buffer)&lt;br /&gt;
482     1E2     File type: 0=token basic 1=ASCII 2=binary&lt;br /&gt;
483     1E3     ASCII flag: 0=binary, non-zero=ASCII files.&lt;br /&gt;
484     1E4     Gap flag: 1=continuous, 255(FF)=gapped files&lt;br /&gt;
485/6   1E5/6   Execution address of machine code file&lt;br /&gt;
487/8   1E7/8   Load address of ungapped machine code file&lt;br /&gt;
729/33  2D9/C   Basic line input buffer preamble&lt;br /&gt;
734/984 2DD/3D8 Basic line input buffer&lt;br /&gt;
985/1002 3D9/EA BUFFER space&lt;br /&gt;
1003/20 3EB/3FC Unused&lt;br /&gt;
1021/2  3FD/E   End of line delay - RS 232 port on D64&lt;br /&gt;
1023    3FF     D64 RS 232 port Baud rate controller port&lt;br /&gt;
1024)   400)    TEXT SCREEN&lt;br /&gt;
1535)   5FF)         Default area.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Coco Buffer areas are slightly different:&lt;br /&gt;
733/988 2DD/3DC 255 byte Keyboard buffer&lt;br /&gt;
737/827 2E1/33B 90 byte Screen buffer&lt;br /&gt;
&lt;br /&gt;
The Disk Work area is from 1536 to 3071, or &amp;amp;H0600 to &amp;amp;H0BFF&lt;br /&gt;
Otherwise if disks are not installed these addresses are in&lt;br /&gt;
respect of the first of the Graphic pages, but with the DOS&lt;br /&gt;
installed the Graphics page 1 starts at 3072 (&amp;amp;H0C00).&lt;br /&gt;
&lt;br /&gt;
== DRAGONDOS WORK SPACE ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1536    0600    Start of Disk work space or Graphics Page 1&lt;br /&gt;
                when Disk cartridge not installed&lt;br /&gt;
1541    0605    Countdown to Disk motor off: Off when zero&lt;br /&gt;
1544    0608    Auto Verify ON/OFF: 0=off else checks sector&lt;br /&gt;
1546    060A    Current Default drive No. Used when no Drive&lt;br /&gt;
                number is specified in the command&lt;br /&gt;
1549/50 060D/E  Auto command line number in use&lt;br /&gt;
1551/2  060F/10 Auto command increment value&lt;br /&gt;
1553    0611    Program LOAD/RUN flag: 0=Load else Load/RUN&lt;br /&gt;
1555    0613    Auto command ON/OFF flag: 0=off else Auto on&lt;br /&gt;
1556    0614    Error command ON/OFF flag: 0=off else ERR on&lt;br /&gt;
1557/8  0615/6  ERROR trap line number: Basic line error rtn&lt;br /&gt;
1559/60 0617/8  ERL: line number of last error&lt;br /&gt;
1561    0619    ERR: Error code of last basic error&lt;br /&gt;
1562/3  061A/B  Address of start of statement in error&lt;br /&gt;
1564/9  061C/21 Drive 1 details&lt;br /&gt;
1570/5  0622/7  Drive 2 details&lt;br /&gt;
1576/81 0628/D  Drive 3 details&lt;br /&gt;
1582/7  062E/33 Drive 4 details&lt;br /&gt;
1588)   0634)   Disk Buffers 1 to 4 details, 7 bytes each&lt;br /&gt;
1615)   064F)&lt;br /&gt;
1616/66 0650/82 Current Drive information&lt;br /&gt;
1618/9  0652/3  Start address of program loaded&lt;br /&gt;
1620/1  1654/5  Length of program loaded&lt;br /&gt;
1622/3  1656/7  Entry (EXEC) address of M/code program&lt;br /&gt;
1667/86 1683/96 USR Vector table: relocated from 308-327(dec&lt;br /&gt;
1687 to 1706)   Disk Drive Parameter table&lt;br /&gt;
0697 to 06AA)   4 bytes per parameter - 1 for each drive&lt;br /&gt;
1687/90 0697/A  On Line Flag: Non zero means dive on line&lt;br /&gt;
1691/4  069B/E  Current Track, if Drive on line&lt;br /&gt;
1695/8  069F/A2 Head Stepping rate: This should only be&lt;br /&gt;
                changed if slower drives are used.&lt;br /&gt;
1699/702&lt;br /&gt;
        06A3/6  Disk Tracks on each drive&lt;br /&gt;
1703/6  06A7/A  Disk Sectors per track on each drive&lt;br /&gt;
1707/24 06AB/BC Directory Sector status&lt;br /&gt;
1725/2034       File Control Blocks: 10 in all: One for each&lt;br /&gt;
        6BD/7F2 open file: Each FCB 32 bytes long&lt;br /&gt;
2035/47 7F3/F   Temporary variables&lt;br /&gt;
2048/3071      )Disk Buffers: 4 in all, each 256 bytes long&lt;br /&gt;
        800/BFF)&lt;br /&gt;
&lt;br /&gt;
3072    0C00    Start of Graphic Page 1 when disks in place&lt;br /&gt;
                otherwise start of Graphic Page 2 for tapes.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== BASIC INTERPRETER CODES ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
32768   8000    Hardware initialisation&lt;br /&gt;
32771   8003    Software initialisation&lt;br /&gt;
32774   8006    POLCAT:Keyboard input:put into Register A&lt;br /&gt;
32777   8009    Cursor Blink&lt;br /&gt;
32780   800C    CHROUT:Write character in Reg A to screen&lt;br /&gt;
32783   800F    Writes out character in Reg A to printer&lt;br /&gt;
32786   8012    Joystick input:stored in addresses 346/9 dec&lt;br /&gt;
32789   8015    Cassette on&lt;br /&gt;
32792   8018    Cassette off&lt;br /&gt;
32795   801B    Write leader to cassette (or A00C)&lt;br /&gt;
32798   801E    Output byte from Reg A to cassette&lt;br /&gt;
32801   8021    CSRDON:Cassette on, prepare for reading&lt;br /&gt;
32804   8024    Input one byte from cassette to Register A&lt;br /&gt;
32807   8027    Gets one bit in from cassette into carry&lt;br /&gt;
32810   802A    Reads in a byte from another computer&lt;br /&gt;
32813   802D    Sends a byte to another computer&lt;br /&gt;
32816   8030    Select Baud rate of communications line&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
From here on the Coco equivalents are given in brackets and&lt;br /&gt;
only a few Hex addresses will be given&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
33604  (44102)  SYSERR: Generates appropriate action for&lt;br /&gt;
                Error code in B Reg&lt;br /&gt;
33649  (44147)  CMDMODE: prints OK prompt &amp;amp; returns to the&lt;br /&gt;
                command mode&lt;br /&gt;
33773  (44271)  BASVECT2: complete initialisation process&lt;br /&gt;
                after Basic program loaded&lt;br /&gt;
33815  (44313)  NEW Basic:removes current Basic program from&lt;br /&gt;
                memory, resets stack &amp;amp; clears variables&lt;br /&gt;
33823  (44321)  BASVECT1: Sets up various necessary vectors,&lt;br /&gt;
                once a Basic program has been loaded&lt;br /&gt;
33844  (44339)  RESETS STACK: Resets stack to initial position&lt;br /&gt;
                all entries are lost&lt;br /&gt;
33951  (44446)  RUN BASIC: runs a basic program in memory,&lt;br /&gt;
                used to AUTORUN programs&lt;br /&gt;
34091   851B    (44539) WAIT KEY: waits for a key press, and&lt;br /&gt;
                when key pressed puts it in A Register&lt;br /&gt;
34935  (45382)  GET EXPR: routine will evaluate &amp;amp; put VARPTR&lt;br /&gt;
                address of following expression into 82/83&lt;br /&gt;
34951  (45398)  GET STRG: compiles a string and puts it into&lt;br /&gt;
                free string space&lt;br /&gt;
35236  (45671)  CKCLBRAK: as for CKCOMA, but checks for a&lt;br /&gt;
                closed bracket&lt;br /&gt;
35239  (45674)  CKOPBRAK: as for above, but checks for an&lt;br /&gt;
                open bracket&lt;br /&gt;
35242  (45677)  CKCOMA: Checks to see next significant char&lt;br /&gt;
                in command line is a comma, and if not it&lt;br /&gt;
                produces a SYNTAX error&lt;br /&gt;
35244  (45679)  CKCHAR: as for CKCOMA, but checks for char&lt;br /&gt;
                in B Register&lt;br /&gt;
35476  (45911)  GETVAR: Get VARPTR address of the follwing&lt;br /&gt;
                variable&amp;#039;s name&lt;br /&gt;
35625  (46057)  GETUSR: Returns value of the argument in the&lt;br /&gt;
                USR function as 16 bit number in D register&lt;br /&gt;
35632           INTCNV: pass parameters to M/code routine&lt;br /&gt;
35641           GIVABF:used to pass values from M/C to Basic&lt;br /&gt;
35893  (46322)  ASSIGN-16-BIT:assigns value in D Register to&lt;br /&gt;
                a numeric variable&lt;br /&gt;
35894  (46323)  ASSIGN-8-BIT:assigns value in B register to&lt;br /&gt;
                a numeric variable&lt;br /&gt;
36055  (46481)  GARBAGE COLLECT: forces a controlled garbage&lt;br /&gt;
                collection of string space&lt;br /&gt;
36255  (46681)  DELVAR: frees space taken by a variable&lt;br /&gt;
36433  (46859)  GET-8-BIT: returns value of the following&lt;br /&gt;
                number in B Register&lt;br /&gt;
36483  (46909)  GET-16-BIT: returns value of the following&lt;br /&gt;
                number in X register&lt;br /&gt;
36522  (46948)  LIST BASIC: lists basic program in memory to&lt;br /&gt;
                to DEVN (device specified)&lt;br /&gt;
37025   90A1    (47448) PRINT CR/LE: moves cursor position&lt;br /&gt;
                to start of a new line&lt;br /&gt;
37093   90E5    (47516) OUT STRING:Outputs a text string to&lt;br /&gt;
                device number in DEVN&lt;br /&gt;
38266   957A    (48588) PRINT NUMBER:outputs 16 bit number&lt;br /&gt;
                in D Reg to DEVN&lt;br /&gt;
38798   978E    RANDOM NUMBER: Generates an 8 bit random&lt;br /&gt;
                number and puts it in location 278&lt;br /&gt;
39998  (34830)  ASSIGN-16-BITB:alternative to 35893, assigns&lt;br /&gt;
                value in Locs 82/83 to a variable&lt;br /&gt;
41194   A0EA    (36038) WAIT WITH CURSOR:scans keyboard for&lt;br /&gt;
                a keypress, flashing cursor at print pos.&lt;br /&gt;
43207  (38201)  CLEAR GRAPHICS:clears current graphics&lt;br /&gt;
                screen to data in B Register on entry&lt;br /&gt;
43304  (38298)  SET COLOURS: sets up locations 180 &amp;amp; 181&lt;br /&gt;
43320  (38314)  SELECT DISPLAY: Selects text or graphics&lt;br /&gt;
                depending on Z condition code, if Z=1 text&lt;br /&gt;
43322   95AC    (38316) RESET VDU: resets default VDU mode&lt;br /&gt;
43401  (38395)  SET VDG MODE:sets VDG in mode given in A Reg&lt;br /&gt;
43421  (38415)  SET VDG OFFSET: sets display offset for the&lt;br /&gt;
                graphics mode&lt;br /&gt;
43428  (38422)  SELECT VDG COL: selects required VDG colour&lt;br /&gt;
                set from the data in location 193&lt;br /&gt;
43489  (38483)  SELECT PAGE: on entry B reg contains page no&lt;br /&gt;
43536  (38530)  SELECT COL SET: selects colour set 0 or 1,&lt;br /&gt;
                according to data in B reg&lt;br /&gt;
43555  (38549)  RESERVE HRG RAM: reserves RAM for graphics&lt;br /&gt;
                and moves basic if necessary&lt;br /&gt;
44698  (39639)  PLAY NOTE: A Reg contains ASC code of note,&lt;br /&gt;
                other parameters should be set up&lt;br /&gt;
45137  (40118)  DRAW:allows access to all facilities of DRAW&lt;br /&gt;
46004  (40999)  RESET:resets whole works, as if reset button&lt;br /&gt;
                has been pressed&lt;br /&gt;
46080  (41142)  BOOT BASIC: restarts the Basic interpreter&lt;br /&gt;
                as if on power up or reset&lt;br /&gt;
46410   B54A    (41602) OUTCHAR:outputs character in A Reg&lt;br /&gt;
                to device number in DEVN (location 111)&lt;br /&gt;
46687  (42029)  CLOSE FILES: closes any open tape stream and&lt;br /&gt;
                flushes buffer&lt;br /&gt;
46757  (42089)  WRITE BASIC: writes current basic program to&lt;br /&gt;
                cassette&lt;br /&gt;
46920  (42257)  READ BINARY: reads in BIN file from tape&lt;br /&gt;
47283  (42625)  FIND FILE: searches tape for matching filename&lt;br /&gt;
47411  (42753)  READ 1ST BLOCK:gets filename block into tape&lt;br /&gt;
                buffer&lt;br /&gt;
47422   B93E    (42763) BLKIN: reads a block of data into&lt;br /&gt;
                cassette buffer&lt;br /&gt;
47505  (42981)  WRITE 1ST BLOCK: (obvious)&lt;br /&gt;
47513   B999    (42996) BLKOUT: write block of data to tape&lt;br /&gt;
47583  (43149)  SET LRG LEVEL:on entry the X Reg contains&lt;br /&gt;
                Lo-res screen address, B Reg colour &amp;amp; loc184&lt;br /&gt;
                the OR data&lt;br /&gt;
47623  (43189)  RESET LRG PIXEL:as above but B Reg ignored,&lt;br /&gt;
                Pixel reset to Black&lt;br /&gt;
47656  (43225)  CALC PIXEL POS:on entry the top of stack&lt;br /&gt;
                must contain Lo-res vertical co-ordinate,&lt;br /&gt;
                preceded by horizontal co-ordinate&lt;br /&gt;
47735   BA77    (43304) CLEAR SCREEN: clears screen to space&lt;br /&gt;
                and &amp;#039;homes&amp;#039; cursor&lt;br /&gt;
47737   BA79    (43306) CLEAR SCREEN to CHR: clears screen&lt;br /&gt;
                to character in B Reg&lt;br /&gt;
47776  (43345)  BEEP:sound Beep for length held in B Reg and&lt;br /&gt;
                pitch set by location 140&lt;br /&gt;
47811  (43380)  AUDIO OFF: disables sound:clears bit 3 65315&lt;br /&gt;
47813  (43382)  ENABLE SOUND: enables 6 bit sound by setting&lt;br /&gt;
                Bit 3 of 65315&lt;br /&gt;
47828  (43397)  RESET D/A: Puts value $7E into D/A converter&lt;br /&gt;
                address&lt;br /&gt;
47830  (43399)  WRITE D/A: puts contents of A Reg into D/A C&lt;br /&gt;
47852  (43421)  AUDIO ON:on entry the B Reg must be zero&lt;br /&gt;
48000   BB80    BOOT BASIC64K: Boots 64 mode&lt;br /&gt;
48053   BBB5    (41369) UPDATE CURSOR: flashes cursor&lt;br /&gt;
48101   BBE5    (41409) POLCAT: scans keyboard and puts the&lt;br /&gt;
                character in A Register&lt;br /&gt;
48288   BCA0    (41763) CLEAR VDU LINE: clears current VDU&lt;br /&gt;
                line from the cursor position&lt;br /&gt;
48299   BCAB    (41738) VDU OUT: prints char in A Reg to VDU&lt;br /&gt;
48373   BCF5    PRINTER DIR OUT: char in A Reg sent printer&lt;br /&gt;
48394   BD0A    PCRLF:moves print head to start of next line&lt;br /&gt;
48410   BD1A    (41663) PRINTER OUT:Char in Reg A to printer&lt;br /&gt;
48449  (43426)  SELECT JSK:selects joystick sources (ports -&lt;br /&gt;
                0 - 3) from A Register&lt;br /&gt;
48466   BD52    (43486) READ JSKS: Updates all joystick data&lt;br /&gt;
                locations (346/9)&lt;br /&gt;
48549   BDA5    (42837) BIT IN:reads a single bit(see below)&lt;br /&gt;
48557   BDAD    (42825) BYTE IN:reads a byte into A Reg(tape&lt;br /&gt;
48591  (42954)  MOTOR ON: tape - sets bit 3 of $FF21&lt;br /&gt;
48604  (42987)  MOTOR OFF: tape - clears bit 3 of $FF21&lt;br /&gt;
48615  (42876)  READ LEADER: motor on &amp;amp; prepares COS to read&lt;br /&gt;
48658  (43050)  BYTE OUT: writes byte in A Reg to tape&lt;br /&gt;
48746   BE6A    WRTLDR:turns cassette on and writes a leader&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
THE FOLLOWING ARE DRAGONDOS ROUTINES&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
49166   C00E    LENFIL: Report file length&lt;br /&gt;
49168   C010    CLOSAL: Close all files&lt;br /&gt;
49176   C018    GETFRE: Get free space&lt;br /&gt;
49178   C01A    DELETE: Delete a file&lt;br /&gt;
49180   C01C    PROTECT/UNPROTECT a file&lt;br /&gt;
49182   C01E    RENAME a file&lt;br /&gt;
49184   C020    GETDIR: Get directory entry&lt;br /&gt;
49406   C0FC    WRITE SECTOR: Writes 256 bytes to disk&lt;br /&gt;
49412   C104    READ SECTOR: reads 256 bytes from disk&lt;br /&gt;
49509   C165    DRIVE INIT: initialises DOS hardware&lt;br /&gt;
49513   C169    HARDWARE I/O: low level command to hardware&lt;br /&gt;
50108   C3BC    FORMAT DISK: in the DEFD drive&lt;br /&gt;
53581   D14D    GET FREE SPACE: free bytes on current drive&lt;br /&gt;
54033   D311    CONVERT SECTOR:converts LSN(Logical sect no)&lt;br /&gt;
                in Y Reg to Track/Sector&lt;br /&gt;
55868   DA3C    DIR DSK: directory of disk in DEFD drive to&lt;br /&gt;
                DEVN&lt;br /&gt;
56229   DBA5    BEEP: on entry B Reg should contain number&lt;br /&gt;
                of beeps&lt;br /&gt;
56267   DBCB    WAIT TIME:on entry X Reg should contain the&lt;br /&gt;
                number of milliseconds to wait&lt;br /&gt;
56330   DC0A    BOOT DSK: boots an OS off disk in DEFD drive&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== INPUT/OUTPUT ADDRESSES ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Addr&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Device&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comments and references&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Bit by bit&lt;br /&gt;
|-&lt;br /&gt;
| FEFF&lt;br /&gt;
| [[RACE Computer Expansion Cage]]&lt;br /&gt;
| Bits 0-1 : slot selection&lt;br /&gt;
|-&lt;br /&gt;
| FF00&lt;br /&gt;
| &lt;br /&gt;
* Dragon 32&lt;br /&gt;
* Dragon 64&lt;br /&gt;
| PIA 0 side A data register ([https://www.lomont.org/software/misc/coco/Lomont_CoCoHardware.pdf] p.48, [http://www.dragondata.co.uk/Publications/InsideTheDragon.pdf] p.196)&lt;br /&gt;
| &lt;br /&gt;
* Bit 0 right joystick button&lt;br /&gt;
* Bit 1 left joystick button&lt;br /&gt;
* Bits 0 to 6 Keyboard row input&lt;br /&gt;
* Bit 7 joystick comparator input&lt;br /&gt;
|-&lt;br /&gt;
| FF01&lt;br /&gt;
| &lt;br /&gt;
* Dragon 32&lt;br /&gt;
* Dragon 64&lt;br /&gt;
| PIA 0 side A control register ([https://www.lomont.org/software/misc/coco/Lomont_CoCoHardware.pdf] p.48)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| FF02&lt;br /&gt;
| &lt;br /&gt;
* Dragon 32&lt;br /&gt;
* Dragon 64&lt;br /&gt;
| PIA 0 side B data register ([https://www.lomont.org/software/misc/coco/Lomont_CoCoHardware.pdf] p.48)&lt;br /&gt;
| Bits 0 to 7: keyboard column output&lt;br /&gt;
|-&lt;br /&gt;
| FF03&lt;br /&gt;
| &lt;br /&gt;
* Dragon 32&lt;br /&gt;
* Dragon 64&lt;br /&gt;
| PIA 0 side B control register ([https://www.lomont.org/software/misc/coco/Lomont_CoCoHardware.pdf] p.48)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF04-FF07&lt;br /&gt;
| &lt;br /&gt;
* Dragon 64&lt;br /&gt;
* Dragon Alpha&lt;br /&gt;
| ACIA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF20&lt;br /&gt;
| &lt;br /&gt;
* Dragon 32&lt;br /&gt;
* Dragon 64&lt;br /&gt;
| PIA 1 side A data register  ([https://www.lomont.org/software/misc/coco/Lomont_CoCoHardware.pdf] p.48)&lt;br /&gt;
| &lt;br /&gt;
* Bit 0 - cassette data input&lt;br /&gt;
* Bit 1 - RS232 data output&lt;br /&gt;
* Bits 2-7 :  6 bit D/A(.25 to 4.75 volts out)&lt;br /&gt;
|-&lt;br /&gt;
| FF21&lt;br /&gt;
| &lt;br /&gt;
* Dragon 32&lt;br /&gt;
* Dragon 64&lt;br /&gt;
| PIA 1 side A control register ([https://www.lomont.org/software/misc/coco/Lomont_CoCoHardware.pdf] p.48)&lt;br /&gt;
| &lt;br /&gt;
* Bit 0 - control of CD : 0=FIRQ to CPU disabled, 1=enabled&lt;br /&gt;
* Bit 1 - RS 232 status input - 0=set flag falling edge CD, 1=rising edge&lt;br /&gt;
* Bit 2 - normal Data Direction Register addsd - 0=change FF20 to DDR&lt;br /&gt;
* Bit 3 - Cass Motor control, 0=off, 1=on&lt;br /&gt;
* Bit 4,5 - always 1&lt;br /&gt;
* Bit 6 - not used&lt;br /&gt;
* Bit 7 - CD interrupt flag&lt;br /&gt;
|-&lt;br /&gt;
| FF22&lt;br /&gt;
| &lt;br /&gt;
* Dragon 32&lt;br /&gt;
* Dragon 64&lt;br /&gt;
| PIA 1 side B data register ([https://www.lomont.org/software/misc/coco/Lomont_CoCoHardware.pdf] p.48)&lt;br /&gt;
|&lt;br /&gt;
* Bit 0 - RS 232 data input&lt;br /&gt;
* Bit 1 - single bit cound output&lt;br /&gt;
* Bit 2 - RAM size input&lt;br /&gt;
* Bit 3 - VDG Control Output CSS(color set ct)&lt;br /&gt;
* Bit 4 - VDG Control Output GM0&amp;amp;NOT(INT)/EXT&lt;br /&gt;
* Bit 5 - VDG Cont Output GM1&lt;br /&gt;
* Bit 6 - VDG Cont Output GM2&lt;br /&gt;
* Bit 7 - VDG Cont Output NOT(A)/G &lt;br /&gt;
|-&lt;br /&gt;
| FF23&lt;br /&gt;
| &lt;br /&gt;
* Dragon 32&lt;br /&gt;
* Dragon 64&lt;br /&gt;
| PIA 1 side B control register ([https://www.lomont.org/software/misc/coco/Lomont_CoCoHardware.pdf] p.48)&lt;br /&gt;
|&lt;br /&gt;
* Bit 0 - control of cartridge,  0=FIRQ to CPU disabled, 1= enabled&lt;br /&gt;
* Bit 1 - Interrupt input, 0=sets flag on falling edge of cartridge, 1=sets flag on rising edge of cartridge&lt;br /&gt;
* Bit 2 - Normally 1, 0=changes FF22 to DDReg&lt;br /&gt;
* Bit 3 - 6 bit sound enable&lt;br /&gt;
* Bits 4,5 - always 1&lt;br /&gt;
* Bit 6 - not used&lt;br /&gt;
* Bit 7 - cartridge interrupt flag&lt;br /&gt;
|-&lt;br /&gt;
| FF24-FF27&lt;br /&gt;
| Dragon Alpha&lt;br /&gt;
| &lt;br /&gt;
| Dragon Alpha PIA&lt;br /&gt;
|-&lt;br /&gt;
| FF28&lt;br /&gt;
| Dragon Alpha&lt;br /&gt;
| &lt;br /&gt;
| Dragon Alpha 6850 Modem Port&lt;br /&gt;
|-&lt;br /&gt;
| FF2C-FF2F&lt;br /&gt;
| Dragon Alpha&lt;br /&gt;
| &lt;br /&gt;
| Dragon Alpha Floppy Disk Controller&lt;br /&gt;
|-&lt;br /&gt;
| FF40-FF5F&lt;br /&gt;
| [[Dragon I/O Cartridge (Rink)]]&lt;br /&gt;
| To control which output pins are high and which are low, you write a single byte to any address between 0xFF40 and 0xFF5F. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF40-FF43 (mirrored upto FF5F)&lt;br /&gt;
| Voltmace Delta 14B multi-button joystick adapter&lt;br /&gt;
| 6821 PIA [http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;p=23906#p23906]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| FF40-FF44 (?)&lt;br /&gt;
| [[Delta DOS]]&lt;br /&gt;
| (from a quick disassembly of Delta DOS ROM)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| FF40&lt;br /&gt;
|&lt;br /&gt;
* Dragon FDC&lt;br /&gt;
* Coco FDC&lt;br /&gt;
* CocoSDC&lt;br /&gt;
| Command/status register&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| FF41&lt;br /&gt;
|&lt;br /&gt;
* Dragon FDC&lt;br /&gt;
* Coco FDC&lt;br /&gt;
* CocoSDC&lt;br /&gt;
* Becker Port (DriveWire)&lt;br /&gt;
|  Track register&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF42-FF43&lt;br /&gt;
| [[Dragon Speech Synthesis|JCB Microsystems&amp;#039; Dragon Speech Synthesis]]&lt;br /&gt;
| PIA data and control registers ([https://archive.worldofdragon.org/browse/downloads/Software/Dragon/J.C.B%20Microsystems/Dragon%2032%20Speech%20Synthesis/JCB%20Speech%20Synthesis%20Module%20User%20Manual.pdf])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF42&lt;br /&gt;
|&lt;br /&gt;
* Dragon FDC&lt;br /&gt;
* Coco FDC&lt;br /&gt;
* CocoSDC&lt;br /&gt;
* Becker Port (DriveWire)&lt;br /&gt;
| Sector register&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| FF43&lt;br /&gt;
|&lt;br /&gt;
* Dragon FDC&lt;br /&gt;
* Coco FDC&lt;br /&gt;
* CocoSDC&lt;br /&gt;
| Floppy data register&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF48&lt;br /&gt;
|&lt;br /&gt;
* Dragon FDC&lt;br /&gt;
* Coco FDC&lt;br /&gt;
| Disk controller latch&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF49&lt;br /&gt;
| [http://www.cloud9tech.com/ Cloud-9] Coco miniFlash&lt;br /&gt;
| Flash bank selection register (selectable between FF49, FF59, FF69, FF79) [https://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;t=10938]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF4A&lt;br /&gt;
| CocoSDC&lt;br /&gt;
| Flash Data Register&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| FF4A&lt;br /&gt;
| CocoSDC&lt;br /&gt;
| Flash Control Register&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| FF4C-FF4F (mirrors once at FF5C-FF5F)&lt;br /&gt;
| Ikon Drive&lt;br /&gt;
| [http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;p=23906#p23906]&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| FF50&lt;br /&gt;
| [[DragonMMC SDCard|DragonMMC]]&lt;br /&gt;
| Dragon D CMD_REG Command/Result ( [https://github.com/prime6809/DragonMMC/blob/master/DragonFirmware/defs/mmc2def.asm], [https://github.com/prime6809/DragonMMC/blob/master/DragonFirmware/defs/mmc2def.asm])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF50&lt;br /&gt;
| [https://colorcomputerarchive.com/repo/Documents/Manuals/Hardware/CoCo%20XT%20Hard%20Disk%20Interface%20v2.4%20(Burke%20&amp;amp;%20Burke).pdf Burke &amp;amp; Burke Coco-XT]&lt;br /&gt;
| MFM disk controller - HDDATA - data transfer byte (read/write)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF51&lt;br /&gt;
| [[DragonMMC SDCard|DragonMMC]]&lt;br /&gt;
| Dragon MMC D_LATCH_REG - single byte parameters  ( [https://github.com/prime6809/DragonMMC/blob/master/DragonFirmware/defs/mmc2def.asm], [https://github.com/prime6809/DragonMMC/blob/master/DragonFirmware/defs/mmc2def.asm])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF51&lt;br /&gt;
| [https://colorcomputerarchive.com/repo/Documents/Manuals/Hardware/CoCo%20XT%20Hard%20Disk%20Interface%20v2.4%20(Burke%20&amp;amp;%20Burke).pdf Burke &amp;amp; Burke Coco-XT]&lt;br /&gt;
| MFM disk controller: read HDSTAT status, write HDRSET reset&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF52&lt;br /&gt;
| [[DragonMMC SDCard|DragonMMC]]&lt;br /&gt;
| Dragon MMC D_READ_DATA_REG  ( [https://github.com/prime6809/DragonMMC/blob/master/DragonFirmware/defs/mmc2def.asm], [https://github.com/prime6809/DragonMMC/blob/master/DragonFirmware/defs/mmc2def.asm])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF52&lt;br /&gt;
| [https://colorcomputerarchive.com/repo/Documents/Manuals/Hardware/CoCo%20XT%20Hard%20Disk%20Interface%20v2.4%20(Burke%20&amp;amp;%20Burke).pdf Burke &amp;amp; Burke Coco-XT]&lt;br /&gt;
| MFM disk controller: write HDATTN ; get attention of controller&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF53&lt;br /&gt;
| [[DragonMMC SDCard|DragonMMC]]&lt;br /&gt;
| Dragon MMC D_WRITE_DATA_REG  ( [https://github.com/prime6809/DragonMMC/blob/master/DragonFirmware/defs/mmc2def.asm], [https://github.com/prime6809/DragonMMC/blob/master/DragonFirmware/defs/mmc2def.asm])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF53&lt;br /&gt;
| [https://colorcomputerarchive.com/repo/Documents/Manuals/Hardware/CoCo%20XT%20Hard%20Disk%20Interface%20v2.4%20(Burke%20&amp;amp;%20Burke).pdf Burke &amp;amp; Burke Coco-XT]&lt;br /&gt;
| MFM disk controller: write HDMASK ; controller dma and interrupts (not used on coco or dragon)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF54&lt;br /&gt;
| [[DragonMMC SDCard|DragonMMC]]&lt;br /&gt;
| Dragon MMC D_STATUS_REG AVR status  ( [https://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;t=10938])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF55&lt;br /&gt;
| [[DragonMMC SDCard|DragonMMC]]&lt;br /&gt;
| Dragon MMC D_PIA_MAP PIA redirect (write only)  ( [https://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;t=10938])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF56&lt;br /&gt;
| [[DragonMMC SDCard|DragonMMC]]&lt;br /&gt;
| Dragon D_RAM_CTRL RAM / ROM control register ( [https://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;t=10938])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF56-FF57&lt;br /&gt;
| Dragon-MSX2+ (in MPI mode)&lt;br /&gt;
| YM2413 ports ([http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;p=23906#p23906])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF58&lt;br /&gt;
| [[DragonMMC SDCard|DragonMMC]]&lt;br /&gt;
| D_SAMBITS_MSB (16 bits as programmed to SAM) ( [https://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;t=10938])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF59&lt;br /&gt;
| [[DragonMMC SDCard|DragonMMC]]&lt;br /&gt;
| D_SAMBITS_LSB (16 bits as programmed to SAM) ( [https://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;t=10938])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF58-FF5B&lt;br /&gt;
| Dragon-MSX2+ (in MPI mode)&lt;br /&gt;
| V9958 ports &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF59&lt;br /&gt;
| [http://www.cloud9tech.com/ Cloud-9] Coco miniFlash&lt;br /&gt;
| Flash bank selection register (selectable between FF49, FF59, FF69, FF79) [https://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;t=10938]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF5A-FF5B&lt;br /&gt;
| [[DragonMMC SDCard|DragonMMC]]&lt;br /&gt;
| RAM bank read / write registers ( [https://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;t=10938])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF5C-FF5F&lt;br /&gt;
| [[Touchmaster Tablet]]&lt;br /&gt;
| PIA ( [http://archive.worldofdragon.org/index.php?title=File:Touchmaster_UserGuide_09.jpg])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF5C-FF5D&lt;br /&gt;
| Dragon-MSX2+ (in MPI mode)&lt;br /&gt;
| YM2149 ports&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF5E&lt;br /&gt;
| Dragon-MSX2+ (in MPI mode)&lt;br /&gt;
| Video select port&lt;br /&gt;
| Only bit 0&lt;br /&gt;
|-&lt;br /&gt;
| FF69&lt;br /&gt;
| [http://www.cloud9tech.com/ Cloud-9] Coco miniFlash&lt;br /&gt;
| Flash bank selection register (selectable between FF49, FF59, FF69, FF79) [https://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;t=10938]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF76-FF77&lt;br /&gt;
| Dragon-MSX2+ (in native mode)&lt;br /&gt;
| YM2413 ports ([http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;p=23906#p23906])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF78-FF7B&lt;br /&gt;
| Dragon-MSX2+ (in native mode)&lt;br /&gt;
| V9958 ports &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF79&lt;br /&gt;
| [http://www.cloud9tech.com/ Cloud-9] Coco miniFlash&lt;br /&gt;
| Flash bank selection register (selectable between FF49, FF59, FF69, FF79) [https://archive.worldofdragon.org/phpBB3/viewtopic.php?f=9&amp;amp;t=10938]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF7A-FF7B&lt;br /&gt;
| [[Orchestra 90]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF7C-FF7D&lt;br /&gt;
| Dragon-MSX2+ (in native mode)&lt;br /&gt;
| YM2149 ports&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF7E&lt;br /&gt;
| Dragon-MSX2+ (in native mode)&lt;br /&gt;
| Video select port&lt;br /&gt;
| Only bit 0&lt;br /&gt;
|-&lt;br /&gt;
| FF7F&lt;br /&gt;
| &lt;br /&gt;
* MPI&lt;br /&gt;
* Mega-Mini MPI&lt;br /&gt;
| MPI (and clones) slot selection  ([https://www.lomont.org/software/misc/coco/Lomont_CoCoHardware.pdf], p.59 )&lt;br /&gt;
|&lt;br /&gt;
* Bits 5-4:  # of active CTS slot (ROM)&lt;br /&gt;
* Bits 1-0:  # of active SCS slot (Floppy Disk Controller)&lt;br /&gt;
|-&lt;br /&gt;
| FF80-FF8F&lt;br /&gt;
| [[The Dragon&amp;#039;s Claw]] - default addresses&lt;br /&gt;
| Rockwell 6522 VIA - 16 registers, base address can be changed to FF90, FFA0 or FFB0 with a wire link&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF90-FF9F&lt;br /&gt;
| [[The Dragon&amp;#039;s Claw]] - alternate addresses&lt;br /&gt;
| Rockwell 6522 VIA - 16 registers, base address can be changed to FF90, FFA0 or FFB0 with a wire link&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FF90-91&lt;br /&gt;
| MooH&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FFA0-FFAF&lt;br /&gt;
| [[The Dragon&amp;#039;s Claw]] - alternate addresses&lt;br /&gt;
| Rockwell 6522 VIA - 16 registers, base address can be changed to FF90, FFA0 or FFB0 with a wire link&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FFA0-FFAF&lt;br /&gt;
| MooH&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FFB0-FFBF&lt;br /&gt;
| [[The Dragon&amp;#039;s Claw]] - alternate addresses&lt;br /&gt;
| Rockwell 6522 VIA - 16 registers, base address can be changed to FF90, FFA0 or FFB0 with a wire link&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FFC0-FFD9&lt;br /&gt;
| All Dragons&lt;br /&gt;
| SAM Control bits (see below)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FFE0&lt;br /&gt;
| Compusense [[Dragon Plus]]&lt;br /&gt;
| 6845 control register ([https://archive.worldofdragon.org/phpBB3/download/file.php?id=4675])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FFE1&lt;br /&gt;
| Compusense [[Dragon Plus]]&lt;br /&gt;
| 6845 data register&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| FFE2&lt;br /&gt;
| Compusense [[Dragon Plus]]&lt;br /&gt;
| Memory bank register  &amp;amp; status of 6845 display&lt;br /&gt;
|&lt;br /&gt;
* Bits 1-2 : select 32K bank (00 = standard lower 32K ; 01= bank A ; 11 = bank B)&lt;br /&gt;
* Read bit 0 : 0=video display available (i.e. blanking) / 1=video display not available (not blanking)&lt;br /&gt;
* Write bit 0: 1=select video RAM in the lower 2K&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SAM CONTROL BITS ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
65472/7 FFC0/5  VDG Control Registers for 6883 SAM&lt;br /&gt;
                Contains 3 pairs of addresses (V0-V2), and&lt;br /&gt;
                poking any value to EVEN addresses sets Bit&lt;br /&gt;
                Off(0) in VDG circuitry. Poking value to ODD&lt;br /&gt;
                addresses set Bit ON(1) in 6847 VDG circuit&lt;br /&gt;
65472/3 FFC0/1  Control of Bit 0 (V0)&lt;br /&gt;
65474/5 FFC2/3                 1 (V1)&lt;br /&gt;
65476/7 FFC4/5                 2 (V2)&lt;br /&gt;
65478/91        Page Select Register contains 7 pairs of&lt;br /&gt;
        FFC6/D3 (F0-F6) control Display Start address (Bin)&lt;br /&gt;
                Address os upper left most display element=&lt;br /&gt;
                0000+1/2*OFFSET. Poking any value to even&lt;br /&gt;
                addresses sets Bit OFF (0) in Page select.&lt;br /&gt;
                Poking any value to ODD addresses sets Bit&lt;br /&gt;
                ON(1) in Page Select Circuitry.&lt;br /&gt;
                Also BASEPAGE is set by converting binary&lt;br /&gt;
                value of F  (Bits F0 to F6) to decimal and&lt;br /&gt;
                multiplying this decimal number by 512.&lt;br /&gt;
65478/9 FFC6/7  Control of Bit 0 (F0)&lt;br /&gt;
65480/1 FFC8/9                 1 (F1)&lt;br /&gt;
65482/3 FFCA/B                 2 (F2)&lt;br /&gt;
65484/5 FFCC/D                 3 (F3)&lt;br /&gt;
65486/7 FFCE/F                 4 (F4)&lt;br /&gt;
65488/9 FFD0/1                 5 (F5)&lt;br /&gt;
65490/1 FFD2/3                 6 (F6)&lt;br /&gt;
&lt;br /&gt;
65492/3 FFD4/5  Page #1 P1 control of Bit 7: (F7) 0=Normal&lt;br /&gt;
65494/7 FFD6/9  Clock Speed (R0-R1) Poking any value to even&lt;br /&gt;
                addresses sets Bit OFF (0). Poking any value&lt;br /&gt;
                to ODD addresses sets bit ON (1).&lt;br /&gt;
65494/5 FFD6/7  Control of Bit R0&lt;br /&gt;
65496/7 FFD8/9  Control of Bit R1&lt;br /&gt;
                R0=0, R1=0 (slow mode defa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MPU VECTORS ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
65522/3 FFF2/3  SWI 3 Vector mapped to 49138/9 BFF2/3&lt;br /&gt;
65524/5 FFF4/5  SWI 2 vector           49140/1 BFF4/5&lt;br /&gt;
65526/7 FFF6/7  FIRQ  vector           49142/3 BFF6/7&lt;br /&gt;
65528/9 FFF8/9  IRQ   vector           49144/5 BFF8/9&lt;br /&gt;
65530/1 FFFA/B  SWI 1 vector           49146/7 BFFA/B&lt;br /&gt;
65532/3 FFFC/D  NMI   vector           49148/9 BFFC/D&lt;br /&gt;
65534/5 FFFE/F  RESET vector           49150/1 BFFE/F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Tape%5CDisk_Preservation&amp;diff=9794</id>
		<title>Tape\Disk Preservation</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Tape%5CDisk_Preservation&amp;diff=9794"/>
		<updated>2021-09-29T21:31:40Z</updated>

		<summary type="html">&lt;p&gt;Polluks: /* BAS  CAS  WAV */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Community info on how to preserve existing tape and disk software - conversion from native Dragon to PC formats - WAV, CAS, VDK, DMK, conversion between formats and restoration back to physical media)&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
=== WAV/VOC to CAS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;XROAR&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Currently the preferred method is the XROAR emulator, this can be using to output the byte stream that its virtual ADC reads from a WAV file as the tape loads (CLOAD/CLOADM). Because this method is using an emulated ADC and the actual Dragon ROM routines to read the &amp;quot;tape&amp;quot; the success ratio for conversion is much higher.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dragon Convert for Windows (DCWIN)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
DCWIN is a Windows application that can perform conversions of 8-bit WAV files to CAS format for use with emulators. Its method and style of operation is broadly similar to DC (see below) together with additional options and enhancements for preserving and restoring leaders. It has a graphical user interface and requires the .NET framework version 3.5 (which is supplied with Windows 7 and can also be installed on Windows XP, Windows Vista and Windows Server 2003/2008).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dragon Convert (DC)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Dragon Convert (DC) is the original tool for converting Dragon and Coco cassette data between a range of different file formats.&lt;br /&gt;
It&amp;#039;s designed for MS-DOS and has always been packaged with the PC-Dragon emulator series. The following notes are taken from the supplied &amp;#039;&amp;#039;Reference Manual&amp;#039;&amp;#039;...&lt;br /&gt;
&lt;br /&gt;
Where the input to Dragon Convert is a WAV or VOC file the audio information is  scanned  for  Dragon cassette data and converted to a  virtual  cassette file.  The  output filename is derived from the Dragon filename rather than the input filename.&lt;br /&gt;
&lt;br /&gt;
During conversion Dragon Convert displays a counter to show the progress in converting  the files. If the cassette programs conform to the  conventional Dragon  cassette format then the filenames and load/execution  addresses of binary  files are listed as the programs are encountered. All of  the  files contained in a single input file will be placed in a single output file.&lt;br /&gt;
 &lt;br /&gt;
If  Dragon Convert detects a loading error in the WAV or VOC file  then  you are given the option to abort the conversion, retry a block, or proceed with the  conversion ignoring the error. If you choose to ignore errors then  the converted file is unlikely to be usable, although several programs do  exist which deliberately contain errors.&lt;br /&gt;
 &lt;br /&gt;
If  you choose to retry a block then the current conversion parameters  (see below)  appear  so that different parameters may be entered.  Type  the  new values  at the prompt or press RETURN to leave a parameter unchanged. Dragon Convert  then  attempts  to load the block using the new  parameter  values. There  is, of course, no advantage to be gained by retrying a block  without adjusting either of the parameters.&lt;br /&gt;
 &lt;br /&gt;
Dragon  Convert  will normally assume that the sampled file  begins  with  a leader, and will initially seek the leader to synchronise with the data.  In cases  where  a leader is not present this may cause data to be  missed.  To avoid this give the /L option on the command line to disable the feature.&lt;br /&gt;
 &lt;br /&gt;
Although  Dragon  Convert is designed to work with data in the  conventional Dragon  cassette  format  it may also be used with  cassettes  which  use  a proprietary  format. For such programs specify /R on the  command  line  and Dragon  Convert will scan the input as a raw bit stream. This results  in  a file  called CASSETTE.CAS. When Dragon Convert is used with this option  the display  shows only the number of bytes converted and loading errors  cannot be reported.&lt;br /&gt;
 &lt;br /&gt;
The following actions may be taken if you suffer from loading errors:&lt;br /&gt;
 &lt;br /&gt;
* Use  the  highest available sampling rate for your sound card.  At           least 22KHz is required.&lt;br /&gt;
           &lt;br /&gt;
* The  amplitude  of  the  input data should  comfortably  span  the           available range. Increase the input volume if necessary.&lt;br /&gt;
           &lt;br /&gt;
* It  is a good idea to clean up the wave form before presenting  it           for  conversion.  Try  cutting any white space  before  the  first           program block and omitting any noisy parts of the leaders.&lt;br /&gt;
           &lt;br /&gt;
* MS-Windows  software (Eg. Creative Wave Studio)  usually  produces           better results than MS-DOS based software.&lt;br /&gt;
           &lt;br /&gt;
* The wavelength amplitude threshold may be specified on the command           line using the /Wn option. For a 44KHz sample a threshold of 29 to           31 is usually correct. For 22KHz files the value of n should be in           the range 12 to 15.&lt;br /&gt;
           &lt;br /&gt;
* The  relative volume of the wave form may be specified  using  the           /Sn command line option, where 0 &amp;lt; n &amp;lt; 126.&lt;br /&gt;
           &lt;br /&gt;
You  can abort the operation of Dragon Convert in the middle of a conversion by pressing the CTRL key.&lt;br /&gt;
&lt;br /&gt;
=== CAS to WAV ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dragon Convert for Windows (DCWIN)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
DCWIN can be used to convert cassette files to WAV format in a similar way to DC (see below). The size of file that can be converted is limited only by the available memory to buffer the WAV file (unlike the MS-DOS version which cannot be used for CAS files of 64KB or greater).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dragon Convert (DC)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A  secondary  use  of Dragon Convert (DC.EXE) is to convert cassette  files  back  to digital audio format so that they can be written to cassette and loaded into a  real  machine. When converting to audio format the cassette file  is  not examined  thereby  enabling  any  file type  or  proprietary  format  to  be converted.  To  use  Dragon  Convert for this  purpose  simply  specify  the filename of a cassette file when you start the program.&lt;br /&gt;
 &lt;br /&gt;
By  default  a  44KHz  WAV file will result. This gives  very  high  quality playback  but  requires more than 8Mb of hard disk space for  a  32K  Dragon file.  You  can  therefore optionally specify /22 on  the  command  line  to request a 22KHz output file (or /11 for 11KHz).&lt;br /&gt;
&lt;br /&gt;
If the CAS file has sufficient SYNC bytes (see CAS Format below) then the resultant WAV can be loaded by a real Dragon 32/64. Some of the older CAS files with truncated SYNC bytes can be rescued using the FIXCAS.EXE tool that attempts to insert the appropriate number of missing SYNC bytes into the CAS file.&lt;br /&gt;
&lt;br /&gt;
=== BAS ↔ CAS ↔ WAV ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PyDC - Python Dragon 32 converter&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
PyDC is a OpenSource (GPL) Python script to convert between .bas ↔ .cas ↔ .wav in every variation.&lt;br /&gt;
&lt;br /&gt;
More information here: https://github.com/jedie/PyDragon32/tree/master/PyDC&lt;br /&gt;
&lt;br /&gt;
=== CAS -&amp;gt; BAS ===&lt;br /&gt;
&lt;br /&gt;
Quick tool for converting Dragon CAS format to readable text of basic listing:&lt;br /&gt;
&lt;br /&gt;
https://bitbucket.org/jimbro1000/cas2bas/src/master/&lt;br /&gt;
&lt;br /&gt;
=== Disk to VDK ===&lt;br /&gt;
&lt;br /&gt;
Using and old PC with a 5.25 inch drive and a DOS environment, the VCOPY.EXE tool can be used to copy some common Dragon disk formats to .VDK files.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Making DragonDos disk images under Linux&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
This will allow you to make RAW images of DragonDos disks, you will need to add/remove the VDK header to allow them to be used with an emulator. For most of this you will need to be logged in as root. Firstly you need to add the following lines to the end of your /etc/fdprm&lt;br /&gt;
&lt;br /&gt;
DragonDos 40 track disk in 80 track drive (eg 1.2M). for 40 track in 40 track drive, set the 6th column to 0 instead of 1 (like the 80 track formats below !).&lt;br /&gt;
&lt;br /&gt;
ddosSS40         360     9   1  40    1 0x2A 0x39 0xDF     0x50&lt;br /&gt;
&lt;br /&gt;
ddosDS40         720     9   2  40    1 0x2A 0x39 0xDF     0x50&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DragonDos 80 track disks in an 80 track drive (eg 720K,1.2M,1.44M)&lt;br /&gt;
&lt;br /&gt;
ddosSS80         720     9   1  80    0 0x2A 0x39 0xDF     0x50&lt;br /&gt;
&lt;br /&gt;
ddosDS80        1440     9   2  80    0 0x2A 0x39 0xDF     0x50&lt;br /&gt;
&lt;br /&gt;
Then change to the directory that you want to create the image in and type :- setfdprm /dev/fd0 ddosSS40&lt;br /&gt;
Replace /dev/fd0 with the name of the floppy drive you are using, and ddosSS40 with the name of the format you want to use in this case a single sided 40 track disk.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The parameters set by setfdprm must be set AFTER the disk has been inserted into the drive, and will need to be set FOR EACH subsiquent disk, don&amp;#039;t say you have not been warned :)&lt;br /&gt;
&lt;br /&gt;
To actually create the image type :- dd if=/dev/fd0 count=360 of=dragon.img&lt;br /&gt;
Replace /dev/fd0 with the name of the floppy you are using, and dragon.img with the name of the file you want to create. Count, should be replaced with the first number after the disk type (second column), from /etc/fdprm, this is the size of the disk in 512 byte blocks.&lt;br /&gt;
&lt;br /&gt;
You can also write a raw disk image to a preformatted DragonDos disk with :- dd if=dragon.img count=360 of=/dev/fd0&lt;br /&gt;
Parameters as described above in reading the disks.&lt;br /&gt;
&lt;br /&gt;
You will then need to add/remove the VDK header - a set of tools is available to help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disk to JVC ===&lt;br /&gt;
&lt;br /&gt;
Linux - dd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JVC to VDK ===&lt;br /&gt;
&lt;br /&gt;
Perl Tool to add VDK header&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VDK to JVC ===&lt;br /&gt;
&lt;br /&gt;
Perl Tool to remove VDK header&lt;br /&gt;
&lt;br /&gt;
=== VDK to Disk ===&lt;br /&gt;
&lt;br /&gt;
Using and old PC with a 5.25 inch drive and a DOS environment, the VCOPY.EXE tool can be used to copy some common Dragon disk formats from .VDK files to disks. The disks must have been formatted in a real Dragon first....&lt;br /&gt;
&lt;br /&gt;
=== JVC to Disk ===&lt;br /&gt;
&lt;br /&gt;
Linux - dd&lt;br /&gt;
&lt;br /&gt;
=== Dumping ROMS ===&lt;br /&gt;
&lt;br /&gt;
The PC-Dragon &amp;#039;&amp;#039;Reference Manual&amp;#039;&amp;#039; provides the following advice for dumping ROMs...&lt;br /&gt;
&lt;br /&gt;
There  are  several  ways to transfer your ROM for use with  Dragon emulators.  The method  suggested  here  is to use the Dragon  Convert  utility  to transfer  the  ROM  in  the same way as cassettes. An alternative method would be to place the ROM in an EEPROM reader connected to a PC and dump the contents to a file.&lt;br /&gt;
 &lt;br /&gt;
The procedure for transfer via cassette and the Dragon Convert utility is as follows:&lt;br /&gt;
 &lt;br /&gt;
     1)  Boot up your Dragon 32, Dragon 64 or Tandy CoCo.&lt;br /&gt;
          &lt;br /&gt;
     2)  Ready  your  tape  recorder for recording  and  commit  the  ROM  to&lt;br /&gt;
          cassette by typing:&lt;br /&gt;
          &lt;br /&gt;
                      CSAVEM &amp;quot;DRAGROM&amp;quot;, &amp;amp;H8000, &amp;amp;HBFFF, 0&lt;br /&gt;
                                       &lt;br /&gt;
         If  you  have a Tandy CoCo you may optionally use the name  TANDYROM&lt;br /&gt;
          rather than DRAGROM.&lt;br /&gt;
          &lt;br /&gt;
     3)  Boot  up  your  PC  and SoundBlaster Pro wave form editor  software.&lt;br /&gt;
          Sample  the cassette recorded in step 2 into a file. Alternatively,&lt;br /&gt;
          use  the  parallel cable and the ReadVoc utility.  A  large  output&lt;br /&gt;
          file should result.&lt;br /&gt;
          &lt;br /&gt;
     4)  Now use Dragon Convert to extract the cassette data. Type:&lt;br /&gt;
          &lt;br /&gt;
                                  DC  DRAGROM&lt;br /&gt;
                                       &lt;br /&gt;
         Please  don&amp;#039;t  expect the conversion to work on the  first  attempt.&lt;br /&gt;
          You  are  likely to need to adjust the command line switches  until&lt;br /&gt;
          you  find  a combination which is suited to your hardware.  If  you&lt;br /&gt;
          still  have no success then you may wish to try repeating  step  3.&lt;br /&gt;
          Upon successful conversion the file DRAGROM.CAS will be created.&lt;br /&gt;
          &lt;br /&gt;
     5)  Now  use  Dragon  Convert again to convert the cassette  data  to  a&lt;br /&gt;
          cartridge file. Type:&lt;br /&gt;
          &lt;br /&gt;
                              DC  /D  DRAGROM.CAS&lt;br /&gt;
                                       &lt;br /&gt;
         This should produce the file DRAGROM.DGN in the current directory.&lt;br /&gt;
          &lt;br /&gt;
     6)  If  you  have  a  Dragon  64 then you may optionally  also  wish  to&lt;br /&gt;
          transfer  the 64K version of the Dragon ROM. This will  enable  you&lt;br /&gt;
          to  use  the emulator in 64K BASIC mode. The procedure to  transfer&lt;br /&gt;
          this  second  ROM  is much as before. Boot up your  Dragon  64  and&lt;br /&gt;
          switch  to  64K mode by typing `EXEC 48000&amp;#039;. Now commit the  second&lt;br /&gt;
          ROM to cassette by typing:&lt;br /&gt;
          &lt;br /&gt;
                      CSAVEM &amp;quot;D64ROM2&amp;quot;, &amp;amp;HC000, &amp;amp;HFEFF, 0&lt;br /&gt;
                                       &lt;br /&gt;
         Transfer  this  file  to  your PC by using the  procedure  described&lt;br /&gt;
          before  in  steps 3 to 5. This time the result should be  the  file&lt;br /&gt;
          D64ROM2.DGN.&lt;br /&gt;
          &lt;br /&gt;
&lt;br /&gt;
== File Formats ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CAS File Format ===&lt;br /&gt;
&lt;br /&gt;
The CAS file format was originally created for the PC-Dragon emulator and is one way of representing programs or data stored on Dragon cassette tapes.  The CAS file format comes in two flavours, the most usual and default format is modelled after how the Dragon actually stores data on cassettes, optionally with truncated leader bytes to minimise the file size.  The alternate format is simply the RAW bit stream and was only used for games that did not conform to the standard tape format (an early form of copy protection). &lt;br /&gt;
&lt;br /&gt;
The standard &amp;#039;&amp;#039;Dragon&amp;#039;&amp;#039; tape format is:&lt;br /&gt;
&lt;br /&gt;
1. A leader block of $55 multiplied by the 16 bit number in location $90:91 (default 128). 2. A namefile block. 3. A blank section of tape for processing of the namefile block. 4. Another leader block of $90:91 bytes of $55 5. One or more data blocks. 6. An end-of-file block. &lt;br /&gt;
&lt;br /&gt;
A header block, data block or EOF file block consists of: &lt;br /&gt;
&lt;br /&gt;
1. A leader byte - $55&lt;br /&gt;
2. A sync byte - $3C&lt;br /&gt;
3. A block type byte: &lt;br /&gt;
                      00=namefile block&lt;br /&gt;
                      01=data block&lt;br /&gt;
                      FF=end-of-file block&lt;br /&gt;
4. A block length byte (0-255)&lt;br /&gt;
&lt;br /&gt;
5. 0-255 bytes of data. For a namefile block this consists of:&lt;br /&gt;
     5.1 An 8 byte program name&lt;br /&gt;
     5.2 A file ID byte where:&lt;br /&gt;
         00=BASIC program&lt;br /&gt;
         01=Data file&lt;br /&gt;
         02=Binary file&lt;br /&gt;
     5.3 An ASCII flag where:&lt;br /&gt;
         00=Binary file&lt;br /&gt;
         FF=ASCII file&lt;br /&gt;
     5.4 A gap flag to indicate whether the&lt;br /&gt;
         data stream is continuous (00) as&lt;br /&gt;
         in binary or BASIC files, or in blocks&lt;br /&gt;
         where the tape keeps stopping (FF) as&lt;br /&gt;
         in data files.&lt;br /&gt;
     5.5 Two bytes for the default EXEC address&lt;br /&gt;
         of a binary file.&lt;br /&gt;
     5.6 Two bytes for the default load address&lt;br /&gt;
         of a binary file.&lt;br /&gt;
&lt;br /&gt;
For a data block, this consists of the actual data to load/save and there is no data associated with an EOF block. &lt;br /&gt;
&lt;br /&gt;
6. A checksum byte which is: sum of all the data bytes + block type + block length.&lt;br /&gt;
&lt;br /&gt;
7. A trailer byte - $55&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first byte of a CAS file must be $55 for identification purposes. The first block of a standard format CAS file should be a namefile block, and the last block is usually an EOF block. Some games used copy protection where the number of blocks to be loaded did not match the number specified in the file header and a fake EOF block was included so that a simple copy of the file would result in a truncated file (other similar mechanisms skipped blocks or used non-standard block types).&lt;br /&gt;
&lt;br /&gt;
Note that standard format CAS files may omit leaders.  If leaders are required, use the FIXCAS utility to add leaders to more closely resemble the true Dragon cassette tape format.  Since the standard format CAS file is a fairly simple representation of the data stream read from a tape after demodulation and decoding of the audio signals, certain properties of cassette tapes cannot be reproduced, e.g. gaps of silence (at least one game loader uses this as a copy protection mechanism that needs the RAW format of CAS to work - although this doesn&amp;#039;t store silence it does store noise in those gaps).&lt;br /&gt;
&lt;br /&gt;
The above description makes it pretty easy to create CAS files.  Reading CAS files can be a bit more difficult though.  Data is actually represented as a stream of bits on cassette tapes, and the Dragon uses different audio signals to represent different bit values.  When decoding such an audio signal into a bit stream and creating a CAS file, the structure described above might not align to byte boundaries in the CAS file (this can occur when using DC, although DCWIN does synchronise bitstream conversions to byte boundaries).  Especially the leader may not be decoded to an integral number of bytes.  To make matters even worse, both leaders and sync bytes may contain noise and still be readable.  A robust CAS file reader must take this into account.&lt;br /&gt;
&lt;br /&gt;
For an example of a RAW format CAS file exhibiting both byte misalignment and leader noise, see [http://archive.worldofdragon.org/archive/index.php?dir=Tapes/cas/&amp;amp;file=Beyond%20Software%20-%20Kriegspiel.zip Beyond Software&amp;#039;s Kriegspiel] (last modified 2009-01-04) in the download area.&lt;br /&gt;
&lt;br /&gt;
== Cue extension ==&lt;br /&gt;
This is an extension to the format, created by robcfg and polished and implemented on Xroar by sixxie.&lt;br /&gt;
&lt;br /&gt;
The idea is to add missing information about wave frequencies and silence between blocks to preserve the original structure of the tape and support custom loaders and protection schemes that rely on different frequencies or periods of silence in strategic places.&lt;br /&gt;
&lt;br /&gt;
It also allows exporting the cas file as wav with proper frequencies and silences.&lt;br /&gt;
&lt;br /&gt;
The extension adds a chunk of data at the end of a standard cas file so that it&amp;#039;s completely backwards compatible.&lt;br /&gt;
&lt;br /&gt;
The format of the extra data is as follows:&lt;br /&gt;
&lt;br /&gt;
1. Cue data start marker (4 bytes). Value is &amp;#039;[CUE&amp;#039; in ascii and 0x5B435545 in hex.&lt;br /&gt;
&lt;br /&gt;
2. Cue data blocks.&lt;br /&gt;
Cue data is stored in blocks with a standard format:&lt;br /&gt;
&lt;br /&gt;
     Type (1 byte)&lt;br /&gt;
     Size (variable-length uint31, see below for explanation)&lt;br /&gt;
     Data&lt;br /&gt;
&lt;br /&gt;
Currently there are 3 types of blocks, with the possibility of adding more.&lt;br /&gt;
&lt;br /&gt;
     0xF0 Timing (4 bytes). Contains two uint16 values. The frequencies in Hz of the 0 bit and the 1 bit.&lt;br /&gt;
     0x00 Silence (2 bytes). Contains silence duration in ms as an uint16.&lt;br /&gt;
     0x0D Data (8 bytes). Start and end offsets of a block of data on the cas file as two uint32 values.&lt;br /&gt;
&lt;br /&gt;
3. Cue data start offset. An uint32, which is the offset on the cas file of the cue data start marker.&lt;br /&gt;
&lt;br /&gt;
4. Cue data end marker (&amp;#039;CUE]&amp;#039; in ascii and 0x4355455D in hex).&lt;br /&gt;
&lt;br /&gt;
This is done to make easy to detect the extended cas files by checking the last 4 bytes of the file for the &amp;#039;CUE]&amp;#039; marker and if found, read the offset of the cue data start.&lt;br /&gt;
&lt;br /&gt;
The block size is stored as variable-length uint31, which is defined as follows:&lt;br /&gt;
&lt;br /&gt;
     * 7-bit        0nnnnnnn&lt;br /&gt;
     * 14-bit       10nnnnnn nnnnnnnn&lt;br /&gt;
     * 21-bit       110nnnnn nnnnnnnn nnnnnnnn&lt;br /&gt;
     * 28-bit       1110nnnn nnnnnnnn nnnnnnnn nnnnnnnn&lt;br /&gt;
     * 31-bit       11110XXX Xnnnnnnn nnnnnnnn nnnnnnnn nnnnnnnn&lt;br /&gt;
&lt;br /&gt;
Leading 1 bits in initial byte determine number of additional bytes required.&lt;br /&gt;
&lt;br /&gt;
Example files and original discussion of the format can be found on [http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=8&amp;amp;t=5621 this thread].&lt;br /&gt;
&lt;br /&gt;
=== JVC/DSK File Format ===&lt;br /&gt;
&lt;br /&gt;
A disk format created by Jeff Vavasour for his Tandy emulator series, this is the simplest disk image format.  It consists of an optional header followed by the DATA portion of each disk sector in order of track, then side, then sector number.&lt;br /&gt;
&lt;br /&gt;
Taken from [http://tlindner.macmess.org/?page_id=86 Tim Lindner&amp;#039;s JVC format documentation], the header is as follows:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Byte Offset !!Description           !!Default&lt;br /&gt;
|-&lt;br /&gt;
|0           ||Sectors per track     ||18&lt;br /&gt;
|-&lt;br /&gt;
|1           ||Side count            ||1&lt;br /&gt;
|-&lt;br /&gt;
|2           ||Sector size code      ||1&lt;br /&gt;
|-&lt;br /&gt;
|3           ||First sector ID       ||1&lt;br /&gt;
|-&lt;br /&gt;
|4           ||Sector attribute flag ||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sector size code indicates sector is (128 &amp;lt;&amp;lt; &amp;#039;&amp;#039;n&amp;#039;&amp;#039;) bytes long.  The default of 1 means a sector size of 256 bytes.&lt;br /&gt;
&lt;br /&gt;
The sector attribute flag indicates that each sector is preceeded by an attribute byte.  This contains which bits would be set in the WD279x status field after a read sector command, and can indicate record type, record not found and CRC error.&lt;br /&gt;
&lt;br /&gt;
The presence of the sector attribute flag confuses things slightly, as if it is set, suddenly the header size is the file size modulo 257 instead of modulo 256.&lt;br /&gt;
&lt;br /&gt;
=== VDK File Format ===&lt;br /&gt;
&lt;br /&gt;
The VDK file format was introduced for the PC-Dragon emulator (v2.05) as an evolution of original work by Stewart Orchard. Similar to the JVC/DSK format, this format contains a header followed by a raw dump of sector data.  Data is in track, then side, then sector number order.&lt;br /&gt;
&lt;br /&gt;
Complete header information from the source code:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Byte Offset !!Description&lt;br /&gt;
|-&lt;br /&gt;
|0, 1        ||&amp;#039;d&amp;#039;, &amp;#039;k&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|2, 3        ||Header size (little-endian)&lt;br /&gt;
|-&lt;br /&gt;
|4           ||Version of VDK format&lt;br /&gt;
|-&lt;br /&gt;
|5           ||Backwards compatibility version&lt;br /&gt;
|-&lt;br /&gt;
|6           ||Identity of file source&lt;br /&gt;
|-&lt;br /&gt;
|7           ||Version of file source&lt;br /&gt;
|-&lt;br /&gt;
|8           ||Number of tracks&lt;br /&gt;
|-&lt;br /&gt;
|9           ||Number of sides&lt;br /&gt;
|-&lt;br /&gt;
|10          ||Flags&lt;br /&gt;
|-&lt;br /&gt;
|11          ||Compression flags and name length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== DMK File Format ===&lt;br /&gt;
&lt;br /&gt;
A file format created by David Keil, carrying a lot more information about the underlying structure of the disk.  Almost every piece of information that can be reported to the WD279x is recorded.&lt;br /&gt;
&lt;br /&gt;
[http://www.trs-80.com/wordpress/emulation-dmk-format/ DMK Format Documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Software]] [[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Category:XRoar&amp;diff=9793</id>
		<title>Category:XRoar</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Category:XRoar&amp;diff=9793"/>
		<updated>2021-09-29T21:22:54Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Created page with &amp;quot;Supported by XRoar emulator.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Supported by XRoar emulator.&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Joysticks&amp;diff=9792</id>
		<title>Joysticks</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Joysticks&amp;diff=9792"/>
		<updated>2021-09-29T21:21:56Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pictures of Dragon joysticks and boxes&lt;br /&gt;
&lt;br /&gt;
== Boxes ==&lt;br /&gt;
[[File:TwoJoystickControllers-front.jpg|300px]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:DragonJoystickBox1.JPG|300px]]&lt;br /&gt;
[[File:DragonJoystickBox2.JPG|300px]]&lt;br /&gt;
[[File:DragonJoystickBox3.JPG|300px]]&lt;br /&gt;
&lt;br /&gt;
== Joysticks ==&lt;br /&gt;
[[File:TwoJoystickControllers-hardware.jpg|300px]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:DragonJoystick1.JPG|300px]]&lt;br /&gt;
[[File:DragonJoystick2.JPG|300px]]&lt;br /&gt;
[[File:DragonJoystick3.JPG|300px]]&lt;br /&gt;
&lt;br /&gt;
[[Category:XRoar]] [[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=XROAR&amp;diff=9791</id>
		<title>XROAR</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=XROAR&amp;diff=9791"/>
		<updated>2021-09-29T20:56:34Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Redirected page to XRoar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[XRoar]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=XRoar&amp;diff=9790</id>
		<title>XRoar</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=XRoar&amp;diff=9790"/>
		<updated>2021-09-29T20:52:45Z</updated>

		<summary type="html">&lt;p&gt;Polluks: Created page with &amp;quot;XRoar is a cross-platform Dragon emulator.  http://www.6809.org.uk/xroar/  Category:XRoar Category:Software&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XRoar is a cross-platform Dragon emulator.&lt;br /&gt;
&lt;br /&gt;
http://www.6809.org.uk/xroar/&lt;br /&gt;
&lt;br /&gt;
[[Category:XRoar]] [[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Froglet&amp;diff=9789</id>
		<title>Froglet</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Froglet&amp;diff=9789"/>
		<updated>2021-09-29T20:31:53Z</updated>

		<summary type="html">&lt;p&gt;Polluks: /* Screenshots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|{{Infobox Game&lt;br /&gt;
|Image = [[File:Froglet_Screenshot01.png|300px|Titleimage from the game]]&lt;br /&gt;
|Gamenumber = &lt;br /&gt;
|Company = &lt;br /&gt;
|Developer = [[B Parkin]],[[V Parkin]]&lt;br /&gt;
|Publisher = [[CRL]]&lt;br /&gt;
|Musician = &lt;br /&gt;
|Release = [[:Category:Game_1983|1983]]&lt;br /&gt;
|Platform = [[Dragon 32]] or [[Dragon 64]]&lt;br /&gt;
|Genre = Arcade&lt;br /&gt;
|Gamemode = 1P&lt;br /&gt;
|Operation = {{Keyboard}}&lt;br /&gt;
|Media = {{Cassette}}&lt;br /&gt;
|Language = {{EN}} &lt;br /&gt;
|Info = &lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A Frogger clone by [[CRL]].&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=300 heights=225&amp;gt;&lt;br /&gt;
Image:Froglet_Screenshot02.png|Froglet on [[XRoar]]&lt;br /&gt;
Image:Froglet_Screenshot03.jpg|Froglet on real Dragon&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Packaging ==&lt;br /&gt;
&lt;br /&gt;
[[File:Froglet_Inlay_Front.jpg|300px|Inlay Front]]&lt;br /&gt;
[[File:Froglet_Inlay_Back.jpg|300px|Inlay Back]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Froglet_Tape.jpg|300px|Cassette]]&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Tapes/Dragon/cas/&amp;amp;file=Froglet%20%281983%29%28CRL%29%5B%21%5D.zip Froglet] (Zipped .CAS file)&lt;br /&gt;
&lt;br /&gt;
[[Category:Games]] [[Category:Game_Online]] [[Category:Game_1983]] [[Category:Arcade]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Repository&amp;diff=9788</id>
		<title>Repository</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Repository&amp;diff=9788"/>
		<updated>2021-09-29T20:30:18Z</updated>

		<summary type="html">&lt;p&gt;Polluks: /* ToolShed */ MorphOS port&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are many Software projects around 6809, Dragon and CoCo ...&lt;br /&gt;
&lt;br /&gt;
Here a link collection of theses:&lt;br /&gt;
&lt;br /&gt;
=== ToolShed ===&lt;br /&gt;
&lt;br /&gt;
ToolShed is a package of utilities to perform cross-development from Windows, Linux or Mac OS X computers to the Tandy Color Computer and Dragon microcomputers. Tools are included to read/write both OS-9 RBF disk images and CoCo Disk BASIC disk images, generate cassette WAV files and more.&lt;br /&gt;
&lt;br /&gt;
* Webpage: http://toolshed.sourceforge.net&lt;br /&gt;
* Project page: http://sourceforge.net/projects/toolshed/&lt;br /&gt;
* Sourcecode repo: http://sourceforge.net/p/toolshed/code/&lt;br /&gt;
* MorphOS port: http://aminet.net/package/dev/cross/ToolShed&lt;br /&gt;
&lt;br /&gt;
=== LWTOOLS ===&lt;br /&gt;
&lt;br /&gt;
LWTOOLS is a set of cross-development tools for the Motorola 6809 and Hitachi 6309 microprocessors. It supports assembling to raw binaries, CoCo LOADM binaries, and a proprietary object file format for later linking. It also supports macros and file inclusion among other things.&lt;br /&gt;
&lt;br /&gt;
* Project page / Sourcecode: http://lwtools.projects.l-w.ca/&lt;br /&gt;
&lt;br /&gt;
=== M6809 computer tools ===&lt;br /&gt;
&lt;br /&gt;
Stuff for the M6809-based Dragon and similar computers.&lt;br /&gt;
&lt;br /&gt;
* https://gitorious.org/m6809-computer-tools&lt;br /&gt;
&lt;br /&gt;
==== conv-tools ====&lt;br /&gt;
Various conversion tools for e.g. cassette and disk binary formats.&lt;br /&gt;
* https://gitorious.org/m6809-computer-tools/conv-tools&lt;br /&gt;
&lt;br /&gt;
==== dload-dragon ====&lt;br /&gt;
Patched DLOAD command for Dragon 32. Uses HDB-DOS DriveWire routines to talk serial on the Dragon printer port.&lt;br /&gt;
* https://gitorious.org/m6809-computer-tools/dload-dragon&lt;br /&gt;
&lt;br /&gt;
==== dload-server ====&lt;br /&gt;
A server for the DLOAD protocol, to be run on the host computer. Originally written by Burt Mitchell and ported to UNIX by Bryan Clingman.&lt;br /&gt;
* https://gitorious.org/m6809-computer-tools/dload-server&lt;br /&gt;
&lt;br /&gt;
=== m6809 ===&lt;br /&gt;
Motorola 6809 dev tools: Linux packages &amp;#039;&amp;#039;&amp;#039;xroar&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;lwtools&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;toolshed&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* https://launchpad.net/~tormodvolden/+archive/ubuntu/m6809&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;6809&amp;#039; GitHub organization ===&lt;br /&gt;
Stuff around 6809 CPU and homecomputers like Dragon 32/64, CoCo...&lt;br /&gt;
* https://github.com/6809/&lt;br /&gt;
&lt;br /&gt;
==== DwLoadServer ====&lt;br /&gt;
DWLOAD server implemented in Python &lt;br /&gt;
* https://github.com/6809/DwLoadServer&lt;br /&gt;
&lt;br /&gt;
==== dragonlib ====&lt;br /&gt;
Python library around 6809 computers like Dragon 32/64, CoCo... &lt;br /&gt;
* https://github.com/6809/dragonlib&lt;br /&gt;
&lt;br /&gt;
==== sbc09 ====&lt;br /&gt;
sbc09 stands for Lennart Benschop 6809 Single Board Computer.&lt;br /&gt;
It contains a assembler and simulator for the Motorola M6809 processor.&lt;br /&gt;
* https://github.com/6809/sbc09&lt;br /&gt;
&lt;br /&gt;
==== rom-info ====&lt;br /&gt;
Collected Informations/Comments for 6809 ROM Images like Dragon 32 / 64 etc... &lt;br /&gt;
* https://github.com/6809/rom-info&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NitrOS-9 ===&lt;br /&gt;
[[NitrOS-9]] is an open-source OS-9 variant for Dragon and Tandy CoCo&lt;br /&gt;
* Webpage: http://www.nitros9.org/&lt;br /&gt;
* Project page: http://sourceforge.net/projects/nitros9/&lt;br /&gt;
* Sourcecode repo: http://sourceforge.net/p/nitros9/code/&lt;br /&gt;
&lt;br /&gt;
=== FUZIX ===&lt;br /&gt;
A new UNIX-like operating system for 8-bit computers, including Dragon and Tandy CoCo &lt;br /&gt;
* https://github.com/EtchedPixels/FUZIX&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Missing links? Just edit this page and insert it ;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:6809]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Importing_images_into_the_Dragon&amp;diff=9787</id>
		<title>Importing images into the Dragon</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Importing_images_into_the_Dragon&amp;diff=9787"/>
		<updated>2021-09-29T20:24:49Z</updated>

		<summary type="html">&lt;p&gt;Polluks: /* Step 4 : Displaying Image */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial shows how to convert an image on your PC to a .CAS file that you can load in your emulator, or convert it to a .WAV file so you can load it in your real Dragon machine.&lt;br /&gt;
&lt;br /&gt;
== Step 1 : Preparing your image ==&lt;br /&gt;
&lt;br /&gt;
First, choose the image you&amp;#039;d like to convert. I&amp;#039;ve chosen this one:&lt;br /&gt;
&lt;br /&gt;
[[file:Spacecouv1_dry.JPG|250px]]&lt;br /&gt;
&lt;br /&gt;
Which is a wonderful art by ELLioT (http://www.elliotek.net).&lt;br /&gt;
&lt;br /&gt;
First, we rotate the image 90 degrees to the left to fit the screen better.&lt;br /&gt;
&lt;br /&gt;
Then, we crop the image from 800x554 to 738x554 to keep the 4:3 aspect ratio of the TV or monitor screen.&lt;br /&gt;
&lt;br /&gt;
If you&amp;#039;d like to have your image in PMODE4 (256x192 2 colors), you have to scale the image to 256x192, convert it to grayscale image and then to black and white bitmap (choose the dithering method you like most).&lt;br /&gt;
You should get an image like this:&lt;br /&gt;
&lt;br /&gt;
[[file:PMODE4_RAW.gif]]&lt;br /&gt;
&lt;br /&gt;
Please remember to convert it back to grayscale image (with an 1:1 ratio) before saving, as Photoshop doesn&amp;#039;t allow to save 1 bit raw images and the Raw2PMODE4 tool is designed to deal with each pixel as a byte.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the other hand, if you&amp;#039;d like your image in PMODE3 (128x192 4 colors), you have to scale the image to 128x192 and convert it to indexed color with one of the two palettes for this mode. You&amp;#039;ll find the palette information in the downloads section below.&lt;br /&gt;
With this procedure, you should get an image like this:&lt;br /&gt;
&lt;br /&gt;
[[file:PMODE3_RAW.gif]]&lt;br /&gt;
&lt;br /&gt;
Now, you only have to save your image as .RAW file with no header. If everything&amp;#039;s gone ok, your PMODE4 image should be 49152 bytes in size, or 24576 bytes if the image was processed as PMODE3.&lt;br /&gt;
&lt;br /&gt;
== Step 2 : Packing the data in Dragon format ==&lt;br /&gt;
&lt;br /&gt;
The Dragon computer packs 8 pixels per byte in PMODE4 and 4 pixels per byte in PMODE3. So, the .RAW files must be packed according to the PMODE in which you&amp;#039;d like to display them.&lt;br /&gt;
&lt;br /&gt;
This is done by using the tools Raw2PMODE3 or Raw2PMODE4, which can be downloaded below.&lt;br /&gt;
&lt;br /&gt;
Their usage is quite easy. To convert a PMODE4 raw image, type &amp;quot;&amp;#039;&amp;#039;&amp;#039;Raw2PMODE4 image.raw&amp;#039;&amp;#039;&amp;#039;&amp;quot;, and to convert a PMODE3 raw image, type &amp;quot;&amp;#039;&amp;#039;&amp;#039;Raw2PMODE3 image.raw&amp;#039;&amp;#039;&amp;#039;&amp;quot;. This will create a packed file in the correct format with extension .PM4 or .PM3 (depending on the tool used).&lt;br /&gt;
&lt;br /&gt;
== Step 3 : Converting the image to .CAS or .WAV file ==&lt;br /&gt;
&lt;br /&gt;
This step is super easy too.&lt;br /&gt;
&lt;br /&gt;
You only need to use the DrBinCas tool (see the downloads section below) to generate the final file you need to see your image.&lt;br /&gt;
&lt;br /&gt;
Just type &amp;quot;&amp;#039;&amp;#039;&amp;#039;DrBinCas image.PM3 name 1536 1536&amp;#039;&amp;#039;&amp;#039;&amp;quot; or &amp;quot;&amp;#039;&amp;#039;&amp;#039;DrBinCas image.PM4 name 1536 1536&amp;#039;&amp;#039;&amp;#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example, if we want the image to have the name &amp;quot;SPACE&amp;quot; in the .CAS file, you should type &amp;quot;&amp;#039;&amp;#039;&amp;#039;DrBinCas image.PM4 SPACE 1536 1536&amp;#039;&amp;#039;&amp;#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To convert the .CAS file to a .WAV file, use the DC.EXE utility. Download link below.&lt;br /&gt;
&lt;br /&gt;
== Step 4 : Displaying Image ==&lt;br /&gt;
&lt;br /&gt;
Now that you have your .CAS or .WAV file, you can load it in your favorite emulator or your Dragon with this simple program:&lt;br /&gt;
&lt;br /&gt;
For PMODE4 images:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 10 PMODE 4,1:SCREEN 1,1&lt;br /&gt;
 20 PCLS&lt;br /&gt;
 30 CLOADM&lt;br /&gt;
 40 GOTO 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For PMODE3 images:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 10 PMODE 3,1:SCREEN 1,0&lt;br /&gt;
 20 PCLS&lt;br /&gt;
 30 CLOADM&lt;br /&gt;
 40 GOTO 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The converted images should look like this on the [[XRoar]] emulator:&amp;lt;br&amp;gt;&lt;br /&gt;
[[file:PMODE4_FINAL.GIF|256px]][[file:PMODE3_FINAL.GIF|256px]]&lt;br /&gt;
&lt;br /&gt;
And that&amp;#039;s it. I hope you&amp;#039;ll find this tutorial helpful. You can find the palettes and utilities right below.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* Utilities, palettes and source code: http://www.mediafire.com/?a32y1uvcd3ep228&lt;br /&gt;
* PMODE3 Palettes (RGB Values):&lt;br /&gt;
                    0 - Blue (0,0,255 or 0x0000FF)&lt;br /&gt;
                    1 - Green (0,255,0 or 0x00FF00)&lt;br /&gt;
                    2 - Yellow (255,255,0 or 0xFFFF00)&lt;br /&gt;
                    3 - Red (255,0,0 or 0xFF0000)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
                    0 - Magenta (255,0,255 or 0xFF00FF)&lt;br /&gt;
                    1 - Cyan (0,255,255 or 0x00FFFF)&lt;br /&gt;
                    2 - Orange (255,166,0 or 0xFFA600)&lt;br /&gt;
                    3 - White (255,255,255 or 0xFFFFFF)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Software]] [[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Emulation&amp;diff=9786</id>
		<title>Emulation</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Emulation&amp;diff=9786"/>
		<updated>2021-09-29T20:20:17Z</updated>

		<summary type="html">&lt;p&gt;Polluks: MorphOS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you want to emulate a Dragon.....&lt;br /&gt;
&lt;br /&gt;
The most accurate modern Dragon 32 and Dragon 64 emulator is XRoar and this is available for many platforms direct from its homepage and has been ported to several other platforms. The next best solution is MESS which can also emulate the Project Alpha (Dragon Professional) and Project Beta machines, followed by the older MS-DOS based PC-Dragon II and T3 emulators.&lt;br /&gt;
&lt;br /&gt;
One emulator that I would love to see ported is Mocha - It is a Java based emulator of the Tandy CoCo 2 and allows you to play games within your web browser - Would love to have a Dragon version to host here with full access to all the software.&lt;br /&gt;
&lt;br /&gt;
Several emulators can be found in the [http://archive.worldofdragon.org/archive/index.php?dir=Emulators/ download section] of the archives.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
[http://www.6809.org.uk/dragon/xroar.shtml XRoar] &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[http://www.mamedev.org/release.html MAME] &amp;#039;&amp;#039;Dragon 32, Dragon 64, Project Alpha, Project Beta plus too many others to list&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=7&amp;amp;t=566 T3] &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo (designed for MS-DOS - includes some enhancements for Windows 95/98 - no virtual disc support and no sound under Windows NT/2000/XP onwards)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[http://www.zophar.net/coco.html PC-Dragon II] &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo (designed for MS-DOS - includes some enhancements for Windows 95/98 - no sound)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mac OS ==&lt;br /&gt;
&lt;br /&gt;
[http://www.6809.org.uk/dragon/xroar.shtml XRoar] &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[http://www.mamedev.org/release.html MAME] &amp;#039;&amp;#039;Dragon 32, Dragon 64, Project Alpha, Project Beta plus too many others to list&amp;#039;&amp;#039;,  formerly [http://rbelmont.mameworld.info/?page_id=163 SDLMESS], but merged into current MAME development&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Linux / Unix ==&lt;br /&gt;
&lt;br /&gt;
[http://www.6809.org.uk/dragon/xroar.shtml XRoar] &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[http://www.mamedev.org/release.html MAME] &amp;#039;&amp;#039;Dragon 32, Dragon 64, Project Alpha, Project Beta plus too many others to list&amp;#039;&amp;#039;,  formerly [http://rbelmont.mameworld.info/?page_id=163 SDLMESS], but merged into current MAME development&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Amiga ==&lt;br /&gt;
&lt;br /&gt;
=== Classic ===&lt;br /&gt;
&lt;br /&gt;
[http://aminet.net/package/misc/emu/dream102 DREaM] &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo (requires an Amiga with at least a 68020 processor - no virtual disc support)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== OS4 ===&lt;br /&gt;
&lt;br /&gt;
[http://hirudov.com/amiga/XRoar.html XRoar] &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== MorphOS ===&lt;br /&gt;
&lt;br /&gt;
[http://aminet.net/package/misc/emu/xroar XRoar] &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nintendo DS ==&lt;br /&gt;
&lt;br /&gt;
[http://www.6809.org.uk/dragon/xroar.shtml XRoar] &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PlayStation Portable ==&lt;br /&gt;
&lt;br /&gt;
[http://zx81.zx81.free.fr/serendipity/index.php?/categories/64-Tandy-Coco XRoar]  &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GP32 ==&lt;br /&gt;
&lt;br /&gt;
[http://www.6809.org.uk/dragon/xroar.shtml XRoar] &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GP2X ==&lt;br /&gt;
&lt;br /&gt;
[http://zx81.zx81.free.fr/serendipity/index.php?/categories/65-Tandy-Coco XRoar] &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dreamcast ==&lt;br /&gt;
&lt;br /&gt;
[http://www.dcemu.co.uk/vbulletin/showthread.php?t=59509 DragonDC (port of XRoar)] &amp;#039;&amp;#039;Dragon 32, Dragon 64 and Tandy CoCo&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
	<entry>
		<id>http://archive.worldofdragon.org/index.php?title=Dragon_Plus&amp;diff=9785</id>
		<title>Dragon Plus</title>
		<link rel="alternate" type="text/html" href="http://archive.worldofdragon.org/index.php?title=Dragon_Plus&amp;diff=9785"/>
		<updated>2021-09-29T20:00:41Z</updated>

		<summary type="html">&lt;p&gt;Polluks: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Dragon Plus was an add-inboard for the Dragon 32 or 64. It provided an additional 64KB of RAM and an 80 column text mode driven by an MC6845 with its own 2KB buffer. The board plugged into the SAM socket on the motherboard, with the SAM being placed on the Dragon Plus board and also required one of the BASIC roms to be moved to the Dragon Plus board with a ribbon cable plugging into the vacated socket. The 80 column display required an additional monitor socket to be provided on the Dragon case as this used its own composite video output circuit.&lt;br /&gt;
&lt;br /&gt;
There was also an IDE interface planned to allow connection of a hard disk drive - the 40-pin header for the IDE interface can be seen on the Dragon Plus circuit board, along with what appears to be space for a missing IC.&lt;br /&gt;
&lt;br /&gt;
A special version of Edit+ was available, along with drivers for OS-9 Level 1 and a special version of Flex. Both the OS-9 and Flex implementations used the additional 64KB as a RAM disk so the main OS ran completely from RAM, thus speeding up operating and allowing disk 0 to be changed. Both OS-9 and Flex also supported the use of the 80 column display.&lt;br /&gt;
&lt;br /&gt;
== PCB Pictures ==&lt;br /&gt;
[[File:DragonPlus_PCB_Top_Empty.jpg|300px]][[File:DragonPlus_PCB_Bottom_Empty.jpg|300px]][[File:DragonPlus_PCB_Top_Empty_Annotated.jpg|300px]][[File:DragonPlus_PCB_Empty.jpg|300px]][[File:DragonPlus_Clone_Mask_Bottom.jpg|300px]][[File:DragonPlus_Clone_Mask_Top.jpg|300px]][[File:DragonPlus_Clone_Mask_Composite.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Other Pictures ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:DragonPlus_Mounted.jpg|Mounted board&lt;br /&gt;
Image:DragonPlus Clone PCB Top Perspective.jpg|Clonic board&lt;br /&gt;
Image:DragonPlus_PCB_Top_Perspective02.jpg&lt;br /&gt;
Image:DragonPlus_Components.jpg&lt;br /&gt;
Image:DragonPlus_Components02.jpg&lt;br /&gt;
Image:DragonPlus_Diagrams01.jpg&lt;br /&gt;
Image:DragonPlus_Diagrams02.jpg&lt;br /&gt;
Image:DragonPlus_OS9Drivers.jpg&lt;br /&gt;
Image:DragonPlus_TechnicalInfo01.jpg&lt;br /&gt;
Image:DragonPlus_TechnicalInfo02.jpg&lt;br /&gt;
Image:DragonPlus_TechnicalInfo03.jpg&lt;br /&gt;
Image:DragonPlus_TechnicalInfo04.jpg&lt;br /&gt;
Image:DragonPlus_Charset.png|Character set&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advertisement ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Dragonplus.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Compusense%20-%20Dragon%20Plus%20-%20Chargen.zip Dragon Plus Character ROM] (zipped ROM file)&lt;br /&gt;
* [http://archive.worldofdragon.org/archive/index.php?dir=Roms/Dragon/&amp;amp;file=Compusense%20-%20Dragon%20Plus%20-%20PROM.zip Dragon Plus PROM] (zipped binary file)&lt;br /&gt;
&lt;br /&gt;
== Reproduction Boards ==&lt;br /&gt;
A near replica of these boards was launched in early 2019 by John Whitworth, with the approval of Ted Opyrchal, ex-MD of Compusense. The boards are functionally identical though they do not have the empty expansion pinout at the bottom, which was never utilised anyway. The boards can be purchased, in kit form, [https://www.dragonplus-electronics.co.uk/?product_cat=hardware here].&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
		
	</entry>
</feed>