• Stars
    star
    387
  • Rank 110,492 (Top 3 %)
  • Language WebAssembly
  • License
    MIT License
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

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

Repository Details

Raw WebAssembly demos

Raw WebAssembly Demos

Quine

A little WebAssembly quine. Without a way to do output, I decided that a WebAssembly quine should export a memory object with a copy its bytes. [148 bytes]

Demo!

Doomfire

An implementation of the Doom fire effect described in Fabien Sanglard's blog, using hand-written WebAssembly. [398 bytes]

Demo!

JIT

A very simple expression compiler using the Shunting Yard algorithm. It parses an infix expression, compiles it to WebAssembly, then copies the generated function into the original WebAssembly module. [449 bytes]

Demo!

Metaball

An implementation of the metaball effect described in Jamie Wong's blog, using hand-written WebAssembly. Unlike the implementation described there, this just updates every pixel. [452 bytes]

Demo!

Inflate

An implementation of the INFLATE algorithm, as specified in RFC1951. It uses some tricks from Piotr Fusik's 6502 implementation, such as storing the literal and distance huffman trees in the same array, and programmatically calculating the length/distance encoding rather than using tables. [991 bytes]

Demo!

Chip-8

A CHIP-8 interpreter, with support for the original chip-8 instruction set. It starts up with a simple demo I wrote (thanks, Octo!). You can also try some of the public domain games and demos at dmatlack/chip8 and the CHIP-8 archive. [1020 bytes]

Demo!

Raytrace

A simple raytracer, using techniques from tinyraytracer, in hand-written WebAssembly. 4 spheres, 1 light, reflections, and shadows. [1486 bytes]

Demo!

Snake

A snake-eats-the-dots game, but with 360° rotation. Use left and right arrow keys, or tap on the left or right side of the screen to turn. [1976 bytes]

Demo!

Dino

A dinosaur endlessly running through the desert, jumping over cacti and pterodactyls. Graphics are compressed using a LZ77-like algorithm. [2020 bytes]

Demo!

Maze

A Wolfenstein-style 3d maze race. Each ray is tested against all walls, brute-force style. Walls, floors and ceilings are textured. Palettes are made up of 120-levels of brightness, which fade into black in the distance. [2047 bytes]

Demo!

Match3

An implementation of a match 3-style game, with an 8x8 grid and 8 different emojis. [2662 bytes]

Demo!

Mod

A mod music player, based on code from micromod. Supports most effects. [2833 bytes]

Demo!

BadGB

A very simple gameboy emulator that only plays a few games. [3072 bytes]

Demo!

More Repositories

1

pokegb

A gameboy emulator that only plays Pokemon Blue, in ~50 lines of c++.
C++
1,256
star
2

smolnes

NES emulator in <5000 bytes of C
C
520
star
3

binjgb

Gameboy emulator implemented in C, that also runs in the browser
C
483
star
4

wasm-clang

Running Clang/LLD in WebAssembly Demo
JavaScript
191
star
5

love-nacl

Port of LÖVE to Native Client
C
43
star
6

wasm-e2e

Temporary scaffolding for running WebAssembly end-to-end, from C++ to browsers.
Python
23
star
7

porklike.gb

Gameboy Port of LazyDevs' Porklike
C
22
star
8

doomfirewasm

Doom fire effect, implemented in WebAssembly
HTML
20
star
9

smoothnacl

SmoothLife ported to NaCl
C++
18
star
10

lupica

Very WIP Casio Loopy emulator
C
12
star
11

nacl-nxengine

A port of nxengine to Native Client
C
9
star
12

raytrace-wasm

Mini raytracer in hand-written wasm
WebAssembly
8
star
13

metaball-wasm

WebAssembly metaball effect
WebAssembly
6
star
14

binji.github.io

HTML
5
star
15

binjnes

NES emulator implemented in C, that also runs in the browser
SourcePawn
4
star
16

pnacl.c

PNaCl reader/parser/interpreter in C
C
4
star
17

naclbind.js

JavaScript -> Native Client binding library
JavaScript
4
star
18

pnacl.js

JavaScript
3
star
19

spec.js

JavaScript implementation of the WebAssembly spec
JavaScript
3
star
20

nacl-sdk-gn-experiment

Experimenting with using GN to build the NaCl SDK
Shell
2
star
21

drod-nacl

Port of DROD: Gunthro and the Epic Blunder to NaCl
C++
2
star
22

pexe.py

Python
2
star
23

naclports

clone of https://chromium.googlesource.com/external/naclports.git
C
2
star
24

gabby

experimental clock-edge-ticked gb emulator
C++
2
star
25

gapi-nacl

Google Client APIs for Native Client
Python
2
star
26

pajama

JavaScript
2
star
27

virgil-chip8

chip8 simulator in virgil
Shell
2
star
28

bitmix

Mixing 4-/8-/16-bit values using only multiply/and/shift
JavaScript
2
star
29

mooneye-gb-tests

Cloned and filtered the tests directory from https://github.com/Gekkio/mooneye-gb
Assembly
1
star
30

wasmsummit2021-talk

Slides for my WebAssembly Summit 2021 Talk
JavaScript
1
star
31

sexpr-wasm

sexpression -> wasm
1
star
32

vimrc

Vim Script
1
star
33

ninja-wrap

Simple Python wrapper for ninja
Python
1
star
34

simfun

C++
1
star
35

drod

Mirror of Deadly Rooms of Death, (from http://drod.cvs.sourceforge.net/viewvc/drod/Caravel/?view=tar)
C++
1
star
36

fullstackfest-talk

Slides to the talk I gave at FullStackFest 2016
JavaScript
1
star
37

lucius

Clone of old lucius.vim colorscheme.
Vim Script
1
star
38

gotosthlm-talk

Slides to the talk I gave at GOTO Stockholm 2017
JavaScript
1
star
39

wasi-sdk-bin

C++
1
star