<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.micromint.com/skins/common/feed.css?207"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Using CPLD/4 - Revision history</title>
		<link>https://wiki.micromint.com/index.php?title=Using_CPLD/4&amp;action=history</link>
		<description>Revision history for this page on the wiki</description>
		<language>en</language>
		<generator>MediaWiki 1.15.3</generator>
		<lastBuildDate>Sat, 11 Apr 2026 04:19:38 GMT</lastBuildDate>
		<item>
			<title>Support at 15:18, 21 June 2010</title>
			<link>https://wiki.micromint.com/index.php?title=Using_CPLD/4&amp;diff=731&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:18, 21 June 2010&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 224:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 224:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Moves the LCD cursor to the desired column and row to write a null terminated string.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Moves the LCD cursor to the desired column and row to write a null terminated string.&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;==LcdClear==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==LcdClear==&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Clear LCD display&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Clear LCD display&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-04-11 04:19:38 --&gt;
&lt;/table&gt;</description>
			<pubDate>Mon, 21 Jun 2010 15:18:31 GMT</pubDate>			<dc:creator>Support</dc:creator>			<comments>https://wiki.micromint.com/index.php/Talk:Using_CPLD/4</comments>		</item>
		<item>
			<title>Support:&amp;#32;Created page with '__TOC__ =Extended IO API= ==XioInit== Initializes SSI port.   Prototype:  void XioInit(void);    Description:  Setups SSI0 port for transmission to CPLD using 9-bit frames. Must …'</title>
			<link>https://wiki.micromint.com/index.php?title=Using_CPLD/4&amp;diff=730&amp;oldid=prev</link>
			<description>&lt;p&gt;Created page with &amp;#39;__TOC__ =Extended IO API= ==XioInit== Initializes SSI port.   Prototype:  void XioInit(void);    Description:  Setups SSI0 port for transmission to CPLD using 9-bit frames. Must …&amp;#39;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
=Extended IO API=&lt;br /&gt;
==XioInit==&lt;br /&gt;
Initializes SSI port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
void XioInit(void);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Setups SSI0 port for transmission to CPLD using 9-bit frames. Must be executed before any extended I/O functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==XioWrite==&lt;br /&gt;
Write one byte to an extended I/O port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long XioWrite(unsigned long port, unsigned long data);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
The default CPLD firmare implements ten 8-bit I/O ports XIO_PXA to XIO_PXJ and four internal 8-bit registers XIO_RXA to XIO_RXD. This function allows you to write data to any of those 14 locations.&lt;br /&gt;
 ==XioWriteBlock==&lt;br /&gt;
&lt;br /&gt;
Write a block of data to an extended I/O port &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long XioWriteBlock(unsigned long port, unsigned long* ptr, unsigned long count);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
This function allows you to write extended I/O data in blocks with better performance than byte per byte.&lt;br /&gt;
==XioRead==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Read a byte from an extended I/O port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long XioRead(unsigned long port);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Allows you to read any of the extended I/O ports (XIO_PXA to XIO_PXJ) or internal registers (XIO_RXA to XIO_RXD).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==XioReadBlock==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Read a block of data into a buffer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long XioReadBlock(unsigned long port, unsigned long* ptr, unsigned long count);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
This function allows you to read extended I/O data in blocks with better performance than byte per byte.&lt;br /&gt;
&lt;br /&gt;
==IsaInit==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Initialize PC/104 controller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
void IsaInit(void);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Initializes registers to allow the board to be a bus master over the PC/104 bus. Must be executed before other PC/104 functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==IsaWrite==&lt;br /&gt;
Write data to card at a specified I/O address&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long IsaWrite(unsigned long addr, unsigned long data);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Writes a byte of data to the expansion card at the specified address.&lt;br /&gt;
==IsaWriteBlock==&lt;br /&gt;
Write block of data to card at a specified I/O address&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long IsaWriteBlock(unsigned long addr, unsigned long* ptr, unsigned long count);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
This function allows you to write data to PC/104 cards in blocks with better performance than byte per byte.&lt;br /&gt;
==IsaRead==&lt;br /&gt;
Read data from card at a specified I/O address&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long IsaRead(unsigned long addr);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Reads a byte of data from the expansion card at the specified address.&lt;br /&gt;
==IsaReadBlock==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Read block of data from card at a specified I/O address&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long IsaReadBlock(unsigned long addr, unsigned long* ptr, unsigned long count);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
This function allows you to read from PC/104 cards in blocks with better performance than byte per byte.&lt;br /&gt;
==LcdInit==&lt;br /&gt;
Initialize HD44780 LCD Controller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
void LcdInit(void);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Initializes the LCD registers. Must be called before any other LCD function. &lt;br /&gt;
==LcdCommand==&lt;br /&gt;
Write command byte to LCD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long LcdCommand(unsigned long data);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Writes a command to the LCD. Can be used to send commands that are not supported by the current API.&lt;br /&gt;
==LcdWrite==&lt;br /&gt;
Write data byte to LCD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long LcdWrite(unsigned long data);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Writes a data byte to the current position in the LCD display. &lt;br /&gt;
==LcdWriteByte==&lt;br /&gt;
Write command byte to LCD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long LcdWriteByte(unsigned long data, unsigned long ctl);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Write data to the current position in the LCD display using specific control flags. This is a low level function that is normally not used from applications.&lt;br /&gt;
==LcdWriteStr==&lt;br /&gt;
Write string to LCD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long LcdWriteStr(char* str);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Writes a null terminated string to the current position in the LCD display.&lt;br /&gt;
==LcdGoTo==&lt;br /&gt;
Position LCD cursor assuming 20x4 display&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long LcdGoTo(unsigned long col, unsigned long row);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Moves the LCD cursor to the desired column and row.&lt;br /&gt;
==LcdWriteAt==&lt;br /&gt;
Write string to LCD at a specified coordinate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long LcdWriteAt(unsigned long col, unsigned long row, char* str)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Moves the LCD cursor to the desired column and row to write a null terminated string.&lt;br /&gt;
 ==LcdClear==&lt;br /&gt;
Clear LCD display&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long LcdClear(void);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Clears the contents of the LCD display.&lt;br /&gt;
==LcdDisplay==&lt;br /&gt;
Turn display on or off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long LcdDisplay(unsigned long val);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Makes the display data not visible. Data can still be written to the LCD display and it will be visible when the display is turned on.&lt;br /&gt;
==LcdCursor==&lt;br /&gt;
Turn cursor on or off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long LcdCursor(unsigned long val);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Makes a blinking cursor visible at the current display position. &lt;br /&gt;
==LcdBacklight==&lt;br /&gt;
Turn backlight on or off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prototype:&lt;br /&gt;
&lt;br /&gt;
unsigned long LcdBacklight(unsigned long val);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
&lt;br /&gt;
Turning backlight to improve visibility in dim environments. This will increase power requirements.&lt;/div&gt;</description>
			<pubDate>Mon, 21 Jun 2010 15:15:43 GMT</pubDate>			<dc:creator>Support</dc:creator>			<comments>https://wiki.micromint.com/index.php/Talk:Using_CPLD/4</comments>		</item>
	</channel>
</rss>