Announcement

Collapse
No announcement yet.

NT versus 95/98

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

  • NT versus 95/98

    I have a large (about 10,000 lines) PB/DOS program
    that works in a DOS window of 95 or 98. In a DOS
    window of NT the program loads but then terminates
    itself because of an "ON ERROR" instruction. At
    this point I don't know ERR, but I will find out
    tomorrow.

    I don't have access to NT myself -- someone else
    told me about the problem -- so I'm groping as to
    what is the cause.

    Is there a list of known NT issues with PB/DOS?


    ------------------
    Algorithms - interesting mathematical techniques with program code included.

  • #2
    There are no "known" issues with PB/DOS under any version of Windows. I would highly suspect that the problem is actually something in your app, but until you can debug the situation, it could even just be an unstable copy of NT that is being used.

    If the user is using NT4, have they installed the latest service pack (SP6)? There are known to be some serious problems with some service packs like SP4, but whether the problem can affect DOS app's is not clear.


    ------------------
    Lance
    PowerBASIC Support
    mailto:[email protected][email protected]</A>
    Lance
    mailto:[email protected]

    Comment


    • #3
      My program uses SVGAPB -- the graphics library from
      Zephyr Software -- which controls the video card
      directly.

      The problem (actually a different one than the original,
      which was, as Lance suggested, a bug in the program)
      seems to be that NT and 2000 insulate DOS programs
      from the hardware. SVGAPB cannot control the card.




      ------------------
      Algorithms - interesting mathematical techniques with program code included.

      Comment


      • #4
        Correct. NT/2000 uses a HAL (hardware Access Layer) to insulate the app from the hardware. In other words, NT/2000 virtualizes the hardware.

        Sorry!


        ------------------
        Lance
        PowerBASIC Support
        mailto:[email protected][email protected]</A>
        Lance
        mailto:[email protected]

        Comment


        • #5
          I asked Daniel Sill at Zephyr Software if SVGAPB
          works with Windows NT/2000.

          He assures me from first hand experience that
          SVGAPB works with Windows 2000. He doesn't
          know if it works with NT.

          So perhaps 2000 doesn't have the HAL of NT, or
          there is some way an app can get around it.
          Algorithms - interesting mathematical techniques with program code included.

          Comment


          • #6
            NT5 (aka Windows 2000) certainly does use a HAL.

            I think you need to run/debug the code on an NT or 2000 box for yourself - your problem may not be related to the SVGA library at all...



            ------------------
            Lance
            PowerBASIC Support
            mailto:[email protected][email protected]</A>
            Lance
            mailto:[email protected]

            Comment


            • #7
              The following exchange between me and Daniel Sill of Zephyr
              Software may be useful to users of their SVGAPB. (Daniel said
              I could quote his email. I've combined them and edited the
              punctuation. > means me.)

              <begin quote>

              I am sure it works on Win2K as I run Win2K at home and it
              works just dandy.

              The video card must be detected as a VESA card (WhichVGA=16)
              rather than some native SVGA card mode; if VESA support
              is detected, the SVGAxx libs will use VESA calls for all
              interactions (mode changes, reads, writes, etc); native
              modes require the libs to directly access the hardware
              which is a big no-no in NT/2000.

              > The function WhichVGA yields 0 on the NT box,
              > meaning it can't identify the card.
              >
              > Since the hardware of the machine is contempory --
              > a Dell OptiPlex GX200 with integrated 4XAGP TNT2
              > M64 graphics controller -- shouldn't it support VESA?

              You would think so, but with integrated video, all
              bets are off.

              > And if so, could I force it to use VESA with the command
              > SetCard 16, 512 ? I didn't try this because the documenta-
              > tion said SetCard might fry the video if the card number
              > was incorrect.

              Since VESA just makes calls to BIOS, there is no chance
              of gumming up the hardware; but it will probably not work.
              I seem to remember that NT was just a no go period (although
              I have no direct experience myself).

              Again, with a VESA card and Win2K it will work however.

              <end quote>

              So, the problem boils down to: Will NT accept BIOS calls
              to the hardware? Evidently Win2K will.
              Algorithms - interesting mathematical techniques with program code included.

              Comment


              • #8
                From what I can glean from various articles on the Internet,
                NT doesn't allow non-privileged processes direct access
                the BIOS. So that tears it. SVGAPB will work on Win2K
                but not Win NT.
                Algorithms - interesting mathematical techniques with program code included.

                Comment


                • #9
                  Asking the obvious, does the graphics card on your NT machine actually support VESA graphics mode(s)? Some modern cards simply do not.

                  I have an NT4/SP6 machine as well as a Win2K machine, so if you'd card to email a small example app to Tech Support, I'll give it whirl for you and see what happens. I know the graphics card in my NT4 machine card does support VESA since it used to be a Win3.11 machine where I have run VESA apps in the past. I've never used SVGAPB though, so that would be a good test.


                  ------------------
                  Lance
                  PowerBASIC Support
                  mailto:[email protected][email protected]</A>
                  Lance
                  mailto:[email protected]

                  Comment


                  • #10
                    Those Internet articles were wrong.

                    I sent my exectutable to Lance Edmonds to try
                    on his NT4 / SP6 PC -- which he knew to be
                    VESA compliant -- and it worked.

                    So NT is *not* an issue, just the VESA. SVGAXX
                    works on NT. (The trouble is, I gather VESA is
                    being phased out by PC manufacturers.)


                    ------------------
                    Algorithms - interesting mathematical techniques with program code included.

                    Comment


                    • #11
                      NT provides virtualized access, but regardless, your SVGAPB app did work Ok (and I also ran it on my Win2K box to be sure!).



                      ------------------
                      Lance
                      PowerBASIC Support
                      mailto:[email protected][email protected]</A>
                      Lance
                      mailto:[email protected]

                      Comment


                      • #12
                        Just to gum up the works even more...

                        They're correct when they say all bets are off with integrated video... including the question of whether or not their VESA support even works if it is available! I've seen some PC's where SVGAPB detects the video system as VESA and tries to switch modes, only to put the card in some strange state where the screen is full of graphics garbage...

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

                        Comment

                        Working...
                        X