Hacker News new | past | comments | ask | show | jobs | submit login
Writing a CHIP-8 Emulator with Rust and WebAssembly (scottlogic.com)
137 points by ColinEberhardt on Dec 14, 2017 | hide | past | favorite | 4 comments



It's not done here, but I've had success returning/accepting pointers over the Rust/JS boundary [0] using Box w/ raw pointers and mem::forget as necessary. They are just JS ints to places in the mem array like the mem refs in this blog. This can help you not require the "Cpu" instance as a static singleton but instead instantiate it as needed.

0 - https://github.com/cretz/asmble/blob/master/examples/rust-re...


Yeah I've used malloc+free+forget as well to allocate multi-megabyte strings (JSON encoded objects) to exchange data between JS and rust. Seems to work a treat.


Very cool! I also started writing a CHIP-8 emulator in Rust, though I had some problems getting graphics working with SDL.

https://github.com/TrevorS/rustychip8


Excellent! More and more posts like this push me to start learning rust by doing a WebAssembly project. Thank you.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: