[ igor123 @ 10.01.2004. 22:58 ] @
| sa NET-a sam skinuo ovaj kod za C:
#include<stdio.h>
#include<dos.h>
main()
{
unsigned int *ptraddr;
unsigned int address;
int a;
ptraddr=(unsigned int *)0x00000408;
for(a=0;a<3;a++)
{
address=*ptraddr;
if(address==0)
printf("No port found for LPT%d\n",a+1);
else
printf("Address assigned to LPT%d is Xh\n",a+1,address);
*ptraddr++;
}
return 0;
}
navodno bi sve trebalo raditi kako treba ALI...
otvara mi se prozor naslova "Application Error" sa slijedecim sadrzajem:
The instruction at "0x0040104a" referenced memory at "0x00000408"
The memory could not be "read".
Ako neko zna o cemu se radi i u cemu je problem neka mi pomogne.
Unaprijed se zahvaljujem. |
[ Dragi Tata @ 10.01.2004. 23:15 ] @
Rekao bih da neki stari program za DOS/Windows 9x koji direktno pristupa portovima pokušavaš da startuješ pod XP-om.
[ blaza @ 10.01.2004. 23:55 ] @
To se desava zbog pokusaja tvog programa da pristupi memorijskim lokacijama kojima nema pristup (0x00000408...). Posto je Windows XP zasnovan na NT kernelu, za razliku od Win98 i ranijih, on emulira DOS, ali uz neka ogranicenja.
Ni ja nikako ne uspevam da Tomb Raider I nateram da radi na XP.
[ igor123 @ 12.01.2004. 03:23 ] @
A postoji li ikakva mogucnost da iz C-a uspijem pristupiti tim mem. lokacijama, i znaci li to da se pod XP-om mogu pozdraviti sa manipulacijom LPT-a?
[ igor123 @ 12.01.2004. 03:27 ] @
....inace radim pod Microsoft Visual Studio 6.0
[ vilyu @ 12.01.2004. 11:37 ] @
Sve sto je ranije moglo pod win 9x sa interfacingom moze i pod XP-om. Razlika je u nacinu kako se to izvodi. Dok si pre mogao da pises direktno na npr. paralelni port, sada za to moras da koristis drajvere. Znaci, pronadjes drajvere za LPT i koristis ih da upravljas paralelnim portom. Pretrazi malo forume, vec su tu bili navodjeni neki linkovi ka drajverima i sl. Pozdrav.
[ Rapaic Rajko @ 14.01.2004. 12:48 ] @
Citat:
blaza:
Ni ja nikako ne uspevam da Tomb Raider I nateram da radi na XP.
Pokusaj da podesis u XP-u Compatibility mode (vidi help). Na ovo sam slucajno nagazio (trazio sam "DirectX version"). Time sam mom sestricu naterao staru simulaciju F16/Fulcrum da radi na XP-u...
Rajko
[ deckic @ 23.01.2004. 12:15 ] @
Zdravo,
nisi ti nista pogresno uradio, nego je to pod win 2000 i nadalje normalno. Mikro-soft je za novije win verzije zabranio pristup LPT-u. Takav problem sam i ja imao, probao sam cak i sa assemblerom, i _outp c funkcijom koja koristi isti taj assembler code, i nista. Ali ima internet:
http://www.activevb.de/tutoria...parallel/parallel.html#anchor4
tun imas jednu dll programiranu sa c++-om, i jedan vb projekt kao primer.
[ deckic @ 30.01.2004. 17:10 ] @
Za link cemo lako:
http://www.logix4u.net/inpout32.htm ali nesto u c?
Tesko, radi se upravo o tome da win zabranjuje prilazak memorijskom segmentu koji je LPT dodeljen. A posto c koristi low level rutine (assemblerske), nema koliko ja znam mogucnosti sa cistim c da se to uradi. Iskreno da ti kazem nevidim gde su teskoce, ova dll koristi upravo Api funkcije koje su vecinom u c napisane, samo je ram oko svega toga C++. Pokusaj sa tom dll, ima samo dve funkcije : input i output.
puno srece, deckic
[ goran Ivcic @ 10.02.2004. 10:50 ] @
Ja imam Win 98SE i radi, iako ne znam sta? Moze objasnjenje
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.