Hardware: separate monitor from keyboard/mouse devices
branlwyd opened this issue · comments
Refactor99dc358DebuggerFrame
,InstructionDecoder
,Operand
value formatting to use a newValueFormatter
interface rather than using parameters to specify hex or dec. This would add flexibility if we wanted to add different numeric formats later, or if we add another debugger UI.The9470eca*Operand
classes in cc.bran.bdcpu16.codegen are only ever intended to be used byOperand
. Move these classes to be private internal classes toOperand
.Refactor9470ecaint Operand.wordsUsed()
intoboolean usesWord()
. Every operand uses 0 or 1 words, so this is still sufficiently expressive; and many places in code make the assumption that every operand will consume 0 or 1 words, so making this change will cause the interface to match the existing assumptions.- Consider factoring the Keboard/Mouse device pieces apart from the Terminal (UI) piece, and allowing Keyboard/Mouse devices to be arbitrarily attached/detached from Terminals.
9470eca handles the Operand refactorings.
99dc358 handles the value formatting refactor.
Renaming this since there is only one refactor left, and it's pretty big.