maguman Posted February 7, 2009 Share Posted February 7, 2009 Recently I've been trying to assemble some largeish (around 130k) projects using MAC/65. When using both the cartridge and disk versions, it works fine unless I am using Spartados. With Spartados I get a number of error 5's (undefined labels) towards the end of the code. No Spartados, no problem. I was hoping to use the two together so that I could store a lot of source on a 16mb ATR, but I am not having much luck. I am not very familiar with Spartados. Looks like there is some memory clash issue going on here. Has anyone else struck the same problem? What elements in RAM does Spartados 3.2 use that might clash? I tried in MyDos and had similar problems there too. Appreciate any insights! Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 7, 2009 Share Posted February 7, 2009 Unbelievable. I thought I was the only one left in Canberra who bothered with Atari anymore. Did you used to go to ACTARI all those years ago? As for the problem - can't really help. I don't worry much about DOSes, as I prefer to do most programming with PC-side tools, the emulator, or just use APE with a PC-mirror setup. Quote Link to comment Share on other sites More sharing options...
atariksi Posted February 7, 2009 Share Posted February 7, 2009 Recently I've been trying to assemble some largeish (around 130k) projects using MAC/65. When using both the cartridge and disk versions, it works fine unless I am using Spartados. With Spartados I get a number of error 5's (undefined labels) towards the end of the code. No Spartados, no problem. I was hoping to use the two together so that I could store a lot of source on a 16mb ATR, but I am not having much luck. I am not very familiar with Spartados. Looks like there is some memory clash issue going on here. Has anyone else struck the same problem? What elements in RAM does Spartados 3.2 use that might clash? I tried in MyDos and had similar problems there too. Appreciate any insights! I would recommend Microsoft MacroAssembler for x86 and/or MPDOS Pro. I have a macro lib file I wrote for Microsoft MacroAssembler that let's you code 6502 and use all the features of x86 assembler. Other option would be to split the object files and write a merge (link) application that would work under SpartaDOS. Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 7, 2009 Share Posted February 7, 2009 Possible insight: Maybe you're just running out of memory. Try this: load MyDOS or SpartaDOS with MAC/65. Type SIZE. Take note of the first value. Then boot a DOS you know works with the assembly. Type LOMEM <first value> That will give you a free RAM situation the same as the other DOS. Then, try assembling and see if it gets an error. Quote Link to comment Share on other sites More sharing options...
Marius Posted February 7, 2009 Share Posted February 7, 2009 Possible insight: Maybe you're just running out of memory. Try this: load MyDOS or SpartaDOS with MAC/65. Type SIZE. Take note of the first value. Then boot a DOS you know works with the assembly. Type LOMEM <first value> That will give you a free RAM situation the same as the other DOS. Then, try assembling and see if it gets an error. This might help Assemble to ramdisk (or disk) instead of to memory. So do not .OPT OBJ! I have had same issues. Using ramdisk is very fast too. It also helps using smaller labels. You could consider making a BATCH file called M.BAT, in which you reload the assembler, and automatically load your source back. Do not forget to save your source before exiting the mac/65! And you'd better use SpartaDOS 3.3a (or b) in stead of 3.2 Good luck! Marius Quote Link to comment Share on other sites More sharing options...
maguman Posted February 8, 2009 Author Share Posted February 8, 2009 Unbelievable. I thought I was the only one left in Canberra who bothered with Atari anymore. Did you used to go to ACTARI all those years ago? You now know that you are definitely not the only one. I only moved to Canberra about 10 years ago, and I only really got into the Atari side a few years back. Before that, I used to be a C64 user. Don't know why I swapped, but I am glad that I did. Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 8, 2009 Share Posted February 8, 2009 Good onya for coming to Atari... I've dealt with a lot of the older gear, but the C-64 here for the most part doesn't get a look in. I was a bit pessimistic with that comment about being the only Atari computer user in the city ... I think the ST still gets a fair whack of attention here. What setup do you have? On the A8 side, I've got 2x1050s, 1 selfmade external APE, 1 inbuilt selfmade APE, XEGS, 130XE and my original 800XL. Quote Link to comment Share on other sites More sharing options...
maguman Posted February 8, 2009 Author Share Posted February 8, 2009 Good onya for coming to Atari... I've dealt with a lot of the older gear, but the C-64 here for the most part doesn't get a look in. I was a bit pessimistic with that comment about being the only Atari computer user in the city ... I think the ST still gets a fair whack of attention here. What setup do you have? On the A8 side, I've got 2x1050s, 1 selfmade external APE, 1 inbuilt selfmade APE, XEGS, 130XE and my original 800XL. The C64 was something from my youth, but I truly prefer the Ataris since getting into them. I've got at an 800 (the first machine I bought), an XEGS and 2x1050's as well. For transfer, I've got an SIO2SD. Looking at some form of cable as well, but haven't made it that far. Hope to find a 130xe some time soon. Quote Link to comment Share on other sites More sharing options...
maguman Posted February 12, 2009 Author Share Posted February 12, 2009 Possible insight: Maybe you're just running out of memory. Try this: load MyDOS or SpartaDOS with MAC/65. Type SIZE. Take note of the first value. Then boot a DOS you know works with the assembly. Type LOMEM <first value> That will give you a free RAM situation the same as the other DOS. Then, try assembling and see if it gets an error. This might help Assemble to ramdisk (or disk) instead of to memory. So do not .OPT OBJ! I have had same issues. Using ramdisk is very fast too. It also helps using smaller labels. You could consider making a BATCH file called M.BAT, in which you reload the assembler, and automatically load your source back. Do not forget to save your source before exiting the mac/65! And you'd better use SpartaDOS 3.3a (or b) in stead of 3.2 Good luck! Marius Got there! Two issues: First, assembly to disk (took your suggestion - eliminated to .OPT OBJ) This nearly got it home. However, on disk to disk assembly it then produced one mysterious error with no error code. A quick google search found the following in an old ANTIC article: "The only minor quirk we have found in SpartaDOS 3.2 is that while working in machine language with the OSS MAC/65 assembler, you'll get a mysterious error message if you attempt a disk-to-disk assembly of a large program. To fix this, write a short program that INCLUDEs all the necessary files and assemble with this program in RAM. " Took this advice - worked a treat! Thanks to everyone for the help Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.