<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wikiti.brandonw.net/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wikiti.brandonw.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=195.56.94.233</id>
		<title>WikiTI - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wikiti.brandonw.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=195.56.94.233"/>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Special:Contributions/195.56.94.233"/>
		<updated>2026-04-05T23:57:58Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83:Ports:15</id>
		<title>83:Ports:15</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83:Ports:15"/>
				<updated>2005-04-03T08:25:31Z</updated>
		
		<summary type="html">&lt;p&gt;195.56.94.233: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 15h&lt;br /&gt;
&lt;br /&gt;
'''Function:''' Unknown&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
Always 254.&lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
This port doesn't seem to do anything.&lt;br /&gt;
&lt;br /&gt;
[[Category:83:Ports:By Address|15 - Unknown port]]&lt;br /&gt;
[[Category:83:Ports:By Name|Unknown port]]&lt;/div&gt;</summary>
		<author><name>195.56.94.233</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83:Ports:03</id>
		<title>83:Ports:03</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83:Ports:03"/>
				<updated>2005-04-03T08:18:17Z</updated>
		
		<summary type="html">&lt;p&gt;195.56.94.233: if interrupts are disabled, any value between 0 and 15 can be read&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:83:Ports:By_Address|03 - Interrupt Control]] [[Category:83:Ports:By_Name|Interrupt Control]]&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
'''Port Number:''' 03h&lt;br /&gt;
&lt;br /&gt;
'''Function:''' Interrupt Control Port&lt;br /&gt;
&lt;br /&gt;
This port controls all devices that can generate interrupts.&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0: Set if the ON key generated an interrupt.&lt;br /&gt;
* Bit 1: Set if the first hardware timer generated an interrupt.&lt;br /&gt;
* Bit 2: Set if the second hardware timer generated an interrupt.&lt;br /&gt;
* Bit 3: Reset if the ON key is being pressed; set otherwise.&lt;br /&gt;
* Bit 4-7: Unused.&lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0: Set 0 to disable ON key interrupts and to acknowledge an ON key interrupt. Set 1 to enable ON key interrupts.&lt;br /&gt;
* Bit 1: Set 0 to disable interrupts from the first timer and to acknowledge an interrupt from the first timer. Set 1 to enable interrupts from the first timer.&lt;br /&gt;
* Bit 2: Set 0 to disable interrupts from the second timer and to acknowledge an interrupt from the second timer. Set 1 to enable interrupts from the second timer.&lt;br /&gt;
* Bit 3: Set 0 to turn off the LCD. Set 1 to enable the LCD.&lt;br /&gt;
* Bit 4-7: Unused.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
* You need to acknowledge interrupts. Otherwise a new interrupt will be generated directly after you enable interrupts again with EI. Because that disables that particular interrupt at the same time, you may have to write a second value to this port to reenable it.&lt;/div&gt;</summary>
		<author><name>195.56.94.233</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83:Ports:04</id>
		<title>83:Ports:04</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83:Ports:04"/>
				<updated>2005-04-03T08:14:44Z</updated>
		
		<summary type="html">&lt;p&gt;195.56.94.233: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:83:Ports:By_Address|04 - Timer Interrupt Frequency / Memory Map]] [[Category:83:Ports:By_Name|Timer Interrupt Frequency / Memory Map]]&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
'''Port Number:''' 04h&lt;br /&gt;
&lt;br /&gt;
'''Function:''' Timer Interrupt Frequency and Memory Map Control&lt;br /&gt;
&lt;br /&gt;
This port controls the frequency of the hardware timer and the memory map mode.&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
This is a mirror of the link port.&lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 reset to select memory map mode 0. In mode 0 the RAM and ROM is mapped to CPU memory as follows:&lt;br /&gt;
** Address 0000h ~ 3FFFh: ROM Page 0&lt;br /&gt;
** Address 4000h ~ 7FFFh: Swappable (Page selected in [[83:Ports:00]]/[[83:Ports:02]])&lt;br /&gt;
** Address 8000h ~ BFFFh: RAM Page 1&lt;br /&gt;
** Address C000h ~ FFFFh: RAM Page 0&lt;br /&gt;
* Bit 0 set to select memory map mode 1. In mode 1 the RAM and ROM is mapped to CPU memory as follows:&lt;br /&gt;
** Address 0000h ~ 3FFFh: ROM Page 0&lt;br /&gt;
** Address 4000h ~ 7FFFh: RAM Page 0&lt;br /&gt;
** Address 8000h ~ BFFFh: Swappable (Page selected in [[83:Ports:00]]/[[83:Ports:02]])&lt;br /&gt;
** Address C000h ~ FFFFh: RAM Page 1&lt;br /&gt;
* Bits 1 and 2 control the hardware timer frequency. Setting both 0 sets the timer to the fastest speed, and both 1 is the slowest speed. The normal speed is with both bits 1.&lt;br /&gt;
* Bit 3: Unused? Always 0.&lt;br /&gt;
* Bit 4: Timer frequency multiplier; when this bit is set, all the times are multiplied by 90% (i. e. it's 11.1% faster) compared to when it's reset.&lt;br /&gt;
* Bit 5-7: Unknown, but definitely used.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
The calculator uses mode 0 for normal operation. If you change the memory map mode be sure to change it back before returning control.&lt;br /&gt;
&lt;br /&gt;
To calculate the resulting timer frequency you can use the following formula:&lt;br /&gt;
&lt;br /&gt;
freq = 1800 * ((out_value &amp;amp; 0x10) ? 1.0 : 0.9) / (3 + ((out_value &amp;amp; 0x06) &amp;lt;&amp;lt; 1))&lt;/div&gt;</summary>
		<author><name>195.56.94.233</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83:Ports:04</id>
		<title>83:Ports:04</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83:Ports:04"/>
				<updated>2005-04-03T08:12:26Z</updated>
		
		<summary type="html">&lt;p&gt;195.56.94.233: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:83:Ports:By_Address|04 - Timer Interrupt Frequency / Memory Map]] [[Category:83:Ports:By_Name|Timer Interrupt Frequency / Memory Map]]&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
