thorsten.otto wrote: 19 Feb 2021 13:06
sandord wrote: 19 Feb 2021 09:11
- I build the project in an emulator, using the Resevoir Gods' PUREBOT tool, which in turns uses Pure C.
Funny, did not know that such a tool exists. Looks a bit complicated to me though, and from what i can tell after a brief look, it does not handle path names correctly. and also does not handle nested project files. Interesting though that they apparently embed the Pure-C compiler command line tools into the executable.
I wrote instructions for my current project, on how to set up your environment for using it with PUREBOT. I've adapted them to be more generic. Maybe this will be of help to you. It works quite nicely, I have to say. The most important thing is that the location of the repositories are according to the instructions because GODLIB/PUREBOT has some baked-in relative paths, cross-referencing between repository directories.
Note: the following instructions are formatted using Markdown so you might want to copy & paste them into an .md file and open them in a program that supports previewing Markdown for enhanced readability 8-) This of course is very un-retro :roll:
Oh and sorry about the .1 items not counting up but that's an actual Markdown feature where they count up automatically :roll:
#######################################################################################################################
## Development environment setup
- Inside the host OS:
1. First, you might want to consider putting your repository into a sub-directory (e.g. `C:\Git\ATARIST`) because the Reservoir Gods repos are going to have to reside in the same directory as the current repo. Of course this is completely optional but I think organizing them like this is a bit cleaner and emphasizes the dependency between them.
1. Clone the Reservoir Gods repos into the same parent directory as the current repository:
- `cd \Git\ATARIST` (or wherever your repository is located)
- `git clone
https://github.com/ReservoirGods/GODLIB`
- `git clone
https://github.com/ReservoirGods/TOOLS.RG`
_Note: don't change the default directory names of the clones as several relative paths inside `TOOLS.RG` rely on it to escape from the `TOOLS.RG` repo and reach into the `GODLIB` repo._
1. Start an Atari ST Emulator (e.g. STeem or Hatari)
1. Set the ROM to TOS 2.06
_Note: the **Install Application** feature (which is used below) won't work for PUREBOT in older versions of TOS._
1. Assign 4 MB of RAM to the machine
_Note: the compiler might crash when insufficient memory is available._
1. Map the directory where you cloned the repos as harddrive **C**.
1. Start the emulator.
- Inside GEM:
1. Browse to `C:\TOOLS.RG\BIN\ATARI\PUREBOT` and select `PUREBOT.TTP`.
1. Click **Options** and then **Install Application...**.
1. Enter `PRJ` next to **Document Type**.
1. Click **Install**.
1. Click **Save Desktop** in the **Options** menu.
1. You can now double click `.PRJ` files to have the corresponding project compiled and linked.
## Choosing an editor
Consider using [VS Code](
https://code.visualstudio.com) with the following extension:
- [Amiga Assembly for Visual Studio Code](
https://marketplace.visualstudio.com/it ... a-assembly) (there is no Atari ST equivalent available at the time of writing but the Amiga Assembly extension nicely color codes and formats `.S` assembly files).
## Compiling
Compile your project by double clicking the `.PRJ` file.
Notes:
- You'll probably have to reset the emulator once the compilation completes because there's an apparent bug that causes any subsequent started applications to crash.
- Sometimes, the compiler makes a mistake when incrementally compiling the project. If the resulting program crashes unexpectedly, try deleting the `OUT` directory and then compile the project again.
- Check out
https://github.com/ReservoirGods/GODLIB.SPL to find some examples.