# Ziguana Game System

This is a fake/virtual console which is work in progress.

![Screenshot](https://mq32.de/public/406aea3df91ef2445067c4b4850e99d50c3c32bd.png)

## Info

A small virtual console programmed in [LoLa](https://lola.random-projects.net/). Create low-resolution pixel art games with an ease!

## Specs

- 120×90 pixel resolution
- 16 color fixed palette
- programmed in [LoLa](https://lola.random-projects.net/)
- (planned) crossplatform support for
	- Windows
	- Linux
	- Android
	- x86 freestanding (ZGS as an OS)

### APIs

The console provides APIs for saving/loading game states, accessing resource data, drawing simple graphics, interface with the text mode, do audio playback, and read inputs.

For a full documentation of the API, see [documentation/api-design.md](documentation/api-design.md).

### Palette

Uses [Dawnbringers 16](https://lospec.com/palette-list/dawnbringer-16) palette:

| Index | Hexcode   | Name        | Preview                                                         |
| ----- | --------- | ----------- | --------------------------------------------------------------- |
| 0     | `#140c1c` | black       | ![#140c1c](https://via.placeholder.com/15/140c1c/000000?text=+) |
| 1     | `#442434` | dark purple | ![#442434](https://via.placeholder.com/15/442434/000000?text=+) |
| 2     | `#30346d` | dark blue   | ![#30346d](https://via.placeholder.com/15/30346d/000000?text=+) |
| 3     | `#4e4a4e` | dark gray   | ![#4e4a4e](https://via.placeholder.com/15/4e4a4e/000000?text=+) |
| 4     | `#854c30` | brown       | ![#854c30](https://via.placeholder.com/15/854c30/000000?text=+) |
| 5     | `#346524` | dark green  | ![#346524](https://via.placeholder.com/15/346524/000000?text=+) |
| 6     | `#d04648` | red         | ![#d04648](https://via.placeholder.com/15/d04648/000000?text=+) |
| 7     | `#757161` | gray        | ![#757161](https://via.placeholder.com/15/757161/000000?text=+) |
| 8     | `#597dce` | blue        | ![#597dce](https://via.placeholder.com/15/597dce/000000?text=+) |
| 9     | `#d27d2c` | orange      | ![#d27d2c](https://via.placeholder.com/15/d27d2c/000000?text=+) |
| A     | `#8595a1` | light gray  | ![#8595a1](https://via.placeholder.com/15/8595a1/000000?text=+) |
| B     | `#6daa2c` | green       | ![#6daa2c](https://via.placeholder.com/15/6daa2c/000000?text=+) |
| C     | `#d2aa99` | skin        | ![#d2aa99](https://via.placeholder.com/15/d2aa99/000000?text=+) |
| D     | `#6dc2ca` | dim cyan    | ![#6dc2ca](https://via.placeholder.com/15/6dc2ca/000000?text=+) |
| E     | `#dad45e` | yellow      | ![#dad45e](https://via.placeholder.com/15/dad45e/000000?text=+) |
| F     | `#deeed6` | white       | ![#deeed6](https://via.placeholder.com/15/deeed6/000000?text=+) |

