Annotation of uae/src/include/custom.h, revision 1.1.1.14

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: 
1.1.1.7   root        9: /* These are the masks that are ORed together in the chipset_mask option.
                     10:  * If CSMASK_AGA is set, the ECS bits are guaranteed to be set as well.  */
                     11: #define CSMASK_ECS_AGNUS 1
                     12: #define CSMASK_ECS_DENISE 2
                     13: #define CSMASK_AGA 4
                     14: 
1.1.1.5   root       15: extern void custom_init (void);
                     16: extern void customreset (void);
                     17: extern int intlev (void);
                     18: extern void dumpcustom (void);
1.1       root       19: 
1.1.1.5   root       20: extern void do_disk (void);
1.1.1.9   root       21: extern void do_copper (void);
1.1       root       22: 
1.1.1.3   root       23: extern void notice_new_xcolors (void);
                     24: extern void notice_screen_contents_lost (void);
1.1.1.5   root       25: extern void init_row_map (void);
1.1.1.3   root       26: 
                     27: extern int picasso_requested_on;
                     28: extern int picasso_on;
                     29: 
                     30: /* Set to 1 to leave out the current frame in average frame time calculation.
                     31:  * Useful if the debugger was active.  */
1.1       root       32: extern int bogusframe;
                     33: 
1.1.1.3   root       34: extern uae_u16 dmacon;
                     35: extern uae_u16 intena,intreq;
1.1.1.2   root       36: 
                     37: extern int current_hpos (void);
1.1.1.3   root       38: extern int vpos;
1.1.1.2   root       39: 
1.1.1.12  root       40: extern int n_frames;
                     41: 
1.1.1.8   root       42: STATIC_INLINE int dmaen (unsigned int dmamask)
1.1       root       43: {
                     44:     return (dmamask & dmacon) && (dmacon & 0x200);
                     45: }
                     46: 
                     47: #define SPCFLAG_STOP 2
1.1.1.9   root       48: #define SPCFLAG_COPPER 4
                     49: #define SPCFLAG_INT 8
                     50: #define SPCFLAG_BRK 16
1.1       root       51: #define SPCFLAG_EXTRA_CYCLES 32
                     52: #define SPCFLAG_TRACE 64
                     53: #define SPCFLAG_DOTRACE 128
                     54: #define SPCFLAG_DOINT 256
                     55: #define SPCFLAG_BLTNASTY 512
                     56: #define SPCFLAG_EXEC 1024
1.1.1.2   root       57: #define SPCFLAG_MODE_CHANGE 8192
1.1       root       58: 
1.1.1.3   root       59: extern uae_u16 adkcon;
1.1       root       60: 
1.1.1.3   root       61: extern unsigned int joy0dir, joy1dir;
                     62: extern int joy0button, joy1button;
                     63: 
1.1.1.4   root       64: extern void INTREQ (uae_u16);
                     65: extern uae_u16 INTREQR (void);
1.1       root       66: 
1.1.1.7   root       67: /* maximums for statically allocated tables */
                     68: 
                     69: #define MAXHPOS 227
                     70: #define MAXVPOS 312
                     71: 
                     72: /* PAL/NTSC values */
                     73: 
1.1.1.2   root       74: /* The HRM says: The vertical blanking area (PAL) ranges from line 0 to line 29,
                     75:  * and no data can be displayed there. Nevertheless, we lose some overscan data
1.1.1.7   root       76:  * if minfirstline is set to 29. */
                     77: 
                     78: #define MAXHPOS_PAL 227
                     79: #define MAXHPOS_NTSC 227
                     80: #define MAXVPOS_PAL 312
                     81: #define MAXVPOS_NTSC 262
                     82: #define MINFIRSTLINE_PAL 21
                     83: #define MINFIRSTLINE_NTSC 18
                     84: #define VBLANK_ENDLINE_PAL 29
                     85: #define VBLANK_ENDLINE_NTSC 24
                     86: #define VBLANK_HZ_PAL 50
                     87: #define VBLANK_HZ_NTSC 60
                     88: 
                     89: extern int maxhpos, maxvpos, minfirstline, vblank_endline, numscrlines, vblank_hz;
                     90: extern unsigned long syncbase;
                     91: #define NUMSCRLINES (maxvpos+1-minfirstline+1)
1.1       root       92: 
                     93: #define DMA_AUD0      0x0001
                     94: #define DMA_AUD1      0x0002
                     95: #define DMA_AUD2      0x0004
                     96: #define DMA_AUD3      0x0008
                     97: #define DMA_DISK      0x0010
                     98: #define DMA_SPRITE    0x0020
                     99: #define DMA_BLITTER   0x0040
                    100: #define DMA_COPPER    0x0080
                    101: #define DMA_BITPLANE  0x0100
1.1.1.10  root      102: #define DMA_MASTER    0x0200
1.1       root      103: #define DMA_BLITPRI   0x0400
1.1.1.2   root      104: 
                    105: extern unsigned long frametime, timeframes;
                    106: 
1.1.1.14! root      107: /* 100 words give you 1600 horizontal pixels. Should be more than enough for
        !           108:  * superhires. Don't forget to update the definition in genp2c.c as well.
        !           109:  * needs to be larger for superhires support */
        !           110: #define MAX_WORDS_PER_LINE 100
1.1.1.3   root      111: 
                    112: extern uae_u32 hirestab_h[256][2];
                    113: extern uae_u32 lorestab_h[256][4];
                    114: 
                    115: extern uae_u32 hirestab_l[256][1];
                    116: extern uae_u32 lorestab_l[256][2];
1.1.1.11  root      117: 
                    118: /* AGA mode color lookup tables */
                    119: extern unsigned int xredcolors[256], xgreencolors[256], xbluecolors[256];
1.1.1.13  root      120: 
                    121: /* get resolution from bplcon0 */
                    122: #define GET_RES(CON0) (((CON0) & 0x8000) ? RES_HIRES : ((CON0) & 0x40) ? RES_SUPERHIRES : RES_LORES)
                    123: /* get sprite width from FMODE */
                    124: #define GET_SPRITEWIDTH(FMODE) ((((FMODE) >> 2) & 3) == 3 ? 64 : (((FMODE) >> 2) & 3) == 0 ? 16 : 32)
                    125: /* Compute the number of bitplanes from a value written to BPLCON0  */
                    126: #define GET_PLANES(x) ((((x) >> 12) & 7) | (((x) & 0x10) >> 1))
                    127: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.