SBEMU icon indicating copy to clipboard operation
SBEMU copied to clipboard

Works fine on Acer Aspire One Netbook

Open Biomecanoid opened this issue 2 years ago • 245 comments

Hello,

This is not a post regarding an issue. I just wanted to say that this is working on an Acer Aspire One netbook. This little netbook is so "lifeless" that running DOS games gave it a purpose.

Thank you and keep up the good work and if you would like me to test anything on the little netbook I would gladly do.

Best Regards Chris

Biomecanoid avatar May 02 '23 16:05 Biomecanoid

Hi Chris,

Based on your post I revived my Aspire One; however I cannot get it to work. (It hangs after sbemu) What are you using? USB Drive or real HD? FreeDos or Real Dos?

I am using USB and Freedos.

Kr,

hjnijlunsing avatar May 30 '23 10:05 hjnijlunsing

Hello

I am using FreeDOS on a USB and tested DOOM and Duke Nukem

Works OK, this is the netbook I have :

https://cdn11.bigcommerce.com/s-w5trgcbv/images/stencil/1280x1280/products/858/5206/Acer_Aspire_White_ZG5_2__45955.1644957175.jpg?c=2

Acer Aspire one ZG5 maybe yours is different

Thanks

Biomecanoid avatar May 30 '23 19:05 Biomecanoid

Thanks for your reply; I have the a0751h which is probably causing the issue. I have tried:

  • Freedos USB with jemmex (as per the site) - SBEMU hangs
  • MSDOS 6.22 with Qemm 97 - SB EMU exits with error (Exception)

Other findings:

  • Both Qemm and Jemmex complain about EMS memory. Jemmex found system memory which it cannot use; Qemm states it's using the EMS page in conventional memory thus lowering the conventional memory available.
  • MPXPLAY works; (Tried tada.wav from Windows)
  • HDASet prints out a lot of information and exists succesfully (warns that pin line-out is not available)
  • HDAPlay does not work

Currently giving up ;-)

hjnijlunsing avatar May 31 '23 07:05 hjnijlunsing

Hi Biomecanoid,

Just started troubleshooting again; (thought I tried different parameters like: sbemu /A240 /I5 /D3 /T1 /OPL0 /PM0 /O1 /R1) Unfortunately still SBEMU is hanging

Can you check what device id / vendor id your audio chip is using? I just want to confirm whether it's my audio chip or if I have another issue.

My PCI ID = Vendor: 10EC Device: 0272

Can you also post the output of your JEMMEX loading? Do you get any warnings?

My Jemmex complains:

  • System memory found at c000-ffff, regions might be in use
  • Warning: no suitable page frame found, EMS functions are limited.

Output of SBEMU SBEMU:: Sound Blaster Emulation on AC97. Version: 1.0 beta3

Kr,

hjnijlunsing avatar Jul 06 '23 06:07 hjnijlunsing

Hi Biomecanoid,

Just started troubleshooting again; (thought I tried different parameters like: sbemu /A240 /I5 /D3 /T1 /OPL0 /PM0 /O1 /R1) Unfortunately still SBEMU is hanging

Can you check what device id / vendor id your audio chip is using? I just want to confirm whether it's my audio chip or if I have another issue.

My PCI ID = Vendor: 10EC Device: 0272

Can you also post the output of your JEMMEX loading? Do you get any warnings?

My Jemmex complains:

* System memory found at c000-ffff, regions might be in use

* Warning: no suitable page frame found, EMS functions are limited.

Output of SBEMU SBEMU:: Sound Blaster Emulation on AC97. Version: 1.0 beta3

Kr,

I can do that when I get home. How did you get the PCI ID ? from Linux ? ( lsusb )

I don't remember any warnings from JEMMEX.

Its a been a while since I touched that little netbook. I hope I still remember how to make everything work LOL

Biomecanoid avatar Jul 06 '23 07:07 Biomecanoid

