mirror of
https://github.com/Pixinn/Rgb2Hires.git
synced 2024-06-02 07:41:33 +00:00
74 lines
3.3 KiB
Markdown
74 lines
3.3 KiB
Markdown
# Rgb2Hires
|
|
|
|
Rgb2Hires is a set of tools to help converting a modern RGB image (JPEG, PNG) to the HIRES format for Apple II computers ; either as a binary export or an assembly listing.
|
|
|
|
The color of the RGB imlage can be approximative: Rgb2Hires will match them with the nearest HIRES color.
|
|
|
|
## Apple II colors
|
|
|
|
RGB values of the targeted colors:
|
|
|
|
* **BLACK**: 00 00 00
|
|
* **WHITE**: FF FF FF
|
|
* **BLUE**: 07 A8 E0
|
|
* **ORANGE**: F9 56 1D
|
|
* **GREEN**: 43 C8 00
|
|
* **VIOLET**: BB 36 FF
|
|
|
|
## Projects
|
|
|
|
This repository contains three "PC" projects:
|
|
* **libRgb2Hires**: a library to convert RGB image to the Apple II's HIRES format
|
|
* **Picture**: a program to convert a RGB png to a binary or an ASM excerpt, that can be loaded to the HIRES memory pages of an Apple II. An optional **live preview** can be displayed: its window will simulate an RGB monitor and will show the result, including color clashing and artifacts.
|
|
* Source image must be 140x192. Pixels are anamorphic: they will be displayed twice wider than tall.
|
|
* Source image must contains six colors : BLACK, WHITE, ORANGE, GREEN, BLUE and PURPLE. The color may be approximation of the Apple II 6 colors. Please refer to the provided pic.
|
|
* **Tile**: given a RGB png tile sheet that satisfies the same requirements as above, it extracts a 14x16 tile and converts it to ASM data. The lines forming the tile data **are not interleaved** as in a HIRES framebuffer.
|
|
|
|
And one Apple II project:
|
|
* **Loader**: a program that will load and display a picture generated by the *Picture* program. A bash scripts is provided as an exemple to load the picture and the loader on an image disk. [AppleCommander](https://applecommander.github.io/) is required to do so. Once in ProDOS, just type *-DISPLAY*.
|
|
|
|
__Note:__ For more information about the "Hires" format and its limitations, you can refer to my [website](https://www.xtof.info/hires-graphics-apple-ii.html).
|
|
|
|
|
|
## Build from sources
|
|
|
|
### Dependencies
|
|
|
|
The dependencies are managed by [conan.io](https://conan.io/). Please refer to (their documentation)[https://docs.conan.io/en/latest/installation.html] for installation instructions.
|
|
|
|
The build system is managed by CMake.
|
|
### How to build
|
|
|
|
```bash
|
|
mkdir build && cd build
|
|
conan install ..
|
|
cmake .. -DCMAKE_BUILD_TYPE=RELEASE
|
|
cmake --build . --config release -j
|
|
```
|
|
|
|
## Apple II project (Loader)
|
|
|
|
### Dependencies
|
|
* [CC65](https://cc65.github.io/cc65/)
|
|
* The crosscompiler suit. Please provide an environment variable, *CC65_HOME* pointing to your CC65 folder.
|
|
|
|
### How to build
|
|
|
|
A make file is provided. Just run
|
|
|
|
```bash
|
|
make
|
|
```
|
|
## Test
|
|
|
|
* A correct source image, *testPiceture.png*, is provided as an example. Convert it using the application *Picture*, then copy it on a dsk image along with the Apple II loader. You can use or refer to the provided script in the *Loader_Apple2* folder.
|
|
* Another source image *testTile.png* is provided to test that the correct tile is converted and extracted using the application *Tile*.
|
|
|
|
### Demo
|
|
|
|
The live preview can help to visualise color clashing and artifacts. You can edit your file using *Photoshop* or any other application. The *Preview* window will be ubdated each tile the file is saved.
|
|
|
|
<a href="https://pub.xtof.info/github/demo-rgb2hires.mp4">
|
|
<img src="https://pub.xtof.info/github/demo-rgb2hires.png"/>
|
|
</a>
|