From: daveh@cbmvax.commodore.com (Dave Haynie)
Newsgroups: comp.sys.amiga.hardware
Subject: Re: Avoid the Amiga 4000
Date: 13 Oct 92 20:47:05 GMT
Reply-To: daveh@cbmvax.commodore.com (Dave Haynie)
Organization: Commodore, West Chester, PA

In article <OD.6badnetOA92-901-302p0_5134449a@piraya.bad.se> Roger_Nordin@atb.bbs.bad.se (Roger Nordin) writes:
>> Me and my freinds have a phrase that we use for people like you: "You are
>> on BIG DRUGS!".  You're completely clueless.  The A4000 doesnt NEED a
>> display enhancer.  ....

>Not quite. While the AGA chipset does offer flicker-free video via the Double-
>NTSC/PAL resolutions, it *requires* applications written specifically with 
>support for these modes via the graphics screenmode-database. 

NOT!  Really, the double modes are primarily for promotion.  If you're writing
a new program with knowledge of 2.0/3.0, you never need to worry about writing
specifically for ANY mode.  You simply interrogate the OS to find out the 
specifics of the mode you find yourself in.  If your program needs to offer a
variety of custom screens, it can call the screen mode requester, but with the
advent of public screens and N-deep Workbenchs, few programs other than games
and perhaps live presentation systems even need to worry about custom screens.

For older programs, we have promotion.  It's a natural extension of the way the
OS always worked.  A proper program opens a custom screen, strangely enough, by
filling out a "NewScreen" structure and then passing this structure to the 
Intuition function OpenScreen() (there are lower level functions in graphics.
library, which can be called by applications or Intuition, that actually do
this work).  OpenScreen creates a new screen structure based on its 
interpretation of this NewScreen structure.  As always, an Amiga screen, or any
Amiga display, is dynamic in nature.  A copper list, created by the OS, is
required to generate every screen, you can't simply poke static values in the
Amiga chip registers and expect any lasting display (you might get one frame
if you're lucky).  Obviously user programs CAN do this themselves, but doing so
is against the rules.

Anyway, assuming your program called OpenScreen(), as most do, it's up to the
OS to actually decide how to create the display.  3.0 on an AGA system has
introduced the concept of "Promotion".  Your screen preferences will tell the
OS whether you want screens promoted or not.  If you do, then the OpenScreen()
calls from older programs will get interpreted differently by the OS, coming
out in doubleNTSC or doublePAL modes instead of the old interlaced modes.  

The impact of the dynamic nature of the Amiga display subsystem can't be 
overstated.  Not only do programs that build their own displays miss out on
promotion, they miss out on the enhanced fetch modes of the AGA chipset.  The
low level display paramters are different for 16, 32, and 64-bit fetch modes.
Normal A4000 displays will all be 64-bit modes, but a program that takes over
the system can only get 16-bit fetches.  So its 640x(400|512)x4 not only 
flickers, it eats up CPU bandwidth.  Here's yet another reason to use the OS.
Sure, someone will probably come up with hacks that correct this in some
programs -- it's likely that you could modify a program's copperlist behind 
its back for AGA stuff if it's not changing it around all the time.  But 
bandaids like that can't work for every misbehaved program, and they shouldn't
be necessary, these kinds of programs generally have no reason for being other
than programmer shortsightedness.

>Sorry, but I disagree. Sure, it would be nice if applications would support 
>the displaydatabase and be able to use any screen resolution. But most 
>applications does not support this. 

Again, there's no need to use the display database.  If a program is ignorant
of it, but uses the normal OS routines to open its screen, it can be promoted.
No big deal.


>For instance, I love CygnusEd Pro, but on an A4000 it will operate in 
>interlaced mode

You're on drugs.  Why not actually try CED on an A4000 before deciding what it
will do.  I just did -- it promotes just fine, as one would expect.  What idiot
would write a text editor that opened its screen without the OS?

-- 
Dave Haynie Commodore-Amiga (Cool Advanced High-End Systems You Can't See Yet)
 "The Crew That Never Rests"  {uunet|pyramid|rutgers}!cbmvax!daveh   BIX: hazy
              "I got a pocket full of kryptonite" -Spin Doctors
Newsgroups: comp.sys.amiga.hardware