Newsgroups: comp.sys.apple2.programmer Path: news.weeg.uiowa.edu!nexus.uiowa.edu!hobbes.physics.uiowa.edu!math.ohio-state.edu!wupost!waikato!comp.vuw.ac.nz!actrix.gen.nz!dempson From: dempson@swell.actrix.gen.nz (David Empson) Subject: Re: Double Hires //e := Super Hires //gs ?! Organization: Actrix Information Exchange Date: Fri, 31 Dec 1993 23:55:57 GMT Message-ID: References: <2g1jom$gvu@jac.zko.dec.com> Sender: dempson@actrix.gen.nz (David Empson) Lines: 108 In article <2g1jom$gvu@jac.zko.dec.com> secrist@kxovax.enet.dec.com (Strong datatypes for weak minds.) writes: > > Is there any difference between the double-hires graphics which could > be achieved on the //e and what is called super hires on the //gs ? Super hi-res mode is much more flexible than double hi-res mode. The IIgs supports both of them. A quick summary: Double hi-res: monochrome 560 x 192, or colour 140 x 192 with 16 colours (with limits on positioning of colours). Vertical screen mapping is the same as standard hi-res. Screen is addressed in two 8k chunks, in main and auxiliary memory at the same address ($2000 for page one, $4000 for page two). Bytes are organised in an alternating fashion between main and auxiliary memory (like 80-column text mode). Super hi-res: 320 x 200 with 16 colours per line selected from a palette of 4096. Each line can cause an interrupt when scanned, can be programmed for 640 pixels instead of 320 (any one pixel is limited to four of the sixteen colours available for that line), or placed in "fill" mode (where colour zero inherits the colour of the pixel to its left). The screen is addressed linearly, i.e. line 1 is 160 bytes after line 0, line 2 is 160 bytes after line 1, etc. There is only one screen (but shadowing nearly compensates for this) occupying 32k at location $2000 in bank $E1 (auxiliary memory, shadow screen is in bank $01). > I have some double-hires slides that I can display on my //e but no > information on utilizing this mode. Any pointers ? As I mentioned above, the relationship between the double hi-res and standard hi-res modes is almost identical to the relationship between 80-column and 40-column text modes. To enable double hi-res graphics mode, use the following set of soft-switches: $C050 Graphics mode $C052 Full screen graphics $C054 Page 1 $C057 Hi-res graphics $C00D 80-column video (must write) $C001 80-column store (must write) $C05E Double hi-res graphics The page1/page2 softswitch will now toggle the standard hi-res page 1 area ($2000-$3FFF) between main and auxiliary memory. Double hi-res pictures are normally saved with the first 8k being the auxiliary memory image and the second 8k being the main memory image. You may be able to BLOAD the picture in two halves - enable double hi-res mode, select page 2 ($C055), and BLOAD the first half of the file at $2000. Now select page 1 ($C054) and BLOAD the second half of the file at $2000. If this doesn't work, you can load the second half of the picture at $4000, then move it to $2000 while the page 2 soft-switch is active. If you want to avoid seeing the picture as it loads, leave text mode active while you're doing the load (80-column video need not be active, but 80-column store must be). Here is the full set of soft-switches you might need to use: $C000 (W) 80-column store OFF (page1/page2 changes display screen) $C001 (W) 80-column store ON (page1/page2 toggles memory bank) $C00C (W) 80-column video OFF $C00D (W) 80-column video ON $C050 (R/W) Graphics $C051 (R/W) Text $C052 (R/W) Full screen graphics $C053 (R/W) Split screen graphics and text $C054 (R/W) Page 1 $C055 (R/W) Page 2 $C056 (R/W) Lo-res graphics $C057 (R/W) Hi-res graphics $C05E (R/W) Enable double resolution graphics $C05F (R/W) Disable double resolution graphics Note that if you enable 80-column text mode (using PR#3 or equivalent), 80-column video will already be turned on. I think that 80-column store is turned on by the video firmware whenever it is accessed (it does this on the IIgs, at least, but might behave differently on the IIe and IIc). To be on the safe side, set the 80-column store soft-switch as required before any use of the PAGE1/PAGE2 switch. If you want to use double hi-res page two ($4000-$5FFF), you have to use another method to copy data into auxiliary memory. If the 80 column store soft-switch is enabled, you cannot display page two, and the page one/page two soft-switch just toggles the memory bank for page one. To display the second screen, 80 column store must be OFF, then page one/page two will alternate between displaying the two double hi-res graphics screens. You could use the AUXMOVE routine to copy data to the second page's auxiliary memory section. -- David Empson dempson@swell.actrix.gen.nz Snail mail: P.O. Box 27-103, Wellington, New Zealand