diff options
author | Bad Diode <bd@badd10de.dev> | 2023-08-30 20:09:03 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2023-08-30 20:09:03 +0200 |
commit | be57c62f4633623005b5ac463ce7f65e8761d9bd (patch) | |
tree | 5616822baac37ffee92a16f634a8b9ca487ceb13 /src | |
parent | 0c8f3c2f28a31ed5b254ca62d32cb2565c47f8dd (diff) | |
download | uxngba-be57c62f4633623005b5ac463ce7f65e8761d9bd.tar.gz uxngba-be57c62f4633623005b5ac463ce7f65e8761d9bd.zip |
Fix audio and file indexing
Diffstat (limited to 'src')
-rw-r--r-- | src/main.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -200,7 +200,7 @@ dei_datetime(u8 *dev, u8 port) { | |||
200 | 200 | ||
201 | u16 | 201 | u16 |
202 | dei_audio(u8 *dev, u8 port) { | 202 | dei_audio(u8 *dev, u8 port) { |
203 | size_t idx = device_data + 0x30 - dev; | 203 | size_t idx = (dev - (device_data + 0x30)) / 16; |
204 | AudioChannel *c = &channels[idx]; | 204 | AudioChannel *c = &channels[idx]; |
205 | switch(port) { | 205 | switch(port) { |
206 | case 0x0: | 206 | case 0x0: |
@@ -222,7 +222,8 @@ dei_audio(u8 *dev, u8 port) { | |||
222 | 222 | ||
223 | void | 223 | void |
224 | deo_audio(u8 *dev, u8 port) { | 224 | deo_audio(u8 *dev, u8 port) { |
225 | size_t idx = device_data + 0x30 - dev; | 225 | size_t idx = (dev - (device_data + 0x30)) / 16; |
226 | txt_printf("IDX: %d\n", idx); | ||
226 | AudioChannel *c = &channels[idx]; | 227 | AudioChannel *c = &channels[idx]; |
227 | if (port == 0xf) { | 228 | if (port == 0xf) { |
228 | u16 length = 0; | 229 | u16 length = 0; |
@@ -241,7 +242,7 @@ deo_audio(u8 *dev, u8 port) { | |||
241 | 242 | ||
242 | u16 | 243 | u16 |
243 | dei_file(u8 *dev, u8 port) { | 244 | dei_file(u8 *dev, u8 port) { |
244 | size_t idx = device_data + 0xa0 - dev; | 245 | size_t idx = (dev - (device_data + 0xa0)) / 16; |
245 | UxnFile *c = &uxn_file[idx]; | 246 | UxnFile *c = &uxn_file[idx]; |
246 | switch(port) { | 247 | switch(port) { |
247 | case 0x0: | 248 | case 0x0: |
@@ -262,7 +263,7 @@ dei_file(u8 *dev, u8 port) { | |||
262 | 263 | ||
263 | void | 264 | void |
264 | deo_file(u8 *dev, u8 port) { | 265 | deo_file(u8 *dev, u8 port) { |
265 | size_t idx = device_data + 0xa0 - dev; | 266 | size_t idx = (dev - (device_data + 0xa0)) / 16; |
266 | u16 a, b, res; | 267 | u16 a, b, res; |
267 | UxnFile *f = &uxn_file[idx]; | 268 | UxnFile *f = &uxn_file[idx]; |
268 | switch(port) { | 269 | switch(port) { |