VOGONS

Common searches


First post, by nextvolume

User metadata
Rank Newbie
Rank
Newbie

Hi guys, recently the decompiled source code of the Sonic the Hedgehog remakes for Android and iOS has been released on GitHub, so I've made modifications to make it use Allegro 4.2 instead of SDL. I've compiled the games for DOS too, using a DJGPP cross compiler on Linux.

Sonic 1 and 2:
https://github.com/nextvolume/Sonic-1-2-2013- … es/tag/20210201

Sonic CD:
https://github.com/nextvolume/Sonic-CD-11-Dec … es/tag/20210201

One needs to obtain the datafile (a file named either Data.rsdk.xmf or Data.rsdk) from the APK of the games, though.
As APKs can be extracted with unzip, it will be quite easy.

sonic1-remake-running-on-dosbox.png

Reply 1 of 15, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

Neat!

Just looking at the technical requirements:

128 megabytes of RAM, otherwise it will freeze when accessing Special Stages, they use A LOT of memory.
Without audio enabled and not considering Special Stage, the game would run fine with 16 megabytes of RAM.

😮

Is that the highest memory requirement of a DOS game ever?

My collection database and technical wiki:
https://www.target-earth.net

Reply 2 of 15, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

Sonic 1 and Sonic 2 do have Data.rsdk.xmf files but Sonic CD.APK do not have a unified data files, I have inspected many versions on Android versions of Sonic CD and have not found a single "data" file. Only larger file has only the videos.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.

Reply 3 of 15, by Jo22

User metadata
Rank l33t++
Rank
l33t++
megatron-uk wrote on 2021-02-08, 09:05:

Is that the highest memory requirement of a DOS game ever?

I don't know, but this reminds me of the "good old times" when I visited caiman.us .

At the time, I encountered several Sonic games, some for DOS, even!
Sonic Robo Blast had a DOS port, I recall.
And there was another one, that was DOS-only.
Just recently, I stumbled opon one that was made in QuickBasic 4.5..

Edit: They were Sonic XTreme and Sonic: Project Mettrix.
Both had insane requirements for their time, IMHO..

http://vplanet.petesqbsite.com/raview28.shtml

http://www.headcannon.com/hchc/Mettrix/

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 4 of 15, by Error 0x7CF

User metadata
Rank Member
Rank
Member

With memory requirements like that it might be wiser to target Win9x. That, and it would mean you could run Sonic 1, 2, 3&K, CD (now in 3 flavors!), 3D Blast, and R (am I missing more? I feel like I am.) under 9x natively.

Old precedes antique.

Reply 5 of 15, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

Did anyone else click on this thread expecting someone to be begging for a port of these games to DOS? Truly, it is a nice change of pace to read about someone actually doing something.

128 megabytes of RAM, otherwise it will freeze when accessing Special Stages, they use A LOT of memory.

Is that just the Sonic CD special stages?

Gamehut did some videos on the other special stages and how they all come down to some very, very clever sprite work.
https://www.youtube.com/watch?v=ilolCcB8Om8

Reply 6 of 15, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Jorpho wrote on 2021-02-08, 16:48:

Did anyone else click on this thread expecting someone to be begging for a port of these games to DOS? Truly, it is a nice change of pace to read about someone actually doing something.

Yes, yes, it's really nice IMHO. 😁

Personally, the memory requirements thing wasn't meant as a critique. 😅
I, for example, meant to say that older Sonic fan games from the early 2000s also had equally "high" requirements (for a DOS game).
They required 16 to 64MB minimum, if memory serves, which was more than Sega's Windows ports from the mid-90s needed.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 8 of 15, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

Yeah. Many of us use SB PRO clones, so 8 bit sound is apreaciated. And someone should make a more detailed tutorial, how to get the data files. Still have not gotten Sonic CD data file.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.

Reply 9 of 15, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

Not sure why a standard unzip program might not work, but when it comes to unpacking APK files, I like to use APK Easy Tool.
https://forum.xda-developers.com/t/tool-windo … c-2020.3333960/

And apparently if you have the Steam version, the .rdsk is just sitting there.
https://steamcommunity.com/sharedfiles/filede … /?id=1228120176

Reply 10 of 15, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

Standard UNZIP programs like WinRAR and 7ZIP both work just fine, the problem was not that. Just the "APK download universe" had Sonic 1 and 2 with those data.rsdk inside. But many tried versions on Sonic CD APK files did not have those.

PS. I know only one program else, that needs Sound Blaster 16 specifically, it is Nosefart a DOS NES music player. And that shi...t does not even say that it just does not has the ability to output 8bit sounds.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.

Reply 11 of 15, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie

I always thought a game like
Jazz Jackrabbit could be reshelled with different graphical assets, sprite interactions and maps

Would be sonic like and much less resource heavy than these modern interpretations.

Sadly not allowing “Sonic” to fire the gun would be a buzz kill

Reply 12 of 15, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Cyberdyne wrote on 2021-02-09, 05:10:

