Difference between revisions of "Port"

From veswiki
Jump to: navigation, search
(Port 5)
Line 1: Line 1:
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.
+
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. <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 which is worth noting if you need to maximize speed.
 
<br>
 
<br>
 
<br>
 
<br>
Line 69: Line 70:
 
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 14:05, 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.
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 which is worth noting if you need to maximize speed.

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


PSU 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)