Converts an RGB image (.png, .jpeg) into a binary file compliant with the Apple II's HIRES format.
Go to file
Christophe Meneboeuf 7ce9055272 cleanup 2022-06-18 15:08:56 +02:00
Loader_Apple2 SDL2 port: Picture executable 2022-06-18 15:08:54 +02:00
Rgb2Hires_PC cleanup 2022-06-18 15:08:56 +02:00
.gitignore Windows project generated by cmake 2021-02-02 18:24:36 +01:00
COPYING INITIAL 2016-11-29 23:06:37 +01:00
Readme.md cleanup 2022-06-18 15:08:56 +02:00

Readme.md

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 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.

Build from sources

Dependencies

The dependencies are managed by 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

mkdir build && cd build
conan install ..
cmake .. -DCMAKE_BUILD_TYPE=RELEASE
cmake --build . --config release -j

Apple II project (Loader)

Dependencies

  • 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

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.