|
|
1.1 root 1: /*
2: * UAE - The Un*x Amiga Emulator
3: *
4: * custom chip support
5: *
6: * (c) 1995 Bernd Schmidt
7: */
8:
9: extern void custom_init(void);
10: extern void customreset(void);
11: extern int intlev(void);
12: extern void dumpcustom(void);
13:
14: extern void do_disk(void);
15:
16: extern int inhibit_frame;
17: extern int bogusframe;
18:
19: extern UWORD dmacon;
20: extern UWORD intena,intreq;
21: static __inline__ int dmaen(UWORD dmamask)
22: {
23: return (dmamask & dmacon) && (dmacon & 0x200);
24: }
25:
26: #define SPCFLAG_BLIT 1
27: #define SPCFLAG_STOP 2
28: #define SPCFLAG_DISK 4
29: #define SPCFLAG_INT 8
30: #define SPCFLAG_BRK 16
31: #define SPCFLAG_EXTRA_CYCLES 32
32: #define SPCFLAG_TRACE 64
33: #define SPCFLAG_DOTRACE 128
34: #define SPCFLAG_DOINT 256
35: #define SPCFLAG_BLTNASTY 512
36: #define SPCFLAG_EXEC 1024
37: #define SPCFLAG_EMULTRAP 2048
38:
39: #define PRESERVED_FLAGS (SPCFLAG_DISK|SPCFLAG_BLIT|SPCFLAG_BLTNASTY)
40:
41: extern int dskdmaen;
42: extern UWORD adkcon;
43:
44: extern int max_diwstop, prev_max_diwstop;
45:
46: extern UWORD joy0dir;
47: extern int joy0button;
48:
49: extern void INTREQ(UWORD);
50: extern UWORD INTREQR(void);
51:
52: #define maxhpos 227
53: #define maxvpos 312
54: #define minfirstline 29
55: #define numscrlines (maxvpos+1-minfirstline+1)
56:
57: #define DMA_AUD0 0x0001
58: #define DMA_AUD1 0x0002
59: #define DMA_AUD2 0x0004
60: #define DMA_AUD3 0x0008
61: #define DMA_DISK 0x0010
62: #define DMA_SPRITE 0x0020
63: #define DMA_BLITTER 0x0040
64: #define DMA_COPPER 0x0080
65: #define DMA_BITPLANE 0x0100
66: #define DMA_BLITPRI 0x0400
67: /*
68: struct bltinfo {
69: int blitzero;
70: UWORD blitpreva,blitprevb,blitashift,blitbshift;
71: UWORD bltadat,bltbdat,bltcdat,bltddat,bltafwm,bltalwm;
72: UWORD vblitsize,hblitsize;
73: WORD bltamod,bltbmod,bltcmod,bltdmod;
74: };
75:
76: extern void do_blitter(void);
77:
78: typedef void blitter_func(UWORD *, UWORD *, UWORD *, UWORD *, struct bltinfo *);
79:
80: extern blitter_func *blitfunc_dofast[256];
81: extern blitter_func *blitfunc_dofast_desc[256];
82: */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.