Converts an RGB image (.png, .jpeg) into a binary file compliant with the Apple II's HIRES format.
Go to file
Christophe Meneboeuf 4b5e1574a5
Merge pull request #3 from ryandesign/patch-1
Fix conan documentation link in Readme.md
2023-11-01 18:09:45 +01: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 Fix conan documentation link in Readme.md 2023-10-31 12:11:03 -05:00

Rgb2Hires

Rgb2Hires is a set of tools to help convert a modern RGB image (JPEG, PNG) to the HIRES format for Apple II computers, either as a binary export or an assembly listing.

The colors of the RGB image can be approximate: 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 an RGB image to the Apple II's HIRES format
  • Picture: a program to convert an RGB png to a binary or an ASM excerpt that can be loaded into 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 as wide as they are tall.
    • Source image must contains six colors: BLACK, WHITE, ORANGE, GREEN, BLUE and PURPLE. The colors may be an approximation of the six Apple II colors. Please refer to the provided pic.
  • Tile: given an 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 script is provided as an example to load the picture and the loader onto 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 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 suite. Please provide an environment variable CC65_HOME pointing to your CC65 folder.

How to build

A makefile is provided. Just run

make

Test

  • A correct source image, testPicture.png, is provided as an example. Convert it using the application Picture, then copy it onto a disk 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 updated each time the file is saved.