diff --git a/examples/include/microw8-api.cwa b/examples/include/microw8-api.cwa index ff74ebb..c537642 100644 --- a/examples/include/microw8-api.cwa +++ b/examples/include/microw8-api.cwa @@ -34,6 +34,7 @@ import "env.rectangle_outline" fn rectangle_outline(f32, f32, f32, f32, i32); import "env.circle_outline" fn circle_outline(f32, f32, f32, i32); import "env.exp" fn exp(f32) -> f32; import "env.playNote" fn playNote(i32, i32); +import "env.sndGes" fn sndGes(i32) -> f32; const TIME_MS = 0x40; const GAMEPAD = 0x44; diff --git a/examples/include/microw8-api.wat b/examples/include/microw8-api.wat index 116b669..04bd403 100644 --- a/examples/include/microw8-api.wat +++ b/examples/include/microw8-api.wat @@ -34,6 +34,7 @@ (import "env" "circle_outline" (func $circle_outline (param f32) (param f32) (param f32) (param i32))) (import "env" "exp" (func $exp (param f32) (result f32))) (import "env" "playNote" (func $playNote (param i32) (param i32))) +(import "env" "sndGes" (func $sndGes (param i32) (result f32))) ;; to use defines, include this file with a preprocessor ;; like gpp (https://logological.org/gpp). diff --git a/platform/Cargo.lock b/platform/Cargo.lock index 1c85d8a..981983f 100644 --- a/platform/Cargo.lock +++ b/platform/Cargo.lock @@ -391,7 +391,7 @@ checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "upkr" version = "0.1.0" -source = "git+https://github.com/exoticorn/upkr.git?rev=2e7983fc#2e7983fc650788d98da2eecef2d16f63e849e4a0" +source = "git+https://github.com/exoticorn/upkr.git?rev=d93aec186c9fb91d962c488682a2db125c61306c#d93aec186c9fb91d962c488682a2db125c61306c" dependencies = [ "anyhow", "cdivsufsort", diff --git a/platform/bin/loader.wasm b/platform/bin/loader.wasm index e5a4279..83425e2 100644 Binary files a/platform/bin/loader.wasm and b/platform/bin/loader.wasm differ diff --git a/platform/bin/platform.uw8 b/platform/bin/platform.uw8 index b267807..444038b 100644 Binary files a/platform/bin/platform.uw8 and b/platform/bin/platform.uw8 differ diff --git a/platform/src/ges.cwa b/platform/src/ges.cwa index f52aaef..9ea6c73 100644 --- a/platform/src/ges.cwa +++ b/platform/src/ges.cwa @@ -10,7 +10,7 @@ const GesState.Size = GesState.Filter + 8*4; const GesStateOffset = 32; const GesBufferOffset = 32 + GesState.Size; -export fn gesSnd(t: i32) -> f32 { +export fn sndGes(t: i32) -> f32 { let baseAddr = 0!0x12c78; if !(t & 127) { let i: i32; diff --git a/src/run-web.html b/src/run-web.html index db404df..1d91e90 100644 --- a/src/run-web.html +++ b/src/run-web.html @@ -1 +1 @@ -uw8-run
\ No newline at end of file +uw8-run
\ No newline at end of file diff --git a/src/run_native.rs b/src/run_native.rs index 1a028f2..4cbf2bc 100644 --- a/src/run_native.rs +++ b/src/run_native.rs @@ -314,7 +314,7 @@ fn init_sound( let snd = instance .get_typed_func::<(i32,), f32, _>(&mut store, "snd") - .or_else(|_| platform_instance.get_typed_func::<(i32,), f32, _>(&mut store, "gesSnd"))?; + .or_else(|_| platform_instance.get_typed_func::<(i32,), f32, _>(&mut store, "sndGes"))?; let host = cpal::default_host(); let device = host diff --git a/uw8-tool/src/base_module.rs b/uw8-tool/src/base_module.rs index f6e0816..abb2ad3 100644 --- a/uw8-tool/src/base_module.rs +++ b/uw8-tool/src/base_module.rs @@ -167,6 +167,7 @@ impl BaseModule { add_function(&mut functions, &type_map, "exp", &[F32], Some(F32)); add_function(&mut functions, &type_map, "playNote", &[I32, I32], None); + add_function(&mut functions, &type_map, "sndGes", &[I32], Some(F32)); for i in functions.len()..64 { add_function( diff --git a/web/src/audiolet.js b/web/src/audiolet.js index e794277..797d0c7 100644 --- a/web/src/audiolet.js +++ b/web/src/audiolet.js @@ -63,7 +63,7 @@ class APU extends AudioWorkletProcessor { this.memory = memory; - this.snd = instance.exports.snd || platform_instance.exports.gesSnd; + this.snd = instance.exports.snd || platform_instance.exports.sndGes; this.port.postMessage(2); }