mirror of
https://github.com/gopher64/gopher64.git
synced 2026-07-11 01:25:20 +02:00
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0eadc38917 | |||
| a40e795036 | |||
| b70c943a43 | |||
| c962589478 | |||
| 6dec154351 | |||
| ca33797973 | |||
| 8d331e1aed | |||
| 5e7f562d0d | |||
| 14e3fe2a55 | |||
| b1c6dd2910 | |||
| e87c4736ee | |||
| e9e1e000c2 | |||
| bc83dd26ee | |||
| ae97990308 | |||
| e02ac09703 | |||
| 4cbdae2fce | |||
| 877eff0fd4 | |||
| b560944234 | |||
| c6bfea5018 | |||
| 74db103659 |
+1
-1
@@ -1,2 +1,2 @@
|
||||
[build]
|
||||
[target.'cfg(target_arch = "x86_64")']
|
||||
rustflags = ["-C", "target-cpu=x86-64-v3"]
|
||||
|
||||
+6
-6
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "gopher64"
|
||||
version = "0.1.7"
|
||||
version = "0.1.11"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
@@ -8,21 +8,21 @@ edition = "2021"
|
||||
[dependencies]
|
||||
dirs = "5.0"
|
||||
zip = "2.1"
|
||||
governor = "0.6"
|
||||
governor = "0.8"
|
||||
sevenz-rust = "0.6"
|
||||
chrono = "0.4"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
eframe = "0.27"
|
||||
rfd = "0.14"
|
||||
eframe = "0.30"
|
||||
rfd = "0.15"
|
||||
sha2 = "0.10"
|
||||
rusttype = "0.9"
|
||||
futures = "0.3"
|
||||
sdl2-sys = "0.36"
|
||||
sdl2-sys = "0.37"
|
||||
clap = { version = "4.4", features = ["derive"] }
|
||||
|
||||
[dependencies.sdl2]
|
||||
version = "0.36"
|
||||
version = "0.37"
|
||||
default-features = false
|
||||
features = ["static-link","bundled"]
|
||||
|
||||
|
||||
@@ -51,6 +51,10 @@ fn main() {
|
||||
|
||||
#[cfg(target_os = "windows")]
|
||||
{
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
{
|
||||
build.flag("/arch:AVX2");
|
||||
}
|
||||
build.flag("-DVK_USE_PLATFORM_WIN32_KHR");
|
||||
|
||||
winres::WindowsResource::new()
|
||||
@@ -60,6 +64,10 @@ fn main() {
|
||||
}
|
||||
#[cfg(any(target_os = "linux", target_os = "macos"))]
|
||||
{
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
{
|
||||
build.flag("-march=x86-64-v3");
|
||||
}
|
||||
build
|
||||
.flag("-Wno-missing-field-initializers")
|
||||
.flag("-Wno-unused-parameter");
|
||||
|
||||
Submodule parallel-rdp/parallel-rdp-standalone updated: 7e5ad30b8c...388d70f583
@@ -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
@@ -126,7 +126,7 @@ fn main() {
|
||||
eframe::run_native(
|
||||
"gopher64",
|
||||
options,
|
||||
Box::new(|_cc| Box::new(ui::gui::GopherEguiApp::new())),
|
||||
Box::new(|_cc| Ok(Box::new(ui::gui::GopherEguiApp::new()))),
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
+5
-3
@@ -129,7 +129,9 @@ impl eframe::App for GopherEguiApp {
|
||||
}
|
||||
|
||||
egui::CentralPanel::default().show(ctx, |ui| {
|
||||
ui.set_enabled(!self.configure_profile);
|
||||
if self.configure_profile {
|
||||
ui.disable()
|
||||
}
|
||||
|
||||
if ui.button("Open ROM").clicked() {
|
||||
// Spawn dialog on main thread
|
||||
@@ -177,7 +179,7 @@ impl eframe::App for GopherEguiApp {
|
||||
for i in 0..4 {
|
||||
ui.label(format!("{}", i + 1));
|
||||
|
||||
egui::ComboBox::from_id_source(format!("profile-combo-{}", i))
|
||||
egui::ComboBox::from_id_salt(format!("profile-combo-{}", i))
|
||||
.selected_text(self.selected_profile[i].clone())
|
||||
.show_ui(ui, |ui| {
|
||||
for j in 0..self.input_profiles.len() {
|
||||
@@ -194,7 +196,7 @@ impl eframe::App for GopherEguiApp {
|
||||
} else {
|
||||
self.controllers[self.selected_controller[i] as usize].clone()
|
||||
};
|
||||
egui::ComboBox::from_id_source(format!("controller-combo-{}", i))
|
||||
egui::ComboBox::from_id_salt(format!("controller-combo-{}", i))
|
||||
.selected_text(controller_text)
|
||||
.show_ui(ui, |ui| {
|
||||
ui.selectable_value(
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
use crate::ui;
|
||||
|
||||
extern "C" {
|
||||
unsafe extern "C" {
|
||||
pub fn vk_init(rdram_ptr: usize, rdram_size: u32, fullscreen: u8);
|
||||
pub fn set_sdl_window(window: usize);
|
||||
pub fn rdp_update_screen() -> u8;
|
||||
|
||||
Reference in New Issue
Block a user