Menu

#144 Real Time Kernel Issue

open
nobody
None
5
2016-02-08
2016-01-22
Machine
No

MAXNC is a CNC controller program written back in the mid 90s to generate real time pulses to turn stepper motors for CNC machines. Milling and Lathes. It ran on DOS and used the CPU clock to generate and syncronize the pulses in real time.
I could get the program to boot up, show the proper display and have some functionality. When it came to running the G-Code program to generate the pulses, the display would lock up and it would take hours to run through a G-code program that should take only a few minutes.

If this is of interest to the developers, I will see if the owner of MAXNC will allow me to pass the MAXNC code on to you for research.

I am not sure where the problem is. Could running something this old on newer architecture cause a problem.
It was run on a :
HP Compaq d220 MT Pentium 4 2.4GHz 512MB 40GB DVD FDD XP Professional

If MAXNC can run on the Pentiums, this would be nice for the Maker community doing CNC projects as there seem to be a lot of cheap and discarded Pentium computers available.

Related

Bugs: #144

Discussion

  • Anthony Williams

    Could running something this old on newer architecture cause a problem.
    It was run on a :
    HP Compaq d220 MT Pentium 4 2.4GHz 512MB 40GB DVD FDD XP Professional

    The Pentium 4 was known for being a bit quirky, affecting previous well-known optimizations, but it was generally trivial. The much higher clock speed made up for most slight differences. So it shouldn't be taking hours longer than previously.

    I have seen some 186 code (ENTER, LEAVE) heavily slow down (vs. pure 8086 code) on my Core i5. But again, I assume the higher clock speed still makes up for that.

    The only other obvious guess would be that perhaps it's using self-modifying code. Modern machines are seemingly much more sensitive to that than they used to be.

    This could be something simple to fix like adjusting or unloading FDAPM (or similar TSRs). Or perhaps you're running/writing to/from (slow) bootable USB flash drive? Or it could just be a bug in the program, misdetecting some kind of hardware (e.g. FPU) and falling back to slower emulation code. IIRC, Pentium 4 used CPUID family 15, so perhaps older code wasn't aware of that.

     
  • Machine

    Machine - 2016-01-24

    Hi Anthony
    Thank your for your time with this.

    This was run from a clean hard drive with only FreeDOS and the MaxNC software.

    I have vague memories of TSR from using DOS ages ago. Other than that, I have no practical understanding of other technnical issues involved.

    If I had access to other legacy equipment and MS DOS, I would have tried other troubleshooting proceedures before posting a bug report.

    The MaxNC software is not supported by the company and it has changed hands several times.

    I am waiting on a reply from Ximotion who owns the MaxNC software to see if they would release it to the public or sell it at an affordable price to the Maker community without official support. Otto who wrote the original code can be found.I am also waiting on permission to send you a copy of the code in case you are interested in looking at it.

    It is an elegant DOS program for CNC when it does work and could be a simple alternative to LinuxCNC for beginers where LinuxCNC is massive complex and hard to learn overkill.

    If Xiomotion is willing to contribute, i would be willing to contribute to getting this working.
    Your time is valuable, Is this worth the time to figure out.

     
  • Anthony Williams

    If I had access to other legacy equipment and MS DOS, I would have tried other troubleshooting proceedures before posting a bug report.

    You can allegedly still buy MS-DOS on MSDN. Also, format system disk from Explorer (e.g. Win7) should make you a lean (more or less kernel only, no install) floppy. You might be able to use (FD) SYS to install that temporarily. If floppy is unavailable, you can certainly use RUFUS for USB.

    Thus, if you really think MS-DOS proper would work better here, it's not impossible to find. You don't necessarily have to scour eBay.

    Otto who wrote the original code can be found.

    I would be curious to know what compiler (and runtime, extender, etc.) he used and what was the original target hardware exactly (486 DX?). Like I said, it could just be misconfiguration.

    Your time is valuable, Is this worth the time to figure out.

    Well, I'm not really a kernel dev. There are some still around, but they are often busy. Don't get your hopes up too high for an easy fix. Even if you could get permission to redistribute, this sounds hard to reproduce.

     
  • Kenneth Davis

    Kenneth Davis - 2016-01-25

    Assuming you can get a copy (at least to loan) then please do. Then I can try to figure out the cause and either a fix (if kernel issue) or see if a workaround possible (if program logic issue).

     
  • Machine

    Machine - 2016-02-01

    Hi Kenneth
    How can I get a copy of the program to you? Am a bit of a Forum noob.
    Ximotion has never replied to my requests, they probably have other concerns.
    I would be hesitant to publicly post the file.

    Turbo CNC by DAK engineering is a popular hobbiest CNC controler that in fact does run on FreeDOS.
    dakeng dot com
    TurboCNC is still activly supported. The interface is all text and DOS Window drop down menues.

    The one piece of information I do not have is running FreeDOC on a modern Intel Core 2 Duo 2.2 Ghz. Will this work and will the controller software be able to syncronize Parallel Port pin output with the CPU clock?

    Thank You

     
  • Kenneth Davis

    Kenneth Davis - 2016-02-08

    I sent a private message but not sure if it went thru; send me an email (if its small enough attach) and let me know if I need to setup an upload on fdos.org or if you need physical address to send for the temp loan to debug the program. Thanks.

     
  • Machine

    Machine - 2016-02-09

    <html><body>

    Hi Kenneth
    I could not find anything on Source Forge that would resemble a PM or any way to communicate privately.

    The Zip File is 386 KB

    I just realized that I have my email listed on my website in a robot proof graphic.

    peacefalls
    dot
    net

    We can start from there.
    Thank You very much
    John





    -------- Original Message --------

    Subject: [freedos:bugs] #144 Real Time Kernel Issue

    From: "Kenneth Davis" <perditionc@users.sf.net>

    Date: Sun, February 07, 2016 11:06 pm

    To: "[freedos:bugs] " <144@bugs.freedos.p.re.sf.net>



    I sent a private message but not sure if it went thru; send me an email (if its small enough attach) and let me know if I need to setup an upload on fdos.org or if you need physical address to send for the temp loan to debug the program. Thanks.

    [bugs:#144] Real Time Kernel Issue
    Status: open
    Group:
    Created: Fri Jan 22, 2016 02:17 PM UTC by Machine
    Last Updated: Mon Feb 01, 2016 04:42 PM UTC
    Owner: nobody
    MAXNC is a CNC controller program written back in the mid 90s to generate real time pulses to turn stepper motors for CNC machines. Milling and Lathes. It ran on DOS and used the CPU clock to generate and syncronize the pulses in real time.
    I could get the program to boot up, show the proper display and have some functionality. When it came to running the G-Code program to generate the pulses, the display would lock up and it would take hours to run through a G-code program that should take only a few minutes.
    If this is of interest to the developers, I will see if the owner of MAXNC will allow me to pass the MAXNC code on to you for research.
    I am not sure where the problem is. Could running something this old on newer architecture cause a problem.
    It was run on a :
    HP Compaq d220 MT Pentium 4 2.4GHz 512MB 40GB DVD FDD XP Professional
    If MAXNC can run on the Pentiums, this would be nice for the Maker community doing CNC projects as there seem to be a lot of cheap and discarded Pentium computers available.

    Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/freedos/bugs/144/
    To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/


    </body></html>

     

    Related

    Bugs: #144


Log in to post a comment.