all repos — mgba @ 5966f46355d18ba472404a7f7ed3cbeebf846635

mGBA Game Boy Advance Emulator

src/gba/supervisor/context.h (view raw)

 1/* Copyright (c) 2013-2015 Jeffrey Pfau
 2 *
 3 * This Source Code Form is subject to the terms of the Mozilla Public
 4 * License, v. 2.0. If a copy of the MPL was not distributed with this
 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 6#ifndef CONTEXT_H
 7#define CONTEXT_H
 8
 9#include "util/common.h"
10
11#include "gba/supervisor/config.h"
12#include "gba/input.h"
13
14struct GBAContext {
15	struct GBA* gba;
16	struct ARMCore* cpu;
17	struct GBAVideoRenderer* renderer;
18	struct VFile* rom;
19	struct VFile* save;
20	struct VFile* bios;
21	struct GBAConfig config;
22	struct GBAOptions opts;
23	struct GBAInputMap inputMap;
24};
25
26bool GBAContextInit(struct GBAContext* context, const char* port);
27void GBAContextDeinit(struct GBAContext* context);
28
29bool GBAContextLoadROM(struct GBAContext* context, const char* path, bool autoloadSave);
30bool GBAContextLoadROMFromVFile(struct GBAContext* context, struct VFile* rom, struct VFile* save);
31bool GBAContextLoadBIOS(struct GBAContext* context, const char* path);
32bool GBAContextLoadBIOSFromVFile(struct GBAContext* context, struct VFile* bios);
33
34bool GBAContextStart(struct GBAContext* context);
35void GBAContextStop(struct GBAContext* context);
36void GBAContextFrame(struct GBAContext* context, uint16_t keys);
37
38#endif