mirror of
https://github.com/softdorothy/Pararena2.git
synced 2024-06-11 01:29:28 +00:00
1 line
85 KiB
C
1 line
85 KiB
C
|
/*============================================================*/
/*============================================================*/
/*== ==*/
/*== 1-Bit Assembler Rendering Routines ==*/
/*== ==*/
/*============================================================*/
/*============================================================*/
/*======================================================== Includes */
#include "Globals.h"
#include "UnivUtilities.h"
#include "RenderAsm1.h"
/*======================================================== Functions */
/*======================================================== DropDoorToWorkMapAsm1 */
void DropDoorToWorkMapAsm1 (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
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
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
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
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
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
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
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
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
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
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
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
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
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0),(a1) ; move row 14
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0),(a1) ; move row 15
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0),(a1) ; move row 16
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0),(a1) ; move row 17
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0),(a1) ; move row 18
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0),(a1) ; move row 19
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0),(a1) ; move row 20
adda.w d0, a0 ; add row offset to src
adda.w d1, a1 ; add row offset to dest
move.l (a0),(a1) ; move row 21
}
destAddress = theDoor.backDestAddr[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
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
adda.w
|