Tridora-CPU/tridoraemu/irqc.go
2024-09-11 23:52:25 +02:00

29 lines
590 B
Go

// Copyright 2021-2024 Sebastian Lederer. See the file LICENSE.md for details
package main
import (
"time"
// "fmt"
)
const MSecsPerTick = 50
type IRQC struct {
start time.Time
}
func (i *IRQC) initialize() {
i.start = time.Now()
}
func (i *IRQC) read(byteaddr word) (word, error) {
elapsedms := time.Since(i.start).Milliseconds()
elapsedTicks := elapsedms / MSecsPerTick
result := word((elapsedTicks & 0x0FFFFFFF) << 8)
//fmt.Printf("** IRQC read: %08X (%v)\n", result, elapsedms)
return result, nil
}
func (i *IRQC) write(value word, byteaddr word) (error) {
return nil
}