Jump to content
IGNORED

Informations on TIP & Mode9++ used in Numen


Recommended Posts

ok.... here are some informations how we managed to get so much colors on the screen of numen and a very new trick how to use the VSCROL register to cheat GTIA...and speed up mode9+ and mode 10+ (Vector modes...)

 

http://www.s-direktnet.de/homepages/k_nadj/tip.html

http://www.s-direktnet.de/homepages/k_nadj...dj/mode9++.html

 

have a look... thanks fox for providing the english text.

 

hve

Link to comment
Share on other sites

Those 2 articles are beyond what I understand of Atari 8bit graphics, but thanks anyway. It was an interesting read, though I didn't understand all of it.

 

I would really like to investigate making interesting vector-style graphics on the 5200(/8bit). What mode would you recommend for making vector visuals? Additionally, are there any articles anywhere which would help to explain how a 3D engine is written and works on the Atari 8bit?

 

For example, do you need a Z-axis table to determine if your sprite is colliding with objects?

 

Also, I'm unsure how to draw the vector straight lines on-the-fly, given two coordinates. Say I'm in a bitmap mode like Antic E, and I want to draw a triangle with 3 points. Do I keep X,Y,Z coordinates in a table in memory for each point?

Link to comment
Share on other sites

ok...

 

http://www.s-direktnet.de/homepages/k_nadj/i.html

 

there are some of my productions:

 

HIP example is the "green rendered taquart logo" i have done for interjam 1997 (boy...5 years gone like nothing...)

 

RIP is sort of a colored version of HIP. it looks like the "ABBUC" colored HIP i have done for abbuc intro #52

 

the "1997" & "TQA" bump-mapping effect is done in "mode9+"

 

http://www.uni-karlsruhe.de/~un55/Atari8/demos.html

 

there is the world 1st HIP-demo done by me in 1996.

and an example of overscan HIP see therefore "Ultra2pre"-preview demo.

 

demos which used HIP are (the famous ones:)

 

Trip6 by Shadows

RIP was used in a good demo i have forgotten...maybe fox knows it better...it showed a colored landscape with trees and the chars "RIP".

 

and TIP is used in numen

 

hve

Link to comment
Share on other sites

I wasn't quite sure what numen was.. but I found it here:

 

"NUMEN - atari 8bit demo by TAQUART group released at Lato Ludzików 2002 in Opalenica, POLAND. The WINNER at demo compo on this party."

http://numen.scene.pl/?f=n0

 

To run it you need to enable rambo 320k ram and pal mode. Looks great with Atari800 DOS.

 

calamari

post-608-1030176421_thumb.png

Link to comment
Share on other sites

  • 2 weeks later...

I've been messing around with HIP/TIP, etc. I'm not all the way there yet, but here is what I've discovered so far (if any of this is incorrect, PLEASE tell me):

 

These special modes work on an Antic F screen. Each line should have the DLI bit set, including the graphics memory setting lines (so they'll be $CF, and the regular mode lines will be $8F). An Antic F screen uses a lot of memory and crosses a page boundary, so it is important to split up the graphics into 2 or more parts to avoid screen artifacts. This is why my display list has another screen memory set in the middle.

 

I am not sure that I've got TIP working, but I did find a few new screen modes that weren't discussed in the article. One was for 320x96x16 colors (each 4 pixels share the same color). My favorite of the new modes is 80x96x256 colors. This one is great because the colors are very easy to set up. Lay down a line (40 bytes) of colors, then a line (40 bytes) of brightnesses. These combine into 256 distinct colors due to a GTIA bug. There is a blank line between each line of graphics because ANTIC was expecting it to take 2 lines to display, but it only drew one.

 

To get the CIP (calamari Interlaced Picture ;)) mode, alternate between Graphics 9 (PRIOR=$40) and Graphics 11 (PRIOR=$C0). There is no flicker with this mode. TIP uses a more complicated switching screen with 2 pages of graphics (so it flickers slightly). But you get the nice 160x96x256 resolution. If anyone has figured out the details of TIP please explain them to me.

 

Here is a 5200BAS program example of the CIP 80x96x256 color mode. It works great on the emulator, but there is some kind of problem with it on the 5200, the left side looks great, but the colors go weird on the right. Probably a simple oversight on my part. The complete example with source, binary, etc is at http://www.azstarnet.com/~jeffryj/lake.zip

 

