Commit Graph

289 Commits

Author SHA1 Message Date
Logan McNaughton
db335e24d2
render frame before speed limiter (#555) 2025-08-22 07:59:28 +02:00
Logan McNaughton
8037fb426e
UNF loader support (#526) 2025-08-18 08:44:12 +02:00
Logan McNaughton
23fdfff1ac
some clippy fixes (#538)
* some clippy fixes

* more
2025-08-06 12:18:40 +02:00
Logan McNaughton
1eb1503981
Onscreen drawing (#536)
* onscreen messages

* more

* more

* more

* more

* use sdl_ttf

* more

* more

* more

* more

* test

* mroe

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more
2025-08-05 15:59:49 +02:00
Logan McNaughton
cd2b5b4e92
error checking for netplay ui channels (#527)
* error checking for netplay ui channels

* more
2025-07-25 07:00:45 +02:00
Logan McNaughton
f2e8bc6356 data access fixes 2025-07-20 21:33:07 +02:00
Logan McNaughton
e4dd5c2dee
Fix crash in wrestlemania (#510) 2025-07-16 12:13:12 +02:00
Logan McNaughton
16732d3d3c
use is_multiple_of (#468) 2025-07-05 09:31:03 +02:00
Logan McNaughton
5857da0404 add cheats enabled var 2025-07-05 09:25:31 +02:00
Logan McNaughton
8f6c6f1b94
Cheat support (#459)
* Cheat support

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more
2025-07-04 16:46:03 +02:00
Logan McNaughton
7fd43886de add a few vru phrases 2025-07-03 13:27:33 +02:00
Logan McNaughton
31b4e7944b
non-empty default value for ram (#465) 2025-07-02 14:33:19 +02:00
Logan McNaughton
dc1535ea04
better RAM access checks (#464)
* better RAM access checks

* more
2025-07-02 14:25:03 +02:00
Logan McNaughton
7a59714417
Make expansion pak optional (#463)
* Make expansion pak optional

* more
2025-07-02 09:59:01 +02:00
Logan McNaughton
ead561933b
Don't adjust variable limit after toggle (#458)
* Don't adjust variable limit after toggle

* more
2025-06-30 10:55:34 +02:00
Logan McNaughton
3da98c58c5
use rust 1.88 (#447)
* Use Rust 1.88

* add win aarch64 (commented out)

* Clippy fixes
2025-06-26 20:36:10 +02:00
Logan McNaughton
6e9b8ae126
Don't enable VRU during netplay (#445) 2025-06-26 11:44:56 +02:00
Logan McNaughton
0bb3d2cd5d
Slint fixes (#433)
* Slint fixes

* more

* more

* more

* more

* more

* more

* more

* more

* more
2025-06-26 09:00:23 +02:00
Logan McNaughton
f213b0b9a9
Use Slint for GUI (#432)
* Use Slint for GUI

* 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

* 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

* 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

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more
2025-06-25 12:38:33 +02:00
Logan McNaughton
69029f3a02
Don't panic on invalid transferpak access (#430) 2025-06-23 16:41:37 +02:00
Logan McNaughton
5b6f9b76a6 fix interlaced image (#383) 2025-04-15 23:23:47 +02:00
Logan McNaughton
383b568012
remove framebuffer tracking (#381)
* remove framebuffer tracking

* more
2025-04-15 11:08:40 +02:00
Logan McNaughton
83103130e7 cleanup 2025-03-25 12:59:32 +01:00
Logan McNaughton
a58eed7dc9
add a few more loops (#347)
* add a few more loops

* more
2025-03-22 08:23:48 +01:00
Logan McNaughton
09ba7e4d13
use loop for cache (#346) 2025-03-21 22:37:04 +01:00
Logan McNaughton
f71ec9d54a
add cic entry for libdragon ipl3 (#344) 2025-03-19 14:15:00 +01:00
Logan McNaughton
da9b2247f8
remove more mut (#334) 2025-03-16 10:10:16 +01:00
Logan McNaughton
1bcadb3a8b
remove un-needed mut (#333)
* remove un-needed mut

* more

* more
2025-03-16 09:48:32 +01:00
Logan McNaughton
b07dde8768
disable mempak for Chameleon Twist (#332) 2025-03-16 07:35:37 +01:00
Logan McNaughton
2828accee1
re-arrange UI struct (#310)
* re-arrange UI struct

* format
2025-03-09 10:30:43 +01:00
Logan McNaughton
16a9754bda
GB MBC1 support (#309) 2025-03-08 21:48:51 +01:00
Logan McNaughton
e73816541e
condense code (#308) 2025-03-07 18:35:48 +01:00
Logan McNaughton
fdc17f4ae5
make is viewer optional (#299)
* make is viewer optional

* more
2025-03-04 18:52:47 +01:00
Logan McNaughton
a4c505c72d
remove some code duplication (#298) 2025-03-04 10:12:56 +01:00
Logan McNaughton
30cb3f8339
add some randomness (#297) 2025-03-04 09:45:25 +01:00
Logan McNaughton
da1e686c1a
Add option for overclocking (#293)
* add option to overclock CPU

* netplay

* more

* more

* more

* more

* more
2025-02-28 21:34:33 +01:00
Logan McNaughton
37b902eb31
use deterministic rtc time (#288)
* use deterministic rtc time

* netplay
2025-02-27 10:59:44 +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
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
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
b7509a2425
use rust 2024 edition (#268) 2025-02-20 18:20:55 +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
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
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