Browse code

Update README.md file

Pawel Jablonski authored on 19/03/2023 16:22:34
Showing 1 changed files
... ...
@@ -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.