Browse code

Update README.md file

Pawel Jablonski authored on 05/06/2023 17:47:07
Showing 1 changed files
... ...
@@ -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.
Browse code

Update README.md file

Pawel Jablonski authored on 05/06/2023 17:46:30
Showing 1 changed files
... ...
@@ -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.
Browse code

Update README.md file

Pawel Jablonski authored on 05/06/2023 17:43:03
Showing 1 changed files
... ...
@@ -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
 
Browse code

Update README.md file

Pawel Jablonski authored on 05/06/2023 17:06:38
Showing 1 changed files
... ...
@@ -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.
Browse code

Update README.md file

Pawel Jablonski authored on 30/05/2023 20:25:56
Showing 1 changed files
... ...
@@ -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.
Browse code

Update README.md file

Pawel Jablonski authored on 23/05/2023 22:04:45
Showing 1 changed files
... ...
@@ -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
Browse code

Update README.md file

Pawel Jablonski authored on 28/03/2023 22:04:32
Showing 1 changed files
... ...
@@ -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.
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.
Browse code

Add ROM and ASM to the README.md file

Pawel Jablonski authored on 23/12/2022 15:28:14
Showing 1 changed files
... ...
@@ -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
+```
Browse code

Update README.md file

Pawel Jablonski authored on 15/08/2022 20:06:19
Showing 1 changed files
... ...
@@ -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
+
Browse code

Initial commit

Pawel Jablonski authored on 08/09/2020 21:51:07
Showing 1 changed files
1 1
new file mode 100644