Page 1 of 1

MCX-1000 Software = Divide Error

Posted: Wed Sep 02, 2009 11:49 am
by Tim
Hi Folks,

Just picked up a couple of VHF MCX-1000s with the software.

I've tried the software on every computer that I have - except the
DOS only box I use for the X9000.

Do I have to use the oldest for this software as well?

Thanks,

Tim

Re: MCX-1000 Software = Divide Error

Posted: Wed Sep 02, 2009 11:58 am
by Victor Xray
Your computers are too fast. I received the same error and could only get the MCX1000 RSS to run on a 386.

Re: MCX-1000 Software = Divide Error

Posted: Wed Sep 02, 2009 12:03 pm
by Tim
Thanks.

Kinda figured that - dusting off the DOS computer!

tim

Re: MCX-1000 Software = Divide Error

Posted: Wed Sep 02, 2009 2:15 pm
by linkinpark9812
Victor Xray wrote:Your computers are too fast. I received the same error and could only get the MCX1000 RSS to run on a 386.
Well, I have found that it isn't necessarily the processor speed.

I have a Dell Latitude C600. And Wow, this is one of the most customizable BIOS I have seen on a consumer computer, much less a laptop!

There is a compatibility mode to reduce processor speed. Just for the heck of it, I tried to run Spectra Railroad software which is VERY old. Got the divide error even with the low process speed (normal is 1 GHz and the "compatible" mode is around 180MHz.)

Disabling cache is what eliminated the divide error. It processes so fast in the cache (the way the RSS was programed deals with a lot of math calculations), that the program doesn't even see it happen, thus the error.

I know you said ur gonna go to ur old DOS box, but worth a shot!

I have successfully programed the Spectra (many times) with this computer with the cache off, but it is a newer radio with newer RSS.

Re: MCX-1000 Software = Divide Error

Posted: Wed Oct 07, 2009 5:40 pm
by su1ka
I faced the same problem and i solved it by disable the cache memory as described here , and finally i am able to open the Mcx1000 RSS successfuly , but when I am trying to read the radio , i get (serial bus failure - timeout ) on the higher part of the screen inside the rss message box , the Programmer is ok , test it on GP300 and worked ok ( MIB baught from Eastlondoncommunications.com ) and I build the mcx1000 lead as described here in pinout page .
(computer is run from a plain dos , and disabled cashe , and using a file called slowdown.exe , that reduce the computer speed to simulate 286)

Any one get any idea

Regards

Karim

Re: MCX-1000 Software = Divide Error

Posted: Wed Oct 07, 2009 6:01 pm
by linkinpark9812
su1ka wrote:I faced the same problem and i solved it by disable the cache memory as described here , and finally i am able to open the Mcx1000 RSS successfuly , but when I am trying to read the radio , i get (serial bus failure - timeout ) on the higher part of the screen inside the rss message box , the Programmer is ok , test it on GP300 and worked ok ( MIB baught from Eastlondoncommunications.com ) and I build the mcx1000 lead as described here in pinout page .
(computer is run from a plain dos , and disabled cashe , and using a file called slowdown.exe , that reduce the computer speed to simulate 286)

Any one get any idea

Regards

Karim
I would try NOT using the slowdown.exe That doesn't really slow down the processor speed, rather it inserts delays (at lease most of them do), which could cause communication errors.

I would do what your doing, run in DOS (preferable 6.22) and disable cache, but don't try to slow down the processor speed unless you can set that setting in your BIOS screen.

Also check all of your cable connections, especially the one you built, to make sure everything has a good connection (you can use a multimeter to check and make sure connections are good).

Happy (safe) Programming! 8)

Re: MCX-1000 Software = Divide Error

Posted: Wed Oct 07, 2009 8:35 pm
by wa6ylb
The MCX1000 software only runs on a 386 or lower processor. We had issue come up when the 486's came out and
kept a 386 around to do the changes as needed. I saw this mentioned in one of the first replys, but then a tangent of
processor speed came up , the focus went away from the real answer to processor speed instead.

Its not an issue with the speed of the processer, rather, its how the runtime for the program was written. Since the product was basically out the door, motorola didn't release a fix for the software to take care of the newer processors.
Its just not compatable with 486 and above processors.
B.

Re: MCX-1000 Software = Divide Error

Posted: Wed Oct 07, 2009 9:01 pm
by linkinpark9812
wa6ylb wrote:The MCX1000 software only runs on a 386 or lower processor. We had issue come up when the 486's came out and
kept a 386 around to do the changes as needed. I saw this mentioned in one of the first replys, but then a tangent of
processor speed came up , the focus went away from the real answer to processor speed instead.

Its not an issue with the speed of the processer, rather, its how the runtime for the program was written. Since the product was basically out the door, motorola didn't release a fix for the software to take care of the newer processors.
Its just not compatable with 486 and above processors.
B.
Yes, you are probably right. The Pentium compatibility chart says this was never updated to support Pentium processors. I guess it is a rather old radio.
When it says not compatible or not updated, is that a guarantee it won't run on a Pentium or just that it isn't "supported"? Maybe it is a guarantee because, like you said, the runtime is written differently and doesn't expect to be running on a Pentium-type processor? I'm curious now...

Re: MCX-1000 Software = Divide Error

Posted: Thu Oct 08, 2009 11:27 am
by Will
wa6ylb wrote: Its not an issue with the speed of the processer, rather, its how the runtime for the program was written. Since the product was basically out the door, motorola didn't release a fix for the software to take care of the newer processors.
Its just not compatable with 486 and above processors.
B.

Absolutely, we have to use our 286 computer because of how the runtime was written back then.

Re: MCX-1000 Software = Divide Error

Posted: Thu Oct 08, 2009 2:07 pm
by wavetar
linkinpark9812 wrote:
wa6ylb wrote:The MCX1000 software only runs on a 386 or lower processor. We had issue come up when the 486's came out and
kept a 386 around to do the changes as needed. I saw this mentioned in one of the first replys, but then a tangent of
processor speed came up , the focus went away from the real answer to processor speed instead.

Its not an issue with the speed of the processer, rather, its how the runtime for the program was written. Since the product was basically out the door, motorola didn't release a fix for the software to take care of the newer processors.
Its just not compatable with 486 and above processors.
B.
Yes, you are probably right. The Pentium compatibility chart says this was never updated to support Pentium processors. I guess it is a rather old radio.
When it says not compatible or not updated, is that a guarantee it won't run on a Pentium or just that it isn't "supported"? Maybe it is a guarantee because, like you said, the runtime is written differently and doesn't expect to be running on a Pentium-type processor? I'm curious now...
What is really meant by "Pentium Compatible" is that the software was written to be independant of processor speed. Early RSS packages were poorly written in the respect that the writers used CPU based 'timing loops' to control read/write interrupt speed. This was fine when processors were all running at speeds of say 25MHz or less...the parameters written into the loops could accomodate the varying speeds. Once the 486 came out, with increased internal memory & built-in math co-processors, the speed in which it could process the loops increased dramatically. The timing loops became insufficient, the RSS program could no longer effectively control the read/write cycle timing & people began experiencing issues & bricking radios.

The 'divide by zero' error is not limited to Motorola RSS. Many early programs failed in the same way. I found a nice, clear explanation about the error which stated:

Applications may generate this error message when
running on very fast machines (i.e. Pentium Pro 180 and above). The cause of
this error is a timing loop that occurs as part of the initialization of the program.
This timing loop counts how many clock ticks occur within the loop
and then that number is divided by 55. The result of this division is a
value that is too large to fit into an integer value. The 'Divide by 0'
error message is the catch-all error that is displayed when this overflow
occurs.