Compare commits

..

4 Commits

Author SHA1 Message Date
Logan McNaughton ca2a3d423b Bump to 1.0.0 (#205) 2025-01-30 19:33:47 +01:00
Logan McNaughton fe5346235e fix freeze in JFG (#204)
* fix freeze in JFG

* more
2025-01-30 19:32:56 +01:00
Logan McNaughton f84444a12e remove rdp_full_sync (#203)
* remove rdp_full_sync

* swap

* swap
2025-01-30 14:42:04 +01:00
Logan McNaughton 026e4c0e74 Bump to 0.1.26 (#202) 2025-01-29 21:06:36 +01:00
6 changed files with 3 additions and 16 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "gopher64"
version = "0.1.25"
version = "1.0.0"
edition = "2021"
rust-version = "1.82"
-1
View File
@@ -98,7 +98,6 @@ fn main() {
.allowlist_function("rdp_close")
.allowlist_function("rdp_set_vi_register")
.allowlist_function("rdp_update_screen")
.allowlist_function("rdp_full_sync")
.allowlist_function("rdp_process_commands")
.parse_callbacks(Box::new(bindgen::CargoCallbacks::new()))
.generate()
+1 -7
View File
@@ -62,7 +62,6 @@ static int cmd_cur;
static int cmd_ptr;
static bool emu_running;
static GFX_INFO gfx_info;
static uint64_t sync_signal;
static const unsigned cmd_len_lut[64] = {
1,
@@ -432,7 +431,7 @@ uint64_t rdp_process_commands()
if (RDP::Op(command) == RDP::Op::SyncFull)
{
sync_signal = processor->signal_timeline();
processor->wait_for_timeline(processor->signal_timeline());
uint32_t width = viCalculateHorizonalWidth(*gfx_info.VI_H_START_REG, *gfx_info.VI_X_SCALE_REG, *gfx_info.VI_WIDTH_REG);
if (width == 0)
@@ -456,8 +455,3 @@ uint64_t rdp_process_commands()
return interrupt_timer;
}
void rdp_full_sync()
{
processor->wait_for_timeline(sync_signal);
}
-1
View File
@@ -28,7 +28,6 @@ extern "C"
void rdp_set_vi_register(uint32_t reg, uint32_t value);
bool rdp_update_screen();
uint64_t rdp_process_commands();
void rdp_full_sync();
#ifdef __cplusplus
}
+1 -2
View File
@@ -54,6 +54,7 @@ pub fn read_regs_dpc(
) -> u32 {
let reg = (address & 0xFFFF) >> 2;
match reg as u32 {
DPC_CLOCK_REG => 0xFFFFFF, // needed for JFG
DPC_CURRENT_REG => {
if device.rdp.wait_frozen {
device.rsp.cpu.sync_point = true;
@@ -186,7 +187,5 @@ pub fn init(device: &mut device::Device) {
fn rdp_interrupt_event(device: &mut device::Device) {
device.rdp.regs_dpc[DPC_STATUS_REG as usize] &= !(DPC_STATUS_START_GCLK | DPC_STATUS_PIPE_BUSY);
ui::video::full_sync();
device::mi::set_rcp_interrupt(device, device::mi::MI_INTR_DP)
}
-4
View File
@@ -73,10 +73,6 @@ pub fn process_rdp_list() -> u64 {
unsafe { rdp_process_commands() }
}
pub fn full_sync() {
unsafe { rdp_full_sync() }
}
pub fn draw_text(text: &str, renderer: *mut sdl3_sys::render::SDL_Renderer, font: &rusttype::Font) {
let text_size = 32;
let scale = rusttype::Scale::uniform(text_size as f32);