diff --git a/test/runtests b/test/runtests old mode 100644 new mode 100755 index 4331c70..664fe21 --- a/test/runtests +++ b/test/runtests @@ -1,3 +1,8 @@ for t in test* ; do - [ -d $t ] && (pushd $t; ./cc || exit 1; popd) -done \ No newline at end of file + if [ -d $t ]; then + echo cc $t + pushd $t + ./cc || { popd; echo $t failed; exit 1; } + popd + fi +done diff --git a/test/test1/cc b/test/test1/cc index 8ad27dd..06148f3 100755 --- a/test/test1/cc +++ b/test/test1/cc @@ -1,5 +1,5 @@ m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 -m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s || exit 1 -r="$(diff golden.s test.s)" -[ "$r" == "" ] || echo $r +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s -fbbb=- || exit 1 +r="$(diff --brief test.s golden.s)" +[ "$r" == "" ] || diff test.s golden.s [ "$r" == "" ] || exit 1 diff --git a/test/test1/testno.s b/test/test1/testno.s index 6c93414..f83b13c 100644 --- a/test/test1/testno.s +++ b/test/test1/testno.s @@ -7,7 +7,8 @@ _strcpy: move.l a0,d0 move.l a0,a2 .L2: - move.b (a1)+,(a2)+ + move.b (a1)+,d1 + move.b d1,(a2)+ jne .L2 move.l (sp)+,a2 rts @@ -30,7 +31,8 @@ _hiscore_addScore: lea (4,a2),a1 lea (-4,a2),a0 .L9: - move.b (a0)+,(a1)+ + move.b (a0)+,d1 + move.b d1,(a1)+ jne .L9 subq.l #1,d2 subq.l #8,a2 @@ -51,20 +53,23 @@ _hiscore_addScore: add.l #_hiscore+12,a0 move.l d0,a1 .L13: - move.b (a1)+,(a0)+ + move.b (a1)+,d1 + move.b d1,(a0)+ jeq .L6 - move.b (a1)+,(a0)+ + move.b (a1)+,d1 + move.b d1,(a0)+ jne .L13 jra .L6 .L8: lea .LC0,a0 jsr _hiscore_prompt lea _hiscore+4,a0 - move.l d0,a1 .L11: - move.b (a1)+,(a0)+ - jne .L11 + move.l d0,a1 + move.b (a1)+,d1 move.l a1,d0 + move.b d1,(a0)+ + jne .L11 move.l (sp)+,d2 move.l (sp)+,a2 rts diff --git a/test/test10/cc b/test/test10/cc new file mode 100755 index 0000000..06148f3 --- /dev/null +++ b/test/test10/cc @@ -0,0 +1,5 @@ +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s -fbbb=- || exit 1 +r="$(diff --brief test.s golden.s)" +[ "$r" == "" ] || diff test.s golden.s +[ "$r" == "" ] || exit 1 diff --git a/test/test10/golden.s b/test/test10/golden.s new file mode 100755 index 0000000..ad86ada --- /dev/null +++ b/test/test10/golden.s @@ -0,0 +1,159 @@ +#NO_APP + .text + .align 2 + .globl _star_add +_star_add: + movem.l #15416,-(sp) + move.l a0,a2 + move.l d0,d2 + move.l _star_cycle.1013,d0 + moveq #1,d1 + cmp.l d0,d1 + jeq .L3 + moveq #2,d1 + cmp.l d0,d1 + jeq .L4 + tst.l d0 + jeq .L11 +.L2: + addq.l #1,d0 + moveq #2,d1 + cmp.l d0,d1 + jge .L12 +.L6: + clr.l _star_cycle.1013 + move.w d2,d0 + ext.l d0 + movem.l (sp)+,#7228 + rts +.L11: + move.w 16(a0),d5 + add.w #22,d5 + move.w 18(a0),d4 + add.w #-40,d4 + lea _star_getFree,a4 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d3 + add.w d2,d3 + move.w d3,d0 + add.w d3,d0 + move.w d0,12(a0) + move.w #-10,14(a0) + move.w d5,8(a0) + move.w d4,10(a0) + move.w 18(a2),d0 + add.w #-10,d0 + move.w d0,24(a0) + lea _star_addToActive,a3 + jsr (a3) + move.w 16(a2),d5 + add.w #22,d5 + move.w 18(a2),d4 + add.w #-42,d4 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d0 + neg.w d0 + add.w d0,d0 + add.w d0,d0 + move.w d0,12(a0) + move.w #-8,14(a0) + move.w d5,8(a0) + move.w d4,10(a0) + move.w 18(a2),d1 + add.w #-10,d1 + move.w d1,24(a0) + jsr (a3) + move.w 16(a2),d5 + add.w #22,d5 + move.w 18(a2),d4 + add.w #-50,d4 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d3,12(a0) + move.w #-10,14(a0) + move.w d5,8(a0) + move.w d4,10(a0) + move.w 18(a2),a2 + lea (-10,a2),a2 + move.w a2,24(a0) + jsr (a3) + move.l _star_cycle.1013,d0 +.L13: + addq.l #1,d0 + moveq #2,d1 + cmp.l d0,d1 + jlt .L6 +.L12: + move.l d0,_star_cycle.1013 + move.w d2,d0 + ext.l d0 + movem.l (sp)+,#7228 + rts +.L4: + move.w 16(a0),d4 + add.w #22,d4 + move.w 18(a0),d3 + add.w #-42,d3 + lea _star_getFree,a4 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d0 + neg.w d0 + add.w d0,d0 + add.w d0,d0 + move.w d0,12(a0) + move.w #-8,14(a0) + move.w d4,8(a0) + move.w d3,10(a0) + move.w 18(a2),d0 + add.w #-10,d0 + move.w d0,24(a0) + lea _star_addToActive,a3 + jsr (a3) + move.w 16(a2),d4 + add.w #22,d4 + move.w 18(a2),d3 + add.w #-50,d3 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d0 + add.w d2,d0 + move.w d0,12(a0) + move.w #-10,14(a0) + move.w d4,8(a0) + move.w d3,10(a0) + move.w 18(a2),a2 + lea (-10,a2),a2 + move.w a2,24(a0) + jsr (a3) + move.l _star_cycle.1013,d0 + jra .L13 +.L3: + move.w 16(a0),d4 + add.w #22,d4 + move.w 18(a0),d3 + add.w #-40,d3 + jsr _star_getFree + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d0 + add.w d2,d0 + add.w d0,d0 + move.w d0,12(a0) + move.w #-10,14(a0) + move.w d4,8(a0) + move.w d3,10(a0) + move.w 18(a2),a2 + lea (-10,a2),a2 + move.w a2,24(a0) + jsr _star_addToActive + move.l _star_cycle.1013,d0 + jra .L2 +.lcomm _star_cycle.1013,4 diff --git a/test/test10/test.c b/test/test10/test.c new file mode 100755 index 0000000..643f23b --- /dev/null +++ b/test/test10/test.c @@ -0,0 +1,175 @@ +typedef unsigned short uint16_t; +typedef short int16_t; +typedef unsigned char uint8_t; + +#define STAR_WIDTH 16 +//#define STAR_HEIGHT 3 +#define STAR_MAX_STARS 6 +#define SPRITE_SPRITESHEET_Y 547 +#define SPRITE_SPRITESHEET_X 112 +#define OBJECT_WIDTH 44 +#define OBJECT_STATE_ALIVE 42 + +static uint16_t star_count; + +typedef enum { + FACING_LEFT, + FACING_RIGHT +} object_direction_t; + +typedef struct { + int16_t start; + int16_t stop; + int16_t speed; + object_direction_t facing; +} object_animation_t; + +typedef struct { + int16_t x; + int16_t y; + int16_t w; + int16_t h; + int16_t dx; + int16_t dy; +} object_image_t; + +typedef struct { + int16_t x; + int16_t y; + int16_t dx; + int16_t dy; + int16_t ix; +} object_velocity_t; + + +typedef struct { + int16_t x; + int16_t y; + int16_t w; + int16_t h; +} object_position_t; + +typedef struct { + object_position_t positions[2]; + object_position_t* position; +} object_save_t; + +typedef struct object { + uint16_t id; + uint16_t class; + void* data; + struct object* next; + struct object* prev; + int16_t _x; + int16_t _y; + int16_t _z; + int16_t _px; + int16_t _py; + object_velocity_t velocity; + int16_t imageIndex; + object_image_t* image; + uint16_t baseId; + uint16_t animId; + uint16_t actionId; + object_animation_t* anim; + object_save_t save; + uint16_t frameCounter; + uint16_t deadRenderCount; + uint16_t _state; + void (*update)(uint16_t deltaT, struct object* ptr); + void (*freeData)(void* data); + uint16_t visible; + uint16_t tileRender; + + uint16_t widthOffset; + uint16_t width; + + uint16_t collidable; +} object_t; + + typedef struct { + uint8_t vStartLo; + uint8_t hStartHi; + uint8_t vStopLo; + uint8_t attach:1; + uint8_t unused:4; + uint8_t vStartHi:1; + uint8_t vStopHi:1; + uint8_t hStartLow:1; +} star_sprite_control_t; + + typedef struct star { + struct star* next; + struct star* prev; + int16_t x; + int16_t y; + object_velocity_t velocity; + uint16_t _state; + int16_t startY; + star_sprite_control_t* sprite; + uint16_t spriteHi; + uint16_t spriteLo; + uint16_t index; +} star_t; + +extern star_t* +star_getFree(void) ; + +extern void +star_addToActive(star_t* ptr); + +inline int16_t object_x(object_t* actor) { + return actor->_x; +} + +inline int16_t object_y(object_t* actor) { + return actor->_y; +} + +static inline void +star_addStar(object_t* actor, int16_t dx, int16_t dy, int16_t yOffset) +{ + if (star_count >= STAR_MAX_STARS) { + return; + } + + int16_t x = object_x(actor) + OBJECT_WIDTH/2; + int16_t y = object_y(actor)-40-yOffset; + + star_t* ptr = star_getFree(); + ptr->_state = OBJECT_STATE_ALIVE; + ptr->velocity.x = dx; + ptr->velocity.y = dy; + ptr->x = x; + ptr->y = y; + ptr->startY = object_y(actor)-10; + star_addToActive(ptr); +} + +int +star_add(object_t* ptr, int16_t dx) +{ + static int star_cycle = 0; + switch (star_cycle) { + case 0: + star_addStar(ptr, dx*4, -10, 0); + star_addStar(ptr, -dx*4, -8, 2); + star_addStar(ptr, dx*2, -10, 10); + break; + case 1: + star_addStar(ptr, dx*4, -10, 0); + break; + case 2: + star_addStar(ptr, -dx*4, -8, 2); + star_addStar(ptr, dx*2, -10, 10); + break; + } + + star_cycle++; + if (star_cycle > 2) { + star_cycle = 0; + } + + return dx; +} + \ No newline at end of file diff --git a/test/test10/test.s b/test/test10/test.s new file mode 100644 index 0000000..ad86ada --- /dev/null +++ b/test/test10/test.s @@ -0,0 +1,159 @@ +#NO_APP + .text + .align 2 + .globl _star_add +_star_add: + movem.l #15416,-(sp) + move.l a0,a2 + move.l d0,d2 + move.l _star_cycle.1013,d0 + moveq #1,d1 + cmp.l d0,d1 + jeq .L3 + moveq #2,d1 + cmp.l d0,d1 + jeq .L4 + tst.l d0 + jeq .L11 +.L2: + addq.l #1,d0 + moveq #2,d1 + cmp.l d0,d1 + jge .L12 +.L6: + clr.l _star_cycle.1013 + move.w d2,d0 + ext.l d0 + movem.l (sp)+,#7228 + rts +.L11: + move.w 16(a0),d5 + add.w #22,d5 + move.w 18(a0),d4 + add.w #-40,d4 + lea _star_getFree,a4 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d3 + add.w d2,d3 + move.w d3,d0 + add.w d3,d0 + move.w d0,12(a0) + move.w #-10,14(a0) + move.w d5,8(a0) + move.w d4,10(a0) + move.w 18(a2),d0 + add.w #-10,d0 + move.w d0,24(a0) + lea _star_addToActive,a3 + jsr (a3) + move.w 16(a2),d5 + add.w #22,d5 + move.w 18(a2),d4 + add.w #-42,d4 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d0 + neg.w d0 + add.w d0,d0 + add.w d0,d0 + move.w d0,12(a0) + move.w #-8,14(a0) + move.w d5,8(a0) + move.w d4,10(a0) + move.w 18(a2),d1 + add.w #-10,d1 + move.w d1,24(a0) + jsr (a3) + move.w 16(a2),d5 + add.w #22,d5 + move.w 18(a2),d4 + add.w #-50,d4 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d3,12(a0) + move.w #-10,14(a0) + move.w d5,8(a0) + move.w d4,10(a0) + move.w 18(a2),a2 + lea (-10,a2),a2 + move.w a2,24(a0) + jsr (a3) + move.l _star_cycle.1013,d0 +.L13: + addq.l #1,d0 + moveq #2,d1 + cmp.l d0,d1 + jlt .L6 +.L12: + move.l d0,_star_cycle.1013 + move.w d2,d0 + ext.l d0 + movem.l (sp)+,#7228 + rts +.L4: + move.w 16(a0),d4 + add.w #22,d4 + move.w 18(a0),d3 + add.w #-42,d3 + lea _star_getFree,a4 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d0 + neg.w d0 + add.w d0,d0 + add.w d0,d0 + move.w d0,12(a0) + move.w #-8,14(a0) + move.w d4,8(a0) + move.w d3,10(a0) + move.w 18(a2),d0 + add.w #-10,d0 + move.w d0,24(a0) + lea _star_addToActive,a3 + jsr (a3) + move.w 16(a2),d4 + add.w #22,d4 + move.w 18(a2),d3 + add.w #-50,d3 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d0 + add.w d2,d0 + move.w d0,12(a0) + move.w #-10,14(a0) + move.w d4,8(a0) + move.w d3,10(a0) + move.w 18(a2),a2 + lea (-10,a2),a2 + move.w a2,24(a0) + jsr (a3) + move.l _star_cycle.1013,d0 + jra .L13 +.L3: + move.w 16(a0),d4 + add.w #22,d4 + move.w 18(a0),d3 + add.w #-40,d3 + jsr _star_getFree + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d0 + add.w d2,d0 + add.w d0,d0 + move.w d0,12(a0) + move.w #-10,14(a0) + move.w d4,8(a0) + move.w d3,10(a0) + move.w 18(a2),a2 + lea (-10,a2),a2 + move.w a2,24(a0) + jsr _star_addToActive + move.l _star_cycle.1013,d0 + jra .L2 +.lcomm _star_cycle.1013,4 diff --git a/test/test10/testno.s b/test/test10/testno.s new file mode 100644 index 0000000..ad86ada --- /dev/null +++ b/test/test10/testno.s @@ -0,0 +1,159 @@ +#NO_APP + .text + .align 2 + .globl _star_add +_star_add: + movem.l #15416,-(sp) + move.l a0,a2 + move.l d0,d2 + move.l _star_cycle.1013,d0 + moveq #1,d1 + cmp.l d0,d1 + jeq .L3 + moveq #2,d1 + cmp.l d0,d1 + jeq .L4 + tst.l d0 + jeq .L11 +.L2: + addq.l #1,d0 + moveq #2,d1 + cmp.l d0,d1 + jge .L12 +.L6: + clr.l _star_cycle.1013 + move.w d2,d0 + ext.l d0 + movem.l (sp)+,#7228 + rts +.L11: + move.w 16(a0),d5 + add.w #22,d5 + move.w 18(a0),d4 + add.w #-40,d4 + lea _star_getFree,a4 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d3 + add.w d2,d3 + move.w d3,d0 + add.w d3,d0 + move.w d0,12(a0) + move.w #-10,14(a0) + move.w d5,8(a0) + move.w d4,10(a0) + move.w 18(a2),d0 + add.w #-10,d0 + move.w d0,24(a0) + lea _star_addToActive,a3 + jsr (a3) + move.w 16(a2),d5 + add.w #22,d5 + move.w 18(a2),d4 + add.w #-42,d4 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d0 + neg.w d0 + add.w d0,d0 + add.w d0,d0 + move.w d0,12(a0) + move.w #-8,14(a0) + move.w d5,8(a0) + move.w d4,10(a0) + move.w 18(a2),d1 + add.w #-10,d1 + move.w d1,24(a0) + jsr (a3) + move.w 16(a2),d5 + add.w #22,d5 + move.w 18(a2),d4 + add.w #-50,d4 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d3,12(a0) + move.w #-10,14(a0) + move.w d5,8(a0) + move.w d4,10(a0) + move.w 18(a2),a2 + lea (-10,a2),a2 + move.w a2,24(a0) + jsr (a3) + move.l _star_cycle.1013,d0 +.L13: + addq.l #1,d0 + moveq #2,d1 + cmp.l d0,d1 + jlt .L6 +.L12: + move.l d0,_star_cycle.1013 + move.w d2,d0 + ext.l d0 + movem.l (sp)+,#7228 + rts +.L4: + move.w 16(a0),d4 + add.w #22,d4 + move.w 18(a0),d3 + add.w #-42,d3 + lea _star_getFree,a4 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d0 + neg.w d0 + add.w d0,d0 + add.w d0,d0 + move.w d0,12(a0) + move.w #-8,14(a0) + move.w d4,8(a0) + move.w d3,10(a0) + move.w 18(a2),d0 + add.w #-10,d0 + move.w d0,24(a0) + lea _star_addToActive,a3 + jsr (a3) + move.w 16(a2),d4 + add.w #22,d4 + move.w 18(a2),d3 + add.w #-50,d3 + jsr (a4) + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d0 + add.w d2,d0 + move.w d0,12(a0) + move.w #-10,14(a0) + move.w d4,8(a0) + move.w d3,10(a0) + move.w 18(a2),a2 + lea (-10,a2),a2 + move.w a2,24(a0) + jsr (a3) + move.l _star_cycle.1013,d0 + jra .L13 +.L3: + move.w 16(a0),d4 + add.w #22,d4 + move.w 18(a0),d3 + add.w #-40,d3 + jsr _star_getFree + move.l d0,a0 + move.w #42,22(a0) + move.w d2,d0 + add.w d2,d0 + add.w d0,d0 + move.w d0,12(a0) + move.w #-10,14(a0) + move.w d4,8(a0) + move.w d3,10(a0) + move.w 18(a2),a2 + lea (-10,a2),a2 + move.w a2,24(a0) + jsr _star_addToActive + move.l _star_cycle.1013,d0 + jra .L2 +.lcomm _star_cycle.1013,4 diff --git a/test/test11/IT2_Defines.h b/test/test11/IT2_Defines.h new file mode 100755 index 0000000..d7626e7 --- /dev/null +++ b/test/test11/IT2_Defines.h @@ -0,0 +1,134 @@ +#ifndef _IT2_DEFINES_H_ +#define _IT2_DEFINES_H_ + +#include "IT2_PText_Defines.h" + +#define FLAG_UNKNOWN 0 +#define FLAG_KNOWN 0x80 +#define FLAG_TERRA 20 +#define FLAG_KLEGAN 8 +#define FLAG_REMALO 96 +#define FLAG_CARDAC 10 +#define FLAG_FERAGI 67 +#define FLAG_BAROJA 11 +#define FLAG_VOLKAN 27 +#define FLAG_OTHER 1 +#define FLAG_MAQUES 12 +#define FLAG_CIV_MASK (FLAG_TERRA | FLAG_KLEGAN | FLAG_REMALO | FLAG_CARDAC | FLAG_FERAGI | FLAG_BAROJA | FLAG_VOLKAN | FLAG_OTHER | FLAG_MAQUES) + +#define WFLAG_CEBORC 2 +#define WFLAG_DCON 3 +#define WFLAG_FIELD 4 +#define WFLAG_JAHADR 5 + +#define MASK_LTRUPPS 0x0f +#define MASK_SIEDLER 0xf0 + +#define RDELAY 1 +#define LOGOSIZE 14500 +#define PAUSE 85 + +#define GFLAG_EXPLORE 1 +#define GFLAG_ATTACK 2 + +#define SHIPFLAG_NONE 0 +#define SHIPFLAG_WATER 1 + +#define LEVEL_DIED 0 +#define LEVEL_UNKNOWN 1 +#define LEVEL_PEACE 2 +#define LEVEL_WAR 3 +#define LEVEL_ALLIANZ 4 +#define LEVEL_NO_ALLIANZ 5 +#define LEVEL_COLDWAR 6 + +#define TYPE_PLANET 2 +#define TYPE_SHIP 4 +#define TYPE_STARGATE 16 +#define TYPE_WORMHOLE 32 +#define SHIPTYPE_FLEET 200 + +#define CLASS_STONES 0 /*T*/ +#define CLASS_GAS 1 /*G*/ +#define CLASS_WATER 2 /*W*/ +#define CLASS_SATURN 3 /*S*/ +#define CLASS_HALFEARTH 4 /*H*/ +#define CLASS_DESERT 5 /*D*/ +#define CLASS_EARTH 6 /*M*/ +#define CLASS_PHANTOM 7 /*P*/ +#define CLASS_ICE 8 /*I*/ + +#define WEAPON_GUN 1 +#define WEAPON_LASER 3 +#define WEAPON_PHASER 5 +#define WEAPON_DISRUPTOR 7 +#define WEAPON_PTORPEDO 9 + +#define MODE_REFRESH 0 +#define MODE_REDRAW 1 +#define MODE_FLEET 2 +#define MODE_STARGATE 3 +#define MODE_ONCE 4 +#define MODE_ALL 5 +#define MODE_OFFENSIV 8 +#define MODE_DEFENSIV 9 +#define MODE_SHIPS 10 +#define MODE_TERRITORIUM 11 +#define MODE_BELEIDIGUNG 12 +#define MODE_MONEY 13 +#define MODE_FORCE 14 + +#define STATE_ALL_OCC 1 +#define STATE_ENEMY 2 +#define STATE_TACTICAL 3 + +#define SCREEN_PLANET 1 +#define SCREEN_INVENTION 2 +#define SCREEN_HISCORE 3 +#define SCREEN_TECH 4 + +#define TARGET_POSITION 127 +#define TARGET_STARGATE 26 +#define TARGET_ENEMY_SHIP 126 + +#define INFLATION ((double) 1.03) + +#define MODULES 4 + +#define MAXSYSTEMS 25 +#define MAXMAQUES 5 +#define MAXHOLES 3 + +#define SOUNDS 4 +#define CACHES 4 +#define IMAGES 2 +#define GADGETS 3 +#define FONTS 5 + +#define MAXPLANETS 11 +#define MAXCIVS 9 + +#define PATHS 11 + +#define MAXPMONEY 102000L +#define MAXSTR 900 + +#define ROTATE_PX 1 +#define ROTATE_PY 2 +#define ROTATE_PZ 4 +#define ROTATE_NX 8 +#define ROTATE_NY 16 +#define ROTATE_NZ 32 + +#define false FALSE +#define true TRUE +#define bool BOOL + +#define _COLOR_CMAP_TEXT_ (0x434D4150) + +#define LMB_PRESSED ((*LData & 64) == 0) +#define LMB_NOTPRESSED ((*LData & 64) != 0) +#define RMB_PRESSED ((*RData & 1024) == 0) +#define RMB_NOTPRESSED ((*RData & 1024) != 0) + +#endif diff --git a/test/test11/IT2_Functions.h b/test/test11/IT2_Functions.h new file mode 100755 index 0000000..8013d7f --- /dev/null +++ b/test/test11/IT2_Functions.h @@ -0,0 +1,224 @@ +#ifndef _FUNC_INC_H_ +#define _FUNC_INC_H_ + +#include +#include +#include +#include +#include +#include "IT2_Types.h" + +void delay(uint16 time); +int it_round(double x); + +uint8 GETCIVFLAG(uint8 CivVar); +uint8 GETCIVVAR(uint8 CivFlag); +char* GETCIVADJ(uint8 CivVar); +char* GETCIVNAME(uint8 CivVar); +char* GETMYADJ(uint8 CivFlag, BOOL* DconDone); + +void AUTOSHIPTRAVEL(uint8 ActSys, uint8 Mode, r_ShipHeader* ShipPtr); +void AUTOVERHANDLUNG(uint8 CivFlag1,uint8 CivFlag2,uint8 ActSys,uint8 Mode); +BOOL AUTOWATERTRANSPORT(r_PlanetHeader* MyPlanetHeader, r_ShipHeader* MyShipPtr, uint8 ActSys); + +// >>> DISKMENU +uint8 BIGSHIPFIGHT(r_ShipHeader* Ship1, r_ShipHeader* Ship2, uint8 Mode, uint8 ActSys); +uint8 STARTBIGSHIPFIGHT(r_ShipHeader* Ship1, r_ShipHeader* Ship2, uint8 Mode, uint8 ActSys); +// <<< + +void BOX(struct Screen* XScreen, uint16 Left, uint16 Top, uint16 Right, uint16 Bottom); +void CEBORCATTACK(uint8 ActPlayerFlag); +void CHECKPLANET(r_PlanetHeader* MyPlanetHeader); +void CHECKPROJECTS(r_PlanetHeader* PlanetPtr, uint8 NewOwner); +BOOL CHECKSUN(r_ShipHeader* ShipPtr); +void CLEARINTUITION(); +void CLICKRECT(struct Screen* XScreen, uint16 Left, uint16 Top, uint16 Right, uint16 Bottom, uint8 Color); +void CLOCK(); +void CLOSEMYSCREENS(); +void CREATECIVILWAR(uint8 CivVar); +void CREATEJAHADR(uint8 ActPlayer); +BOOL CREATEMAQUESSHIP(uint8 SysID, uint8 ShipID); +void CREATENEWSYSTEM(uint8 ActSys,uint8 CivVar); +void CREATEPANIC(r_PlanetHeader* PPtr, uint8 ActSys, uint8 PlanetNum); +void CREATEPATHS(); +void DECREASE(uint8 ActSys, r_PlanetHeader* PPtr); +// >>> DISKMENU +void LOADSHIPS(r_ShipHeader* ShipPtr, BPTR FHandle); +void SAVESHIPS(r_ShipHeader* ShipPtr, BPTR FHandle); +void GETSAVENAME(char* Title, char* SName); +void ENCODEDATA(); +void DECODEDATA(); +void NOMEMMESSAGE(); +BOOL DISKMENU(uint8 Auto); +// <<< +BOOL DISPLAYIMAGE(char* Fn, int LEdge, int TEdge, int Width, int Height, int Depth, struct Screen* XScreen, uint8 CacheNum); +void DISPLAYLOGO(uint8 ActPlayer, uint16 LEdge, uint16 TEdge); +void DISPLAYSTATE(); +void DISPLAYTECH(uint8 TechID, uint8 CivVar1); +void DOHUMANITY(); +void DOINFLATION(uint8 ActPlayer); +void DOSSIER(BOOL Cheat); +void DOWORMHANDLING(r_ShipHeader* MyShipPtr, uint8 ActSys, BOOL Visible); +void DRAWGAD(uint16 GadID, uint16 GadSelect); +// >>> DRAWMOVINGSHIP +void FASTREFRESH(sint16 OldX, sint16 OldY, r_ShipHeader* XCludeShip); +void DRAWMOVINGSHIP(r_ShipHeader* MyShipPtr, uint8 ActSys); +// <<< +void DRAWRECT(uint32 x, uint32 y, r_ShipHeader* MyShipPtr); +void DRAWSTARS(uint8 Mode, uint8 ActPlayer); +void DRAWSYSTEM(uint8 Mode, uint8 ActSys, r_ShipHeader* ActShipPtr); +void ENDSEQUENZ(sint16 Mode); +BOOL EXISTSPLANET(uint8 CivVar, uint8 ActSys, uint8 Mode); +void FADESTARGATE(uint8 SysID, uint8 ActSys, r_ShipHeader* MyShipPtr); +void FINANZEN(); +void FINANZEN_WRITEDATA(uint8 Mode); +void FINDENEMYOBJECT(uint8 ActSys, r_ShipHeader* ShipPtr); +void FINDENEMYSYSTEM(uint8 ActSys, uint8 CivVar, r_ShipHeader* ShipPtr); +BOOL FINDMAQUESSHIP(uint8 ActSys, r_ShipHeader* MyShipPtr); +uint8 FINDMONEYPLANET(uint8 CivFlag, uint8 CivVar, char* s); +uint8 FINDNEXTPLANET(uint8 ActSys, r_ShipHeader* ShipPtr); +BOOL FINDOBJECT(uint8 ActSys, sint16 GetX, sint16 GetY, void* ExcludeObj); +uint8 FIRSTMENU(); +void FORSCHUNG(); +void FREESYSTEMMEMORY(); +void GAMEEXIT(); +void GETPLAYERNAME(uint8 ActPlayer, char* PName); +uint8 GETRAWCODE(); +APTR GETTHESOUND(uint8 MID); +uint8 GOTONEXTPLANET(uint8 ActSys, r_ShipHeader* MyShipPtr); +uint8 GOTONEXTSYSTEM(uint8 ActSys, r_ShipHeader* ShipPtr); +void GOTOPEACE(uint8 CivVar1, uint8 CivVar2); +void GOTOWAR(uint8 CivFlag1, uint8 CivFlag2); +// >>> HANDLEKNOWNPLANET +void WRITEPROJECTDATA(r_PlanetHeader* MyPlanetHeader, ByteArr42* ActPProjects); +void HANDLEKNOWNPLANET(uint8 ActSys, uint8 Mode, r_PlanetHeader* PlanetPtr); +// <<< +// >>> HANDLESYSTEM +uint8 HANDLESYSTEM_DRAWSHIPS(sint8 Mode, uint8 stSys, uint8* PSys, r_ShipHeader** ShipPos); +uint8 DRAWPLANETS(uint8 CivFlag, uint8 stSys, uint8* PSys, uint8* PNum, uint8* PCol); +void SEARCHOBJECT(uint8 ActSys); +void HANDLESYSTEM(uint8 ActSys, r_ShipHeader* ShipPtr); +// <<< +// >>> HIGHSCORE +void CREATEHIGHSCORE(); +uint8 GETCOLOR(uint8 Col); +void HIGHSCORE(); +// <<< +void INFORMUSER(); +BOOL INITDESK(uint8 Mode); +BOOL INITLANG(); +void INITMENU(); +void INITSCREEN(uint8 Mode); +void INITSOUNDS(); +BOOL INITSTARS(); +void INITSTDTAGS(); +void INITVARS(); +void KILLFLEET(r_ShipHeader* MyShipPtr); +void KLICKGAD(uint16 x, uint16 y); +void LINKSHIP(r_ShipHeader* SPtr, r_ShipHeader* TPtr, uint8 Mode); +void LINKTOORBIT(r_PlanetHeader* MyPlanetHeader, r_ShipHeader* MyShipPtr, uint8 ActSys); +void LOADMOD(char* FName, uint8 MID); +void LOADSOUND(char* FName, uint8 SID); +// >>> MAININTRO +void SETDARKCOLOR(char* FName, r_Col* Colors); +void INTROEXIT(PLANEPTR MyRastPtr); +void ROTATEpX(uint8 k); +void ROTATEpY(uint8 k); +void ROTATEpZ(uint8 k); +void ROTATEnX(uint8 k); +void ROTATEnY(uint8 k); +void ROTATEnZ(uint8 k); +void FLY(uint8 k, double Factor); +void GREATEFFECT(uint8 Objects, r_Col* Colors); +BOOL LOADSOUNDS(); +void MAIN_FNC(); +void MAININTRO(); +// <<< +void MAKEBORDER(struct Screen* XScreen, uint16 LEdge, uint16 TEdge, uint16 REdge, uint16 BEdge, uint8 Col1, uint8 Col2, uint8 Darken); +// >>> MILITAER +void DRAWDATA(uint8 BSet); +void MILITAER(); +// <<< +// >>> MOVESHIP +void MOVESHIP(uint8 ActSys, r_ShipHeader* ShipPtr, BOOL Visible); +void MOVESHIP_DRAWSCENE(uint8 ActSys, r_ShipHeader* MyShipPtr); +void MOVESHIP_EXPLODE(uint8 ActSys, r_ShipHeader* MyShipPtr); +void MOVESHIP_SMALLANDING(r_PlanetHeader* PPtr, r_ShipHeader* SPtr, uint8 ActSys); +// <<< + +struct Screen* OPENCINEMA(uint8 Depth); +BOOL OPENMAINSCREENS(); +BPTR OPENSMOOTH(char* FName, uint32 FMode); +// >>> OPTIONMENU +void CHECKGADS(uint8 GadID); +void OPTIONMENU(uint8 Mode); +// <<< +// >>> ORBITINFO +int DRAWSHIPS(int i, char (*ShipNames)[15], r_ShipHeader* MyShipPtr); +void SETFLEETPOSITION(uint8 ActSys, r_ShipHeader* StShipPtr, r_ShipHeader* MyShipPtr); +void ORBITINFO(r_ShipHeader* StShipPtr, char* ReqText, uint8 ActSys, sint16 XPosX, sint16 XPosY); +// <<< +void PEACEINFO(uint8 CivVar1, uint8 CivVar2, uint8 CivFlag1, uint8 CivFlag2); +BOOL PLANETHANDLING(uint8 ActSys, r_ShipHeader* _MyShipPtr); +void PLANETINFO(uint8 ActSys); +void PLAYERHIGHSCORE(uint8 ActPlayer); +void PLAYERJINGLE(uint8 JingleID); +void PLAYSOUND(uint8 SID, uint16 SRate); +void PRINTGLOBALINFOS(uint8 ActPlayer); +void PROJEKTE(); +void PUMPUPTHELEVEL(); +void QUOTEPICARD(); +BOOL RAWLOADIMAGE(char* Fn, int LEdge, int TEdge, int Width, int Height, int Depth, ITBitMap* DestBitMap); +void RECT(struct Screen* XScreen, uint16 Color, uint16 LEdge, uint16 TEdge, uint16 REdge, uint16 BEdge); +void REFRESHDISPLAY(); +void REFRESHSHIPS(r_ShipHeader* ShipPtr, uint8 SysID, uint8 Mode); +void REGIERUNG(); +void REMOVEPLAYER(uint8 ActPlayer); +void REQUEST(char* s1, char* s2, uint8 c1, uint8 c2); +void ROTATEPLANETS(uint8 ActSys); +uint8 SETCOLOR(struct Screen* XScreen, char* FName); +BOOL SETNEWPLANETOWNER(r_PlanetHeader* MyPlanetHeader, r_PlanetHeader* OldPlanet, sint16* TheProject, uint8 ActSys, char* s1, char* s2, BOOL* PlanetLose); +void SETWORLDCOLORS(); +// >>> SHIPINFO +void SHIPINFO_WRITEDATA(r_ShipHeader* MyShipPtr); +void SHIPINFO(uint8 ActSys); +// <<< +void SMALLGAMEEXIT(); +// >>> STARDESASTER +void FUCKSYSTEM(uint8 ActSys); +void STARDESASTER(uint8 ActSys, r_ShipHeader* ShipPtr); +// <<< +void STARLANDING(r_PlanetHeader* PPtr, r_ShipHeader* SPtr, uint8 ActSys); +// >>> STARTROTATEPLANETS +void CREATEINFOBOX(); +void STARTROTATEPLANETS(); +// <<< +void STATISTIK(); +void STOPCIVILWAR(uint8 EndText); +void SUPPORTCIVI(uint32 XValue); +void SWITCHDISPLAY(); +void SYSINFO(uint8 SysID, uint8 ThePlayerFlag); +void SYSTEMINFO(uint8 ActSys); +void SYSTEMTOENEMY(uint8 ActSys, uint8 NewOwner, uint8 OldOwner); +BOOL TAKETECH(uint8 CivFlag1, uint8 CivFlag2); +void UNPACK(uint8* Anfang, uint8* PackedD, uint32 Laenge, uint8 Mode); +// >>> VERHANDLUNG --- +void VERHANDLUNG_INIT(uint8 CivFlag, char* CivStr, uint8 Mode); +void VERHANDLUNG(uint8 CivFlag, uint8 Mode); +// <<< +void WAITLOOP(BOOL BOOL_var); +// >>> WORMHOLE --- +void WORMHOLE_LOADSOUND(char* FName, uint8 SID); +void WORMHOLE_INITSOUNDS(); +BOOL WORMHOLE_INITIMAGES(); +void TRAVEL(); +BOOL SMALLWORMFLIGHT(r_ShipHeader* MyShipPtr); +BOOL WORMEXIT(BOOL _WORMEXIT, r_ShipHeader* MyShipPtr, uint8 ActSys); +BOOL WORMFLIGHT(r_ShipHeader* ShipPtr, uint8 ActSys); +BOOL WORMHOLE(r_ShipHeader* ShipPtr, uint8 ActSys); +// <<< +void WRITE(uint16 IPosX, uint16 IPosY, uint8 Color, uint8 DMode, struct Screen* XScreen, uint8 TA, char* WText); +void WRITEGALAXYDATA(uint8 ActSys, uint8 ShipMaxMove); + + +#endif diff --git a/test/test11/IT2_PText_Defines.h b/test/test11/IT2_PText_Defines.h new file mode 100755 index 0000000..2a7acb3 --- /dev/null +++ b/test/test11/IT2_PText_Defines.h @@ -0,0 +1,40 @@ +#ifndef _IT2C_PTEXT_DEFINES_ +#define _IT2C_PTEXT_DEFINES_ + +#define _PT_Terraner PText[125] +#define _PT_Kleganer PText[126] +#define _PT_Remalonen PText[127] +#define _PT_Cardaccer PText[128] +#define _PT_Feragis PText[129] +#define _PT_Barojaner PText[130] +#define _PT_Volkanier PText[131] +#define _PT_Ceborcs PText[132] +#define _PT_Dconianer PText[133] +#define _PT_JaHadr PText[134] +#define _PT_Die_Maques PText[135] + +#define _PT_Regierung PText[140] +#define _PT_Hauptmenue PText[141] +#define _PT_Rundenende PText[142] +#define _PT_Suchen PText[143] +#define _PT_Sternenkarte PText[144] +#define _PT_Jahr PText[145] + +#define _PT_System PText[166] +#define _PT_Planet PText[167] +#define _PT_Klasse PText[168] +#define _PT_Besiedlung PText[169] +#define _PT_Groesse PText[170] + +#define _PT_Die PText[215] + +#define _PT_Der_Spieler_wurde PText[395] + +#define _PT_Umlaufbahn_kollabiert PText[575] +#define _PT_Stargate_zerstoert PText[576] + +#define _PT_Flotte PText[635] +#define _PT_Naechste_Seite PText[636] + + +#endif diff --git a/test/test11/IT2_Types.h b/test/test11/IT2_Types.h new file mode 100755 index 0000000..c6c4fa6 --- /dev/null +++ b/test/test11/IT2_Types.h @@ -0,0 +1,148 @@ +#ifndef _IT2_TYPES_H_ +#define _IT2_TYPES_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "IT2_Defines.h" + +typedef unsigned char uint8; +typedef unsigned short uint16; +typedef unsigned long uint32; +typedef signed char sint8; +typedef signed short sint16; +typedef signed long sint32; + + +//typedef struct TagArr { uint32 data[14]; } TagArr; +typedef struct TagArr { struct TagItem data[7]; } TagArr; + +typedef struct PenArr { uint16 data[13]; } PenArr; + +typedef struct ColSpecArr { sint16 data[5]; } ColSpecArr; + +typedef struct StrArr { char data[MAXSYSTEMS+1][12]; } StrArr; +typedef struct StrArr11 { char data[12][15]; } StrArr11; +typedef struct StrArr16 { char data[17][60]; } StrArr16; +typedef struct StrArr42 { char data[43][30]; } StrArr42; +typedef struct StrArrMAXPLANETS { char data[MAXSYSTEMS+1][6]; } StrArrMAXPLANETS; + +typedef struct ByteArr22 { uint8 data[23]; } ByteArr22; +typedef struct ByteArr42 { uint8 data[43]; } ByteArr42; + +typedef struct LongArr42 { sint32 data[43]; } LongArr42; + +typedef struct WordArr32 { uint16 data[35]; } WordArr32; + +typedef struct r_Coords { double data[41]; } r_Coords; + +typedef struct PlaneArr { PLANEPTR data[8]; } PlaneArr; + +typedef struct FontArr16 { uint8 data[17]; } FontArr16; + +typedef struct ITBitMap { + uint16 BytesPerRow, Rows; + uint8 Flags, Depth; + uint16 pad; + PLANEPTR PPtr[8]; + APTR MemA; + uint32 MemL; +} ITBitMap; + +typedef struct r_ShipData { + uint8 MaxLoad, MaxShield, MaxMove, WeaponPower; +} r_ShipData; + +typedef struct r_ShipHeader { + uint8 Age, SType, Owner, Flags, ShieldBonus, Ladung, Fracht; + sint16 PosX, PosY; + uint8 Shield, Weapon, Repair; + sint16 Moving, Source, Target, Tactical; + struct r_ShipHeader* TargetShip; + struct r_ShipHeader* BeforeShip; + struct r_ShipHeader* NextShip; +} r_ShipHeader; + +typedef struct r_SystemHeader { + APTR PlanetMemA; + uint8 State; + r_ShipHeader FirstShip; + uint8 Planets, vNS, SysOwner; +} r_SystemHeader; + +typedef struct r_PlanetHeader { + uint8 Class, Size, PFlags, Ethno; + char PName[16]; + double PosX, PosY; + uint32 Population, Water; + uint8 Biosphaere, Infrastruktur, Industrie; + sint32 XProjectCosts, XProjectPayed; + sint16 ProjectID; + r_ShipHeader FirstShip; + struct ByteArr42* ProjectPtr; +} r_PlanetHeader; + +typedef struct r_HiScore { + char Player[8][20]; + uint8 CivVar[8]; + uint32 Points[8]; +} r_HiScore; + +// typedef struct r_WormHole { + // uint8 System[3]; + // sint16 PosX[3], PosY[3]; + // uint8 CivKnowledge[MAXCIVS+1]; +// } r_WormHole; +typedef struct r_WormHole { + uint8 System[2]; + sint16 PosX[2], PosY[2]; + uint8 CivKnowledge[MAXCIVS]; +} r_WormHole; + + +typedef struct r_Col { + uint8 r, g, b; +} r_Col; + +typedef struct r_Save { + uint8 WarState[MAXCIVS+1][MAXCIVS+1]; + uint8 LastWarState[MAXCIVS+1][MAXCIVS+1]; + sint32 Staatstopf[MAXCIVS+1]; + uint32 Bevoelkerung[MAXCIVS+1]; + uint32 WarPower[MAXCIVS+1]; + uint32 MaxWarPower[MAXCIVS+1]; + uint32 ImperatorState[MAXCIVS+1]; + uint32 SSMoney[MAXCIVS+1][MAXCIVS+1]; + LongArr42 TechCosts[MAXCIVS+1]; + LongArr42 ProjectCosts[MAXCIVS+1]; + sint8 ActTech[MAXCIVS+1]; + uint8 GlobalFlags[MAXCIVS+1]; + sint8 GSteuer[MAXCIVS+1]; + uint8 JSteuer[MAXCIVS+1]; + uint8 stProject[MAXCIVS+1]; + uint8 SService[MAXCIVS+1]; + uint8 Military[MAXCIVS+1]; + BOOL PlayMySelf, SmallFight, SmallLand, FastMove, NoWorm; + uint8 WorldFlag, Systems, CivilWar; + StrArr SystemName; + uint8 CivPlayer[MAXCIVS+1]; +} r_Save; + +typedef struct VectorObj { + sint16 PosX, PosY; + uint8 Flag, Size1, Size2; + double X1[6],Y1[6],Z1[6],X2[6],Y2[6],Z2[6]; +} VectorObj; + +#endif diff --git a/test/test11/IT2_Vars.h b/test/test11/IT2_Vars.h new file mode 100755 index 0000000..bf4c6c4 --- /dev/null +++ b/test/test11/IT2_Vars.h @@ -0,0 +1,100 @@ +#ifndef _EXTERN_ +#define _EXTERN_ extern +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "IT2_Types.h" + +/* _EXTERN_ TagArr Tags; */ +_EXTERN_ struct TagItem Tags[7]; +_EXTERN_ PenArr Pens; +_EXTERN_ ColSpecArr ColSpec; + +_EXTERN_ struct NewScreen NeuScreen; +_EXTERN_ struct Screen* MyScreen[3]; +_EXTERN_ struct NewWindow NeuWindow; +_EXTERN_ struct Window* MyWindow[3]; +_EXTERN_ struct Screen* XScreen; +_EXTERN_ struct ITBitMap ImgBitMap4, ImgBitMap7, ImgBitMap8; +_EXTERN_ struct Image Img, GadImg1, GadImg2; + +_EXTERN_ struct TextAttr CustomTA[FONTS+1]; +_EXTERN_ struct TextFont* CustomFont[FONTS+1]; +_EXTERN_ struct IntuitionBase* IBase; +_EXTERN_ struct IntuiMessage* IMsg; +_EXTERN_ struct Process* Process_Ptr; +_EXTERN_ BPTR OldWindow_Ptr; + +// _EXTERN_ r_WormHole MyWormHole[MAXHOLES+1]; +_EXTERN_ r_WormHole MyWormHole[MAXHOLES]; +_EXTERN_ StrArrMAXPLANETS Romanum; +_EXTERN_ StrArr11 PNames[MAXCIVS-1]; +_EXTERN_ sint16 SystemX[MAXSYSTEMS+1]; +_EXTERN_ sint16 SystemY[MAXSYSTEMS+1]; +_EXTERN_ uint8 SystemFlags[MAXCIVS+1][MAXSYSTEMS+1]; +_EXTERN_ r_SystemHeader SystemHeader[MAXSYSTEMS+1]; +_EXTERN_ StrArr42 Technology, TechnologyL, Project; +_EXTERN_ ByteArr42 TechUse1, TechUse2, ProjectNeedsTech, ProjectNeedsProject; +_EXTERN_ ByteArr22 PriorityList; + +_EXTERN_ APTR SoundMemA[SOUNDS+1]; +_EXTERN_ uint16 SoundSize[SOUNDS+1]; +_EXTERN_ APTR CacheMemA[CACHES+1]; +_EXTERN_ uint32 CacheMemL[CACHES+1]; +_EXTERN_ APTR LogoMemA[MAXCIVS-1]; +_EXTERN_ APTR LogoSMemA[MAXCIVS-1]; +_EXTERN_ uint32 LogoSMemL[MAXCIVS-1]; +_EXTERN_ APTR ZeroSound; +_EXTERN_ APTR IMemA[IMAGES+1]; +_EXTERN_ uint32 IMemL[IMAGES+1]; +_EXTERN_ APTR ModMemA[MODULES+1]; +_EXTERN_ uint32 ModMemL[MODULES+1]; +_EXTERN_ struct Gadget DKnopf[GADGETS+1]; +_EXTERN_ struct IntuiText DKnopfTx[GADGETS+1]; +_EXTERN_ char* PathStr[PATHS+1]; +_EXTERN_ r_ShipData ShipData[25+1]; + +_EXTERN_ sint32 AllCreative[MAXCIVS+1]; +_EXTERN_ uint32 Militaerausgaben[MAXCIVS+1]; +_EXTERN_ uint32 Verschrottung[MAXCIVS+1]; +_EXTERN_ uint8 LastDisplay[MAXCIVS+1]; +_EXTERN_ uint8 Warnung[MAXCIVS+1]; +_EXTERN_ APTR TextMemA, PathMemA; +_EXTERN_ uint32 TextMemL, PathMemL, HelpID, TMPtr, l1, l2, MaquesShips; +_EXTERN_ sint32 Year; +_EXTERN_ sint16 OffsetX, OffsetY, OldX, OldY; +_EXTERN_ volatile uint16* RData; +_EXTERN_ volatile uint8* LData; +_EXTERN_ uint8 Screen2, ObjType, LastSystem, Level, b, RawCode; +_EXTERN_ uint8 ActPlayer,ActPlayerFlag,LastPlayer,Display; +_EXTERN_ uint8 HomePlanets; +_EXTERN_ void* ObjPtr; +_EXTERN_ void* MTBase; +_EXTERN_ void* MDBBase; +_EXTERN_ BOOL WBench,Bool_var,Valid,IMemID,DoClock,MultiPlayer,Informed; +_EXTERN_ r_HiScore HiScore; + +_EXTERN_ struct r_PlanetHeader* GetPlanet[MAXCIVS+1]; +_EXTERN_ uint8 GetPlanetSys[MAXCIVS+1]; +_EXTERN_ BOOL vNSonde[MAXCIVS+1]; +//_EXTERN_ int i, j, k; +_EXTERN_ char* PText[MAXSTR+1]; + +_EXTERN_ r_Save Save; + +// added ... +_EXTERN_ int MOVESHIP_ToX, MOVESHIP_ToY, MOVESHIP_FromX, MOVESHIP_FromY; +_EXTERN_ uint32 MOVESHIP_x, MOVESHIP_y; + +_EXTERN_ r_ShipHeader DefaultShip; +extern struct Custom custom; diff --git a/test/test11/cc b/test/test11/cc new file mode 100755 index 0000000..06148f3 --- /dev/null +++ b/test/test11/cc @@ -0,0 +1,5 @@ +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s -fbbb=- || exit 1 +r="$(diff --brief test.s golden.s)" +[ "$r" == "" ] || diff test.s golden.s +[ "$r" == "" ] || exit 1 diff --git a/test/test11/golden.s b/test/test11/golden.s new file mode 100644 index 0000000..3ff9d3b --- /dev/null +++ b/test/test11/golden.s @@ -0,0 +1,14238 @@ +#NO_APP + .text + .align 2 + .globl _SETDARKCOLOR +_SETDARKCOLOR: + movem.l #16178,-(sp) + move.l a1,a2 + move.l #1005,d0 + jsr _OPENSMOOTH + move.l d0,d4 + jeq .L1 + move.l _DOSBase,a6 + move.l d0,d1 + moveq #0,d2 + moveq #1,d3 +#APP +| 26 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 + moveq #-1,d3 +#APP +| 27 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l d0,d5 + lea _IMemA,a3 + move.l _DOSBase,a6 + move.l d4,d1 + move.l (a3),d2 + move.l d0,d3 +#APP +| 28 "test.c" 1 + jsr a6@(-0x2a:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 +#APP +| 29 "test.c" 1 + jsr a6@(-0x24:W) +#NO_APP + move.l (a3),a0 + move.l d5,d1 + add.l a0,d1 + move.l a0,d0 + addq.l #4,d0 + cmp.l d0,d1 + jls .L3 +.L16: + cmp.l #1129136464,(a0) + jeq .L5 + move.l d0,a0 + move.l a0,d0 + addq.l #4,d0 + cmp.l d0,d1 + jhi .L16 +.L3: + cmp.l #1129136464,(a0) + jeq .L5 +.L7: + move.b #45,93(a2) + move.b #45,94(a2) + move.b #62,95(a2) +.L1: + movem.l (sp)+,#19708 + rts +.L5: + addq.l #8,a0 + clr.b d4 +.L6: + move.l a0,d7 + addq.l #3,d7 + moveq #0,d6 + move.b d4,d6 + move.l d6,d0 + move.l d0,a1 + add.l d0,a1 + add.l d0,a1 + lea (a2,a1.l),a1 + move.b (a0)+,(a1)+ + move.b (a0)+,(a1)+ + move.b (a0),(a1) + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+4,a0 + moveq #0,d1 + moveq #0,d2 + moveq #0,d3 +#APP +| 46 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+8,a0 + move.l d6,d0 + moveq #0,d1 +#APP +| 47 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.b #1,d4 + move.l d7,a0 + move.l (a3),d0 + add.l d5,d0 + cmp.l d7,d0 + jls .L7 + move.l a0,d7 + addq.l #3,d7 + moveq #0,d6 + move.b d4,d6 + move.l d6,d0 + move.l d0,a1 + add.l d0,a1 + add.l d0,a1 + lea (a2,a1.l),a1 + move.b (a0)+,(a1)+ + move.b (a0)+,(a1)+ + move.b (a0),(a1) + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+4,a0 + moveq #0,d1 + moveq #0,d2 + moveq #0,d3 +#APP +| 46 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+8,a0 + move.l d6,d0 + moveq #0,d1 +#APP +| 47 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.b #1,d4 + move.l d7,a0 + move.l (a3),d0 + add.l d5,d0 + cmp.l d7,d0 + jhi .L6 + jra .L7 + .align 2 + .globl _INTROEXIT +_INTROEXIT: + move.l a6,-(sp) + move.l d2,-(sp) + move.l a0,d2 + jsr _SWITCHDISPLAY + move.l _SysBase,a6 + sub.l a1,a1 +#APP +| 60 "test.c" 1 + jsr a6@(-0x126:W) +#NO_APP + move.l _SysBase,a6 + move.l d0,a1 + moveq #0,d0 +#APP +| 60 "test.c" 1 + jsr a6@(-0x12c:W) +#NO_APP + tst.l d2 + jeq .L18 + move.l _GfxBase,a6 + move.l d2,a0 + move.l #640,d0 + move.l #360,d1 +#APP +| 61 "test.c" 1 + jsr a6@(-0x1f2:W) +#NO_APP +.L18: + move.l _MyScreen+4,a0 + cmp.w #0,a0 + jeq .L19 + pea 434.w + pea 639.w + move.w #75,a1 + moveq #0,d1 + moveq #0,d0 + jsr _RECT + addq.l #8,sp +.L19: + move.l _MyScreen+8,a0 + cmp.w #0,a0 + jeq .L20 + pea 434.w + pea 639.w + move.w #75,a1 + moveq #0,d1 + moveq #0,d0 + jsr _RECT + move.l _MyScreen+4,a0 + addq.l #8,sp + cmp.w #0,a0 + jeq .L21 + move.l _IntuitionBase,a6 +#APP +| 74 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+4 +.L21: + move.l _MyScreen+8,a0 + cmp.w #0,a0 + jeq .L22 + move.l _IntuitionBase,a6 +#APP +| 74 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+8 +.L22: + move.l _SMemA+4,a1 + cmp.w #0,a1 + jeq .L23 + move.l _SysBase,a6 + move.l _SMemL+4,d0 +#APP +| 82 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _SMemA+4 +.L23: + move.l _SMemA+8,a1 + cmp.w #0,a1 + jeq .L24 + move.l _SysBase,a6 + move.l _SMemL+8,d0 +#APP +| 82 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _SMemA+8 +.L24: + move.l _SMemA+12,a1 + cmp.w #0,a1 + jeq .L25 + move.l _SysBase,a6 + move.l _SMemL+12,d0 +#APP +| 82 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _SMemA+12 +.L25: + move.l _IMemA,a1 + cmp.w #0,a1 + jeq .L26 + move.l _SysBase,a6 + move.l _IMemL,d0 +#APP +| 90 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _IMemA +.L26: + move.l _IMemA+4,a1 + cmp.w #0,a1 + jeq .L27 + move.l _SysBase,a6 + move.l _IMemL+4,d0 +#APP +| 90 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _IMemA+4 +.L27: + move.w #15,_custom+150 + move.l (sp)+,d2 + move.l (sp)+,a6 + rts +.L20: + move.l _MyScreen+4,a0 + cmp.w #0,a0 + jeq .L22 + move.l _IntuitionBase,a6 +#APP +| 74 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+4 + jra .L21 + .align 2 + .globl _ROTATEpX +_ROTATEpX: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,a0 + move.l a0,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L60 + and.l #255,d3 + move.l _FactorCos,60(sp) + move.l _FactorCos+4,64(sp) + move.l _FactorSin,68(sp) + move.l _FactorSin+4,72(sp) + lea (56,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (104,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L62 + moveq #64,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (112,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L62 + moveq #72,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (120,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L62 + moveq #80,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (128,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L62 + moveq #88,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (136,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L62 + lea (96,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (144,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L62: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L60 + and.l #255,d2 + move.l a2,d3 + add.l #200,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (248,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L60 + move.l a2,d3 + add.l #208,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (256,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L60 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (264,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L60 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (272,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L60 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (280,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L60 + lea (240,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (288,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L60: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEpY +_ROTATEpY: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,a0 + move.l a0,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L99 + and.l #255,d3 + move.l _FactorCos,60(sp) + move.l _FactorCos+4,64(sp) + move.l _FactorSin,68(sp) + move.l _FactorSin+4,72(sp) + lea (8,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (104,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L101 + moveq #16,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (112,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L101 + moveq #24,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (120,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L101 + moveq #32,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (128,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L101 + moveq #40,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (136,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L101 + lea (48,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (144,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L101: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L99 + and.l #255,d2 + move.l a2,d3 + add.l #152,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (248,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L99 + move.l a2,d3 + add.l #160,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (256,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L99 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (264,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L99 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (272,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L99 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (280,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L99 + lea (192,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (288,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L99: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEpZ +_ROTATEpZ: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,a0 + move.l a0,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L138 + and.l #255,d3 + move.l _FactorCos,60(sp) + move.l _FactorCos+4,64(sp) + move.l _FactorSin,68(sp) + move.l _FactorSin+4,72(sp) + lea (8,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (56,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L140 + moveq #16,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (64,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L140 + moveq #24,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (72,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L140 + moveq #32,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (80,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L140 + moveq #40,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (88,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L140 + lea (48,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (96,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L140: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L138 + and.l #255,d2 + move.l a2,d3 + add.l #152,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (200,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L138 + move.l a2,d3 + add.l #160,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (208,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L138 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (216,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L138 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (224,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L138 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (232,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L138 + lea (192,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (240,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L138: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEnX +_ROTATEnX: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,a0 + move.l a0,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L177 + and.l #255,d3 + move.l _FactorMCos,60(sp) + move.l _FactorMCos+4,64(sp) + move.l _FactorMSin,68(sp) + move.l _FactorMSin+4,72(sp) + lea (56,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (104,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L179 + moveq #64,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (112,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L179 + moveq #72,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (120,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L179 + moveq #80,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (128,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L179 + moveq #88,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (136,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L179 + lea (96,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (144,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L179: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L177 + and.l #255,d2 + move.l a2,d3 + add.l #200,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (248,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L177 + move.l a2,d3 + add.l #208,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (256,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L177 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (264,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L177 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (272,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L177 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (280,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L177 + lea (240,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (288,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L177: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEnY +_ROTATEnY: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,a0 + move.l a0,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L216 + and.l #255,d3 + move.l _FactorMCos,60(sp) + move.l _FactorMCos+4,64(sp) + move.l _FactorMSin,68(sp) + move.l _FactorMSin+4,72(sp) + lea (8,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (104,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L218 + moveq #16,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (112,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L218 + moveq #24,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (120,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L218 + moveq #32,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (128,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L218 + moveq #40,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (136,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L218 + lea (48,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (144,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L218: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L216 + and.l #255,d2 + move.l a2,d3 + add.l #152,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (248,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L216 + move.l a2,d3 + add.l #160,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (256,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L216 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (264,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L216 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (272,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L216 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (280,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L216 + lea (192,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (288,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L216: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEnZ +_ROTATEnZ: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,a0 + move.l a0,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L255 + and.l #255,d3 + move.l _FactorMCos,60(sp) + move.l _FactorMCos+4,64(sp) + move.l _FactorMSin,68(sp) + move.l _FactorMSin+4,72(sp) + lea (8,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (56,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L257 + moveq #16,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (64,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L257 + moveq #24,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (72,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L257 + moveq #32,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (80,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L257 + moveq #40,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (88,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L257 + lea (48,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (96,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L257: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L255 + and.l #255,d2 + move.l a2,d3 + add.l #152,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (200,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L255 + move.l a2,d3 + add.l #160,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (208,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L255 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (216,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L255 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (224,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L255 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (232,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L255 + lea (192,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (240,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L255: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _FLY +_FLY: + lea (-28,sp),sp + movem.l #16190,-(sp) + move.l 76(sp),d2 + move.l 80(sp),d3 + and.l #255,d0 + move.l d0,60(sp) + move.l #_VObj,d6 + lsl.l #3,d0 + move.l d0,64(sp) + move.l d0,d4 + add.l 60(sp),d4 + add.l d4,d4 + add.l d4,d4 + add.l 60(sp),d4 + lsl.l #3,d4 + move.l d6,d0 + add.l d4,d0 + move.l d0,a0 + addq.l #5,a0 + tst.b (a0) + jeq .L294 + move.l d4,a2 + add.l #_VObj+8,a2 + moveq #0,d5 + lea ___muldf3,a6 + lea ___floatsidf,a5 + lea ___subdf3,a4 + lea _it_round,a3 + move.l d0,68(sp) + move.l d0,a1 + addq.l #2,a1 + move.l a1,52(sp) + move.l a0,56(sp) +.L297: + move.l a2,d7 + move.l 4(a2),-(sp) + move.l (a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,44(sp) + move.l d1,48(sp) + move.l d0,(a2) + move.l d1,4(a2) + move.l d3,-(sp) + move.l d2,-(sp) + move.l 52(a2),-(sp) + move.l 48(a2),-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,48(a2) + move.l d1,52(a2) + move.l d3,-(sp) + move.l d2,-(sp) + move.l 100(a2),-(sp) + move.l 96(a2),-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,96(a2) + move.l d1,100(a2) + move.l d6,a0 + move.w (a0,d4.l),a0 + move.l a0,-(sp) + jsr (a5) + addq.l #4,sp + move.l 48(sp),-(sp) + move.l 48(sp),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + tst.l d0 + jlt .L301 + addq.l #8,a2 + move.l d6,a0 + move.w (a0,d4.l),a0 + move.l a0,-(sp) + jsr (a5) + move.l d7,a0 + move.l 4(a0),(sp) + move.l (a0),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + cmp.l #639,d0 + jgt .L301 + move.l 52(sp),a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + moveq #74,d1 + cmp.l d0,d1 + jge .L301 + move.l 52(sp),a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + cmp.l #434,d0 + jgt .L301 + addq.l #1,d5 + move.l 56(sp),a0 + moveq #0,d0 + move.b (a0),d0 + cmp.l d0,d5 + jlt .L297 + move.l 68(sp),a0 + tst.b 6(a0) + jeq .L294 + move.l 60(sp),d0 + lsl.l #3,d0 + add.l 60(sp),d0 + add.l d0,d0 + add.l d0,d0 + move.l 60(sp),d4 + add.l d0,d4 + lsl.l #3,d4 + move.l d4,a2 + add.l #_VObj+152,a2 + moveq #0,d7 + move.l d6,d0 + add.l d4,d0 + move.l d0,a0 + addq.l #2,a0 + move.l a0,52(sp) + addq.l #6,d0 + move.l d0,56(sp) +.L305: + move.l a2,d5 + move.l 4(a2),-(sp) + move.l (a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,44(sp) + move.l d1,48(sp) + move.l d0,(a2) + move.l d1,4(a2) + move.l d3,-(sp) + move.l d2,-(sp) + move.l 52(a2),-(sp) + move.l 48(a2),-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,48(a2) + move.l d1,52(a2) + move.l d3,-(sp) + move.l d2,-(sp) + move.l 100(a2),-(sp) + move.l 96(a2),-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,96(a2) + move.l d1,100(a2) + move.l d6,a0 + move.w (a0,d4.l),a0 + move.l a0,-(sp) + jsr (a5) + addq.l #4,sp + move.l 48(sp),-(sp) + move.l 48(sp),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + tst.l d0 + jlt .L304 + addq.l #8,a2 + move.l d6,a0 + move.w (a0,d4.l),a0 + move.l a0,-(sp) + jsr (a5) + move.l d5,a0 + move.l 4(a0),(sp) + move.l (a0),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + cmp.l #639,d0 + jgt .L304 + move.l 52(sp),a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + moveq #74,d1 + cmp.l d0,d1 + jge .L304 + move.l 52(sp),a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + cmp.l #434,d0 + jgt .L304 + addq.l #1,d7 + move.l 56(sp),a0 + moveq #0,d0 + move.b (a0),d0 + cmp.l d0,d7 + jlt .L305 +.L294: + movem.l (sp)+,#31996 + lea (28,sp),sp + rts +.L301: + move.l 64(sp),d0 + add.l 60(sp),d0 + add.l d0,d0 + add.l d0,d0 + add.l 60(sp),d0 + lsl.l #3,d0 + move.l d6,a0 + clr.b 5(a0,d0.l) + movem.l (sp)+,#31996 + lea (28,sp),sp + rts +.L304: + move.l 64(sp),d0 + add.l 60(sp),d0 + add.l d0,d0 + add.l d0,d0 + add.l 60(sp),d0 + lsl.l #3,d0 + move.l d6,a0 + add.l d0,a0 + clr.b 5(a0) + clr.b 6(a0) + movem.l (sp)+,#31996 + lea (28,sp),sp + rts + .align 2 + .globl _GREATEFFECT +_GREATEFFECT: + lea (-28,sp),sp + movem.l #16190,-(sp) + move.l d0,68(sp) + move.l a0,64(sp) + move.l _GfxBase,a6 +#APP +| 264 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + clr.l d4 + clr.l d5 + clr.w 48(sp) + move.l 64(sp),a0 + addq.l #3,a0 + move.l a0,52(sp) + lea ___floatsidf,a5 + lea ___muldf3,a2 + lea _it_round,a4 +.L314: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 269 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l #1202590843,-(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + addq.w #1,48(sp) + move.l 52(sp),60(sp) + move.l 52(sp),a3 + moveq #1,d6 + move.b d2,d0 +.L316: + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + moveq #0,d0 + move.b (a3),d0 + move.l d0,-(sp) + move.l a0,48(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d7 + lsl.w #8,d7 + swap d7 + clr.w d7 + moveq #0,d0 + move.b 1(a3),d0 + move.l d0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + moveq #0,d0 + move.b 2(a3),d0 + move.l d0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l _GfxBase,a6 + move.l 68(sp),a0 + move.l d6,d0 + move.l d7,d1 +#APP +| 275 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #1,d6 + addq.l #3,a3 + lea (24,sp),sp + moveq #32,d0 + cmp.l d6,d0 + jeq .L315 +.L446: + move.b _AScr,d0 + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + moveq #0,d0 + move.b (a3),d0 + move.l d0,-(sp) + move.l a0,48(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d7 + lsl.w #8,d7 + swap d7 + clr.w d7 + moveq #0,d0 + move.b 1(a3),d0 + move.l d0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + moveq #0,d0 + move.b 2(a3),d0 + move.l d0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l _GfxBase,a6 + move.l 68(sp),a0 + move.l d6,d0 + move.l d7,d1 +#APP +| 275 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #1,d6 + addq.l #3,a3 + lea (24,sp),sp + moveq #32,d0 + cmp.l d6,d0 + jne .L446 +.L315: + cmp.w #11,48(sp) + jeq .L447 + cmp.w #50,48(sp) + jne .L314 + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + lea _GfxBase,a3 + move.l (a3),a6 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + moveq #0,d0 + moveq #8,d1 + moveq #8,d2 + moveq #10,d3 +#APP +| 295 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + move.l (a3),a6 +#APP +| 296 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + move.l (a3),a6 +#APP +| 297 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l (a3),a6 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + moveq #0,d0 + moveq #0,d1 + moveq #0,d2 + moveq #0,d3 +#APP +| 298 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #1,d6 + move.l 60(sp),a3 +.L319: + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + moveq #0,d1 + move.b (a3),d1 + moveq #0,d2 + move.b 1(a3),d2 + moveq #0,d3 + move.b 2(a3),d3 + move.l _GfxBase,a6 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + move.l d6,d0 + lsl.w #8,d1 + swap d1 + clr.w d1 + lsl.w #8,d2 + swap d2 + clr.w d2 + lsl.w #8,d3 + swap d3 + clr.w d3 +#APP +| 301 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #1,d6 + addq.l #3,a3 + moveq #32,d0 + cmp.l d6,d0 + jne .L319 + moveq #50,d0 + jsr _delay + lea ___subdf3,a3 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 306 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l #1202590843,-(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + and.l #255,d2 + add.l d2,d2 + add.l d2,d2 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d2.l),a0 + move.l 64(sp),a1 + moveq #0,d0 + move.b 93(a1),d0 + move.l d0,-(sp) + move.l a0,48(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l 72(sp),a0 + moveq #0,d0 + move.b 94(a0),d0 + move.l d0,-(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + move.l 80(sp),a0 + moveq #0,d0 + move.b 95(a0),d0 + move.l d0,-(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + lsl.w #8,d0 + swap d0 + clr.w d0 + move.l d0,a1 + move.l _GfxBase,a6 + move.l 68(sp),a0 + moveq #31,d0 + move.l d3,d1 + move.l a1,d3 +#APP +| 309 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + lea (20,sp),sp + move.l #1202590843,(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___gtdf2 + lea (16,sp),sp + tst.l d0 + jle .L448 +.L364: + move.l d6,d4 + move.l d7,d5 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 306 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l #1202590843,-(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + and.l #255,d2 + add.l d2,d2 + add.l d2,d2 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d2.l),a0 + move.l 64(sp),a1 + moveq #0,d0 + move.b 93(a1),d0 + move.l d0,-(sp) + move.l a0,48(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l 72(sp),a0 + moveq #0,d0 + move.b 94(a0),d0 + move.l d0,-(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + move.l 80(sp),a0 + moveq #0,d0 + move.b 95(a0),d0 + move.l d0,-(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + lsl.w #8,d0 + swap d0 + clr.w d0 + move.l d0,a1 + move.l _GfxBase,a6 + move.l 68(sp),a0 + moveq #31,d0 + move.l d3,d1 + move.l a1,d3 +#APP +| 309 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + lea (20,sp),sp + move.l #1202590843,(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___gtdf2 + lea (16,sp),sp + tst.l d0 + jgt .L364 +.L448: + moveq #0,d0 + move.b 71(sp),d0 + move.l d0,48(sp) + jeq .L322 + lea _VObj,a2 + clr.l 52(sp) + lea ___fixdfsi,a6 +.L329: + moveq #0,d4 + move.b 5(a2),d4 + tst.l d4 + jeq .L331 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 12(a2),(sp) + move.l 8(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 60(a2),(sp) + move.l 56(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #1,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 20(a2),(sp) + move.l 16(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w d2,a0 + move.l a0,-(sp) + jsr (a5) + move.l 68(a2),(sp) + move.l 64(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #2,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 28(a2),(sp) + move.l 24(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w d2,a0 + move.l a0,-(sp) + jsr (a5) + move.l 76(a2),(sp) + move.l 72(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #3,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 36(a2),(sp) + move.l 32(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w d2,a0 + move.l a0,-(sp) + jsr (a5) + move.l 84(a2),(sp) + move.l 80(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #4,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w d2,a0 + move.l a0,-(sp) + jsr (a5) + move.l 92(a2),(sp) + move.l 88(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #5,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 52(a2),(sp) + move.l 48(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.w d0,(a2) + move.w d2,a0 + move.l a0,-(sp) + jsr (a5) + move.l 100(a2),(sp) + move.l 96(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.w d0,2(a2) +.L331: + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d0,d2 + move.l d1,d3 + move.l d4,(sp) + jsr ___floatunsidf + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___divdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.w d0,(a2) + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d0,d2 + move.l d1,d3 + moveq #0,d0 + move.b 5(a2),d0 + move.l d0,(sp) + jsr ___floatunsidf + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___divdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.w d0,d6 + add.w #235,d6 + move.w d6,2(a2) + moveq #0,d7 + move.b 5(a2),d7 + lea (16,sp),sp + tst.l d7 + jeq .L324 + move.w (a2),a0 + pea 1(a0) + jsr (a5) + move.l d0,d4 + move.l d1,d5 + move.l 12(a2),(sp) + move.l 8(a2),-(sp) + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,8(a2) + move.l d1,12(a2) + move.w d6,a0 + pea 1(a0) + jsr (a5) + move.l d0,d2 + move.l d1,d3 + move.l 60(a2),(sp) + move.l 56(a2),-(sp) + move.l d3,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,56(a2) + move.l d1,60(a2) + moveq #1,d0 + cmp.l d7,d0 + jeq .L324 + move.l 20(a2),-(sp) + move.l 16(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,16(a2) + move.l d1,20(a2) + move.l 68(a2),-(sp) + move.l 64(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,64(a2) + move.l d1,68(a2) + moveq #2,d1 + cmp.l d7,d1 + jeq .L324 + move.l 28(a2),-(sp) + move.l 24(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,24(a2) + move.l d1,28(a2) + move.l 76(a2),-(sp) + move.l 72(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,72(a2) + move.l d1,76(a2) + moveq #3,d0 + cmp.l d7,d0 + jeq .L324 + move.l 36(a2),-(sp) + move.l 32(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,32(a2) + move.l d1,36(a2) + move.l 84(a2),-(sp) + move.l 80(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,80(a2) + move.l d1,84(a2) + moveq #4,d1 + cmp.l d7,d1 + jeq .L324 + move.l 44(a2),-(sp) + move.l 40(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,40(a2) + move.l d1,44(a2) + move.l 92(a2),-(sp) + move.l 88(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,88(a2) + move.l d1,92(a2) + subq.l #5,d7 + jeq .L324 + move.l 52(a2),-(sp) + move.l 48(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,48(a2) + move.l d1,52(a2) + move.l 100(a2),-(sp) + move.l 96(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,96(a2) + move.l d1,100(a2) +.L324: + move.b 6(a2),d7 + jeq .L327 + and.l #255,d7 + move.w (a2),a0 + pea 1(a0) + jsr (a5) + move.l d0,d2 + move.l d1,d3 + move.l 156(a2),(sp) + move.l 152(a2),-(sp) + move.l d3,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,152(a2) + move.l d1,156(a2) + move.w d6,a0 + pea 1(a0) + jsr (a5) + move.l d0,d4 + move.l d1,d5 + move.l 204(a2),(sp) + move.l 200(a2),-(sp) + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,200(a2) + move.l d1,204(a2) + moveq #1,d1 + cmp.l d7,d1 + jeq .L327 + move.l 164(a2),-(sp) + move.l 160(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,160(a2) + move.l d1,164(a2) + move.l 212(a2),-(sp) + move.l 208(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,208(a2) + move.l d1,212(a2) + moveq #2,d0 + cmp.l d7,d0 + jeq .L327 + move.l 172(a2),-(sp) + move.l 168(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,168(a2) + move.l d1,172(a2) + move.l 220(a2),-(sp) + move.l 216(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,216(a2) + move.l d1,220(a2) + moveq #3,d1 + cmp.l d7,d1 + jeq .L327 + move.l 180(a2),-(sp) + move.l 176(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,176(a2) + move.l d1,180(a2) + move.l 228(a2),-(sp) + move.l 224(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,224(a2) + move.l d1,228(a2) + moveq #4,d0 + cmp.l d7,d0 + jeq .L327 + move.l 188(a2),-(sp) + move.l 184(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,184(a2) + move.l d1,188(a2) + move.l 236(a2),-(sp) + move.l 232(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,232(a2) + move.l d1,236(a2) + moveq #5,d1 + cmp.l d7,d1 + jeq .L327 + move.l 196(a2),-(sp) + move.l 192(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,192(a2) + move.l d1,196(a2) + move.l 244(a2),-(sp) + move.l 240(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,240(a2) + move.l d1,244(a2) +.L327: + addq.l #1,52(sp) + lea (296,a2),a2 + move.l 48(sp),d0 + cmp.l 52(sp),d0 + jne .L329 +.L322: + move.w #-32756,_custom+150 + move.b _AScr,d2 + move.l #1072695869,52(sp) + move.l #1889785610,56(sp) + moveq #1,d0 + move.l d0,60(sp) +.L332: + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L339 + move.l #-755914244,-(sp) + move.l #1064329805,-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l d0,52(sp) + move.l d1,56(sp) + moveq #1,d1 + cmp.l 60(sp),d1 + jeq .L449 + and.l #255,d2 + add.l d2,d2 + add.l d2,d2 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d2.l),a1 + moveq #0,d0 +#APP +| 350 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 + moveq #105,d1 + not.b d1 + move.l #639,d2 + move.l #330,d3 +#APP +| 351 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #16,d0 + cmp.l 60(sp),d0 + jlt .L450 +.L336: + tst.l 48(sp) + jeq .L362 + lea _VObj,a2 + moveq #0,d2 +.L361: + tst.b 5(a2) + jeq .L341 + moveq #1,d1 + cmp.l d2,d1 + jge .L342 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 +#APP +| 368 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + cmp.b #4,6(a2) + jhi .L343 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a0 + add.l (a0,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 36(a2),(sp) + move.l 32(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 84(a2),(sp) + move.l 80(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 377 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #40,d6 + add.l a2,d6 + lea (16,sp),sp + moveq #4,d3 + move.l d6,d0 + move.l a2,d6 + move.l d0,a2 +.L344: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d7 + lea _MyScreen,a0 + add.l (a0,d0.l),d7 + move.l (a2)+,d4 + move.l (a2)+,d5 + move.l d6,a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d4 + move.l d6,a0 + move.w 2(a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d7,a1 + move.l d4,d0 +#APP +| 380 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #1,d3 + lea (16,sp),sp + moveq #6,d0 + cmp.l d3,d0 + jne .L344 + move.l d6,a2 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 +#APP +| 382 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP +.L342: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #1,d0 +#APP +| 384 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a0 + add.l (a0,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 12(a2),(sp) + move.l 8(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 60(a2),(sp) + move.l 56(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 385 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b 5(a2),d0 + lea (16,sp),sp + moveq #1,d1 + cmp.l d0,d1 + jge .L351 + moveq #16,d6 + add.l a2,d6 + moveq #1,d3 +.L350: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d7 + lea _MyScreen,a0 + add.l (a0,d0.l),d7 + move.l d6,a0 + move.l (a0)+,d4 + move.l (a0)+,d5 + move.l a0,d6 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d4 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d6,a0 + lea (40,a0),a0 + move.l 4(a0),(sp) + move.l (a0),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d7,a1 + move.l d4,d0 +#APP +| 388 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #1,d3 + moveq #0,d0 + move.b 5(a2),d0 + lea (16,sp),sp + cmp.l d0,d3 + jlt .L350 +.L351: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 +#APP +| 390 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + tst.b 6(a2) + jne .L451 +.L341: + move.b 4(a2),d0 + btst #0,d0 + jne .L452 +.L355: + btst #1,d0 + jne .L453 +.L356: + btst #2,d0 + jne .L454 +.L357: + btst #3,d0 + jne .L455 +.L358: + btst #4,d0 + jne .L456 +.L359: + btst #5,d0 + jne .L457 +.L360: + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l d2,d0 + jsr _FLY + addq.l #1,d2 + lea (296,a2),a2 + addq.l #8,sp + cmp.l 48(sp),d2 + jne .L361 +.L362: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 409 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + addq.l #1,60(sp) + moveq #30,d0 + cmp.l 60(sp),d0 + jne .L332 +.L339: + and.l #255,d2 + add.l d2,d2 + add.l d2,d2 + lea _GfxBase,a2 + move.l (a2),a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d2.l),a1 + moveq #0,d0 +#APP +| 420 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + lea _AScr,a3 + move.b (a3),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 + moveq #75,d1 + move.l #639,d2 + move.l #434,d3 +#APP +| 421 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 422 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 +#APP +| 420 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 + moveq #75,d1 +#APP +| 421 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 422 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + move.w #12,_custom+150 + movem.l (sp)+,#31996 + lea (28,sp),sp + rts +.L447: + move.w #-32756,_custom+150 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 269 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l #1202590843,-(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + addq.w #1,48(sp) + move.l 52(sp),60(sp) + move.l 52(sp),a3 + moveq #1,d6 + move.b d2,d0 + jra .L316 +.L457: + move.l d2,d0 + jsr _ROTATEnZ + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l d2,d0 + jsr _FLY + addq.l #1,d2 + lea (296,a2),a2 + addq.l #8,sp + cmp.l 48(sp),d2 + jne .L361 + jra .L362 +.L456: + move.l d2,d0 + jsr _ROTATEnY + move.b 4(a2),d0 + btst #5,d0 + jeq .L360 + jra .L457 +.L455: + move.l d2,d0 + jsr _ROTATEnX + move.b 4(a2),d0 + btst #4,d0 + jeq .L359 + jra .L456 +.L454: + move.l d2,d0 + jsr _ROTATEpZ + move.b 4(a2),d0 + btst #3,d0 + jeq .L358 + jra .L455 +.L453: + move.l d2,d0 + jsr _ROTATEpY + move.b 4(a2),d0 + btst #2,d0 + jeq .L357 + jra .L454 +.L452: + move.l d2,d0 + jsr _ROTATEpX + move.b 4(a2),d0 + btst #1,d0 + jeq .L356 + jra .L453 +.L451: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a0 + add.l (a0,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 156(a2),(sp) + move.l 152(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 204(a2),(sp) + move.l 200(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 393 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b 6(a2),d0 + lea (16,sp),sp + moveq #1,d1 + cmp.l d0,d1 + jge .L354 + move.l a2,d6 + add.l #160,d6 + moveq #1,d3 +.L353: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d7 + lea _MyScreen,a0 + add.l (a0,d0.l),d7 + move.l d6,a0 + move.l (a0)+,d4 + move.l (a0)+,d5 + move.l a0,d6 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d4 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d6,a0 + lea (40,a0),a0 + move.l 4(a0),(sp) + move.l (a0),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d7,a1 + move.l d4,d0 +#APP +| 396 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #1,d3 + moveq #0,d0 + move.b 6(a2),d0 + lea (16,sp),sp + cmp.l d0,d3 + jlt .L353 +.L354: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 +#APP +| 398 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + move.b 4(a2),d0 + btst #0,d0 + jeq .L355 + jra .L452 +.L343: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a0 + add.l (a0,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 180(a2),(sp) + move.l 176(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 228(a2),(sp) + move.l 224(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 371 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l a2,d6 + add.l #184,d6 + lea (16,sp),sp + moveq #2,d3 + move.l d6,d0 + move.l a2,d6 + move.l d0,a2 +.L345: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d7 + lea _MyScreen,a0 + add.l (a0,d0.l),d7 + move.l (a2)+,d4 + move.l (a2)+,d5 + move.l d6,a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d4 + move.l d6,a0 + move.w 2(a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d7,a1 + move.l d4,d0 +#APP +| 374 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + subq.l #1,d3 + lea (16,sp),sp + jne .L345 + move.l d6,a2 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a0 + add.l (a0,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 36(a2),(sp) + move.l 32(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 84(a2),(sp) + move.l 80(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 377 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #40,d6 + add.l a2,d6 + lea (16,sp),sp + moveq #4,d3 + move.l d6,d0 + move.l a2,d6 + move.l d0,a2 + jra .L344 +.L450: + jsr _rand + pea 13.w + move.l d0,-(sp) + jsr ___modsi3 + addq.l #8,sp + move.l d0,d1 + lsl.l #3,d1 + add.l d0,d1 + add.l d1,d1 + add.l d1,d1 + add.l d1,d0 + lsl.l #3,d0 + add.l #_VObj+5,d0 + move.l d0,a0 + clr.b (a0) + jra .L336 +.L449: + move.l 64(sp),a2 + addq.l #6,a2 + moveq #2,d4 + move.b d2,d0 +.L334: + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + moveq #0,d2 + move.b (a2),d2 + move.l d2,d1 + add.l d2,d1 + add.l d1,d1 + add.l d2,d1 + move.b 1(a2),d2 + move.l d2,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,d2 + moveq #0,d3 + move.b 2(a2),d3 + move.l d3,a0 + add.l d3,a0 + add.l a0,a0 + add.l a0,d3 + move.l _GfxBase,a6 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + move.l d4,d0 + lsl.w #5,d1 + swap d1 + clr.w d1 + lsl.w #5,d2 + swap d2 + clr.w d2 + lsl.w #5,d3 + swap d3 + clr.w d3 +#APP +| 355 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #1,d4 + addq.l #3,a2 + moveq #31,d0 + cmp.l d4,d0 + jeq .L336 + move.b _AScr,d0 + jra .L334 +.LC41: + .ascii "Snd0.RAW\0" + .align 2 + .globl _LOADSOUNDS +_LOADSOUNDS: + lea (-40,sp),sp + movem.l #16190,-(sp) + move.l _PathStr+32,a0 + move.l a0,a1 +.L459: + tst.b (a1)+ + jne .L459 + move.l a0,d6 + sub.l a1,d6 + not.l d6 + lea (44,sp),a1 +.L460: + move.b (a0)+,(a1)+ + jne .L460 + moveq #0,d0 + not.b d0 + and.l d6,d0 + lea (44,sp),a0 + add.l d0,a0 + lea .LC41,a1 +.L461: + move.b (a1)+,(a0)+ + jne .L461 + addq.b #3,d6 + and.l #255,d6 + lea _SMemL+4,a2 + lea _SMemA+4,a3 + moveq #49,d5 + lea _OPENSMOOTH,a4 + move.l #1005,d7 + move.l #65538,a5 +.L465: + move.b d5,44(sp,d6.l) + move.l d7,d0 + lea (44,sp),a0 + jsr (a4) + move.l d0,d4 + jeq .L464 + move.l _DOSBase,a6 + move.l d0,d1 + moveq #0,d2 + moveq #1,d3 +#APP +| 447 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 + moveq #-1,d3 +#APP +| 448 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l d0,(a2)+ + move.l _SysBase,a6 + move.l a5,d1 +#APP +| 450 "test.c" 1 + jsr a6@(-0xc6:W) +#NO_APP + move.l d0,(a3)+ + jeq .L464 + move.l _DOSBase,a6 + move.l d4,d1 + move.l d0,d2 + move.l -4(a2),d3 +#APP +| 452 "test.c" 1 + jsr a6@(-0x2a:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 +#APP +| 453 "test.c" 1 + jsr a6@(-0x24:W) +#NO_APP + addq.b #1,d5 + cmp.b #52,d5 + jne .L465 + moveq #1,d0 + movem.l (sp)+,#31996 + lea (40,sp),sp + rts +.L464: + clr.w d0 + movem.l (sp)+,#31996 + lea (40,sp),sp + rts +.LC42: + .ascii "Frame0.pal\0" +.LC43: + .ascii "Frame0.img\0" +.LC44: + .ascii "Frame1.pal\0" +.LC45: + .ascii "Frame1.img\0" +.LC46: + .ascii "Frame2.pal\0" +.LC47: + .ascii "Frame2.img\0" +.LC48: + .ascii "Frame3.pal\0" +.LC49: + .ascii "Frame3.img\0" +.LC50: + .ascii "MOD.Intro\0" +.LC51: + .ascii "Frame4.pal\0" +.LC52: + .ascii "Frame4.img\0" +.LC53: + .ascii "Frame5.img\0" +.LC54: + .ascii "Frame6.pal\0" +.LC55: + .ascii "Frame6.img\0" +.LC56: + .ascii "PRESENTS\0" +.LC57: + .ascii "A\0" +.LC58: + .ascii "PRODUCTION\0" + .data + .align 2 +.LC0: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 4 + .skip 1 + .long 1078132736 + .long 0 + .long 1075970048 + .long 0 + .long 1075970048 + .long 0 + .long 1075970048 + .long 0 + .long 1075970048 + .long 0 + .long 1078132736 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1076232192 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC1: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1079427072 + .long 0 + .long 1079246848 + .long 0 + .long 1079246848 + .long 0 + .long 1079246848 + .long 0 + .long 1079246848 + .long 0 + .long 1079427072 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1079754752 + .long 0 + .long 1079574528 + .long 0 + .long 1079574528 + .long 0 + .long 1079574528 + .long 0 + .long 1079574528 + .long 0 + .long 1079754752 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1077411840 + .long 0 + .long 1077411840 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC2: + .word 0 + .word 0 + .byte 34 + .byte 6 + .byte 6 + .skip 1 + .long 1080320000 + .long 0 + .long 1080229888 + .long 0 + .long 1080229888 + .long 0 + .long 1080229888 + .long 0 + .long 1080229888 + .long 0 + .long 1080320000 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080492032 + .long 0 + .long 1080401920 + .long 0 + .long 1080401920 + .long 0 + .long 1080401920 + .long 0 + .long 1080401920 + .long 0 + .long 1080492032 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076363264 + .long 0 + .long 1076363264 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC3: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080696832 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080696832 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080664064 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080664064 + .long 0 + .long 1076756480 + .long 0 + .long 1076756480 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076756480 + .long 0 + .long 1076756480 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC4: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080860672 + .long 0 + .long 1080762368 + .long 0 + .long 1080860672 + .long 0 + .long 1080860672 + .long 0 + .long 1080762368 + .long 0 + .long 1080860672 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077084160 + .long 0 + .long 1077084160 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081065472 + .long 0 + .long 1080967168 + .long 0 + .long 1080918016 + .long 0 + .long 1080918016 + .long 0 + .long 1080967168 + .long 0 + .long 1081065472 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076363264 + .long 0 + .long 1076363264 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC5: + .word 0 + .word 0 + .byte 24 + .byte 6 + .byte 4 + .skip 1 + .long 1081200640 + .long 0 + .long 1081081856 + .long 0 + .long 1081081856 + .long 0 + .long 1081081856 + .long 0 + .long 1081081856 + .long 0 + .long 1081200640 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1075970048 + .long 0 + .long 1075970048 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081122816 + .long 0 + .long 1081122816 + .long 0 + .long 1081122816 + .long 0 + .long 1081122816 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1076232192 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC6: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1081335808 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081335808 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081323520 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081323520 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC7: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1081835520 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081835520 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081823232 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081823232 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC8: + .word 0 + .word 0 + .byte 48 + .byte 6 + .byte 4 + .skip 1 + .long 1081966592 + .long 0 + .long 1081847808 + .long 0 + .long 1081847808 + .long 0 + .long 1081847808 + .long 0 + .long 1081847808 + .long 0 + .long 1081966592 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081884672 + .long 0 + .long 1081884672 + .long 0 + .long 1081884672 + .long 0 + .long 1081884672 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1076232192 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC9: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1082023936 + .long 0 + .long 1081978880 + .long 0 + .long 1082023936 + .long 0 + .long 1082023936 + .long 0 + .long 1081978880 + .long 0 + .long 1082023936 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082105856 + .long 0 + .long 1082068992 + .long 0 + .long 1082048512 + .long 0 + .long 1082048512 + .long 0 + .long 1082068992 + .long 0 + .long 1082105856 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC10: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 0 + .skip 1 + .long 1082202112 + .long 0 + .long 1082179584 + .long 0 + .long 1082148864 + .long 0 + .long 1082148864 + .long 0 + .long 1082179584 + .long 0 + .long 1082202112 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC11: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1082288128 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082288128 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082261504 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082261504 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC12: + .word 0 + .word 0 + .byte 24 + .byte 6 + .byte 6 + .skip 1 + .long 1082372096 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082372096 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082365952 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082365952 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC13: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1079541760 + .long 0 + .long 1079345152 + .long 0 + .long 1079590912 + .long 0 + .long 1079590912 + .long 0 + .long 1079345152 + .long 0 + .long 1079541760 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080000512 + .long 0 + .long 1079803904 + .long 0 + .long 1079672832 + .long 0 + .long 1079672832 + .long 0 + .long 1079803904 + .long 0 + .long 1080000512 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077346304 + .long 0 + .long 1077346304 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC14: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 0 + .skip 1 + .long 1080131584 + .long 0 + .long 1080041472 + .long 0 + .long 1080041472 + .long 0 + .long 1080041472 + .long 0 + .long 1080041472 + .long 0 + .long 1080131584 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC15: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080352768 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080352768 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080246272 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080246272 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC16: + .word 0 + .word 0 + .byte 34 + .byte 6 + .byte 4 + .skip 1 + .long 1080672256 + .long 0 + .long 1080434688 + .long 0 + .long 1080434688 + .long 0 + .long 1080434688 + .long 0 + .long 1080434688 + .long 0 + .long 1080672256 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080508416 + .long 0 + .long 1080508416 + .long 0 + .long 1080508416 + .long 0 + .long 1080508416 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1076232192 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC17: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080786944 + .long 0 + .long 1080696832 + .long 0 + .long 1080696832 + .long 0 + .long 1080696832 + .long 0 + .long 1080696832 + .long 0 + .long 1080786944 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077608448 + .long 0 + .long 1077608448 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080950784 + .long 0 + .long 1080860672 + .long 0 + .long 1080860672 + .long 0 + .long 1080860672 + .long 0 + .long 1080860672 + .long 0 + .long 1080950784 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077477376 + .long 0 + .long 1077477376 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC18: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 0 + .skip 1 + .long 1081122816 + .long 0 + .long 1081073664 + .long 0 + .long 1080950784 + .long 0 + .long 1080950784 + .long 0 + .long 1081073664 + .long 0 + .long 1081122816 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC19: + .word 0 + .word 0 + .byte 24 + .byte 6 + .byte 4 + .skip 1 + .long 1081241600 + .long 0 + .long 1081196544 + .long 0 + .long 1081196544 + .long 0 + .long 1081196544 + .long 0 + .long 1081196544 + .long 0 + .long 1081241600 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081307136 + .long 0 + .long 1081245696 + .long 0 + .long 1081245696 + .long 0 + .long 1081307136 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC20: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1081405440 + .long 0 + .long 1081360384 + .long 0 + .long 1081405440 + .long 0 + .long 1081405440 + .long 0 + .long 1081360384 + .long 0 + .long 1081405440 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081487360 + .long 0 + .long 1081450496 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081450496 + .long 0 + .long 1081487360 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC21: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1081839616 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081839616 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081786368 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081786368 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC22: + .word 0 + .word 0 + .byte 48 + .byte 6 + .byte 4 + .skip 1 + .long 1081933824 + .long 0 + .long 1081888768 + .long 0 + .long 1081888768 + .long 0 + .long 1081888768 + .long 0 + .long 1081888768 + .long 0 + .long 1081933824 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081999360 + .long 0 + .long 1081937920 + .long 0 + .long 1081937920 + .long 0 + .long 1081999360 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC23: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 0 + .skip 1 + .long 1082101760 + .long 0 + .long 1082011648 + .long 0 + .long 1082011648 + .long 0 + .long 1082011648 + .long 0 + .long 1082011648 + .long 0 + .long 1082101760 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC24: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1078460416 + .long 0 + .long 1078099968 + .long 0 + .long 1078099968 + .long 0 + .long 1078099968 + .long 0 + .long 1078099968 + .long 0 + .long 1078460416 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1079492608 + .long 0 + .long 1079312384 + .long 0 + .long 1079132160 + .long 0 + .long 1079132160 + .long 0 + .long 1079312384 + .long 0 + .long 1079492608 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC25: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 0 + .skip 1 + .long 1078919168 + .long 0 + .long 1078558720 + .long 0 + .long 1078558720 + .long 0 + .long 1078558720 + .long 0 + .long 1078558720 + .long 0 + .long 1078919168 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC26: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080303616 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080303616 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080279040 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080279040 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC27: + .word 0 + .word 0 + .byte 34 + .byte 6 + .byte 0 + .skip 1 + .long 1080713216 + .long 0 + .long 1080623104 + .long 0 + .long 1080623104 + .long 0 + .long 1080623104 + .long 0 + .long 1080623104 + .long 0 + .long 1080713216 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC28: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080827904 + .long 0 + .long 1080737792 + .long 0 + .long 1080737792 + .long 0 + .long 1080737792 + .long 0 + .long 1080737792 + .long 0 + .long 1080827904 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077608448 + .long 0 + .long 1077608448 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080991744 + .long 0 + .long 1080901632 + .long 0 + .long 1080901632 + .long 0 + .long 1080901632 + .long 0 + .long 1080901632 + .long 0 + .long 1080991744 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077477376 + .long 0 + .long 1077477376 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC29: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1081094144 + .long 0 + .long 1081016320 + .long 0 + .long 1081016320 + .long 0 + .long 1081016320 + .long 0 + .long 1081016320 + .long 0 + .long 1081094144 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081229312 + .long 0 + .long 1081184256 + .long 0 + .long 1081139200 + .long 0 + .long 1081139200 + .long 0 + .long 1081184256 + .long 0 + .long 1081229312 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC30: + .word 0 + .word 0 + .byte 24 + .byte 6 + .byte 4 + .skip 1 + .long 1081417728 + .long 0 + .long 1081298944 + .long 0 + .long 1081298944 + .long 0 + .long 1081298944 + .long 0 + .long 1081298944 + .long 0 + .long 1081417728 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081335808 + .long 0 + .long 1081335808 + .long 0 + .long 1081335808 + .long 0 + .long 1081335808 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1077215232 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC31: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1081548800 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081548800 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081536512 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081536512 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC32: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1081806848 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081806848 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081753600 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081753600 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC33: + .word 0 + .word 0 + .byte 48 + .byte 6 + .byte 0 + .skip 1 + .long 1081962496 + .long 0 + .long 1081917440 + .long 0 + .long 1081856000 + .long 0 + .long 1081856000 + .long 0 + .long 1081917440 + .long 0 + .long 1081962496 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC34: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1082081280 + .long 0 + .long 1082036224 + .long 0 + .long 1082036224 + .long 0 + .long 1082036224 + .long 0 + .long 1082036224 + .long 0 + .long 1082081280 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082148864 + .long 0 + .long 1082122240 + .long 0 + .long 1082122240 + .long 0 + .long 1082122240 + .long 0 + .long 1082122240 + .long 0 + .long 1082148864 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076953088 + .long 0 + .long 1076953088 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC35: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1082247168 + .long 0 + .long 1082224640 + .long 0 + .long 1082224640 + .long 0 + .long 1082224640 + .long 0 + .long 1082224640 + .long 0 + .long 1082247168 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082314752 + .long 0 + .long 1082292224 + .long 0 + .long 1082269696 + .long 0 + .long 1082269696 + .long 0 + .long 1082292224 + .long 0 + .long 1082314752 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 +.LC36: + .ascii "\0" + .skip 59 + .ascii "Software & Design\0" + .skip 42 + .ascii "Oxygenic\0" + .skip 51 + .ascii "Art Director\0" + .skip 47 + .ascii "Cybertrace\0" + .skip 49 + .ascii "Music by\0" + .skip 51 + .ascii "Ludwig v.Beethoven N.N. Ikonnikow Richard Wagner\0" + .skip 7 + .ascii "Special Effects\0" + .skip 44 + .ascii "Oxygenic\0" + .skip 51 + .ascii "Credits go to\0" + .skip 46 + .ascii "Adam Benjamin Rikard Cederlund\0" + .skip 27 + .ascii "Jakob Gaardsted Andy Jones\0" + .skip 31 + .ascii "George Moore\0" + .skip 47 + .ascii "Surround-Sounds created with\0" + .skip 31 + .ascii "WaveTracer DS\302\256\0" + .skip 44 + .ascii "Colors in Technicolor\302\256\0" + .skip 36 + .ascii "Panaflex\302\256 Camera and Lenses by Panavision\302\256\0" + .skip 15 + .align 2 +.LC38: + .long 1081630720 + .long 0 + .long 1081114624 + .long 0 + .long 1081049088 + .long 0 + .long 1080508416 + .long 0 + .long 1080508416 + .long 0 + .long 1080557568 + .long 0 + .long 1081081856 + .long 0 + .long 1081221120 + .long 0 + .long 1081483264 + .long 0 + .long 1081507840 + .long 0 + .long 1081507840 + .long 0 + .long 1081237504 + .long 0 + .long 1081188352 + .long 0 + .long 1081049088 + .long 0 + .long 1081081856 + .long 0 + .long 1081221120 + .long 0 + .long 1081237504 + .long 0 + .long 1081188352 + .long 0 + .long 1081237504 + .long 0 + .long 1081237504 + .long 0 + .long 1081090048 + .long 0 + .long 1081118720 + .long 0 + .long 1081151488 + .long 0 + .long 1081184256 + .long 0 + .long 1081212928 + .long 0 + .long 1080500224 + .long 0 + .long 1080500224 + .long 0 + .long 1080541184 + .long 0 + .long 1080541184 + .long 0 + .long 1081491456 + .long 0 + .long 1081491456 + .long 0 + .long 1081511936 + .long 0 + .long 1081511936 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC39: + .long 1081323520 + .long 0 + .long 1080410112 + .long 0 + .long 1081159680 + .long 0 + .long 1081032704 + .long 0 + .long 1080524800 + .long 0 + .long 1080827904 + .long 0 + .long 1080901632 + .long 0 + .long 1080901632 + .long 0 + .long 1080827904 + .long 0 + .long 1080524800 + .long 0 + .long 1081032704 + .long 0 + .long 1081159680 + .long 0 + .long 1080410112 + .long 0 + .long 1081159680 + .long 0 + .long 1080975360 + .long 0 + .long 1080975360 + .long 0 + .long 1081159680 + .long 0 + .long 1080410112 + .long 0 + .long 1081159680 + .long 0 + .long 1081159680 + .long 0 + .long 1081135104 + .long 0 + .long 1081434112 + .long 0 + .long 1081135104 + .long 0 + .long 1081434112 + .long 0 + .long 1081135104 + .long 0 + .long 1080516608 + .long 0 + .long 1080393728 + .long 0 + .long 1080393728 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080393728 + .long 0 + .long 1080393728 + .long 0 + .long 1080516608 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC40: + .long -1073479680 + .long 0 + .long -1072431104 + .long 0 + .long -1074790400 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1074790400 + .long 0 + .long -1074790400 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1074790400 + .long 0 + .long -1072431104 + .long 0 + .long -1074790400 + .long 0 + .long -1074685543 + .long -1717986918 + .long -1074685543 + .long -1717986918 + .long -1074790400 + .long 0 + .long -1072431104 + .long 0 + .long -1071644672 + .long 0 + .long -1074790400 + .long 0 + .long -1073741824 + .long 0 + .long -1073741824 + .long 0 + .long -1073741824 + .long 0 + .long -1073741824 + .long 0 + .long -1073741824 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .text + .align 2 + .globl _MAININTRO +_MAININTRO: + lea (-2660,sp),sp + movem.l #16190,-(sp) + clr.l _TMPtr + move.b #1,_AScr + lea _MyScreen+4,a3 + clr.l (a3) + clr.l 4(a3) + lea _SMemA+4,a0 + clr.l (a0) + clr.l 4(a0) + clr.l 8(a0) + clr.l _IMemA + clr.l _IMemA+4 + jsr _LOADSOUNDS + tst.w d0 + jeq .L476 + moveq #5,d0 + jsr _OPENCINEMA + move.l d0,(a3) + jeq .L476 + moveq #5,d0 + jsr _OPENCINEMA + move.l d0,4(a3) + jeq .L476 + move.l #73500,_IMemL + move.l _SysBase,a6 + move.l #73500,d0 + moveq #2,d1 +#APP +| 503 "test.c" 1 + jsr a6@(-0xc6:W) +#NO_APP + lea _IMemA,a0 + move.l d0,(a0) + jeq .L476 + lea _IMemL,a0 + move.l (a0),54(sp) + move.w #80,268(sp) + move.w #183,270(sp) + move.b #1,272(sp) + move.b #5,273(sp) + clr.w 274(sp) + move.l d0,276(sp) + move.l d0,d1 + add.l #14640,d1 + move.l d1,280(sp) + move.l d0,d2 + add.l #29280,d2 + move.l d2,284(sp) + add.l #29280,d1 + move.l d1,288(sp) + add.l #29280,d2 + move.l d2,292(sp) + clr.l 296(sp) + clr.l 300(sp) + clr.l 304(sp) + move.l d0,308(sp) + move.l 54(sp),312(sp) + move.l _PathStr+32,a1 + move.l a1,a0 +.L480: + tst.b (a0)+ + jne .L480 + move.l a1,d2 + sub.l a0,d2 + not.l d2 + move.l d2,d0 + lea (193,sp),a0 + jsr _strncpy + lea (193,sp),a2 + add.l d2,a2 + move.l a2,66(sp) + move.l a2,a1 + lea .LC42,a0 +.L481: + move.b (a0)+,(a1)+ + jne .L481 + lea (193,sp),a1 + move.l _MyScreen+4,a0 + jsr _SETCOLOR + lea (193,sp),a1 + move.l _MyScreen+8,a0 + jsr _SETCOLOR + move.l 66(sp),a1 + lea .LC43,a0 +.L482: + move.b (a0)+,(a1)+ + jne .L482 + lea (268,sp),a3 + move.l a3,-(sp) + pea 5.w + pea 183.w + move.w #640,a1 + moveq #0,d1 + moveq #0,d0 + lea (205,sp),a0 + jsr _RAWLOADIMAGE + lea (12,sp),sp + tst.w d0 + jeq .L476 + lea _MyScreen,a5 + moveq #0,d0 + lea _AScr,a2 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + lea _GfxBase,a4 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #635,d2 + move.l #340,d3 + moveq #5,d4 + moveq #90,d5 + moveq #63,d6 + not.b d6 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #630,d2 + moveq #10,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #625,d2 + moveq #15,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #620,d2 + moveq #20,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #615,d2 + moveq #25,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #610,d2 + moveq #30,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #605,d2 + moveq #35,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #600,d2 + moveq #40,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l #590,d7 + move.l d3,a4 +.L483: + move.l d7,a2 + subq.l #5,a2 + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l a2,d2 + move.l a4,d3 + moveq #49,d4 + moveq #90,d5 + moveq #63,d6 + not.b d6 +#APP +| 535 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #41,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #44,d2 + add.l d7,d2 + moveq #5,d4 +#APP +| 536 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 538 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + move.l a2,d7 + moveq #10,d0 + cmp.l a2,d0 + jne .L483 + moveq #0,d0 + lea _AScr,a2 + move.b (a2),d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + lea _GfxBase,a3 + move.l (a3),a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #10,d0 + move.l a4,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #10,d2 + moveq #50,d4 +#APP +| 543 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #635,d2 + moveq #5,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #630,d2 + moveq #10,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #625,d2 + moveq #15,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #620,d2 + moveq #20,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #615,d2 + moveq #25,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #610,d2 + moveq #30,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #605,d2 + moveq #35,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #600,d2 + moveq #40,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #595,d2 + moveq #45,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a3),a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 551 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l (a3),a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 552 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + move.l d2,d7 + move.w #430,a3 +.L484: + move.l d7,a2 + subq.l #5,a2 + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l a2,d2 + move.l a4,d3 + moveq #41,d4 + moveq #90,d5 + moveq #63,d6 + not.b d6 +#APP +| 556 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #36,d0 + add.l d7,d0 + move.l #340,d1 + moveq #45,d2 + add.l d7,d2 + move.l a3,d3 +#APP +| 557 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 559 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + move.l a2,d7 + moveq #60,d2 + cmp.l a2,d2 + jne .L484 + moveq #0,d0 + lea _AScr,a3 + move.b (a3),d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + lea _GfxBase,a4 + move.l (a4),a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #10,d0 + move.l #340,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #10,d2 + move.l d1,d3 + moveq #105,d4 + not.b d4 +#APP +| 564 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + moveq #5,d0 + jsr _delay + moveq #0,d0 + move.b (a3),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + lea (268,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #616,d4 + moveq #91,d5 +#APP +| 568 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + lea _IntuitionBase,a2 + move.l (a2),a6 + move.l (a5,d0.l),a0 +#APP +| 570 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + lea (268,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 +#APP +| 568 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.l (a5,d0.l),a0 +#APP +| 570 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #15,d0 + jsr _delay + moveq #0,d0 + move.b (a3),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + lea (268,sp),a0 + moveq #0,d0 + moveq #90,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #337,d3 + moveq #98,d4 +#APP +| 575 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.l (a5,d0.l),a0 +#APP +| 577 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.w #15,_custom+150 + moveq #15,d0 + jsr _delay + move.w #-32765,_custom+150 + moveq #25,d0 + jsr _delay + move.l #1202590843,-(sp) + move.l #1067743969,-(sp) + jsr _sin + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l #-343597384,-(sp) + move.l #1067366481,-(sp) + jsr _cos + move.l d0,_FactorCos + move.l d1,_FactorCos+4 + move.l #-1717986918,-(sp) + move.l #-1079404135,-(sp) + jsr _sin + move.l d0,_FactorMSin + move.l d1,_FactorMSin+4 + move.l #1202590843,-(sp) + move.l #-1080788255,-(sp) + jsr _cos + move.l d0,_FactorMCos + move.l d1,_FactorMCos+4 + moveq #0,d0 + move.b (a3),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + add.l d0,d0 + move.l (a4),a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 606 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l (a4),a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + move.l #335,d1 + move.l #640,d2 + move.l #430,d3 +#APP +| 607 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.l (a5,d0.l),a0 +#APP +| 609 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l (a4),a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 606 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l (a4),a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + move.l #335,d1 +#APP +| 607 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.l (a5,d0.l),a0 +#APP +| 609 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l (a4),a6 + move.l d2,d0 + move.l #360,d1 +#APP +| 612 "test.c" 1 + jsr a6@(-0x1ec:W) +#NO_APP + move.l d0,d7 + lea (32,sp),sp + jeq .L476 + move.l (a4),a6 + lea (118,sp),a0 + move.l d0,a1 + move.l #21000,d0 +#APP +| 617 "test.c" 1 + jsr a6@(-0x1d4:W) +#NO_APP + move.l (a4),a6 + lea (168,sp),a0 + lea _IMemA,a2 + move.l (a2),a1 + moveq #55,d0 + not.b d0 +#APP +| 618 "test.c" 1 + jsr a6@(-0x11a:W) +#NO_APP + move.l _MyScreen+4,a1 + moveq #118,d0 + add.l sp,d0 + move.l d0,96(a1) + move.l _MyScreen+8,a0 + move.l d0,96(a0) + moveq #87,d2 + not.b d2 + add.l sp,d2 + move.l d2,100(a1) + move.l d2,100(a0) + move.l 66(sp),a1 + lea .LC44,a0 +.L485: + move.b (a0)+,(a1)+ + jne .L485 + lea _SETDARKCOLOR,a2 + lea (1300,sp),a1 + lea (193,sp),a0 + jsr (a2) + move.l 66(sp),a1 + lea .LC45,a0 +.L486: + move.b (a0)+,(a1)+ + jne .L486 + clr.l -(sp) + moveq #0,d0 + lea _AScr,a3 + move.b (a3),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + pea 5.w + pea 37.w + move.w #640,a1 + moveq #20,d1 + not.b d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + pea .LC56 + pea 5.w + moveq #0,d0 + move.b (a3),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #31,a0 + move.l #285,d1 + move.l #320,d0 + jsr _WRITE + moveq #0,d0 + move.b (a3),d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #0,d0 + moveq #20,d1 + not.b d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + move.l d1,d3 + move.l #640,d4 + moveq #75,d5 + moveq #63,d6 + not.b d6 +#APP +| 631 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l #296,d0 + lea .LC0,a1 + lea _VObj,a0 + jsr _memcpy + move.l #296,d0 + lea .LC1,a1 + lea _VObj+296,a0 + jsr _memcpy + move.l #296,d0 + lea .LC2,a1 + lea _VObj+592,a0 + jsr _memcpy + move.l #296,d0 + lea .LC3,a1 + lea _VObj+888,a0 + jsr _memcpy + move.l #296,d0 + lea .LC4,a1 + lea _VObj+1184,a0 + jsr _memcpy + move.l #296,d0 + lea .LC5,a1 + lea _VObj+1480,a0 + jsr _memcpy + move.l #296,d0 + lea .LC6,a1 + lea _VObj+1776,a0 + jsr _memcpy + move.l #296,d0 + lea .LC7,a1 + lea _VObj+2072,a0 + jsr _memcpy + move.l #296,d0 + lea .LC8,a1 + lea _VObj+2368,a0 + jsr _memcpy + move.l #296,d0 + lea .LC9,a1 + lea _VObj+2664,a0 + jsr _memcpy + move.l #296,d0 + lea .LC10,a1 + lea _VObj+2960,a0 + jsr _memcpy + move.l #296,d0 + lea .LC11,a1 + lea _VObj+3256,a0 + jsr _memcpy + move.l #296,d0 + lea .LC12,a1 + lea _VObj+3552,a0 + jsr _memcpy + move.l _LData,a0 + move.b (a0),d0 + lea (28,sp),sp + btst #6,d0 + jeq .L666 + lea _GREATEFFECT,a3 + lea (1300,sp),a0 + moveq #13,d0 + jsr (a3) + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L666 + move.l 66(sp),a1 + lea .LC46,a0 +.L488: + move.b (a0)+,(a1)+ + jne .L488 + lea (1300,sp),a1 + lea (193,sp),a0 + jsr (a2) + move.l 66(sp),a1 + lea .LC47,a0 +.L489: + move.b (a0)+,(a1)+ + jne .L489 + clr.l -(sp) + moveq #0,d0 + lea _AScr,a4 + move.b (a4),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + pea 5.w + pea 37.w + move.w #640,a1 + moveq #20,d1 + not.b d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + pea .LC57 + pea 5.w + moveq #0,d0 + move.b (a4),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #31,a0 + moveq #50,d1 + not.b d1 + move.l #320,d0 + jsr _WRITE + pea .LC58 + pea 5.w + moveq #0,d0 + move.b (a4),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #31,a0 + move.l #285,d1 + move.l #320,d0 + jsr _WRITE + moveq #0,d0 + move.b (a4),d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #0,d0 + moveq #55,d1 + not.b d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + move.l d1,d3 + move.l #640,d4 + moveq #100,d5 + moveq #63,d6 + not.b d6 +#APP +| 698 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + lea (40,sp),sp + move.l #296,d0 + lea .LC13,a1 + lea _VObj,a0 + jsr _memcpy + move.l #296,d0 + lea .LC14,a1 + lea _VObj+296,a0 + jsr _memcpy + move.l #296,d0 + lea .LC15,a1 + lea _VObj+592,a0 + jsr _memcpy + move.l #296,d0 + lea .LC16,a1 + lea _VObj+888,a0 + jsr _memcpy + move.l #296,d0 + lea .LC17,a1 + lea _VObj+1184,a0 + jsr _memcpy + move.l #296,d0 + lea .LC18,a1 + lea _VObj+1480,a0 + jsr _memcpy + move.l #296,d0 + lea .LC19,a1 + lea _VObj+1776,a0 + jsr _memcpy + move.l #296,d0 + lea .LC20,a1 + lea _VObj+2072,a0 + jsr _memcpy + move.l #296,d0 + lea .LC21,a1 + lea _VObj+2368,a0 + jsr _memcpy + move.l #296,d0 + lea .LC22,a1 + lea _VObj+2664,a0 + jsr _memcpy + move.l #296,d0 + lea .LC23,a1 + lea _VObj+2960,a0 + jsr _memcpy + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L666 + lea (1300,sp),a0 + moveq #11,d0 + jsr (a3) + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L666 + move.l 66(sp),a1 + lea .LC48,a0 +.L491: + move.b (a0)+,(a1)+ + jne .L491 + lea (1300,sp),a1 + lea (193,sp),a0 + jsr (a2) + move.l 66(sp),a1 + lea .LC49,a0 +.L492: + move.b (a0)+,(a1)+ + jne .L492 + clr.l -(sp) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + pea 5.w + pea 37.w + move.w #640,a1 + moveq #20,d1 + not.b d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + moveq #0,d0 + move.b _AScr,d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #0,d0 + moveq #20,d1 + not.b d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + move.l d1,d3 + move.l #640,d4 + moveq #37,d5 + moveq #63,d6 + not.b d6 +#APP +| 755 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l #296,d0 + lea .LC24,a1 + lea _VObj,a0 + jsr _memcpy + move.l #296,d0 + lea .LC25,a1 + lea _VObj+296,a0 + jsr _memcpy + move.l #296,d0 + lea .LC26,a1 + lea _VObj+592,a0 + jsr _memcpy + move.l #296,d0 + lea .LC27,a1 + lea _VObj+888,a0 + jsr _memcpy + move.l #296,d0 + lea .LC28,a1 + lea _VObj+1184,a0 + jsr _memcpy + move.l #296,d0 + lea .LC29,a1 + lea _VObj+1480,a0 + jsr _memcpy + move.l #296,d0 + lea .LC30,a1 + lea _VObj+1776,a0 + jsr _memcpy + move.l #296,d0 + lea .LC31,a1 + lea _VObj+2072,a0 + jsr _memcpy + move.l #296,d0 + lea .LC32,a1 + lea _VObj+2368,a0 + jsr _memcpy + move.l #296,d0 + lea .LC33,a1 + lea _VObj+2664,a0 + jsr _memcpy + move.l #296,d0 + lea .LC34,a1 + lea _VObj+2960,a0 + jsr _memcpy + move.l #296,d0 + lea .LC35,a1 + lea _VObj+3256,a0 + jsr _memcpy + move.l _LData,a0 + move.b (a0),d0 + lea (16,sp),sp + btst #6,d0 + jeq .L666 + lea (1300,sp),a0 + moveq #12,d0 + jsr (a3) + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L666 + move.l _GfxBase,a6 + move.l d7,a0 + move.l d4,d0 + move.l #360,d1 +#APP +| 812 "test.c" 1 + jsr a6@(-0x1f2:W) +#NO_APP + move.l _MyScreen+4,a0 + cmp.w #0,a0 + jeq .L495 + move.l _IntuitionBase,a6 +#APP +| 818 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+4 +.L495: + move.l _MyScreen+8,a0 + cmp.w #0,a0 + jeq .L496 + move.l _IntuitionBase,a6 +#APP +| 818 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+8 +.L496: + lea _SysBase,a3 + move.l (a3),a6 + lea _IMemA,a0 + move.l (a0),a1 + lea _IMemL,a0 + move.l (a0),d0 +#APP +| 822 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _IMemA + moveq #7,d0 + jsr _OPENCINEMA + move.l d0,_MyScreen+4 + jeq .L476 + moveq #7,d0 + jsr _OPENCINEMA + move.l d0,_MyScreen+8 + jeq .L476 + lea _IMemL,a4 + move.l #201856,(a4) + move.l #21000,4(a4) + move.l (a3),a6 + move.l #201856,d0 + moveq #2,d1 +#APP +| 838 "test.c" 1 + jsr a6@(-0xc6:W) +#NO_APP + lea _IMemA,a1 + move.l d0,(a1) + jeq .L476 + move.l (a3),a6 + move.l 4(a4),d0 + moveq #2,d1 +#APP +| 838 "test.c" 1 + jsr a6@(-0xc6:W) +#NO_APP + move.l d0,_IMemA+4 + jeq .L476 + move.w #-32756,_custom+150 + move.l _GfxBase,a6 +#APP +| 850 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + move.l #-16777216,d4 +.L497: + lea _GfxBase,a3 + move.l (a3),a6 + move.w #44,a0 + add.l _MyScreen+8,a0 + moveq #0,d0 + move.l d4,d1 + move.l d4,d2 + move.l d4,d3 +#APP +| 856 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + move.l (a3),a6 +#APP +| 858 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + add.l #-83886080,d4 + cmp.l #167772160,d4 + jne .L497 + move.l (a3),a6 + move.w #44,a0 + add.l _MyScreen+8,a0 + moveq #0,d0 + moveq #0,d1 + moveq #0,d2 + moveq #0,d3 +#APP +| 861 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + move.w #12,_custom+150 + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + move.l 66(sp),a1 + lea .LC50,a0 +.L498: + move.b (a0)+,(a1)+ + jne .L498 + lea _OPENSMOOTH,a3 + move.l #1005,d0 + lea (193,sp),a0 + jsr (a3) + tst.l d0 + jeq .L499 + move.l _DOSBase,a6 + move.l d0,d1 +#APP +| 868 "test.c" 1 + jsr a6@(-0x24:W) +#NO_APP +.L499: + move.l 66(sp),a1 + lea .LC51,a0 +.L500: + move.b (a0)+,(a1)+ + jne .L500 + lea (1300,sp),a1 + lea (193,sp),a0 + jsr (a2) + move.l 66(sp),a1 + lea .LC52,a0 +.L501: + move.b (a0)+,(a1)+ + jne .L501 + clr.l -(sp) + move.l _MyScreen+8,-(sp) + pea 7.w + pea 360.w + move.w #640,a1 + moveq #75,d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + move.l _GfxBase,a6 + move.w #84,a0 + add.l _MyScreen+8,a0 + moveq #0,d0 + moveq #75,d1 + move.w #84,a1 + add.l _MyScreen+4,a1 + moveq #0,d2 + moveq #75,d3 + move.l #640,d4 + move.l #360,d5 + moveq #63,d6 + not.b d6 +#APP +| 876 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + lea (16,sp),sp + move.l 66(sp),a1 + lea .LC53,a0 +.L502: + move.b (a0)+,(a1)+ + jne .L502 + move.l #1005,d0 + lea (193,sp),a0 + jsr (a3) + move.l d0,d4 + jeq .L503 + lea _DOSBase,a3 + move.l (a3),a6 + move.l d0,d1 + moveq #0,d2 + moveq #1,d3 +#APP +| 882 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l (a3),a6 + move.l d4,d1 + moveq #-1,d3 +#APP +| 883 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + lea _IMemL,a2 + move.l (a2),d2 + add.l #-250,d2 + sub.l d0,d2 + move.l (a3),a6 + move.l d4,d1 + lea _IMemA,a0 + add.l (a0),d2 + move.l d0,d3 +#APP +| 884 "test.c" 1 + jsr a6@(-0x2a:W) +#NO_APP + lea _IMemA,a1 + move.l (a1),a0 + move.l (a2),a1 + lea (-250,a1),a1 + sub.l d3,a1 + moveq #0,d1 + move.l #20160,d0 + lea (a0,a1.l),a1 + jsr _UNPACK + move.l (a3),a6 + move.l d4,d1 +#APP +| 886 "test.c" 1 + jsr a6@(-0x24:W) +#NO_APP +.L503: + lea _IMemA,a0 + move.l (a0),d0 + move.w #20,228(sp) + move.w #144,230(sp) + move.b #1,232(sp) + move.b #7,233(sp) + clr.w 234(sp) + move.l d0,236(sp) + move.l d0,d1 + add.l #2880,d1 + move.l d1,240(sp) + move.l d0,d2 + add.l #5760,d2 + move.l d2,244(sp) + add.l #5760,d1 + move.l d1,248(sp) + add.l #5760,d2 + move.l d2,252(sp) + add.l #5760,d1 + move.l d1,256(sp) + add.l #17280,d0 + move.l d0,260(sp) + clr.l 264(sp) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 896 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #20,d2 + move.l d2,74(sp) + clr.l d4 + clr.l d5 + lea (1684,sp),a0 + move.l a0,58(sp) + lea ___muldf3,a4 + lea _it_round,a3 +.L505: + move.l #-1717986918,-(sp) + move.l #1068079513,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + lea (1300,sp),a2 + addq.l #3,a2 + move.l a2,82(sp) + moveq #1,d6 +.L504: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #0,d0 + move.b (a2),d0 + move.l d0,-(sp) + move.l a0,50(sp) + jsr ___floatsidf + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d7 + lsl.w #8,d7 + swap d7 + clr.w d7 + moveq #0,d0 + move.b 1(a2),d0 + move.l d0,-(sp) + jsr ___floatsidf + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + moveq #0,d0 + move.b 2(a2),d0 + move.l d0,-(sp) + jsr ___floatsidf + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l _GfxBase,a6 + move.l 70(sp),a0 + move.l d6,d0 + move.l d7,d1 +#APP +| 903 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #3,a2 + addq.l #1,d6 + lea (24,sp),sp + cmp.l 58(sp),a2 + jne .L504 + subq.l #1,74(sp) + jne .L505 + moveq #1,d5 + move.l a2,d4 + move.l 82(sp),a2 +.L506: + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + moveq #0,d1 + move.b (a2),d1 + moveq #0,d2 + move.b 1(a2),d2 + moveq #0,d3 + move.b 2(a2),d3 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + move.l d5,d0 + lsl.w #8,d1 + swap d1 + clr.w d1 + lsl.w #8,d2 + swap d2 + clr.w d2 + lsl.w #8,d3 + swap d3 + clr.w d3 +#APP +| 912 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #0,d1 + move.b (a2),d1 + moveq #0,d2 + move.b 1(a2),d2 + moveq #0,d3 + move.b 2(a2),d3 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + move.l d5,d0 + lsl.w #8,d1 + swap d1 + clr.w d1 + lsl.w #8,d2 + swap d2 + clr.w d2 + lsl.w #8,d3 + swap d3 + clr.w d3 +#APP +| 915 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #3,a2 + addq.l #1,d5 + cmp.l a2,d4 + jne .L506 + moveq #0,d0 + lea _AScr,a2 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-4,d1 + moveq #0,d2 + moveq #75,d3 + move.l #639,d4 + move.l #434,d5 +#APP +| 919 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 + moveq #63,d6 + not.b d6 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #119,d7 + not.b d7 + move.l d4,a2 +.L507: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 933 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + moveq #0,d2 + moveq #75,d3 + move.l #639,d4 + move.l #434,d5 +#APP +| 935 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l a2,d4 + moveq #8,d5 + moveq #63,d6 + not.b d6 +#APP +| 936 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #0,d0 + move.l d7,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #380,d2 + moveq #95,d4 + not.b d4 +#APP +| 937 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + subq.l #4,d7 + moveq #-4,d2 + cmp.l d7,d2 + jne .L507 + moveq #0,d0 + lea _AScr,a2 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 943 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + moveq #0,d2 + move.l #639,d4 + move.l #434,d5 +#APP +| 945 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 946 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #380,d2 + moveq #79,d3 + moveq #95,d4 + not.b d4 + moveq #4,d5 +#APP +| 947 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #14,d7 + move.w #639,a2 +.L508: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 951 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + moveq #0,d2 + moveq #75,d3 + move.l a2,d4 + move.l #434,d5 +#APP +| 953 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 + moveq #63,d6 + not.b d6 +#APP +| 954 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + subq.b #1,d7 + jne .L508 + moveq #10,d0 + jsr _delay + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + move.l d0,a0 + add.l d0,a0 + pea 434.w + pea 639.w + lea _RECT,a2 + move.w #75,a1 + moveq #0,d1 + moveq #0,d0 + move.l (a5,a0.l),a0 + jsr (a2) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 964 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + move.l d0,a0 + add.l d0,a0 + pea 434.w + pea 639.w + move.w #75,a1 + moveq #0,d1 + moveq #0,d0 + move.l (a5,a0.l),a0 + jsr (a2) + lea (16,sp),sp + move.l 66(sp),a1 + lea .LC54,a0 +.L509: + move.b (a0)+,(a1)+ + jne .L509 + moveq #0,d0 + lea _AScr,a6 + move.b (a6),d0 + add.l d0,d0 + add.l d0,d0 + lea (193,sp),a1 + move.l (a5,d0.l),a0 + jsr _SETCOLOR + moveq #0,d0 + move.b (a6),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + lea (193,sp),a1 + move.l (a5,d0.l),a0 + jsr _SETCOLOR + moveq #0,d0 + move.b (a6),d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #127,d0 + moveq #9,d1 + moveq #9,d2 + moveq #11,d3 +#APP +| 971 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #127,d0 + moveq #9,d1 +#APP +| 971 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #126,d0 + moveq #11,d1 + moveq #11,d2 + moveq #15,d3 +#APP +| 972 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #126,d0 + moveq #11,d1 +#APP +| 972 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #125,d0 + moveq #15,d1 + moveq #0,d2 +#APP +| 973 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #125,d0 + moveq #15,d1 +#APP +| 973 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #124,d0 + moveq #13,d1 + moveq #0,d3 +#APP +| 974 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #124,d0 + moveq #15,d1 + moveq #2,d2 + moveq #2,d3 +#APP +| 974 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #123,d0 + moveq #14,d1 + moveq #14,d2 + moveq #15,d3 +#APP +| 975 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #123,d0 + moveq #14,d1 +#APP +| 975 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + lea .LC55,a0 + move.l 66(sp),a1 +.L510: + move.b (a0)+,(a1)+ + jne .L510 + clr.l -(sp) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + pea 7.w + pea 360.w + move.w #640,a1 + moveq #75,d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + lea _IMemA,a0 + move.l (a0),d2 + moveq #40,d1 + moveq #0,d0 + lea (244,sp),a0 + jsr _memset + move.w #80,244(sp) + move.w #360,246(sp) + move.b #1,248(sp) + move.b #7,249(sp) + move.l d2,252(sp) + move.l d2,d0 + add.l #28800,d0 + move.l d0,256(sp) + move.l d2,d1 + add.l #57600,d1 + move.l d1,260(sp) + add.l #57600,d0 + move.l d0,264(sp) + add.l #57600,d1 + move.l d1,268(sp) + add.l #57600,d0 + move.l d0,272(sp) + add.l #172800,d2 + move.l d2,276(sp) + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (244,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + moveq #75,d3 + move.l #640,d4 + move.l #360,d5 + moveq #63,d6 + not.b d6 +#APP +| 983 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + move.l _GfxBase,a6 + move.l d4,d0 + move.l d5,d1 +#APP +| 985 "test.c" 1 + jsr a6@(-0x1ec:W) +#NO_APP + move.l d0,122(sp) + lea (16,sp),sp + jeq .L476 + move.l _GfxBase,a6 + lea (118,sp),a0 + move.l d0,a1 + move.l #21000,d0 +#APP +| 990 "test.c" 1 + jsr a6@(-0x1d4:W) +#NO_APP + move.l _GfxBase,a6 + lea (168,sp),a0 + move.l _IMemA+4,a1 + moveq #55,d0 + not.b d0 +#APP +| 991 "test.c" 1 + jsr a6@(-0x11a:W) +#NO_APP + move.l _MyScreen+4,a1 + moveq #118,d2 + add.l sp,d2 + move.l d2,96(a1) + move.l _MyScreen+8,a0 + move.l d2,96(a0) + moveq #87,d1 + not.b d1 + add.l sp,d1 + move.l d1,100(a1) + move.l d1,100(a0) + move.l #1020,d0 + lea .LC36,a1 + lea (1684,sp),a0 + jsr _memcpy + clr.b 151(sp) + move.b #4,152(sp) + move.b #5,153(sp) + move.b #4,154(sp) + move.b #5,155(sp) + move.b #4,156(sp) + move.b #5,157(sp) + move.b #4,158(sp) + move.b #5,159(sp) + move.b #4,160(sp) + move.b #5,161(sp) + move.b #5,162(sp) + move.b #5,163(sp) + move.b #4,164(sp) + move.b #5,165(sp) + move.b #4,166(sp) + move.b #4,167(sp) + lea (316,sp),a2 + move.l #328,d0 + lea .LC38,a1 + move.l a2,a0 + jsr _memcpy + lea (644,sp),a0 + move.l a0,62(sp) + move.l #328,d0 + lea .LC39,a1 + jsr _memcpy + move.l sp,d3 + add.l #972,d3 + move.l #328,d0 + lea .LC40,a1 + move.l d3,a0 + jsr _memcpy + move.l a2,d4 + addq.l #8,d4 + lea (644,sp),a0 + addq.l #8,a0 + move.l a0,66(sp) + move.l a0,a6 + move.l d4,d5 +.L511: + move.l d5,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + clr.l -(sp) + move.l #1081151488,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d5,a1 + move.l d0,(a1)+ + move.l d1,(a1)+ + move.l a1,d5 + move.l 4(a6),-(sp) + move.l (a6),-(sp) + clr.l -(sp) + move.l #1081085952,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,(a6)+ + move.l d1,(a6)+ + cmp.l 62(sp),d5 + jne .L511 + move.l #-858993459,-(sp) + move.l #1071434956,-(sp) + jsr _sin + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l #-858993459,-(sp) + move.l #1071434956,-(sp) + jsr _cos + move.l d0,98(sp) + move.l d1,102(sp) + move.l d0,_FactorCos + move.l d1,_FactorCos+4 + move.l _FactorSin,114(sp) + move.l _FactorSin+4,118(sp) + lea (16,sp),sp + moveq #3,d2 + lea (972,sp),a1 + move.l d4,d6 + move.b d2,d7 + move.l d5,114(sp) + move.l d3,110(sp) +.L512: + move.l 110(sp),a0 + addq.l #8,a0 + move.l a0,74(sp) + move.l a1,110(sp) + move.l 66(sp),a6 +.L513: + move.l (a6),d4 + move.l 4(a6),d5 + move.l (a0),90(sp) + move.l 4(a0),94(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l a0,62(sp) + move.l a1,66(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d2 + move.l d1,d3 + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,(a6)+ + move.l d1,(a6)+ + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d2 + move.l d1,d3 + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l 46(sp),a0 + move.l d0,(a0)+ + move.l d1,(a0)+ + move.l 50(sp),a1 + cmp.l a1,a6 + jne .L513 + subq.b #1,d7 + jne .L512 + move.l 114(sp),d5 + move.l #-1030792151,-(sp) + move.l #-1076090635,-(sp) + jsr _sin + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l #-1030792151,-(sp) + move.l #-1076090635,-(sp) + jsr _cos + move.l d0,98(sp) + move.l d1,102(sp) + move.l d0,_FactorCos + move.l d1,_FactorCos+4 + move.l _FactorSin,d2 + move.l _FactorSin+4,d3 + lea (16,sp),sp + move.l d6,a6 + move.l d6,a0 + move.l d2,98(sp) + move.l d3,102(sp) + move.l d5,d2 +.L515: + move.l (a6),d4 + move.l 4(a6),d5 + move.l 74(sp),a1 + move.l (a1),90(sp) + move.l 4(a1),94(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l a0,62(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,(a6)+ + move.l d1,(a6)+ + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l 74(sp),a1 + addq.l #8,74(sp) + move.l d0,(a1)+ + move.l d1,(a1)+ + move.l 46(sp),a0 + cmp.l a6,d2 + jne .L515 + move.l a0,d4 + move.l #1202590843,-(sp) + move.l #-1078691103,-(sp) + jsr _sin + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l #1202590843,-(sp) + move.l #-1078691103,-(sp) + jsr _cos + move.l d0,90(sp) + move.l d1,94(sp) + move.l d0,_FactorCos + move.l d1,_FactorCos+4 + move.l _FactorSin,d2 + move.l _FactorSin+4,d3 + lea (16,sp),sp + move.l d2,90(sp) + move.l d3,94(sp) + move.l a6,d2 + move.l d4,a6 +.L516: + move.l (a6),d4 + move.l 4(a6),d5 + move.l 66(sp),a0 + move.l (a0),82(sp) + move.l 4(a0),86(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,(a6)+ + move.l d1,(a6)+ + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l 66(sp),a1 + addq.l #8,66(sp) + move.l d0,(a1)+ + move.l d1,(a1)+ + cmp.l a6,d2 + jne .L516 + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L538 + clr.l 130(sp) + moveq #75,d0 + move.l d0,142(sp) + clr.l 134(sp) + move.l d0,146(sp) + move.l #341,90(sp) + move.l #1065242486,82(sp) + move.l #1608035756,86(sp) + move.l #1065512599,66(sp) + move.l #-1924145349,70(sp) + clr.l 74(sp) + moveq #1,d7 +.L533: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 1057 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l #-1030792151,(sp) + move.l #1070344437,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,316(sp) + move.l d1,320(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l 656(sp),-(sp) + move.l 656(sp),-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,644(sp) + move.l d1,648(sp) + and.l #255,d2 + move.l d2,a1 + add.l d2,a1 + add.l a1,a1 + lea (2704,sp),a0 + add.l a1,a0 + move.l -2578(a0),d0 + move.l -2566(a0),d3 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #-75,d1 + add.l d3,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l d0,d2 + moveq #95,d4 + not.b d4 + moveq #80,d5 + moveq #63,d6 + not.b d6 +#APP +| 1061 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #20,d0 + moveq #110,d1 + not.b d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #20,d2 + moveq #35,d3 + not.b d3 + move.l #600,d4 + moveq #55,d5 +#APP +| 1062 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #0,d2 + move.b _AScr,d2 + clr.l -(sp) + move.l #1079410688,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + add.l d2,d2 + add.l d2,d2 + lea (2712,sp),a0 + add.l d2,a0 + move.l d0,-2578(a0) + moveq #0,d2 + move.b _AScr,d2 + add.l d2,d2 + move.l d2,a0 + add.l d2,a0 + move.l #2712,d1 + add.l sp,d1 + add.l d1,a0 + lea (-2578,a0),a0 + addq.l #8,sp + tst.l (a0) + jge .L518 + clr.l (a0) +.L518: + clr.l -(sp) + move.l #1078853632,-(sp) + move.l 656(sp),-(sp) + move.l 656(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + add.l d2,d2 + lea (2712,sp),a0 + add.l d2,a0 + move.l d0,-2566(a0) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + lea (2712,sp),a0 + add.l d0,a0 + lea (-2566,a0),a0 + addq.l #8,sp + moveq #74,d2 + cmp.l (a0),d2 + jlt .L519 + moveq #75,d0 + move.l d0,(a0) +.L519: + move.l 70(sp),-(sp) + move.l 70(sp),-(sp) + clr.l -(sp) + move.l #1072693248,-(sp) + jsr ___divdf3 + lea (16,sp),sp + move.l d0,98(sp) + move.l d1,102(sp) + moveq #8,d6 +.L522: + move.l 316(sp),d2 + move.l 320(sp),d3 + move.l 4(a2,d6.l),-(sp) + move.l (a2,d6.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + clr.l -(sp) + clr.l -(sp) + move.l d5,-(sp) + move.l d0,-(sp) + jsr ___ltdf2 + lea (16,sp),sp + tst.l d0 + jlt .L669 +.L520: + addq.l #8,d6 + cmp.l #328,d6 + jne .L522 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #124,d0 +#APP +| 1077 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 480(sp),-(sp) + move.l 480(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 816(sp),-(sp) + move.l 816(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1079 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #87,d2 + not.b d2 +.L523: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1080 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #200,d2 + jne .L523 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1081 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #126,d0 +#APP +| 1082 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 424(sp),-(sp) + move.l 424(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 760(sp),-(sp) + move.l 760(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1085 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #112,d2 +.L524: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1086 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #136,d2 + jne .L524 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1087 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 456(sp),-(sp) + move.l 456(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 792(sp),-(sp) + move.l 792(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1090 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #111,d2 + not.b d2 +.L525: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1091 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #160,d2 + jne .L525 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1092 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #127,d0 +#APP +| 1093 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1096 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #16,d2 + add.l a2,d2 + move.l #660,d3 + add.l sp,d3 + moveq #16,d0 + add.l d0,d3 + moveq #104,d4 + add.l a2,d4 + lea (16,sp),sp +.L526: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d6 + add.l (a5,d0.l),d6 + move.l d2,a0 + subq.l #8, sp + move.l (a0)+,(sp) + move.l (a0)+,4(sp) + move.l a0,d2 + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d5 + move.l d3,a0 + subq.l #8, sp + move.l (a0)+,(sp) + move.l (a0)+,4(sp) + move.l a0,d3 + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d6,a1 + move.l d5,d0 +#APP +| 1097 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + lea (16,sp),sp + cmp.l d4,d2 + jne .L526 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1098 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #125,d0 +#APP +| 1099 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 520(sp),-(sp) + move.l 520(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 856(sp),-(sp) + move.l 856(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1102 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #47,d2 + not.b d2 +.L527: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1103 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #232,d2 + jne .L527 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1104 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 552(sp),-(sp) + move.l 552(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 888(sp),-(sp) + move.l 888(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1105 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #15,d2 + not.b d2 +.L528: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1106 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #264,d2 + jne .L528 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1107 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 1108 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #75,d1 + moveq #0,d2 + moveq #55,d3 + not.b d3 +#APP +| 1109 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #1,d0 + cmp.l 74(sp),d0 + jcc .L529 + move.l d7,d2 + lsl.l #4,d2 + sub.l d7,d2 + add.l d2,d2 + add.l d2,d2 + lea (1684,sp),a0 + pea (a0,d2.l) + lea (2708,sp),a6 + add.l d7,a6 + moveq #0,d0 + move.b -2553(a6),d0 + move.l d0,-(sp) + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #123,a0 + moveq #35,d1 + not.b d1 + move.l #320,d0 + jsr _WRITE + lea (1756,sp),a0 + pea (a0,d2.l) + moveq #0,d0 + move.b -2552(a6),d0 + move.l d0,-(sp) + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #123,a0 + moveq #10,d1 + not.b d1 + move.l #320,d0 + jsr _WRITE + lea (24,sp),sp +.L529: + addq.l #1,74(sp) + moveq #55,d0 + cmp.l 74(sp),d0 + jcc .L530 + addq.l #2,d7 + clr.l 74(sp) +.L530: + move.l #1580547965,-(sp) + move.l #1072712122,-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,82(sp) + move.l d1,86(sp) + move.l #2109687936,-(sp) + move.l #1072707613,-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,66(sp) + move.l d1,70(sp) + subq.l #1,90(sp) + jeq .L670 + move.l #-1717986918,-(sp) + move.l #1074370969,-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr ___ledf2 + lea (16,sp),sp + move.l _LData,a0 + tst.l d0 + jgt .L531 + move.b (a0),d0 + btst #6,d0 + jne .L533 +.L531: + move.b (a0),d0 + btst #6,d0 + jeq .L538 + moveq #15,d1 + cmp.l d7,d1 + jcs .L538 + move.w #640,a2 + move.w #360,a3 + move.w #220,a4 +.L601: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 1132 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + moveq #75,d3 + move.l a2,d4 + move.l a3,d5 + moveq #63,d6 + not.b d6 +#APP +| 1134 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + tst.l 74(sp) + jne .L671 + moveq #1,d1 + move.l d1,74(sp) +.L537: + moveq #16,d2 + cmp.l d7,d2 + jcs .L538 + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jne .L601 +.L538: + move.l 106(sp),a0 + jsr _INTROEXIT + movem.l (sp)+,#31996 + lea (2660,sp),sp + rts +.L476: + sub.l a0,a0 + jsr _INTROEXIT + movem.l (sp)+,#31996 + lea (2660,sp),sp + rts +.L666: + move.l d7,a0 + jsr _INTROEXIT + movem.l (sp)+,#31996 + lea (2660,sp),sp + rts +.L669: + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___fixdfsi + addq.l #8,sp + jsr _abs + move.l d0,-(sp) + jsr ___floatsidf + move.l d3,(sp) + move.l d2,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d3,(sp) + move.l d2,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___divdf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2,d6.l) + move.l d1,4(a2,d6.l) + move.l d5,-(sp) + move.l d4,-(sp) + lea (652,sp),a0 + add.l d6,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + jsr ___divdf3 + lea (16,sp),sp + lea (644,sp),a1 + move.l d0,(a1,d6.l) + move.l d1,4(a1,d6.l) + jra .L520 +.L670: + move.l _LData,a0 + jra .L531 +.L671: + move.l d7,d2 + lsl.l #4,d2 + sub.l d7,d2 + add.l d2,d2 + add.l d2,d2 + lea (1684,sp),a0 + pea (a0,d2.l) + lea (2708,sp),a6 + add.l d7,a6 + moveq #0,d0 + move.b -2553(a6),d0 + move.l d0,-(sp) + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #123,a0 + move.l a4,d1 + move.l #320,d0 + jsr _WRITE + lea (1756,sp),a0 + pea (a0,d2.l) + moveq #0,d0 + move.b -2552(a6),d0 + move.l d0,-(sp) + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #123,a0 + moveq #10,d1 + not.b d1 + move.l #320,d0 + jsr _WRITE + addq.l #1,98(sp) + lea (24,sp),sp + moveq #20,d0 + cmp.l 74(sp),d0 + jcc .L537 + addq.l #2,d7 + clr.l 74(sp) + jra .L537 +.comm _SMemL,16 +.comm _SMemA,16 +.comm _VObj,3848 +.comm _AScr,1 +.comm _FactorMCos,8 +.comm _FactorMSin,8 +.comm _FactorSin,8 +.comm _FactorCos,8 diff --git a/test/test11/test.c b/test/test11/test.c new file mode 100755 index 0000000..e729c0f --- /dev/null +++ b/test/test11/test.c @@ -0,0 +1,1150 @@ +#include "IT2_Defines.h" +#include "IT2_Types.h" +#include "IT2_Vars.h" +#include "IT2_Functions.h" + +// will be global variables... waste of memory - maybe we can move them to the heap? ... +double FactorCos, FactorSin, FactorMSin, FactorMCos; +uint8 AScr; + +VectorObj VObj[13]; +APTR SMemA[4]; +uint32 SMemL[4]; +// ------------------------------ + +void SETDARKCOLOR(char* FName, r_Col* Colors) +{ + uint32 AddrX, ISize; + uint8 i; + uint32* ColorID; + r_Col* Col; + BPTR FHandle; + + FHandle = OPENSMOOTH(FName, MODE_OLDFILE); + if (FHandle == 0) { return; } + + ISize = Seek(FHandle, 0, OFFSET_END); + ISize = Seek(FHandle, 0, OFFSET_BEGINNING); + (void) Read(FHandle, IMemA[0], ISize); + Close(FHandle); + AddrX = (uint32) IMemA[0]; + do + { + ColorID = (uint32*) AddrX; + AddrX += 4; + } + while ((AddrX < ((uint32) IMemA[0]+ISize)) && (*ColorID != _COLOR_CMAP_TEXT_)); + if (*ColorID == _COLOR_CMAP_TEXT_) + { + AddrX += 4; + i = 0; + do + { + Col = (r_Col*) AddrX; + AddrX += 3; + Colors[i] = *Col; + SetRGB32(&(MyScreen[1]->ViewPort),i,0,0,0); + SetRGB32(&(MyScreen[2]->ViewPort),i,0,0,0); + i++; + } + while (AddrX < ((uint32) IMemA[0]+ISize)); + } + Colors[31] = (r_Col) {45,45,62}; +} + +void INTROEXIT(PLANEPTR MyRastPtr) +{ + uint8 i; + + SWITCHDISPLAY(); + (void) SetTaskPri(FindTask(NULL),0); + if (MyRastPtr != NULL) { FreeRaster(MyRastPtr,640,360); } + MyRastPtr = NULL; + for (i = 1; i<=2; i++) + { + if (MyScreen[i] != NULL) + { + RECT(MyScreen[i],0,0,75,639,434); + } + } + for (i = 1; i<=2; i++) + { + if (MyScreen[i] != NULL) + { + CloseScreen(MyScreen[i]); + MyScreen[i] = NULL; + } + } + for (i = 1; i<=3; i++) + { + if (SMemA[i]>0) + { + FreeMem(SMemA[i],SMemL[i]); + SMemA[i] = 0; + } + } + for (i = 0; i<=1; i++) + { + if (IMemA[i] > 0) + { + FreeMem(IMemA[i],IMemL[i]); + IMemA[i] = 0; + } + } + /* if (TMPtr != 0) + { + StopPlayer; + UnloadModule(TMPtr); + } + + TMPtr = 0; +*/ + custom.dmacon = BITCLR | DMAF_AUDIO; // 0x000F + +} + +void ROTATEpX(uint8 k) +{ + int i; + double store; + if (VObj[k].Size1 == 0) { return; } + for (i = 0; i639) + || (it_round(VObj[k].PosY-VObj[k].Y1[i])<75) || (it_round(VObj[k].PosY-VObj[k].Y1[i])>434)) + { + VObj[k].Size1 = 0; + return; + } + } + if (VObj[k].Size2 == 0) { return; } + for (i = 0; i639) + || (it_round(VObj[k].PosY-VObj[k].Y2[i])<75) || (it_round(VObj[k].PosY-VObj[k].Y2[i])>434)) + { + VObj[k].Size1 = 0; + VObj[k].Size2 = 0; + return; + } + } +} + +void GREATEFFECT(uint8 Objects, r_Col* Colors) +{ + uint16 Ctr; + int i, j, k; + double Factor; + + WaitTOF(); + Factor = 0.0; + Ctr = 0; + do + { + ScreenToFront(MyScreen[AScr]); + AScr = 3-AScr; + Factor = Factor+0.02; + Ctr++; + for (i = 1; i<=31; i++) + { + SetRGB32(&(MyScreen[AScr]->ViewPort),i,it_round(Colors[i].r*Factor)<<24, + it_round(Colors[i].g*Factor)<<24, + it_round(Colors[i].b*Factor)<<24); + } + if (Ctr == 11) + { + /* SPAddrD^ = SMemA[2]; SPAddrC^ = SMemA[2]+SMemL[2] div 2; + SPVolD^ = 64; SPVolC^ = 64; + SPFreqD^ = 380; SPFreqC^ = 380; + SPLengthD^ = SMemL[2] div 4; SPLengthC^ = SMemL[2] div 4; + */ + custom.dmacon = BITSET | DMAF_AUD2 | DMAF_AUD3; // 0x800C + } else if (Ctr == 12) + { + /* SPLengthD^ = 1; + * SPLengthC^ = 1; + */ + } + } + while (Factor < 1); + SetRGB4(&(MyScreen[3-AScr]->ViewPort),0,8,8,10); + WaitTOF(); + WaitTOF(); + SetRGB4(&(MyScreen[3-AScr]->ViewPort),0,0,0,0); + for (i = 1; i<=31; i++) + { + SetRGB32(&(MyScreen[3-AScr]->ViewPort),i,Colors[i].r<<24,Colors[i].g<<24,Colors[i].b<<24); + } + delay(50); + do + { + ScreenToFront(MyScreen[AScr]); + AScr = 3-AScr; + Factor = Factor-0.02; + SetRGB32(&(MyScreen[AScr]->ViewPort),31,it_round(Colors[31].r*Factor)<<24, + it_round(Colors[31].g*Factor)<<24, + it_round(Colors[31].b*Factor)<<24); + } + while (Factor > 0); + for (i = 0; i0) + { + for (j = 0; j1) + { + SetAPen(&(MyScreen[AScr]->RastPort),0); + RectFill(&(MyScreen[AScr]->RastPort),0,150,639,330); /*75..434*/ + } else { + for (j = 2; j<=30; j++) + { + SetRGB32(&(MyScreen[AScr]->ViewPort), j, (Colors[j].r*0xA)<<20, + (Colors[j].g*0xA)<<20, + (Colors[j].b*0xA)<<20); + } + } + if (i>16) { VObj[rand()%13].Size1 = 0; } + + for (j = 0; j0) + { + if (j > 1) + { + SetAPen(&(MyScreen[AScr]->RastPort),0); + if (VObj[j].Size2>4) + { + AreaMove( &(MyScreen[AScr]->RastPort),it_round(VObj[j].PosX-VObj[j].X2[3]),it_round(VObj[j].PosY-VObj[j].Y2[3])); + for (k = 4; k<=5; k++) + { + AreaDraw(&(MyScreen[AScr]->RastPort),it_round(VObj[j].PosX-VObj[j].X2[k]),it_round(VObj[j].PosY-VObj[j].Y2[k])); + } + } + AreaMove( &(MyScreen[AScr]->RastPort),it_round(VObj[j].PosX-VObj[j].X1[3]),it_round(VObj[j].PosY-VObj[j].Y1[3])); + for (k = 4; k<=5; k++) + { + AreaDraw(&(MyScreen[AScr]->RastPort),it_round(VObj[j].PosX-VObj[j].X1[k]),it_round(VObj[j].PosY-VObj[j].Y1[k])); + } + AreaEnd(&(MyScreen[AScr]->RastPort)); + } + SetAPen(&(MyScreen[AScr]->RastPort),1); + AreaMove( &(MyScreen[AScr]->RastPort),it_round(VObj[j].PosX-VObj[j].X1[0]),it_round(VObj[j].PosY-VObj[j].Y1[0])); + for (k = 1; kRastPort),it_round(VObj[j].PosX-VObj[j].X1[k]),it_round(VObj[j].PosY-VObj[j].Y1[k])); + } + AreaEnd(&(MyScreen[AScr]->RastPort)); + if (VObj[j].Size2>0) + { + AreaMove( &(MyScreen[AScr]->RastPort),it_round(VObj[j].PosX-VObj[j].X2[0]),it_round(VObj[j].PosY-VObj[j].Y2[0])); + for (k = 1; kRastPort),it_round(VObj[j].PosX-VObj[j].X2[k]),it_round(VObj[j].PosY-VObj[j].Y2[k])); + } + AreaEnd(&(MyScreen[AScr]->RastPort)); + } + } + if ((VObj[j].Flag & ROTATE_PX) != 0) { ROTATEpX(j); } + if ((VObj[j].Flag & ROTATE_PY) != 0) { ROTATEpY(j); } + if ((VObj[j].Flag & ROTATE_PZ) != 0) { ROTATEpZ(j); } + if ((VObj[j].Flag & ROTATE_NX) != 0) { ROTATEnX(j); } + if ((VObj[j].Flag & ROTATE_NY) != 0) { ROTATEnY(j); } + if ((VObj[j].Flag & ROTATE_NZ) != 0) { ROTATEnZ(j); } + FLY(j, Factor); + } + ScreenToFront(MyScreen[AScr]); + AScr = 3-AScr; + if (i == 1) + { + /* SPLengthD^ = 1; + * SPLengthC^ = 1; + */ + } + } + for (i = 1; i<=2; i++) + { + SetAPen(&(MyScreen[AScr]->RastPort),0); + RectFill(&(MyScreen[AScr]->RastPort),0,75,639,434); + ScreenToFront(MyScreen[AScr]); + AScr = 3-AScr; + } + custom.dmacon = BITCLR | DMAF_AUD2 | DMAF_AUD3; // 0x000C +} + +BOOL LOADSOUNDS() +{ + uint8 i; + uint8 path_len; + uint32 ssize; + char s[40]; + BPTR FHandle; + + // INITCHANNELS(); + path_len=strlen(PathStr[8]); + strcpy(s, PathStr[8]); + strcpy(s+path_len, "Snd0.RAW"); + path_len+=3; + for (i = 1; i<=3; i++) + { + s[path_len] = i+'0'; + FHandle = OPENSMOOTH(s,MODE_OLDFILE); + if (FHandle != 0) + { + ssize = Seek(FHandle,0,OFFSET_END); + ssize = Seek(FHandle,0,OFFSET_BEGINNING); + SMemL[i] = ssize; + SMemA[i] = AllocMem(ssize,MEMF_CHIP+MEMF_CLEAR); + if (SMemA[i] == 0) { return FALSE; } + ssize = Read(FHandle, SMemA[i], SMemL[i]); + Close(FHandle); + } else { + return FALSE; + } + } + return TRUE; +} + +void MAININTRO() +{ + char s[35]; + BPTR FHandle; + int pathname_len; + r_Col Colors[128]; + PLANEPTR MyRastPtr; + ITBitMap IntroBitMap; + struct BitMap MyBitMap; + struct TmpRas MyTmpRas; + struct AreaInfo MyAI; + StrArr16 SArr; + FontArr16 FArr; + r_Coords ShipX,ShipY,ShipZ; + int LEdge[3], TEdge[3]; + uint8 btx; + uint32 l, ISize; + double SizeFactor; + double Factor; + double store; + uint8 i, j ,k; + + // i = SetTaskPri(FindTask(NULL),120); + TMPtr = 0; + AScr = 1; + MyRastPtr = NULL; + for (i = 1; i<=2; i++) { MyScreen[i] = NULL; } + for (i = 1; i<=3; i++) { SMemA[i] = NULL; } + for (i = 0; i<=1; i++) { IMemA[i] = NULL; } + if (!LOADSOUNDS()) + { + INTROEXIT(MyRastPtr); return; + } + for (i = 1; i<=2; i++) + { + MyScreen[i] = OPENCINEMA(5); + if (MyScreen[i] == NULL) + { + INTROEXIT(MyRastPtr); return; + } + } + IMemL[0] = 73500; + IMemA[0] = AllocMem(IMemL[0],MEMF_CHIP); + if (IMemA[0] == NULL) + { + INTROEXIT(MyRastPtr); return; + } + IntroBitMap = (ITBitMap) {80,183,1,5,0, {(PLANEPTR) IMemA[0], (PLANEPTR) (IMemA[0]+14640), + (PLANEPTR) (IMemA[0]+29280), (PLANEPTR) (IMemA[0]+43920), + (PLANEPTR) (IMemA[0]+58560), NULL, NULL, NULL}, + IMemA[0], IMemL[0]}; + + pathname_len = strlen(PathStr[8]); + (void) strncpy(s, PathStr[8], pathname_len); + strcpy(s+pathname_len, "Frame0.pal"); + + l = SETCOLOR(MyScreen[1],s); + l = SETCOLOR(MyScreen[2],s); + strcpy(s+pathname_len, "Frame0.img"); // Touchbyte ... + + if (!RAWLOADIMAGE(s,0,0,640,183,5,&IntroBitMap)) + { + INTROEXIT(MyRastPtr); return; + } + for (i = 1; i<=8; i++) + { + BltBitMapRastPort((struct BitMap*) &IntroBitMap,0,0,&(MyScreen[3-AScr]->RastPort),640-i*5,340,i*5,90,192); + AScr = 3-AScr; + ScreenToFront(MyScreen[AScr]); + } + l = 590; + do + { + l = l-5; + BltBitMapRastPort((struct BitMap*) &IntroBitMap, 0,0,&(MyScreen[3-AScr]->RastPort),l ,340,49,90,192); + BltBitMapRastPort((struct BitMap*) &IntroBitMap,41,0,&(MyScreen[3-AScr]->RastPort),l+49,340, 5,90,192); + AScr = 3-AScr; + ScreenToFront(MyScreen[AScr]); + if (LMB_PRESSED) + { INTROEXIT(MyRastPtr); return; } + } + while (l > 10); + ClipBlit(&(MyScreen[AScr]->RastPort),10,340,&(MyScreen[3-AScr]->RastPort),10,340,50,90,192); + for (i = 1; i<=9; i++) + { + BltBitMapRastPort((struct BitMap*) &IntroBitMap,50,0,&(MyScreen[3-AScr]->RastPort),640-i*5,340,i*5,90,192); + AScr = 3-AScr; + ScreenToFront(MyScreen[AScr]); + } + l = 595; + SetAPen(&(MyScreen[AScr]->RastPort),0); + SetAPen(&(MyScreen[3-AScr]->RastPort),0); + do + { + l = l-5; + BltBitMapRastPort((struct BitMap*) &IntroBitMap,50,0,&(MyScreen[3-AScr]->RastPort),l,340,41,90,192); + RectFill(&(MyScreen[3-AScr]->RastPort),l+41,340,l+50,430); + AScr = 3-AScr; + ScreenToFront(MyScreen[AScr]); + if (LMB_PRESSED) + { INTROEXIT(MyRastPtr); return; } + } + while (l > 60); + ClipBlit(&(MyScreen[AScr]->RastPort),10,340,&(MyScreen[3-AScr]->RastPort),10,340,150,90,192); + delay(5); + for (i = 1; i<=2; i++) + { + BltBitMapRastPort((struct BitMap*) &IntroBitMap,0,0,&(MyScreen[3-AScr]->RastPort),10,340,616,91,192); + AScr = 3-AScr; + ScreenToFront(MyScreen[AScr]); + } + if (LMB_PRESSED) + { INTROEXIT(MyRastPtr); return; } + delay(15); + BltBitMapRastPort((struct BitMap*) &IntroBitMap,0,90,&(MyScreen[3-AScr]->RastPort),10,337,98,91,192); + AScr = 3-AScr; + ScreenToFront(MyScreen[AScr]); + custom.dmacon = BITCLR | DMAF_AUDIO; // 0x000F + delay(15); +/* SPAddrA^ = SMemA[1]; SPAddrB^ = SMemA[1]+SMemL[1] div 2; + SPVolA^ = 0; SPVolB^ = 0; + SPFreqA^ = 856; SPFreqB^ = 856; + SPLengthA^ = SMemL[1] div 4; SPLengthB^ = SMemL[1] div 4; + + SPAddrD^ = SMemA[2]; SPAddrC^ = SMemA[2]+SMemL[2] div 2; + SPVolD^ = 64; SPVolC^ = 64; + SPFreqD^ = 380; SPFreqC^ = 380; + SPLengthD^ = 1; SPLengthC^ = 1; +*/ + custom.dmacon = BITSET | DMAF_AUD0 | DMAF_AUD1; // 0x8003 + +/* for (btx = 1; btx<=64; btx++) + { + SPVolA^ = btx; + SPVolB^ = btx; + WaitTOF(); + } +*/ + delay(25); + FactorSin = sin(0.04); + FactorCos = cos(0.03); + FactorMSin = sin(-0.05); + FactorMCos = cos(-0.02); + for (i = 1; i<=2; i++) + { + SetAPen(&(MyScreen[3-AScr]->RastPort),0); + RectFill(&(MyScreen[3-AScr]->RastPort),0,335,640,430); + AScr = 3-AScr; + ScreenToFront(MyScreen[AScr]); + } + + MyRastPtr = AllocRaster(640,360); + if (MyRastPtr == NULL) + { + INTROEXIT(MyRastPtr); return; + } + InitTmpRas(&MyTmpRas,MyRastPtr,21000); + InitArea(&MyAI,IMemA[0],200); + MyScreen[1]->RastPort.TmpRas = &MyTmpRas; + MyScreen[2]->RastPort.TmpRas = &MyTmpRas; + MyScreen[1]->RastPort.AreaInfo = &MyAI; + MyScreen[2]->RastPort.AreaInfo = &MyAI; + + /*****************************************************************************/ + /* TOUCHBYTE SOFTWARE PRESENTS */ + strcpy(s+pathname_len, "Frame1.pal"); + SETDARKCOLOR(s, Colors); + strcpy(s+pathname_len, "Frame1.img"); + if (!DISPLAYIMAGE(s,0,235,640,37,5,MyScreen[AScr],0)) { } + WRITE(320,285,31,16,MyScreen[AScr],5,"PRESENTS"); + ClipBlit(&(MyScreen[AScr]->RastPort),0,235,&(MyScreen[3-AScr]->RastPort),0,235,640,75,192); + + /* T */ + VObj[0] = (VectorObj){0,0,ROTATE_PY+ROTATE_PX, + 6,4,{38, 9, 9, 9, 9,38},{ 2, 2,10,10, 2, 2},{1,1,1,3,3,3}, + {18,18,18,18, 0, 0},{11,36,36,11, 0, 0},{1,1,3,3,0,0}}; + /* U */ + VObj[1] = (VectorObj){0,0,ROTATE_PX+ROTATE_PZ, + 6,6,{91,80,80,80,80,91},{1,1,26,26,1,1},{1,1,1,3,3,3}, + {111,100,100,100,100,111},{1,1,24,24,1,1},{1,1,1,3,3,3}}; + /* H */ + VObj[2] = (VectorObj){0,0,ROTATE_PY+ROTATE_NZ, + 6,6,{163,152,152,152,152,163},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {184,173,173,173,173,184},{2,2,12,12,2,2},{1,1,1,3,3,3}}; + /* B */ + VObj[3] = (VectorObj){0,0,ROTATE_NX+ROTATE_PZ, + 6,6,{209,187,187,187,187,209},{2,2,10,10,2,2},{1,1,1,3,3,3}, + {205,187,187,187,187,205},{15,15,36,36,15,15},{1,1,1,3,3,3}}; + /* Y */ + VObj[4] = (VectorObj){0,0,ROTATE_PZ+ROTATE_NX, + 6,6,{229,217,229,229,217,229},{2,2,19,19,2,2},{1,1,1,3,3,3}, + {254,242,236,236,242,254},{2,2,12,12,2,2},{1,1,1,3,3,3}}; + /* T */ + VObj[5] = (VectorObj){0,0,ROTATE_NX+ROTATE_NY, + 6,4,{285,256,256,256,256,285},{2,2,9,9,1,1},{1,1,1,3,3,3}, + {266,266,266,266,0,0},{11,36,36,11,0,0},{1,1,3,3,0,0}}; + /* E */ + VObj[6] = (VectorObj){0,0,ROTATE_PX+ROTATE_PY, + 6,6,{318,289,289,289,289,318},{2,2,10,10,2,2},{1,1,1,3,3,3}, + {315,289,289,289,289,315},{14,14,36,36,14,14},{1,1,1,3,3,3}}; + /* F */ + VObj[7] = (VectorObj){0,0,ROTATE_NX+ROTATE_PZ, + 6,6,{440,410,410,410,410,440},{2,2,10,10,2,2},{1,1,1,3,3,3}, + {437,410,410,410,410,437},{14,14,36,36,14,14},{1,1,1,3,3,3}}; + /* T */ + VObj[8] = (VectorObj){0,0,ROTATE_NZ+ROTATE_NY, + 6,4,{472,443,443,443,443,472},{2,2,10,10,2,2},{1,1,1,3,3,3}, + {452,452,452,452,0,0},{11,36,36,11,0,0},{1,1,3,3,0,0}}; + /* W */ + VObj[9] = (VectorObj){0,0,ROTATE_PX+ROTATE_PZ, + 6,6,{486,475,486,486,475,486},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {506,497,492,492,497,506},{2,2,16,16,2,2},{1,1,1,3,3,3}}; + /* A */ + VObj[10] = (VectorObj){0,0,ROTATE_PX+ROTATE_PY, + 6,0,{547,536,521,521,536,547},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0}}; + /* R */ + VObj[11] = (VectorObj){0,0,ROTATE_PX+ROTATE_PZ, + 6,6,{589,565,565,565,565,589},{3,2,10,10,2,3},{1,1,1,3,3,3}, + {576,565,565,565,565,576},{16,16,36,36,16,16},{1,1,1,3,3,3}}; + /* E */ + VObj[12] = (VectorObj){0,0,ROTATE_NX+ROTATE_NY, + 6,6,{630,601,601,601,601,630},{2,2,10,10,2,2},{1,1,1,3,3,3}, + {627,601,601,601,601,627},{14,14,36,36,14,14},{1,1,1,3,3,3}}; + + if (LMB_PRESSED) { INTROEXIT(MyRastPtr); return; } + GREATEFFECT(13, Colors); + if (LMB_PRESSED) { INTROEXIT(MyRastPtr); return; } + + /*****************************************************************************/ + /* A VIRTUAL WORLDS PRODUCTION */ + strcpy(s+pathname_len, "Frame2.pal"); + SETDARKCOLOR(s, Colors); + strcpy(s+pathname_len, "Frame2.img"); + if (!DISPLAYIMAGE(s,0,235,640,37,5,MyScreen[AScr],0)) { } + WRITE(320,205,31,16,MyScreen[AScr],5,"A"); + WRITE(320,285,31,16,MyScreen[AScr],5,"PRODUCTION"); + ClipBlit(&(MyScreen[AScr]->RastPort),0,200,&(MyScreen[3-AScr]->RastPort),0,200,640,100,192); + + /* V */ + VObj[0] = (VectorObj) {0,0,ROTATE_PY+ROTATE_PX, + 6,6,{98,86,101,101,86,98},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {126,114,106,106,114,126},{2,2,23,23,2,2},{1,1,1,3,3,3}}; + /* I */ + VObj[1] = (VectorObj) {0,0,ROTATE_PX+ROTATE_PZ, + 6,0,{140,129,129,129,129,140},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0}}; + /* R */ + VObj[2] = (VectorObj) {0,0,ROTATE_NX+ROTATE_PZ, + 6,6,{167,143,143,143,143,167},{3,2,10,10,2,3},{1,1,1,3,3,3}, + {154,143,143,143,143,154},{16,16,36,36,16,16},{1,1,1,3,3,3}}; + /* T */ + VObj[3] = (VectorObj) {0,0,ROTATE_PY+ROTATE_NZ, + 6,4,{206,177,177,177,177,206},{2,2,10,10,2,2},{1,1,1,3,3,3}, + {186,186,186,186,0,0},{11,36,36,11,0,0},{1,1,3,3,0,0}}; + /* U */ + VObj[4] = (VectorObj) {0,0,ROTATE_NX+ROTATE_PZ, + 6,6,{220,209,209,209,209,220},{2,2,27,27,2,2},{1,1,1,3,3,3}, + {240,229,229,229,229,240},{2,2,25,25,2,2},{1,1,1,3,3,3}}; + /* A */ + VObj[5] = (VectorObj) {0,0,ROTATE_PZ+ROTATE_NX, + 6,0,{266,255,240,240,255,266},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0}}; + /* L */ + VObj[6] = (VectorObj) {0,0,ROTATE_NX+ROTATE_NY, + 6,4,{295,284,284,284,284,295},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {311,296,296,311,0,0},{26,26,26,26,0,0},{1,1,3,3,0,0}}; + /* W */ + VObj[7] = (VectorObj) {0,0,ROTATE_PX+ROTATE_PY, + 6,6,{335,324,335,335,324,335},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {355,346,341,341,346,355},{2,2,16,16,2,2},{1,1,1,3,3,3}}; + /* R */ + VObj[8] = (VectorObj) {0,0,ROTATE_NX+ROTATE_PZ, + 6,6,{441,417,417,417,417,441},{3,2,10,10,2,3},{1,1,1,3,3,3}, + {428,417,417,417,417,428},{16,16,36,36,16,16},{1,1,1,3,3,3}}; + /* L */ + VObj[9] = (VectorObj) {0,0,ROTATE_NZ+ROTATE_NY, + 6,4,{464,453,453,453,453,464},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {480,465,465,480,0,0},{26,26,26,26,0,0},{1,1,3,3,0,0}}; + /* D */ + VObj[10] = (VectorObj) {0,0,ROTATE_PX+ROTATE_PZ, + 6,0,{505,483,483,483,483,505},{3,2,36,36,2,3},{1,1,1,3,3,3}, + {0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0}}; + + if (LMB_PRESSED) { INTROEXIT(MyRastPtr); return; } + GREATEFFECT(11, Colors); + if (LMB_PRESSED) { INTROEXIT(MyRastPtr); return; } + + /*****************************************************************************/ + /* IMPERIUM TERRANUM */ + strcpy(s+pathname_len, "Frame3.pal"); + SETDARKCOLOR(s, Colors); + strcpy(s+pathname_len, "Frame3.img"); + if (!DISPLAYIMAGE(s,0,235,640,37,5,MyScreen[AScr],0)) { } + ClipBlit(&(MyScreen[AScr]->RastPort),0,235,&(MyScreen[3-AScr]->RastPort),0,235,640,37,192); + + /* I */ + VObj[0] = (VectorObj) {0,0,ROTATE_PY+ROTATE_PX, + 6,6,{48,37,37,37,37,48},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {95,84,73,73,84,95},{2,2,18,18,2,2},{1,1,1,3,3,3}}; + /* M */ + VObj[1] = (VectorObj) {0,0,ROTATE_PX+ROTATE_PZ, + 6,0,{62,51,51,51,51,62},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0}}; + /* E */ + VObj[2] = (VectorObj) {0,0,ROTATE_NX+ROTATE_PZ, + 6,6,{161,132,132,132,132,161},{2,2,10,10,2,2},{1,1,1,3,3,3}, + {158,132,132,132,132,158},{14,14,36,36,14,14},{1,1,1,3,3,3}}; + /* I */ + VObj[3] = (VectorObj) {0,0,ROTATE_PY+ROTATE_NZ, + 6,0,{211,200,200,200,200,211},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0}}; + /* U */ + VObj[4] = (VectorObj) {0,0,ROTATE_NX+ROTATE_PZ, + 6,6,{225,214,214,214,214,225},{2,2,27,27,2,2},{1,1,1,3,3,3}, + {245,234,234,234,234,245},{2,2,25,25,2,2},{1,1,1,3,3,3}}; + /* M */ + VObj[5] = (VectorObj) {0,0,ROTATE_PZ+ROTATE_NX, + 6,6,{259,248,248,248,248,259},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {292,281,270,270,281,292},{2,2,18,18,2,2},{1,1,1,3,3,3}}; + /* T */ + VObj[6] = (VectorObj) {0,0,ROTATE_NX+ROTATE_NY, + 6,4,{338,309,309,309,309,338},{2,2,10,10,2,2},{1,1,1,3,3,3}, + {318,318,318,318,0,0},{21,36,36,11,0,0},{1,1,3,3,0,0}}; + /* E */ + VObj[7] = (VectorObj) {0,0,ROTATE_PX+ROTATE_PY, + 6,6,{370,341,341,341,341,370},{2,2,10,10,2,2},{1,1,1,3,3,3}, + {367,341,341,341,341,367},{14,14,36,36,14,14},{1,1,1,3,3,3}}; + /* R */ + VObj[8] = (VectorObj) {0,0,ROTATE_NX+ROTATE_PZ, + 6,6,{433,409,409,409,409,433},{3,2,10,10,2,3},{1,1,1,3,3,3}, + {420,409,409,409,409,420},{16,16,36,36,16,16},{1,1,1,3,3,3}}; + /* A */ + VObj[9] = (VectorObj) {0,0,ROTATE_NZ+ROTATE_NY, + 6,0,{471,460,445,445,460,471},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0}}; + /* N */ + VObj[10] = (VectorObj) {0,0,ROTATE_PX+ROTATE_PZ, + 6,6,{500,489,489,489,489,500},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {521,510,510,510,510,521},{2,2,17,17,2,2},{1,1,1,3,3,3}}; + /* M */ + VObj[11] = (VectorObj) {0,0,ROTATE_PX+ROTATE_PZ, + 6,6,{569,558,558,558,558,569},{2,2,36,36,2,2},{1,1,1,3,3,3}, + {602,591,580,580,591,602},{2,2,18,18,2,2},{1,1,1,3,3,3}}; + + if (LMB_PRESSED) { INTROEXIT(MyRastPtr); return; } + GREATEFFECT(12, Colors); + if (LMB_PRESSED) { INTROEXIT(MyRastPtr); return; } + + /*****************************************************************************/ + // cleanup... + FreeRaster(MyRastPtr,640,360); + MyRastPtr = NULL; + for (i = 1; i<=2; i++) + { + if (MyScreen[i] != NULL) + { + CloseScreen(MyScreen[i]); + MyScreen[i] = NULL; + } + } + FreeMem(IMemA[0],IMemL[0]); + IMemA[0] = NULL; + for (i = 1; i<=2; i++) + { + MyScreen[i] = OPENCINEMA(7); + if (MyScreen[i] == NULL) + { + INTROEXIT(MyRastPtr); return; + } + } + /*****************************************************************************/ + // prepare next effect... + IMemL[0] = 201856; + IMemL[1] = 21000; + for (i = 0; i<=1; i++) + { + IMemA[i] = AllocMem(IMemL[i],MEMF_CHIP); + if (IMemA[i] == NULL) + { + INTROEXIT(MyRastPtr); return; + } + } + /* SPAddrD^ = SMemA[2]+6500; SPAddrC^ = SMemA[2]+(SMemL[2] div 2)+6500; + SPVolD^ = 64; SPVolC^ = 64; + SPFreqD^ = 380; SPFreqC^ = 380; + SPLengthD^ = (SMemL[2]-13000) div 4; SPLengthC^ = (SMemL[2]-13000) div 4; +*/ + custom.dmacon = BITSET | DMAF_AUD2 | DMAF_AUD3; // 0x800C + WaitTOF(); +/* SPLengthD^ = 1; SPLengthC^ = 1; +*/ + btx = 255; + do + { + SetRGB32(&(MyScreen[2]->ViewPort), 0, btx<<24, btx<<24, btx<<24); + btx = btx-5; + WaitTOF(); + } + while (btx > 10); + SetRGB32(&(MyScreen[2]->ViewPort),0,0,0,0); + custom.dmacon = BITCLR | DMAF_AUD2 | DMAF_AUD3; // 0x000C + if (LMB_PRESSED) + { INTROEXIT(MyRastPtr); return; } + + strcpy(s+pathname_len, "MOD.Intro"); + FHandle = OPENSMOOTH(s,MODE_OLDFILE); + if (FHandle != 0) { Close(FHandle); } + // TMPtr = LoadModule(s); + // PlayModule(TMPtr); + + strcpy(s+pathname_len, "Frame4.pal"); + SETDARKCOLOR(s, Colors); + strcpy(s+pathname_len, "Frame4.img"); // terrain with stars... + if (!DISPLAYIMAGE(s,0,75,640,360,7,MyScreen[2],0)) { } + ClipBlit(&(MyScreen[2]->RastPort),0,75,&(MyScreen[1]->RastPort),0,75,640,360,192); + + strcpy(s+pathname_len, "Frame5.img"); // little earth-image.. + FHandle = OPENSMOOTH(s,MODE_OLDFILE); + if (FHandle != 0) + { + ISize = Seek(FHandle,0,OFFSET_END); + ISize = Seek(FHandle,0,OFFSET_BEGINNING); + (void) Read(FHandle,(APTR) (IMemA[0]+IMemL[0]-ISize-250), ISize); + UNPACK(IMemA[0],IMemA[0]+IMemL[0]-ISize-250,20160,0); + Close(FHandle); + } + + MyBitMap = (struct BitMap) { 20, 144, 1, 7, 0, + {(PLANEPTR) (IMemA[0]), (PLANEPTR) (IMemA[0]+2880), (PLANEPTR) (IMemA[0]+5760), + (PLANEPTR) (IMemA[0]+8640), (PLANEPTR) (IMemA[0]+11520),(PLANEPTR) (IMemA[0]+14400), + (PLANEPTR) (IMemA[0]+17280), NULL }}; + + // fade in.... + Factor = 0; + ScreenToFront(MyScreen[AScr]); +// AScr = 3-AScr; + do + { + Factor += 0.05; + for (i = 1; i<=127; i++) + { + SetRGB32(&(MyScreen[AScr]->ViewPort), i, it_round(Colors[i].r*Factor)<<24, + it_round(Colors[i].g*Factor)<<24, + it_round(Colors[i].b*Factor)<<24); + } + } + while (Factor < 1); + + for (i = 1; i<=127; i++) + { + SetRGB32(&(MyScreen[3-AScr]->ViewPort), i, Colors[i].r<<24, + Colors[i].g<<24, + Colors[i].b<<24); + SetRGB32(&(MyScreen[ AScr]->ViewPort), i, Colors[i].r<<24, + Colors[i].g<<24, + Colors[i].b<<24); + } + ScrollRaster(&(MyScreen[AScr]->RastPort),0,-4,0,75,639,434); + + for (i = 1; i<=6; i++) + { + ScreenToFront(MyScreen[AScr]); + AScr = 3-AScr; + ScrollRaster(&(MyScreen[AScr]->RastPort),0,-8,0,75,639,434); + ClipBlit(&(MyScreen[AScr]->RastPort),0,270,&(MyScreen[AScr]->RastPort),0,75,640,8,192); + if (LMB_PRESSED) + { INTROEXIT(MyRastPtr); return; } + } + + for (i = 1; i<=35; i++) + { + ScreenToFront(MyScreen[AScr]); + AScr = 3-AScr; + ScrollRaster(&(MyScreen[AScr]->RastPort),0,-8,0,75,639,434); + ClipBlit(&(MyScreen[AScr]->RastPort),0,270,&(MyScreen[AScr]->RastPort),0,75,640,8,192); + BltBitMapRastPort(&MyBitMap,0,140-i*4,&(MyScreen[AScr]->RastPort),380,75,160,8,192); + if (LMB_PRESSED) + { INTROEXIT(MyRastPtr); return; } + } + + + ScreenToFront(MyScreen[AScr]); + AScr = 3-AScr; + ScrollRaster(&(MyScreen[AScr]->RastPort),0,-8,0,75,639,434); + ClipBlit(&(MyScreen[AScr]->RastPort),0,270,&(MyScreen[AScr]->RastPort),0,75,640,8,192); + BltBitMapRastPort(&MyBitMap,0,0,&(MyScreen[AScr]->RastPort),380,79,160,4,192); + + for (i = 1; i<=14; i++) + { + ScreenToFront(MyScreen[AScr]); + AScr = 3-AScr; + ScrollRaster(&(MyScreen[AScr]->RastPort),0,-8,0,75,639,434); + ClipBlit(&(MyScreen[AScr]->RastPort),0,270,&(MyScreen[AScr]->RastPort),0,75,640,8,192); + if (LMB_PRESSED) + { INTROEXIT(MyRastPtr); return; } + + } + delay(10); + if (LMB_PRESSED) + { INTROEXIT(MyRastPtr); return; } + + RECT(MyScreen[AScr],0,0,75,639,434); + ScreenToFront(MyScreen[AScr]); + AScr = 3-AScr; + RECT(MyScreen[AScr],0,0,75,639,434); + + strcpy(s+pathname_len, "Frame6.pal"); + l = SETCOLOR(MyScreen[AScr],s); + l = SETCOLOR(MyScreen[3-AScr],s); + SetRGB4(&(MyScreen[AScr]->ViewPort),127,9,9,11); SetRGB4(&(MyScreen[3-AScr]->ViewPort),127,9,9,11); + SetRGB4(&(MyScreen[AScr]->ViewPort),126,11,11,15); SetRGB4(&(MyScreen[3-AScr]->ViewPort),126,11,11,15); + SetRGB4(&(MyScreen[AScr]->ViewPort),125,15,0,15); SetRGB4(&(MyScreen[3-AScr]->ViewPort),125,15,0,15); + SetRGB4(&(MyScreen[AScr]->ViewPort),124,13,0,0); SetRGB4(&(MyScreen[3-AScr]->ViewPort),124,15,2,2); + SetRGB4(&(MyScreen[AScr]->ViewPort),123,14,14,15); SetRGB4(&(MyScreen[3-AScr]->ViewPort),123,14,14,15); + + strcpy(s+pathname_len, "Frame6.img"); + if (!DISPLAYIMAGE(s,0,75,640,360,7,MyScreen[AScr],0)) { } + MyBitMap = (struct BitMap) { 80, 360, 1, 7, 0, + {(PLANEPTR) (IMemA[0]), (PLANEPTR) (IMemA[0]+28800), (PLANEPTR) (IMemA[0]+57600), + (PLANEPTR) (IMemA[0]+86400), (PLANEPTR) (IMemA[0]+115200),(PLANEPTR) (IMemA[0]+144000), + (PLANEPTR) (IMemA[0]+172800)}}; + BltBitMapRastPort(&MyBitMap,0,0,&(MyScreen[3-AScr]->RastPort),0,75,640,360,192); + + MyRastPtr = AllocRaster(640,360); + if (MyRastPtr == NULL) + { + INTROEXIT(MyRastPtr); return; + } + InitTmpRas(&MyTmpRas,MyRastPtr,21000); + InitArea(&MyAI, IMemA[1], 200); + MyScreen[1]->RastPort.TmpRas = &MyTmpRas; + MyScreen[2]->RastPort.TmpRas = &MyTmpRas; + MyScreen[1]->RastPort.AreaInfo = &MyAI; + MyScreen[2]->RastPort.AreaInfo = &MyAI; + + SArr = (StrArr16){{"", + "Software & Design", "Oxygenic", + "Art Director", "Cybertrace", + "Music by", "Ludwig v.Beethoven N.N. Ikonnikow Richard Wagner", + "Special Effects", "Oxygenic", + "Credits go to", "Adam Benjamin Rikard Cederlund", + "Jakob Gaardsted Andy Jones", "George Moore", + "Surround-Sounds created with", "WaveTracer DS®", + "Colors in Technicolor®", "Panaflex® Camera and Lenses by Panavision®"}}; + FArr = (FontArr16) {{0, 4,5, 4,5, 4,5, 4,5, 4,5, 5,5, 4,5, 4,4}}; + + ShipX = (r_Coords) {{ 390, 264,252,186,186,192,256,290,354,360,360,294,282, 252, 256, 290,294, 282,294,294, 258,265,273,281,288, 185,185,190,190, 356,356,361,361,0,0,0,0,0,0,0,0}}; + ShipY = (r_Coords) {{ 315, 174,275,250,188,225,234,234,225,188,250,275,174, 275, 243, 243,275, 174,275,275, 269,342,269,342,269, 187,172,172,187, 187,172,172,187,0,0,0,0,0,0,0,0}}; + ShipZ = (r_Coords) {{-2.5, -5, -1, -5, -5, -5, -1, -1, -5, -5, -5, -1, -5, -1,-1.1,-1.1, -1, -5, -8, -1, -2, -2, -2, -2, -2, -5, -5, -5, -5, -5, -5, -5, -5,0,0,0,0,0,0,0,0}}; + + for (i = 1; i<=40; i++) + { + ShipX.data[i] = 273-ShipX.data[i]; + ShipY.data[i] = 257-ShipY.data[i]; + } + FactorSin = sin(0.45); + FactorCos = cos(0.45); + for (j = 1; j<=3; j++) + { + for (i = 1; i<=40; i++) + { + store = ShipY.data[i]; + ShipY.data[i] = store*FactorCos - ShipZ.data[i]*FactorSin; /*X*/ + ShipZ.data[i] = store*FactorSin + ShipZ.data[i]*FactorCos; + } + } + FactorSin = sin(-0.44); + FactorCos = cos(-0.44); + for (i = 1; i<=40; i++) + { + store = ShipX.data[i]; + ShipX.data[i] = store*FactorCos - ShipZ.data[i]*FactorSin; + ShipZ.data[i] = store*FactorSin + ShipZ.data[i]*FactorCos; + } + FactorSin = sin(-0.08); + FactorCos = cos(-0.08); + for (i = 1; i<=40; i++) + { + store = ShipX.data[i]; + ShipX.data[i] = store*FactorCos - ShipY.data[i]*FactorSin; + ShipY.data[i] = store*FactorSin + ShipY.data[i]*FactorCos; + } + if (LMB_PRESSED) + { INTROEXIT(MyRastPtr); return; } + + Factor = 0.0074; + SizeFactor = 0.009; + LEdge[1] = 0; + TEdge[1] = 75; + LEdge[2] = 0; + TEdge[2] = 75; + l = 1; + ISize = 0; + do + { + ScreenToFront(MyScreen[AScr]); + AScr = 3-AScr; + ShipX.data[0] = ShipX.data[0]-Factor-Factor-0.22; + ShipY.data[0] = ShipY.data[0]-Factor; + BltBitMapRastPort(&MyBitMap,LEdge[AScr],TEdge[AScr]-75,&(MyScreen[AScr]->RastPort),LEdge[AScr],TEdge[AScr],160,80,192); + BltBitMapRastPort(&MyBitMap,20,145,&(MyScreen[AScr]->RastPort),20,220,600,55,192); + LEdge[AScr] = it_round(ShipX.data[0]-90); + if (LEdge[AScr]<0) { LEdge[AScr] = 0; } + TEdge[AScr] = it_round(ShipY.data[0]-60); + if (TEdge[AScr]<75) { TEdge[AScr] = 75; } + for (i = 1; i<=40; i++) + { + if ((ShipX.data[0]-ShipX.data[i]*SizeFactor)<0) + { + FactorSin = (ShipX.data[0]+abs(ShipX.data[0]-ShipX.data[i]*SizeFactor))/ShipX.data[0]; + ShipX.data[i] = ShipX.data[0]/SizeFactor; + ShipY.data[i] = ShipY.data[i]/FactorSin; + } + } + + SetAPen(&(MyScreen[AScr]->RastPort),124); + /*** Antrieb ***/ + AreaMove(&(MyScreen[AScr]->RastPort),it_round(ShipX.data[0]-ShipX.data[20]*SizeFactor),it_round(ShipY.data[0]-ShipY.data[20]*SizeFactor)); + for (k = 21; k<=24; k++) { AreaDraw(&(MyScreen[AScr]->RastPort),it_round(ShipX.data[0]-ShipX.data[k]*SizeFactor),it_round(ShipY.data[0]-ShipY.data[k]*SizeFactor)); } + AreaEnd(&(MyScreen[AScr]->RastPort)); + SetAPen(&(MyScreen[AScr]->RastPort),126); + + /*** BodenPlatte hell ***/ + AreaMove(&(MyScreen[AScr]->RastPort),it_round(ShipX.data[0]-ShipX.data[13]*SizeFactor),it_round(ShipY.data[0]-ShipY.data[13]*SizeFactor)); + for (k = 14; k<=16; k++) { AreaDraw(&(MyScreen[AScr]->RastPort),it_round(ShipX.data[0]-ShipX.data[k]*SizeFactor),it_round(ShipY.data[0]-ShipY.data[k]*SizeFactor)); } + AreaEnd(&(MyScreen[AScr]->RastPort)); + + /*** Seitenwand ***/ + AreaMove(&(MyScreen[AScr]->RastPort),it_round(ShipX.data[0]-ShipX.data[17]*SizeFactor),it_round(ShipY.data[0]-ShipY.data[17]*SizeFactor)); + for (k = 18; k<=19; k++) { AreaDraw(&(MyScreen[AScr]->RastPort),it_round(ShipX.data[0]-ShipX.data[k]*SizeFactor),it_round(ShipY.data[0]-ShipY.data[k]*SizeFactor)); } + AreaEnd(&(MyScreen[AScr]->RastPort)); + SetAPen(&(MyScreen[AScr]->RastPort),127); + + /*** BodenPlatte ***/ + AreaMove(&(MyScreen[AScr]->RastPort),it_round(ShipX.data[0]-ShipX.data[1]*SizeFactor),it_round(ShipY.data[0]-ShipY.data[1]*SizeFactor)); + for (k = 2; k<=12; k++) { AreaDraw(&(MyScreen[AScr]->RastPort),it_round(ShipX.data[0]-ShipX.data[k]*SizeFactor),it_round(ShipY.data[0]-ShipY.data[k]*SizeFactor)); } + AreaEnd(&(MyScreen[AScr]->RastPort)); + SetAPen(&(MyScreen[AScr]->RastPort),125); + + /*** Waffen ***/ + AreaMove(&(MyScreen[AScr]->RastPort),it_round(ShipX.data[0]-ShipX.data[25]*SizeFactor),it_round(ShipY.data[0]-ShipY.data[25]*SizeFactor)); + for (k = 26; k<=28; k++) { AreaDraw(&(MyScreen[AScr]->RastPort),it_round(ShipX.data[0]-ShipX.data[k]*SizeFactor),it_round(ShipY.data[0]-ShipY.data[k]*SizeFactor)); } + AreaEnd(&(MyScreen[AScr]->RastPort)); + AreaMove(&(MyScreen[AScr]->RastPort),it_round(ShipX.data[0]-ShipX.data[29]*SizeFactor),it_round(ShipY.data[0]-ShipY.data[29]*SizeFactor)); + for (k = 30; k<=32; k++) { AreaDraw(&(MyScreen[AScr]->RastPort),it_round(ShipX.data[0]-ShipX.data[k]*SizeFactor),it_round(ShipY.data[0]-ShipY.data[k]*SizeFactor)); } + AreaEnd(&(MyScreen[AScr]->RastPort)); + SetAPen(&(MyScreen[AScr]->RastPort),0); + RectFill(&(MyScreen[AScr]->RastPort),0,75,0,200); + if (ISize>1) + { + WRITE(320,220,123,16,MyScreen[AScr],FArr.data[l],SArr.data[l]); + WRITE(320,245,123,16,MyScreen[AScr],FArr.data[l+1],SArr.data[l+1]); + } + ISize++; + if (ISize>55) + { + l = l+2; + ISize = 0; + } + Factor = Factor*1.018; + SizeFactor = SizeFactor*1.0137; + } + while ((Factor<=3.2) && (SizeFactor<=3.2) && LMB_NOTPRESSED); + if (LMB_PRESSED) + { INTROEXIT(MyRastPtr); return; } + + if (l<16) + { + do + { + ScreenToFront(MyScreen[AScr]); + AScr = 3-AScr; + BltBitMapRastPort(&MyBitMap,0,0,&(MyScreen[AScr]->RastPort),0,75,640,360,192); + if (ISize>0) + { + WRITE(320,220,123,16,MyScreen[AScr],FArr.data[l],SArr.data[l]); + WRITE(320,245,123,16,MyScreen[AScr],FArr.data[l+1],SArr.data[l+1]); + } + ISize++; + if (ISize>20) + { + l = l+2; + ISize = 0; + } + } + while ((l<=16) && LMB_NOTPRESSED); + } + INTROEXIT(MyRastPtr); +} diff --git a/test/test11/test.s b/test/test11/test.s new file mode 100644 index 0000000..3ff9d3b --- /dev/null +++ b/test/test11/test.s @@ -0,0 +1,14238 @@ +#NO_APP + .text + .align 2 + .globl _SETDARKCOLOR +_SETDARKCOLOR: + movem.l #16178,-(sp) + move.l a1,a2 + move.l #1005,d0 + jsr _OPENSMOOTH + move.l d0,d4 + jeq .L1 + move.l _DOSBase,a6 + move.l d0,d1 + moveq #0,d2 + moveq #1,d3 +#APP +| 26 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 + moveq #-1,d3 +#APP +| 27 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l d0,d5 + lea _IMemA,a3 + move.l _DOSBase,a6 + move.l d4,d1 + move.l (a3),d2 + move.l d0,d3 +#APP +| 28 "test.c" 1 + jsr a6@(-0x2a:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 +#APP +| 29 "test.c" 1 + jsr a6@(-0x24:W) +#NO_APP + move.l (a3),a0 + move.l d5,d1 + add.l a0,d1 + move.l a0,d0 + addq.l #4,d0 + cmp.l d0,d1 + jls .L3 +.L16: + cmp.l #1129136464,(a0) + jeq .L5 + move.l d0,a0 + move.l a0,d0 + addq.l #4,d0 + cmp.l d0,d1 + jhi .L16 +.L3: + cmp.l #1129136464,(a0) + jeq .L5 +.L7: + move.b #45,93(a2) + move.b #45,94(a2) + move.b #62,95(a2) +.L1: + movem.l (sp)+,#19708 + rts +.L5: + addq.l #8,a0 + clr.b d4 +.L6: + move.l a0,d7 + addq.l #3,d7 + moveq #0,d6 + move.b d4,d6 + move.l d6,d0 + move.l d0,a1 + add.l d0,a1 + add.l d0,a1 + lea (a2,a1.l),a1 + move.b (a0)+,(a1)+ + move.b (a0)+,(a1)+ + move.b (a0),(a1) + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+4,a0 + moveq #0,d1 + moveq #0,d2 + moveq #0,d3 +#APP +| 46 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+8,a0 + move.l d6,d0 + moveq #0,d1 +#APP +| 47 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.b #1,d4 + move.l d7,a0 + move.l (a3),d0 + add.l d5,d0 + cmp.l d7,d0 + jls .L7 + move.l a0,d7 + addq.l #3,d7 + moveq #0,d6 + move.b d4,d6 + move.l d6,d0 + move.l d0,a1 + add.l d0,a1 + add.l d0,a1 + lea (a2,a1.l),a1 + move.b (a0)+,(a1)+ + move.b (a0)+,(a1)+ + move.b (a0),(a1) + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+4,a0 + moveq #0,d1 + moveq #0,d2 + moveq #0,d3 +#APP +| 46 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+8,a0 + move.l d6,d0 + moveq #0,d1 +#APP +| 47 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.b #1,d4 + move.l d7,a0 + move.l (a3),d0 + add.l d5,d0 + cmp.l d7,d0 + jhi .L6 + jra .L7 + .align 2 + .globl _INTROEXIT +_INTROEXIT: + move.l a6,-(sp) + move.l d2,-(sp) + move.l a0,d2 + jsr _SWITCHDISPLAY + move.l _SysBase,a6 + sub.l a1,a1 +#APP +| 60 "test.c" 1 + jsr a6@(-0x126:W) +#NO_APP + move.l _SysBase,a6 + move.l d0,a1 + moveq #0,d0 +#APP +| 60 "test.c" 1 + jsr a6@(-0x12c:W) +#NO_APP + tst.l d2 + jeq .L18 + move.l _GfxBase,a6 + move.l d2,a0 + move.l #640,d0 + move.l #360,d1 +#APP +| 61 "test.c" 1 + jsr a6@(-0x1f2:W) +#NO_APP +.L18: + move.l _MyScreen+4,a0 + cmp.w #0,a0 + jeq .L19 + pea 434.w + pea 639.w + move.w #75,a1 + moveq #0,d1 + moveq #0,d0 + jsr _RECT + addq.l #8,sp +.L19: + move.l _MyScreen+8,a0 + cmp.w #0,a0 + jeq .L20 + pea 434.w + pea 639.w + move.w #75,a1 + moveq #0,d1 + moveq #0,d0 + jsr _RECT + move.l _MyScreen+4,a0 + addq.l #8,sp + cmp.w #0,a0 + jeq .L21 + move.l _IntuitionBase,a6 +#APP +| 74 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+4 +.L21: + move.l _MyScreen+8,a0 + cmp.w #0,a0 + jeq .L22 + move.l _IntuitionBase,a6 +#APP +| 74 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+8 +.L22: + move.l _SMemA+4,a1 + cmp.w #0,a1 + jeq .L23 + move.l _SysBase,a6 + move.l _SMemL+4,d0 +#APP +| 82 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _SMemA+4 +.L23: + move.l _SMemA+8,a1 + cmp.w #0,a1 + jeq .L24 + move.l _SysBase,a6 + move.l _SMemL+8,d0 +#APP +| 82 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _SMemA+8 +.L24: + move.l _SMemA+12,a1 + cmp.w #0,a1 + jeq .L25 + move.l _SysBase,a6 + move.l _SMemL+12,d0 +#APP +| 82 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _SMemA+12 +.L25: + move.l _IMemA,a1 + cmp.w #0,a1 + jeq .L26 + move.l _SysBase,a6 + move.l _IMemL,d0 +#APP +| 90 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _IMemA +.L26: + move.l _IMemA+4,a1 + cmp.w #0,a1 + jeq .L27 + move.l _SysBase,a6 + move.l _IMemL+4,d0 +#APP +| 90 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _IMemA+4 +.L27: + move.w #15,_custom+150 + move.l (sp)+,d2 + move.l (sp)+,a6 + rts +.L20: + move.l _MyScreen+4,a0 + cmp.w #0,a0 + jeq .L22 + move.l _IntuitionBase,a6 +#APP +| 74 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+4 + jra .L21 + .align 2 + .globl _ROTATEpX +_ROTATEpX: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,a0 + move.l a0,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L60 + and.l #255,d3 + move.l _FactorCos,60(sp) + move.l _FactorCos+4,64(sp) + move.l _FactorSin,68(sp) + move.l _FactorSin+4,72(sp) + lea (56,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (104,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L62 + moveq #64,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (112,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L62 + moveq #72,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (120,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L62 + moveq #80,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (128,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L62 + moveq #88,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (136,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L62 + lea (96,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (144,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L62: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L60 + and.l #255,d2 + move.l a2,d3 + add.l #200,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (248,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L60 + move.l a2,d3 + add.l #208,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (256,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L60 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (264,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L60 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (272,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L60 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (280,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L60 + lea (240,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (288,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L60: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEpY +_ROTATEpY: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,a0 + move.l a0,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L99 + and.l #255,d3 + move.l _FactorCos,60(sp) + move.l _FactorCos+4,64(sp) + move.l _FactorSin,68(sp) + move.l _FactorSin+4,72(sp) + lea (8,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (104,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L101 + moveq #16,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (112,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L101 + moveq #24,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (120,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L101 + moveq #32,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (128,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L101 + moveq #40,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (136,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L101 + lea (48,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (144,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L101: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L99 + and.l #255,d2 + move.l a2,d3 + add.l #152,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (248,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L99 + move.l a2,d3 + add.l #160,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (256,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L99 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (264,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L99 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (272,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L99 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (280,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L99 + lea (192,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (288,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L99: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEpZ +_ROTATEpZ: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,a0 + move.l a0,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L138 + and.l #255,d3 + move.l _FactorCos,60(sp) + move.l _FactorCos+4,64(sp) + move.l _FactorSin,68(sp) + move.l _FactorSin+4,72(sp) + lea (8,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (56,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L140 + moveq #16,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (64,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L140 + moveq #24,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (72,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L140 + moveq #32,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (80,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L140 + moveq #40,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (88,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L140 + lea (48,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (96,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L140: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L138 + and.l #255,d2 + move.l a2,d3 + add.l #152,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (200,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L138 + move.l a2,d3 + add.l #160,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (208,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L138 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (216,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L138 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (224,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L138 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (232,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L138 + lea (192,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (240,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L138: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEnX +_ROTATEnX: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,a0 + move.l a0,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L177 + and.l #255,d3 + move.l _FactorMCos,60(sp) + move.l _FactorMCos+4,64(sp) + move.l _FactorMSin,68(sp) + move.l _FactorMSin+4,72(sp) + lea (56,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (104,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L179 + moveq #64,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (112,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L179 + moveq #72,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (120,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L179 + moveq #80,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (128,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L179 + moveq #88,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (136,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L179 + lea (96,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (144,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L179: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L177 + and.l #255,d2 + move.l a2,d3 + add.l #200,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (248,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L177 + move.l a2,d3 + add.l #208,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (256,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L177 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (264,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L177 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (272,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L177 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (280,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L177 + lea (240,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (288,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L177: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEnY +_ROTATEnY: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,a0 + move.l a0,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L216 + and.l #255,d3 + move.l _FactorMCos,60(sp) + move.l _FactorMCos+4,64(sp) + move.l _FactorMSin,68(sp) + move.l _FactorMSin+4,72(sp) + lea (8,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (104,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L218 + moveq #16,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (112,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L218 + moveq #24,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (120,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L218 + moveq #32,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (128,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L218 + moveq #40,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (136,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L218 + lea (48,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (144,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L218: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L216 + and.l #255,d2 + move.l a2,d3 + add.l #152,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (248,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L216 + move.l a2,d3 + add.l #160,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (256,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L216 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (264,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L216 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (272,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L216 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (280,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L216 + lea (192,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (288,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L216: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEnZ +_ROTATEnZ: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,a0 + move.l a0,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L255 + and.l #255,d3 + move.l _FactorMCos,60(sp) + move.l _FactorMCos+4,64(sp) + move.l _FactorMSin,68(sp) + move.l _FactorMSin+4,72(sp) + lea (8,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (56,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L257 + moveq #16,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (64,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L257 + moveq #24,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (72,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L257 + moveq #32,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (80,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L257 + moveq #40,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (88,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L257 + lea (48,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (96,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L257: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L255 + and.l #255,d2 + move.l a2,d3 + add.l #152,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (200,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L255 + move.l a2,d3 + add.l #160,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (208,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L255 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (216,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L255 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (224,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L255 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (232,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L255 + lea (192,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (240,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L255: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _FLY +_FLY: + lea (-28,sp),sp + movem.l #16190,-(sp) + move.l 76(sp),d2 + move.l 80(sp),d3 + and.l #255,d0 + move.l d0,60(sp) + move.l #_VObj,d6 + lsl.l #3,d0 + move.l d0,64(sp) + move.l d0,d4 + add.l 60(sp),d4 + add.l d4,d4 + add.l d4,d4 + add.l 60(sp),d4 + lsl.l #3,d4 + move.l d6,d0 + add.l d4,d0 + move.l d0,a0 + addq.l #5,a0 + tst.b (a0) + jeq .L294 + move.l d4,a2 + add.l #_VObj+8,a2 + moveq #0,d5 + lea ___muldf3,a6 + lea ___floatsidf,a5 + lea ___subdf3,a4 + lea _it_round,a3 + move.l d0,68(sp) + move.l d0,a1 + addq.l #2,a1 + move.l a1,52(sp) + move.l a0,56(sp) +.L297: + move.l a2,d7 + move.l 4(a2),-(sp) + move.l (a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,44(sp) + move.l d1,48(sp) + move.l d0,(a2) + move.l d1,4(a2) + move.l d3,-(sp) + move.l d2,-(sp) + move.l 52(a2),-(sp) + move.l 48(a2),-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,48(a2) + move.l d1,52(a2) + move.l d3,-(sp) + move.l d2,-(sp) + move.l 100(a2),-(sp) + move.l 96(a2),-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,96(a2) + move.l d1,100(a2) + move.l d6,a0 + move.w (a0,d4.l),a0 + move.l a0,-(sp) + jsr (a5) + addq.l #4,sp + move.l 48(sp),-(sp) + move.l 48(sp),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + tst.l d0 + jlt .L301 + addq.l #8,a2 + move.l d6,a0 + move.w (a0,d4.l),a0 + move.l a0,-(sp) + jsr (a5) + move.l d7,a0 + move.l 4(a0),(sp) + move.l (a0),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + cmp.l #639,d0 + jgt .L301 + move.l 52(sp),a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + moveq #74,d1 + cmp.l d0,d1 + jge .L301 + move.l 52(sp),a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + cmp.l #434,d0 + jgt .L301 + addq.l #1,d5 + move.l 56(sp),a0 + moveq #0,d0 + move.b (a0),d0 + cmp.l d0,d5 + jlt .L297 + move.l 68(sp),a0 + tst.b 6(a0) + jeq .L294 + move.l 60(sp),d0 + lsl.l #3,d0 + add.l 60(sp),d0 + add.l d0,d0 + add.l d0,d0 + move.l 60(sp),d4 + add.l d0,d4 + lsl.l #3,d4 + move.l d4,a2 + add.l #_VObj+152,a2 + moveq #0,d7 + move.l d6,d0 + add.l d4,d0 + move.l d0,a0 + addq.l #2,a0 + move.l a0,52(sp) + addq.l #6,d0 + move.l d0,56(sp) +.L305: + move.l a2,d5 + move.l 4(a2),-(sp) + move.l (a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,44(sp) + move.l d1,48(sp) + move.l d0,(a2) + move.l d1,4(a2) + move.l d3,-(sp) + move.l d2,-(sp) + move.l 52(a2),-(sp) + move.l 48(a2),-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,48(a2) + move.l d1,52(a2) + move.l d3,-(sp) + move.l d2,-(sp) + move.l 100(a2),-(sp) + move.l 96(a2),-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,96(a2) + move.l d1,100(a2) + move.l d6,a0 + move.w (a0,d4.l),a0 + move.l a0,-(sp) + jsr (a5) + addq.l #4,sp + move.l 48(sp),-(sp) + move.l 48(sp),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + tst.l d0 + jlt .L304 + addq.l #8,a2 + move.l d6,a0 + move.w (a0,d4.l),a0 + move.l a0,-(sp) + jsr (a5) + move.l d5,a0 + move.l 4(a0),(sp) + move.l (a0),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + cmp.l #639,d0 + jgt .L304 + move.l 52(sp),a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + moveq #74,d1 + cmp.l d0,d1 + jge .L304 + move.l 52(sp),a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + cmp.l #434,d0 + jgt .L304 + addq.l #1,d7 + move.l 56(sp),a0 + moveq #0,d0 + move.b (a0),d0 + cmp.l d0,d7 + jlt .L305 +.L294: + movem.l (sp)+,#31996 + lea (28,sp),sp + rts +.L301: + move.l 64(sp),d0 + add.l 60(sp),d0 + add.l d0,d0 + add.l d0,d0 + add.l 60(sp),d0 + lsl.l #3,d0 + move.l d6,a0 + clr.b 5(a0,d0.l) + movem.l (sp)+,#31996 + lea (28,sp),sp + rts +.L304: + move.l 64(sp),d0 + add.l 60(sp),d0 + add.l d0,d0 + add.l d0,d0 + add.l 60(sp),d0 + lsl.l #3,d0 + move.l d6,a0 + add.l d0,a0 + clr.b 5(a0) + clr.b 6(a0) + movem.l (sp)+,#31996 + lea (28,sp),sp + rts + .align 2 + .globl _GREATEFFECT +_GREATEFFECT: + lea (-28,sp),sp + movem.l #16190,-(sp) + move.l d0,68(sp) + move.l a0,64(sp) + move.l _GfxBase,a6 +#APP +| 264 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + clr.l d4 + clr.l d5 + clr.w 48(sp) + move.l 64(sp),a0 + addq.l #3,a0 + move.l a0,52(sp) + lea ___floatsidf,a5 + lea ___muldf3,a2 + lea _it_round,a4 +.L314: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 269 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l #1202590843,-(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + addq.w #1,48(sp) + move.l 52(sp),60(sp) + move.l 52(sp),a3 + moveq #1,d6 + move.b d2,d0 +.L316: + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + moveq #0,d0 + move.b (a3),d0 + move.l d0,-(sp) + move.l a0,48(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d7 + lsl.w #8,d7 + swap d7 + clr.w d7 + moveq #0,d0 + move.b 1(a3),d0 + move.l d0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + moveq #0,d0 + move.b 2(a3),d0 + move.l d0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l _GfxBase,a6 + move.l 68(sp),a0 + move.l d6,d0 + move.l d7,d1 +#APP +| 275 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #1,d6 + addq.l #3,a3 + lea (24,sp),sp + moveq #32,d0 + cmp.l d6,d0 + jeq .L315 +.L446: + move.b _AScr,d0 + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + moveq #0,d0 + move.b (a3),d0 + move.l d0,-(sp) + move.l a0,48(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d7 + lsl.w #8,d7 + swap d7 + clr.w d7 + moveq #0,d0 + move.b 1(a3),d0 + move.l d0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + moveq #0,d0 + move.b 2(a3),d0 + move.l d0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l _GfxBase,a6 + move.l 68(sp),a0 + move.l d6,d0 + move.l d7,d1 +#APP +| 275 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #1,d6 + addq.l #3,a3 + lea (24,sp),sp + moveq #32,d0 + cmp.l d6,d0 + jne .L446 +.L315: + cmp.w #11,48(sp) + jeq .L447 + cmp.w #50,48(sp) + jne .L314 + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + lea _GfxBase,a3 + move.l (a3),a6 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + moveq #0,d0 + moveq #8,d1 + moveq #8,d2 + moveq #10,d3 +#APP +| 295 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + move.l (a3),a6 +#APP +| 296 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + move.l (a3),a6 +#APP +| 297 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l (a3),a6 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + moveq #0,d0 + moveq #0,d1 + moveq #0,d2 + moveq #0,d3 +#APP +| 298 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #1,d6 + move.l 60(sp),a3 +.L319: + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + moveq #0,d1 + move.b (a3),d1 + moveq #0,d2 + move.b 1(a3),d2 + moveq #0,d3 + move.b 2(a3),d3 + move.l _GfxBase,a6 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + move.l d6,d0 + lsl.w #8,d1 + swap d1 + clr.w d1 + lsl.w #8,d2 + swap d2 + clr.w d2 + lsl.w #8,d3 + swap d3 + clr.w d3 +#APP +| 301 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #1,d6 + addq.l #3,a3 + moveq #32,d0 + cmp.l d6,d0 + jne .L319 + moveq #50,d0 + jsr _delay + lea ___subdf3,a3 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 306 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l #1202590843,-(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + and.l #255,d2 + add.l d2,d2 + add.l d2,d2 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d2.l),a0 + move.l 64(sp),a1 + moveq #0,d0 + move.b 93(a1),d0 + move.l d0,-(sp) + move.l a0,48(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l 72(sp),a0 + moveq #0,d0 + move.b 94(a0),d0 + move.l d0,-(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + move.l 80(sp),a0 + moveq #0,d0 + move.b 95(a0),d0 + move.l d0,-(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + lsl.w #8,d0 + swap d0 + clr.w d0 + move.l d0,a1 + move.l _GfxBase,a6 + move.l 68(sp),a0 + moveq #31,d0 + move.l d3,d1 + move.l a1,d3 +#APP +| 309 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + lea (20,sp),sp + move.l #1202590843,(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___gtdf2 + lea (16,sp),sp + tst.l d0 + jle .L448 +.L364: + move.l d6,d4 + move.l d7,d5 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 306 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l #1202590843,-(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + and.l #255,d2 + add.l d2,d2 + add.l d2,d2 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d2.l),a0 + move.l 64(sp),a1 + moveq #0,d0 + move.b 93(a1),d0 + move.l d0,-(sp) + move.l a0,48(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l 72(sp),a0 + moveq #0,d0 + move.b 94(a0),d0 + move.l d0,-(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + move.l 80(sp),a0 + moveq #0,d0 + move.b 95(a0),d0 + move.l d0,-(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + lsl.w #8,d0 + swap d0 + clr.w d0 + move.l d0,a1 + move.l _GfxBase,a6 + move.l 68(sp),a0 + moveq #31,d0 + move.l d3,d1 + move.l a1,d3 +#APP +| 309 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + lea (20,sp),sp + move.l #1202590843,(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___gtdf2 + lea (16,sp),sp + tst.l d0 + jgt .L364 +.L448: + moveq #0,d0 + move.b 71(sp),d0 + move.l d0,48(sp) + jeq .L322 + lea _VObj,a2 + clr.l 52(sp) + lea ___fixdfsi,a6 +.L329: + moveq #0,d4 + move.b 5(a2),d4 + tst.l d4 + jeq .L331 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 12(a2),(sp) + move.l 8(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 60(a2),(sp) + move.l 56(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #1,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 20(a2),(sp) + move.l 16(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w d2,a0 + move.l a0,-(sp) + jsr (a5) + move.l 68(a2),(sp) + move.l 64(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #2,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 28(a2),(sp) + move.l 24(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w d2,a0 + move.l a0,-(sp) + jsr (a5) + move.l 76(a2),(sp) + move.l 72(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #3,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 36(a2),(sp) + move.l 32(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w d2,a0 + move.l a0,-(sp) + jsr (a5) + move.l 84(a2),(sp) + move.l 80(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #4,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w d2,a0 + move.l a0,-(sp) + jsr (a5) + move.l 92(a2),(sp) + move.l 88(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #5,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 52(a2),(sp) + move.l 48(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.w d0,(a2) + move.w d2,a0 + move.l a0,-(sp) + jsr (a5) + move.l 100(a2),(sp) + move.l 96(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.w d0,2(a2) +.L331: + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d0,d2 + move.l d1,d3 + move.l d4,(sp) + jsr ___floatunsidf + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___divdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.w d0,(a2) + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d0,d2 + move.l d1,d3 + moveq #0,d0 + move.b 5(a2),d0 + move.l d0,(sp) + jsr ___floatunsidf + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___divdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.w d0,d6 + add.w #235,d6 + move.w d6,2(a2) + moveq #0,d7 + move.b 5(a2),d7 + lea (16,sp),sp + tst.l d7 + jeq .L324 + move.w (a2),a0 + pea 1(a0) + jsr (a5) + move.l d0,d4 + move.l d1,d5 + move.l 12(a2),(sp) + move.l 8(a2),-(sp) + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,8(a2) + move.l d1,12(a2) + move.w d6,a0 + pea 1(a0) + jsr (a5) + move.l d0,d2 + move.l d1,d3 + move.l 60(a2),(sp) + move.l 56(a2),-(sp) + move.l d3,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,56(a2) + move.l d1,60(a2) + moveq #1,d0 + cmp.l d7,d0 + jeq .L324 + move.l 20(a2),-(sp) + move.l 16(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,16(a2) + move.l d1,20(a2) + move.l 68(a2),-(sp) + move.l 64(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,64(a2) + move.l d1,68(a2) + moveq #2,d1 + cmp.l d7,d1 + jeq .L324 + move.l 28(a2),-(sp) + move.l 24(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,24(a2) + move.l d1,28(a2) + move.l 76(a2),-(sp) + move.l 72(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,72(a2) + move.l d1,76(a2) + moveq #3,d0 + cmp.l d7,d0 + jeq .L324 + move.l 36(a2),-(sp) + move.l 32(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,32(a2) + move.l d1,36(a2) + move.l 84(a2),-(sp) + move.l 80(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,80(a2) + move.l d1,84(a2) + moveq #4,d1 + cmp.l d7,d1 + jeq .L324 + move.l 44(a2),-(sp) + move.l 40(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,40(a2) + move.l d1,44(a2) + move.l 92(a2),-(sp) + move.l 88(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,88(a2) + move.l d1,92(a2) + subq.l #5,d7 + jeq .L324 + move.l 52(a2),-(sp) + move.l 48(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,48(a2) + move.l d1,52(a2) + move.l 100(a2),-(sp) + move.l 96(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,96(a2) + move.l d1,100(a2) +.L324: + move.b 6(a2),d7 + jeq .L327 + and.l #255,d7 + move.w (a2),a0 + pea 1(a0) + jsr (a5) + move.l d0,d2 + move.l d1,d3 + move.l 156(a2),(sp) + move.l 152(a2),-(sp) + move.l d3,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,152(a2) + move.l d1,156(a2) + move.w d6,a0 + pea 1(a0) + jsr (a5) + move.l d0,d4 + move.l d1,d5 + move.l 204(a2),(sp) + move.l 200(a2),-(sp) + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,200(a2) + move.l d1,204(a2) + moveq #1,d1 + cmp.l d7,d1 + jeq .L327 + move.l 164(a2),-(sp) + move.l 160(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,160(a2) + move.l d1,164(a2) + move.l 212(a2),-(sp) + move.l 208(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,208(a2) + move.l d1,212(a2) + moveq #2,d0 + cmp.l d7,d0 + jeq .L327 + move.l 172(a2),-(sp) + move.l 168(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,168(a2) + move.l d1,172(a2) + move.l 220(a2),-(sp) + move.l 216(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,216(a2) + move.l d1,220(a2) + moveq #3,d1 + cmp.l d7,d1 + jeq .L327 + move.l 180(a2),-(sp) + move.l 176(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,176(a2) + move.l d1,180(a2) + move.l 228(a2),-(sp) + move.l 224(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,224(a2) + move.l d1,228(a2) + moveq #4,d0 + cmp.l d7,d0 + jeq .L327 + move.l 188(a2),-(sp) + move.l 184(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,184(a2) + move.l d1,188(a2) + move.l 236(a2),-(sp) + move.l 232(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,232(a2) + move.l d1,236(a2) + moveq #5,d1 + cmp.l d7,d1 + jeq .L327 + move.l 196(a2),-(sp) + move.l 192(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,192(a2) + move.l d1,196(a2) + move.l 244(a2),-(sp) + move.l 240(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,240(a2) + move.l d1,244(a2) +.L327: + addq.l #1,52(sp) + lea (296,a2),a2 + move.l 48(sp),d0 + cmp.l 52(sp),d0 + jne .L329 +.L322: + move.w #-32756,_custom+150 + move.b _AScr,d2 + move.l #1072695869,52(sp) + move.l #1889785610,56(sp) + moveq #1,d0 + move.l d0,60(sp) +.L332: + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L339 + move.l #-755914244,-(sp) + move.l #1064329805,-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l d0,52(sp) + move.l d1,56(sp) + moveq #1,d1 + cmp.l 60(sp),d1 + jeq .L449 + and.l #255,d2 + add.l d2,d2 + add.l d2,d2 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d2.l),a1 + moveq #0,d0 +#APP +| 350 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 + moveq #105,d1 + not.b d1 + move.l #639,d2 + move.l #330,d3 +#APP +| 351 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #16,d0 + cmp.l 60(sp),d0 + jlt .L450 +.L336: + tst.l 48(sp) + jeq .L362 + lea _VObj,a2 + moveq #0,d2 +.L361: + tst.b 5(a2) + jeq .L341 + moveq #1,d1 + cmp.l d2,d1 + jge .L342 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 +#APP +| 368 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + cmp.b #4,6(a2) + jhi .L343 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a0 + add.l (a0,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 36(a2),(sp) + move.l 32(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 84(a2),(sp) + move.l 80(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 377 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #40,d6 + add.l a2,d6 + lea (16,sp),sp + moveq #4,d3 + move.l d6,d0 + move.l a2,d6 + move.l d0,a2 +.L344: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d7 + lea _MyScreen,a0 + add.l (a0,d0.l),d7 + move.l (a2)+,d4 + move.l (a2)+,d5 + move.l d6,a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d4 + move.l d6,a0 + move.w 2(a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d7,a1 + move.l d4,d0 +#APP +| 380 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #1,d3 + lea (16,sp),sp + moveq #6,d0 + cmp.l d3,d0 + jne .L344 + move.l d6,a2 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 +#APP +| 382 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP +.L342: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #1,d0 +#APP +| 384 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a0 + add.l (a0,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 12(a2),(sp) + move.l 8(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 60(a2),(sp) + move.l 56(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 385 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b 5(a2),d0 + lea (16,sp),sp + moveq #1,d1 + cmp.l d0,d1 + jge .L351 + moveq #16,d6 + add.l a2,d6 + moveq #1,d3 +.L350: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d7 + lea _MyScreen,a0 + add.l (a0,d0.l),d7 + move.l d6,a0 + move.l (a0)+,d4 + move.l (a0)+,d5 + move.l a0,d6 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d4 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d6,a0 + lea (40,a0),a0 + move.l 4(a0),(sp) + move.l (a0),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d7,a1 + move.l d4,d0 +#APP +| 388 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #1,d3 + moveq #0,d0 + move.b 5(a2),d0 + lea (16,sp),sp + cmp.l d0,d3 + jlt .L350 +.L351: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 +#APP +| 390 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + tst.b 6(a2) + jne .L451 +.L341: + move.b 4(a2),d0 + btst #0,d0 + jne .L452 +.L355: + btst #1,d0 + jne .L453 +.L356: + btst #2,d0 + jne .L454 +.L357: + btst #3,d0 + jne .L455 +.L358: + btst #4,d0 + jne .L456 +.L359: + btst #5,d0 + jne .L457 +.L360: + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l d2,d0 + jsr _FLY + addq.l #1,d2 + lea (296,a2),a2 + addq.l #8,sp + cmp.l 48(sp),d2 + jne .L361 +.L362: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 409 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + addq.l #1,60(sp) + moveq #30,d0 + cmp.l 60(sp),d0 + jne .L332 +.L339: + and.l #255,d2 + add.l d2,d2 + add.l d2,d2 + lea _GfxBase,a2 + move.l (a2),a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d2.l),a1 + moveq #0,d0 +#APP +| 420 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + lea _AScr,a3 + move.b (a3),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 + moveq #75,d1 + move.l #639,d2 + move.l #434,d3 +#APP +| 421 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 422 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 +#APP +| 420 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 + moveq #75,d1 +#APP +| 421 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 422 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + move.w #12,_custom+150 + movem.l (sp)+,#31996 + lea (28,sp),sp + rts +.L447: + move.w #-32756,_custom+150 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 269 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l #1202590843,-(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + addq.w #1,48(sp) + move.l 52(sp),60(sp) + move.l 52(sp),a3 + moveq #1,d6 + move.b d2,d0 + jra .L316 +.L457: + move.l d2,d0 + jsr _ROTATEnZ + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l d2,d0 + jsr _FLY + addq.l #1,d2 + lea (296,a2),a2 + addq.l #8,sp + cmp.l 48(sp),d2 + jne .L361 + jra .L362 +.L456: + move.l d2,d0 + jsr _ROTATEnY + move.b 4(a2),d0 + btst #5,d0 + jeq .L360 + jra .L457 +.L455: + move.l d2,d0 + jsr _ROTATEnX + move.b 4(a2),d0 + btst #4,d0 + jeq .L359 + jra .L456 +.L454: + move.l d2,d0 + jsr _ROTATEpZ + move.b 4(a2),d0 + btst #3,d0 + jeq .L358 + jra .L455 +.L453: + move.l d2,d0 + jsr _ROTATEpY + move.b 4(a2),d0 + btst #2,d0 + jeq .L357 + jra .L454 +.L452: + move.l d2,d0 + jsr _ROTATEpX + move.b 4(a2),d0 + btst #1,d0 + jeq .L356 + jra .L453 +.L451: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a0 + add.l (a0,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 156(a2),(sp) + move.l 152(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 204(a2),(sp) + move.l 200(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 393 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b 6(a2),d0 + lea (16,sp),sp + moveq #1,d1 + cmp.l d0,d1 + jge .L354 + move.l a2,d6 + add.l #160,d6 + moveq #1,d3 +.L353: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d7 + lea _MyScreen,a0 + add.l (a0,d0.l),d7 + move.l d6,a0 + move.l (a0)+,d4 + move.l (a0)+,d5 + move.l a0,d6 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d4 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d6,a0 + lea (40,a0),a0 + move.l 4(a0),(sp) + move.l (a0),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d7,a1 + move.l d4,d0 +#APP +| 396 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #1,d3 + moveq #0,d0 + move.b 6(a2),d0 + lea (16,sp),sp + cmp.l d0,d3 + jlt .L353 +.L354: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 +#APP +| 398 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + move.b 4(a2),d0 + btst #0,d0 + jeq .L355 + jra .L452 +.L343: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a0 + add.l (a0,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 180(a2),(sp) + move.l 176(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 228(a2),(sp) + move.l 224(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 371 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l a2,d6 + add.l #184,d6 + lea (16,sp),sp + moveq #2,d3 + move.l d6,d0 + move.l a2,d6 + move.l d0,a2 +.L345: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d7 + lea _MyScreen,a0 + add.l (a0,d0.l),d7 + move.l (a2)+,d4 + move.l (a2)+,d5 + move.l d6,a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d4 + move.l d6,a0 + move.w 2(a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d7,a1 + move.l d4,d0 +#APP +| 374 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + subq.l #1,d3 + lea (16,sp),sp + jne .L345 + move.l d6,a2 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a0 + add.l (a0,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 36(a2),(sp) + move.l 32(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 84(a2),(sp) + move.l 80(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 377 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #40,d6 + add.l a2,d6 + lea (16,sp),sp + moveq #4,d3 + move.l d6,d0 + move.l a2,d6 + move.l d0,a2 + jra .L344 +.L450: + jsr _rand + pea 13.w + move.l d0,-(sp) + jsr ___modsi3 + addq.l #8,sp + move.l d0,d1 + lsl.l #3,d1 + add.l d0,d1 + add.l d1,d1 + add.l d1,d1 + add.l d1,d0 + lsl.l #3,d0 + add.l #_VObj+5,d0 + move.l d0,a0 + clr.b (a0) + jra .L336 +.L449: + move.l 64(sp),a2 + addq.l #6,a2 + moveq #2,d4 + move.b d2,d0 +.L334: + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + moveq #0,d2 + move.b (a2),d2 + move.l d2,d1 + add.l d2,d1 + add.l d1,d1 + add.l d2,d1 + move.b 1(a2),d2 + move.l d2,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,d2 + moveq #0,d3 + move.b 2(a2),d3 + move.l d3,a0 + add.l d3,a0 + add.l a0,a0 + add.l a0,d3 + move.l _GfxBase,a6 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + move.l d4,d0 + lsl.w #5,d1 + swap d1 + clr.w d1 + lsl.w #5,d2 + swap d2 + clr.w d2 + lsl.w #5,d3 + swap d3 + clr.w d3 +#APP +| 355 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #1,d4 + addq.l #3,a2 + moveq #31,d0 + cmp.l d4,d0 + jeq .L336 + move.b _AScr,d0 + jra .L334 +.LC41: + .ascii "Snd0.RAW\0" + .align 2 + .globl _LOADSOUNDS +_LOADSOUNDS: + lea (-40,sp),sp + movem.l #16190,-(sp) + move.l _PathStr+32,a0 + move.l a0,a1 +.L459: + tst.b (a1)+ + jne .L459 + move.l a0,d6 + sub.l a1,d6 + not.l d6 + lea (44,sp),a1 +.L460: + move.b (a0)+,(a1)+ + jne .L460 + moveq #0,d0 + not.b d0 + and.l d6,d0 + lea (44,sp),a0 + add.l d0,a0 + lea .LC41,a1 +.L461: + move.b (a1)+,(a0)+ + jne .L461 + addq.b #3,d6 + and.l #255,d6 + lea _SMemL+4,a2 + lea _SMemA+4,a3 + moveq #49,d5 + lea _OPENSMOOTH,a4 + move.l #1005,d7 + move.l #65538,a5 +.L465: + move.b d5,44(sp,d6.l) + move.l d7,d0 + lea (44,sp),a0 + jsr (a4) + move.l d0,d4 + jeq .L464 + move.l _DOSBase,a6 + move.l d0,d1 + moveq #0,d2 + moveq #1,d3 +#APP +| 447 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 + moveq #-1,d3 +#APP +| 448 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l d0,(a2)+ + move.l _SysBase,a6 + move.l a5,d1 +#APP +| 450 "test.c" 1 + jsr a6@(-0xc6:W) +#NO_APP + move.l d0,(a3)+ + jeq .L464 + move.l _DOSBase,a6 + move.l d4,d1 + move.l d0,d2 + move.l -4(a2),d3 +#APP +| 452 "test.c" 1 + jsr a6@(-0x2a:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 +#APP +| 453 "test.c" 1 + jsr a6@(-0x24:W) +#NO_APP + addq.b #1,d5 + cmp.b #52,d5 + jne .L465 + moveq #1,d0 + movem.l (sp)+,#31996 + lea (40,sp),sp + rts +.L464: + clr.w d0 + movem.l (sp)+,#31996 + lea (40,sp),sp + rts +.LC42: + .ascii "Frame0.pal\0" +.LC43: + .ascii "Frame0.img\0" +.LC44: + .ascii "Frame1.pal\0" +.LC45: + .ascii "Frame1.img\0" +.LC46: + .ascii "Frame2.pal\0" +.LC47: + .ascii "Frame2.img\0" +.LC48: + .ascii "Frame3.pal\0" +.LC49: + .ascii "Frame3.img\0" +.LC50: + .ascii "MOD.Intro\0" +.LC51: + .ascii "Frame4.pal\0" +.LC52: + .ascii "Frame4.img\0" +.LC53: + .ascii "Frame5.img\0" +.LC54: + .ascii "Frame6.pal\0" +.LC55: + .ascii "Frame6.img\0" +.LC56: + .ascii "PRESENTS\0" +.LC57: + .ascii "A\0" +.LC58: + .ascii "PRODUCTION\0" + .data + .align 2 +.LC0: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 4 + .skip 1 + .long 1078132736 + .long 0 + .long 1075970048 + .long 0 + .long 1075970048 + .long 0 + .long 1075970048 + .long 0 + .long 1075970048 + .long 0 + .long 1078132736 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1076232192 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC1: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1079427072 + .long 0 + .long 1079246848 + .long 0 + .long 1079246848 + .long 0 + .long 1079246848 + .long 0 + .long 1079246848 + .long 0 + .long 1079427072 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1079754752 + .long 0 + .long 1079574528 + .long 0 + .long 1079574528 + .long 0 + .long 1079574528 + .long 0 + .long 1079574528 + .long 0 + .long 1079754752 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1077411840 + .long 0 + .long 1077411840 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC2: + .word 0 + .word 0 + .byte 34 + .byte 6 + .byte 6 + .skip 1 + .long 1080320000 + .long 0 + .long 1080229888 + .long 0 + .long 1080229888 + .long 0 + .long 1080229888 + .long 0 + .long 1080229888 + .long 0 + .long 1080320000 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080492032 + .long 0 + .long 1080401920 + .long 0 + .long 1080401920 + .long 0 + .long 1080401920 + .long 0 + .long 1080401920 + .long 0 + .long 1080492032 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076363264 + .long 0 + .long 1076363264 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC3: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080696832 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080696832 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080664064 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080664064 + .long 0 + .long 1076756480 + .long 0 + .long 1076756480 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076756480 + .long 0 + .long 1076756480 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC4: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080860672 + .long 0 + .long 1080762368 + .long 0 + .long 1080860672 + .long 0 + .long 1080860672 + .long 0 + .long 1080762368 + .long 0 + .long 1080860672 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077084160 + .long 0 + .long 1077084160 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081065472 + .long 0 + .long 1080967168 + .long 0 + .long 1080918016 + .long 0 + .long 1080918016 + .long 0 + .long 1080967168 + .long 0 + .long 1081065472 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076363264 + .long 0 + .long 1076363264 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC5: + .word 0 + .word 0 + .byte 24 + .byte 6 + .byte 4 + .skip 1 + .long 1081200640 + .long 0 + .long 1081081856 + .long 0 + .long 1081081856 + .long 0 + .long 1081081856 + .long 0 + .long 1081081856 + .long 0 + .long 1081200640 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1075970048 + .long 0 + .long 1075970048 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081122816 + .long 0 + .long 1081122816 + .long 0 + .long 1081122816 + .long 0 + .long 1081122816 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1076232192 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC6: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1081335808 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081335808 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081323520 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081323520 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC7: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1081835520 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081835520 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081823232 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081823232 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC8: + .word 0 + .word 0 + .byte 48 + .byte 6 + .byte 4 + .skip 1 + .long 1081966592 + .long 0 + .long 1081847808 + .long 0 + .long 1081847808 + .long 0 + .long 1081847808 + .long 0 + .long 1081847808 + .long 0 + .long 1081966592 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081884672 + .long 0 + .long 1081884672 + .long 0 + .long 1081884672 + .long 0 + .long 1081884672 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1076232192 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC9: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1082023936 + .long 0 + .long 1081978880 + .long 0 + .long 1082023936 + .long 0 + .long 1082023936 + .long 0 + .long 1081978880 + .long 0 + .long 1082023936 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082105856 + .long 0 + .long 1082068992 + .long 0 + .long 1082048512 + .long 0 + .long 1082048512 + .long 0 + .long 1082068992 + .long 0 + .long 1082105856 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC10: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 0 + .skip 1 + .long 1082202112 + .long 0 + .long 1082179584 + .long 0 + .long 1082148864 + .long 0 + .long 1082148864 + .long 0 + .long 1082179584 + .long 0 + .long 1082202112 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC11: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1082288128 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082288128 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082261504 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082261504 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC12: + .word 0 + .word 0 + .byte 24 + .byte 6 + .byte 6 + .skip 1 + .long 1082372096 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082372096 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082365952 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082365952 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC13: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1079541760 + .long 0 + .long 1079345152 + .long 0 + .long 1079590912 + .long 0 + .long 1079590912 + .long 0 + .long 1079345152 + .long 0 + .long 1079541760 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080000512 + .long 0 + .long 1079803904 + .long 0 + .long 1079672832 + .long 0 + .long 1079672832 + .long 0 + .long 1079803904 + .long 0 + .long 1080000512 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077346304 + .long 0 + .long 1077346304 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC14: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 0 + .skip 1 + .long 1080131584 + .long 0 + .long 1080041472 + .long 0 + .long 1080041472 + .long 0 + .long 1080041472 + .long 0 + .long 1080041472 + .long 0 + .long 1080131584 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC15: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080352768 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080352768 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080246272 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080246272 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC16: + .word 0 + .word 0 + .byte 34 + .byte 6 + .byte 4 + .skip 1 + .long 1080672256 + .long 0 + .long 1080434688 + .long 0 + .long 1080434688 + .long 0 + .long 1080434688 + .long 0 + .long 1080434688 + .long 0 + .long 1080672256 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080508416 + .long 0 + .long 1080508416 + .long 0 + .long 1080508416 + .long 0 + .long 1080508416 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1076232192 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC17: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080786944 + .long 0 + .long 1080696832 + .long 0 + .long 1080696832 + .long 0 + .long 1080696832 + .long 0 + .long 1080696832 + .long 0 + .long 1080786944 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077608448 + .long 0 + .long 1077608448 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080950784 + .long 0 + .long 1080860672 + .long 0 + .long 1080860672 + .long 0 + .long 1080860672 + .long 0 + .long 1080860672 + .long 0 + .long 1080950784 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077477376 + .long 0 + .long 1077477376 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC18: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 0 + .skip 1 + .long 1081122816 + .long 0 + .long 1081073664 + .long 0 + .long 1080950784 + .long 0 + .long 1080950784 + .long 0 + .long 1081073664 + .long 0 + .long 1081122816 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC19: + .word 0 + .word 0 + .byte 24 + .byte 6 + .byte 4 + .skip 1 + .long 1081241600 + .long 0 + .long 1081196544 + .long 0 + .long 1081196544 + .long 0 + .long 1081196544 + .long 0 + .long 1081196544 + .long 0 + .long 1081241600 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081307136 + .long 0 + .long 1081245696 + .long 0 + .long 1081245696 + .long 0 + .long 1081307136 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC20: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1081405440 + .long 0 + .long 1081360384 + .long 0 + .long 1081405440 + .long 0 + .long 1081405440 + .long 0 + .long 1081360384 + .long 0 + .long 1081405440 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081487360 + .long 0 + .long 1081450496 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081450496 + .long 0 + .long 1081487360 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC21: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1081839616 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081839616 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081786368 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081786368 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC22: + .word 0 + .word 0 + .byte 48 + .byte 6 + .byte 4 + .skip 1 + .long 1081933824 + .long 0 + .long 1081888768 + .long 0 + .long 1081888768 + .long 0 + .long 1081888768 + .long 0 + .long 1081888768 + .long 0 + .long 1081933824 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081999360 + .long 0 + .long 1081937920 + .long 0 + .long 1081937920 + .long 0 + .long 1081999360 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC23: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 0 + .skip 1 + .long 1082101760 + .long 0 + .long 1082011648 + .long 0 + .long 1082011648 + .long 0 + .long 1082011648 + .long 0 + .long 1082011648 + .long 0 + .long 1082101760 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC24: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1078460416 + .long 0 + .long 1078099968 + .long 0 + .long 1078099968 + .long 0 + .long 1078099968 + .long 0 + .long 1078099968 + .long 0 + .long 1078460416 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1079492608 + .long 0 + .long 1079312384 + .long 0 + .long 1079132160 + .long 0 + .long 1079132160 + .long 0 + .long 1079312384 + .long 0 + .long 1079492608 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC25: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 0 + .skip 1 + .long 1078919168 + .long 0 + .long 1078558720 + .long 0 + .long 1078558720 + .long 0 + .long 1078558720 + .long 0 + .long 1078558720 + .long 0 + .long 1078919168 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC26: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080303616 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080303616 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080279040 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080279040 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC27: + .word 0 + .word 0 + .byte 34 + .byte 6 + .byte 0 + .skip 1 + .long 1080713216 + .long 0 + .long 1080623104 + .long 0 + .long 1080623104 + .long 0 + .long 1080623104 + .long 0 + .long 1080623104 + .long 0 + .long 1080713216 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC28: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080827904 + .long 0 + .long 1080737792 + .long 0 + .long 1080737792 + .long 0 + .long 1080737792 + .long 0 + .long 1080737792 + .long 0 + .long 1080827904 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077608448 + .long 0 + .long 1077608448 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080991744 + .long 0 + .long 1080901632 + .long 0 + .long 1080901632 + .long 0 + .long 1080901632 + .long 0 + .long 1080901632 + .long 0 + .long 1080991744 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077477376 + .long 0 + .long 1077477376 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC29: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1081094144 + .long 0 + .long 1081016320 + .long 0 + .long 1081016320 + .long 0 + .long 1081016320 + .long 0 + .long 1081016320 + .long 0 + .long 1081094144 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081229312 + .long 0 + .long 1081184256 + .long 0 + .long 1081139200 + .long 0 + .long 1081139200 + .long 0 + .long 1081184256 + .long 0 + .long 1081229312 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC30: + .word 0 + .word 0 + .byte 24 + .byte 6 + .byte 4 + .skip 1 + .long 1081417728 + .long 0 + .long 1081298944 + .long 0 + .long 1081298944 + .long 0 + .long 1081298944 + .long 0 + .long 1081298944 + .long 0 + .long 1081417728 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081335808 + .long 0 + .long 1081335808 + .long 0 + .long 1081335808 + .long 0 + .long 1081335808 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1077215232 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC31: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1081548800 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081548800 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081536512 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081536512 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC32: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1081806848 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081806848 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081753600 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081753600 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC33: + .word 0 + .word 0 + .byte 48 + .byte 6 + .byte 0 + .skip 1 + .long 1081962496 + .long 0 + .long 1081917440 + .long 0 + .long 1081856000 + .long 0 + .long 1081856000 + .long 0 + .long 1081917440 + .long 0 + .long 1081962496 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC34: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1082081280 + .long 0 + .long 1082036224 + .long 0 + .long 1082036224 + .long 0 + .long 1082036224 + .long 0 + .long 1082036224 + .long 0 + .long 1082081280 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082148864 + .long 0 + .long 1082122240 + .long 0 + .long 1082122240 + .long 0 + .long 1082122240 + .long 0 + .long 1082122240 + .long 0 + .long 1082148864 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076953088 + .long 0 + .long 1076953088 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC35: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1082247168 + .long 0 + .long 1082224640 + .long 0 + .long 1082224640 + .long 0 + .long 1082224640 + .long 0 + .long 1082224640 + .long 0 + .long 1082247168 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082314752 + .long 0 + .long 1082292224 + .long 0 + .long 1082269696 + .long 0 + .long 1082269696 + .long 0 + .long 1082292224 + .long 0 + .long 1082314752 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 +.LC36: + .ascii "\0" + .skip 59 + .ascii "Software & Design\0" + .skip 42 + .ascii "Oxygenic\0" + .skip 51 + .ascii "Art Director\0" + .skip 47 + .ascii "Cybertrace\0" + .skip 49 + .ascii "Music by\0" + .skip 51 + .ascii "Ludwig v.Beethoven N.N. Ikonnikow Richard Wagner\0" + .skip 7 + .ascii "Special Effects\0" + .skip 44 + .ascii "Oxygenic\0" + .skip 51 + .ascii "Credits go to\0" + .skip 46 + .ascii "Adam Benjamin Rikard Cederlund\0" + .skip 27 + .ascii "Jakob Gaardsted Andy Jones\0" + .skip 31 + .ascii "George Moore\0" + .skip 47 + .ascii "Surround-Sounds created with\0" + .skip 31 + .ascii "WaveTracer DS\302\256\0" + .skip 44 + .ascii "Colors in Technicolor\302\256\0" + .skip 36 + .ascii "Panaflex\302\256 Camera and Lenses by Panavision\302\256\0" + .skip 15 + .align 2 +.LC38: + .long 1081630720 + .long 0 + .long 1081114624 + .long 0 + .long 1081049088 + .long 0 + .long 1080508416 + .long 0 + .long 1080508416 + .long 0 + .long 1080557568 + .long 0 + .long 1081081856 + .long 0 + .long 1081221120 + .long 0 + .long 1081483264 + .long 0 + .long 1081507840 + .long 0 + .long 1081507840 + .long 0 + .long 1081237504 + .long 0 + .long 1081188352 + .long 0 + .long 1081049088 + .long 0 + .long 1081081856 + .long 0 + .long 1081221120 + .long 0 + .long 1081237504 + .long 0 + .long 1081188352 + .long 0 + .long 1081237504 + .long 0 + .long 1081237504 + .long 0 + .long 1081090048 + .long 0 + .long 1081118720 + .long 0 + .long 1081151488 + .long 0 + .long 1081184256 + .long 0 + .long 1081212928 + .long 0 + .long 1080500224 + .long 0 + .long 1080500224 + .long 0 + .long 1080541184 + .long 0 + .long 1080541184 + .long 0 + .long 1081491456 + .long 0 + .long 1081491456 + .long 0 + .long 1081511936 + .long 0 + .long 1081511936 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC39: + .long 1081323520 + .long 0 + .long 1080410112 + .long 0 + .long 1081159680 + .long 0 + .long 1081032704 + .long 0 + .long 1080524800 + .long 0 + .long 1080827904 + .long 0 + .long 1080901632 + .long 0 + .long 1080901632 + .long 0 + .long 1080827904 + .long 0 + .long 1080524800 + .long 0 + .long 1081032704 + .long 0 + .long 1081159680 + .long 0 + .long 1080410112 + .long 0 + .long 1081159680 + .long 0 + .long 1080975360 + .long 0 + .long 1080975360 + .long 0 + .long 1081159680 + .long 0 + .long 1080410112 + .long 0 + .long 1081159680 + .long 0 + .long 1081159680 + .long 0 + .long 1081135104 + .long 0 + .long 1081434112 + .long 0 + .long 1081135104 + .long 0 + .long 1081434112 + .long 0 + .long 1081135104 + .long 0 + .long 1080516608 + .long 0 + .long 1080393728 + .long 0 + .long 1080393728 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080393728 + .long 0 + .long 1080393728 + .long 0 + .long 1080516608 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC40: + .long -1073479680 + .long 0 + .long -1072431104 + .long 0 + .long -1074790400 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1074790400 + .long 0 + .long -1074790400 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1074790400 + .long 0 + .long -1072431104 + .long 0 + .long -1074790400 + .long 0 + .long -1074685543 + .long -1717986918 + .long -1074685543 + .long -1717986918 + .long -1074790400 + .long 0 + .long -1072431104 + .long 0 + .long -1071644672 + .long 0 + .long -1074790400 + .long 0 + .long -1073741824 + .long 0 + .long -1073741824 + .long 0 + .long -1073741824 + .long 0 + .long -1073741824 + .long 0 + .long -1073741824 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .text + .align 2 + .globl _MAININTRO +_MAININTRO: + lea (-2660,sp),sp + movem.l #16190,-(sp) + clr.l _TMPtr + move.b #1,_AScr + lea _MyScreen+4,a3 + clr.l (a3) + clr.l 4(a3) + lea _SMemA+4,a0 + clr.l (a0) + clr.l 4(a0) + clr.l 8(a0) + clr.l _IMemA + clr.l _IMemA+4 + jsr _LOADSOUNDS + tst.w d0 + jeq .L476 + moveq #5,d0 + jsr _OPENCINEMA + move.l d0,(a3) + jeq .L476 + moveq #5,d0 + jsr _OPENCINEMA + move.l d0,4(a3) + jeq .L476 + move.l #73500,_IMemL + move.l _SysBase,a6 + move.l #73500,d0 + moveq #2,d1 +#APP +| 503 "test.c" 1 + jsr a6@(-0xc6:W) +#NO_APP + lea _IMemA,a0 + move.l d0,(a0) + jeq .L476 + lea _IMemL,a0 + move.l (a0),54(sp) + move.w #80,268(sp) + move.w #183,270(sp) + move.b #1,272(sp) + move.b #5,273(sp) + clr.w 274(sp) + move.l d0,276(sp) + move.l d0,d1 + add.l #14640,d1 + move.l d1,280(sp) + move.l d0,d2 + add.l #29280,d2 + move.l d2,284(sp) + add.l #29280,d1 + move.l d1,288(sp) + add.l #29280,d2 + move.l d2,292(sp) + clr.l 296(sp) + clr.l 300(sp) + clr.l 304(sp) + move.l d0,308(sp) + move.l 54(sp),312(sp) + move.l _PathStr+32,a1 + move.l a1,a0 +.L480: + tst.b (a0)+ + jne .L480 + move.l a1,d2 + sub.l a0,d2 + not.l d2 + move.l d2,d0 + lea (193,sp),a0 + jsr _strncpy + lea (193,sp),a2 + add.l d2,a2 + move.l a2,66(sp) + move.l a2,a1 + lea .LC42,a0 +.L481: + move.b (a0)+,(a1)+ + jne .L481 + lea (193,sp),a1 + move.l _MyScreen+4,a0 + jsr _SETCOLOR + lea (193,sp),a1 + move.l _MyScreen+8,a0 + jsr _SETCOLOR + move.l 66(sp),a1 + lea .LC43,a0 +.L482: + move.b (a0)+,(a1)+ + jne .L482 + lea (268,sp),a3 + move.l a3,-(sp) + pea 5.w + pea 183.w + move.w #640,a1 + moveq #0,d1 + moveq #0,d0 + lea (205,sp),a0 + jsr _RAWLOADIMAGE + lea (12,sp),sp + tst.w d0 + jeq .L476 + lea _MyScreen,a5 + moveq #0,d0 + lea _AScr,a2 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + lea _GfxBase,a4 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #635,d2 + move.l #340,d3 + moveq #5,d4 + moveq #90,d5 + moveq #63,d6 + not.b d6 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #630,d2 + moveq #10,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #625,d2 + moveq #15,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #620,d2 + moveq #20,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #615,d2 + moveq #25,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #610,d2 + moveq #30,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #605,d2 + moveq #35,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #600,d2 + moveq #40,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l #590,d7 + move.l d3,a4 +.L483: + move.l d7,a2 + subq.l #5,a2 + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l a2,d2 + move.l a4,d3 + moveq #49,d4 + moveq #90,d5 + moveq #63,d6 + not.b d6 +#APP +| 535 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #41,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #44,d2 + add.l d7,d2 + moveq #5,d4 +#APP +| 536 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 538 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + move.l a2,d7 + moveq #10,d0 + cmp.l a2,d0 + jne .L483 + moveq #0,d0 + lea _AScr,a2 + move.b (a2),d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + lea _GfxBase,a3 + move.l (a3),a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #10,d0 + move.l a4,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #10,d2 + moveq #50,d4 +#APP +| 543 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #635,d2 + moveq #5,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #630,d2 + moveq #10,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #625,d2 + moveq #15,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #620,d2 + moveq #20,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #615,d2 + moveq #25,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #610,d2 + moveq #30,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #605,d2 + moveq #35,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #600,d2 + moveq #40,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a3),a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #595,d2 + moveq #45,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a3),a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 551 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l (a3),a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 552 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + move.l d2,d7 + move.w #430,a3 +.L484: + move.l d7,a2 + subq.l #5,a2 + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l a2,d2 + move.l a4,d3 + moveq #41,d4 + moveq #90,d5 + moveq #63,d6 + not.b d6 +#APP +| 556 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #36,d0 + add.l d7,d0 + move.l #340,d1 + moveq #45,d2 + add.l d7,d2 + move.l a3,d3 +#APP +| 557 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 559 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + move.l a2,d7 + moveq #60,d2 + cmp.l a2,d2 + jne .L484 + moveq #0,d0 + lea _AScr,a3 + move.b (a3),d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + lea _GfxBase,a4 + move.l (a4),a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #10,d0 + move.l #340,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #10,d2 + move.l d1,d3 + moveq #105,d4 + not.b d4 +#APP +| 564 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + moveq #5,d0 + jsr _delay + moveq #0,d0 + move.b (a3),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + lea (268,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #616,d4 + moveq #91,d5 +#APP +| 568 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + lea _IntuitionBase,a2 + move.l (a2),a6 + move.l (a5,d0.l),a0 +#APP +| 570 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + lea (268,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 +#APP +| 568 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.l (a5,d0.l),a0 +#APP +| 570 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #15,d0 + jsr _delay + moveq #0,d0 + move.b (a3),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l (a4),a6 + lea (268,sp),a0 + moveq #0,d0 + moveq #90,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #337,d3 + moveq #98,d4 +#APP +| 575 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.l (a5,d0.l),a0 +#APP +| 577 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.w #15,_custom+150 + moveq #15,d0 + jsr _delay + move.w #-32765,_custom+150 + moveq #25,d0 + jsr _delay + move.l #1202590843,-(sp) + move.l #1067743969,-(sp) + jsr _sin + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l #-343597384,-(sp) + move.l #1067366481,-(sp) + jsr _cos + move.l d0,_FactorCos + move.l d1,_FactorCos+4 + move.l #-1717986918,-(sp) + move.l #-1079404135,-(sp) + jsr _sin + move.l d0,_FactorMSin + move.l d1,_FactorMSin+4 + move.l #1202590843,-(sp) + move.l #-1080788255,-(sp) + jsr _cos + move.l d0,_FactorMCos + move.l d1,_FactorMCos+4 + moveq #0,d0 + move.b (a3),d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + add.l d0,d0 + move.l (a4),a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 606 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l (a4),a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + move.l #335,d1 + move.l #640,d2 + move.l #430,d3 +#APP +| 607 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.l (a5,d0.l),a0 +#APP +| 609 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l (a4),a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 606 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b (a3),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l (a4),a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + move.l #335,d1 +#APP +| 607 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a3) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a2),a6 + move.l (a5,d0.l),a0 +#APP +| 609 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l (a4),a6 + move.l d2,d0 + move.l #360,d1 +#APP +| 612 "test.c" 1 + jsr a6@(-0x1ec:W) +#NO_APP + move.l d0,d7 + lea (32,sp),sp + jeq .L476 + move.l (a4),a6 + lea (118,sp),a0 + move.l d0,a1 + move.l #21000,d0 +#APP +| 617 "test.c" 1 + jsr a6@(-0x1d4:W) +#NO_APP + move.l (a4),a6 + lea (168,sp),a0 + lea _IMemA,a2 + move.l (a2),a1 + moveq #55,d0 + not.b d0 +#APP +| 618 "test.c" 1 + jsr a6@(-0x11a:W) +#NO_APP + move.l _MyScreen+4,a1 + moveq #118,d0 + add.l sp,d0 + move.l d0,96(a1) + move.l _MyScreen+8,a0 + move.l d0,96(a0) + moveq #87,d2 + not.b d2 + add.l sp,d2 + move.l d2,100(a1) + move.l d2,100(a0) + move.l 66(sp),a1 + lea .LC44,a0 +.L485: + move.b (a0)+,(a1)+ + jne .L485 + lea _SETDARKCOLOR,a2 + lea (1300,sp),a1 + lea (193,sp),a0 + jsr (a2) + move.l 66(sp),a1 + lea .LC45,a0 +.L486: + move.b (a0)+,(a1)+ + jne .L486 + clr.l -(sp) + moveq #0,d0 + lea _AScr,a3 + move.b (a3),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + pea 5.w + pea 37.w + move.w #640,a1 + moveq #20,d1 + not.b d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + pea .LC56 + pea 5.w + moveq #0,d0 + move.b (a3),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #31,a0 + move.l #285,d1 + move.l #320,d0 + jsr _WRITE + moveq #0,d0 + move.b (a3),d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #0,d0 + moveq #20,d1 + not.b d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + move.l d1,d3 + move.l #640,d4 + moveq #75,d5 + moveq #63,d6 + not.b d6 +#APP +| 631 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l #296,d0 + lea .LC0,a1 + lea _VObj,a0 + jsr _memcpy + move.l #296,d0 + lea .LC1,a1 + lea _VObj+296,a0 + jsr _memcpy + move.l #296,d0 + lea .LC2,a1 + lea _VObj+592,a0 + jsr _memcpy + move.l #296,d0 + lea .LC3,a1 + lea _VObj+888,a0 + jsr _memcpy + move.l #296,d0 + lea .LC4,a1 + lea _VObj+1184,a0 + jsr _memcpy + move.l #296,d0 + lea .LC5,a1 + lea _VObj+1480,a0 + jsr _memcpy + move.l #296,d0 + lea .LC6,a1 + lea _VObj+1776,a0 + jsr _memcpy + move.l #296,d0 + lea .LC7,a1 + lea _VObj+2072,a0 + jsr _memcpy + move.l #296,d0 + lea .LC8,a1 + lea _VObj+2368,a0 + jsr _memcpy + move.l #296,d0 + lea .LC9,a1 + lea _VObj+2664,a0 + jsr _memcpy + move.l #296,d0 + lea .LC10,a1 + lea _VObj+2960,a0 + jsr _memcpy + move.l #296,d0 + lea .LC11,a1 + lea _VObj+3256,a0 + jsr _memcpy + move.l #296,d0 + lea .LC12,a1 + lea _VObj+3552,a0 + jsr _memcpy + move.l _LData,a0 + move.b (a0),d0 + lea (28,sp),sp + btst #6,d0 + jeq .L666 + lea _GREATEFFECT,a3 + lea (1300,sp),a0 + moveq #13,d0 + jsr (a3) + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L666 + move.l 66(sp),a1 + lea .LC46,a0 +.L488: + move.b (a0)+,(a1)+ + jne .L488 + lea (1300,sp),a1 + lea (193,sp),a0 + jsr (a2) + move.l 66(sp),a1 + lea .LC47,a0 +.L489: + move.b (a0)+,(a1)+ + jne .L489 + clr.l -(sp) + moveq #0,d0 + lea _AScr,a4 + move.b (a4),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + pea 5.w + pea 37.w + move.w #640,a1 + moveq #20,d1 + not.b d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + pea .LC57 + pea 5.w + moveq #0,d0 + move.b (a4),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #31,a0 + moveq #50,d1 + not.b d1 + move.l #320,d0 + jsr _WRITE + pea .LC58 + pea 5.w + moveq #0,d0 + move.b (a4),d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #31,a0 + move.l #285,d1 + move.l #320,d0 + jsr _WRITE + moveq #0,d0 + move.b (a4),d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #0,d0 + moveq #55,d1 + not.b d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + move.l d1,d3 + move.l #640,d4 + moveq #100,d5 + moveq #63,d6 + not.b d6 +#APP +| 698 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + lea (40,sp),sp + move.l #296,d0 + lea .LC13,a1 + lea _VObj,a0 + jsr _memcpy + move.l #296,d0 + lea .LC14,a1 + lea _VObj+296,a0 + jsr _memcpy + move.l #296,d0 + lea .LC15,a1 + lea _VObj+592,a0 + jsr _memcpy + move.l #296,d0 + lea .LC16,a1 + lea _VObj+888,a0 + jsr _memcpy + move.l #296,d0 + lea .LC17,a1 + lea _VObj+1184,a0 + jsr _memcpy + move.l #296,d0 + lea .LC18,a1 + lea _VObj+1480,a0 + jsr _memcpy + move.l #296,d0 + lea .LC19,a1 + lea _VObj+1776,a0 + jsr _memcpy + move.l #296,d0 + lea .LC20,a1 + lea _VObj+2072,a0 + jsr _memcpy + move.l #296,d0 + lea .LC21,a1 + lea _VObj+2368,a0 + jsr _memcpy + move.l #296,d0 + lea .LC22,a1 + lea _VObj+2664,a0 + jsr _memcpy + move.l #296,d0 + lea .LC23,a1 + lea _VObj+2960,a0 + jsr _memcpy + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L666 + lea (1300,sp),a0 + moveq #11,d0 + jsr (a3) + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L666 + move.l 66(sp),a1 + lea .LC48,a0 +.L491: + move.b (a0)+,(a1)+ + jne .L491 + lea (1300,sp),a1 + lea (193,sp),a0 + jsr (a2) + move.l 66(sp),a1 + lea .LC49,a0 +.L492: + move.b (a0)+,(a1)+ + jne .L492 + clr.l -(sp) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + pea 5.w + pea 37.w + move.w #640,a1 + moveq #20,d1 + not.b d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + moveq #0,d0 + move.b _AScr,d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #0,d0 + moveq #20,d1 + not.b d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + move.l d1,d3 + move.l #640,d4 + moveq #37,d5 + moveq #63,d6 + not.b d6 +#APP +| 755 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l #296,d0 + lea .LC24,a1 + lea _VObj,a0 + jsr _memcpy + move.l #296,d0 + lea .LC25,a1 + lea _VObj+296,a0 + jsr _memcpy + move.l #296,d0 + lea .LC26,a1 + lea _VObj+592,a0 + jsr _memcpy + move.l #296,d0 + lea .LC27,a1 + lea _VObj+888,a0 + jsr _memcpy + move.l #296,d0 + lea .LC28,a1 + lea _VObj+1184,a0 + jsr _memcpy + move.l #296,d0 + lea .LC29,a1 + lea _VObj+1480,a0 + jsr _memcpy + move.l #296,d0 + lea .LC30,a1 + lea _VObj+1776,a0 + jsr _memcpy + move.l #296,d0 + lea .LC31,a1 + lea _VObj+2072,a0 + jsr _memcpy + move.l #296,d0 + lea .LC32,a1 + lea _VObj+2368,a0 + jsr _memcpy + move.l #296,d0 + lea .LC33,a1 + lea _VObj+2664,a0 + jsr _memcpy + move.l #296,d0 + lea .LC34,a1 + lea _VObj+2960,a0 + jsr _memcpy + move.l #296,d0 + lea .LC35,a1 + lea _VObj+3256,a0 + jsr _memcpy + move.l _LData,a0 + move.b (a0),d0 + lea (16,sp),sp + btst #6,d0 + jeq .L666 + lea (1300,sp),a0 + moveq #12,d0 + jsr (a3) + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L666 + move.l _GfxBase,a6 + move.l d7,a0 + move.l d4,d0 + move.l #360,d1 +#APP +| 812 "test.c" 1 + jsr a6@(-0x1f2:W) +#NO_APP + move.l _MyScreen+4,a0 + cmp.w #0,a0 + jeq .L495 + move.l _IntuitionBase,a6 +#APP +| 818 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+4 +.L495: + move.l _MyScreen+8,a0 + cmp.w #0,a0 + jeq .L496 + move.l _IntuitionBase,a6 +#APP +| 818 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+8 +.L496: + lea _SysBase,a3 + move.l (a3),a6 + lea _IMemA,a0 + move.l (a0),a1 + lea _IMemL,a0 + move.l (a0),d0 +#APP +| 822 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _IMemA + moveq #7,d0 + jsr _OPENCINEMA + move.l d0,_MyScreen+4 + jeq .L476 + moveq #7,d0 + jsr _OPENCINEMA + move.l d0,_MyScreen+8 + jeq .L476 + lea _IMemL,a4 + move.l #201856,(a4) + move.l #21000,4(a4) + move.l (a3),a6 + move.l #201856,d0 + moveq #2,d1 +#APP +| 838 "test.c" 1 + jsr a6@(-0xc6:W) +#NO_APP + lea _IMemA,a1 + move.l d0,(a1) + jeq .L476 + move.l (a3),a6 + move.l 4(a4),d0 + moveq #2,d1 +#APP +| 838 "test.c" 1 + jsr a6@(-0xc6:W) +#NO_APP + move.l d0,_IMemA+4 + jeq .L476 + move.w #-32756,_custom+150 + move.l _GfxBase,a6 +#APP +| 850 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + move.l #-16777216,d4 +.L497: + lea _GfxBase,a3 + move.l (a3),a6 + move.w #44,a0 + add.l _MyScreen+8,a0 + moveq #0,d0 + move.l d4,d1 + move.l d4,d2 + move.l d4,d3 +#APP +| 856 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + move.l (a3),a6 +#APP +| 858 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + add.l #-83886080,d4 + cmp.l #167772160,d4 + jne .L497 + move.l (a3),a6 + move.w #44,a0 + add.l _MyScreen+8,a0 + moveq #0,d0 + moveq #0,d1 + moveq #0,d2 + moveq #0,d3 +#APP +| 861 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + move.w #12,_custom+150 + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + move.l 66(sp),a1 + lea .LC50,a0 +.L498: + move.b (a0)+,(a1)+ + jne .L498 + lea _OPENSMOOTH,a3 + move.l #1005,d0 + lea (193,sp),a0 + jsr (a3) + tst.l d0 + jeq .L499 + move.l _DOSBase,a6 + move.l d0,d1 +#APP +| 868 "test.c" 1 + jsr a6@(-0x24:W) +#NO_APP +.L499: + move.l 66(sp),a1 + lea .LC51,a0 +.L500: + move.b (a0)+,(a1)+ + jne .L500 + lea (1300,sp),a1 + lea (193,sp),a0 + jsr (a2) + move.l 66(sp),a1 + lea .LC52,a0 +.L501: + move.b (a0)+,(a1)+ + jne .L501 + clr.l -(sp) + move.l _MyScreen+8,-(sp) + pea 7.w + pea 360.w + move.w #640,a1 + moveq #75,d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + move.l _GfxBase,a6 + move.w #84,a0 + add.l _MyScreen+8,a0 + moveq #0,d0 + moveq #75,d1 + move.w #84,a1 + add.l _MyScreen+4,a1 + moveq #0,d2 + moveq #75,d3 + move.l #640,d4 + move.l #360,d5 + moveq #63,d6 + not.b d6 +#APP +| 876 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + lea (16,sp),sp + move.l 66(sp),a1 + lea .LC53,a0 +.L502: + move.b (a0)+,(a1)+ + jne .L502 + move.l #1005,d0 + lea (193,sp),a0 + jsr (a3) + move.l d0,d4 + jeq .L503 + lea _DOSBase,a3 + move.l (a3),a6 + move.l d0,d1 + moveq #0,d2 + moveq #1,d3 +#APP +| 882 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l (a3),a6 + move.l d4,d1 + moveq #-1,d3 +#APP +| 883 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + lea _IMemL,a2 + move.l (a2),d2 + add.l #-250,d2 + sub.l d0,d2 + move.l (a3),a6 + move.l d4,d1 + lea _IMemA,a0 + add.l (a0),d2 + move.l d0,d3 +#APP +| 884 "test.c" 1 + jsr a6@(-0x2a:W) +#NO_APP + lea _IMemA,a1 + move.l (a1),a0 + move.l (a2),a1 + lea (-250,a1),a1 + sub.l d3,a1 + moveq #0,d1 + move.l #20160,d0 + lea (a0,a1.l),a1 + jsr _UNPACK + move.l (a3),a6 + move.l d4,d1 +#APP +| 886 "test.c" 1 + jsr a6@(-0x24:W) +#NO_APP +.L503: + lea _IMemA,a0 + move.l (a0),d0 + move.w #20,228(sp) + move.w #144,230(sp) + move.b #1,232(sp) + move.b #7,233(sp) + clr.w 234(sp) + move.l d0,236(sp) + move.l d0,d1 + add.l #2880,d1 + move.l d1,240(sp) + move.l d0,d2 + add.l #5760,d2 + move.l d2,244(sp) + add.l #5760,d1 + move.l d1,248(sp) + add.l #5760,d2 + move.l d2,252(sp) + add.l #5760,d1 + move.l d1,256(sp) + add.l #17280,d0 + move.l d0,260(sp) + clr.l 264(sp) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 896 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #20,d2 + move.l d2,74(sp) + clr.l d4 + clr.l d5 + lea (1684,sp),a0 + move.l a0,58(sp) + lea ___muldf3,a4 + lea _it_round,a3 +.L505: + move.l #-1717986918,-(sp) + move.l #1068079513,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + lea (1300,sp),a2 + addq.l #3,a2 + move.l a2,82(sp) + moveq #1,d6 +.L504: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #0,d0 + move.b (a2),d0 + move.l d0,-(sp) + move.l a0,50(sp) + jsr ___floatsidf + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d7 + lsl.w #8,d7 + swap d7 + clr.w d7 + moveq #0,d0 + move.b 1(a2),d0 + move.l d0,-(sp) + jsr ___floatsidf + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + moveq #0,d0 + move.b 2(a2),d0 + move.l d0,-(sp) + jsr ___floatsidf + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l _GfxBase,a6 + move.l 70(sp),a0 + move.l d6,d0 + move.l d7,d1 +#APP +| 903 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #3,a2 + addq.l #1,d6 + lea (24,sp),sp + cmp.l 58(sp),a2 + jne .L504 + subq.l #1,74(sp) + jne .L505 + moveq #1,d5 + move.l a2,d4 + move.l 82(sp),a2 +.L506: + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + moveq #0,d1 + move.b (a2),d1 + moveq #0,d2 + move.b 1(a2),d2 + moveq #0,d3 + move.b 2(a2),d3 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + move.l d5,d0 + lsl.w #8,d1 + swap d1 + clr.w d1 + lsl.w #8,d2 + swap d2 + clr.w d2 + lsl.w #8,d3 + swap d3 + clr.w d3 +#APP +| 912 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #0,d1 + move.b (a2),d1 + moveq #0,d2 + move.b 1(a2),d2 + moveq #0,d3 + move.b 2(a2),d3 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + move.l d5,d0 + lsl.w #8,d1 + swap d1 + clr.w d1 + lsl.w #8,d2 + swap d2 + clr.w d2 + lsl.w #8,d3 + swap d3 + clr.w d3 +#APP +| 915 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #3,a2 + addq.l #1,d5 + cmp.l a2,d4 + jne .L506 + moveq #0,d0 + lea _AScr,a2 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-4,d1 + moveq #0,d2 + moveq #75,d3 + move.l #639,d4 + move.l #434,d5 +#APP +| 919 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 + moveq #63,d6 + not.b d6 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #119,d7 + not.b d7 + move.l d4,a2 +.L507: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 933 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + moveq #0,d2 + moveq #75,d3 + move.l #639,d4 + move.l #434,d5 +#APP +| 935 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l a2,d4 + moveq #8,d5 + moveq #63,d6 + not.b d6 +#APP +| 936 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #0,d0 + move.l d7,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #380,d2 + moveq #95,d4 + not.b d4 +#APP +| 937 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + subq.l #4,d7 + moveq #-4,d2 + cmp.l d7,d2 + jne .L507 + moveq #0,d0 + lea _AScr,a2 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 943 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,(a2) + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + moveq #0,d2 + move.l #639,d4 + move.l #434,d5 +#APP +| 945 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 946 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + moveq #0,d0 + move.b (a2),d0 + add.l d0,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #380,d2 + moveq #79,d3 + moveq #95,d4 + not.b d4 + moveq #4,d5 +#APP +| 947 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #14,d7 + move.w #639,a2 +.L508: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 951 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + moveq #0,d2 + moveq #75,d3 + move.l a2,d4 + move.l #434,d5 +#APP +| 953 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 + moveq #63,d6 + not.b d6 +#APP +| 954 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + subq.b #1,d7 + jne .L508 + moveq #10,d0 + jsr _delay + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + move.l d0,a0 + add.l d0,a0 + pea 434.w + pea 639.w + lea _RECT,a2 + move.w #75,a1 + moveq #0,d1 + moveq #0,d0 + move.l (a5,a0.l),a0 + jsr (a2) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 964 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + move.l d0,a0 + add.l d0,a0 + pea 434.w + pea 639.w + move.w #75,a1 + moveq #0,d1 + moveq #0,d0 + move.l (a5,a0.l),a0 + jsr (a2) + lea (16,sp),sp + move.l 66(sp),a1 + lea .LC54,a0 +.L509: + move.b (a0)+,(a1)+ + jne .L509 + moveq #0,d0 + lea _AScr,a6 + move.b (a6),d0 + add.l d0,d0 + add.l d0,d0 + lea (193,sp),a1 + move.l (a5,d0.l),a0 + jsr _SETCOLOR + moveq #0,d0 + move.b (a6),d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + lea (193,sp),a1 + move.l (a5,d0.l),a0 + jsr _SETCOLOR + moveq #0,d0 + move.b (a6),d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #127,d0 + moveq #9,d1 + moveq #9,d2 + moveq #11,d3 +#APP +| 971 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #127,d0 + moveq #9,d1 +#APP +| 971 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #126,d0 + moveq #11,d1 + moveq #11,d2 + moveq #15,d3 +#APP +| 972 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #126,d0 + moveq #11,d1 +#APP +| 972 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #125,d0 + moveq #15,d1 + moveq #0,d2 +#APP +| 973 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #125,d0 + moveq #15,d1 +#APP +| 973 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #124,d0 + moveq #13,d1 + moveq #0,d3 +#APP +| 974 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #124,d0 + moveq #15,d1 + moveq #2,d2 + moveq #2,d3 +#APP +| 974 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #123,d0 + moveq #14,d1 + moveq #14,d2 + moveq #15,d3 +#APP +| 975 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #123,d0 + moveq #14,d1 +#APP +| 975 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + lea .LC55,a0 + move.l 66(sp),a1 +.L510: + move.b (a0)+,(a1)+ + jne .L510 + clr.l -(sp) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + pea 7.w + pea 360.w + move.w #640,a1 + moveq #75,d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + lea _IMemA,a0 + move.l (a0),d2 + moveq #40,d1 + moveq #0,d0 + lea (244,sp),a0 + jsr _memset + move.w #80,244(sp) + move.w #360,246(sp) + move.b #1,248(sp) + move.b #7,249(sp) + move.l d2,252(sp) + move.l d2,d0 + add.l #28800,d0 + move.l d0,256(sp) + move.l d2,d1 + add.l #57600,d1 + move.l d1,260(sp) + add.l #57600,d0 + move.l d0,264(sp) + add.l #57600,d1 + move.l d1,268(sp) + add.l #57600,d0 + move.l d0,272(sp) + add.l #172800,d2 + move.l d2,276(sp) + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (244,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + moveq #75,d3 + move.l #640,d4 + move.l #360,d5 + moveq #63,d6 + not.b d6 +#APP +| 983 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + move.l _GfxBase,a6 + move.l d4,d0 + move.l d5,d1 +#APP +| 985 "test.c" 1 + jsr a6@(-0x1ec:W) +#NO_APP + move.l d0,122(sp) + lea (16,sp),sp + jeq .L476 + move.l _GfxBase,a6 + lea (118,sp),a0 + move.l d0,a1 + move.l #21000,d0 +#APP +| 990 "test.c" 1 + jsr a6@(-0x1d4:W) +#NO_APP + move.l _GfxBase,a6 + lea (168,sp),a0 + move.l _IMemA+4,a1 + moveq #55,d0 + not.b d0 +#APP +| 991 "test.c" 1 + jsr a6@(-0x11a:W) +#NO_APP + move.l _MyScreen+4,a1 + moveq #118,d2 + add.l sp,d2 + move.l d2,96(a1) + move.l _MyScreen+8,a0 + move.l d2,96(a0) + moveq #87,d1 + not.b d1 + add.l sp,d1 + move.l d1,100(a1) + move.l d1,100(a0) + move.l #1020,d0 + lea .LC36,a1 + lea (1684,sp),a0 + jsr _memcpy + clr.b 151(sp) + move.b #4,152(sp) + move.b #5,153(sp) + move.b #4,154(sp) + move.b #5,155(sp) + move.b #4,156(sp) + move.b #5,157(sp) + move.b #4,158(sp) + move.b #5,159(sp) + move.b #4,160(sp) + move.b #5,161(sp) + move.b #5,162(sp) + move.b #5,163(sp) + move.b #4,164(sp) + move.b #5,165(sp) + move.b #4,166(sp) + move.b #4,167(sp) + lea (316,sp),a2 + move.l #328,d0 + lea .LC38,a1 + move.l a2,a0 + jsr _memcpy + lea (644,sp),a0 + move.l a0,62(sp) + move.l #328,d0 + lea .LC39,a1 + jsr _memcpy + move.l sp,d3 + add.l #972,d3 + move.l #328,d0 + lea .LC40,a1 + move.l d3,a0 + jsr _memcpy + move.l a2,d4 + addq.l #8,d4 + lea (644,sp),a0 + addq.l #8,a0 + move.l a0,66(sp) + move.l a0,a6 + move.l d4,d5 +.L511: + move.l d5,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + clr.l -(sp) + move.l #1081151488,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d5,a1 + move.l d0,(a1)+ + move.l d1,(a1)+ + move.l a1,d5 + move.l 4(a6),-(sp) + move.l (a6),-(sp) + clr.l -(sp) + move.l #1081085952,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,(a6)+ + move.l d1,(a6)+ + cmp.l 62(sp),d5 + jne .L511 + move.l #-858993459,-(sp) + move.l #1071434956,-(sp) + jsr _sin + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l #-858993459,-(sp) + move.l #1071434956,-(sp) + jsr _cos + move.l d0,98(sp) + move.l d1,102(sp) + move.l d0,_FactorCos + move.l d1,_FactorCos+4 + move.l _FactorSin,114(sp) + move.l _FactorSin+4,118(sp) + lea (16,sp),sp + moveq #3,d2 + lea (972,sp),a1 + move.l d4,d6 + move.b d2,d7 + move.l d5,114(sp) + move.l d3,110(sp) +.L512: + move.l 110(sp),a0 + addq.l #8,a0 + move.l a0,74(sp) + move.l a1,110(sp) + move.l 66(sp),a6 +.L513: + move.l (a6),d4 + move.l 4(a6),d5 + move.l (a0),90(sp) + move.l 4(a0),94(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l a0,62(sp) + move.l a1,66(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d2 + move.l d1,d3 + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,(a6)+ + move.l d1,(a6)+ + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d2 + move.l d1,d3 + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l 46(sp),a0 + move.l d0,(a0)+ + move.l d1,(a0)+ + move.l 50(sp),a1 + cmp.l a1,a6 + jne .L513 + subq.b #1,d7 + jne .L512 + move.l 114(sp),d5 + move.l #-1030792151,-(sp) + move.l #-1076090635,-(sp) + jsr _sin + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l #-1030792151,-(sp) + move.l #-1076090635,-(sp) + jsr _cos + move.l d0,98(sp) + move.l d1,102(sp) + move.l d0,_FactorCos + move.l d1,_FactorCos+4 + move.l _FactorSin,d2 + move.l _FactorSin+4,d3 + lea (16,sp),sp + move.l d6,a6 + move.l d6,a0 + move.l d2,98(sp) + move.l d3,102(sp) + move.l d5,d2 +.L515: + move.l (a6),d4 + move.l 4(a6),d5 + move.l 74(sp),a1 + move.l (a1),90(sp) + move.l 4(a1),94(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l a0,62(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,(a6)+ + move.l d1,(a6)+ + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l 74(sp),a1 + addq.l #8,74(sp) + move.l d0,(a1)+ + move.l d1,(a1)+ + move.l 46(sp),a0 + cmp.l a6,d2 + jne .L515 + move.l a0,d4 + move.l #1202590843,-(sp) + move.l #-1078691103,-(sp) + jsr _sin + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l #1202590843,-(sp) + move.l #-1078691103,-(sp) + jsr _cos + move.l d0,90(sp) + move.l d1,94(sp) + move.l d0,_FactorCos + move.l d1,_FactorCos+4 + move.l _FactorSin,d2 + move.l _FactorSin+4,d3 + lea (16,sp),sp + move.l d2,90(sp) + move.l d3,94(sp) + move.l a6,d2 + move.l d4,a6 +.L516: + move.l (a6),d4 + move.l 4(a6),d5 + move.l 66(sp),a0 + move.l (a0),82(sp) + move.l 4(a0),86(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,(a6)+ + move.l d1,(a6)+ + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l 66(sp),a1 + addq.l #8,66(sp) + move.l d0,(a1)+ + move.l d1,(a1)+ + cmp.l a6,d2 + jne .L516 + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L538 + clr.l 130(sp) + moveq #75,d0 + move.l d0,142(sp) + clr.l 134(sp) + move.l d0,146(sp) + move.l #341,90(sp) + move.l #1065242486,82(sp) + move.l #1608035756,86(sp) + move.l #1065512599,66(sp) + move.l #-1924145349,70(sp) + clr.l 74(sp) + moveq #1,d7 +.L533: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 1057 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l #-1030792151,(sp) + move.l #1070344437,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,316(sp) + move.l d1,320(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l 656(sp),-(sp) + move.l 656(sp),-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,644(sp) + move.l d1,648(sp) + and.l #255,d2 + move.l d2,a1 + add.l d2,a1 + add.l a1,a1 + lea (2704,sp),a0 + add.l a1,a0 + move.l -2578(a0),d0 + move.l -2566(a0),d3 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #-75,d1 + add.l d3,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l d0,d2 + moveq #95,d4 + not.b d4 + moveq #80,d5 + moveq #63,d6 + not.b d6 +#APP +| 1061 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #20,d0 + moveq #110,d1 + not.b d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #20,d2 + moveq #35,d3 + not.b d3 + move.l #600,d4 + moveq #55,d5 +#APP +| 1062 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #0,d2 + move.b _AScr,d2 + clr.l -(sp) + move.l #1079410688,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + add.l d2,d2 + add.l d2,d2 + lea (2712,sp),a0 + add.l d2,a0 + move.l d0,-2578(a0) + moveq #0,d2 + move.b _AScr,d2 + add.l d2,d2 + move.l d2,a0 + add.l d2,a0 + move.l #2712,d1 + add.l sp,d1 + add.l d1,a0 + lea (-2578,a0),a0 + addq.l #8,sp + tst.l (a0) + jge .L518 + clr.l (a0) +.L518: + clr.l -(sp) + move.l #1078853632,-(sp) + move.l 656(sp),-(sp) + move.l 656(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + add.l d2,d2 + lea (2712,sp),a0 + add.l d2,a0 + move.l d0,-2566(a0) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + lea (2712,sp),a0 + add.l d0,a0 + lea (-2566,a0),a0 + addq.l #8,sp + moveq #74,d2 + cmp.l (a0),d2 + jlt .L519 + moveq #75,d0 + move.l d0,(a0) +.L519: + move.l 70(sp),-(sp) + move.l 70(sp),-(sp) + clr.l -(sp) + move.l #1072693248,-(sp) + jsr ___divdf3 + lea (16,sp),sp + move.l d0,98(sp) + move.l d1,102(sp) + moveq #8,d6 +.L522: + move.l 316(sp),d2 + move.l 320(sp),d3 + move.l 4(a2,d6.l),-(sp) + move.l (a2,d6.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + clr.l -(sp) + clr.l -(sp) + move.l d5,-(sp) + move.l d0,-(sp) + jsr ___ltdf2 + lea (16,sp),sp + tst.l d0 + jlt .L669 +.L520: + addq.l #8,d6 + cmp.l #328,d6 + jne .L522 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #124,d0 +#APP +| 1077 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 480(sp),-(sp) + move.l 480(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 816(sp),-(sp) + move.l 816(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1079 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #87,d2 + not.b d2 +.L523: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1080 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #200,d2 + jne .L523 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1081 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #126,d0 +#APP +| 1082 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 424(sp),-(sp) + move.l 424(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 760(sp),-(sp) + move.l 760(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1085 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #112,d2 +.L524: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1086 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #136,d2 + jne .L524 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1087 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 456(sp),-(sp) + move.l 456(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 792(sp),-(sp) + move.l 792(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1090 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #111,d2 + not.b d2 +.L525: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1091 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #160,d2 + jne .L525 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1092 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #127,d0 +#APP +| 1093 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1096 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #16,d2 + add.l a2,d2 + move.l #660,d3 + add.l sp,d3 + moveq #16,d0 + add.l d0,d3 + moveq #104,d4 + add.l a2,d4 + lea (16,sp),sp +.L526: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d6 + add.l (a5,d0.l),d6 + move.l d2,a0 + subq.l #8, sp + move.l (a0)+,(sp) + move.l (a0)+,4(sp) + move.l a0,d2 + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d5 + move.l d3,a0 + subq.l #8, sp + move.l (a0)+,(sp) + move.l (a0)+,4(sp) + move.l a0,d3 + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d6,a1 + move.l d5,d0 +#APP +| 1097 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + lea (16,sp),sp + cmp.l d4,d2 + jne .L526 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1098 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #125,d0 +#APP +| 1099 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 520(sp),-(sp) + move.l 520(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 856(sp),-(sp) + move.l 856(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1102 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #47,d2 + not.b d2 +.L527: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1103 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #232,d2 + jne .L527 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1104 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 552(sp),-(sp) + move.l 552(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 888(sp),-(sp) + move.l 888(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1105 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #15,d2 + not.b d2 +.L528: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1106 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #264,d2 + jne .L528 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1107 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 1108 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #75,d1 + moveq #0,d2 + moveq #55,d3 + not.b d3 +#APP +| 1109 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #1,d0 + cmp.l 74(sp),d0 + jcc .L529 + move.l d7,d2 + lsl.l #4,d2 + sub.l d7,d2 + add.l d2,d2 + add.l d2,d2 + lea (1684,sp),a0 + pea (a0,d2.l) + lea (2708,sp),a6 + add.l d7,a6 + moveq #0,d0 + move.b -2553(a6),d0 + move.l d0,-(sp) + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #123,a0 + moveq #35,d1 + not.b d1 + move.l #320,d0 + jsr _WRITE + lea (1756,sp),a0 + pea (a0,d2.l) + moveq #0,d0 + move.b -2552(a6),d0 + move.l d0,-(sp) + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #123,a0 + moveq #10,d1 + not.b d1 + move.l #320,d0 + jsr _WRITE + lea (24,sp),sp +.L529: + addq.l #1,74(sp) + moveq #55,d0 + cmp.l 74(sp),d0 + jcc .L530 + addq.l #2,d7 + clr.l 74(sp) +.L530: + move.l #1580547965,-(sp) + move.l #1072712122,-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,82(sp) + move.l d1,86(sp) + move.l #2109687936,-(sp) + move.l #1072707613,-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,66(sp) + move.l d1,70(sp) + subq.l #1,90(sp) + jeq .L670 + move.l #-1717986918,-(sp) + move.l #1074370969,-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr ___ledf2 + lea (16,sp),sp + move.l _LData,a0 + tst.l d0 + jgt .L531 + move.b (a0),d0 + btst #6,d0 + jne .L533 +.L531: + move.b (a0),d0 + btst #6,d0 + jeq .L538 + moveq #15,d1 + cmp.l d7,d1 + jcs .L538 + move.w #640,a2 + move.w #360,a3 + move.w #220,a4 +.L601: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 1132 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + moveq #75,d3 + move.l a2,d4 + move.l a3,d5 + moveq #63,d6 + not.b d6 +#APP +| 1134 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + tst.l 74(sp) + jne .L671 + moveq #1,d1 + move.l d1,74(sp) +.L537: + moveq #16,d2 + cmp.l d7,d2 + jcs .L538 + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jne .L601 +.L538: + move.l 106(sp),a0 + jsr _INTROEXIT + movem.l (sp)+,#31996 + lea (2660,sp),sp + rts +.L476: + sub.l a0,a0 + jsr _INTROEXIT + movem.l (sp)+,#31996 + lea (2660,sp),sp + rts +.L666: + move.l d7,a0 + jsr _INTROEXIT + movem.l (sp)+,#31996 + lea (2660,sp),sp + rts +.L669: + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___fixdfsi + addq.l #8,sp + jsr _abs + move.l d0,-(sp) + jsr ___floatsidf + move.l d3,(sp) + move.l d2,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d3,(sp) + move.l d2,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___divdf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2,d6.l) + move.l d1,4(a2,d6.l) + move.l d5,-(sp) + move.l d4,-(sp) + lea (652,sp),a0 + add.l d6,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + jsr ___divdf3 + lea (16,sp),sp + lea (644,sp),a1 + move.l d0,(a1,d6.l) + move.l d1,4(a1,d6.l) + jra .L520 +.L670: + move.l _LData,a0 + jra .L531 +.L671: + move.l d7,d2 + lsl.l #4,d2 + sub.l d7,d2 + add.l d2,d2 + add.l d2,d2 + lea (1684,sp),a0 + pea (a0,d2.l) + lea (2708,sp),a6 + add.l d7,a6 + moveq #0,d0 + move.b -2553(a6),d0 + move.l d0,-(sp) + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #123,a0 + move.l a4,d1 + move.l #320,d0 + jsr _WRITE + lea (1756,sp),a0 + pea (a0,d2.l) + moveq #0,d0 + move.b -2552(a6),d0 + move.l d0,-(sp) + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #123,a0 + moveq #10,d1 + not.b d1 + move.l #320,d0 + jsr _WRITE + addq.l #1,98(sp) + lea (24,sp),sp + moveq #20,d0 + cmp.l 74(sp),d0 + jcc .L537 + addq.l #2,d7 + clr.l 74(sp) + jra .L537 +.comm _SMemL,16 +.comm _SMemA,16 +.comm _VObj,3848 +.comm _AScr,1 +.comm _FactorMCos,8 +.comm _FactorMSin,8 +.comm _FactorSin,8 +.comm _FactorCos,8 diff --git a/test/test11/testno.s b/test/test11/testno.s new file mode 100644 index 0000000..52f2ee6 --- /dev/null +++ b/test/test11/testno.s @@ -0,0 +1,14234 @@ +#NO_APP + .text + .align 2 + .globl _SETDARKCOLOR +_SETDARKCOLOR: + movem.l #16178,-(sp) + move.l a1,a2 + move.l #1005,d0 + jsr _OPENSMOOTH + move.l d0,d4 + jeq .L1 + move.l _DOSBase,a6 + move.l d0,d1 + moveq #0,d2 + moveq #1,d3 +#APP +| 26 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 + moveq #-1,d3 +#APP +| 27 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l d0,d5 + lea _IMemA,a3 + move.l _DOSBase,a6 + move.l d4,d1 + move.l (a3),d2 + move.l d0,d3 +#APP +| 28 "test.c" 1 + jsr a6@(-0x2a:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 +#APP +| 29 "test.c" 1 + jsr a6@(-0x24:W) +#NO_APP + move.l (a3),a0 + move.l d5,d1 + add.l a0,d1 + move.l a0,d0 + addq.l #4,d0 + cmp.l d0,d1 + jls .L3 +.L16: + cmp.l #1129136464,(a0) + jeq .L5 + move.l d0,a0 + move.l a0,d0 + addq.l #4,d0 + cmp.l d0,d1 + jhi .L16 +.L3: + cmp.l #1129136464,(a0) + jeq .L5 +.L7: + move.b #45,93(a2) + move.b #45,94(a2) + move.b #62,95(a2) +.L1: + movem.l (sp)+,#19708 + rts +.L5: + addq.l #8,a0 + clr.b d4 +.L6: + move.l a0,d7 + addq.l #3,d7 + moveq #0,d6 + move.b d4,d6 + move.l d6,d0 + move.l d0,a1 + add.l d0,a1 + add.l d0,a1 + lea (a2,a1.l),a1 + move.b (a0)+,(a1)+ + move.b (a0)+,(a1)+ + move.b (a0),(a1) + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+4,a0 + moveq #0,d1 + moveq #0,d2 + moveq #0,d3 +#APP +| 46 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+8,a0 + move.l d6,d0 + moveq #0,d1 +#APP +| 47 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.b #1,d4 + move.l d7,a0 + move.l (a3),d0 + add.l d5,d0 + cmp.l d7,d0 + jls .L7 + move.l a0,d7 + addq.l #3,d7 + moveq #0,d6 + move.b d4,d6 + move.l d6,d0 + move.l d0,a1 + add.l d0,a1 + add.l d0,a1 + lea (a2,a1.l),a1 + move.b (a0)+,(a1)+ + move.b (a0)+,(a1)+ + move.b (a0),(a1) + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+4,a0 + moveq #0,d1 + moveq #0,d2 + moveq #0,d3 +#APP +| 46 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+8,a0 + move.l d6,d0 + moveq #0,d1 +#APP +| 47 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.b #1,d4 + move.l d7,a0 + move.l (a3),d0 + add.l d5,d0 + cmp.l d7,d0 + jhi .L6 + jra .L7 + .align 2 + .globl _INTROEXIT +_INTROEXIT: + move.l a6,-(sp) + move.l d2,-(sp) + move.l a0,d2 + jsr _SWITCHDISPLAY + move.l _SysBase,a6 + sub.l a1,a1 +#APP +| 60 "test.c" 1 + jsr a6@(-0x126:W) +#NO_APP + move.l _SysBase,a6 + move.l d0,a1 + moveq #0,d0 +#APP +| 60 "test.c" 1 + jsr a6@(-0x12c:W) +#NO_APP + tst.l d2 + jeq .L18 + move.l _GfxBase,a6 + move.l d2,a0 + move.l #640,d0 + move.l #360,d1 +#APP +| 61 "test.c" 1 + jsr a6@(-0x1f2:W) +#NO_APP +.L18: + move.l _MyScreen+4,a0 + cmp.w #0,a0 + jeq .L19 + pea 434.w + pea 639.w + move.w #75,a1 + moveq #0,d1 + moveq #0,d0 + jsr _RECT + addq.l #8,sp +.L19: + move.l _MyScreen+8,a0 + cmp.w #0,a0 + jeq .L20 + pea 434.w + pea 639.w + move.w #75,a1 + moveq #0,d1 + moveq #0,d0 + jsr _RECT + move.l _MyScreen+4,a0 + addq.l #8,sp + cmp.w #0,a0 + jeq .L21 + move.l _IntuitionBase,a6 +#APP +| 74 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+4 +.L21: + move.l _MyScreen+8,a0 + cmp.w #0,a0 + jeq .L22 + move.l _IntuitionBase,a6 +#APP +| 74 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+8 +.L22: + move.l _SMemA+4,a1 + cmp.w #0,a1 + jeq .L23 + move.l _SysBase,a6 + move.l _SMemL+4,d0 +#APP +| 82 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _SMemA+4 +.L23: + move.l _SMemA+8,a1 + cmp.w #0,a1 + jeq .L24 + move.l _SysBase,a6 + move.l _SMemL+8,d0 +#APP +| 82 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _SMemA+8 +.L24: + move.l _SMemA+12,a1 + cmp.w #0,a1 + jeq .L25 + move.l _SysBase,a6 + move.l _SMemL+12,d0 +#APP +| 82 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _SMemA+12 +.L25: + move.l _IMemA,a1 + cmp.w #0,a1 + jeq .L26 + move.l _SysBase,a6 + move.l _IMemL,d0 +#APP +| 90 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _IMemA +.L26: + move.l _IMemA+4,a1 + cmp.w #0,a1 + jeq .L27 + move.l _SysBase,a6 + move.l _IMemL+4,d0 +#APP +| 90 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _IMemA+4 +.L27: + move.w #15,_custom+150 + move.l (sp)+,d2 + move.l (sp)+,a6 + rts +.L20: + move.l _MyScreen+4,a0 + cmp.w #0,a0 + jeq .L22 + move.l _IntuitionBase,a6 +#APP +| 74 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+4 + jra .L21 + .align 2 + .globl _ROTATEpX +_ROTATEpX: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a2 + add.l d2,a2 + add.l a2,a2 + add.l a2,a2 + move.l a2,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L60 + and.l #255,d3 + move.l _FactorCos,60(sp) + move.l _FactorCos+4,64(sp) + move.l _FactorSin,68(sp) + move.l _FactorSin+4,72(sp) + lea (56,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (104,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L62 + moveq #64,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (112,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L62 + moveq #72,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (120,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L62 + moveq #80,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (128,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L62 + moveq #88,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (136,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L62 + lea (96,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (144,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L62: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L60 + and.l #255,d2 + move.l a2,d3 + add.l #200,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (248,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L60 + move.l a2,d3 + add.l #208,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (256,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L60 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (264,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L60 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (272,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L60 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (280,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L60 + lea (240,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (288,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L60: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEpY +_ROTATEpY: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a2 + add.l d2,a2 + add.l a2,a2 + add.l a2,a2 + move.l a2,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L99 + and.l #255,d3 + move.l _FactorCos,60(sp) + move.l _FactorCos+4,64(sp) + move.l _FactorSin,68(sp) + move.l _FactorSin+4,72(sp) + lea (8,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (104,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L101 + moveq #16,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (112,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L101 + moveq #24,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (120,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L101 + moveq #32,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (128,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L101 + moveq #40,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (136,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L101 + lea (48,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (144,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L101: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L99 + and.l #255,d2 + move.l a2,d3 + add.l #152,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (248,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L99 + move.l a2,d3 + add.l #160,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (256,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L99 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (264,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L99 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (272,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L99 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (280,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L99 + lea (192,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (288,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L99: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEpZ +_ROTATEpZ: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a2 + add.l d2,a2 + add.l a2,a2 + add.l a2,a2 + move.l a2,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L138 + and.l #255,d3 + move.l _FactorCos,60(sp) + move.l _FactorCos+4,64(sp) + move.l _FactorSin,68(sp) + move.l _FactorSin+4,72(sp) + lea (8,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (56,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L140 + moveq #16,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (64,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L140 + moveq #24,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (72,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L140 + moveq #32,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (80,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L140 + moveq #40,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (88,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L140 + lea (48,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (96,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L140: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L138 + and.l #255,d2 + move.l a2,d3 + add.l #152,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (200,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L138 + move.l a2,d3 + add.l #160,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (208,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L138 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (216,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L138 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (224,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L138 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (232,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L138 + lea (192,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (240,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L138: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEnX +_ROTATEnX: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a2 + add.l d2,a2 + add.l a2,a2 + add.l a2,a2 + move.l a2,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L177 + and.l #255,d3 + move.l _FactorMCos,60(sp) + move.l _FactorMCos+4,64(sp) + move.l _FactorMSin,68(sp) + move.l _FactorMSin+4,72(sp) + lea (56,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (104,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L179 + moveq #64,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (112,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L179 + moveq #72,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (120,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L179 + moveq #80,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (128,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L179 + moveq #88,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (136,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L179 + lea (96,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (144,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L179: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L177 + and.l #255,d2 + move.l a2,d3 + add.l #200,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (248,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L177 + move.l a2,d3 + add.l #208,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (256,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L177 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (264,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L177 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (272,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L177 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (280,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L177 + lea (240,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (288,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L177: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEnY +_ROTATEnY: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a2 + add.l d2,a2 + add.l a2,a2 + add.l a2,a2 + move.l a2,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L216 + and.l #255,d3 + move.l _FactorMCos,60(sp) + move.l _FactorMCos+4,64(sp) + move.l _FactorMSin,68(sp) + move.l _FactorMSin+4,72(sp) + lea (8,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (104,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L218 + moveq #16,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (112,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L218 + moveq #24,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (120,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L218 + moveq #32,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (128,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L218 + moveq #40,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (136,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L218 + lea (48,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (144,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L218: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L216 + and.l #255,d2 + move.l a2,d3 + add.l #152,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (248,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L216 + move.l a2,d3 + add.l #160,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (256,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L216 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (264,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L216 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (272,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L216 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (280,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L216 + lea (192,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (288,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L216: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _ROTATEnZ +_ROTATEnZ: + lea (-40,sp),sp + movem.l #16190,-(sp) + moveq #0,d2 + move.b d0,d2 + move.l d2,d6 + lsl.l #3,d6 + move.l d6,a2 + add.l d2,a2 + add.l a2,a2 + add.l a2,a2 + move.l a2,d0 + add.l d2,d0 + lsl.l #3,d0 + lea _VObj,a2 + add.l d0,a2 + move.b 5(a2),d3 + jeq .L255 + and.l #255,d3 + move.l _FactorMCos,60(sp) + move.l _FactorMCos+4,64(sp) + move.l _FactorMSin,68(sp) + move.l _FactorMSin+4,72(sp) + lea (8,a2),a4 + move.l (a4),d4 + move.l 4(a4),d5 + lea (56,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + lea ___muldf3,a3 + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___subdf3,a5 + move.l d1,-(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a4) + move.l d1,4(a4) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + lea ___adddf3,a4 + move.l d1,-(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d3,d0 + jeq .L257 + moveq #16,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (64,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d3,d0 + jeq .L257 + moveq #24,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (72,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d3,d0 + jeq .L257 + moveq #32,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (80,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d3,d0 + jeq .L257 + moveq #40,d7 + lea (a2,d7.l),a0 + move.l (a0),d4 + move.l 4(a0),d5 + lea (88,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + lea (a2,d7.l),a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d3,d0 + jeq .L257 + lea (48,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (96,a2),a2 + move.l (a2),52(sp) + move.l 4(a2),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,76(sp) + move.l d1,80(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 88(sp),-(sp) + move.l 88(sp),-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L257: + add.l d2,d6 + add.l d6,d6 + add.l d6,d6 + add.l d6,d2 + lsl.l #3,d2 + lea _VObj,a2 + add.l d2,a2 + move.b 6(a2),d2 + jeq .L255 + and.l #255,d2 + move.l a2,d3 + add.l #152,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (200,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #1,d0 + cmp.l d2,d0 + jeq .L255 + move.l a2,d3 + add.l #160,d3 + move.l d3,a0 + move.l (a0),52(sp) + move.l 4(a0),56(sp) + lea (208,a2),a6 + move.l (a6),d6 + move.l 4(a6),d7 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #2,d0 + cmp.l d2,d0 + jeq .L255 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (216,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #3,d0 + cmp.l d2,d0 + jeq .L255 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (224,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #4,d0 + cmp.l d2,d0 + jeq .L255 + addq.l #8,d3 + move.l d3,a0 + move.l (a0),d6 + move.l 4(a0),d7 + lea (232,a2),a6 + move.l (a6),52(sp) + move.l 4(a6),56(sp) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d3,a0 + move.l d0,(a0) + move.l d1,4(a0) + move.l d7,-(sp) + move.l d6,-(sp) + move.l 80(sp),-(sp) + move.l 80(sp),-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + moveq #5,d0 + cmp.l d2,d0 + jeq .L255 + lea (192,a2),a6 + move.l (a6),d4 + move.l 4(a6),d5 + lea (240,a2),a2 + move.l (a2),d2 + move.l 4(a2),d3 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr (a5) + lea (16,sp),sp + move.l d0,(a6) + move.l d1,4(a6) + move.l 72(sp),-(sp) + move.l 72(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2) + move.l d1,4(a2) +.L255: + movem.l (sp)+,#31996 + lea (40,sp),sp + rts + .align 2 + .globl _FLY +_FLY: + lea (-28,sp),sp + movem.l #16190,-(sp) + move.l 76(sp),d2 + move.l 80(sp),d3 + and.l #255,d0 + move.l d0,60(sp) + move.l #_VObj,d6 + lsl.l #3,d0 + move.l d0,64(sp) + move.l d0,d4 + add.l 60(sp),d4 + add.l d4,d4 + add.l d4,d4 + add.l 60(sp),d4 + lsl.l #3,d4 + move.l d6,d0 + add.l d4,d0 + move.l d0,a0 + addq.l #5,a0 + tst.b (a0) + jeq .L294 + move.l d4,a2 + add.l #_VObj+8,a2 + moveq #0,d5 + lea ___muldf3,a6 + lea ___floatsidf,a5 + lea ___subdf3,a4 + lea _it_round,a3 + move.l d0,68(sp) + move.l d0,a1 + addq.l #2,a1 + move.l a1,52(sp) + move.l a0,56(sp) +.L297: + move.l a2,d7 + move.l 4(a2),-(sp) + move.l (a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,44(sp) + move.l d1,48(sp) + move.l d0,(a2) + move.l d1,4(a2) + move.l d3,-(sp) + move.l d2,-(sp) + move.l 52(a2),-(sp) + move.l 48(a2),-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,48(a2) + move.l d1,52(a2) + move.l d3,-(sp) + move.l d2,-(sp) + move.l 100(a2),-(sp) + move.l 96(a2),-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,96(a2) + move.l d1,100(a2) + move.l d6,a1 + move.w (a1,d4.l),a1 + move.l a1,-(sp) + jsr (a5) + addq.l #4,sp + move.l 48(sp),-(sp) + move.l 48(sp),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + tst.l d0 + jlt .L301 + addq.l #8,a2 + move.l d6,a1 + move.w (a1,d4.l),a1 + move.l a1,-(sp) + jsr (a5) + move.l d7,a0 + move.l 4(a0),(sp) + move.l (a0),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + cmp.l #639,d0 + jgt .L301 + move.l 52(sp),a1 + move.w (a1),a1 + move.l a1,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + moveq #74,d1 + cmp.l d0,d1 + jge .L301 + move.l 52(sp),a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + cmp.l #434,d0 + jgt .L301 + addq.l #1,d5 + move.l 56(sp),a1 + moveq #0,d0 + move.b (a1),d0 + cmp.l d0,d5 + jlt .L297 + move.l 68(sp),a0 + tst.b 6(a0) + jeq .L294 + move.l 60(sp),d0 + lsl.l #3,d0 + add.l 60(sp),d0 + add.l d0,d0 + add.l d0,d0 + move.l 60(sp),d4 + add.l d0,d4 + lsl.l #3,d4 + move.l d4,a2 + add.l #_VObj+152,a2 + moveq #0,d7 + move.l d6,d0 + add.l d4,d0 + move.l d0,a0 + addq.l #2,a0 + move.l a0,52(sp) + addq.l #6,d0 + move.l d0,56(sp) +.L305: + move.l a2,d5 + move.l 4(a2),-(sp) + move.l (a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,44(sp) + move.l d1,48(sp) + move.l d0,(a2) + move.l d1,4(a2) + move.l d3,-(sp) + move.l d2,-(sp) + move.l 52(a2),-(sp) + move.l 48(a2),-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,48(a2) + move.l d1,52(a2) + move.l d3,-(sp) + move.l d2,-(sp) + move.l 100(a2),-(sp) + move.l 96(a2),-(sp) + jsr (a6) + lea (16,sp),sp + move.l d0,96(a2) + move.l d1,100(a2) + move.l d6,a1 + move.w (a1,d4.l),a1 + move.l a1,-(sp) + jsr (a5) + addq.l #4,sp + move.l 48(sp),-(sp) + move.l 48(sp),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + tst.l d0 + jlt .L304 + addq.l #8,a2 + move.l d6,a0 + move.w (a0,d4.l),a0 + move.l a0,-(sp) + jsr (a5) + move.l d5,a1 + move.l 4(a1),(sp) + move.l (a1),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + cmp.l #639,d0 + jgt .L304 + move.l 52(sp),a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + moveq #74,d1 + cmp.l d0,d1 + jge .L304 + move.l 52(sp),a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + addq.l #8,sp + cmp.l #434,d0 + jgt .L304 + addq.l #1,d7 + move.l 56(sp),a1 + moveq #0,d0 + move.b (a1),d0 + cmp.l d0,d7 + jlt .L305 +.L294: + movem.l (sp)+,#31996 + lea (28,sp),sp + rts +.L301: + move.l 64(sp),d0 + add.l 60(sp),d0 + add.l d0,d0 + add.l d0,d0 + add.l 60(sp),d0 + lsl.l #3,d0 + move.l d6,a0 + clr.b 5(a0,d0.l) + movem.l (sp)+,#31996 + lea (28,sp),sp + rts +.L304: + move.l 64(sp),d0 + add.l 60(sp),d0 + add.l d0,d0 + add.l d0,d0 + add.l 60(sp),d0 + lsl.l #3,d0 + move.l d6,a0 + add.l d0,a0 + clr.b 5(a0) + clr.b 6(a0) + movem.l (sp)+,#31996 + lea (28,sp),sp + rts + .align 2 + .globl _GREATEFFECT +_GREATEFFECT: + lea (-28,sp),sp + movem.l #16190,-(sp) + move.l d0,68(sp) + move.l a0,64(sp) + move.l _GfxBase,a6 +#APP +| 264 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + clr.l d4 + clr.l d5 + clr.w 48(sp) + move.l 64(sp),a0 + addq.l #3,a0 + move.l a0,52(sp) + lea ___floatsidf,a5 + lea ___muldf3,a2 + lea _it_round,a4 +.L314: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 269 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l #1202590843,-(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + addq.w #1,48(sp) + move.l 52(sp),60(sp) + move.l 52(sp),a3 + moveq #1,d6 + move.b d2,d0 +.L316: + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + moveq #0,d0 + move.b (a3),d0 + move.l d0,-(sp) + move.l a0,48(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d7 + lsl.w #8,d7 + swap d7 + clr.w d7 + moveq #0,d0 + move.b 1(a3),d0 + move.l d0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + moveq #0,d0 + move.b 2(a3),d0 + move.l d0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l _GfxBase,a6 + move.l 68(sp),a0 + move.l d6,d0 + move.l d7,d1 +#APP +| 275 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #1,d6 + addq.l #3,a3 + lea (24,sp),sp + moveq #32,d0 + cmp.l d6,d0 + jeq .L315 +.L446: + move.b _AScr,d0 + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + moveq #0,d0 + move.b (a3),d0 + move.l d0,-(sp) + move.l a0,48(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d7 + lsl.w #8,d7 + swap d7 + clr.w d7 + moveq #0,d0 + move.b 1(a3),d0 + move.l d0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + moveq #0,d0 + move.b 2(a3),d0 + move.l d0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l _GfxBase,a6 + move.l 68(sp),a0 + move.l d6,d0 + move.l d7,d1 +#APP +| 275 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #1,d6 + addq.l #3,a3 + lea (24,sp),sp + moveq #32,d0 + cmp.l d6,d0 + jne .L446 +.L315: + cmp.w #11,48(sp) + jeq .L447 + cmp.w #50,48(sp) + jne .L314 + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + moveq #0,d0 + moveq #8,d1 + moveq #8,d2 + moveq #10,d3 +#APP +| 295 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + move.l _GfxBase,a6 +#APP +| 296 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + move.l _GfxBase,a6 +#APP +| 297 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + moveq #0,d0 + moveq #0,d1 + moveq #0,d2 + moveq #0,d3 +#APP +| 298 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #1,d6 + move.l 60(sp),a3 +.L319: + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + moveq #0,d1 + move.b (a3),d1 + moveq #0,d2 + move.b 1(a3),d2 + moveq #0,d3 + move.b 2(a3),d3 + move.l _GfxBase,a6 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + move.l d6,d0 + lsl.w #8,d1 + swap d1 + clr.w d1 + lsl.w #8,d2 + swap d2 + clr.w d2 + lsl.w #8,d3 + swap d3 + clr.w d3 +#APP +| 301 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #1,d6 + addq.l #3,a3 + moveq #32,d0 + cmp.l d6,d0 + jne .L319 + moveq #50,d0 + jsr _delay + lea ___subdf3,a3 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 306 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l #1202590843,-(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + and.l #255,d2 + add.l d2,d2 + add.l d2,d2 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d2.l),a0 + move.l 64(sp),a1 + moveq #0,d0 + move.b 93(a1),d0 + move.l d0,-(sp) + move.l a0,48(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l 72(sp),a1 + moveq #0,d0 + move.b 94(a1),d0 + move.l d0,-(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + move.l 80(sp),a1 + moveq #0,d0 + move.b 95(a1),d0 + move.l d0,-(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + lsl.w #8,d0 + swap d0 + clr.w d0 + move.l d0,a1 + move.l _GfxBase,a6 + move.l 68(sp),a0 + moveq #31,d0 + move.l d3,d1 + move.l a1,d3 +#APP +| 309 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + lea (20,sp),sp + move.l #1202590843,(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___gtdf2 + lea (16,sp),sp + tst.l d0 + jle .L448 +.L364: + move.l d6,d4 + move.l d7,d5 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 306 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l #1202590843,-(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + and.l #255,d2 + add.l d2,d2 + add.l d2,d2 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d2.l),a0 + move.l 64(sp),a1 + moveq #0,d0 + move.b 93(a1),d0 + move.l d0,-(sp) + move.l a0,48(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l 72(sp),a1 + moveq #0,d0 + move.b 94(a1),d0 + move.l d0,-(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + move.l 80(sp),a1 + moveq #0,d0 + move.b 95(a1),d0 + move.l d0,-(sp) + jsr (a5) + move.l d7,(sp) + move.l d6,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a2) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + lsl.w #8,d0 + swap d0 + clr.w d0 + move.l d0,a1 + move.l _GfxBase,a6 + move.l 68(sp),a0 + moveq #31,d0 + move.l d3,d1 + move.l a1,d3 +#APP +| 309 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + lea (20,sp),sp + move.l #1202590843,(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___gtdf2 + lea (16,sp),sp + tst.l d0 + jgt .L364 +.L448: + moveq #0,d0 + move.b 71(sp),d0 + move.l d0,48(sp) + jeq .L322 + lea _VObj,a2 + clr.l 52(sp) + lea ___fixdfsi,a6 +.L329: + moveq #0,d4 + move.b 5(a2),d4 + tst.l d4 + jeq .L331 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 12(a2),(sp) + move.l 8(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w 2(a2),a1 + move.l a1,-(sp) + jsr (a5) + move.l 60(a2),(sp) + move.l 56(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #1,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 20(a2),(sp) + move.l 16(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w d2,a1 + move.l a1,-(sp) + jsr (a5) + move.l 68(a2),(sp) + move.l 64(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #2,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 28(a2),(sp) + move.l 24(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w d2,a1 + move.l a1,-(sp) + jsr (a5) + move.l 76(a2),(sp) + move.l 72(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #3,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 36(a2),(sp) + move.l 32(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w d2,a1 + move.l a1,-(sp) + jsr (a5) + move.l 84(a2),(sp) + move.l 80(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #4,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d3 + move.w d0,(a2) + move.w d2,a1 + move.l a1,-(sp) + jsr (a5) + move.l 92(a2),(sp) + move.l 88(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.l d0,d2 + move.w d0,2(a2) + moveq #5,d0 + cmp.l d4,d0 + jeq .L331 + move.w d3,a0 + move.l a0,-(sp) + jsr (a5) + move.l 52(a2),(sp) + move.l 48(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.w d0,(a2) + move.w d2,a1 + move.l a1,-(sp) + jsr (a5) + move.l 100(a2),(sp) + move.l 96(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a6) + addq.l #8,sp + move.w d0,2(a2) +.L331: + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d0,d2 + move.l d1,d3 + move.l d4,(sp) + jsr ___floatunsidf + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___divdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.w d0,(a2) + move.w 2(a2),a1 + move.l a1,-(sp) + jsr (a5) + move.l d0,d2 + move.l d1,d3 + moveq #0,d0 + move.b 5(a2),d0 + move.l d0,(sp) + jsr ___floatunsidf + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___divdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.w d0,d6 + add.w #235,d6 + move.w d6,2(a2) + moveq #0,d7 + move.b 5(a2),d7 + lea (16,sp),sp + tst.l d7 + jeq .L324 + move.w (a2),a0 + pea 1(a0) + jsr (a5) + move.l d0,d4 + move.l d1,d5 + move.l 12(a2),(sp) + move.l 8(a2),-(sp) + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,8(a2) + move.l d1,12(a2) + move.w d6,a0 + pea 1(a0) + jsr (a5) + move.l d0,d2 + move.l d1,d3 + move.l 60(a2),(sp) + move.l 56(a2),-(sp) + move.l d3,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,56(a2) + move.l d1,60(a2) + moveq #1,d0 + cmp.l d7,d0 + jeq .L324 + move.l 20(a2),-(sp) + move.l 16(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,16(a2) + move.l d1,20(a2) + move.l 68(a2),-(sp) + move.l 64(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,64(a2) + move.l d1,68(a2) + moveq #2,d1 + cmp.l d7,d1 + jeq .L324 + move.l 28(a2),-(sp) + move.l 24(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,24(a2) + move.l d1,28(a2) + move.l 76(a2),-(sp) + move.l 72(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,72(a2) + move.l d1,76(a2) + moveq #3,d0 + cmp.l d7,d0 + jeq .L324 + move.l 36(a2),-(sp) + move.l 32(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,32(a2) + move.l d1,36(a2) + move.l 84(a2),-(sp) + move.l 80(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,80(a2) + move.l d1,84(a2) + moveq #4,d1 + cmp.l d7,d1 + jeq .L324 + move.l 44(a2),-(sp) + move.l 40(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,40(a2) + move.l d1,44(a2) + move.l 92(a2),-(sp) + move.l 88(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,88(a2) + move.l d1,92(a2) + moveq #5,d0 + cmp.l d7,d0 + jeq .L324 + move.l 52(a2),-(sp) + move.l 48(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,48(a2) + move.l d1,52(a2) + move.l 100(a2),-(sp) + move.l 96(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,96(a2) + move.l d1,100(a2) +.L324: + move.b 6(a2),d7 + jeq .L327 + and.l #255,d7 + move.w (a2),a0 + pea 1(a0) + jsr (a5) + move.l d0,d2 + move.l d1,d3 + move.l 156(a2),(sp) + move.l 152(a2),-(sp) + move.l d3,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,152(a2) + move.l d1,156(a2) + move.w d6,a0 + pea 1(a0) + jsr (a5) + move.l d0,d4 + move.l d1,d5 + move.l 204(a2),(sp) + move.l 200(a2),-(sp) + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,200(a2) + move.l d1,204(a2) + moveq #1,d1 + cmp.l d7,d1 + jeq .L327 + move.l 164(a2),-(sp) + move.l 160(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,160(a2) + move.l d1,164(a2) + move.l 212(a2),-(sp) + move.l 208(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,208(a2) + move.l d1,212(a2) + moveq #2,d0 + cmp.l d7,d0 + jeq .L327 + move.l 172(a2),-(sp) + move.l 168(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,168(a2) + move.l d1,172(a2) + move.l 220(a2),-(sp) + move.l 216(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,216(a2) + move.l d1,220(a2) + moveq #3,d1 + cmp.l d7,d1 + jeq .L327 + move.l 180(a2),-(sp) + move.l 176(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,176(a2) + move.l d1,180(a2) + move.l 228(a2),-(sp) + move.l 224(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,224(a2) + move.l d1,228(a2) + moveq #4,d0 + cmp.l d7,d0 + jeq .L327 + move.l 188(a2),-(sp) + move.l 184(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,184(a2) + move.l d1,188(a2) + move.l 236(a2),-(sp) + move.l 232(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,232(a2) + move.l d1,236(a2) + moveq #5,d1 + cmp.l d7,d1 + jeq .L327 + move.l 196(a2),-(sp) + move.l 192(a2),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,192(a2) + move.l d1,196(a2) + move.l 244(a2),-(sp) + move.l 240(a2),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a3) + lea (12,sp),sp + clr.l (sp) + move.l #1080909824,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (16,sp),sp + move.l d0,240(a2) + move.l d1,244(a2) +.L327: + addq.l #1,52(sp) + lea (296,a2),a2 + move.l 48(sp),d0 + cmp.l 52(sp),d0 + jne .L329 +.L322: + move.w #-32756,_custom+150 + move.b _AScr,d2 + move.l #1072695869,52(sp) + move.l #1889785610,56(sp) + moveq #1,d0 + move.l d0,60(sp) +.L332: + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L339 + move.l #-755914244,-(sp) + move.l #1064329805,-(sp) + move.l 64(sp),-(sp) + move.l 64(sp),-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l d0,52(sp) + move.l d1,56(sp) + moveq #1,d1 + cmp.l 60(sp),d1 + jeq .L449 + and.l #255,d2 + add.l d2,d2 + add.l d2,d2 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d2.l),a1 + moveq #0,d0 +#APP +| 350 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 + moveq #105,d1 + not.b d1 + move.l #639,d2 + move.l #330,d3 +#APP +| 351 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #16,d0 + cmp.l 60(sp),d0 + jlt .L450 +.L336: + tst.l 48(sp) + jeq .L362 + lea _VObj,a2 + moveq #0,d2 +.L361: + tst.b 5(a2) + jeq .L341 + moveq #1,d1 + cmp.l d2,d1 + jge .L342 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 +#APP +| 368 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + cmp.b #4,6(a2) + jhi .L343 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a1 + add.l (a1,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 36(a2),(sp) + move.l 32(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a1 + move.l a1,-(sp) + jsr (a5) + move.l 84(a2),(sp) + move.l 80(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 377 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #40,d6 + add.l a2,d6 + lea (16,sp),sp + moveq #4,d3 + move.l d6,d0 + move.l a2,d6 + move.l d0,a2 +.L344: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d7 + lea _MyScreen,a0 + add.l (a0,d0.l),d7 + move.l (a2)+,d4 + move.l (a2)+,d5 + move.l d6,a1 + move.w (a1),a1 + move.l a1,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d4 + move.l d6,a0 + move.w 2(a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d7,a1 + move.l d4,d0 +#APP +| 380 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #1,d3 + lea (16,sp),sp + moveq #6,d0 + cmp.l d3,d0 + jne .L344 + move.l d6,a2 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 +#APP +| 382 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP +.L342: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #1,d0 +#APP +| 384 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a1 + add.l (a1,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 12(a2),(sp) + move.l 8(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a1 + move.l a1,-(sp) + jsr (a5) + move.l 60(a2),(sp) + move.l 56(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 385 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b 5(a2),d0 + lea (16,sp),sp + moveq #1,d1 + cmp.l d0,d1 + jge .L351 + moveq #16,d6 + add.l a2,d6 + moveq #1,d3 +.L350: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d7 + lea _MyScreen,a1 + add.l (a1,d0.l),d7 + move.l d6,a0 + move.l (a0)+,d4 + move.l (a0)+,d5 + move.l a0,d6 + move.w (a2),a1 + move.l a1,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d4 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d6,a1 + lea (40,a1),a1 + move.l 4(a1),(sp) + move.l (a1),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d7,a1 + move.l d4,d0 +#APP +| 388 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #1,d3 + moveq #0,d0 + move.b 5(a2),d0 + lea (16,sp),sp + cmp.l d0,d3 + jlt .L350 +.L351: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 +#APP +| 390 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + tst.b 6(a2) + jne .L451 +.L341: + move.b 4(a2),d0 + btst #0,d0 + jne .L452 +.L355: + btst #1,d0 + jne .L453 +.L356: + btst #2,d0 + jne .L454 +.L357: + btst #3,d0 + jne .L455 +.L358: + btst #4,d0 + jne .L456 +.L359: + btst #5,d0 + jne .L457 +.L360: + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l d2,d0 + jsr _FLY + addq.l #1,d2 + lea (296,a2),a2 + addq.l #8,sp + cmp.l 48(sp),d2 + jne .L361 +.L362: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 409 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + addq.l #1,60(sp) + moveq #30,d0 + cmp.l 60(sp),d0 + jne .L332 +.L339: + and.l #255,d2 + add.l d2,d2 + add.l d2,d2 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d2.l),a1 + moveq #0,d0 +#APP +| 420 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 + moveq #75,d1 + move.l #639,d2 + move.l #434,d3 +#APP +| 421 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 422 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 +#APP +| 420 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 + moveq #0,d0 + moveq #75,d1 +#APP +| 421 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 422 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + move.w #12,_custom+150 + movem.l (sp)+,#31996 + lea (28,sp),sp + rts +.L447: + move.w #-32756,_custom+150 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + lea _MyScreen,a1 + move.l (a1,d0.l),a0 +#APP +| 269 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l #1202590843,-(sp) + move.l #1066695393,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + addq.w #1,48(sp) + move.l 52(sp),60(sp) + move.l 52(sp),a3 + moveq #1,d6 + move.b d2,d0 + jra .L316 +.L457: + move.l d2,d0 + jsr _ROTATEnZ + move.l 56(sp),-(sp) + move.l 56(sp),-(sp) + move.l d2,d0 + jsr _FLY + addq.l #1,d2 + lea (296,a2),a2 + addq.l #8,sp + cmp.l 48(sp),d2 + jne .L361 + jra .L362 +.L456: + move.l d2,d0 + jsr _ROTATEnY + move.b 4(a2),d0 + btst #5,d0 + jeq .L360 + jra .L457 +.L455: + move.l d2,d0 + jsr _ROTATEnX + move.b 4(a2),d0 + btst #4,d0 + jeq .L359 + jra .L456 +.L454: + move.l d2,d0 + jsr _ROTATEpZ + move.b 4(a2),d0 + btst #3,d0 + jeq .L358 + jra .L455 +.L453: + move.l d2,d0 + jsr _ROTATEpY + move.b 4(a2),d0 + btst #2,d0 + jeq .L357 + jra .L454 +.L452: + move.l d2,d0 + jsr _ROTATEpX + move.b 4(a2),d0 + btst #1,d0 + jeq .L356 + jra .L453 +.L451: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a0 + add.l (a0,d0.l),d4 + move.w (a2),a1 + move.l a1,-(sp) + jsr (a5) + move.l 156(a2),(sp) + move.l 152(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 204(a2),(sp) + move.l 200(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 393 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b 6(a2),d0 + lea (16,sp),sp + moveq #1,d1 + cmp.l d0,d1 + jge .L354 + move.l a2,d6 + add.l #160,d6 + moveq #1,d3 +.L353: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d7 + lea _MyScreen,a1 + add.l (a1,d0.l),d7 + move.l d6,a0 + move.l (a0)+,d4 + move.l (a0)+,d5 + move.l a0,d6 + move.w (a2),a1 + move.l a1,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d4 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l d6,a1 + lea (40,a1),a1 + move.l 4(a1),(sp) + move.l (a1),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d7,a1 + move.l d4,d0 +#APP +| 396 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #1,d3 + moveq #0,d0 + move.b 6(a2),d0 + lea (16,sp),sp + cmp.l d0,d3 + jlt .L353 +.L354: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + lea _MyScreen,a0 + add.l (a0,d0.l),a1 +#APP +| 398 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + move.b 4(a2),d0 + btst #0,d0 + jeq .L355 + jra .L452 +.L343: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a0 + add.l (a0,d0.l),d4 + move.w (a2),a1 + move.l a1,-(sp) + jsr (a5) + move.l 180(a2),(sp) + move.l 176(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 228(a2),(sp) + move.l 224(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 371 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l a2,d6 + add.l #184,d6 + lea (16,sp),sp + moveq #2,d3 + move.l d6,d0 + move.l a2,d6 + move.l d0,a2 +.L345: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d7 + lea _MyScreen,a1 + add.l (a1,d0.l),d7 + move.l (a2)+,d4 + move.l (a2)+,d5 + move.l d6,a0 + move.w (a0),a0 + move.l a0,-(sp) + jsr (a5) + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d4 + move.l d6,a1 + move.w 2(a1),a1 + move.l a1,-(sp) + jsr (a5) + move.l 44(a2),(sp) + move.l 40(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d7,a1 + move.l d4,d0 +#APP +| 374 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + subq.l #1,d3 + lea (16,sp),sp + jne .L345 + move.l d6,a2 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + lea _MyScreen,a1 + add.l (a1,d0.l),d4 + move.w (a2),a0 + move.l a0,-(sp) + jsr (a5) + move.l 36(a2),(sp) + move.l 32(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d3 + move.w 2(a2),a1 + move.l a1,-(sp) + jsr (a5) + move.l 84(a2),(sp) + move.l 80(a2),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a3) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a4) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 377 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #40,d6 + add.l a2,d6 + lea (16,sp),sp + moveq #4,d3 + move.l d6,d0 + move.l a2,d6 + move.l d0,a2 + jra .L344 +.L450: + jsr _rand + pea 13.w + move.l d0,-(sp) + jsr ___modsi3 + addq.l #8,sp + move.l d0,d1 + lsl.l #3,d1 + add.l d0,d1 + add.l d1,d1 + add.l d1,d1 + add.l d1,d0 + lsl.l #3,d0 + add.l #_VObj+5,d0 + move.l d0,a0 + clr.b (a0) + jra .L336 +.L449: + move.l 64(sp),a2 + addq.l #6,a2 + moveq #2,d4 + move.b d2,d0 +.L334: + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + moveq #0,d2 + move.b (a2),d2 + move.l d2,d1 + add.l d2,d1 + add.l d1,d1 + add.l d2,d1 + move.b 1(a2),d2 + move.l d2,a0 + add.l d2,a0 + add.l a0,a0 + add.l a0,d2 + moveq #0,d3 + move.b 2(a2),d3 + move.l d3,a0 + add.l d3,a0 + add.l a0,a0 + add.l a0,d3 + move.l _GfxBase,a6 + move.w #44,a0 + lea _MyScreen,a1 + add.l (a1,d0.l),a0 + move.l d4,d0 + lsl.w #5,d1 + swap d1 + clr.w d1 + lsl.w #5,d2 + swap d2 + clr.w d2 + lsl.w #5,d3 + swap d3 + clr.w d3 +#APP +| 355 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #1,d4 + addq.l #3,a2 + moveq #31,d0 + cmp.l d4,d0 + jeq .L336 + move.b _AScr,d0 + jra .L334 +.LC41: + .ascii "Snd0.RAW\0" + .align 2 + .globl _LOADSOUNDS +_LOADSOUNDS: + lea (-40,sp),sp + movem.l #16190,-(sp) + move.l _PathStr+32,a0 + move.l a0,a1 +.L459: + tst.b (a1)+ + jne .L459 + move.l a0,d6 + sub.l a1,d6 + not.l d6 + lea (44,sp),a1 +.L460: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L460 + moveq #0,d0 + not.b d0 + and.l d6,d0 + lea (44,sp),a0 + add.l d0,a0 + lea .LC41,a1 +.L461: + move.b (a1)+,d0 + move.b d0,(a0)+ + jne .L461 + addq.b #3,d6 + and.l #255,d6 + lea _SMemL+4,a2 + lea _SMemA+4,a3 + moveq #49,d5 + lea _OPENSMOOTH,a4 + move.l #1005,d7 + move.l #65538,a5 +.L465: + move.b d5,44(sp,d6.l) + move.l d7,d0 + lea (44,sp),a0 + jsr (a4) + move.l d0,d4 + jeq .L464 + move.l _DOSBase,a6 + move.l d0,d1 + moveq #0,d2 + moveq #1,d3 +#APP +| 447 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 + moveq #-1,d3 +#APP +| 448 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l d0,(a2)+ + move.l _SysBase,a6 + move.l a5,d1 +#APP +| 450 "test.c" 1 + jsr a6@(-0xc6:W) +#NO_APP + move.l d0,(a3)+ + jeq .L464 + move.l _DOSBase,a6 + move.l d4,d1 + move.l d0,d2 + move.l -4(a2),d3 +#APP +| 452 "test.c" 1 + jsr a6@(-0x2a:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 +#APP +| 453 "test.c" 1 + jsr a6@(-0x24:W) +#NO_APP + addq.b #1,d5 + cmp.b #52,d5 + jne .L465 + moveq #1,d0 + movem.l (sp)+,#31996 + lea (40,sp),sp + rts +.L464: + clr.w d0 + movem.l (sp)+,#31996 + lea (40,sp),sp + rts +.LC42: + .ascii "Frame0.pal\0" +.LC43: + .ascii "Frame0.img\0" +.LC44: + .ascii "Frame1.pal\0" +.LC45: + .ascii "Frame1.img\0" +.LC46: + .ascii "Frame2.pal\0" +.LC47: + .ascii "Frame2.img\0" +.LC48: + .ascii "Frame3.pal\0" +.LC49: + .ascii "Frame3.img\0" +.LC50: + .ascii "MOD.Intro\0" +.LC51: + .ascii "Frame4.pal\0" +.LC52: + .ascii "Frame4.img\0" +.LC53: + .ascii "Frame5.img\0" +.LC54: + .ascii "Frame6.pal\0" +.LC55: + .ascii "Frame6.img\0" +.LC56: + .ascii "PRESENTS\0" +.LC57: + .ascii "A\0" +.LC58: + .ascii "PRODUCTION\0" + .data + .align 2 +.LC0: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 4 + .skip 1 + .long 1078132736 + .long 0 + .long 1075970048 + .long 0 + .long 1075970048 + .long 0 + .long 1075970048 + .long 0 + .long 1075970048 + .long 0 + .long 1078132736 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1076232192 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC1: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1079427072 + .long 0 + .long 1079246848 + .long 0 + .long 1079246848 + .long 0 + .long 1079246848 + .long 0 + .long 1079246848 + .long 0 + .long 1079427072 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1079754752 + .long 0 + .long 1079574528 + .long 0 + .long 1079574528 + .long 0 + .long 1079574528 + .long 0 + .long 1079574528 + .long 0 + .long 1079754752 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1077411840 + .long 0 + .long 1077411840 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC2: + .word 0 + .word 0 + .byte 34 + .byte 6 + .byte 6 + .skip 1 + .long 1080320000 + .long 0 + .long 1080229888 + .long 0 + .long 1080229888 + .long 0 + .long 1080229888 + .long 0 + .long 1080229888 + .long 0 + .long 1080320000 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080492032 + .long 0 + .long 1080401920 + .long 0 + .long 1080401920 + .long 0 + .long 1080401920 + .long 0 + .long 1080401920 + .long 0 + .long 1080492032 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076363264 + .long 0 + .long 1076363264 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC3: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080696832 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080696832 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080664064 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080664064 + .long 0 + .long 1076756480 + .long 0 + .long 1076756480 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076756480 + .long 0 + .long 1076756480 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC4: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080860672 + .long 0 + .long 1080762368 + .long 0 + .long 1080860672 + .long 0 + .long 1080860672 + .long 0 + .long 1080762368 + .long 0 + .long 1080860672 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077084160 + .long 0 + .long 1077084160 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081065472 + .long 0 + .long 1080967168 + .long 0 + .long 1080918016 + .long 0 + .long 1080918016 + .long 0 + .long 1080967168 + .long 0 + .long 1081065472 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076363264 + .long 0 + .long 1076363264 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC5: + .word 0 + .word 0 + .byte 24 + .byte 6 + .byte 4 + .skip 1 + .long 1081200640 + .long 0 + .long 1081081856 + .long 0 + .long 1081081856 + .long 0 + .long 1081081856 + .long 0 + .long 1081081856 + .long 0 + .long 1081200640 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1075970048 + .long 0 + .long 1075970048 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081122816 + .long 0 + .long 1081122816 + .long 0 + .long 1081122816 + .long 0 + .long 1081122816 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1076232192 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC6: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1081335808 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081335808 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081323520 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081217024 + .long 0 + .long 1081323520 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC7: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1081835520 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081835520 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081823232 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081712640 + .long 0 + .long 1081823232 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC8: + .word 0 + .word 0 + .byte 48 + .byte 6 + .byte 4 + .skip 1 + .long 1081966592 + .long 0 + .long 1081847808 + .long 0 + .long 1081847808 + .long 0 + .long 1081847808 + .long 0 + .long 1081847808 + .long 0 + .long 1081966592 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081884672 + .long 0 + .long 1081884672 + .long 0 + .long 1081884672 + .long 0 + .long 1081884672 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1076232192 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC9: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1082023936 + .long 0 + .long 1081978880 + .long 0 + .long 1082023936 + .long 0 + .long 1082023936 + .long 0 + .long 1081978880 + .long 0 + .long 1082023936 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082105856 + .long 0 + .long 1082068992 + .long 0 + .long 1082048512 + .long 0 + .long 1082048512 + .long 0 + .long 1082068992 + .long 0 + .long 1082105856 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC10: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 0 + .skip 1 + .long 1082202112 + .long 0 + .long 1082179584 + .long 0 + .long 1082148864 + .long 0 + .long 1082148864 + .long 0 + .long 1082179584 + .long 0 + .long 1082202112 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC11: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1082288128 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082288128 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082261504 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082238976 + .long 0 + .long 1082261504 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC12: + .word 0 + .word 0 + .byte 24 + .byte 6 + .byte 6 + .skip 1 + .long 1082372096 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082372096 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082365952 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082312704 + .long 0 + .long 1082365952 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC13: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1079541760 + .long 0 + .long 1079345152 + .long 0 + .long 1079590912 + .long 0 + .long 1079590912 + .long 0 + .long 1079345152 + .long 0 + .long 1079541760 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080000512 + .long 0 + .long 1079803904 + .long 0 + .long 1079672832 + .long 0 + .long 1079672832 + .long 0 + .long 1079803904 + .long 0 + .long 1080000512 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077346304 + .long 0 + .long 1077346304 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC14: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 0 + .skip 1 + .long 1080131584 + .long 0 + .long 1080041472 + .long 0 + .long 1080041472 + .long 0 + .long 1080041472 + .long 0 + .long 1080041472 + .long 0 + .long 1080131584 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC15: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080352768 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080352768 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080246272 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080156160 + .long 0 + .long 1080246272 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC16: + .word 0 + .word 0 + .byte 34 + .byte 6 + .byte 4 + .skip 1 + .long 1080672256 + .long 0 + .long 1080434688 + .long 0 + .long 1080434688 + .long 0 + .long 1080434688 + .long 0 + .long 1080434688 + .long 0 + .long 1080672256 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080508416 + .long 0 + .long 1080508416 + .long 0 + .long 1080508416 + .long 0 + .long 1080508416 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1076232192 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC17: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080786944 + .long 0 + .long 1080696832 + .long 0 + .long 1080696832 + .long 0 + .long 1080696832 + .long 0 + .long 1080696832 + .long 0 + .long 1080786944 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077608448 + .long 0 + .long 1077608448 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080950784 + .long 0 + .long 1080860672 + .long 0 + .long 1080860672 + .long 0 + .long 1080860672 + .long 0 + .long 1080860672 + .long 0 + .long 1080950784 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077477376 + .long 0 + .long 1077477376 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC18: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 0 + .skip 1 + .long 1081122816 + .long 0 + .long 1081073664 + .long 0 + .long 1080950784 + .long 0 + .long 1080950784 + .long 0 + .long 1081073664 + .long 0 + .long 1081122816 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC19: + .word 0 + .word 0 + .byte 24 + .byte 6 + .byte 4 + .skip 1 + .long 1081241600 + .long 0 + .long 1081196544 + .long 0 + .long 1081196544 + .long 0 + .long 1081196544 + .long 0 + .long 1081196544 + .long 0 + .long 1081241600 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081307136 + .long 0 + .long 1081245696 + .long 0 + .long 1081245696 + .long 0 + .long 1081307136 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC20: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1081405440 + .long 0 + .long 1081360384 + .long 0 + .long 1081405440 + .long 0 + .long 1081405440 + .long 0 + .long 1081360384 + .long 0 + .long 1081405440 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081487360 + .long 0 + .long 1081450496 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081450496 + .long 0 + .long 1081487360 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC21: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1081839616 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081839616 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081786368 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081741312 + .long 0 + .long 1081786368 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC22: + .word 0 + .word 0 + .byte 48 + .byte 6 + .byte 4 + .skip 1 + .long 1081933824 + .long 0 + .long 1081888768 + .long 0 + .long 1081888768 + .long 0 + .long 1081888768 + .long 0 + .long 1081888768 + .long 0 + .long 1081933824 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081999360 + .long 0 + .long 1081937920 + .long 0 + .long 1081937920 + .long 0 + .long 1081999360 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 1077542912 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC23: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 0 + .skip 1 + .long 1082101760 + .long 0 + .long 1082011648 + .long 0 + .long 1082011648 + .long 0 + .long 1082011648 + .long 0 + .long 1082011648 + .long 0 + .long 1082101760 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC24: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1078460416 + .long 0 + .long 1078099968 + .long 0 + .long 1078099968 + .long 0 + .long 1078099968 + .long 0 + .long 1078099968 + .long 0 + .long 1078460416 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1079492608 + .long 0 + .long 1079312384 + .long 0 + .long 1079132160 + .long 0 + .long 1079132160 + .long 0 + .long 1079312384 + .long 0 + .long 1079492608 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC25: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 0 + .skip 1 + .long 1078919168 + .long 0 + .long 1078558720 + .long 0 + .long 1078558720 + .long 0 + .long 1078558720 + .long 0 + .long 1078558720 + .long 0 + .long 1078919168 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC26: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080303616 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080303616 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080279040 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080066048 + .long 0 + .long 1080279040 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC27: + .word 0 + .word 0 + .byte 34 + .byte 6 + .byte 0 + .skip 1 + .long 1080713216 + .long 0 + .long 1080623104 + .long 0 + .long 1080623104 + .long 0 + .long 1080623104 + .long 0 + .long 1080623104 + .long 0 + .long 1080713216 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC28: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1080827904 + .long 0 + .long 1080737792 + .long 0 + .long 1080737792 + .long 0 + .long 1080737792 + .long 0 + .long 1080737792 + .long 0 + .long 1080827904 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077608448 + .long 0 + .long 1077608448 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1080991744 + .long 0 + .long 1080901632 + .long 0 + .long 1080901632 + .long 0 + .long 1080901632 + .long 0 + .long 1080901632 + .long 0 + .long 1080991744 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077477376 + .long 0 + .long 1077477376 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC29: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1081094144 + .long 0 + .long 1081016320 + .long 0 + .long 1081016320 + .long 0 + .long 1081016320 + .long 0 + .long 1081016320 + .long 0 + .long 1081094144 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081229312 + .long 0 + .long 1081184256 + .long 0 + .long 1081139200 + .long 0 + .long 1081139200 + .long 0 + .long 1081184256 + .long 0 + .long 1081229312 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC30: + .word 0 + .word 0 + .byte 24 + .byte 6 + .byte 4 + .skip 1 + .long 1081417728 + .long 0 + .long 1081298944 + .long 0 + .long 1081298944 + .long 0 + .long 1081298944 + .long 0 + .long 1081298944 + .long 0 + .long 1081417728 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081335808 + .long 0 + .long 1081335808 + .long 0 + .long 1081335808 + .long 0 + .long 1081335808 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1077215232 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076232192 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC31: + .word 0 + .word 0 + .byte 3 + .byte 6 + .byte 6 + .skip 1 + .long 1081548800 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081548800 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081536512 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081430016 + .long 0 + .long 1081536512 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076625408 + .long 0 + .long 1076625408 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC32: + .word 0 + .word 0 + .byte 12 + .byte 6 + .byte 6 + .skip 1 + .long 1081806848 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081806848 + .long 0 + .long 1074266112 + .long 0 + .long 1073741824 + .long 0 + .long 1076101120 + .long 0 + .long 1076101120 + .long 0 + .long 1073741824 + .long 0 + .long 1074266112 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1081753600 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081708544 + .long 0 + .long 1081753600 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1076887552 + .long 0 + .long 1076887552 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC33: + .word 0 + .word 0 + .byte 48 + .byte 6 + .byte 0 + .skip 1 + .long 1081962496 + .long 0 + .long 1081917440 + .long 0 + .long 1081856000 + .long 0 + .long 1081856000 + .long 0 + .long 1081917440 + .long 0 + .long 1081962496 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC34: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1082081280 + .long 0 + .long 1082036224 + .long 0 + .long 1082036224 + .long 0 + .long 1082036224 + .long 0 + .long 1082036224 + .long 0 + .long 1082081280 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082148864 + .long 0 + .long 1082122240 + .long 0 + .long 1082122240 + .long 0 + .long 1082122240 + .long 0 + .long 1082122240 + .long 0 + .long 1082148864 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1076953088 + .long 0 + .long 1076953088 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .align 2 +.LC35: + .word 0 + .word 0 + .byte 5 + .byte 6 + .byte 6 + .skip 1 + .long 1082247168 + .long 0 + .long 1082224640 + .long 0 + .long 1082224640 + .long 0 + .long 1082224640 + .long 0 + .long 1082224640 + .long 0 + .long 1082247168 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1078067200 + .long 0 + .long 1078067200 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1082314752 + .long 0 + .long 1082292224 + .long 0 + .long 1082269696 + .long 0 + .long 1082269696 + .long 0 + .long 1082292224 + .long 0 + .long 1082314752 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1077018624 + .long 0 + .long 1077018624 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 + .long 1074266112 + .long 0 +.LC36: + .ascii "\0" + .skip 59 + .ascii "Software & Design\0" + .skip 42 + .ascii "Oxygenic\0" + .skip 51 + .ascii "Art Director\0" + .skip 47 + .ascii "Cybertrace\0" + .skip 49 + .ascii "Music by\0" + .skip 51 + .ascii "Ludwig v.Beethoven N.N. Ikonnikow Richard Wagner\0" + .skip 7 + .ascii "Special Effects\0" + .skip 44 + .ascii "Oxygenic\0" + .skip 51 + .ascii "Credits go to\0" + .skip 46 + .ascii "Adam Benjamin Rikard Cederlund\0" + .skip 27 + .ascii "Jakob Gaardsted Andy Jones\0" + .skip 31 + .ascii "George Moore\0" + .skip 47 + .ascii "Surround-Sounds created with\0" + .skip 31 + .ascii "WaveTracer DS\302\256\0" + .skip 44 + .ascii "Colors in Technicolor\302\256\0" + .skip 36 + .ascii "Panaflex\302\256 Camera and Lenses by Panavision\302\256\0" + .skip 15 + .align 2 +.LC38: + .long 1081630720 + .long 0 + .long 1081114624 + .long 0 + .long 1081049088 + .long 0 + .long 1080508416 + .long 0 + .long 1080508416 + .long 0 + .long 1080557568 + .long 0 + .long 1081081856 + .long 0 + .long 1081221120 + .long 0 + .long 1081483264 + .long 0 + .long 1081507840 + .long 0 + .long 1081507840 + .long 0 + .long 1081237504 + .long 0 + .long 1081188352 + .long 0 + .long 1081049088 + .long 0 + .long 1081081856 + .long 0 + .long 1081221120 + .long 0 + .long 1081237504 + .long 0 + .long 1081188352 + .long 0 + .long 1081237504 + .long 0 + .long 1081237504 + .long 0 + .long 1081090048 + .long 0 + .long 1081118720 + .long 0 + .long 1081151488 + .long 0 + .long 1081184256 + .long 0 + .long 1081212928 + .long 0 + .long 1080500224 + .long 0 + .long 1080500224 + .long 0 + .long 1080541184 + .long 0 + .long 1080541184 + .long 0 + .long 1081491456 + .long 0 + .long 1081491456 + .long 0 + .long 1081511936 + .long 0 + .long 1081511936 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC39: + .long 1081323520 + .long 0 + .long 1080410112 + .long 0 + .long 1081159680 + .long 0 + .long 1081032704 + .long 0 + .long 1080524800 + .long 0 + .long 1080827904 + .long 0 + .long 1080901632 + .long 0 + .long 1080901632 + .long 0 + .long 1080827904 + .long 0 + .long 1080524800 + .long 0 + .long 1081032704 + .long 0 + .long 1081159680 + .long 0 + .long 1080410112 + .long 0 + .long 1081159680 + .long 0 + .long 1080975360 + .long 0 + .long 1080975360 + .long 0 + .long 1081159680 + .long 0 + .long 1080410112 + .long 0 + .long 1081159680 + .long 0 + .long 1081159680 + .long 0 + .long 1081135104 + .long 0 + .long 1081434112 + .long 0 + .long 1081135104 + .long 0 + .long 1081434112 + .long 0 + .long 1081135104 + .long 0 + .long 1080516608 + .long 0 + .long 1080393728 + .long 0 + .long 1080393728 + .long 0 + .long 1080516608 + .long 0 + .long 1080516608 + .long 0 + .long 1080393728 + .long 0 + .long 1080393728 + .long 0 + .long 1080516608 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .align 2 +.LC40: + .long -1073479680 + .long 0 + .long -1072431104 + .long 0 + .long -1074790400 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1074790400 + .long 0 + .long -1074790400 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1074790400 + .long 0 + .long -1072431104 + .long 0 + .long -1074790400 + .long 0 + .long -1074685543 + .long -1717986918 + .long -1074685543 + .long -1717986918 + .long -1074790400 + .long 0 + .long -1072431104 + .long 0 + .long -1071644672 + .long 0 + .long -1074790400 + .long 0 + .long -1073741824 + .long 0 + .long -1073741824 + .long 0 + .long -1073741824 + .long 0 + .long -1073741824 + .long 0 + .long -1073741824 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long -1072431104 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .text + .align 2 + .globl _MAININTRO +_MAININTRO: + lea (-2660,sp),sp + movem.l #16190,-(sp) + clr.l _TMPtr + move.b #1,_AScr + clr.l _MyScreen+4 + clr.l _MyScreen+8 + clr.l _SMemA+4 + clr.l _SMemA+8 + clr.l _SMemA+12 + clr.l _IMemA + clr.l _IMemA+4 + jsr _LOADSOUNDS + tst.w d0 + jeq .L476 + moveq #5,d0 + jsr _OPENCINEMA + move.l d0,_MyScreen+4 + jeq .L476 + moveq #5,d0 + jsr _OPENCINEMA + move.l d0,_MyScreen+8 + jeq .L476 + move.l #73500,_IMemL + move.l _SysBase,a6 + move.l #73500,d0 + moveq #2,d1 +#APP +| 503 "test.c" 1 + jsr a6@(-0xc6:W) +#NO_APP + lea _IMemA,a0 + move.l d0,(a0) + jeq .L476 + lea _IMemL,a1 + move.l (a1),54(sp) + move.w #80,268(sp) + move.w #183,270(sp) + move.b #1,272(sp) + move.b #5,273(sp) + clr.w 274(sp) + move.l d0,276(sp) + move.l d0,d1 + add.l #14640,d1 + move.l d1,280(sp) + move.l d0,d2 + add.l #29280,d2 + move.l d2,284(sp) + add.l #29280,d1 + move.l d1,288(sp) + add.l #29280,d2 + move.l d2,292(sp) + clr.l 296(sp) + clr.l 300(sp) + clr.l 304(sp) + move.l d0,308(sp) + move.l 54(sp),312(sp) + move.l _PathStr+32,a1 + move.l a1,a0 +.L480: + tst.b (a0)+ + jne .L480 + move.l a1,d2 + sub.l a0,d2 + not.l d2 + move.l d2,d0 + lea (193,sp),a0 + jsr _strncpy + lea (193,sp),a2 + add.l d2,a2 + move.l a2,66(sp) + move.l a2,a1 + lea .LC42,a0 +.L481: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L481 + lea (193,sp),a1 + move.l _MyScreen+4,a0 + jsr _SETCOLOR + lea (193,sp),a1 + move.l _MyScreen+8,a0 + jsr _SETCOLOR + move.l 66(sp),a1 + lea .LC43,a0 +.L482: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L482 + lea (268,sp),a3 + move.l a3,-(sp) + pea 5.w + pea 183.w + move.w #640,a1 + moveq #0,d1 + moveq #0,d0 + lea (205,sp),a0 + jsr _RAWLOADIMAGE + lea (12,sp),sp + tst.w d0 + jeq .L476 + lea _MyScreen,a5 + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #635,d2 + move.l #340,d3 + moveq #5,d4 + moveq #90,d5 + moveq #63,d6 + not.b d6 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #630,d2 + moveq #10,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #625,d2 + moveq #15,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #620,d2 + moveq #20,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #615,d2 + moveq #25,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #610,d2 + moveq #30,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #605,d2 + moveq #35,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #600,d2 + moveq #40,d4 +#APP +| 527 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 529 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l #590,d7 + move.l d3,a4 +.L483: + move.l d7,a2 + subq.l #5,a2 + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l a2,d2 + move.l a4,d3 + moveq #49,d4 + moveq #90,d5 + moveq #63,d6 + not.b d6 +#APP +| 535 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.l a3,a0 + moveq #41,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #44,d2 + add.l d7,d2 + moveq #5,d4 +#APP +| 536 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 538 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + move.l a2,d7 + moveq #10,d0 + cmp.l a2,d0 + jne .L483 + moveq #0,d0 + move.b _AScr,d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #10,d0 + move.l a4,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #10,d2 + moveq #50,d4 +#APP +| 543 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #635,d2 + moveq #5,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #630,d2 + moveq #10,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #625,d2 + moveq #15,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #620,d2 + moveq #20,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #615,d2 + moveq #25,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #610,d2 + moveq #30,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #605,d2 + moveq #35,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #600,d2 + moveq #40,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #595,d2 + moveq #45,d4 +#APP +| 546 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 548 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 551 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 552 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + move.l d2,d7 + move.w #430,a3 +.L484: + move.l d7,a2 + subq.l #5,a2 + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #50,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l a2,d2 + move.l a4,d3 + moveq #41,d4 + moveq #90,d5 + moveq #63,d6 + not.b d6 +#APP +| 556 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #36,d0 + add.l d7,d0 + move.l #340,d1 + moveq #45,d2 + add.l d7,d2 + move.l a3,d3 +#APP +| 557 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 559 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + move.l a2,d7 + moveq #60,d2 + cmp.l a2,d2 + jne .L484 + moveq #0,d0 + move.b _AScr,d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #10,d0 + move.l #340,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #10,d2 + move.l d1,d3 + moveq #105,d4 + not.b d4 +#APP +| 564 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + moveq #5,d0 + jsr _delay + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #616,d4 + moveq #91,d5 +#APP +| 568 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 570 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 +#APP +| 568 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 570 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #15,d0 + jsr _delay + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (268,sp),a0 + moveq #0,d0 + moveq #90,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #337,d3 + moveq #98,d4 +#APP +| 575 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 577 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.w #15,_custom+150 + moveq #15,d0 + jsr _delay + move.w #-32765,_custom+150 + moveq #25,d0 + jsr _delay + move.l #1202590843,-(sp) + move.l #1067743969,-(sp) + jsr _sin + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l #-343597384,-(sp) + move.l #1067366481,-(sp) + jsr _cos + move.l d0,_FactorCos + move.l d1,_FactorCos+4 + move.l #-1717986918,-(sp) + move.l #-1079404135,-(sp) + jsr _sin + move.l d0,_FactorMSin + move.l d1,_FactorMSin+4 + move.l #1202590843,-(sp) + move.l #-1080788255,-(sp) + jsr _cos + move.l d0,_FactorMCos + move.l d1,_FactorMCos+4 + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 606 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + move.l #335,d1 + move.l #640,d2 + move.l #430,d3 +#APP +| 607 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 609 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 606 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + move.l #335,d1 +#APP +| 607 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 609 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + move.l _GfxBase,a6 + move.l d2,d0 + move.l #360,d1 +#APP +| 612 "test.c" 1 + jsr a6@(-0x1ec:W) +#NO_APP + move.l d0,d7 + lea (32,sp),sp + jeq .L476 + move.l _GfxBase,a6 + lea (118,sp),a0 + move.l d0,a1 + move.l #21000,d0 +#APP +| 617 "test.c" 1 + jsr a6@(-0x1d4:W) +#NO_APP + move.l _GfxBase,a6 + lea (168,sp),a0 + lea _IMemA,a2 + move.l (a2),a1 + moveq #55,d0 + not.b d0 +#APP +| 618 "test.c" 1 + jsr a6@(-0x11a:W) +#NO_APP + move.l _MyScreen+4,a1 + moveq #118,d0 + add.l sp,d0 + move.l d0,96(a1) + move.l _MyScreen+8,a0 + move.l d0,96(a0) + moveq #87,d2 + not.b d2 + add.l sp,d2 + move.l d2,100(a1) + move.l d2,100(a0) + move.l 66(sp),a1 + lea .LC44,a0 +.L485: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L485 + lea _SETDARKCOLOR,a2 + lea (1300,sp),a1 + lea (193,sp),a0 + jsr (a2) + move.l 66(sp),a1 + lea .LC45,a0 +.L486: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L486 + clr.l -(sp) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + pea 5.w + pea 37.w + move.w #640,a1 + moveq #20,d1 + not.b d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + pea .LC56 + pea 5.w + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #31,a0 + move.l #285,d1 + move.l #320,d0 + jsr _WRITE + moveq #0,d0 + move.b _AScr,d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #0,d0 + moveq #20,d1 + not.b d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + move.l d1,d3 + move.l #640,d4 + moveq #75,d5 + moveq #63,d6 + not.b d6 +#APP +| 631 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l #296,d0 + lea .LC0,a1 + lea _VObj,a0 + jsr _memcpy + move.l #296,d0 + lea .LC1,a1 + lea _VObj+296,a0 + jsr _memcpy + move.l #296,d0 + lea .LC2,a1 + lea _VObj+592,a0 + jsr _memcpy + move.l #296,d0 + lea .LC3,a1 + lea _VObj+888,a0 + jsr _memcpy + move.l #296,d0 + lea .LC4,a1 + lea _VObj+1184,a0 + jsr _memcpy + move.l #296,d0 + lea .LC5,a1 + lea _VObj+1480,a0 + jsr _memcpy + move.l #296,d0 + lea .LC6,a1 + lea _VObj+1776,a0 + jsr _memcpy + move.l #296,d0 + lea .LC7,a1 + lea _VObj+2072,a0 + jsr _memcpy + move.l #296,d0 + lea .LC8,a1 + lea _VObj+2368,a0 + jsr _memcpy + move.l #296,d0 + lea .LC9,a1 + lea _VObj+2664,a0 + jsr _memcpy + move.l #296,d0 + lea .LC10,a1 + lea _VObj+2960,a0 + jsr _memcpy + move.l #296,d0 + lea .LC11,a1 + lea _VObj+3256,a0 + jsr _memcpy + move.l #296,d0 + lea .LC12,a1 + lea _VObj+3552,a0 + jsr _memcpy + move.l _LData,a0 + move.b (a0),d0 + lea (28,sp),sp + btst #6,d0 + jeq .L666 + lea _GREATEFFECT,a3 + lea (1300,sp),a0 + moveq #13,d0 + jsr (a3) + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L666 + move.l 66(sp),a1 + lea .LC46,a0 +.L488: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L488 + lea (1300,sp),a1 + lea (193,sp),a0 + jsr (a2) + move.l 66(sp),a1 + lea .LC47,a0 +.L489: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L489 + clr.l -(sp) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + pea 5.w + pea 37.w + move.w #640,a1 + moveq #20,d1 + not.b d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + pea .LC57 + pea 5.w + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #31,a0 + moveq #50,d1 + not.b d1 + move.l #320,d0 + jsr _WRITE + pea .LC58 + pea 5.w + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #31,a0 + move.l #285,d1 + move.l #320,d0 + jsr _WRITE + moveq #0,d0 + move.b _AScr,d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #0,d0 + moveq #55,d1 + not.b d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + move.l d1,d3 + move.l #640,d4 + moveq #100,d5 + moveq #63,d6 + not.b d6 +#APP +| 698 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + lea (40,sp),sp + move.l #296,d0 + lea .LC13,a1 + lea _VObj,a0 + jsr _memcpy + move.l #296,d0 + lea .LC14,a1 + lea _VObj+296,a0 + jsr _memcpy + move.l #296,d0 + lea .LC15,a1 + lea _VObj+592,a0 + jsr _memcpy + move.l #296,d0 + lea .LC16,a1 + lea _VObj+888,a0 + jsr _memcpy + move.l #296,d0 + lea .LC17,a1 + lea _VObj+1184,a0 + jsr _memcpy + move.l #296,d0 + lea .LC18,a1 + lea _VObj+1480,a0 + jsr _memcpy + move.l #296,d0 + lea .LC19,a1 + lea _VObj+1776,a0 + jsr _memcpy + move.l #296,d0 + lea .LC20,a1 + lea _VObj+2072,a0 + jsr _memcpy + move.l #296,d0 + lea .LC21,a1 + lea _VObj+2368,a0 + jsr _memcpy + move.l #296,d0 + lea .LC22,a1 + lea _VObj+2664,a0 + jsr _memcpy + move.l #296,d0 + lea .LC23,a1 + lea _VObj+2960,a0 + jsr _memcpy + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L666 + lea (1300,sp),a0 + moveq #11,d0 + jsr (a3) + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L666 + move.l 66(sp),a1 + lea .LC48,a0 +.L491: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L491 + lea (1300,sp),a1 + lea (193,sp),a0 + jsr (a2) + move.l 66(sp),a1 + lea .LC49,a0 +.L492: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L492 + clr.l -(sp) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + pea 5.w + pea 37.w + move.w #640,a1 + moveq #20,d1 + not.b d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + moveq #0,d0 + move.b _AScr,d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + move.w #84,a0 + add.l (a5,d1.l),a0 + moveq #0,d0 + moveq #20,d1 + not.b d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + move.l d1,d3 + move.l #640,d4 + moveq #37,d5 + moveq #63,d6 + not.b d6 +#APP +| 755 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l #296,d0 + lea .LC24,a1 + lea _VObj,a0 + jsr _memcpy + move.l #296,d0 + lea .LC25,a1 + lea _VObj+296,a0 + jsr _memcpy + move.l #296,d0 + lea .LC26,a1 + lea _VObj+592,a0 + jsr _memcpy + move.l #296,d0 + lea .LC27,a1 + lea _VObj+888,a0 + jsr _memcpy + move.l #296,d0 + lea .LC28,a1 + lea _VObj+1184,a0 + jsr _memcpy + move.l #296,d0 + lea .LC29,a1 + lea _VObj+1480,a0 + jsr _memcpy + move.l #296,d0 + lea .LC30,a1 + lea _VObj+1776,a0 + jsr _memcpy + move.l #296,d0 + lea .LC31,a1 + lea _VObj+2072,a0 + jsr _memcpy + move.l #296,d0 + lea .LC32,a1 + lea _VObj+2368,a0 + jsr _memcpy + move.l #296,d0 + lea .LC33,a1 + lea _VObj+2664,a0 + jsr _memcpy + move.l #296,d0 + lea .LC34,a1 + lea _VObj+2960,a0 + jsr _memcpy + move.l #296,d0 + lea .LC35,a1 + lea _VObj+3256,a0 + jsr _memcpy + move.l _LData,a0 + move.b (a0),d0 + lea (16,sp),sp + btst #6,d0 + jeq .L666 + lea (1300,sp),a0 + moveq #12,d0 + jsr (a3) + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L666 + move.l _GfxBase,a6 + move.l d7,a0 + move.l d4,d0 + move.l #360,d1 +#APP +| 812 "test.c" 1 + jsr a6@(-0x1f2:W) +#NO_APP + move.l _MyScreen+4,a0 + cmp.w #0,a0 + jeq .L495 + move.l _IntuitionBase,a6 +#APP +| 818 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+4 +.L495: + move.l _MyScreen+8,a0 + cmp.w #0,a0 + jeq .L496 + move.l _IntuitionBase,a6 +#APP +| 818 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + clr.l _MyScreen+8 +.L496: + move.l _SysBase,a6 + lea _IMemA,a0 + move.l (a0),a1 + lea _IMemL,a0 + move.l (a0),d0 +#APP +| 822 "test.c" 1 + jsr a6@(-0xd2:W) +#NO_APP + clr.l _IMemA + moveq #7,d0 + jsr _OPENCINEMA + move.l d0,_MyScreen+4 + jeq .L476 + moveq #7,d0 + jsr _OPENCINEMA + move.l d0,_MyScreen+8 + jeq .L476 + move.l #201856,_IMemL + move.l #21000,_IMemL+4 + move.l _SysBase,a6 + move.l #201856,d0 + moveq #2,d1 +#APP +| 838 "test.c" 1 + jsr a6@(-0xc6:W) +#NO_APP + lea _IMemA,a1 + move.l d0,(a1) + jeq .L476 + move.l _SysBase,a6 + move.l _IMemL+4,d0 + moveq #2,d1 +#APP +| 838 "test.c" 1 + jsr a6@(-0xc6:W) +#NO_APP + move.l d0,_IMemA+4 + jeq .L476 + move.w #-32756,_custom+150 + move.l _GfxBase,a6 +#APP +| 850 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + move.l #-16777216,d4 +.L497: + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+8,a0 + moveq #0,d0 + move.l d4,d1 + move.l d4,d2 + move.l d4,d3 +#APP +| 856 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + move.l _GfxBase,a6 +#APP +| 858 "test.c" 1 + jsr a6@(-0x10e:W) +#NO_APP + add.l #-83886080,d4 + cmp.l #167772160,d4 + jne .L497 + move.l _GfxBase,a6 + move.w #44,a0 + add.l _MyScreen+8,a0 + moveq #0,d0 + moveq #0,d1 + moveq #0,d2 + moveq #0,d3 +#APP +| 861 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + move.w #12,_custom+150 + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + move.l 66(sp),a1 + lea .LC50,a0 +.L498: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L498 + lea _OPENSMOOTH,a3 + move.l #1005,d0 + lea (193,sp),a0 + jsr (a3) + tst.l d0 + jeq .L499 + move.l _DOSBase,a6 + move.l d0,d1 +#APP +| 868 "test.c" 1 + jsr a6@(-0x24:W) +#NO_APP +.L499: + move.l 66(sp),a1 + lea .LC51,a0 +.L500: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L500 + lea (1300,sp),a1 + lea (193,sp),a0 + jsr (a2) + move.l 66(sp),a1 + lea .LC52,a0 +.L501: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L501 + clr.l -(sp) + move.l _MyScreen+8,-(sp) + pea 7.w + pea 360.w + move.w #640,a1 + moveq #75,d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + move.l _GfxBase,a6 + move.w #84,a0 + add.l _MyScreen+8,a0 + moveq #0,d0 + moveq #75,d1 + move.w #84,a1 + add.l _MyScreen+4,a1 + moveq #0,d2 + moveq #75,d3 + move.l #640,d4 + move.l #360,d5 + moveq #63,d6 + not.b d6 +#APP +| 876 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + lea (16,sp),sp + move.l 66(sp),a1 + lea .LC53,a0 +.L502: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L502 + move.l #1005,d0 + lea (193,sp),a0 + jsr (a3) + move.l d0,d4 + jeq .L503 + move.l _DOSBase,a6 + move.l d0,d1 + moveq #0,d2 + moveq #1,d3 +#APP +| 882 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + move.l _DOSBase,a6 + move.l d4,d1 + moveq #-1,d3 +#APP +| 883 "test.c" 1 + jsr a6@(-0x42:W) +#NO_APP + lea _IMemL,a2 + move.l (a2),d2 + add.l #-250,d2 + sub.l d0,d2 + move.l _DOSBase,a6 + move.l d4,d1 + lea _IMemA,a0 + add.l (a0),d2 + move.l d0,d3 +#APP +| 884 "test.c" 1 + jsr a6@(-0x2a:W) +#NO_APP + lea _IMemA,a1 + move.l (a1),a0 + move.l (a2),a1 + lea (-250,a1),a1 + sub.l d3,a1 + moveq #0,d1 + move.l #20160,d0 + lea (a0,a1.l),a1 + jsr _UNPACK + move.l _DOSBase,a6 + move.l d4,d1 +#APP +| 886 "test.c" 1 + jsr a6@(-0x24:W) +#NO_APP +.L503: + lea _IMemA,a2 + move.l (a2),d0 + move.w #20,228(sp) + move.w #144,230(sp) + move.b #1,232(sp) + move.b #7,233(sp) + clr.w 234(sp) + move.l d0,236(sp) + move.l d0,d1 + add.l #2880,d1 + move.l d1,240(sp) + move.l d0,d2 + add.l #5760,d2 + move.l d2,244(sp) + add.l #5760,d1 + move.l d1,248(sp) + add.l #5760,d2 + move.l d2,252(sp) + add.l #5760,d1 + move.l d1,256(sp) + add.l #17280,d0 + move.l d0,260(sp) + clr.l 264(sp) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 896 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #20,d2 + move.l d2,74(sp) + clr.l d4 + clr.l d5 + lea (1684,sp),a2 + move.l a2,58(sp) + lea ___muldf3,a4 + lea _it_round,a3 +.L505: + move.l #-1717986918,-(sp) + move.l #1068079513,-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + lea (1300,sp),a2 + addq.l #3,a2 + move.l a2,82(sp) + moveq #1,d6 +.L504: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #0,d0 + move.b (a2),d0 + move.l d0,-(sp) + move.l a0,50(sp) + jsr ___floatsidf + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d7 + lsl.w #8,d7 + swap d7 + clr.w d7 + moveq #0,d0 + move.b 1(a2),d0 + move.l d0,-(sp) + jsr ___floatsidf + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + lsl.w #8,d2 + swap d2 + clr.w d2 + moveq #0,d0 + move.b 2(a2),d0 + move.l d0,-(sp) + jsr ___floatsidf + move.l d5,(sp) + move.l d4,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lsl.w #8,d3 + swap d3 + clr.w d3 + move.l _GfxBase,a6 + move.l 70(sp),a0 + move.l d6,d0 + move.l d7,d1 +#APP +| 903 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #3,a2 + addq.l #1,d6 + lea (24,sp),sp + cmp.l 58(sp),a2 + jne .L504 + subq.l #1,74(sp) + jne .L505 + moveq #1,d5 + move.l a2,d4 + move.l 82(sp),a2 +.L506: + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + moveq #0,d1 + move.b (a2),d1 + moveq #0,d2 + move.b 1(a2),d2 + moveq #0,d3 + move.b 2(a2),d3 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + move.l d5,d0 + lsl.w #8,d1 + swap d1 + clr.w d1 + lsl.w #8,d2 + swap d2 + clr.w d2 + lsl.w #8,d3 + swap d3 + clr.w d3 +#APP +| 912 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #0,d1 + move.b (a2),d1 + moveq #0,d2 + move.b 1(a2),d2 + moveq #0,d3 + move.b 2(a2),d3 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + move.l d5,d0 + lsl.w #8,d1 + swap d1 + clr.w d1 + lsl.w #8,d2 + swap d2 + clr.w d2 + lsl.w #8,d3 + swap d3 + clr.w d3 +#APP +| 915 "test.c" 1 + jsr a6@(-0x354:W) +#NO_APP + addq.l #3,a2 + addq.l #1,d5 + cmp.l a2,d4 + jne .L506 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-4,d1 + moveq #0,d2 + moveq #75,d3 + move.l #639,d4 + move.l #434,d5 +#APP +| 919 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 + moveq #63,d6 + not.b d6 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 923 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + move.l #639,d4 + move.l #434,d5 +#APP +| 925 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 926 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #119,d7 + not.b d7 + move.l d4,a2 +.L507: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 933 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + moveq #0,d2 + moveq #75,d3 + move.l #639,d4 + move.l #434,d5 +#APP +| 935 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l a2,d4 + moveq #8,d5 + moveq #63,d6 + not.b d6 +#APP +| 936 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #0,d0 + move.l d7,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #380,d2 + moveq #95,d4 + not.b d4 +#APP +| 937 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + subq.l #4,d7 + moveq #-4,d2 + cmp.l d7,d2 + jne .L507 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 943 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + moveq #0,d2 + move.l #639,d4 + move.l #434,d5 +#APP +| 945 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 +#APP +| 946 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l #380,d2 + moveq #79,d3 + moveq #95,d4 + not.b d4 + moveq #4,d5 +#APP +| 947 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #14,d7 + move.w #639,a2 +.L508: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 951 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #-8,d1 + moveq #0,d2 + moveq #75,d3 + move.l a2,d4 + move.l #434,d5 +#APP +| 953 "test.c" 1 + jsr a6@(-0x18c:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.w #84,a0 + add.l (a5,d0.l),a0 + move.l _GfxBase,a6 + moveq #0,d0 + move.l #270,d1 + move.l a0,a1 + move.l #640,d4 + moveq #8,d5 + moveq #63,d6 + not.b d6 +#APP +| 954 "test.c" 1 + jsr a6@(-0x228:W) +#NO_APP + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + subq.b #1,d7 + jne .L508 + moveq #10,d0 + jsr _delay + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L476 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + move.l d0,a0 + add.l d0,a0 + pea 434.w + pea 639.w + lea _RECT,a2 + move.w #75,a1 + moveq #0,d1 + moveq #0,d0 + move.l (a5,a0.l),a0 + jsr (a2) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 964 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + move.l d0,a0 + add.l d0,a0 + pea 434.w + pea 639.w + move.w #75,a1 + moveq #0,d1 + moveq #0,d0 + move.l (a5,a0.l),a0 + jsr (a2) + lea (16,sp),sp + move.l 66(sp),a1 + lea .LC54,a0 +.L509: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L509 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + lea (193,sp),a1 + move.l (a5,d0.l),a0 + jsr _SETCOLOR + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + lea (193,sp),a1 + move.l (a5,d0.l),a0 + jsr _SETCOLOR + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #127,d0 + moveq #9,d1 + moveq #9,d2 + moveq #11,d3 +#APP +| 971 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #127,d0 + moveq #9,d1 +#APP +| 971 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #126,d0 + moveq #11,d1 + moveq #11,d2 + moveq #15,d3 +#APP +| 972 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #126,d0 + moveq #11,d1 +#APP +| 972 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #125,d0 + moveq #15,d1 + moveq #0,d2 +#APP +| 973 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #125,d0 + moveq #15,d1 +#APP +| 973 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #124,d0 + moveq #13,d1 + moveq #0,d3 +#APP +| 974 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d2 + sub.l d0,d2 + move.l d2,d0 + add.l d2,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #124,d0 + moveq #15,d1 + moveq #2,d2 + moveq #2,d3 +#APP +| 974 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #123,d0 + moveq #14,d1 + moveq #14,d2 + moveq #15,d3 +#APP +| 975 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #44,a0 + add.l (a5,d0.l),a0 + moveq #123,d0 + moveq #14,d1 +#APP +| 975 "test.c" 1 + jsr a6@(-0x120:W) +#NO_APP + lea .LC55,a0 + move.l 66(sp),a1 +.L510: + move.b (a0)+,d0 + move.b d0,(a1)+ + jne .L510 + clr.l -(sp) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + pea 7.w + pea 360.w + move.w #640,a1 + moveq #75,d1 + moveq #0,d0 + lea (209,sp),a0 + jsr _DISPLAYIMAGE + lea _IMemA,a0 + move.l (a0),d2 + moveq #40,d1 + moveq #0,d0 + lea (244,sp),a0 + jsr _memset + move.w #80,244(sp) + move.w #360,246(sp) + move.b #1,248(sp) + move.b #7,249(sp) + move.l d2,252(sp) + move.l d2,d0 + add.l #28800,d0 + move.l d0,256(sp) + move.l d2,d1 + add.l #57600,d1 + move.l d1,260(sp) + add.l #57600,d0 + move.l d0,264(sp) + add.l #57600,d1 + move.l d1,268(sp) + add.l #57600,d0 + move.l d0,272(sp) + add.l #172800,d2 + move.l d2,276(sp) + moveq #0,d0 + move.b _AScr,d0 + moveq #3,d1 + sub.l d0,d1 + move.l d1,d0 + add.l d1,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (244,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + moveq #75,d3 + move.l #640,d4 + move.l #360,d5 + moveq #63,d6 + not.b d6 +#APP +| 983 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + move.l _GfxBase,a6 + move.l d4,d0 + move.l d5,d1 +#APP +| 985 "test.c" 1 + jsr a6@(-0x1ec:W) +#NO_APP + move.l d0,122(sp) + lea (16,sp),sp + jeq .L476 + move.l _GfxBase,a6 + lea (118,sp),a0 + move.l d0,a1 + move.l #21000,d0 +#APP +| 990 "test.c" 1 + jsr a6@(-0x1d4:W) +#NO_APP + move.l _GfxBase,a6 + lea (168,sp),a0 + move.l _IMemA+4,a1 + moveq #55,d0 + not.b d0 +#APP +| 991 "test.c" 1 + jsr a6@(-0x11a:W) +#NO_APP + move.l _MyScreen+4,a1 + moveq #118,d2 + add.l sp,d2 + move.l d2,96(a1) + move.l _MyScreen+8,a0 + move.l d2,96(a0) + moveq #87,d1 + not.b d1 + add.l sp,d1 + move.l d1,100(a1) + move.l d1,100(a0) + move.l #1020,d0 + lea .LC36,a1 + lea (1684,sp),a0 + jsr _memcpy + clr.b 151(sp) + move.b #4,152(sp) + move.b #5,153(sp) + move.b #4,154(sp) + move.b #5,155(sp) + move.b #4,156(sp) + move.b #5,157(sp) + move.b #4,158(sp) + move.b #5,159(sp) + move.b #4,160(sp) + move.b #5,161(sp) + move.b #5,162(sp) + move.b #5,163(sp) + move.b #4,164(sp) + move.b #5,165(sp) + move.b #4,166(sp) + move.b #4,167(sp) + lea (316,sp),a2 + move.l #328,d0 + lea .LC38,a1 + move.l a2,a0 + jsr _memcpy + lea (644,sp),a0 + move.l a0,62(sp) + move.l #328,d0 + lea .LC39,a1 + jsr _memcpy + move.l sp,d3 + add.l #972,d3 + move.l #328,d0 + lea .LC40,a1 + move.l d3,a0 + jsr _memcpy + move.l a2,d4 + addq.l #8,d4 + lea (644,sp),a1 + addq.l #8,a1 + move.l a1,66(sp) + move.l a1,a6 + move.l d4,d5 +.L511: + move.l d5,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + clr.l -(sp) + move.l #1081151488,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d5,a1 + move.l d0,(a1)+ + move.l d1,(a1)+ + move.l a1,d5 + move.l 4(a6),-(sp) + move.l (a6),-(sp) + clr.l -(sp) + move.l #1081085952,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,(a6)+ + move.l d1,(a6)+ + cmp.l 62(sp),d5 + jne .L511 + move.l #-858993459,-(sp) + move.l #1071434956,-(sp) + jsr _sin + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l #-858993459,-(sp) + move.l #1071434956,-(sp) + jsr _cos + move.l d0,98(sp) + move.l d1,102(sp) + move.l d0,_FactorCos + move.l d1,_FactorCos+4 + move.l _FactorSin,114(sp) + move.l _FactorSin+4,118(sp) + lea (16,sp),sp + moveq #3,d2 + lea (972,sp),a1 + move.l d4,d6 + move.b d2,d7 + move.l d5,114(sp) + move.l d3,110(sp) +.L512: + move.l 110(sp),a0 + addq.l #8,a0 + move.l a0,74(sp) + move.l a1,110(sp) + move.l 66(sp),a6 +.L513: + move.l (a6),d4 + move.l 4(a6),d5 + move.l (a0),90(sp) + move.l 4(a0),94(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l a0,62(sp) + move.l a1,66(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d2 + move.l d1,d3 + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,(a6)+ + move.l d1,(a6)+ + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d2 + move.l d1,d3 + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l 46(sp),a0 + move.l d0,(a0)+ + move.l d1,(a0)+ + move.l 50(sp),a1 + cmp.l a1,a6 + jne .L513 + subq.b #1,d7 + jne .L512 + move.l 114(sp),d5 + move.l #-1030792151,-(sp) + move.l #-1076090635,-(sp) + jsr _sin + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l #-1030792151,-(sp) + move.l #-1076090635,-(sp) + jsr _cos + move.l d0,98(sp) + move.l d1,102(sp) + move.l d0,_FactorCos + move.l d1,_FactorCos+4 + move.l _FactorSin,d2 + move.l _FactorSin+4,d3 + lea (16,sp),sp + move.l d6,a6 + move.l d6,a0 + move.l d2,98(sp) + move.l d3,102(sp) + move.l d5,d2 +.L515: + move.l (a6),d4 + move.l 4(a6),d5 + move.l 74(sp),a1 + move.l (a1),90(sp) + move.l 4(a1),94(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l a0,62(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,(a6)+ + move.l d1,(a6)+ + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l 74(sp),a1 + addq.l #8,74(sp) + move.l d0,(a1)+ + move.l d1,(a1)+ + move.l 46(sp),a0 + cmp.l a6,d2 + jne .L515 + move.l a0,d4 + move.l #1202590843,-(sp) + move.l #-1078691103,-(sp) + jsr _sin + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l #1202590843,-(sp) + move.l #-1078691103,-(sp) + jsr _cos + move.l d0,90(sp) + move.l d1,94(sp) + move.l d0,_FactorCos + move.l d1,_FactorCos+4 + move.l _FactorSin,d2 + move.l _FactorSin+4,d3 + lea (16,sp),sp + move.l d2,90(sp) + move.l d3,94(sp) + move.l a6,d2 + move.l d4,a6 +.L516: + move.l (a6),d4 + move.l 4(a6),d5 + move.l 66(sp),a0 + move.l (a0),82(sp) + move.l 4(a0),86(sp) + move.l d5,-(sp) + move.l d4,-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,(a6)+ + move.l d1,(a6)+ + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + move.l d5,-(sp) + move.l d4,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,d6 + move.l d1,d7 + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d7,-(sp) + move.l d6,-(sp) + jsr ___adddf3 + lea (16,sp),sp + move.l 66(sp),a1 + addq.l #8,66(sp) + move.l d0,(a1)+ + move.l d1,(a1)+ + cmp.l a6,d2 + jne .L516 + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jeq .L538 + clr.l 130(sp) + moveq #75,d0 + move.l d0,142(sp) + clr.l 134(sp) + move.l d0,146(sp) + move.l #341,90(sp) + move.l #1065242486,82(sp) + move.l #1608035756,86(sp) + move.l #1065512599,66(sp) + move.l #-1924145349,70(sp) + clr.l 74(sp) + moveq #1,d7 +.L533: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 1057 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d2 + sub.b _AScr,d2 + move.b d2,_AScr + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l #-1030792151,(sp) + move.l #1070344437,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,316(sp) + move.l d1,320(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + move.l 656(sp),-(sp) + move.l 656(sp),-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,644(sp) + move.l d1,648(sp) + and.l #255,d2 + move.l d2,a1 + add.l d2,a1 + add.l a1,a1 + lea (2704,sp),a0 + add.l a1,a0 + move.l -2578(a0),d0 + move.l -2566(a0),d3 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #-75,d1 + add.l d3,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + move.l d0,d2 + moveq #95,d4 + not.b d4 + moveq #80,d5 + moveq #63,d6 + not.b d6 +#APP +| 1061 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #20,d0 + moveq #110,d1 + not.b d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #20,d2 + moveq #35,d3 + not.b d3 + move.l #600,d4 + moveq #55,d5 +#APP +| 1062 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + moveq #0,d2 + move.b _AScr,d2 + clr.l -(sp) + move.l #1079410688,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + add.l d2,d2 + add.l d2,d2 + lea (2712,sp),a0 + add.l d2,a0 + move.l d0,-2578(a0) + moveq #0,d2 + move.b _AScr,d2 + add.l d2,d2 + move.l d2,a0 + add.l d2,a0 + move.l #2712,d1 + add.l sp,d1 + add.l d1,a0 + lea (-2578,a0),a0 + addq.l #8,sp + tst.l (a0) + jge .L518 + clr.l (a0) +.L518: + clr.l -(sp) + move.l #1078853632,-(sp) + move.l 656(sp),-(sp) + move.l 656(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + add.l d2,d2 + lea (2712,sp),a0 + add.l d2,a0 + move.l d0,-2566(a0) + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + lea (2712,sp),a0 + add.l d0,a0 + lea (-2566,a0),a0 + addq.l #8,sp + moveq #74,d2 + cmp.l (a0),d2 + jlt .L519 + moveq #75,d0 + move.l d0,(a0) +.L519: + move.l 70(sp),-(sp) + move.l 70(sp),-(sp) + clr.l -(sp) + move.l #1072693248,-(sp) + jsr ___divdf3 + lea (16,sp),sp + move.l d0,98(sp) + move.l d1,102(sp) + moveq #8,d6 +.L522: + move.l 316(sp),d2 + move.l 320(sp),d3 + move.l 4(a2,d6.l),-(sp) + move.l (a2,d6.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr ___subdf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + clr.l -(sp) + clr.l -(sp) + move.l d5,-(sp) + move.l d0,-(sp) + jsr ___ltdf2 + lea (16,sp),sp + tst.l d0 + jlt .L669 +.L520: + addq.l #8,d6 + cmp.l #328,d6 + jne .L522 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #124,d0 +#APP +| 1077 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 480(sp),-(sp) + move.l 480(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 816(sp),-(sp) + move.l 816(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1079 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #87,d2 + not.b d2 +.L523: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1080 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #200,d2 + jne .L523 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1081 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #126,d0 +#APP +| 1082 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 424(sp),-(sp) + move.l 424(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 760(sp),-(sp) + move.l 760(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1085 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #112,d2 +.L524: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a1 + add.l d2,a1 + move.l 4(a1),-(sp) + move.l (a1),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1086 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #136,d2 + jne .L524 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1087 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 456(sp),-(sp) + move.l 456(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 792(sp),-(sp) + move.l 792(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1090 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #111,d2 + not.b d2 +.L525: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1091 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #160,d2 + jne .L525 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1092 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #127,d0 +#APP +| 1093 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1096 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #16,d2 + add.l a2,d2 + move.l #660,d3 + add.l sp,d3 + moveq #16,d0 + add.l d0,d3 + moveq #104,d4 + add.l a2,d4 + lea (16,sp),sp +.L526: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d6 + add.l (a5,d0.l),d6 + move.l d2,a0 + subq.l #8, sp + move.l (a0)+,(sp) + move.l (a0)+,4(sp) + move.l a0,d2 + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d5 + move.l d3,a1 + subq.l #8, sp + move.l (a1)+,(sp) + move.l (a1)+,4(sp) + move.l a1,d3 + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d6,a1 + move.l d5,d0 +#APP +| 1097 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + lea (16,sp),sp + cmp.l d4,d2 + jne .L526 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1098 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #125,d0 +#APP +| 1099 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 520(sp),-(sp) + move.l 520(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 856(sp),-(sp) + move.l 856(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1102 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #47,d2 + not.b d2 +.L527: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a0 + add.l d2,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1103 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #232,d2 + jne .L527 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1104 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d3 + add.l (a5,d0.l),d3 + move.l 552(sp),-(sp) + move.l 552(sp),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d2 + move.l 888(sp),-(sp) + move.l 888(sp),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d3,a1 + move.l d2,d0 +#APP +| 1105 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + lea (16,sp),sp + moveq #15,d2 + not.b d2 +.L528: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + moveq #84,d4 + add.l (a5,d0.l),d4 + move.l 4(a2,d2.l),-(sp) + move.l (a2,d2.l),-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 328(sp),-(sp) + move.l 328(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d3 + lea (652,sp),a1 + add.l d2,a1 + move.l 4(a1),-(sp) + move.l (a1),-(sp) + move.l 86(sp),-(sp) + move.l 86(sp),-(sp) + jsr (a4) + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + move.l 664(sp),-(sp) + move.l 664(sp),-(sp) + jsr ___subdf3 + lea (12,sp),sp + move.l d1,(sp) + move.l d0,-(sp) + jsr (a3) + move.l d0,d1 + move.l _GfxBase,a6 + move.l d4,a1 + move.l d3,d0 +#APP +| 1106 "test.c" 1 + jsr a6@(-0x102:W) +#NO_APP + addq.l #8,d2 + lea (16,sp),sp + cmp.l #264,d2 + jne .L528 + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 +#APP +| 1107 "test.c" 1 + jsr a6@(-0x108:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 +#APP +| 1108 "test.c" 1 + jsr a6@(-0x156:W) +#NO_APP + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _GfxBase,a6 + move.w #84,a1 + add.l (a5,d0.l),a1 + moveq #0,d0 + moveq #75,d1 + moveq #0,d2 + moveq #55,d3 + not.b d3 +#APP +| 1109 "test.c" 1 + jsr a6@(-0x132:W) +#NO_APP + moveq #1,d0 + cmp.l 74(sp),d0 + jcc .L529 + move.l d7,d2 + lsl.l #4,d2 + sub.l d7,d2 + add.l d2,d2 + add.l d2,d2 + lea (1684,sp),a0 + pea (a0,d2.l) + lea (2708,sp),a6 + add.l d7,a6 + moveq #0,d0 + move.b -2553(a6),d0 + move.l d0,-(sp) + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #123,a0 + moveq #35,d1 + not.b d1 + move.l #320,d0 + jsr _WRITE + lea (1756,sp),a1 + pea (a1,d2.l) + moveq #0,d0 + move.b -2552(a6),d0 + move.l d0,-(sp) + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #123,a0 + moveq #10,d1 + not.b d1 + move.l #320,d0 + jsr _WRITE + lea (24,sp),sp +.L529: + addq.l #1,74(sp) + moveq #55,d0 + cmp.l 74(sp),d0 + jcc .L530 + addq.l #2,d7 + clr.l 74(sp) +.L530: + move.l #1580547965,-(sp) + move.l #1072712122,-(sp) + move.l 94(sp),-(sp) + move.l 94(sp),-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,82(sp) + move.l d1,86(sp) + move.l #2109687936,-(sp) + move.l #1072707613,-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,66(sp) + move.l d1,70(sp) + subq.l #1,90(sp) + jeq .L670 + move.l #-1717986918,-(sp) + move.l #1074370969,-(sp) + move.l 78(sp),-(sp) + move.l 78(sp),-(sp) + jsr ___ledf2 + lea (16,sp),sp + move.l _LData,a0 + tst.l d0 + jgt .L531 + move.b (a0),d0 + btst #6,d0 + jne .L533 +.L531: + move.b (a0),d0 + btst #6,d0 + jeq .L538 + moveq #15,d1 + cmp.l d7,d1 + jcs .L538 + move.w #640,a2 + move.w #360,a3 + move.w #220,a4 +.L601: + moveq #0,d0 + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l _IntuitionBase,a6 + move.l (a5,d0.l),a0 +#APP +| 1132 "test.c" 1 + jsr a6@(-0xfc:W) +#NO_APP + moveq #3,d0 + sub.b _AScr,d0 + move.b d0,_AScr + and.l #255,d0 + add.l d0,d0 + move.l d0,a1 + add.l d0,a1 + move.l _GfxBase,a6 + lea (228,sp),a0 + moveq #0,d0 + moveq #0,d1 + move.l (a5,a1.l),a1 + lea (84,a1),a1 + moveq #0,d2 + moveq #75,d3 + move.l a2,d4 + move.l a3,d5 + moveq #63,d6 + not.b d6 +#APP +| 1134 "test.c" 1 + jsr a6@(-0x25e:W) +#NO_APP + tst.l 74(sp) + jne .L671 + moveq #1,d1 + move.l d1,74(sp) +.L537: + moveq #16,d2 + cmp.l d7,d2 + jcs .L538 + move.l _LData,a0 + move.b (a0),d0 + btst #6,d0 + jne .L601 +.L538: + move.l 106(sp),a0 + jsr _INTROEXIT + movem.l (sp)+,#31996 + lea (2660,sp),sp + rts +.L476: + sub.l a0,a0 + jsr _INTROEXIT + movem.l (sp)+,#31996 + lea (2660,sp),sp + rts +.L666: + move.l d7,a0 + jsr _INTROEXIT + movem.l (sp)+,#31996 + lea (2660,sp),sp + rts +.L669: + move.l d5,-(sp) + move.l d4,-(sp) + jsr ___fixdfsi + addq.l #8,sp + jsr _abs + move.l d0,-(sp) + jsr ___floatsidf + move.l d3,(sp) + move.l d2,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___adddf3 + lea (12,sp),sp + move.l d3,(sp) + move.l d2,-(sp) + move.l d1,-(sp) + move.l d0,-(sp) + jsr ___divdf3 + lea (16,sp),sp + move.l d0,d4 + move.l d1,d5 + move.l d0,_FactorSin + move.l d1,_FactorSin+4 + move.l 102(sp),-(sp) + move.l 102(sp),-(sp) + move.l d3,-(sp) + move.l d2,-(sp) + jsr (a4) + lea (16,sp),sp + move.l d0,(a2,d6.l) + move.l d1,4(a2,d6.l) + move.l d5,-(sp) + move.l d4,-(sp) + lea (652,sp),a0 + add.l d6,a0 + move.l 4(a0),-(sp) + move.l (a0),-(sp) + jsr ___divdf3 + lea (16,sp),sp + lea (644,sp),a1 + move.l d0,(a1,d6.l) + move.l d1,4(a1,d6.l) + jra .L520 +.L670: + move.l _LData,a0 + jra .L531 +.L671: + move.l d7,d2 + lsl.l #4,d2 + sub.l d7,d2 + add.l d2,d2 + add.l d2,d2 + lea (1684,sp),a0 + pea (a0,d2.l) + lea (2708,sp),a6 + add.l d7,a6 + moveq #0,d0 + move.b -2553(a6),d0 + move.l d0,-(sp) + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #123,a0 + move.l a4,d1 + move.l #320,d0 + jsr _WRITE + lea (1756,sp),a1 + pea (a1,d2.l) + moveq #0,d0 + move.b -2552(a6),d0 + move.l d0,-(sp) + move.b _AScr,d0 + add.l d0,d0 + add.l d0,d0 + move.l (a5,d0.l),-(sp) + move.w #16,a1 + move.w #123,a0 + moveq #10,d1 + not.b d1 + move.l #320,d0 + jsr _WRITE + addq.l #1,98(sp) + lea (24,sp),sp + moveq #20,d0 + cmp.l 74(sp),d0 + jcc .L537 + addq.l #2,d7 + clr.l 74(sp) + jra .L537 +.comm _SMemL,16 +.comm _SMemA,16 +.comm _VObj,3848 +.comm _AScr,1 +.comm _FactorMCos,8 +.comm _FactorMSin,8 +.comm _FactorSin,8 +.comm _FactorCos,8 diff --git a/test/test12/cc b/test/test12/cc new file mode 100755 index 0000000..4aa35e7 --- /dev/null +++ b/test/test12/cc @@ -0,0 +1,6 @@ +m68k-amigaos-gcc -S -Ofast test.c -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 +m68k-amigaos-gcc -S -Ofast test.c -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s -fbbb=- || exit 1 +r="$(diff --brief test.s golden.s)" +[ "$r" == "" ] || diff test.s golden.s +[ "$r" == "" ] || exit 1 +m68k-amigaos-gcc -o test -Ofast test.c -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 diff --git a/test/test12/golden.s b/test/test12/golden.s new file mode 100644 index 0000000..eaf89f3 --- /dev/null +++ b/test/test12/golden.s @@ -0,0 +1,15 @@ +#NO_APP + .text +.LC0: + .ascii "%llx\12\0" + .text + .align 2 + .globl _main +_main: + move.l #-559030611,-(sp) + move.l #-559030611,-(sp) + pea .LC0 + jsr _printf + moveq #0,d0 + lea (12,sp),sp + rts diff --git a/test/test12/test b/test/test12/test new file mode 100755 index 0000000..d84760c Binary files /dev/null and b/test/test12/test differ diff --git a/test/test12/test.c b/test/test12/test.c new file mode 100755 index 0000000..a42ecbc --- /dev/null +++ b/test/test12/test.c @@ -0,0 +1,18 @@ +#include +int main(int argc, char *argv[]) +{ +long long h = 0xDEADDEADDEADDEADll; +printf("%llx\n",h); +//printf("%lld\n",(long long)1971); +#if 0 +long long ll = 1000000001; +ll *= 3; +printf("%lld\n",ll); + +ll = 0x100000001; +ll *= 0x300000; +printf("%llx\n", ll); +#endif +return 0; +} + diff --git a/test/test12/test.s b/test/test12/test.s new file mode 100644 index 0000000..eaf89f3 --- /dev/null +++ b/test/test12/test.s @@ -0,0 +1,15 @@ +#NO_APP + .text +.LC0: + .ascii "%llx\12\0" + .text + .align 2 + .globl _main +_main: + move.l #-559030611,-(sp) + move.l #-559030611,-(sp) + pea .LC0 + jsr _printf + moveq #0,d0 + lea (12,sp),sp + rts diff --git a/test/test12/testno.s b/test/test12/testno.s new file mode 100644 index 0000000..7a9289b --- /dev/null +++ b/test/test12/testno.s @@ -0,0 +1,16 @@ +#NO_APP + .text +.LC0: + .ascii "%llx\12\0" + .text + .align 2 + .globl _main +_main: + link.w a5,#0 + move.l #-559030611,-(sp) + move.l #-559030611,-(sp) + pea .LC0 + jsr _printf + moveq #0,d0 + unlk a5 + rts diff --git a/test/test2/cc b/test/test2/cc new file mode 100755 index 0000000..06148f3 --- /dev/null +++ b/test/test2/cc @@ -0,0 +1,5 @@ +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s -fbbb=- || exit 1 +r="$(diff --brief test.s golden.s)" +[ "$r" == "" ] || diff test.s golden.s +[ "$r" == "" ] || exit 1 diff --git a/test/test2/golden.s b/test/test2/golden.s new file mode 100755 index 0000000..56948aa --- /dev/null +++ b/test/test2/golden.s @@ -0,0 +1,165 @@ +#NO_APP + .text + .align 2 + .globl _palette_fadeTo +_palette_fadeTo: + subq.l #8,sp + movem.l #16190,-(sp) + move.l a0,48(sp) + and.l #65535,d0 + move.l d0,a5 + move.w d1,d0 + lsr.w #8,d0 + moveq #12,d2 + lsl.l d2,d0 + and.l #61440,d0 + move.l d0,a4 + move.w d1,d7 + lsr.w #4,d7 + lsl.l d2,d7 + and.l #61440,d7 + lsl.l d2,d1 + move.l d1,d6 + and.l #61440,d6 + moveq #0,d5 + lea ___mulsi3,a2 +.L2: + cmp.w #0,a5 + jeq .L8 + move.l _custom,a6 + move.l 48(sp),a3 + moveq #0,d4 +.L6: + move.w (a3)+,d2 + move.w d2,d0 + lsr.w #8,d0 + moveq #15,d1 + and.l d1,d0 + lsl.l #8,d0 + sub.l a4,d0 + jmi .L20 + asr.l #4,d0 + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a2) + addq.l #8,sp + add.l a4,d0 + moveq #-1,d1 + not.b d1 + and.l d0,d1 + move.l d1,44(sp) + moveq #15,d0 + and.l d2,d0 + lsl.l #8,d0 + sub.l d6,d0 + jmi .L21 +.L4: + asr.l #4,d0 + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a2) + addq.l #8,sp + move.l d0,d3 + add.l d6,d3 + asr.l #8,d3 + or.w 46(sp),d3 + lsr.w #4,d2 + moveq #15,d0 + and.l d0,d2 + lsl.l #8,d2 + sub.l d7,d2 + jmi .L22 +.L5: + asr.l #4,d2 + move.l d5,-(sp) + move.l d2,-(sp) + jsr (a2) + addq.l #8,sp + add.l d7,d0 + asr.l #8,d0 + lsl.l #4,d0 + or.w d0,d3 + move.l d4,d0 + add.l d4,d0 + move.w d3,(a6,d0.l) + addq.l #1,d4 + cmp.l d4,a5 + jne .L6 +.L8: + jsr _hw_waitVerticalBlank + addq.l #1,d5 + moveq #16,d1 + cmp.l d5,d1 + jne .L2 + cmp.w #0,a5 + jeq .L10 + move.l _custom,a2 + move.l 48(sp),a0 + moveq #0,d0 +.L9: + move.w (a0)+,a1 + move.l d0,d1 + add.l d0,d1 + move.w a1,(a2,d1.l) + addq.l #1,d0 + cmp.l d0,a5 + jne .L9 +.L10: + move.l 48(sp),a0 + move.w (a0),_palette_background + movem.l (sp)+,#31996 + addq.l #8,sp + rts +.L20: + add.l d1,d0 + asr.l #4,d0 + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a2) + addq.l #8,sp + add.l a4,d0 + moveq #-1,d1 + not.b d1 + and.l d0,d1 + move.l d1,44(sp) + moveq #15,d0 + and.l d2,d0 + lsl.l #8,d0 + sub.l d6,d0 + jpl .L4 +.L21: + moveq #15,d1 + add.l d1,d0 + asr.l #4,d0 + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a2) + addq.l #8,sp + move.l d0,d3 + add.l d6,d3 + asr.l #8,d3 + or.w 46(sp),d3 + lsr.w #4,d2 + moveq #15,d0 + and.l d0,d2 + lsl.l #8,d2 + sub.l d7,d2 + jpl .L5 +.L22: + add.l d0,d2 + asr.l #4,d2 + move.l d5,-(sp) + move.l d2,-(sp) + jsr (a2) + addq.l #8,sp + add.l d7,d0 + asr.l #8,d0 + lsl.l #4,d0 + or.w d0,d3 + move.l d4,d0 + add.l d4,d0 + move.w d3,(a6,d0.l) + addq.l #1,d4 + cmp.l d4,a5 + jne .L6 + jra .L8 diff --git a/test/test2/test.c b/test/test2/test.c new file mode 100755 index 0000000..42dda95 --- /dev/null +++ b/test/test2/test.c @@ -0,0 +1,50 @@ +typedef short int int16_t; +typedef unsigned short int uint16_t; +typedef unsigned long uint32_t; + +#define PALETTE_NUM_FADE_STEPS 16 +#define _PALETTE_RED(x) ((x >> 8) & 0xf) +#define _PALETTE_GREEN(x) ((x >> 4) & 0xf) +#define _PALETTE_BLUE(x) ((x) & 0xf) +#define _PALETTE_FIXED 8 + +typedef struct { + uint16_t color[32]; +} custom_t; + +extern volatile custom_t* custom; + +extern void hw_waitVerticalBlank(); + +extern uint16_t palette_background; + +void +palette_fadeTo(uint16_t* palette, uint16_t colors, uint16_t color) +{ + int fr = _PALETTE_RED(color) << 4; + int fg = _PALETTE_GREEN(color) << 4; + int fb = _PALETTE_BLUE(color) << 4; + + for (int i = 0; i < PALETTE_NUM_FADE_STEPS; i++) { + for (int c = 0; c < colors; c++) { + + int tr = _PALETTE_RED(palette[c]); + int tg = _PALETTE_GREEN(palette[c]); + int tb = _PALETTE_BLUE(palette[c]); + + int nr = ((fr<<_PALETTE_FIXED)+((((tr<<_PALETTE_FIXED)-(fr<<_PALETTE_FIXED))/PALETTE_NUM_FADE_STEPS)*i))>>_PALETTE_FIXED; + int ng = ((fg<<_PALETTE_FIXED)+((((tg<<_PALETTE_FIXED)-(fg<<_PALETTE_FIXED))/PALETTE_NUM_FADE_STEPS)*i))>>_PALETTE_FIXED; + int nb = ((fb<<_PALETTE_FIXED)+((((tb<<_PALETTE_FIXED)-(fb<<_PALETTE_FIXED))/PALETTE_NUM_FADE_STEPS)*i))>>_PALETTE_FIXED; + + custom->color[c] = (nr<<8)|(ng<<4)|nb; + } + + hw_waitVerticalBlank(); + } + + for (int c = 0; c < colors; c++) { + custom->color[c] = palette[c]; + } + + palette_background = palette[0]; +} diff --git a/test/test2/test.s b/test/test2/test.s new file mode 100644 index 0000000..56948aa --- /dev/null +++ b/test/test2/test.s @@ -0,0 +1,165 @@ +#NO_APP + .text + .align 2 + .globl _palette_fadeTo +_palette_fadeTo: + subq.l #8,sp + movem.l #16190,-(sp) + move.l a0,48(sp) + and.l #65535,d0 + move.l d0,a5 + move.w d1,d0 + lsr.w #8,d0 + moveq #12,d2 + lsl.l d2,d0 + and.l #61440,d0 + move.l d0,a4 + move.w d1,d7 + lsr.w #4,d7 + lsl.l d2,d7 + and.l #61440,d7 + lsl.l d2,d1 + move.l d1,d6 + and.l #61440,d6 + moveq #0,d5 + lea ___mulsi3,a2 +.L2: + cmp.w #0,a5 + jeq .L8 + move.l _custom,a6 + move.l 48(sp),a3 + moveq #0,d4 +.L6: + move.w (a3)+,d2 + move.w d2,d0 + lsr.w #8,d0 + moveq #15,d1 + and.l d1,d0 + lsl.l #8,d0 + sub.l a4,d0 + jmi .L20 + asr.l #4,d0 + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a2) + addq.l #8,sp + add.l a4,d0 + moveq #-1,d1 + not.b d1 + and.l d0,d1 + move.l d1,44(sp) + moveq #15,d0 + and.l d2,d0 + lsl.l #8,d0 + sub.l d6,d0 + jmi .L21 +.L4: + asr.l #4,d0 + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a2) + addq.l #8,sp + move.l d0,d3 + add.l d6,d3 + asr.l #8,d3 + or.w 46(sp),d3 + lsr.w #4,d2 + moveq #15,d0 + and.l d0,d2 + lsl.l #8,d2 + sub.l d7,d2 + jmi .L22 +.L5: + asr.l #4,d2 + move.l d5,-(sp) + move.l d2,-(sp) + jsr (a2) + addq.l #8,sp + add.l d7,d0 + asr.l #8,d0 + lsl.l #4,d0 + or.w d0,d3 + move.l d4,d0 + add.l d4,d0 + move.w d3,(a6,d0.l) + addq.l #1,d4 + cmp.l d4,a5 + jne .L6 +.L8: + jsr _hw_waitVerticalBlank + addq.l #1,d5 + moveq #16,d1 + cmp.l d5,d1 + jne .L2 + cmp.w #0,a5 + jeq .L10 + move.l _custom,a2 + move.l 48(sp),a0 + moveq #0,d0 +.L9: + move.w (a0)+,a1 + move.l d0,d1 + add.l d0,d1 + move.w a1,(a2,d1.l) + addq.l #1,d0 + cmp.l d0,a5 + jne .L9 +.L10: + move.l 48(sp),a0 + move.w (a0),_palette_background + movem.l (sp)+,#31996 + addq.l #8,sp + rts +.L20: + add.l d1,d0 + asr.l #4,d0 + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a2) + addq.l #8,sp + add.l a4,d0 + moveq #-1,d1 + not.b d1 + and.l d0,d1 + move.l d1,44(sp) + moveq #15,d0 + and.l d2,d0 + lsl.l #8,d0 + sub.l d6,d0 + jpl .L4 +.L21: + moveq #15,d1 + add.l d1,d0 + asr.l #4,d0 + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a2) + addq.l #8,sp + move.l d0,d3 + add.l d6,d3 + asr.l #8,d3 + or.w 46(sp),d3 + lsr.w #4,d2 + moveq #15,d0 + and.l d0,d2 + lsl.l #8,d2 + sub.l d7,d2 + jpl .L5 +.L22: + add.l d0,d2 + asr.l #4,d2 + move.l d5,-(sp) + move.l d2,-(sp) + jsr (a2) + addq.l #8,sp + add.l d7,d0 + asr.l #8,d0 + lsl.l #4,d0 + or.w d0,d3 + move.l d4,d0 + add.l d4,d0 + move.w d3,(a6,d0.l) + addq.l #1,d4 + cmp.l d4,a5 + jne .L6 + jra .L8 diff --git a/test/test2/testno.s b/test/test2/testno.s new file mode 100644 index 0000000..56948aa --- /dev/null +++ b/test/test2/testno.s @@ -0,0 +1,165 @@ +#NO_APP + .text + .align 2 + .globl _palette_fadeTo +_palette_fadeTo: + subq.l #8,sp + movem.l #16190,-(sp) + move.l a0,48(sp) + and.l #65535,d0 + move.l d0,a5 + move.w d1,d0 + lsr.w #8,d0 + moveq #12,d2 + lsl.l d2,d0 + and.l #61440,d0 + move.l d0,a4 + move.w d1,d7 + lsr.w #4,d7 + lsl.l d2,d7 + and.l #61440,d7 + lsl.l d2,d1 + move.l d1,d6 + and.l #61440,d6 + moveq #0,d5 + lea ___mulsi3,a2 +.L2: + cmp.w #0,a5 + jeq .L8 + move.l _custom,a6 + move.l 48(sp),a3 + moveq #0,d4 +.L6: + move.w (a3)+,d2 + move.w d2,d0 + lsr.w #8,d0 + moveq #15,d1 + and.l d1,d0 + lsl.l #8,d0 + sub.l a4,d0 + jmi .L20 + asr.l #4,d0 + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a2) + addq.l #8,sp + add.l a4,d0 + moveq #-1,d1 + not.b d1 + and.l d0,d1 + move.l d1,44(sp) + moveq #15,d0 + and.l d2,d0 + lsl.l #8,d0 + sub.l d6,d0 + jmi .L21 +.L4: + asr.l #4,d0 + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a2) + addq.l #8,sp + move.l d0,d3 + add.l d6,d3 + asr.l #8,d3 + or.w 46(sp),d3 + lsr.w #4,d2 + moveq #15,d0 + and.l d0,d2 + lsl.l #8,d2 + sub.l d7,d2 + jmi .L22 +.L5: + asr.l #4,d2 + move.l d5,-(sp) + move.l d2,-(sp) + jsr (a2) + addq.l #8,sp + add.l d7,d0 + asr.l #8,d0 + lsl.l #4,d0 + or.w d0,d3 + move.l d4,d0 + add.l d4,d0 + move.w d3,(a6,d0.l) + addq.l #1,d4 + cmp.l d4,a5 + jne .L6 +.L8: + jsr _hw_waitVerticalBlank + addq.l #1,d5 + moveq #16,d1 + cmp.l d5,d1 + jne .L2 + cmp.w #0,a5 + jeq .L10 + move.l _custom,a2 + move.l 48(sp),a0 + moveq #0,d0 +.L9: + move.w (a0)+,a1 + move.l d0,d1 + add.l d0,d1 + move.w a1,(a2,d1.l) + addq.l #1,d0 + cmp.l d0,a5 + jne .L9 +.L10: + move.l 48(sp),a0 + move.w (a0),_palette_background + movem.l (sp)+,#31996 + addq.l #8,sp + rts +.L20: + add.l d1,d0 + asr.l #4,d0 + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a2) + addq.l #8,sp + add.l a4,d0 + moveq #-1,d1 + not.b d1 + and.l d0,d1 + move.l d1,44(sp) + moveq #15,d0 + and.l d2,d0 + lsl.l #8,d0 + sub.l d6,d0 + jpl .L4 +.L21: + moveq #15,d1 + add.l d1,d0 + asr.l #4,d0 + move.l d5,-(sp) + move.l d0,-(sp) + jsr (a2) + addq.l #8,sp + move.l d0,d3 + add.l d6,d3 + asr.l #8,d3 + or.w 46(sp),d3 + lsr.w #4,d2 + moveq #15,d0 + and.l d0,d2 + lsl.l #8,d2 + sub.l d7,d2 + jpl .L5 +.L22: + add.l d0,d2 + asr.l #4,d2 + move.l d5,-(sp) + move.l d2,-(sp) + jsr (a2) + addq.l #8,sp + add.l d7,d0 + asr.l #8,d0 + lsl.l #4,d0 + or.w d0,d3 + move.l d4,d0 + add.l d4,d0 + move.w d3,(a6,d0.l) + addq.l #1,d4 + cmp.l d4,a5 + jne .L6 + jra .L8 diff --git a/test/test3/cc b/test/test3/cc new file mode 100755 index 0000000..06148f3 --- /dev/null +++ b/test/test3/cc @@ -0,0 +1,5 @@ +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s -fbbb=- || exit 1 +r="$(diff --brief test.s golden.s)" +[ "$r" == "" ] || diff test.s golden.s +[ "$r" == "" ] || exit 1 diff --git a/test/test3/golden.s b/test/test3/golden.s new file mode 100755 index 0000000..f2424e9 --- /dev/null +++ b/test/test3/golden.s @@ -0,0 +1,310 @@ +#NO_APP + .text + .align 2 + .globl _gfx_fillRectSmallScreen +_gfx_fillRectSmallScreen: + movem.l #16190,-(sp) + move.l 48(sp),d4 + move.l 52(sp),d3 + moveq #15,d5 + and.l d0,d5 + move.l d5,d2 + add.l d5,d2 + lea _startBitPatterns.1038,a2 + move.w (a2,d2.l),d7 + move.w a1,d2 + add.w d0,d2 + moveq #15,d6 + and.l d6,d2 + add.l d2,d2 + lea _endBitPatterns.1039,a2 + move.w (a2,d2.l),a4 + moveq #0,d2 + move.w a1,d2 + move.l d5,a1 + lea 15(a1,d2.l),a1 + move.l a1,d5 + asr.l #4,d5 + moveq #1,d2 + cmp.l d5,d2 + jeq .L19 + mulu.w #200,d1 + lsr.w #3,d0 + and.l #65535,d0 + add.l d1,d0 + lea (a0,d0.l),a5 + and.l #65535,d3 + move.w d4,d2 + lsl.w #6,d2 + or.w #1,d2 + move.l d5,d6 + subq.l #1,d6 + add.l d6,d6 + move.w d5,d0 + subq.w #2,d0 + move.w d0,a0 + add.w d0,a0 + move.w #200,a1 + sub.w a0,a1 + move.w a1,a3 + lsl.w #6,d4 + or.w d0,d4 + move.w d4,a6 + moveq #1,d0 + cmp.l d5,d0 + jge .L20 +.L3: + subq.l #2,d5 + jeq .L21 + moveq #0,d4 + lea _hw_waitBlitter,a2 +.L9: + moveq #1,d5 + lsl.l d4,d5 + and.l d3,d5 + jsr (a2) + move.l #14676032,a0 + move.w #970,(a0) + clr.w 2(a0) + move.w #-1,4(a0) + move.w #-1,6(a0) + move.w #198,38(a0) + move.w #198,32(a0) + clr.w 34(a0) + clr.w 36(a0) + move.w d7,52(a0) + tst.l d5 + sne d0 + ext.w d0 + move.w d0,50(a0) + move.l a5,8(a0) + move.l a5,20(a0) + move.w d2,24(a0) + jsr (a2) + move.l #14676032,a0 + move.w #970,(a0) + move.w a4,52(a0) + move.l a5,d0 + add.l d6,d0 + move.l d0,8(a0) + move.l d0,20(a0) + move.w d2,24(a0) + jsr (a2) + move.w #256,d0 + tst.l d5 + jeq .L8 + move.w #511,d0 +.L8: + move.l #14676032,a0 + move.w d0,(a0) + move.w a3,38(a0) + move.l a5,d0 + addq.l #2,d0 + move.l d0,20(a0) + move.w a6,24(a0) + lea (40,a5),a5 + addq.l #1,d4 + moveq #5,d0 + cmp.l d4,d0 + jne .L9 +.L1: + movem.l (sp)+,#31996 + rts +.L19: + move.w a4,d6 + and.w d6,d7 + mulu.w #200,d1 + lsr.w #3,d0 + and.l #65535,d0 + add.l d1,d0 + lea (a0,d0.l),a5 + and.l #65535,d3 + move.w d4,d2 + lsl.w #6,d2 + or.w #1,d2 + move.l d5,d6 + subq.l #1,d6 + add.l d6,d6 + move.w d5,d0 + subq.w #2,d0 + move.w d0,a0 + add.w d0,a0 + move.w #200,a1 + sub.w a0,a1 + move.w a1,a3 + lsl.w #6,d4 + or.w d0,d4 + move.w d4,a6 + moveq #1,d0 + cmp.l d5,d0 + jlt .L3 +.L20: + moveq #0,d4 + lea _hw_waitBlitter,a2 + moveq #1,d6 +.L4: + move.l d6,d5 + lsl.l d4,d5 + and.l d3,d5 + jsr (a2) + move.l #14676032,a3 + move.w #970,(a3) + clr.w 2(a3) + move.w #-1,4(a3) + move.w #-1,6(a3) + move.w #198,38(a3) + move.w #198,32(a3) + clr.w 34(a3) + clr.w 36(a3) + move.w d7,52(a3) + tst.l d5 + sne d0 + ext.w d0 + move.w d0,50(a3) + move.l a5,8(a3) + move.l a5,20(a3) + move.w d2,24(a3) + lea (40,a5),a5 + addq.l #1,d4 + moveq #5,d1 + cmp.l d4,d1 + jeq .L1 + move.l d6,d5 + lsl.l d4,d5 + and.l d3,d5 + jsr (a2) + move.w #970,(a3) + clr.w 2(a3) + move.w #-1,4(a3) + move.w #-1,6(a3) + move.w #198,38(a3) + move.w #198,32(a3) + clr.w 34(a3) + clr.w 36(a3) + move.w d7,52(a3) + tst.l d5 + sne d0 + ext.w d0 + move.w d0,50(a3) + move.l a5,8(a3) + move.l a5,20(a3) + move.w d2,24(a3) + lea (40,a5),a5 + addq.l #1,d4 + moveq #5,d1 + cmp.l d4,d1 + jne .L4 + jra .L1 +.L21: + moveq #0,d5 + lea _hw_waitBlitter,a2 + moveq #1,d4 +.L7: + move.l d4,d0 + lsl.l d5,d0 + and.l d3,d0 + move.l d0,a3 + jsr (a2) + move.l #14676032,a6 + move.w #970,(a6) + clr.w 2(a6) + move.w #-1,4(a6) + move.w #-1,6(a6) + move.w #198,38(a6) + move.w #198,32(a6) + clr.w 34(a6) + clr.w 36(a6) + move.w d7,52(a6) + cmp.w #0,a3 + sne d0 + ext.w d0 + move.w d0,50(a6) + move.l a5,8(a6) + move.l a5,20(a6) + move.w d2,24(a6) + jsr (a2) + move.w #970,(a6) + move.w a4,52(a6) + move.l a5,d0 + add.l d6,d0 + move.l d0,8(a6) + move.l d0,20(a6) + move.w d2,24(a6) + lea (40,a5),a5 + addq.l #1,d5 + moveq #5,d1 + cmp.l d5,d1 + jeq .L1 + move.l d4,d0 + lsl.l d5,d0 + and.l d3,d0 + move.l d0,a3 + jsr (a2) + move.w #970,(a6) + clr.w 2(a6) + move.w #-1,4(a6) + move.w #-1,6(a6) + move.w #198,38(a6) + move.w #198,32(a6) + clr.w 34(a6) + clr.w 36(a6) + move.w d7,52(a6) + cmp.w #0,a3 + sne d0 + ext.w d0 + move.w d0,50(a6) + move.l a5,8(a6) + move.l a5,20(a6) + move.w d2,24(a6) + jsr (a2) + move.w #970,(a6) + move.w a4,52(a6) + move.l a5,d0 + add.l d6,d0 + move.l d0,8(a6) + move.l d0,20(a6) + move.w d2,24(a6) + lea (40,a5),a5 + addq.l #1,d5 + moveq #5,d1 + cmp.l d5,d1 + jne .L7 + jra .L1 + .align 2 +_endBitPatterns.1039: + .word -1 + .word -32768 + .word -16384 + .word -8192 + .word -4096 + .word -2048 + .word -1024 + .word -512 + .word -256 + .word -128 + .word -64 + .word -32 + .word -16 + .word -8 + .word -4 + .word -2 + .word -1 + .align 2 +_startBitPatterns.1038: + .word -1 + .word 32767 + .word 16383 + .word 8191 + .word 4095 + .word 2047 + .word 1023 + .word 511 + .word 255 + .word 127 + .word 63 + .word 31 + .word 15 + .word 7 + .word 3 + .word 1 + .word 0 diff --git a/test/test3/test.c b/test/test3/test.c new file mode 100755 index 0000000..b36e5fd --- /dev/null +++ b/test/test3/test.c @@ -0,0 +1,67 @@ +#include "test.h" + +void +gfx_fillRectSmallScreen(uint8_t * fb, uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color) +{ + static custom_t _custom = CUSTOM; + static uint16_t startBitPatterns[] = { 0xffff, + 0x7fff, 0x3fff, 0x1fff, 0x0fff, + 0x07ff, 0x03ff, 0x01ff, 0x00ff, + 0x007f, 0x003f, 0x001f, 0x000f, + 0x0007, 0x0003, 0x0001, 0x0000 }; + + static uint16_t endBitPatterns[] = { 0xffff, + 0x8000, 0xc000, 0xe000, 0xf000, + 0xf800, 0xfc00, 0xfe00, 0xff00, + 0xff80, 0xffc0, 0xffe0, 0xfff0, + 0xfff8, 0xfffc, 0xfffe, 0xffff}; + + uint16_t startMask = startBitPatterns[x & 0xf]; + uint16_t endMask = endBitPatterns[(x+w) & 0xf]; + uint32_t widthWords = (((x&0x0f)+w)+15)>>4; + + if (widthWords == 1) { + startMask &= endMask; + } + + fb += y*(SCREEN_WIDTH_BYTES*SCREEN_BIT_DEPTH)/*gfx_dyOffsetsLUT[y]*/ + (x>>3); + + int32_t colorInPlane; + for (int32_t plane = 0; plane < SCREEN_BIT_DEPTH; plane++) { + colorInPlane = (1<bltcon0 = (SRCC|DEST|0xca); + _custom->bltcon1 = 0; + _custom->bltafwm = 0xffff; + _custom->bltalwm = 0xffff; + _custom->bltdmod = (SCREEN_WIDTH_BYTES*(SCREEN_BIT_DEPTH-1))+(SCREEN_WIDTH_BYTES-2); + _custom->bltcmod = (SCREEN_WIDTH_BYTES*(SCREEN_BIT_DEPTH-1))+(SCREEN_WIDTH_BYTES-2); + _custom->bltbmod = 0; + _custom->bltamod = 0; + _custom->bltadat = startMask; + _custom->bltbdat = colorInPlane ? 0xffff : 0x0; + _custom->bltcpt = (uint8_t*)fb; + _custom->bltdpt = (uint8_t*)fb; + _custom->bltsize = h<<6 | 1; + + if (widthWords > 1) { + hw_waitBlitter(); + _custom->bltcon0 = (SRCC|DEST|0xca); + _custom->bltadat = endMask; + _custom->bltcpt = (uint8_t*)fb+((widthWords-1)<<1); + _custom->bltdpt = (uint8_t*)fb+((widthWords-1)<<1); + _custom->bltsize = h<<6 | 1; + } + + if (widthWords > 2) { + hw_waitBlitter(); + _custom->bltcon0 = (DEST|(colorInPlane ? 0xff : 0x00)); + _custom->bltdmod = (SCREEN_WIDTH_BYTES*(SCREEN_BIT_DEPTH-1))+(SCREEN_WIDTH_BYTES-((widthWords-2)<<1)); + _custom->bltdpt = (uint8_t*)fb+2; + _custom->bltsize = h<<6 | (widthWords-2); + } + + fb += SCREEN_WIDTH_BYTES; + } +} diff --git a/test/test3/test.h b/test/test3/test.h new file mode 100755 index 0000000..1b2458c --- /dev/null +++ b/test/test3/test.h @@ -0,0 +1,244 @@ +typedef unsigned char uint8_t; +typedef short int int16_t; +typedef unsigned short int uint16_t; +typedef unsigned long uint32_t; +typedef long int32_t; +typedef unsigned short UWORD; +typedef uint32_t* APTR; +typedef uint32_t ULONG; +typedef unsigned char UBYTE; + +#define SCREEN_WIDTH_BYTES 40 +#define SCREEN_WIDTH 320 +#define SCREEN_HEIGHT 256 +#define SCREEN_BIT_DEPTH 5 + +extern uint8_t* game_offScreenBuffer; + +#ifndef HARDWARE_BLIT_H +#define HARDWARE_BLIT_H +/* +** $VER: blit.h 39.1 (18.9.1992) +** Includes Release 45.1 +** +** Defines for direct hardware use of the blitter. +** +** (C) Copyright 1985-2001 Amiga, Inc. +** All Rights Reserved +*/ + +#define HSIZEBITS 6 +#define VSIZEBITS 16-HSIZEBITS +#define HSIZEMASK 0x3f /* 2^6 -- 1 */ +#define VSIZEMASK 0x3FF /* 2^10 - 1 */ + +/* all agnii support horizontal blit of at least 1024 bits (128 bytes) wide */ +/* some agnii support horizontal blit of up to 32768 bits (4096 bytes) wide */ + +#ifndef NO_BIG_BLITS +#define MINBYTESPERROW 128 +#define MAXBYTESPERROW 4096 +#else +#define MAXBYTESPERROW 128 +#endif + +/* definitions for blitter control register 0 */ + +#define ABC 0x80 +#define ABNC 0x40 +#define ANBC 0x20 +#define ANBNC 0x10 +#define NABC 0x8 +#define NABNC 0x4 +#define NANBC 0x2 +#define NANBNC 0x1 + +/* some commonly used operations */ +#define A_OR_B ABC|ANBC|NABC | ABNC|ANBNC|NABNC +#define A_OR_C ABC|NABC|ABNC | ANBC|NANBC|ANBNC +#define A_XOR_C NABC|ABNC | NANBC|ANBNC +#define A_TO_D ABC|ANBC|ABNC|ANBNC + +#define BC0B_DEST 8 +#define BC0B_SRCC 9 +#define BC0B_SRCB 10 +#define BC0B_SRCA 11 +#define BC0F_DEST 0x100 +#define BC0F_SRCC 0x200 +#define BC0F_SRCB 0x400 +#define BC0F_SRCA 0x800 + +#define BC1F_DESC 2 /* blitter descend direction */ + +#define DEST 0x100 +#define SRCC 0x200 +#define SRCB 0x400 +#define SRCA 0x800 + +#define ASHIFTSHIFT 12 /* bits to right align ashift value */ +#define BSHIFTSHIFT 12 /* bits to right align bshift value */ + +/* definations for blitter control register 1 */ +#define LINEMODE 0x1 +#define FILL_OR 0x8 +#define FILL_XOR 0x10 +#define FILL_CARRYIN 0x4 +#define ONEDOT 0x2 /* one dot per horizontal line */ +#define OVFLAG 0x20 +#define SIGNFLAG 0x40 +#define BLITREVERSE 0x2 + +#define SUD 0x10 +#define SUL 0x8 +#define AUL 0x4 + +#define OCTANT8 24 +#define OCTANT7 4 +#define OCTANT6 12 +#define OCTANT5 28 +#define OCTANT4 20 +#define OCTANT3 8 +#define OCTANT2 0 +#define OCTANT1 16 + +/* stuff for blit qeuer */ +struct bltnode +{ + struct bltnode *n; + int (*function)(); + char stat; + short blitsize; + short beamsync; + int (*cleanup)(); +}; + +/* defined bits for bltstat */ +#define CLEANUP 0x40 +#define CLEANME CLEANUP + +#endif /* HARDWARE_BLIT_H */ + + +struct Custom { + UWORD bltddat; + UWORD dmaconr; + UWORD vposr; + UWORD vhposr; + UWORD dskdatr; + UWORD joy0dat; + UWORD joy1dat; + UWORD clxdat; + UWORD adkconr; + UWORD pot0dat; + UWORD pot1dat; + UWORD potinp; + UWORD serdatr; + UWORD dskbytr; + UWORD intenar; + UWORD intreqr; + APTR dskpt; + UWORD dsklen; + UWORD dskdat; + UWORD refptr; + UWORD vposw; + UWORD vhposw; + UWORD copcon; + UWORD serdat; + UWORD serper; + UWORD potgo; + UWORD joytest; + UWORD strequ; + UWORD strvbl; + UWORD strhor; + UWORD strlong; + UWORD bltcon0; + UWORD bltcon1; + UWORD bltafwm; + UWORD bltalwm; + APTR bltcpt; + APTR bltbpt; + APTR bltapt; + APTR bltdpt; + UWORD bltsize; + UBYTE pad2d; + UBYTE bltcon0l; /* low 8 bits of bltcon0, write only */ + UWORD bltsizv; + UWORD bltsizh; /* 5e */ + UWORD bltcmod; + UWORD bltbmod; + UWORD bltamod; + UWORD bltdmod; + UWORD pad34[4]; + UWORD bltcdat; + UWORD bltbdat; + UWORD bltadat; + UWORD pad3b[3]; + UWORD deniseid; /* 7c */ + UWORD dsksync; + ULONG cop1lc; + ULONG cop2lc; + UWORD copjmp1; + UWORD copjmp2; + UWORD copins; + UWORD diwstrt; + UWORD diwstop; + UWORD ddfstrt; + UWORD ddfstop; + UWORD dmacon; + UWORD clxcon; + UWORD intena; + UWORD intreq; + UWORD adkcon; + struct AudChannel { + UWORD *ac_ptr; /* ptr to start of waveform data */ + UWORD ac_len; /* length of waveform in words */ + UWORD ac_per; /* sample period */ + UWORD ac_vol; /* volume */ + UWORD ac_dat; /* sample pair */ + UWORD ac_pad[2]; /* unused */ + } aud[4]; + APTR bplpt[8]; + UWORD bplcon0; + UWORD bplcon1; + UWORD bplcon2; + UWORD bplcon3; + UWORD bpl1mod; + UWORD bpl2mod; + UWORD bplcon4; + UWORD clxcon2; + UWORD bpldat[8]; + APTR sprpt[8]; + struct SpriteDef { + UWORD pos; + UWORD ctl; + UWORD dataa; + UWORD datab; + } spr[8]; + UWORD color[32]; + UWORD htotal; + UWORD hsstop; + UWORD hbstrt; + UWORD hbstop; + UWORD vtotal; + UWORD vsstop; + UWORD vbstrt; + UWORD vbstop; + UWORD sprhstrt; + UWORD sprhstop; + UWORD bplhstrt; + UWORD bplhstop; + UWORD hhposw; + UWORD hhposr; + UWORD beamcon0; + UWORD hsstrt; + UWORD vsstrt; + UWORD hcenter; + UWORD diwhigh; /* 1e4 */ + UWORD padf3[11]; + UWORD fmode; +}; + + +typedef volatile struct Custom* custom_t; + +#define CUSTOM ((custom_t)0xdff000) diff --git a/test/test3/test.s b/test/test3/test.s new file mode 100644 index 0000000..f2424e9 --- /dev/null +++ b/test/test3/test.s @@ -0,0 +1,310 @@ +#NO_APP + .text + .align 2 + .globl _gfx_fillRectSmallScreen +_gfx_fillRectSmallScreen: + movem.l #16190,-(sp) + move.l 48(sp),d4 + move.l 52(sp),d3 + moveq #15,d5 + and.l d0,d5 + move.l d5,d2 + add.l d5,d2 + lea _startBitPatterns.1038,a2 + move.w (a2,d2.l),d7 + move.w a1,d2 + add.w d0,d2 + moveq #15,d6 + and.l d6,d2 + add.l d2,d2 + lea _endBitPatterns.1039,a2 + move.w (a2,d2.l),a4 + moveq #0,d2 + move.w a1,d2 + move.l d5,a1 + lea 15(a1,d2.l),a1 + move.l a1,d5 + asr.l #4,d5 + moveq #1,d2 + cmp.l d5,d2 + jeq .L19 + mulu.w #200,d1 + lsr.w #3,d0 + and.l #65535,d0 + add.l d1,d0 + lea (a0,d0.l),a5 + and.l #65535,d3 + move.w d4,d2 + lsl.w #6,d2 + or.w #1,d2 + move.l d5,d6 + subq.l #1,d6 + add.l d6,d6 + move.w d5,d0 + subq.w #2,d0 + move.w d0,a0 + add.w d0,a0 + move.w #200,a1 + sub.w a0,a1 + move.w a1,a3 + lsl.w #6,d4 + or.w d0,d4 + move.w d4,a6 + moveq #1,d0 + cmp.l d5,d0 + jge .L20 +.L3: + subq.l #2,d5 + jeq .L21 + moveq #0,d4 + lea _hw_waitBlitter,a2 +.L9: + moveq #1,d5 + lsl.l d4,d5 + and.l d3,d5 + jsr (a2) + move.l #14676032,a0 + move.w #970,(a0) + clr.w 2(a0) + move.w #-1,4(a0) + move.w #-1,6(a0) + move.w #198,38(a0) + move.w #198,32(a0) + clr.w 34(a0) + clr.w 36(a0) + move.w d7,52(a0) + tst.l d5 + sne d0 + ext.w d0 + move.w d0,50(a0) + move.l a5,8(a0) + move.l a5,20(a0) + move.w d2,24(a0) + jsr (a2) + move.l #14676032,a0 + move.w #970,(a0) + move.w a4,52(a0) + move.l a5,d0 + add.l d6,d0 + move.l d0,8(a0) + move.l d0,20(a0) + move.w d2,24(a0) + jsr (a2) + move.w #256,d0 + tst.l d5 + jeq .L8 + move.w #511,d0 +.L8: + move.l #14676032,a0 + move.w d0,(a0) + move.w a3,38(a0) + move.l a5,d0 + addq.l #2,d0 + move.l d0,20(a0) + move.w a6,24(a0) + lea (40,a5),a5 + addq.l #1,d4 + moveq #5,d0 + cmp.l d4,d0 + jne .L9 +.L1: + movem.l (sp)+,#31996 + rts +.L19: + move.w a4,d6 + and.w d6,d7 + mulu.w #200,d1 + lsr.w #3,d0 + and.l #65535,d0 + add.l d1,d0 + lea (a0,d0.l),a5 + and.l #65535,d3 + move.w d4,d2 + lsl.w #6,d2 + or.w #1,d2 + move.l d5,d6 + subq.l #1,d6 + add.l d6,d6 + move.w d5,d0 + subq.w #2,d0 + move.w d0,a0 + add.w d0,a0 + move.w #200,a1 + sub.w a0,a1 + move.w a1,a3 + lsl.w #6,d4 + or.w d0,d4 + move.w d4,a6 + moveq #1,d0 + cmp.l d5,d0 + jlt .L3 +.L20: + moveq #0,d4 + lea _hw_waitBlitter,a2 + moveq #1,d6 +.L4: + move.l d6,d5 + lsl.l d4,d5 + and.l d3,d5 + jsr (a2) + move.l #14676032,a3 + move.w #970,(a3) + clr.w 2(a3) + move.w #-1,4(a3) + move.w #-1,6(a3) + move.w #198,38(a3) + move.w #198,32(a3) + clr.w 34(a3) + clr.w 36(a3) + move.w d7,52(a3) + tst.l d5 + sne d0 + ext.w d0 + move.w d0,50(a3) + move.l a5,8(a3) + move.l a5,20(a3) + move.w d2,24(a3) + lea (40,a5),a5 + addq.l #1,d4 + moveq #5,d1 + cmp.l d4,d1 + jeq .L1 + move.l d6,d5 + lsl.l d4,d5 + and.l d3,d5 + jsr (a2) + move.w #970,(a3) + clr.w 2(a3) + move.w #-1,4(a3) + move.w #-1,6(a3) + move.w #198,38(a3) + move.w #198,32(a3) + clr.w 34(a3) + clr.w 36(a3) + move.w d7,52(a3) + tst.l d5 + sne d0 + ext.w d0 + move.w d0,50(a3) + move.l a5,8(a3) + move.l a5,20(a3) + move.w d2,24(a3) + lea (40,a5),a5 + addq.l #1,d4 + moveq #5,d1 + cmp.l d4,d1 + jne .L4 + jra .L1 +.L21: + moveq #0,d5 + lea _hw_waitBlitter,a2 + moveq #1,d4 +.L7: + move.l d4,d0 + lsl.l d5,d0 + and.l d3,d0 + move.l d0,a3 + jsr (a2) + move.l #14676032,a6 + move.w #970,(a6) + clr.w 2(a6) + move.w #-1,4(a6) + move.w #-1,6(a6) + move.w #198,38(a6) + move.w #198,32(a6) + clr.w 34(a6) + clr.w 36(a6) + move.w d7,52(a6) + cmp.w #0,a3 + sne d0 + ext.w d0 + move.w d0,50(a6) + move.l a5,8(a6) + move.l a5,20(a6) + move.w d2,24(a6) + jsr (a2) + move.w #970,(a6) + move.w a4,52(a6) + move.l a5,d0 + add.l d6,d0 + move.l d0,8(a6) + move.l d0,20(a6) + move.w d2,24(a6) + lea (40,a5),a5 + addq.l #1,d5 + moveq #5,d1 + cmp.l d5,d1 + jeq .L1 + move.l d4,d0 + lsl.l d5,d0 + and.l d3,d0 + move.l d0,a3 + jsr (a2) + move.w #970,(a6) + clr.w 2(a6) + move.w #-1,4(a6) + move.w #-1,6(a6) + move.w #198,38(a6) + move.w #198,32(a6) + clr.w 34(a6) + clr.w 36(a6) + move.w d7,52(a6) + cmp.w #0,a3 + sne d0 + ext.w d0 + move.w d0,50(a6) + move.l a5,8(a6) + move.l a5,20(a6) + move.w d2,24(a6) + jsr (a2) + move.w #970,(a6) + move.w a4,52(a6) + move.l a5,d0 + add.l d6,d0 + move.l d0,8(a6) + move.l d0,20(a6) + move.w d2,24(a6) + lea (40,a5),a5 + addq.l #1,d5 + moveq #5,d1 + cmp.l d5,d1 + jne .L7 + jra .L1 + .align 2 +_endBitPatterns.1039: + .word -1 + .word -32768 + .word -16384 + .word -8192 + .word -4096 + .word -2048 + .word -1024 + .word -512 + .word -256 + .word -128 + .word -64 + .word -32 + .word -16 + .word -8 + .word -4 + .word -2 + .word -1 + .align 2 +_startBitPatterns.1038: + .word -1 + .word 32767 + .word 16383 + .word 8191 + .word 4095 + .word 2047 + .word 1023 + .word 511 + .word 255 + .word 127 + .word 63 + .word 31 + .word 15 + .word 7 + .word 3 + .word 1 + .word 0 diff --git a/test/test3/testno.s b/test/test3/testno.s new file mode 100644 index 0000000..ca9e800 --- /dev/null +++ b/test/test3/testno.s @@ -0,0 +1,306 @@ +#NO_APP + .text + .align 2 + .globl _gfx_fillRectSmallScreen +_gfx_fillRectSmallScreen: + movem.l #16190,-(sp) + move.l 48(sp),d4 + move.l 52(sp),d3 + moveq #15,d5 + and.l d0,d5 + move.l d5,d2 + add.l d5,d2 + lea _startBitPatterns.1038,a2 + move.w (a2,d2.l),d7 + move.w a1,d2 + add.w d0,d2 + moveq #15,d6 + and.l d6,d2 + add.l d2,d2 + lea _endBitPatterns.1039,a2 + move.w (a2,d2.l),a4 + moveq #0,d2 + move.w a1,d2 + move.l d5,a1 + lea 15(a1,d2.l),a1 + move.l a1,d5 + asr.l #4,d5 + moveq #1,d2 + cmp.l d5,d2 + jeq .L19 + mulu.w #200,d1 + lsr.w #3,d0 + and.l #65535,d0 + add.l d1,d0 + lea (a0,d0.l),a5 + and.l #65535,d3 + move.w d4,d2 + lsl.w #6,d2 + or.w #1,d2 + move.l d5,d6 + subq.l #1,d6 + add.l d6,d6 + move.w d5,d0 + subq.w #2,d0 + move.w d0,a3 + add.w d0,a3 + move.w #200,a1 + sub.w a3,a1 + move.w a1,a3 + lsl.w #6,d4 + or.w d0,d4 + move.w d4,a6 + moveq #1,d0 + cmp.l d5,d0 + jge .L20 +.L3: + moveq #2,d0 + cmp.l d5,d0 + jeq .L21 + moveq #0,d4 + lea _hw_waitBlitter,a2 +.L9: + moveq #1,d5 + lsl.l d4,d5 + and.l d3,d5 + jsr (a2) + move.w #970,14676032 + move.w #0,14676034 + move.w #-1,14676036 + move.w #-1,14676038 + move.w #198,14676070 + move.w #198,14676064 + move.w #0,14676066 + move.w #0,14676068 + move.w d7,14676084 + tst.l d5 + sne d0 + ext.w d0 + move.w d0,14676082 + move.l a5,14676040 + move.l a5,14676052 + move.w d2,14676056 + jsr (a2) + move.w #970,14676032 + move.w a4,14676084 + move.l a5,d0 + add.l d6,d0 + move.l d0,14676040 + move.l d0,14676052 + move.w d2,14676056 + jsr (a2) + move.w #256,d0 + tst.l d5 + jeq .L8 + move.w #511,d0 +.L8: + move.w d0,14676032 + move.w a3,14676070 + move.l a5,d0 + addq.l #2,d0 + move.l d0,14676052 + move.w a6,14676056 + lea (40,a5),a5 + addq.l #1,d4 + moveq #5,d0 + cmp.l d4,d0 + jne .L9 +.L1: + movem.l (sp)+,#31996 + rts +.L19: + move.w a4,d6 + and.w d6,d7 + mulu.w #200,d1 + lsr.w #3,d0 + and.l #65535,d0 + add.l d1,d0 + lea (a0,d0.l),a5 + and.l #65535,d3 + move.w d4,d2 + lsl.w #6,d2 + or.w #1,d2 + move.l d5,d6 + subq.l #1,d6 + add.l d6,d6 + move.w d5,d0 + subq.w #2,d0 + move.w d0,a3 + add.w d0,a3 + move.w #200,a1 + sub.w a3,a1 + move.w a1,a3 + lsl.w #6,d4 + or.w d0,d4 + move.w d4,a6 + moveq #1,d0 + cmp.l d5,d0 + jlt .L3 +.L20: + moveq #0,d4 + lea _hw_waitBlitter,a2 + moveq #1,d6 +.L4: + move.l d6,d5 + lsl.l d4,d5 + and.l d3,d5 + jsr (a2) + move.w #970,14676032 + move.w #0,14676034 + move.w #-1,14676036 + move.w #-1,14676038 + move.w #198,14676070 + move.w #198,14676064 + move.w #0,14676066 + move.w #0,14676068 + move.w d7,14676084 + tst.l d5 + sne d0 + ext.w d0 + move.w d0,14676082 + move.l a5,14676040 + move.l a5,14676052 + move.w d2,14676056 + lea (40,a5),a5 + addq.l #1,d4 + moveq #5,d1 + cmp.l d4,d1 + jeq .L1 + move.l d6,d5 + lsl.l d4,d5 + and.l d3,d5 + jsr (a2) + move.w #970,14676032 + move.w #0,14676034 + move.w #-1,14676036 + move.w #-1,14676038 + move.w #198,14676070 + move.w #198,14676064 + move.w #0,14676066 + move.w #0,14676068 + move.w d7,14676084 + tst.l d5 + sne d0 + ext.w d0 + move.w d0,14676082 + move.l a5,14676040 + move.l a5,14676052 + move.w d2,14676056 + lea (40,a5),a5 + addq.l #1,d4 + moveq #5,d1 + cmp.l d4,d1 + jne .L4 + jra .L1 +.L21: + moveq #0,d5 + lea _hw_waitBlitter,a2 + moveq #1,d4 +.L7: + move.l d4,d0 + lsl.l d5,d0 + and.l d3,d0 + move.l d0,a3 + jsr (a2) + move.w #970,14676032 + move.w #0,14676034 + move.w #-1,14676036 + move.w #-1,14676038 + move.w #198,14676070 + move.w #198,14676064 + move.w #0,14676066 + move.w #0,14676068 + move.w d7,14676084 + cmp.w #0,a3 + sne d0 + ext.w d0 + move.w d0,14676082 + move.l a5,14676040 + move.l a5,14676052 + move.w d2,14676056 + jsr (a2) + move.w #970,14676032 + move.w a4,14676084 + move.l a5,d0 + add.l d6,d0 + move.l d0,14676040 + move.l d0,14676052 + move.w d2,14676056 + lea (40,a5),a5 + addq.l #1,d5 + moveq #5,d1 + cmp.l d5,d1 + jeq .L1 + move.l d4,d0 + lsl.l d5,d0 + and.l d3,d0 + move.l d0,a3 + jsr (a2) + move.w #970,14676032 + move.w #0,14676034 + move.w #-1,14676036 + move.w #-1,14676038 + move.w #198,14676070 + move.w #198,14676064 + move.w #0,14676066 + move.w #0,14676068 + move.w d7,14676084 + cmp.w #0,a3 + sne d0 + ext.w d0 + move.w d0,14676082 + move.l a5,14676040 + move.l a5,14676052 + move.w d2,14676056 + jsr (a2) + move.w #970,14676032 + move.w a4,14676084 + move.l a5,d0 + add.l d6,d0 + move.l d0,14676040 + move.l d0,14676052 + move.w d2,14676056 + lea (40,a5),a5 + addq.l #1,d5 + moveq #5,d1 + cmp.l d5,d1 + jne .L7 + jra .L1 + .align 2 +_endBitPatterns.1039: + .word -1 + .word -32768 + .word -16384 + .word -8192 + .word -4096 + .word -2048 + .word -1024 + .word -512 + .word -256 + .word -128 + .word -64 + .word -32 + .word -16 + .word -8 + .word -4 + .word -2 + .word -1 + .align 2 +_startBitPatterns.1038: + .word -1 + .word 32767 + .word 16383 + .word 8191 + .word 4095 + .word 2047 + .word 1023 + .word 511 + .word 255 + .word 127 + .word 63 + .word 31 + .word 15 + .word 7 + .word 3 + .word 1 + .word 0 diff --git a/test/test4/cc b/test/test4/cc new file mode 100755 index 0000000..06148f3 --- /dev/null +++ b/test/test4/cc @@ -0,0 +1,5 @@ +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s -fbbb=- || exit 1 +r="$(diff --brief test.s golden.s)" +[ "$r" == "" ] || diff test.s golden.s +[ "$r" == "" ] || exit 1 diff --git a/test/test4/golden.s b/test/test4/golden.s new file mode 100755 index 0000000..304b8db --- /dev/null +++ b/test/test4/golden.s @@ -0,0 +1,115 @@ +#NO_APP + .text + .align 2 + .globl _conductor_init +_conductor_init: + clr.w _conductor_scrollTarget + move.l a0,_conductor_instructions + clr.w _conductor_instructionIndex + tst.w (a0) + jeq .L1 + moveq #0,d0 + move.w 2(a0),d0 + move.w _game_cameraX,a1 + cmp.l d0,a1 + jlt .L14 +.L9: + move.l 6(a0),a1 + moveq #0,d0 + move.w 4(a0),d0 + jsr (a1) + tst.w d0 + jeq .L1 + move.w _conductor_instructionIndex,a0 + addq.w #1,a0 + move.w a0,_conductor_instructionIndex + moveq #0,d0 + move.w a0,d0 + move.l d0,a0 + add.l d0,a0 + add.l a0,a0 + add.l d0,a0 + add.l a0,a0 + add.l _conductor_instructions,a0 + tst.w (a0) + jeq .L1 + moveq #0,d0 + move.w 2(a0),d0 + move.w _game_cameraX,a1 + cmp.l d0,a1 + jge .L9 +.L1: + rts +.L14: + rts + .align 2 + .globl _conductor_process +_conductor_process: + moveq #0,d0 + move.w _conductor_instructionIndex,d0 + move.l d0,a0 + add.l d0,a0 + add.l a0,a0 + add.l d0,a0 + add.l a0,a0 + add.l _conductor_instructions,a0 + tst.w (a0) + jeq .L15 + moveq #0,d0 + move.w 2(a0),d0 + move.w _game_cameraX,a1 + cmp.l d0,a1 + jlt .L28 +.L23: + move.l 6(a0),a1 + moveq #0,d0 + move.w 4(a0),d0 + jsr (a1) + tst.w d0 + jeq .L15 + move.w _conductor_instructionIndex,a0 + addq.w #1,a0 + move.w a0,_conductor_instructionIndex + moveq #0,d0 + move.w a0,d0 + move.l d0,a0 + add.l d0,a0 + add.l a0,a0 + add.l d0,a0 + add.l a0,a0 + add.l _conductor_instructions,a0 + tst.w (a0) + jeq .L15 + moveq #0,d0 + move.w 2(a0),d0 + move.w _game_cameraX,a1 + cmp.l d0,a1 + jge .L23 +.L15: + rts +.L28: + rts + .align 2 + .globl _conductor_complete +_conductor_complete: + moveq #0,d1 + move.w _conductor_instructionIndex,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + add.l d1,d0 + add.l d0,d0 + move.l _conductor_instructions,a0 + tst.w (a0,d0.l) + seq d0 + ext.w d0 + neg.w d0 + rts + .align 2 + .globl _conductor_setScrollTarget +_conductor_setScrollTarget: + move.w d0,_conductor_scrollTarget + rts +.lcomm _conductor_instructions,4 +.comm _conductor_instructionIndex,2 +.comm _conductor_scrollTarget,2 diff --git a/test/test4/test.c b/test/test4/test.c new file mode 100755 index 0000000..0fcddce --- /dev/null +++ b/test/test4/test.c @@ -0,0 +1,68 @@ +typedef unsigned short uint16_t; +typedef short int16_t; + +extern uint16_t conductor_scrollTarget; +extern uint16_t conductor_instructionIndex; +extern int16_t game_cameraX; + +typedef enum { + CONDUCTOR_INSTRUCTION_END = 0, + CONDUCTOR_INSTRUCTION_CAMERAX = 1 +} conductor_instruction_type; + +typedef struct { + uint16_t type; + uint16_t cameraX; + uint16_t argument; + int16_t (*callback)(uint16_t arg); +} conductor_instruction_t; + +void +conductor_init(conductor_instruction_t* instructions); + +void +conductor_process(); + +uint16_t +conductor_complete(void); + + +uint16_t conductor_scrollTarget; +uint16_t conductor_instructionIndex; +static conductor_instruction_t* conductor_instructions; + +void +conductor_init(conductor_instruction_t* instructions) +{ + conductor_scrollTarget = 0; + conductor_instructions = instructions; + conductor_instructionIndex = 0; + conductor_process(); +} + +void +conductor_process(void) +{ + for (; conductor_instructions[conductor_instructionIndex].type != CONDUCTOR_INSTRUCTION_END; conductor_instructionIndex++) { + conductor_instruction_t *ptr = &conductor_instructions[conductor_instructionIndex]; + if (ptr->cameraX <= game_cameraX) { + if (!ptr->callback(ptr->argument)) { + break; + } + } else { + break; + } + } +} + +uint16_t +conductor_complete(void) +{ + return conductor_instructions[conductor_instructionIndex].type == CONDUCTOR_INSTRUCTION_END; +} + +void +conductor_setScrollTarget(uint16_t target) +{ + conductor_scrollTarget = target; +} diff --git a/test/test4/test.s b/test/test4/test.s new file mode 100644 index 0000000..304b8db --- /dev/null +++ b/test/test4/test.s @@ -0,0 +1,115 @@ +#NO_APP + .text + .align 2 + .globl _conductor_init +_conductor_init: + clr.w _conductor_scrollTarget + move.l a0,_conductor_instructions + clr.w _conductor_instructionIndex + tst.w (a0) + jeq .L1 + moveq #0,d0 + move.w 2(a0),d0 + move.w _game_cameraX,a1 + cmp.l d0,a1 + jlt .L14 +.L9: + move.l 6(a0),a1 + moveq #0,d0 + move.w 4(a0),d0 + jsr (a1) + tst.w d0 + jeq .L1 + move.w _conductor_instructionIndex,a0 + addq.w #1,a0 + move.w a0,_conductor_instructionIndex + moveq #0,d0 + move.w a0,d0 + move.l d0,a0 + add.l d0,a0 + add.l a0,a0 + add.l d0,a0 + add.l a0,a0 + add.l _conductor_instructions,a0 + tst.w (a0) + jeq .L1 + moveq #0,d0 + move.w 2(a0),d0 + move.w _game_cameraX,a1 + cmp.l d0,a1 + jge .L9 +.L1: + rts +.L14: + rts + .align 2 + .globl _conductor_process +_conductor_process: + moveq #0,d0 + move.w _conductor_instructionIndex,d0 + move.l d0,a0 + add.l d0,a0 + add.l a0,a0 + add.l d0,a0 + add.l a0,a0 + add.l _conductor_instructions,a0 + tst.w (a0) + jeq .L15 + moveq #0,d0 + move.w 2(a0),d0 + move.w _game_cameraX,a1 + cmp.l d0,a1 + jlt .L28 +.L23: + move.l 6(a0),a1 + moveq #0,d0 + move.w 4(a0),d0 + jsr (a1) + tst.w d0 + jeq .L15 + move.w _conductor_instructionIndex,a0 + addq.w #1,a0 + move.w a0,_conductor_instructionIndex + moveq #0,d0 + move.w a0,d0 + move.l d0,a0 + add.l d0,a0 + add.l a0,a0 + add.l d0,a0 + add.l a0,a0 + add.l _conductor_instructions,a0 + tst.w (a0) + jeq .L15 + moveq #0,d0 + move.w 2(a0),d0 + move.w _game_cameraX,a1 + cmp.l d0,a1 + jge .L23 +.L15: + rts +.L28: + rts + .align 2 + .globl _conductor_complete +_conductor_complete: + moveq #0,d1 + move.w _conductor_instructionIndex,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + add.l d1,d0 + add.l d0,d0 + move.l _conductor_instructions,a0 + tst.w (a0,d0.l) + seq d0 + ext.w d0 + neg.w d0 + rts + .align 2 + .globl _conductor_setScrollTarget +_conductor_setScrollTarget: + move.w d0,_conductor_scrollTarget + rts +.lcomm _conductor_instructions,4 +.comm _conductor_instructionIndex,2 +.comm _conductor_scrollTarget,2 diff --git a/test/test4/testno.s b/test/test4/testno.s new file mode 100644 index 0000000..304b8db --- /dev/null +++ b/test/test4/testno.s @@ -0,0 +1,115 @@ +#NO_APP + .text + .align 2 + .globl _conductor_init +_conductor_init: + clr.w _conductor_scrollTarget + move.l a0,_conductor_instructions + clr.w _conductor_instructionIndex + tst.w (a0) + jeq .L1 + moveq #0,d0 + move.w 2(a0),d0 + move.w _game_cameraX,a1 + cmp.l d0,a1 + jlt .L14 +.L9: + move.l 6(a0),a1 + moveq #0,d0 + move.w 4(a0),d0 + jsr (a1) + tst.w d0 + jeq .L1 + move.w _conductor_instructionIndex,a0 + addq.w #1,a0 + move.w a0,_conductor_instructionIndex + moveq #0,d0 + move.w a0,d0 + move.l d0,a0 + add.l d0,a0 + add.l a0,a0 + add.l d0,a0 + add.l a0,a0 + add.l _conductor_instructions,a0 + tst.w (a0) + jeq .L1 + moveq #0,d0 + move.w 2(a0),d0 + move.w _game_cameraX,a1 + cmp.l d0,a1 + jge .L9 +.L1: + rts +.L14: + rts + .align 2 + .globl _conductor_process +_conductor_process: + moveq #0,d0 + move.w _conductor_instructionIndex,d0 + move.l d0,a0 + add.l d0,a0 + add.l a0,a0 + add.l d0,a0 + add.l a0,a0 + add.l _conductor_instructions,a0 + tst.w (a0) + jeq .L15 + moveq #0,d0 + move.w 2(a0),d0 + move.w _game_cameraX,a1 + cmp.l d0,a1 + jlt .L28 +.L23: + move.l 6(a0),a1 + moveq #0,d0 + move.w 4(a0),d0 + jsr (a1) + tst.w d0 + jeq .L15 + move.w _conductor_instructionIndex,a0 + addq.w #1,a0 + move.w a0,_conductor_instructionIndex + moveq #0,d0 + move.w a0,d0 + move.l d0,a0 + add.l d0,a0 + add.l a0,a0 + add.l d0,a0 + add.l a0,a0 + add.l _conductor_instructions,a0 + tst.w (a0) + jeq .L15 + moveq #0,d0 + move.w 2(a0),d0 + move.w _game_cameraX,a1 + cmp.l d0,a1 + jge .L23 +.L15: + rts +.L28: + rts + .align 2 + .globl _conductor_complete +_conductor_complete: + moveq #0,d1 + move.w _conductor_instructionIndex,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + add.l d1,d0 + add.l d0,d0 + move.l _conductor_instructions,a0 + tst.w (a0,d0.l) + seq d0 + ext.w d0 + neg.w d0 + rts + .align 2 + .globl _conductor_setScrollTarget +_conductor_setScrollTarget: + move.w d0,_conductor_scrollTarget + rts +.lcomm _conductor_instructions,4 +.comm _conductor_instructionIndex,2 +.comm _conductor_scrollTarget,2 diff --git a/test/test5/cc b/test/test5/cc new file mode 100755 index 0000000..06148f3 --- /dev/null +++ b/test/test5/cc @@ -0,0 +1,5 @@ +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s -fbbb=- || exit 1 +r="$(diff --brief test.s golden.s)" +[ "$r" == "" ] || diff test.s golden.s +[ "$r" == "" ] || exit 1 diff --git a/test/test5/golden.s b/test/test5/golden.s new file mode 100755 index 0000000..12d9c1d --- /dev/null +++ b/test/test5/golden.s @@ -0,0 +1,59 @@ +#NO_APP + .text + .align 2 + .globl _gfx_screenWidthBitBlitNoMask +_gfx_screenWidthBitBlitNoMask: + movem.l #16176,-(sp) + move.l 36(sp),d5 + move.l 44(sp),d2 + move.l 48(sp),d4 + move.w d5,d3 + and.w #15,d3 + move.w 42(sp),d6 + muls.w #200,d6 + asr.w #3,d5 + move.w d5,d7 + ext.l d7 + move.l d6,a3 + lea (a3,d7.l),a2 + lea (a0,a2.l),a2 + muls.w #200,d1 + asr.w #3,d0 + move.w d0,d5 + ext.l d5 + move.l d1,a3 + lea (a3,d5.l),a0 + move.l a1,d6 + add.l a0,d6 + jsr _hw_waitBlitter + move.w d3,d0 + moveq #12,d7 + lsl.w d7,d0 + or.w #2544,d0 + move.l #14676032,a1 + move.w d0,(a1) + lsl.w d7,d3 + move.w d3,2(a1) + clr.w 6(a1) + move.w d2,a0 + moveq #15,d0 + add.l a0,d0 + asr.l #4,d0 + addq.l #1,d0 + move.w d0,d1 + add.w d0,d1 + moveq #40,d2 + sub.w d1,d2 + move.w d2,36(a1) + move.w d2,38(a1) + move.l d6,16(a1) + move.l a2,20(a1) + move.w d4,d1 + add.w d4,d1 + add.w d1,d1 + add.w d4,d1 + lsl.w #6,d1 + or.w d1,d0 + move.w d0,24(a1) + movem.l (sp)+,#3324 + rts diff --git a/test/test5/test.c b/test/test5/test.c new file mode 100755 index 0000000..9cdf47b --- /dev/null +++ b/test/test5/test.c @@ -0,0 +1,23 @@ +#include "test.h" + +void +gfx_screenWidthBitBlitNoMask(frame_buffer_t dest, frame_buffer_t src, int16_t sx, int16_t sy, int16_t dx, int16_t dy, int16_t w, int16_t h) +{ + volatile struct Custom* _custom = CUSTOM; + uint32_t widthWords = ((w+15)>>4)+1; + int32_t shift = (dx&0xf); + + dest += (dy * (SCREEN_WIDTH_BYTES*SCREEN_BIT_DEPTH)) + (dx>>3); + src += (sy * (SCREEN_WIDTH_BYTES*SCREEN_BIT_DEPTH)) + (sx>>3); + + hw_waitBlitter(); + + _custom->bltcon0 = (SRCA|DEST|0xf0|shift<bltcon1 = shift<bltalwm = 0x0; + _custom->bltamod = (SCREEN_WIDTH_BYTES-(widthWords<<1)); + _custom->bltdmod = (SCREEN_WIDTH_BYTES-(widthWords<<1)); + _custom->bltapt = (uint8_t*)src; + _custom->bltdpt = (uint8_t*)dest; + _custom->bltsize = ((h*SCREEN_BIT_DEPTH)<<6) | widthWords; +} diff --git a/test/test5/test.h b/test/test5/test.h new file mode 100755 index 0000000..cb232a2 --- /dev/null +++ b/test/test5/test.h @@ -0,0 +1,247 @@ +typedef unsigned char uint8_t; +typedef short int int16_t; +typedef unsigned short int uint16_t; +typedef unsigned long uint32_t; +typedef long int32_t; +typedef unsigned short UWORD; +typedef uint32_t* APTR; +typedef uint32_t ULONG; +typedef unsigned char UBYTE; + +typedef uint8_t* frame_buffer_t; + +#define SCREEN_WIDTH_BYTES 40 +#define SCREEN_WIDTH 320 +#define SCREEN_HEIGHT 256 +#define SCREEN_BIT_DEPTH 5 + +extern uint8_t* game_offScreenBuffer; + + +#ifndef HARDWARE_BLIT_H +#define HARDWARE_BLIT_H +/* +** $VER: blit.h 39.1 (18.9.1992) +** Includes Release 45.1 +** +** Defines for direct hardware use of the blitter. +** +** (C) Copyright 1985-2001 Amiga, Inc. +** All Rights Reserved +*/ + +#define HSIZEBITS 6 +#define VSIZEBITS 16-HSIZEBITS +#define HSIZEMASK 0x3f /* 2^6 -- 1 */ +#define VSIZEMASK 0x3FF /* 2^10 - 1 */ + +/* all agnii support horizontal blit of at least 1024 bits (128 bytes) wide */ +/* some agnii support horizontal blit of up to 32768 bits (4096 bytes) wide */ + +#ifndef NO_BIG_BLITS +#define MINBYTESPERROW 128 +#define MAXBYTESPERROW 4096 +#else +#define MAXBYTESPERROW 128 +#endif + +/* definitions for blitter control register 0 */ + +#define ABC 0x80 +#define ABNC 0x40 +#define ANBC 0x20 +#define ANBNC 0x10 +#define NABC 0x8 +#define NABNC 0x4 +#define NANBC 0x2 +#define NANBNC 0x1 + +/* some commonly used operations */ +#define A_OR_B ABC|ANBC|NABC | ABNC|ANBNC|NABNC +#define A_OR_C ABC|NABC|ABNC | ANBC|NANBC|ANBNC +#define A_XOR_C NABC|ABNC | NANBC|ANBNC +#define A_TO_D ABC|ANBC|ABNC|ANBNC + +#define BC0B_DEST 8 +#define BC0B_SRCC 9 +#define BC0B_SRCB 10 +#define BC0B_SRCA 11 +#define BC0F_DEST 0x100 +#define BC0F_SRCC 0x200 +#define BC0F_SRCB 0x400 +#define BC0F_SRCA 0x800 + +#define BC1F_DESC 2 /* blitter descend direction */ + +#define DEST 0x100 +#define SRCC 0x200 +#define SRCB 0x400 +#define SRCA 0x800 + +#define ASHIFTSHIFT 12 /* bits to right align ashift value */ +#define BSHIFTSHIFT 12 /* bits to right align bshift value */ + +/* definations for blitter control register 1 */ +#define LINEMODE 0x1 +#define FILL_OR 0x8 +#define FILL_XOR 0x10 +#define FILL_CARRYIN 0x4 +#define ONEDOT 0x2 /* one dot per horizontal line */ +#define OVFLAG 0x20 +#define SIGNFLAG 0x40 +#define BLITREVERSE 0x2 + +#define SUD 0x10 +#define SUL 0x8 +#define AUL 0x4 + +#define OCTANT8 24 +#define OCTANT7 4 +#define OCTANT6 12 +#define OCTANT5 28 +#define OCTANT4 20 +#define OCTANT3 8 +#define OCTANT2 0 +#define OCTANT1 16 + +/* stuff for blit qeuer */ +struct bltnode +{ + struct bltnode *n; + int (*function)(); + char stat; + short blitsize; + short beamsync; + int (*cleanup)(); +}; + +/* defined bits for bltstat */ +#define CLEANUP 0x40 +#define CLEANME CLEANUP + +#endif /* HARDWARE_BLIT_H */ + + +struct Custom { + UWORD bltddat; + UWORD dmaconr; + UWORD vposr; + UWORD vhposr; + UWORD dskdatr; + UWORD joy0dat; + UWORD joy1dat; + UWORD clxdat; + UWORD adkconr; + UWORD pot0dat; + UWORD pot1dat; + UWORD potinp; + UWORD serdatr; + UWORD dskbytr; + UWORD intenar; + UWORD intreqr; + APTR dskpt; + UWORD dsklen; + UWORD dskdat; + UWORD refptr; + UWORD vposw; + UWORD vhposw; + UWORD copcon; + UWORD serdat; + UWORD serper; + UWORD potgo; + UWORD joytest; + UWORD strequ; + UWORD strvbl; + UWORD strhor; + UWORD strlong; + UWORD bltcon0; + UWORD bltcon1; + UWORD bltafwm; + UWORD bltalwm; + APTR bltcpt; + APTR bltbpt; + APTR bltapt; + APTR bltdpt; + UWORD bltsize; + UBYTE pad2d; + UBYTE bltcon0l; /* low 8 bits of bltcon0, write only */ + UWORD bltsizv; + UWORD bltsizh; /* 5e */ + UWORD bltcmod; + UWORD bltbmod; + UWORD bltamod; + UWORD bltdmod; + UWORD pad34[4]; + UWORD bltcdat; + UWORD bltbdat; + UWORD bltadat; + UWORD pad3b[3]; + UWORD deniseid; /* 7c */ + UWORD dsksync; + ULONG cop1lc; + ULONG cop2lc; + UWORD copjmp1; + UWORD copjmp2; + UWORD copins; + UWORD diwstrt; + UWORD diwstop; + UWORD ddfstrt; + UWORD ddfstop; + UWORD dmacon; + UWORD clxcon; + UWORD intena; + UWORD intreq; + UWORD adkcon; + struct AudChannel { + UWORD *ac_ptr; /* ptr to start of waveform data */ + UWORD ac_len; /* length of waveform in words */ + UWORD ac_per; /* sample period */ + UWORD ac_vol; /* volume */ + UWORD ac_dat; /* sample pair */ + UWORD ac_pad[2]; /* unused */ + } aud[4]; + APTR bplpt[8]; + UWORD bplcon0; + UWORD bplcon1; + UWORD bplcon2; + UWORD bplcon3; + UWORD bpl1mod; + UWORD bpl2mod; + UWORD bplcon4; + UWORD clxcon2; + UWORD bpldat[8]; + APTR sprpt[8]; + struct SpriteDef { + UWORD pos; + UWORD ctl; + UWORD dataa; + UWORD datab; + } spr[8]; + UWORD color[32]; + UWORD htotal; + UWORD hsstop; + UWORD hbstrt; + UWORD hbstop; + UWORD vtotal; + UWORD vsstop; + UWORD vbstrt; + UWORD vbstop; + UWORD sprhstrt; + UWORD sprhstop; + UWORD bplhstrt; + UWORD bplhstop; + UWORD hhposw; + UWORD hhposr; + UWORD beamcon0; + UWORD hsstrt; + UWORD vsstrt; + UWORD hcenter; + UWORD diwhigh; /* 1e4 */ + UWORD padf3[11]; + UWORD fmode; +}; + + +typedef volatile struct Custom* custom_t; + +#define CUSTOM ((custom_t)0xdff000) diff --git a/test/test5/test.s b/test/test5/test.s new file mode 100644 index 0000000..12d9c1d --- /dev/null +++ b/test/test5/test.s @@ -0,0 +1,59 @@ +#NO_APP + .text + .align 2 + .globl _gfx_screenWidthBitBlitNoMask +_gfx_screenWidthBitBlitNoMask: + movem.l #16176,-(sp) + move.l 36(sp),d5 + move.l 44(sp),d2 + move.l 48(sp),d4 + move.w d5,d3 + and.w #15,d3 + move.w 42(sp),d6 + muls.w #200,d6 + asr.w #3,d5 + move.w d5,d7 + ext.l d7 + move.l d6,a3 + lea (a3,d7.l),a2 + lea (a0,a2.l),a2 + muls.w #200,d1 + asr.w #3,d0 + move.w d0,d5 + ext.l d5 + move.l d1,a3 + lea (a3,d5.l),a0 + move.l a1,d6 + add.l a0,d6 + jsr _hw_waitBlitter + move.w d3,d0 + moveq #12,d7 + lsl.w d7,d0 + or.w #2544,d0 + move.l #14676032,a1 + move.w d0,(a1) + lsl.w d7,d3 + move.w d3,2(a1) + clr.w 6(a1) + move.w d2,a0 + moveq #15,d0 + add.l a0,d0 + asr.l #4,d0 + addq.l #1,d0 + move.w d0,d1 + add.w d0,d1 + moveq #40,d2 + sub.w d1,d2 + move.w d2,36(a1) + move.w d2,38(a1) + move.l d6,16(a1) + move.l a2,20(a1) + move.w d4,d1 + add.w d4,d1 + add.w d1,d1 + add.w d4,d1 + lsl.w #6,d1 + or.w d1,d0 + move.w d0,24(a1) + movem.l (sp)+,#3324 + rts diff --git a/test/test5/testno.s b/test/test5/testno.s new file mode 100644 index 0000000..bd16dde --- /dev/null +++ b/test/test5/testno.s @@ -0,0 +1,58 @@ +#NO_APP + .text + .align 2 + .globl _gfx_screenWidthBitBlitNoMask +_gfx_screenWidthBitBlitNoMask: + movem.l #16176,-(sp) + move.l 36(sp),d5 + move.l 44(sp),d2 + move.l 48(sp),d4 + move.w d5,d3 + and.w #15,d3 + move.w 42(sp),d6 + muls.w #200,d6 + asr.w #3,d5 + move.w d5,d7 + ext.l d7 + move.l d6,a3 + lea (a3,d7.l),a2 + lea (a0,a2.l),a2 + muls.w #200,d1 + asr.w #3,d0 + move.w d0,d5 + ext.l d5 + move.l d1,a3 + lea (a3,d5.l),a0 + move.l a1,d6 + add.l a0,d6 + jsr _hw_waitBlitter + move.w d3,d0 + moveq #12,d7 + lsl.w d7,d0 + or.w #2544,d0 + move.w d0,14676032 + lsl.w d7,d3 + move.w d3,14676034 + move.w #0,14676038 + move.w d2,a0 + moveq #15,d0 + add.l a0,d0 + asr.l #4,d0 + addq.l #1,d0 + move.w d0,d1 + add.w d0,d1 + moveq #40,d2 + sub.w d1,d2 + move.w d2,14676068 + move.w d2,14676070 + move.l d6,14676048 + move.l a2,14676052 + move.w d4,d1 + add.w d4,d1 + add.w d1,d1 + add.w d4,d1 + lsl.w #6,d1 + or.w d1,d0 + move.w d0,14676056 + movem.l (sp)+,#3324 + rts diff --git a/test/test6/cc b/test/test6/cc new file mode 100755 index 0000000..06148f3 --- /dev/null +++ b/test/test6/cc @@ -0,0 +1,5 @@ +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s -fbbb=- || exit 1 +r="$(diff --brief test.s golden.s)" +[ "$r" == "" ] || diff test.s golden.s +[ "$r" == "" ] || exit 1 diff --git a/test/test6/golden.s b/test/test6/golden.s new file mode 100755 index 0000000..db6dd73 --- /dev/null +++ b/test/test6/golden.s @@ -0,0 +1,1241 @@ +#NO_APP + .text + .align 2 + .globl _object_setAnim +_object_setAnim: + moveq #0,d1 + move.w 44(a0),d1 + move.w d0,a1 + cmp.l d1,a1 + jeq .L1 + move.w d0,44(a0) + moveq #0,d1 + move.w d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + add.l d1,d0 + add.l d0,d0 + move.l d0,d1 + add.l #_object_animations,d1 + move.l d1,48(a0) + lea _object_animations,a1 + move.w (a1,d0.l),d0 + move.w d0,36(a0) + move.w d0,a1 + move.l a1,d0 + add.l a1,d0 + add.l a1,d0 + add.l d0,d0 + add.l d0,d0 + add.l #_object_imageAtlas,d0 + move.l d0,38(a0) + clr.w 72(a0) +.L1: + rts + .align 2 + .globl _object_free +_object_free: + move.l a2,-(sp) + move.l a0,a2 + move.l 82(a0),a1 + cmp.w #0,a1 + jeq .L6 + move.l 4(a0),a0 + jsr (a1) +.L6: + move.l 12(a2),a0 + cmp.w #0,a0 + jeq .L21 + move.l 8(a2),8(a0) + move.l 8(a2),a1 + cmp.w #0,a1 + jeq .L9 + move.l a0,12(a1) +.L9: + subq.w #1,_object_count + move.l _object_freeList,a0 + cmp.w #0,a0 + jeq .L22 +.L11: + move.l a0,8(a2) + move.l a2,12(a0) + clr.l 12(a2) + move.l a2,_object_freeList + move.l (sp)+,a2 + rts +.L21: + move.l 8(a2),a0 + move.l a0,_object_activeList + jeq .L9 + clr.l 12(a0) + subq.w #1,_object_count + move.l _object_freeList,a0 + cmp.w #0,a0 + jne .L11 +.L22: + move.l a2,_object_freeList + clr.l 8(a2) + clr.l 12(a2) + move.l (sp)+,a2 + rts + .align 2 + .globl _object_setAction +_object_setAction: + move.w d0,46(a0) + add.w 42(a0),d0 + move.w d0,a1 + moveq #0,d1 + move.w 44(a0),d1 + cmp.l a1,d1 + jeq .L23 + move.w d0,44(a0) + and.l #65535,d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + add.l d1,d0 + add.l d0,d0 + move.l d0,d1 + add.l #_object_animations,d1 + move.l d1,48(a0) + lea _object_animations,a1 + move.w (a1,d0.l),d0 + move.w d0,36(a0) + move.w d0,a1 + move.l a1,d0 + add.l a1,d0 + add.l a1,d0 + add.l d0,d0 + add.l d0,d0 + add.l #_object_imageAtlas,d0 + move.l d0,38(a0) + clr.w 72(a0) +.L23: + rts + .align 2 + .globl _object_updatePosition +_object_updatePosition: + movem.l #16176,-(sp) + move.w 26(a0),d2 + move.w 28(a0),d1 + cmp.w #2,d0 + jeq .L39 +.L28: + move.w 24(a0),d4 + move.w 22(a0),d5 + add.w d5,d2 + move.w d2,22(a0) + move.w _game_cameraX,d3 + move.w 16(a0),d6 + sub.w d3,d6 + move.w d2,d0 + moveq #15,d7 + lsr.w d7,d0 + add.w d2,d0 + asr.w #1,d0 + move.w d0,16(a0) + move.w d0,a1 + move.w d3,a2 + cmp.w #287,d6 + jgt .L30 + lea (32,a1),a3 + move.l a3,d0 + sub.l a2,d0 + cmp.l #319,d0 + jgt .L40 + tst.w d6 + jge .L30 +.L32: + move.w d1,d0 + add.w d4,d0 + move.w 18(a0),d3 + move.w d0,24(a0) + move.w d0,d1 + moveq #15,d6 + lsr.w d6,d1 + add.w d0,d1 + asr.w #1,d1 + move.w d1,18(a0) + cmp.w #207,d1 + jle .L33 +.L41: + move.w #206,18(a0) + move.w #412,24(a0) + move.w #412,d0 +.L34: + sub.w d5,d2 + move.w d2,30(a0) + sub.w d4,d0 + move.w d0,32(a0) + movem.l (sp)+,#3324 + rts +.L30: + move.l a1,d0 + sub.l a2,d0 + jpl .L32 + move.w d3,16(a0) + move.w d3,d2 + add.w d3,d2 + move.w d2,22(a0) + move.w d1,d0 + add.w d4,d0 + move.w 18(a0),d3 + move.w d0,24(a0) + move.w d0,d1 + moveq #15,d6 + lsr.w d6,d1 + add.w d0,d1 + asr.w #1,d1 + move.w d1,18(a0) + cmp.w #207,d1 + jgt .L41 +.L33: + cmp.w #65,d3 + jle .L34 + cmp.w #65,d1 + jgt .L34 + move.w #66,18(a0) + move.w #132,24(a0) + move.w #132,d0 + sub.w d5,d2 + move.w d2,30(a0) + sub.w d4,d0 + move.w d0,32(a0) + movem.l (sp)+,#3324 + rts +.L39: + add.w d2,d2 + add.w d1,d1 + jra .L28 +.L40: + move.w d3,d2 + add.w #287,d2 + move.w d2,16(a0) + add.w d2,d2 + move.w d2,22(a0) + jra .L32 + .align 2 + .globl _object_init +_object_init: + clr.w _object_count + clr.l _object_activeList + move.l #_object_buffer,_object_freeList + lea _object_buffer+8,a0 + clr.l 4(a0) + move.l #_object_buffer+96,(a0) + move.l #_object_buffer,100(a0) + move.l #_object_buffer+192,96(a0) + move.l #_object_buffer+96,196(a0) + move.l #_object_buffer+288,192(a0) + move.l #_object_buffer+192,292(a0) + move.l #_object_buffer+384,288(a0) + move.l #_object_buffer+288,388(a0) + move.l #_object_buffer+480,384(a0) + move.l #_object_buffer+384,484(a0) + move.l #_object_buffer+576,480(a0) + move.l #_object_buffer+480,580(a0) + move.l #_object_buffer+672,576(a0) + move.l #_object_buffer+576,676(a0) + move.l #_object_buffer+768,672(a0) + move.l #_object_buffer+672,772(a0) + move.l #_object_buffer+864,768(a0) + move.l #_object_buffer+768,868(a0) + move.l #_object_buffer+960,864(a0) + move.l #_object_buffer+864,964(a0) + move.l #_object_buffer+1056,960(a0) + move.l #_object_buffer+960,1060(a0) + clr.l 1056(a0) + rts + .align 2 + .globl _object_clear +_object_clear: + subq.l #4,sp + movem.l #16190,-(sp) + move.l a0,d7 + move.l 52(sp),a0 + move.w a1,d2 + jeq .L43 + move.w d0,d5 + asr.w #4,d5 + move.w d1,d2 + asr.w #4,d2 + move.w a1,a1 + ext.l d0 + lea (a1,d0.l),a5 + move.l a5,d0 + asr.l #4,d0 + move.l d0,a5 + move.w a0,a0 + ext.l d1 + lea (a0,d1.l),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d5,d6 + ext.l d6 + cmp.l d0,d6 + jgt .L43 + move.w d2,a6 + cmp.l d4,a6 + jgt .L43 + lsl.w #4,d5 + move.l d6,d0 + lsl.l #4,d0 + lea (a6,d0.l),a3 + add.l a3,a3 + add.l #_level,a3 + lsl.w #4,d2 + move.w d2,46(sp) + lea _gfx_quickRenderTile,a4 +.L48: + move.l a3,a2 + move.w 46(sp),d2 + move.l a6,d3 +.L47: + tst.w d2 + jlt .L49 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L57 +.L49: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L47 +.L58: + addq.l #1,d6 + add.w #16,d5 + lea (32,a3),a3 + cmp.l a5,d6 + jle .L48 +.L43: + movem.l (sp)+,#31996 + addq.l #4,sp + rts +.L57: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l d7,a0 + jsr (a4) + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L47 + jra .L58 + .align 2 + .globl _object_renderObject +_object_renderObject: + subq.l #8,sp + movem.l #16190,-(sp) + move.l a0,d6 + tst.w 86(a1) + jeq .L59 + move.l 38(a1),a4 + move.w 4(a4),d4 + move.w 6(a4),d7 + move.w _game_cameraX,a0 + add.w _game_screenScrollX,a0 + move.w 16(a1),d0 + sub.w a0,d0 + move.w d0,a0 + add.w 8(a4),a0 + move.w a0,d3 + add.w #15,d3 + move.w 10(a4),a2 + add.w 18(a1),a2 + move.w a2,d5 + sub.w d7,d5 + move.w d5,a3 + move.w (a4),d0 + move.w 2(a4),d1 + cmp.w #-16,d3 + jge .L62 + moveq #-15,d2 + sub.w a0,d2 + and.w #-16,d2 + add.w d2,d0 + sub.w d2,d4 + add.w d2,d3 +.L62: + move.w d3,a0 + lea (a0,d4.w),a4 + cmp.w #336,a4 + jle .L63 + add.w d4,d3 + add.w #-336,d3 + and.w #-16,d3 + sub.w d3,d4 +.L63: + tst.w d5 + jlt .L79 + tst.w d4 + jle .L59 +.L81: + tst.w d7 + jle .L59 + tst.w 88(a1) + jne .L80 + move.w d7,a1 + move.l a1,-(sp) + move.w d4,a1 + move.l a1,-(sp) + move.w a3,a3 + move.l a3,-(sp) + move.l a0,a1 + ext.l d1 + ext.l d0 + move.l d6,a0 + jsr _gfx_renderSprite + lea (12,sp),sp +.L59: + movem.l (sp)+,#31996 + addq.l #8,sp + rts +.L79: + sub.w d5,d1 + move.w a2,d7 + sub.l a3,a3 + tst.w d4 + jgt .L81 + jra .L59 +.L80: + move.l a1,46(sp) + jsr _gfx_setupRenderTile + move.l 46(sp),a1 + move.w 18(a1),d0 + sub.w d7,d0 + move.l 38(a1),a0 + move.w 8(a0),d2 + add.w 16(a1),d2 + move.w d2,d5 + asr.w #4,d5 + move.w d0,d1 + asr.w #4,d1 + move.w d2,a0 + lea (a0,d4.w),a5 + move.l a5,d2 + asr.l #4,d2 + move.l d2,a5 + move.w d0,a0 + lea (a0,d7.w),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d5,d7 + ext.l d7 + cmp.l d2,d7 + jgt .L59 + move.w d1,a6 + cmp.l d4,a6 + jgt .L59 + lsl.w #4,d5 + move.l d7,d0 + lsl.l #4,d0 + lea (a6,d0.l),a3 + add.l a3,a3 + add.l #_level,a3 + lsl.w #4,d1 + move.w d1,50(sp) + lea _gfx_quickRenderTile,a4 + move.l a3,a2 + move.w 50(sp),d2 + move.l a6,d3 +.L68: + tst.w d2 + jlt .L70 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L82 +.L70: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L68 +.L83: + addq.l #1,d7 + add.w #16,d5 + lea (32,a3),a3 + cmp.l a5,d7 + jgt .L59 + move.l a3,a2 + move.w 50(sp),d2 + move.l a6,d3 + jra .L68 +.L82: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l d6,a0 + jsr (a4) + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L68 + jra .L83 + .align 2 + .globl _object_render +_object_render: + lea (-20,sp),sp + movem.l #16190,-(sp) + move.l a0,a6 + move.w d0,50(sp) + moveq #0,d3 + move.w d0,d3 + move.l _object_activeList,a2 + cmp.w #0,a2 + jeq .L85 +.L97: + move.l 8(a2),d2 + move.l 78(a2),a1 + cmp.w #0,a1 + jeq .L86 + move.l a2,a0 + move.l d3,d0 + jsr (a1) +.L86: + cmp.w #1,76(a2) + jeq .L161 + move.l d2,a2 + tst.l d2 + jne .L97 +.L166: + move.l _object_activeList,a4 + move.l #_gfx_setupRenderTile,56(sp) + lea _gfx_setupRenderTile,a2 + jsr (a2) + lea _gfx_quickRenderTile,a5 + cmp.w #0,a4 + jeq .L99 +.L139: + tst.w 88(a4) + jne .L103 + move.l 68(a4),a0 + move.w 4(a0),d0 + jne .L162 +.L103: + move.l 8(a4),a4 + cmp.w #0,a4 + jne .L139 +.L99: + move.l _object_activeList,a0 + cmp.w #0,a0 + jeq .L113 + clr.w d1 + lea _object_zBuffer,a5 +.L112: + move.w d1,a1 + move.l a1,d0 + add.l a1,d0 + add.l d0,d0 + move.l a0,(a5,d0.l) + addq.w #1,d1 + move.l 68(a0),a1 + move.l 38(a0),a2 + move.w 16(a0),d2 + add.w 8(a2),d2 + move.w d2,(a1) + move.w 6(a2),d0 + move.w 18(a0),d2 + sub.w d0,d2 + move.w d2,2(a1) + move.w 4(a2),4(a1) + move.w d0,6(a1) + lea (52,a0),a2 + cmp.l a1,a2 + jeq .L163 + move.l a2,68(a0) + move.l 8(a0),a0 + cmp.w #0,a0 + jne .L112 +.L113: + move.w _object_count,d3 + jle .L84 + clr.w d7 + lea _object_zBuffer,a5 + move.l a5,d6 +.L128: + move.w d7,a0 + move.l a0,d0 + add.l a0,d0 + add.l d0,d0 + move.l d6,a0 + move.l (a0,d0.l),a3 + cmp.w #1,76(a3) + jeq .L114 + tst.w 86(a3) + jne .L164 +.L116: + move.w 72(a3),d0 + move.l 48(a3),a0 + moveq #0,d1 + move.w d0,d1 + move.w 4(a0),a1 + cmp.l d1,a1 + jgt .L126 +.L171: + move.w 36(a3),d0 + addq.w #1,d0 + move.w d0,36(a3) + clr.w 72(a3) + cmp.w 2(a0),d0 + jle .L127 + move.w (a0),d0 + move.w d0,36(a3) +.L127: + move.w d0,a0 + move.l a0,d0 + add.l a0,d0 + add.l a0,d0 + add.l d0,d0 + add.l d0,d0 + add.l #_object_imageAtlas,d0 + move.l d0,38(a3) +.L114: + addq.w #1,d7 + cmp.w d3,d7 + jlt .L128 +.L84: + movem.l (sp)+,#31996 + lea (20,sp),sp + rts +.L161: + move.w 74(a2),d0 + cmp.w #2,d0 + jeq .L165 + addq.w #1,d0 + move.w d0,74(a2) + move.l d2,a2 + tst.l d2 + jne .L97 + jra .L166 +.L162: + move.w 2(a0),d3 + move.w (a0),d2 + move.w d2,d5 + asr.w #4,d5 + move.w d3,d1 + asr.w #4,d1 + move.w d2,a1 + lea (a1,d0.w),a1 + move.l a1,d0 + asr.l #4,d0 + move.l d0,46(sp) + move.w 6(a0),a0 + lea (a0,d3.w),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d5,d6 + ext.l d6 + cmp.l d0,d6 + jgt .L103 + move.w d1,d7 + ext.l d7 + cmp.l d4,d7 + jgt .L103 + lsl.w #4,d5 + move.l d6,d0 + lsl.l #4,d0 + move.l d0,a3 + add.l d7,a3 + add.l a3,a3 + add.l #_level,a3 + lsl.w #4,d1 + move.l a4,52(sp) + move.w d1,a4 +.L105: + move.l a3,a2 + move.w a4,d2 + move.l d7,d3 +.L104: + tst.w d2 + jlt .L106 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L167 +.L106: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L104 +.L168: + addq.l #1,d6 + add.w #16,d5 + lea (32,a3),a3 + cmp.l 46(sp),d6 + jle .L105 + move.l 52(sp),a4 + move.l 8(a4),a4 + cmp.w #0,a4 + jne .L139 + jra .L99 +.L167: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l a6,a0 + jsr (a5) + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L104 + jra .L168 +.L163: + lea (60,a0),a2 + move.l a2,68(a0) + move.l 8(a0),a0 + cmp.w #0,a0 + jne .L112 + jra .L113 +.L164: + move.l 38(a3),a4 + move.w 4(a4),d4 + move.w 6(a4),d5 + move.w _game_cameraX,a0 + add.w _game_screenScrollX,a0 + move.w 16(a3),a2 + sub.w a0,a2 + move.w a2,a1 + add.w 8(a4),a1 + move.w a1,d2 + add.w #15,d2 + move.w 10(a4),a2 + add.w 18(a3),a2 + move.w a2,d0 + sub.w d5,d0 + move.w d0,a5 + move.w (a4),a0 + move.w 2(a4),46(sp) + cmp.w #-16,d2 + jge .L117 + moveq #-15,d1 + sub.w a1,d1 + and.w #-16,d1 + add.w d1,a0 + sub.w d1,d4 + add.w d1,d2 +.L117: + move.w d2,a1 + lea (a1,d4.w),a4 + cmp.w #336,a4 + jle .L118 + add.w d4,d2 + add.w #-336,d2 + and.w #-16,d2 + sub.w d2,d4 +.L118: + tst.w d0 + jlt .L169 +.L119: + tst.w d4 + jle .L116 + tst.w d5 + jle .L116 + tst.w 88(a3) + jne .L170 + move.w d5,a2 + move.l a2,-(sp) + move.w d4,a2 + move.l a2,-(sp) + move.w a5,a5 + move.l a5,-(sp) + move.w 58(sp),d1 + ext.l d1 + move.w a0,d0 + ext.l d0 + move.l a6,a0 + jsr _gfx_renderSprite + lea (12,sp),sp +.L156: + move.w _object_count,d3 + move.w 72(a3),d0 + move.l 48(a3),a0 + moveq #0,d1 + move.w d0,d1 + move.w 4(a0),a1 + cmp.l d1,a1 + jle .L171 +.L126: + add.w 50(sp),d0 + move.w d0,72(a3) + addq.w #1,d7 + cmp.w d3,d7 + jlt .L128 + jra .L84 +.L169: + sub.w d0,46(sp) + move.w a2,d5 + sub.l a5,a5 + jra .L119 +.L165: + cmp.l _game_player1.l,a2 + jeq .L172 + cmp.l _game_player2.l,a2 + jeq .L173 +.L90: + move.l 82(a2),a1 + cmp.w #0,a1 + jeq .L91 + move.l 4(a2),a0 + jsr (a1) +.L91: + move.l 12(a2),a0 + cmp.w #0,a0 + jeq .L174 + move.l 8(a2),8(a0) + move.l 8(a2),a1 + cmp.w #0,a1 + jeq .L94 + move.l a0,12(a1) +.L94: + subq.w #1,_object_count + move.l _object_freeList,a0 + cmp.w #0,a0 + jeq .L175 + move.l a0,8(a2) + move.l a2,12(a0) + clr.l 12(a2) + move.l a2,_object_freeList + move.l d2,a2 + tst.l d2 + jne .L97 + jra .L166 +.L170: + move.l 56(sp),a2 + jsr (a2) + move.w 18(a3),d0 + sub.w d5,d0 + move.l 38(a3),a0 + move.w 8(a0),d3 + add.w 16(a3),d3 + move.w d3,d2 + asr.w #4,d2 + move.w d0,d1 + asr.w #4,d1 + move.w d3,a0 + lea (a0,d4.w),a0 + move.l a0,d3 + asr.l #4,d3 + move.w d0,a0 + lea (a0,d5.w),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d2,a5 + cmp.l d3,a5 + jgt .L156 + move.w d1,a0 + cmp.l d4,a0 + jgt .L156 + move.w d2,d5 + lsl.w #4,d5 + move.l a5,d0 + lsl.l #4,d0 + lea (a0,d0.l),a4 + add.l a4,a4 + add.l #_level,a4 + lsl.w #4,d1 + move.l a3,46(sp) + move.w d7,52(sp) + move.l a0,d7 + move.w d1,a3 + move.l d6,60(sp) + move.l d3,d6 +.L123: + move.l a4,a2 + move.w a3,d2 + move.l d7,d3 +.L122: + tst.w d2 + jlt .L124 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L176 +.L124: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L122 +.L177: + addq.l #1,a5 + add.w #16,d5 + lea (32,a4),a4 + cmp.l d6,a5 + jle .L123 + move.l 46(sp),a3 + move.w 52(sp),d7 + move.l 60(sp),d6 + move.w _object_count,d3 + jra .L116 +.L176: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l a6,a0 + jsr _gfx_quickRenderTile + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L122 + jra .L177 +.L173: + clr.l _game_player2 + jra .L90 +.L85: + move.l #_gfx_setupRenderTile,56(sp) + lea _gfx_setupRenderTile,a2 + jsr (a2) + jra .L99 +.L172: + clr.l _game_player1 + jra .L90 +.L174: + move.l 8(a2),a0 + move.l a0,_object_activeList + jeq .L94 + clr.l 12(a0) + jra .L94 +.L175: + move.l a2,_object_freeList + clr.l 8(a2) + clr.l 12(a2) + move.l d2,a2 + tst.l d2 + jne .L97 + jra .L166 + .align 2 + .globl _object_restoreBackground +_object_restoreBackground: + subq.l #8,sp + movem.l #16190,-(sp) + move.l a0,a5 + move.l _object_activeList,a4 + jsr _gfx_setupRenderTile + lea _gfx_quickRenderTile,a6 + cmp.w #0,a4 + jeq .L178 +.L190: + tst.w 88(a4) + jne .L183 + move.l 68(a4),a0 + move.w 4(a0),d0 + jne .L199 +.L183: + move.l 8(a4),a4 + cmp.w #0,a4 + jne .L190 +.L178: + movem.l (sp)+,#31996 + addq.l #8,sp + rts +.L199: + move.w 2(a0),d3 + move.w (a0),d2 + move.w d2,d5 + asr.w #4,d5 + move.w d3,d1 + asr.w #4,d1 + move.w d2,a1 + lea (a1,d0.w),a1 + move.l a1,d0 + asr.l #4,d0 + move.l d0,44(sp) + move.w 6(a0),a0 + lea (a0,d3.w),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d5,d6 + ext.l d6 + cmp.l d0,d6 + jgt .L183 + move.w d1,d7 + ext.l d7 + cmp.l d4,d7 + jgt .L183 + lsl.w #4,d5 + move.l d6,d0 + lsl.l #4,d0 + move.l d0,a3 + add.l d7,a3 + add.l a3,a3 + add.l #_level,a3 + lsl.w #4,d1 + move.l a4,48(sp) + move.w d1,a4 +.L185: + move.l a3,a2 + move.w a4,d2 + move.l d7,d3 +.L184: + tst.w d2 + jlt .L186 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L200 +.L186: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L184 +.L201: + addq.l #1,d6 + add.w #16,d5 + lea (32,a3),a3 + cmp.l 44(sp),d6 + jle .L185 + move.l 48(sp),a4 + move.l 8(a4),a4 + cmp.w #0,a4 + jne .L190 + jra .L178 +.L200: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l a5,a0 + jsr (a6) + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L184 + jra .L201 + .align 2 + .globl _object_collision +_object_collision: + movem.l #16190,-(sp) + move.l a0,a3 + move.l a1,a5 + move.w 50(sp),d4 + move.w 28(a0),a1 + move.w 26(a0),a0 + cmp.w #2,d0 + jeq .L214 +.L203: + move.l _object_activeList,a2 + clr.l 12(a5) + clr.l 8(a5) + clr.l 4(a5) + clr.l (a5) + move.w 24(a3),a4 + lea (a4,a1.w),a4 + move.l a4,d0 + jpl .L216 + addq.l #1,d0 +.L216: + asr.l #1,d0 + move.l d0,a4 + move.w d0,d5 + move.w 22(a3),a1 + lea (a1,a0.w),a0 + move.l a0,d0 + jpl .L217 + addq.l #1,d0 +.L217: + asr.l #1,d0 + move.w 90(a3),a0 + move.w a0,d6 + sub.w d1,d6 + add.w d0,d6 + move.w 92(a3),d2 + add.w d1,d2 + sub.w a0,d2 + add.w d0,d2 + clr.w d7 + cmp.w #0,a2 + jeq .L202 + lea _abs,a6 + and.l #65535,d4 +.L209: + tst.w 94(a2) + jeq .L205 + cmp.l a3,a2 + jeq .L205 + move.w 18(a2),d3 + move.l a4,a0 + sub.w d3,a0 + move.l a0,d0 + jsr (a6) + cmp.l d0,d4 + jlt .L205 + move.w 16(a2),d1 + move.w 90(a2),a0 + move.w d1,d0 + sub.w a0,d0 + add.w 92(a2),d0 + cmp.w d6,d0 + jle .L205 + add.w a0,d1 + cmp.w d2,d1 + jge .L205 + cmp.w d5,d3 + jlt .L206 + move.l a2,(a5) + cmp.w d6,d1 + jlt .L208 +.L215: + move.l a2,12(a5) + moveq #1,d7 +.L205: + move.l 8(a2),a2 + cmp.w #0,a2 + jne .L209 +.L202: + move.w d7,d0 + movem.l (sp)+,#31996 + rts +.L214: + add.w a0,a0 + add.w a1,a1 + jra .L203 +.L206: + move.l a2,4(a5) + cmp.w d6,d1 + jge .L215 +.L208: + move.l a2,8(a5) + moveq #1,d7 + move.l 8(a2),a2 + cmp.w #0,a2 + jne .L209 + jra .L202 + .align 2 + .globl _object_add +_object_add: + movem.l #12344,-(sp) + move.l 24(sp),d3 + move.l 28(sp),a3 + move.w d1,d2 + move.l _object_freeList,a2 + move.l 8(a2),a4 + move.l a4,_object_freeList + jeq .L219 + clr.l 12(a4) +.L219: + clr.w 76(a2) + move.w d1,2(a2) + move.w #1,86(a2) + move.w d0,(a2) + move.w d3,26(a2) + clr.w 28(a2) + lea (52,a2),a4 + move.l a4,68(a2) + clr.w 56(a2) + clr.w 64(a2) + move.w a3,a4 + move.l a4,d0 + add.l a4,d0 + add.l d0,d0 + add.l a4,d0 + add.l d0,d0 + move.l d0,d1 + add.l #_object_animations,d1 + move.l d1,48(a2) + move.w a3,44(a2) + move.w a3,42(a2) + lea _object_animations,a3 + move.w (a3,d0.l),d0 + move.w d0,36(a2) + move.w d0,a3 + move.l a3,d0 + add.l a3,d0 + add.l a3,d0 + add.l d0,d0 + add.l d0,d0 + add.l #_object_imageAtlas,d0 + move.l d0,38(a2) + move.w a0,d0 + add.w a0,d0 + move.w d0,22(a2) + move.w a0,16(a2) + move.w a1,d0 + add.w a1,d0 + move.w d0,24(a2) + move.w a1,18(a2) + move.w a1,20(a2) + clr.w 72(a2) + clr.w 74(a2) + move.l 32(sp),78(a2) + move.l 36(sp),4(a2) + move.l 40(sp),82(a2) + clr.w 88(a2) + cmp.w #1,d2 + sls d0 + ext.w d0 + neg.w d0 + move.w d0,94(a2) + addq.w #1,_object_count + move.l _object_activeList,a0 + cmp.w #0,a0 + jeq .L227 + move.l a0,8(a2) + move.l a2,12(a0) + clr.l 12(a2) + move.l a2,_object_activeList + move.l a2,d0 + movem.l (sp)+,#7180 + rts +.L227: + move.l a2,_object_activeList + clr.l 8(a2) + clr.l 12(a2) + move.l a2,d0 + movem.l (sp)+,#7180 + rts +.comm _object_zBuffer,48 +.lcomm _object_buffer,1152 +.lcomm _object_freeList,4 +.comm _object_activeList,4 +.comm _object_count,2 diff --git a/test/test6/test.c b/test/test6/test.c new file mode 100755 index 0000000..350da83 --- /dev/null +++ b/test/test6/test.c @@ -0,0 +1,416 @@ +#include "test.h" +extern object_t* game_player1; +extern object_t* game_player2; + +int16_t object_count; +object_t* object_activeList; +static object_t* object_freeList; +static __section(random_c) object_t object_buffer[OBJECT_MAX_OBJECTS]; +object_t* object_zBuffer[OBJECT_MAX_OBJECTS]; + +static object_t* +object_getFree(void) +{ + object_t* entry = object_freeList; + object_freeList = object_freeList->next; + if (object_freeList) { + object_freeList->prev = 0; + } + +#ifdef DEBUG + if (!entry) { + PANIC("object_getFree: empty list"); + } +#endif + + return entry; +} + + +static void +object_addFree(object_t* ptr) +{ + object_count--; + + if (object_freeList == 0) { + object_freeList = ptr; + ptr->next = 0; + ptr->prev = 0; + } else { + ptr->next = object_freeList; + ptr->next->prev = ptr; + ptr->prev = 0; + object_freeList = ptr; + } +} + + +static void +object_addToActive(object_t* ptr) +{ + object_count++; + + if (object_activeList == 0) { + object_activeList = ptr; + ptr->next = 0; + ptr->prev = 0; + } else { + ptr->next = object_activeList; + ptr->next->prev = ptr; + ptr->prev = 0; + object_activeList = ptr; + } +} + + +static void +object_removeFromActive(object_t* ptr) +{ + if (ptr->prev == 0) { + object_activeList = ptr->next; + if (object_activeList) { + object_activeList->prev = 0; + } + } else { + ptr->prev->next = ptr->next; + if (ptr->next != 0) { + ptr->next->prev = ptr->prev; + } + } +} + + +void +object_setAnim(object_t* ptr, int16_t anim) +{ + if (ptr->animId != anim) { + ptr->animId = anim; + ptr->anim = &object_animations[ptr->animId]; + ptr->imageIndex = ptr->anim->start; + ptr->image = &object_imageAtlas[ptr->imageIndex]; + ptr->frameCounter = 0; + } +} + + +void +object_free(object_t* ptr) +{ + if (ptr->freeData) { + ptr->freeData(ptr->data); + } + object_removeFromActive(ptr); + object_addFree(ptr); +} + + +void +object_setAction(object_t* ptr, object_action_t action) +{ + ptr->actionId = action; + object_setAnim(ptr, ptr->baseId + action); +} + + +void +object_updatePosition(uint16_t deltaT, object_t* ptr) +{ + int16_t vx = ptr->velocity.x; + int16_t vy = ptr->velocity.y; + + if (deltaT == 2) { + vx *= 2; + vy *= 2; + } + + int16_t lastX = object_px(ptr); + int16_t lastY = object_py(ptr); + + object_set_px(ptr, lastX + vx); + object_set_py(ptr, lastY + vy); + + ptr->velocity.dx = object_px(ptr) - lastX; + ptr->velocity.dy = object_py(ptr) - lastY; +} + + +void +object_init(void) +{ + object_count = 0; + object_activeList = 0; + object_freeList = &object_buffer[0]; + object_freeList->prev = 0; + object_t* ptr = object_freeList; + for (int16_t i = 1; i < OBJECT_MAX_OBJECTS; i++) { + ptr->next = &object_buffer[i]; + ptr->next->prev = ptr; + ptr = ptr->next; + } + ptr->next = 0; +} + + +static void +object_updateAnimation(uint16_t deltaT, object_t *ptr) +{ + if (ptr->frameCounter >= ptr->anim->speed) { + ptr->imageIndex++; + ptr->frameCounter = 0; + if (ptr->imageIndex > ptr->anim->stop) { + ptr->imageIndex = ptr->anim->start; + } + ptr->image = &object_imageAtlas[ptr->imageIndex]; + } else { + ptr->frameCounter+=deltaT; + } +} + + +void +object_clear(frame_buffer_t fb, int16_t ox, int16_t oy, int16_t ow, int16_t oh) +{ + if (ow) { + int16_t sx = ox>>4; + int16_t sy = (oy)>>4; + int16_t ex = (ox+ow)>>4; + int16_t ey = (oy+oh)>>4; + for (int32_t x = sx; x <= ex; x++) { + for (int32_t y = sy; y <= ey; y++) { + uint16_t tile = level.tileAddresses[x][y]; + int16_t screenX = 0xf+(x<<4)-game_cameraX-game_screenScrollX; + int16_t screenY = y << 4; + if (screenY >= 0 && screenX >= 0 && screenX <= SCREEN_WIDTH+TILE_WIDTH) { + gfx_quickRenderTile(fb, screenX, screenY, level.tileBitplanes+tile); + } + } + } + } +} + + +void +object_renderObject(frame_buffer_t fb, object_t* ptr) +{ + if (!ptr->visible) { + return; + } + + int16_t w = ptr->image->w; + int16_t h = ptr->image->h; + + int16_t screenx = object_screenx(ptr); + int16_t screeny = object_screeny(ptr); + int16_t sx = ptr->image->x; + int16_t sy = ptr->image->y; + + + if (screenx < -TILE_WIDTH) { + int16_t tiles = (-screenx>>4)<<4; + sx += tiles; + w -= tiles ; + screenx += tiles; + } + + if ((screenx+w) > SCREEN_WIDTH+TILE_WIDTH) { + int16_t tiles = (((screenx+w) -(SCREEN_WIDTH+TILE_WIDTH))>>4)<<4; + w -= tiles; + } + + if (screeny < 0) { + sy -= screeny; + h += screeny; + screeny = 0; + } + + if (w > 0 && h > 0) { + if (ptr->tileRender) { + gfx_setupRenderTile(); + object_clear(fb, object_x(ptr)+ptr->image->dx, object_y(ptr)-h, w, h); + return; + } + gfx_renderSprite(fb, sx, sy, screenx, screeny, w, h); + } +} + + +static void +object_update(uint16_t deltaT) +{ + object_t* ptr = object_activeList; + + while (ptr) { + object_t* next = ptr->next; + if (ptr->update) { + ptr->update(deltaT, ptr); + } + if (object_get_state(ptr) == OBJECT_STATE_REMOVED) { + if (ptr->deadRenderCount == 2) { + if (ptr == game_player1) { + game_player1 = 0; + } else if (ptr == game_player2) { + game_player2 = 0; + } + object_free(ptr); + + } else { + ptr->deadRenderCount++; + } + } + ptr = next; + } +} + + +static void +object_saveBackground(void) +{ + object_t* ptr = object_activeList; + + int16_t i = 0; + while (ptr != 0) { + object_zBuffer[i] = ptr; + i++; + ptr->save.position->x = object_x(ptr)+ptr->image->dx; + ptr->save.position->y = object_y(ptr)-ptr->image->h; + ptr->save.position->w = ptr->image->w; + ptr->save.position->h = ptr->image->h; + ptr->save.position = ptr->save.position == &ptr->save.positions[0] ? &ptr->save.positions[1] : &ptr->save.positions[0]; + ptr = ptr->next; + } +} + + +void +object_render(frame_buffer_t fb, uint16_t deltaT) +{ + object_update(deltaT); + object_restoreBackground(fb); + object_saveBackground(); + + // sort_z(object_count, object_zBuffer); + + for (int16_t i = 0; i < object_count; i++) { + object_t* ptr = object_zBuffer[i]; + if (object_get_state(ptr) != OBJECT_STATE_REMOVED) { + object_renderObject(fb, ptr); + object_updateAnimation(deltaT, ptr); + } + } +} + + +void +object_restoreBackground(frame_buffer_t fb) +{ + object_t* ptr = object_activeList; + + gfx_setupRenderTile(); + + while (ptr != 0) { + if (!ptr->tileRender) { + object_clear(fb, ptr->save.position->x, ptr->save.position->y, ptr->save.position->w, ptr->save.position->h); + } + + ptr = ptr->next; + } +} + + +int16_t +object_collision(int16_t deltaT, object_t* a, object_collision_t* collision, uint16_t thresholdx, uint16_t thresholdy) +{ + int16_t vy = a->velocity.y; + int16_t vx = a->velocity.x; + + if (deltaT == 2) { + vx *= 2; + vy *= 2; + } + + int16_t _collision = 0; + object_t* b = object_activeList; + + collision->up = collision->down = collision->left = collision->right = 0; + +#ifdef DEBUG + if (!game_collisions) { + return 0; + } +#endif + + int16_t a_y = ((object_py(a) + vy) / OBJECT_PHYSICS_FACTOR); + int16_t a_x1 = (((object_px(a) + vx) / OBJECT_PHYSICS_FACTOR) + a->widthOffset)-thresholdx; + int16_t a_x2 = (((object_px(a) + vx) / OBJECT_PHYSICS_FACTOR) + (a->width - a->widthOffset)) + thresholdx; + + while (b) { + if (b->collidable && b != a) { + int16_t b_y = ((object_y(b))); + + if (abs(a_y - b_y) <= thresholdy) { + int16_t b_x1 = ((object_x(b))) + b->widthOffset; + int16_t b_x2 = ((object_x(b))) + (b->width - b->widthOffset); + + if (a_x1 < b_x2 && a_x2 > b_x1) { + if (b_y >= a_y) { + collision->up = b; + } else if (b_y < a_y) { + collision->down = b; + } + if (b_x1 >= a_x1) { + collision->right = b; + } else if (b_x1 < a_x1) { + collision->left = b; + } + _collision = 1; + } + } + } + b = b->next; + } + + return _collision; +} + + +NOINLINE object_t* +object_add(uint16_t id, uint16_t class, int16_t x, int16_t y, int16_t dx, int16_t anim, void (*update)(uint16_t deltaT, object_t* ptr), void* data, void (*freeData)(void*)) +{ +#ifdef DEBUG + if (object_count >= OBJECT_MAX_OBJECTS) { + PANIC("object_add: no free objects"); + return 0; + } +#endif + + object_t* ptr = object_getFree(); + object_set_state(ptr, OBJECT_STATE_ALIVE); + ptr->class = class; + ptr->visible = 1; + ptr->id = id; + ptr->velocity.x = dx; + ptr->velocity.y = 0; + ptr->save.position = &ptr->save.positions[0]; + ptr->save.positions[0].w = 0; + ptr->save.positions[1].w = 0; + ptr->anim = &object_animations[anim]; + ptr->animId = anim; + ptr->baseId = anim; + ptr->imageIndex = ptr->anim->start; + ptr->image = &object_imageAtlas[ptr->imageIndex]; + ptr->_px = x*OBJECT_PHYSICS_FACTOR; + ptr->_x = x; + ptr->_py = y*OBJECT_PHYSICS_FACTOR; + ptr->_y = y; + object_set_z(ptr, y); + ptr->frameCounter = 0; + ptr->deadRenderCount = 0; + ptr->update = update; + ptr->data = data; + ptr->freeData = freeData; + ptr->tileRender = 0; + + ptr->collidable = (ptr->class == OBJECT_CLASS_FIGHTER || ptr->class == OBJECT_CLASS_THING); + object_addToActive(ptr); + return ptr; +} diff --git a/test/test6/test.h b/test/test6/test.h new file mode 100755 index 0000000..000b8f8 --- /dev/null +++ b/test/test6/test.h @@ -0,0 +1,862 @@ +typedef unsigned char uint8_t; +typedef short int int16_t; +typedef unsigned short int uint16_t; +typedef unsigned long uint32_t; +typedef long int32_t; +typedef unsigned short UWORD; +typedef uint32_t* APTR; +typedef uint32_t ULONG; +typedef unsigned char UBYTE; + +typedef uint8_t* frame_buffer_t; + + +extern uint8_t* game_offScreenBuffer; + + +#ifndef HARDWARE_BLIT_H +#define HARDWARE_BLIT_H +/* +** $VER: blit.h 39.1 (18.9.1992) +** Includes Release 45.1 +** +** Defines for direct hardware use of the blitter. +** +** (C) Copyright 1985-2001 Amiga, Inc. +** All Rights Reserved +*/ + +#define HSIZEBITS 6 +#define VSIZEBITS 16-HSIZEBITS +#define HSIZEMASK 0x3f /* 2^6 -- 1 */ +#define VSIZEMASK 0x3FF /* 2^10 - 1 */ + +/* all agnii support horizontal blit of at least 1024 bits (128 bytes) wide */ +/* some agnii support horizontal blit of up to 32768 bits (4096 bytes) wide */ + +#ifndef NO_BIG_BLITS +#define MINBYTESPERROW 128 +#define MAXBYTESPERROW 4096 +#else +#define MAXBYTESPERROW 128 +#endif + +/* definitions for blitter control register 0 */ + +#define ABC 0x80 +#define ABNC 0x40 +#define ANBC 0x20 +#define ANBNC 0x10 +#define NABC 0x8 +#define NABNC 0x4 +#define NANBC 0x2 +#define NANBNC 0x1 + +/* some commonly used operations */ +#define A_OR_B ABC|ANBC|NABC | ABNC|ANBNC|NABNC +#define A_OR_C ABC|NABC|ABNC | ANBC|NANBC|ANBNC +#define A_XOR_C NABC|ABNC | NANBC|ANBNC +#define A_TO_D ABC|ANBC|ABNC|ANBNC + +#define BC0B_DEST 8 +#define BC0B_SRCC 9 +#define BC0B_SRCB 10 +#define BC0B_SRCA 11 +#define BC0F_DEST 0x100 +#define BC0F_SRCC 0x200 +#define BC0F_SRCB 0x400 +#define BC0F_SRCA 0x800 + +#define BC1F_DESC 2 /* blitter descend direction */ + +#define DEST 0x100 +#define SRCC 0x200 +#define SRCB 0x400 +#define SRCA 0x800 + +#define ASHIFTSHIFT 12 /* bits to right align ashift value */ +#define BSHIFTSHIFT 12 /* bits to right align bshift value */ + +/* definations for blitter control register 1 */ +#define LINEMODE 0x1 +#define FILL_OR 0x8 +#define FILL_XOR 0x10 +#define FILL_CARRYIN 0x4 +#define ONEDOT 0x2 /* one dot per horizontal line */ +#define OVFLAG 0x20 +#define SIGNFLAG 0x40 +#define BLITREVERSE 0x2 + +#define SUD 0x10 +#define SUL 0x8 +#define AUL 0x4 + +#define OCTANT8 24 +#define OCTANT7 4 +#define OCTANT6 12 +#define OCTANT5 28 +#define OCTANT4 20 +#define OCTANT3 8 +#define OCTANT2 0 +#define OCTANT1 16 + +/* stuff for blit qeuer */ +struct bltnode +{ + struct bltnode *n; + int (*function)(); + char stat; + short blitsize; + short beamsync; + int (*cleanup)(); +}; + +/* defined bits for bltstat */ +#define CLEANUP 0x40 +#define CLEANME CLEANUP + +#endif /* HARDWARE_BLIT_H */ + + +struct Custom { + UWORD bltddat; + UWORD dmaconr; + UWORD vposr; + UWORD vhposr; + UWORD dskdatr; + UWORD joy0dat; + UWORD joy1dat; + UWORD clxdat; + UWORD adkconr; + UWORD pot0dat; + UWORD pot1dat; + UWORD potinp; + UWORD serdatr; + UWORD dskbytr; + UWORD intenar; + UWORD intreqr; + APTR dskpt; + UWORD dsklen; + UWORD dskdat; + UWORD refptr; + UWORD vposw; + UWORD vhposw; + UWORD copcon; + UWORD serdat; + UWORD serper; + UWORD potgo; + UWORD joytest; + UWORD strequ; + UWORD strvbl; + UWORD strhor; + UWORD strlong; + UWORD bltcon0; + UWORD bltcon1; + UWORD bltafwm; + UWORD bltalwm; + APTR bltcpt; + APTR bltbpt; + APTR bltapt; + APTR bltdpt; + UWORD bltsize; + UBYTE pad2d; + UBYTE bltcon0l; /* low 8 bits of bltcon0, write only */ + UWORD bltsizv; + UWORD bltsizh; /* 5e */ + UWORD bltcmod; + UWORD bltbmod; + UWORD bltamod; + UWORD bltdmod; + UWORD pad34[4]; + UWORD bltcdat; + UWORD bltbdat; + UWORD bltadat; + UWORD pad3b[3]; + UWORD deniseid; /* 7c */ + UWORD dsksync; + ULONG cop1lc; + ULONG cop2lc; + UWORD copjmp1; + UWORD copjmp2; + UWORD copins; + UWORD diwstrt; + UWORD diwstop; + UWORD ddfstrt; + UWORD ddfstop; + UWORD dmacon; + UWORD clxcon; + UWORD intena; + UWORD intreq; + UWORD adkcon; + struct AudChannel { + UWORD *ac_ptr; /* ptr to start of waveform data */ + UWORD ac_len; /* length of waveform in words */ + UWORD ac_per; /* sample period */ + UWORD ac_vol; /* volume */ + UWORD ac_dat; /* sample pair */ + UWORD ac_pad[2]; /* unused */ + } aud[4]; + APTR bplpt[8]; + UWORD bplcon0; + UWORD bplcon1; + UWORD bplcon2; + UWORD bplcon3; + UWORD bpl1mod; + UWORD bpl2mod; + UWORD bplcon4; + UWORD clxcon2; + UWORD bpldat[8]; + APTR sprpt[8]; + struct SpriteDef { + UWORD pos; + UWORD ctl; + UWORD dataa; + UWORD datab; + } spr[8]; + UWORD color[32]; + UWORD htotal; + UWORD hsstop; + UWORD hbstrt; + UWORD hbstop; + UWORD vtotal; + UWORD vsstop; + UWORD vbstrt; + UWORD vbstop; + UWORD sprhstrt; + UWORD sprhstop; + UWORD bplhstrt; + UWORD bplhstop; + UWORD hhposw; + UWORD hhposr; + UWORD beamcon0; + UWORD hsstrt; + UWORD vsstrt; + UWORD hcenter; + UWORD diwhigh; /* 1e4 */ + UWORD padf3[11]; + UWORD fmode; +}; + + +typedef volatile struct Custom* custom_t; + +#define CUSTOM ((custom_t)0xdff000) + +#define __section(x) +#define DISK_SECTOR_ALIGN +#define NOINLINE + +extern int16_t game_cameraX; +extern int16_t game_screenScrollX; +extern frame_buffer_t game_onScreenBuffer; +extern frame_buffer_t game_offScreenBuffer; +extern frame_buffer_t game_scoreBoardFrameBuffer; +extern uint16_t game_over; +extern uint16_t game_numPlayers; +extern uint16_t game_wave; +extern uint16_t game_nextWave; +extern uint32_t game_player1Score; +extern uint32_t game_player2Score; + +#define GAME_PAVEMENT_START 66 + +#define SPRITE_SHEET_WIDTH 272 +#define SPRITE_SHEET_HEIGHT 594 +#define SPRITE_SHEET_WIDTH_BYTES (SPRITE_SHEET_WIDTH/8) + + +#define TILE_SHEET_WIDTH 272 +#define TILE_SHEET_HEIGHT 112 +#define TILE_SHEET_WIDTH_BYTES (TILE_SHEET_WIDTH/8) + +#define SCREEN_WIDTH_BYTES (SCREEN_WIDTH/8) + +#define FRAME_BUFFER_WIDTH_BYTES (FRAME_BUFFER_WIDTH/8) +#define SCREEN_WIDTH_WORDS (SCREEN_WIDTH/16) +#define SCREEN_BIT_DEPTH 5 +#define SCREEN_NUM_COLORS (1<_x; +} + +inline static int16_t +object_y(object_t* ptr) { + return ptr->_y; +} + +inline static int16_t +object_z(object_t* ptr) { + return ptr->_z; +} + +inline static int16_t +object_px(object_t* ptr) { + return ptr->_px; +} + +inline static int16_t +object_py(object_t* ptr) { + return ptr->_py; +} + +inline static uint16_t +object_get_state(object_t* ptr) { + return ptr->_state; +} + +inline static void +object_set_state(object_t* ptr, uint16_t state) { + ptr->_state = state; + if (state == OBJECT_STATE_ALIVE) { + if (ptr->class == OBJECT_CLASS_FIGHTER || ptr->class == OBJECT_CLASS_THING) { + ptr->collidable = 1; + return; + } + } + ptr->collidable = 0; +} + +#define object_screenx(ptr) (ptr->image->dx + 0xf + ptr->_x-game_cameraX-game_screenScrollX) +#define object_screeny(ptr) (ptr->image->dy + (ptr->_y-ptr->image->h)) + +inline static void +object_set_px(object_t* ptr, int16_t px) +{ + ptr->_px = px; + int16_t oldX = ptr->_x - game_cameraX; + ptr->_x = ptr->_px / OBJECT_PHYSICS_FACTOR; + + if (oldX + OBJECT_WIDTH < SCREEN_WIDTH && (ptr->_x + OBJECT_WIDTH - game_cameraX)>= SCREEN_WIDTH) { + ptr->_x = game_cameraX + (SCREEN_WIDTH - OBJECT_WIDTH - 1); + ptr->_px = ptr->_x * OBJECT_PHYSICS_FACTOR; + } else if (oldX >= 0 && ptr->_x - game_cameraX < 0) { + ptr->_x = game_cameraX; + ptr->_px = ptr->_x * OBJECT_PHYSICS_FACTOR; + } +} + +inline static void +object_set_py(object_t* ptr, int16_t py) +{ + int16_t oldY = ptr->_y; + ptr->_py = py; + ptr->_y = ptr->_py / OBJECT_PHYSICS_FACTOR; + + + if (ptr->_y >= PLAYAREA_HEIGHT) { + ptr->_y = PLAYAREA_HEIGHT-2; + ptr->_py = ptr->_y * OBJECT_PHYSICS_FACTOR; + } + + if (oldY >= GAME_PAVEMENT_START && ptr->_y < GAME_PAVEMENT_START) { + ptr->_y = GAME_PAVEMENT_START; + ptr->_py = ptr->_y * OBJECT_PHYSICS_FACTOR; + } +} + +inline static void +object_set_py_no_checks(object_t* ptr, int16_t py) +{ + ptr->_py = py; + ptr->_y = ptr->_py / OBJECT_PHYSICS_FACTOR; +} + +inline static void +object_set_z(object_t* ptr, int16_t z) +{ + ptr->_z = z; +} + +void +object_setAnim(object_t* ptr, int16_t anim); + +void +object_clear(frame_buffer_t fb, int16_t ox, int16_t oy, int16_t ow, int16_t oh); + +int16_t +object_collision(int16_t deltaT, object_t* a, object_collision_t* collision, uint16_t thresholdx, uint16_t thresholdy); +#endif + + + +#ifndef LEVEL_H +#define LEVEL_H + +#define LEVEL_NUM_LEVELS 1 + +typedef struct { + uint16_t tileAddresses[MAP_TILE_WIDTH][16]; + uint8_t spriteBitplanes[SPRITE_SHEET_WIDTH_BYTES*SCREEN_BIT_DEPTH*SPRITE_SHEET_HEIGHT]; + +#ifndef GAME_ONE_BITPLANE_SPRITE_MASK + uint8_t spriteMask[SPRITE_SHEET_WIDTH_BYTES*SCREEN_BIT_DEPTH*SPRITE_SHEET_HEIGHT]; +#else + uint8_t spriteMask[SPRITE_SHEET_WIDTH_BYTES*SPRITE_SHEET_HEIGHT]; +#endif + + uint8_t tileBitplanes[TILE_SHEET_WIDTH_BYTES*SCREEN_BIT_DEPTH*TILE_SHEET_HEIGHT]; + uint16_t palette[32]; + uint16_t clouds; + uint16_t moduleIndex; + // conductor_instruction_t* instructions; +#ifdef GAME_RECORDING + uint8_t recordData[sizeof(record_t)]; + record_t* record; +#endif + void (*initFunctor)(void); +#if 0 + void (*effectFunctor)(frame_buffer_t fb); +#endif +} level_t DISK_SECTOR_ALIGN; + +extern level_t level; + +void +level_load(uint16_t index); + +#endif + +typedef struct { + frame_buffer_t dest; + frame_buffer_t source; + uint16_t mod; + uint16_t size; +} gfx_blit_t; + + +void +gfx_ctor(void); +void +gfx_screenWidthBitBlit(frame_buffer_t dest, int16_t sx, int16_t sy, int16_t dx, int16_t dy, int16_t w, int16_t h); +void +gfx_screenWidthBitBlitNoMask(frame_buffer_t dest, frame_buffer_t src, int16_t sx, int16_t sy, int16_t dx, int16_t dy, int16_t w, int16_t h); +void +gfx_fillRect(frame_buffer_t fb, uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color); +void +gfx_fillRectSmallScreen(frame_buffer_t fb, uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color); +void +gfx_renderSprite(frame_buffer_t dest, int16_t sx, int16_t sy, int16_t dx, int16_t dy, int16_t w, int16_t h); +void +gfx_renderSpriteNoMask(frame_buffer_t dest, int16_t sx, int16_t sy, int16_t dx, int16_t dy, int16_t w, int16_t h); +void +gfx_renderSprite16NoShift(frame_buffer_t dest, int16_t sx, int16_t sy, int16_t dx, int16_t dy, int16_t w, int16_t h); +void +gfx_saveSprite(frame_buffer_t source, frame_buffer_t dest, gfx_blit_t* blit, int16_t dx, int16_t dy, int16_t w, int16_t h); +void +gfx_saveSprite16(frame_buffer_t source, frame_buffer_t dest, gfx_blit_t* blit, int16_t dx, int16_t dy, int16_t h); +void +gfx_restoreSprite(gfx_blit_t* blit); +void +gfx_setupQuickRenderSprite(void); +void +gfx_quickRenderSprite(frame_buffer_t dest, int16_t sx, int16_t sy, int16_t dx, int16_t dy); +void +gfx_renderTile(frame_buffer_t dest, int16_t sx, int16_t sy, frame_buffer_t tile); +void +gfx_renderTile(frame_buffer_t fb, int16_t x, int16_t y, frame_buffer_t tile); +void +gfx_setupRenderTile(void); +void +gfx_quickRenderTile(frame_buffer_t dest, int16_t x, int16_t y, frame_buffer_t tile); +void +gfx_renderPartialTile(frame_buffer_t dest, int16_t x, int16_t y, uint16_t h, frame_buffer_t tile); +void +gfx_splitBlitNoMask(frame_buffer_t dest, frame_buffer_t src, int16_t dx, int16_t dy, int16_t sx, int16_t sy, int16_t w, int16_t _h); diff --git a/test/test6/test.s b/test/test6/test.s new file mode 100644 index 0000000..db6dd73 --- /dev/null +++ b/test/test6/test.s @@ -0,0 +1,1241 @@ +#NO_APP + .text + .align 2 + .globl _object_setAnim +_object_setAnim: + moveq #0,d1 + move.w 44(a0),d1 + move.w d0,a1 + cmp.l d1,a1 + jeq .L1 + move.w d0,44(a0) + moveq #0,d1 + move.w d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + add.l d1,d0 + add.l d0,d0 + move.l d0,d1 + add.l #_object_animations,d1 + move.l d1,48(a0) + lea _object_animations,a1 + move.w (a1,d0.l),d0 + move.w d0,36(a0) + move.w d0,a1 + move.l a1,d0 + add.l a1,d0 + add.l a1,d0 + add.l d0,d0 + add.l d0,d0 + add.l #_object_imageAtlas,d0 + move.l d0,38(a0) + clr.w 72(a0) +.L1: + rts + .align 2 + .globl _object_free +_object_free: + move.l a2,-(sp) + move.l a0,a2 + move.l 82(a0),a1 + cmp.w #0,a1 + jeq .L6 + move.l 4(a0),a0 + jsr (a1) +.L6: + move.l 12(a2),a0 + cmp.w #0,a0 + jeq .L21 + move.l 8(a2),8(a0) + move.l 8(a2),a1 + cmp.w #0,a1 + jeq .L9 + move.l a0,12(a1) +.L9: + subq.w #1,_object_count + move.l _object_freeList,a0 + cmp.w #0,a0 + jeq .L22 +.L11: + move.l a0,8(a2) + move.l a2,12(a0) + clr.l 12(a2) + move.l a2,_object_freeList + move.l (sp)+,a2 + rts +.L21: + move.l 8(a2),a0 + move.l a0,_object_activeList + jeq .L9 + clr.l 12(a0) + subq.w #1,_object_count + move.l _object_freeList,a0 + cmp.w #0,a0 + jne .L11 +.L22: + move.l a2,_object_freeList + clr.l 8(a2) + clr.l 12(a2) + move.l (sp)+,a2 + rts + .align 2 + .globl _object_setAction +_object_setAction: + move.w d0,46(a0) + add.w 42(a0),d0 + move.w d0,a1 + moveq #0,d1 + move.w 44(a0),d1 + cmp.l a1,d1 + jeq .L23 + move.w d0,44(a0) + and.l #65535,d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + add.l d1,d0 + add.l d0,d0 + move.l d0,d1 + add.l #_object_animations,d1 + move.l d1,48(a0) + lea _object_animations,a1 + move.w (a1,d0.l),d0 + move.w d0,36(a0) + move.w d0,a1 + move.l a1,d0 + add.l a1,d0 + add.l a1,d0 + add.l d0,d0 + add.l d0,d0 + add.l #_object_imageAtlas,d0 + move.l d0,38(a0) + clr.w 72(a0) +.L23: + rts + .align 2 + .globl _object_updatePosition +_object_updatePosition: + movem.l #16176,-(sp) + move.w 26(a0),d2 + move.w 28(a0),d1 + cmp.w #2,d0 + jeq .L39 +.L28: + move.w 24(a0),d4 + move.w 22(a0),d5 + add.w d5,d2 + move.w d2,22(a0) + move.w _game_cameraX,d3 + move.w 16(a0),d6 + sub.w d3,d6 + move.w d2,d0 + moveq #15,d7 + lsr.w d7,d0 + add.w d2,d0 + asr.w #1,d0 + move.w d0,16(a0) + move.w d0,a1 + move.w d3,a2 + cmp.w #287,d6 + jgt .L30 + lea (32,a1),a3 + move.l a3,d0 + sub.l a2,d0 + cmp.l #319,d0 + jgt .L40 + tst.w d6 + jge .L30 +.L32: + move.w d1,d0 + add.w d4,d0 + move.w 18(a0),d3 + move.w d0,24(a0) + move.w d0,d1 + moveq #15,d6 + lsr.w d6,d1 + add.w d0,d1 + asr.w #1,d1 + move.w d1,18(a0) + cmp.w #207,d1 + jle .L33 +.L41: + move.w #206,18(a0) + move.w #412,24(a0) + move.w #412,d0 +.L34: + sub.w d5,d2 + move.w d2,30(a0) + sub.w d4,d0 + move.w d0,32(a0) + movem.l (sp)+,#3324 + rts +.L30: + move.l a1,d0 + sub.l a2,d0 + jpl .L32 + move.w d3,16(a0) + move.w d3,d2 + add.w d3,d2 + move.w d2,22(a0) + move.w d1,d0 + add.w d4,d0 + move.w 18(a0),d3 + move.w d0,24(a0) + move.w d0,d1 + moveq #15,d6 + lsr.w d6,d1 + add.w d0,d1 + asr.w #1,d1 + move.w d1,18(a0) + cmp.w #207,d1 + jgt .L41 +.L33: + cmp.w #65,d3 + jle .L34 + cmp.w #65,d1 + jgt .L34 + move.w #66,18(a0) + move.w #132,24(a0) + move.w #132,d0 + sub.w d5,d2 + move.w d2,30(a0) + sub.w d4,d0 + move.w d0,32(a0) + movem.l (sp)+,#3324 + rts +.L39: + add.w d2,d2 + add.w d1,d1 + jra .L28 +.L40: + move.w d3,d2 + add.w #287,d2 + move.w d2,16(a0) + add.w d2,d2 + move.w d2,22(a0) + jra .L32 + .align 2 + .globl _object_init +_object_init: + clr.w _object_count + clr.l _object_activeList + move.l #_object_buffer,_object_freeList + lea _object_buffer+8,a0 + clr.l 4(a0) + move.l #_object_buffer+96,(a0) + move.l #_object_buffer,100(a0) + move.l #_object_buffer+192,96(a0) + move.l #_object_buffer+96,196(a0) + move.l #_object_buffer+288,192(a0) + move.l #_object_buffer+192,292(a0) + move.l #_object_buffer+384,288(a0) + move.l #_object_buffer+288,388(a0) + move.l #_object_buffer+480,384(a0) + move.l #_object_buffer+384,484(a0) + move.l #_object_buffer+576,480(a0) + move.l #_object_buffer+480,580(a0) + move.l #_object_buffer+672,576(a0) + move.l #_object_buffer+576,676(a0) + move.l #_object_buffer+768,672(a0) + move.l #_object_buffer+672,772(a0) + move.l #_object_buffer+864,768(a0) + move.l #_object_buffer+768,868(a0) + move.l #_object_buffer+960,864(a0) + move.l #_object_buffer+864,964(a0) + move.l #_object_buffer+1056,960(a0) + move.l #_object_buffer+960,1060(a0) + clr.l 1056(a0) + rts + .align 2 + .globl _object_clear +_object_clear: + subq.l #4,sp + movem.l #16190,-(sp) + move.l a0,d7 + move.l 52(sp),a0 + move.w a1,d2 + jeq .L43 + move.w d0,d5 + asr.w #4,d5 + move.w d1,d2 + asr.w #4,d2 + move.w a1,a1 + ext.l d0 + lea (a1,d0.l),a5 + move.l a5,d0 + asr.l #4,d0 + move.l d0,a5 + move.w a0,a0 + ext.l d1 + lea (a0,d1.l),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d5,d6 + ext.l d6 + cmp.l d0,d6 + jgt .L43 + move.w d2,a6 + cmp.l d4,a6 + jgt .L43 + lsl.w #4,d5 + move.l d6,d0 + lsl.l #4,d0 + lea (a6,d0.l),a3 + add.l a3,a3 + add.l #_level,a3 + lsl.w #4,d2 + move.w d2,46(sp) + lea _gfx_quickRenderTile,a4 +.L48: + move.l a3,a2 + move.w 46(sp),d2 + move.l a6,d3 +.L47: + tst.w d2 + jlt .L49 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L57 +.L49: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L47 +.L58: + addq.l #1,d6 + add.w #16,d5 + lea (32,a3),a3 + cmp.l a5,d6 + jle .L48 +.L43: + movem.l (sp)+,#31996 + addq.l #4,sp + rts +.L57: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l d7,a0 + jsr (a4) + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L47 + jra .L58 + .align 2 + .globl _object_renderObject +_object_renderObject: + subq.l #8,sp + movem.l #16190,-(sp) + move.l a0,d6 + tst.w 86(a1) + jeq .L59 + move.l 38(a1),a4 + move.w 4(a4),d4 + move.w 6(a4),d7 + move.w _game_cameraX,a0 + add.w _game_screenScrollX,a0 + move.w 16(a1),d0 + sub.w a0,d0 + move.w d0,a0 + add.w 8(a4),a0 + move.w a0,d3 + add.w #15,d3 + move.w 10(a4),a2 + add.w 18(a1),a2 + move.w a2,d5 + sub.w d7,d5 + move.w d5,a3 + move.w (a4),d0 + move.w 2(a4),d1 + cmp.w #-16,d3 + jge .L62 + moveq #-15,d2 + sub.w a0,d2 + and.w #-16,d2 + add.w d2,d0 + sub.w d2,d4 + add.w d2,d3 +.L62: + move.w d3,a0 + lea (a0,d4.w),a4 + cmp.w #336,a4 + jle .L63 + add.w d4,d3 + add.w #-336,d3 + and.w #-16,d3 + sub.w d3,d4 +.L63: + tst.w d5 + jlt .L79 + tst.w d4 + jle .L59 +.L81: + tst.w d7 + jle .L59 + tst.w 88(a1) + jne .L80 + move.w d7,a1 + move.l a1,-(sp) + move.w d4,a1 + move.l a1,-(sp) + move.w a3,a3 + move.l a3,-(sp) + move.l a0,a1 + ext.l d1 + ext.l d0 + move.l d6,a0 + jsr _gfx_renderSprite + lea (12,sp),sp +.L59: + movem.l (sp)+,#31996 + addq.l #8,sp + rts +.L79: + sub.w d5,d1 + move.w a2,d7 + sub.l a3,a3 + tst.w d4 + jgt .L81 + jra .L59 +.L80: + move.l a1,46(sp) + jsr _gfx_setupRenderTile + move.l 46(sp),a1 + move.w 18(a1),d0 + sub.w d7,d0 + move.l 38(a1),a0 + move.w 8(a0),d2 + add.w 16(a1),d2 + move.w d2,d5 + asr.w #4,d5 + move.w d0,d1 + asr.w #4,d1 + move.w d2,a0 + lea (a0,d4.w),a5 + move.l a5,d2 + asr.l #4,d2 + move.l d2,a5 + move.w d0,a0 + lea (a0,d7.w),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d5,d7 + ext.l d7 + cmp.l d2,d7 + jgt .L59 + move.w d1,a6 + cmp.l d4,a6 + jgt .L59 + lsl.w #4,d5 + move.l d7,d0 + lsl.l #4,d0 + lea (a6,d0.l),a3 + add.l a3,a3 + add.l #_level,a3 + lsl.w #4,d1 + move.w d1,50(sp) + lea _gfx_quickRenderTile,a4 + move.l a3,a2 + move.w 50(sp),d2 + move.l a6,d3 +.L68: + tst.w d2 + jlt .L70 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L82 +.L70: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L68 +.L83: + addq.l #1,d7 + add.w #16,d5 + lea (32,a3),a3 + cmp.l a5,d7 + jgt .L59 + move.l a3,a2 + move.w 50(sp),d2 + move.l a6,d3 + jra .L68 +.L82: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l d6,a0 + jsr (a4) + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L68 + jra .L83 + .align 2 + .globl _object_render +_object_render: + lea (-20,sp),sp + movem.l #16190,-(sp) + move.l a0,a6 + move.w d0,50(sp) + moveq #0,d3 + move.w d0,d3 + move.l _object_activeList,a2 + cmp.w #0,a2 + jeq .L85 +.L97: + move.l 8(a2),d2 + move.l 78(a2),a1 + cmp.w #0,a1 + jeq .L86 + move.l a2,a0 + move.l d3,d0 + jsr (a1) +.L86: + cmp.w #1,76(a2) + jeq .L161 + move.l d2,a2 + tst.l d2 + jne .L97 +.L166: + move.l _object_activeList,a4 + move.l #_gfx_setupRenderTile,56(sp) + lea _gfx_setupRenderTile,a2 + jsr (a2) + lea _gfx_quickRenderTile,a5 + cmp.w #0,a4 + jeq .L99 +.L139: + tst.w 88(a4) + jne .L103 + move.l 68(a4),a0 + move.w 4(a0),d0 + jne .L162 +.L103: + move.l 8(a4),a4 + cmp.w #0,a4 + jne .L139 +.L99: + move.l _object_activeList,a0 + cmp.w #0,a0 + jeq .L113 + clr.w d1 + lea _object_zBuffer,a5 +.L112: + move.w d1,a1 + move.l a1,d0 + add.l a1,d0 + add.l d0,d0 + move.l a0,(a5,d0.l) + addq.w #1,d1 + move.l 68(a0),a1 + move.l 38(a0),a2 + move.w 16(a0),d2 + add.w 8(a2),d2 + move.w d2,(a1) + move.w 6(a2),d0 + move.w 18(a0),d2 + sub.w d0,d2 + move.w d2,2(a1) + move.w 4(a2),4(a1) + move.w d0,6(a1) + lea (52,a0),a2 + cmp.l a1,a2 + jeq .L163 + move.l a2,68(a0) + move.l 8(a0),a0 + cmp.w #0,a0 + jne .L112 +.L113: + move.w _object_count,d3 + jle .L84 + clr.w d7 + lea _object_zBuffer,a5 + move.l a5,d6 +.L128: + move.w d7,a0 + move.l a0,d0 + add.l a0,d0 + add.l d0,d0 + move.l d6,a0 + move.l (a0,d0.l),a3 + cmp.w #1,76(a3) + jeq .L114 + tst.w 86(a3) + jne .L164 +.L116: + move.w 72(a3),d0 + move.l 48(a3),a0 + moveq #0,d1 + move.w d0,d1 + move.w 4(a0),a1 + cmp.l d1,a1 + jgt .L126 +.L171: + move.w 36(a3),d0 + addq.w #1,d0 + move.w d0,36(a3) + clr.w 72(a3) + cmp.w 2(a0),d0 + jle .L127 + move.w (a0),d0 + move.w d0,36(a3) +.L127: + move.w d0,a0 + move.l a0,d0 + add.l a0,d0 + add.l a0,d0 + add.l d0,d0 + add.l d0,d0 + add.l #_object_imageAtlas,d0 + move.l d0,38(a3) +.L114: + addq.w #1,d7 + cmp.w d3,d7 + jlt .L128 +.L84: + movem.l (sp)+,#31996 + lea (20,sp),sp + rts +.L161: + move.w 74(a2),d0 + cmp.w #2,d0 + jeq .L165 + addq.w #1,d0 + move.w d0,74(a2) + move.l d2,a2 + tst.l d2 + jne .L97 + jra .L166 +.L162: + move.w 2(a0),d3 + move.w (a0),d2 + move.w d2,d5 + asr.w #4,d5 + move.w d3,d1 + asr.w #4,d1 + move.w d2,a1 + lea (a1,d0.w),a1 + move.l a1,d0 + asr.l #4,d0 + move.l d0,46(sp) + move.w 6(a0),a0 + lea (a0,d3.w),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d5,d6 + ext.l d6 + cmp.l d0,d6 + jgt .L103 + move.w d1,d7 + ext.l d7 + cmp.l d4,d7 + jgt .L103 + lsl.w #4,d5 + move.l d6,d0 + lsl.l #4,d0 + move.l d0,a3 + add.l d7,a3 + add.l a3,a3 + add.l #_level,a3 + lsl.w #4,d1 + move.l a4,52(sp) + move.w d1,a4 +.L105: + move.l a3,a2 + move.w a4,d2 + move.l d7,d3 +.L104: + tst.w d2 + jlt .L106 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L167 +.L106: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L104 +.L168: + addq.l #1,d6 + add.w #16,d5 + lea (32,a3),a3 + cmp.l 46(sp),d6 + jle .L105 + move.l 52(sp),a4 + move.l 8(a4),a4 + cmp.w #0,a4 + jne .L139 + jra .L99 +.L167: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l a6,a0 + jsr (a5) + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L104 + jra .L168 +.L163: + lea (60,a0),a2 + move.l a2,68(a0) + move.l 8(a0),a0 + cmp.w #0,a0 + jne .L112 + jra .L113 +.L164: + move.l 38(a3),a4 + move.w 4(a4),d4 + move.w 6(a4),d5 + move.w _game_cameraX,a0 + add.w _game_screenScrollX,a0 + move.w 16(a3),a2 + sub.w a0,a2 + move.w a2,a1 + add.w 8(a4),a1 + move.w a1,d2 + add.w #15,d2 + move.w 10(a4),a2 + add.w 18(a3),a2 + move.w a2,d0 + sub.w d5,d0 + move.w d0,a5 + move.w (a4),a0 + move.w 2(a4),46(sp) + cmp.w #-16,d2 + jge .L117 + moveq #-15,d1 + sub.w a1,d1 + and.w #-16,d1 + add.w d1,a0 + sub.w d1,d4 + add.w d1,d2 +.L117: + move.w d2,a1 + lea (a1,d4.w),a4 + cmp.w #336,a4 + jle .L118 + add.w d4,d2 + add.w #-336,d2 + and.w #-16,d2 + sub.w d2,d4 +.L118: + tst.w d0 + jlt .L169 +.L119: + tst.w d4 + jle .L116 + tst.w d5 + jle .L116 + tst.w 88(a3) + jne .L170 + move.w d5,a2 + move.l a2,-(sp) + move.w d4,a2 + move.l a2,-(sp) + move.w a5,a5 + move.l a5,-(sp) + move.w 58(sp),d1 + ext.l d1 + move.w a0,d0 + ext.l d0 + move.l a6,a0 + jsr _gfx_renderSprite + lea (12,sp),sp +.L156: + move.w _object_count,d3 + move.w 72(a3),d0 + move.l 48(a3),a0 + moveq #0,d1 + move.w d0,d1 + move.w 4(a0),a1 + cmp.l d1,a1 + jle .L171 +.L126: + add.w 50(sp),d0 + move.w d0,72(a3) + addq.w #1,d7 + cmp.w d3,d7 + jlt .L128 + jra .L84 +.L169: + sub.w d0,46(sp) + move.w a2,d5 + sub.l a5,a5 + jra .L119 +.L165: + cmp.l _game_player1.l,a2 + jeq .L172 + cmp.l _game_player2.l,a2 + jeq .L173 +.L90: + move.l 82(a2),a1 + cmp.w #0,a1 + jeq .L91 + move.l 4(a2),a0 + jsr (a1) +.L91: + move.l 12(a2),a0 + cmp.w #0,a0 + jeq .L174 + move.l 8(a2),8(a0) + move.l 8(a2),a1 + cmp.w #0,a1 + jeq .L94 + move.l a0,12(a1) +.L94: + subq.w #1,_object_count + move.l _object_freeList,a0 + cmp.w #0,a0 + jeq .L175 + move.l a0,8(a2) + move.l a2,12(a0) + clr.l 12(a2) + move.l a2,_object_freeList + move.l d2,a2 + tst.l d2 + jne .L97 + jra .L166 +.L170: + move.l 56(sp),a2 + jsr (a2) + move.w 18(a3),d0 + sub.w d5,d0 + move.l 38(a3),a0 + move.w 8(a0),d3 + add.w 16(a3),d3 + move.w d3,d2 + asr.w #4,d2 + move.w d0,d1 + asr.w #4,d1 + move.w d3,a0 + lea (a0,d4.w),a0 + move.l a0,d3 + asr.l #4,d3 + move.w d0,a0 + lea (a0,d5.w),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d2,a5 + cmp.l d3,a5 + jgt .L156 + move.w d1,a0 + cmp.l d4,a0 + jgt .L156 + move.w d2,d5 + lsl.w #4,d5 + move.l a5,d0 + lsl.l #4,d0 + lea (a0,d0.l),a4 + add.l a4,a4 + add.l #_level,a4 + lsl.w #4,d1 + move.l a3,46(sp) + move.w d7,52(sp) + move.l a0,d7 + move.w d1,a3 + move.l d6,60(sp) + move.l d3,d6 +.L123: + move.l a4,a2 + move.w a3,d2 + move.l d7,d3 +.L122: + tst.w d2 + jlt .L124 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L176 +.L124: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L122 +.L177: + addq.l #1,a5 + add.w #16,d5 + lea (32,a4),a4 + cmp.l d6,a5 + jle .L123 + move.l 46(sp),a3 + move.w 52(sp),d7 + move.l 60(sp),d6 + move.w _object_count,d3 + jra .L116 +.L176: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l a6,a0 + jsr _gfx_quickRenderTile + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L122 + jra .L177 +.L173: + clr.l _game_player2 + jra .L90 +.L85: + move.l #_gfx_setupRenderTile,56(sp) + lea _gfx_setupRenderTile,a2 + jsr (a2) + jra .L99 +.L172: + clr.l _game_player1 + jra .L90 +.L174: + move.l 8(a2),a0 + move.l a0,_object_activeList + jeq .L94 + clr.l 12(a0) + jra .L94 +.L175: + move.l a2,_object_freeList + clr.l 8(a2) + clr.l 12(a2) + move.l d2,a2 + tst.l d2 + jne .L97 + jra .L166 + .align 2 + .globl _object_restoreBackground +_object_restoreBackground: + subq.l #8,sp + movem.l #16190,-(sp) + move.l a0,a5 + move.l _object_activeList,a4 + jsr _gfx_setupRenderTile + lea _gfx_quickRenderTile,a6 + cmp.w #0,a4 + jeq .L178 +.L190: + tst.w 88(a4) + jne .L183 + move.l 68(a4),a0 + move.w 4(a0),d0 + jne .L199 +.L183: + move.l 8(a4),a4 + cmp.w #0,a4 + jne .L190 +.L178: + movem.l (sp)+,#31996 + addq.l #8,sp + rts +.L199: + move.w 2(a0),d3 + move.w (a0),d2 + move.w d2,d5 + asr.w #4,d5 + move.w d3,d1 + asr.w #4,d1 + move.w d2,a1 + lea (a1,d0.w),a1 + move.l a1,d0 + asr.l #4,d0 + move.l d0,44(sp) + move.w 6(a0),a0 + lea (a0,d3.w),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d5,d6 + ext.l d6 + cmp.l d0,d6 + jgt .L183 + move.w d1,d7 + ext.l d7 + cmp.l d4,d7 + jgt .L183 + lsl.w #4,d5 + move.l d6,d0 + lsl.l #4,d0 + move.l d0,a3 + add.l d7,a3 + add.l a3,a3 + add.l #_level,a3 + lsl.w #4,d1 + move.l a4,48(sp) + move.w d1,a4 +.L185: + move.l a3,a2 + move.w a4,d2 + move.l d7,d3 +.L184: + tst.w d2 + jlt .L186 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L200 +.L186: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L184 +.L201: + addq.l #1,d6 + add.w #16,d5 + lea (32,a3),a3 + cmp.l 44(sp),d6 + jle .L185 + move.l 48(sp),a4 + move.l 8(a4),a4 + cmp.w #0,a4 + jne .L190 + jra .L178 +.L200: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l a5,a0 + jsr (a6) + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L184 + jra .L201 + .align 2 + .globl _object_collision +_object_collision: + movem.l #16190,-(sp) + move.l a0,a3 + move.l a1,a5 + move.w 50(sp),d4 + move.w 28(a0),a1 + move.w 26(a0),a0 + cmp.w #2,d0 + jeq .L214 +.L203: + move.l _object_activeList,a2 + clr.l 12(a5) + clr.l 8(a5) + clr.l 4(a5) + clr.l (a5) + move.w 24(a3),a4 + lea (a4,a1.w),a4 + move.l a4,d0 + jpl .L216 + addq.l #1,d0 +.L216: + asr.l #1,d0 + move.l d0,a4 + move.w d0,d5 + move.w 22(a3),a1 + lea (a1,a0.w),a0 + move.l a0,d0 + jpl .L217 + addq.l #1,d0 +.L217: + asr.l #1,d0 + move.w 90(a3),a0 + move.w a0,d6 + sub.w d1,d6 + add.w d0,d6 + move.w 92(a3),d2 + add.w d1,d2 + sub.w a0,d2 + add.w d0,d2 + clr.w d7 + cmp.w #0,a2 + jeq .L202 + lea _abs,a6 + and.l #65535,d4 +.L209: + tst.w 94(a2) + jeq .L205 + cmp.l a3,a2 + jeq .L205 + move.w 18(a2),d3 + move.l a4,a0 + sub.w d3,a0 + move.l a0,d0 + jsr (a6) + cmp.l d0,d4 + jlt .L205 + move.w 16(a2),d1 + move.w 90(a2),a0 + move.w d1,d0 + sub.w a0,d0 + add.w 92(a2),d0 + cmp.w d6,d0 + jle .L205 + add.w a0,d1 + cmp.w d2,d1 + jge .L205 + cmp.w d5,d3 + jlt .L206 + move.l a2,(a5) + cmp.w d6,d1 + jlt .L208 +.L215: + move.l a2,12(a5) + moveq #1,d7 +.L205: + move.l 8(a2),a2 + cmp.w #0,a2 + jne .L209 +.L202: + move.w d7,d0 + movem.l (sp)+,#31996 + rts +.L214: + add.w a0,a0 + add.w a1,a1 + jra .L203 +.L206: + move.l a2,4(a5) + cmp.w d6,d1 + jge .L215 +.L208: + move.l a2,8(a5) + moveq #1,d7 + move.l 8(a2),a2 + cmp.w #0,a2 + jne .L209 + jra .L202 + .align 2 + .globl _object_add +_object_add: + movem.l #12344,-(sp) + move.l 24(sp),d3 + move.l 28(sp),a3 + move.w d1,d2 + move.l _object_freeList,a2 + move.l 8(a2),a4 + move.l a4,_object_freeList + jeq .L219 + clr.l 12(a4) +.L219: + clr.w 76(a2) + move.w d1,2(a2) + move.w #1,86(a2) + move.w d0,(a2) + move.w d3,26(a2) + clr.w 28(a2) + lea (52,a2),a4 + move.l a4,68(a2) + clr.w 56(a2) + clr.w 64(a2) + move.w a3,a4 + move.l a4,d0 + add.l a4,d0 + add.l d0,d0 + add.l a4,d0 + add.l d0,d0 + move.l d0,d1 + add.l #_object_animations,d1 + move.l d1,48(a2) + move.w a3,44(a2) + move.w a3,42(a2) + lea _object_animations,a3 + move.w (a3,d0.l),d0 + move.w d0,36(a2) + move.w d0,a3 + move.l a3,d0 + add.l a3,d0 + add.l a3,d0 + add.l d0,d0 + add.l d0,d0 + add.l #_object_imageAtlas,d0 + move.l d0,38(a2) + move.w a0,d0 + add.w a0,d0 + move.w d0,22(a2) + move.w a0,16(a2) + move.w a1,d0 + add.w a1,d0 + move.w d0,24(a2) + move.w a1,18(a2) + move.w a1,20(a2) + clr.w 72(a2) + clr.w 74(a2) + move.l 32(sp),78(a2) + move.l 36(sp),4(a2) + move.l 40(sp),82(a2) + clr.w 88(a2) + cmp.w #1,d2 + sls d0 + ext.w d0 + neg.w d0 + move.w d0,94(a2) + addq.w #1,_object_count + move.l _object_activeList,a0 + cmp.w #0,a0 + jeq .L227 + move.l a0,8(a2) + move.l a2,12(a0) + clr.l 12(a2) + move.l a2,_object_activeList + move.l a2,d0 + movem.l (sp)+,#7180 + rts +.L227: + move.l a2,_object_activeList + clr.l 8(a2) + clr.l 12(a2) + move.l a2,d0 + movem.l (sp)+,#7180 + rts +.comm _object_zBuffer,48 +.lcomm _object_buffer,1152 +.lcomm _object_freeList,4 +.comm _object_activeList,4 +.comm _object_count,2 diff --git a/test/test6/testno.s b/test/test6/testno.s new file mode 100644 index 0000000..f06d0fd --- /dev/null +++ b/test/test6/testno.s @@ -0,0 +1,1240 @@ +#NO_APP + .text + .align 2 + .globl _object_setAnim +_object_setAnim: + moveq #0,d1 + move.w 44(a0),d1 + move.w d0,a1 + cmp.l d1,a1 + jeq .L1 + move.w d0,44(a0) + moveq #0,d1 + move.w d0,d1 + move.l d1,d0 + add.l d1,d0 + add.l d0,d0 + add.l d1,d0 + add.l d0,d0 + move.l d0,d1 + add.l #_object_animations,d1 + move.l d1,48(a0) + lea _object_animations,a1 + move.w (a1,d0.l),d0 + move.w d0,36(a0) + move.w d0,a1 + move.l a1,d0 + add.l a1,d0 + add.l a1,d0 + add.l d0,d0 + add.l d0,d0 + add.l #_object_imageAtlas,d0 + move.l d0,38(a0) + clr.w 72(a0) +.L1: + rts + .align 2 + .globl _object_free +_object_free: + move.l a2,-(sp) + move.l a0,a2 + move.l 82(a0),a1 + cmp.w #0,a1 + jeq .L6 + move.l 4(a0),a0 + jsr (a1) +.L6: + move.l 12(a2),a0 + cmp.w #0,a0 + jeq .L21 + move.l 8(a2),8(a0) + move.l 8(a2),a1 + cmp.w #0,a1 + jeq .L9 + move.l a0,12(a1) +.L9: + subq.w #1,_object_count + move.l _object_freeList,a0 + cmp.w #0,a0 + jeq .L22 +.L11: + move.l a0,8(a2) + move.l a2,12(a0) + clr.l 12(a2) + move.l a2,_object_freeList + move.l (sp)+,a2 + rts +.L21: + move.l 8(a2),a0 + move.l a0,_object_activeList + jeq .L9 + clr.l 12(a0) + subq.w #1,_object_count + move.l _object_freeList,a0 + cmp.w #0,a0 + jne .L11 +.L22: + move.l a2,_object_freeList + clr.l 8(a2) + clr.l 12(a2) + move.l (sp)+,a2 + rts + .align 2 + .globl _object_setAction +_object_setAction: + move.w d0,46(a0) + add.w 42(a0),d0 + move.w d0,a1 + moveq #0,d1 + move.w 44(a0),d1 + cmp.l a1,d1 + jeq .L23 + move.w d0,44(a0) + and.l #65535,d0 + move.l d0,d1 + add.l d0,d1 + add.l d1,d1 + add.l d1,d0 + add.l d0,d0 + move.l d0,d1 + add.l #_object_animations,d1 + move.l d1,48(a0) + lea _object_animations,a1 + move.w (a1,d0.l),d0 + move.w d0,36(a0) + move.w d0,a1 + move.l a1,d0 + add.l a1,d0 + add.l a1,d0 + add.l d0,d0 + add.l d0,d0 + add.l #_object_imageAtlas,d0 + move.l d0,38(a0) + clr.w 72(a0) +.L23: + rts + .align 2 + .globl _object_updatePosition +_object_updatePosition: + movem.l #16176,-(sp) + move.w 26(a0),d2 + move.w 28(a0),d1 + cmp.w #2,d0 + jeq .L39 +.L28: + move.w 24(a0),d4 + move.w 22(a0),d5 + add.w d5,d2 + move.w d2,22(a0) + move.w _game_cameraX,d3 + move.w 16(a0),d6 + sub.w d3,d6 + move.w d2,d0 + moveq #15,d7 + lsr.w d7,d0 + add.w d2,d0 + asr.w #1,d0 + move.w d0,16(a0) + move.w d0,a1 + move.w d3,a2 + cmp.w #287,d6 + jgt .L30 + lea (32,a1),a3 + move.l a3,d0 + sub.l a2,d0 + cmp.l #319,d0 + jgt .L40 + tst.w d6 + jge .L30 +.L32: + move.w d1,d0 + add.w d4,d0 + move.w 18(a0),d3 + move.w d0,24(a0) + move.w d0,d1 + moveq #15,d6 + lsr.w d6,d1 + add.w d0,d1 + asr.w #1,d1 + move.w d1,18(a0) + cmp.w #207,d1 + jle .L33 +.L41: + move.w #206,18(a0) + move.w #412,24(a0) + move.w #412,d0 +.L34: + sub.w d5,d2 + move.w d2,30(a0) + sub.w d4,d0 + move.w d0,32(a0) + movem.l (sp)+,#3324 + rts +.L30: + move.l a1,d0 + sub.l a2,d0 + jpl .L32 + move.w d3,16(a0) + move.w d3,d2 + add.w d3,d2 + move.w d2,22(a0) + move.w d1,d0 + add.w d4,d0 + move.w 18(a0),d3 + move.w d0,24(a0) + move.w d0,d1 + moveq #15,d6 + lsr.w d6,d1 + add.w d0,d1 + asr.w #1,d1 + move.w d1,18(a0) + cmp.w #207,d1 + jgt .L41 +.L33: + cmp.w #65,d3 + jle .L34 + cmp.w #65,d1 + jgt .L34 + move.w #66,18(a0) + move.w #132,24(a0) + move.w #132,d0 + sub.w d5,d2 + move.w d2,30(a0) + sub.w d4,d0 + move.w d0,32(a0) + movem.l (sp)+,#3324 + rts +.L39: + add.w d2,d2 + add.w d1,d1 + jra .L28 +.L40: + move.w d3,d2 + add.w #287,d2 + move.w d2,16(a0) + add.w d2,d2 + move.w d2,22(a0) + jra .L32 + .align 2 + .globl _object_init +_object_init: + clr.w _object_count + clr.l _object_activeList + move.l #_object_buffer,_object_freeList + clr.l _object_buffer+12 + move.l #_object_buffer+96,_object_buffer+8 + move.l #_object_buffer,_object_buffer+108 + move.l #_object_buffer+192,_object_buffer+104 + move.l #_object_buffer+96,_object_buffer+204 + move.l #_object_buffer+288,_object_buffer+200 + move.l #_object_buffer+192,_object_buffer+300 + move.l #_object_buffer+384,_object_buffer+296 + move.l #_object_buffer+288,_object_buffer+396 + move.l #_object_buffer+480,_object_buffer+392 + move.l #_object_buffer+384,_object_buffer+492 + move.l #_object_buffer+576,_object_buffer+488 + move.l #_object_buffer+480,_object_buffer+588 + move.l #_object_buffer+672,_object_buffer+584 + move.l #_object_buffer+576,_object_buffer+684 + move.l #_object_buffer+768,_object_buffer+680 + move.l #_object_buffer+672,_object_buffer+780 + move.l #_object_buffer+864,_object_buffer+776 + move.l #_object_buffer+768,_object_buffer+876 + move.l #_object_buffer+960,_object_buffer+872 + move.l #_object_buffer+864,_object_buffer+972 + move.l #_object_buffer+1056,_object_buffer+968 + move.l #_object_buffer+960,_object_buffer+1068 + clr.l _object_buffer+1064 + rts + .align 2 + .globl _object_clear +_object_clear: + subq.l #4,sp + movem.l #16190,-(sp) + move.l a0,d7 + move.l 52(sp),a0 + move.w a1,d2 + jeq .L43 + move.w d0,d5 + asr.w #4,d5 + move.w d1,d2 + asr.w #4,d2 + move.w a1,a1 + ext.l d0 + lea (a1,d0.l),a5 + move.l a5,d0 + asr.l #4,d0 + move.l d0,a5 + move.w a0,a0 + ext.l d1 + lea (a0,d1.l),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d5,d6 + ext.l d6 + cmp.l d0,d6 + jgt .L43 + move.w d2,a6 + cmp.l d4,a6 + jgt .L43 + lsl.w #4,d5 + move.l d6,d0 + lsl.l #4,d0 + lea (a6,d0.l),a3 + add.l a3,a3 + add.l #_level,a3 + lsl.w #4,d2 + move.w d2,46(sp) + lea _gfx_quickRenderTile,a4 +.L48: + move.l a3,a2 + move.w 46(sp),d2 + move.l a6,d3 +.L47: + tst.w d2 + jlt .L49 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L57 +.L49: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L47 +.L58: + addq.l #1,d6 + add.w #16,d5 + lea (32,a3),a3 + cmp.l a5,d6 + jle .L48 +.L43: + movem.l (sp)+,#31996 + addq.l #4,sp + rts +.L57: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l d7,a0 + jsr (a4) + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L47 + jra .L58 + .align 2 + .globl _object_renderObject +_object_renderObject: + subq.l #8,sp + movem.l #16190,-(sp) + move.l a0,d6 + tst.w 86(a1) + jeq .L59 + move.l 38(a1),a4 + move.w 4(a4),d4 + move.w 6(a4),d7 + move.w _game_cameraX,a0 + add.w _game_screenScrollX,a0 + move.w 16(a1),d0 + sub.w a0,d0 + move.w d0,a0 + add.w 8(a4),a0 + move.w a0,d3 + add.w #15,d3 + move.w 10(a4),a2 + add.w 18(a1),a2 + move.w a2,d5 + sub.w d7,d5 + move.w d5,a3 + move.w (a4),d0 + move.w 2(a4),d1 + cmp.w #-16,d3 + jge .L62 + moveq #-15,d2 + sub.w a0,d2 + and.w #-16,d2 + add.w d2,d0 + sub.w d2,d4 + add.w d2,d3 +.L62: + move.w d3,a0 + lea (a0,d4.w),a4 + cmp.w #336,a4 + jle .L63 + add.w d4,d3 + add.w #-336,d3 + and.w #-16,d3 + sub.w d3,d4 +.L63: + tst.w d5 + jlt .L79 + tst.w d4 + jle .L59 +.L81: + tst.w d7 + jle .L59 + tst.w 88(a1) + jne .L80 + move.w d7,a1 + move.l a1,-(sp) + move.w d4,a1 + move.l a1,-(sp) + move.w a3,a3 + move.l a3,-(sp) + move.l a0,a1 + ext.l d1 + ext.l d0 + move.l d6,a0 + jsr _gfx_renderSprite + lea (12,sp),sp +.L59: + movem.l (sp)+,#31996 + addq.l #8,sp + rts +.L79: + sub.w d5,d1 + move.w a2,d7 + sub.l a3,a3 + tst.w d4 + jgt .L81 + jra .L59 +.L80: + move.l a1,46(sp) + jsr _gfx_setupRenderTile + move.l 46(sp),a1 + move.w 18(a1),d0 + sub.w d7,d0 + move.l 38(a1),a0 + move.w 8(a0),d2 + add.w 16(a1),d2 + move.w d2,d5 + asr.w #4,d5 + move.w d0,d1 + asr.w #4,d1 + move.w d2,a0 + lea (a0,d4.w),a5 + move.l a5,d2 + asr.l #4,d2 + move.l d2,a5 + move.w d0,a0 + lea (a0,d7.w),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d5,d7 + ext.l d7 + cmp.l d2,d7 + jgt .L59 + move.w d1,a6 + cmp.l d4,a6 + jgt .L59 + lsl.w #4,d5 + move.l d7,d0 + lsl.l #4,d0 + lea (a6,d0.l),a3 + add.l a3,a3 + add.l #_level,a3 + lsl.w #4,d1 + move.w d1,50(sp) + lea _gfx_quickRenderTile,a4 + move.l a3,a2 + move.w 50(sp),d2 + move.l a6,d3 +.L68: + tst.w d2 + jlt .L70 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L82 +.L70: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L68 +.L83: + addq.l #1,d7 + add.w #16,d5 + lea (32,a3),a3 + cmp.l a5,d7 + jgt .L59 + move.l a3,a2 + move.w 50(sp),d2 + move.l a6,d3 + jra .L68 +.L82: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l d6,a0 + jsr (a4) + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L68 + jra .L83 + .align 2 + .globl _object_render +_object_render: + lea (-20,sp),sp + movem.l #16190,-(sp) + move.l a0,a6 + move.w d0,50(sp) + moveq #0,d3 + move.w d0,d3 + move.l _object_activeList,a2 + cmp.w #0,a2 + jeq .L85 +.L97: + move.l 8(a2),d2 + move.l 78(a2),a1 + cmp.w #0,a1 + jeq .L86 + move.l a2,a0 + move.l d3,d0 + jsr (a1) +.L86: + cmp.w #1,76(a2) + jeq .L161 + move.l d2,a2 + tst.l d2 + jne .L97 +.L166: + move.l _object_activeList,a4 + move.l #_gfx_setupRenderTile,56(sp) + lea _gfx_setupRenderTile,a2 + jsr (a2) + lea _gfx_quickRenderTile,a5 + cmp.w #0,a4 + jeq .L99 +.L139: + tst.w 88(a4) + jne .L103 + move.l 68(a4),a0 + move.w 4(a0),d0 + jne .L162 +.L103: + move.l 8(a4),a4 + cmp.w #0,a4 + jne .L139 +.L99: + move.l _object_activeList,a0 + cmp.w #0,a0 + jeq .L113 + clr.w d1 + lea _object_zBuffer,a5 +.L112: + move.w d1,a1 + move.l a1,d0 + add.l a1,d0 + add.l d0,d0 + move.l a0,(a5,d0.l) + addq.w #1,d1 + move.l 68(a0),a1 + move.l 38(a0),a2 + move.w 16(a0),d2 + add.w 8(a2),d2 + move.w d2,(a1) + move.w 6(a2),d0 + move.w 18(a0),d2 + sub.w d0,d2 + move.w d2,2(a1) + move.w 4(a2),4(a1) + move.w d0,6(a1) + lea (52,a0),a2 + cmp.l a1,a2 + jeq .L163 + move.l a2,68(a0) + move.l 8(a0),a0 + cmp.w #0,a0 + jne .L112 +.L113: + move.w _object_count,d3 + jle .L84 + clr.w d7 + lea _object_zBuffer,a5 + move.l a5,d6 +.L128: + move.w d7,a0 + move.l a0,d0 + add.l a0,d0 + add.l d0,d0 + move.l d6,a0 + move.l (a0,d0.l),a3 + cmp.w #1,76(a3) + jeq .L114 + tst.w 86(a3) + jne .L164 +.L116: + move.w 72(a3),d0 + move.l 48(a3),a0 + moveq #0,d1 + move.w d0,d1 + move.w 4(a0),a1 + cmp.l d1,a1 + jgt .L126 +.L171: + move.w 36(a3),d0 + addq.w #1,d0 + move.w d0,36(a3) + clr.w 72(a3) + cmp.w 2(a0),d0 + jle .L127 + move.w (a0),d0 + move.w d0,36(a3) +.L127: + move.w d0,a0 + move.l a0,d0 + add.l a0,d0 + add.l a0,d0 + add.l d0,d0 + add.l d0,d0 + add.l #_object_imageAtlas,d0 + move.l d0,38(a3) +.L114: + addq.w #1,d7 + cmp.w d3,d7 + jlt .L128 +.L84: + movem.l (sp)+,#31996 + lea (20,sp),sp + rts +.L161: + move.w 74(a2),d0 + cmp.w #2,d0 + jeq .L165 + addq.w #1,d0 + move.w d0,74(a2) + move.l d2,a2 + tst.l d2 + jne .L97 + jra .L166 +.L162: + move.w 2(a0),d3 + move.w (a0),d2 + move.w d2,d5 + asr.w #4,d5 + move.w d3,d1 + asr.w #4,d1 + move.w d2,a1 + lea (a1,d0.w),a1 + move.l a1,d0 + asr.l #4,d0 + move.l d0,46(sp) + move.w 6(a0),a0 + lea (a0,d3.w),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d5,d6 + ext.l d6 + cmp.l d0,d6 + jgt .L103 + move.w d1,d7 + ext.l d7 + cmp.l d4,d7 + jgt .L103 + lsl.w #4,d5 + move.l d6,d0 + lsl.l #4,d0 + move.l d0,a3 + add.l d7,a3 + add.l a3,a3 + add.l #_level,a3 + lsl.w #4,d1 + move.l a4,52(sp) + move.w d1,a4 +.L105: + move.l a3,a2 + move.w a4,d2 + move.l d7,d3 +.L104: + tst.w d2 + jlt .L106 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L167 +.L106: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L104 +.L168: + addq.l #1,d6 + add.w #16,d5 + lea (32,a3),a3 + cmp.l 46(sp),d6 + jle .L105 + move.l 52(sp),a4 + move.l 8(a4),a4 + cmp.w #0,a4 + jne .L139 + jra .L99 +.L167: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l a6,a0 + jsr (a5) + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L104 + jra .L168 +.L163: + lea (60,a0),a2 + move.l a2,68(a0) + move.l 8(a0),a0 + cmp.w #0,a0 + jne .L112 + jra .L113 +.L164: + move.l 38(a3),a4 + move.w 4(a4),d4 + move.w 6(a4),d5 + move.w _game_cameraX,a1 + add.w _game_screenScrollX,a1 + move.w 16(a3),a2 + sub.w a1,a2 + move.w a2,a1 + add.w 8(a4),a1 + move.w a1,d2 + add.w #15,d2 + move.w 10(a4),a2 + add.w 18(a3),a2 + move.w a2,d0 + sub.w d5,d0 + move.w d0,a5 + move.w (a4),a0 + move.w 2(a4),46(sp) + cmp.w #-16,d2 + jge .L117 + moveq #-15,d1 + sub.w a1,d1 + and.w #-16,d1 + add.w d1,a0 + sub.w d1,d4 + add.w d1,d2 +.L117: + move.w d2,a1 + lea (a1,d4.w),a4 + cmp.w #336,a4 + jle .L118 + add.w d4,d2 + add.w #-336,d2 + and.w #-16,d2 + sub.w d2,d4 +.L118: + tst.w d0 + jlt .L169 +.L119: + tst.w d4 + jle .L116 + tst.w d5 + jle .L116 + tst.w 88(a3) + jne .L170 + move.w d5,a2 + move.l a2,-(sp) + move.w d4,a2 + move.l a2,-(sp) + move.w a5,a5 + move.l a5,-(sp) + move.w 58(sp),d1 + ext.l d1 + move.w a0,d0 + ext.l d0 + move.l a6,a0 + jsr _gfx_renderSprite + lea (12,sp),sp +.L156: + move.w _object_count,d3 + move.w 72(a3),d0 + move.l 48(a3),a0 + moveq #0,d1 + move.w d0,d1 + move.w 4(a0),a1 + cmp.l d1,a1 + jle .L171 +.L126: + add.w 50(sp),d0 + move.w d0,72(a3) + addq.w #1,d7 + cmp.w d3,d7 + jlt .L128 + jra .L84 +.L169: + sub.w d0,46(sp) + move.w a2,d5 + sub.l a5,a5 + jra .L119 +.L165: + cmp.l _game_player1.l,a2 + jeq .L172 + cmp.l _game_player2.l,a2 + jeq .L173 +.L90: + move.l 82(a2),a1 + cmp.w #0,a1 + jeq .L91 + move.l 4(a2),a0 + jsr (a1) +.L91: + move.l 12(a2),a0 + cmp.w #0,a0 + jeq .L174 + move.l 8(a2),8(a0) + move.l 8(a2),a1 + cmp.w #0,a1 + jeq .L94 + move.l a0,12(a1) +.L94: + subq.w #1,_object_count + move.l _object_freeList,a0 + cmp.w #0,a0 + jeq .L175 + move.l a0,8(a2) + move.l a2,12(a0) + clr.l 12(a2) + move.l a2,_object_freeList + move.l d2,a2 + tst.l d2 + jne .L97 + jra .L166 +.L170: + move.l 56(sp),a2 + jsr (a2) + move.w 18(a3),d0 + sub.w d5,d0 + move.l 38(a3),a0 + move.w 8(a0),d3 + add.w 16(a3),d3 + move.w d3,d2 + asr.w #4,d2 + move.w d0,d1 + asr.w #4,d1 + move.w d3,a0 + lea (a0,d4.w),a0 + move.l a0,d3 + asr.l #4,d3 + move.w d0,a0 + lea (a0,d5.w),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d2,a5 + cmp.l d3,a5 + jgt .L156 + move.w d1,a0 + cmp.l d4,a0 + jgt .L156 + move.w d2,d5 + lsl.w #4,d5 + move.l a5,d0 + lsl.l #4,d0 + lea (a0,d0.l),a4 + add.l a4,a4 + add.l #_level,a4 + lsl.w #4,d1 + move.l a3,46(sp) + move.w d7,52(sp) + move.l a0,d7 + move.w d1,a3 + move.l d6,60(sp) + move.l d3,d6 +.L123: + move.l a4,a2 + move.w a3,d2 + move.l d7,d3 +.L122: + tst.w d2 + jlt .L124 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L176 +.L124: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L122 +.L177: + addq.l #1,a5 + add.w #16,d5 + lea (32,a4),a4 + cmp.l d6,a5 + jle .L123 + move.l 46(sp),a3 + move.w 52(sp),d7 + move.l 60(sp),d6 + move.w _object_count,d3 + jra .L116 +.L176: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l a6,a0 + jsr _gfx_quickRenderTile + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L122 + jra .L177 +.L173: + clr.l _game_player2 + jra .L90 +.L85: + move.l #_gfx_setupRenderTile,56(sp) + lea _gfx_setupRenderTile,a2 + jsr (a2) + jra .L99 +.L172: + clr.l _game_player1 + jra .L90 +.L174: + move.l 8(a2),a0 + move.l a0,_object_activeList + jeq .L94 + clr.l 12(a0) + jra .L94 +.L175: + move.l a2,_object_freeList + clr.l 8(a2) + clr.l 12(a2) + move.l d2,a2 + tst.l d2 + jne .L97 + jra .L166 + .align 2 + .globl _object_restoreBackground +_object_restoreBackground: + subq.l #8,sp + movem.l #16190,-(sp) + move.l a0,a5 + move.l _object_activeList,a4 + jsr _gfx_setupRenderTile + lea _gfx_quickRenderTile,a6 + cmp.w #0,a4 + jeq .L178 +.L190: + tst.w 88(a4) + jne .L183 + move.l 68(a4),a0 + move.w 4(a0),d0 + jne .L199 +.L183: + move.l 8(a4),a4 + cmp.w #0,a4 + jne .L190 +.L178: + movem.l (sp)+,#31996 + addq.l #8,sp + rts +.L199: + move.w 2(a0),d3 + move.w (a0),d2 + move.w d2,d5 + asr.w #4,d5 + move.w d3,d1 + asr.w #4,d1 + move.w d2,a1 + lea (a1,d0.w),a1 + move.l a1,d0 + asr.l #4,d0 + move.l d0,44(sp) + move.w 6(a0),a0 + lea (a0,d3.w),a0 + move.l a0,d4 + asr.l #4,d4 + move.w d5,d6 + ext.l d6 + cmp.l d0,d6 + jgt .L183 + move.w d1,d7 + ext.l d7 + cmp.l d4,d7 + jgt .L183 + lsl.w #4,d5 + move.l d6,d0 + lsl.l #4,d0 + move.l d0,a3 + add.l d7,a3 + add.l a3,a3 + add.l #_level,a3 + lsl.w #4,d1 + move.l a4,48(sp) + move.w d1,a4 +.L185: + move.l a3,a2 + move.w a4,d2 + move.l d7,d3 +.L184: + tst.w d2 + jlt .L186 + move.w d5,d0 + sub.w _game_cameraX,d0 + sub.w _game_screenScrollX,d0 + move.w d0,d1 + add.w #-322,d1 + cmp.w #-338,d1 + jhi .L200 +.L186: + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L184 +.L201: + addq.l #1,d6 + add.w #16,d5 + lea (32,a3),a3 + cmp.l 44(sp),d6 + jle .L185 + move.l 48(sp),a4 + move.l 8(a4),a4 + cmp.w #0,a4 + jne .L190 + jra .L178 +.L200: + moveq #0,d1 + move.w (a2),d1 + move.l d1,a1 + add.w #15,d0 + add.l #_level+205160,a1 + move.w d2,d1 + ext.l d1 + and.l #65535,d0 + move.l a5,a0 + jsr (a6) + addq.l #1,d3 + add.w #16,d2 + addq.l #2,a2 + cmp.l d4,d3 + jle .L184 + jra .L201 + .align 2 + .globl _object_collision +_object_collision: + movem.l #16190,-(sp) + move.l a0,a3 + move.l a1,a5 + move.w 50(sp),d4 + move.w 28(a0),a1 + move.w 26(a0),a0 + cmp.w #2,d0 + jeq .L214 +.L203: + move.l _object_activeList,a2 + clr.l 12(a5) + clr.l 8(a5) + clr.l 4(a5) + clr.l (a5) + move.w 24(a3),a4 + lea (a4,a1.w),a4 + move.l a4,d0 + jpl .L216 + addq.l #1,d0 +.L216: + asr.l #1,d0 + move.l d0,a4 + move.w d0,d5 + move.w 22(a3),a1 + lea (a1,a0.w),a0 + move.l a0,d0 + jpl .L217 + addq.l #1,d0 +.L217: + asr.l #1,d0 + move.w 90(a3),a0 + move.w a0,d6 + sub.w d1,d6 + add.w d0,d6 + move.w 92(a3),d2 + add.w d1,d2 + sub.w a0,d2 + add.w d0,d2 + clr.w d7 + cmp.w #0,a2 + jeq .L202 + lea _abs,a6 + and.l #65535,d4 +.L209: + tst.w 94(a2) + jeq .L205 + cmp.l a3,a2 + jeq .L205 + move.w 18(a2),d3 + move.l a4,a0 + sub.w d3,a0 + move.l a0,d0 + jsr (a6) + cmp.l d0,d4 + jlt .L205 + move.w 16(a2),d1 + move.w 90(a2),a0 + move.w d1,d0 + sub.w a0,d0 + add.w 92(a2),d0 + cmp.w d6,d0 + jle .L205 + add.w a0,d1 + cmp.w d2,d1 + jge .L205 + cmp.w d5,d3 + jlt .L206 + move.l a2,(a5) + cmp.w d6,d1 + jlt .L208 +.L215: + move.l a2,12(a5) + moveq #1,d7 +.L205: + move.l 8(a2),a2 + cmp.w #0,a2 + jne .L209 +.L202: + move.w d7,d0 + movem.l (sp)+,#31996 + rts +.L214: + add.w a0,a0 + add.w a1,a1 + jra .L203 +.L206: + move.l a2,4(a5) + cmp.w d6,d1 + jge .L215 +.L208: + move.l a2,8(a5) + moveq #1,d7 + move.l 8(a2),a2 + cmp.w #0,a2 + jne .L209 + jra .L202 + .align 2 + .globl _object_add +_object_add: + movem.l #12344,-(sp) + move.l 24(sp),d3 + move.l 28(sp),a3 + move.w d1,d2 + move.l _object_freeList,a2 + move.l 8(a2),a4 + move.l a4,_object_freeList + jeq .L219 + clr.l 12(a4) +.L219: + clr.w 76(a2) + move.w d1,2(a2) + move.w #1,86(a2) + move.w d0,(a2) + move.w d3,26(a2) + clr.w 28(a2) + lea (52,a2),a4 + move.l a4,68(a2) + clr.w 56(a2) + clr.w 64(a2) + move.w a3,a4 + move.l a4,d0 + add.l a4,d0 + add.l d0,d0 + add.l a4,d0 + add.l d0,d0 + move.l d0,d1 + add.l #_object_animations,d1 + move.l d1,48(a2) + move.w a3,44(a2) + move.w a3,42(a2) + lea _object_animations,a3 + move.w (a3,d0.l),d0 + move.w d0,36(a2) + move.w d0,a3 + move.l a3,d0 + add.l a3,d0 + add.l a3,d0 + add.l d0,d0 + add.l d0,d0 + add.l #_object_imageAtlas,d0 + move.l d0,38(a2) + move.w a0,d0 + add.w a0,d0 + move.w d0,22(a2) + move.w a0,16(a2) + move.w a1,d0 + add.w a1,d0 + move.w d0,24(a2) + move.w a1,18(a2) + move.w a1,20(a2) + clr.w 72(a2) + clr.w 74(a2) + move.l 32(sp),78(a2) + move.l 36(sp),4(a2) + move.l 40(sp),82(a2) + clr.w 88(a2) + cmp.w #1,d2 + sls d0 + ext.w d0 + neg.w d0 + move.w d0,94(a2) + addq.w #1,_object_count + move.l _object_activeList,a0 + cmp.w #0,a0 + jeq .L227 + move.l a0,8(a2) + move.l a2,12(a0) + clr.l 12(a2) + move.l a2,_object_activeList + move.l a2,d0 + movem.l (sp)+,#7180 + rts +.L227: + move.l a2,_object_activeList + clr.l 8(a2) + clr.l 12(a2) + move.l a2,d0 + movem.l (sp)+,#7180 + rts +.comm _object_zBuffer,48 +.lcomm _object_buffer,1152 +.lcomm _object_freeList,4 +.comm _object_activeList,4 +.comm _object_count,2 diff --git a/test/test7/cc b/test/test7/cc new file mode 100755 index 0000000..06148f3 --- /dev/null +++ b/test/test7/cc @@ -0,0 +1,5 @@ +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s -fbbb=- || exit 1 +r="$(diff --brief test.s golden.s)" +[ "$r" == "" ] || diff test.s golden.s +[ "$r" == "" ] || exit 1 diff --git a/test/test7/golden.s b/test/test7/golden.s new file mode 100755 index 0000000..d0488cc --- /dev/null +++ b/test/test7/golden.s @@ -0,0 +1,616 @@ +#NO_APP + .text + .align 2 + .globl _object_collision +_object_collision: + movem.l #16190,-(sp) + move.l a0,a3 + move.l a1,a5 + move.w 50(sp),d4 + move.w 28(a0),a1 + move.w 26(a0),a0 + cmp.w #2,d0 + jeq .L13 +.L2: + move.l _object_activeList,a2 + clr.l 12(a5) + clr.l 8(a5) + clr.l 4(a5) + clr.l (a5) + move.w 24(a3),a4 + lea (a4,a1.w),a4 + move.l a4,d0 + jpl .L15 + addq.l #1,d0 +.L15: + asr.l #1,d0 + move.l d0,a4 + move.w d0,d5 + move.w 22(a3),a1 + lea (a1,a0.w),a0 + move.l a0,d0 + jpl .L16 + addq.l #1,d0 +.L16: + asr.l #1,d0 + move.w 90(a3),a0 + move.w a0,d6 + sub.w d1,d6 + add.w d0,d6 + move.w 92(a3),d2 + add.w d1,d2 + sub.w a0,d2 + add.w d0,d2 + clr.w d7 + cmp.w #0,a2 + jeq .L1 + lea _abs,a6 + and.l #65535,d4 +.L8: + tst.w 94(a2) + jeq .L4 + cmp.l a3,a2 + jeq .L4 + move.w 18(a2),d3 + move.l a4,a0 + sub.w d3,a0 + move.l a0,d0 + jsr (a6) + cmp.l d0,d4 + jlt .L4 + move.w 16(a2),d1 + move.w 90(a2),a0 + move.w d1,d0 + sub.w a0,d0 + add.w 92(a2),d0 + cmp.w d6,d0 + jle .L4 + add.w a0,d1 + cmp.w d2,d1 + jge .L4 + cmp.w d5,d3 + jlt .L5 + move.l a2,(a5) + cmp.w d6,d1 + jlt .L7 +.L14: + move.l a2,12(a5) + moveq #1,d7 +.L4: + move.l 8(a2),a2 + cmp.w #0,a2 + jne .L8 +.L1: + move.w d7,d0 + movem.l (sp)+,#31996 + rts +.L13: + add.w a0,a0 + add.w a1,a1 + jra .L2 +.L5: + move.l a2,4(a5) + cmp.w d6,d1 + jge .L14 +.L7: + move.l a2,8(a5) + moveq #1,d7 + move.l 8(a2),a2 + cmp.w #0,a2 + jne .L8 + jra .L1 + .align 2 + .globl _enemy_closestPlayer +_enemy_closestPlayer: + movem.l #12336,-(sp) + move.l a0,a2 + move.l _game_player2,d0 + jeq .L29 + move.l _game_player1,a1 + cmp.w #0,a1 + jeq .L17 + move.l d0,a0 + cmp.w #1,76(a1) + jeq .L34 + cmp.w #1,76(a0) + jeq .L35 + move.w 16(a2),a0 + lea _abs,a3 + sub.w 16(a1),a0 + move.l a0,d0 + jsr (a3) + move.l d0,d3 + move.w 18(a2),a1 + move.l _game_player1,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a3) + add.l d0,d3 + move.w 16(a2),a1 + move.l _game_player2,a0 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a3) + move.l d0,d2 + move.w 18(a2),a1 + move.l _game_player2,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a3) + add.l d2,d0 + cmp.l d3,d0 + jgt .L29 + move.l _game_player2,d0 +.L17: + movem.l (sp)+,#3084 + rts +.L29: + move.l _game_player1,d0 + movem.l (sp)+,#3084 + rts +.L34: + cmp.w #1,76(a0) + jne .L17 + moveq #0,d0 + movem.l (sp)+,#3084 + rts +.L35: + move.l a1,d0 + movem.l (sp)+,#3084 + rts + .align 2 + .globl _level1_doorIntelligence +_level1_doorIntelligence: + lea (-16,sp),sp + movem.l #15420,-(sp) + move.l d0,d3 + move.l a0,a2 + move.l a1,a3 + move.w 18(a0),d0 + cmp.w #63,d0 + jeq .L78 + cmp.w #65,d0 + jle .L38 + move.w 76(a0),d2 + jne .L62 + move.w 24(a1),d0 + jle .L41 + sub.w d3,d0 + move.w d0,24(a1) +.L36: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L62: + clr.w d2 + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L78: + cmp.w #1456,16(a0) + jgt .L79 +.L38: + clr.w 26(a2) + move.w #1,28(a2) + clr.w d2 + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L79: + move.w #-1,26(a0) + clr.w d2 + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L41: + move.l _game_player2,a4 + cmp.w #0,a4 + jeq .L74 + move.l _game_player1,a0 + cmp.w #0,a0 + jeq .L43 + cmp.w #1,76(a0) + jeq .L80 + cmp.w #1,76(a4) + jeq .L81 + move.w 16(a2),a1 + lea _abs,a4 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a4) + move.l d0,d5 + move.w 18(a2),a1 + move.l _game_player1,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a4) + add.l d0,d5 + move.w 16(a2),a1 + move.l _game_player2,a0 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a4) + move.l d0,d4 + move.w 18(a2),a1 + move.l _game_player2,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a4) + add.l d4,d0 + cmp.l d5,d0 + jgt .L74 + move.l _game_player2,a4 + cmp.w #0,a4 + jeq .L45 +.L43: + move.w 16(a2),a0 + sub.w _game_cameraX,a0 + cmp.w #0,a0 + jle .L82 +.L48: + cmp.w #319,a0 + jle .L50 + move.w #50,24(a3) + move.w #-1,26(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L82: + move.w #50,24(a3) + move.w #1,26(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L80: + cmp.w #1,76(a4) + jne .L43 +.L45: + clr.w 26(a2) + clr.w 28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L74: + move.l _game_player1,a4 + cmp.w #0,a4 + jne .L43 + jra .L45 +.L50: + pea 1.w + moveq #1,d1 + lea (36,sp),a1 + move.l a2,a0 + move.w d3,d0 + ext.l d0 + jsr _object_collision + move.w d0,d4 + addq.l #4,sp + jeq .L51 + tst.l 40(sp) + jeq .L52 + move.w #1,26(a2) + clr.w 28(a2) + move.w #50,24(a3) +.L84: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L81: + move.l a0,a4 + move.w 16(a2),a0 + sub.w _game_cameraX,a0 + cmp.w #0,a0 + jgt .L48 + jra .L82 +.L51: + move.l 38(a4),a0 + move.w 4(a0),a1 + move.w a1,d0 + asr.w #2,d0 + move.w d0,a1 + add.w 16(a4),a1 + move.w a1,a1 + move.l 38(a2),a0 + move.w 4(a0),d0 + asr.w #2,d0 + add.w 16(a2),d0 + lea _abs,a5 + sub.w d0,a1 + move.l a1,d0 + jsr (a5) + moveq #31,d1 + cmp.l d0,d1 + jge .L56 + move.w 16(a2),d0 + cmp.w 16(a4),d0 + sge d4 + ext.w d4 + or.w #1,d4 +.L56: + move.w d4,26(a2) + move.w 18(a2),a0 + sub.w 18(a4),a0 + move.l a0,d0 + jsr (a5) + move.w 14(a3),a0 + cmp.l d0,a0 + jlt .L57 + tst.w 26(a2) + jne .L58 + move.w 40(a3),d0 + jle .L83 + sub.w d3,d0 + move.w d0,40(a3) +.L58: + clr.w 28(a2) +.L85: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L57: + move.w 18(a2),d1 + move.w 18(a4),d0 + cmp.w d1,d0 + jle .L60 + move.w 48(a3),28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L52: + tst.l 44(sp) + jeq .L54 + move.w #-1,26(a2) + clr.w 28(a2) + move.w #50,24(a3) + jra .L84 +.L60: + cmp.w d1,d0 + jge .L36 + move.w 48(a3),d1 + neg.w d1 + move.w d1,28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L83: + move.w 42(a3),40(a3) + moveq #1,d2 + clr.w 28(a2) + jra .L85 +.L54: + tst.l 32(sp) + jeq .L55 + clr.w 26(a2) + move.w #1,28(a2) + move.w #50,24(a3) + jra .L84 +.L55: + clr.w 26(a2) + move.w #-1,28(a2) + move.w #50,24(a3) + jra .L84 + .align 2 + .globl _enemy_intelligence +_enemy_intelligence: + lea (-16,sp),sp + movem.l #15420,-(sp) + move.l d0,d3 + move.l a0,a2 + move.l a1,a3 + move.w 76(a0),d2 + jne .L109 + move.w 24(a1),d0 + jle .L88 + sub.w d3,d0 + move.w d0,24(a1) +.L86: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L109: + clr.w d2 + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L88: + move.l _game_player2,a4 + cmp.w #0,a4 + jeq .L121 + move.l _game_player1,a0 + cmp.w #0,a0 + jeq .L90 + cmp.w #1,76(a0) + jeq .L125 + cmp.w #1,76(a4) + jeq .L126 + move.w 16(a2),a1 + lea _abs,a4 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a4) + move.l d0,d5 + move.w 18(a2),a1 + move.l _game_player1,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a4) + add.l d0,d5 + move.w 16(a2),a1 + move.l _game_player2,a0 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a4) + move.l d0,d4 + move.w 18(a2),a1 + move.l _game_player2,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a4) + add.l d4,d0 + cmp.l d5,d0 + jgt .L121 + move.l _game_player2,a4 + cmp.w #0,a4 + jeq .L92 +.L90: + move.w 16(a2),a0 + sub.w _game_cameraX,a0 + cmp.w #0,a0 + jle .L127 + cmp.w #319,a0 + jle .L97 + move.w #50,24(a3) + move.w #-1,26(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L121: + move.l _game_player1,a4 + cmp.w #0,a4 + jne .L90 + jra .L92 +.L125: + cmp.w #1,76(a4) + jne .L90 +.L92: + clr.w 26(a2) + clr.w 28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L127: + move.w #50,24(a3) + move.w #1,26(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L97: + pea 1.w + moveq #1,d1 + lea (36,sp),a1 + move.l a2,a0 + move.w d3,d0 + ext.l d0 + jsr _object_collision + move.w d0,d4 + addq.l #4,sp + jeq .L98 + tst.l 40(sp) + jeq .L99 + move.w #1,26(a2) + clr.w 28(a2) + move.w #50,24(a3) +.L129: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L126: + move.l a0,a4 + jra .L90 +.L98: + move.l 38(a4),a0 + move.w 4(a0),a1 + move.w a1,d0 + asr.w #2,d0 + move.w d0,a1 + add.w 16(a4),a1 + move.w a1,a1 + move.l 38(a2),a0 + move.w 4(a0),d0 + asr.w #2,d0 + add.w 16(a2),d0 + lea _abs,a5 + sub.w d0,a1 + move.l a1,d0 + jsr (a5) + moveq #31,d1 + cmp.l d0,d1 + jge .L103 + move.w 16(a2),d0 + cmp.w 16(a4),d0 + sge d4 + ext.w d4 + or.w #1,d4 +.L103: + move.w d4,26(a2) + move.w 18(a2),a0 + sub.w 18(a4),a0 + move.l a0,d0 + jsr (a5) + move.w 14(a3),a0 + cmp.l d0,a0 + jlt .L104 + tst.w 26(a2) + jne .L105 + move.w 40(a3),d0 + jle .L128 + sub.w d3,d0 + move.w d0,40(a3) +.L105: + clr.w 28(a2) +.L130: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L104: + move.w 18(a2),d1 + move.w 18(a4),d0 + cmp.w d1,d0 + jle .L107 + move.w 48(a3),28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L99: + tst.l 44(sp) + jeq .L101 + move.w #-1,26(a2) + clr.w 28(a2) + move.w #50,24(a3) + jra .L129 +.L107: + cmp.w d1,d0 + jge .L86 + move.w 48(a3),d1 + neg.w d1 + move.w d1,28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L128: + move.w 42(a3),40(a3) + moveq #1,d2 + clr.w 28(a2) + jra .L130 +.L101: + tst.l 32(sp) + jeq .L102 + clr.w 26(a2) + move.w #1,28(a2) + move.w #50,24(a3) + jra .L129 +.L102: + clr.w 26(a2) + move.w #-1,28(a2) + move.w #50,24(a3) + jra .L129 diff --git a/test/test7/test.c b/test/test7/test.c new file mode 100755 index 0000000..c5f640a --- /dev/null +++ b/test/test7/test.c @@ -0,0 +1,802 @@ +#include "stdlib.h" + +typedef unsigned short uint16_t; +typedef short int16_t; +typedef unsigned char uint8_t; + +typedef volatile uint8_t* frame_buffer_t; +typedef volatile struct Custom* custom_t; +#define GAME_PAVEMENT_START 66 +#define SCREEN_WIDTH 320 +#define SCREEN_HEIGHT 256 + +#define MAP_TILE_WIDTH 100 +#define MAP_TILE_HEIGHT 13 +#define TILE_WIDTH 16 +#define TILE_HEIGHT 16 +#define PLAYAREA_HEIGHT MAP_TILE_HEIGHT*TILE_HEIGHT +#define GAME_WORLD_HEIGHT (MAP_TILE_HEIGHT*TILE_HEIGHT) +#define GAME_WORLD_WIDTH (MAP_TILE_WIDTH*TILE_WIDTH) + +#define LEVEL1_ENEMY_BOSS_START_Y (7+56) +#define LEVEL1_ENEMY_BOSS_START_X (GAME_WORLD_WIDTH-96) + +extern int16_t game_cameraX; + +#ifndef __OBJECT_H +#define __OBJECT_H + +#define OBJECT_MAX_OBJECTS 12 +#define OBJECT_PHYSICS_FACTOR 2 +#define OBJECT_WIDTH 32 + +#define OBJECT_HIT_DISTANCE 31 + +typedef enum { + SPRITE_PLAYER1_STAND_RIGHT, + SPRITE_PLAYER1_RUN_RIGHT_1, + SPRITE_PLAYER1_RUN_RIGHT_2, + SPRITE_PLAYER1_RUN_RIGHT_3, + SPRITE_PLAYER1_RUN_RIGHT_4, + SPRITE_PLAYER1_STAND_LEFT, + SPRITE_PLAYER1_RUN_LEFT_1, + SPRITE_PLAYER1_RUN_LEFT_2, + SPRITE_PLAYER1_RUN_LEFT_3, + SPRITE_PLAYER1_RUN_LEFT_4, + SPRITE_PLAYER1_PUNCH_LEFT_1, + SPRITE_PLAYER1_PUNCH_LEFT_2, + SPRITE_PLAYER1_PUNCH_RIGHT_1, + SPRITE_PLAYER1_PUNCH_RIGHT_2, + SPRITE_PLAYER1_HIT_LEFT, + SPRITE_PLAYER1_HIT_RIGHT, + + SPRITE_PLAYER2_STAND_RIGHT, + SPRITE_PLAYER2_RUN_RIGHT_1, + SPRITE_PLAYER2_RUN_RIGHT_2, + SPRITE_PLAYER2_RUN_RIGHT_3, + SPRITE_PLAYER2_RUN_RIGHT_4, + SPRITE_PLAYER2_STAND_LEFT, + SPRITE_PLAYER2_RUN_LEFT_1, + SPRITE_PLAYER2_RUN_LEFT_2, + SPRITE_PLAYER2_RUN_LEFT_3, + SPRITE_PLAYER2_RUN_LEFT_4, + SPRITE_PLAYER2_PUNCH_LEFT_1, + SPRITE_PLAYER2_PUNCH_LEFT_2, + SPRITE_PLAYER2_PUNCH_RIGHT_1, + SPRITE_PLAYER2_PUNCH_RIGHT_2, + SPRITE_PLAYER2_HIT_LEFT, + SPRITE_PLAYER2_HIT_RIGHT, + SPRITE_PLAYER2_KICK_LEFT_1, + SPRITE_PLAYER2_KICK_LEFT_2, + SPRITE_PLAYER2_KICK_LEFT_3, + SPRITE_PLAYER2_KICK_RIGHT_1, + SPRITE_PLAYER2_KICK_RIGHT_2, + SPRITE_PLAYER2_KICK_RIGHT_3, + + + SPRITE_PLAYER3_STAND_RIGHT, + SPRITE_PLAYER3_RUN_RIGHT_1, + SPRITE_PLAYER3_RUN_RIGHT_2, + SPRITE_PLAYER3_RUN_RIGHT_3, + SPRITE_PLAYER3_RUN_RIGHT_4, + SPRITE_PLAYER3_STAND_LEFT, + SPRITE_PLAYER3_RUN_LEFT_1, + SPRITE_PLAYER3_RUN_LEFT_2, + SPRITE_PLAYER3_RUN_LEFT_3, + SPRITE_PLAYER3_RUN_LEFT_4 , + SPRITE_PLAYER3_PUNCH_LEFT_1, + SPRITE_PLAYER3_PUNCH_LEFT_2, + SPRITE_PLAYER3_PUNCH_RIGHT_1, + SPRITE_PLAYER3_PUNCH_RIGHT_2, + SPRITE_PLAYER3_HIT_LEFT, + SPRITE_PLAYER3_HIT_RIGHT, + SPRITE_PLAYER3_KICK_LEFT_1, + SPRITE_PLAYER3_KICK_LEFT_2, + SPRITE_PLAYER3_KICK_LEFT_3, + SPRITE_PLAYER3_KICK_RIGHT_1, + SPRITE_PLAYER3_KICK_RIGHT_2, + SPRITE_PLAYER3_KICK_RIGHT_3, + + + SPRITE_PLAYER4_STAND_RIGHT, + SPRITE_PLAYER4_RUN_RIGHT_1, + SPRITE_PLAYER4_RUN_RIGHT_2, + SPRITE_PLAYER4_RUN_RIGHT_3, + SPRITE_PLAYER4_RUN_RIGHT_4, + SPRITE_PLAYER4_STAND_LEFT, + SPRITE_PLAYER4_RUN_LEFT_1, + SPRITE_PLAYER4_RUN_LEFT_2, + SPRITE_PLAYER4_RUN_LEFT_3, + SPRITE_PLAYER4_RUN_LEFT_4 , + SPRITE_PLAYER4_PUNCH_LEFT_1, + SPRITE_PLAYER4_PUNCH_LEFT_2, + SPRITE_PLAYER4_PUNCH_RIGHT_1, + SPRITE_PLAYER4_PUNCH_RIGHT_2, + SPRITE_PLAYER4_HIT_LEFT, + SPRITE_PLAYER4_HIT_RIGHT, + + SPRITE_BOSS_STAND_RIGHT, + SPRITE_BOSS_RUN_RIGHT_1, + SPRITE_BOSS_RUN_RIGHT_2, + SPRITE_BOSS_RUN_RIGHT_3, + SPRITE_BOSS_RUN_RIGHT_4, + SPRITE_BOSS_STAND_LEFT, + SPRITE_BOSS_RUN_LEFT_1, + SPRITE_BOSS_RUN_LEFT_2, + SPRITE_BOSS_RUN_LEFT_3, + SPRITE_BOSS_RUN_LEFT_4 , + SPRITE_BOSS_ATTACK_LEFT_1, + SPRITE_BOSS_ATTACK_LEFT_2, + SPRITE_BOSS_ATTACK_LEFT_3, + SPRITE_BOSS_ATTACK_RIGHT_1, + SPRITE_BOSS_ATTACK_RIGHT_2, + SPRITE_BOSS_ATTACK_RIGHT_3, + SPRITE_BOSS_HIT_LEFT, + SPRITE_BOSS_HIT_RIGHT, + + SPRITE_HAND, + SPRITE_DOOR, + SPRITE_JOYSTICK1, + SPRITE_JOYSTICK2, + SPRITE_GAMEOVER, + SPRITE_GAMECOMPLETE, + + SPRITE_PHONEBOOTH, + SPRITE_PHONEBOOTH_BROKEN, + SPRITE_PHONEBOOTH_JUNK1, + SPRITE_PHONEBOOTH_JUNK2, + SPRITE_PHONEBOOTH_JUNK3, + + SPRITE_POSTBOX, + SPRITE_POSTBOX_BROKEN, + SPRITE_POSTBOX_JUNK1, + SPRITE_POSTBOX_JUNK2, + SPRITE_POSTBOX_JUNK3, + + SPRITE_BONUS_BURGER, + SPRITE_BONUS_COLA, + SPRITE_STAR, +} sprite_id_t; + +typedef enum { + OBJECT_ID_ENEMY = 0, + OBJECT_ID_PLAYER1 = 1, + OBJECT_ID_PLAYER2 = 2, + OBJECT_ID_BOSS = 3, + OBJECT_ID_HAND = 4, + OBJECT_ID_DOOR = 5, + OBJECT_ID_JOYSTICK = 6, + OBJECT_ID_GAMEOVER = 7, + OBJECT_ID_GAMECOMPLETE = 8, + OBJECT_ID_PHONEBOOTH = 9, + OBJECT_ID_POSTBOX = 10, + OBJECT_ID_JUNK = 11, + OBJECT_ID_BONUS = 12, +} object_id_t; + +typedef enum { + OBJECT_STAND_RIGHT = 0, + OBJECT_RUN_RIGHT = 1, + OBJECT_RUN_LEFT = 2, + OBJECT_STAND_LEFT = 3, + OBJECT_PUNCH_LEFT1 = 4, + OBJECT_PUNCH_LEFT2 = 5, + OBJECT_KICK_LEFT = 6, + OBJECT_PUNCH_RIGHT1 = 7, + OBJECT_PUNCH_RIGHT2 = 8, + OBJECT_KICK_RIGHT = 9, + OBJECT_HIT_LEFT = 10, + OBJECT_HIT_RIGHT = 11, + +} object_action_t; + +typedef enum { + OBJECT_ANIM_PLAYER1_STAND_RIGHT = 0, + OBJECT_ANIM_PLAYER1_RUN_RIGHT = OBJECT_ANIM_PLAYER1_STAND_RIGHT + OBJECT_RUN_RIGHT, + OBJECT_ANIM_PLAYER1_STAND_LEFT = OBJECT_ANIM_PLAYER1_STAND_RIGHT + OBJECT_STAND_LEFT, + OBJECT_ANIM_PLAYER1_RUN_LEFT = OBJECT_ANIM_PLAYER1_STAND_RIGHT + OBJECT_RUN_LEFT, + OBJECT_ANIM_PLAYER1_PUNCH_LEFT1 = OBJECT_ANIM_PLAYER1_STAND_RIGHT + OBJECT_PUNCH_LEFT1, + OBJECT_ANIM_PLAYER1_PUNCH_LEFT2 = OBJECT_ANIM_PLAYER1_STAND_RIGHT + OBJECT_PUNCH_LEFT2, + OBJECT_ANIM_PLAYER1_PUNCH_RIGHT1 = OBJECT_ANIM_PLAYER1_STAND_RIGHT + OBJECT_PUNCH_RIGHT1, + OBJECT_ANIM_PLAYER1_PUNCH_RIGHT2 = OBJECT_ANIM_PLAYER1_STAND_RIGHT + OBJECT_PUNCH_RIGHT2, + OBJECT_ANIM_PLAYER1_HIT_LEFT = OBJECT_ANIM_PLAYER1_STAND_RIGHT + OBJECT_HIT_LEFT, + OBJECT_ANIM_PLAYER1_HIT_RIGHT = OBJECT_ANIM_PLAYER1_STAND_RIGHT + OBJECT_HIT_RIGHT, + + OBJECT_ANIM_PLAYER2_STAND_RIGHT = OBJECT_ANIM_PLAYER1_HIT_RIGHT + 1, + OBJECT_ANIM_PLAYER2_RUN_RIGHT = OBJECT_ANIM_PLAYER2_STAND_RIGHT + OBJECT_RUN_RIGHT, + OBJECT_ANIM_PLAYER2_STAND_LEFT = OBJECT_ANIM_PLAYER2_STAND_RIGHT + OBJECT_STAND_LEFT, + OBJECT_ANIM_PLAYER2_RUN_LEFT = OBJECT_ANIM_PLAYER2_STAND_RIGHT + OBJECT_RUN_LEFT, + OBJECT_ANIM_PLAYER2_PUNCH_LEFT1 = OBJECT_ANIM_PLAYER2_STAND_RIGHT + OBJECT_PUNCH_LEFT1, + OBJECT_ANIM_PLAYER2_PUNCH_LEFT2 = OBJECT_ANIM_PLAYER2_STAND_RIGHT + OBJECT_PUNCH_LEFT2, + OBJECT_ANIM_PLAYER2_KICK_LEFT = OBJECT_ANIM_PLAYER2_STAND_RIGHT + OBJECT_KICK_LEFT, + OBJECT_ANIM_PLAYER2_PUNCH_RIGHT1 = OBJECT_ANIM_PLAYER2_STAND_RIGHT + OBJECT_PUNCH_RIGHT1, + OBJECT_ANIM_PLAYER2_PUNCH_RIGHT2 = OBJECT_ANIM_PLAYER2_STAND_RIGHT + OBJECT_PUNCH_RIGHT2, + OBJECT_ANIM_PLAYER2_KICK_RIGHT = OBJECT_ANIM_PLAYER2_STAND_RIGHT + OBJECT_KICK_RIGHT, + OBJECT_ANIM_PLAYER2_HIT_LEFT = OBJECT_ANIM_PLAYER2_STAND_RIGHT + OBJECT_HIT_LEFT, + OBJECT_ANIM_PLAYER2_HIT_RIGHT = OBJECT_ANIM_PLAYER2_STAND_RIGHT + OBJECT_HIT_RIGHT, + + + OBJECT_ANIM_PLAYER3_STAND_RIGHT = OBJECT_ANIM_PLAYER2_HIT_RIGHT + 1, + OBJECT_ANIM_PLAYER3_RUN_RIGHT = OBJECT_ANIM_PLAYER3_STAND_RIGHT + OBJECT_RUN_RIGHT, + OBJECT_ANIM_PLAYER3_STAND_LEFT = OBJECT_ANIM_PLAYER3_STAND_RIGHT + OBJECT_STAND_LEFT, + OBJECT_ANIM_PLAYER3_RUN_LEFT = OBJECT_ANIM_PLAYER3_STAND_RIGHT + OBJECT_RUN_LEFT, + OBJECT_ANIM_PLAYER3_PUNCH_LEFT1 = OBJECT_ANIM_PLAYER3_STAND_RIGHT + OBJECT_PUNCH_LEFT1, + OBJECT_ANIM_PLAYER3_PUNCH_LEFT2 = OBJECT_ANIM_PLAYER3_STAND_RIGHT + OBJECT_PUNCH_LEFT2, + OBJECT_ANIM_PLAYER3_KICK_LEFT = OBJECT_ANIM_PLAYER3_STAND_RIGHT + OBJECT_KICK_LEFT, + OBJECT_ANIM_PLAYER3_PUNCH_RIGHT1 = OBJECT_ANIM_PLAYER3_STAND_RIGHT + OBJECT_PUNCH_RIGHT1, + OBJECT_ANIM_PLAYER3_PUNCH_RIGHT2 = OBJECT_ANIM_PLAYER3_STAND_RIGHT + OBJECT_PUNCH_RIGHT2, + OBJECT_ANIM_PLAYER3_KICK_RIGHT = OBJECT_ANIM_PLAYER3_STAND_RIGHT + OBJECT_KICK_RIGHT, + OBJECT_ANIM_PLAYER3_HIT_LEFT = OBJECT_ANIM_PLAYER3_STAND_RIGHT + OBJECT_HIT_LEFT, + OBJECT_ANIM_PLAYER3_HIT_RIGHT = OBJECT_ANIM_PLAYER3_STAND_RIGHT + OBJECT_HIT_RIGHT, + + OBJECT_ANIM_PLAYER4_STAND_RIGHT = OBJECT_ANIM_PLAYER3_HIT_RIGHT + 1, + OBJECT_ANIM_PLAYER4_RUN_RIGHT = OBJECT_ANIM_PLAYER4_STAND_RIGHT + OBJECT_RUN_RIGHT, + OBJECT_ANIM_PLAYER4_STAND_LEFT = OBJECT_ANIM_PLAYER4_STAND_RIGHT + OBJECT_STAND_LEFT, + OBJECT_ANIM_PLAYER4_RUN_LEFT = OBJECT_ANIM_PLAYER4_STAND_RIGHT + OBJECT_RUN_LEFT, + OBJECT_ANIM_PLAYER4_PUNCH_LEFT1 = OBJECT_ANIM_PLAYER4_STAND_RIGHT + OBJECT_PUNCH_LEFT1, + OBJECT_ANIM_PLAYER4_PUNCH_LEFT2 = OBJECT_ANIM_PLAYER4_STAND_RIGHT + OBJECT_PUNCH_LEFT2, + OBJECT_ANIM_PLAYER4_PUNCH_RIGHT1 = OBJECT_ANIM_PLAYER4_STAND_RIGHT + OBJECT_PUNCH_RIGHT1, + OBJECT_ANIM_PLAYER4_PUNCH_RIGHT2 = OBJECT_ANIM_PLAYER4_STAND_RIGHT + OBJECT_PUNCH_RIGHT2, + OBJECT_ANIM_PLAYER4_HIT_LEFT = OBJECT_ANIM_PLAYER4_STAND_RIGHT + OBJECT_HIT_LEFT, + OBJECT_ANIM_PLAYER4_HIT_RIGHT = OBJECT_ANIM_PLAYER4_STAND_RIGHT + OBJECT_HIT_RIGHT, + + OBJECT_ANIM_BOSS_STAND_RIGHT = OBJECT_ANIM_PLAYER4_HIT_RIGHT + 1, + OBJECT_ANIM_BOSS_RUN_RIGHT = OBJECT_ANIM_BOSS_STAND_RIGHT + OBJECT_RUN_RIGHT, + OBJECT_ANIM_BOSS_STAND_LEFT = OBJECT_ANIM_BOSS_STAND_RIGHT + OBJECT_STAND_LEFT, + OBJECT_ANIM_BOSS_RUN_LEFT = OBJECT_ANIM_BOSS_STAND_RIGHT + OBJECT_RUN_LEFT, + OBJECT_ANIM_BOSS_ATTACK_LEFT1 = OBJECT_ANIM_BOSS_STAND_RIGHT + OBJECT_PUNCH_LEFT1, + OBJECT_ANIM_BOSS_ATTACK_LEFT2 = OBJECT_ANIM_BOSS_STAND_RIGHT + OBJECT_PUNCH_LEFT2, + OBJECT_ANIM_BOSS_ATTACK_RIGHT1 = OBJECT_ANIM_BOSS_STAND_RIGHT + OBJECT_PUNCH_RIGHT1, + OBJECT_ANIM_BOSS_ATTACK_RIGHT2 = OBJECT_ANIM_BOSS_STAND_RIGHT + OBJECT_PUNCH_RIGHT2, + OBJECT_ANIM_BOSS_HIT_LEFT = OBJECT_ANIM_BOSS_STAND_RIGHT + OBJECT_HIT_LEFT, + OBJECT_ANIM_BOSS_HIT_RIGHT = OBJECT_ANIM_BOSS_STAND_RIGHT + OBJECT_HIT_RIGHT, + + OBJECT_ANIM_HAND = OBJECT_ANIM_BOSS_HIT_RIGHT + 1, + OBJECT_ANIM_DOOR = OBJECT_ANIM_HAND + 1, + OBJECT_ANIM_JOYSTICK = OBJECT_ANIM_DOOR + 1, + OBJECT_ANIM_GAMEOVER = OBJECT_ANIM_JOYSTICK + 1, + OBJECT_ANIM_GAMECOMPLETE = OBJECT_ANIM_GAMEOVER + 1, + + OBJECT_ANIM_PHONEBOOTH = OBJECT_ANIM_GAMECOMPLETE + 1, + OBJECT_ANIM_PHONEBOOTH_BROKEN = OBJECT_ANIM_PHONEBOOTH + 1, + + OBJECT_ANIM_PHONEBOOTH_JUNK1 = OBJECT_ANIM_PHONEBOOTH_BROKEN + 1, + OBJECT_ANIM_PHONEBOOTH_JUNK2 = OBJECT_ANIM_PHONEBOOTH_JUNK1 + 1, + OBJECT_ANIM_PHONEBOOTH_JUNK3 = OBJECT_ANIM_PHONEBOOTH_JUNK2 + 1, + + OBJECT_ANIM_POSTBOX = OBJECT_ANIM_PHONEBOOTH_JUNK3 + 1, + OBJECT_ANIM_POSTBOX_BROKEN = OBJECT_ANIM_POSTBOX + 1, + + OBJECT_ANIM_POSTBOX_JUNK1 = OBJECT_ANIM_POSTBOX_BROKEN + 1, + OBJECT_ANIM_POSTBOX_JUNK2 = OBJECT_ANIM_POSTBOX_JUNK1 + 1, + OBJECT_ANIM_POSTBOX_JUNK3 = OBJECT_ANIM_POSTBOX_JUNK2 + 1, + + + OBJECT_ANIM_BONUS_BURGER = OBJECT_ANIM_POSTBOX_JUNK3 + 1, + OBJECT_ANIM_BONUS_COLA = OBJECT_ANIM_BONUS_BURGER + 1, + + OBJECT_ANIM_STAR = OBJECT_ANIM_BONUS_COLA + 1, + +} object_animation_id_t; + +typedef enum { + FACING_LEFT, + FACING_RIGHT +} object_direction_t; + +typedef enum { + OBJECT_STATE_ALIVE, + OBJECT_STATE_REMOVED, + OBJECT_STATE_DEAD, + OBJECT_STATE_HIT, + OBJECT_STATE_FLASHING +} object_state_t; + +typedef struct { + int16_t start; + int16_t stop; + int16_t speed; + object_direction_t facing; +} object_animation_t; + +typedef struct { + int16_t x; + int16_t y; + int16_t w; + int16_t h; + int16_t dx; + int16_t dy; +} object_image_t; + +typedef struct { + int16_t x; + int16_t y; + int16_t dx; + int16_t dy; + int16_t ix; +} object_velocity_t; + +typedef enum { + OBJECT_CLASS_FIGHTER, + OBJECT_CLASS_THING, + OBJECT_CLASS_JUNK, + OBJECT_CLASS_DECORATION +} object_class_t; + +typedef struct { + int16_t x; + int16_t y; + int16_t w; + int16_t h; +} object_position_t; + +typedef struct { + object_position_t positions[2]; + object_position_t* position; +} object_save_t; + +typedef struct object { + uint16_t id; + uint16_t class; + void* data; + struct object* next; + struct object* prev; + int16_t _x; + int16_t _y; + int16_t _z; + int16_t _px; + int16_t _py; + object_velocity_t velocity; + int16_t imageIndex; + object_image_t* image; + uint16_t baseId; + uint16_t animId; + uint16_t actionId; + object_animation_t* anim; + object_save_t save; + uint16_t frameCounter; + uint16_t deadRenderCount; + uint16_t _state; + void (*update)(uint16_t deltaT, struct object* ptr); + void (*freeData)(void* data); + uint16_t visible; + uint16_t tileRender; + + uint16_t widthOffset; + uint16_t width; + + uint16_t collidable; +} object_t; + + +typedef struct { + object_t* up; + object_t* down; + object_t* left; + object_t* right; +} object_collision_t; + + +extern object_image_t object_imageAtlas[]; +extern object_animation_t object_animations[]; +extern object_t* object_activeList; +extern int16_t object_count; +extern object_t* object_zBuffer[OBJECT_MAX_OBJECTS]; +//extern uint16_t object_zBufferValid; + +void +object_init(void); +object_t* +object_add(uint16_t id, uint16_t class, int16_t x, int16_t y, int16_t dx, int16_t anim, void (*update)(uint16_t deltaT, object_t* ptr), void* data, void (*freeData)(void*)); +void +object_free(object_t* ptr); +void +object_render(frame_buffer_t fb, uint16_t deltaT); +void +object_restoreBackground(frame_buffer_t fb); +void +object_updatePosition(uint16_t deltaT, object_t* ptr); +void +object_setAction(object_t* ptr, object_action_t action); + +inline static int16_t +object_x(object_t* ptr) { + return ptr->_x; +} + +inline static int16_t +object_y(object_t* ptr) { + return ptr->_y; +} + +inline static int16_t +object_z(object_t* ptr) { + return ptr->_z; +} + +inline static int16_t +object_px(object_t* ptr) { + return ptr->_px; +} + +inline static int16_t +object_py(object_t* ptr) { + return ptr->_py; +} + +inline static uint16_t +object_get_state(object_t* ptr) { + return ptr->_state; +} + +inline static void +object_set_state(object_t* ptr, uint16_t state) { + ptr->_state = state; + if (state == OBJECT_STATE_ALIVE) { + if (ptr->class == OBJECT_CLASS_FIGHTER || ptr->class == OBJECT_CLASS_THING) { + ptr->collidable = 1; + return; + } + } + ptr->collidable = 0; +} + +#define object_screenx(ptr) (ptr->image->dx + 0xf + ptr->_x-game_cameraX-game_screenScrollX) +#define object_screeny(ptr) (ptr->image->dy + (ptr->_y-ptr->image->h)) + +inline static void +object_set_px(object_t* ptr, int16_t px) +{ + ptr->_px = px; + int16_t oldX = ptr->_x - game_cameraX; + ptr->_x = ptr->_px / OBJECT_PHYSICS_FACTOR; + + if (oldX + OBJECT_WIDTH < SCREEN_WIDTH && (ptr->_x + OBJECT_WIDTH - game_cameraX)>= SCREEN_WIDTH) { + ptr->_x = game_cameraX + (SCREEN_WIDTH - OBJECT_WIDTH - 1); + ptr->_px = ptr->_x * OBJECT_PHYSICS_FACTOR; + } else if (oldX >= 0 && ptr->_x - game_cameraX < 0) { + ptr->_x = game_cameraX; + ptr->_px = ptr->_x * OBJECT_PHYSICS_FACTOR; + } +} + +inline static void +object_set_py(object_t* ptr, int16_t py) +{ + int16_t oldY = ptr->_y; + ptr->_py = py; + ptr->_y = ptr->_py / OBJECT_PHYSICS_FACTOR; + + + if (ptr->_y >= PLAYAREA_HEIGHT) { + ptr->_y = PLAYAREA_HEIGHT-2; + ptr->_py = ptr->_y * OBJECT_PHYSICS_FACTOR; + } + + if (oldY >= GAME_PAVEMENT_START && ptr->_y < GAME_PAVEMENT_START) { + ptr->_y = GAME_PAVEMENT_START; + ptr->_py = ptr->_y * OBJECT_PHYSICS_FACTOR; + } +} + +inline static void +object_set_py_no_checks(object_t* ptr, int16_t py) +{ + ptr->_py = py; + ptr->_y = ptr->_py / OBJECT_PHYSICS_FACTOR; +} + +inline static void +object_set_z(object_t* ptr, int16_t z) +{ + ptr->_z = z; +} + +void +object_setAnim(object_t* ptr, int16_t anim); + +void +object_clear(frame_buffer_t fb, int16_t ox, int16_t oy, int16_t ow, int16_t oh); + +int16_t +object_collision(int16_t deltaT, object_t* a, object_collision_t* collision, uint16_t thresholdx, uint16_t thresholdy); +#endif + +#ifndef __FIGHTER_H +#define __FIGHTER_H + +#define FIGHTER_MAX_FIGHTERS 8 +#define FIGHTER_LONG_PUNCH_RANGE 13 +#define FIGHTER_SHORT_PUNCH_RANGE 8 +//#define FIGHTER_Y_ATTACK_THRESHOLD 6 +#define FIGHTER_ENEMY_Y_ATTACK_RANGE 6 +#define FIGHTER_SPAWN_FLASH_COUNT_TICS 5 +#define FIGHTER_SPAWN_FLASH_DURATION_TICS 100 +#define FIGHTER_HIT_FLASH_COUNT_TICS 5 +#define FIGHTER_HIT_FLASH_DURATION_TICS 75 + +typedef struct { + uint16_t hitAnimTic; + uint16_t durationTics; + uint16_t dammage; + uint16_t rangeX; + uint16_t vx; + uint16_t vy; + uint16_t jump; +} fighter_attack_config_t; + + +typedef struct fighter_data { + struct fighter_data* prev; + struct fighter_data* next; + uint16_t attackCount; + uint16_t attackChecked; + uint16_t attackType; + int16_t attackRangeY; + uint16_t numAttacks; + int16_t attack_py; + uint16_t (*intelligence)(uint16_t deltaT, object_t* ptr, struct fighter_data* data); + int16_t walkAbout; // todo: move to enemy data + int16_t health; + uint16_t buttonReleased; + uint16_t attackQueued; + uint16_t attackJump; + int16_t attackJumpY; + int16_t flashCount; + int16_t flashDurationTics; + int16_t enemyAttackWait; + int16_t enemyAttackWaitTics; + int16_t postAttackInvincibleTics; + int16_t postAttackCount; + int16_t speed; + fighter_attack_config_t* attackConfig; +} fighter_data_t; + + +void +fighter_init(void); + +object_t* +fighter_add(uint16_t id, uint16_t animId, int16_t x, int16_t y, uint16_t initialHealth, fighter_attack_config_t* attackConfig, uint16_t (*intelligence)(uint16_t deltaT, object_t* ptr, struct fighter_data* data)); + + +void +fighter_update(uint16_t deltaT, object_t* ptr); + +#endif +#ifndef __ENEMY_H +#define __ENEMY_H + +#define ENEMY_WIDTH 22 +#define ENEMY_ATTACK_WAIT_TICS 25 +#define ENEMY_INTERCEPT_Y_THRESHOLD 1 +#define ENEMY_INTERCEPT_X_RANGE 1 +#define ENEMY_WALKABOUT_TICS 50 // if an enemy collides but cannot attack, go for a walk for this many units +#define ENEMY_ATTACK_DURATION_TICS 20 +#define ENEMY_INITIAL_HEALTH 100 + +#define ENEMY_BOSS_RUN_ANIM_SPEED 4 +#define ENEMY_BOSS_NUM_ATTACK_FRAMES 3 +#define ENEMY_BOSS_ATTACK_TICS_PER_FRAME 8 +#define ENEMY_BOSS_ATTACK_DAMMAGE 20 +#define ENEMY_BOSS_ATTACK_RANGE 20 + +// the following are temporary and will be refactored +#define ENEMY_ATTACK_DAMMAGE 5 + + +extern uint16_t enemy_count; + +#ifdef DEBUG +extern uint16_t enemy_pause; +#endif + +extern fighter_attack_config_t enemy_attackConfig1[]; +extern fighter_attack_config_t enemy_attackConfig2[]; +extern fighter_attack_config_t enemy_bossAttackConfig[]; + +void +enemy_init(void); + +void +enemy_add(uint16_t animId, uint16_t x, uint16_t y, fighter_attack_config_t* attackConfig, uint16_t attackWait, uint16_t (*intelligence)(uint16_t deltaT, object_t* ptr, fighter_data_t* data)); + +uint16_t +enemy_intelligence(uint16_t deltaT, object_t* ptr, fighter_data_t* data); +#endif + + +extern object_t* game_player1; +extern object_t* game_player2; + +int16_t +object_collision(int16_t deltaT, object_t* a, object_collision_t* collision, uint16_t thresholdx, uint16_t thresholdy) +{ + int16_t vy = a->velocity.y; + int16_t vx = a->velocity.x; + + if (deltaT == 2) { + vx *= 2; + vy *= 2; + } + + int16_t _collision = 0; + object_t* b = object_activeList; + + collision->up = collision->down = collision->left = collision->right = 0; + +#ifdef DEBUG + if (!game_collisions) { + return 0; + } +#endif + + int16_t a_y = ((object_py(a) + vy) / OBJECT_PHYSICS_FACTOR); + int16_t a_x1 = (((object_px(a) + vx) / OBJECT_PHYSICS_FACTOR) + a->widthOffset)-thresholdx; + int16_t a_x2 = (((object_px(a) + vx) / OBJECT_PHYSICS_FACTOR) + (a->width - a->widthOffset)) + thresholdx; + + while (b) { + if (b->collidable && b != a) { + int16_t b_y = ((object_y(b))); + + if (abs(a_y - b_y) <= thresholdy) { + int16_t b_x1 = ((object_x(b))) + b->widthOffset; + int16_t b_x2 = ((object_x(b))) + (b->width - b->widthOffset); + + if (a_x1 < b_x2 && a_x2 > b_x1) { + if (b_y >= a_y) { + collision->up = b; + } else if (b_y < a_y) { + collision->down = b; + } + if (b_x1 >= a_x1) { + collision->right = b; + } else if (b_x1 < a_x1) { + collision->left = b; + } + _collision = 1; + } + } + } + b = b->next; + } + + return _collision; +} + + +object_t* +enemy_closestPlayer(object_t* ptr) +{ + if (game_player2 == 0) { + if (game_player1) { + return game_player1; + } else { + return 0; + } + } else if (game_player1 == 0) { + return game_player2; + } + + if (object_get_state(game_player1) == OBJECT_STATE_REMOVED && + object_get_state(game_player2) != OBJECT_STATE_REMOVED) { + return game_player2; + } else if (object_get_state(game_player2) == OBJECT_STATE_REMOVED && + object_get_state(game_player1) != OBJECT_STATE_REMOVED) { + return game_player1; + } else if (object_get_state(game_player2) == OBJECT_STATE_REMOVED && + object_get_state(game_player1) == OBJECT_STATE_REMOVED) { + return 0; + } + + int player1Diff = abs(object_x(ptr)-object_x(game_player1)) + abs(object_y(ptr)-object_y(game_player1)); + int player2Diff = abs(object_x(ptr)-object_x(game_player2)) + abs(object_y(ptr)-object_y(game_player2)); + + if (player1Diff < player2Diff) { + return game_player1; + } else { + return game_player2; + } +} + +static int16_t +enemy_strikingDistanceX(object_t* a, object_t* b) +{ + int16_t a_x = object_x(a) + (a->image->w>>2); + int16_t b_x = object_x(b) + (b->image->w>>2); + + if (abs(a_x - b_x) > OBJECT_HIT_DISTANCE) { + return (object_x(a) > object_x(b)) ? 1 : -1; + } + + return 0; +} + +__attribute__((externally_visible)) uint16_t +level1_doorIntelligence(uint16_t deltaT, object_t* ptr, fighter_data_t* data) +{ + if (object_y(ptr) == LEVEL1_ENEMY_BOSS_START_Y && object_x(ptr) > GAME_WORLD_WIDTH-144) { + ptr->velocity.x = -1; + } else if (object_y(ptr) < GAME_PAVEMENT_START) { + ptr->velocity.x = 0; + ptr->velocity.y = 1; + } else { + return enemy_intelligence(deltaT, ptr, data); + } + + return 0; +} + +uint16_t +enemy_intelligence(uint16_t deltaT, object_t* ptr, fighter_data_t* data) +{ + if (object_get_state(ptr) != OBJECT_STATE_ALIVE) { + return 0; + } + +#ifdef DEBUG + if (enemy_pause) { + ptr->velocity.x = 0; + ptr->velocity.y = 0; + return 0; + } +#endif + + uint16_t attack = 0; + + if (data->walkAbout > 0) { + data->walkAbout-=deltaT; + } else { + object_t* player = enemy_closestPlayer(ptr); + if (!player) { + ptr->velocity.x = 0; + ptr->velocity.y = 0; + return 0; + } + object_collision_t collision; + + if (object_x(ptr)-game_cameraX <= 0) { + data->walkAbout = ENEMY_WALKABOUT_TICS; + ptr->velocity.x = 1; + } else if (object_x(ptr)-game_cameraX >= SCREEN_WIDTH) { + data->walkAbout = ENEMY_WALKABOUT_TICS; + ptr->velocity.x = -1; + } else if ((object_collision(deltaT, ptr, &collision, ENEMY_INTERCEPT_X_RANGE, ENEMY_INTERCEPT_Y_THRESHOLD))) { + if (collision.left) { + ptr->velocity.x = 1; + ptr->velocity.y = 0; + } else if (collision.right) { + ptr->velocity.x = -1; + ptr->velocity.y = 0; + } else if (collision.up) { + ptr->velocity.x = 0; + ptr->velocity.y = 1; + } else { + ptr->velocity.x = 0; + ptr->velocity.y = -1; + } + data->walkAbout = ENEMY_WALKABOUT_TICS; + } else { + ptr->velocity.x = enemy_strikingDistanceX(player, ptr); + + if (abs(object_y(ptr)-object_y(player)) <= data->attackRangeY) { + if (ptr->velocity.x == 0) { + if (data->enemyAttackWait <= 0) { + data->enemyAttackWait = data->enemyAttackWaitTics; + attack = 1; + } else { + data->enemyAttackWait-=deltaT; + } + } + ptr->velocity.y = 0; + } + else if (object_y(ptr) < object_y(player)) { + ptr->velocity.y = data->speed; + } else if (object_y(ptr) > object_y(player)) { + ptr->velocity.y = -data->speed; + } + } + } + + return attack; +} \ No newline at end of file diff --git a/test/test7/test.s b/test/test7/test.s new file mode 100644 index 0000000..d0488cc --- /dev/null +++ b/test/test7/test.s @@ -0,0 +1,616 @@ +#NO_APP + .text + .align 2 + .globl _object_collision +_object_collision: + movem.l #16190,-(sp) + move.l a0,a3 + move.l a1,a5 + move.w 50(sp),d4 + move.w 28(a0),a1 + move.w 26(a0),a0 + cmp.w #2,d0 + jeq .L13 +.L2: + move.l _object_activeList,a2 + clr.l 12(a5) + clr.l 8(a5) + clr.l 4(a5) + clr.l (a5) + move.w 24(a3),a4 + lea (a4,a1.w),a4 + move.l a4,d0 + jpl .L15 + addq.l #1,d0 +.L15: + asr.l #1,d0 + move.l d0,a4 + move.w d0,d5 + move.w 22(a3),a1 + lea (a1,a0.w),a0 + move.l a0,d0 + jpl .L16 + addq.l #1,d0 +.L16: + asr.l #1,d0 + move.w 90(a3),a0 + move.w a0,d6 + sub.w d1,d6 + add.w d0,d6 + move.w 92(a3),d2 + add.w d1,d2 + sub.w a0,d2 + add.w d0,d2 + clr.w d7 + cmp.w #0,a2 + jeq .L1 + lea _abs,a6 + and.l #65535,d4 +.L8: + tst.w 94(a2) + jeq .L4 + cmp.l a3,a2 + jeq .L4 + move.w 18(a2),d3 + move.l a4,a0 + sub.w d3,a0 + move.l a0,d0 + jsr (a6) + cmp.l d0,d4 + jlt .L4 + move.w 16(a2),d1 + move.w 90(a2),a0 + move.w d1,d0 + sub.w a0,d0 + add.w 92(a2),d0 + cmp.w d6,d0 + jle .L4 + add.w a0,d1 + cmp.w d2,d1 + jge .L4 + cmp.w d5,d3 + jlt .L5 + move.l a2,(a5) + cmp.w d6,d1 + jlt .L7 +.L14: + move.l a2,12(a5) + moveq #1,d7 +.L4: + move.l 8(a2),a2 + cmp.w #0,a2 + jne .L8 +.L1: + move.w d7,d0 + movem.l (sp)+,#31996 + rts +.L13: + add.w a0,a0 + add.w a1,a1 + jra .L2 +.L5: + move.l a2,4(a5) + cmp.w d6,d1 + jge .L14 +.L7: + move.l a2,8(a5) + moveq #1,d7 + move.l 8(a2),a2 + cmp.w #0,a2 + jne .L8 + jra .L1 + .align 2 + .globl _enemy_closestPlayer +_enemy_closestPlayer: + movem.l #12336,-(sp) + move.l a0,a2 + move.l _game_player2,d0 + jeq .L29 + move.l _game_player1,a1 + cmp.w #0,a1 + jeq .L17 + move.l d0,a0 + cmp.w #1,76(a1) + jeq .L34 + cmp.w #1,76(a0) + jeq .L35 + move.w 16(a2),a0 + lea _abs,a3 + sub.w 16(a1),a0 + move.l a0,d0 + jsr (a3) + move.l d0,d3 + move.w 18(a2),a1 + move.l _game_player1,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a3) + add.l d0,d3 + move.w 16(a2),a1 + move.l _game_player2,a0 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a3) + move.l d0,d2 + move.w 18(a2),a1 + move.l _game_player2,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a3) + add.l d2,d0 + cmp.l d3,d0 + jgt .L29 + move.l _game_player2,d0 +.L17: + movem.l (sp)+,#3084 + rts +.L29: + move.l _game_player1,d0 + movem.l (sp)+,#3084 + rts +.L34: + cmp.w #1,76(a0) + jne .L17 + moveq #0,d0 + movem.l (sp)+,#3084 + rts +.L35: + move.l a1,d0 + movem.l (sp)+,#3084 + rts + .align 2 + .globl _level1_doorIntelligence +_level1_doorIntelligence: + lea (-16,sp),sp + movem.l #15420,-(sp) + move.l d0,d3 + move.l a0,a2 + move.l a1,a3 + move.w 18(a0),d0 + cmp.w #63,d0 + jeq .L78 + cmp.w #65,d0 + jle .L38 + move.w 76(a0),d2 + jne .L62 + move.w 24(a1),d0 + jle .L41 + sub.w d3,d0 + move.w d0,24(a1) +.L36: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L62: + clr.w d2 + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L78: + cmp.w #1456,16(a0) + jgt .L79 +.L38: + clr.w 26(a2) + move.w #1,28(a2) + clr.w d2 + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L79: + move.w #-1,26(a0) + clr.w d2 + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L41: + move.l _game_player2,a4 + cmp.w #0,a4 + jeq .L74 + move.l _game_player1,a0 + cmp.w #0,a0 + jeq .L43 + cmp.w #1,76(a0) + jeq .L80 + cmp.w #1,76(a4) + jeq .L81 + move.w 16(a2),a1 + lea _abs,a4 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a4) + move.l d0,d5 + move.w 18(a2),a1 + move.l _game_player1,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a4) + add.l d0,d5 + move.w 16(a2),a1 + move.l _game_player2,a0 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a4) + move.l d0,d4 + move.w 18(a2),a1 + move.l _game_player2,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a4) + add.l d4,d0 + cmp.l d5,d0 + jgt .L74 + move.l _game_player2,a4 + cmp.w #0,a4 + jeq .L45 +.L43: + move.w 16(a2),a0 + sub.w _game_cameraX,a0 + cmp.w #0,a0 + jle .L82 +.L48: + cmp.w #319,a0 + jle .L50 + move.w #50,24(a3) + move.w #-1,26(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L82: + move.w #50,24(a3) + move.w #1,26(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L80: + cmp.w #1,76(a4) + jne .L43 +.L45: + clr.w 26(a2) + clr.w 28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L74: + move.l _game_player1,a4 + cmp.w #0,a4 + jne .L43 + jra .L45 +.L50: + pea 1.w + moveq #1,d1 + lea (36,sp),a1 + move.l a2,a0 + move.w d3,d0 + ext.l d0 + jsr _object_collision + move.w d0,d4 + addq.l #4,sp + jeq .L51 + tst.l 40(sp) + jeq .L52 + move.w #1,26(a2) + clr.w 28(a2) + move.w #50,24(a3) +.L84: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L81: + move.l a0,a4 + move.w 16(a2),a0 + sub.w _game_cameraX,a0 + cmp.w #0,a0 + jgt .L48 + jra .L82 +.L51: + move.l 38(a4),a0 + move.w 4(a0),a1 + move.w a1,d0 + asr.w #2,d0 + move.w d0,a1 + add.w 16(a4),a1 + move.w a1,a1 + move.l 38(a2),a0 + move.w 4(a0),d0 + asr.w #2,d0 + add.w 16(a2),d0 + lea _abs,a5 + sub.w d0,a1 + move.l a1,d0 + jsr (a5) + moveq #31,d1 + cmp.l d0,d1 + jge .L56 + move.w 16(a2),d0 + cmp.w 16(a4),d0 + sge d4 + ext.w d4 + or.w #1,d4 +.L56: + move.w d4,26(a2) + move.w 18(a2),a0 + sub.w 18(a4),a0 + move.l a0,d0 + jsr (a5) + move.w 14(a3),a0 + cmp.l d0,a0 + jlt .L57 + tst.w 26(a2) + jne .L58 + move.w 40(a3),d0 + jle .L83 + sub.w d3,d0 + move.w d0,40(a3) +.L58: + clr.w 28(a2) +.L85: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L57: + move.w 18(a2),d1 + move.w 18(a4),d0 + cmp.w d1,d0 + jle .L60 + move.w 48(a3),28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L52: + tst.l 44(sp) + jeq .L54 + move.w #-1,26(a2) + clr.w 28(a2) + move.w #50,24(a3) + jra .L84 +.L60: + cmp.w d1,d0 + jge .L36 + move.w 48(a3),d1 + neg.w d1 + move.w d1,28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L83: + move.w 42(a3),40(a3) + moveq #1,d2 + clr.w 28(a2) + jra .L85 +.L54: + tst.l 32(sp) + jeq .L55 + clr.w 26(a2) + move.w #1,28(a2) + move.w #50,24(a3) + jra .L84 +.L55: + clr.w 26(a2) + move.w #-1,28(a2) + move.w #50,24(a3) + jra .L84 + .align 2 + .globl _enemy_intelligence +_enemy_intelligence: + lea (-16,sp),sp + movem.l #15420,-(sp) + move.l d0,d3 + move.l a0,a2 + move.l a1,a3 + move.w 76(a0),d2 + jne .L109 + move.w 24(a1),d0 + jle .L88 + sub.w d3,d0 + move.w d0,24(a1) +.L86: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L109: + clr.w d2 + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L88: + move.l _game_player2,a4 + cmp.w #0,a4 + jeq .L121 + move.l _game_player1,a0 + cmp.w #0,a0 + jeq .L90 + cmp.w #1,76(a0) + jeq .L125 + cmp.w #1,76(a4) + jeq .L126 + move.w 16(a2),a1 + lea _abs,a4 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a4) + move.l d0,d5 + move.w 18(a2),a1 + move.l _game_player1,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a4) + add.l d0,d5 + move.w 16(a2),a1 + move.l _game_player2,a0 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a4) + move.l d0,d4 + move.w 18(a2),a1 + move.l _game_player2,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a4) + add.l d4,d0 + cmp.l d5,d0 + jgt .L121 + move.l _game_player2,a4 + cmp.w #0,a4 + jeq .L92 +.L90: + move.w 16(a2),a0 + sub.w _game_cameraX,a0 + cmp.w #0,a0 + jle .L127 + cmp.w #319,a0 + jle .L97 + move.w #50,24(a3) + move.w #-1,26(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L121: + move.l _game_player1,a4 + cmp.w #0,a4 + jne .L90 + jra .L92 +.L125: + cmp.w #1,76(a4) + jne .L90 +.L92: + clr.w 26(a2) + clr.w 28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L127: + move.w #50,24(a3) + move.w #1,26(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L97: + pea 1.w + moveq #1,d1 + lea (36,sp),a1 + move.l a2,a0 + move.w d3,d0 + ext.l d0 + jsr _object_collision + move.w d0,d4 + addq.l #4,sp + jeq .L98 + tst.l 40(sp) + jeq .L99 + move.w #1,26(a2) + clr.w 28(a2) + move.w #50,24(a3) +.L129: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L126: + move.l a0,a4 + jra .L90 +.L98: + move.l 38(a4),a0 + move.w 4(a0),a1 + move.w a1,d0 + asr.w #2,d0 + move.w d0,a1 + add.w 16(a4),a1 + move.w a1,a1 + move.l 38(a2),a0 + move.w 4(a0),d0 + asr.w #2,d0 + add.w 16(a2),d0 + lea _abs,a5 + sub.w d0,a1 + move.l a1,d0 + jsr (a5) + moveq #31,d1 + cmp.l d0,d1 + jge .L103 + move.w 16(a2),d0 + cmp.w 16(a4),d0 + sge d4 + ext.w d4 + or.w #1,d4 +.L103: + move.w d4,26(a2) + move.w 18(a2),a0 + sub.w 18(a4),a0 + move.l a0,d0 + jsr (a5) + move.w 14(a3),a0 + cmp.l d0,a0 + jlt .L104 + tst.w 26(a2) + jne .L105 + move.w 40(a3),d0 + jle .L128 + sub.w d3,d0 + move.w d0,40(a3) +.L105: + clr.w 28(a2) +.L130: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L104: + move.w 18(a2),d1 + move.w 18(a4),d0 + cmp.w d1,d0 + jle .L107 + move.w 48(a3),28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L99: + tst.l 44(sp) + jeq .L101 + move.w #-1,26(a2) + clr.w 28(a2) + move.w #50,24(a3) + jra .L129 +.L107: + cmp.w d1,d0 + jge .L86 + move.w 48(a3),d1 + neg.w d1 + move.w d1,28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L128: + move.w 42(a3),40(a3) + moveq #1,d2 + clr.w 28(a2) + jra .L130 +.L101: + tst.l 32(sp) + jeq .L102 + clr.w 26(a2) + move.w #1,28(a2) + move.w #50,24(a3) + jra .L129 +.L102: + clr.w 26(a2) + move.w #-1,28(a2) + move.w #50,24(a3) + jra .L129 diff --git a/test/test7/testno.s b/test/test7/testno.s new file mode 100644 index 0000000..d0488cc --- /dev/null +++ b/test/test7/testno.s @@ -0,0 +1,616 @@ +#NO_APP + .text + .align 2 + .globl _object_collision +_object_collision: + movem.l #16190,-(sp) + move.l a0,a3 + move.l a1,a5 + move.w 50(sp),d4 + move.w 28(a0),a1 + move.w 26(a0),a0 + cmp.w #2,d0 + jeq .L13 +.L2: + move.l _object_activeList,a2 + clr.l 12(a5) + clr.l 8(a5) + clr.l 4(a5) + clr.l (a5) + move.w 24(a3),a4 + lea (a4,a1.w),a4 + move.l a4,d0 + jpl .L15 + addq.l #1,d0 +.L15: + asr.l #1,d0 + move.l d0,a4 + move.w d0,d5 + move.w 22(a3),a1 + lea (a1,a0.w),a0 + move.l a0,d0 + jpl .L16 + addq.l #1,d0 +.L16: + asr.l #1,d0 + move.w 90(a3),a0 + move.w a0,d6 + sub.w d1,d6 + add.w d0,d6 + move.w 92(a3),d2 + add.w d1,d2 + sub.w a0,d2 + add.w d0,d2 + clr.w d7 + cmp.w #0,a2 + jeq .L1 + lea _abs,a6 + and.l #65535,d4 +.L8: + tst.w 94(a2) + jeq .L4 + cmp.l a3,a2 + jeq .L4 + move.w 18(a2),d3 + move.l a4,a0 + sub.w d3,a0 + move.l a0,d0 + jsr (a6) + cmp.l d0,d4 + jlt .L4 + move.w 16(a2),d1 + move.w 90(a2),a0 + move.w d1,d0 + sub.w a0,d0 + add.w 92(a2),d0 + cmp.w d6,d0 + jle .L4 + add.w a0,d1 + cmp.w d2,d1 + jge .L4 + cmp.w d5,d3 + jlt .L5 + move.l a2,(a5) + cmp.w d6,d1 + jlt .L7 +.L14: + move.l a2,12(a5) + moveq #1,d7 +.L4: + move.l 8(a2),a2 + cmp.w #0,a2 + jne .L8 +.L1: + move.w d7,d0 + movem.l (sp)+,#31996 + rts +.L13: + add.w a0,a0 + add.w a1,a1 + jra .L2 +.L5: + move.l a2,4(a5) + cmp.w d6,d1 + jge .L14 +.L7: + move.l a2,8(a5) + moveq #1,d7 + move.l 8(a2),a2 + cmp.w #0,a2 + jne .L8 + jra .L1 + .align 2 + .globl _enemy_closestPlayer +_enemy_closestPlayer: + movem.l #12336,-(sp) + move.l a0,a2 + move.l _game_player2,d0 + jeq .L29 + move.l _game_player1,a1 + cmp.w #0,a1 + jeq .L17 + move.l d0,a0 + cmp.w #1,76(a1) + jeq .L34 + cmp.w #1,76(a0) + jeq .L35 + move.w 16(a2),a0 + lea _abs,a3 + sub.w 16(a1),a0 + move.l a0,d0 + jsr (a3) + move.l d0,d3 + move.w 18(a2),a1 + move.l _game_player1,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a3) + add.l d0,d3 + move.w 16(a2),a1 + move.l _game_player2,a0 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a3) + move.l d0,d2 + move.w 18(a2),a1 + move.l _game_player2,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a3) + add.l d2,d0 + cmp.l d3,d0 + jgt .L29 + move.l _game_player2,d0 +.L17: + movem.l (sp)+,#3084 + rts +.L29: + move.l _game_player1,d0 + movem.l (sp)+,#3084 + rts +.L34: + cmp.w #1,76(a0) + jne .L17 + moveq #0,d0 + movem.l (sp)+,#3084 + rts +.L35: + move.l a1,d0 + movem.l (sp)+,#3084 + rts + .align 2 + .globl _level1_doorIntelligence +_level1_doorIntelligence: + lea (-16,sp),sp + movem.l #15420,-(sp) + move.l d0,d3 + move.l a0,a2 + move.l a1,a3 + move.w 18(a0),d0 + cmp.w #63,d0 + jeq .L78 + cmp.w #65,d0 + jle .L38 + move.w 76(a0),d2 + jne .L62 + move.w 24(a1),d0 + jle .L41 + sub.w d3,d0 + move.w d0,24(a1) +.L36: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L62: + clr.w d2 + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L78: + cmp.w #1456,16(a0) + jgt .L79 +.L38: + clr.w 26(a2) + move.w #1,28(a2) + clr.w d2 + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L79: + move.w #-1,26(a0) + clr.w d2 + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L41: + move.l _game_player2,a4 + cmp.w #0,a4 + jeq .L74 + move.l _game_player1,a0 + cmp.w #0,a0 + jeq .L43 + cmp.w #1,76(a0) + jeq .L80 + cmp.w #1,76(a4) + jeq .L81 + move.w 16(a2),a1 + lea _abs,a4 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a4) + move.l d0,d5 + move.w 18(a2),a1 + move.l _game_player1,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a4) + add.l d0,d5 + move.w 16(a2),a1 + move.l _game_player2,a0 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a4) + move.l d0,d4 + move.w 18(a2),a1 + move.l _game_player2,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a4) + add.l d4,d0 + cmp.l d5,d0 + jgt .L74 + move.l _game_player2,a4 + cmp.w #0,a4 + jeq .L45 +.L43: + move.w 16(a2),a0 + sub.w _game_cameraX,a0 + cmp.w #0,a0 + jle .L82 +.L48: + cmp.w #319,a0 + jle .L50 + move.w #50,24(a3) + move.w #-1,26(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L82: + move.w #50,24(a3) + move.w #1,26(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L80: + cmp.w #1,76(a4) + jne .L43 +.L45: + clr.w 26(a2) + clr.w 28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L74: + move.l _game_player1,a4 + cmp.w #0,a4 + jne .L43 + jra .L45 +.L50: + pea 1.w + moveq #1,d1 + lea (36,sp),a1 + move.l a2,a0 + move.w d3,d0 + ext.l d0 + jsr _object_collision + move.w d0,d4 + addq.l #4,sp + jeq .L51 + tst.l 40(sp) + jeq .L52 + move.w #1,26(a2) + clr.w 28(a2) + move.w #50,24(a3) +.L84: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L81: + move.l a0,a4 + move.w 16(a2),a0 + sub.w _game_cameraX,a0 + cmp.w #0,a0 + jgt .L48 + jra .L82 +.L51: + move.l 38(a4),a0 + move.w 4(a0),a1 + move.w a1,d0 + asr.w #2,d0 + move.w d0,a1 + add.w 16(a4),a1 + move.w a1,a1 + move.l 38(a2),a0 + move.w 4(a0),d0 + asr.w #2,d0 + add.w 16(a2),d0 + lea _abs,a5 + sub.w d0,a1 + move.l a1,d0 + jsr (a5) + moveq #31,d1 + cmp.l d0,d1 + jge .L56 + move.w 16(a2),d0 + cmp.w 16(a4),d0 + sge d4 + ext.w d4 + or.w #1,d4 +.L56: + move.w d4,26(a2) + move.w 18(a2),a0 + sub.w 18(a4),a0 + move.l a0,d0 + jsr (a5) + move.w 14(a3),a0 + cmp.l d0,a0 + jlt .L57 + tst.w 26(a2) + jne .L58 + move.w 40(a3),d0 + jle .L83 + sub.w d3,d0 + move.w d0,40(a3) +.L58: + clr.w 28(a2) +.L85: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L57: + move.w 18(a2),d1 + move.w 18(a4),d0 + cmp.w d1,d0 + jle .L60 + move.w 48(a3),28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L52: + tst.l 44(sp) + jeq .L54 + move.w #-1,26(a2) + clr.w 28(a2) + move.w #50,24(a3) + jra .L84 +.L60: + cmp.w d1,d0 + jge .L36 + move.w 48(a3),d1 + neg.w d1 + move.w d1,28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L83: + move.w 42(a3),40(a3) + moveq #1,d2 + clr.w 28(a2) + jra .L85 +.L54: + tst.l 32(sp) + jeq .L55 + clr.w 26(a2) + move.w #1,28(a2) + move.w #50,24(a3) + jra .L84 +.L55: + clr.w 26(a2) + move.w #-1,28(a2) + move.w #50,24(a3) + jra .L84 + .align 2 + .globl _enemy_intelligence +_enemy_intelligence: + lea (-16,sp),sp + movem.l #15420,-(sp) + move.l d0,d3 + move.l a0,a2 + move.l a1,a3 + move.w 76(a0),d2 + jne .L109 + move.w 24(a1),d0 + jle .L88 + sub.w d3,d0 + move.w d0,24(a1) +.L86: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L109: + clr.w d2 + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L88: + move.l _game_player2,a4 + cmp.w #0,a4 + jeq .L121 + move.l _game_player1,a0 + cmp.w #0,a0 + jeq .L90 + cmp.w #1,76(a0) + jeq .L125 + cmp.w #1,76(a4) + jeq .L126 + move.w 16(a2),a1 + lea _abs,a4 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a4) + move.l d0,d5 + move.w 18(a2),a1 + move.l _game_player1,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a4) + add.l d0,d5 + move.w 16(a2),a1 + move.l _game_player2,a0 + sub.w 16(a0),a1 + move.l a1,d0 + jsr (a4) + move.l d0,d4 + move.w 18(a2),a1 + move.l _game_player2,a0 + sub.w 18(a0),a1 + move.l a1,d0 + jsr (a4) + add.l d4,d0 + cmp.l d5,d0 + jgt .L121 + move.l _game_player2,a4 + cmp.w #0,a4 + jeq .L92 +.L90: + move.w 16(a2),a0 + sub.w _game_cameraX,a0 + cmp.w #0,a0 + jle .L127 + cmp.w #319,a0 + jle .L97 + move.w #50,24(a3) + move.w #-1,26(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L121: + move.l _game_player1,a4 + cmp.w #0,a4 + jne .L90 + jra .L92 +.L125: + cmp.w #1,76(a4) + jne .L90 +.L92: + clr.w 26(a2) + clr.w 28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L127: + move.w #50,24(a3) + move.w #1,26(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L97: + pea 1.w + moveq #1,d1 + lea (36,sp),a1 + move.l a2,a0 + move.w d3,d0 + ext.l d0 + jsr _object_collision + move.w d0,d4 + addq.l #4,sp + jeq .L98 + tst.l 40(sp) + jeq .L99 + move.w #1,26(a2) + clr.w 28(a2) + move.w #50,24(a3) +.L129: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L126: + move.l a0,a4 + jra .L90 +.L98: + move.l 38(a4),a0 + move.w 4(a0),a1 + move.w a1,d0 + asr.w #2,d0 + move.w d0,a1 + add.w 16(a4),a1 + move.w a1,a1 + move.l 38(a2),a0 + move.w 4(a0),d0 + asr.w #2,d0 + add.w 16(a2),d0 + lea _abs,a5 + sub.w d0,a1 + move.l a1,d0 + jsr (a5) + moveq #31,d1 + cmp.l d0,d1 + jge .L103 + move.w 16(a2),d0 + cmp.w 16(a4),d0 + sge d4 + ext.w d4 + or.w #1,d4 +.L103: + move.w d4,26(a2) + move.w 18(a2),a0 + sub.w 18(a4),a0 + move.l a0,d0 + jsr (a5) + move.w 14(a3),a0 + cmp.l d0,a0 + jlt .L104 + tst.w 26(a2) + jne .L105 + move.w 40(a3),d0 + jle .L128 + sub.w d3,d0 + move.w d0,40(a3) +.L105: + clr.w 28(a2) +.L130: + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L104: + move.w 18(a2),d1 + move.w 18(a4),d0 + cmp.w d1,d0 + jle .L107 + move.w 48(a3),28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L99: + tst.l 44(sp) + jeq .L101 + move.w #-1,26(a2) + clr.w 28(a2) + move.w #50,24(a3) + jra .L129 +.L107: + cmp.w d1,d0 + jge .L86 + move.w 48(a3),d1 + neg.w d1 + move.w d1,28(a2) + move.w d2,d0 + movem.l (sp)+,#15420 + lea (16,sp),sp + rts +.L128: + move.w 42(a3),40(a3) + moveq #1,d2 + clr.w 28(a2) + jra .L130 +.L101: + tst.l 32(sp) + jeq .L102 + clr.w 26(a2) + move.w #1,28(a2) + move.w #50,24(a3) + jra .L129 +.L102: + clr.w 26(a2) + move.w #-1,28(a2) + move.w #50,24(a3) + jra .L129 diff --git a/test/test8/cc b/test/test8/cc new file mode 100755 index 0000000..06148f3 --- /dev/null +++ b/test/test8/cc @@ -0,0 +1,5 @@ +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s -fbbb=- || exit 1 +r="$(diff --brief test.s golden.s)" +[ "$r" == "" ] || diff test.s golden.s +[ "$r" == "" ] || exit 1 diff --git a/test/test8/golden.s b/test/test8/golden.s new file mode 100755 index 0000000..377dfdb --- /dev/null +++ b/test/test8/golden.s @@ -0,0 +1,55 @@ +#NO_APP + .text + .align 2 + .globl ___powisf2 +___powisf2: + movem.l #15392,-(sp) + move.l 24(sp),d3 + move.l d0,d5 + move.l d0,d2 + jlt .L14 +.L2: + btst #0,d2 + jeq .L8 + move.l d3,d4 + lea ___mulsf3,a2 +.L4: + lsr.l #1,d2 + jeq .L15 +.L6: + move.l d3,-(sp) + move.l d3,-(sp) + jsr (a2) + addq.l #8,sp + move.l d0,d3 + btst #0,d2 + jeq .L4 + move.l d0,-(sp) + move.l d4,-(sp) + jsr (a2) + addq.l #8,sp + move.l d0,d4 + lsr.l #1,d2 + jne .L6 +.L15: + tst.l d5 + jlt .L16 + move.l d4,d0 + movem.l (sp)+,#1084 + rts +.L8: + move.l #0x3f800000,d4 + lea ___mulsf3,a2 + jra .L4 +.L16: + move.l d4,-(sp) + move.l #0x3f800000,-(sp) + jsr ___divsf3 + addq.l #8,sp + move.l d0,d1 + move.l d1,d0 + movem.l (sp)+,#1084 + rts +.L14: + neg.l d2 + jra .L2 diff --git a/test/test8/test.c b/test/test8/test.c new file mode 100755 index 0000000..0b27560 --- /dev/null +++ b/test/test8/test.c @@ -0,0 +1,14 @@ +typedef float SFtype __attribute__ ((mode (SF))); +SFtype +__powisf2 (SFtype x, int m) +{ + unsigned int n = m < 0 ? -m : m; + SFtype y = n % 2 ? x : 1; + while (n >>= 1) + { + x = x * x; + if (n % 2) + y = y * x; + } + return m < 0 ? 1/y : y; +} diff --git a/test/test8/test.s b/test/test8/test.s new file mode 100644 index 0000000..377dfdb --- /dev/null +++ b/test/test8/test.s @@ -0,0 +1,55 @@ +#NO_APP + .text + .align 2 + .globl ___powisf2 +___powisf2: + movem.l #15392,-(sp) + move.l 24(sp),d3 + move.l d0,d5 + move.l d0,d2 + jlt .L14 +.L2: + btst #0,d2 + jeq .L8 + move.l d3,d4 + lea ___mulsf3,a2 +.L4: + lsr.l #1,d2 + jeq .L15 +.L6: + move.l d3,-(sp) + move.l d3,-(sp) + jsr (a2) + addq.l #8,sp + move.l d0,d3 + btst #0,d2 + jeq .L4 + move.l d0,-(sp) + move.l d4,-(sp) + jsr (a2) + addq.l #8,sp + move.l d0,d4 + lsr.l #1,d2 + jne .L6 +.L15: + tst.l d5 + jlt .L16 + move.l d4,d0 + movem.l (sp)+,#1084 + rts +.L8: + move.l #0x3f800000,d4 + lea ___mulsf3,a2 + jra .L4 +.L16: + move.l d4,-(sp) + move.l #0x3f800000,-(sp) + jsr ___divsf3 + addq.l #8,sp + move.l d0,d1 + move.l d1,d0 + movem.l (sp)+,#1084 + rts +.L14: + neg.l d2 + jra .L2 diff --git a/test/test8/testno.s b/test/test8/testno.s new file mode 100644 index 0000000..fa318f3 --- /dev/null +++ b/test/test8/testno.s @@ -0,0 +1,55 @@ +#NO_APP + .text + .align 2 + .globl ___powisf2 +___powisf2: + movem.l #15392,-(sp) + move.l 24(sp),d3 + move.l d0,d5 + move.l d0,d2 + jlt .L14 +.L2: + btst #0,d2 + jeq .L8 + move.l d3,d4 + lea ___mulsf3,a2 +.L4: + lsr.l #1,d2 + jeq .L15 +.L6: + move.l d3,-(sp) + move.l d3,-(sp) + jsr (a2) + addq.l #8,sp + move.l d0,d3 + btst #0,d2 + jeq .L4 + move.l d0,-(sp) + move.l d4,-(sp) + jsr (a2) + addq.l #8,sp + move.l d0,d4 + lsr.l #1,d2 + jne .L6 +.L15: + tst.l d5 + jlt .L16 + move.l d4,d0 + movem.l (sp)+,#1084 + rts +.L8: + move.l #0x3f800000,d4 + lea ___mulsf3,a2 + jra .L4 +.L16: + move.l d4,-(sp) + move.l #0x3f800000,-(sp) + jsr ___divsf3 + addq.l #8,sp + move.l d0,d4 + move.l d4,d0 + movem.l (sp)+,#1084 + rts +.L14: + neg.l d2 + jra .L2 diff --git a/test/test9/cc b/test/test9/cc new file mode 100755 index 0000000..06148f3 --- /dev/null +++ b/test/test9/cc @@ -0,0 +1,5 @@ +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 || exit 1 +m68k-amigaos-gcc -S -Ofast test.c -fomit-frame-pointer -noixemul -mcpu=68000 -m68000 -mregparm=2 -otestno.s -fbbb=- || exit 1 +r="$(diff --brief test.s golden.s)" +[ "$r" == "" ] || diff test.s golden.s +[ "$r" == "" ] || exit 1 diff --git a/test/test9/golden.s b/test/test9/golden.s new file mode 100755 index 0000000..678c9ec --- /dev/null +++ b/test/test9/golden.s @@ -0,0 +1,95 @@ +#NO_APP + .text + .align 2 + .globl _sort5 +_sort5: + movem.l #14398,-(sp) + move.l (a0),a5 + move.w 20(a5),d3 + move.l 4(a0),a3 + move.w 20(a3),d1 + cmp.w d3,d1 + jle .L2 + move.w d3,d0 + move.w d1,d3 + move.w d0,d1 + move.l a5,d0 + move.l a3,a5 + move.l d0,a3 +.L2: + move.l 12(a0),a2 + move.w 20(a2),a1 + move.l 16(a0),a6 + move.w 20(a6),d2 + cmp.w a1,d2 + jgt .L3 + move.w d2,d0 + move.w a1,d2 + move.w d0,a1 + move.l a6,d0 + move.l a2,a6 + move.l d0,a2 +.L3: + move.l 8(a0),a4 + move.w 20(a4),d0 + cmp.w d0,d2 + jgt .L4 + move.w d0,d4 + move.w d2,d0 + move.w d4,d2 + move.l a6,d4 + move.l a4,a6 + move.l d4,a4 +.L4: + cmp.w a1,d0 + jge .L5 + move.w d0,d4 + move.w a1,d0 + move.w d4,a1 + move.l a4,d4 + move.l a2,a4 + move.l d4,a2 +.L5: + cmp.w d3,d2 + jgt .L6 + move.w d2,d3 + move.l a6,d2 + move.l a5,a6 + move.l d2,a5 +.L6: + move.l a6,16(a0) + cmp.w d1,d0 + jle .L7 + move.w d0,d2 + move.w d1,d0 + move.w d2,d1 + move.l a3,d2 + move.l a4,a3 + move.l d2,a4 +.L7: + cmp.w a1,d0 + jlt .L8 + move.w d0,a1 + move.l a2,d0 + move.l a4,a2 + move.l d0,a4 +.L8: + move.l a4,(a0) + cmp.w d3,d1 + jle .L9 + move.w d3,d1 + move.l a5,d0 + move.l a3,a5 + move.l d0,a3 +.L9: + move.l a5,12(a0) + cmp.w a1,d1 + jlt .L10 + move.l a2,d0 + move.l a3,a2 + move.l d0,a3 +.L10: + move.l a3,4(a0) + move.l a2,8(a0) + movem.l (sp)+,#31772 + rts diff --git a/test/test9/test.c b/test/test9/test.c new file mode 100755 index 0000000..180942e --- /dev/null +++ b/test/test9/test.c @@ -0,0 +1,96 @@ +typedef unsigned short uint16_t; +typedef short int16_t; +typedef unsigned char uint8_t; + +typedef enum { + FACING_LEFT, + FACING_RIGHT +} object_direction_t; + +typedef struct { + int16_t start; + int16_t stop; + int16_t speed; + object_direction_t facing; +} object_animation_t; + +typedef struct { + int16_t x; + int16_t y; + int16_t w; + int16_t h; + int16_t dx; + int16_t dy; +} object_image_t; + +typedef struct { + int16_t x; + int16_t y; + int16_t dx; + int16_t dy; + int16_t ix; +} object_velocity_t; + + +typedef struct { + int16_t x; + int16_t y; + int16_t w; + int16_t h; +} object_position_t; + +typedef struct { + object_position_t positions[2]; + object_position_t* position; +} object_save_t; + +typedef struct object { + uint16_t id; + uint16_t class; + void* data; + struct object* next; + struct object* prev; + int16_t _x; + int16_t _y; + int16_t _z; + int16_t _px; + int16_t _py; + object_velocity_t velocity; + int16_t imageIndex; + object_image_t* image; + uint16_t baseId; + uint16_t animId; + uint16_t actionId; + object_animation_t* anim; + object_save_t save; + uint16_t frameCounter; + uint16_t deadRenderCount; + uint16_t _state; + void (*update)(uint16_t deltaT, struct object* ptr); + void (*freeData)(void* data); + uint16_t visible; + uint16_t tileRender; + + uint16_t widthOffset; + uint16_t width; + + uint16_t collidable; +} object_t; + + +#define _min(a, b) (d[a]->_z_z?d[a]:d[b]) +#define _max(a, b) (d[a]->_z_z?d[b]:d[a]) +#define SWAP(x,y) { object_t* a = _min(x,y);object_t* b = _max(x,y); d[x] = a; d[y] = b; } + + +void sort5(object_t **d){ + SWAP(0,1); + SWAP(3,4); + SWAP(2,4); + SWAP(2,3); + SWAP(1,4); + SWAP(0,3); + SWAP(0,2); + SWAP(1,3); + SWAP(1,2); +} diff --git a/test/test9/test.s b/test/test9/test.s new file mode 100644 index 0000000..678c9ec --- /dev/null +++ b/test/test9/test.s @@ -0,0 +1,95 @@ +#NO_APP + .text + .align 2 + .globl _sort5 +_sort5: + movem.l #14398,-(sp) + move.l (a0),a5 + move.w 20(a5),d3 + move.l 4(a0),a3 + move.w 20(a3),d1 + cmp.w d3,d1 + jle .L2 + move.w d3,d0 + move.w d1,d3 + move.w d0,d1 + move.l a5,d0 + move.l a3,a5 + move.l d0,a3 +.L2: + move.l 12(a0),a2 + move.w 20(a2),a1 + move.l 16(a0),a6 + move.w 20(a6),d2 + cmp.w a1,d2 + jgt .L3 + move.w d2,d0 + move.w a1,d2 + move.w d0,a1 + move.l a6,d0 + move.l a2,a6 + move.l d0,a2 +.L3: + move.l 8(a0),a4 + move.w 20(a4),d0 + cmp.w d0,d2 + jgt .L4 + move.w d0,d4 + move.w d2,d0 + move.w d4,d2 + move.l a6,d4 + move.l a4,a6 + move.l d4,a4 +.L4: + cmp.w a1,d0 + jge .L5 + move.w d0,d4 + move.w a1,d0 + move.w d4,a1 + move.l a4,d4 + move.l a2,a4 + move.l d4,a2 +.L5: + cmp.w d3,d2 + jgt .L6 + move.w d2,d3 + move.l a6,d2 + move.l a5,a6 + move.l d2,a5 +.L6: + move.l a6,16(a0) + cmp.w d1,d0 + jle .L7 + move.w d0,d2 + move.w d1,d0 + move.w d2,d1 + move.l a3,d2 + move.l a4,a3 + move.l d2,a4 +.L7: + cmp.w a1,d0 + jlt .L8 + move.w d0,a1 + move.l a2,d0 + move.l a4,a2 + move.l d0,a4 +.L8: + move.l a4,(a0) + cmp.w d3,d1 + jle .L9 + move.w d3,d1 + move.l a5,d0 + move.l a3,a5 + move.l d0,a3 +.L9: + move.l a5,12(a0) + cmp.w a1,d1 + jlt .L10 + move.l a2,d0 + move.l a3,a2 + move.l d0,a3 +.L10: + move.l a3,4(a0) + move.l a2,8(a0) + movem.l (sp)+,#31772 + rts diff --git a/test/test9/testno.s b/test/test9/testno.s new file mode 100644 index 0000000..678c9ec --- /dev/null +++ b/test/test9/testno.s @@ -0,0 +1,95 @@ +#NO_APP + .text + .align 2 + .globl _sort5 +_sort5: + movem.l #14398,-(sp) + move.l (a0),a5 + move.w 20(a5),d3 + move.l 4(a0),a3 + move.w 20(a3),d1 + cmp.w d3,d1 + jle .L2 + move.w d3,d0 + move.w d1,d3 + move.w d0,d1 + move.l a5,d0 + move.l a3,a5 + move.l d0,a3 +.L2: + move.l 12(a0),a2 + move.w 20(a2),a1 + move.l 16(a0),a6 + move.w 20(a6),d2 + cmp.w a1,d2 + jgt .L3 + move.w d2,d0 + move.w a1,d2 + move.w d0,a1 + move.l a6,d0 + move.l a2,a6 + move.l d0,a2 +.L3: + move.l 8(a0),a4 + move.w 20(a4),d0 + cmp.w d0,d2 + jgt .L4 + move.w d0,d4 + move.w d2,d0 + move.w d4,d2 + move.l a6,d4 + move.l a4,a6 + move.l d4,a4 +.L4: + cmp.w a1,d0 + jge .L5 + move.w d0,d4 + move.w a1,d0 + move.w d4,a1 + move.l a4,d4 + move.l a2,a4 + move.l d4,a2 +.L5: + cmp.w d3,d2 + jgt .L6 + move.w d2,d3 + move.l a6,d2 + move.l a5,a6 + move.l d2,a5 +.L6: + move.l a6,16(a0) + cmp.w d1,d0 + jle .L7 + move.w d0,d2 + move.w d1,d0 + move.w d2,d1 + move.l a3,d2 + move.l a4,a3 + move.l d2,a4 +.L7: + cmp.w a1,d0 + jlt .L8 + move.w d0,a1 + move.l a2,d0 + move.l a4,a2 + move.l d0,a4 +.L8: + move.l a4,(a0) + cmp.w d3,d1 + jle .L9 + move.w d3,d1 + move.l a5,d0 + move.l a3,a5 + move.l d0,a3 +.L9: + move.l a5,12(a0) + cmp.w a1,d1 + jlt .L10 + move.l a2,d0 + move.l a3,a2 + move.l d0,a3 +.L10: + move.l a3,4(a0) + move.l a2,8(a0) + movem.l (sp)+,#31772 + rts