Jump to content
IGNORED

Color in Antic E


Recommended Posts

So, you don't want GTIA mode variations? OK, they're not very useful in that mode anyway.

 

There's PMG underlay, of course whatever you're doing with PMGs you need 4x size to cover a standard screen. But you could use a Kernal to have reuse on 2 Players (change position and graphics).

 

You can have PRIOR=00 which will give ORed colours. Player 0 or 1s colour gets ORed with PF0 and PF1 colours. Pl 2/3 gets ORed with PF2s colour.

 

If you can stand partial coverage, you can overlay Player 0/1 and Player 2/3 and in multicolour Player mode you get more combinations.

 

Or you can just have a priority mode where Playfield is always on top, then use PMGs as underlays.

 

 

Using character mode (Antic 4) is sometimes more desirable, gives you that extra colour (PF3 replacing PF2 selectable by character cell).

You can use VScrol tricks to generate shortened characters. For example, use 4 pixel high characters, and toggle upside down characters in places (CHACT) lets you use all the memory of the character set rather than letting half go to waste).

 

If you wanted you could have 1 or 2 pixel high characters to give more colour choices (PF2/3) but it becomes very CPU intensive.

Edited by Rybags
Link to comment
Share on other sites

You can use VScrol tricks to generate shortened characters. For example, use 4 pixel high characters, and toggle upside down characters in places (CHACT) lets you use all the memory of the character set rather than letting half go to waste).

 

If you wanted you could have 1 or 2 pixel high characters to give more colour choices (PF2/3) but it becomes very CPU intensive.

Didn't know that!

 

Could you point me to some details and code for that ?

And what does VScrol trick actually do ? is it like c64s tricks with vscroll ?

At certain line you change VScroll value so Antic thinks its 'bad line' ?

Where should that change be done ?

 

And what is CHACT ?

How would that trick work ?

 

Hope its not to much questions :)

Link to comment
Share on other sites

CHACT controls character attributes.

 

Whether bit 7=1 in Mode 2 makes Inverse, normal or Blank characters.

Upside down characters.

 

By turning characters upside down, you can waste less memory when you use shortened characters.

 

VScrol trick is fairly simple - to use it, you need to understand what logic Antic uses with character display.

In the Display List, a VScrol enabled bit defines start of a scrolling zone. Bit clear means the end of the zone, which will include that line.

What you do is group together instructions so you have VScrol set, clear, set, clear etc. That means you have a whole bunch of 2 line scrolling zones.

 

The rule for V-scrolling is:

on the first line of a scroll zone, start displaying at the scanline of the character corresponding to whatever VSCROL register is set to.

On "middle" lines, just show the entire character as normal - of course it might be shifted upwards a bit.

On the last line, display line 0 of the character, up to whatever the VSCROL value is.

 

So, by changing VScrol value for our pairs, we can have shortened characters. Heaven did a 6 pixel high character display program some time back. My MemoPad 480i demo released not long ago uses the trick extensively for the shortened characters it displays.

 

The VScrol change should be made on the scanline before the text line starts (so set DLI bit on previous DList Instruction). Wait 2 cycles after a WSYNC (NOP or LDA #) then do the STA VSCROL.

Link to comment
Share on other sites

I found this:

 

CHACT 755 02F3 Character mode register, controls how

characters are displayed:

VALUE INVERSE CHARS-ORIENTATION CURSOR

0 inverse upright absent

1 blank upright absent

2 normal upright transparent

3 solid upright opaque

4 inverse inverted absent

5 blank inverted absent

6 normal inverted transparent

7 solid inverted opaque

 

I think I read somewhere that you can use whole 256 of characters with help of this register....

How would it be done ?

What good are inverse chars?

 

p.s. I understand verticaly inverted chars used in shortened chars ... But even then you use only first 128 ?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...