1
0
mirror of https://github.com/TomHarte/CLK.git synced 2026-04-26 19:17:52 +00:00

Generate an appropriate instance for line drawing.

This commit is contained in:
Thomas Harte
2023-01-26 12:09:06 -05:00
parent 0c8815d6a0
commit b12fd00145
3 changed files with 48 additions and 2 deletions
+26
View File
@@ -890,6 +890,32 @@ void Base<personality>::commit_register(int reg, uint8_t value) {
LOG("TODO: Yamaha command; " << PADHEX(2) << +value);
// b0b3: LO0LO3 (???)
// b4b7: CM0-CM3 (???)
switch(value >> 4) {
// All codes not listed below are invalid; just abandon
// whatever's going on, if anything.
default: Storage<personality>::command_ = nullptr;
case 0b0000: break; // TODO: stop.
case 0b0100: break; // TODO: point.
case 0b0101: break; // TODO: pset.
case 0b0110: break; // TODO: srch.
case 0b0111:
Storage<personality>::command_ = std::make_unique<Commands::Line>(Storage<personality>::command_context_);
break;
case 0b1000: break; // TODO: lmmv.
case 0b1001: break; // TODO: lmmm.
case 0b1010: break; // TODO: lmcm.
case 0b1011: break; // TODO: lmmc.
case 0b1100: break; // TODO: hmmv.
case 0b1101: break; // TODO: hmmm.
case 0b1110: break; // TODO: ymmm.
case 0b1111: break; // TODO: hmmc.
}
// TODO: record logical mode.
break;
}
}