Search
lxdream.org :: lxdream/src/dreamcast.h
lxdream 0.9.1
released Jun 29
Download Now
filename src/dreamcast.h
changeset 922:8a8361264b1e
prev883:b275b4fee639
next931:430048ea8b71
next953:f4a156508ad1
author nkeynes
date Thu Dec 11 23:26:03 2008 +0000 (13 years ago)
permissions -rw-r--r--
last change Disable the generational translation cache - I've got no evidence that it
actually helps performance, and it simplifies things to get rid of it (in
particular, translated code doesn't have to worry about being moved now).
view annotate diff log raw
     1 /**
     2  * $Id$
     3  *
     4  * Public interface for dreamcast.c -
     5  * Central switchboard for the system. This pulls all the individual modules
     6  * together into some kind of coherent structure. This is also where you'd
     7  * add Naomi support, if I ever get a board to play with...
     8  *
     9  * Copyright (c) 2005 Nathan Keynes.
    10  *
    11  * This program is free software; you can redistribute it and/or modify
    12  * it under the terms of the GNU General Public License as published by
    13  * the Free Software Foundation; either version 2 of the License, or
    14  * (at your option) any later version.
    15  *
    16  * This program is distributed in the hope that it will be useful,
    17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    19  * GNU General Public License for more details.
    20  */
    22 #ifndef lxdream_dreamcast_H
    23 #define lxdream_dreamcast_H 1
    25 #include <stdio.h>
    26 #include "lxdream.h"
    28 #ifdef __cplusplus
    29 extern "C" {
    30 #endif
    32 #define DEFAULT_TIMESLICE_LENGTH 1000000 /* nanoseconds */
    34 #define XLAT_NEW_CACHE_SIZE 40 MB
    35 #define XLAT_TEMP_CACHE_SIZE 2 MB
    36 #define XLAT_OLD_CACHE_SIZE 8 MB
    38 void dreamcast_configure(void);
    39 void dreamcast_configure_aica_only(void);
    40 void dreamcast_init(void);
    41 void dreamcast_reset(void);
    42 void dreamcast_run(void);
    43 void dreamcast_set_run_time( unsigned int seconds, unsigned int nanosecs );
    44 void dreamcast_set_exit_on_stop( gboolean flag );
    45 void dreamcast_stop(void);
    46 void dreamcast_shutdown(void);
    47 void dreamcast_config_changed(void);
    48 gboolean dreamcast_is_running(void);
    50 /**
    51  * Return if it's possible to start the VM - currently this requires 
    52  * a) A configured system
    53  * b) Some code to run (either a user program or a ROM)
    54  */
    55 gboolean dreamcast_can_run(void);
    57 /**
    58  * Notify the VM that a program (ELF or other binary) has been loaded.
    59  * 
    60  */
    61 void dreamcast_program_loaded( const gchar *name, sh4addr_t entry_point );
    63 #define DREAMCAST_SAVE_MAGIC "%!-lxDream!Save\0"
    64 #define DREAMCAST_SAVE_VERSION 0x00010005
    66 int dreamcast_save_state( const gchar *filename );
    67 int dreamcast_load_state( const gchar *filename );
    69 /**
    70  * Load the front-buffer image from the specified file.
    71  * If the file is not a valid save state, returns NULL. Otherwise,
    72  * returns a newly allocated frame_buffer that should be freed
    73  * by the caller. (The data buffer is contained within the
    74  * allocation and does not need to be freed separately)
    75  */
    76 frame_buffer_t dreamcast_load_preview( const gchar *filename );
    78 #define SCENE_SAVE_MAGIC "%!-lxDream!Scene"
    79 #define SCENE_SAVE_VERSION 0x00010000
    81 #ifdef __cplusplus
    82 }
    83 #endif
    85 #endif /* !lxdream_dreamcast_H */
.