4dsdev
Views: 614,239 Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search 11-25-17 12:28 AM
Guest:

Main - Posts by StapleButter

Pages: 1 2 3 4 5 6 7 8 9 10
StapleButter
Posted on 10-29-15 07:38 PM, in blargSnes -- SNES emulator for the 3DS Link | #614
The hardware renderer in blargSNES does have its software equivalent, although they aren't really equivalent (hardware got features that software still lacks, and on the other hand hardware fails at things like midframe palette changes, etc).

The ASM parts however, well, only exist in ASM. The emulator was originally written for the DS so it was important to get it fast (and on the 3DS, it still counts).

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

StapleButter
Posted on 10-30-15 10:39 AM, in blargSnes -- SNES emulator for the 3DS Link | #622
Indeed.

Now, most of these devices are powerful enough to run a Snes9x port, so... dunno.

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

StapleButter
Posted on 11-03-15 09:50 PM, in blargSnes -- SNES emulator for the 3DS Link | #673
Well, feel free to try making a libretro port if you want, I don't really have interest into that atm though.



In other news, trying to address the timing issues for release 1.4. I'm getting there, but not quite yet. I got Soul Blazer to run, and DKC2 seems stable too. FF games are still giving me trouble, though.

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

StapleButter
Posted on 11-04-15 08:52 PM, in blargSnes -- SNES emulator for the 3DS (rev. 3 of 11-04-15 10:44 PM) Link | #684
dunno about others, I'm working on FF6

there's that timing issue with SPC data upload that causes garbled sound, but it's unrelated to the freeze


on the plus side, I found why it freezes: there's a tight loop polling $4210, waiting for a NMI. The trick is that the NMI flag there is reset as soon as you read it. The game also has a NMI handler that also reads that register.

In blargSNES, the NMI handler is executed before the loop code has a chance to catch the NMI bit in $4210, because the NMI is instant. Thus the loop never ends.

This clearly means there should be a delay between the time where the NMI flag is set, and the actual NMI. Fullsnes is unclear about it though.


Edit- yep. Quick test, delaying the NMI by one instrction, a really ugly hack. FF6 doesn't freeze. The sound is all earrape garbage though. (and the same little hack breaks DKC2)

I need to write a proper scheduler, I guess.

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

StapleButter
Posted on 11-09-15 12:49 PM, in blargSNES: event scheduler design (rev. 2 of 11-09-15 12:59 PM) Link | #694
at some point we'll need a proper event scheduler for it, it's a mess right now


* event timestamps: cycles from previous event

* CPU execution: take next event's timestamp, run instructions for that amount of cycles
* just skip straight to the event if: 1) WAI opcode 2) speedhacking around an IRQ wait loop 3) DMA transfer

* insert event: knowing the amount of cycles to wait
-- for each stored event, if the stored event's timestamp is greater, move further into the queue
-- if the stored event's timestamp is less or equal, store event there
-- linked list structure?
-- give event a unique ID (or just use a pointer to it?)
-- fix timestamp for event right after it

* remove event (if for example a IRQ was enabled then disabled before firing):
-- find event with matching uniqueID/pointer, remove
-- yep, double-linked list would definitely be a bonus there
-- fix timestamp for event right after it




can be subject to changes

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

StapleButter
Posted on 11-09-15 01:00 PM, in blargSNES: event scheduler design Link | #696
I'm referring to events in SNES emulation, not the 3DS ones.


The light events could be interesting for things like the DSP sync though.

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

StapleButter
Posted on 11-09-15 02:57 PM, in blargSNES: event scheduler design Link | #698
The issue in this case is that the SNES supports an IRQ that can be programmed to fire at any screen position. Not only can it be disabled before firing, but it could also be changed to occur later or earlier.


The idea for timestamps would be that an event's timestamps is how many cycles away it is from the event before it. Each event would be relative to the one before itself, which would minimize overhead in updating (only one event to update really) and completely avoid integer overflow.

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

