Jump to content
IGNORED

Help with RIP


patarik

Recommended Posts

Does anybody have description, how to create RIP graphics mode and how to efficient draw to it?

 

I need a resolution 160x192 with 16 independent colors. (it does not matter that it is interlaced)

And if it is possible the graphics mode with fastest (easiest) drawing in it.

 

What graphics mode is best for this requirements?

RIP, CIN? any other?

Link to comment
Share on other sites

You might consider APAC. It's simply done by alternating GTIAs Colour only mode (AKA GR. 11) with it's luminence only mode (GR. 9) each scanline.

 

Problem is, you effectively halve your vertical resolution and get the missing lines effect (they're still there, just near invisible since you usually use a value of 0 or 2 for the luminence of your Colour only lines).

 

RIP, IIRC, is similar to APAC except the "luminence only" lines are swapped with GTIA Pallette mode (GR.10) every second frame.

As such, you need around 12K for the display since you have half the screen being swapped for another one each frame.

 

That gives the illusion of higher resolution since GR.10 pixels are always displayed one colour clock later than GR.9 or 11 ones.

 

You can also have variations of APAC, HIP/RIP etc. where you do a sort of "interlacing" by having the colour and luminence offset by one pixel vertically each frame to give the screen a more solid look. A cheap way of doing that is to just have a Blank DList instruction at the top which alternates between 1 and 2 pixels high.

 

And, you can expand even further on that by using a different screen memory area when doing that, so that the detail of the picture is retained at 1 pixel high instead of 2.

 

 

 

As for drawing in the custom modes - it's up to you to make it easy or hard.

 

If you construct your display list, for example, for APAC, you might want to use an LMS on every line and have the colour lines mapped sequentially, and the luminence lines mapped sequentially in different memory regions.

 

As such, you could treat each of them seperately, and just change the OS screen memory pointer to the relevant one. Then, two PLOT point ops would be needed - one to specify the colour, and one for the luminence.

 

Of course, each "screen" is only half of the actual screen, so the co-ordinates for both should be restricted to 0-79 (X) and 0-95 (Y), although if you want you can always make it bigger anyway.

Link to comment
Share on other sites

You might consider APAC. It's simply done by alternating GTIAs Colour only mode (AKA GR. 11) with it's luminence only mode (GR. 9) each scanline.

 

Problem is, you effectively halve your vertical resolution and get the missing lines effect (they're still there, just near invisible since you usually use a value of 0 or 2 for the luminence of your Colour only lines).

 

RIP, IIRC, is similar to APAC except the "luminence only" lines are swapped with GTIA Pallette mode (GR.10) every second frame.

As such, you need around 12K for the display since you have half the screen being swapped for another one each frame.

 

That gives the illusion of higher resolution since GR.10 pixels are always displayed one colour clock later than GR.9 or 11 ones.

 

You can also have variations of APAC, HIP/RIP etc. where you do a sort of "interlacing" by having the colour and luminence offset by one pixel vertically each frame to give the screen a more solid look. A cheap way of doing that is to just have a Blank DList instruction at the top which alternates between 1 and 2 pixels high.

 

And, you can expand even further on that by using a different screen memory area when doing that, so that the detail of the picture is retained at 1 pixel high instead of 2.

 

 

 

As for drawing in the custom modes - it's up to you to make it easy or hard.

 

If you construct your display list, for example, for APAC, you might want to use an LMS on every line and have the colour lines mapped sequentially, and the luminence lines mapped sequentially in different memory regions.

 

As such, you could treat each of them seperately, and just change the OS screen memory pointer to the relevant one. Then, two PLOT point ops would be needed - one to specify the colour, and one for the luminence.

 

Of course, each "screen" is only half of the actual screen, so the co-ordinates for both should be restricted to 0-79 (X) and 0-95 (Y), although if you want you can always make it bigger anyway.

 

Hmm.

 

OK

I'll try it.

Link to comment
Share on other sites

Does anybody have description, how to create RIP graphics mode and how to efficient draw to it?

 

I need a resolution 160x192 with 16 independent colors. (it does not matter that it is interlaced)

And if it is possible the graphics mode with fastest (easiest) drawing in it.

 

What graphics mode is best for this requirements?

RIP, CIN? any other?

 

If you want to see some working code, the source code to CpegView is available. It can convert JPEGs to RIP, TIN, CIN and APAC, and save images in RIP, TIP and CIN formats.

 

16 truly independent colours isn't possible in CIN or RIP because you're limited to how many colours you can display on a single line, but depending on what you're planning to do, they may be close enough. APAC (Any Point Any Colour) is limited to 80 pixels horizontally, but does give you 256 colours that you use anywhere on the screen.

 

Vertical resolution is variable, I've used 192 here but you can go higher, CpegView uses 200.

 

CIN alternates between a GR.15 screen and a GR.11 screen. The GR.11 screen gives you 16 hues at 80x192, the GR.15 screen gives you 3 independent colours plus the background colour at 160x192. By switching quickly between both screens you can get the appearance of 160x192. You can also change the GR.15 colours on each scan line, to increase the number of colours available across the whole image.

 

RIP alternates between a GR.9 screen and a GR.10 screen. GR.9 gives you 16 levels of brightness in a single colour, GR.10 gives you 8 independent colours + background. The GR.10 pixels are also shifted horizontally by 1/2 pixel with respect to the GR.9 pixels, so you get the appearance of 160x192. You can change some of the GR.10 colours on each scan line, to increase the colours across the whole image.

 

TIP uses GR.9, GR.10 and GR.11, the GR.9 and GR.10 modes are used to give the appearance of 160 pixels horizontally with around 30 levels of brightness, GR.11 adds the colour to the image. The lines alternate so you get: ... GR.11, GR.9 + GR.10, GR.11, GR.9 + GR.10... going down the screen. This limits you to half the vertical resolution, so you'd get 160x96 or so, but you can place any of the available colours anywhere on the screen.

 

None of the modes fully meet your requirements, so it's hard to say what the best mode is without knowing what you want to do with it, but I hope that helped some.

Link to comment
Share on other sites

Hmm.

 

I don't know.

It is possible to display two horizontal neighbour points, that have really different hue or luminance (and worse different hue and luminance) ?

black an white or red and blue?

 

When one of the interlaced screen is GR.9,GR.11?

 

I really need resolution 160x192+

Practically i need only 7 different colors. Remaining 8 are the same only with lower, higher luminance.

 

I was thinking about GR.11 as color screen and GR.15 as screen with luminance mask.

 

But then I can't display neighbour points with different colors (different hue).

 

Thanx for yours answers.

Edited by patarik
Link to comment
Share on other sites

One mode I was thinking of (and AFAIK hasn't been done) would be a variation where you interleave GR. 11 and 10 on one frame, and GR. 10 and 9 on the other one.

 

The second frame would have GR. 10 serving to supply the colour values, although of course you would be limited to 9 hues instead of the full 15.

 

The usefullness might be debatable - the eye detects brightness variation much more than changes in colour in an image - hence the pulldown techniques which are used in JPEG pictures.

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