Difference between revisions of "Port"

From veswiki
Jump to: navigation, search
(Port 1)
(Port 4)
Line 29: Line 29:
 
7 Write Data1, Indicates that valid data is present for both VRAM ODD1 and EVEN1<br>
 
7 Write Data1, Indicates that valid data is present for both VRAM ODD1 and EVEN1<br>
  
==  Port 4  ==
+
==  PSU port 4  ==
  
 
Port 4 has double duties and serve left controller <br>
 
Port 4 has double duties and serve left controller <br>

Revision as of 14:03, 27 March 2020

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.

CPU 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 -

CPU 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

PSU port 4

Port 4 has double duties and serve left controller
as well as horizontal video position (X-coordinate).

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 (Y-coordinate) 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.