mirror of
https://github.com/mauiaaron/apple2.git
synced 2024-11-19 11:31:13 +00:00
Merge macros used only once
This commit is contained in:
parent
c22fbd0374
commit
83da4c11af
@ -21,27 +21,6 @@
|
|||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------
|
|
||||||
Graphics routines.
|
|
||||||
Care has been taken to isolate the dimension-dependent (320x200 vs 640x400)
|
|
||||||
routines.
|
|
||||||
------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------
|
|
||||||
* Plot exatly 7 pixels from FROM to TO.
|
|
||||||
* ecx: scratch
|
|
||||||
* ------------------------------------------------------------------------- */
|
|
||||||
#define Plot7Pixels(FROM,TO)\
|
|
||||||
movl (FROM), %ecx; /* long -> GM */ \
|
|
||||||
movl %ecx, (TO); \
|
|
||||||
addl $4, FROM; /* inc pointers */ \
|
|
||||||
addl $4, TO; \
|
|
||||||
movw (FROM), %cx; /* word -> GM */ \
|
|
||||||
movw %cx, (TO); \
|
|
||||||
addl $2, FROM; /* inc pointers */ \
|
|
||||||
addl $2, TO; \
|
|
||||||
movb (FROM), %cl; /* byte -> GM */ \
|
|
||||||
movb %cl, (TO);
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------
|
/* -------------------------------------------------------------------------
|
||||||
* Plot a dynamically interpolated swath of pixels.
|
* Plot a dynamically interpolated swath of pixels.
|
||||||
@ -69,22 +48,6 @@
|
|||||||
decb %dl;\
|
decb %dl;\
|
||||||
jnz 1b;
|
jnz 1b;
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------
|
|
||||||
* Get the adjancent color bytes in memory.
|
|
||||||
* For 640x400 mode, we need to remember to move around by a factor of 2.
|
|
||||||
* ebx: graphics memory index
|
|
||||||
* eax: temp buffer for comparison
|
|
||||||
* ------------------------------------------------------------------------- */
|
|
||||||
#define GrabAdjGMBytes\
|
|
||||||
subl $3, %ebx;\
|
|
||||||
movw (%ebx), %cx;\
|
|
||||||
movw %cx, (%eax); /* GM -> temp */\
|
|
||||||
addl $9, %eax;\
|
|
||||||
addl $18, %ebx;\
|
|
||||||
movw (%ebx), %cx;\
|
|
||||||
movw %cx, (%eax); /* GM -> temp */\
|
|
||||||
decl %eax;
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------
|
/* -------------------------------------------------------------------------
|
||||||
* Plots a normalized byte of dhires color directly into graphics memory.
|
* Plots a normalized byte of dhires color directly into graphics memory.
|
||||||
* eax: graphics memory index
|
* eax: graphics memory index
|
||||||
@ -138,12 +101,30 @@ PB_dynamic##X:\
|
|||||||
leal SN(video__hires_##TABLE)(,%eax,8), %ebx;\
|
leal SN(video__hires_##TABLE)(,%eax,8), %ebx;\
|
||||||
leal SN(temp), %eax; /* eax = temp */\
|
leal SN(temp), %eax; /* eax = temp */\
|
||||||
addl $2, %eax;\
|
addl $2, %eax;\
|
||||||
Plot7Pixels(%ebx,%eax); /* 7bytes -> temp+2 */\
|
\
|
||||||
|
/* plot exactly 7 pixels */ \
|
||||||
|
movl (%ebx), %ecx; /* long -> GM */ \
|
||||||
|
movl %ecx, (%eax); \
|
||||||
|
addl $4, %ebx; /* inc pointers */ \
|
||||||
|
addl $4, %eax; \
|
||||||
|
movw (%ebx), %cx; /* word -> GM */ \
|
||||||
|
movw %cx, (%eax); \
|
||||||
|
addl $2, %ebx; /* inc pointers */ \
|
||||||
|
addl $2, %eax; \
|
||||||
|
movb (%ebx), %cl; /* byte -> GM */ \
|
||||||
|
movb %cl, (%eax); \
|
||||||
\
|
\
|
||||||
subl $8, %eax;\
|
subl $8, %eax;\
|
||||||
CalcHiresGM(BASE,%ebx,GM); /* ebx = GM */\
|
CalcHiresGM(BASE,%ebx,GM); /* ebx = GM */\
|
||||||
/* copy adjacent color bytes into temp array */\
|
/* copy adjacent color bytes into temp array */\
|
||||||
GrabAdjGMBytes;\
|
subl $3, %ebx;\
|
||||||
|
movw (%ebx), %cx;\
|
||||||
|
movw %cx, (%eax); /* GM -> temp */\
|
||||||
|
addl $9, %eax;\
|
||||||
|
addl $18, %ebx;\
|
||||||
|
movw (%ebx), %cx;\
|
||||||
|
movw %cx, (%eax); /* GM -> temp */\
|
||||||
|
decl %eax; \
|
||||||
\
|
\
|
||||||
/* calculate dynamic colors in temp array */\
|
/* calculate dynamic colors in temp array */\
|
||||||
DynamicCalculateColor(X,OPP_TABLE,INTERP_COLOR,ALT_INTERP_COLOR);\
|
DynamicCalculateColor(X,OPP_TABLE,INTERP_COLOR,ALT_INTERP_COLOR);\
|
||||||
|
Loading…
Reference in New Issue
Block a user