Homebrew Homebrew game [HELP] Convert DsHeretic from slot2 (.ds.gba) to slot1 (.nds)

Nikokaro

the most valuable game... is that of our life
OP
Member
Joined
Feb 3, 2020
Messages
1,343
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
3,421
Country
Italy
UPDATED WITH THE DSI (SD-SLOT) VERSION

[1775]dsHeretic4.jpg

Has anyone managed to get DS Heretic to work nowadays? Being an older port of the even older dos fps, it only works on slot2 flashcart and using PassMe/FlashMe.
Personally I tried it on my gba cart and through the passme function integrated with my r4 YSMenu, but it doesn't work in any way.

Someone, perhaps highly motivated and interested in this game like me (obviously with the necessary technical knowledge), would be able to convert the .ds.gba format into .nds format so that it works directly from slot1 ds flashcart? Don't suggest the ridiculous solution to just rename the file because obviously it doesn't work!

Eventually, at a later time, the possibility of using custom/user wads could be added, through the use of .argv files (using 'command line arguments') as already happens with DS Doom, provided that it is possible.

I thank anyone who reads this thread, is interested in this topic and/or would give me information, opinions or, even better, come forward for this arduous task.

Edit: CHERETIC DS/DS LITE (FLASHCART) VERSION
What was supposed to be a simple proposal to convert DSHeretic from slot2 to slot1 has turned, for a strange and pleasant twist of fate, into a revival of an old, forgotten project for DS: cHeretic, which has now regained vitality and color, thanks to the kind intervention of its author @elhobbs:
https://github.com/elhobbs/cheretic/blob/master/cheretic.nds

This port, although not yet complete, is already now fully playable and, especially for lovers of FPSes of the nineties, really addictive and fun to play.
Note: Now instead you can download the final version, with the following features:
- Fully functional Bgms;
- Activable map on the lower screen;
- Virtual keyboard;
- Cheats activated via keyboard;
- Even with the possibility to play additional custom/user wads (full episodes or single maps) via HBmenu and argv file, as you can read in my subsequent posts:
https://archive.org/details/cdrom-maximum-death-heretic

UPDATE:
I've updated this opening post to let you know that the DSi version of cheretic is available below, which then works from the SD-slot via TwilightMenu++.
Seeing is believing. :wink:

P.S. Unfortunately, with this version it doesn't seem possible to use the various custom episodes (wads) via HBmenu/.argv file: the loading process hangs on the "initializing disk..." message.
 

Attachments

  • cheretic-for-DSi.7z
    251 KB · Views: 18
Last edited by Nikokaro,

Nikokaro

the most valuable game... is that of our life
OP
Member
Joined
Feb 3, 2020
Messages
1,343
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
3,421
Country
Italy
Unfortunately, since this was made before DLDI was a thing, it is not possible to convert it to a properly working .nds file without the homebrew's source code (which doesn't seem to be public).
I was afraid that my appeal would fall completely into emptiness and oblivion.:sad:
Thank goodness that there are kind, helpful and competent people like you who come forward when they can.:)
I was afraid that porting .ds.gba to .nds would be difficult to achieve but I still tried to ask for help: where I come from, they say, "tentar non nuoce" ("it doesn't hurt to try").
Greetings:D
 

Nikokaro

the most valuable game... is that of our life
OP
Member
Joined
Feb 3, 2020
Messages
1,343
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
3,421
Country
Italy
Years ago elHobbs was working on cHeretic for the DS that should work from a slot1 flashcard, and i think also on hacked Dsi sd.
https://code.google.com/archive/p/cheretic/downloads
Thank you, you have made an amazing discovery.:)
I did a search with Google but this Heretic port is nowhere to be found, no old news, no informations, not even a mention can be found anywhere.

Apart from you, it would seem that no one knows of the existence of this one, perhaps not even the author himself.
For this discovery you deserve great credit: you unearthed an old project that seemed buried by the dust of time and long forgotten.

Not even inside the zipped file there is a readme.txt so I'll have to proceed by trial and error.
I suppose it would be enough to copy Heretic.nds and Heretic.wad in the microSD root: if it doesn't work this way I'm afraid it won't work any other way.

