Homebrew DSCrawl - a humble request

Atantuo

New Member
OP
Newbie
Joined
Sep 29, 2012
Messages
4
Trophies
0
XP
2
Country
Gambia, The
Hi everyone.

First of all, please don't get me wrong. I'm well aware many people will not take kindly to this kind of posting, and I can see why.
However, I'm not making any kind of demand, just asking. If someone around here, more knowledgeable than I (which should be almost everyone), can afford the time to look at this, I'll be forever grateful - if not, then that's ok as well.

But perhaps I really should make my request clear first... so here goes.
There is a wonderful game called Linley's Dungeon Crawl, aka Crawl, that has been kindly ported by Sasq to be playable on the DS. Version 1.0 beta1 has been in some form modified by errabes, so that it runs on slot-1 devices, like my DSTwo.
Ever since I learned about this game, I have been playing it like crazy, and it works well enough, even though it's labeled beta.
Now, a little while ago, I learned that a newer version of DSCrawl exists, V1.0 . I looked all over the internet, only to find that no patched or modded version exists (or at least I didn't find it) that works with my supercard.
That is, it works, but runs only in RAM, so I have no score table, no saving, etc., but it fixes all those little bugs and annoyances, making the game even better than the awesome beta version.

I have tried to figure out how to make the necessary changes myself, but so far haven't had any luck. At first, I thought my (albeit quite limited) knowledge in programming might enable me to find some way to fix the problem, but apparently that's not the case.
So, to finally make my point, If anyone here knows what exactly has to be done, and maybe even knows how to do it, please tell me. Maybe a little push in the right direction might help me to fix it after all. Or if it is, as I suspect, a rather trivial matter to anyone more proficient in homebrew programming, it would be super awesome if that kind person could piece together a version 1.0 final with the same kind of changes errabes made to th beta version.

In any case, many thanks to everyone who decides to help me in some way or other.


By the way, the files I have been talking about are available here:

Modded version 1.0 beta1: http://errabes.free.fr/pogo2/

Version 1.0 (final): http://web.archive.o...de.org/dscrawl/
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,824
Trophies
3
Location
Gaming Grotto
XP
29,819
Country
Poland
It's fairly easy to create a Save/Load feature for the game.

Do you know all the variables that you'd want to save? If you do, you can place them all in a structure and save into a file using FAT. To do so, include libfat into the source project. To load them, you do the oposite - open the file, load up the variables into the structure and presto!

Of course it would require certain changes to the game code itself, but it shouldn't be *that* hard, merely time-consuming.
 

Atantuo

New Member
OP
Newbie
Joined
Sep 29, 2012
Messages
4
Trophies
0
XP
2
Country
Gambia, The
include libfat into the source project

From what I've read so far, I think this is what would have to be done (a save feature is in the game, but since it will only run in RAM, it can't be used) - except I haven't even an idea where to start doing that.
My knowledge of DS (or any kind of) homebrew is basically zero. My idea was to open the program code, figure out the "libfat support piece of code" errabes added (by comparing it to the "unchanged" file) and replicating that with the newer version of the game.
So far I haven't even managed to get any human-readable code to get started - yes, I'm that much of a noob.

Thanks for the reply though. Maybe someone can give *very* specific hints as to what programs to use, what tutorials to read that I need, and whatnot, that would be awesome! Or, of course, hand me a libfat-patched ready-to-play rom, that'd be fine as well ;)
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,824
Trophies
3
Location
Gaming Grotto
XP
29,819
Country
Poland
include libfat into the source project

From what I've read so far, I think this is what would have to be done (a save feature is in the game, but since it will only run in RAM, it can't be used) - except I haven't even an idea where to start doing that.
My knowledge of DS (or any kind of) homebrew is basically zero. My idea was to open the program code, figure out the "libfat support piece of code" errabes added (by comparing it to the "unchanged" file) and replicating that with the newer version of the game.
So far I haven't even managed to get any human-readable code to get started - yes, I'm that much of a noob.

Thanks for the reply though. Maybe someone can give *very* specific hints as to what programs to use, what tutorials to read that I need, and whatnot, that would be awesome! Or, of course, hand me a libfat-patched ready-to-play rom, that'd be fine as well ;)
Do you have the source code that could be modified? "Decompiling the game" isn't going to work. ;)
 

Atantuo

