[TI z80 asm] Interrupt modes

Got questions? Got answers? Go here for both.

Moderator: MaxCoderz Staff

Post Reply
King Harold
Calc King
Posts: 1513
Joined: Sat 05 Aug, 2006 7:22 am

[TI z80 asm] Interrupt modes

Post by King Harold »

I've posted about it before, there are 4 interrupt modes!
They are as follows:
IM 0 ED86
IM ? ED8E <-- NOT a NOP!
IM 1 ED96
IM 2 ED9E

The unknown IM has thus far been "documented" as an undocumented NOP, but when executed it changes the Interrupt Mode!
Try it out on your calc..
The program will run normally but when it exits the calculator will not use the IM1 interrupt anymore so the keys won't be checked and the cursor won't blink etc.
I haven't yet found a use for it though.. But perhaps someone else could find out more about it?
User avatar
Jim e
Calc King
Posts: 2457
Joined: Sun 26 Dec, 2004 5:27 am
Location: SXIOPO = Infinite lives for both players
Contact:

Post by Jim e »

It's probably just im 0, since the switching bit seems to be dependent on bit 4 of the second opcode. Problem is that im 0 isn't easy to test. The z80 will try to get byte(s) from the hardware but the hardware wont respond with anything so whatever is on the databus will be used for the interrupt.
Image
King Harold
Calc King
Posts: 1513
Joined: Sat 05 Aug, 2006 7:22 am

Post by King Harold »

Ah I see..
So definitly not a NOP :)
CoBB
MCF Legend
Posts: 1601
Joined: Mon 20 Dec, 2004 8:45 am
Location: Budapest, Absurdistan
Contact:

Post by CoBB »

It's generally believed to be an IM 0 mirror.
King Harold
Calc King
Posts: 1513
Joined: Sat 05 Aug, 2006 7:22 am

Post by King Harold »

How would we find out if it isn't, though?
Is it even possible?
User avatar
driesguldolf
Extreme Poster
Posts: 395
Joined: Thu 17 May, 2007 4:49 pm
Location: $4080
Contact:

Post by driesguldolf »

Why can't we simply ask the manifacturer (not ti :P but zilog or something)?
King Harold
Calc King
Posts: 1513
Joined: Sat 05 Aug, 2006 7:22 am

Post by King Harold »

Why should they care? They'd probably tell you that they "sadly do not have the information you require" or some such. Since that's cheaper than actually looking it up.
You could try of course
User avatar
Dwedit
Maxcoderz Staff
Posts: 579
Joined: Wed 15 Dec, 2004 6:06 am
Location: Chicago!
Contact:

Post by Dwedit »

Usually it's called IM 0/1, because the people who make the undocumented instruction lists have no clue which one it actually selects.
You know your hexadecimal output routine is broken when it displays the character 'G'.
Post Reply