As soon as possible I will try it out; I am optimistic and have high hopes.
Thank you.:D
 

VatoLoco

Don't crush that dwarf, hand me the pliers.
Member
Joined
Jan 29, 2008
Messages
2,324
Trophies
0
Age
50
Location
Ya Cant Get There From Here
Website
www.backwoodzstudioz.com
XP
2,419
Country
United States
I have my cheretic.nds, wad and pc files all in a folder called HERETIC (all caps).
The button config isnt the best, and im not sure how to change it.
But elHobbs still frequents gbatemp, not sure if he'd be interested in such an old project. I think he made a 3ds port too.

Alternatively, if you happen to have a dstwo flashcard you can run the dingoo version of heretic through dstwo linux.
 

Nikokaro

the most valuable game... is that of our life
OP
Member
Joined
Feb 3, 2020
Messages
1,343
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
3,421
Country
Italy
Awesome.
I only copied Heretic.wad and cHeretic.nds to the microSD root without any other pc files.
On my DS Lite works great, better than I had hoped. :)

Maybe my joy is exaggerated, and to many young people this game won't seem like anything exceptional, but personally I have fond memories about it.
It was the first FPS for DOS that I played as a kid that I was hooked on; before and even more than Doom, Hexen and Quake: certain dark and gloomy medieval atmospheres are, for me, unique and unforgettable.:rolleyes:

After a quick test, If I really have to find some flaws, too bad that in the lower screen there is no map but those annoying console texts that spoil the atmosphere a little.
The touchscreen even works to move around, but since you can't reassign the fire and action on shoulder buttons, it's only usable by left-handers.
Finally, sometimes horizontal black lines appear while attacking enemies: after all, well, you can not have everything in life.:unsure:

Now I just need to check if it is possible to load custom wads through HBMenu and command line options inside an .argv file; which is very unlikely.

If someone were to perform the miracle of bringing even Blood (Monolith) on DS (I remember that source code of its alpha version is available now for some time), I could also die happy and with a peaceful heart...:rofl:

P.S. Instead on DSI XL, from SD-slot via Memory Pit and TWLMenu++ seems not to work: it starts loading data, you can hear the background music, but then it seems to freeze with black top screen: I waited 2 minutes and then I had to reset the DSi.:sad:

I am waiting for others to report their experiences and make their thoughts on this topic.:)

Edit: I later identified, unfortunately, other flaws:
-Invincibility seems to be set as default, and I don't think it can be turned off;
-In fullscreen mode, the left/right/down sides of the screen are cut off;
-There is no HUD at the bottom of the screen, and it is not clear how to select items and potions;
-It would appear that you can't change the weapon except when you pick one up.
-It is not possible to move sideways with the shoulder buttons, to dodge enemy shots (thus losing half the fun).
-The texture of the sky in some stages seems faulty.
-In full screen the lower part of some player weapons is missing.

If anyone has any information on this I would be glad.
 
Last edited by Nikokaro,

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
958
Trophies
0
XP
2,158
Country
United States
The source code is here if anyone is interested in making any updates.
https://github.com/elhobbs/cheretic

At the time there was little to no interest in the project and I lost interest in completing it.
As a note the black lines are caused by loading texture resources as the engine was rewritten to use the ds 3D hardware. There was a doom64 port that avoided this issue by extending the vblank period which might be interesting to add. Also the project would need to be updated to work with more recent devkitarm versions. Feel free to ask questions if you want to update the project.
 

Nikokaro

the most valuable game... is that of our life
OP
Member
Joined
Feb 3, 2020
Messages
1,343
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
3,421
Country
Italy
The source code is here if anyone is interested in making any updates.
https://github.com/elhobbs/cheretic

At the time there was little to no interest in the project and I lost interest in completing it.
As a note the black lines are caused by loading texture resources as the engine was rewritten to use the ds 3D hardware. There was a doom64 port that avoided this issue by extending the vblank period which might be interesting to add. Also the project would need to be updated to work with more recent devkitarm versions. Feel free to ask questions if you want to update the project.
Thank you for intervening in this thread, and for allowing me to relive on my dear pink DS lite, through your fantastic port, old memories and feelings dormant but never forgotten.
I particularly appreciate the fluidity of the graphics, the lack of slowdowns and jerks, and the presence of the original sound effects and bgms.
As it is, it's more than good and enjoyable.:)

