Skip to content
/ lc3 Public

JavaScript implementation of LC-3 microcomputer

License

Notifications You must be signed in to change notification settings

wchargin/lc3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lc3: a better LC-3 simulator

This project was an exploration to become more familiar with React applications. I'm not actively developing it anymore, nor did I get it to be as good as the original. Please consult lc3web for all your LC-3 simulation needs.

Below is the original README.

This project is an online implementation of the LC-3 microcomputer, in the form of a single-page web application. It's the successor to lc3web.

The goal of the original lc3web project was to make it easier to write and execute LC-3 programs without having to use platform-specific tools that all seemed to be missing a few key features. The end result works pretty well, but it became increasingly complex throughout its development.

The goal of this project is to rewrite a clean LC-3 simulator. Specifically:

  • It's written in React and Redux, which is awesome for many, many reasons. In particular (if you're not familiar with React), the user interface is entirely declarative, and is re-rendered automatically in response to state changes. This means that the simulator logic can be entirely decoupled from the UI—the MVC separation that we always strive for but seldom obtain.
  • It's written in ES6 with Immutable.JS, taking advantage of many of the features that those provide. For example, the entire application state and almost all the implementation (96%) is immutable.
  • It has unit tests!

All of this means that it's easier for other people to contribute! If there's a feature you'd like to see, open an issue and we can discuss it; then, if we determine that it's a good idea, you can implement it, submit a pull request, and get it merged.

Note that this project doesn't currently have a live site, because it's not production-ready. Please continue to use the old simulator for now, or, if you really want to, clone this repository, then npm install and npm start.

Contributing

Anyone can contribute! Please see the contributors' guide for more information.

License

MIT

About

JavaScript implementation of LC-3 microcomputer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published