Crates.io | resid-rs |
lib.rs | resid-rs |
version | 1.1.1 |
source | src |
created_at | 2017-12-05 16:29:15.300527 |
updated_at | 2022-08-07 22:39:32.267928 |
description | Port of reSID, a MOS6581 SID emulator engine, to Rust |
homepage | |
repository | https://github.com/binaryfields/resid-rs |
max_upload_size | |
id | 41842 |
size | 639,497 |
Port of reSID, a MOS6581 SID emulator engine, to Rust.
This project originated from zinc64, a Commodore 64 emulator, around Jan 2017. It evolved to the point where it can be useful to others working on C64 sound/emulation so it is packaged and shipped as a standalone crate.
Once SID register read/writes are wired up to resid, all that is left to do is to generate audio samples and push them to audio output buffer.
while delta > 0 {
let (samples, next_delta) = self.resid.sample(delta, &mut buffer[..], 1);
let mut output = self.sound_buffer.lock().unwrap();
for i in 0..samples {
output.write(buffer[i]);
}
delta = next_delta;
}
Component | Status |
---|---|
Envelope | Done |
ExternalFilter | Done |
Filter | Done |
Sampler | Done |
Spline | Done |
Wave | Done |
Sid | Done |