Views: 1,611,792 | Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search | 12-04-24 08:10 AM |
Guest: |
Main - Posts by StapleButter |
StapleButter |
| ||
Member blarg Level: 30 Posts: 141/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 142/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 143/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 144/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 145/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 146/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 147/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 148/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 149/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
Making this an announcement to give it more visibility. ____________________ blargSNES -- SNES emu for 3DS More cool stuff |
StapleButter |
| ||
Member blarg Level: 30 Posts: 150/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 151/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 152/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
collect a list of 4dsdev's thread/post/user IDs, set up redirects
could work ____________________ blargSNES -- SNES emu for 3DS More cool stuff |
StapleButter |
| ||
Member blarg Level: 30 Posts: 153/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 154/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
ahem ____________________ blargSNES -- SNES emu for 3DS More cool stuff |
StapleButter |
| ||
Member blarg Level: 30 Posts: 155/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
this reeks of SDK crap ____________________ blargSNES -- SNES emu for 3DS More cool stuff |
StapleButter |
| ||
Member blarg Level: 30 Posts: 156/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 157/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 158/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
| ||
Member blarg Level: 30 Posts: 159/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
welcome aboard ____________________ blargSNES -- SNES emu for 3DS More cool stuff |
StapleButter |
| ||
Member blarg Level: 30 Posts: 160/184 EXP: 151622 Next: 14247 Since: 10-27-14 From: France Last post: 2661 days ago Last view: 2571 days ago |
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 |
Main - Posts by StapleButter |
Page rendered in 0.028 seconds. (2048KB of memory used) MySQL - queries: 22, rows: 99/99, time: 0.008 seconds. Acmlmboard 2.064 (2018-07-20) © 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |