MCUME/MCUME_teensy/teensyuae/shared.h

189 wiersze
5.3 KiB
C

#ifndef _SHARED_H_
#define _SHARED_H_
#include <stdio.h>
#include <time.h>
#include "dtypes.h"
extern void emu_printf(char * text);
extern void emu_printi(int val);
extern void emu_DrawScreen(unsigned char * VBuf, int width, int height, int stride) ;
extern void emu_DrawLine(unsigned char *src, int width , int height, int line);
extern void emu_SetPaletteEntry(unsigned char r, unsigned char g, unsigned char b, int index);
extern int emu_LoadFile(char * lfilename, char * buf, int size);
extern int emu_FileSize(char * filename);
extern int emu_FileOpen(const char * filename);
extern int emu_FileSeek(int offset, int seek);
extern int emu_FileTell( void );
extern int emu_FileRead(char * buf, int size);
extern int emu_FileClose( void );
extern void * emu_Malloc(size_t size);
extern void emu_Free(void * pt);
extern int emu_RefreshScreen(void);
#define printf(...) {}
#define fprintf(...) {}
//#define LSB_FIRST 1
//#define SOUND_PRESENT 1
extern int fake_joystick;
extern int produce_sound;
extern int dont_want_aspect;
extern int framerate;
extern char df0[], df1[], df2[], df3[], romfile[], prtname[];
extern void read_joystick(UWORD *dir, int *button);
extern void init_joystick(void);
extern void close_joystick(void);
extern CPTR audlc[4], audpt[4];
extern UWORD audvol[4], audper[4], audlen[4];
extern int init_sound (void);
extern void do_sound (void);
#undef inline
#define __inline__
/*
* UAE - The Un*x Amiga Emulator
*
* User configuration options
*
* Copyright 1995, 1996 Bernd Schmidt
*/
/*
* Please note: Many things are configurable with command line parameters,
* and you can put anything you can pass on the command line into a
* configuration file ~/.uaerc. Please read the documentation for more
* information.
*/
/*
* Define this when you are compiling UAE for the first time. If it works, you
* can try to undefine it to get (much) better performance. It does not seem
* to work on all machines, though.
*/
#define DONT_WANT_SHM
/*
* If you are running UAE over the network on a remote X server, this can
* boost performance quite a bit. It can even boost performance on a
* non-networked system.
*/
//#define LOW_BANDWIDTH
/*
* The blitter emulator contains some optimization methods that are, strictly
* speaking, invalid, but very unlikely to break anything.
* You can set the optimization level from 0 (normal emulation) to 3 (max.
* optimization).
* Methods 2 and 3 are really a lot faster with games and demos.
* Careful: method 3 will break most RISC chips. You'll see bus errors.
*/
#define FAST_BLITTER 2
/*
* Define this if you have the AF System and want sound in UAE.
* You also have to set the right paths in the Makefile.
#define AF_SOUND
*/
/*
* When these two are enabled, a subset of the ECS features is emulated.
* Actually, it's only the chip identification and big blits. This may be
* enough to persuade some ECS programs to run.
* DON'T enable SuperHires or Productivity modes. They are not emulated,
* and will look very messy. NTSC doesn't work either.
*/
#define ECS_AGNUS
#define ECS_DENISE
#ifdef __linux /* This line protects you if you don't use Linux */
/***************************************************************************
* Linux specific options. Ignore these if you are using another OS.
*/
/*
* Define if you have installed the Linux sound driver and if you have read
* the section about sound in the README.
* Turn off sound at run-time with the "-S" option.
#define LINUX_SOUND
*/
/*
* Try defining this if you don't get steady sound output.
#define LINUX_SOUND_SLOW_MACHINE
*/
#endif /* __linux */
/***************************************************************************
* Support for broken software. These options are set to default values
* that are reasonable for most uses. You should not need to change these.
*/
/*
* Some STUPID programs access a longword at an odd address and expect to
* end up at the routine given in the vector for exception 3.
* (For example, Katakis does this). And yes, I know it's legal, but it's dumb
* anyway.
* If you leave this commented in, memory accesses will be faster,
* but some programs may fail for an obscure reason.
*/
#define NO_EXCEPTION_3
/*
* If you want to see the "Hardwired" demo, you need to define this.
* Otherwise, it will say "This demo don't like Axel" - apparently, Axel
* has a 68040.
#define WANT_SLOW_MULTIPLY
*/
/*#define EMULATE_AGA*/
#ifndef EMULATE_AGA
#define AGA_CHIPSET 0 // we are here
#else
#define AGA_CHIPSET 1
#endif
//#define SMART_UPDATE 1
/*
* Disk accesses can be sped up. This isn't such a big win, though.
* It hasn't been extensively tested and is turned off by default.
* (It's broken currently, even if it appears to work for most programs)
*/
#define NO_FAST_DISK
/*
* You can specify numbers from 0 to 5 here. It is possible that higher
* numbers will make the CPU emulation slightly faster, but if the setting
* is too high, you will run out of memory while compiling.
* Best to leave this as it is.
*/
#define CPU_EMU_SIZE 0
/*
* CPU level: 0 = 68000, 1 = 68010, 2 = sort of a 68020
* If configured for 68020, the emulator will be a little slower.
* Don't touch this: Only 0 will work for now.
* JMH: only 0 supported as 68000 table is hardcoded!!
*/
#define CPU_LEVEL 0
#endif /* _SHARED_H_ */