VOGONS


DOS32AWE - DOS/4G compatible DOS Extender with Sound Blaster AWEUTIL MIDI synthesizer support for Protected mode,VIASB

Topic actions

  • This topic is locked. You cannot reply or edit posts.

Reply 20 of 286, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
georgel wrote on 2021-09-02, 08:29:

One can use SoftMPU for such games along with AWEUTIL /EM:MT32 but none of the protected mode games sends SysEX messages as far as I've learned from this forum, doesn't it?

Later protected mode games do not since they do not support the MT-32 at all. Of course you can use an MT-32 soundbank with later protected mode games that support only GM/GS (that's a personal preference) but then they will use wrong instruments. You may actually 'like' the wrong instruments better (I think this can be contributed to the anemic default GM set used by the AWE line) but it does not change the fact that the default instrument map of GM/GS and MT-32 substantially differ.

Default GM/GS (capital tones):

0=Acoustic Grand Piano
1=Bright Acoustic Piano
2=Electric Grand Piano
3=Honky-tonk Piano
4=Electric Piano 1
5=Electric Piano 2
6=Harpsichord
7=Clavinet
8=Celesta
9=Glockenspiel
10=Music Box
11=Vibraphone
12=Marimba
13=Xylophone
14=Tubular Bells
15=Dulcimer
16=Drawbar Organ
17=Percussive Organ
18=Rock Organ
19=Church Organ
20=Reed Organ
21=Accordion
22=Harmonica
23=Tango Accordion
24=Acoustic Guitar (nylon)
25=Acoustic Guitar (steel)
26=Electric Guitar (jazz)
27=Electric Guitar (clean)
28=Electric Guitar (muted)
29=Overdriven Guitar
30=Distortion Guitar
31=Guitar Harmonics
32=Acoustic Bass
33=Electric Bass (finger)
34=Electric Bass (pick)
35=Fretless Bass
36=Slap Bass 1
37=Slap Bass 2
38=Synth Bass 1
39=Synth Bass 2
40=Violin
41=Viola
42=Cello
43=Contrabass
44=Tremolo Strings
45=Pizzicato Strings
46=Orchestral Harp
47=Timpani
48=String Ensembles 1
49=String Ensembles 2
50=SynthStrings 1
51=SynthStrings 2
52=Choir Aahs
53=Voice Oohs
54=Synth Voice
55=Orchestra Hit
56=Trumpet
57=Trombone
58=Tuba
59=Muted Trumpet
60=French Horn
61=Brass Section
62=Synth Brass 1
63=Synth Brass 2
64=Soprano Sax
65=Alto Sax
66=Tenor Sax
67=Baritone Sax
68=Oboe
69=English Horn
70=Bassoon
71=Clarinet
72=Piccolo
73=Flute
74=Recorder
75=Pan Flute
76=Blown Bottle
77=Shakuhachi
78=Whistle
79=Ocarina
80=Lead 1 (square)
81=Lead 2 (sawtooth)
82=Lead 3 (calliope)
83=Lead 4 (chiff)
84=Lead 5 (charang)
85=Lead 6 (voice)
86=Lead 7 (fifths)
87=Lead 8 (bass + lead)
88=Pad 1 (new age)
89=Pad 2 (warm)
90=Pad 3 (polysynth)
91=Pad 4 (choir)
92=Pad 5 (bowed)
93=Pad 6 (metallic)
94=Pad 7 (halo)
95=Pad 8 (sweep)
96=FX 1 (rain)
97=FX 2 (soundtrack)
98=FX 3 (crystal)
99=FX 4 (atmosphere)
100=FX 5 (brightness)
101=FX 6 (goblins)
102=FX 7 (echoes)
103=FX 8 (sci-fi)
104=Sitar
105=Banjo
106=Shamisen
107=Koto
108=Kalimba
109=Bag pipe
110=Fiddle
111=Shanai
112=Tinkle Bell
113=Agogo
114=Steel Drums
115=Woodblock
116=Taiko Drum
117=Melodic Tom
118=Synth Drum
119=Reverse Cymbal
120=Guitar Fret Noise
121=Breath Noise
122=Seashore
123=Bird Tweet
124=Telephone Ring
125=Helicopter
126=Applause
127=Gunshot

Default MT-32:

0=Acou Piano 1
1=Acou Piano 2
2=Acou Piano 3
3=Elec Piano 1
4=Elec Piano 2
5=Elec Piano 3
6=Elec Piano 4
7=Honkytonk
8=Elec Org 1
9=Elec Org 2
10=Elec Org 3
11=Elec Org 4
12=Pipe Org 1
13=Pipe Org 2
14=Pipe Org 3
15=Accordion
16=Harpsi 1
17=Harpsi 2
18=Harpsi 3
19=Clavi 1
20=Clavi 2
21=Clavi 3
22=Celesta 1
23=Celesta 2
24=Syn Brass 1
25=Syn Brass 2
26=Syn Brass 3
27=Syn Brass 4
28=Syn Bass 1
29=Syn Bass 2
30=Syn Bass 3
31=Syn Bass 4
32=Fantasy
33=Harmo Pan
34=Chorale
35=Glasses
36=Soundtrack
37=Atmosphere
38=Warm Bell
39=Funny Vox
40=Echo Bell
41=Ice Rain
42=Oboe 2001
43=Echo Pan
44=Doctor Solo
45=School Daze
46=Bellsinger
47=Square Wave
48=Str Sect 1
49=Str Sect 2
50=Str Sect 3
51=Pizzicato
52=Violin 1
53=Violin 2
54=Cello 1
55=Cello 2
56=Contrabass
57=Harp 1
58=Harp 2
59=Guitar 1
60=Guitar 2
61=Elec Gtr 1
62=Elec Gtr 2
63=Sitar
64=Acou Bass 1
65=Acou Bass 2
66=Elec Bass 1
67=Elec Bass 2
68=Slap Bass 1
69=Slap Bass 2
70=Fretless 1
71=Fretless 2
72=Flute 1
73=Flute 2
74=Piccolo 1
75=Piccolo 2
76=Recorder
77=Pan Pipes
78=Sax 1
79=Sax 2
80=Sax 3
81=Sax 4
82=Clarinet 1
83=Clarinet 2
84=Oboe
85=Engl Horn
86=Bassoon
87=Harmonica
88=Trumpet 1
89=Trumpet 2
90=Trombone 1
91=Trombone 2
92=Fr Horn 1
93=Fr Horn 2
94=Tuba
95=Brs Sect 1
96=Brs Sect 2
97=Vibe 1
98=Vibe 2
99=Syn Mallet
100=Windbell
101=Glock
102=Tube Bell
103=Xylophone
104=Marimba
105=Koto
106=Sho
107=Shakuhachi
108=Whistle 1
109=Whistle 2
110=Bottleblow
111=Breathpipe
112=Timpani
113=Melodic Tom
114=Deep Snare
115=Elec Perc 1
116=Elec Perc 2
117=Taiko
118=Taiko Rim
119=Cymbal
120=Castanets
121=Triangle
122=Orche Hit
123=Telephone
124=Bird Tweet
125=One Note Jam
126=Water Bell
127=Jungle Tune

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 21 of 286, by georgel

User metadata
Rank Member
Rank
Member

What about earlier protected mode games -- do they use SysEX messages; give an example of such game , please?

I've never insisted on using MT32 .sbk instead of GM .sbk where inappropriate, don't get me wrong. Just my testing setup for the DOS32AWE was that and for the project debugging it was irrelevant which .sbk to use. It is just a matter of of the AWEUTIL /EM:xxx option setting.

Reply 22 of 286, by Gmlb256

User metadata
Rank l33t
Rank
l33t

Did testing with the new version yesterday.

DOS32AWE still crashes after time passes even if I executed BEFORE_A.COM (what tweaks it does to improve stability?) prior starting AWEUTIL as a TSR. Also the actual MPU-401 found on the AWE64 (thru gameport) get messed up that I can't use it (got a I/O channel check error) unless I turn off the computer and turn it on again, I think it may be related to BEFORE_A.COM.

I also used a more fresh CONFIG.SYS this time with STACKS=9,256 loaded at low memory and no EMM to make sure.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 23 of 286, by georgel

User metadata
Rank Member
Rank
Member
Gmlb256 wrote on 2021-09-02, 14:15:

Did testing with the new version yesterday.

DOS32AWE still crashes after time passes even if I executed BEFORE_A.COM (what tweaks it does to improve stability?) prior starting AWEUTIL as a TSR. Also the actual MPU-401 found on the AWE64 (thru gameport) get messed up that I can't use it (got a I/O channel check error) unless I turn off the computer and turn it on again, I think it may be related to BEFORE_A.COM.

I also used a more fresh CONFIG.SYS this time with STACKS=9,256 loaded at low memory and no EMM to make sure.

Thanks for testing. It works for hours without a glitch until I stop it on my p3 1.3 GHz ISA machine which used to be unstable with the initial version. How long does it take on your machine to crash in average? What do you see when it crashes, e.g. is it every time the I/O channel check error? It is time to pull another motherboard for testing since with this one there are no more issues. I am leaving DOOM2 to play its intro , and I also have no DOS mouse driver of any kind installed, and no stacks definition in config.sys at all.

Last edited by georgel on 2021-09-02, 14:31. Edited 1 time in total.

Reply 24 of 286, by Gmlb256

User metadata
Rank l33t
Rank
l33t
georgel wrote on 2021-09-02, 14:24:
Gmlb256 wrote on 2021-09-02, 14:15:

Did testing with the new version yesterday.

DOS32AWE still crashes after time passes even if I executed BEFORE_A.COM (what tweaks it does to improve stability?) prior starting AWEUTIL as a TSR. Also the actual MPU-401 found on the AWE64 (thru gameport) get messed up that I can't use it (got a I/O channel check error) unless I turn off the computer and turn it on again, I think it may be related to BEFORE_A.COM.

I also used a more fresh CONFIG.SYS this time with STACKS=9,256 loaded at low memory and no EMM to make sure.

Thanks for testing. It works for hours without a glitch until I stop it on my p3 1.3 GHz ISA machine which used to be unstable with the initial version. How long does it take on your machine to crash in average? What do you see when it crashes, e.g. is it every time the I/O channel check error?

About 5-15 minutes in average, even if I leave the demo playing on Doom and do nothing.

The I/O channel check error happens every time when I attempt to run the game without using AWEUTIL for MIDI emulation (after executing BEFORE_A.COM and even doing a reboot without it turning off) before the music starts playing.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 25 of 286, by georgel

User metadata
Rank Member
Rank
Member

The behavior you describe without AWEUTIL installed as TSR (which is a must in our case) is normal. DOS32AWE is meant to be used ONLY with preinstalled as TSR AWEUTIL. Otherwise use the ordinary DOS Extender. If you don't install AWEUTIL there is no program to handle the CPU part of the MIDI emulation in real/v86 mode and system dies like you described.
What about the random error that you get after some arbitrary time, what does such a random crash output on screen?

Last edited by georgel on 2021-09-02, 14:47. Edited 1 time in total.

Reply 26 of 286, by Gmlb256

User metadata
Rank l33t
Rank
l33t
georgel wrote on 2021-09-02, 14:35:

The behavior you describe without AWEUTIL installed as TSR (which is a must in our case) is normal. DOS32AWE is meant to be used ONLY with preinstalled as TSR AWEUTIL. Otherwise use the ordinary DOS Extender. If you don't install AWEUTIL there is no program to handle the CPU part of the MIDI emulation in real/v86 mode and system dies like you described.
What about the random error that you get after some arbitrary time, what does such a random crash output on screen?

I was running AWEUTIL as TSR prior using DOS32AWE (no ordinary DOS extender used, typing DOS32AWE DOOM.EXE on the command line), not making this up. Wonder if the 4DOS shell has something to do with this, will try later to confirm this using COMMAND.COM.

The "output" screen I get occasionally after some time are black vertical stripes, sometimes it freezes the computer that I had to reboot it.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 27 of 286, by georgel

User metadata
Rank Member
Rank
Member

The I/O channel check error happens every time when I attempt to run the game without using AWEUTIL for MIDI emulation

Doesn't thas mean you are not installing AWEUTIL? Why would you use DOS32AWE if you are not using AWEUTIL for MIDI, there is no reason for this.

Please double check for the other behavior that you run BEFORE_A in your autoexec.bat file as prescribed AND that the version of the DOS32AWE you are starting is the V1.1 and not some old dos32awe.exe file left that is V1.0 but unintentionally executed (in path or otherwise). The stripes were a problem of V1.0.

4DOS shouldn't be related at all. Just for information I use freedos' doskey instead.

Reply 28 of 286, by Gmlb256

User metadata
Rank l33t
Rank
l33t
georgel wrote on 2021-09-02, 14:52:

Doesn't thas mean you are not installing AWEUTIL? Why would you use DOS32AWE if you are not using AWEUTIL for MIDI, there is no reason for this.

This is after using AWEUTIL as TSR and rebooting the computer after the issue (I do that kind of thing to verify stability), otherwise I won't be testing, reporting and posting here at all. I always delete DOS32AWE after doing the tests to avoid leftovers.

Will double check later with a much emptier CONFIG.SYS and AUTOEXEC.BAT (with BEFORE_A.COM and AWEUTIL as TSR of course).

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 29 of 286, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
georgel wrote on 2021-09-02, 06:38:
First, the MT-32 parameter instructs AWEUTIL to load the MT-32 soundbank file which is SYNTHMT.SBK file and is twice the size of […]
Show full quote

The /EM:MT-32 parameter remaps the standard General MIDI (GM) instrument set to the arrangement of the Roland MT-32 (which is not a GM device). However, it cannot emulate the custom sound banks functionality of the MT-32.

First, the MT-32 parameter instructs AWEUTIL to load the MT-32 soundbank file which is SYNTHMT.SBK file and is twice the size of the general MIDI .sbk file. You don't know how to program a soundbank converter to .sbk format but you claim :

The /EM:MT-32 parameter remaps the standard General MIDI (GM) instrument set to the arrangement of the Roland MT-32 (which is not a GM device).

Secondly, which games use custom MT-32 soundbanks?

jesolo's post is 100% accurate - the reason the SBK file for the General MIDI soundfont is smaller is that it maps most of the instruments to existing samples in the card's included ROM

Reply 31 of 286, by georgel

User metadata
Rank Member
Rank
Member
Gmlb256 wrote on 2021-09-02, 15:04:

This is after using AWEUTIL as TSR and rebooting the computer after the issue (I do that kind of thing to verify stability), otherwise I won't be testing, reporting and posting here at all.

Thank you for testing but if you remove dependent modules that are meant to be part of one whole set-up you would be expected only to report success here but no additional errors. Right now I have no sufficient strength to add foolproof checks in the modules (they can check if AWEUTIL is installed as TSR, etc, give more console output, etc.). All is still maybe crude, sort of proof-of-concept. But before releasing new version 1.1 I ran overnight tests on my machine without a glitch. Now I am moving to my other two ISA machines capable of running that software. Please try also with JEMMEX LOAD, it is easy to be started even after the DOS is booted, I am starting to like this new memory manager.

Reply 32 of 286, by jesolo

User metadata
Rank l33t
Rank
l33t
georgel wrote on 2021-09-02, 15:11:

jesolo's desire for alternative 3rd party MIDI softbanks and/or converter from/to other formats is completely offtopic!

I wasn't trying to detract from what you are doing here.
Merely trying to encourage someone else from expanding the functionality of the existing Aweutil utility, as you've now come up with a solution to enable someone from playing protected mode DOS games directly under DOS (as opposed to playing those games within a Windows 9x DOS prompt with custom soundfonts loaded).

As I'm hoping you are aware, under DOS, users are basically limited to only the 1 MB ROM sample set that is on an AWE card (and some of those samples sounds horrible). However, the AWE range of sound cards (with additional RAM installed) allows a user to load custom soundfonts with far superior samples than those contained in the 1 MB ROM sample set. Unfortunately, the vast majority of those custom soundfonts are in the soundfont V2 format.

FYI - I wasn't the first user that expressed a desire to be able to load V2 soundfonts under DOS. User Gmlb256 also mentioned this in his first post (2nd paragraph).

Reply 33 of 286, by georgel

User metadata
Rank Member
Rank
Member

I hardly could be the person who can reverse these proprietary .sbk AWEUTIL formats considering the fact that nobody else has done it for the last some 30 years...I think they were meant to be hard to reverse in order to keep the .sbk creators from possible stupid lawsuits for bank copyright issues.

Reply 34 of 286, by jesolo

User metadata
Rank l33t
Rank
l33t
georgel wrote on 2021-09-02, 17:17:

I hardly could be the person who can reverse these proprietary .sbk AWEUTIL formats considering the fact that nobody else has done it for the last some 30 years...I think they were meant to be hard to reverse in order to keep the .sbk creators from possible stupid lawsuits for bank copyright issues.

I never meant that I expect you to be that person.

There are already converters out there to convert *.sbk to *.sf2. To convert the other way around is a bit more tricky (which I won't go into now).
You can load *.sf2 files under Windows - it's just a shame that Creative never bothered to update Aweutil to do the same under DOS.

Reply 35 of 286, by mkarcher

User metadata
Rank l33t
Rank
l33t
Gmlb256 wrote on 2021-09-02, 15:04:
georgel wrote on 2021-09-02, 14:52:

Doesn't thas mean you are not installing AWEUTIL? Why would you use DOS32AWE if you are not using AWEUTIL for MIDI, there is no reason for this.

This is after using AWEUTIL as TSR and rebooting the computer after the issue (I do that kind of thing to verify stability), otherwise I won't be testing, reporting and posting here at all. I always delete DOS32AWE after doing the tests to avoid leftovers.

I suspect the cause for your trouble is not related to DOS32AWE. AWEUTIL as TSR places the AWE32 card into a mode where it generates IO Channel Check errors (NMIs) on purpose everytime MIDI is accessed. The TSR part of AWEUTIL catches these errors, and performs the necessary MIDI emulation. When you reboot the machine, AWEUTIL is no longer installed and is no longer able to catch the fake IO Channel Check errors generated by the AWE32 card when MIDI ports are accessed. Something needs to tell the AWE32 card to stop generating the IO Channel Check errors after reboot. As far as I know, AWEUTIL /S (which doesn't install the TSR part) will turn off this feature. Rebooting after you used AWEUTIL as TSR without running AWEUTIL /S from autoexec.bat during the next boot is not supported by Creative Labs.

Reply 36 of 286, by Gmlb256

User metadata
Rank l33t
Rank
l33t
mkarcher wrote on 2021-09-02, 18:10:
Gmlb256 wrote on 2021-09-02, 15:04:
georgel wrote on 2021-09-02, 14:52:

Doesn't thas mean you are not installing AWEUTIL? Why would you use DOS32AWE if you are not using AWEUTIL for MIDI, there is no reason for this.

This is after using AWEUTIL as TSR and rebooting the computer after the issue (I do that kind of thing to verify stability), otherwise I won't be testing, reporting and posting here at all. I always delete DOS32AWE after doing the tests to avoid leftovers.

I suspect the cause for your trouble is not related to DOS32AWE. AWEUTIL as TSR places the AWE32 card into a mode where it generates IO Channel Check errors (NMIs) on purpose everytime MIDI is accessed. The TSR part of AWEUTIL catches these errors, and performs the necessary MIDI emulation. When you reboot the machine, AWEUTIL is no longer installed and is no longer able to catch the fake IO Channel Check errors generated by the AWE32 card when MIDI ports are accessed. Something needs to tell the AWE32 card to stop generating the IO Channel Check errors after reboot. As far as I know, AWEUTIL /S (which doesn't install the TSR part) will turn off this feature. Rebooting after you used AWEUTIL as TSR without running AWEUTIL /S from autoexec.bat during the next boot is not supported by Creative Labs.

You have a point there. I tried without using BEFORE_A.COM that comes with the 1.1 version of DOS32AWE and the I/O channel check error appears after installing AWEUTIL as a TSR (regardless of the DOS program) and then rebooting, the only difference is that the computer didn't hang after some time passes on a non-protected mode program. When I unloaded properly AWEUTIL with the /U parameter, the actual MPU-401 works correctly without any issues.

Last edited by Gmlb256 on 2021-09-02, 18:31. Edited 1 time in total.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 39 of 286, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Cool! A while back, I opened another thread in which I inquired about the possibility of handling sound card emulation in the DOS extender, for protected mode games for which real mode emulators wouldn't work.

But after doing some further research, I thought this wouldn't be possible with DOS/32A, since it runs the game in ring 0 (unrestricted), as opposed to other DOS extenders that run the game in ring 3, allowing hardware access to be intercepted. How did you get around this? Or did I misinterpret the documentation I found about this?

Anyway, I believe the CauseWay DOS extender, which can also be used as a drop-in replacement for DOS/4GW and is now also open source, does run its payload in ring 3, which would perhaps make it more suitable for integrating ISA sound card emulation.