'Atari 5200 Lake Demo 80x48x256 

'Programmed by Jeffry Johnston, 2002

'For 5200BAS Basic Compiler



DEFINE MODE,$FF

DEFINE DLIH,$0207



'---------------------------------------------------------------------

' MAIN

'---------------------------------------------------------------------

TITLE OFF

SET VDSLST=$B400 DLI1:SET VVBLKD=$B600 VBI

MEMCOPY $B000,$1000,210:DLIST $1000

PCOLR0=$00:PCOLR1=$02:PCOLR2=$04:PCOLR3=$06

COLOR0=$08:COLOR1=$0A:COLOR2=$0C:COLOR3=$0E

COLOR4=$00



MODE=$B4:Y=0

DO:LOOP 'View the picture



'---------------------------------------------------------------------

' DLI 1 

'---------------------------------------------------------------------

SUB DLI1

 A=PEEK($B800+Y):PRIOR=A 'Set new GTIA mode

 A=Y:A=A+1:A=A AND $03:Y=A 'Prepare for next mode

END SUB



'---------------------------------------------------------------------

' DLI 2 -- Only needed for TIP 

'---------------------------------------------------------------------

.ORG $B500

 A=PEEK($B900+Y):PRIOR=A 'Set new GTIA mode

 A=Y:A=A+1:A=A AND $03:Y=A 'Prepare for next mode

END SUB



'---------------------------------------------------------------------

' VBI -- Only needed for TIP

'---------------------------------------------------------------------

SUB VBI

 'A=MODE:A=A XOR $01:DLIH=A:MODE=A 'Switch between DLI's (TIP)

 POP ALL

END SUB



'---------------------------------------------------------------------

' DLI TABLES

'---------------------------------------------------------------------

.ORG $B800

.BYTE $40,$C0,$40,$C0; 80x96x256 CIP

'.BYTE $C0,$80,$C0,$40; 160x96x256 TIP



.ORG $B900          

.BYTE $C0,$40,$C0,$40; 80x96x256 CIP

'.BYTE $C0,$40,$C0,$80; 160x96x256 TIP



'---------------------------------------------------------------------

' DISPLAY LIST -- 192 Antic F DLI lines

'---------------------------------------------------------------------

.ORG $B000

.BYTE $70,$70,$70

.BYTE $CF

.WORD $5000;$1005 top half of screen memory is at $5000

.BYTE $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F

.BYTE $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F

.BYTE $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F

.BYTE $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F

.BYTE $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F

.BYTE $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F

.BYTE $CF

.WORD $6000;$1067 bottom half of screen memory is at $5000

.BYTE $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F

.BYTE $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F

.BYTE $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F

.BYTE $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F

.BYTE $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F

.BYTE $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F

.BYTE $41

.WORD $1000



'---------------------------------------------------------------------

' SCREEN DATA

'---------------------------------------------------------------------

'Format is 40 bytes (80 pixels, 1 line) of colors, followed by

'40 bytes (80 pixels, 1 line) of brightnesses.  This displays as 1

'line of 256 colors, followed by a blank line.  Screen is 192 lines

'tall.  Data is split between $5000 (lines 0-95) and $6000 (lines

'96-191).

.ORG $5000

#INCLUDE LAKE.INC

 

Enjoy,

calamari

post-608-1031019096_thumb.png

Link to comment
Share on other sites

Calamari that's very COOL - CIP indeed!!!

 

Back in 1986 Red Rat Software released a program called Technicolor Dream for the 8bits - a 256 color painting program that used just the mode you've shown there - 80X96 in 256 colors.

 

Lots of TD pictures exist, and it can produce very fine results when done properly - I even have an original boxed copy of the program, it came with several pieces of example art and also BASIC code to get the pictures into your own programs!

 

You can get the program from the Holmes archive...

 

I think this was the first time any of the GTIA mode tricks discovered were made known - long before HIP/APAC/TIP etc...

 

sTeVE

post-579-1031070719_thumb.jpg

Link to comment
Share on other sites

Thanks for the compliments and history behind this special screen mode! If it was used elsewhere that means it must be possible to fix whatever bug is messing up my screen on the real thing :)

 

