Network & Internet    Other     PortTalk

PortTalk 2.2


Description of

PortTalk


PortTalk is a Windows NT I/O Port Device Driver.A problem that plagues Windows NT/2000 and Windows XP, is it's strict control over I/O ports. Unlike Windows 95 & 98, Windows NT/2000/XP will cause an exception (Privileged Instruction) if an attempt is made to access a port that you are not privileged to talk to. Actually its not Windows NT that does this, but any 386 or higher processor running in protected mode.Accessing I/O Ports in protected mode is governed by two events, The I/O privilege level (IOPL) in the EFLAGS register and the I/O permission bit map of a Task State Segment (TSS).Under Windows NT, there are only two I/O privilege levels used, level 0 & level 3. Usermode programs will run in privilege level 3, while device drivers and the kernel will run in privilege level 0, commonly referred to as ring 0.PortTalk will allow the trusted operating system and drivers running in kernel mode to access the ports, while preventing less trusted usermode processes from touching the I/O ports and causing conflicts. All usermode programs should talk to a device driver which arbitrates access.The I/O permission bitmap can be used to allow programs not privileged enough (I.e. usermode programs) the capability to access the I/O ports. When an I/O instruction is executed, the processor will first check if the task is privileged enough to access the ports. Should this be the case, the I/O instruction will be executed. However if the task is not allowed to do I/O, the processor will then check the I/O permission bitmap.The I/O permission bitmap, as the name suggests uses a single bit to represent each I/O address. If the bit corresponding to a port is set, then the instruction will generate an exception however if the bit is clear then the I/O operation will proceed. This gives a means to allow certain processes to access certain ports. There is one I/O permission bitmap per task.Accessing I/O Ports under NT/2000/XPThere are two solutions to solving the problem of I/O access under Windows NT. The first solution is to write a device driver which runs in ring 0 (I/O privilege level 0) to access your I/O ports on your behalf. Data can be passed to and from your usermode software to the device driver via IOCTL calls. The driver can then execute your I/O instructions. The problem with this, is that it assumes you have the source code to make such a change.Another possible alternative is to modify the I/O permission bitmap to allow a particular task, access to certain I/O ports. This grants your usermode software running in ring 3 to do unrestricted I/O operations on selected ports, per the I/O permission bitmap. This method is not really recommended, but provides a means of allowing existing applications to run under windows NT/2000. Writing a device driver to support your hardware is the preferred method. The device driver should check for any contentions before accessing the port.However, using a driver such as PortTalk can become quite inefficient. Each time an IOCTL call is made to read or write a byte or word to a port, the processor must switch from ring 3 to ring 0 perform the operation, then switch back. If your intentions were to write, for example a microcontroller programmer which is programmed serially using a parallel port pin, it would make better sense to send a pointer to a buffer of x many bytes. The device driver would then serialise the data and generate the handshake necessary in the programming of a PIC device.Such an example is the USBLPTPD11 driver at www.beyondlogic.org/usb/usblptpd11.htm. This driver accepts a buffer of bytes via the IOCTL_WRITE_I2C IoDeviceCall and then big bangs this out in I2C format on a parallel port pin. The source code for this driver is available and is well worth a look.The porttalk device driver comes complete with source code. It provides the facility to modify the IO permission bitmap and/or write and read to I/O ports via IOCTL calls.Compatibility - Using existing applications under Windows NT/2000/XPPortTalk can be used in conjunction with allowio to make existing programs that access the I/O ports work under Windows NT/2000/XP. As you already know, any 32bit software will cause a Privileged Instruction Exception. Many hacks have been produced for I/O port access under Windows 95 and 98 such as .DLL libraries. Should you need to run such a software under Windows NT, an exception will occur. Try PortTalk.16 Bit Windows and DOS programs will run on virtual machines. In many cases existing applications should be transparent on Windows NT/2000/XP. However others just refuse to run. The virtual machines has support for communication ports, video, mouse, and keyboard. Therefore any software using these common I/O ports should run, however there is often a problem with timing. Other MS-DOS programs accessing specific hardware requires VDDs (Virtual Device Drivers) written to enable them to be used with Windows NT.The Virtual Machine will intercept I/O operations and send them to a I/O handler for processing. The way the Virtual Machine does this, is by giving insufficient rights to I/O operations and creating an exception handler to dig back into the stack, find the last instruction and decode it. By giving the VDM full rights to I/O ports, it has no means of intercepting I/O operations, thus creating less problems with timing or the need to provide VDDs for obscurer hardware.In order to change a processes IOPM, we must first have the process ID for the process we want to grant access too. This is accomplished by creating the process ourselves, so we can pass the ProcessID to our device driver. An small software is used which accepts the software name as an argument. This software then creates the process (i.e. executes the program) which starts and continues as another process in the system.Note : We can also register a callback with the operating system which notifies our driver of any processes started and what their ID is. We can then keep a directory of processes that we want to have access to certain ports. When this process is executed, the callback informs the driver it has started and what it's process ID is. We could then automatically change the IOPM of this process. See


