Jump to content
IGNORED

Using HIP in character mode


Recommended Posts

I've been doing some experiments in trying to use the HIP Graphics 10/9 and 10/11 pixel shift in character mode, to essentially make a character map mode which will allow 160 colors at an apparent 160 pixel across resolution. I'm posting up a few pictures to show my results.

 

What I have done is a modification of Bill Kendrick's Super-IRG, except that in addition to a character set flip, I am also toggling the GTIA settings between mode 9 (or 11) and mode 10 every vblank. I am also in normal Graphics 0 (antic 2) although I believe this would also work in the other antic text modes (Graphics 12 and graphics 1). So it's essentially a toggle between a Graphics 0/10 character set and a Graphics 0/9 (or 0/11) set. In 9/10, mode 10 is the chroma mask and mode 9 is the luminance mask. In mode 10/11, 10 becomes the luminance mask although you can vary the chroma for some interesting effects.

 

A few rules to follow:

 

For readable text, you have to design your letters with two pixel horizontal resolution, so essentially you would use character combination to get 20 characters across at Graphics 1 resolution. You also need to avoid the outer left and right edges, or you can get some nasty artifacting when placing your characters together.

 

You are using basically an interlocking 5x8 grid per character, with the middle three columns common between both sets, and the first and fifth column bleeding over into the next character grid. When designing two characters side by side, this becomes a 9x8 grid with a commonality of 7x8.

 

When using 9/10, design your graphics 10 set using bit 1000 (register 712) as the background color if you want to use PM graphics. This will lead to the border flickering using PCOLR0 but will allow PMG's to display. You will need to keep register 712 set to luminance 0. If you don't want to use PMG's you can leave 704 set to 0, this decreases the number of colors you can use slightly. If you do set 704 to anything besides 0, keep your characters away from the left and right edges or you will get some nasty artifacts.

 

When using 10/11, keep 712 set at hue 0 luminance 4. If you want to use PMG's you can use a playfield register (708-711) as your background color for the mode 10 set.

 

So far I've managed to get one character (a capital "A") to display. I'm working to get a full set done.

 

The first two pictures are from mode 9/10 .. the third is mode 10/11.

 

