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

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
910
Trophies
0
XP
1,837
Country
United States
As soon as I can, after dinner, I'll try all 9 episodes with the new build, and I'll report back much more accurately on the results.
And sorry if I sometimes misunderstand what you're asking: it's what they call a language barrier and it's hard for me to explain myself well.

I was expecting you to upload the single cHeretic.nds below, not the link, since with Android Chrome on smartphone I have difficulties on Github.
Anyway I will try the file with the description: "move sound cache cleanup to end of frame". I hope it's the right one.:P
yes, that is the latest version.
 
  • Like
Reactions: Indy13 and Nikokaro

Nikokaro

An aphorism a day to improve...my profile
OP
Member
Joined
Feb 3, 2020
Messages
914
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
1,558
Country
Italy
I finally finished. Again, I got the same results as the first test.

1)CaveCastles: sb_init: Loading patches. Tried to transmit to another node (freezes)
2)Desperations: Idem
3)DestinyChild: idem
4)DreamWorlds: idem
5)OutWorld: idem
6)RoadAragon: idem
7)HeretoHell: idem
8)WorldsSin: idem

In all these cases the game freezes with the music playing in the background, all buttons unresponsive except A, which when pressed locks the sound into a single echoing note.

Oddly enough, however, in only one case:
9)DwarvenMines: guru meditation error!
Data abort!

We just have to wait for someone else, maybe our friend @Indy13, to report his results with his DS/DS Lite/DSi.

Note: I've uploaded you 2 short videos if you're interested. Eventually I can make you more. You will also hear, in the background, the beautiful Italian language....:rofl2:
 

Attachments

  • guru_error.7z
    4.1 MB · Views: 47
  • common_error.7z
    6.4 MB · Views: 47
Last edited by Nikokaro,
  • Like
Reactions: Tarmfot and Indy13

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
910
Trophies
0
XP
1,837
Country
United States
I finally finished. Again, I got the same results as the first test.

1)CaveCastles: sb_init: Loading patches. Tried to transmit to another node (freezes)
2)Desperations: Idem
3)DestinyChild: idem
4)DreamWorlds: idem
5)OutWorld: idem
6)RoadAragon: idem
7)HeretoHell: idem
8)WorldsSin: idem

In all these cases the game freezes with the music playing in the background, all buttons unresponsive except A, which when pressed locks the sound into a single echoing note.

Oddly enough, however, in only one case:
9)DwarvenMines: guru meditation error!
Data abort!

We just have to wait for someone else, maybe our friend @Indy13, to report his results with his DS/DS Lite/DSi.

Note: I've uploaded you 2 short videos if you're interested. Eventually I can make you more. You will also hear, in the background, the beautiful Italian language....:rofl2:
ok - I put a new version in the opl7 branch on git. can you try that when you get a chance?

I am using a shared memory object to pass messages from arm9 to arm7 to control the music playback. I was invalidating the cache after requesting state changes - when I really wanted to flush the cache instead. flushing the cache would guarantee the arm7 would sere the changes. invalidating the cache was making it so neither cpu would see the changes. it also would cause any other memory writes in pending in the cache to disappear as well - most likely the cause for the network errors.
 

Indy13

Well-Known Member
Member
Joined
Jan 26, 2017
Messages
215
Trophies
0
Age
42
XP
537
Country
France
Hi @elhobbs thanks for all your works :)
Hi @Nikokaro thanks for all your tests ! :)

Sorry friends for my abscence at the moment, I am not at home currently, I do not have my ds with me and I connect sporadically from a pc that is not mine, I follow the advances but unfortunately I will not be able to help you with testing for the next three weeks, I am coming home from July 10, I am sincerely sorry, apart from supporting you morally, I cannot help you at this time.
 

Nikokaro

An aphorism a day to improve...my profile
OP
Member
Joined
Feb 3, 2020
Messages
914
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
1,558
Country
Italy
ok - I put a new version in the opl7 branch on git. can you try that when you get a chance?
Bravo. Congratulations. I am impressed.
You have succeeded admirably in fixing this issue as well.
There seems to be nothing you can't do....
:bow:
I tested DestinyChild.wad, CavesCastles.wad, Desperations.wad and DwarvenMines.wad (which gave a different error): all of them now start normally, and selecting the third episode, everything works very well.

Today I'm invited by friends and I don't have time. Anyway, I'll peek at this thread from my smartphone and if you have any questions, I'll try to answer them "on the fly".:wink:

P.S. I'm posting a short video to prove that it works and that highlights an example of H!zone custom textures: a snowy and frozen landscape (Dwarven Mines).
An invitation to taste...:rolleyes:
 

