Login
Back to forumReply to this topicGo to last reply

Posted By

MikeZ
on 2008-10-29
09:23:35
 plus/4 raster interrupt

The IRQ handler ends by placing the value #$A1 in $FF0B, the raster interrupt value register. If no other interrupts are generated, there will be another raster interrupt when the raster vertical count again gets to #$A1. The only reason I can think of for this value to be #$A1 and not something else is that #$A1 is the raster line number that is the division between top and bottom parts of a split screen. Does anyone have additional information ???? Thanks.

Posted By

IstvanV
on 2008-10-29
09:40:59
 Re: plus/4 raster interrupt

> The only reason I can think of for this value to be #$A1 and not something else is that #$A1 is the raster line number that is the division between top and bottom parts of a split screen.

Yes. The bottom part actually begins at line $A4 with the default vertical scroll setting, but it takes some time until the kernal actually sets the TED registers, so the interrupt is set slightly earlier. For a clean division, $FF14 should be set before line $A3, and $FF06, $FF07, and $FF12 should be set between lines $A3 and $A4.
There is also another interrupt after the end of the 40x25 text area (which is between lines 4 and $CC). This is the main raster interrupt where things like scanning the keyboard matrix are done.

Posted By

MikeZ
on 2008-10-29
15:39:16
 Re: plus/4 raster interrupt

Thanks IstvanV. I can see in the code that the IRQ toggles between #$A1 and #$CC for the two raster interrupts.

Posted By

indi
on 2008-10-29
16:12:49
 Re: plus/4 raster interrupt

The reason for 2 seprate IRQ's is that BASIC can do a split screen graphic mode (can't remember the graphic mode off hand). This allowed things like graphics adventures to be written in basic as most of the top part of the screen was a bitmap, and the lower area characters.

Pretty neat for a default basic command....

Posted By

IstvanV
on 2008-10-29
17:18:24
 Re: plus/4 raster interrupt

In basic, graphic mode 1 is full-screen hires, mode 2 is hires+text, mode 3 is full-screen multicolor, and mode 4 is multicolor+text.

Posted By

SVS
on 2008-10-30
03:29:21
 Re: plus/4 raster interrupt

What happens if one wedges the IRQ and set a value different than #$A1?

Posted By

Chicken
on 2009-01-07
01:04:25
 Re: plus/4 raster interrupt

There was a neat llittle tool in "Compute mit" which did just that. You could choose the number of character lines you wanted in the split screen. The split would happen at charline borders (every 8 pixels). I used that for an unfinished (of course wink ) adventure before I started to learn assembly language. I think it worked flawless. Maybe it's been uploaded to some of the servers already.



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024