--- uae/src/include/autoconf.h 2018/04/24 16:39:24 1.1.1.2 +++ uae/src/include/autoconf.h 2018/04/24 17:17:03 1.1.1.9 @@ -1,59 +1,73 @@ - /* + /* * UAE - The Un*x Amiga Emulator - * + * * Autoconfig device support * * (c) 1996 Ed Hanway */ -typedef ULONG (*TrapFunction)(void); -extern int lasttrap; -extern void do_emultrap(int nr); +extern uae_u32 addr (int); +extern void db (uae_u8); +extern void dw (uae_u16); +extern void dl (uae_u32); +extern uae_u32 ds (char *); +extern void calltrap (uae_u32); +extern void org (uae_u32); +extern uae_u32 here (void); +extern uae_u32 m68k_mode_return (void); +extern void align (int); -extern ULONG addr(int); -extern void dw(UWORD); -extern void dl(ULONG); -extern ULONG ds(char *); -extern void calltrap(ULONG); -extern void calltrap2(ULONG); -extern void org(ULONG); -extern ULONG here(void); -extern int deftrap2(TrapFunction func, int mode, const char *str); -extern int deftrap(TrapFunction); -extern void align(int); -extern ULONG CallLib(CPTR base, WORD offset); -extern ULONG Call68k(CPTR address, int saveregs); -extern ULONG Call68k_retaddr(CPTR address, int saveregs, CPTR); +extern volatile int uae_int_requested; +extern void set_uae_int_flag (void); #define RTS 0x4e75 #define RTE 0x4e73 -extern CPTR EXPANSION_explibname, EXPANSION_doslibname, EXPANSION_uaeversion; -extern CPTR EXPANSION_explibbase, EXPANSION_uaedevname, EXPANSION_haveV36; -extern CPTR EXPANSION_bootcode, EXPANSION_nullfunc; - -extern CPTR ROM_filesys_resname, ROM_filesys_resid; -extern CPTR ROM_filesys_diagentry; -extern CPTR ROM_hardfile_resname, ROM_hardfile_resid; -extern CPTR ROM_hardfile_init; - -extern void add_filesys_unit(char *volname, char *rootdir, int readonly); -extern int kill_filesys_unit(char *volname); -extern int sprintf_filesys_unit(char *buffer, int num); -extern void write_filesys_config(FILE *f); -extern int get_new_device(char **devname, CPTR *devname_amiga); - -extern void filesys_install(void); -extern void filesys_init(void); -extern ULONG hardfile_init_late(void); -extern void hardfile_install(void); -extern void emulib_install(void); -extern void trackdisk_install(void); -extern void expansion_init(void); - -#define TRAPFLAG_NOREGSAVE 1 -#define TRAPFLAG_NORETVAL 2 +extern uaecptr EXPANSION_explibname, EXPANSION_doslibname, EXPANSION_uaeversion; +extern uaecptr EXPANSION_explibbase, EXPANSION_uaedevname, EXPANSION_haveV36; +extern uaecptr EXPANSION_bootcode, EXPANSION_nullfunc; + +extern uaecptr ROM_filesys_resname, ROM_filesys_resid; +extern uaecptr ROM_filesys_diagentry; +extern uaecptr ROM_hardfile_resname, ROM_hardfile_resid; +extern uaecptr ROM_hardfile_init; +extern uaecptr filesys_initcode; + +extern int nr_units (struct uaedev_mount_info *mountinfo); +extern int is_hardfile (struct uaedev_mount_info *mountinfo, int unit_no); +extern char *set_filesys_unit (struct uaedev_mount_info *mountinfo, int, + char *volname, char *rootdir, int readonly, + int secs, int surfaces, int reserved, + int blocksize); +extern char *add_filesys_unit (struct uaedev_mount_info *mountinfo, + char *volname, char *rootdir, int readonly, + int secs, int surfaces, int reserved, + int blocksize); +extern char *get_filesys_unit (struct uaedev_mount_info *mountinfo, int nr, + char **volname, char **rootdir, int *readonly, + int *secspertrack, int *surfaces, int *reserved, + int *cylinders, int *size, int *blocksize); +extern int kill_filesys_unit (struct uaedev_mount_info *mountinfo, int); +extern int move_filesys_unit (struct uaedev_mount_info *mountinfo, int nr, int to); +extern int sprintf_filesys_unit (struct uaedev_mount_info *mountinfo, char *buffer, int num); +extern void write_filesys_config (struct uaedev_mount_info *mountinfo, const char *unexpanded, + const char *defaultpath, FILE *f); + +extern struct uaedev_mount_info *alloc_mountinfo (void); +extern struct uaedev_mount_info *dup_mountinfo (struct uaedev_mount_info *); +extern void free_mountinfo (struct uaedev_mount_info *); + +extern void filesys_reset (void); +extern void filesys_prepare_reset (void); +extern void filesys_start_threads (void); + +extern void filesys_install (void); +extern void filesys_install_code (void); +extern void filesys_store_devinfo (uae_u8 *); +extern void hardfile_install (void); +extern void emulib_install (void); +extern void expansion_init (void); +extern void expansion_cleanup (void); -extern CPTR libemu_InstallFunction(TrapFunction, CPTR, int, const char *); -extern CPTR libemu_InstallFunctionFlags(TrapFunction, CPTR, int, int, const char *); +#define RTAREA_BASE 0xF00000