... | ... |
@@ -104,7 +104,7 @@ The project supports building process on Windows and Linux. |
104 | 104 |
├── fonts # Fonts used in desktop GUI applications. |
105 | 105 |
├── fs # File system generator needed by the real XiPC and the XiPC Emulator. |
106 | 106 |
├── fw |
107 |
-│ ├── doc # Documentation of the IO Board to make by Doxygen. |
|
107 |
+│ ├── doc # Documentation of the IO Board firmware to make by Doxygen. |
|
108 | 108 |
│ └── src # Source code of the firmware for the IO Board. |
109 | 109 |
├── ide |
110 | 110 |
│ ├── geany # IDE configuration to support assembler for the XiPU. |
... | ... |
@@ -103,7 +103,9 @@ The project supports building process on Windows and Linux. |
103 | 103 |
│ └── src # Source code of the XiPC Emulator. |
104 | 104 |
├── fonts # Fonts used in desktop GUI applications. |
105 | 105 |
├── fs # File system generator needed by the real XiPC and the XiPC Emulator. |
106 |
-├── fw # Source code of the firmware for the IO Board. |
|
106 |
+├── fw |
|
107 |
+│ ├── doc # Documentation of the IO Board to make by Doxygen. |
|
108 |
+│ └── src # Source code of the firmware for the IO Board. |
|
107 | 109 |
├── ide |
108 | 110 |
│ ├── geany # IDE configuration to support assembler for the XiPU. |
109 | 111 |
│ └── qtcreator # IDE configuration for code rules. |
... | ... |
@@ -77,6 +77,7 @@ The project supports building process on Windows and Linux. |
77 | 77 |
- QtCreator - IDE for C++/Qt. Used to create desktop applications. |
78 | 78 |
- Qt 5.12.4 - Multiplatform Qt 5 library. It supports UI, data structures, files etc. |
79 | 79 |
- GCC - C and C++ code compiler. |
80 |
+- Keil uVision 5.37 - Compiler and debugger for the STM32F0 MCU. |
|
80 | 81 |
- Make - Build automation tool. |
81 | 82 |
- Doxygen 1.9.6 - Documentation generator from annotated sources. |
82 | 83 |
- Proteus 8 - Circuit simulator software. Used to simulate the XiPU. |
... | ... |
@@ -156,7 +157,17 @@ cd rom |
156 | 157 |
make |
157 | 158 |
``` |
158 | 159 |
|
159 |
-#### 4.2.4. Applications |
|
160 |
+#### 4.2.4. IO Board firmware |
|
161 |
+ |
|
162 |
+To build the IO Board firmware file, and create documentation, please type: |
|
163 |
+ |
|
164 |
+```console |
|
165 |
+cd fw |
|
166 |
+make |
|
167 |
+``` |
|
168 |
+To build successfully a firmware is needed the Keil uVision5 with a free license for STM32F0 MCUs. UV4.exe must be added to the PATH env. |
|
169 |
+ |
|
170 |
+#### 4.2.5. Applications |
|
160 | 171 |
|
161 | 172 |
To build the user applications, please type: |
162 | 173 |
|
... | ... |
@@ -165,7 +176,7 @@ cd app |
165 | 176 |
make |
166 | 177 |
``` |
167 | 178 |
|
168 |
-#### 4.2.5. File System |
|
179 |
+#### 4.2.6. File System |
|
169 | 180 |
|
170 | 181 |
To generate a directory with the virtual file system, please type: |
171 | 182 |
|
... | ... |
@@ -174,7 +185,7 @@ cd fs |
174 | 185 |
make |
175 | 186 |
``` |
176 | 187 |
|
177 |
-#### 4.2.6. XiPC Emulator |
|
188 |
+#### 4.2.7. XiPC Emulator |
|
178 | 189 |
|
179 | 190 |
To build the application and create documentation, please type: |
180 | 191 |
|
... | ... |
@@ -102,6 +102,7 @@ The project supports building process on Windows and Linux. |
102 | 102 |
│ └── src # Source code of the XiPC Emulator. |
103 | 103 |
├── fonts # Fonts used in desktop GUI applications. |
104 | 104 |
├── fs # File system generator needed by the real XiPC and the XiPC Emulator. |
105 |
+├── fw # Source code of the firmware for the IO Board. |
|
105 | 106 |
├── ide |
106 | 107 |
│ ├── geany # IDE configuration to support assembler for the XiPU. |
107 | 108 |
│ └── qtcreator # IDE configuration for code rules. |
... | ... |
@@ -105,9 +105,8 @@ The project supports building process on Windows and Linux. |
105 | 105 |
├── ide |
106 | 106 |
│ ├── geany # IDE configuration to support assembler for the XiPU. |
107 | 107 |
│ └── qtcreator # IDE configuration for code rules. |
108 |
-├── io |
|
109 |
-│ └── pcb # PCB design for the IO Board |
|
110 |
-├── keyboard # PCB design for the keyboard |
|
108 |
+├── io # PCB design for the IO Board |
|
109 |
+├── kbd # PCB design for the keyboard |
|
111 | 110 |
├── lib # Binary libraries needed to run compiled applications on Windows x64. |
112 | 111 |
├── pcb # PCB design for the XiPU |
113 | 112 |
├── rom # OS with a simple terminal and IO API for applications. |
... | ... |
@@ -81,6 +81,7 @@ The project supports building process on Windows and Linux. |
81 | 81 |
- Doxygen 1.9.6 - Documentation generator from annotated sources. |
82 | 82 |
- Proteus 8 - Circuit simulator software. Used to simulate the XiPU. |
83 | 83 |
- QCAD - DXF files editor. Used to create Plexiglas case for the XiPC. |
84 |
+- DipTrace 4.2.0.1 - Schematic and PCB design software. |
|
84 | 85 |
|
85 | 86 |
### 3.2. Project structure |
86 | 87 |
|
... | ... |
@@ -104,7 +105,11 @@ The project supports building process on Windows and Linux. |
104 | 105 |
├── ide |
105 | 106 |
│ ├── geany # IDE configuration to support assembler for the XiPU. |
106 | 107 |
│ └── qtcreator # IDE configuration for code rules. |
108 |
+├── io |
|
109 |
+│ └── pcb # PCB design for the IO Board |
|
110 |
+├── keyboard # PCB design for the keyboard |
|
107 | 111 |
├── lib # Binary libraries needed to run compiled applications on Windows x64. |
112 |
+├── pcb # PCB design for the XiPU |
|
108 | 113 |
├── rom # OS with a simple terminal and IO API for applications. |
109 | 114 |
├── sim # Simulation project of the XiPU. |
110 | 115 |
└── urom |
... | ... |
@@ -99,6 +99,7 @@ The project supports building process on Windows and Linux. |
99 | 99 |
├── emu |
100 | 100 |
│ ├── doc # Documentation of the XiPC Emulator to make by Doxygen. |
101 | 101 |
│ └── src # Source code of the XiPC Emulator. |
102 |
+├── fonts # Fonts used in desktop GUI applications. |
|
102 | 103 |
├── fs # File system generator needed by the real XiPC and the XiPC Emulator. |
103 | 104 |
├── ide |
104 | 105 |
│ ├── geany # IDE configuration to support assembler for the XiPU. |
... | ... |
@@ -2,30 +2,30 @@ |
2 | 2 |
|
3 | 3 |
XiPU is an 8-bit 7400 TTL CPU project. |
4 | 4 |
|
5 |
-## About the project |
|
5 |
+## 1. About the project |
|
6 | 6 |
|
7 | 7 |
The XiPU is loosely based on MOS 6502. It was my starting point of design my own CPU. For now, the XiPU has many differences and it is so much simpler. |
8 | 8 |
|
9 | 9 |
The main goal of the project is creating a fully functional 8-bit 7400 TTL CPU and a simple computer based on the one. |
10 | 10 |
|
11 |
-### Author |
|
11 |
+### 1.1. Author |
|
12 | 12 |
|
13 | 13 |
- Pawel Jablonski (pj@xirx.net) |
14 | 14 |
|
15 |
-### License |
|
15 |
+### 1.2. License |
|
16 | 16 |
|
17 | 17 |
You can use this code however you like but leave information about the original author. Code is free for non-commercial and commercial use. |
18 | 18 |
|
19 | 19 |
Please see the LICENSE.txt file. |
20 | 20 |
|
21 |
-### Links |
|
21 |
+### 1.3. Links |
|
22 | 22 |
|
23 | 23 |
- WWW: [xirx.net](https://xirx.net "xirx.net") |
24 | 24 |
- GIT: [git.xirx.net](https://git.xirx.net "git.xirx.net") |
25 | 25 |
|
26 |
-## Useful knowledge |
|
26 |
+## 2. Useful knowledge |
|
27 | 27 |
|
28 |
-### Dictionary |
|
28 |
+### 2.1. Dictionary |
|
29 | 29 |
|
30 | 30 |
- XiPU - XiRX Processor Unit. The name of the 8-bit TTL CPU. |
31 | 31 |
- XiPC - XiRX Personal Computer. The name of the simple computer based on XiPU CPU |
... | ... |
@@ -39,7 +39,7 @@ Please see the LICENSE.txt file. |
39 | 39 |
- External BUS - Data highway for IO operations. |
40 | 40 |
- ALU - Arithmetic logic unit. |
41 | 41 |
|
42 |
-### XiPU |
|
42 |
+### 2.2. XiPU |
|
43 | 43 |
|
44 | 44 |
- 8-bit processor based on 7400 HCT chips compatible with TTL. |
45 | 45 |
- 32 KB of ROM space for OS. It is stored in EEPROM. |
... | ... |
@@ -56,7 +56,7 @@ Please see the LICENSE.txt file. |
56 | 56 |
- BUS C - 16-bit memory address BUS for addressing RAM and ROM. |
57 | 57 |
- 8-bit IN and 8-bit OUT external data BUS. It is used as a simple communication way with the external word. |
58 | 58 |
|
59 |
-### XiPC |
|
59 |
+### 2.3. XiPC |
|
60 | 60 |
|
61 | 61 |
- Personal computer based on the XiPU. |
62 | 62 |
- 40x30 characters with 16 colors support. It uses 640x480 LCD with an 8-bit color palette to render image output. |
... | ... |
@@ -67,9 +67,9 @@ Please see the LICENSE.txt file. |
67 | 67 |
- 4 status LEDs. |
68 | 68 |
- 7.5V max 0.5A power supply. |
69 | 69 |
|
70 |
-## Project overview |
|
70 |
+## 3. Project overview |
|
71 | 71 |
|
72 |
-### Requirements |
|
72 |
+### 3.1. Requirements |
|
73 | 73 |
|
74 | 74 |
The project supports building process on Windows and Linux. |
75 | 75 |
|
... | ... |
@@ -78,51 +78,70 @@ The project supports building process on Windows and Linux. |
78 | 78 |
- Qt 5.12.4 - Multiplatform Qt 5 library. It supports UI, data structures, files etc. |
79 | 79 |
- GCC - C and C++ code compiler. |
80 | 80 |
- Make - Build automation tool. |
81 |
-- Doxygen 1.9.5 - Documentation generator from annotated sources. |
|
81 |
+- Doxygen 1.9.6 - Documentation generator from annotated sources. |
|
82 | 82 |
- Proteus 8 - Circuit simulator software. Used to simulate the XiPU. |
83 | 83 |
- QCAD - DXF files editor. Used to create Plexiglas case for the XiPC. |
84 | 84 |
|
85 |
-### Project structure |
|
85 |
+### 3.2. Project structure |
|
86 | 86 |
|
87 | 87 |
```console |
88 | 88 |
. |
89 |
-├── asm # Assembler Compiler for the XiPU. |
|
89 |
+├── LICENSE.txt # License file. |
|
90 |
+├── Makefile # Main Makefile file to building binaries and documentations at once. |
|
91 |
+├── README.md # Readme file. |
|
92 |
+├── app # Applications written for the XiPC. |
|
93 |
+├── asm |
|
94 |
+│ ├── doc # Documentation of the Assembler Compiler to make by Doxygen. |
|
95 |
+│ └── src # Source code of the Assembler Compiler. |
|
96 |
+├── bin # Destination directory for all generated binaries during the build process. |
|
90 | 97 |
├── case # A simple Plexiglas case project for the XiPC. |
98 |
+├── doc # Destination directory for all generated documentations during the build process. |
|
99 |
+├── emu |
|
100 |
+│ ├── doc # Documentation of the XiPC Emulator to make by Doxygen. |
|
101 |
+│ └── src # Source code of the XiPC Emulator. |
|
102 |
+├── fs # File system generator needed by the real XiPC and the XiPC Emulator. |
|
91 | 103 |
├── ide |
92 | 104 |
│ ├── geany # IDE configuration to support assembler for the XiPU. |
93 | 105 |
│ └── qtcreator # IDE configuration for code rules. |
94 |
-├── lib # Binary libraries needed to run compiled applications on Windows. |
|
106 |
+├── lib # Binary libraries needed to run compiled applications on Windows x64. |
|
95 | 107 |
├── rom # OS with a simple terminal and IO API for applications. |
96 | 108 |
├── sim # Simulation project of the XiPU. |
97 | 109 |
└── urom |
98 | 110 |
├── doc # Documentation of the uROM generator to make by Doxygen. |
99 |
- └── src # Source of the uROM generator. |
|
111 |
+ └── src # Source code of the uROM generator. |
|
100 | 112 |
``` |
101 | 113 |
|
102 |
-## Compiling |
|
114 |
+## 4. Compiling |
|
103 | 115 |
|
104 |
-### uROM |
|
116 |
+### 4.1. Build all |
|
105 | 117 |
|
106 |
-To build the application and create documentation, please type: |
|
118 |
+To build all binaries and create documentations for them, please type: |
|
107 | 119 |
|
108 | 120 |
```console |
109 |
-cd urom |
|
110 | 121 |
make |
111 | 122 |
``` |
112 | 123 |
|
113 |
-To create uROM files, please type on Windows: |
|
124 |
+### 4.2. Build a single module |
|
125 |
+ |
|
126 |
+#### 4.2.1 uROM |
|
127 |
+ |
|
128 |
+To build the application and create documentation, please type: |
|
114 | 129 |
|
115 | 130 |
```console |
116 |
-./urom.exe |
|
131 |
+cd urom |
|
132 |
+make |
|
117 | 133 |
``` |
118 | 134 |
|
119 |
-Or on Linux: |
|
135 |
+#### 4.2.2. ASM Compiler |
|
136 |
+ |
|
137 |
+To build the application and create documentation, please type: |
|
120 | 138 |
|
121 | 139 |
```console |
122 |
-./urom |
|
140 |
+cd asm |
|
141 |
+make |
|
123 | 142 |
``` |
124 | 143 |
|
125 |
-### ROM |
|
144 |
+#### 4.2.3. ROM |
|
126 | 145 |
|
127 | 146 |
To build the OS ROM image file, the map file with API handlers, and create documentation, please type: |
128 | 147 |
|
... | ... |
@@ -131,35 +150,63 @@ cd rom |
131 | 150 |
make |
132 | 151 |
``` |
133 | 152 |
|
134 |
-### ASM |
|
153 |
+#### 4.2.4. Applications |
|
154 |
+ |
|
155 |
+To build the user applications, please type: |
|
156 |
+ |
|
157 |
+```console |
|
158 |
+cd app |
|
159 |
+make |
|
160 |
+``` |
|
161 |
+ |
|
162 |
+#### 4.2.5. File System |
|
163 |
+ |
|
164 |
+To generate a directory with the virtual file system, please type: |
|
165 |
+ |
|
166 |
+```console |
|
167 |
+cd fs |
|
168 |
+make |
|
169 |
+``` |
|
170 |
+ |
|
171 |
+#### 4.2.6. XiPC Emulator |
|
135 | 172 |
|
136 | 173 |
To build the application and create documentation, please type: |
137 | 174 |
|
138 | 175 |
```console |
139 |
-cd asm |
|
176 |
+cd emu |
|
140 | 177 |
make |
141 | 178 |
``` |
142 | 179 |
|
143 |
-To compile ROM, please type on Windows: |
|
180 |
+## 5. Using |
|
181 |
+ |
|
182 |
+### 5.1. uROM |
|
183 |
+ |
|
184 |
+To generate uROM files, please type: |
|
144 | 185 |
|
145 | 186 |
```console |
146 |
-./asm.exe rom [input_file] [output_bin] [output_map] |
|
187 |
+./urom |
|
147 | 188 |
``` |
148 | 189 |
|
149 |
-Or on Linux: |
|
190 |
+### 5.2. ASM Compiler |
|
191 |
+ |
|
192 |
+To compile ROM, please type: |
|
150 | 193 |
|
151 | 194 |
```console |
152 | 195 |
./asm rom [input_file] [output_bin] [output_map] |
153 | 196 |
``` |
154 | 197 |
|
155 |
-To compile an application, please type on Windows: |
|
198 |
+To compile an application, please type: |
|
156 | 199 |
|
157 | 200 |
```console |
158 |
-./asm.exe app [input_file] [output_bin] |
|
201 |
+./asm app [input_file] [output_bin] |
|
159 | 202 |
``` |
160 | 203 |
|
161 |
-Or on Linux: |
|
204 |
+#### 5.3. XiPC Emulator |
|
205 |
+ |
|
206 |
+To run the XiPC Emulator application, please type: |
|
162 | 207 |
|
163 | 208 |
```console |
164 |
-./asm app [input_file] [output_bin] |
|
209 |
+./emu |
|
165 | 210 |
``` |
211 |
+ |
|
212 |
+It will show a window of the emulator ready to work. Next step is loading uROM files, ROM file and choose the directory with the virtual file system. After that, the application is ready to run emulation. |
... | ... |
@@ -75,10 +75,10 @@ The project supports building process on Windows and Linux. |
75 | 75 |
|
76 | 76 |
- Geany - Multi-language IDE. Used to create Makefile, assembler code etc. |
77 | 77 |
- QtCreator - IDE for C++/Qt. Used to create desktop applications. |
78 |
-- Qt 5.12.8 - Multiplatform Qt 5 library. It supports UI, data structures, files etc. |
|
78 |
+- Qt 5.12.4 - Multiplatform Qt 5 library. It supports UI, data structures, files etc. |
|
79 | 79 |
- GCC - C and C++ code compiler. |
80 | 80 |
- Make - Build automation tool. |
81 |
-- Doxygen 1.9.2 - Documentation generator from annotated sources. |
|
81 |
+- Doxygen 1.9.5 - Documentation generator from annotated sources. |
|
82 | 82 |
- Proteus 8 - Circuit simulator software. Used to simulate the XiPU. |
83 | 83 |
- QCAD - DXF files editor. Used to create Plexiglas case for the XiPC. |
84 | 84 |
|
... | ... |
@@ -86,11 +86,13 @@ The project supports building process on Windows and Linux. |
86 | 86 |
|
87 | 87 |
```console |
88 | 88 |
. |
89 |
+├── asm # Assembler Compiler for the XiPU. |
|
89 | 90 |
├── case # A simple Plexiglas case project for the XiPC. |
90 | 91 |
├── ide |
91 | 92 |
│ ├── geany # IDE configuration to support assembler for the XiPU. |
92 | 93 |
│ └── qtcreator # IDE configuration for code rules. |
93 | 94 |
├── lib # Binary libraries needed to run compiled applications on Windows. |
95 |
+├── rom # OS with a simple terminal and IO API for applications. |
|
94 | 96 |
├── sim # Simulation project of the XiPU. |
95 | 97 |
└── urom |
96 | 98 |
├── doc # Documentation of the uROM generator to make by Doxygen. |
... | ... |
@@ -120,9 +122,44 @@ Or on Linux: |
120 | 122 |
./urom |
121 | 123 |
``` |
122 | 124 |
|
125 |
+### ROM |
|
123 | 126 |
|
127 |
+To build the OS ROM image file, the map file with API handlers, and create documentation, please type: |
|
124 | 128 |
|
129 |
+```console |
|
130 |
+cd rom |
|
131 |
+make |
|
132 |
+``` |
|
133 |
+ |
|
134 |
+### ASM |
|
135 |
+ |
|
136 |
+To build the application and create documentation, please type: |
|
137 |
+ |
|
138 |
+```console |
|
139 |
+cd asm |
|
140 |
+make |
|
141 |
+``` |
|
142 |
+ |
|
143 |
+To compile ROM, please type on Windows: |
|
144 |
+ |
|
145 |
+```console |
|
146 |
+./asm.exe rom [input_file] [output_bin] [output_map] |
|
147 |
+``` |
|
148 |
+ |
|
149 |
+Or on Linux: |
|
150 |
+ |
|
151 |
+```console |
|
152 |
+./asm rom [input_file] [output_bin] [output_map] |
|
153 |
+``` |
|
125 | 154 |
|
155 |
+To compile an application, please type on Windows: |
|
126 | 156 |
|
157 |
+```console |
|
158 |
+./asm.exe app [input_file] [output_bin] |
|
159 |
+``` |
|
127 | 160 |
|
161 |
+Or on Linux: |
|
128 | 162 |
|
163 |
+```console |
|
164 |
+./asm app [input_file] [output_bin] |
|
165 |
+``` |
... | ... |
@@ -0,0 +1,128 @@ |
1 |
+# XiPU |
|
2 |
+ |
|
3 |
+XiPU is an 8-bit 7400 TTL CPU project. |
|
4 |
+ |
|
5 |
+## About the project |
|
6 |
+ |
|
7 |
+The XiPU is loosely based on MOS 6502. It was my starting point of design my own CPU. For now, the XiPU has many differences and it is so much simpler. |
|
8 |
+ |
|
9 |
+The main goal of the project is creating a fully functional 8-bit 7400 TTL CPU and a simple computer based on the one. |
|
10 |
+ |
|
11 |
+### Author |
|
12 |
+ |
|
13 |
+- Pawel Jablonski (pj@xirx.net) |
|
14 |
+ |
|
15 |
+### License |
|
16 |
+ |
|
17 |
+You can use this code however you like but leave information about the original author. Code is free for non-commercial and commercial use. |
|
18 |
+ |
|
19 |
+Please see the LICENSE.txt file. |
|
20 |
+ |
|
21 |
+### Links |
|
22 |
+ |
|
23 |
+- WWW: [xirx.net](https://xirx.net "xirx.net") |
|
24 |
+- GIT: [git.xirx.net](https://git.xirx.net "git.xirx.net") |
|
25 |
+ |
|
26 |
+## Useful knowledge |
|
27 |
+ |
|
28 |
+### Dictionary |
|
29 |
+ |
|
30 |
+- XiPU - XiRX Processor Unit. The name of the 8-bit TTL CPU. |
|
31 |
+- XiPC - XiRX Personal Computer. The name of the simple computer based on XiPU CPU |
|
32 |
+- TTL - Transistor-transistor logic. |
|
33 |
+- HCT - High-Speed CMOS chips available in TTL compatible form. |
|
34 |
+- RAM - Volatile random access memory. |
|
35 |
+- ROM - Non-volatile read-only memory. |
|
36 |
+- Register - Quickly accessible location for a small amount of data stored in a TTL chip. |
|
37 |
+- uROM - uROM determines which of the internal registers is used to read from and write to at the current micro step of executing instruction. |
|
38 |
+- IO operation - Read or write data to pins connected to external world. |
|
39 |
+- External BUS - Data highway for IO operations. |
|
40 |
+- ALU - Arithmetic logic unit. |
|
41 |
+ |
|
42 |
+### XiPU |
|
43 |
+ |
|
44 |
+- 8-bit processor based on 7400 HCT chips compatible with TTL. |
|
45 |
+- 32 KB of ROM space for OS. It is stored in EEPROM. |
|
46 |
+- 64 KB of RAM space. Lower 32 KB is a place for variables and temporal data. Higher 32 KB is visible as higher 32 KB of ROM space, it could be used to load and run applications. |
|
47 |
+- 1 MHz clock speed. The processor uses a 2 MHz crystal to get two 1 MHz square waves shifted relative to the other about half. |
|
48 |
+- The processor uses uROM stored in two EEPROMs. |
|
49 |
+- Each instruction could be built from 2 to 16 micro steps. Each micro step took exactly 1 clock tick. |
|
50 |
+- Four registers: |
|
51 |
+ - A, B - 8-bit general purpose registers. |
|
52 |
+ - X, Y - 8-bit auxiliary registers. Could be used mostly as general purpose registers. Together, it can be used as a 16-bit address register. |
|
53 |
+- Three internal buses: |
|
54 |
+ - BUS A - 8-bit main BUS for registers, RAM, ROM, IO operations. |
|
55 |
+ - BUS B - 8-bit auxiliary BUS for registers used as second input for ALU. |
|
56 |
+ - BUS C - 16-bit memory address BUS for addressing RAM and ROM. |
|
57 |
+- 8-bit IN and 8-bit OUT external data BUS. It is used as a simple communication way with the external word. |
|
58 |
+ |
|
59 |
+### XiPC |
|
60 |
+ |
|
61 |
+- Personal computer based on the XiPU. |
|
62 |
+- 40x30 characters with 16 colors support. It uses 640x480 LCD with an 8-bit color palette to render image output. |
|
63 |
+- Mono speaker with a volume knob. |
|
64 |
+- RS-232 with 1200 bps support. |
|
65 |
+- RTC with battery support. |
|
66 |
+- Built-in QWERTY keyboard. |
|
67 |
+- 4 status LEDs. |
|
68 |
+- 7.5V max 0.5A power supply. |
|
69 |
+ |
|
70 |
+## Project overview |
|
71 |
+ |
|
72 |
+### Requirements |
|
73 |
+ |
|
74 |
+The project supports building process on Windows and Linux. |
|
75 |
+ |
|
76 |
+- Geany - Multi-language IDE. Used to create Makefile, assembler code etc. |
|
77 |
+- QtCreator - IDE for C++/Qt. Used to create desktop applications. |
|
78 |
+- Qt 5.12.8 - Multiplatform Qt 5 library. It supports UI, data structures, files etc. |
|
79 |
+- GCC - C and C++ code compiler. |
|
80 |
+- Make - Build automation tool. |
|
81 |
+- Doxygen 1.9.2 - Documentation generator from annotated sources. |
|
82 |
+- Proteus 8 - Circuit simulator software. Used to simulate the XiPU. |
|
83 |
+- QCAD - DXF files editor. Used to create Plexiglas case for the XiPC. |
|
84 |
+ |
|
85 |
+### Project structure |
|
86 |
+ |
|
87 |
+```console |
|
88 |
+. |
|
89 |
+├── case # A simple Plexiglas case project for the XiPC. |
|
90 |
+├── ide |
|
91 |
+│ ├── geany # IDE configuration to support assembler for the XiPU. |
|
92 |
+│ └── qtcreator # IDE configuration for code rules. |
|
93 |
+├── lib # Binary libraries needed to run compiled applications on Windows. |
|
94 |
+├── sim # Simulation project of the XiPU. |
|
95 |
+└── urom |
|
96 |
+ ├── doc # Documentation of the uROM generator to make by Doxygen. |
|
97 |
+ └── src # Source of the uROM generator. |
|
98 |
+``` |
|
99 |
+ |
|
100 |
+## Compiling |
|
101 |
+ |
|
102 |
+### uROM |
|
103 |
+ |
|
104 |
+To build the application and create documentation, please type: |
|
105 |
+ |
|
106 |
+```console |
|
107 |
+cd urom |
|
108 |
+make |
|
109 |
+``` |
|
110 |
+ |
|
111 |
+To create uROM files, please type on Windows: |
|
112 |
+ |
|
113 |
+```console |
|
114 |
+./urom.exe |
|
115 |
+``` |
|
116 |
+ |
|
117 |
+Or on Linux: |
|
118 |
+ |
|
119 |
+```console |
|
120 |
+./urom |
|
121 |
+``` |
|
122 |
+ |
|
123 |
+ |
|
124 |
+ |
|
125 |
+ |
|
126 |
+ |
|
127 |
+ |
|
128 |
+ |