Apple IIgs Super Hi-Res (SHR) Converter Output Comparison – A2B and Prism - Summer 2015

 

Table of Contents

 

Apple IIgs Super Hi-Res (SHR) Converter Output Comparison – A2B and Prism - Summer 2015. 1

Table of Contents. 1

Comparing A2B to Prism.. 1

Dithered and Raw (non-dithered) Output 1

Informal Comparison. 1

Multipalette Comparisons. 1

A2B Multipalette Output compared to Prism Brooks Mode3200 Output 6

Brooks Mode3200 Comparisons. 11

Brooks Mode3200 Comparisons Unplugged. 16

Converted GIF File Comparison – Girl256. 21

A2B Output Only. 21

Equivalent  Prism and A2B Output 22

Converted 24-bit Input File Comparison  – RAM... 23

A2B Output Only. 23

Equivalent Prism and A2B Output 23

Converted 24-bit Input File Comparison  – SUNDOWN.. 24

A2B Output Only. 24

Equivalent Prism and A2B Output 24

Converted 24-bit Input File Comparison  – TETONS. 25

A2B Output Only. 25

Equivalent Prism and A2B Output 26

Downloads and Closing Remarks. 26

Summer of 2015 Download Link. 26

Files for this Article. 27

Sample Slideshows (Thousands of SHR files) 27

Additional Development and Downloads. 27

 

Comparing A2B to Prism

 

This article compares the external segmented palette output from A2B Version 7.0 to the default output from Prism.

 

Prism is a native mode SHR graphics converter for the Apple IIgs written by Ron Mercer and released in 1992. Prism provides non-dithered 320 x 200 output only, in 1-palette, 16-palettes, and 200-palettes.

 

Prism does not accept common modern 24-bit graphics files like bmp, jpg or png as input files, and even though it accepts GIF files for input, the GIFs I used as Prism’s input files for this article needed to be resaved in an old MS-DOS graphics converter in order to get Prism to load them. Unlike other old “native mode” SHR converters like Convert3200 and SuperConvert which can be used with input files that are still generally available today, it is not very convenient to use Prism anymore.  

 

Prism’s 320 x 200 output is generally quite posterized and provides much fewer colors than A2B’s output. In fact, A2B’s 16-palette SHR output generally has more unique colors than Prism’s 200-palette output.

 

Palette segments in Prism’s 16-palette output can be quite visible.

 

Dithered and Raw (non-dithered) Output

 

By default A2B uses my own E-dither (the Buckels dither).  A2B optionally provides Floyd-Steinberg and Atkinson. Dithering is also optional in A2B. By default output is raw. My preference in general is to use E-dithering for SHR output because I think it provides the best results overall.   

 

For most of the informal comparison that follows, A2B’s E-dithered output is used. A2B’s default E-dithering applies “leftover” error correction randomly within the dithering pattern. The idea is not to provide a completely random dither because that is just noise. The idea is to provide a different random distribution for each of the 3 RGB color channels of any remaining color error caused by an integer divide. These remainders are small amounts added to the normal weight of one of the locations in the pattern. Normally this would be weighted to one of the larger weights or thrown away altogether effectively resulting in an error under-run and loss of precision in color channels with darker values.     

 

The last comparison set in the informal comparison is the only comparison that uses raw output from A2B.

 

Prism’s output is is effectively raw.

 

Informal Comparison

 

In my other articles that compare A2B’s output to other SHR converters that run on the Apple IIgs, like Convert3200 and SuperConvert, I used a consistent set of 4 images representing some things that I look for in 320 x 200 SHR output from any converter. This set of 4-images constitutes what I am calling the “formal comparison”.

 

The formal comparison in this article is at the end. What follows next is an informal comparison of what I am looking for in Prism.    

 

Multipalette Comparisons

 

In the typical Multipalette output below, A2B averaged almost 3 times as many unique colors per image as Prism.

 

A2B – 20 images – Total unique IIgs colors = 1770, Average colors = 89 per image

284% more colors than Prism - (1770 / 6.23)

 

Prism – 20 images – Total unique IIgs colors = 623, Average colors = 31 per image

65% fewer colors than A2B  - (100-(623 / 1770))

A2B – 16 palettes – 73 unique IIgs Colors

A2B – 16 palettes – 98 unique IIgs Colors

A2B – 16 palettes – 61 unique IIgs Colors

A2B – 16 palettes – 80 unique IIgs Colors

A2B – 16 palettes – 88 unique IIgs Colors

A2B – 16 palettes – 76 unique IIgs Colors

A2B – 16 palettes – 56 unique IIgs Colors

A2B – 16 palettes – 92 unique IIgs Colors

A2B – 16 palettes – 104 unique IIgs Colors

A2B – 16 palettes – 68 unique IIgs Colors

A2B – 16 palettes – 73 unique IIgs Colors

A2B – 16 palettes – 108 unique IIgs Colors

A2B – 16 palettes – 99 unique IIgs Colors

A2B – 16 palettes – 104 unique IIgs Colors

A2B – 16 palettes – 131 unique IIgs Colors

A2B – 16 palettes – 72 unique IIgs Colors

A2B – 16 palettes – 106 unique IIgs Colors

A2B – 16 palettes – 110 unique IIgs Colors

A2B – 16 palettes – 97 unique IIgs Colors

A2B – 16 palettes – 74 unique IIgs Colors

Prism – 16 palettes – 27 unique IIgs Colors

Prism – 16 palettes – 31 unique IIgs Colors

Prism – 16 palettes – 32 unique IIgs Colors

Prism – 16 palettes – 23 unique IIgs Colors

Prism – 16 palettes – 23 unique IIgs Colors

Prism – 16 palettes – 28 unique IIgs Colors

Prism – 16 palettes – 28 unique IIgs Colors

Prism – 16 palettes – 29 unique IIgs Colors

Prism – 16 palettes – 33 unique IIgs Colors

Prism – 16 palettes – 27 unique IIgs Colors

Prism – 16 palettes – 35 unique IIgs Colors

Prism – 16 palettes – 34 unique IIgs Colors

Prism – 16 palettes – 34 unique IIgs Colors

Prism – 16 palettes – 30 unique IIgs Colors

Prism – 16 palettes – 43 unique IIgs Colors

Prism – 16 palettes – 19 unique IIgs Colors

Prism – 16 palettes – 41 unique IIgs Colors

Prism – 16 palettes – 35 unique IIgs Colors

Prism – 16 palettes – 39 unique IIgs Colors

Prism – 16 palettes – 32 unique IIgs Colors

 

A2B Multipalette Output compared to Prism Brooks Mode3200 Output

 

70% of A2B’s Multipalette output below (14 out of 20 images) uses more unique colors per image than the same image converted to Brooks Mode3200 200-palette output using Prism, also shown below.  Overall, A2B’s Multipalette output below has 11% more unique Apple IIgs colors on the average than Prism’s 200-palette rendering.  Due to A2B’s higher precision rendering at a greater color depth resulting in smoother gradience and more accurate error correction, even the 6 Multipalette images with fewer colors than their Prism 200-palette counterparts provided better results, as shown below. Providing more colors does not alone make a better conversion, but providing too few colors makes a worse conversion.   

 

In practical terms, this implies that the average modern programmer writing in the C language to produce a simple 8-bit cross-compiled cc65 6502 program to load a standard mode320 screen image produced by A2B will provide better results with far less effort than it would take an expert IIgs programmer to write a complicated ProDOS 16 Mode3200 Brooks loader, and with far worse results for the expert programmer if Prism was used to produce the Brooks images used by the loader. The 8-bit program would also be capable of performing normal background operations because it would not need to spend all its time changing SHR palettes like the Brooks loader would need to. Properly converted SHR Mode320 Multipalette Images like those produced by A2B are so much better than the Brooks Mode conversions produced by Prism, that even a beginner can write a more effective C program that uses ordinary SHR screen images than an expert IIgs assembly language programmer who targeted Brooks Mode simply because of inferior Multipalette conversions like those done by Prism back in the day when the IIgs was in wide use.    

 

A2B – 16 palette images – Total unique IIgs colors = 1770, Average colors = 89 per image

 

Prism – 200 palette images – Total unique IIgs colors = 1592, Average colors = 80 per image.

A2B – 16 palettes – 73 unique IIgs Colors

A2B – 16 palettes – 98 unique IIgs Colors

A2B – 16 palettes – 61 unique IIgs Colors

A2B – 16 palettes – 80 unique IIgs Colors

A2B – 16 palettes – 88 unique IIgs Colors

A2B – 16 palettes – 76 unique IIgs Colors

A2B – 16 palettes – 56 unique IIgs Colors

A2B – 16 palettes – 92 unique IIgs Colors

A2B – 16 palettes – 104 unique IIgs Colors

A2B – 16 palettes – 68 unique IIgs Colors

A2B – 16 palettes – 73 unique IIgs Colors

A2B – 16 palettes – 108 unique IIgs Colors

A2B – 16 palettes – 99 unique IIgs Colors

A2B – 16 palettes – 104 unique IIgs Colors

A2B – 16 palettes – 131 unique IIgs Colors

A2B – 16 palettes – 72 unique IIgs Colors

A2B – 16 palettes – 106 unique IIgs Colors

A2B – 16 palettes – 110 unique IIgs Colors

A2B – 16 palettes – 97 unique IIgs Colors

A2B – 16 palettes – 74 unique IIgs Colors

Prism – 200 palettes – 68 unique IIgs Colors

Prism – 200 palettes – 74 unique IIgs Colors

Prism – 200 palettes – 38 unique IIgs Colors

Prism – 200 palettes – 85 unique IIgs Colors (5 more colors but is it better?)

Prism – 200 palettes – 92 unique IIgs Colors (4 more colors but is it better?)

Prism – 200 palettes – 57 unique IIgs Colors

Prism – 200 palettes – 75 unique IIgs Colors (19 more colors but is it better?)

Prism – 200 palettes – 101 unique IIgs Colors (9 more colors but is it better?)

Prism – 200 palettes – 70 unique IIgs Colors

Prism – 200 palettes – 61 unique IIgs Colors

Prism – 200 palettes – 92 unique IIgs Colors (19 more colors but is it better?)

Prism – 200 palettes – 83 unique IIgs Colors

Prism – 200 palettes – 78 unique IIgs Colors

Prism – 200 palettes – 113 unique IIgs Colors (9 more colors but is it better?)

Prism – 200 palettes – 112 unique IIgs Colors

Prism – 200 palettes – 50 unique IIgs Colors

Prism – 200 palettes – 101 unique IIgs Colors

Prism – 200 palettes – 89 unique IIgs Colors

Prism – 200 palettes – 92 unique IIgs Colors

Prism – 200 palettes – 61 unique IIgs Colors

 

Brooks Mode3200 Comparisons

 

In the typical 200 palette output below, A2B averaged over twice as many unique colors per image as Prism. This should not be surprising, since 70% of A2B’s Multipalette output shown above

(14 out of 20 images) uses more unique colors per image than the same image converted to Brooks Mode3200 using Prism. Providing more colors does not alone make a better conversion, but providing too few colors makes a worse conversion.  

 

An expert IIgs programmer who can write a Brooks Mode3200 image display program probably shouldn’t be wasting time with output from Prism if for no other reason than even a modern average C programmer like me can provide better looking results in a simple cc65 C program displaying A2B’s 16-palette output, no experience necessary.

 

A2B – 20 images – Total unique IIgs colors = 3686, Average colors = 184 per image

232% more colors than Prism - (3686 / 15.92)

 

Prism – 20 images – Total unique IIgs colors = 1592, Average colors = 79 per image

57% fewer colors than A2B  - (100-(1592/3686))

 

A2B – 200 palettes –180 unique IIgs Colors

A2B – 200 palettes – 182 unique IIgs Colors

A2B – 200 palettes – 86 unique IIgs Colors

A2B – 200 palettes – 140 unique IIgs Colors

A2B – 200 palettes – 140 unique IIgs Colors

A2B – 200 palettes – 123 unique IIgs Colors

A2B – 200 palettes – 128 unique IIgs Colors

A2B – 200 palettes – 193 unique IIgs Colors

A2B – 200 palettes – 204 unique IIgs Colors

A2B – 200 palettes – 128 unique IIgs Colors

A2B – 200 palettes – 191 unique IIgs Colors

A2B – 200 palettes – 270 unique IIgs Colors

A2B – 200 palettes – 237 unique IIgs Colors

A2B – 200 palettes – 238 unique IIgs Colors

A2B – 200 palettes – 318 unique IIgs Colors

A2B – 200 palettes – 122 unique IIgs Colors

A2B – 200 palettes – 215 unique IIgs Colors

A2B – 200 palettes – 251 unique IIgs Colors

A2B – 200 palettes – 195 unique IIgs Colors

A2B – 200 palettes – 145 unique IIgs Colors

Prism – 200 palettes – 68 unique IIgs Colors

Prism – 200 palettes – 74 unique IIgs Colors

Prism – 200 palettes – 38 unique IIgs Colors

Prism – 200 palettes – 85 unique IIgs Colors

Prism – 200 palettes – 92 unique IIgs Colors

Prism – 200 palettes – 57 unique IIgs Colors

Prism – 200 palettes – 75 unique IIgs Colors

Prism – 200 palettes – 101 unique IIgs Colors

Prism – 200 palettes – 70 unique IIgs Colors

Prism – 200 palettes – 61 unique IIgs Colors

Prism – 200 palettes – 92 unique IIgs Colors

Prism – 200 palettes – 83 unique IIgs Colors

Prism – 200 palettes – 78 unique IIgs Colors

Prism – 200 palettes – 113 unique IIgs Colors

Prism – 200 palettes – 112 unique IIgs Colors

Prism – 200 palettes – 50 unique IIgs Colors

Prism – 200 palettes – 101 unique IIgs Colors

Prism – 200 palettes – 89 unique IIgs Colors

Prism – 200 palettes – 92 unique IIgs Colors

Prism – 200 palettes – 61 unique IIgs Colors

 

Brooks Mode3200 Comparisons Unplugged

 

I have not promoted raw output through A2B’s development cycle in order to explore the capabilities of E-dithering for SHR output.

 

The A2B output shown above was E-dithered. E-dithering no matter how well done is not always what you will want, even if some of the problems inherent with raw SHR output show-up in A2B’s raw output. A2B’s output in the following comparison is raw and non-dithered. On average based on the 20 images in this comparison set, A2B’s output has approx. 3 times the number of unique colors per image as Prism’s output. 

 

A2B – 20 images – Total unique IIgs colors = 4463, Average colors = 223 per image

280% more colors than Prism - (4463 / 15.92)

 

Prism – 20 images – Total unique IIgs colors = 1592, Average colors = 79 per image

64% fewer colors than A2B  - (100 - (1592 / 4463))

 

A2B – 200 palettes – 232 unique IIgs Colors

A2B – 200 palettes – 233 unique IIgs Colors

A2B – 200 palettes – 95 unique IIgs Colors (probably better to E-dither this one)

A2B – 200 palettes – 160 unique IIgs Colors (probably better to E-dither this one)

A2B – 200 palettes – 159 unique IIgs Colors (probably better to E-dither this one)

A2B – 200 palettes – 151 unique IIgs Colors

A2B – 200 palettes – 167 unique IIgs Colors

A2B – 200 palettes – 234 unique IIgs Colors

A2B – 200 palettes – 230 unique IIgs Colors

A2B – 200 palettes – 183 unique IIgs Colors (probably better to E-dither this one)

A2B – 200 palettes – 243 unique IIgs Colors

A2B – 200 palettes – 334 unique IIgs Colors

A2B – 200 palettes – 315 unique IIgs Colors

A2B – 200 palettes – 283 unique IIgs Colors

A2B – 200 palettes – 414 unique IIgs Colors

A2B – 200 palettes – 155 unique IIgs Colors

A2B – 200 palettes – 253 unique IIgs Colors (probably better to E-dither this one)

A2B – 200 palettes – 251 unique IIgs Colors

A2B – 200 palettes – 216 unique IIgs Colors

A2B – 200 palettes – 155 unique IIgs Colors (probably better to E-dither this one)

Prism – 200 palettes – 68 unique IIgs Colors

Prism – 200 palettes – 74 unique IIgs Colors

Prism – 200 palettes – 38 unique IIgs Colors

Prism – 200 palettes – 85 unique IIgs Colors

Prism – 200 palettes – 92 unique IIgs Colors

Prism – 200 palettes – 57 unique IIgs Colors

Prism – 200 palettes – 75 unique IIgs Colors

Prism – 200 palettes – 101 unique IIgs Colors

Prism – 200 palettes – 70 unique IIgs Colors

Prism – 200 palettes – 61 unique IIgs Colors

Prism – 200 palettes – 92 unique IIgs Colors

Prism – 200 palettes – 83 unique IIgs Colors

Prism – 200 palettes – 78 unique IIgs Colors

Prism – 200 palettes – 113 unique IIgs Colors

Prism – 200 palettes – 112 unique IIgs Colors

Prism – 200 palettes – 50 unique IIgs Colors

Prism – 200 palettes – 101 unique IIgs Colors

Prism – 200 palettes – 89 unique IIgs Colors

Prism – 200 palettes – 92 unique IIgs Colors

Prism – 200 palettes – 61 unique IIgs Colors

 

Converted GIF File Comparison – Girl256

 

A2B Output Only

 

Input Image – 320 x 200 x 256 colors

A2B – 1 palette dithered – 15 unique colors

 

A2B – 16 palettes dithered – 83 unique IIgs colors (229 unique 24-bit colors)

A2B – 200 palettes dithered – 183 unique IIgs colors (1073 unique 24-bit colors)

 

Equivalent  Prism and A2B Output

 

Prism – 1 palette non-dithered – 16 unique IIgs colors

A2B – 1 palette non-dithered – 15 unique IIgs colors (16 unique 24-bit colors)

Prism – 16 palettes non-dithered – 30 unique IIgs colors

A2B – 16 palettes non-dithered – 86 unique IIgs colors (244 unique 24-bit colors)

