<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.davebiz.com/wiki/index.php?action=history&amp;feed=atom&amp;title=CoCoDEV_Pro</id>
		<title>CoCoDEV Pro - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.davebiz.com/wiki/index.php?action=history&amp;feed=atom&amp;title=CoCoDEV_Pro"/>
		<link rel="alternate" type="text/html" href="http://www.davebiz.com/wiki/index.php?title=CoCoDEV_Pro&amp;action=history"/>
		<updated>2026-04-16T20:41:51Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.davebiz.com/wiki/index.php?title=CoCoDEV_Pro&amp;diff=196&amp;oldid=prev</id>
		<title>Dave at 18:04, 15 August 2020</title>
		<link rel="alternate" type="text/html" href="http://www.davebiz.com/wiki/index.php?title=CoCoDEV_Pro&amp;diff=196&amp;oldid=prev"/>
				<updated>2020-08-15T18:04:50Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 18:04, 15 August 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The CoCoDEV Pro is a microprocessor hobbyist/experimenter's/development system board. Its microprocessor is an FPGA synthesis of the popular 8/16-bit [https://en.wikipedia.org/wiki/Motorola_6809 Motorola 6809 CPU]. The name &amp;quot;CoCoDEV&amp;quot; comes from its similarity to the [https://en.wikipedia.org/wiki/TRS-80_Color_Computer Tandy Color Computer&amp;#160; (aka CoCo)]. However, the CoCoDEV strays somewhat from the design of the Color Computer in that it does not focus upon graphics capabilities, games, and sound. Instead, it was designed to be an embedded controller of sorts allowing the user to control things that would have been difficult to control with the Color Computer. In doing so it has many features that are not present in the Color Computer. Among these are: real-time clock, WiFi module, UART hardware serial port, micro SD Card interface, [https://en.wikipedia.org/wiki/I²C I²C interface] and digital I/O lines. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The CoCoDEV Pro is a microprocessor hobbyist/experimenter's/development system board. Its microprocessor is an FPGA synthesis of the popular 8/16-bit [https://en.wikipedia.org/wiki/Motorola_6809 Motorola 6809 CPU]. The name &amp;quot;CoCoDEV&amp;quot; comes from its similarity to the [https://en.wikipedia.org/wiki/TRS-80_Color_Computer Tandy Color Computer&amp;#160; (aka CoCo)]. However, the CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;strays somewhat from the design of the Color Computer in that it does not focus upon graphics capabilities, games, and sound. Instead, it was designed to be an embedded controller of sorts allowing the user to control things that would have been difficult to control with the Color Computer. In doing so it has many features that are not present in the Color Computer. Among these are: real-time clock, WiFi module, UART hardware serial port, micro SD Card interface, [https://en.wikipedia.org/wiki/I²C I²C interface] and digital I/O lines. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Its similarity to the Color Computer makes it very familiar to anyone who has ever programmed in [https://en.wikipedia.org/wiki/BASIC BASIC] or 6809 machine language. In fact, it supports the stock Tandy BASIC ROMs (Color BASIC, Extended Color BASIC, Disk Color BASIC) and an authorized user can copy the stock ROMs to the onboard flash chip. Along with an included patch ROM, the original code is patched automatically at boot time to accommodate the new features of the board. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Its similarity to the Color Computer makes it very familiar to anyone who has ever programmed in [https://en.wikipedia.org/wiki/BASIC BASIC] or 6809 machine language. In fact, it supports the stock Tandy BASIC ROMs (Color BASIC, Extended Color BASIC, Disk Color BASIC) and an authorized user can copy the stock ROMs to the onboard flash chip. Along with an included patch ROM, the original code is patched automatically at boot time to accommodate the new features of the board. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In addition to appealing to Color Computer users, CoCoDEV also appeals to anyone wishing to develop an embedded system using a powerful 8-bit CPU which is simple and easy to use. Many small controllers that are popular today require a host system (Windows PC, Mac, Linux) for development. However, since the CoCoDEV supports a VGA-compatible display generator, connects to an inexpensive USB keyboard, and has a micro SD Card socket, the development can be hosted on the controller itself.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In addition to appealing to Color Computer users, CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;also appeals to anyone wishing to develop an embedded system using a powerful 8-bit CPU which is simple and easy to use. Many small controllers that are popular today require a host system (Windows PC, Mac, Linux) for development. However, since the CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;supports a VGA-compatible display generator, connects to an inexpensive USB keyboard, and has a micro SD Card socket, the development can be hosted on the controller itself.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CoCoDEV is a single board 6809 computer created in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;July &lt;/del&gt;of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;2019 &lt;/del&gt;by Dave Philipsen&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;. As of June 15, 2020 a limited quantity have been shipped to beta testers&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;is a single board 6809 computer created in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;August &lt;/ins&gt;of &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;2020 &lt;/ins&gt;by Dave Philipsen. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:CoCoDEV-2.jpeg|thumb|CoCoDEV revision B board in enclosure with top lid removed]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:CoCoDEV-2.jpeg|thumb|CoCoDEV revision B board in enclosure with top lid removed]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot; &gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== '''Design Objectives''' ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== '''Design Objectives''' ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The CoCoDEV board was designed primarily for those who are familiar with the architecture of the Tandy Color Computer but would like to migrate to a controller that is more easily interfaced to the real world. It is a single board computer with a synthesized 6809 core that runs either a modified version of Tandy's Disk Extended Color BASIC or the popular multi-user multi-tasking operating system, NitrOS9.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;board was designed primarily for those who are familiar with the architecture of the Tandy Color Computer but would like to migrate to a controller that is more easily interfaced to the real world. It is a single board computer with a synthesized 6809 core that runs either a modified version of Tandy's Disk Extended Color BASIC or the popular multi-user multi-tasking operating system, NitrOS9.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CoCoDEV allows the experimenter/hobbyist/developer to easily control lighting, relays, solenoids, robotics, LEDs, stepper motors, and many more things. There are many choices for programming options: Extended Color BASIC with customized CoCoDEV commands, BASIC09, Pascal, assembly language programming under DECB or NitrOS9, and C programming under NitrOS9. The unit will boot NitrOS9 Level II which is a multi-tasking, multi-user, process based real-time operating system with windowing.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;allows the experimenter/hobbyist/developer to easily control lighting, relays, solenoids, robotics, LEDs, stepper motors, and many more things. There are many choices for programming options: Extended Color BASIC with customized CoCoDEV commands, BASIC09, Pascal, assembly language programming under DECB or NitrOS9, and C programming under NitrOS9. The unit will boot NitrOS9 Level II which is a multi-tasking, multi-user, process based real-time operating system with windowing.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A memory management unit allows for programs or data areas larger than 64K and a flash memory chip is available for non-volatile storage. An I²C interface simplifies the connection of inexpensive peripherals.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A memory management unit allows for programs or data areas larger than 64K and a flash memory chip is available for non-volatile storage. An I²C interface simplifies the connection of inexpensive peripherals.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l25&quot; &gt;Line 25:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The core CPU of the CoCo3FPGA was designed in VHDL by Australian developer [http://members.optushome.com.au/jekent/FPGA.htm John Kent]. It runs at a bus speed of 25 MHz with no wait states imposed upon memory access. Thus, it is about 28x as fast as a CoCo 1/2 or 14x as fast as a CoCo 3 running in double-speed mode.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The core CPU of the CoCo3FPGA was designed in VHDL by Australian developer [http://members.optushome.com.au/jekent/FPGA.htm John Kent]. It runs at a bus speed of 25 MHz with no wait states imposed upon memory access. Thus, it is about 28x as fast as a CoCo 1/2 or 14x as fast as a CoCo 3 running in double-speed mode.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;512K &lt;/del&gt;Static RAM ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;2MB &lt;/ins&gt;Static RAM ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:IS61LV25616.jpeg|thumb|Fast 10ns Static RAM]]The board has &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;512KB &lt;/del&gt;of fast (10 ns) static RAM. The 6809 processor runs at 25 MHz bus speed and is able to access the RAM without wait states. Additionally, the video subsystem accesses the same RAM by interleaving its access with the processor on opposite phases of the clock. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:IS61LV25616.jpeg|thumb|Fast 10ns Static RAM]]The board has &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;2MB &lt;/ins&gt;of fast (10 ns) static RAM. The 6809 processor runs at 25 MHz bus speed and is able to access the RAM without wait states. Additionally, the video subsystem accesses the same RAM by interleaving its access with the processor on opposite phases of the clock. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since the 6809 processor has only 16 address lines it can only access up to 64KB of memory. To make use of the full &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;512KB &lt;/del&gt;of SRAM the CoCoDEV board uses a Memory Management Unit (MMU) with the same characteristics of the MMU on the CoCo 3. The MMU allows the mapping of any of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sixty&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;four &lt;/del&gt;8K blocks of memory to any of eight 8K 'slots' in the CPU's 64K address space. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since the 6809 processor has only 16 address lines it can only access up to 64KB of memory. To make use of the full &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;2MB &lt;/ins&gt;of SRAM the CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;board uses a Memory Management Unit (MMU) with the same characteristics of the MMU on the CoCo 3. The MMU allows the mapping of any of &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;two hundred fifty&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;six &lt;/ins&gt;8K blocks of memory to any of eight 8K 'slots' in the CPU's 64K address space. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;4MB &lt;/del&gt;Flash Memory ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;16MB &lt;/ins&gt;Flash Memory ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Instead of using bulky parallel EPROM memory for the firmware, CoCoDEV uses a compact serial flash chip with an SPI interface. The chip requires only three I/O lines compared to a 2764 or 27256 EPROM that would require at least 23 I/O lines. When the board is initially powered up the firmware is copied from the flash memory into the system RAM. Configuration options allow either the Disk Extended Color BASIC firmware with its associated patches to be loaded or the NitrOS9 operating system. Modifications could be made so that other operating systems could be loaded as well. Two new OS9 utilities are available to read and write data files to the flash chip; GETFLASH and PUTFLASH.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Instead of using bulky parallel EPROM memory for the firmware, CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;uses a compact serial flash chip with an SPI interface. The chip requires only three I/O lines compared to a 2764 or 27256 EPROM that would require at least 23 I/O lines. When the board is initially powered up the firmware is copied from the flash memory into the system RAM. Configuration options allow either the Disk Extended Color BASIC firmware with its associated patches to be loaded or the NitrOS9 operating system. Modifications could be made so that other operating systems could be loaded as well. Two new OS9 utilities are available to read and write data files to the flash chip; GETFLASH and PUTFLASH.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In addition to containing the firmware the flash memory can also contain up to 20 BASIC programs, an OS9 rescue disk, configuration parameters, etc.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In addition to containing the firmware the flash memory can also contain up to 20 BASIC programs, an OS9 rescue disk, configuration parameters, etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l39&quot; &gt;Line 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Industry Standard VGA ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Industry Standard VGA ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The CoCoDEV has a high density female DB15 connector for VGA video output. RGB video signals as well as horizontal and vertical synchronization signals are all available on the connector. The video should drive any modern monitor designed for analog VGA. The VDG generates the video with a 25 MHz dot clock with 640 pixels of horizontal resolution and 480 lines of vertical resolution. Currently, the only mode of operation is a semi-graphics text mode using a eight pixel (horizontal) by sixteen pixel (vertical) character block. This allows for an addressable display using eighty columns and 30 rows. The video system has a color density of 8 bits configured in the common 3-3-2 (RGB) format. In theory, this allows up to 256 colors on screen at once.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;has a high density female DB15 connector for VGA video output. RGB video signals as well as horizontal and vertical synchronization signals are all available on the connector. The video should drive any modern monitor designed for analog VGA. The VDG generates the video with a 25 MHz dot clock with 640 pixels of horizontal resolution and 480 lines of vertical resolution. Currently, the only mode of operation is a semi-graphics text mode using a eight pixel (horizontal) by sixteen pixel (vertical) character block. This allows for an addressable display using eighty columns and 30 rows. The video system has a color density of 8 bits configured in the common 3-3-2 (RGB) format. In theory, this allows up to 256 colors on screen at once.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:CoCoDEV-VGA.jpeg|thumb|CoCoDEV VGA display (NitrOS9)]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:CoCoDEV-VGA.jpeg|thumb|CoCoDEV VGA display (NitrOS9)]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l46&quot; &gt;Line 46:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 46:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== PS/2 Keyboard Interface ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== PS/2 Keyboard Interface ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:USB-to-PS2.jpeg|thumb|USB to PS/2 adapter]]A female USB 'A' connector allows a standard PC keyboard to be used with CoCoDEV. Any USB keyboard that supports fallback to the PS/2 standard will work. Alternatively a keyboard with a PS/2 6-pin mini-Din connector could be used with an inexpensive USB-to-PS/2 adapter.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:USB-to-PS2.jpeg|thumb|USB to PS/2 adapter]]A female USB 'A' connector allows a standard PC keyboard to be used with CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro&lt;/ins&gt;. Any USB keyboard that supports fallback to the PS/2 standard will work. Alternatively a keyboard with a PS/2 6-pin mini-Din connector could be used with an inexpensive USB-to-PS/2 adapter.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== DC Power Supply ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== DC Power Supply ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The CoCoDEV is powered by a DC power supply which can range anywhere from 6 volts to 32 volts. A 6.5mm x 3.0mm barrel connector accepts the voltage. Two onboard regulators supply 5 volts and 3.3 volts for various peripherals and these voltages are also available to the experimenter/developer via the expansion interface.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;is powered by a DC power supply which can range anywhere from 6 volts to 32 volts. A 6.5mm x 3.0mm barrel connector accepts the voltage. Two onboard regulators supply 5 volts and 3.3 volts for various peripherals and these voltages are also available to the experimenter/developer via the expansion interface.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Serial Port ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Serial Port ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l59&quot; &gt;Line 59:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 59:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== WiFi ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== WiFi ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:WiFi.jpeg|thumb|USB to PS/2 adapter]]An ESP8266-01 module is included with the CoCoDEV to allow simple internet access. The module uses the popular ZiModem firmware. The default baud rate is 115,200 but it has been tested successfully to 921,600.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:WiFi.jpeg|thumb|USB to PS/2 adapter]]An ESP8266-01 module is included with the CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;to allow simple internet access. The module uses the popular ZiModem firmware. The default baud rate is 115,200 but it has been tested successfully to 921,600.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== SD Card ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== SD Card ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l72&quot; &gt;Line 72:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 72:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A NitrOS9 driver has been developed to take advantage of the RTC as well as support from within BASIC using the TIME$ string to return a packet with time and date information. NitrOS9 utilities also exist for reading and writing to the EEPROM.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A NitrOS9 driver has been developed to take advantage of the RTC as well as support from within BASIC using the TIME$ string to return a packet with time and date information. NitrOS9 utilities also exist for reading and writing to the EEPROM.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== '''NitrOS9 Utilities for CoCoDEV''' ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== '''NitrOS9 Utilities for CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro&lt;/ins&gt;''' ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== WGET ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== WGET ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l121&quot; &gt;Line 121:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 121:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Putflash is a utility used to write data to the flash memory chip on&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Putflash is a utility used to write data to the flash memory chip on&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CoCoDEV. The chip is a Winbond W25Q32 device. The minimum chunk of flash&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro&lt;/ins&gt;. The chip is a Winbond W25Q32 device. The minimum chunk of flash&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;memory which can be erased is 4 kilobytes. Therefore, the putflash utility&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;memory which can be erased is 4 kilobytes. Therefore, the putflash utility&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;works with blocks of 4k. The usage syntax is:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;works with blocks of 4k. The usage syntax is:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l145&quot; &gt;Line 145:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 145:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== micro SD Card image file ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== micro SD Card image file ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;An image file to create a bootable NitrOS9 system for CoCoDEV may be found [http://www.davebiz.com/CoCoDEV_files/4GB-CoCoDEV.img here]. I use [https://sourceforge.net/projects/win32diskimager/files/latest/download Win32DiskImager] to transfer the image to the micro SD card.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;An image file to create a bootable NitrOS9 system for CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;may be found [http://www.davebiz.com/CoCoDEV_files/4GB-CoCoDEV.img here]. I use [https://sourceforge.net/projects/win32diskimager/files/latest/download Win32DiskImager] to transfer the image to the micro SD card.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== '''Documentation''' ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== '''Documentation''' ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CoCoDEV documentation is a work in progress. You may download the current draft copy of the&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CoCoDEV &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro &lt;/ins&gt;documentation is a work in progress. You may download the current draft copy of the&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;documentation [http://www.davebiz.com/CoCoDEV_files/CoCoDEV-documentation-draft.pdf here].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;documentation [http://www.davebiz.com/CoCoDEV_files/CoCoDEV-documentation-draft.pdf here].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dave</name></author>	</entry>

	<entry>
		<id>http://www.davebiz.com/wiki/index.php?title=CoCoDEV_Pro&amp;diff=195&amp;oldid=prev</id>
		<title>Dave: Created page with &quot;The CoCoDEV Pro is a microprocessor hobbyist/experimenter's/development system board. Its microprocessor is an FPGA synthesis of the popular 8/16-bit [https://en.wikipedia.org...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.davebiz.com/wiki/index.php?title=CoCoDEV_Pro&amp;diff=195&amp;oldid=prev"/>
				<updated>2020-08-15T17:41:36Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;The CoCoDEV Pro is a microprocessor hobbyist/experimenter&amp;#039;s/development system board. Its microprocessor is an FPGA synthesis of the popular 8/16-bit [https://en.wikipedia.org...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The CoCoDEV Pro is a microprocessor hobbyist/experimenter's/development system board. Its microprocessor is an FPGA synthesis of the popular 8/16-bit [https://en.wikipedia.org/wiki/Motorola_6809 Motorola 6809 CPU]. The name &amp;quot;CoCoDEV&amp;quot; comes from its similarity to the [https://en.wikipedia.org/wiki/TRS-80_Color_Computer Tandy Color Computer  (aka CoCo)]. However, the CoCoDEV strays somewhat from the design of the Color Computer in that it does not focus upon graphics capabilities, games, and sound. Instead, it was designed to be an embedded controller of sorts allowing the user to control things that would have been difficult to control with the Color Computer. In doing so it has many features that are not present in the Color Computer. Among these are: real-time clock, WiFi module, UART hardware serial port, micro SD Card interface, [https://en.wikipedia.org/wiki/I²C I²C interface] and digital I/O lines. &lt;br /&gt;
&lt;br /&gt;
Its similarity to the Color Computer makes it very familiar to anyone who has ever programmed in [https://en.wikipedia.org/wiki/BASIC BASIC] or 6809 machine language. In fact, it supports the stock Tandy BASIC ROMs (Color BASIC, Extended Color BASIC, Disk Color BASIC) and an authorized user can copy the stock ROMs to the onboard flash chip. Along with an included patch ROM, the original code is patched automatically at boot time to accommodate the new features of the board. &lt;br /&gt;
&lt;br /&gt;
In addition to appealing to Color Computer users, CoCoDEV also appeals to anyone wishing to develop an embedded system using a powerful 8-bit CPU which is simple and easy to use. Many small controllers that are popular today require a host system (Windows PC, Mac, Linux) for development. However, since the CoCoDEV supports a VGA-compatible display generator, connects to an inexpensive USB keyboard, and has a micro SD Card socket, the development can be hosted on the controller itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CoCoDEV is a single board 6809 computer created in July of 2019 by Dave Philipsen. As of June 15, 2020 a limited quantity have been shipped to beta testers.&lt;br /&gt;
&lt;br /&gt;
[[File:CoCoDEV-2.jpeg|thumb|CoCoDEV revision B board in enclosure with top lid removed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Design Objectives''' ==&lt;br /&gt;
&lt;br /&gt;
The CoCoDEV board was designed primarily for those who are familiar with the architecture of the Tandy Color Computer but would like to migrate to a controller that is more easily interfaced to the real world. It is a single board computer with a synthesized 6809 core that runs either a modified version of Tandy's Disk Extended Color BASIC or the popular multi-user multi-tasking operating system, NitrOS9.&lt;br /&gt;
&lt;br /&gt;
CoCoDEV allows the experimenter/hobbyist/developer to easily control lighting, relays, solenoids, robotics, LEDs, stepper motors, and many more things. There are many choices for programming options: Extended Color BASIC with customized CoCoDEV commands, BASIC09, Pascal, assembly language programming under DECB or NitrOS9, and C programming under NitrOS9. The unit will boot NitrOS9 Level II which is a multi-tasking, multi-user, process based real-time operating system with windowing.&lt;br /&gt;
&lt;br /&gt;
A memory management unit allows for programs or data areas larger than 64K and a flash memory chip is available for non-volatile storage. An I²C interface simplifies the connection of inexpensive peripherals.&lt;br /&gt;
&lt;br /&gt;
== '''Features''' ==&lt;br /&gt;
&lt;br /&gt;
=== MC6809 core ===&lt;br /&gt;
&lt;br /&gt;
The core CPU of the CoCo3FPGA was designed in VHDL by Australian developer [http://members.optushome.com.au/jekent/FPGA.htm John Kent]. It runs at a bus speed of 25 MHz with no wait states imposed upon memory access. Thus, it is about 28x as fast as a CoCo 1/2 or 14x as fast as a CoCo 3 running in double-speed mode.&lt;br /&gt;
&lt;br /&gt;
=== 512K Static RAM ===&lt;br /&gt;
&lt;br /&gt;
[[File:IS61LV25616.jpeg|thumb|Fast 10ns Static RAM]]The board has 512KB of fast (10 ns) static RAM. The 6809 processor runs at 25 MHz bus speed and is able to access the RAM without wait states. Additionally, the video subsystem accesses the same RAM by interleaving its access with the processor on opposite phases of the clock. &lt;br /&gt;
&lt;br /&gt;
Since the 6809 processor has only 16 address lines it can only access up to 64KB of memory. To make use of the full 512KB of SRAM the CoCoDEV board uses a Memory Management Unit (MMU) with the same characteristics of the MMU on the CoCo 3. The MMU allows the mapping of any of sixty-four 8K blocks of memory to any of eight 8K 'slots' in the CPU's 64K address space. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4MB Flash Memory ===&lt;br /&gt;
&lt;br /&gt;
Instead of using bulky parallel EPROM memory for the firmware, CoCoDEV uses a compact serial flash chip with an SPI interface. The chip requires only three I/O lines compared to a 2764 or 27256 EPROM that would require at least 23 I/O lines. When the board is initially powered up the firmware is copied from the flash memory into the system RAM. Configuration options allow either the Disk Extended Color BASIC firmware with its associated patches to be loaded or the NitrOS9 operating system. Modifications could be made so that other operating systems could be loaded as well. Two new OS9 utilities are available to read and write data files to the flash chip; GETFLASH and PUTFLASH.&lt;br /&gt;
&lt;br /&gt;
In addition to containing the firmware the flash memory can also contain up to 20 BASIC programs, an OS9 rescue disk, configuration parameters, etc.&lt;br /&gt;
&lt;br /&gt;
=== Industry Standard VGA ===&lt;br /&gt;
&lt;br /&gt;
The CoCoDEV has a high density female DB15 connector for VGA video output. RGB video signals as well as horizontal and vertical synchronization signals are all available on the connector. The video should drive any modern monitor designed for analog VGA. The VDG generates the video with a 25 MHz dot clock with 640 pixels of horizontal resolution and 480 lines of vertical resolution. Currently, the only mode of operation is a semi-graphics text mode using a eight pixel (horizontal) by sixteen pixel (vertical) character block. This allows for an addressable display using eighty columns and 30 rows. The video system has a color density of 8 bits configured in the common 3-3-2 (RGB) format. In theory, this allows up to 256 colors on screen at once.&lt;br /&gt;
&lt;br /&gt;
[[File:CoCoDEV-VGA.jpeg|thumb|CoCoDEV VGA display (NitrOS9)]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PS/2 Keyboard Interface ===&lt;br /&gt;
&lt;br /&gt;
[[File:USB-to-PS2.jpeg|thumb|USB to PS/2 adapter]]A female USB 'A' connector allows a standard PC keyboard to be used with CoCoDEV. Any USB keyboard that supports fallback to the PS/2 standard will work. Alternatively a keyboard with a PS/2 6-pin mini-Din connector could be used with an inexpensive USB-to-PS/2 adapter.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DC Power Supply ===&lt;br /&gt;
&lt;br /&gt;
The CoCoDEV is powered by a DC power supply which can range anywhere from 6 volts to 32 volts. A 6.5mm x 3.0mm barrel connector accepts the voltage. Two onboard regulators supply 5 volts and 3.3 volts for various peripherals and these voltages are also available to the experimenter/developer via the expansion interface.&lt;br /&gt;
&lt;br /&gt;
=== Serial Port ===&lt;br /&gt;
&lt;br /&gt;
A LVTTL (3.3v) serial port is available on a four-pin header. The serial port supports data rates to 1,000,000 bits-per-second with no handshaking.&lt;br /&gt;
&lt;br /&gt;
=== WiFi ===&lt;br /&gt;
&lt;br /&gt;
[[File:WiFi.jpeg|thumb|USB to PS/2 adapter]]An ESP8266-01 module is included with the CoCoDEV to allow simple internet access. The module uses the popular ZiModem firmware. The default baud rate is 115,200 but it has been tested successfully to 921,600.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SD Card ===&lt;br /&gt;
&lt;br /&gt;
A micro-SD card socket is provided for mass storage. The card may be used for data logging, program storage, audio clips, etc. and may be formatted for either DECB, NitrOS9, or both. A patch to Disk BASIC allows the card to be used in place of the traditional floppy drives. With a modification of the DRIVE command, multiple virtual floppy drives (up to 1000) may be mounted to any of the four drive positions (DRIVE 0-3) in BASIC.&lt;br /&gt;
&lt;br /&gt;
NitrOS9 supports partitions on the SD card of up to 4GB when using 32-sector clusters or 128MB when using single-sector clusters. The SD card operates on an SPI interface with a clock speed of 25 MHz. The OS9 megaread utility benchmarks an 8GB Transcend Micro SD card at 3.15 seconds for a 1 megabyte transfer or about 325kB/sec.&lt;br /&gt;
&lt;br /&gt;
=== Real Time Clock ===&lt;br /&gt;
&lt;br /&gt;
The board includes an RTC module with battery backup. It is based upon the popular DS3231 chip. Also included with the module is 1K of EEPROM for storage of configuration variables.&lt;br /&gt;
A NitrOS9 driver has been developed to take advantage of the RTC as well as support from within BASIC using the TIME$ string to return a packet with time and date information. NitrOS9 utilities also exist for reading and writing to the EEPROM.&lt;br /&gt;
&lt;br /&gt;
== '''NitrOS9 Utilities for CoCoDEV''' ==&lt;br /&gt;
&lt;br /&gt;
=== WGET ===&lt;br /&gt;
&lt;br /&gt;
Wget is a utility that retrieves files from the internet. Its usage is:&lt;br /&gt;
&lt;br /&gt;
     wget &amp;lt;url&amp;gt;&lt;br /&gt;
     Where url is a complete URL to the file to be retrieved using the&lt;br /&gt;
     http protocol. File will be saved locally with same file name as&lt;br /&gt;
     in url. Example: wget davebiz.com/CoCoDEV.txt&lt;br /&gt;
     Retrieves CoCoDEV.txt file from server and saves it in the current&lt;br /&gt;
     working directory as CoCoDEV.txt&lt;br /&gt;
&lt;br /&gt;
=== WTRM ===&lt;br /&gt;
&lt;br /&gt;
Wtrm is a simple terminal program for NitrOS9 written specifically for the&lt;br /&gt;
WiFi module of CoCoDEV. &amp;lt;ESC&amp;gt; exits the program. Be aware that there is no&lt;br /&gt;
provision in WTRM for setting the baud rate. It uses the current baud rate &lt;br /&gt;
setting of the WiFi module. The WBAUD command described below can be used&lt;br /&gt;
to automatically detect the baud rate from a list of common baud rates and&lt;br /&gt;
set the UART to that baud rate. &lt;br /&gt;
&lt;br /&gt;
=== WBAUD ===&lt;br /&gt;
&lt;br /&gt;
Wbaud is a utility used to automatically find the baud rate setting of the &lt;br /&gt;
WiFi module and set the UART to the same baud rate. Common baud rates are:&lt;br /&gt;
 921,600&lt;br /&gt;
 750,000&lt;br /&gt;
 500,000&lt;br /&gt;
 460,800&lt;br /&gt;
 250,000&lt;br /&gt;
 230,400&lt;br /&gt;
 115,200&lt;br /&gt;
  57,600&lt;br /&gt;
  38,400&lt;br /&gt;
  19,200&lt;br /&gt;
   9,600&lt;br /&gt;
   4,800&lt;br /&gt;
   2,400&lt;br /&gt;
   1,200&lt;br /&gt;
     600&lt;br /&gt;
&lt;br /&gt;
=== PUTNV ===&lt;br /&gt;
&lt;br /&gt;
=== GETNV ===&lt;br /&gt;
&lt;br /&gt;
=== PUTFLASH ===&lt;br /&gt;
&lt;br /&gt;
Putflash is a utility used to write data to the flash memory chip on&lt;br /&gt;
CoCoDEV. The chip is a Winbond W25Q32 device. The minimum chunk of flash&lt;br /&gt;
memory which can be erased is 4 kilobytes. Therefore, the putflash utility&lt;br /&gt;
works with blocks of 4k. The usage syntax is:&lt;br /&gt;
&lt;br /&gt;
     putflash &amp;lt;filename&amp;gt; &amp;lt;start blk&amp;gt;&lt;br /&gt;
     Where &amp;lt;filename&amp;gt;. is the OS9 path to the file where the data&lt;br /&gt;
     will come from and &amp;lt;start blk&amp;gt; is the starting block number&lt;br /&gt;
     (in hex) in flash.&lt;br /&gt;
     Example: putflash test.bin 0A&lt;br /&gt;
&lt;br /&gt;
Putflash may be used to flash the stock Tandy BASIC ROMs as well as the PATCH&lt;br /&gt;
and BOOT files to the onboard flash memory.&lt;br /&gt;
&lt;br /&gt;
=== GETFLASH ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Latest Builds''' ==&lt;br /&gt;
&lt;br /&gt;
=== FPGA configuration file ===&lt;br /&gt;
&lt;br /&gt;
The latest configuration file may be found [http://www.davebiz.com/CoCoDEV_files/CoCoDEV-20-06-17.jic here]. Note that it is a JTAG indirect file (jic) and you will need an Altera USB Blaster or equivalent and you must have installed Quartus in order to re-program the FPGA.&lt;br /&gt;
&lt;br /&gt;
=== micro SD Card image file ===&lt;br /&gt;
&lt;br /&gt;
An image file to create a bootable NitrOS9 system for CoCoDEV may be found [http://www.davebiz.com/CoCoDEV_files/4GB-CoCoDEV.img here]. I use [https://sourceforge.net/projects/win32diskimager/files/latest/download Win32DiskImager] to transfer the image to the micro SD card.&lt;br /&gt;
&lt;br /&gt;
== '''Documentation''' ==&lt;br /&gt;
&lt;br /&gt;
CoCoDEV documentation is a work in progress. You may download the current draft copy of the&lt;br /&gt;
documentation [http://www.davebiz.com/CoCoDEV_files/CoCoDEV-documentation-draft.pdf here].&lt;/div&gt;</summary>
		<author><name>Dave</name></author>	</entry>

	</feed>