Versions in this module Expand all Collapse all v0 v0.6.1 Jun 1, 2021 Changes in this version type Debug + InstallInterruptHandler func(handler InterruptHandler, num ...int) error v0.5.1 Sep 3, 2020 Changes in this version + var ErrCPUHalt = errors.New("CPU HALT") + var ErrInterruptNotHandled = errors.New("interrupt not handled") + type Debug interface + Break func() + GetStats func() Stats + type InterruptController interface + GetInterrupt func() (int, error) + IRQ func(n int) + type InterruptHandler interface + HandleInterrupt func(n int) error + type Processor interface + GetInterruptController func() InterruptController + GetMappedIODevice func(port uint16) memory.IO + GetMappedMemoryDevice func(addr memory.Pointer) memory.Memory + GetRegisters func() *Registers + InByte func(port uint16) byte + InWord func(port uint16) uint16 + InstallIODevice func(device memory.IO, from, to uint16) error + InstallIODeviceAt func(device memory.IO, port ...uint16) error + InstallInterruptHandler func(num int, handler InterruptHandler) error + InstallMemoryDevice func(device memory.Memory, from, to memory.Pointer) error + InstallMemoryDeviceAt func(device memory.Memory, addr ...memory.Pointer) error + OutByte func(port uint16, data byte) + OutWord func(port uint16, data uint16) + ReadByte func(addr memory.Pointer) byte + ReadWord func(addr memory.Pointer) uint16 + WriteByte func(addr memory.Pointer, data byte) + WriteWord func(addr memory.Pointer, data uint16) + type Registers struct + AF bool + AX uint16 + BP uint16 + BX uint16 + CF bool + CS uint16 + CX uint16 + DF bool + DI uint16 + DS uint16 + DX uint16 + Debug bool + ES uint16 + IF bool + IP uint16 + OF bool + PF bool + SF bool + SI uint16 + SP uint16 + SS uint16 + TF bool + ZF bool + func (r *Registers) AH() byte + func (r *Registers) AL() byte + func (r *Registers) BH() byte + func (r *Registers) BL() byte + func (r *Registers) CH() byte + func (r *Registers) CL() byte + func (r *Registers) DH() byte + func (r *Registers) DL() byte + func (r *Registers) SetAH(v byte) + func (r *Registers) SetAL(v byte) + func (r *Registers) SetBH(v byte) + func (r *Registers) SetBL(v byte) + func (r *Registers) SetCH(v byte) + func (r *Registers) SetCL(v byte) + func (r *Registers) SetDH(v byte) + func (r *Registers) SetDL(v byte) + type Stats struct + NOP uint64 + NumInstructions uint64 + NumInterrupts uint32 + RX uint64 + TX uint64