Commit Graph

2093 Commits

Author SHA1 Message Date
Nadia Holmquist Pedersen 2b550192e7 Fix oversight with the preferences action causing the build to fail on macOS 2022-09-22 18:42:34 +02:00
Arisotura b171038c85 * do not copy more ROM banner data than actually needed
* avoid trying to read out of bounds if the banner offset is bad
2022-09-22 18:18:26 +02:00
Arisotura c4acc26076 fake enough of WEP processing to make Inazuma Eleven work 2022-09-21 18:53:49 +02:00
Arisotura 3368221aa7 * ignore WEP frames if WEP is off
* implement RX_LEN_CROP
2022-09-20 22:02:27 +02:00
Arisotura 621af5f535 add more fun labels 2022-09-20 20:30:26 +02:00
Arisotura 0303c74d7b ensure all the wifi shit is properly savestated and reset. properly update timings for the wifi region when wifi is disabled. 2022-09-20 19:59:16 +02:00
Arisotura dce96a426d actually implement the fun audio settings 2022-09-19 21:56:12 +02:00
Arisotura 502f7d08d4 actually hook up most of that dialog 2022-09-19 20:57:55 +02:00
Arisotura 3786705c68 lay base for the multiplayer settings dialog 2022-09-19 20:30:44 +02:00
Arisotura 788e4be81d more UI work, make things somewhat less shitty 2022-09-19 00:39:59 +02:00
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