I use the MMG compiler for all of my Atari 8-bit stuff. It has always been a solid performer for me and I know most of the tricks for using it.
My Disk Compare tool that I am working on has a serious bug that I believe to be caused by the compiler. I have created test ATRs for testing with. They are 180kb ATRs with DD 256 byte sectors. To create them I take an ATR with DATA on it and copy this 'A' disk to 'B' disk. Then using DISKRX, I create 3 or 4 differences on one of the disks by modifying 3 or 4 sectors... we'll say 4 bytes different on the two disks in various places.
My tool will detect all four of the different bytes when I run it under the interpreter... either Atari Basic or Basic XE... and under SpartaDOS 3 or SDX 4.49.
The compiled version of the tool will only detect 3 of the 4 byte diffs in either SPD 3 or SDX 4.49. I cannot imagine what is causing this...
I want to try it with the ABC compiler that I used back in the early days of the toolkit but I cannot get it to work anymore... maybe I need a new copy of ABC.
On another note... I found an old ATR called Basic Compiler. I was hoping it was a good copy of ABC. It was a 'European' copy of MMG that someone had hacked to add a new name for it : "Der Basic Compiler". He changed the screen a little, added his own company name and his name to it. I wonder if it is legit or just someone playin with DiskRX...
Bummer. Sorry to hear that....
I have been able to convert my disk compare program to Fastbasic. I am still trying to swat one bug (it's a major one). Once I get this bug fixed, there will only be some minor cleanup of code and display to complete.
I got all of the annoying garbage off the screen that some of you saw in the Zoom meeting a while back. I verified that the code to read the sector from the disk is working correctly and placing the correct data in the byte arrays. The only bug I know of now is that somehow the first 255 bytes of data from disk #1 is getting set to all zeroes... no idea why. The data in the rest of the array (array size = 2560 bytes) for disk 1 is correct... weird problem.
I remember trying MMG back in the day, and not having a lot of luck with it.
I thought I looked at FastBASIC some time ago and steered away from it for some reason. I might have to look at it again. But I am pretty content with CC65.
So I pulled down the latest copy of Fast Basic v4.6. So far I am very impressed with it. I have rewritten more than half of my Disk Compare program in FB. I am a little confused about the string handling in it but I'll figure it out. It seems to compile very compact programs. We'll see...
I dug up several copies of the ABCompiler and finally found v1.03 as a .PRO image. I compiled my program with it and the ABC compiled version WORKS!! F'n A. Now to clean up the exit as I remember that I had to write a little bit of code for exiting an ABC program cleanly back to the DOS command line. Good thing I save all of the old versions.