• Stars
    star
    138
  • Rank 264,508 (Top 6 %)
  • Language
    Rust
  • License
    MIT License
  • Created almost 5 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Wired Logic - a pixel-based digital circuitry simulator running in your browser.

wired-logic-rs

building

A pixel-based digital circuitry simulator, now powered by Rust and WebAssembly. Inspired by wired-logic.

16-bit Carry-Select Adder

How does it work?

Original explanation by martinkirsche:

It scans the image, converts it into a collection of wires, power sources and transistors and runs a simulation on them as long as the state of the simulation does not recur. Then it renders the simulation into the animated gif image.

The rules

Description Example
Wires are all pixels of the color from index 1 to 7 within the palette. wire
A 2x2 pixel square within a wire will make the wire a power source. wire
Wires can cross each other by poking a hole in the middle of their crossing. wire
A transistor gets created by drawing an arbitrarily rotated T-shape and, you guessed it, poking a hole in the middle of their crossing. If a transistor's base gets charged it will stop current from flowing. If not, current will flow but gets reduced by one. wire

Compilation

$ wasm-pack build   # add `-- --no-default-features` for small binary
$ npm install

$ npm run serve     # to start the webpack dev server
$ npm run bundle    # to create the production bundle