New Member
OP
Newbie
Joined
Sep 29, 2012
Messages
4
Trophies
0
XP
2
Country
Gambia, The
Way to destroy what little hope I had :(

Is there really nothing to be done without the source? Some kind of workaround maybe, without actually changing the game file? Any ideas? *grasping at straws*

I don't know if this is of any help at all, but I was going to post this above anyway, except I forgot to do so...
This is the error message the game gives on startup (pretty much the same for all of the supplied versions, but this is from the standard version using rein):

Code:
Initing fat filesystem (rein) ...
No FAT filesystem detected
Using internal (GBFS) data files
Could not detect GBA cart SRAM!
RAM will be used instead which means your game will be lost when you switch off your machine.
Saving to '/ram/'
 

chyyran

somehow a weeb now.
Developer
Joined
Dec 10, 2009
Messages
2,845
Trophies
1
Location
here
Website
ronnchyran.com
XP
1,076
Country
Canada
Way to destroy what little hope I had :(

Is there really nothing to be done without the source? Some kind of workaround maybe, without actually changing the game file? Any ideas? *grasping at straws*

I don't know if this is of any help at all, but I was going to post this above anyway, except I forgot to do so...
This is the error message the game gives on startup (pretty much the same for all of the supplied versions, but this is from the standard version using rein):

Code:
Initing fat filesystem (rein) ...
No FAT filesystem detected
Using internal (GBFS) data files
Could not detect GBA cart SRAM!
RAM will be used instead which means your game will be lost when you switch off your machine.
Saving to '/ram/'

Should be a way to decompile it into ARM assembly language.

But, good luck learning ASM! :/
 

Byny

Member
Newcomer
Joined
Sep 23, 2009
Messages
16
Trophies
0
XP
192
Country
Brazil
The thing is, DSCrawl is probably very dated.
DCSS is being updated regularly, and it is awesome.
Now, if someone is really willing to create a port for the DS, it would awesome and doable.
DCSS is open source, coded in C++ using SDL. It has an ASCII and a tiles version(which has a nice mouse interface, and should be the most suitable for the DS).
 

Arras

Well-Known Member
Member
Joined
Sep 14, 2010
Messages
6,317
Trophies
2
XP
5,401
Country
Netherlands
It looks like it's released under a modified GPL license. You might be able to get the source for 1.0 if you can contact the author.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,824
Trophies
3
Location
Gaming Grotto
XP
29,819
Country
Poland
I second the motion of contacting the author, and if that fails, "technically" you could create a bootloader-type application that would work in the background and dump the entirety of the RAM to a file and load it by using a combination of keys - that way, you would be able to extract the values without having to modify the original binary at all. That said, Real Time Saving is quite a tall order for someone with no previous experience in coding. It's doable, but tricky, depending on how much RAM is allocated after the game boots.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,824
Trophies
3
Location
Gaming Grotto
XP
29,819
Country
Poland
What, I just read that error you posted. So, the game does natively support FAT, it merely cannot detect it? Have you tried DLDI patching it for your flashcart?

Edit: Blasted T9 writes whatever it feels like writing. >>;
 

Atantuo

New Member
OP
Newbie
Joined
Sep 29, 2012
Messages
4
Trophies
0
XP
2
Country
Gambia, The
Many thanks for all the replies.
After reading this, and looking around the internet some more, I think I'll just give up for now.
The beta is fun and playable enough, and I don't see myself creating that bootloader anytime soon :)
In the meantime, I'll be hoping for someone to bring DCSS to the NDS...
 
  • Like
Reactions: ferofax

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    Tandem even
  • The Real Jdbye @ The Real Jdbye:
    i think i heard of that, it's a good idea, shouldn't need a dedicated GPU just to run a LLM or video upscaling
  • The Real Jdbye @ The Real Jdbye:
    even the nvidia shield tv has AI video upscaling
  • The Real Jdbye @ The Real Jdbye:
    LLMs can be run on cpu anyway but it's quite slow
  • BakerMan @ BakerMan:
    Have you ever been beaten by a wet spaghetti noodle by your girlfriend because she has a twin sister, and you got confused and fucked her dad?
  • Psionic Roshambo @ Psionic Roshambo:
    I had a girlfriend who had a twin sister and they would mess with me constantly.... Until one chipped a tooth then finally I could tell them apart.... Lol
  • Psionic Roshambo @ Psionic Roshambo:
    They would have the same hair style the same clothes everything... Really messed with my head lol
  • Psionic Roshambo @ Psionic Roshambo:
    @The Real Jdbye, I could see AMD trying to pull off the CPU GPU tandem thing, would be a way to maybe close the gap a bit with Nvidia. Plus it would kinda put Nvidia at a future disadvantage since Nvidia can't make X86/64 CPUs? Intel and AMD licensing issues... I wonder how much that has held back innovation.
  • The Real Jdbye @ The Real Jdbye:
    i don't think nvidia wants to get in the x64 cpu market anyways
  • The Real Jdbye @ The Real Jdbye:
    you've seen how much intel is struggling getting into the gpu market
  • The Real Jdbye @ The Real Jdbye:
    and nvidia is already doing ARM
  • The Real Jdbye @ The Real Jdbye:
    i don't think they want to take more focus away from their gpus
  • Psionic Roshambo @ Psionic Roshambo:
    Yeah I think Nvidia s future lays in AI GPU acceleration stuff if they can get that going it's going to be super interesting in the long term
  • Psionic Roshambo @ Psionic Roshambo:
    AI assisted game creation might become a thing
  • Psionic Roshambo @ Psionic Roshambo:
    At least that's something I think would be pretty cool.
  • Psionic Roshambo @ Psionic Roshambo:
    Don some VR glasses and gloves and talk to the computer and paint entire worlds
  • Psionic Roshambo @ Psionic Roshambo:
    "OK Cortana I want that mountain a little taller and more snow on top, and I would like some random ancient pine forest around the bottom"
  • Psionic Roshambo @ Psionic Roshambo:
    "Now we need a spring fed river flowing down the north side and add some wild life appropriate for the biome"
  • Psionic Roshambo @ Psionic Roshambo:
    Many TBs of assets and the programming of something like that is going to be tough but I think it's something we might see in 20 years maybe sooner
  • The Real Jdbye @ The Real Jdbye:
    @Psionic Roshambo AI assisted game creation is kinda already here, there was recently that AI that can turn any 2D image into a fully modeled 3D object, it's not perfect, but it's a starting point, beats starting from zero
  • The Real Jdbye @ The Real Jdbye:
    before that there was one to generate a fully modeled scene from a 2D image
  • The Real Jdbye @ The Real Jdbye:
    but most recently, there was one that actually generates a working unity scene with terrain and textures already set up that you can import right into unity, that's a huge time saver right there
  • The Real Jdbye @ The Real Jdbye:
    and using LLMs to generate NPC dialogue and even dynamically generated quests is something i'm sure is already happening
  • The Real Jdbye @ The Real Jdbye:
    will just take some time for games made using those things to be completed and released
    The Real Jdbye @ The Real Jdbye: will just take some time for games made using those things to be completed and released