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