Difference between revisions of "Port"

From veswiki
Jump to: navigation, search
(Port 1)
(10 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
3 START console button<br>
 
3 START console button<br>
 
4 ''- not connected -'' <br>
 
4 ''- not connected -'' <br>
5 ARM (graphics)<br>
+
5 RAM WRT - A pulse here executes a write to Video RAM.<br>
6 Enable in-signal from controllers (1 enable)<br>
+
6 Enable data from controllers (1 equals enable), also needs pulse to write to Video RAM.<br>
 
7 ''- not connected -'' <br>
 
7 ''- not connected -'' <br>
 
<br>
 
<br>
Line 24: Line 24:
 
<br>
 
<br>
  
Two bits have a second function:<br>
+
Two bits have a second function, they decide the color of a plotted pixel:<br>
  
 
6 Write Data0, Indicates that valid data is present for both VRAM ODD0 and EVEN0<br>
 
6 Write Data0, Indicates that valid data is present for both VRAM ODD0 and EVEN0<br>
Line 57: Line 57:
  
 
==  Port 5  ==
 
==  Port 5  ==
 +
 +
Port 5 serves the vertical video position and also sound.
 +
 
0 Video Vertical A<br>
 
0 Video Vertical A<br>
 
1 Video Vertical B<br>
 
1 Video Vertical B<br>
Line 66: Line 69:
 
7 Tone BN (beep sound)<br>  
 
7 Tone BN (beep sound)<br>  
 
<br>
 
<br>
 +
 +
 +
When looking at the [[Opcode|opcodes]] we'll see that using the two ports on the CPU requires half the CPU time compared to using Port 4 and 5 on the PSU, this means that you can fetch right hand controller data two cycles faster than from left one.

Revision as of 15:40, 1 September 2016

The VES has four usable 8-bit data ports in the console, port 0 and 1 that are in the 3850 CPU and port 4 and 5 on one of the 3851 Program Storage Units. These I/O:s are hooked to specific functions as shown in the table below.

Port 0

0 TIME console button
1 MODE console button
2 HOLD console button
3 START console button
4 - not connected -
5 RAM WRT - A pulse here executes a write to Video RAM.
6 Enable data from controllers (1 equals enable), also needs pulse to write to Video RAM.
7 - not connected -

Port 1

0 Right controller right
1 Right controller left
2 Right controller back
3 Right controller forward
4 Right controller counter clockwise
5 Right controller clockwise
6 Right controller pull
7 Right controller push

Two bits have a second function, they decide the color of a plotted pixel:

6 Write Data0, Indicates that valid data is present for both VRAM ODD0 and EVEN0
7 Write Data1, Indicates that valid data is present for both VRAM ODD1 and EVEN1

Port 4

Port 4 has double duties and serve left controller
as well as horizontal video position.

0 Left controller right
1 Left controller left
2 Left controller back
3 Left controller forward
4 Left controller counter clockwise
5 Left controller clockwise
6 Left controller pull
7 Left controller push

Also:

0 Video Select
1 Video Horizontal A
2 Video Horizontal B
3 Video Horizontal C
4 Video Horizontal D
5 Video Horizontal E
6 Video Horizontal F
7


Port 5

Port 5 serves the vertical video position and also sound.

0 Video Vertical A
1 Video Vertical B
2 Video Vertical C
3 Video Vertical D
4 Video Vertical E
5 Video Vertical F
6 Tone AN (beep sound)
7 Tone BN (beep sound)


When looking at the opcodes we'll see that using the two ports on the CPU requires half the CPU time compared to using Port 4 and 5 on the PSU, this means that you can fetch right hand controller data two cycles faster than from left one.