mirror of
https://github.com/gopher64/gopher64.git
synced 2026-07-11 09:35:21 +02:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5409b0f5d4 | |||
| f9de4110ce | |||
| 0eadc38917 | |||
| a40e795036 | |||
| b70c943a43 | |||
| c962589478 | |||
| 6dec154351 |
+4
-3
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "gopher64"
|
||||
version = "0.1.10"
|
||||
version = "0.1.12"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
@@ -8,17 +8,18 @@ edition = "2021"
|
||||
[dependencies]
|
||||
dirs = "5.0"
|
||||
zip = "2.1"
|
||||
governor = "0.7"
|
||||
governor = "0.8"
|
||||
sevenz-rust = "0.6"
|
||||
chrono = "0.4"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
eframe = "0.29"
|
||||
eframe = "0.30"
|
||||
rfd = "0.15"
|
||||
sha2 = "0.10"
|
||||
rusttype = "0.9"
|
||||
futures = "0.3"
|
||||
sdl2-sys = "0.37"
|
||||
spin_sleep = "1.3"
|
||||
clap = { version = "4.4", features = ["derive"] }
|
||||
|
||||
[dependencies.sdl2]
|
||||
|
||||
@@ -165,11 +165,14 @@ pub fn do_dma(device: &mut device::Device, dma: RspDma) {
|
||||
while j < count {
|
||||
let mut i = 0;
|
||||
while i < length {
|
||||
let data = u32::from_ne_bytes(
|
||||
device.rdram.mem[dram_addr as usize..dram_addr as usize + 4]
|
||||
.try_into()
|
||||
.unwrap(),
|
||||
);
|
||||
let mut data = 0;
|
||||
if dram_addr < device::rdram::RDRAM_SIZE as u32 {
|
||||
data = u32::from_ne_bytes(
|
||||
device.rdram.mem[dram_addr as usize..dram_addr as usize + 4]
|
||||
.try_into()
|
||||
.unwrap(),
|
||||
);
|
||||
}
|
||||
if offset != 0 {
|
||||
// imem being updated
|
||||
device.rsp.cpu.instructions[((mem_addr & 0xFFF) / 4) as usize].func =
|
||||
|
||||
+2
-2
@@ -141,7 +141,7 @@ pub fn dma_read_sram(
|
||||
|
||||
format_sram(device);
|
||||
|
||||
while i < dram_addr + length {
|
||||
while i < dram_addr + length && i < device::rdram::RDRAM_SIZE as u32 {
|
||||
device.ui.saves.sram.0[j as usize] = device.rdram.mem[i as usize ^ device.byte_swap];
|
||||
i += 1;
|
||||
j += 1;
|
||||
@@ -191,7 +191,7 @@ pub fn dma_write_sram(
|
||||
|
||||
format_sram(device);
|
||||
|
||||
while i < dram_addr + length {
|
||||
while i < dram_addr + length && i < device::rdram::RDRAM_SIZE as u32 {
|
||||
device.rdram.mem[i as usize ^ device.byte_swap] = device.ui.saves.sram.0[j as usize];
|
||||
i += 1;
|
||||
j += 1;
|
||||
|
||||
+1
-1
@@ -163,7 +163,7 @@ pub fn speed_limiter(device: &device::Device) {
|
||||
if result.is_err() {
|
||||
let outcome = result.unwrap_err();
|
||||
let dur = outcome.wait_time_from(governor::clock::DefaultClock::default().now());
|
||||
std::thread::sleep(dur);
|
||||
spin_sleep::sleep(dur);
|
||||
|
||||
device.vi.limiter.as_ref().unwrap().check().unwrap();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user