Fischer500, on Tue Oct 6, 2009 6:50 PM, said:
I read the error message that the compiler (DOS version of DASM) and it said that it couldn't access VCS.H. Any ideas there??
Yes, VCS.H is the include file that contains all the labels and addresses for the TIA and RIOT chips. If DASM couldn't access that file, there are two possibilities-- (1) the file isn't on your computer at all, or (2) it's on your computer but DASM isn't looking for it in the directory where it's located.
First, make sure you have the VCS.H file somewhere on your computer. It comes with the DASM installation package, so if you downloaded and installed DASM as a complete package, then you probably do have it. It's usually in a subdirectory named "machines," and then in another subdirectory under that named "atari2600."
If you don't have it, you might want to download the entire DASM package and install (unzip) it. By the way, many Atari 2600 programmers prefer to use an older version of DASM-- version 2.20.07-- so you might want to download that one.
Once you've found the VCS.H file, you have three options-- (1) copy and paste the VCS.H file into the same directory where DASM is so DASM will find it; (2) copy and paste the VCS.H file into some other directory of your choice and then tell DASM where to look for it; or (3) leave it where it is but tell DASM where to look for it.
One way to tell DASM where to find it is to put the full directory path in the INCLUDE statement in your program. That is, instead of just
INCLUDE "VCS.H"
you could use
INCLUDE "C:\DASM\Machines\ATARI2600\VCS.H"
(or whatever the full directory path is in your setup).
Another way to tell DASM where to find it is to add the INCDIR statement to your program, as in the following example:
INCDIR "C:\DASM\Machines\ATARI2600"
INCLUDE "VCS.H"
This has an advantage over the first method, because if there are other include files in that same directory, then DASM will be able to find them there, too-- otherwise you might need to use the first method for each include file (especially if they're scattered around in different directories).
Still another way to tell DASM where to find VCS.H and any other include files (such as MACRO.H) is to add the -Idir switch to the command line that starts up DASM to assemble your program, as in the following example:
DASM myprogram.asm -f3 -Idir"C:\DASM\Machines\ATARI2600" -omyprogram.bin
I hope this helps!
Michael