Announcement

Collapse
No announcement yet.

Sound Card Address under Windows 98

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Sound Card Address under Windows 98

    I write free Morse Code tutors for Hams and Pilots.
    These are DOS programs using PB3.5. If there is a sound card
    present I use it with address &H388. This works fine for MSDOS,
    Windows 3.x and 95 but not for Windows 98 even if I reboot in DOS.
    Any advice welcome.



    ------------------

    #2
    Originally posted by Don Ward:
    I write free Morse Code tutors for Hams and Pilots.
    These are DOS programs using PB3.5. If there is a sound card
    present I use it with address &H388. This works fine for MSDOS,
    Windows 3.x and 95 but not for Windows 98 even if I reboot in DOS.
    Any advice welcome.


    Do you have the SET BLASTER variable set in AUTOEXEC.BAT?


    ------------------

    Comment


      #3
      Originally posted by Andrew Collins:
      Do you have the SET BLASTER variable set in AUTOEXEC.BAT?


      Yes it is Andrew, in fact that's how I check the soundcard is
      there using the ENVIRON$ function. This usually returns the
      sound card address A220 but I find that A388 is more reliable
      for different systems, except WIN98 that is.



      ------------------

      Comment


        #4
        Are you running all your tests on a single machine? If so, the problem may be that
        Win98 is remapping the ports for your sound card. With current OSes and PnP hardware,
        this is not unusual. Using a hard-coded port address is not necessarily prudent for
        that reason.

        If the problem is with a different machine, you might check as to whether the sound
        card actually supports DOS-compatible sound handling at all. With some Windows-based
        sound cards, DOS compatibility may be missing entirely, or may require additional
        configuration or drivers.


        ------------------
        Tom Hanlin
        PowerBASIC Staff

        Comment


          #5
          Originally posted:

          --------------------------------------
          This works fine for MSDOS,
          Windows 3.x and 95 but not for Windows 98 even if I reboot in DOS.
          --------------------------------------

          When rebooting to DOS I assume you are warm booting. I found that
          a warm boot does not necessairly reset/reinitialize everything.
          The video adaptor, for instance, and (apparently) your sound
          card. The only way to reset the entire system is to go the cold
          boot route.

          This is the short version of my experience. If anyone wants the
          long version, let me know and I'll lengthen it up a bit.




          ------------------
          There are no atheists in a fox hole or the morning of a math test.
          If my flag offends you, I'll help you pack.

          Comment


            #6
            Hi Tom,
            I developed the programs originally on a 8086 DOS machine,
            using the internal speaker then modified them to use the sound
            card when Windows 3.x came along. They worked fine when I upgraded
            to Win 95 but when I got a laptop with Win 98 they failed.
            If I boot my laptop with DOS 3 they work! Same thing with my
            computers at work. I looked up the addresses allocated by
            Windows in the Device manager under Control Panel and the
            addresses there don't work either. I have got round it for now
            by detecting WIN 98 and using the internal speaker again.
            Don


            ------------------

            Comment


              #7
              Don - if the sound routines work when you boot MS-DOS 3 (wow, is that an old version! ), then the chip would seem to be Soundblaster-compatible at the register level...

              What's probably happening, then, is that Win98 and/or the laptop's device drivers are preventing your DOS program from directly writing to the sound-chip's registers, either by accident or by design. If so, I'm not sure there's any straightforward way around that problem... other than the obvious, which would be to check the laptop maker's site to see if there's any device-driver updates available for that model.

              ------------------

              Comment


                #8
                Thanks Mel, I will try a cold boot but even if that works I don't
                want users to have to do that.

                Gary, it does the same thing on all the machines with WIN 98
                so it is not just my laptop.

                Don

                ------------------

                Comment


                  #9
                  You might want to have a look at the following website,
                  it has an assembler routine for detecting the port address
                  and other data of the soundcard: (On my system - under Win98 -
                  it worked all right and returned 220h for the Sound Blaster
                  Port, the same value as in the "Blaster" Environment setting.)
                  http://www.ilook.fsnet.co.uk/x86/x86sb.htm

                  Hans Ruegg.

                  Comment


                    #10
                    Thanks Hans, I will try that.
                    Don

                    ------------------

                    Comment

                    Working...
                    X
                    😀
                    🥰
                    🤢
                    😎
                    😡
                    👍
                    👎