Published by: beyondlogic.org
Downloads: 609
File Size: 66.4 KB
License: Freeware
Product Homepage: Visit beyondlogic.org
Release Date: 09 July, 2012
OS: Windows
Download Location: Primary Download Link Broken? Report it!


PortTalk 2.2 Download Tags:


Files32.com collects software information directly from original developers using software submission form. Sometimes it can happen that software data are not complete or are outdated. You should confirm all information before relying on it. Using crack, serial number, registration code, keygen and other warez or nulled soft is illegal (even downloading from torrent network) and could be considered as theft in your area. Files32 does not provide download link from Rapidshare, Yousendit, Mediafire, Filefactory and other Free file hosting service also. The software has been submitted by its publisher directly, not obtained from any Peer to Peer file sharing applications such as Shareaza, Limewire, Kazaa, Imesh, BearShare, Overnet, Morpheus, eDonkey, eMule, Ares, BitTorrent Azureus etc..
 
Top Software

FTP Rush 2.1.8
FTP Rush is a free comprehensive FTP client for smooth file transfer. The program offers fully-fledged functionality delivered in a user-friendly interface and allows experienced users to create...

Crypt4Free by

Crypt4Free 5.47
Crypt4Free is files encryption software with ability to encrypt files and text messages. Support for ZIP files and ability to secure delete sensitive files. Skinnable user friendly interface.

Luxand Blink! by

Luxand Blink! 2.0
Login to your PC without touching a thing! Luxand Blink! is a free tool to let you log in to your Windows account by simply looking into a webcam - no passwords to type and no fingers to scan.

InTask Personal by

InTask Personal 1.5
InTask designed to help team leaders, developers and QA persons to share their efforts and deliver the products on time. The product includes fast task management, interactive gantt, document...

Pop-up Free by

Pop-up Free 1.56
Get rid of annoying popup windows and enhance your Web surf experience. Kill unexpected popup windows and protect your privacy. No more annoying advertisement windows and save your time.

Glary Utilities Portable by

Glary Utilities Portable 2.56.0.8322
One Click A Day For PC Maintenance, Keeps Any PC Problems Away. With 7 million worldwide users, the first-rank & free Glary Utilities is an INDISPENSABLE friend for your PC, with its 100% safe,...

VPSpro by

VPSpro 3.695
VPSpro is the ultimate in the creation of financial projection and general business plans. The unique walk-through process is simple to use and makes easy work of the hard parts of business planning.

Rylstim Budget Lite by

Rylstim Budget Lite 4.5.1.6376
Plan and manage your finances with a simple friendly calendar. Perfect solution for home users and freelancers!

Neox Screen by

Neox Screen 1.0.0.277
Neox Screen is a free application which with the help of the hotkeys you can take screenshots that are crystal sharp, small in size and ready to be shared.

EMCO Remote Installer Free by

EMCO Remote Installer Free 4.1.1
This free remote software deployment tool is designed to install and uninstall Windows software on remote PCs through local networks. You can use it to install and uninstall EXE setups and MSI...

Latest Software

Joyoshare Video Converter for Mac 2.0.0
Joyoshare Video Converter for Mac is a complete video solution to convert any video and audio file, such as MP4, MOV, MKV, M4V, etc. to more than 150 formats and profiles, such as iPhone, iPad,...

ModusDoc Network by

ModusDoc Network 7.1.298
Universal data cataloger designed for cataloging documents / files, hyperlinks, programs, folders and notes in a database for the purpose of gaining quick and convenient access to them

Throttle by

