|
1 | | -use crate::core::emu::Emu; |
2 | | -use crate::core::wifi::PaketType; |
3 | | -use crate::core::CpuType::ARM7; |
4 | | -use crate::utils::Convert; |
5 | | -use dsvita_macros::io_write; |
6 | | - |
7 | | -pub mod io_arm7 { |
| 1 | +pub mod io_arm7_read { |
8 | 2 | use crate::core::CpuType::ARM7; |
9 | 3 | use dsvita_macros::io_read; |
10 | 4 | io_read!( |
@@ -73,13 +67,13 @@ pub mod io_arm7 { |
73 | 67 | ); |
74 | 68 | } |
75 | 69 |
|
76 | | -pub mod io_arm7_upper { |
| 70 | +pub mod io_arm7_read_upper { |
77 | 71 | use crate::core::CpuType::ARM7; |
78 | 72 | use dsvita_macros::io_read; |
79 | 73 | io_read!((io32(0x100000), |emu| emu.ipc_fifo_recv(ARM7)), (io32(0x100010), |emu| todo!())); |
80 | 74 | } |
81 | 75 |
|
82 | | -pub mod io_arm7_wifi { |
| 76 | +pub mod io_arm7_read_wifi { |
83 | 77 | use crate::core::wifi::PaketType; |
84 | 78 | use dsvita_macros::io_read; |
85 | 79 | io_read!( |
@@ -157,9 +151,11 @@ pub mod io_arm7_wifi { |
157 | 151 | ); |
158 | 152 | } |
159 | 153 |
|
160 | | -io_write!( |
161 | | - IoArm7WriteLut, |
162 | | - [ |
| 154 | +pub mod io_arm7_write { |
| 155 | + use crate::core::CpuType::ARM7; |
| 156 | + use dsvita_macros::io_write; |
| 157 | + |
| 158 | + io_write!( |
163 | 159 | (io8(0x0), |mask, value, emu| {}), |
164 | 160 | (io16(0x4), |mask, value, emu| emu.gpu.set_disp_stat(ARM7, mask, value)), |
165 | 161 | (io32(0xB0), |mask, value, emu| emu.dma_set_sad(ARM7, 0, mask, value)), |
@@ -286,12 +282,13 @@ io_write!( |
286 | 282 | (io16(0x514), |mask, value, emu| emu.spu_set_snd_cap_len(0, mask, value)), |
287 | 283 | (io32(0x518), |mask, value, emu| emu.spu_set_snd_cap_dad(1, mask, value)), |
288 | 284 | (io16(0x51C), |mask, value, emu| emu.spu_set_snd_cap_len(1, mask, value)), |
289 | | - ] |
290 | | -); |
| 285 | + ); |
| 286 | +} |
291 | 287 |
|
292 | | -io_write!( |
293 | | - IoArm7WriteLutWifi, |
294 | | - [ |
| 288 | +pub mod io_arm7_write_wifi { |
| 289 | + use crate::core::wifi::PaketType; |
| 290 | + use dsvita_macros::io_write; |
| 291 | + io_write!( |
295 | 292 | (io16(0x800000), |mask, value, emu| {}), |
296 | 293 | (io16(0x800006), |mask, value, emu| emu.wifi_set_w_mode_wep(mask, value)), |
297 | 294 | (io16(0x800008), |mask, value, emu| emu.wifi_set_w_txstat_cnt(mask, value)), |
@@ -362,45 +359,5 @@ io_write!( |
362 | 359 | (io16(0x800158), |mask, value, emu| emu.wifi_set_w_bb_cnt(mask, value)), |
363 | 360 | (io16(0x80015A), |mask, value, emu| emu.wifi_set_w_bb_write(mask, value)), |
364 | 361 | (io16(0x80021C), |mask, value, emu| emu.wifi_set_w_irf_set(mask, value)), |
365 | | - ] |
366 | | -); |
367 | | - |
368 | | -impl IoArm7WriteLut { |
369 | | - pub fn write_fixed_slice<T: Convert>(addr: u32, slice: &[T], emu: &mut Emu) { |
370 | | - let lut_addr = addr - Self::MIN_ADDR; |
371 | | - let (func, write_size, offset) = unsafe { Self::_LUT.get_unchecked(lut_addr as usize) }; |
372 | | - |
373 | | - if *write_size < size_of::<T>() as u8 { |
374 | | - for value in slice { |
375 | | - Self::write((*value).into(), addr, size_of::<T>() as u8, emu); |
376 | | - } |
377 | | - } else { |
378 | | - let mask = 0xFFFFFFFF >> ((4 - size_of::<T>()) << 3); |
379 | | - let mask = mask << *offset; |
380 | | - for value in slice { |
381 | | - let value = (*value).into() << *offset; |
382 | | - func(mask, value, emu) |
383 | | - } |
384 | | - } |
385 | | - } |
386 | | -} |
387 | | - |
388 | | -impl IoArm7WriteLutWifi { |
389 | | - pub fn write_fixed_slice<T: Convert>(addr: u32, slice: &[T], emu: &mut Emu) { |
390 | | - let lut_addr = addr - Self::MIN_ADDR; |
391 | | - let (func, write_size, offset) = unsafe { Self::_LUT.get_unchecked(lut_addr as usize) }; |
392 | | - |
393 | | - if *write_size < size_of::<T>() as u8 { |
394 | | - for value in slice { |
395 | | - Self::write((*value).into(), addr, size_of::<T>() as u8, emu); |
396 | | - } |
397 | | - } else { |
398 | | - let mask = 0xFFFFFFFF >> ((4 - size_of::<T>()) << 3); |
399 | | - let mask = mask << *offset; |
400 | | - for value in slice { |
401 | | - let value = (*value).into() << *offset; |
402 | | - func(mask, value, emu) |
403 | | - } |
404 | | - } |
405 | | - } |
| 362 | + ); |
406 | 363 | } |
0 commit comments