Convert BASIC to Assembler…

Gildardo

Member
I’m having prblems with the BAS800 S/USB programmer. I can´t convert Basic programs to assembler…
The following messages appear:
Error: 53 File not found.
And after that, the following message:
The following compiler path is invalid…
C:/program files (x86)/programming editos/picprog/wstamp16.exe
Thanks in advance…
Gildardo
 

tiscando

Senior Member
I get this exactly the same error 53 as well when I tried to convert to assembler with the programmer connected to the serial port. I am running Vista SP2. Are you also running vista (or 7), Gildardo?
 

Gildardo

Member
I am running Vista SP2 as well Tiscando. So, can we say that the problem is the OS?
Regards
 
Last edited:

Technical

Technical Support
Staff member
The problem is that wstamp16 is an old 16 bit file that will not run under 64 bit operating systems by default. You may be able to get it going by running the software under the 'Windows XP emulation mode'.
 

tiscando

Senior Member
Mine is 64-bit too. Tried this function with a few programs and still doesn't work. I'll try running as administrator -and in XP and earlier emulation.

edit - I tried running with both progedit.exe and wstamp16.exe in emulation for XP SP2, then win 2000 and earlier and it still doesnt work.

The thing is, "wstamp16.exe" is shown on the error message, whereas in the picprog folder, it is WSTAMP16.EXE. Could it be converted to 32bit? 16bit programs are no longer supported now.
 
Last edited:

InvaderZim

Senior Member
You might try DOSbox or somesuch dos emulator to run the 16-bit program, if it will run from DOS. I've had luck with things in general there. I don't think there is any way to directly run a 16-bit program on Vista 64 or Win7. Stinky, but true.

Another nice thing I've recently managed was making a virtual pc using Virtual PC 2007, a free program from Microsoft. You say "I want a PC with 512MB RAM and a 4GB HD" and it'll give you a window. Then you put in your WinXP, Win2k, Win95, Win3.11, DOS disk or whatever and install; it all happens in the little window. The VPC will boot, and has access to your real CD drive, serial ports, and LPT port. It also has a virtual floppy drive, and can access any virtual CD drives that your host PC has. Keyboard and mouse are detected as PS/2 devices on the VPC. It can also get on the network and share files that way. I've got a virtual Win2k box right now; it was neat to see the NTFS format bar fly along in like 10 seconds, it must've thought I had the fastest hard drive ever. The "hard drive" is just a file on the host PC that grows as needed; a 10GB HDD might only be 100MB file if that's all the VPC uses.

All in all it's pretty slick. Plus you never have to re-boot; your VPC can be saved while running, and next time you open it it'll be ready for you. You can have a dozen PCs that way if you want, or copy them and pass them around. "Hey, trade you a DOS8 box for a Win3.11 system!" Good times!
 

tiscando

Senior Member
Rulation outation

The version of this file (wstamp.exe) is not compatible with the version of windows you're running. Check your computer's system information to see whether you need an x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher


I get this error message when I try to open wstamp.exe directly, even when I set the compatibility mode to earlier versions of windows, and moved it to C:\TF\. See http://www.picaxeforum.co.uk/showthread.php?t=8073.

And even when I try to convert C:\TF\Casete.bas to assembler, these error messages described by gildardo cum up.
 

tiscando

Senior Member
I just tried this function on PE 5.2.11 on my old 32-bit PC which I have just rebuilt windows XP onto an old low capacity hard drive I put inside it (it's original drive, still with the OS on, is in my new computer for backup). It apparantly works.

But, I do have to optimise my code for it to accomplish the conversion. An error message "mistake on this line" comes up as/when:
1) I have to change
low 5, 4, 1, 0
into
low 5
low 4
low 1
low 0
- same with high and toggle;
2) I have to rem out sertxd commands and put in my own serial codec into the asm program;
3) it doesn't support if ...=... then gosub ... so I have to change these;
4) doesn't support "do" -loops;
5) doesn't support
if ...=... then
...
...
endif
so i have to adapt these.

After I did the above on one of my basic program that I use to test this function, it works fine.

Even with these limitations, it is still a useful tool.

So, are there any provisions to update this function? I would like wstamp16.exe and any others it uses to be updated to a 32 bit application so it can work on the latest operating systems.
1), 4) and 5) should be easy to add support to. Supporting 3) would be good as well, as I use this often in my basic programs. Even better would be to possibly support serial commands, although I think this is unlikely (at least I have invented working serial in and out bitbang assembler code).
 
Last edited:

tiscando

Senior Member
Definitely update the convert to assembler function

PS all the limitations except for 2) are not listed in the limitation list in the generated assembler code. So, also as it needs to be a 32-bit application nowadays (as it needs to work with vista x64), wstamp16.exe and the convert to assembler function really needs to be updated.

Is it going to be updated in the next release of PE?
 
Last edited:

womai

Senior Member
IMHO, if you really want to do more than wiggle an output as fast as possible, get yourself a real C or Basic compiler and a real PIC programmer that is not limited to just a few select PIC devices and a very restricted function set. That will give you much more freedom and also much better support; my impression is that for any practical purpose RevEd pretty much stopped development and support for the Basic-to-Assembler-Converter several years ago - please correct me if that is wrong. That said, a real converter that could convert any Picaxe program to assembler (and produce HEX files from the assembler code) would be a great product. In that case of course Rev-Ed could charge for the software since that won't make money through device sales.

There are quite a few compilers out there that have highly usable demo versions - typically limited to ~2K of assembler code size, and sometimes with optimizations turned off - that is still enough for impressive, real-world programs; keep in mind that all the PIC12F683 (which the Picaxe 08M is based on) is 2K of program memory anyway. Personally I use the PIC and dsPIC C-compilers as well as development boards from Mikroelektronika (www.mikroe.com), they also offer Basic compilers, but there are several comparable vendors; pick the one you prefer. I do like the MikroE libraries however, they make porting Picaxe code pretty easy in many cases (e.g. there is an adc_read() function that works pretty much like readadc10 on the Picaxe). I had more than one instance where I successfully ported a prototype program on a Picaxe to a C program on a PIC in less than a day.

Just my 2 cents

Wolfgang
 

Technical

Technical Support
Staff member
A 32bit version is on the future 'to do' list but at present we suggest only running on 32 bit systems.
 
Top