alien.png Projects -- The project manager
[Previous] [Main] [Next]

project manager.png
Figure 31. The project manager


Here you see a small window called the project manager. There really isn't much to say about this window, cause it's small and really easy to use.

Some things you should know
·Something quite important is the moving of project files. This has no function at all, but is for the readability. When you press right mouse button on the list box you'll get a menu, with which you can MOVE one project file up or down. In this way you can keep your files together, just as this project has done.  
·When you add a file to a project or save a new file for the first time that is in a project, the destination file will be the located in the same directory as the source file with the .bin extension.  
·Project files will be saved relational if that is possible. That means that if the project file (.cap) is located in the directory c:\examples\BNTPlay.cap and the source files are located in c:\examples\source\*.asm (e.g. c:\examples\source\BNTPlay.asm) and you would copy the complete example directory to c:\prog\projects\CA3\examples there will be assumed that the BNTPlay.asm file is located in the c:\prog\projects\CA3\examples\source directory. However, if the file could not be relational saved (e.g. .cap file is located in c:\examples and the source file is located in c:\prog\default files, the filename will be saved absolute. If you save a file in the default project directory (see settings), it will be saved relational in a different way. This means if the default project directory changes, there is assumed this file is also located in that new directory. This can come in handy when you're using sources on another computer with a different defaults project directory but with the file you're referring to in that directory!  


The tool buttons       (the big buttons at the top of the window).

New
This button corresponds to the main windows 'File > New > Document and add to project'. It creates a new file, will open it and adds it to the project.

Add
This button corresponds to the main windows 'Project > Add external file to project'. It opens an open dialog and if you select a file there it will be added to the project (so it will be directly visible in the list you see).

Remove
Removes the selected file (in the list) from the project. If it's the last file in the project, the project will be closed.

Properties
This will open the properties window of the selected file. In that window (shown in figure 32) you can select the destination file and whether the file should be compiled during the build of the project. More about this you can find at the CA3 and projects and the last paragraph of the What is a project? sections.


project manager (properties).png
Figure 33. Properties window for a project file


The source file is not edit able. That's because that's the identification of a project file. You can change it by using another file to add to the project.

Destination file

Normally TASM (the compiler) will output the binaries it made into the same directory as the source file, with the same name as the source file and the '.obj' extension. CA3 let's you decide where to put the compiled file and also with WHAT name! This means you can save your ASM files onto the disk in the disk drive, and that disk you can then run directly on your MSX!
Click on the little folder right to the destination file to select the file. It will try to open a save dialog where you can specify a file. The file you select does not have to exist in order to let it be saved to that file, and even when you select e.g. a:\myfile.bin and there's no disk in drive a, CA3 will still allow you to save to that file!


Compile file when building project

As said, a project in CA3 is just a list of files that need to be compiled. But as not every file in a project has to be compiled (e.g. because you have some macro's listed in another file, which is included in your source) you can instruct CA3 to compile the file you've selected or not. This is only used for building projects. When you build a project, every file that has the Compile file when building project
option enabled will be compiled. You can see if a file has to be compiled in the list below the buttons. If the green light is ON the file will be compiled during a build, if OFF it will not be compiled.
In the example project you see four files from which two the LED is ON. These files are actual programs that you run on MSX. The two files with the LED OFF are included in the corresponding program file (The first two are together and the latter 2 are together).
These files are not compiled when this project is build, because they are used in the actual program file. (see figure 34).

project manager (include).png
Figure 34. BNTPMacr.asm
is included in the BNTPlay.asm file

Here you see a small block of code in the BNTPlay.asm file. As you can see (looking at the #include directive) BNTPMacr.asm is included in the BNTPlay.asm file. This means that the BNTPlay.asm file can call macro's defined in the BNTPMacr.asm file. If this directive wasn't there, the file would not compile cause it DOES make calls to macro's and labels defined in the macro file.
Also you can see ONE of the many great aspects of the edit child. You see a little pop-up window with all kinds of information of the BNTPMacr.asm file. When you float the mouse over a filename at an include directive you'll get this information after just a really short while waiting! Just by seeing this, you can tell if the file is the right file (size, date / time) and you also can see how many lines the file contains, how many macro's are defined and how many labels the file has... If you would press CTRL whilst floating over the file, the cursor would change into a little hand, a click would then result in CA3 opening the file!
Great, great, great, now isn't it? More about the edit child later. This was just to let you see the BNTPMacr.asm file does not have to be compiled, as it is included in the BNTPlay.asm file!


Building projects and compiling files

In the next chapter I will handle the compiling and building of files.