4dsdev
Views: 1,611,792 Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search 12-04-24 08:03 AM
Guest:

Main - Posts by StapleButter

Pages: 1 2 3 4 5 6 7 8 9 10
StapleButter
Posted on 06-04-15 02:05 PM, in Copying a file efficiently (on Ninjhax / N3DS) Link | #173
Dunno what's pulled there, but maybe the issue is onProgress() taking too much time? Dunno.


It's really weird, though. blargSNES can load ROM files that are 512KB and more, and it's mostly instant. I fail to see why your code would be slow, unless there's some terrible overhead to using fread/fwrite, but I don't think there is.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 06-04-15 06:31 PM, in blargSnes -- SNES emulator for the 3DS Link | #174
note to self: there's something wrong with the threaded DSP system


it buffers writes to replay them later, but... what about reads?

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 06-05-15 12:45 AM, in blargSnes -- SNES emulator for the 3DS Link | #176
The main issue is that unlike writes, reads can't be 'applied later' as it needs the return value immediately.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 06-05-15 10:51 PM, in blargSnes -- SNES emulator for the 3DS Link | #179
Not sure it'd break games to the point of not booting at all, but I'm pretty sure it's causing issues to some games. I know that Super Bomberman 2 completely stops playing sound after a while (although I suspect that's a cause of the SPC sync issue, not DSP stuff).


Thing is, emulating this correctly while retaining the advantage of threaded DSP is tricky. Maybe it could be done this way:

* if a read happens, tell the DSP to run until this point (using SPC_ElapsedCycles and saving the 'date' of the last run to determine how long it should run for)
* then wait till it's done and read the value
* the rest of the time, run the DSP like we're doing currently (accounting for runs caused by reads)

* I don't know what the performance implications of this are, especially with things like waiting for the syscore thread-- syscore is busy running the rest of the system too. Should be okay, though.
* mixer needs to be able to mix arbitrary amounts of samples (right now it needs a multiple of 16, seems it would hang otherwise)
* mixer needs to raise a signal when it's done mixing

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 06-08-15 12:07 AM, in Copying a file efficiently (on Ninjhax / N3DS) Link | #183
Oh then, of course, if you use C++ shiz... just be sure to avoid things that can only be resolved at runtime.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 06-08-15 12:10 PM, in Accessing the NAND (via fopen / opendir) Link | #188
As yuriks said, you can't access everything. You can't just use FS_OpenArchive with the NAND archive IDs. Regular apps don't have access to that.


You would need to build a .cia (or .3ds) with a proper .rsf specifying NAND access.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 06-09-15 04:44 PM, in Accessing the NAND (via fopen / opendir) Link | #194
Posted by d0k3
So, it should be possible via libkhax, correct?

Yeah, although you'll need to patch the FS module to remove access restrictions.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 06-09-15 04:46 PM, in Copying a file efficiently (on Ninjhax / N3DS) Link | #195
I don't see how it'd slow things down, smaller files would just fit entirely in the buffer and that's all. In those cases (file smaller than buffer), just make sure your code uses the size of the file rather than the size of the buffer.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 06-10-15 11:35 PM, in Staplehax -- Ninjhax with kernel access Link | #203
Interesting. Staplehax's libkhax is modified in how it gains SVC access, and I wanted to test it against other firmware versions... gotta debug it.


Would you be available for testing debug builds sometime?

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 06-19-15 12:05 PM, in Staplehax -- Ninjhax with kernel access Link | #220
Could be that. Could as well be bad timing.


The whole thing wouldn't work on newer firmwares anyway. I haven't adapted srv:pm registration yet, and FS patching uses hardcoded offsets.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 06-19-15 03:11 PM, in Staplehax -- Ninjhax with kernel access Link | #222
The libkhax we're using in Staplehax is modified, too. With the original method, I kept running into icache issues.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 06-22-15 11:37 PM, in Staplehax -- Ninjhax with kernel access Link | #235
I know zero about that shit. I haven't bothered to deal with it.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 07-15-15 03:59 PM, in RSS feed Link | #261
The feature was added in a board revision more recent than this one. I should be able to backport it, though.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 07-18-15 01:56 PM, in blargSnes -- SNES emulator for the 3DS Link | #265
Things are more less on halt for now.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 07-18-15 09:57 PM, in blargSnes -- SNES emulator for the 3DS Link | #267
I always wanted to eventually implement expansion chips, so... we'll see.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 07-20-15 11:49 AM, in blargSnes -- SNES emulator for the 3DS Link | #271
Either better dynarecing abilities, or threading working better because the N3DS has more cores. blargSNES doesn't really use either.

Dunno about hacks, but if they're meant to run on ZSNES, they're probably too broken for blargSNES.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 07-22-15 11:50 PM, in Disable backlight Link | #281
Yes.


However, keep in mind that on the 2DS, the screens are physically one single screen and thus have a shared backlight, so turning one screen's backlight off would also turn the other one off.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 08-09-15 04:20 PM, in blargSnes -- SNES emulator for the 3DS Link | #296
I'm not positive wifi would work that well. It would need pretty tight timings to work well, and dunno how much you can get with all the service crap.



It would also need a good design. There are multiple potential methods:


1) run all emulation on one console ('server'), others ('clients') basically being dumb terminals receiving audio/video and sending input data. There is the issue that this could take a lot of bandwidth, and also add load to the 'server', slowing down emulation.


2) distribute processing more. Server runs most of the emulation, and things like PPU/DSP writes are sent to the clients, and everyone handles PPU/DSP emulation. This would mean less data to transmit and thus less overhead, but also requires something to keep everyone in sync (for things like software vs hardware PPU, faster New3DS, etc...). While PPU emulation could be separated reasonably well (most of its interaction with the system can be separated from the rendering process), DSP has the issue that the game can choose to read back from it-- in this case, you end up with multiple instances of the DSP which might have produced different results.


3) send ROM over, have each console emulate it, sync input and framerate and that's all. Probably the easiest but also the most error-prone (again, the different instances of the emulator could produce different results, and this wouldn't be detectable trivially). Probably too much effort to be worth it in the long run.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 08-09-15 04:24 PM, in Staplehax -- Ninjhax with kernel access Link | #297
Ninjhax 2.0 makes this redundant, and even works on firmware versions Staplehax wouldn't have supported. The tiny range of potential cases supported by Staplehax made it ephemeral, basically "not worth the effort".


tl;dr Staplehax is dead. The code might be useful for some fancy shit though.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 08-10-15 09:57 AM, in blargSnes -- SNES emulator for the 3DS Link | #302
Local multiplayer is pretty much the only thing you could do on a SNES anyway, without getting into those weird things that transmitted data over satellites.



(for future reference: Terminwhatever was banned because he's a known moron who just never changes or learns. He also has a fetish for throwing himself under a bus or something)

____________________
blargSNES -- SNES emu for 3DS
More cool stuff
Pages: 1 2 3 4 5 6 7 8 9 10

Main - Posts by StapleButter

Page rendered in 0.038 seconds. (2048KB of memory used)
MySQL - queries: 22, rows: 99/99, time: 0.009 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.