Giter VIP home page Giter VIP logo

VonSim logo

VonSim

https://vonsim.github.io
A 8088-like Assembly Simulator


About this project

VonSim was made entirely in TypeScript, a superset of JavaScript that adds type-checking and auto-completion. Also, the project is divided in multiple packages, each one with its own package.json (learn more about monorepos).

To get started, you'll need Node.js v20 and pnpm v8. Once you have them installed, you can run the following inside the repo:

$ pnpm install  # only the first time, install the dependencies
$ pnpm dev      # start the app dev server
$ pnpm docs:dev # start the docs dev server
$ pnpm build    # build for production

These are the packages inside the repo, all of them with their own README.md where you can learn more:

  • @vonsim/assembler: All the logic to assemble a program from plain text assembly.
  • @vonsim/simulator: All the logic run an assembled program.
  • @vonsim/app: The web app itself. It has all the UI and uses the simulator to run the program.

Also, there some support packages that are used by the packages above:

Finally, the documentation is inside @vonsim/docs.

Notes for developers

When using Visual Studio Code, you can use the recommended extensions to get the best experience. Some extensions might have trouble finding the tailwind.config.ts file for auto-completion and linting. This can be solved by creating a .vscode/settings.json file with the following content:

{
  "eslint.workingDirectories": [{ "mode": "auto" }],
  "tailwindCSS.experimental.configFile": "./app/tailwind.config.ts"
}

To-do list

  • Welcome tour (with mentions to downloadable PWA)
  • Add Printer w/CDMA
  • Add Printer w/USART
  • Add I/O modules for screen and keyboard
  • Implement indirect access with offset

License

This project is licensed under the GNU Affero General Public License v3.0 license.

© 2017-present Facundo Quiroga, Manuel Bustos Berrondo y Juan Martín Seery (III-LIDI, Facultad de Informática, UNLP).

vonsim's Projects

vonsim icon vonsim

VonSim: a simulator for a simple CPU architecture.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.