예제 #1
0
파일: machine.go 프로젝트: DrItanium/cores
func New() (*iris16.Core, error) {
	if c, err := iris16.New(); err != nil {
		return c, err
	} else {
		if err := c.RegisterIoDevice(NewLedArray(baseAddress)); err != nil {
			return nil, err
		} else {
			return c, nil
		}
	}
}
예제 #2
0
파일: decode.go 프로젝트: DrItanium/cores
func NewDecoderUnit(control <-chan Word) (*DecoderUnit, error) {
	var dc DecoderUnit
	if core, err := iris16.New(); err != nil {
		return nil, err
	} else {
		dc.core = core
		// need to install the microcode somehow
	}

	dc.err = make(chan error)
	dc.out = make(chan *DecodedInstruction)
	dc.in = make(chan Word)
	dc.Error = dc.err
	dc.Input = dc.in
	dc.Result = dc.out
	dc.Control = control
	return &dc
}