Homebrew TWPatcher - DS(i) mode screen filters and patches

  • Thread starter Sono
  • Start date
  • Views 748,125
  • Replies 2,428
  • Likes 101

Are you interested in a complete replacement of TwlBg which includes all patches?

  • Yes, I don't care how broken it will be!

    Votes: 188 79.3%
  • No, I don't want to use even more broken stuff

    Votes: 20 8.4%
  • Yes, but only in GBA mode, because I play DSi exclusives

    Votes: 12 5.1%
  • No, because I only use DS and DSi mode

    Votes: 17 7.2%

  • Total voters
    237
  • Poll closed .

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,821
Trophies
2
Location
home
XP
9,318
Country
Hungary
I meant the pattern

Code:
0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000
0000 0020 0040 0000 0020 0040
0040 0020 0000 0040 0020 0000
0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000

I find this around x4A190 in my code.bin extracted from my agbbg.xci. You suggested looking for this back on the 2nd or 3rd page.

Its "active" in the sense that I can see changes in game when I make small changes to the values, so it seems to be the right area. Someone else on 3rd page suggested instead editing what looks like an unused matrix right above this one, it avoided crashes but doesn't seem to do anything. (Guessing that is unused 1.25x scaling?)

Thanks for the obvious tip about treating these as fixed point decimals, makes these almost readable, maybe I will figure it out eventually.

Oh, I documented it?

Well then... in that case this is indeed the default 1.5x scale matrix AgbBg uses. Also good job on knowing the proper orientation of the matrix (it took me a while to get which way the hardware scans it)! The only problem is that you wrote it as Big Endian, but the 3DS is Little Endian, so 1234 would be 34 12 in HxD.

Each column represents a single output pixel. In the code there is also a "hidden" number which represents the number of input pixels as a list of yes/no because the hardware doesn't support non-integer pixel boundaries. For 1.5x it's hardcoded to 27 (not hex) in the binary (code), which is 110011 in binary (number format) (hardware reads this textual representation from right to left, aka. least significant bit to most significant bit). A few posts ago I explained how this works.

I also had problems with the hardware crashing. It turns out that I NEED the patcher, because using the HxD method can result in a corrupted binary for some unknown reason. After I switched to using the patcher, I was able to use even the most retarded scaling matrixes imaginable without crashing. There still seem to be some hardware quirks, but as long as you keep the very first matrix sane, you can do extremely stupid matrixes in the rest of the slots.


I just wanted to thank you guys for this achievement.
Which is your preferred filter to play with?

"Sono's sharp 1", which is integer scaling with the last two pixels interpolated into eachother. Looks horrible in 2D games, but almost unnoticable in 3D games.

Duuuude... how many nights have you stayed awake since you started this project?
I think I can speak in behalf of all community in this:

We love the progress you're making, it's rather impressive and something good for the community,
but you should always prioritize your health.

This lack of sleeping will cause fatigue, can drive you sick and will hinder you as a developer.
I can't remember how many times that as a developer, I made stupid coding mistakes because I was tired from not sleeping.
Linters help a lot, but there is always something, calling a function with the wrong name,
some wrong math, you know things that would be simple if I had rested properly.

I see someone posted it before, but Sono actually is sleep in portuguese haha
So do yourself a favor and get some sleep :)

Also thank you very much for your work, been playing Heartgold again and your filter brought new life to it.

I can't sleep more than 4hrs in this heat because I wake up super dry and cooking hot. Some days I can't sleep at all other than passing out for 1-2hrs a few times during the day. But whatever, better weather should come *eventually* (I hope), and then I'll be able to work with a sane sleep schedule. If weather forecast is right then 24C temperatures should come in 1-2days.
 
Last edited by Sono,

PokeNev

Well-Known Member
Member
Joined
Nov 11, 2018
Messages
336
Trophies
0
Age
26
XP
960
Country
United States
In twilight menu I can’t get it to stretch, I have the version 9.2.0 and did all of Robz8’s steps for how to make it stretch, yet it doesn’t
 

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,593
Trophies
3
Age
24
XP
20,978
Country
United States
In twilight menu I can’t get it to stretch, I have the version 9.2.0 and did all of Robz8’s steps for how to make it stretch, yet it doesn’t
Is "Widescreen.cxi" in "sd:/_nds/TWiLightMenu/TwlBg/"?
If so, make sure there's no "TwlBg.cxi" in "sd:/luma/sysmodules/", and that external modules are enabled in Luma.
 

PokeNev

Well-Known Member
Member
Joined
Nov 11, 2018
Messages
336
Trophies
0
Age
26
XP
960
Country
United States
Oh, ok

--------------------- MERGED ---------------------------

Is "Widescreen.cxi" in "sd:/_nds/TWiLightMenu/TwlBg/"?
If so, make sure there's no "TwlBg.cxi" in "sd:/luma/sysmodules/", and that external modules are enabled in Luma.
Nvm it’s still not working

Is "Widescreen.cxi" in "sd:/_nds/TWiLightMenu/TwlBg/"?
If so, make sure there's no "TwlBg.cxi" in "sd:/luma/sysmodules/", and that external modules are enabled in Luma.
I mean it’s still not working even though I followed the instructions, I deleted the twbg.cxi in the sysmodules folder but it’s still not working, also you should clarify that in your initial post
 

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,593
Trophies
3
Age
24
XP
20,978
Country
United States
I mean it’s still not working even though I followed the instructions, I deleted the twbg.cxi in the sysmodules folder but it’s still not working, also you should clarify that in your initial post
Many don't have that though.
Also, make sure the game is compatible with widescreen.
 

PokeNev

Well-Known Member
Member
Joined
Nov 11, 2018
Messages
336
Trophies
0
Age
26
XP
960
Country
United States
Many don't have that though.
Also, make sure the game is compatible with widescreen.
Wait let me check

F4A7105E-EC4D-4309-838B-2AEEB214CF73.jpeg
Many don't have that though.
Also, make sure the game is compatible with widescreen.
It still doesn’t work
 

PokeNev

Well-Known Member
Member
Joined
Nov 11, 2018
Messages
336
Trophies
0
Age
26
XP
960
Country
United States
Did you run the .bat file, and not just the .exe file? If so, try redownloading the patcher.
I ran the .bat file but I’m followed your instructions exactly, if u still think I should try again I will but maybe think of other things that could go wrong
 

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,593
Trophies
3
Age
24
XP
20,978
Country
United States
I ran the .bat file but I’m followed your instructions exactly, if u still think I should try again I will but maybe think of other things that could go wrong
Are you positive you enabled external sysmodules in Luma config? You should double/triple check to be sure.
If it is enabled, make sure you're on Luma v10.0.1.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: Brb