![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| Coding Post your Coding for opensource projects here. |
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
| ||||
| ||||
I wasn't sure on which forum to list this in, but here is what I am trying to do: I have a complete Techno-Isel cnc router. It has: - ISA card in the PC - MS Dos program to talk to the ISA card - Servo controller that is sent commands from the ISA card - The table & servos itself Everything works fine, but I ran into a snag when I tried to use the OLD MS Dos program interface (called SAC) to load a "large" input file. It gives a "not enough memory" error and pukes. That means I cannot load anything that has any high level of detail. New software will not work with the old ISA card. The only glimmer of hope I have is to use a Borland header file and .LIB file that I got my hands on. The next problem is that this .LIB file seems to be 16 bit, and when I try to use my oldest C compiler (borland C builder 4), my linker pukes, complaining with this specific error: [Linker Fatal Error] Fatal: Unsupported 16-bit segment(s) in module SRV400. The new PCI card (to run modern software) is $1600.00. OUCH!!! So you see why I was entertaining the idea of trying to whip up a quick program. I also just want to see if it is at all possible. I am just getting into C++, so most of the details are over my head when it comes to linking etc... If anyone has an opinion, let me know. I would be happy to email the 2 files I have if anyone wants to check them out. -note I just tried uploading a pic, and it gave me an odd error I have never seen before. I can try that again later. Thanks, Mike
__________________ Expensive tools can be cheaper than professional therapy Last edited by mikkojay; 07-15-2006 at 07:58 PM. Reason: add pic |
|
#2
| |||
| |||
| Just a thought - get on one of the Linux sites and see if your C++ can be compiled by gcc - If it does not require much modification you Win. Plus you can run some DOS stuff in Linux - With WINE you can even run some winders stuff. |
|
#3
| |||
| |||
Take a look at the Watcom compiler. It can still build DOS or Windows programs. 16 or 32 bit. And it's free. http://www.openwatcom.org/index.php/Main_Page |
|
#4
| |||
| |||
| Which version of dos are you using? dos can only ''see'' 640k of memory version 6 - 6.2 etc has a feature called memmaker which can load things like mouse drivers keyboard etc into high memory ,which should allow your program to run, try typing memmaker at the c: prompt Hope this helps...........mintoe |
|
#5
| ||||
| ||||
| Hey thanks for the replies- I ordered a copy of Borland Turbo C 4.5 off ebay since it was pretty cheap. The free version 2 that is available for free download is giving me linker errors that have me pulling what's left of my hair out! I will also try the other free compiler. The input file size that is puking the DOS program seems to be around 100kb. The program (I think) is probably trying to read the whole input file into memory, then parse it apart/cycle line by line. That's just a guess. It could also just be puking because it is poorly written and has a bunch of recursion or something like that. Oh well, I will never know- all I can do is try to get a linker to be happy about the functions in the LIB file I was given. I'll keep ya posted. This is a pain, but I am learning a bunch of stuff so its ok for now. -Mike
__________________ Expensive tools can be cheaper than professional therapy |
| Sponsored Links |
|
#6
| ||||
| ||||
| I downloaded the WATCOM compiler, and then tried adding a reference to my .h file to the primary .c file in one of the win16 sample programs. I then added a reference to the .LIB file. That compiled ok, but then I added a call to one of the functions in the LIB and (insert sound of breaking glass) I got this linker error: Error! E2028: amp_enable_ is an undefined reference file WATZEE.obj(C:\WATCOM\samples\win\watzee\WATZEE.C): undefined symbol amp_enable_ Here is an interesting note from the linker help: By default, the Open Watcom C and C++ compilers append an underscore ('_') to all function names. This is the definition in the .h file: void amp_enable(); It seems like the appended underscores are causing problems- I will mess with it a little bit, but I may have to wait for the right version of the Borland compiler to show up on my doorstep. Also, I admit that I know next to nothing about linkers or C++ for that matter, so if I am doing something dumb, please call me on it! Thanks, Mike
__________________ Expensive tools can be cheaper than professional therapy |
|
#7
| |||
| |||
I'd probably ignore the DOS software etc. It's probably very crufty. Which make/model is the ISA card? My approach would be to try and interface to the card under a modern OS e.g. Linux. Then interface to the driver with modern software. My hunch is that the card is pretty generic and you could probably upgrade to a modern card pretty easily. The cables to the steppers must be pretty generic. |
|
#8
| ||||
| ||||
| Well, here is where I sit today: The Borland Turbo C++ v4.5 for Windows compiler (that I appear to have wasted 29 bux on) will not compile/link the proprietary servo LIB file. It is a techno-isel SRV400 card by the way... The problem is that the compiler I tried is the WINDOWS edition and not the DOS version. After a little more suffering/research, I realized this. The LIB file that I am trying to link has references to functions that the Windows compiler "does not allow" whatever that means, I don't know, that's just what I read in a thread where some poor sucker had the exact same problem I did. The good news is that I found a used Sam's C++ book that includes the 3.1 version of the Borland compiler that was actually used to create the LIB file I am trying to access. The book was only $13 on Amazon, so I thought I would give it one last shot. If that doesn't work, I might just freak the hell out! Nah, its cool- I am demystifying this stuff little by little. I actually have the PDF that describes the memory register bit mappings, so if I wanted to get ridiculous, maybe I will go that deep. I have snooped around looking at other card alternatives, in the case I give this one the boot- so far the cheapest PCI card has been about $640.00 for a 3 axis. (as opposed to the $1600 those guys at techno isel want). The $640 card also comes with tons of sample code, documentation etc... so it has me thinking. Anybody seen one cheaper than that??? Here it is---> http://bwi.com/prod/6772 It sucks that this setup was bought only about 10 years ago and is now so obsolete I can't stand it. I guess it still "works", but then again so does the beta VCR if you want to get technical. -Mike
__________________ Expensive tools can be cheaper than professional therapy Last edited by mikkojay; 07-19-2006 at 12:20 AM. Reason: typo fix |
|
#9
| ||||
| ||||
| I just had to add this- This company is the manufacturer of the $640 card mentioned above. If you have some time to kill, download the source code for some of their cards. Now that is what I am talking about! http://www.icpdas.com/products/motio...ntrol_list.htm This company gives away awesome info/code/source -Mike
__________________ Expensive tools can be cheaper than professional therapy Last edited by mikkojay; 07-20-2006 at 11:11 PM. Reason: clean up |
|
#11
| ||||
| ||||
| Hey Kai, Thanks for the email- it inspired me to give it one last shot and I got it going! This forum has once again proved that it is worth its weight in gold, even more- since I don't think data actually weighs anything ![]() -Mike
__________________ Expensive tools can be cheaper than professional therapy |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
| |