summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian A. Weber <chris@gna.ch>1993-05-24 15:45:41 +0000
committerChristian A. Weber <chris@gna.ch>1993-05-24 15:45:41 +0000
commit0c910b4f5c2c9cf6a02349d4a324c7fdb185613b (patch)
treebeeb0e971d6dfc9eebef9a0a639fd2032d9b04d2
parent2a2dc20a9632bc5d62934d1f9990ed24389f5a52 (diff)
downloadiff-library-0c910b4f5c2c9cf6a02349d4a324c7fdb185613b.tar.gz
iff-library-0c910b4f5c2c9cf6a02349d4a324c7fdb185613b.tar.bz2
iff-library-0c910b4f5c2c9cf6a02349d4a324c7fdb185613b.zip
FORMs können jetzt verschachtelt werden
-rw-r--r--Source/PopChunk.S20
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