ZX-40A to Native

Discussion specific to the DIP and TQFP packaged ZX devices like the ZX-40, ZX-44, ZX-32 and ZX-328 series. The differences between these devices is primarily the packaging and pinout so most issues will apply to all devices.
Post Reply
liam.zbasic
Posts: 163
Joined: 24 March 2008, 23:33 PM
Location: Southern California (Blue)

ZX-40A to Native

Post by liam.zbasic »

A call to "GetMicroTime" fails with on my ZX-40A device. I get a "Device failed firmware version check..." error. The same code works perfectly on a ZX-40N. I have five of these 40A devices. I'd rather just convert them to native devices. If this conversion service is available, how much will Elba corp. charge? Thanks.
dkinzer
Site Admin
Posts: 3120
Joined: 03 September 2005, 13:53 PM
Location: Portland, OR

Re: ZX-40A to Native

Post by dkinzer »

liam.zbasic wrote:If this conversion service is available, how much will Elba corp. charge?
There would be no charge for such a conversion were it possible. The ZX-40a is based on the ATmega644 and there is no corresponding native mode device. The ZX-40p (VM mode) and ZX-40n (native mode) are based on the ATmega644P.

What is the VM version number on the ZX-40a devices you have? You can determine the minimum VM version required for a particular application in one of two ways. The simplest is to look in the (optional) listing file. Near the end you'll find a line that looks something like this:

Code: Select all

Target Device: ZX24p, Minimum VM version: v1.1.2
The other method for determining the minimum VM version is to examine the generated .zxb file. In it, a line near the top will look something like this:

Code: Select all

:03000058010102a1
The key to locating this record is to look for the "58" beginning in the eighth character position. The three pairs of hexadecimal digits following the 58 represent the minimum VM version, in this case v1.1.2.
- Don Kinzer
liam.zbasic
Posts: 163
Joined: 24 March 2008, 23:33 PM
Location: Southern California (Blue)

Post by liam.zbasic »

Based on the *.zxb file, my VM version is:

:030000580105029d

And the Zbasic IDE version is 1.5.6 (compiler v3.3).
dkinzer
Site Admin
Posts: 3120
Joined: 03 September 2005, 13:53 PM
Location: Portland, OR

Post by dkinzer »

liam.zbasic wrote:Based on the *.zxb file, my VM version is:
:030000580105029d
And the Zbasic IDE version is 1.5.6 (compiler v3.3).
The .zxb file tells you the minimum VM version number required by the application; v1.5.2 in this particular case. The minimum VM version required depends on the set of ZBasic Library routines that the application uses. For example, if you compile an application that is nothing more than an empty Main() subroutine, the minimum VM version will change to v1.1.2.

The IDE version number and the ZBasic compiler version number have no relationship to the VM version number of your ZX device nor to the minimum VM version number required for a particular application. The message you saw ("Device failed firmware version check...") means that the ZX device indicated that its VM version number is earlier than the required minimum version.

On a VM-based ZX device, the VM version number is reported in the "signon" message (assuming that the signon is still enabled) and can also be determined using the SerialNumber subroutine.

The odd thing here is that the VM version v1.5.2 is fairly old, introduced about the time that the mega644-based ZX devices were introduced. The current VM version number (available via the Downloads page) is v3.0.5.
- Don Kinzer
Post Reply