Hacking DSision2...

  • Thread starter Thread starter spinal_cord
  • Start date Start date
  • Views Views 104,419
  • Replies Replies 526
spinal_cord said:
n00bey/leinad is now a full fledged member of 'team DSision' and has been helping with bug fixes and updates. We are currently trying to speed up the icon loading and have a couple of ideas, neither are brilliant
frown.gif


Yes, the above features will be in the next release. I think stylus control is the one people want the most.
If that's so, that means I'll be getting exactly what I need in the next release
biggrin.gif
 
Ballistic said:
Also note that the listings aren't in alphabetical order at times :[

I noticed that
tongue.gif
. They started alphabetical, but when I started adding new features like support for different file types, I forgot to update the sorting, should be simple to put back in, currently I think the folders are still sorted though.
 
spinal_cord said:
n00bey/leinad is now a full fledged member of 'team DSision' and has been helping with bug fixes and updates. We are currently trying to speed up the icon loading and have a couple of ideas, neither are brilliant
frown.gif


Yes, the above features will be in the next release. I think stylus control is the one people want the most.

While I don't really know much about DS programming (yet), I used to make mame FEs back in the day running on a dx8 engine. So while I can't give you specific code, I did have the exact same problem so the techniques should still apply. I"m sure you guys have already though of this, but just in case:

1. You don't have to load all of the icons at once, you just need to load how ever many icons are on the screen at one time.
2. When the user scrolls, you don't have to reload all of the icons, rather you should swap out the textures, moving each one up/down the proper number of spaces and then loading any newly visible icons.
3. While the menu is idle, you can be buffering icons in the background and go back to normal operation whenever a key is pressed.
4. If the DS has a preferred image format that loads faster than a bmp then by all means USE IT. User created images and the images in the skins could be the main slow-down if there is a conversion process taking place. It'd make more sense to release a pc-end utility that converts the images ahead of time.
5. If extracting the embedded icons from ds files takes more time than loading the external images then perhaps you should save them to file once they are loaded. Again, either that or make a pc-end utility that extracts the icons from nds files and saves them to bmp.
6. Common images (folder icon, back icon ect...) shouldn't be loaded on the fly, they should be kept permenantly somewhere in memory so they can be swapped out quickly.

Also, while this doesn't really help your problem, I've found that people are a LOT more tolerant about a menu that scrolls a little slower than a menu that takes forever to load. So if you want my opinion if forced to choose between the two by all means load them on the fly. I've only got a handful of games in my folder atm (the ones I own) and the load time when going into my games folder is quite noticeable.

About the pallette issue I'm having... I'm using photoshop, which isn't exactly 8-bit friendly..... does the magenta have to be a certain color index in the pallette? If so then I'm gonna have to use another editor.

Like I said, this stuff is pretty obvious, but just in-case I thought of something you guys hadn't I thought I would post anyway.
 
HowardC said:
spinal_cord said:
n00bey/leinad is now a full fledged member of 'team DSision' and has been helping with bug fixes and updates. We are currently trying to speed up the icon loading and have a couple of ideas, neither are brilliant
frown.gif


Yes, the above features will be in the next release. I think stylus control is the one people want the most.

While I don't really know much about DS programming (yet), I used to make mame FEs back in the day running on a dx8 engine. So while I can't give you specific code, I did have the exact same problem so the techniques should still apply. I"m sure you guys have already though of this, but just in case:

1. You don't have to load all of the icons at once, you just need to load how ever many icons are on the screen at one time.
2. When the user scrolls, you don't have to reload all of the icons, rather you should swap out the textures, moving each one up/down the proper number of spaces and then loading any newly visible icons.
3. While the menu is idle, you can be buffering icons in the background and go back to normal operation whenever a key is pressed.
4. If the DS has a preferred image format that loads faster than a bmp then by all means USE IT. User created images and the images in the skins could be the main slow-down if there is a conversion process taking place. It'd make more sense to release a pc-end utility that converts the images ahead of time.
5. If extracting the embedded icons from ds files takes more time than loading the external images then perhaps you should save them to file once they are loaded. Again, either that or make a pc-end utility that extracts the icons from nds files and saves them to bmp.
6. Common images (folder icon, back icon ect...) shouldn't be loaded on the fly, they should be kept permenantly somewhere in memory so they can be swapped out quickly.

