mirror of
https://github.com/Oibaf66/uae-wii.git
synced 2024-06-03 00:58:47 +02:00
46 lines
1.3 KiB
C
46 lines
1.3 KiB
C
/*
|
|
* UAE - The Un*x Amiga Emulator
|
|
*
|
|
* Blitter emulation
|
|
*
|
|
* (c) 1995 Bernd Schmidt
|
|
*/
|
|
|
|
struct bltinfo {
|
|
int blitzero;
|
|
int blitashift,blitbshift,blitdownashift,blitdownbshift;
|
|
uae_u16 bltadat, bltbdat, bltcdat,bltddat,bltahold,bltbhold,bltafwm,bltalwm;
|
|
int vblitsize,hblitsize;
|
|
int bltamod,bltbmod,bltcmod,bltdmod;
|
|
};
|
|
|
|
extern enum blitter_states {
|
|
BLT_done, BLT_init, BLT_read, BLT_work, BLT_write, BLT_next
|
|
} bltstate;
|
|
|
|
extern struct bltinfo blt_info;
|
|
|
|
extern uae_u16 bltsize;
|
|
extern uae_u16 bltcon0,bltcon1;
|
|
extern unsigned int blinea_shift;
|
|
extern uae_u32 bltapt,bltbpt,bltcpt,bltdpt;
|
|
extern int blit_singlechannel;
|
|
|
|
extern void maybe_blit (unsigned int, int);
|
|
extern void reset_blit (unsigned int);
|
|
extern unsigned int blitnasty (void);
|
|
extern void blitter_handler (void);
|
|
extern void build_blitfilltable (void);
|
|
extern void do_blitter (unsigned int hpos);
|
|
extern void decide_blitter (unsigned int hpos);
|
|
extern void blitter_done_notify (void);
|
|
extern void blitter_slowdown (int, int, unsigned int, unsigned int);
|
|
|
|
typedef void blitter_func(uaecptr, uaecptr, uaecptr, uaecptr, struct bltinfo *);
|
|
|
|
#define BLITTER_MAX_WORDS 2048
|
|
|
|
extern blitter_func * const blitfunc_dofast[256];
|
|
extern blitter_func * const blitfunc_dofast_desc[256];
|
|
extern uae_u32 blit_masktable[BLITTER_MAX_WORDS];
|