1
0
mirror of https://github.com/lefticus/6502-cpp.git synced 2025-09-27 15:16:32 +00:00

Add support for D register, more opcodes

This commit is contained in:
Jason Turner
2016-07-07 10:51:54 -06:00
parent efcb6fa7ac
commit f69150b386
4 changed files with 221 additions and 52 deletions

49
examples/test2.cpp Normal file
View File

@@ -0,0 +1,49 @@
#include <cstdint>
enum class Colors : uint8_t
{
WHITE=0x01,
BLACK=0x00
};
volatile uint8_t &memory_loc(const uint16_t loc)
{
return *reinterpret_cast<volatile uint8_t *>(loc);
}
void decrement_border_color()
{
--memory_loc(0xd020);
}
void increment_border_color()
{
++memory_loc(0xd020);
}
bool joystick_down()
{
uint8_t joystick_state = memory_loc(0xDC00);
return (joystick_state & 0x2) == 0;
}
int main()
{
const auto background_color = [](Colors col) {
memory_loc(0xd021) = static_cast<uint8_t>(col);
};
const auto border_color = [](Colors col) {
memory_loc(0xd020) = static_cast<uint8_t>(col);
};
background_color(Colors::WHITE);
while(true) {
if (joystick_down()) {
border_color(Colors::WHITE);
} else {
border_color(Colors::BLACK);
}
}
}