Skip to content

An implementation of the nand2tetris project. A full-stack computer: ISA, Assembler, Virtual Machine, Interpreter, Compiler, Operating System, and a Graphical Sudoku game. All from scratch.

porridgewithraisins/nand2tetris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nand2tetris

An implementation of the projects described at https://www.nand2tetris.org.

The different folders correspond to different tasks outlined below:

  • Tasks 01 to 05: Implementing a complete CPU ISA with the primitive NAND gate and the primitive flip-flop. This was done in HDL.
  • Task 06: Building an assembler for that ISA.
  • Task 07: Designing a virtual machine, and it's bytecode interpreter
  • Task 11: Designing an OOP language, and writing a compiler that turns it into the VM's bytecode.
  • Task 12: Designing an operating system in this language.
  • Task 09: Writing a graphical Sudoku game for that operating system, in the designed language.

The computer facilitated screen and keyboard usage using memory-mapped I/O. The assembler, interpreter and compiler were written in Typescript.

About

An implementation of the nand2tetris project. A full-stack computer: ISA, Assembler, Virtual Machine, Interpreter, Compiler, Operating System, and a Graphical Sudoku game. All from scratch.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published