Thank you for your fast reply! Would you be able to install MPXPLAY to your Freedos USB (http://prdownloads.sourceforge.net/mpxplay/MPXP167D.ZIP?download) and run: "mpxplay -Sct"

hjnijlunsing avatar Jul 06 '23 07:07 hjnijlunsing

Here is the result of the lspci command:

image

Biomecanoid avatar Jul 06 '23 21:07 Biomecanoid

Thanks for your support! After reading this thread: https://www.vogons.org/viewtopic.php?f=62&t=93006 it seems that Baron created a fork of SBEMU, and that version seems to work for me!

At least EPIC pinball now works with sound EXCEPT for the Android table. (Unsure why); however very happy I am able to get some results now!

Hope his work will somehow get merged into this branch.

For the Baron version: https://github.com/Baron-von-Riedesel/VSBHDA/releases/tag/v1

hjnijlunsing avatar Jul 07 '23 07:07 hjnijlunsing

Thanks for your support! After reading this thread: https://www.vogons.org/viewtopic.php?f=62&t=93006 it seems that Baron created a fork of SBEMU, and that version seems to work for me!

At least EPIC pinball now works with sound EXCEPT for the Android table. (Unsure why); however very happy I am able to get some results now!

Hope his work will somehow get merged into this branch.

For the Baron version: https://github.com/Baron-von-Riedesel/VSBHDA/releases/tag/v1

Hmm maybe I should try this fork on another Samsung netbook that I have and SBEMU does not work

Biomecanoid avatar Jul 07 '23 09:07 Biomecanoid

Thanks for your support! After reading this thread: https://www.vogons.org/viewtopic.php?f=62&t=93006 it seems that Baron created a fork of SBEMU, and that version seems to work for me!

At least EPIC pinball now works with sound EXCEPT for the Android table. (Unsure why); however very happy I am able to get some results now!

Hope his work will somehow get merged into this branch.

For the Baron version: https://github.com/Baron-von-Riedesel/VSBHDA/releases/tag/v1

I tried it on my Samsung netbook and it does work do you have any ideas ?

image

Biomecanoid avatar Jul 07 '23 18:07 Biomecanoid

What if you run start.bat (including setpvi), or disable protected mode? Does it run?

hjnijlunsing avatar Jul 07 '23 19:07 hjnijlunsing

What if you run start.bat (including setpvi), or disable protected mode? Does it run?

I did run start.bat and that the result was the same, how do you disable protected mode ?

Biomecanoid avatar Jul 08 '23 15:07 Biomecanoid

Try the options: /PM : Set protected-mode support /RM : Set real-mode support

Thus /PM0 to disable protected mode; and/or /RM0 to disable real-mode. Any improvements?

hjnijlunsing avatar Jul 09 '23 13:07 hjnijlunsing

Currently getting more positive results with the latest SBEMU version on my Acer a0751h

  • Quake 1 works
  • Monkey Island OPL works

Doom crashes with exception.

hjnijlunsing avatar Jan 13 '24 11:01 hjnijlunsing

  • System memory found at c000-ffff, regions might be in use
  • Warning: no suitable page frame found, EMS functions are limited.

This can be ignored.

I think there's something unhanlded in the driver for your board/card, "PCI ID = Vendor: 10EC Device: 0272" seems a Realtek HDA codec, can you post the result of "SBEMU /SCL"?

crazii avatar Jan 13 '24 12:01 crazii

Output of SBEMU /SCL

Autodetecting/testing available outputs/soundcards, please wait... Intel HDA: Switching to PIO. 1: Intel HDA: Intel SCH (Poulsbo) (8086811B) -> Realtek (10EC0272) (max 192kHz/24bit/8ch) Autodetecting finished... Exiting...

hjnijlunsing avatar Jan 13 '24 13:01 hjnijlunsing

  • Doom with only OPL sound works (Doom FX works with https://github.com/Baron-von-Riedesel/VSBHDA/releases/tag/v1)
  • Epic Pinball also works with SBEMU

hjnijlunsing avatar Jan 14 '24 15:01 hjnijlunsing

OK, I'll check that, does the latest build help? I changed it a little yesterday

crazii avatar Jan 14 '24 21:01 crazii

Latest build (from 15 minutes back) crashes SBEMU on load on my Acer a0751h

hjnijlunsing avatar Jan 15 '24 08:01 hjnijlunsing

Thanks, I'll check it.

crazii avatar Jan 15 '24 08:01 crazii

Latest build (from 15 minutes back) crashes SBEMU on load on my Acer a0751h

I just add one fix for one crash on interrupt, I believe your Acer AO751 is interrupt related but I don't know the exact cause. if it fixes the crash, the game may still run slow, because interrupt is not handled properly by the HDA driver, there might be other cases that were ignored. if the crash still exist, then it's probably not interrupt related.

crazii avatar Jan 23 '24 20:01 crazii

Ok, with latest build: the Doom crash is indeed gone on the a0751h. But I also do not get any sound anymore, both in Doom and in Quake (which was working before).

Double checked using VSBHDA; I still get sound.

hjnijlunsing avatar Jan 24 '24 08:01 hjnijlunsing

That's really weird. Plz wait while I can investigate more.

crazii avatar Jan 24 '24 08:01 crazii

Can uncomment the line 1523 in sc_inthd.c: //azx_writel(card, INTCTL, ICH6_INT_CTRL_EN | ICH6_INT_GLOBAL_EN | ICH6_INT_ALL_STREAM ); //precise SIE bit used below

and comment the line 1525 azx_writel(card, INTCTL, ICH6_INT_CTRL_EN | ICH6_INT_GLOBAL_EN | (1<<card->is_count)); //enable stream interrupts

to make a new build.

Also you can comment the line 1602, 1614, 1626, and 1629 (those with &= masks) to see if it works.

crazii avatar Jan 24 '24 10:01 crazii

Can uncomment the line 1523 in sc_inthd.c: //azx_writel(card, INTCTL, ICH6_INT_CTRL_EN | ICH6_INT_GLOBAL_EN | ICH6_INT_ALL_STREAM ); //precise SIE bit used below and comment the line 1525 azx_writel(card, INTCTL, ICH6_INT_CTRL_EN | ICH6_INT_GLOBAL_EN | (1<is_count)); //enable stream interrupts to make a new build.

Made a new build; similar resuts. No Crash no sound

Also you can comment the line 1602, 1614, 1626, and 1629 (those with &= masks) to see if it works.

Commented all these 4 lines; made a build together with the changes in 1523/1525. No crash no sound

hjnijlunsing avatar Jan 24 '24 12:01 hjnijlunsing

I just pushed another fix, I don't think it's related to you problem but you can try it. Meanwhile I'll continue check what's wrong.

crazii avatar Jan 24 '24 13:01 crazii

It seems the latest git clone produces a build with debug enabled. I'll try making a build with make DEBUG=0 to get rid of it ;-)

Update: make DEBUG=0 is producing the same debug message. (And thus preventing me from running Doom to test)

hjnijlunsing avatar Jan 24 '24 13:01 hjnijlunsing

OK, I changed a bit of the header, it might be the problem

crazii avatar Jan 24 '24 13:01 crazii

Changed: "else" back to "elif DEBUG != 0" in "dbgutil.h" Doom crashes now with Exception 0D in ring 0

hjnijlunsing avatar Jan 24 '24 13:01 hjnijlunsing

Plz comment out the line 934, 936, 937 in main.c:

        if((MAIN_InINT&MAIN_ININT_RM) || (MAIN_IntContext.EFLAGS&CPU_VMFLAG))
            DPMI_CallOldISR(&MAIN_IntHandlePM);
        else
            DPMI_CallOldISRWithContext(&MAIN_IntHandlePM, &MAIN_IntContext.regs);

only keep line 935, to

 //       if((MAIN_InINT&MAIN_ININT_RM) || (MAIN_IntContext.EFLAGS&CPU_VMFLAG))
            DPMI_CallOldISR(&MAIN_IntHandlePM);
//        else
//            DPMI_CallOldISRWithContext(&MAIN_IntHandlePM, &MAIN_IntContext.regs);

And see what happens. I'll do some debug in my laptop.

crazii avatar Jan 24 '24 14:01 crazii