Commit Graph

2083 Commits

Author SHA1 Message Date
Arisotura 80c3fe4b25 make instances save to different save files, too 2022-09-16 23:41:16 +02:00
Arisotura 135524675d separate firmware files for multiplayer instances 2022-09-16 20:37:03 +02:00
Arisotura 65f1aff453 more UI work: make it explicit that some things are instance-unique 2022-09-15 23:49:10 +02:00
Arisotura 3192b9621f work some on the UI... make it not labelled Fart 2022-09-15 23:39:30 +02:00
Arisotura 5ebc63c713 lay groundwork for instance-unique config 2022-09-15 22:48:37 +02:00
Arisotura 455c996170 finish removing RandomizeMAC 2022-09-15 21:44:24 +02:00
Arisotura 648bf9fa7f begin work on proper multiplayer UI shito.
for now, determine a global instance ID, and derivate the system MAC from it. remove 'randomize MAC' option.
2022-09-15 21:22:10 +02:00
Arisotura 139fe5a045 25ms seems like a good timeout 2022-09-05 22:23:59 +02:00
Nadia Holmquist Pedersen d7284d5cb8 Make it work on macOS, for now using a custom sem_timedwait
implementation.

If anyone knows anything about mach ports and have an idea for how to
make this work using mach IPC, please do let me know.
2022-09-05 17:54:09 +02:00
Arisotura d7f448daf1 make this work under Linux 2022-09-04 22:03:47 +02:00
Arisotura 80e5c01dd7 fix IRQ14/IRQ15 2022-09-04 15:41:59 +02:00
Arisotura 4129c7e9c7 run wifi every 8µs. improves performance. 2022-09-04 14:48:08 +02:00
Arisotura 4c62c009c5 fix more wifi shittiness (mainly don't try to receive shit while sending a frame) 2022-09-04 14:22:05 +02:00
Arisotura a8667bc6dd fix some more shittiness 2022-09-04 11:22:45 +02:00
Arisotura f41cfd70ab fix some of the shittiness when trying to connect more than two players 2022-09-04 02:00:12 +02:00
Arisotura 3758062101 remove some cruft 2022-09-04 00:48:13 +02:00
Arisotura f8b20a0920 move RX-finish to its own function. more accurate filtering. implement RXFILTER. 2022-09-04 00:04:46 +02:00
Arisotura fc4beabab2 don't transmit shit if RXCNT.bit15 isn't set 2022-09-03 19:07:54 +02:00
Arisotura 906a87e84d kind of a rollback... we're gonna work out a compromise on this, I guess 2022-09-03 12:11:13 +02:00
Arisotura 705355d12e there are problems with this scheduler thing. committing it anyway 2022-09-03 00:04:30 +02:00
Arisotura d04879298c add enough TX functionality that online wifi is a possibility again. 2022-09-02 22:43:13 +02:00
Arisotura e51b8d9997 begin work on receiving frames. for now it can just receive melonAP beacons, but hey, it's a start. 2022-09-02 00:44:58 +02:00
Arisotura ab084fcf08 add the RF wakeup thing 2022-09-01 23:14:02 +02:00
Arisotura f380a53404 implement the shitty timers 2022-09-01 22:58:40 +02:00
Arisotura cc68017f52 * begin adding POWCNT2, only applies to wifi for now
* begin work on wifi scheduler
2022-09-01 22:24:20 +02:00
Arisotura fb73b80674 attempt at making the connection process smoother for weird games 2022-08-28 16:41:53 +02:00
Arisotura 22d9f3edad BAHAHAHAHAHAHAHAHHHH
THE SNEAKY BASTARDS

so, when the DS receives a beacon with the right BSSID

that beacon's timestamp is copied to USCOUNTER
2022-08-28 12:25:37 +02:00
Arisotura 67630e3913 deal with FIFO overflow more gracefully 2022-08-27 13:37:56 +02:00
Arisotura b858114c48 more graceful handling of disconnects 2022-08-27 13:17:15 +02:00
Arisotura 47bc7bb323 set wifi time interval to 34 cycles instead of 33. games seem sensitive to the general timing of wifi vs the rest of the system, and this seems to make things run better, atleast until I rewrite this to use a proper scheduler. 2022-08-27 11:42:43 +02:00
Arisotura 728eb38b88 remove a bunch of cruft 2022-08-26 23:40:59 +02:00
Arisotura f0452ca149 * when entering power-saving mode, be sure to finish transferring the current frame first
* fix misc bug due to old cruft leftover

makes for a more stable connection
2022-08-26 00:43:53 +02:00
Arisotura da4acab0bd somewhat better exchange/sync method 2022-08-25 00:36:31 +02:00
Arisotura 8c4b756068 * add MP-reply error counters
* feeble attempt at fixing slowdown/desync/etc problems
2022-08-21 15:08:20 +02:00
Arisotura 639ed7b150 start implementing MP-comm error handling 2022-08-21 13:37:31 +02:00
Arisotura 5db8499787 leave client sync mode when host deauths. makes download play actually work. 2022-08-21 00:51:28 +02:00
Arisotura 40ceb207e9 get this somewhat good 2022-08-20 19:53:05 +02:00
Arisotura 4f7b4e912a shut up logging from NULL writes on ARM7 (ffs Nintendo learn to code) 2022-08-20 12:00:23 +02:00
Arisotura 5a10807f91 shared-memory IPC that actually works (albeit Windows-only for now) 2022-08-20 02:29:42 +02:00
Arisotura d8b735822a as you wish, Sorer
(starting work on shared-memory system)
2022-08-19 22:56:01 +02:00
Arisotura 5f77ad3394 remove some stupid cruft 2022-08-19 18:38:45 +02:00
Arisotura 827c1e6436 move local-MP comm to its own module instead of cramping Platform.cpp 2022-08-18 23:28:52 +02:00
Arisotura ab15d7402a attempt at betterer wifi
* add preliminary sync mechanism
* fix gaps in wifi implementation
2022-08-18 19:47:01 +02:00
Nadia Holmquist Pedersen b5073e6014 lol oops 2022-09-18 23:39:19 +02:00
Nadia Holmquist Pedersen 993928095a Update repo URL in README.md 2022-09-14 19:02:22 +02:00
Rayyan Ansari 61de50069b Fix handling of utf16 title strings in ROMInfoDialog
Title strings should be null-terminated.
Read the string up until this point instead of reading the full 128 characters.
(Also fix the .ui file of ROMInfoDialog to prevent it from being too wide.)
2022-09-02 11:57:49 +01:00
Rayyan Ansari c3bd1d2e83
Fix reading banner from homebrew ROMs
Some homebrew ROMs do not have a banner, and use a null value to indicate this.
Do not attempt to read the banner when this is the case.
2022-09-02 11:47:12 +01:00
Nadia Holmquist Pedersen 9d56055afb mac-libs.rb: Make fallback rpaths less stupid, also shut up code
signature warnings
2022-08-31 21:39:32 +02:00
Rayyan Ansari 43b6ef1f60 Fix imports in mac-universal.py again 2022-08-31 18:35:10 +01:00
Rayyan Ansari 686aecb36c Make nested directories in mac-universal.py 2022-08-31 18:33:00 +01:00