diff options
author | Christian A. Weber <chris@gna.ch> | 1993-05-24 15:45:28 +0000 |
---|---|---|
committer | Christian A. Weber <chris@gna.ch> | 1993-05-24 15:45:28 +0000 |
commit | 2a2dc20a9632bc5d62934d1f9990ed24389f5a52 (patch) | |
tree | 68c5592753d42e4cde3cc2af9b0c7f017d31fc6c /Source/GetViewModes.S | |
parent | 193961d7392779b8a27060d918979a41ff1d18eb (diff) | |
download | iff-library-2a2dc20a9632bc5d62934d1f9990ed24389f5a52.tar.gz iff-library-2a2dc20a9632bc5d62934d1f9990ed24389f5a52.tar.bz2 iff-library-2a2dc20a9632bc5d62934d1f9990ed24389f5a52.zip |
Keine Änderungen
Diffstat (limited to 'Source/GetViewModes.S')
-rw-r--r-- | Source/GetViewModes.S | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/Source/GetViewModes.S b/Source/GetViewModes.S index ff98a82..c59900a 100644 --- a/Source/GetViewModes.S +++ b/Source/GetViewModes.S @@ -1,11 +1,10 @@ ** -** $Id: GetViewModes.S,v 21.1 92/05/15 03:22:48 chris Exp $ -** $Revision: 21.1 $ +** $Id: GetViewModes.S,v 21.2 92/05/18 02:18:15 chris Exp $ +** $Revision: 21.2 $ ** ** $Filename: GetViewModes.S $ ** $Author: chris $ -** $Release: 19.1 $ -** $Date: 92/05/15 03:22:48 $ +** $Date: 92/05/18 02:18:15 $ ** ** iff.library/IFFL_GetViewModes ** @@ -20,6 +19,7 @@ IDNT IFFL_GetViewModes SECTION text,CODE + INCLUDE "graphics/view.i" INCLUDE "IffLib.i" XREF FindChunkFunc,GetBMHDFunc @@ -67,16 +67,8 @@ * ***************************************************************************** - *** Flags, die nur in graphics/view.h aber nicht .i sind (!) -HAM: EQU $0800 -SPRITES: EQU $4000 -VP_HIDE: EQU $2000 -GENLOCK_AUDIO: EQU $0100 -GENLOCK_VIDEO: EQU $0002 -EXTRA_HALFBRITE: EQU $0080 - -MODESMASK: EQU ~(SPRITES|VP_HIDE|GENLOCK_AUDIO|GENLOCK_VIDEO) +MODESMASK EQU ~(V_SPRITES|V_VP_HIDE|GENLOCK_AUDIO|GENLOCK_VIDEO) GetViewModesFunc: move.l a2,-(SP) @@ -84,24 +76,28 @@ GetViewModesFunc: movea.l a1,a2 ; A2 : IFFFile move.l #'CAMG',d0 bsr FindChunkFunc ; setzt Z-Flag wenn not found - beq.s CalcEm ; not found ---> Berechnen + beq.b CalcEm ; not found ---> Berechnen movea.l d0,a0 ; Zeiger auf CAMG.... move.l 8(a0),d0 ; ViewModes + tst.w 8(a0) ; Oberes WORD == 0 ? + bne.b 1$ ; Nein ---> Nix ausmaskieren andi.l #MODESMASK,d0 ; Verbotene Bits ausmaskieren - bra.s Ende ; ---> +1$: bra.b Ende ; ---> - *** ViewModes aus BMHD berechnen, 0 falls kein CAMG + *** ViewModes aus BMHD berechnen, 0 falls kein BMHD CalcEm: movea.l a2,a1 ; IFFFile bsr GetBMHDFunc ; BitMapHeader suchen ;; tst.l d0 ; nicht gefunden? - beq.s Ende ; dann 0 zurückgeben + beq.b Ende ; dann 0 zurückgeben movea.l d0,a0 ; A0 : BMHD-Struktur - bsr.s CalcViewModes ; ViewModes nach D0 + bsr.b CalcViewModes ; ViewModes nach D0 + IFD OLDBADHAMPICTURES cmpi.b #6,bmh_nPlanes(a0) ; 6 Bitplanes ? - blt.s Ende ; nein ---> + blt.b Ende ; nein ---> bset #11,d0 ; ViewModes |= HAM + ENDC Ende: movea.l (SP)+,a2 rts @@ -130,7 +126,8 @@ Ende: * viewmodes - ULONG containing the view modes (LACE, HIRES) * * BUGS -* too many to mention +* Knows nothing about Monitor IDs or new View modes like SUPERHIRES +* or HAM8. You should not use this function in new code. * * SEE ALSO * IFFL_GetViewModes(), IFFL_SaveClip() @@ -140,14 +137,14 @@ Ende: CalcViewModes: moveq.l #0,d0 ; D0 : ViewModes cmpi.b #4,bmh_nPlanes(a0) ; mehr als 4 Planes ? - bgt.s NotHiRes ; ja ---> nicht HiRes + bgt.b NotHiRes ; ja ---> nicht HiRes cmpi.w #400,bmh_Width(a0) ; Bildbreite > 400 ? - ble.s NotHiRes ; nein ---> + ble.b NotHiRes ; nein ---> bset #15,d0 ; ViewModes |= HiRes NotHiRes: cmpi.w #320,bmh_Height(a0) ; Bildhöhe > 320 ? - blt.s NotInterlace ; nein ---> + blt.b NotInterlace ; nein ---> bset #2,d0 ; ViewModes |= Interlace NotInterlace: rts |