cpu state
This commit is contained in:
parent
7120b60ae7
commit
d50da49ea6
|
@ -37,6 +37,7 @@
|
||||||
|
|
||||||
- [Easy 6502](https://skilldrick.github.io/easy6502/)
|
- [Easy 6502](https://skilldrick.github.io/easy6502/)
|
||||||
- [Annotated Snake6502](https://gist.github.com/wkjagt/9043907)
|
- [Annotated Snake6502](https://gist.github.com/wkjagt/9043907)
|
||||||
|
- [Ultimate Commodore 64 Reference - 6502](https://www.pagetable.com/c64ref/6502/)
|
||||||
|
|
||||||
## Colophon
|
## Colophon
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
package com.htmlism.firepower.cpu
|
||||||
|
|
||||||
|
case class CpuState(
|
||||||
|
accumulator: UByte,
|
||||||
|
xRegister: UByte,
|
||||||
|
yRegister: UByte,
|
||||||
|
stackPointer: UByte,
|
||||||
|
programCounterLo: UByte,
|
||||||
|
programCounterHi: UByte,
|
||||||
|
negative: Boolean,
|
||||||
|
overflow: Boolean,
|
||||||
|
break: Boolean,
|
||||||
|
decimal: Boolean,
|
||||||
|
interruptsDisabled: Boolean,
|
||||||
|
zero: Boolean,
|
||||||
|
carry: Boolean
|
||||||
|
)
|
||||||
|
|
||||||
|
object CpuState:
|
||||||
|
val empty: CpuState =
|
||||||
|
CpuState(
|
||||||
|
accumulator = UByte(0),
|
||||||
|
xRegister = UByte(0),
|
||||||
|
yRegister = UByte(0),
|
||||||
|
stackPointer = UByte(0),
|
||||||
|
programCounterLo = UByte(0),
|
||||||
|
programCounterHi = UByte(0),
|
||||||
|
negative = false,
|
||||||
|
overflow = false,
|
||||||
|
break = false,
|
||||||
|
decimal = false,
|
||||||
|
interruptsDisabled = false,
|
||||||
|
zero = false,
|
||||||
|
carry = false
|
||||||
|
)
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.htmlism.firepower.cpu
|
||||||
|
|
||||||
|
opaque type UByte =
|
||||||
|
Byte
|
||||||
|
|
||||||
|
extension (b: UByte)
|
||||||
|
def inc: UByte =
|
||||||
|
((b & 0xff) + 1).toByte
|
||||||
|
|
||||||
|
def dec: UByte =
|
||||||
|
((b & 0xff) - 1).toByte
|
||||||
|
|
||||||
|
object UByte:
|
||||||
|
def apply(n: Int): UByte =
|
||||||
|
n.toByte
|
Loading…
Reference in New Issue