Solved

GiveIO & TotalIO (sys)

Posted on 2001-08-18
6
895 Views
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...
0
Comment
Question by:My name is Mud
  • 3
  • 2
6 Comments
 
LVL 16

Expert Comment

by:GUEEN
ID: 6401090
Try using the AUTOEXEC.NT file for what you would have used the AUTOEXEC.BAT file in WIN98.  
0
 
LVL 9

Expert Comment

by:gregcmcse
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.
0
 
LVL 6

Author Comment

by:My name is Mud
ID: 6412230
Where can I find the SRVINSTW tool kit???
0
Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
LVL 9

Accepted Solution

by:
gregcmcse earned 200 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.
0
 
LVL 6

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...
0
 
LVL 6

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;
USES
  CRT;
Const
{ This is the address of the LPT, well not necesarily,
  change to $3F8 or $3E8 or $3BC or $278 }
  PortAdd: Word = $378;
Type
  HWStr = String[4];
Var
  Key: Char;
  What: Byte;

{ This function converts a Word value in to a string of 4 chars. }
Function Wrd2Str(Wrd: Word): HWStr;
Const
  HC: Array [0..$F] Of Char = '0123456789ABCDEF';
Begin
  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. }
End;

Begin
  ClrScr;
  PortAdd:=MemW[$40:$08];      { Get the Parallel Address Port }
  WriteLn('LPT Address @ $',Wrd2Str(PortAdd));
  Repeat
    If KeyPressed Then
      Begin
        Key:=ReadKey;          { Read the key }
        If Key = #0 then       { Check for incomming from special keys }
          Key:=ReadKey
      End;
    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 }
      Else
           What:=0
    End;
    Port[PortAdd]:=What;       { Send it to the Port }
  Until Key = #27              { Exit the proggy until press <ESC> }
End.
***********************************************************************************

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
***********************************************************************************
Asm
    MOV            DX,PuertoP
    MOV            AX,Data
    OUT            DX,AL
    MOV            AX,Data
    MOV            DX,00
    INT            17H
End;
***********************************************************************************


And that's it...
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

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

Suggested Solutions

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…
Large Outlook files lead to various unwanted errors and corruption issues. Furthermore, large outlook files can also make Outlook take longer to start-up, search, navigate, and shut-down. So, In this article, i will discuss a method to make your Out…
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …

867 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now