Prism – 200 palettes non-dithered – 52 unique IIgs colors

A2B – 200 palettes non-dithered – 227 unique IIgs colors (2089 unique 24-bit colors)

   

Converted 24-bit Input File Comparison  – RAM

 

A2B Output Only

 

Input Image – 320 x 200 x 45808 unique 24-bit colors (256 unique GIF colors)

A2B – 1 palette dithered – 16 unique colors

A2B – 16 palettes dithered – 98 unique IIgs colors (237 unique 24-bit colors)

A2B – 200 palettes dithered – 204 unique IIgs colors (1258 unique 24-bit colors)

 

Equivalent Prism and A2B Output

 

Prism – 1 palette non-dithered – 16 unique IIgs colors

A2B – 1 palette non-dithered – 16 unique colors

Prism – 16 palettes non-dithered – 40 unique IIgs colors

A2B – 16 palettes non-dithered – 100 unique IIgs colors (252 unique 24-bit colors)

Prism – 200 palettes non-dithered – 91 unique IIgs colors

A2B – 200 palettes non-dithered – 243 unique IIgs colors (2835 unique 24-bit colors)

 

Converted 24-bit Input File Comparison  – SUNDOWN

 

A2B Output Only

 

Input Image – 320 x 200 x 45699 unique 24-bit colors (256 unique GIF colors)

A2B – 1 palette dithered – 16 colors

A2B – 16 palettes dithered – 148 unique IIgs colors (222 unique 24-bit colors)

A2B – 200 palettes dithered – 370 unique IIgs colors (1265 unique 24-bit colors)

 

Equivalent Prism and A2B Output

  

Prism – 1 palette non-dithered – 16 unique IIgs colors

A2B – 1 palette non-dithered – 16 unique colors

Prism – 16 palettes non-dithered – 76 unique IIgs colors

A2B – 16 palettes non-dithered – 153 unique IIgs colors (238 unique 24-bit colors)

Prism – 200 palettes non-dithered – 149 unique IIgs colors

A2B – 200 palettes non-dithered – 468 unique IIgs colors (2602 unique 24-bit colors)

 

Converted 24-bit Input File Comparison  – TETONS

 

A2B Output Only

 

Input Image – 320 x 200 x 37349 unique 24-bit colors (256 unique GIF colors)

A2B – 1 palette dithered – 16 unique colors

A2B – 16 palettes dithered – 118 unique IIgs colors (234 unique 24-bit colors)

A2B – 200 palettes dithered – 258 unique IIgs colors (1237 unique 24-bit colors)

 

Equivalent Prism and A2B Output

  

Prism – 1 palette non-dithered – 16 unique IIgs colors

A2B – 1 palette non-dithered – 16 unique colors

Prism – 16 palettes non-dithered – 73 unique IIgs colors

A2B – 16 palettes non-dithered – 119 unique IIgs colors (235 unique 24-bit colors)

Prism – 200 palettes non-dithered – 135 unique IIgs colors

A2B – 200 palettes non-dithered – 292 unique IIgs colors (2274 unique 24-bit colors)

 

Downloads and Closing Remarks

 

Summer of 2015 Download Link

 

The A2B Current Snapshot (pre-release of Version 7.0) used to produce this article, and other articles, accompanying disks and samples can be downloaded at the following link:

 

http://www.appleoldies.ca/a2b/Summer2015/

 

A2B comes with source and for Windows users, a Win32 binary and should compile in a gcc compatible system including OSX and Linux. It is written in ANSI C with no dependencies on 3rd party libraries.

 

Files for this Article

 

The input and output files used in this article can also be downloaded in zip format from the link above. The output files in the zip file are in both Apple IIgs format and Magnified png format  

 

Sample Slideshows (Thousands of SHR files)

 

Also available from the link above, for review purposes, are 7-disk images in 20MG hdv format containing thousands of samples of dithered and non-dithered A2B 16-palette and 200-palette output created by A2B using the current external segmented palette output option. These disk images are organized into slideshows and will run on a IIgs or a IIgs emulator like kegs32. The quality of the output varies and is completely “unretouched” in order to provide an unvarnished overview of the current status of A2B’s output using a variety of continuous tone content. Some conversions are good, some are bad, and some are ugly. Regardless, these are some of the actual test images used in A2B’s latest development.

 

Additional Development and Downloads

 

I will be selectively providing additional documents using A2B to produce SHR output and also about additional development for the Summer of 2015, with supporting downloads in the days ahead. All this will be at the link above, including A2B’s latest snapshot including source code.

 

All the Best,

 

Bill Buckels

bbuckels@mts.net

August 7, 2015