|
|
1.1.1.3 root 1: /*
1.1 root 2: * UAE - The Un*x Amiga Emulator
1.1.1.3 root 3: *
1.1 root 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:
1.1.1.3 root 16: extern void notice_new_xcolors (void);
17: extern void notice_screen_contents_lost (void);
18: extern void init_row_map(void);
19:
20: extern int picasso_requested_on;
21: extern int picasso_on;
22:
23: /* Set to 1 to leave out the current frame in average frame time calculation.
24: * Useful if the debugger was active. */
1.1 root 25: extern int bogusframe;
26:
1.1.1.3 root 27: extern uae_u16 dmacon;
28: extern uae_u16 intena,intreq;
1.1.1.2 root 29:
30: extern int current_hpos (void);
1.1.1.3 root 31: extern int vpos;
1.1.1.2 root 32:
1.1.1.4 ! root 33: static __inline__ int dmaen (unsigned int dmamask)
1.1 root 34: {
35: return (dmamask & dmacon) && (dmacon & 0x200);
36: }
37:
38: #define SPCFLAG_STOP 2
39: #define SPCFLAG_DISK 4
40: #define SPCFLAG_INT 8
41: #define SPCFLAG_BRK 16
42: #define SPCFLAG_EXTRA_CYCLES 32
43: #define SPCFLAG_TRACE 64
44: #define SPCFLAG_DOTRACE 128
45: #define SPCFLAG_DOINT 256
46: #define SPCFLAG_BLTNASTY 512
47: #define SPCFLAG_EXEC 1024
1.1.1.2 root 48: #define SPCFLAG_MODE_CHANGE 8192
1.1 root 49:
50: extern int dskdmaen;
1.1.1.3 root 51: extern uae_u16 adkcon;
1.1 root 52:
1.1.1.3 root 53: extern unsigned int joy0dir, joy1dir;
54: extern int joy0button, joy1button;
55: extern uae_u32 mousehack_helper (void);
56:
1.1.1.4 ! root 57: extern void INTREQ (uae_u16);
! 58: extern uae_u16 INTREQR (void);
1.1 root 59:
60: #define maxhpos 227
61: #define maxvpos 312
1.1.1.2 root 62: /* The HRM says: The vertical blanking area (PAL) ranges from line 0 to line 29,
63: * and no data can be displayed there. Nevertheless, we lose some overscan data
64: * if this is set to 29. */
65: #define minfirstline 21
66: #define vblank_endline 29
1.1 root 67: #define numscrlines (maxvpos+1-minfirstline+1)
68:
69: #define DMA_AUD0 0x0001
70: #define DMA_AUD1 0x0002
71: #define DMA_AUD2 0x0004
72: #define DMA_AUD3 0x0008
73: #define DMA_DISK 0x0010
74: #define DMA_SPRITE 0x0020
75: #define DMA_BLITTER 0x0040
76: #define DMA_COPPER 0x0080
77: #define DMA_BITPLANE 0x0100
78: #define DMA_BLITPRI 0x0400
1.1.1.2 root 79:
80: extern unsigned long frametime, timeframes;
81:
1.1.1.3 root 82: /* 50 words give you 800 horizontal pixels. An A500 can't do that, so it ought
83: * to be enough. */
84: #define MAX_WORDS_PER_LINE 50
85:
86: extern uae_u32 hirestab_h[256][2];
87: extern uae_u32 lorestab_h[256][4];
88:
89: extern uae_u32 hirestab_l[256][1];
90: extern uae_u32 lorestab_l[256][2];
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.