|
|
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;
1.1.1.2 ! root 21:
! 22: extern int current_hpos (void);
! 23:
1.1 root 24: static __inline__ int dmaen(UWORD dmamask)
25: {
26: return (dmamask & dmacon) && (dmacon & 0x200);
27: }
28:
29: #define SPCFLAG_STOP 2
30: #define SPCFLAG_DISK 4
31: #define SPCFLAG_INT 8
32: #define SPCFLAG_BRK 16
33: #define SPCFLAG_EXTRA_CYCLES 32
34: #define SPCFLAG_TRACE 64
35: #define SPCFLAG_DOTRACE 128
36: #define SPCFLAG_DOINT 256
37: #define SPCFLAG_BLTNASTY 512
38: #define SPCFLAG_EXEC 1024
39: #define SPCFLAG_EMULTRAP 2048
1.1.1.2 ! root 40: #define SPCFLAG_TIMER 4096
! 41: #define SPCFLAG_MODE_CHANGE 8192
1.1 root 42:
1.1.1.2 ! root 43: #define PRESERVED_FLAGS (SPCFLAG_DISK|SPCFLAG_BLTNASTY|SPCFLAG_TIMER)
1.1 root 44:
45: extern int dskdmaen;
46: extern UWORD adkcon;
47:
48: extern UWORD joy0dir;
49: extern int joy0button;
50:
51: extern void INTREQ(UWORD);
52: extern UWORD INTREQR(void);
1.1.1.2 ! root 53: extern UWORD DMACONR(void);
1.1 root 54:
55: #define maxhpos 227
56: #define maxvpos 312
1.1.1.2 ! root 57: /* The HRM says: The vertical blanking area (PAL) ranges from line 0 to line 29,
! 58: * and no data can be displayed there. Nevertheless, we lose some overscan data
! 59: * if this is set to 29. */
! 60: #define minfirstline 21
! 61: #define vblank_endline 29
1.1 root 62: #define numscrlines (maxvpos+1-minfirstline+1)
63:
64: #define DMA_AUD0 0x0001
65: #define DMA_AUD1 0x0002
66: #define DMA_AUD2 0x0004
67: #define DMA_AUD3 0x0008
68: #define DMA_DISK 0x0010
69: #define DMA_SPRITE 0x0020
70: #define DMA_BLITTER 0x0040
71: #define DMA_COPPER 0x0080
72: #define DMA_BITPLANE 0x0100
73: #define DMA_BLITPRI 0x0400
1.1.1.2 ! root 74:
! 75: extern unsigned long frametime, timeframes;
! 76:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.