# Amiga Complete System Demo **Author:** Jason Bou-Samra (Paragon) A nostalgic, hardware-accelerated image viewer written in **Ada** using the **SDL2** (Simple DirectMedia Layer) bindings. This project serves as a demonstration of window initialization and texture rendering on modern systems while paying homage to the Amiga era. --- ## 🚀 Features * **Hardware Acceleration:** Utilizes SDL2's `Accelerated` renderer flags. * **V-Sync Support:** Includes `Present_V_Sync` to ensure smooth, tear-free image display. * **Asset Loading:** Leverages `SDL_image` to handle PNG file formats. * **Event Handling:** A dedicated event loop captures the `Quit` signal to close the window gracefully. * **Nostalgia:** Specifically designed to showcase Amiga-themed graphical assets. --- ## 📸 Screenshot ![Complete System](https://github.com/bou-samra/complete-system/blob/main/img/AmigaSys.ilbm.png) --- ## 🛠 Prerequisites To compile and run this program, you will need: 1. **GNAT Compiler** (e.g., GNAT Community or FSF GNAT). 2. **SDL2 Libraries:** `SDL2` and `SDL2_image` development packages. 3. **SDLAda Bindings:** The Ada-specific wrappers for SDL2. 4. **pkg-config:** To handle library flags during compilation. --- ## ⚙️ Compilation The project is configured to be built with `gprbuild`. Use the following command to link the necessary SDL2 libraries: ```bash gprbuild -largs $(pkg-config sdl2 SDL2_image --libs) ``` **Alternatively, using gnatmake:** ```ada gnatmake main.adb -largs -lSDL2 -lSDL2_image