'''Port Number:''' 04h&lt;br /&gt;
&lt;br /&gt;
'''Function:''' Timer Interrupt Frequency and Memory Map Control&lt;br /&gt;
&lt;br /&gt;
This port controls the frequency of the hardware timer and the memory map mode.&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
This is a mirror of the link port.&lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 reset to select memory map mode 0. In mode 0 the RAM and ROM is mapped to CPU memory as follows:&lt;br /&gt;
** Address 0000h ~ 3FFFh: ROM Page 0&lt;br /&gt;
** Address 4000h ~ 7FFFh: Swappable (Page selected in [[83:Ports:00]]/[[83:Ports:02]])&lt;br /&gt;
** Address 8000h ~ BFFFh: RAM Page 1&lt;br /&gt;
** Address C000h ~ FFFFh: RAM Page 0&lt;br /&gt;
* Bit 0 set to select memory map mode 1. In mode 1 the RAM and ROM is mapped to CPU memory as follows:&lt;br /&gt;
** Address 0000h ~ 3FFFh: ROM Page 0&lt;br /&gt;
** Address 4000h ~ 7FFFh: RAM Page 0&lt;br /&gt;
** Address 8000h ~ BFFFh: Swappable (Page selected in [[83:Ports:00]]/[[83:Ports:02]])&lt;br /&gt;
** Address C000h ~ FFFFh: RAM Page 1&lt;br /&gt;
* Bits 1 and 2 control the hardware timer frequency. Setting both 0 sets the timer to the fastest speed, and both 1 is the slowest speed. The normal speed is with both bits 1.&lt;br /&gt;
* Bit 3: Unused? Always 0.&lt;br /&gt;
* Bit 4: Timer frequency multiplier; when this bit is set, all the times are multiplied by 90% (i. e. it's 11.1% faster) compared to when it's reset.&lt;br /&gt;
* Bit 5-7: Unknown, but definitely used.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
The calculator uses mode 0 for normal operation. If you change the memory map mode be sure to change it back before returning control.&lt;br /&gt;
&lt;br /&gt;
To calculate the resulting timer frequency you can use the following formula:&lt;br /&gt;
&lt;br /&gt;
freq = 1800 * ((out_value &amp;amp; 0x10) ? 1.0 : 0.9) / (3 + ((out_value &amp;amp; 0x06) &amp;lt;&amp;lt; 1)) / 6000000&lt;/div&gt;</summary>
		<author><name>195.56.94.233</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83:Ports:04</id>
		<title>83:Ports:04</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83:Ports:04"/>
				<updated>2005-04-03T08:12:05Z</updated>
		
		<summary type="html">&lt;p&gt;195.56.94.233: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:83:Ports:By_Address|04 - Timer Interrupt Frequency / Memory Map]] [[Category:83:Ports:By_Name|Timer Interrupt Frequency / Memory Map]]&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
'''Port Number:''' 04h&lt;br /&gt;
&lt;br /&gt;
'''Function:''' Timer Interrupt Frequency and Memory Map Control&lt;br /&gt;
&lt;br /&gt;
This port controls the frequency of the hardware timer and the memory map mode.&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
This is a mirror of the link port.&lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 reset to select memory map mode 0. In mode 0 the RAM and ROM is mapped to CPU memory as follows:&lt;br /&gt;
** Address 0000h ~ 3FFFh: ROM Page 0&lt;br /&gt;
** Address 4000h ~ 7FFFh: Swappable (Page selected in [[83:Ports:00]]/[[83:Ports:02]])&lt;br /&gt;
** Address 8000h ~ BFFFh: RAM Page 1&lt;br /&gt;
** Address C000h ~ FFFFh: RAM Page 0&lt;br /&gt;
* Bit 0 set to select memory map mode 1. In mode 1 the RAM and ROM is mapped to CPU memory as follows:&lt;br /&gt;
** Address 0000h ~ 3FFFh: ROM Page 0&lt;br /&gt;
** Address 4000h ~ 7FFFh: RAM Page 0&lt;br /&gt;
** Address 8000h ~ BFFFh: Swappable (Page selected in [[83:Ports:00]]/[[83:Ports:02]])&lt;br /&gt;
** Address C000h ~ FFFFh: RAM Page 1&lt;br /&gt;
* Bits 1 and 2 control the hardware timer frequency. Setting both 0 sets the timer to the fastest speed, and both 1 is the slowest speed. The normal speed is with both bits 1.&lt;br /&gt;
* Bit 3: Unused? Always 0.&lt;br /&gt;
* Bit 4: Timer frequency multiplier; when this bit is set, all the times are multiplied by 90% (i. e. it's 11.1% faster) compared to when it's reset.&lt;br /&gt;
* Bit 5-7: Unknown, but definitely used.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
The calculator uses mode 0 for normal operation. If you change the memory map mode be sure to change it back before returning control.&lt;br /&gt;
&lt;br /&gt;
To calculate resulting timer frequency you can use the following formula:&lt;br /&gt;
&lt;br /&gt;
freq = 1800 * ((out_value &amp;amp; 0x10) ? 1.0 : 0.9) / (3 + ((out_value &amp;amp; 0x06) &amp;lt;&amp;lt; 1)) / 6000000&lt;/div&gt;</summary>
		<author><name>195.56.94.233</name></author>	</entry>

	</feed>