Membaca dan menulis di bawah port XP dari DOS jendela menggunakan DJGPP

S

sa007jbond

Guest
Hai,
Saya menggunakan BC 3.1 dan DJGPP untuk program DOS, untuk READ / WRITE port
Saya menggunakan dua fungsi:
int inp (unsigned portid);
int outp (unsigned portid, int nilai);

Ini tidak bekerja di bawah Windows XP.

Dimungkinkan READ dan WRITE port dari jendela DOS di bawah Windows XP dan bagaimana?

Salam

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />
 
Saya rasa tidak dapat.Couse kebanyakan port xp driver hanya mendukung bahasa pemrograman visual, seperti visual c , visual basic ...

 
Mungkin mungkin.
Windows NT/2000/XP blok semua akses langsung IO bentuk program sehingga pengguna inp () / outP () tidak bekerja lagi.Anda telah menemukan shareware / freeware port akses driver dan menggunakan fungsi panggilan yang diberikan.Dengan bantuan driver ini, Anda dapat mengakses langsung IO port lagi.Aku tidak pernah mencoba mereka di DOS kotak tetapi mereka bekerja di lingkungan windows.

 
Epegic wrote:

Mungkin mungkin.

Windows NT/2000/XP blok semua akses langsung IO bentuk program sehingga pengguna inp () / outP () tidak bekerja lagi.
Anda telah menemukan shareware / freeware port akses driver dan menggunakan fungsi panggilan yang diberikan.
Dengan bantuan driver ini, Anda dapat mengakses langsung IO port lagi.
Aku tidak pernah mencoba mereka di DOS kotak tetapi mereka bekerja di lingkungan windows.
 
Dr Dobb's jurnal memiliki artikel untuk menginstal backdoor untuk langsung baca tulis I / O port panggilan 'giveio' saya mencoba dan bekerja.Saya rasa ini telah diterbitkan pada akhir 1997

 
I
don't think the stuff is GiveIO dianjurkan.
I tried it dalam waktu dan menghapus semua perlindungan
membuat sistem sangat rentan.Jika saya ingat
well, ini juga NT bertarget.I
don't know if it would
bekerja di W2K atau XP.

Coba ini bukan yang bersih.Selain itu berasal dari Logic.

Somebody correct me if I am wrong, masalah adalah ketika anda ingin
untuk mengakses ressource legacy seperti COM1, untuk mengetahui apa yang
benar alamat pada port PCI bus sejak Anda yang memotong HAL.

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Sangat sedih atau menangis" border="0" />Hope this helps.

 
UserPort ada (cari di Google) untuk melakukan pekerjaan.
Ia memberikan semua aplikasi akses ke port, atau daftar port atau kisaran.

Jika ada hanya diperlukan E / S pelabuhan terbuka, ia tidak boleh tidak stabil, kecuali kode dont awful membuat sesuatu dengan pelabuhan ...)

But, I dont know if it bekerja untuk mode DOS (pernah coba) ...

Solusi yang lain, adalah untuk membuat VDD (app DOS yang berjalan dalam sebuah Virtual Machine NTVDM - VDD adalah sebuah driver untuk mesin virtual ini, bahwa sebuah antarmuka legacy driver untuk DOS (contoh) whit the 32 bit driver).
Saya rasa ini dapat dimungkinkan untuk membuat suatu driver untuk I / O ...

Siapa tahu tentang subjek ....

 
Driver yang bagus untuk melakukan paralel port I / O di WinNT dan kemudian disebut DLPortIO.

http://www.driverlinx.com/DownLoad/DlPortIO.htm

Berisi kode contoh untuk berbagai bahasa, misalnya C API:

DlPortWritePortUchar (m_dwAddr, (UCHAR) m_dwValue);

DlPortWritePortUshort (m_dwAddr, (USHORT) m_dwValue);

DlPortWritePortUlong (m_dwAddr, m_dwValue);

 
Selain driver seperti DLportIO, Anda harus menggunakan 32 bit compliers mode konsol untuk menulis program untuk bekerja di kotak DOS, BC3.1 meight tidak bekerja lagi.

 
i have one pemrogram bekerja di win98 dan saya tetapi tidak berjalan dalam NT/2000/XP (menggunakan paralel port)

mempunyai cara kerja di win xp?

 
Deprotection dengan hal-hal seperti BeyondLogic atau GiveIO, Anda akan
memungkinkan Anda untuk menulis lama app / membaca langsung ke perangkat keras, tetapi
karena Aku berkata (dan mencoba) sebelum, app lama Anda akan menggunakan warisan yg tak diterjemahkan
alamat dan mungkin (dan mudah-mudahan) membaca / menulis ke unexistent
PCI bus alamat.Too bad!

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Sangat sedih atau menangis" border="0" />Jika Anda membuat sendiri non-legacy hardware, mungkin bisa bekerja
sejak Anda akan target nyata PCI bus adresses.

 
Santa wrote:

