2018-05-18 05:21:22 +00:00
|
|
|
struct Program : Emulator::Platform {
|
|
|
|
//program.cpp
|
2018-05-20 04:39:29 +00:00
|
|
|
Program(string_vector arguments);
|
2018-05-18 05:21:22 +00:00
|
|
|
auto main() -> void;
|
|
|
|
auto quit() -> void;
|
2018-05-19 02:51:34 +00:00
|
|
|
|
|
|
|
//interface.cpp
|
|
|
|
auto open(uint id, string name, vfs::file::mode mode, bool required) -> vfs::shared::file override;
|
|
|
|
auto load(uint id, string name, string type, string_vector options = {}) -> Emulator::Platform::Load override;
|
|
|
|
auto videoRefresh(const uint32* data, uint pitch, uint width, uint height) -> void override;
|
|
|
|
auto audioSample(const double* samples, uint channels) -> void override;
|
|
|
|
auto inputPoll(uint port, uint device, uint input) -> int16 override;
|
Update to v106r25 release.
byuu says:
Changelog:
- bsnes:
- added full input mapping support (multi-mapping, digital+analog
inputs, rumble, hotkeys, etc)
- can now load multi-part games (eg Super Game Boy) from the
command-line
- added recent games menu with list clear function; supports
multi-part games (sorting logic incomplete)
- added automatic binding of gamepads on new configuration files
- added view scaling support with aspect correction, overscan
cropping, and integral scaling modes
- added video shader support
- added status bar (can be hidden)
- added save states (both menu and hotkeys)
- added fullscreen mode support
- added support for loading compressed (ZIP) archives for any
supported media type (SNES, GB, etc)
- added frame counter
- added auto-memory saving
- added pause / block-input modes when main window loses focus
- added --fullscreen command-line option to start bsnes in
fullscreen mode
- added input settings panel
- added hotkeys settings panel
- added path settings panel (paths aren't actually used set, but
can be assigned)
- higan: fixed macOS install rule [Sintendo]
- higan: minor UI code cleanups
- nall: renamed Processor to Architecture to fix macOS builds
[Sintendo]
Yeah, you read right: recent games menu, path settings. And dynamic rate
control + screensaver suppression is on the todo list. I'm not fucking
around this time. I really want to make something special here.
2018-05-23 03:45:24 +00:00
|
|
|
auto inputRumble(uint port, uint device, uint input, bool enable) -> void override;
|
2018-05-19 02:51:34 +00:00
|
|
|
|
2018-05-20 04:39:29 +00:00
|
|
|
//game.cpp
|
Update to v106r25 release.
byuu says:
Changelog:
- bsnes:
- added full input mapping support (multi-mapping, digital+analog
inputs, rumble, hotkeys, etc)
- can now load multi-part games (eg Super Game Boy) from the
command-line
- added recent games menu with list clear function; supports
multi-part games (sorting logic incomplete)
- added automatic binding of gamepads on new configuration files
- added view scaling support with aspect correction, overscan
cropping, and integral scaling modes
- added video shader support
- added status bar (can be hidden)
- added save states (both menu and hotkeys)
- added fullscreen mode support
- added support for loading compressed (ZIP) archives for any
supported media type (SNES, GB, etc)
- added frame counter
- added auto-memory saving
- added pause / block-input modes when main window loses focus
- added --fullscreen command-line option to start bsnes in
fullscreen mode
- added input settings panel
- added hotkeys settings panel
- added path settings panel (paths aren't actually used set, but
can be assigned)
- higan: fixed macOS install rule [Sintendo]
- higan: minor UI code cleanups
- nall: renamed Processor to Architecture to fix macOS builds
[Sintendo]
Yeah, you read right: recent games menu, path settings. And dynamic rate
control + screensaver suppression is on the todo list. I'm not fucking
around this time. I really want to make something special here.
2018-05-23 03:45:24 +00:00
|
|
|
auto load() -> void;
|
|
|
|
auto loadFile(string location) -> vector<uint8_t>;
|
|
|
|
auto loadSuperNintendo(string location) -> void;
|
2018-05-20 04:39:29 +00:00
|
|
|
auto loadGameBoy(string location) -> void;
|
|
|
|
auto save() -> void;
|
|
|
|
auto unload() -> void;
|
|
|
|
|
Update to v106r25 release.
byuu says:
Changelog:
- bsnes:
- added full input mapping support (multi-mapping, digital+analog
inputs, rumble, hotkeys, etc)
- can now load multi-part games (eg Super Game Boy) from the
command-line
- added recent games menu with list clear function; supports
multi-part games (sorting logic incomplete)
- added automatic binding of gamepads on new configuration files
- added view scaling support with aspect correction, overscan
cropping, and integral scaling modes
- added video shader support
- added status bar (can be hidden)
- added save states (both menu and hotkeys)
- added fullscreen mode support
- added support for loading compressed (ZIP) archives for any
supported media type (SNES, GB, etc)
- added frame counter
- added auto-memory saving
- added pause / block-input modes when main window loses focus
- added --fullscreen command-line option to start bsnes in
fullscreen mode
- added input settings panel
- added hotkeys settings panel
- added path settings panel (paths aren't actually used set, but
can be assigned)
- higan: fixed macOS install rule [Sintendo]
- higan: minor UI code cleanups
- nall: renamed Processor to Architecture to fix macOS builds
[Sintendo]
Yeah, you read right: recent games menu, path settings. And dynamic rate
control + screensaver suppression is on the todo list. I'm not fucking
around this time. I really want to make something special here.
2018-05-23 03:45:24 +00:00
|
|
|
//state.cpp
|
|
|
|
auto loadState(uint slot) -> bool;
|
|
|
|
auto saveState(uint slot) -> bool;
|
|
|
|
|
2018-05-19 02:51:34 +00:00
|
|
|
//utility.cpp
|
|
|
|
auto initializeVideoDriver() -> void;
|
|
|
|
auto initializeAudioDriver() -> void;
|
|
|
|
auto initializeInputDriver() -> void;
|
Update to v106r25 release.
byuu says:
Changelog:
- bsnes:
- added full input mapping support (multi-mapping, digital+analog
inputs, rumble, hotkeys, etc)
- can now load multi-part games (eg Super Game Boy) from the
command-line
- added recent games menu with list clear function; supports
multi-part games (sorting logic incomplete)
- added automatic binding of gamepads on new configuration files
- added view scaling support with aspect correction, overscan
cropping, and integral scaling modes
- added video shader support
- added status bar (can be hidden)
- added save states (both menu and hotkeys)
- added fullscreen mode support
- added support for loading compressed (ZIP) archives for any
supported media type (SNES, GB, etc)
- added frame counter
- added auto-memory saving
- added pause / block-input modes when main window loses focus
- added --fullscreen command-line option to start bsnes in
fullscreen mode
- added input settings panel
- added hotkeys settings panel
- added path settings panel (paths aren't actually used set, but
can be assigned)
- higan: fixed macOS install rule [Sintendo]
- higan: minor UI code cleanups
- nall: renamed Processor to Architecture to fix macOS builds
[Sintendo]
Yeah, you read right: recent games menu, path settings. And dynamic rate
control + screensaver suppression is on the todo list. I'm not fucking
around this time. I really want to make something special here.
2018-05-23 03:45:24 +00:00
|
|
|
auto updateVideoShader() -> void;
|
|
|
|
auto connectDevices() -> void;
|
|
|
|
auto showMessage(string text) -> void;
|
|
|
|
auto updateMessage() -> void;
|
|
|
|
auto focused() -> bool;
|
|
|
|
|
|
|
|
public:
|
|
|
|
struct SuperNintendo {
|
|
|
|
string location;
|
|
|
|
string manifest;
|
|
|
|
Markup::Node document;
|
|
|
|
vector<uint8_t> program;
|
|
|
|
vector<uint8_t> data;
|
|
|
|
vector<uint8_t> expansion;
|
|
|
|
vector<uint8_t> firmware;
|
|
|
|
} superNintendo;
|
|
|
|
|
|
|
|
struct GameBoy {
|
|
|
|
string location;
|
|
|
|
string manifest;
|
|
|
|
Markup::Node document;
|
|
|
|
vector<uint8_t> program;
|
|
|
|
} gameBoy;
|
|
|
|
|
|
|
|
struct BSMemory {
|
|
|
|
} bsMemory;
|
|
|
|
|
|
|
|
struct SufamiTurbo {
|
|
|
|
} sufamiTurbo[2];
|
|
|
|
|
|
|
|
string_vector gameQueue;
|
|
|
|
|
|
|
|
uint64 autoSaveTime;
|
2018-05-19 02:51:34 +00:00
|
|
|
|
Update to v106r25 release.
byuu says:
Changelog:
- bsnes:
- added full input mapping support (multi-mapping, digital+analog
inputs, rumble, hotkeys, etc)
- can now load multi-part games (eg Super Game Boy) from the
command-line
- added recent games menu with list clear function; supports
multi-part games (sorting logic incomplete)
- added automatic binding of gamepads on new configuration files
- added view scaling support with aspect correction, overscan
cropping, and integral scaling modes
- added video shader support
- added status bar (can be hidden)
- added save states (both menu and hotkeys)
- added fullscreen mode support
- added support for loading compressed (ZIP) archives for any
supported media type (SNES, GB, etc)
- added frame counter
- added auto-memory saving
- added pause / block-input modes when main window loses focus
- added --fullscreen command-line option to start bsnes in
fullscreen mode
- added input settings panel
- added hotkeys settings panel
- added path settings panel (paths aren't actually used set, but
can be assigned)
- higan: fixed macOS install rule [Sintendo]
- higan: minor UI code cleanups
- nall: renamed Processor to Architecture to fix macOS builds
[Sintendo]
Yeah, you read right: recent games menu, path settings. And dynamic rate
control + screensaver suppression is on the todo list. I'm not fucking
around this time. I really want to make something special here.
2018-05-23 03:45:24 +00:00
|
|
|
string statusText;
|
|
|
|
string statusMessage;
|
|
|
|
uint64 statusTime;
|
2018-05-18 05:21:22 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
extern unique_pointer<Program> program;
|