Commit Graph

301 Commits

Author SHA1 Message Date
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
Logan McNaughton
14ea0eee3f
cleanup loop detection (#160)
* cleanup loop detection

* more
2025-01-18 09:59:18 +01:00
Logan McNaughton
b065f807a2
Change box for audio (#157)
* Remove box for audio

* more
2025-01-17 11:27:30 +01:00
Logan McNaughton
ee95816385
Use Box for audio files (#156) 2025-01-17 11:07:39 +01:00
Logan McNaughton
d021cb5d32
use mimalloc (#155) 2025-01-17 11:06:57 +01:00
Logan McNaughton
9819fad475 fix crash 2025-01-17 09:08:53 +01:00
Logan McNaughton
dd767047fd make sure rumble is off when removing pak 2025-01-16 22:21:33 +01:00
Logan McNaughton
f6480ea312 slight fix in audio code 2025-01-16 20:04:23 +01:00
Logan McNaughton
e4174c7d4b cleanup some pak switching code 2025-01-16 19:49:20 +01:00
Logan McNaughton
f3d8080a26
Rumble pak support (#154)
* Rumble pak support

* more

* more

* more

* more

* more

* more

* more

* more
2025-01-16 18:54:44 +01:00
Logan McNaughton
b581bdcd40
Use GameController API in profile setup (#153)
* Use GameController API in profile setup

* more

* more

* more

* more

* more

* more

* more
2025-01-16 18:49:46 +01:00
Logan McNaughton
45d05cecf0
ignore HatState::Centered when configuring input (#151) 2025-01-15 07:33:31 +01:00
Logan McNaughton
eae81c4623
Add integer scaling option (#150)
* Add integer scaling option

* more

* more

* more
2025-01-14 23:23:26 +01:00
Logan McNaughton
c6c2187652
add fullscreen option (#146)
* add fullscreen option

* fix crash
2025-01-14 19:50:35 +01:00
Logan McNaughton
b2c1d88ea4
cleanup translate_address func (#145) 2025-01-14 19:36:59 +01:00
Logan McNaughton
643338e086
SDL code cleanup (#141)
* SDL code cleanup

* more
2025-01-14 13:59:47 +01:00
Logan McNaughton
d9a08f112d
cleanup rsp code (#140)
* cleanup rsp code

* more

* fix
2025-01-14 09:43:04 +01:00
Logan McNaughton
d3c26fb359
Remove loops in RSP code (#136)
* Remove loops in RSP cose

* more

* more

* more

* more

* more
2025-01-13 22:21:35 +01:00
Logan McNaughton
f75636f7e5
Cleanup unsafe functions (#134)
* cleanup unsafe blocks

* comment out flush mode stuff

* remove unsafe from input
2025-01-13 10:16:27 +01:00
Logan McNaughton
97e4921b6a
Don't transmute values in RSP code (#132)
* remove transmute

* fix

* more

* more

* fix
2025-01-13 09:13:14 +01:00
Logan McNaughton
9058cd1715
aarch64 support (#128)
* First step for aarch64

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* test with cpp

* more

* more

* more

* more

* more

* more

* more

* more
2025-01-12 09:20:06 +01:00
Logan McNaughton
5d00eccb19
Use bindgen for FFI interface (#127)
* Use bindgen for FFI interface

* use allow list
2025-01-11 18:18:01 +01:00
Logan McNaughton
63b8b79dd7 More RSP cleanup 2025-01-11 15:02:22 +01:00
Logan McNaughton
90c9bfbf09
More RSP Cleanup (#125) 2025-01-11 14:46:13 +01:00
Logan McNaughton
9a3a56d0c6
RSP cleanup (#124) 2025-01-11 14:34:16 +01:00
Logan McNaughton
a731b870da
add portable mode (#122)
* add portable mode

* readme

* more

* more

* more
2025-01-10 09:26:40 +01:00
Logan McNaughton
c54356e6f4
Fix VRU demo encoding (#120) 2025-01-09 21:10:03 +01:00
Logan McNaughton
b2d2089d95
Remove un-needed entry in Cargo.toml (#119) 2025-01-09 18:39:39 +01:00
Logan McNaughton
a47801b9cb
Minor changes to boot latest LibDragon ROMs (#117) 2025-01-09 16:11:48 +01:00
Logan McNaughton
ba6fe1bc05
VRU support (#115)
* VRU support

* clean

* more

* more

* more

* more

* more

* more

* more

* add mappings

* more

* more

* more

* more

* VRU window

* more

* more

* more

* more

* more

* change fony

* more

* clippy

* clip

* demo

* demo

* if

* fix

* if

* if
2025-01-09 10:31:21 +01:00
Logan McNaughton
e02add9676
Remove pub modifier for consts (#114) 2025-01-07 19:54:15 +01:00
Logan McNaughton
24b464fea4
Add option for high-res graphics (#111) 2025-01-07 13:38:57 +01:00
Logan McNaughton
89673df459
Add multi controller option (#110) 2025-01-07 12:34:36 +01:00
Logan McNaughton
774bb672fd
Fix cart ROM save (#109) 2025-01-07 12:04:37 +01:00
Logan McNaughton
913ec771bb
new speed limiter code (#107)
* new speed limiter code

* add version
2025-01-07 09:11:59 +01:00
Logan McNaughton
31bad0416d
Code cleanup (#103) 2025-01-06 10:08:58 +01:00
Logan McNaughton
12e37b0b29
code formatting (#100) 2024-12-31 22:21:55 +01:00
Logan McNaughton
415c3eca40
Clippy fixes (#99) 2024-12-31 22:15:39 +01:00
Logan McNaughton
5409b0f5d4
use spin sleep for more accurate VI timing (#97) 2024-12-29 12:06:59 +01:00
Logan McNaughton
0eadc38917
fix out-of-bound access in sram (#95) 2024-12-23 11:20:09 +01:00
Logan McNaughton
a40e795036
deal with out-of-bounds reads for RDRAM->RSP DMA (#94) 2024-12-23 10:15:30 +01:00
Logan McNaughton
5e7f562d0d
update eframe to 0.29 (#87) 2024-10-18 21:22:51 +02:00
Logan McNaughton
b1c6dd2910
Add unsafe keyword for extern C (#83) 2024-10-17 20:35:39 +02:00
Logan McNaughton
b560944234
Update eframe to 0.28 (#74) 2024-07-04 22:19:05 +02:00
Logan McNaughton
bdd15e340b
Add annotations suggested by linter (#68) 2024-06-13 14:04:32 -06:00
Logan McNaughton
d644617d62
Fix some crashes with test rom (#64)
* Fix some crashes with test rom

* fix lint
2024-05-30 19:49:56 -06:00
Logan McNaughton
49ba66f0a3
Fix linter errors (#55) 2024-05-02 07:29:48 -06:00
Logan McNaughton
93aafafa75
Remove string_remove_matches (#38) 2024-01-22 08:47:57 -07:00
Logan McNaughton
44dd53b367
round_ties_even is default now (#37) 2024-01-22 08:31:19 -07:00
Logan McNaughton
5af1c1f7ee
Update eframe/egui (#29) 2023-11-24 09:03:01 -07:00
Logan McNaughton
00c236ce8c fix linter 2023-11-05 21:51:41 -07:00
Logan McNaughton
2f1a1b1479 fix small gui bug 2023-11-03 09:03:01 -06:00
Logan McNaughton
e848bfbd81 fix crash 2023-11-02 12:17:39 -06:00
Logan McNaughton
cce163921e
gui (#24)
* gui

* name

* more

* more

* fix

* warn

* more

* remove dnd

* more

* more

* more

* more

* more

* more

* more

* more

* more

* linter

* more

* more

* more

* more

* linter

* more

* linter

* fix

* more
2023-11-02 10:45:11 -06:00
Logan McNaughton
268048f76c move func 2023-10-25 09:45:07 +03:00
Logan McNaughton
46625f3104
clippy fixes (#22)
* clippy fixes

* typo fix

* more

* more

* more

* more

* more

* more

* add workflow
2023-10-24 14:20:48 +03:00
Logan McNaughton
f969e71f17
don't use !0 (#21)
* don't use !0

* fix type
2023-10-24 02:45:22 -06:00
Logan McNaughton
94cfc61678
controller config (#19)
* controller config

* more

* list controllers

* add config file

* save at end

* fix path

* more

* clean

* readme

* more

* assign controller

* clear option

* more

* add bind profile

* pretty

* stub

* comments

* add comment

* move

* more

* use i

* use none

* add types

* more

* more

* more

* more

* more

* more controller stuff

* some joystick

* cleaner

* func

* func

* more

* clean

* more func

* more

* hat

* change defauly

* only p1

* bind using guid

* more

* windows

* add font

* more

* clean

* warnins

* more

* more

* more

* more

* more

* joystick

* clean

* more

* more
2023-10-23 21:44:14 +03:00
Logan McNaughton
c3fb872d6f
rom saves (#18)
* rom saves

* more

* more

* more

* works but slow

* use json

* clean

* clean

* clean
2023-10-16 21:20:58 +03:00
Logan McNaughton
a75e7a08cb shift jis support 2023-10-15 19:56:54 +03:00
Logan McNaughton
77d9f65196
RTC (#17)
* RTC

* fix
2023-10-15 10:09:17 -06:00
Logan McNaughton
ffdf84e221
use desktop fullscreen mode (#16) 2023-10-14 14:41:18 -06:00
Logan McNaughton
62743d9637
fix branch offset (#15) 2023-10-14 14:19:38 -06:00
Logan McNaughton
46464e6ad9 zero alloc rdram 2023-10-14 07:31:30 -06:00
Logan McNaughton
7591416da4 move to function 2023-10-12 20:43:23 -06:00
Logan McNaughton
0c97320010 fix controller detection 2023-10-12 20:32:17 -06:00
Logan McNaughton
4abdb0d4f8 command and conquer boots 2023-10-12 20:28:09 -06:00
Logan McNaughton
39afb26bfc allow exiting full screen 2023-10-12 18:20:06 -06:00
Logan McNaughton
86326683bd fullscreen option 2023-10-12 18:11:08 -06:00
Logan McNaughton
f345ab6968 avoid error 2023-10-12 12:51:17 -06:00
Logan McNaughton
6fa2292fe4 resizeable window 2023-10-12 12:21:58 -06:00
Logan McNaughton
0224d75bea
mempak support (#14)
* mempak support

* fix

* read and write

* format func

* formatting

* finish
2023-10-12 10:19:49 -06:00
Logan McNaughton
e9ef941707 7z support 2023-10-11 22:08:22 -06:00
Logan McNaughton
861abeb5cc only read first file 2023-10-11 21:22:11 -06:00
Logan McNaughton
a88b46ad52 zip support 2023-10-11 21:21:39 -06:00
Logan McNaughton
e1e19e76ab support swapped roms 2023-10-11 20:42:30 -06:00
Logan McNaughton
3f2a49eb21 fix dk64 2023-10-11 17:48:22 -06:00
Logan McNaughton
c8b9b707e5 dp freeze 2023-10-11 17:44:13 -06:00
Logan McNaughton
b468c05e80 6105 cic challenge 2023-10-11 17:35:52 -06:00
Logan McNaughton
80ea6b2c1f paper mario fixes 2023-10-11 17:13:49 -06:00