Skip to content

Commit

Permalink
Merge pull request #722 from Penncilk/wasm4GBVGMPlayer
Browse files Browse the repository at this point in the history
Added My Game "Wasm4 Gameboy VGM Player"
  • Loading branch information
aduros authored Jun 2, 2024
2 parents f7b5360 + 6e76b90 commit f0d9978
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions site/static/carts/wasm4GBVGMPlayer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
author: Sine System
github: Penncilk
date: 2024-05-31
---

# Wasm4 Gameboy VGM Player

I wrote an engine that allows Wasm4 to emulate the APU of the Gameboy at just a high level enough so that it doesn't tax on the runtime,

it does this by recording all of the writes to each register in a space in memory, and whenever it's NOT writing to the registers, it either just waits for the next command, or, if a control register is written to, it will send a signal that tells Wasm4 to decrypt the register data and make a funky tune out of it,

I kind of rushed the actual song as I was very tired after working on this, however if you liked it! the .vgm can be found in the .wasm with a hex editor, and the original song can be found here! https://youtu.be/XeMwf9YFT6s?si=KNNpsogCnXPY6P7h

This is just a proof of concept, so there's not much to it unfortunately, and it is likely riddled with bugs. But if you would like to use this in your own projects, here's the VGM driver code! ^^
https://gist.github.com/Penncilk/23d4f76abdd73d2364ba075744c191db

I hope you enjoy!
Binary file added site/static/carts/wasm4GBVGMPlayer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added site/static/carts/wasm4GBVGMPlayer.wasm
Binary file not shown.

0 comments on commit f0d9978

Please sign in to comment.