I am also including the Action code I used (a modification of Bill Kendrick's) and the fonts as well

post-23798-1249064084_thumb.png

post-23798-1249064095_thumb.png

post-23798-1249064105_thumb.png

hitmode.zip

Link to comment
Share on other sites

Hello Syntho.

We never talk eachother but I have been watching all your work with this modes.

Could you put here some kind of a instructions mode by mode, registers, places on letters with correspondent colours? With some little basic programs, too?

Probably, in some way it will be possible to create a char editor.

I am trying to read all you say, but sometimes, probably my different language...

 

Thank you for the attention.

Greetings.

Jose Pereira.

Link to comment
Share on other sites

Well, I am currently working on a font editor in TurboBASIC which will allow you to edit fonts in the GTIA modes. It helps to know how to edit in these modes, when making fonts for this software mode. I've attached a textfile which documents all the GTIA text modes. I think Rybags has also done an excellent writeup of Graphics 12.11 elsewhere in the forum as well.

 

Basically, in Graphics 0.9-0.11 you are using a 2x8 grid with each grid having 4 bit combinations to produce the 16 colors ... or the 9 colors when using 0.10 ...

 

When using HIT mode, these two grids interlock, with the mode 10 grid being shifted half a pixel to the right, which gives you a 5x8 grid ... the first column is purely graphics 0.9/0.11, the last one is 0.10, and the middle three are interlaced. the first and last columns will also bleed over into neighboring character cells. This will let you use up to 144 colors.

 

HIT mode can also be used in Graphics 12.9-12.11 but you get fewer colors (I think about 126) as there are fewer bit combinations. The advantage is that this mode can be used to design two-color text, the second color being used when you turn on the high bit (inverse). Also, HIT 12 and HIT 0 can be mixed simply by changing your display list to ANTIC 4 wherever you want it to display.

gtia.txt

Link to comment
Share on other sites

Using Gr. 12 (Antic 4) isn't all that useful unless you're wanting to alternate between a GTIA mode and normal per scanline to get a result similar to CIN (160 pixel, 5 luma values).

 

The problem being that since you can't have both PF2 and PF3 within a cell, you can't generate all bit possibilities, and lose a few colours in each GTIA mode.

 

An alternative exists but emulation doesn't necessarily simulate it properly.

As is well known, if you switch to a GTIA mode then back to normal, in a hires mode you get multicolour mode instead of hires, with colours mapped to PF0-PF3.

 

This quality could be utilised in Gr. 0, alternating GTIA and "normal" modes per scanline to give you GTIA mode on even scanlines, multicolour on odd. The CPU use is slightly more, but in these alternating modes you generally have 100% of the CPU dedicated to these mode changes anyway.

Link to comment
Share on other sites

Using Gr. 12 (Antic 4) isn't all that useful unless you're wanting to alternate between a GTIA mode and normal per scanline to get a result similar to CIN (160 pixel, 5 luma values).

 

The problem being that since you can't have both PF2 and PF3 within a cell, you can't generate all bit possibilities, and lose a few colours in each GTIA mode.

 

An alternative exists but emulation doesn't necessarily simulate it properly.

As is well known, if you switch to a GTIA mode then back to normal, in a hires mode you get multicolour mode instead of hires, with colours mapped to PF0-PF3.

 

This quality could be utilised in Gr. 0, alternating GTIA and "normal" modes per scanline to give you GTIA mode on even scanlines, multicolour on odd. The CPU use is slightly more, but in these alternating modes you generally have 100% of the CPU dedicated to these mode changes anyway.

 

You get about 14 out of the 16 bit combinations on GTIA 9 and 11 in mode 12, and actually all of the Graphics 10 colors are accessible in 12.10, but as you said, some of these are split between the two pallettes, so not all of the 14 (or 9) colors are available in each character. In 12.9 and 12.11 there are I think 12 per each pallette. 12.10 is the oddball, in that there are 6 colors available in pallette 1 but 7 in pallette 2 (the inverse one) because of the wacky way the Graphics 10 colors are allocated. Keep in mind these results are based on Atari800Win, the results on a real Atari might be different.

Link to comment
Share on other sites

  • 4 weeks later...

I've made a bit of further progress, and can now demonstrate 4 interlace modes, along with the necessary code to use from BASIC. I've actually written these programs in Turbobasic, but you should be able to use these in BASIC with few modifications. The accompanying screenshots are pallette tests showing all the colors available. The flicker on these modes is generated using a Display list interrupt.

 

Mode 1: Super 0.10

This is an interlaced GRAPHICS 0.10 (mode 0 with GTIA set to 10) which allows for a 2x8 character grid and 45 possible colours. It is modelled on the Super-IRG mode (Gemdrop) in that only the character set gets changed every screen redraw.

 

Mode 2: HIP 0

This is the character mode equivalent of the HIP mode, interlacing GRAPHICS 0.9 with 0.10 every scan, and utilizing a bug in the GTIA chip which shifts the mode 10 pixels one color clock right. This gives you a simulated 4x8 character grid. This mode displays 144 possible colours. In this case, we have a 0.10 pallette interlacing with the 0.9 monochrome. It's advisable to keep COLBK set to 0 so that the mode 9 shades display properly

 

Mode 3: CIP 0 (Color Interlaced Picture)

This mode is same as above except this time you get a mode 10 pallette interlaced on the mode 11 colors. In this mode, it's best to set COLBK to 4 so that the mode 11 colors display properly.

 

Mode 4: APAC 0

This is the textmode version of APAC. You get a 2x8 character grid which can display any of the 256 colors. The screen flips three registers every scan: Character set, GTIA (9 and 11), and COLBK between 0 and 4 to ensure proper display.

 

 

 

I am working on a font editor which will edit fonts for these modes and other ones (including SuperIRG and the CIN 12/12.11 mode).

post-23798-125167608162_thumb.png

post-23798-125167610317_thumb.png

post-23798-125167612453_thumb.png

post-23798-12516761372_thumb.png

interlace.zip

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...