[comp.sys.amiga.tech] Using PAL screen modes under 2.0

davids@ucscf.UCSC.EDU (Dave Schreiber) (12/04/90)

[line eater fodder....]

I'm putting the finishing touches on a program than runs under 
Kickstart 2.0 and opens it's own screen.  Currently, the program lets
the user choose the screen mode to use (all screens are hires): 
interlaced, non-interlaced, productivity, and productivity-interlaced.
The following tags are used to define the screen type (the screen
is opened using OpenScreenTagList() ):  HIRES_KEY, HIRESLACE_KEY,
VGAPRODUCT_KEY, and VGAPRODUCTLACE_KEY.  

My question is, how can I be certain that if my program is run on
a PAL machine, that the PAL screen resolution will be used?  I've
tried using setting my Workbench screen to use PAL Hires-Interlaced,
but my program still comes up in NTSC.  I don't OR any of the MODE_KEYs
with a MONITOR_ID;  is there something else that needs to be done?  I've
included my program's NewScreen structure below for reference.

struct NewScreen NewScreen = {
   0,0,
   -1,-1,
   2,
   0,1,
   HIRES,  /*I've tried replacing this with NULL, but there's no change*/
   CUSTOMSCREEN,
   NULL,
   "'Liner V2.10b",
   NULL,
   NULL,
};

The only other tag I'm using is SA_PENS, BTW.

One other, unrelated question:  what's the difference between
A2024TENHERTZ_KEY and A2024FIFTEENHERTZ_KEY?  

Thanks in advance.


-- 
Dave Schreiber                                    davids@slugmail.ucsc.edu 
                                or (but not both) davids@ucscb.ucsc.edu
"It was fun learning about logic, but I don't see where or when I will ever
use it again."

peter@cbmvax.commodore.com (Peter Cherna) (12/05/90)

In article <9686@darkstar.ucsc.edu> davids@ucscf.UCSC.EDU (Dave Schreiber) writes:
>
>[line eater fodder....]
>
>I'm putting the finishing touches on a program than runs under 
>Kickstart 2.0 and opens it's own screen.  Currently, the program lets
>the user choose the screen mode to use (all screens are hires): 
>interlaced, non-interlaced, productivity, and productivity-interlaced.
>The following tags are used to define the screen type (the screen
>is opened using OpenScreenTagList() ):  HIRES_KEY, HIRESLACE_KEY,
>VGAPRODUCT_KEY, and VGAPRODUCTLACE_KEY.  
>
>My question is, how can I be certain that if my program is run on
>a PAL machine, that the PAL screen resolution will be used?

HIRES_KEY or HIRESLACE_KEY open up in the "natural" mode of the
machine, PAL or NTSC, depending on how its hardware is configured.
If you want to open up explicitly NTSC, you would specify
NTSC_MONITOR|HIRES(LACE)_KEY, and likewise for explicit PAL.

>I've tried using setting my Workbench screen to use PAL Hires-Interlaced,
>but my program still comes up in NTSC.

Yes, because your machine is still NTSC.  If you want to clone the
Workbench's resolution, that's something else.  (Look up LockPubScreen()
and GetVPModeID() for that).

>One other, unrelated question:  what's the difference between
>A2024TENHERTZ_KEY and A2024FIFTEENHERTZ_KEY?  

The A2024 and Moniterm monitors support two similar Hedley-Hires modes,
one of which is made up of four panels, one of six.  The 4-panelled
one gets a full refresh fifteen times a second, while the 6-panel one
gets a full refresh ten times a second.  The 4-panel one uses a bit
more bandwidth.

Also, as an implementation side-effect, the sprite on the 6-panelled one
is in Hedley-sized pixels, while the sprite is twice as large in the
4-panelled mode.

>Thanks in advance.
>
>
>-- 
>Dave Schreiber                                    davids@slugmail.ucsc.edu 
>                                or (but not both) davids@ucscb.ucsc.edu
>"It was fun learning about logic, but I don't see where or when I will ever
>use it again."


     Peter
--
     Peter Cherna, Software Engineer, Commodore-Amiga, Inc.
     {uunet|rutgers}!cbmvax!peter    peter@cbmvax.commodore.com
My opinions do not necessarily represent the opinions of my employer.
I have found a proof for Fermat's theorem, but there is no room in the .sig!