Deprotection dengan hal-hal seperti BeyondLogic atau GiveIO, Anda akan

memungkinkan Anda untuk menulis lama app / membaca langsung ke perangkat keras, tetapi

karena Aku berkata (dan mencoba) sebelum, app lama Anda akan menggunakan warisan yg tak diterjemahkan

alamat dan mungkin (dan mudah-mudahan) membaca / menulis ke unexistent

PCI bus alamat.
Too bad!
<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Sangat sedih atau menangis" border="0" />

Jika Anda membuat sendiri non-legacy hardware, mungkin bisa bekerja

sejak Anda akan target nyata PCI bus adresses.
 
Baik,

Aku berhenti untuk lebih intensif pemrograman hardware / hdl cukup waktu lalu
tetapi masalah yang sama seperti anda membawa saya kembali ke software hal-hal
dari waktu ke waktu (Thanks Bill G.

<img src="http://www.edaboard.com/images/smiles/icon_mad.gif" alt="Gila" border="0" />

).

Saya juga baru hardware yang saya ingin degug atau di bawah kontrol
NT/W2K/XP atau di rumah-aplikasi yang saya ingin tetap bekerja
sebelumnya dibuat dengan perangkat keras tetapi baru OS.

Disini kita datang dengan perlindungan ini OSes.Semua orang akan
seperti membariskan ke dalam lubang perlindungan hanya untuk sendiri dan proses
berguna port.Jika saya ingat dengan baik.BeyondLogic hal baru akan memberikan
ini akan tetapi,
karena tujuan-nya, yang memotong fungsi-fungsi
OS yang remap legacy hardware untuk akses ke alamat fisik nyata
adresses perangkat keras pada PCI (atau lainnya) bis.

Sebelum Anda datang ke kesimpulan ini, Anda sctrach kepalamu dan meminta
Anda sendiri mengapa Anda menulis makanan yang tidak 0x3F8 untuk mengirim data ke COM1.

Sekarang, bagaimana ini bisa diperbaiki?Saya memberikan ide-ide saya di sini, beberapa Mei.
mungkin tidak begitu mudah berlaku atau memerlukan adaptasi.

Dalam kasus Anda hanya memiliki warisan hardware yang ingin Anda akses, Anda
menemukan alamat dimana warisan telah remapped dan menggunakan
alamat.Masalah ini pasti akan berubah pada setiap reboot dan
BeyondLogic barang tentu tidak akan mengizinkan Anda untuk menambahkan rintisan untuk
menyelesaikan ini sebelum memulai wrapper nya sekitar anda proses.
Ia tidak akan mengubah salah satu I / O panggilan dalam target aplikasi sehingga
ia mengakses adresses baik.Jadi ini bukan merupakan cara praktis untuk
warisan.Untuk hal-hal lain, harus bekerja jika masih hidup tidak OS
Anda tidak mendapatkan cara mengakses apa yang akan Anda sendiri
bermain.

In my opinion.satu-satunya solusi untuk membuat legacy app langsung dengan I / O
akses bekerja di bawah NT dan nanti adalah untuk menulis wrapper proses hukum yang
Anda memulai proses-nya di bawah kontrol (seperti BeyondLogic), remaps legacy
alamat dan drills di lubang yang sesuai untuk real fisik adresses
(dan hanya di sana, bukan ke alamat legacy).Bahkan dalam kasus ini, OS
tidak sadar Anda sedang bermain dengan barang pribadi dan diyakini dapat
Anda bisa mencoba cara untuk melakukan pekerjaan yang sama seperti anda pada saat yang sama.
yaitu jika Anda menerima byte pada COM1, tidak ada jaminan tidak akan OS
jadilah yang pertama untuk mendapatkan jika anda tidak menghapus OS driver atau IRQ.

Jadi, kami datang kepada kesimpulan bahwa cara terbaik adalah keras.Anda menulis
wrapper app dan panggilan Anda app dialog resmi tetapi dengan hardware
melalui OS.It means wrapper ini akan datang sendiri dengan sopir
spesifik untuk mengontrol hardware dan warisan tersebut harus ganti OS
sesuai driver.Sob.Disini Anda butuh diving di NTDDK dan
Anda berada jauh dari yang sederhana modifikasi.

Jika Anda menulis sendiri app dan ingin panggilan (warisan atau tidak) perangkat keras,
solusi ada di Compuware (ex-Numega) tetapi jika anda tidak
ayah dari aplikasi yang akan menjalankan atau memiliki sumber ...

I hope somebody NTDDK dengan pengetahuan yang baik dapat memberikan informasi
pendapat di kasus saya melewatkan sesuatu.

 
Yang saya tahu, XP/NT/98 bekerja di bawah mode.If melindungi Anda ingin mengakses hardware, Anda harus menulis driver (VXD atau wdm). I think driverstuido adalah yang terbaik untuk mengembangkan alat ini. U dapat mengembangkan driver menggunakan c atau c .

 

Welcome to EDABoard.com

Sponsor

Back
Top