Files
complete-system/README.md
T
2026-05-11 18:38:53 +10:00

43 lines
1.5 KiB
Markdown

# 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