Also, while this doesn't really help your problem, I've found that people are a LOT more tolerant about a menu that scrolls a little slower than a menu that takes forever to load. So if you want my opinion if forced to choose between the two by all means load them on the fly. I've only got a handful of games in my folder atm (the ones I own) and the load time when going into my games folder is quite noticeable.

About the pallette issue I'm having... I'm using photoshop, which isn't exactly 8-bit friendly..... does the magenta have to be a certain color index in the pallette? If so then I'm gonna have to use another editor.

Like I said, this stuff is pretty obvious, but just in-case I thought of something you guys hadn't I thought I would post anyway.

The next build (released in the next day or two) has options for how the icons are loaded,
0: Everything is loaded realtime when scrolling in (laggs on commercial roms)
1: Commercial roms are preloaded, everything else is loaded realtime (scrolling is reasonable smooth)
2: Icons will be loaded when the cursor isn't moving
3: All commercial roms get loaded when the cursor isn't moving, everything else is loaded realtime

You have made some valid points also, thanks. Currently your second point was in effect, the menu only uses 8 sprites to display up to 100 buffered icons. some of the other, as you can see, have been implemented in this next build.

Now, I just need to update the settings screens for the 3 included themes.
 
leinad said:
[Im n00bey ]
@ spinal : I dont know how often you look at your PMs on PALib, so i write you a message here, lol~
Ive send you the edited versions source on PALib in a PM.
And the fix you mentioned in the IRC killed many other icons x/ Test it out, I commented out your 'fix' and added the old if() clause again.
And tell me, what you think about the new way of icon loading ^^ it laggs a bit on first scrolling trough the menu, but it doesnt take that long to open big folders anymore (on my folders I keep all homebrew games it always took ages until it shows something)

@The others: If spinal tested out my changes and get the sound-commands to work again you can expect those changes:
- Stylus-Pulling
- Delete shortcuts
- On DSi theme icons now completly scroll out of the screen
- Not possible to have multiple shortcuts to the same file anymore
- Homebrew without Info-Text dont get the text of another homebrew anymore
- DSision2 remembers the file you loaded the last time and scrolls to it on next boot of DSision
Great, I'll be waiting for these updates
smile.gif
 
HowardC said:
spinal_cord said:
n00bey/leinad is now a full fledged member of 'team DSision' and has been helping with bug fixes and updates. We are currently trying to speed up the icon loading and have a couple of ideas, neither are brilliant
frown.gif


Yes, the above features will be in the next release. I think stylus control is the one people want the most.

While I don't really know much about DS programming (yet), I used to make mame FEs back in the day running on a dx8 engine. So while I can't give you specific code, I did have the exact same problem so the techniques should still apply. I"m sure you guys have already though of this, but just in case:

1. You don't have to load all of the icons at once, you just need to load how ever many icons are on the screen at one time.
2. When the user scrolls, you don't have to reload all of the icons, rather you should swap out the textures, moving each one up/down the proper number of spaces and then loading any newly visible icons.
3. While the menu is idle, you can be buffering icons in the background and go back to normal operation whenever a key is pressed.
4. If the DS has a preferred image format that loads faster than a bmp then by all means USE IT. User created images and the images in the skins could be the main slow-down if there is a conversion process taking place. It'd make more sense to release a pc-end utility that converts the images ahead of time.
5. If extracting the embedded icons from ds files takes more time than loading the external images then perhaps you should save them to file once they are loaded. Again, either that or make a pc-end utility that extracts the icons from nds files and saves them to bmp.
6. Common images (folder icon, back icon ect...) shouldn't be loaded on the fly, they should be kept permenantly somewhere in memory so they can be swapped out quickly.

