Difference between revisions of "83:Ports:04"

From WikiTI
Jump to: navigation, search
(Added memory map info)
Line 23: Line 23:
 
* 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.
 
* 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.
 
* Bit 3: Unused? Always 0.
 
* Bit 3: Unused? Always 0.
* Bit 4: Unused? Always 1.
+
* 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.
 
* Bit 5-7: Unknown, but definitely used.
 
* Bit 5-7: Unknown, but definitely used.
  
 
== Comments ==
 
== Comments ==
 
The calculator uses mode 0 for normal operation. If you change the memory map mode be sure to change it back before returning control.
 
The calculator uses mode 0 for normal operation. If you change the memory map mode be sure to change it back before returning control.
 +
 +
To calculate resulting timer frequency you can use the following formula:
 +
 +
freq = 1800 * ((out_value & 0x10) ? 1.0 : 0.9) / (3 + ((out_value & 0x06) << 1)) / 6000000

Revision as of 01:12, 3 April 2005

Synopsis

Port Number: 04h

Function: Timer Interrupt Frequency and Memory Map Control

This port controls the frequency of the hardware timer and the memory map mode.

Read Values

This is a mirror of the link port.

Write Values

  • Bit 0 reset to select memory map mode 0. In mode 0 the RAM and ROM is mapped to CPU memory as follows:
    • Address 0000h ~ 3FFFh: ROM Page 0
    • Address 4000h ~ 7FFFh: Swappable (Page selected in 83:Ports:00/83:Ports:02)
    • Address 8000h ~ BFFFh: RAM Page 1
    • Address C000h ~ FFFFh: RAM Page 0
  • Bit 0 set to select memory map mode 1. In mode 1 the RAM and ROM is mapped to CPU memory as follows:
    • Address 0000h ~ 3FFFh: ROM Page 0
    • Address 4000h ~ 7FFFh: RAM Page 0
    • Address 8000h ~ BFFFh: Swappable (Page selected in 83:Ports:00/83:Ports:02)
    • Address C000h ~ FFFFh: RAM Page 1
  • 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.
  • Bit 3: Unused? Always 0.
  • 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.
  • Bit 5-7: Unknown, but definitely used.

Comments

The calculator uses mode 0 for normal operation. If you change the memory map mode be sure to change it back before returning control.

To calculate resulting timer frequency you can use the following formula:

freq = 1800 * ((out_value & 0x10) ? 1.0 : 0.9) / (3 + ((out_value & 0x06) << 1)) / 6000000