Commit Graph

280 Commits

Author SHA1 Message Date
Logan McNaughton
37b902eb31
use deterministic rtc time (#288)
* use deterministic rtc time

* netplay
2025-02-27 10:59:44 +01:00
Logan McNaughton
00964f06f0
use GL backend for GUI to avoid conflicts with game window (#287) 2025-02-27 10:04:53 +01:00
Logan McNaughton
319d7c8553
some mbc3 rtc code (#284) 2025-02-26 21:00:15 +01:00
Logan McNaughton
82b4adb4ad
flash cart menu support (#283)
* flash cart menu support

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more
2025-02-26 10:04:44 +01:00
Logan McNaughton
8fbc63a677
add links to wiki and discord (#282) 2025-02-24 18:50:29 +01:00
Logan McNaughton
48ee50dea3
fix Stadium 2 GB games (#281) 2025-02-24 15:31:19 +01:00
Logan McNaughton
34a09925b4
fix GB tower (#280) 2025-02-24 14:43:06 +01:00
Logan McNaughton
168347b46e
Transfer Pak UI (#279)
* Transfer Pak UI

* more

* more

* more

* more
2025-02-24 12:49:33 +01:00
Logan McNaughton
95a3d3d5ec fix type 2025-02-23 22:28:07 +01:00
Logan McNaughton
f6349f13da
tpak cleanup (#278)
* tpak cleanup

* more

* more
2025-02-23 16:10:53 +01:00
Logan McNaughton
fb2cf7fcb9
move UI elements around (#277) 2025-02-23 13:25:23 +01:00
Logan McNaughton
9980302d37
more tpak code (#276)
* more tpak code

* more
2025-02-23 13:10:50 +01:00
Logan McNaughton
4692e2bcb9
more tpak code (#275)
* more tpak code

* more
2025-02-23 11:59:15 +01:00
Logan McNaughton
04390301c9
more tpak code (#274) 2025-02-22 21:41:21 +01:00
Logan McNaughton
bc415821d6
check for new version (#273)
* check for new version

* more
2025-02-21 23:02:16 +01:00
Logan McNaughton
b7509a2425
use rust 2024 edition (#268) 2025-02-20 18:20:55 +01:00
Logan McNaughton
09dfd69283
use better data struct for netplay servers (#269)
* use better data struct for netplay servers

* more
2025-02-20 12:46:44 +01:00
Logan McNaughton
d262567084
use struct in netplay code (#265)
* use struct in netplay code

* more
2025-02-19 20:57:03 +01:00
Logan McNaughton
c363e78fbb
add slider for resolution (#264)
* add slider for resolution

* more
2025-02-19 14:48:36 +01:00
Logan McNaughton
b01c2d1885 use key down for input 2025-02-18 14:25:24 +01:00
Logan McNaughton
938a99caa9
clean up data struct (#262)
* clean up data struct

* add check

* more

* more

* more
2025-02-18 10:05:48 +01:00
Logan McNaughton
656e390171
track RDP RDRAM writes (#259)
* track RDP RDRAM writes

* more

* more

* more

* more

* more
2025-02-17 22:13:45 +01:00
Logan McNaughton
17990dfebc
toggle speed limiter (#260) 2025-02-17 13:40:25 +01:00
Logan McNaughton
671a961789
Use struct instead of tuple (#258)
* Use struct instead of tuple

* more
2025-02-17 09:19:25 +01:00
Logan McNaughton
dc5a78a75e
use audio for netplay messages (#256)
* use audio for netplay messages

* more
2025-02-16 11:04:59 +01:00
Logan McNaughton
c2780c78b3
Transferpak stub (#254)
* transferpak support

* more

* more
2025-02-15 18:32:36 +01:00
Logan McNaughton
e04a151d49
set DPC_PIPEBUSY_REG (#253)
* set DPC_PIPEBUSY_REG

* revert hidden rdram change

* more
2025-02-15 08:29:37 +01:00
Logan McNaughton
8566eee906 fix possible crash in is viewer 2025-02-14 22:20:15 +01:00
Logan McNaughton
b7d194e12d
alt_return to toggle fullscreen (#252)
* alt_return to toggle fullscreen

* more
2025-02-14 12:29:49 +01:00
Logan McNaughton
df9ad377d3
add cycles for rsp mfc0 (#251)
* add cycles for rsp mfc0

* more
2025-02-14 10:07:58 +01:00
Logan McNaughton
8f20abe813
update_screen after speed limiter (#250) 2025-02-13 22:09:17 +01:00
Logan McNaughton
500b4bb505
only try to assign enabled controllers (#248) 2025-02-13 21:05:22 +01:00
Logan McNaughton
74c65750a3
add some sdl window flags (#247) 2025-02-13 11:40:06 +01:00
Logan McNaughton
2d09425ca1
fix rsp reserved commands (#246) 2025-02-12 22:04:30 +01:00
Logan McNaughton
d0965c03e1
dynamically calculate speed limit frequency (#245)
* dynamically calculate speed limit frequency

* dynamically calculate speed limit frequency

* dynamically calculate speed limit frequency

* more
2025-02-12 21:18:54 +01:00
Logan McNaughton
6ee55ce4ca
add a way to show internal FPS (#244) 2025-02-12 17:53:17 +01:00
Logan McNaughton
63b2ed69e4
don't modify cart.rom (#243)
* don't modify cart.rom

* don't modify cart.rom

* don't modify cart.rom

* more

* more
2025-02-12 16:09:42 +01:00
Logan McNaughton
0faf33fcfa
PAL aspect ratio adjustment (#242) 2025-02-12 10:14:06 +01:00
Logan McNaughton
b67268ff62
fix PAL aspect ratio (#241) 2025-02-12 09:19:39 +01:00
Logan McNaughton
2289971987
Savestate support (#236)
* add save state support

* bind to f5

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* arm

* arm

* arm

* arm

* arm

* more

* more

* more

* more

* more

* more
2025-02-11 15:22:35 +01:00
Logan McNaughton
7f6de5119f
use git hash for netplay sync (#234)
* use git hash for netplay sync

* more
2025-02-10 17:02:09 +01:00
Logan McNaughton
1c168c4bcd
add some CPU read cycles (#233)
* add some CPU read cycles

* more

* more

* more

* use scissor region for rdp interrupt calc
2025-02-09 17:34:29 +01:00
Logan McNaughton
ab5ef57106 further function cleanup 2025-02-09 11:43:10 +01:00
Logan McNaughton
4c50203ad3
modify rdp sync code (#230) 2025-02-08 21:39:48 +01:00
Logan McNaughton
271e4be68c
disable rdp sync optimization to be safe (#229) 2025-02-08 21:20:59 +01:00
Logan McNaughton
a9afd6bb5c
Improve RDP emulation performance (#228)
* Improve RDP emulation performance

* more

* more

* more

* more
2025-02-07 22:29:20 +01:00
Logan McNaughton
58eaad1742
remove some dependencies (#226)
* remove some dependencies

* more

* more

* more

* more
2025-02-05 19:31:38 +01:00
Logan McNaughton
f4099cfcce
further sc64 cleanup (#224)
* further sc64 cleanup

* further sc64 cleanup
2025-02-05 13:39:24 +01:00
Logan McNaughton
5b3e2a25de
Fix out-of-bounds ROM dma (#223)
* Fix out-of-bounds ROM dma

* Fix out-of-bounds ROM dma

* more
2025-02-05 13:18:44 +01:00
Logan McNaughton
55ab1cb60b
Fix address masking in sc64 read/write (#222)
* fix address masking for sc64

* more

* more
2025-02-05 10:29:07 +01:00
Logan McNaughton
96d2a72850
compress sd and rom saves during netplay (#220)
* compress sd and rom saves during netplay

* compress sd and rom saves during netplay
2025-02-04 21:21:47 +01:00
Logan McNaughton
4c7361f963
No need to check for ROM bounds on write (#219)
* resize ROM when writing if needed

* more
2025-02-04 19:50:19 +01:00
Logan McNaughton
80fc5f8ea2 collapse variable 2025-02-04 15:42:29 +01:00
Logan McNaughton
f0eb5764c8
emulate summercart64 ROM_WRITE_ENABLE flag (#218)
* emulate summercart64 ROM_WRITE_ENABLE flag

* clean up names
2025-02-04 15:37:55 +01:00
Logan McNaughton
480af8d36e
Ignore summercart64 USB commands (#217) 2025-02-04 13:14:57 +01:00
Logan McNaughton
ad4eddb408
Fix crash when game name cannot be parsed (#216) 2025-02-04 13:01:33 +01:00
Logan McNaughton
920a0323c0 cleanup 2025-02-03 16:49:42 +01:00
Logan McNaughton
14e45be300
SD card emulation (#214)
* SD card emulation

* more

* more

* more

* more

* more

* more

* more

* better save name

* better save name

* better save name

* more
2025-02-03 16:41:46 +01:00
Logan McNaughton
fba6a4a6d4
support for Advanced Homebrew ROM Header (#213)
* support for Advanced Homebrew ROM Header

* more

* more
2025-02-03 10:22:21 +01:00
Logan McNaughton
a7c2c26d78
minor tweak to interrupt system (#211) 2025-02-02 11:23:32 +01:00
Logan McNaughton
7d63a694cc
fix compare interrupt (#210) 2025-02-01 20:47:26 +01:00
Logan McNaughton
5c98a08fe4
remove schedule_rcp_interrupt (#208)
* remove schedule_rcp_interrupt

* more

* more

* more
2025-02-01 19:16:38 +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
cb9309d7e4
RDP sync updates (#201)
* RDP sync updates

* rename

* rename
2025-01-29 20:21:49 +01:00
Logan McNaughton
1b1313003c
dont run rsp task when dma is busy (#200) 2025-01-29 12:50:29 +01:00
Logan McNaughton
7219a4445c
add another sync point for RSP (#199) 2025-01-29 11:14:50 +01:00
Logan McNaughton
687badc142
Modify RSP sync points (#198)
* modify RSP sync points

* more

* more

* more

* more

* more

* more

* more
2025-01-29 10:49:29 +01:00
Logan McNaughton
27922fbf9c
use TCP_RECEIVE_SAVE_WITH_SIZE for netplay (#193)
* use TCP_RECEIVE_SAVE_WITH_SIZE for netplay

* more

* more

* more
2025-01-28 13:30:59 +01:00
Logan McNaughton
71b7baf613
fix masking pi regs (#192) 2025-01-27 22:50:49 +01:00
Logan McNaughton
f4714a7813
add rdram reg that libdragon seems to access (#191)
* add rdram reg that libdragon seems to access

* more
2025-01-27 19:42:36 +01:00
Logan McNaughton
6f33934180
on mac, run game in new process (#189)
* on mac, run game in new process

* more

* more

* more

* remove tokio

* clippy

* formatting

* more

* more

* more

* more

* more

* more

* more

* more

* more
2025-01-27 18:02:06 +01:00
Logan McNaughton
cbc9045ad4 print error message when sdl fails 2025-01-27 12:02:42 +01:00
Logan McNaughton
3dc28cc603
Don't create UI in same thread as egui (#187) 2025-01-27 07:36:53 +01:00
Logan McNaughton
a2ba5baaa8
move sse2neon to versioned folder (#185)
* move sse2neon to versioned folder

* more
2025-01-26 19:13:19 +01:00
Logan McNaughton
333865e7de
dont create new UI on close (#184)
* dont create new UI on close

* dont create new UI on close

* more

* more

* more

* more

* more
2025-01-26 17:47:17 +01:00
Logan McNaughton
b1bb96c7d2
use binary format for rom saves (#183)
* use binary format for rom saves

* more
2025-01-26 15:00:49 +01:00
Logan McNaughton
9e88343c6b
check accept value of netplay begin_game message (#182) 2025-01-26 12:26:24 +01:00
Logan McNaughton
75e59ee051
cleanup dir detection (#181)
* cleanup dir detection

* more

* more
2025-01-26 11:27:33 +01:00
Logan McNaughton
6820da889c
add icon for windows (#179) 2025-01-25 19:00:38 +01:00
Logan McNaughton
416d43dee5 small input cleanup 2025-01-25 14:16:51 +01:00
Logan McNaughton
b0e9c29a05
SDL code tweaks (#177)
* SDL code tweaks

* more

* more

* more

* more

* more
2025-01-25 12:43:37 +01:00
Logan McNaughton
02c8661b4e
Use SDL3 (#175)
* Use SDL3

* more

* more

* more

* source

* more

* destory

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* fix

* fix

* more

* more

* more

* more

* more

* more

* more
2025-01-25 11:25:54 +01:00
Logan McNaughton
dae67b7e8b
Netplay fix for buffer reporting (#173) 2025-01-23 15:14:16 +01:00
Logan McNaughton
5436b8c0fe
Slightly better rdram init (#172)
* Slightly better rdram init

* var
2025-01-23 14:02:14 +01:00
Logan McNaughton
8366ab0cad
Netplay code improvements (#171)
* better socket close code

* Set TOS value on packets

* better game name parsing
2025-01-23 13:00:34 +01:00
Logan McNaughton
bda2266d74 fix potential crash 2025-01-22 21:47:38 +01:00
Logan McNaughton
195412a48e
Netplay input sync (#169)
* Netplay sync inputs

* use wrapping add

* non blocking

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* message

* more

* close

* fixes

* redirect rumble

* more

* fix

* more

* messages
2025-01-22 21:31:58 +01:00
Logan McNaughton
9257e8c66d clean up rom saving 2025-01-22 13:23:59 +01:00
Logan McNaughton
87ae2b940a optimize save loading 2025-01-22 13:21:19 +01:00
Logan McNaughton
ba8f39f283
Netplay sync save files (#168) 2025-01-22 11:10:54 +01:00
Logan McNaughton
1a823399ab fix loading ROM in netplay 2025-01-22 09:48:09 +01:00
Logan McNaughton
26f0936dc7
disable VRU during netplay (#167) 2025-01-20 21:48:39 +01:00
Logan McNaughton
ada4b7e3b4
Netplay registration (#166)
* Register player

* more

* more

* more

* more

* more
2025-01-20 21:29:46 +01:00
Logan McNaughton
004af133eb
Netplay join room (#165)
* netplay Join room

* more

* more

* more

* more

* more

* more
2025-01-20 15:24:11 +01:00
Logan McNaughton
0af411d662
Netplay wait room (#164)
* netplay wait room

* more

* more

* more

* wait room

* more

* more
2025-01-20 11:58:15 +01:00
Logan McNaughton
549d71bebf repaint GUI while waiting for data 2025-01-20 07:56:11 +01:00
Logan McNaughton
9eacf8a916
Finish netplay create room logic (#163)
* Move files

* more

* auth

* more
2025-01-19 22:35:56 +01:00
Logan McNaughton
dbd12516cf
Netplay create room GUI (#162)
* netplay

* more

* more

* more

* more

* tokio

* more

* more

* more

* video

* functions

* more

* use rusttls

* fix broadcast
2025-01-19 14:17:09 +01:00
Logan McNaughton
4ead0218d9
remove pub keyword where it isn't needed (#161)
* remove pub keyword where it isn't needed

* more

* Update main.rs

* more
2025-01-18 19:58:23 +01:00