As for me, I have no knowledge of any programming language, and unfortunately I think it is unlikely that anyone will show interest and step up to continue your project.

Despite that, I would still have a question for you. Would it be possible to load Heretic user wads, created over the years and easily available, using command line arguments (as you can do with DS Doom) contained in an .argv file, to launch through HBMenu? :unsure:

Thanks and greetings.
 

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
958
Trophies
0
XP
2,158
Country
United States
Thank you for intervening in this thread, and for allowing me to relive on my dear pink DS lite, through your fantastic port, old memories and feelings dormant but never forgotten.
I particularly appreciate the fluidity of the graphics, the lack of slowdowns and jerks, and the presence of the original sound effects and bgms.
As it is, it's more than good and enjoyable.:)

As for me, I have no knowledge of any programming language, and unfortunately I think it is unlikely that anyone will show interest and step up to continue your project.

Despite that, I would still have a question for you. Would it be possible to load Heretic user wads, created over the years and easily available, using command line arguments (as you can do with DS Doom) contained in an .argv file, to launch through HBMenu? :unsure:

Thanks and greetings.
I had a quick look and it appears that the command line arguments are being passed along so it may work with HBMenu as you suggested. The pwad would need to be for vanilla heretic - no enhanced engine mods. I would be curious to know if you get any mods to work.
 

Nikokaro

the most valuable game... is that of our life
OP
Member
Joined
Feb 3, 2020
Messages
1,343
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
3,421
Country
Italy
Can you put an example of the command line arguments to write, please ?
Hi.:)
I'm going to do more than that: a short guide that will be useful to others as well.

1)Copy cheretic.nds and heretic.wad to the root of the microSD, and also the various (vanilla/not enhanced) wads into one folder (e.g. heretic).

2) Create a file game.txt through DSOrganize (or other file manager) where "game" is the name of the wad;

3) Edit with the same DS tool the file created, writing as follows: "cheretic.nds -file heretic/game.wad", being the wad contained in the folder "heretic";

4) Save the file and rename it "game.argv";

5) Restart the console and run HBMenu, using it to select the .argv file;

6) The new episode replaces, if It works, one or more (usually the first or third) of the classic episodes.
 

Nikokaro

the most valuable game... is that of our life
OP
Member
Joined
Feb 3, 2020
Messages
1,343
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
3,421
Country
Italy
In the link below you will find an archive with various Heretic wads, but the only compatible ones are usually those dating back to the nineties:
https://youfailit.net/pub/idgames/levels/heretic/

Here you will find various mirror sites of the same archive, containing wads also for Doom/Doom2/Hexen:
https://www.gamers.org/ftp/archives.html

You may have noticed that this port, while being enjoyable and entertaining as it is, is unfortunately far from being free of flaws and issues, which I have already mentioned and listed in a previous post.

Since the source code of this port is now available, thanks to the kind permission of its author, my hope (maybe yours too) is that someone interested and with the right technical skills can resume the project and complete it.

I make myself available, as of now, for any beta testing, feedback and suggestions (even just encouragement and cheering), in the unlikely event that someone comes forward for this challenging task.

Thank you all:)
 

Indy13

Well-Known Member
Member
Joined
Jan 26, 2017
Messages
241
Trophies
0
Age
43
XP
609
Country
France
Since the source code of this port is now available, thanks to the kind permission of its author, my hope (maybe yours too) is that someone interested and with the right technical skills can resume the project and complete it.

I make myself available, as of now, for any beta testing, feedback and suggestions (even just encouragement and cheering), in the unlikely event that someone comes forward for this challenging task.

Thank you all

I think exactly the same thing, @Nikokaro was able to find the right words to express it, much better than me. I'm not the type to make requests but I hope that the challenge will be taken up, the port of a classic fps like Heretic allowing in addition the use of mods would be a real plus for DS / DSi supports.
 

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
958
Trophies
0
XP
2,158
Country
United States
I updated the source so that it compiles and runs with the latest devkitARM and libnds. I also disabled god mode and adjusted the key bindings a little.

