You can't !Hi there,
It's one the difficult challenge I have been working on, but sound code is really not easy to reverse engineer, especially for old games like this.
I remember finding some interesting data in the additional General MIDI patch released for CIV (GSOUND.CVL), but since I am not very familiar with MIDI, there is still work before being able to export/import as MIDI files.
So, sadly I advise you to not expect this feature very soon.
It's hot a hope anymore, I'm progressing nicely. The things work, and I think that the game is truly playable in this state but without music for now as my priority is game first and sound second.DOS games will often interface with sound cards directly rather than playing back files, which makes it really tough to change things. Your best bet is to hope @rahorvat 's decompilation reaches a point where enhancements are possible (or play the windows port, you can switch out low quality wav files to your heart's content )
Sometime ago I found a dump of Roland MT-32 based MIDI files, although I cannot find them anymore...You can't !
The sounds are hard coded into sound drivers. The only possibility is a new .cvl driver which accepts wav files, or modifying the existing one. But I don't know if this is worth the effort, as I hope that in a few month's the OpenCiv1 will be ready for a release.
I was looking at the RSOUND.CVL code (MT-32 version), but it seems that after the code analysis the memory block (which is a mix of ASCII and binary) starting with string '[MPS Civilization]' seems like a memory dump from Roland MT-32 internal memory. I hope that someone did a good MT-32 ROM analysis so we will be able to decode the MIDI stream from there. There is also AdLib/Sound Blaster version in ASOUND.CVL which is software based wav player, but the sound quality is poor.
That's great!Seomtimes ago I found a dump of Roland MT-32 based MIDI files, although I cannot find them anymore...
However I did contact the person who made them, and he explained that he plugged an MT-32 emulator into a DOSBox version of CIV - or more precisely the "CIV jukebox", that I never had in my hands, but apprently can play any CIV song individually.
Well, as I understood, MT-32 not only plays MIDI files, but stores synthesized sound models. So you could, for example load new piano or guitar synthesized sound and then play song with that sound. I think that's also a problem, as MIDI generally stores only name of instrument and notes.That way he simply caputred MIDI events sent out throughte MT-32 emulator and generated MIDI files this way.
I found it again, and the actual source where I found it: http://www.mirsoft.info/gmb/music_info.php?id_ele=MTQzMzQ=That's great!
Yes MT-32 was a synth board created by an actual top brand in synthesizers (Roland), however they used their very own flavour of MIDI which does not follow the "General MIDI" standard that came around several years later.Well, as I understood, MT-32 not only plays MIDI files, but stores synthesized sound models. So you could, for example load new piano or guitar synthesized sound and then play song with that sound. I think that's also a problem, as MIDI generally stores only name of instrument and notes.
I can't even imagine the effort it'd take to program WAV support into a 16-bit CVL supported by CIV.EXE !!!Don't know for sure, as it's not my expertise.
Maybe Blake00 knows more details as he owns actual MT-32?
But then we are still stuck on two choices: Make a custom cvl sound driver, or modify an existing one, possibly with wav input for simplicity?
So sorry, my forum reading is very erraticYeah I was gonna say you could have saved yourself some time Darkpanda as I literally posted that link in this thread yesterday only a handful of posts before yours lol!
And nope, I definitely don't have a Roland MT-32 rahorvat sadly! From the sound of things you guys know way more than I do about how all that works too.
Great to hear things are getting that far with OpenCiv1 now!
Excellent ! I'm on my phone but will check it out as soon as I am back on PCI used wayback machine to reach the microprose ftp site (circa 1998!), here it is. It even lets you choose what sound driver you want to use.
Well, the MUNE in DOSBox will not play regular MIDI so that appears as a dead end. I tried to play those midi files but they are in MT-32 format it seems.I can't even imagine the effort it'd take to program WAV support into a 16-bit CVL supported by CIV.EXE !!!
However you got me into diving into the General MIDI lead again
I am lol, I guess you didn't read my next post after that too where I said I wanted the playable midi format files for other things.. sigh..I must have thought you were using WAVs of MT32 playback inside WinCiv
... looking for a neurologist right nowI am lol, I guess you didn't read my next post after that too where I said I wanted the playable midi format files for other things.. sigh..
Just to mention that I have posted 18 MIDIs extracted from the Civ Jukebox using General MIDI driver with DOSBox capture, in @Lord_Hill Jukebox-dedicated thread: https://forums.civfanatics.com/threads/the-civilization-jukebox.684866/nah sadly for me it's not about listening as I have the roland mt-32 recordings for that.. I wanna add the midis to my Civ1 mod for Civ2 and also use/edit them for some other things too.
Messing around with CivNet sav VS CivWin sav, there doesn't seem to be a huge amount between them.
As per this post, CivWin SAV has an initial byte followed by FE FF as some kind of signature.
CivNet has a 10 byte header which reads in ASCII as 'CIVNET!' followed by three zeros, then the initial byte then a different signature, F5 FF.
Curiously, I was able to 'convert' a CivNet save by removing the 10 byte header, opening it as a CivWin save (which worked somehow) then resaving it in JCivEd as a CivWin save. I tried this with a second save and JCivEd locked up, so presumably it's a case of very close but not quite the same! I did not attempt to actually play with this save, so there may well be other problems. But it's a start.