Views: 6,857,586 | Homepage | Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search | 04-19-24 12:06 PM |
Guest: |
Main - Posts by Arisotura |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 201/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
does your joystick have multiple dpads? melonDS is set to use the first one. ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 202/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
that's not how the config works, those entries only take numbers
for reference, here is how they are encoded: Joy_xxxx=N button: N = button number from 0 dpad: N = 256 + direction, like u8 blackhat = SDL_JoystickGetHat(joy, 0);
if (blackhat) { if (blackhat & 0x1) blackhat = 0x1; else if (blackhat & 0x2) blackhat = 0x2; else if (blackhat & 0x4) blackhat = 0x4; else blackhat = 0x8; joymap[id] = 0x100 | blackhat; ... } something that'd be helpful here, would be go in the config panel and open the properties page for your joystick, y'know, where it shows the buttons and axes and all and take a screenshot of that so we can see what your dpad is recognized as ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 203/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
yeah that's what I thought-- the dpad is recognized as a 2-axis joystick.
seeing as that's the only one there, you can just leave directional keys unconfigured-- melonDS recognizes a 2-axis joystick automatically and lets you use that for dpad keys. ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 204/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
shiiiiiiiiiiiit
I just realized, my code is flawed in a dumb way if (Joystick)
{ SDL_JoystickUpdate(); Uint32 hat = SDL_JoystickGetHat(Joystick, 0); Sint16 axisX = SDL_JoystickGetAxis(Joystick, 0); Sint16 axisY = SDL_JoystickGetAxis(Joystick, 1); for (int i = 0; i < 12; i++) { int btnid = Config::JoyMapping[i]; if (btnid < 0) continue; bool pressed; if (btnid == 0x101) // up pressed = (hat & SDL_HAT_UP) || (axisY <= -16384); else if (btnid == 0x104) // down pressed = (hat & SDL_HAT_DOWN) || (axisY >= 16384); else if (btnid == 0x102) // right pressed = (hat & SDL_HAT_RIGHT) || (axisX >= 16384); else if (btnid == 0x108) // left pressed = (hat & SDL_HAT_LEFT) || (axisX <= -16384); else pressed = SDL_JoystickGetButton(Joystick, btnid); if (pressed) joymask &= ~(1<<i); } } blarg. joystick axis will only work if an actual dpad has been mapped anyway, you can fix it by hand-editing the config file, like Joy_Right=258 Joy_Left=264 Joy_Up=257 Joy_Down=260 let me know if that works ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 205/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
in the joystick property dialog, see if pressing the dpad directions yields the correct result
'cause otherwise that'd be weird. maybe it's returning values that fall below the thresholds melonDS uses. (the threshold value in the code above is 16384 which is 50% of the range in one direction) ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 206/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
Posted by Videogamer555 that's how it works. just run two instances, the games should find eachother and connect without having to do much more. that being said, it might or might not work-- not all games work. ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 207/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
https://github.com/StapleButter/melonDS/blob/master/src/libui_sdl/Platform.cpp#L181
it's not a hack, the 'all instances using the same port' bit is how it's meant to work. the idea is that all running instances can participate into multiplayer games without requiring emu-side config. that being said, I'm still pretty sure most of the issues with wifi connection are due to the incomplete emulation of the DS wifi device, esp. its multiplayer features. and also the insane rates at which data frames are sent during multiplayer. to give you an idea: this blog post describes well how the shito works. ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 208/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
wifi in 0.6b doesn't emulate an access point, it's only for local multiplayer
also, which kind of console is your firmware from? DSi/3DS firmware dumps aren't bootable. ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 209/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
unfinished shito which I apparently didn't finish or test
try an older revision, for now ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 210/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
seems to work? I'm not seeing any error within that blob, only warnings. ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 211/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
which is unfinished btw
main issue with it is that due to the way it works, it only works over a wired connection I looked into forwarding/redirecting DHCP frames so it'd work over wireless too, but without great success. the only thing that worked was kind of a hack. ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 212/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
adding more precision might help
regardless, try the latest revision, there were errors that have been fixed ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 213/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
copy your ROM to another folder (or a different filename)
a bit sucky but for now that will do the trick ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 214/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
ideally I should apply the same fix to the cmakelists, but dunno -- it appears it includes usp10 but not gdi32, which is odd.
(for reference, the error happened because usp10 needs to be linked before gdi32) whatever. RicBent is reworking the build system anyway. ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 215/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
Posted by Wifall depends on how well coded the game is. but generally there's some data loss in the client->host direction. host->client seems to work fine. ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 216/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
one seems to be reading from a DSi I/O port for some reason
the other one seems to be the host. the 'unusual bits C000' happens every once in a while, presumably when there are errors but not always. not quite sure what are the effects hardware wise. ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 217/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
melonDS 0.7 is out!
This release savestates and some other things. The full changelog is below. • fix possible crashes when exiting • wifi: add basic access point melonAP (very beta) • fix SMULWx/SMLAWx opcodes, fixes Sims 2 music • add support for loading BIOS/firmware files and config file from AppData or ~/.config/melonds or from the executable directory (hcorion) • add 32-bit IPCSYNC reads/writes (Dirbaio) • add savestates • 3D: (hopefully) fix bug in shadow/AA interaction (visible in the MKDS character select preview, bottom border of the platform thing) pile of copypasta How to use melonDS requires BIOS/firmware dumps from a DS. You can dump them with the following dumper. The files must be placed in the same directory as the melonDS executable, as follows: * bios7.bin -- ARM7 BIOS, 16KB * bios9.bin -- ARM9 BIOS, 4KB * firmware.bin -- firmware, 128KB, 256KB or 512KB Note: the DS-mode firmwares in the 3DS and DSi aren't bootable. They only contain the bare minimum required to run DS games. Be sure to enable direct game boot when using such firmware dumps. Settings Emulation: settings related to emulation. For now it lets you enable direct game boot (directly runs the game instead of going through the firmware) and the threaded 3D renderer. There's also a wifi-related setting (which only ended up there because I'm lazy and I need to redo the UI). You should try toggling it if you have trouble getting multiplayer working. Input: allows you to configure keyboard and joystick input. You can change a mapping by clicking the corresponding entry, then pressing a keyboard key or joystick button. For now, joystick input uses the first joystick available if multiple joysticks are plugged. Savestate settings: for now, whether to save to a separate savefile after loading a savestate. Screen rotation: lets you rotate the screens, for games that ask you to hold your DS sideways. Screen gap: sets a gap between the screens. Screen layout: natural (screens always stacked on top of eachother), vertical (screens always laid out vertically), horizontal (always laid out horizontally). Screen sizing: even (both screens get the same size), emphasize top (bottom screen is kept at native resolution), emphasize bottom, auto (tries to determine which screen to emphasize) Screen filtering: enables linear filtering when the screens are scaled. If your game fails to save Check the size of the savefile. melonDS can, in some circumstances, misdetect the save memory type. Save memory type detection is done only when no existing savefile is present. If you provide an existing savefile with the correct size, melonDS will use the correct save memory type and saving should work properly. Downloads * Windows 64-bit * Linux 64-bit If you feel generous melonDS Patreon Have fun! ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 218/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
does your CPU have multiple cores? if so, that's why. melonDS uses two threads at most to do the heavy lifting (CPU/emulator and 3D renderer). ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 219/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
hard to say without knowing the clock speed.
regardless, melonDS might not be using it fully because there will be one core doing more work than the other. it's inherent to how emulation works. ____________________ Kuribo64 |
Arisotura |
| ||
Big fire melon magical melon girl Level: 56 Posts: 220/884 EXP: 1334865 Next: 63311 Since: 03-28-17 From: France Last post: 1 day ago Last view: 13 hours ago |
anyway, that's weird do older builds still run fine even when downloaded fresh? ____________________ Kuribo64 |
Main - Posts by Arisotura |
Page rendered in 0.156 seconds. (2048KB of memory used) MySQL - queries: 22, rows: 109/109, time: 0.021 seconds. Acmlmboard 2.064 (2018-07-20) © 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |