mirror of
https://github.com/softdorothy/Pararena2.git
synced 2024-06-11 01:29:28 +00:00
1 line
218 KiB
C
1 line
218 KiB
C
|
/*============================================================*/
/*============================================================*/
/*== ==*/
/*== Assembler Rendering Routines ==*/
/*== ==*/
/*============================================================*/
/*============================================================*/
/*======================================================== Includes */
#include "Globals.h"
#include "UnivUtilities.h"
#include "RenderAsm4.h"
/*======================================================== Functions */
/*======================================================== DropDoorToWorkMapAsm4 */
void DropDoorToWorkMapAsm4 (void)
{
long srcAddress, destAddress;
srcAddress = theDoor.srcAddrs[theDoor.doorOpen][theDoor.doorState];
destAddress = theDoor.workDestAddr[theDoor.doorOpen];
asm 68000
{
move.l srcAddress, a0 ; src bitmap address
move.l destAddress, a1 ; dest screen address
; 0 = source 1 = dest
move.w partsRowBytes, d0 ; next row offset
move.w workRowBytes, d1 ; next row offset
subi.w #12, d0 ; compensate for (a0)+ increment
subi.w #12, d1 ; compensate for (a1)+ increment
move.l (a0)+,(a1)+ ; move row 1
move.l (a0)+,(a1)+ ; move row 1
move.l (a0)+,(a1)+ ; move row 1
move.l (a0),(a1) ; move row 1
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0)+,(a1)+ ; move row 2
move.l (a0)+,(a1)+ ; move row 2
move.l (a0)+,(a1)+ ; move row 2
move.l (a0),(a1) ; move row 2
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0)+,(a1)+ ; move row 3
move.l (a0)+,(a1)+ ; move row 3
move.l (a0)+,(a1)+ ; move row 3
move.l (a0),(a1) ; move row 3
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0)+,(a1)+ ; move row 4
move.l (a0)+,(a1)+ ; move row 4
move.l (a0)+,(a1)+ ; move row 4
move.l (a0),(a1) ; move row 4
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0)+,(a1)+ ; move row 5
move.l (a0)+,(a1)+ ; move row 5
move.l (a0)+,(a1)+ ; move row 5
move.l (a0),(a1) ; move row 5
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0)+,(a1)+ ; move row 6
move.l (a0)+,(a1)+ ; move row 6
move.l (a0)+,(a1)+ ; move row 6
move.l (a0),(a1) ; move row 6
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0)+,(a1)+ ; move row 7
move.l (a0)+,(a1)+ ; move row 7
move.l (a0)+,(a1)+ ; move row 7
move.l (a0),(a1) ; move row 7
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0)+,(a1)+ ; move row 8
move.l (a0)+,(a1)+ ; move row 8
move.l (a0)+,(a1)+ ; move row 8
move.l (a0),(a1) ; move row 8
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0)+,(a1)+ ; move row 9
move.l (a0)+,(a1)+ ; move row 9
move.l (a0)+,(a1)+ ; move row 9
move.l (a0),(a1) ; move row 9
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0)+,(a1)+ ; move row 10
move.l (a0)+,(a1)+ ; move row 10
move.l (a0)+,(a1)+ ; move row 10
move.l (a0),(a1) ; move row 10
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0)+,(a1)+ ; move row 11
move.l (a0)+,(a1)+ ; move row 11
move.l (a0)+,(a1)+ ; move row 11
move.l (a0),(a1) ; move row 11
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0)+,(a1)+ ; move row 12
move.l (a0)+,(a1)+ ; move row 12
move.l (a0)+,(a1)+ ; move row 12
move.l (a0),(a1) ; move row 12
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0)+,(a1)+ ; move row 13
move.l (a0)+,(a1)+
|