From e1692d984bea6647f9e5a5187001997e3e1cee74 Mon Sep 17 00:00:00 2001 From: Daniel Cujba <45105014+DanielCujba@users.noreply.github.com> Date: Wed, 15 Mar 2023 16:07:57 +0200 Subject: [PATCH] Create README.md --- README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..e78b702 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +# 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.