======BTT0 documentation====== =====Resources===== ====URLs==== Vircon32 Homepage: http://www.vircon32.com/index.html Github: https://github.com/vircon32/ Documentation: https://github.com/vircon32/Vircon32Documents/tree/main/Specification/English/PDF%20documents ====API==== Here is a link to the C API page on vircon32's website: http://www.vircon32.com/api.html This page will show you all of the tools you need to make games for the emulator using the C language =====Vircon32===== ====Obtain source of latest stable release of Vircon32 DevTools==== ===URL=== **Note:** Clicking the link in [[http://www.vircon32.com/devtools.html|Vircon32]] takes you to an older version of the DevTools.\\ Instead use the following link:\\ https://github.com/vircon32/ComputerSoftware/releases/tag/devtools-v23.10.27 This brings you to the latest release from the Vircon32 Github. As we will be building from source you'll want to select and download the correct archive\\ -Source code (tar.gz) for Linux or WSL \\ -Source code (zip) for Windows ===build prerequisites=== -Knowledge on archive handling -Ability to read the Readme -Basic cli knowledge -Ability to find and update packages Vircon32 ComputerSoftware Readme: https://github.com/vircon32/ComputerSoftware/blob/main/Readme.md ===build process (platform/OS)=== Replicate section per system/OS you are building for -Extract your archive (location does not matter for this) -Navigate into the base directory. Should begin with ComputerSoftware. -Read the Readme.md -Create a build directory in both DesktopEmulator and DevelopmentTools -Reference the Readme on which packages are needed and install them. ===installation=== Begin by installing the required libraries, they will be listed at the bottom of the Readme.md file begin by typing the command 'aptitude ' to search for the specific libraries and 'apt install ' to install. You most likely need to use the token 'sudo' when installing. After the packages are installed you will want to continue with the installation steps in the Readme, namely steps 3 through 5. Keep an eye on the location where each the DevTools and Emulator get installed. ===environment configuration=== Making note of the location of the DevTools and Emulator, you'll want to add those to your $PATH variable via your .bashrc file. In this case, DevTools gets installed to ///usr/local/DevTools//, so you will want to open up your .bashrc file: vim ~/.bashrc Then, you can add this line to the very end of your file: export PATH=$PATH:/usr/local/DevTools ====Obtain source of latest stable release of Vircon32 emulator==== ===URL=== http://www.vircon32.com/emulator.html Github: https://github.com/vircon32/ComputerSoftware/tree/main/DesktopEmulator ===build prerequisites=== ===build process (platform/OS)=== Replicate section per system/OS you are building for ===installation=== ==Step 1 (Getting and installing all necessary dependencies)== Once you have got your source files, gotten the contents out of it, and cd'd into it there should be a Readme file, cat it to read it. After that you should have read at the bottom that there are libraries to install. You should install these in the following format: sudo apt install lib-dev So an example would be sudo apt install libsdl2-dev (Notice how the capital SDL became sdl. Also and "_" will become "-"). ==Step 2 (After you have downloaded all the necessary dependencies)== Start by cd'ing into either the DesktopEmulator directory or the DevelopmentTools directory (NOTE: It does not matter where you start because you'll be repeating the step in both directories). Once into one of the above specified directories create a new directory named build. mkdir build cd into the new directory and do the following. Once you have downloaded all the required dependencies you need to run the following line on you system. (This example will be based of off a Linux/pi system). cmake -G '[your system] Makefiles' .. Here is an example of it for a Linux/Pi system (this should also work for wsl's in case you are among the non-pi users): cmake -G 'Unix Makefiles' .. NOTE: you need to have the " .." that is not a typo. Once you have completed the above step, you need to run the following: sudo cmake --install . Note: you need to have the " ." after install for it to work properly. Now, you are almost done. Depending on where you started you need to repeat this step for either the DesktopEmulator directory or the DevelopmentTools directory. ===environment configuration=== After running the previous command, the Emulator tools get installed to ///opt/Vircon32/Emulator//. To use these tools, they will have to be added to your $PATH variable. To do this open .bashrc in any editor: vim ~/.bashrc Then, add the following line at the end of the file: export PATH=$PATH:/opt/Vircon32/Emulator If you have installed the emulator //after// you installed the DevTools, then you can simply include both paths at once: export PATH=$PATH:/usr/local/DevTools:/opt/Vircon32/Emulator =====Hello World===== Bootstrap a fairly simple “Hello, World” example, modified sufficiently from any provided tutorial or demo code. This is a link to the provided tutorials on the Vircon Github page: https://github.com/vircon32/ConsoleSoftware/tree/main/Tutorials/RobotGame Indicate some potential changes/functions used here. Some potential changes/functions could be: * Changing the position of the text( making it appear in the bottom right of the screen )\\ * Changing the color of the text * Changing what the text says ( and / or make it a different language ) * Changing the background color to one of the provided colors( make it green )\\ * Implementing your own background( make it Jesse from Breaking Bad )\\ * Making your own font( Turn a tree into the alphabet )\\ * Adding sounds( like it saying "Mr.Worldwide" ) when booting up the demo =====Cartridge Build Scripts===== In the tutorials and demos there are corresponding build scripts that will take all the code and related resources, and run the appropriate development tools to create a Vircon32 cartridge file. Part of your task is to author your own custom build script. Do not just use an existing script, and do not just lightly modify the provided scripts: craft your own, with descriptive comments, that suit your individual effort.