Commit Graph

289 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
5436b8c0fe
Slightly better rdram init (#172)
* Slightly better rdram init

* var
2025-01-23 14:02:14 +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
ba8f39f283
Netplay sync save files (#168) 2025-01-22 11:10:54 +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
dd767047fd make sure rumble is off when removing pak 2025-01-16 22:21:33 +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
b2c1d88ea4
cleanup translate_address func (#145) 2025-01-14 19:36:59 +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
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
c54356e6f4
Fix VRU demo encoding (#120) 2025-01-09 21:10:03 +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
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
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
00c236ce8c fix linter 2023-11-05 21:51:41 -07: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
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
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
f345ab6968 avoid error 2023-10-12 12:51:17 -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
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
Logan McNaughton
f07a6d2714
flash saves (#13)
* flash saves

* clean

* remove byte swap
2023-10-11 17:05:23 -06:00
Logan McNaughton
02416a9786 use func 2023-10-11 13:24:20 -06:00
Logan McNaughton
2a137a8b62 cleanup sram 2023-10-11 13:21:50 -06:00
Logan McNaughton
fe2c7752ea standardize file size 2023-10-11 13:16:00 -06:00
Logan McNaughton
0f0565b8b7 fix powerpuff girls 2023-10-11 12:33:31 -06:00
Logan McNaughton
8fd7bef85d fix ppl 2023-10-11 12:23:14 -06:00
Logan McNaughton
010e0f3fd8 fix wdc 2023-10-11 10:36:06 -06:00
Logan McNaughton
3d94f14c5b wrapping sub 2023-10-10 21:31:51 -06:00
Logan McNaughton
e4f4d6a9ae clean up compare 2023-10-10 21:31:04 -06:00
Logan McNaughton
43f86bf5bf fix again 2023-10-10 20:52:17 -06:00
Logan McNaughton
819f5a7d8b fix masking 2023-10-10 20:38:11 -06:00
Logan McNaughton
c75c1e780c fix flush mode 2023-10-10 20:03:13 -06:00
Logan McNaughton
e2995d5b59
event fixes (#12)
* fix vi stuff

* more

* more fix

* rename
2023-10-10 19:43:25 -06:00
Logan McNaughton
a6bafe9618 fix pal rom loading 2023-10-09 22:11:02 -06:00
Logan McNaughton
65c91ed359 clean up speed limiter 2023-10-09 20:54:17 -06:00
Logan McNaughton
1f0fbd6eaf watch for dp freeze 2023-10-09 16:15:19 -06:00
Logan McNaughton
f06905130d fix typo 2023-10-09 16:13:03 -06:00
Logan McNaughton
e1bce6345c fix tlb return 2023-10-08 14:33:39 -06:00
Logan McNaughton
6c0f3f5aec fix crash 2023-10-08 12:47:59 -06:00
Logan McNaughton
f5fad4b53e fix multu 2023-10-08 12:38:12 -06:00
Logan McNaughton
a8261e82a0 small cleanup 2023-10-08 08:27:57 -06:00
Logan McNaughton
c74d0e4c40 Revert "jalr"
This reverts commit a094b3a7d3.
2023-10-08 08:27:13 -06:00
Logan McNaughton
a094b3a7d3 jalr 2023-10-07 21:00:09 -06:00
Logan McNaughton
4a672bbbc3 startup values 2023-10-07 19:49:50 -06:00
Logan McNaughton
cb96c84100 small opt 2023-10-07 19:23:44 -06:00
Logan McNaughton
6fd82d6e91 more simple 2023-10-07 08:21:00 -06:00
Logan McNaughton
b0dfb6ad8c cache rsp opcode 2023-10-07 08:18:52 -06:00
Logan McNaughton
2c677ddb0c make func 2023-10-06 21:39:54 -06:00
Logan McNaughton
14b1c88304 move ai signal 2023-10-06 21:36:15 -06:00
Logan McNaughton
935065a3ad audio tweak 2023-10-06 20:43:20 -06:00
Logan McNaughton
1318adaafb only once 2023-10-06 20:30:49 -06:00
Logan McNaughton
edbf10212b rework frame limiter 2023-10-06 20:23:59 -06:00
Logan McNaughton
c193b03771
Tlb fixes (#10)
* tlb fixes

* more

* more

* more

* more

* back

* clean
2023-10-06 13:37:43 -06:00
Logan McNaughton
a9bff5c568 fix rsp test 2023-10-06 11:15:49 -06:00
Logan McNaughton
8762c28714 pi dma fixes 2023-10-06 11:07:50 -06:00
Logan McNaughton
95b5057746 masking fix 2023-10-06 10:51:30 -06:00
Logan McNaughton
96a7b35619
cache rsp instructions (#8)
* cache rsp instructions

* more

* fix
2023-10-05 21:01:27 -06:00
Logan McNaughton
3edbca1485
Events cleanup (#7)
* cleanup

* more

* more

* clean
2023-10-05 19:57:12 -06:00
Logan McNaughton
fde0af6f9b change cop unusable code 2023-10-05 18:42:23 -06:00
Logan McNaughton
33b138610c optimize vte 2023-10-05 13:05:35 -06:00
Logan McNaughton
723e307f6a default data for saves 2023-10-05 12:23:35 -06:00
Logan McNaughton
ad8e64ede5 add cycles 2023-10-05 12:20:37 -06:00
Logan McNaughton
61fcbd765b no save for PPG 2023-10-05 12:17:56 -06:00
Logan McNaughton
6d69daad74
better rsp timing (#6) 2023-10-05 12:10:01 -06:00
Logan McNaughton
b7d133cb37
sram support (#5)
* sram support

* more
2023-10-05 11:43:13 -06:00
Logan McNaughton
7dc0a3902a
eeprom saves (#4)
* eeprom start

* finish
2023-10-05 10:01:33 -06:00
Logan McNaughton
06738ea965 more 2023-10-04 22:43:36 -06:00
Logan McNaughton
2e4a23c315 Initial Commit 2023-10-04 14:33:17 -06:00