ToToTEK.COM Forum Index ToToTEK.COM
Help & Support Forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

paralell port idea

 
Post new topic   Reply to topic    ToToTEK.COM Forum Index -> New Product idea
View previous topic :: View next topic  
Author Message
radorn



Joined: 08 Jul 2007
Posts: 6

PostPosted: Sun Jul 08, 2007 5:50 pm    Post subject: paralell port idea Reply with quote

Hi:

Maybe tototek is not the most apropriate place to propose this idea, but since they make and sell stuff that makes use of it, it could be of interest.

I'll try to explain my idea.

Nowadays PCs and newer versions of Windows no longer support the parallel port as they did in 9x and earlier. We all know this. I also know that newer hardware and drivers are designed to deal with that, but older hardware (I'm refering to both PC and devices like flash writers and so) and more importanltly, existing software to use them are not.

There are some solutions to the problem of windows no longer allowing direct acces to legacy ports like parallel, like DirectIO. I just found it a few days ago and I haven't tried it yet so I don't know how well it works with the kind of devices that we are interested in and their software. Anyway, something it can't solve is the lack of an actual parallel port or it lacking features we need.

I went to search for usb driven parallel ports but all I found was adapters for printers only. I reckon those are not useful for this. right?

Now, my idea would be to make a usb device (USB because it is available everywhere) that had in it all the hardware needed to drive a parallel port to interface to any of those existing oldschool gaming hardware (copiers, cheat carts, and what not). Of course, that wouldn't be any good if the existing software (wich is the main interest of all this) wouldn't be able to write and read from it.

I don't know very well how these kind of programs interface with the parallel port. I don't know if it would be enought to create a driver that created a "virtual" port that mirrored its activity to the hardware part, or if those existing programs would recognize such a port. So my idea would be to complement that piece of hardware with a software "loader" or something. A piece of software that wrapped arround the target program and offered it the required environment, and "moved" all the command and data (ie, anything wich is pertinent) to our custom hardware.

I don't know how difficult would this be to make. I have the vague notion that it might be hard because of IRQs and DMA channeld maybe? but I don't know how that does work exactly.

All I know is that such a piece of hardware (and it's software complement) would be very nice to have, and not only for gaming, like us here, but also in prototiping and all arround electronics hobbyist.
I reckon the parallel port is quite nice to work and experiment with because of it's simplicity and flexibility not having to make extra hardware controllers and drivers that might get scrapped later on. I know that softwares like DirectIO and Inpout32 already cover the compatibility and new developments problem quite extensively, but they still can't make a computer without a parallel por magically grow one.

Aditionally, the device could have a builtin PC-COMM (you know, that ISA card needed for some hardwares, like the saturn's 4in1) mode beside the normal ECP, EPP and SPP.

Well, what do you think?

EDIT: Here's another reason I have to be wanting this.
I recently spotted that new "sub-laptop/UMPC" (however you might classify it) from ASUS, the EEE (yes, that's it's name) that's coming this year. For those that don't know, it's a really small laptop PC (I mean, it's IS a PC, x86 and all, not any other platform/architecture) that's going to cost arround 200 bucks and have quite nice specs. Presintalled with a custom brewed, xandros based I think, linux distro to look like windows and have an easy PDA-like interface but that also runs windows (XP mentioned, but I guess it could run others too, at least with some tinkering). Upon seeing it I thought how nice it would be to use it as a support pc for gaming gear at home or away thanks to its small size and all. Of course, it doesn't have parallel or serial ports, nor pci or isa slots. only USB. So I searched for those parallel to USB adapters just to find they were only meant for printers.
Back to top
View user's profile Send private message
kyuusaku



Joined: 26 Jul 2003
Posts: 941
Location: .ma.us

PostPosted: Mon Jul 09, 2007 1:38 am    Post subject: Re: paralell port idea Reply with quote

radorn wrote:

I went to search for usb driven parallel ports but all I found was adapters for printers only. I reckon those are not useful for this. right?

Right.
radorn wrote:

Now, my idea would be to make a usb device (USB because it is available everywhere) that had in it all the hardware needed to drive a parallel port to interface to any of those existing oldschool gaming hardware (copiers, cheat carts, and what not). Of course, that wouldn't be any good if the existing software (wich is the main interest of all this) wouldn't be able to write and read from it.

I think everyone around here has dreamed of this but nobody has done it yet.

radorn wrote:

I don't know very well how these kind of programs interface with the parallel port.

They always interface with the parallel port at the lowest level.

radorn wrote:

I don't know if it would be enought to create a driver that created a "virtual" port that mirrored its activity to the hardware part, or if those existing programs would recognize such a port.

So my idea would be to complement that piece of hardware with a software "loader" or something. A piece of software that wrapped arround the target program and offered it the required environment, and "moved" all the command and data (ie, anything wich is pertinent) to our custom hardware.

A driver wouldn't be enough, AFAIK ports can only be used by windows processes. Software which wraps around the the target program like you suggested is the only way, this would be probably easiest implemented in an emulator which simply redirects port access to the real hardware. If it wasn't emulated, you would also need to give the program DirectIO like access because old programs which access the parallel port often access the BIOS area of memory to gather information about the system (like the port addresses) If somehow a supervisor program could be made which attaches to processes (like the Windows command prompt) and somehow could redirect access, it would be great but I don't know if that is even possible. If it was, it would require pretty intimate knowledge of Windows which most programmers don't have.

radorn wrote:
I don't know how difficult would this be to make. I have the vague notion that it might be hard because of IRQs and DMA channeld maybe? but I don't know how that does work exactly.

Quite difficult or I would have done it ages ago :) DMA is only used for ECP which AFAIK no copiers use. IRQs are needed for EPP which one or two copiers use but I don't think it matters when you can poll and give the process high priority.

radorn wrote:
All I know is that such a piece of hardware (and it's software complement) would be very nice to have, and not only for gaming, like us here, but also in prototiping and all arround electronics hobbyist.

That's why they have USB modules which make prototyping easy :)

radorn wrote:
I reckon the parallel port is quite nice to work and experiment with because of it's simplicity and flexibility not having to make extra hardware controllers and drivers that might get scrapped later on.

It is nice but it's also frustrating in many ways mostly due to inconsistencies between systems. Debugging a prototype with wires is also very annoying on the parallel port.

radorn wrote:

I know that softwares like DirectIO and Inpout32 already cover the compatibility and new developments problem quite extensively, but they still can't make a computer without a parallel por magically grow one.

You can always buy a very cheap PCI or PCIe card. (<$20)

radorn wrote:
Aditionally, the device could have a builtin PC-COMM (you know, that ISA card needed for some hardwares, like the saturn's 4in1) mode beside the normal ECP, EPP and SPP.

This would be nice but wouldn't it be better to make better Action Replay clones which used the EPP parallel port and could be much faster? (That's what I hope to make sometime)
Back to top
View user's profile Send private message
radorn



Joined: 08 Jul 2007
Posts: 6

PostPosted: Mon Jul 09, 2007 7:05 pm    Post subject: Reply with quote

thanks for your anwser, mr kyuusaku.
I had the impression you would reply to such a topic Very Happy (just from reading a few post on this forum it became pretty evident).

So in the end, it "could" be made but no one is quite up to the job. right?

About buying an expansion card, I don't really need it, and you can't easily fit an expansion card on a laptop, even less a sublaptop, haha.
Anyway, I keep an "old" computer (6-7 years) wich has a perfectly good parallel port and I also equipped it with a PC-COMM card (the EMS clone, I hope it'll work right), and I installed win98SE to it so that's not the problem.
I'm planing to make a custom case for it to convert the thing into a "lab" machine. all conections on the front panel, a builtin monitor, things like that... pretty heavy modification Cool

The problem is I can't easily carry it, and I don't have the space to keep it installed permanently, and also, it's nice to have all the old stuff toghether with the new crap on a system with a more up to date OS, wich allows for big drives, big files, and running all that on a powerful computer.
Ah, well, I'm just procrastinatin. You know perfectly what I mean.

Ahh, I hope somebody else makes it someday, because I wouldn't know where to start.

EDIT: If someone made the hardware, maybe some kind of plugin for some existing PC emulator would do the trick. I would prefer the more clean and straight method of a custom emu or "wrapper" (meaning the aforementioned "wrapping" program, not a normal wrapper, like those for Glide graphic libraries) so the rest of the environment would be the host OS, like it would be on a native environment, and not a whole separate emulated system, wich would be quite awkward (more disk space spent, more things to configure you may not want at all, having to mantain another OS, awkward resource sharing, etc)
Back to top
View user's profile Send private message
radorn



Joined: 08 Jul 2007
Posts: 6

PostPosted: Thu Aug 09, 2007 11:14 am    Post subject: Reply with quote

kyuusaku

I got arround reading some precise documents about what an IRQ is and I could finally understand what they are and how they work, wich also explains why it's so hard to implement in software.
Previously I only found crappy explanations or way too technical explanations for my level back then, so I never really grasped what they were. I knew they were supposed to interrupt something but that was all, so I was confused xD.

But, can usb devices be assigned IRQs?, I guess not, but maybe you can assing one to the usb controller and have your device tap that to send the cpu an actual interrupt? maybe that's not possible at all.

Nobody is reading this anyway xD
Back to top
View user's profile Send private message
kyuusaku



Joined: 26 Jul 2003
Posts: 941
Location: .ma.us

PostPosted: Thu Aug 09, 2007 11:46 pm    Post subject: Reply with quote

The USB controller is assigned an interrupt but I'm not sure if devices can actually cause an interrupt (or how the priority would work if it could). Regardless, an interrupt today is not the same as an interrupt in DOS (EPP parallel port) days. Back then everything used interrupts, even printing a line of text to the screen used a particular interrupt which had a handler built into DOS. Even if USB devices can interrupt you wouldn't be able to get the interrupt to register in DOS programs. And since you'd be using a multitasking OS such as XP, there's no way to get the real time performance associated with DOS programs which use interrupts anyway.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ToToTEK.COM Forum Index -> New Product idea All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group