it took me an embarrassingly long time to figure out why no sprites were showing. turns out that the depth sorting of sprites was using an uninitialized value which caused them to always be marked as rendered. this was not an issue with the old version of gcc or when I compiled it for win32. I assumed it was a ds 3d polygon attribute/alpha issue as this abused a little to get the sky background in place, but that turned out to not be the case.

there is still no way to change weapons or change/use artifacts as there are not enough buttons for direct mapping. one possible solution would be to use the select key to enable alternate mappings for the buttons. adding a touch keyboard to the bottom screen would be another option.
 

VatoLoco

Don't crush that dwarf, hand me the pliers.
Member
Joined
Jan 29, 2008
Messages
2,324
Trophies
0
Age
50
Location
Ya Cant Get There From Here
Website
www.backwoodzstudioz.com
XP
2,419
Country
United States
there is still no way to change weapons or change/use artifacts as there are not enough buttons for direct mapping. one possible solution would be to use the select key to enable alternate mappings for the buttons. adding a touch keyboard to the bottom screen would be another option

Thanks for updating this elhobbs =)
The dingoo port uses select + x to rotate through weapons, and select + y to scroll through items.
But touchscreen might be the way to go on the DS.
 
Last edited by VatoLoco,

Indy13

Well-Known Member
Member
Joined
Jan 26, 2017
Messages
241
Trophies
0
Age
43
XP
609
Country
France
Thanks for the update ! :)

Effectively the combinations: select + x and select + y as on the dingoo version could be good but I'm afraid that this will be a little awkward for the grip, it is not very intuitive with one hand during the game maybe it should be better to rethink all the keys, after quickly reading the game manual and trying to visualize the optimal combinations and the most pleasant to use, I thought of this:

select + L = weapons
select + R = items
X = use items
Y + left directional arrow = left strafe
Y + right directional arrow = right strafe
B = attack
A = action (doors, buttons)
touchscreen = map

Otherwise I had problems with the sound during my test of this new version, from the second level, between the images and the sound it looked like too much information, it is not really the sound in particular but rather as if the program requested too many resources and finally the game crashed at the second level to return to the selection of HBmenu, would it be possible to add compatibility with EZ flash 3in1 to try to get a little more power?

Another thing that I could see is that I had a problem with displaying the colors of the graphics palette, it is a bug that seems to happen randomly from the second level, the problem is resolves by itself if a new weapon is found in the level.

On the old version, from the third level the same bug recurs and even if it is solved with the weapon solution, a new bug appears with the music that does not work, only a continuous "beep" is heard.

Otherwise I also tested a mod (Unbelieve), it works but after a while there is this same crash issue.

One last thing I tested is the backup system, it works fine.

Small precision, I did my tests with a ds lite.
 
Last edited by Indy13,

Nikokaro

the most valuable game... is that of our life
OP
Member
Joined
Feb 3, 2020
Messages
1,343
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
3,421
Country
Italy
I updated the source so that it compiles and runs with the latest devkitARM and libnds. I also disabled god mode and adjusted the key bindings a little.
Thanks for the source code update, but personally I have only an old WindowsXP PC and I have no way to compile the .NDS file, so I have to wait for someone kindly to upload it here.:(

In the meantime I've found, for those who are interested, an incredible, massive collection (not all SP maps, I think) of 1600 Heretic levels dating back to 1996, which in theory should be all more or less compatible with the DOS version (so also with this port) of Heretic:
https://archive.org/details/cdrom-maximum-death-heretic

It's amazing how this thread, first neglected and passed unnoticed in the general silence, has now resumed new life and interest, I hope as widespread as possible (although the title no longer reflects the content and should be changed).:)

Thanks again to all of you, and particularly to @elhobbs, who seems perhaps to have regained interest in his old project, fortunately for us, old FPS fanatics.

P.S. Regarding the mapping of buttons, I only note that using R/L shoulder buttons to strafe is a must (as for DS Doom svn or DualHexen) and the best and most effective solution, and I recommend to set them like this:unsure:
 
Last edited by Nikokaro,
General chit-chat
Help Users
    NeoGaming @ NeoGaming: :sleep: