[Coco] 64 column "low res" text sceen on coco3

William Astle lost at l-w.ca
Thu Apr 11 19:26:00 EDT 2013


On 13-04-11 04:16 PM, Arthur Flexser wrote:
> So, all these years we've all believed that the CoCo 3 didn't support any
> of the higher-resolution semigraphics modes...
>
> If I'm following you correctly, the CoCo 3 could be used for 128 x 32
> semigraphics drawing, intermixed with half-width (but fully drawn)
> VDG-style text.  Weird that one one seems to have noticed before.  Nice
> work!

I've done some further experimentation and it turns out you don't get 
128x32 - you actually get 64x32. See below.

I stumbled onto this as a result of discussions on #coco_chat (on 
freenode) about semigraphics modes. I was bored so I started setting 
registers in the FF98..FF9F range and observing the results. This was 
the most interesting result.

It turns out that FF9F also works as expected. (The horizontal 
scroll/offset register), including the "256 bytes per line" mode. I can 
see that being useful.

FF9C does (as has been documented elsewhere) sets up for higher 
semigraphics modes except that text rendering doesn't function 
correctly. It seems to function by reducing the character row height 
depending on the value put in FF9C. Text characters seem to be aligned 
with the bottom of the cell instead of the top so the top of the 
characters gets clipped as the lines per character row are reduced. In 
any mode that is not 12 lines per character row, the graphics blocks are 
rendered differently. The values for FF9C work as follows. Unless 
otherwise noted, the bottom two elements of each graphic block are shown 
for all lines of the character row. These have all been confirmed 
experimentally.

0: 11 lines per row
1: 10 lines per row
2: 9 lines per row
3: 8 lines per row
4: 7 lines per row
5: 6 lines per row
6: 5 lines per row
7: 4 lines per row
8: 3 lines per row
9 : 2 lines per row
10: 1 line per row
11: 4 lines per row (1)
12: 3 lines per row (2)
13: 2 lines per row
14: 1 line per row (4)
15: 12 lines per row (3)

(1) All four elements of the graphic block are rendered as expected, at 
2 lines per element.
(2) All four elements of the graphic block are rendered as expected with 
the top elements 1 line high and the bottom elements 2 lines high.
(3) Regular rendering is enabled as usual for the 32 column screen.
(4) This one uses the top two elements in the graphic block rather than 
the bottom two.

Further careful experimentation reveals that the graphics blocks behave 
differently when combined with the 64 column mode. It turns out that 
only the left hand elements in the graphics block are shown for 
whichever row is displayed. So what we actually have is 64x32 where 
every horizontal pixel can have a different colour. Combined with the 
semigraphics bits in FF9C, we can have 64x192 with 9 colours with all 
elements of the display having independent colours at the expense of 
twice the memory usage. (1 byte per pixel). This could also be 64x32, 
64x64, 64x48, etc., using the FF9C bits. It's too bad the character 
generator doesn't do anything useful in these modes.


>
> Art
> On Thu, Apr 11, 2013 at 5:42 PM, William Astle <lost at l-w.ca> wrote:
>
>> I don't know if this is known or not. I can't believe I'm the first person
>> to try poking values into $FF99 while in the 32 column "low res" text mode.
>> Anyway, I found it interesting.
>>
>> Anyway, with the GIME set up for the 32x16 "coco2" text screen, if you set
>> $FF99  to $10, you will end up with a 64x16 "coco2" text screen which uses
>> 1024 bytes of memory. This screen still supports all the "SG4" graphics
>> blocks.
>>
>> The "lines per field" setting seems to work, too. Setting it to 200 or 225
>> lines seems to work as expected. Setting $FF99 to $70 yields a 64x19 text
>> screen though the bottom 3 rows of the last line are missing. ($60 would
>> give 32x19.)
>>
>> If you're messing with this from basic, you'll need to use a program like
>> the following to see the result because basic resets all the video
>> registers.
>>
>> 10 WIDTH32
>> 20 POKE&HFF99,&H10
>> 30 GOTO30
>>
>> Note that this is totally distinct from the high resolution 64 column text
>> mode.
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> http://five.pairlist.net/**mailman/listinfo/coco<http://five.pairlist.net/mailman/listinfo/coco>
>>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>




More information about the Coco mailing list