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...
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...