Hi, I didn't follow any specific guide on this, but asked ChatGPT about the bare minimum environment needed to run DOOM. From there, I figured out how to execute the instructions using a switch-case and how to make a custom syscall to trigger rendering.
This reminded me of a project I built a while back: a RV32IM emulator in C++ that can boot and run DOOM. Initially I implemented only RV32I, and implementing the M extension provided a massive speedup!
By compression they mean dynamic range compression, which loudens softer sounds so they are more audible.
Pop songs for example, are heavily compressed because "compressed" music sounds "better" on cheap external speakers with bad dynamic range. Kinda like increasing the saturation on a cheap TFT panel.
I made a post a while back that details the entire process: https://www.reddit.com/r/EmuDev/comments/1t1or4j/doom_runs_o...