Jump to content
philipj

"An Interrupt Driven Real-Time Clock for TMS 9900" 1982 Byte Article

Recommended Posts

Here's a little article I ran into at "archive.org" from an 1980 "Byte" magazine... A link to the web-link is below. I haven't read it fully, but I do understand that those interrupts can be pretty fast when used properly, especially on the TI-99 with it's limitations. I've attached a PDF file to this post to specific article discussing an "Interrupt Driven Real Time Clock" with source code. I bet there's all sorts of useful things that can come from the article for anyone who's interested.

 

https://archive.org/details/byte-magazine-1980-09

An Interrupt-Driven Real-Time Clock for the TMS 9900.pdf

Edited by philipj

Share this post


Link to post
Share on other sites

The problem with a standard 99/4A is that you can't change the interrupt vectors, as they are in ROM. Thus you are much more limited in what you can do with interrupts. There's a user defined interrupt you can use, but it's pretty inefficient, compared to a "real" interrupt. If you have a console modified like mine, you can change the vectors, but that's not any standard.

If you try something similar on the 99/4A, you'd also find that things like disk access implies that no interrupts are serviced, so the clock would lose some time there.

 

I have a real-time clock implemented in hardware in my machine instead. It keeps track of time, even when the computer isn't on.

Share this post


Link to post
Share on other sites

There's a user defined interrupt you can use, but it's pretty inefficient, compared to a "real" interrupt.

 

Inefficient in which respect?

0AB0 MOV @>83C4,R12
0AB4 JEQ >0AB8
0AB6 B *R12
Edited by mizapf

Share this post


Link to post
Share on other sites

Ok here's a link to a website that found a few weeks ago concerning interrupts specifically for the TI-99/4A system... I'm still learning as much as I can about the computer so for the moment I'm simply fishing for as much info as I can at this point so any thoughts posted here will certainly be helpful and documented. I'm really interested in doing graphics and sound for the system, but when I saw the article I was pretty excited about it and was looking forward to using it for graphical purposes, but a simple clock would be a great way to start off programming.

 

http://www.nouspikel.com/ti99/titechpages.htm

Share this post


Link to post
Share on other sites

I meant that the user interrupt is pretty inefficient since it's a part of the computer's full interrupt routine. Which checks for several other things too, not only the user interrupt. If you can modify the interrupt vector directly, which you can't as long as it's in ROM, then you can make an interrupt routine dedicated to driving a clock, for example.

Share this post


Link to post
Share on other sites

Yes, but you can turn off the other stuff with the flag byte (83C2), and then it's not so long from the interrupt occurrance until it reaches this portion of code. And if you were using the console interrupt routine anyway, the user interrupt should be only a minimal additional effort.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...