BytePusher Rust banner

BytePusher Rust

4 devlogs
5h 8m 3s

BytePusher implemented in rust with usage of minifb and rodio library

Disclaimer: I don't own idea or demos. You can find all related resources here https://esolangs.org/wiki/BytePusher

sadly i am too lazy to implement everything, so i done…

BytePusher implemented in rust with usage of minifb and rodio library

Disclaimer: I don’t own idea or demos. You can find all related resources here https://esolangs.org/wiki/BytePusher

sadly i am too lazy to implement everything, so i done audio and display

I was referring to “A Bytepusher VM implementation in Zig – My Favorite Zig Project Yet” because i hadn’t understand some moments (adresses and pixeldata)

This project uses AI

fixed from

let pixels_addr: usize = ((mem[5] as u32) « 24) as usize;
to
let pixels_addr: usize = (mem[5] as usize) « 16;
AND
from
let color_index = slice_to_u32(&mem[pixels_addr+i..pixels_addr+i+INTSIZE]) as usize;
to
let color_index = mem[pixels_addr + i] as usize;

Demo Repository

Loading README...

Ivan

Anyway EARRAPE WARNING MAKE SOUND QUIETER

Sounds. Discovered rodio. And discovered very funny fact that handle had to be stored in order to be used =)))))))))))) Also finally understood how sounds are working. Even tho, either my implementaion or sound demo is cursed

0
Ivan

basics are working now!

0
Ivan

Made color palette, why it took so long? Because i am dump xd. Also it took me pretty long time really understand what wiki says about colors. And THE most time consuming was “Is it really correct?” i was checking colors just to realize that colors are 1 pixel wide so it is rather impossible for me to see them in this palette while test pallet is more distinct :d

Attachment
Attachment
0
Ivan

After research what i want to do today i thought about some cpu related stuff. After that i discovered CHIP-8 and BytePusher VMs. I thought that i have no expirence in such stuff and choosed BytePusher and Rust (as i am newbie in it).

Managed to create window with simple color change

0