No announcement yet.

For Dave Navarro, on the "extremities" of BASIC

  • Filter
  • Time
  • Show
Clear All
new posts

  • For Dave Navarro, on the "extremities" of BASIC

    G'day Dave!
    I've just got a quick one for you - on your basicguru site, youve stated:
    "There is not a single task that a C or Pascal programmer can accomplish that can not also be done in one or more dialects of BASIC. And usually in half the time. <grin>
    Basic certainly achieves 100% of what _I_ need to do, and 100% of all I will ever be capable of doing (im enthusiastic but im also honest with myself <grin> ). But, Are there any forms of basic that can create drivers - .386, .sys, .vxd, or whatever?
    I'd love to create a .sys driver one day... why? Because I haven't made one before. That's all ...
    So my question - can any *basic compilers create a driver?

    Ooh - also... how about Windows NT/2K NATIVE executables (such as chkdisk)?

    Are drivers and native executables out of the reach of basic programmers at the moment? If so, are there any other boundaries we can't cross?
    Would love to hear what anyone has to say about the "extremities" of basic - although it seems that if a compiler such as PowerBASIC can compile inline assembly, then in theory can't "anything" be created?

    Best regards and Merry Christmas to you and your family,


  • #2
    Drivers are not hte same as executables and DLL's, Powerbasic does not (yet?) have a driver compiler....
    You can't just rename a .EXE or .DLL.

    Does C or C++ do this? I don't know...

    so it wouldn't be a fair comparison unless C or C++ actually had a module for compiling drivers (I think maybe they do?)..

    Anyway, it's at Ring0 for driver level if I'm not mistaken and PB Is at Ring3 (???)


    mailto:[email protected][email protected]</A>
    Scott Turchin
    True Karate-do is this: that in daily life, one's mind and body be trained and developed in a spirit of humility; and that in critical times, one be devoted utterly to the cause of justice. -Gichin Funakoshi


    • #3

      I can't be that hard to produce a VXD/SYS/DRV file, can it?

      Kev G Peel
      KGP Software
      Bridgwater, United Kingdom.
      mailto:[email protected][email protected]</A>


      • #4
        Speaking of drivers being at ring-0 and PB being at ring-3, I've run across some ASM code that will, supossedly, move a 16- or 32-bit app from ring-3 to ring-0. Haven't tested it in PB yet, but it works in MASM 6.11. With a little tweeking, it should work in PB. That should open up a world of possibilities.

        Walt Decker


        • #5
          Most 32 bit windows drivers are specific to the version of windows that
          they run on and require the specific DDK from Microsoft to build them.

          VxDs are specific to win95 and they are assembled with ML.EXE (the MASM
          assembler). Later WDM and SYS files are specific to the DDK for each
          operating system version so in the general sense, no normal language can
          by itself build 32 bit windows drivers.

          There were a few tricks in win 95a for getting access to ring0 but
          Microsoft have progressively closed off these techniques with each later
          operating system version so while you may be able to get some of the
          techniques to work on earlier versions, you are living dangerously trying
          to get them to work across later versions.

          In the delivery of ring3 application level software, PowerBASIC can do it
          all and generally faster than most comparable compilers in development


          [email protected]

          hutch at movsd dot com
          The MASM Forum - SLL Modules and PB Libraries


          • #6

            No version of PowerBASIC will allow you to create VXD device drivers, however there are a number of other BASIC programming languages that will.

            If you visit the ABC section of the BasicGuru web site you'll find a couple of different BASIC "translaters" that convert a dialect of the BASIC programming language into C which can then be compiled into a device driver.

            I don't know the guy's name, but there is a programmer who is writing a complete DOS clone in BASIC and compiling it with the GNU C compiler.

            FWIW, some types of "drivers" for Windows can be written in PB/DLL. A "printer driver" is just a .DLL with a .DRV file extension and a number of "required" functions.


            Home of the BASIC Gurus
            Home of the BASIC Gurus


            • #7
              beautiful, thanks all