VOGONS


First post, by Riikcakirds

User metadata
Rank Member
Rank
Member

Over the week I've been testing a CT4520 AWE64 card in DOS. Everything works apart from:

After running Aweutil /EM:MT32 command it shows:
SYNTHMT.SBK loaded
Set MIDI emulation to MT32
Reverb: ###########################
Chorus: ###########################
TSR installed.

Then when I run a game like Supaplex, King's Quest IV, Populous Prince Persia, M1 Tank (any REAL-MODE game that supports MT32), it will crash out with the following error message:

I/O CHANNEL CHECK - CHECKING FOR SEGMENT
OFFENDING SEGMENT:
E000
PRESS F1 TO DISABLE NMI, F2 TO REBOOT

The above message is not generated by the games, i have found it in the bios , searching the bios image in a hex editor.
The computer I am using is an MS-5120, 430fx chipset with a Pentium 100mhz. MS-DOS 6.22. My motherboard bios has an option for memory parity on/off but makes no difference.

I have found by chance that if I disable CPU L1 cache the games now work with MT32 emulation, but they run like a slideshow (the games run fine using a P100 with adlib and only Aweutil /s option).
Considering P100 was period correct in 1996 when the Aweutil was in common use i don't think people were disabling L1 cache back then to play these games using \EM option.
Is Aweutil speed sensitive?

Reply 1 of 17, by dominusprog

User metadata
Rank Member
Rank
Member

AWEUTIL will not work in protected mode. You have to use the DOS32AWE utility.

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

Duke_2600.png
A-Trend ATC-1020 V1.1 ❇ Cyrix 6x86 150+ @ 120MHz ❇ 32MiB EDO RAM (8MiBx4) ❇ A-Trend S3 Trio64V2 2MiB
Aztech Pro16 II-3D PnP ❇ 8.4GiB Quantum Fireball ❇ Win95 OSR2 Plus!

Reply 2 of 17, by Riikcakirds

User metadata
Rank Member
Rank
Member
dominusprog wrote on 2023-12-31, 14:36:

AWEUTIL will not work in protected mode. You have to use the DOS32AWE utility.

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

These are all real mode games from crica 1988-1990. I'm not running emm386 only umbpci so the cpu is also in real mode.
I've tried the above for protected mode games and it works most of the time.
The problem I have is with Aweutil /EM:MT32, then loading a real mode game like supaplex that support MT32, it errors out and dos shows:

I/O CHANNEL CHECK - CHECKING FOR SEGMENT
OFFENDING SEGMENT:
E000
PRESS F1 TO DISABLE NMI, F2 TO REBOOT

.

Reply 3 of 17, by Tiido

User metadata
Rank l33t
Rank
l33t

This is sort of a board/BIOS incompatibility. AWE cards use NMI to do their MIDI emulation, but some boards trap it before the TSR can and output a message like this. Disabling NMI will remove any chance for the TSR to do its magic and reboot is not useful either 🤣.

You may have lucky with changing BIOS on the board, perhaps there's one that will not care about NMI...

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 4 of 17, by georgel

User metadata
Rank Member
Rank
Member

Which version of AWEUTIL are you using? Try to use the latest one. AWEUTIL likes higher CPU speeds. The BIOS must not trap the NMI first. AWEUTIL stays earlier if not on top of the NMI handlers chain. Either for some reason the NMI vector in the interrupt table is overwritten back with the BIOS vector (for example on a timer basis), or most likely AWEUTIL does not recognize some or all NMIs as sound card generated and passes program flow down the next NMI handler. After AWEUTIL installation in /EM mode it would be interesting to see the NMI vector pointer of your configuration. For example you may run C:>debug and type the dump command d0:8 (it is a zero after d, what a stupid font vogons forum has) and tell what the first 4 dumped bytes are. The "OFFENDING SEGMENT" also puzzles me. Could you please stop using UMBs for testing purpose. Do you know which TSRs are located in EOOO segment in your DOS setup? I think you are loading high AWEUTIL in that region and it passes NMI down the interrupt handler that corresponds to the second scenario I described.

Reply 5 of 17, by Riikcakirds

User metadata
Rank Member
Rank
Member
georgel wrote on 2024-01-01, 07:26:

Which version of AWEUTIL are you using? Try to use the latest one. AWEUTIL likes higher CPU speeds. The BIOS must not trap the NMI first. AWEUTIL stays earlier if not on top of the NMI handlers chain. Either for some reason the NMI vector in the interrupt table is overwritten back with the BIOS vector (for example on a timer basis), or most likely AWEUTIL does not recognize some or all NMIs as sound card generated and passes program flow down the next NMI handler. After AWEUTIL installation in /EM mode it would be interesting to see the NMI vector pointer of your configuration. For example you may run C:>debug and type the dump command d0:8 (it is a zero after d, what a stupid font vogons forum has) and tell what the first 4 dumped bytes are. The "OFFENDING SEGMENT" also puzzles me. Could you please stop using UMBs for testing purpose. Do you know which TSRs are located in EOOO segment in your DOS setup? I think you are loading high AWEUTIL in that region and it passes NMI down the interrupt handler that corresponds to the second scenario I described.

Oops, I made a mistake with the "OFFENDING SEGMENT" it was OOOO, not EOOO. Sorry about that, my mind was a bit frazzled with the Christmas chaos going on here.

I'm using AWEUTIL V1.36, and the card is a CT4520 AWE64.
Booting to Dos clean (nothing loaded, not even himem.sys) then running CTCM to initialize card. The Blaster line is:
BLASTER=A220 I5 D1 H5 P330 E620 T6

After running AWEUTIL /EM:MT32
the first 4 bytes output of Debug d0:8 is - C1 13 DE 15

The reason I'm booting to Dos clean, with no TSRs loaded or even himem.sys, is because the two real-mode games I'm running that offer MT32 both work with only 512kb memory and it rules out out any other dos tsr problems. (the games are Supaplex and Chips Challenge, both easy to setup with choice of adlib or MT32).
Both games will run fine on my P100 after running AWEUTIL /S and then selecting Adlib sound in the games.

After running AWEUTIL /EM:MT32 then running the games they will bomb out to dos text mode screen with:
I/O CHANNEL CHECK - CHECKING FOR SEGMENT
OFFENDING SEGMENT:
0000
PRESS F1 TO DISABLE NMI, F2 TO REBOOT

Pressing either F1 or F2 does nothing.

Reply 6 of 17, by georgel

User metadata
Rank Member
Rank
Member

I recommend you to load normally your config.sys and autoexec.bat and start a protected mode game with DOS32AWE, then exit the game and without rebooting the PC run a real mode game that used to cause I/O CHANNEL CHECK error.

Reply 7 of 17, by Riikcakirds

User metadata
Rank Member
Rank
Member
georgel wrote on 2024-01-02, 04:46:

I recommend you to load normally your config.sys and autoexec.bat and start a protected mode game with DOS32AWE, then exit the game and without rebooting the PC run a real mode game that used to cause I/O CHANNEL CHECK error.

I ran the game Screamer, first renamed DOS32AWE to dos4gw in the game directory. Selected General Midi as music device in setup and the game worked with GM music. This was after running AWEUTIL /EM:GM.
Then I exited Screamer and ran real mode game Chips Challenge and it showed:

I/O CHANNEL CHECK - CHECKING FOR SEGMENT
OFFENDING SEGMENT:
D000
PRESS F1 TO DISABLE NMI, F2 TO REBOOT

Difference is the segment is now D000 instead of oooo, and also now pressing F1 works and it takes me back to the dos prompt.

Reply 9 of 17, by bytesaber

User metadata
Rank Member
Rank
Member

Well, I apparently did not stumble onto this specific thread today, but rather another.

I would really love to know more. I disabled my L1 cache as a solution. I too eventually realized it was a BIOS error, and not a game error. Took a while to realize. Since it's not about the game, I'd really be interested if there is a way to leave the L1 cache enabled.

I am using MS-DOS 6.22 with a PIII on a 440bx chip with 256MB of ram on board. Motherboard is an ASUS CUBX-E

Reply 10 of 17, by Demolition-Man

User metadata
Rank Member
Rank
Member

I also have an interesting variant of the problem. ECS P5XVBE Rev 3.0. AWEUTIL only worked sporadically. After I installed a boot manager it now works every time. No idea why. A BIOS update to version 1.5 led to the known problem. Then I went back to 1.4. Re: ECS P5VX-BE BIOS update

Reply 11 of 17, by bytesaber

User metadata
Rank Member
Rank
Member

I downgraded the PIII from a 1Ghz to a 600Mhz. Still error. Then I went back into the BIOS and it let me change it to 400Mhz. Worked.

When I go from 600Mhz to 400Mhz, the FSB also drops from 100Mhz to 66Mhz. I wonder if that is having an effect, rather than the slower CPU speed. No idea. But I'm here to share. The slower CPU is probably more appropriate anyhow. At least all of these are simple solutions to try. I don't mind adjusting them.

I've disabled the cache before for other games, but that's to just slow things down. Like Wing Commander 1. But it doesn't crash. Just too fast. I still don't think it runs properly with cache disabled. It starts to really become a slide show and the USB mouse doesn't move smoothly.

Well, this is probably the best it gets for any answers to AWEUTIL "crashing" my system once called upon for emulation. It sure is a fun thing to be able to do with Sound Blaster AWE64.

A nice alternative is to just turn up the Reverb and Chorus in AWEUTIL, and then instead tell the game to use FM synth. Secret of Monkey Island actually sounds pretty nice this way. It's not midi, and it's not OPL3. But it's definitely only something I know how to do on AWE32/64 with their CQM FM synth. And it doesn't crash or require sound fonts.

"aweutil /r:60 /c:60" is a nice helping of sound frosting for their FM synth to echo through the EMU8000. At least, I think that's what's going on.

If anyone has any advise on how to avoid crashing AWEUTIL when calling it to do more, please share. I love doing this stuff. If everything just worked, the hobby wouldn't be there. 😊

Reply 12 of 17, by bytesaber

User metadata
Rank Member
Rank
Member
Demolition-Man wrote on 2024-05-05, 20:51:

Then I went back to 1.4

Lose anything noticable when going back to 1.4? That's a bit annoying.

Very curious that using another bootloader also had an effect. I have been using BootMagic this entire time, but I hadn't thought of it as a contributor. I use it to boot Win9x in the neighboring partition.

Reply 13 of 17, by Demolition-Man

User metadata
Rank Member
Rank
Member

Lose anything noticable when going back to 1.4? That's a bit annoying.

Not really, it says MII CPU @166MHz again instead of 6x86MX-PR200. And only 8.4GB of usable storage space instead of the existing 15.2GB. Not that bad, but annoying because even an expert couldn't find a reason for the NMI to disappear. At least in my case it's not speed dependent.

Reply 14 of 17, by AvalonH

User metadata
Rank Member
Rank
Member
Demolition-Man wrote on 2024-05-05, 20:51:

I also have an interesting variant of the problem. ECS P5XVBE Rev 3.0. AWEUTIL only worked sporadically. After I installed a boot manager it now works every time. No idea why. A BIOS update to version 1.5 led to the known problem. Then I went back to 1.4. Re: ECS P5VX-BE BIOS update

You used a boot mananger and it fixed Aweutil to work with the /em: mt32, gm, etc options? What boot manager did you use.

I've had this problem on a old P75 Asus 430fx motherboard. Tried with flashed AMI bios, Award bios and Mr Bios.
The best game I have found to test for Aweutil /em bugs is Chips Challenge (only needs 500kb conventional memory to run).
As the original poster said, it works with a completely clean Dos boot, not even needing Himem.sys. You can then load aweutil /em:mt32 and pick that in the game settings. If this game works you can be pretty certain the Aweutil /em: option will work with everything.

Reply 15 of 17, by Demolition-Man

User metadata
Rank Member
Rank
Member

I`m using System Commander v5.04. It was my first attempt in this direction, but it worked.

I'll have to take a closer look at everything when I get the chance, the PC is currently stowed away. I don't know which version of AWEUTIL this is. Edit ver. 1.35.As usual, I also have EMM386 because I actually have games that need EMS. I'll have to test a few more things, but I just have no idea how often changing the BIOS will work.
All I can say is that even when it didn't always work, it only led to a freeze in DOS, the strange error message only appeared with the new BIOS version. If the 1.5 BIOS actually affects the NMI, there's nothing I can do.

Last edited by Demolition-Man on 2024-05-10, 16:26. Edited 2 times in total.

Reply 16 of 17, by weedeewee

User metadata
Rank l33t
Rank
l33t
Demolition-Man wrote on 2024-05-06, 15:32:

I`m using Norton System Commander v5.04. It was my first attempt in this direction, but it worked.

Norton System Commander v5.04
Excuse me ? I know of Norton Commander, and the boot manager System Commander, but Norton System Commander I have never heard of 😀

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port