diff options
Diffstat (limited to 'Source/IFFLib.S')
-rw-r--r-- | Source/IFFLib.S | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/Source/IFFLib.S b/Source/IFFLib.S index 2150632..3ce284c 100644 --- a/Source/IFFLib.S +++ b/Source/IFFLib.S @@ -1,11 +1,11 @@ ** -** $Id: $ -** $Revision: $ +** $Id: IFFLib.S,v 1.1 92/05/12 22:26:51 chris Exp $ +** $Revision: 1.1 $ ** ** $Filename: IFFLib.S $ -** $Author: Christian A. Weber $ +** $Author: chris $ ** $Release: 19.1 $ -** $Date: 92/05/11 21:11:27 $ +** $Date: 92/05/12 22:26:51 $ ** ** Disk-resident library for simple IFF file I/O. Does not handle ** nested PROPs and CATs. Contains special ILBM support routines. @@ -48,6 +48,8 @@ ** 13-Apr-90 V 18.7 DecodePic geht bis 24 Bitplanes ** 07-Oct-90 V 19.1 SaveClip() speichert 256 Farben bei 24 Planes ** An neue 2.0 Includefiles angepasst (JSRLIB..) +** +** IDNT IFFLib SECTION text,CODE @@ -58,7 +60,7 @@ XREF FindOurNode ; Error-Node finden - XREF OpenIFFFunc + XREF OldOpenIFFFunc XREF CloseIFFFunc XREF FindChunkFunc XREF GetBMHDFunc @@ -68,7 +70,7 @@ XREF SaveClipFunc XREF IFFErrorFunc XREF GetViewModesFunc - XREF NewOpenIFFFunc + XREF OldNewOpenIFFFunc XREF ModifyFrameFunc IFD PP_VERSION XREF PPOpenIFFFunc @@ -101,9 +103,9 @@ FirstByte: lea MyLibInfo(PC),a0 ; Adresse des ID-Strings move.l a0,d2 IFD PP_VERSION - moveq.l #65,d3 ; Länge des ID-Strings + moveq.l #67,d3 ; Länge des ID-Strings ELSEIF - moveq.l #45,d3 ; Länge des ID-Strings + moveq.l #42,d3 ; Länge des ID-Strings ENDC JSRLIB Write movea.l a6,a1 @@ -127,16 +129,16 @@ MyROMTag: DC.W RTC_MATCHWORD IFD PP_VERSION MyLibName: DC.B "iffpp.library",0 -MyLibInfo: DC.B "IFFPP 100.3 (01-Jul-1990) Copyright © 1990 by Christian A. Weber",10,0 +MyLibInfo: DC.B "IFFPP 101.1 (14.05.92) Copyright © 1990-1992 by Christian A. Weber",10,0 ELSEIF MyLibName: DC.B "iff.library",0 -MyLibInfo: DC.B "IFF 19.1 (09-Oct-1990) by Christian A. Weber",10,0 +MyLibInfo: DC.B "IFF 19.1 (14.05.92) by Christian A. Weber",10,0 ENDC DOSName: DC.B "dos.library",0 EVEN -Init: DC.L ib_SIZEOF ; data space size +Init: DC.L iffb_SIZEOF ; data space size DC.L FuncTable ; Zeiger auf Funktions-Initializers DC.L DataTable ; Zeiger auf Data-Initializers DC.L InitRoutine ; Initialisierungs-Routine @@ -153,7 +155,7 @@ FuncTable: ;; DC.W -1 ; Switch to WORD-Offset-Mode *** Jetzt unsere IFF-Routinen: - DC.L OpenIFFFunc ; Offset -30 + DC.L OldOpenIFFFunc ; Offset -30 DC.L CloseIFFFunc ; Offset -36 DC.L FindChunkFunc ; Offset -42 DC.L GetBMHDFunc ; Offset -48 @@ -163,7 +165,7 @@ FuncTable: ;; DC.W -1 ; Switch to WORD-Offset-Mode DC.L SaveClipFunc ; Offset -72 DC.L IFFErrorFunc ; Offset -78 DC.L GetViewModesFunc ; Offset -84 - DC.L NewOpenIFFFunc ; Offset -90 + DC.L OldNewOpenIFFFunc ; Offset -90 DC.L ModifyFrameFunc ; Offset -96 IFD PP_VERSION DC.L PPOpenIFFFunc ; Offset -102 @@ -187,18 +189,18 @@ DataTable: INITBYTE LN_TYPE,NT_LIBRARY InitRoutine: movem.l d0-d1/a0-a1/a5,-(SP) movea.l d0,a5 ; Library pointer - move.l a6,ib_SysBase(a5) ; Save SysBase - move.l a0,ib_SegList(a5) ; Save SegList + move.l a6,iffb_SysBase(a5) ; Save SysBase + move.l a0,iffb_SegList(a5) ; Save SegList *** Dos-Library öffnen lea DOSName(PC),a1 ; dos.library öffnen JSRLIB OldOpenLibrary - move.l d0,ib_DOSBase(a5) ; DosBase merken + move.l d0,iffb_DOSBase(a5) ; DosBase merken *** Error-Liste initialisieren - lea ib_ErrList(a5),a0 + lea iffb_ErrList(a5),a0 move.l a0,(a0) ; NewList addq.l #4,(a0) clr.l 4(a0) @@ -221,9 +223,9 @@ OpenFunc: movem.l d1/a0-a2/a5-a6,-(SP) *** Speicher für neuen Error-Node reservieren - moveq.l #er_SIZEOF,d0 ; Amount + moveq.l #ifferr_SIZEOF,d0 ; Amount move.l #MEMF_PUBLIC|MEMF_CLEAR,d1 ; Requirements - movea.l ib_SysBase(a5),a6 + movea.l iffb_SysBase(a5),a6 JSRLIB AllocMem tst.l d0 beq.s .OpenError ; Error ---> 0 zurückgeben @@ -231,11 +233,11 @@ OpenFunc: movem.l d1/a0-a2/a5-a6,-(SP) *** Error-Node initialisieren: Task eintragen - move.l ThisTask(a6),er_Task(a2) + move.l ThisTask(a6),ifferr_Task(a2) *** Error-Node an Liste anhängen - lea ib_ErrList(a5),a0 ; Liste + lea iffb_ErrList(a5),a0 ; Liste movea.l a2,a1 ; Node JSRLIB AddTail @@ -264,10 +266,10 @@ CloseFunc: movem.l a2/a5-a6,-(SP) beq.s 1$ ; nicht gefunden ---> movea.l d0,a2 ; ErrorNode retten movea.l d0,a1 - movea.l ib_SysBase(a5),a6 + movea.l iffb_SysBase(a5),a6 JSRLIB Remove - moveq.l #er_SIZEOF,d0 + moveq.l #ifferr_SIZEOF,d0 movea.l a2,a1 JSRLIB FreeMem 1$: movem.l (SP)+,a2/a5-a6 @@ -298,12 +300,12 @@ ExpungeFunc: movem.l d2/a5-a6,-(SP) bra.s 99$ 1$: movea.l a5,a1 ; LibPtr (zeigt auf NODE) - movea.l ib_SysBase(a5),a6 + movea.l iffb_SysBase(a5),a6 JSRLIB Remove ; Library aus Liste entfernen - movea.l ib_DOSBase(a5),a1 ; dos.library schliessen + movea.l iffb_DOSBase(a5),a1 ; dos.library schliessen JSRLIB CloseLibrary - move.l ib_SegList(a5),d2 ; Segmentliste retten + move.l iffb_SegList(a5),d2 ; Segmentliste retten moveq.l #0,d0 movea.l a5,a1 ; LibPtr |