Throttle 8.2.11.2019c
Throttle instantly upgrades your computer and modem to download files faster, browse the web faster and play games without lag. Throttle is one of the best internet acceleration software products...

Loving Hearts Screensaver 2.0
Valentine's Day is celebrated by many people around the world on February the 14th. We offer you to declare your love using Loving Hearts screensaver. You will see two animated hearts that beat...

ETAC Interpreter 2-0-6-ena
The ETAC programming language is a general purpose dictionary and stack based interpreted script programming language fully capable of traditional high-level block structured language style syntax.

Learn Russian Words by

Learn Russian Words 6.0
Training program for quick learning and memorizing Russian words. Allows to learn material quickly in comparison with usual methods of training. In the course of training the program offers to...

Haunt by

Haunt 1.45
3D horror adventure game. What would you do if you woke up in a place you have never seen before? Find the secret and avoid the Slender Man in this real Slender game! Start your nightmare now!

PhotoPad Photo Editor Free 5.02
PhotoPad Free image editing software is a free photo editor for Windows. It allows you to edit and apply effects to photos and other images.

A VIP Simple To Do List by

A VIP Simple To Do List 2.9.61
VIP Simple To Do List is an easy tool for planning of your daily life. The program lets everyone who wants to stop wasting time and bring life in order quickly manage everyday tasks with help of...

Net Monitor for Employees Professional by

Net Monitor for Employees Professional 5.6.8
The Net Monitor for Employees is employee monitoring software that allows you to see screens of remote computers or show your screen to employee. This activity monitoring software allows you to...

MajorAV by

MajorAV 4.2
MajorAv is the most valuable anti-virus & optimization combination. MajorAv includes Antivirus as well as: System Cleaner, Privacy Cleaner, Driver Updater, Speed Booster.

Stellar Repair for Quickbook Software 9.0
Stellar Repair for QuickBooks Software recovers data from corrupt QuickBooks (QBW) and its backup (QBB) files. The software ensures data recovery from QBW files of multiple country editions and...

Related Searches

Currently Searching

Currently Downloading

EarMaster Pro v4.0
Allows you to use your computer for ear training that can lead to improvements in playing and appreciating music.

Simnet UnInstaller 2011 by

Simnet UnInstaller 2011 3.1.2.3
Simnet Uninstaller is an easy-to-use and absolutely free uninstaller manager to manage installed applications. Every application installed on your computer decreases the free hard disk space and...

Alan's Math v1.53
administers simple arithmetic tests to help students practice addition, subtraction, multiplication, and division. The program logs all questions and responses to a text file, along with user name,...

Home Network Manager by

Home Network Manager 3.0.8
With Home Network Manager you can instantly set up your home network and auto detect and add printers and devices. Add, share, and manage all network devices within your home or small office...

ShellToys XP by

ShellToys XP 5.2.3
A suite of 50 shell extensions adding powerful new features to the Windows context menu for files, folders, windows and dialogs. Encrypt, shred, split, rename one or more files, change extensions,...

Copy & Trim by

Copy & Trim 1.2.1
Copy&Trim entfernt Tabs und Leerzeichen vor und hinter jeder Zeile, die sich in der Zwischenablage befindet. Dies ist besonders hilfreich, wenn etwas von einer Webseite in die...

Maximath v1.2
Maximath is a sophisticated mathematical evaluation system.

Fluke 45 Serial Application 1.40
Connect your Fluke 45 Meter to a PC for Display, Logging, and Data Capture. Includes a Meter Control Panel and Alarms. Try it free for 15 days, after which a Registration Code may be purchased...

MiKTeX 64bit by

MiKTeX 64bit 2.9.4757
MiKTeX (pronounced mick-tech) is an up-to-date implementation of TeX and related programs for Windows (all current variants). TeX is a typesetting system written by Donald E.

Report Inverter for Excel 1.2
Report Inverter is a product that works as an Excel add-in.

Citisoft Outlook Express Backup by

Citisoft Outlook Express Backup 2
Citisoft Outlook Express Backup is an easy to use tool for backing up and restoring the popular Microsoft Outlook Express mail client.

EncryptConfig 1.0
Encrypts app config connection strings for deployment in non-secure environments. EncryptConfig is a simple form software that encrypts app config connection strings for deployment in non-secure...