-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
casio/cfx9850.cpp: Various fixes #12137
Conversation
m_timer = timer_alloc(FUNC(hcd62121_cpu_device::timer_tick), this); | ||
m_timer->adjust(attotime::from_seconds(1), 0, attotime::from_seconds(1)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where does this one-second tick come from? Does the CPU have a secondary clock input? Is it an external 1-second tick input, or is it pre-scaled on the chip? (Seiko Epson PDA CPUs have a secondary oscillator that’s usually connected to a 32.768kHz watch crystal that has configurable dividers for generating the clock tick signal.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a secondary 2-pin crystal oscillator that can be connected to the CPU, but it seems to be unrelated, since it's optional: it's present on Picky Talk, but on CFX9850GB both ends are connected with a resistor.
The 1-second tick feature is present on both systems. The way I measured it was by sampling the TIME register value after various timer waits, and it was being incremented roughly every second, including the cutoff at 60. It isn't very clear to me yet how the CPU is configuring this timer.
display_ram
mapping, this one doesn't write to segment 0x60;timer_wait
;