• 9 odgovora
  • 5.278 pregleda
Problem sa LPT portom 10.01.2004. u 22:58 · pre 277 meseci #1
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.
Re: Problem sa LPT portom 10.01.2004. u 23:15 · pre 277 meseci #2
Rekao bih da neki stari program za DOS/Windows 9x koji direktno pristupa portovima pokušavaš da startuješ pod XP-om.
Potpis
IOCC
Re: Problem sa LPT portom 10.01.2004. u 23:55 · pre 277 meseci #3
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.
Potpis
O_o
Re: Problem sa LPT portom 12.01.2004. u 03:23 · pre 277 meseci #4
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?
Re: Problem sa LPT portom 12.01.2004. u 11:37 · pre 277 meseci #6
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.
Potpis
Pera električar 0637129710, BG, preporučujem.
Re: Problem sa LPT portom 14.01.2004. u 12:48 · pre 277 meseci #7
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
Re: Problem sa LPT portom 23.01.2004. u 12:15 · pre 276 meseci #8
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.
Re: Problem sa LPT portom 30.01.2004. u 17:10 · pre 276 meseci #9
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
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme