Go Premium for a chance to win a PS4. Enter to Win


GiveIO & TotalIO (sys)

Posted on 2001-08-18
Medium Priority
Last Modified: 2012-05-04
I'm trying to load a driver on Win2000, I don't care about GiveIO, since this is a specific call process, and I used PASCAL (yep that's right!), so I'm more intresting on TotalIO.sys driver, now I already loaded up, I can see it on Computer Management | System Information | Software Enviroment | Drivers. I see that the TotalIO.sys is on the list, but on the started mode there's a False comment, and on State there's a Stopped comment, I use Regedit to modify the Start Mode from Manual ($03) to System ($01) and the Error Control from Normal ($01) to Ignore ($00), and it is still the same... What the hell. How the hell do I start that Drive???

The Program in question loads some lines from a file which are converted to time format add all the lines to a double linked list, then gets hook to INT08, so every int08 checks if a second has passed, if so, check the time from the link with the time from the system, which is read directly from the CMOS chip (using port $70 & $71), If they are the same, then send a $01 to the address that was pooked from $40:$08 (LPT1 address) that is, It lights a Solid State Selenoid thru the bit1 of the parallel port, which is use to power up a 110v buzzer... then check for 5 seconds and lights down ($00) the bit1 of the port. Now this proggy is a TSR.

I made it work on Win98, I just simply put it on the Autoexec.bat, but I want to know if I can use it on W2000??? Or what do you think???

See the thing is that there are this guys who sold a new Time Check System, it cost arround 50,000 dollards, or so, but it doesn't come with a buzzer, we show the installer guy what we wanted the system to do, I symply show them the program at work, but on DOS. and they ask for the code... ??? WTF??? you're charging that much and you want me to give you some stupid-non-working-W2000-code??? they were clueless on what to do... so I want to see if any can help me out, If not, guess they have to install the system on W98, so that my proggy can work, and my boss ignore my effort, and give credit to some kiss-butt-@$$hole, and feel more stupid than i can imaging... oh well Life sucks...

I want a RAISE... damn it...
Question by:My name is Mud
  • 3
  • 2
LVL 16

Expert Comment

ID: 6401090
Try using the AUTOEXEC.NT file for what you would have used the AUTOEXEC.BAT file in WIN98.  

Expert Comment

ID: 6403954
I generally don't recommend modifying the registry to change service settings... though sometimes you have to.

First, change Error Control back to normal.  Then try these in this order (with a re-boot after each).

1.  Set the start up state to Automatic (use the Services control panel to do this).  Reboot and test.

2.  Uninstall and reinstall the service.  I recommend using the Windows 2000 Resource Kit tool "SRVINSTW" to do so.  Allow the service to interact with the desktop, set startup to Automatic, and reboot and test.

3. Use Services control panel to set the TOTALIO service to log on with a domain or machine user account that is a member of the local "administrators" group.  If that works, it's probably because the localsystem doesn't have a right the service needs (localsystem can't communicate over the network, for example).

4. Set the service back to using the localsystem account and set the service to interact with the desktop again.  Make the service dependant on the "Extended Base" group.  Do this by running REGEDT32 and put "Extended base" in a REG_MULTI_SZ value named "DependOnGroup" in the TOTALIO key.  You're doing this to allow the Parallel port drivers to completely load before TOTALIO starts.

If that doesn't get it, it may simply not work with Windows 2000.  It was designed originally for NT with the express intention of giving all port control over to any application -- something fundamentally against the principles of Windows NT & 2000.

Author Comment

by:My name is Mud
ID: 6412230
Where can I find the SRVINSTW tool kit???
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.


Accepted Solution

gregcmcse earned 800 total points
ID: 6412394
srvinstw is part of the Windows 2000 Server resource kit.  It might be part of the Pro resource kit -- but I'm not sure of that.  The resource kit is a really good investment if you don't already have it.

Author Comment

by:My name is Mud
ID: 6435227
Well since the BIG GUYs couldn't make their BIG BUCKs program to work with the buzz problem, and kept asking for my code (which I didn't gave) I'm gonna set up my program in an independent machine running W98 (which my program works well in) and the the BIG BUCKs program and mine are gonna poll the time from the server so there will be no de-sincronysation...

But I will take in consideration what is state in here... thanks...

Author Comment

by:My name is Mud
ID: 6440237
UPDATE!!! Like you would care...

Any how... I was just playing arround with a simple program which sends data depending on the arrow key pressed... here it is...
Program Test_The_Parallel_Port;
{ This is the address of the LPT, well not necesarily,
  change to $3F8 or $3E8 or $3BC or $278 }
  PortAdd: Word = $378;
  HWStr = String[4];
  Key: Char;
  What: Byte;

{ This function converts a Word value in to a string of 4 chars. }
Function Wrd2Str(Wrd: Word): HWStr;
  HC: Array [0..$F] Of Char = '0123456789ABCDEF';
  Wrd2Str:=HC[Hi(Wrd) Shr 4]+  { High nibble of the High byte of the World +}
           HC[Hi(Wrd) And $F]+ { Low nibble of the High byte of the World +}
           HC[Lo(Wrd) Shr 4]+  { High nibble of the Low byte of the World +}
           HC[Lo(Wrd) And $F]  { Low nibble of the Low byte of the World. }

  PortAdd:=MemW[$40:$08];      { Get the Parallel Address Port }
  WriteLn('LPT Address @ $',Wrd2Str(PortAdd));
    If KeyPressed Then
        Key:=ReadKey;          { Read the key }
        If Key = #0 then       { Check for incomming from special keys }
    Case Key of                { Test the key }
      { If you were supose to move a car then }
      #72: What:=0;            { Up      00000000b }
      #80: What:=1;            { Down    00000001b }
      #75: What:=2;            { Left    00000010b }
      #77: What:=3;            { Right   00000011b }
    Port[PortAdd]:=What;       { Send it to the Port }
  Until Key = #27              { Exit the proggy until press <ESC> }

And guess what??? the damn program light up the LEDs... damn... WHAT THE HECK !!! I mean... if this little program could light the LEDs why my program could not??? so I check the drivers, you know the TOTALIO.SYS and GIVEIO.SYS, and they were the same, STOPPED... hmmm... so I took this little proggy and check it on another PC, and the same, light on!!!, so after playing arround with the damn program, I made it work... but fisrst using int $17 to send the data then sending the data directly to the LPT port... like
    MOV            DX,PuertoP
    MOV            AX,Data
    OUT            DX,AL
    MOV            AX,Data
    MOV            DX,00
    INT            17H

And that's it...

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

NTFS file system has been developed by Microsoft that is widely used by Windows NT operating system and its advanced versions. It is the mostly used over FAT file system as it provides superior features like reliability, security, storage, efficienc…
High user turnover can cause old/redundant user data to consume valuable space. UserResourceCleanup was developed to address this by automatically deleting user folders when the user account is deleted.
Integration Management Part 2
We’ve all felt that sense of false security before—locking down external access to a database or component and feeling like we’ve done all we need to do to secure company data. But that feeling is fleeting. Attacks these days can happen in many w…
Suggested Courses

916 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question