diff options
-rw-r--r-- | Source/PopChunk.S | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/Source/PopChunk.S b/Source/PopChunk.S index 04a6453..fdf5d38 100644 --- a/Source/PopChunk.S +++ b/Source/PopChunk.S @@ -1,11 +1,10 @@ ** -** $Id: PopChunk.S,v 21.1 92/05/15 03:24:13 chris Exp $ -** $Revision: 21.1 $ +** $Id: PopChunk.S,v 21.2 92/05/17 03:31:01 chris Exp $ +** $Revision: 21.2 $ ** ** $Filename: PopChunk.S $ ** $Author: chris $ -** $Release: 21.1 $ -** $Date: 92/05/15 03:24:13 $ +** $Date: 92/05/17 03:31:01 $ ** ** iff.library/IFFL_PopChunk ** @@ -16,7 +15,6 @@ ** MISSION OF THE AUTHOR. USE AT YOUR OWN RISK. ** - IDNT IFFL_PopChunk SECTION text,CODE @@ -73,11 +71,11 @@ PopChunkFunc: movem.l d2-d3/a2/a5-a6,-(SP) add.l d3,ifffh_ChunkSize(a2) .NoOddChunkSize: - *** FORM-Grösse += Chunk-Grösse + *** ParentChunk-Grösse += Chunk-Grösse moveq.l #8,d0 ; Chunkheadersize add.l ifffh_ChunkSize(a2),d0 ; plus Chunksize - add.l d0,ifffh_FormSize(a2) ; zur Form-Size dazu + add.l d0,ifffh_ChunkSize+8(a2) ; und zur Parent-Chunk-Size dazu *** An den Anfang des Chunks seeken @@ -108,6 +106,14 @@ PopChunkFunc: movem.l d2-d3/a2/a5-a6,-(SP) tst.l d0 bmi.b .SeekError + *** Chunk vom Stack holen (Stack eins nach unten rutschen) + + lea iffh_CStack(a2),a1 ; Destination + lea 8(a1),a0 ; Source + moveq #(iffh_CStackEnd-iffh_CStack-8)/4-1,d0 +.StackDown: move.l (a0)+,(a1)+ + dbf d0,.StackDown + *** Okay bsr ClearError ; Setzt auch D0 auf TRUE |