Attachments

  • DwarvenMines.7z
    9.4 MB · Views: 51
Last edited by Nikokaro,
  • Like
Reactions: Indy13 and elhobbs

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
910
Trophies
0
XP
1,837
Country
United States
I uploaded a new build to the opl7 branch. I adjusted the sprite scaling to reduce sprite texture loads.

https://github.com/elhobbs/cheretic/tree/opl7

This has the benefit of fewer black lines at the expense of more aggressively scaled sprites. since sprites are almost always rendered in scaled down manner it is not super noticeable in most cases. The previous algorithm tried to avoid scaling down sprites when possible. the renderer supports dimensions of 8,32,64,128,256. The previous method would try to use first dimension that was greater than or equal to the actual sprite width/height. the new method scales down if it is halfway between two values. for instance widths between 64 and 96 will be scaled down to 64.
 

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
910
Trophies
0
XP
1,837
Country
United States
I cleaned up the sound code. so far it seems to have resolved the odd sounds - screeches, crackling, etc. I would be curious to see if this holds true for others as well. I also made a change to clear the sound buffer and reset the sound timers during level changes. this should help with keeping the sound playback in sync with the mixer timer.

I also merged the opl7 branch back into master - so master has the latest version

https://github.com/elhobbs/cheretic
 

Nikokaro

An aphorism a day to improve...my profile
OP
Member
Joined
Feb 3, 2020
Messages
914
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
1,558
Country
Italy
cleaned up the sound code. so far it seems to have resolved the odd sounds - screeches, crackling, etc. I would be curious to see if this holds true for others as well.
Thank you for your continued commitment. I thought the sound problem was already solved; but I haven't had much time to test it properly lately.:(

By now I think you have achieved near perfection, and the maximum possible given the limitations of the hardware.

You never cease to amaze me: every week you give us a new surprise...:)

I'll try it tonight, just to promote sleep (or rather insomnia ...:wacko:).
 
  • Like
Reactions: Indy13

Nikokaro

An aphorism a day to improve...my profile
OP
Member
Joined
Feb 3, 2020
Messages
914
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
1,558
Country
Italy
On a first try, I have to say that the sound is really sharper and cleaner, and even the dripping, the splash, the laughter, the distant chimes; everything is more pleasant to listen to, and there seems to be no trace of annoying noises anymore.

Congratulations again...:yay:

Note: Even in the e5m1 map, one of the most graphically challenging and crowded with enemies, the white rectangles instead of enemy sprites seem to have disappeared.
And horizontal lines, if my eyes didn't deceive me, became white, very fast, and much rarer.
Only I noticed, later on, a few brief noises here and there, but really very rare.
 
Last edited by Nikokaro,
  • Like
Reactions: Indy13

Nikokaro

An aphorism a day to improve...my profile
OP
Member
Joined
Feb 3, 2020
Messages
914
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
1,558
Country
Italy
This new version worked exceptionally well, even using custom episodes and megawads, until a few moments ago, when it crashed for no apparent reason, but always in the same place.
It is the New Heretic 1 megawad (composed of old SP maps merged to make 5 episodes) that you can find here:
https://www.moddb.com/games/heretic/addons/ultimate-hereticnew-heretic

I posted a very short video, but I don't think it's useful.
Something similar had already happened some time ago in a main episode map, which was solved using the no-music version of cheretic.
 

Attachments

  • Hcrash.7z
    4.2 MB · Views: 39
  • Like
Reactions: Indy13

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
910
Trophies
0
XP
1,837
Country
United States
This new version worked exceptionally well, even using custom episodes and megawads, until a few moments ago, when it crashed for no apparent reason, but always in the same place.
It is the New Heretic 1 megawad (composed of old SP maps merged to make 5 episodes) that you can find here:
https://www.moddb.com/games/heretic/addons/ultimate-hereticnew-heretic

I posted a very short video, but I don't think it's useful.
Something similar had already happened some time ago in a main episode map, which was solved using the no-music version of cheretic.
Does the no music version solve this issue too?
 
  • Like
Reactions: Indy13

Nikokaro

An aphorism a day to improve...my profile
OP
Member
Joined
Feb 3, 2020
Messages
914
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
1,558
Country
Italy
Does the no music version solve this issue too?
I will answer this question within 24 hours when I have time and the pc available to copy it.
In fact it's better to leave it on flashcart next to the last version, to use in case of emergency, to overcome possible troublesome points.:unsure:
 
  • Like
Reactions: Indy13

Indy13

Well-Known Member
Member
Joined
Jan 26, 2017
Messages
215
Trophies
0
Age
42
XP
537
Country
France
Hi friends, a quick little passage to say hello, first of all, congratulations @elhobbs for this new version, it is becoming more and more refined and it is close to perfection. :)

