|
Forgive me if this sounds like a dumb-ass question. But doesn't Windows (and most OSes) these days abstract away most of the hardware with the very aptly named Hardware Abstraction Layer?
I'm not a hardware junkie. But I'm interested the core design features/functions of Operating Systems including embedded, which was how I arrived at suggesting PCMCIA as an option.
Not really sure how ISA is such a huge problem, there were PCI cards manufactured for that interface, plug 'n' play too. (who'da thunk it?)
|
|
|
|
|
ISA card were not Plug and Play. The use had to read the manual and set jumpers on the card. He/she had to do it correctly.
PCI and Plug and Play happened at the same time. The purpose of PCI was bus speed. The purpose of Plug and Play was to allow the system to select the device addresses and interupts
Plug and Play was called "PLUG and PRAY" at first. It took a couple of years to get the bugs out. And the user had no control over the problem.
My problem is trying to use old external devices on a modern computer. Partly because new devices are to expensive for an 80 year old OF. Partly because some older chips I have cannot be programmed by current programmers. The chips are out of production but but I have a supply of them. To use newer chips I have to recode the design.
The PCMCIA adapter is good solution for modern laptop with nor parallel port. But my laptop is 10 years old and does have a useable parallel port.
It's just inconvienient to use the laptop. I'd really rather use my fairly new tower with much better resources and a real keyboard and monitor.
Versions of Windows after Win98 were designed to try and keep the user away from the hardware. Not a good thing for someone doing hardware design.
Bob Macklin
Seattle, Wa
|
|
|
|
|
Yup, I remember those manual IRQ/DMA days too.
But my card didn't need manual setting, which was situation after pnp that I wanted to point out. There are modern cards now. Maybe harder to find, but they were still available only 5-6 years ago.
macklinbob wrote: My problem is trying to use old external devices on a modern computer. Partly because new devices are to expensive for an 80 year old OF. Partly because some older chips I have cannot be programmed by current programmers. The chips are out of production but but I have a supply of them. To use newer chips I have to recode the design.
My own experience, even with USB-Serial has been dismal. Trying to get a pda to communicate through an iMac with an 8-pin serial to USB was hopeless. Ditto, when trying to get a netbook to drive enough current to signal an ancient Atari disk drive.
macklinbob wrote:
Versions of Windows after Win98 were designed to try and keep the user away from the hardware. Not a good thing for someone doing hardware design.
I'm not one for throwing out old stuff either, mostly due to past experience of not being able to work with modern ways. But I have made some sacrifices lately, and finally gave up on supporting pure DOS on real hardware. Which as you rightly point out is a big handicap for direct hardware access.
I sold my eprom programmer on eBay shortly after.
|
|
|
|
|
Some info about parallel port including a free book and source code inpout32.dll
the original web page where I found that link.
|
|
|
|
|
Thanks,it shows I am not the only one fighting this problem.
Fifteen years ago I was designing PCI cards for medical electronics. I designed them using ISA base addresses and no interupts. They did not have to be configured by the system.
Today the onboard (ISA) ports are gone and repleaced by P&P PCI or PCIe cards. They have also been enhanced.
I had a similar problem with the serial ports. We used the RS-232 control lines to implement an external SPI interface. Again we wrote the code to direct access the serial port card. But when those cards were replaced by PCI cards our method no longer worked.
But Windows has a group of COMM instructions for working with a virtual serial port. I converted my applications to use this method and it works very well. It works with both PCI and PCIe serial port cards as well as USB serial port adapters.
Maybe i need to look into the new USB PP adapters. I do have one on one of my computers to connect to an old (VERY SPECIAL) printer. The driver for that printer will not work with a PCI PP but it will work with this USB PP.
Bob Macklin
Seattle, Wa
|
|
|
|
|
Hi guys,
i'm creating an app in c++ that uses the FileSystemEventArgs.
In my code i added the namespace System::IO;
My problem is, the System Namespace will work if in my configuration
Common Language Runtime Support = /clr
but it produces an error if
Common Language Runtime Support = No CLR Support
Need you ideas guys what to do. I need my app to be configured with No CLR Support.
Thanks
|
|
|
|
|
This looks like a Managed C++ question. If so, you might consider the other forum.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Show me a community that obeys the Ten Commandments and I'll show you a less crowded prison system." - Anonymous
|
|
|
|
|
bugwee wrote: I need my app to be configured with No CLR Support. Then you cannot use .NET namespaces or classes.
Use the best guess
|
|
|
|
|
Well, thanks guys. I'm not familiar yet with C++, i'm more on c# and just having a project that needs to be written in c++.
Maybe i gonna look forward on creating a wrapper class that uses the .net assemblies and use it on my native code.
Any thoughts or references guys?
Thanks
|
|
|
|
|
What advantage do you see this as providing?
Why not just enable CLR support?
If you rely on a wrapper class for the .NET assemblies, you rely on .NET. Fiddling the inclusion such that the project settings don't make it immediately apparent still leaves you with a .NET dependence.
Make it work. Then do it better - Andrei Straut
|
|
|
|
|
I just consider of having that wrapper class but i still needs your opinion guys if what is the best thing to do.
I'm looking for any alternatives if there are and not just enable the CLR support.
FYI, I'm just going to add a feature of an existing project that does not enable CLR support so i'm looking for some alternative ways.
|
|
|
|
|
Well, why didn't you say so in the first place???
First, you say "i'm creating an app", now you say "to add a feature of an existing project".
Which one is it? Are you creating the app, or adding to an existing one?
What functionality are you trying to add?
Make it work. Then do it better - Andrei Straut
|
|
|
|
|
yes correct. i'm creating an app and its a console app that just test the functionality of a feature that i'm going to add.
Now after doing some test of that app and feels working already, i copied the code from my console app and put into the existing app. And when i try to build the existing app, i got some errors.
error C2871: 'System' : a namespace with this name does not exist
error C2653: 'System' : is not a class or namespace name
error C2871: 'IO' : a namespace with this name does not exist
error C2653: 'String' : is not a class or namespace name
existing app - is configured to no clr support -(don't need to modify)
|
|
|
|
|
|
bugwee wrote: Well, thanks guys. I'm not familiar yet with C++, i'm more on c# and just having a project that needs to be written in c++.
funny but not that much.
This is my first c++ project. Today is just my second day working with c++.
You know, i didn't except that the existing project is a non clr project. i just found out after getting some errors when building with the changes.
Anyways, i appreciated with your time replying with my post.
|
|
|
|
|
enhzflep wrote: Are you looking for notification of a change to a file/folder?
something like that. but my problem is how could i use a .net framework or managed libraries on a non clr apps.
|
|
|
|
|
bugwee wrote: how could i use a .net framework or managed libraries on a non clr apps. You can't, and why would you want to? The rule is simple: CLR, or non-CLR, you cannot have both.
Use the best guess
|
|
|
|
|
Okay. Thanks for answering the question.
If you'd like to watch for file system changes, you don't need to use .NET - you can do it with plain win32 stuff.
See here and here.
Both offer essentially the same answer, though the second one offers alternatives for OSX, Linux and Qt too.
Make it work. Then do it better - Andrei Straut
|
|
|
|
|
If you are writing pure C++ then forget all about .NET and use the proper libraries. If you are adding a wrapper class to use some .NET features then just make the whole thing CLR aware. Trying to do it in the way you describe is just making things more difficult for yourself and achieves nothing.
Use the best guess
|
|
|
|
|
Thank you for your input Richard. Therefore i gonna forget .Net and focus on writing pure c++ .
|
|
|
|
|
hello,
Is there way to disable Cut,Copy,Paste,Rename and Delete operation for a particular file with (.extension)
in windows ...
please Reply me ....
|
|
|
|
|
These operations are specific to applications, not files.
Use the best guess
|
|
|
|
|
ok how can i achieved this one
|
|
|
|
|
Copy, paste etc., are implemented in many different ways by application programs, and there is no common point at which you could disable them.
Use the best guess
|
|
|
|
|
It is not clear, hat do you want. Do you want to change behavior of all programs, running under Windows? It is rather problematic (and what would be the reason for it?). But, if you write you own code, you may change behavior of edit control for example- all of what you need is to replace its own WindowProc by your own one, which gulps some messages and calls old WindowProc for all others. It is a way to get a non-editable edit window. Use GetWindowLong() to get address of old WindowProc and SetWindowLong() to replace it with your own one.
|
|
|
|