StapleButter
Posted on 11-10-15 12:09 PM, in blargSnes -- SNES emulator for the 3DS Link | #707
The proper scheduler will be the big thing for 1.4. Any hardware renderer improvements are going to be postponed for a while, giving time to think about good improvements for it.

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

StapleButter
Posted on 11-12-15 11:09 AM, in Possible board merge Link | #713
Making this an announcement to give it more visibility.

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

StapleButter
Posted on 11-16-15 07:21 PM, in Possible board merge Link | #732
you know, guys


the merge would involve reposting things on the new board



considering how many people seem to care about 4dsdev (by for example applying for a staff position or helping improve the outdated tutorials), I can foresee it being a failure

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

StapleButter
Posted on 11-16-15 07:26 PM, in Possible board merge Link | #734
as I said, they can't be trivially merged into the other board, so the merge would be a community effort


or maybe they can, but they'd get different IDs and the old URLs would no longer work

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

StapleButter
Posted on 11-17-15 06:32 PM, in Possible board merge Link | #743
collect a list of 4dsdev's thread/post/user IDs, set up redirects



could work

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

StapleButter
Posted on 11-23-15 08:47 PM, in blargSnes -- SNES emulator for the 3DS Link | #766
I don't know who built that 1.3b (probably Discostew) and which revision was used, so... eh

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

StapleButter
Posted on 12-06-15 04:16 PM, in What is this file's format? Link | #813
ahem

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

StapleButter
Posted on 12-06-15 04:23 PM, in What is this file's format? Link | #815
this reeks of SDK crap

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

StapleButter
Posted on 12-14-15 11:37 AM, in Get BOOTROM/Key Scrambler? Link | #829
Knowing the keyscrambler function would only let you decrypt shit on a PC, given you know the keys-- without them, it's useless. Similarly, the keys are useless without the keyscrambler function.



The boot ROM might have more interesting things:
* exploits allowing more control and/or some form of persistent exploit
* keys (although again, they're useless if the keyscrambler function isn't known)

Dumping the boot ROM is probably impossible without a hardware attack. It permanently disables itself on the way out. Maybe a carefully timed glitch could cause the lockdown instruction to be skipped. This would require measuring how long the boot ROM takes to do its thing, ensuring the timing is reliable (it could be different every time), assuming the lockdown instruction is the last one to be executed...



Let's also mention another decapping effort: http://gaasedelen.blogspot.fr/2014/03/depackaging-nintendo-3ds-cpu.html

That one looked promising (actual proof it was going somewhere), but then they fell into the CTF blackhole and vanished.

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

StapleButter
Posted on 01-23-16 06:31 PM, in blargSnes -- SNES emulator for the 3DS (rev. 2 of 01-23-16 06:32 PM) Link | #899
set PATH=%PATH%;C:\Python30
make
copy blargSnes.elf blargSnes_s.elf
arm-none-eabi-strip blargSnes_s.elf
makerom -f cci -o blargSnes.3ds -rsf ./cci/gw_workaround.rsf -target d -exefslogo -elf blargSnes_s.elf -icon ./cci/icon.bin -banner ./cci/banner.bin
makerom -f cia -o blargSnes.cia -rsf ./cci/cia.rsf -target t -exefslogo -elf blargSnes_s.elf -icon ./cci/icon.bin -banner ./cci/banner.bin
pause

my build.bat file which I use to build Gateway/CIA versions of blargSNES

(the first line might be unneeded now, it was a dirty hack so that I could compile shaders with aemstro back then)

there's also build2.bat for Ninjhax if you want, but that one is easy


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

StapleButter
Posted on 01-23-16 09:36 PM, in blargSnes -- SNES emulator for the 3DS Link | #902
if you're launching as a CIA, you might need to place a DSP binary on your SD card, I don't remember the path/filename

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

StapleButter
Posted on 01-30-16 09:04 PM, in The introductions thread Link | #924
welcome aboard :)

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

StapleButter
Posted on 02-21-16 09:51 AM, in Is it possible to use the GPU from the sys core thread? Link | #946
I fail to see why the GPU wouldn't be usable from the syscore, but with the 3DS, you never know...

____________________
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.020 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2017-11-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.