|
No, you can't access the serial ports by simply using IN/OUT instructions as you may have done in DOS. On XP, those I/O ports are restricted to supervisor mode (the kernel). You must use the serial communications APIs. Unfortunately this is one of the less-well documented areas of the Win32 API.
To be notified when the Ring Indicator or Clear-To-Send (i.e. the PC's view of the other end's Ready-To-Send line), use the WaitCommEvent[^] API.
Stability. What an interesting concept. -- Chris Maunder
|
|
|
|
|
Thanks to you, I've now found a way to use the PORT.dll with WinXP as well, and it's nearly the same as with win89: You just have to set the outports to 0 at the beginning.
|
|
|
|
|
|
I've never heard a thing like this.
Windowsupdate does never change hardware settings if the user does not select driver updates from windowsupdate.
Don't try it, just do it!
|
|
|
|
|
|
As long as you don't accept any driver updates you should be alright. I foolishly accepted a new driver from Microsoft once for my wireless card, and it caused the card to cease working, and the computer to become unstable. Fortunately, XP now has the Restore function - you could make a restore point, then do an update. If anything breaks, you should be able to roll it back. As far as I've seen, there is no check for signing after you have installed a driver, and you should not have a problem with XP trying to remove an unsigned driver.
"...putting all your eggs in one basket along with your bowling ball and gym clothes only gets you scrambled eggs and an extra laundry day... " - Jeffry J. Brickley
|
|
|
|
|
Hi:
One of my friends PC was mysteriously showing this message while I observed some diagnostics on the same:
Driver not installed and an exclamation mark apperaed.
It is running Windows XP Professional.
Is there any drivers for USB Host Controller etc?
Deepak Kumar Vasudevan
Personal Web: http://vdeepakkumar.netfirms.com/
I Blog At: http://deepak.blogdrive.com/
|
|
|
|
|
Isn't the USB host controller driver a part of windows XP?
Don't try it, just do it!
|
|
|
|
|
|
If its builtin USB go to PC manufacturer's website or motherboard manufacturer's website and download the specific drivers. If its an addon PCI card check the chip name/model, go to the card manufacturer's website and download drivers.
|
|
|
|
|
|
How do bios drivers work?
I want to do some but don't know how?
Wich language should I use?
I know C++, C#, but only a little asm...
I want to simulate a keybord and a mouse with it.
The PROgrammer Niklas Ulvinge aka IDK
|
|
|
|
|
Bios driver?? You mean a new firmware for the bios or what?
Don't try it, just do it!
|
|
|
|
|
I didn't know very much when I wrote that...
What I now know is that I want to do an
io kernerl drivers.
I want to do a keyboard driver but don't
know how...
I think need the Windows DDK...
I want to do it for win 95 and then I
need win 95 ddk but it doesn't exist...
I read that it did in one place but none
other.
Where can I find it?
The PROgrammer Niklas Ulvinge aka IDK
|
|
|
|
|
i think you also need lots of studies on hardwares to do such things...
BIOS is not made by every one, it is made by the MotherBoards constructors !!!
and looking at your level, i'm quite sure you're not such an experienced engineer...
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
I've done some reasearch and I now know what I need to know.
The things I'll have to do is to do a driver that takes input from
an input and then put it in memmory.
Not to hard to do with a driver.
I realise I don't have to do a bios.
The PROgrammer Niklas Ulvinge aka IDK
|
|
|
|
|
Niklas Ulvinge wrote:
I realise I don't have to do a bios.
i hope so ! BIOS is there only to manage - let's say - the I/O of the mainbaord...
cheers,
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
What do you need a keyboard driver for? There are keyboard driver for almost everything out there.
Don't try it, just do it!
|
|
|
|
|
NO, not for what I want to do...
I want to take input from the serial port and threat it as a keyboard.
I then need to do output to the serial port that looks like keyboard input.
The PROgrammer Niklas Ulvinge aka IDK
|
|
|
|
|
I want to do a driver that acts like this:
Note: the code isn't optimized nor finnished.
[code]
;
;The binary keyboard driver version 2.1
;
;For now it's only a simple program that looks like a driver.
;
;I'll make it a driver when I know how...
;
;
format mz
org 100h
start:
call PrintInfo
mov al, 06 ;makes the input buffer not to be full
mov ah, 0Ch
mov dl, 0FFh
int 21h
xor ax, ax
IN al, 60h ;get input from keyboard
;nop ;something, dont have to be there.
cmp ax, cx ;loop until input change
mov cx, ax
je start
;
;checking all chars
;
;beginning with makecodes
;
cmp cx, 1EH
je makea
cmp cx, 1FH
je makes
cmp cx, 20H
je maked
cmp cx, 21H
je makef
cmp cx, 24H
je makej
cmp cx, 25H
je makek
cmp cx, 26H
je makel
cmp cx, 27H
je makeo
cmp cx, 39H
je makespace
cmp cx, 1
je exit
;
;the brake codes
;
cmp cx, 9EH
je brakea
cmp cx, 9FH
je brakes
cmp cx, 0A0H
je braked
cmp cx, 0A1H
je brakef
cmp cx, 0A4H
je brakej
cmp cx, 0A5H
je brakek
cmp cx, 0A6H
je brakel
cmp cx, 0A7H
je brakeo
;
;make codes for each input key
; make brake
; dec hex hex
;a = 30 1E 9E
;s = 31 1F 9F
;d = 32 20 A0
;f = 33 21 A1
;j = 36 24 A4
;k = 37 25 A5
;l = 38 26 A6
;ö = 39 27 A7
; = 57 39 B9
;(space)
;
;brake codes are make code + 128
;
endOfChecking:
jmp start
exit:
mov ah, 4Ch
int 21h
;
;actions of the make and brake codes
;
makea:
or bx, 10000000b
jmp endOfChecking
makes:
or bx, 01000000b
jmp endOfChecking
maked:
or bx, 00100000b
jmp endOfChecking
makef:
or bx, 00010000b
jmp endOfChecking
makej:
or bx, 00001000b
jmp endOfChecking
makek:
or bx, 00000100b
jmp endOfChecking
makel:
or bx, 00000010b
jmp endOfChecking
makeo:
or bx, 00000001b
jmp endOfChecking
brakea:
and bx, 01111111b
jmp endOfChecking
brakes:
and bx, 10111111b
jmp endOfChecking
braked:
and bx, 11011111b
jmp endOfChecking
brakef:
and bx, 11101111b
jmp endOfChecking
brakej:
and bx, 11110111b
jmp endOfChecking
brakek:
and bx, 11111011b
jmp endOfChecking
brakel:
and bx, 11111101b
jmp endOfChecking
brakeo:
and bx, 11111110b
jmp endOfChecking
makespace:
and bx, 11111111b
jmp endOfChecking
char: db ?
PrintNumInCl:
;convert ax to number and print
push ax
push dx
xor ax, ax
mov al, cl ;2 char
mov dh, 100 ;1 char skipping this for now
div dh
add al, 30h
MOV dl, al ;print char
MOV ah, 02h
INT 21h
xor ax, ax
mov al, cl ;2 char
mov dh, 100
div dh
mov al,ah
xor ah,ah
mov dh,10
div dh
add al, 30h
MOV dl, al ;print char
MOV ah, 02h
INT 21h
xor ax, ax
mov al, cl ;last char
mov dh, 10
div dh
add ah, 30h
MOV dl, ah ;print char
MOV ah, 02h
INT 21h
pop dx
pop ax
ret
PrintInfo:
push ax
push dx
push cx
mov ah,03h ;Read Cursor Position and Size
xor bh,bh ;on page
int 10h ;rets CH Cursor start line
push dx ; CL Cursor end line
; DH Row
; DL Column
;
; check all states
;
xor dx,dx ;set cursor position
mov ah,02h
xor bh,bh
int 10h
mov cl,10000000b
mov ch,8
PrintInfoLoop:
mov ax,bx
and al,cl
dec ch
shr cl,1
cmp al,0
je PrintSpace
MOV dl, [InputChars + ch] ;print char
MOV ah, 02h
INT 21h
PrintInfoLoopReturn:
cmp ch,0
jne PrintInfoLoop
pop dx ;set cursor position
mov ah,02h
xor bh,bh
int 10h
pop cx
pop dx
pop ax
ret
PrintSpace:
MOV dl, 20h ;print char
MOV ah, 02h
INT 21h
jmp PrintInfoLoopReturn
InputChars: db "ALKJFDSÖ"
[/code]
Niklas Ulvinge aka IDK
|
|
|
|
|
Niklas Ulvinge wrote:
I need win 95 ddk but it doesn't exist...
Hmmm.... Problem solved - you can't get there from here. But there are more recent DDKs available, and if you're interested in learning how drivers work I'd recommend ordering them. Making hardware dance to your tune is fun, and the DDKs let you do that. The trick is to do so without making Windows crash, and that takes a lot of practice. Good hardware drivers are rare; rarer still are people who can write them. If this is a topic that really excites you, I encourage you to order the DDKs and experiment - become an expert! We need you!
"...putting all your eggs in one basket along with your bowling ball and gym clothes only gets you scrambled eggs and an extra laundry day... " - Jeffry J. Brickley
|
|
|
|
|
I want to do that but I don't got much money and I got no experience of hardware programming.
Is windows 98 ddk compatible with windows 95?
The PROgrammer Niklas Ulvinge aka IDK
|
|
|
|
|
I would assume so, with some exceptions. After all, Win95, 98, and Me are all the same code base and architectural model.
"...putting all your eggs in one basket along with your bowling ball and gym clothes only gets you scrambled eggs and an extra laundry day... " - Jeffry J. Brickley
|
|
|
|
|
Thank you for explaining this. I'll try win98 ddk then.
The PROgrammer Niklas Ulvinge aka IDK
|
|
|
|
|
i've created a file myown.
I want to run my application with it click on my own file (,mfl) and pass to some function the path file.
How can i do?
|
|
|
|
|