Elements of computing systems

Built a pc in a virtualized environment starting from nand logic gates and finishing with a playble ping-pong game running on a basic lightweight os.

Implemented all projects within the Elements of computing systems starting with using HDL to create hardware components of the computer, then an assembler parser, VM implementation, Java like compiler for Jack programming language, followed by a simple operating system written in Jack. Which allowed a ping-pong game to run.

Tech stack:

  • python
  • Jack (self implemented Java like language)
  • Assembler
  • HDL

Source code

_config.yml