ReadMe for AppleVu.zip Introduction This zip file contains four Apple II disk images: AppleVu.dsk - PRODOS 8 Versions of APPLEVU.SYSTEM and ABINLOAD.SYSTEM and sample images and slideshow. Written in Manx Aztec C65 Version 3.2b. ABinLoad.dsk - DOS 3.3 Versions of APPLEVU and ABINLOAD and sample images and slideshow. Written in AppleSoft BASIC. TitleScreens.dsk - PRODOS 8 APPLEVU slideshow of title screens from the "Little Running Steps" collection. Menus.dsk - PRODOS 8 APPLEVU slideshow of menu screens from the "Little Running Steps" collection. Background The "Little Running Steps" Collection consists of 10 disk images containing English and French versions of four PRODOS programs written by Canadian Software Developer Bill Buckels in the early 1990's for use in Elementary Schools. The IBM-PC versions of these programs were developed by French Canadian "CourseWare" developers Denis Coulombe and Robert Boivin on behalf of Centre de recherche appliquée pour l'ordinateur (CRAPO) in the late 1980's and marketed to schools across Canada as part of a six program set called "Collection Les Petites espadrilles". The Apple II versions were written in their entirety by Canadian Software Developer Bill Buckels, on the IBM-PC in the C programing language using the Manx Aztec C 6502 Cross-Compiler. The Manx C compiler provided a rudimentary Graphics Library, but came nowhere close to what Bill needed to complete the four programs in the "Little Running Steps" Collection so he set to work to create the graphics routines that the Apple versions needed. Bill developed his own Apple II graphics file formats and programmed his own set of conversion tools which he ran on the IBM-PC to produce the Apple II graphics after creating and editing these in IBM-PC format to suit the Apple II display. He did this in conjunction with writing his Manx C graphics library. APPLEVU.SYSTEM and ABINLOAD.SYSTEM are by-products of that effort. General Description APPLEVU.SYSTEM is a slideshow for the Apple IIe written in Manx Aztec C65 Version 3.2b and runs under PRODOS 8. It displays BSaved HIRES Images and requires a text script called PICLIST. It also displays Apple II HIRES Images in the .TOP and .BOT file formats and Apple II HIRES Image Fragments in the .RAG file formats. These 3 additional formats were developed by Bill Buckels in conjunction with the development of the "Little Running Steps" Collection. ABINLOAD.SYSTEM is a picture viewer for the Apple IIe written in Manx Aztec C65 Version 3.2b and runs under PRODOS 8. It displays BSaved HIRES Images and requires a text script called PICLIST. It also displays Apple II HIRES Images in the .TOP and .BOT file formats and Apple II HIRES Image Fragments in the .RAG file formats. These 3 additional formats were developed by Bill Buckels in conjunction with the development of the "Little Running Steps" Collection. The AppleSoft BASIC versions of these programs support the loading of BSaved HIRES screens only and do not support the .TOP, .BOT, and .RAG file formats. Graphics File Formats - .TOP, .BOT, and .RAG All of these are the same file format. The file extensions are descriptive naming variations. These are uncompressed graphics files in scanline orientation and are aligned on 2-byte (14 pixel) boundaries. They have a 2 byte header, with the first byte being the width of the image in bytes (7 pixels per byte) and the second byte being the height of the image. The header is followed by raw scanline oriented data to be displayed directly on the Apple II screen in HIRES graphics mode. Unlike the Apple II BSaved HIRES Image format which is not raster aligned these files are not padded and store visible graphics data only which results in a slightly smaller file size over a screen saved in the BSaved format. The .TOP file format is intended for use in Apple II mixed text and graphics screen mode and is 280 x 160 in size which is the same size as the graphics area in this screen mode. The .BOT file format is intended for use in Apple II full graphics screen mode and is 280 x 192 in size which is the same size as the graphics area in this screen mode. The .RAG file format is a variable size image fragment with a mazimum size of 280 x 192 which is the maizmum size of Apple II HIRES graphics screen mode. Technical Notes Apple Hi Res screen and direct addressing from Aztec C Sys programs running under ProDOS. 1. Programs must be linked with a "Hole" from 0x4000 to 0x6000 which is the area in memory for the second page (Page 2) of HI RES memory in the lower bank of memory (80 Store is switched off) This ensures that no code will be in the screen area. Since the Aztec Cross-Compiler creates SYS programs with a 4 byte header for compatibility with the AppleSoft BASIC "LOAD" command which must be removed to load the program in PRODOS as a SYS program the offset for the "Hole" for the purposes of linking with LN65 is actually from 0x4000 to 0x6004. When the AppleSoft BASIC header is removed the "Hole" will be shifted back by 4 bytes. We cannot use the first page of HI RES graphics (Page 1) because of a memory conflict between the ProDOS load address for SYS programs ( 0x2000 ) and the address of the first page of the HI RES screen (Page 1) which are mutually exclusive. 2. Review of Physical Data Resolution : 280 Pixels X 192 Rasters ( 140 "Pixel-Pairs" X 192 Rasters) Raster Width : 40 Bytes ( 20 "Byte Pairs") Pixels per Byte: 7 Pixels/Byte ( 7 "Pixel-Pairs"/"Byte Pair") BYTE VALUES and the color bitmap: To be properly considered the HI RES color map should be approached as a series of Byte Pairs since the color value that is produced by the video adapter will be determined by the pixel location on the physical screen rather than simply by the value in a single byte. Further, Because of the undesirable color anomalies that are created when complex displays of several colors are attempted, the display is properly best considered with only 3-colors, being Black and White and a Third "Composite" Color with a predefined order of precedence and color priorities. Black and White Must Be Considered Primary colors, with all other colors being subsets of their values. Said values are pixel pair combinations. This means that if Black and White are given equal status, then the horizontal screen resolution should be considered as 140 "pixel-pairs". By giving White Priority over Black (Considering Black as the Background Color), we can actually approach a screen resolution of 280 white pixels (sort of). More correctly, this allows us to produce white at 280 distinct locations providing we have no other colors to consider but because we must make each dot two dots wide to be white even though our accuracy is to a resolution of 280, our detail is still only to roughly 140 pixel-pairs with exceptions where pixels are grouped. In plain english, when the picture is complex, since black is always used to create other secondary colors, then black should be displayed in pairs of pixels. Black can then be overlaid with a single secondary color to create a horizontal resolution of 140 pixel pairs for the second color without "bleeding" between colors. This has the effect similar to the use of color plates in a photographic process. The secondary color could concievably be varied for different zones but areas of secondary colors should not be mixed in a complex manner. (note - this graph is arranged in order of pixel plotting sequence. In the actual Byte bit 7 is the equivalent of a logical shift right of the bit value by 7 [ i.e. bit << 7 ].) Byte Pair Diagrams : Note- Re: Figure 1 and 2 the Palette Select Bit could have been "Don't Care", since Black and White are available in either palette by using the same Pixel Pair Pattern. Figure 1- Palette 0- All BLACK : byte value = '\x00'______ Palette Select Bit _____ : : 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 ----------------------------------------------------------------- : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : ----------------------------------------------------------------- : : : : : : : : : : : : : : : : : : 0 1 2 3 4 5 6 : 7 8 9 10 11 12 13 : : pixels : : :___________ Byte ZERO _________:___________ Byte ONE __________: Figure 2- Palette 1- All WHITE : byte value = '\xff'______ Palette Select Bit _____ : : 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 ----------------------------------------------------------------- : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : ----------------------------------------------------------------- : : : : : : : : : : : : : : : : : : 0 1 2 3 4 5 6 : 7 8 9 10 11 12 13 : : pixels : : :___________ Byte ZERO _________:___________ Byte ONE __________: Figure 3 - Palette 0 - Bit 7 is LOW - Violet EVEN pixel or Green ODD pixel All Violet (Turn Green Off) ______ Palette Select Bit _____ : : 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 ----------------------------------------------------------------- : 1 : 0 : 1 : 0 : 1 : 0 : 1 : 0 : 0 : 1 : 0 : 1 : 0 : 1 : 0 : 0 : ----------------------------------------------------------------- : : : : : : : : : : : : : : : : : : 0 1 2 3 4 5 6 : 7 8 9 10 11 12 13 : : V G V G V G V : G V G V G V G : : pixel colors : : :___________ Byte ZERO _________:___________ Byte ONE __________: Figure 4 - Palette 0 - Bit 7 is LOW - Violet EVEN pixel or Green ODD pixel All Green (Turn Violet Off) ______ Palette Select Bit _____ : : 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 ----------------------------------------------------------------- : 0 : 1 : 0 : 1 : 0 : 1 : 0 : 0 : 1 : 0 : 1 : 0 : 1 : 0 : 1 : 0 : ----------------------------------------------------------------- : : : : : : : : : : : : : : : : : : 0 1 2 3 4 5 6 : 7 8 9 10 11 12 13 : : V G V G V G V : G V G V G V G : : pixel colors : : :___________ Byte ZERO _________:___________ Byte ONE __________: Figure 5 - Palette 1 - Bit 7 is HIGH- Blue EVEN pixel or Orange ODD pixel All Blue (Turn Orange Off) ______ Palette Select Bit _____ : : 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 ----------------------------------------------------------------- : 1 : 0 : 1 : 0 : 1 : 0 : 1 : 1 : 0 : 1 : 0 : 1 : 0 : 1 : 0 : 1 : ----------------------------------------------------------------- : : : : : : : : : : : : : : : : : : 0 1 2 3 4 5 6 : 7 8 9 10 11 12 13 : : B O B O B O B : O B O B O B O : : pixel colors : : :___________ Byte ZERO _________:___________ Byte ONE __________: Figure 6 - Palette 1 - Bit 7 is HIGH - Blue EVEN pixel or Orange ODD pixel All Orange(Turn Blue Off) ______ Palette Select Bit _____ : : 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 ----------------------------------------------------------------- : 0 : 1 : 0 : 1 : 0 : 1 : 0 : 1 : 1 : 0 : 1 : 0 : 1 : 0 : 1 : 1 : ----------------------------------------------------------------- : : : : : : : : : : : : : : : : : : 0 1 2 3 4 5 6 : 7 8 9 10 11 12 13 : : B O B O B O B : O B O B O B O : : pixel colors : : :___________ Byte ZERO _________:___________ Byte ONE __________: End of ReadMe