# Rgb2Hires 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. * 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. This data **is not interleaved**. 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). ## Windows / Linux projects (libHires, Picture, Tile) ### Dependencies * Magick++, from ImageMagick 6 * On Windows * Download ImageMagick 6 from the [official website](https://legacy.imagemagick.org/script/install-source.php) * Compile it in *Dynamic Multithreaded* * Provide an environment variable called *MAGICK_HOME* and pointing to the root ImageMagick folder. * Copy *ImageMagick-config* from the *script/* folder to *MAGICK_HOME* * On Linux, install libmagick++-dev for version 6 > sudo apt install libmagick++-6.q16-dev ### How to build * **Linux** a CMakeList is provided: > mkdir build && cd build > cmake .. > cmake --build . --config release * **Windows** a VisualStudio solution is provided ## 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. ### Build > make ## Test A correct source image, *test.png*, is provided as an example. Convert it using 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.