For testing I am only home for two days, I just had time to update my sd card with the new version of cheretic and all mods from h! Zone and moddb, I will start my tests again from from the end of next week, @Nikokaro , if you want us to organize ourselves to divide up the tests don't hesitate to tell me ;) , I think I'll do full tests again, the full original game and the following mods in full test too:

-Caves&Castles
-Darkday
-Desperations
-DestinyChildren
-Dreamworlds
-DwarvenMines
-FinalHereticV1
-FinalHereticV2
-FromHereToHell
-NewHereticV1
-NewHereticV2
-OutworldAssault
-RoadToAragon
-UltimateHereticV1
-UltimateHereticV2
-Unbeliever
-WorldsOfSin

After a very quick first test, I encountered a problem with the "Unbeliever" mod, the game froze on the first map, but I think it was related to an overloaded environment, there was a lot of enemies so a lot of sound effects and, at this moment, when opening a door it would seem that it was the sound effect in excess, the game froze, the music stopped and the very beginning of the effect sound of the sound of the door opening blocked as a kind of repetitive noise, I did not try to reproduce the bug but on the contrary, when I relaunched the game, I took the time eliminate the enemies one by one so as not to have an environment saturated with graphic and sound information, by doing so I was able to go to the second map after that I got to the fourth map without problem but I am not went further in my test.

I'm not a developer but it looks a lot like the first bugs of the very first version, I'm going with this hypothesis but maybe it's a cache problem, I don't know, only @elhobbs can confirm it.
 
  • Like
Reactions: Nikokaro

Nikokaro

An aphorism a day to improve...my profile
OP
Member
Joined
Feb 3, 2020
Messages
914
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
1,558
Country
Italy
Does the no music version solve this issue too?
Unfortunately it crashes with that version as well.
However, it is not the case to make a tragedy out of it. We can use the "skel" cheat (to get all three keys) or, as a last resort, the "engage##" cheat (to skip the level).

I would like to point out that, in the previous 10 maps, I had not encountered any problems.
If I have to nitpick, I found only some crowding of horizontal lines (now white, for who knows what reason) but nothing more.

These are trifles.
For my part, as I have already said several times, I am very grateful and fully satisfied, given the progress made, and the quality achieved.
Above all the possibility, previously unhoped for, to play custom wads is what gives me the most joy and fun.

After a very quick first test, I encountered a problem with the "Unbeliever" mod, the game froze on the first map, but I think it was related to an overloaded environment
@Indy13, hello and welcome back.
I'll point out that Unbeliever, unlike all the other wads dating back to the 1990s, is very recent and not vanilla compatible, so not reliable to test.
 
  • Like
Reactions: Indy13

Nikokaro

An aphorism a day to improve...my profile
OP
Member
Joined
Feb 3, 2020
Messages
914
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
1,558
Country
Italy
@elhobbs, a greeting and I hope you are well.

Since you haven't released any more updates, I wanted to know if we should consider the latest version as the FINAL one. Personally, playing here and there, I haven't encountered any major problems anymore, and I'm immensely satisfied: this FPS, played on DS, is fantastic, and it is a genuine and unexpected joy, at least for a fan like me: a real gem, rare and unknown to most.
:rolleyes:
It would be nice, for us seasoned gamers, if we could also have Dual Hexen, with the same level of technical and programming quality, and without the frequent and unpleasant z-malloc error. Maybe optimized to take advantage of the higher RAM available on a DSi. A simple wish or maybe an impossible dream, but maybe you would be willing to put your skills to the test and take an interesting, new challenge: of course, for the joy of many (mine and of @Indy13 especially...hehehe).

Regards.:D
 
Last edited by Nikokaro,
  • Like
Reactions: Indy13

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
910
Trophies
0
XP
1,837
Country
United States
@elhobbs, a greeting and I hope you are well.

Since you haven't released any more updates, I wanted to know if we should consider the latest version as the FINAL one. Personally, playing here and there, I haven't encountered any major problems anymore, and I'm immensely satisfied: this FPS, played on DS, is fantastic, and it is a genuine and unexpected joy, at least for a fan like me: a real gem, rare and unknown to most.
:rolleyes:
It would be nice, for us seasoned gamers, if we could also have Dual Hexen, with the same level of technical and programming quality, and without the frequent and unpleasant z-malloc error. Maybe optimized to take advantage of the higher RAM available on a DSi. A simple wish or maybe an impossible dream, but maybe you would be willing to put your skills to the test and take an interesting, new challenge: of course, for the joy of many (mine and of @Indy13 especially...hehehe).

