One more thing, is there a list of games that work with widescreen? Cause I’ve tested a few games, and so far only super Mario bros 64 is working (mostly cause I have obscure games)
One more thing, is there a list of games that work with widescreen? Cause I’ve tested a few games, and so far only super Mario bros 64 is working (mostly cause I have obscure games)
I think I stumbled on something close? to linear interpolation for GBA. It's maybe every so slightly blurrier than bilinear options in Retroarch and MGBA emulators, so not ideal but, progress maybe?
If you're curious, get code.bin out of agbbg.cxi and search for this string:
I have to say in general I don't like it as much as I'd hope. It feels a bit like Nintendo DS scaling, its a touch too blurry but I'm already hitting sharpening artifacts that I don't want more of. Although I could be doing something wrong here with the sharpening maths. If anyone is REALLY curious I can explain how I mathed it, in case you want to tweak it further.
I'm instead liking the look of a "toned-down" crispness, which is simply a middle ground between Nintendo default and linear interpolation. It has some more shape distortion versus the sharpened linear interpolation, but still feels clearer overall, while being a little less distorted than Nintendo default.
Where XX is between x0 and x20 and YY is betweeen x20 and x40, and together these should also add up to x40.
X=0 Y=40 is the default super crisp, often chunky scaling
X=10 Y=30 gives you a smooth effect like bilinear interpolation
X=20 Y=20 makes everything flat and super blurry
X=07 Y=39 is my current go-to. Its about the minimum crispness that keeps high-contrast text distinct and easy to read. Something closer to this should've been the Nintendo default considering what they picked for DS scaling..
I'm SO much happier using AGB_FIRM now with these settings. Big thanks again to Sono for doing the heavy lifting of finding this stuff, now I got something to hold me over until he gets his patcher finished!
Where XX is between x0 and x20 and YY is betweeen x20 and x40, and together these should also add up to x40.
X=0 Y=40 is the default super crisp, often chunky scaling
X=10 Y=30 gives you a smooth effect like bilinear interpolation
X=20 Y=20 makes everything flat and super blurry
X=07 Y=39 is my current go-to. Its about the minimum crispness that keeps high-contrast text distinct and easy to read. Something closer to this should've been the Nintendo default considering what they picked for DS scaling..
I'm SO much happier using AGB_FIRM now with these settings. Big thanks again to Sono for doing the heavy lifting of finding this stuff, now I got something to hold me over until he gets his patcher finished!
Tbh I was monitoring this thread just in hope someone would tweak the gba scaling, I'm kinda dumb messing around with hex, so what are the chances you release a cia patcher like Sonos did initially with these tweaks?
Zero, I haven't touched any 3DS dev environment let alone programmed in a while. Maybe I could write instructions for how to make the changes, but it does involve a few command line tools and then the hex editor.
Sono is developing GBA patching in his latest tool so that should eventually be able to handle it.
It's already good weather here, I feel much better, but I still can't work on TWPatch yet, because I'm still setting up the new Linux install after wiping lose10 (windoze 10, but you don't win anything, so it's lose10) , so it'll still take a few days.
I can compile 3DS homebrew just fine in wine, so I can keep my old setup, which makes me waste less time. The only thing I'm really missing is just the code editor. I think there is VSCode for Linux, so it should take a few days max until I can setup everything, assuming I don't run into more wine-related bugs.
And now for stuff related to TWPatch itself:
Now that my brain is starting to wake up, a few nights ago (probably yesterday) I thought of a possible optimization for the compressor, so if it works out then it should not take 6mins anymore to compress on old3DS. After doing some calculations, it seems like that I'm double-trashing the miniscule 16k CPU data cache (L1?), hence it's very slow on the 3DS. However, it's also slow on my desktop CPU, which has much more cache than that poor ARMv6K from 2010, so there are definitely some code optimizations to do. I think a rewrite is better, because looking at it shows clear signs that an idiot made this (me), and it's so unoptimized that it brings sad tears to my eye.
The above also goes for UI responsiveness. For some reason I tried to make a low-level matrix hardware emulator, which is completely useless, because we want speed, not 100% accuracy (not that you can really mess up simple mathematical calculations, becaues if it doesn't match the original then it's wrong, and period), so that's also going to be rewritten. And besides, there is even a bug in it, which causes the image edges to be distorted
Oh, and the UI is horrible. I think I'll reuse some code from an unreleased(?) LCD tester homebrew of mine, which has some really fancy (text-based) sliders. However, I have already ran out of buttons (not being able to use L, R, and touch is really limiting me here, because people break them all the time, or they just break themselves), so an UI redesign is required. It will not be *that* different, but the controls will change.
As for the biggest "selling point", the scale matrixes: I'm starting to understand the math beind them. Once I can get Visual Studio 2010 working (yes, on Linux) then I'll experiment with them, and hopefully I'll be able to autogenerate them independently of the scaling ratio, so I'll only need to store parameters instead of the whole matrix, allowing me to reuse the same scale matrix parameters for GBA. Oh, and scale matrix loading from SD, because the HxD method sucks, and crashes for some reason if you use specific values.
And on a last note, I think I'll unlock GBA patches as experimental. I don't guarantee they'll work for you. In fact, they have a 50% of not being compatible with your installed AgbBg version, so if you're desperate on wanting to use them, then you might need to downgrade your AgbBg, which is NOT recommended. I can't do too much about this, because there is just no place where I can execute my own code. I have space for my own code, but I just don't have a place where I can call it from.
If I can setup my devenv today then this should take a few days or 1-2 weeks if no problems arise.
And on a last note, I think I'll unlock GBA patches as experimental. I don't guarantee they'll work for you. In fact, they have a 50% of not being compatible with your installed AgbBg version, so if you're desperate on wanting to use them, then you might need to downgrade your AgbBg, which is NOT recommended. I can't do too much about this, because there is just no place where I can execute my own code. I have space for my own code, but I just don't have a place where I can call it from.
It's not related to old3DS or new3DS. This is related to a specific Title version, and the success of the patches depends on how the compiler was feeling the day AgbBg was compiled. I need a pair of instructions to be 4-aligned, otherwise I can't run my own code. This is why there is a 50% chance of the patches not working at all.
It's not related to old3DS or new3DS. This is related to a specific Title version, and the success of the patches depends on how the compiler was feeling the day AgbBg was compiled. I need a pair of instructions to be 4-aligned, otherwise I can't run my own code. This is why there is a 50% chance of the patches not working at all.
Isn't it enough that the 3DS has been updated at least once in the last 5 years or so?
The firms are the same for all regions so only their versions should be different, and you can't have outdated versions unless you really intend to do that.
Isn't it enough that the 3DS has been updated at least once in the last 5 years or so?
The firms are the same for all regions so only their versions should be different, and you can't have outdated versions unless you really intend to do that.
Dunno. None of the FIRMs I have seems to be affected, so I think that the section of code I'm intercepting might be always 4-aligned on all version of AgbBg. I just mentioned it just in case there is an obscure version installed on some Korean or Taiwanese 3DS which doesn't happen to work.
Yep I know. Trouble is people use this to explain their chances of winning the lottery too. Which sounds about as likely since we don't have any known case of AGB patching failing?
I mean yeah, its safer to treat it as experimental at first, but saying 50% makes it sound much scarier than the reality. I assumed it was some very rough estimate based on tester reports, but it seems not to be.
Today, April 8th, 2024, at 4PM PT, marks the day in which Nintendo permanently ends support for both the 3DS and the Wii U online services, which include co-op play...
A new Nintendo Switch firmware update is here. System software version 18.0.1 has been released. This update offers the typical stability features as all other...
With Apple having recently updated their guidelines for the App Store, iOS users have been left to speculate on specific wording and whether retro emulators as we...
The time has finally come, and after many, many years (if not decades) of Apple users having to side load emulator apps into their iOS devices through unofficial...
The highly popular and accurate FPGA hardware, MisterFGPA, has received today a brand new update with a long-awaited feature, or rather, a new core for hardcore...
Nintendo might just as well be a law firm more than a videogame company at this point in time, since they have yet again issued their now almost trademarked usual...
Another video game prototype has been found and preserved, and this time, it's none other than the game that spawned an entire franchise beloved by many, the very...
TheFlow has done it again--a new kernel exploit has been released for PlayStation 4 consoles. This latest exploit is called PPPwn, and works on PlayStation 4 systems...
Anbernic is back with yet another retro handheld device. The upcoming RG28XX is another console sporting the quad-core H700 chip of the company's recent RG35XX 2024...
Nintendo has recently announced through their social media accounts that a new Indie World stream will be airing tomorrow, scheduled for April 17th, 2024 at 7 a.m. PT...
Today, April 8th, 2024, at 4PM PT, marks the day in which Nintendo permanently ends support for both the 3DS and the Wii U online services, which include co-op play...
Nintendo might just as well be a law firm more than a videogame company at this point in time, since they have yet again issued their now almost trademarked usual...
With Apple having recently updated their guidelines for the App Store, iOS users have been left to speculate on specific wording and whether retro emulators as we...
The time has finally come, and after many, many years (if not decades) of Apple users having to side load emulator apps into their iOS devices through unofficial...
A new Nintendo Switch firmware update is here. System software version 18.0.1 has been released. This update offers the typical stability features as all other...
TheFlow has done it again--a new kernel exploit has been released for PlayStation 4 consoles. This latest exploit is called PPPwn, and works on PlayStation 4 systems...
Two classic titles join the Nintendo Switch Online Expansion Pack game lineup. Available starting April 24th will be the motorcycle racing game Extreme G and another...
The highly popular and accurate FPGA hardware, MisterFGPA, has received today a brand new update with a long-awaited feature, or rather, a new core for hardcore...
Nintendo has recently announced through their social media accounts that a new Indie World stream will be airing tomorrow, scheduled for April 17th, 2024 at 7 a.m. PT...
In 2017, the United States Federal Communications Commission (FCC) repealed net neutrality. At the time, it was a major controversy between internet service providers...