mirror of
https://github.com/Pixinn/Rgb2Hires.git
synced 2024-12-22 16:31:08 +00:00
Converts an RGB image (.png, .jpeg) into a binary file compliant with the Apple II's HIRES format.
Loader_Apple2 | ||
Rgb2Hires_PC | ||
.gitignore | ||
COPYING | ||
Readme.md |
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 that can be loaded to the HIRES memory pages of an Apple II.
- Source image must be 140x192. Pixels are anamorphic: 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 satifies 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 is required to do so.
For more information about the "Hires" format and its limitations, you can refer to my website.
Note:
Windows / Linux projects (libHires, Picture, Tile)
Dependencies
- Magick++
- On Windows, you have provide an environment variable called MAGICK_HOME and pointing to the ImageMagick folder.
- 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
- The crosscompiler suit. Please provide an environment variable, CC65_HOME pointing to your CC65 folder.
Build
Use the makefile
Running
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.