Yeah. Many of us use SB PRO clones, so 8 bit sound is apreaciated. And someone should make a more detailed tutorial, how to get the data files. Still have not gotten Sonic CD data file.

Really ? 😳 Don't these SBPro 2 clones also have compatibility with Windows Sound System (WSS) ? 😕
I for example, used a PAS16 in the mid-90s and when Pentium II/III were around, many on-board soundchips showed SB16 settings mentioned in BIOS.
Using a SB Pro 2-only card still by the times Allegro library was under development must have been an odd scenario. Akin to playing games in CGA mode in 2000.
A plain SB Pro is so 1991 (~14 years before Allegro 4.2). It didn't even meet the requirements for MPC Level 2, hence alone Win95.

Edit: An older copy of Allegro that was part of SEAL2, has options for 8-Bit Sound Blasters. Hm. Curious! 😕
Edit: Hm. Or did you mean that the game should include 8-Bit samples ? Does Allegro library lack the ability to downsample ?

Attachments

  • allegro_setup_mus1.png
    Filename
    allegro_setup_mus1.png
    File size
    11.75 KiB
    Views
    1282 views
    File license
    Fair use/fair dealing exception
  • allegro_setup_mus2.png
    Filename
    allegro_setup_mus2.png
    File size
    11.69 KiB
    Views
    1282 views
    File license
    Fair use/fair dealing exception
  • allegro_setup_snd1.png
    Filename
    allegro_setup_snd1.png
    File size
    11.58 KiB
    Views
    1282 views
    File license
    Fair use/fair dealing exception
  • allegro_setup_snd2.png
    Filename
    allegro_setup_snd2.png
    File size
    11.48 KiB
    Views
    1282 views
    File license
    Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 13 of 15, by Error 0x7CF

User metadata
Rank Member
Rank
Member

I've been trying to figure out what would be necessary to compile the decompilation as-is for Win9x, and I'm not positive but I think it wouldn't be particularly difficult. The decompilation upstream supports using SDL1.2 instead of SDL2, which should in theory work fine under 9x. I tried building it configured for SDL1, 32-bit, with no MMX/SSEx/AVXx and failed, I think I lack the experience to make that work without having a known working guide.

Old precedes antique.

Reply 14 of 15, by nextvolume

User metadata
Rank Newbie
Rank
Newbie

I coded in WSS audio library support for the Sonic 1-2 remakes. I am going to do the same for Sonic CD soon.
https://github.com/nextvolume/Sonic-1-2-2013- … es/tag/20210210

SONICWSS.EXE is a build using the WSS sound library for audio output instead of Allegro. (USE_ALLEGRO4=1 DOS=1 WSSAUDIO=1 CXXFLA […]
Show full quote

SONICWSS.EXE is a build using the WSS sound library for audio output instead of Allegro. (USE_ALLEGRO4=1 DOS=1 WSSAUDIO=1 CXXFLAGS=-Ofast)
SONICWSM.EXE is the same but it loads files completely in memory. (USE_ALLEGRO4=1 DOS=1 WSSAUDIO=1 MEMORYIO=1 CXXFLAGS=-Ofast) [this can be good if you got 128MB+ RAM and loading from slow media]

The WSS sound library supports newer sound cards compared to Allegro, like the ones using HDA or AC'97 codecs.
Nonetheless, despite WSS finding your sound card, you may find you don't hear anything... this may happen if the BIOS doesn't initialize the sound card properly, and so you need to initialize it somehow. (like booting another OS and rebooting, running a TSR driver and then removing it, etc.)

The WSS library support in the game first tries to initialize a HDA sound card... then if it fails an AC97 sound card, and then as a last fallback a SB-compatible sound card. WSS supports more sound cards actually, but it'd be hard to do auto detection in another way...
you need to change sound card ID number in the code and recompile for now.

Grab the other needed files (CWSDPMI.EXE and SETTINGS.INI) from the previous release (20210201).

This *should* work on a SBPro too... but haven't tested.
Let me know.

Reply 15 of 15, by mr.cat

User metadata
Rank Member
Rank
Member
Error 0x7CF wrote on 2021-02-10, 03:22:

I've been trying to figure out what would be necessary to compile the decompilation as-is for Win9x, and I'm not positive but I think it wouldn't be particularly difficult. The decompilation upstream supports using SDL1.2 instead of SDL2, which should in theory work fine under 9x. I tried building it configured for SDL1, 32-bit, with no MMX/SSEx/AVXx and failed, I think I lack the experience to make that work without having a known working guide.

I'm not an expert in this area by no means, but I've done some similar kind of testing and found out that it's not just click-and-go. I suppose you tried with some version of mingw?
Thing is, the new mingw-w64 doesn't really support the oldies any longer, so you can either compile your own version of mingw-w64 (which isn't very straightforward either, but can be done) or you can use mingw32.
For mingw32, one easy option is to use Code::Blocks 13.12, there's a version that has mingw32 included.