comparison src/xs_backend.h @ 876:d03e5c73eb51

Add ROM image loading.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 09 Nov 2012 05:13:29 +0200
parents 50111e99456a
children 4c6c5247de7d
comparison
equal deleted inserted replaced
875:0fdb001e456c 876:d03e5c73eb51
8 extern "C" { 8 extern "C" {
9 #endif 9 #endif
10 10
11 struct XSEngineState; 11 struct XSEngineState;
12 12
13 typedef struct { 13 typedef struct
14 {
14 gint plrIdent; 15 gint plrIdent;
15 gboolean (*plrProbe)(XSFile *); 16 gboolean (*plrProbe)(XSFile *);
16 gboolean (*plrInit)(struct XSEngineState *); 17 gboolean (*plrInit)(struct XSEngineState *);
17 void (*plrClose)(struct XSEngineState *); 18 void (*plrClose)(struct XSEngineState *);
18 gboolean (*plrInitSong)(struct XSEngineState *); 19 gboolean (*plrInitSong)(struct XSEngineState *);
23 gboolean (*plrUpdateSIDInfo)(struct XSEngineState *); 24 gboolean (*plrUpdateSIDInfo)(struct XSEngineState *);
24 void (*plrFlush)(struct XSEngineState *); 25 void (*plrFlush)(struct XSEngineState *);
25 } XSEngine; 26 } XSEngine;
26 27
27 28
28 typedef struct XSEngineState { 29 typedef struct XSEngineState
30 {
29 gint audioFrequency, /* Audio settings */ 31 gint audioFrequency, /* Audio settings */
30 audioChannels, 32 audioChannels,
31 audioBitsPerSample; 33 audioBitsPerSample;
32 AFormat audioFormat; 34 AFormat audioFormat;
33 35
41 43
42 XSTuneInfo *tuneInfo; 44 XSTuneInfo *tuneInfo;
43 } XSEngineState; 45 } XSEngineState;
44 46
45 47
48 typedef struct
49 {
50 char *name;
51 char *filename;
52 size_t size;
53 } XSROMImageData;
54
55 #define XS_C64_ROM_IMAGES 3
56
46 gboolean xs_init_emu_backend(XSEngineState *state, gint *preferred); 57 gboolean xs_init_emu_backend(XSEngineState *state, gint *preferred);
58
59 gboolean xs_load_rom_images(guint8 **roms);
47 60
48 61
49 #ifdef __cplusplus 62 #ifdef __cplusplus
50 } 63 }
51 #endif 64 #endif