2011-06-24 10:43:29 +00:00
|
|
|
struct SuperScope : Controller {
|
Update to v079r06 release.
byuu says:
It does add some more code to the CPU::step() function, so performance
probably went down actually, by about 1%. Removing the input.tick() call
didn't compensate as much as I'd hoped.
Hooked up Super Scope and Justifier support. The good news is that the
Justifier alignment doesn't get fucked up anymore when you go
off-screen. Never could fix that in the old version.
The bad news is that it takes a major speed hit for the time being.
I need to figure out how to run the CPU and input threads out of order.
Every time I try, the input gets thrown off by most of a scanline.
Right now, I'm forced to sync constantly to get the latching position
really accurate. But worst case, I can cut the syncs down by skipping
large chunks around the cursor position, +/-40 clock cycles. So it's
only temporarily slow.
Lastly, killed the old Input class, merged Controllers class into it.
I actually like Controllers as a name better, but it doesn't jive with
video/audio/input, so oh well.
2011-06-25 12:56:32 +00:00
|
|
|
void enter();
|
2011-06-24 10:43:29 +00:00
|
|
|
uint2 data();
|
|
|
|
void latch(bool data);
|
|
|
|
SuperScope(bool port);
|
|
|
|
|
|
|
|
//private:
|
|
|
|
bool latched;
|
|
|
|
unsigned counter;
|
|
|
|
|
2011-06-26 12:51:37 +00:00
|
|
|
signed x, y;
|
2011-06-24 10:43:29 +00:00
|
|
|
|
|
|
|
bool trigger;
|
|
|
|
bool cursor;
|
|
|
|
bool turbo;
|
|
|
|
bool pause;
|
|
|
|
bool offscreen;
|
|
|
|
|
|
|
|
bool turbolock;
|
|
|
|
bool triggerlock;
|
|
|
|
bool pauselock;
|
|
|
|
};
|