Those are nearly the same things spinal and I thought about, but everything ends with the lagg of seeking trough commercial roms.
Loading homebrew / folder data or icon is no problem, but commercial roms can be realy big and during that lag it's not possible to recognize a key check.
( We tried loading while idle , but that just ended up that the menu didint took button presses and loaded every icon x/ )

@5: Also had that idea, but spinal said it would end it massive writings to the card [and he's right about that, lol] . Those memory cards aren't designed to have that much writing-operations x(

btw. It's not just DSision, if I go trough my commercial ROM-Folder with YSMenu it also laggs when a new icon is loaded x), So I guess there is now way to completly eleminate that lag
 
Here you go guys, This one might be a little buggy, so we would like some feedback please.

a couple of points to make, the stylus scrolling works, but the mini-menu is a little off, to bring up the menu, you have to tap the icons quickly. You can set the icon loading style in the settings screen, I have updated the three themes (dsi,layton and ipod). I can't remember the other updates/fixes, its late and i'm tired.

DSision2 latest

* haven't added the child-proofing yet, sorry.
 
^ Awesome : )

Will try now

EDIT: okay, just tried it. Loads MUCH faster now but still slow somewhat. Not sure you can make it load faster though sooo yeah. The brightness bar seems to be broken though. It doesnt let me put the brightness up or down

EDIT2: The shortcuts seem to be broken as well. Not sure if it's just me again but it doesnt work for me >__
 
spinal_cord said:
Here you go guys, This one might be a little buggy, so we would like some feedback please.

a couple of points to make, the stylus scrolling works, but the mini-menu is a little off, to bring up the menu, you have to tap the icons quickly. You can set the icon loading style in the settings screen, I have updated the three themes (dsi,layton and ipod). I can't remember the other updates/fixes, its late and i'm tired.

DSision2 latest

* haven't added the child-proofing yet, sorry.
Does this still use a million bitmaps?
 
Hi guys.

Can you help me make DSision2 work on cloned(fake) R4s? As you can see, the firmware can't be changed so the only way to make it work is to make DSision2 open as a normal .nds file. Can you help me? Thanks. And nice to join the forum.
yaynds.gif
 
jester13 said:
The brightness bar seems to be broken though. It doesnt let me put the brightness up or down

Its set for phat as default, change it in dsision.ini (phat=0)


EDIT2: The shortcuts seem to be broken as well. Not sure if it's just me
jester13 said:
again but it doesnt work for me >__
 
Hi, I tried to put the 4 new files/folders on DSTT but the only difference I get is an extra option that will not change, no stylus scrolling, do i need to do something with _DS_MENU.DAT, I notice there is no DSTT version folder in this download?
 
If you set it to auto load it freezes on the loading screen, if you launch it from the original menu it works. The touch scrolling is implemented really badly, as you have to slide. It would be much easier if you just had to touch the icons. It's slow on all load settings. And as some people have already pointed out, the shortcut function doesn't work.
 
Hi, that fixed it, it is a little buggy though, when scrolling left and right the reflections on some of the game carts become solid rather than transparent and at one point they were different, also after scrolling with the stylus and then using the d-pad the selected game wasn't central on the screen until i dragged it slighly with the stylus again, can't do much testing because my lads want their DS's.
 
It's nice to see some more things implemented, but there are still some issues.

When scrolling I noticed that sometimes in addition to the reflection issues, the custom icon can get corrupted. Once you scroll away and back it fixes itself.

I'll agree with the others in that the new scroll function is a tad wonky. The issue is mostly that pop-up menu. I would suggest ditching it all-together. The R button could add shortcuts (clicking it in a folder adds a shortcut, clicking it in the shortcut menu deletes it.) and the start button could toggle a file's hidden status or vice-versa.

Other than that it's a step in the right direction. Keep up the good work!
 
I was thinking of going with [forgot who mentioned it]'s idea, and setting the menu to a button, rather than the stylus. Also maybe using 'Select' to access the settings screen. Thats a little way off, n00bey is working on a new feature (sort of) which I think some people will like if he gets it working.
 

Site & Scene News

Popular threads in this forum