OpenCores
URL https://opencores.org/ocsvn/z80soc/z80soc/trunk

Subversion Repositories z80soc

[/] [z80soc/] [trunk/] [V0.7.2/] [doc/] [README-S3E.txt] - Blame information for rev 44

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 44 rrred
Z80 Computer on Spartan 3E Starter Kit
2
 
3
Arquitecture
4
------------
5
 
6
ROT_CENTER push button (Knob) - Reserved - Reset
7
 
8
Memory
9
------
10
0000H - 3FFFH - ROM
11
4000H - 52BFH - VIDEO RAM
12
52C0H - 57FFH - System Variables
13
5800H - 5FFFH - Characters definition RAM
14
6000H - 8FFFH - RAM memory
15
9000H - FFDFH - Not used/future use
16
FFE0H - FFFFH - LCD Video RAM
17
 
18
Registers
19
---------
20
52C0H         - Z80SOC VERSION  (0 = DE1, 1 = S3E)
21
 
22
IO (Ports)
23
----------
24
 
25
01H     - Out   - Green Leds (7-0)
26
20H     - In    - SW(3-0)
27
30H     - In    - KEY(3-0)
28
70H     - In    - Rotary control direction
29
80H     - In    - PS/2 Keyboard
30
90H     - Out   - Video
31
91H     - Out   - Video cursor X
32
92H     - Out   - Video cursor Y
33
 
34
--
35
Reference Sample ROM
36
 
37
It is provided a ROM with a reference application, and the corresponding
38
Z80 source codes.
39
 
40
To use the application you will need to connect the S3E board to a
41
VGA monitor and PS/2 keyboard.
42
 
43
The program will show how to use:
44
        Input push buttons
45
        Input Switches
46
        PS/2 keyboard
47
        Video text out (memory mapped and port mapped)
48
        Leds
49
        LCD
50
        Rotary Knob
51
        Redefinition of characters
52
 
53
The program starts waiting for keys to be typed in the keyboard.
54
The characters are shown on the 40x30 video (VGA).
55
If "A" is pressed, then the program starts another routine,
56
that will write bytes into RAM. After 255 bytes are written,
57
the bytes are read sequencially and the byte read displayed in the leds (binary format).
58
When finished, waits for KEY0 (East on S3E board) and then restart again.
59
 
60
The switches (4-0) are used as input to calculate delays. Try
61
changing these switches to speed up ou slow down the leds and the LCD text rotation speed.
62
When you change these switches, it will only take effect after a Z80 reset (press the Knob button).
63
 
64
The Rotary knob can be used at any time to rotate the text in the LCD to the left or to the right.
65
 
66
The looping text inside the box demonstrates how to access the video ram.
67
To change speed of scrolling, use the switches (SW).
68
 
69
To reset the Z80, press the Knob Button (rotary).
70
 
71
To modify the screen layout (rows x columns), edit the file z80soc_pack.vhd and find the constants:
72
- vid_cols  = number of columns (maximum is 80)
73
- vid_lines = number of lines (maximum is 60)
74
- pixelsxchar = 1 every character will be plotted using 8x8 pixels
75
- pixelsxchar = 2 every character will be plotter using 16x16 pixels
76
 
77
The column x lines total must not be over 3200, because this is the capacity defined for the video ram.
78
The characters can be redefined. Every character must have 8 bytes (8 x 8 bits).
79
 
80
Hope you enjoy.
81
 
82
TO-DO:
83
----
84
 
85
- (done) Up to 80x60 Video display
86
- Serial communication
87
- Monitor program to allow download of programs by serial communication
88
- Mass storage device (SD/MMC)
89
- Video colors

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.