Regards.:D
I think this is the final version - unless other issues pop up. I may take a look at hexen ....
 

Nikokaro

An aphorism a day to improve...my profile
OP
Member
Joined
Feb 3, 2020
Messages
914
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
1,558
Country
Italy
Hi everyone, and to @elhobbs mainly.:)

I just finished the colossal and amazing megawad "New Heretic 1", and it was a fun and engaging marathon.
This addon contains no less than 48 levels, most of them large, articulate, and varied.
The structure of the rooms, the position of switches, teleports, platforms, the choice and combination of textures, the positioning of enemies, all reveals careful study, involvment to execution and love of detail.

Apart from the use of a cheat to have full weapons and bullets (really necessary), as far as possible I played each level normally, without facilitation, orienting me mainly thanks to the use of the map.
And these are the conclusions to which I came:

1)About 90% of the levels can be completed without difficulty, as long as you look for the secret passages by touching every wall and every corner.
In these maps the sound effects and BGM are 99% perfect, with very rare and short-lived croaking sounds.
As for the graphics, you can sometimes see the infamous horizontal white lines, but they are barely noticeable.

2)In 3-4 levels the background textures are unfortunately missing and the screen is black, but when you approach the textures appear, and then disappear when you move away; but this concerns only part of the level. Using the map and the cheat "ravmap" (complete map) you can still finish the level.

3) In 2-3 levels unfortunately the game crashes in a certain point for a reason that is incomprehensible at first glance;
I have verified these points several times, and then skipped these levels with the cheat "engage##".

4) In 1-2 levels it seems that the creator has forgotten to place the 3 keys, which are not detectable even with the cheat "ravmap" (entered twice). But you can continue using the cheat "skel" (which gives the three keys).

5) The last 3 levels (6-1/3) are only reachable via warp cheat ("engage61") but having first deactivated the map in the lower screen, otherwise the game freezes. Once the level is loaded, the map can be reactivated.
After that, strangely enough, I couldn't load the save or restart these levels because of continuous crashes.

I take this opportunity to emphasize again the exceptional nature and accuracy of this FPS port, which on DS makes a great figure, and to thank the dedication and professionalism of its author.
As you can see I'm continuing to play it and admire this port virtues, and even if I were the only one to do so (which I do not think) your efforts have not been in vain: you have satisfied at least one adult, his spirit still childish and playful, who owes a debt of gratitude to you.:wink:

P.S. The only request I would like to make, if possible, would be to move the level title, which appears when the map is activated, from the top screen to the bottom screen (in the lower side of this).
 
Last edited by Nikokaro,
  • Like
Reactions: Indy13

Nikokaro

An aphorism a day to improve...my profile
OP
Member
Joined
Feb 3, 2020
Messages
914
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
1,558
Country
Italy
@elhobbs Only now I realized, to my surprise, that cheretic is not playable from SD slot of DSi. Yet I was convinced that it was. And this is a pity, because there are many people who do not have a flashcart, and maybe they would like to try this historic FPS.
Basically the console seems to load the necessary files at the beginning, the background music can be heard, but the screen remains black.
So, wouldn't it be possible to make it compatible with DS slot, and also allow it to take advantage of the greater RAM available on the DSi? This would solve certain slowdowns, missing textures and missing / flashing sprites in some maps of the many times mentioned megawads.
And this would surely make your Heretic port even more popular and appreciable.
Thank you :)
 

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
910
Trophies
0
XP
1,837
Country
United States
@elhobbs Only now I realized, to my surprise, that cheretic is not playable from SD slot of DSi. Yet I was convinced that it was. And this is a pity, because there are many people who do not have a flashcart, and maybe they would like to try this historic FPS.
Basically the console seems to load the necessary files at the beginning, the background music can be heard, but the screen remains black.
So, wouldn't it be possible to make it compatible with DS slot, and also allow it to take advantage of the greater RAM available on the DSi? This would solve certain slowdowns, missing textures and missing / flashing sprites in some maps of the many times mentioned megawads.
And this would surely make your Heretic port even more popular and appreciable.
Thank you :)
yes. I ran i to this same issue. It was working at one point. I have not had a lot of time or motivation to address the issue.
Dsi mode might help with some of the slowdowns but it won’t do anything about the missing textures. The dsi and ds have the same 3D hardware. The issue in this case being the 512k texture vram limit. It might be possible to convert the 8bit textures to 4bit textures - but that would require a lot of palette manipulation and processing of textures. Not to mention the vram for the palettes. Switching back to the software rendering is basically the only option.
 
  • Like
Reactions: Nikokaro
General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://themodernproper.com/chicken-piccata