43 lines
1.5 KiB
Markdown
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
|
|

|
|
|
|
---
|
|
|
|
## 🛠 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
|