nkeynes@26: /** nkeynes@450: * $Id: dreamcast.h,v 1.18 2007-10-17 11:26:45 nkeynes Exp $ nkeynes@26: * nkeynes@26: * Public interface for dreamcast.c - nkeynes@26: * Central switchboard for the system. This pulls all the individual modules nkeynes@26: * together into some kind of coherent structure. This is also where you'd nkeynes@26: * add Naomi support, if I ever get a board to play with... nkeynes@26: * nkeynes@26: * Copyright (c) 2005 Nathan Keynes. nkeynes@26: * nkeynes@26: * This program is free software; you can redistribute it and/or modify nkeynes@26: * it under the terms of the GNU General Public License as published by nkeynes@26: * the Free Software Foundation; either version 2 of the License, or nkeynes@26: * (at your option) any later version. nkeynes@26: * nkeynes@26: * This program is distributed in the hope that it will be useful, nkeynes@26: * but WITHOUT ANY WARRANTY; without even the implied warranty of nkeynes@26: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the nkeynes@26: * GNU General Public License for more details. nkeynes@26: */ nkeynes@2: nkeynes@2: #ifndef dreamcast_H nkeynes@2: #define dreamcast_H 1 nkeynes@2: nkeynes@15: #include nkeynes@18: #include nkeynes@15: nkeynes@15: #ifdef __cplusplus nkeynes@15: extern "C" { nkeynes@15: #endif nkeynes@15: nkeynes@30: #define DEFAULT_TIMESLICE_LENGTH 1000000 /* nanoseconds */ nkeynes@359: nkeynes@359: #define MB *1024*1024 nkeynes@422: #define KB *1024 nkeynes@359: nkeynes@422: #define XLAT_NEW_CACHE_SIZE 32 MB nkeynes@359: #define XLAT_TEMP_CACHE_SIZE 2 MB nkeynes@359: #define XLAT_OLD_CACHE_SIZE 8 MB nkeynes@359: nkeynes@422: void dreamcast_configure(void); nkeynes@422: void dreamcast_configure_aica_only(void); nkeynes@2: void dreamcast_init(void); nkeynes@2: void dreamcast_reset(void); nkeynes@23: void dreamcast_run(void); nkeynes@372: void dreamcast_run_for( unsigned int seconds, unsigned int nanosecs ); nkeynes@2: void dreamcast_stop(void); nkeynes@429: void dreamcast_shutdown(void); nkeynes@431: gboolean dreamcast_is_running(void); nkeynes@2: nkeynes@295: #define DREAMCAST_SAVE_MAGIC "%!-lxDream!Save\0" nkeynes@295: #define DREAMCAST_SAVE_VERSION 0x00010000 nkeynes@295: nkeynes@18: int dreamcast_save_state( const gchar *filename ); nkeynes@18: int dreamcast_load_state( const gchar *filename ); nkeynes@18: nkeynes@295: #define SCENE_SAVE_MAGIC "%!-lxDream!Scene" nkeynes@295: #define SCENE_SAVE_VERSION 0x00010000 nkeynes@295: nkeynes@15: #ifdef __cplusplus nkeynes@15: } nkeynes@15: #endif nkeynes@15: nkeynes@26: #endif /* !dreamcast_H */