29 lines
2.1 KiB
Markdown
29 lines
2.1 KiB
Markdown
# Python Simulation of a Computer with VM Compiler and GUI
|
|
This project is a Python implementation of a computer based on the NAND2TETRIS course, with the addition of a VM Compiler and a Graphical User Interface (GUI). The course teaches you how to build a modern computer from the ground up, starting with basic logic gates and progressing all the way to an operating system.
|
|
|
|
This project includes the implementation of all the necessary components, such as logic gates, adders, registers, memory, and CPU. Additionally, it includes a VM Compiler that can convert programs written in a high-level language (similar to Java JVM) into Hack assembly code, which can be run on the computer. Finally, the project includes a GUI that allows you to interact with the computer and run programs visually.
|
|
|
|
# Installation
|
|
To use this project, you will need Python 3 installed on your computer. You can download Python from the official website: https://www.python.org/downloads/
|
|
|
|
You will also need to clone this repository to your computer:
|
|
```git clone https://github.com/username/nand2tetris-python```
|
|
|
|
# Usage
|
|
To use the computer simulation, you can run the GUI by running the following command:
|
|
|
|
```python gui.py```
|
|
|
|
The GUI will then open, and you can use it to interact with the computer. You can write programs in the high-level language supported by the VM Compiler, or you can write programs directly in Hack assembly language.
|
|
|
|
To run a program, you can load it from a file. Once you have loaded or written your program, you can compile it using the VM Compiler and then run it on the computer.
|
|
|
|
# Contributing
|
|
If you would like to contribute to this project, please fork the repository and submit a pull request. We welcome contributions of all kinds, including bug fixes, new features, and documentation improvements.
|
|
|
|
# Credits
|
|
This project was inspired by the NAND2TETRIS course, which was created by Noam Nisan and Shimon Schocken. You can learn more about the course on the official website: https://www.nand2tetris.org/
|
|
|
|
# License
|
|
This project is licensed under the MIT License. See the LICENSE file for more information.
|