mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-20 14:29:11 +00:00
Shuffle the personality enum into the 'public' header.
This commit is contained in:
parent
8d5547dc9e
commit
d79aac3081
@ -86,18 +86,6 @@ struct ReverseTable {
|
||||
|
||||
constexpr ReverseTable reverse_table;
|
||||
|
||||
constexpr size_t memory_size(Personality p) {
|
||||
switch(p) {
|
||||
case TI::TMS::TMS9918A:
|
||||
case TI::TMS::SMSVDP:
|
||||
case TI::TMS::SMS2VDP:
|
||||
case TI::TMS::GGVDP: return 16 * 1024;
|
||||
case TI::TMS::MDVDP: return 64 * 1024;
|
||||
case TI::TMS::V9938: return 128 * 1024;
|
||||
case TI::TMS::V9958: return 192 * 1024;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Base::Base(Personality p) :
|
||||
|
@ -12,13 +12,31 @@
|
||||
#include "../../Outputs/CRT/CRT.hpp"
|
||||
#include "../../ClockReceiver/ClockReceiver.hpp"
|
||||
|
||||
#include "Implementation/9918Base.hpp"
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace TI {
|
||||
namespace TMS {
|
||||
|
||||
enum Personality {
|
||||
TMS9918A, // includes the 9928 and 9929; set TV standard and output device as desired.
|
||||
V9938,
|
||||
V9958,
|
||||
|
||||
// Sega extensions.
|
||||
SMSVDP,
|
||||
SMS2VDP,
|
||||
GGVDP,
|
||||
MDVDP,
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#include "Implementation/9918Base.hpp"
|
||||
|
||||
namespace TI {
|
||||
namespace TMS {
|
||||
|
||||
/*!
|
||||
Provides emulation of the TMS9918a, TMS9928 and TMS9929. Likely in the future to be the
|
||||
vessel for emulation of sufficiently close derivatives, such as the Master System VDP.
|
||||
|
@ -20,22 +20,22 @@
|
||||
namespace TI {
|
||||
namespace TMS {
|
||||
|
||||
enum Personality {
|
||||
TMS9918A, // includes the 9928 and 9929; set TV standard and output device as desired.
|
||||
V9938,
|
||||
V9958,
|
||||
|
||||
// Sega extensions.
|
||||
SMSVDP,
|
||||
SMS2VDP,
|
||||
GGVDP,
|
||||
MDVDP,
|
||||
};
|
||||
|
||||
constexpr bool is_sega_vdp(Personality p) {
|
||||
return p >= Personality::SMSVDP;
|
||||
}
|
||||
|
||||
constexpr size_t memory_size(Personality p) {
|
||||
switch(p) {
|
||||
case TI::TMS::TMS9918A:
|
||||
case TI::TMS::SMSVDP:
|
||||
case TI::TMS::SMS2VDP:
|
||||
case TI::TMS::GGVDP: return 16 * 1024;
|
||||
case TI::TMS::MDVDP: return 64 * 1024;
|
||||
case TI::TMS::V9938: return 128 * 1024;
|
||||
case TI::TMS::V9958: return 192 * 1024;
|
||||
}
|
||||
}
|
||||
|
||||
enum class TVStandard {
|
||||
/*! i.e. 50Hz output at around 312.5 lines/field */
|
||||
PAL,
|
||||
|
Loading…
x
Reference in New Issue
Block a user