How much ROM space is needed? I'm not sure actually, let's calculate it and find out:

 

80 pixels per row * 96 pixels per column * 1/2 byte per pixel * 2 of each row = 80*96 = 7,680 bytes per screen.

 

However, the image is really split in the middle of the screen to accomodate the whole page boundary $5000 and $6000 thing. The top half of the screen uses 80*48=3840 bytes. That means it wastes $1000-3840, or 4096-3840=256 bytes in the gap between the end of the $5000 page data and the beginning of the $6000 page.

 

That means it takes up 7,936 bytes of ROM space per screen in a raw format. Those 256 bytes could still be put to use, though. :)

 

This could make for some interesting graphical adventure games with proper compression and bankswitching. I enjoyed the old Sierra adventure games, until they went point & click anyways.

 

calamari

Link to comment
Share on other sites

try to get the displaylist at $x010 boundaries... this helps you with the 4k boundary....

 

or check where atari basic sets the display list...

 

gr.8+16:ad=peek(560)+peek(561)*256:end

print ad

 

so you don't need an overhead... 40*192=7680 bytes screen-ram for a standard highres atari screen...

 

hve

Link to comment
Share on other sites

This looks really cool. I haven't read the documentation yet but I have 2 quick questions.

 

So what you are producing is an ANTIC F screen with more than 1.5 colors?

 

If so then I'm going to go back to Tempest's old question. His title screen for Cypher is half ANTIC F and the other as ANTIC 2. Can he use the HIP/TIP... to create his title in ANITC F with a green color and black background? Go to the Cypher In Development page here on AtariAge to see the screen he would like to see.

Link to comment
Share on other sites

Neat stuff everyone! Cool pics.

 

I remember seeing some Technicolour Dream pics (or CIP, Calamari :D ) ages ago, and wondered how the hell they worked. Now we know! I don't think this is down to a GTIA bug here though(?). I seem to remember if you look real close, you can just about see the grey pixels under the colour ones. Could be wrong though...

 

Sure wish I could do some of this for my game project (the sheer number of dlis will slow it down too much, I reckon - and it struggles already! :sad: )

 

If anyone else (like me) had trouble understanding how the HIP and TIP could make 160 resolution rather than just 80 like normal, Heaven has another doc you need to see, which explains a GTIA bug which makes HIP and TIP possible.

 

http://www.s-direktnet.de/homepages/k_nadj/hip.html

 

Without knowing Gr.10 shifts the display by 1/2 pixel, HIP and TIP don't make much sense.

 

My understanding of this (please correct me if I'm wrong), is that Gr.10 pixels are always 1/2 pixel further across the screen than the same pixels in Gr.9 or 11 (which is kind of bizarre). Since all these modes are 80 pixels wide, the overlap area between Gr.9 or 11 and 10, is 1/2 a pixel, or 160 resolution. With a bit of careful selection of colour and rapidly swapping round the Gr.9 and Gr.10 every VBlank (called interlacing by some), the eye is fooled into seeing more detail - with the Gr.9 or 11 superimposed over the top of the Gr.10 - although it has to look a little fuzzy round the edges because of this.

 

Without this bug HIP and TIP would not be possible - the hscroll register doesn't scroll 1/2 large pixels unlike the C64 :x (that is right, isn't it?) - So thankyou Atari for that screwup!

 

Chris :)

Link to comment
Share on other sites

chris, i could try to convert the space harrier screen to TIP??? and try to get a display routine from fox... what do you think?

 

hve

 

That would be fantastic if you can, and get time! I definitely couldn't write my own display routine at the moment without at least a bit of help. If fox has one he doesn't mind sharing, that would be even better.

 

I'll try get a good shot of the title page from Mame onto my web site and post the link to it here if you want something to experiment with

 

Thanks,

Chris :)

Link to comment
Share on other sites

Okay, I got 80x192x256 CIP working. It uses two display lists to point to 2 screens of the picture: one for odd lines, the other for even lines. One display list only wastes 23 lines at the top instead of 24 so that mixes the two images. I also cleaned up the Basic program quite a bit (all the TIP stuff is gone from this version).

http://www.azstarnet.com/~jeffryj/archway.zip

post-608-1031223595_thumb.png

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