If you interrupt routine is small, could you not also just switch off
the first one or two scanlines of your display, and even grab a few
extra cycles out as a result? Or can you not enable and disable the
display per scanline?

And, yes, I know I'm missing the point with this question, I'm just curious.

On Wed, May 21, 2008 at 3:12 PM, Andrew Collier <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I'm using IM2 in ... um, a current project ... in which I have more spite
> drawing code than will fit in 32k. Thus I need to keep the screen in one half
> of memory while the other half is a moveable window into other pages.
>
> If I used IM1 this would require that either, a) the screen goes in sections A
> and B, and the interrupt routine is actuially visible in pixels - or b) the
> moveable window goes in sections A and B, and I have to duplicate the
> interrupt routine in nearly every page of memory.
>
> So I'm using IM2 instead, and the interrupt routine can slot into the last 8k
> following the screen.
>
> Cheers,
> Andrew
>
>
> On Wed, May 21, 2008 at 02:08:51PM +0100, Geoff Winkless wrote:
>> I have to admit I was wondering the same. IM2 was necessary on the speccy
>> because 0x38 was in ROM and couldn't be paged out but I see no reason not
>> to use IM1 on the Sam. I'm quite happy to be told otherwise, of course :)
>>
>> Geoff
>>
>> On Wed, 21 May 2008 13:50:14 +0100, "Adrian Brown"
>> <[EMAIL PROTECTED]> wrote:
>> > Ok, i haven't read all the posts on this, but why not stick the code in
>> > LMPR and use IM1 - saves having the table of vectors.
>> >
>> > Adrian
>> > ** UIP Sam Port 4100+ lines of z80 and climbing
>> >
>> > -----Original Message-----
>> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
>> > On Behalf Of David Brant
>> > Sent: 21 May 2008 06:46
>> > To: sam-users@nvg.ntnu.no
>> > Subject: Re: Short, short questions
>> >
>> > I thought the idea of mode2 was you could have different vectors for
>> > different devices connected well this throws a spanner in the works. But
>> >
>> > then again is there any hardware for the SAM that uses them? I think it
>> > must
>> > have been an old spectrum book that said this about swapping high,low
>> > bytes.
>> > After a little test and using old brain this is wrong.
>> >
>> > Dave
>> >
>> > ----- Original Message -----
>> > From: "Edwin Blink" <[EMAIL PROTECTED]>
>> > To: <sam-users@nvg.ntnu.no>
>> > Sent: Wednesday, May 21, 2008 5:34 AM
>> > Subject: Re: Short, short questions
>> >
>> >
>> >> All 8 bits are used for LSB of the vector. The part where bit 0 always
>> > is
>> >> zero is when one of the Z80's IO chips is connected (PIO,SIO,CTC etc)
>> > is
>> >> connected.
>> >>
>> >> Edwin
>> >>
>> >> ----- Original Message -----
>> >> From: "David Brant" <[EMAIL PROTECTED]>
>> >> To: <sam-users@nvg.ntnu.no>
>> >> Sent: Wednesday, May 21, 2008 1:02 AM
>> >> Subject: Re: Short, short questions
>> >>
>> >>
>> >>> I've just been looking at my books. Although I can't find the bit
>> > that
>> >>> said about swapping to high,low but I'm sure that I did read it
>> >>> somewhere. It does say that the device only gives the bits 1-7 and
>> > bit 0
>> >>> is always 0 giving 128 possible addresses.
>> >>>
>> >>> Dave
>> >>>
>> >>> ----- Original Message -----
>> >>> From: "David Brant" <[EMAIL PROTECTED]>
>> >>> To: <sam-users@nvg.ntnu.no>
>> >>> Sent: Tuesday, May 20, 2008 10:49 PM
>> >>> Subject: Re: Short, short questions
>> >>>
>> >>>
>> >>>> This was based on info from a book called z-80 Workshop manual by
>> > E.A
>> >>>> Parr. The I register gives the high part of the table and the
>> > hardware
>> >>>> gives the low part to the table then takes that word for the service
>> >
>> >>>> routine. So if you start from one byte before the table and use the
>> > same
>> >>>> address for all entries and over run it by one it will work. My demo
>> > of
>> >>>> a full scrolling football pitch used this system, which I believe
>> > you
>> >>>> saw many years a go.
>> >>>>
>> >>>> Dave
>> >>>>
>> >>>> ----- Original Message -----
>> >>>> From: "Andrew Collier" <[EMAIL PROTECTED]>
>> >>>> To: <sam-users@nvg.ntnu.no>
>> >>>> Sent: Tuesday, May 20, 2008 9:50 PM
>> >>>> Subject: Re: Short, short questions
>> >>>>
>> >>>>
>> >>>>> Hi,
>> >>>>>
>> >>>>> I'm sceptical about this claim. I've never heard anybody say that
>> > the
>> >>>>> vector formed is big-endian - it's just you don't know the byte
>> > offset
>> >>>>> from which the interrupt vector will be fetched. (As Edwin says, it
>> > is
>> >>>>> usually 255 - which is odd so your 1-aligned table will usually
>> > work -
>> >>>>> but I don't know that Sam's hardware guarantees this).
>> >>>>>
>> >>>>> So the high byte comes from I, the low byte from the data bus; this
>> >
>> >>>>> forms a 16 bit address which will be incremented once (which is why
>> >
>> >>>>> the table needs 257 bytes, not 256). You could, at least in theory,
>> >
>> >>>>> read the vector address from even or odd overlapping entries, which
>> > is
>> >>>>> why the usual strategy is to pick a vector address whose low and
>> > high
>> >>>>> bytes are the same.
>> >>>>>
>> >>>>> The last IM2 interrupt routine I wrote looked something like this:
>> >>>>>
>> >>>>> ds ALIGN 256
>> >>>>> IM2TABLE: equ $
>> >>>>> IM2BYTE: equ im2table/256
>> >>>>>
>> >>>>> IM2TARGETBYTE:  equ IM2BYTE+1
>> >>>>> for 257, DB IM2TARGETBYTE
>> >>>>>
>> >>>>> IM2TARGET: equ 257*IM2TARGETBYTE
>> >>>>> ds IM2TARGET-$
>> >>>>>
>> >>>>>                 EX   AF,AF'
>> >>>>> ...
>> >>>>>
>> >>>>> Andrew
>> >>>>>
>> >>>>>
>> >>>>> On 20 May 2008, at 21:16, David Brant wrote:
>> >>>>>
>> >>>>>> Mode 2 uses a table with 128 word address but as byte high,byte
>> > low
>> >>>>>> not the normal low, high bytes
>> >>>>>>
>> >>>>>> So if you set your org/dump address to &??FF (i.e. &??00-1)
>> >>>>>>
>> >>>>>> and then do
>> >>>>>>
>> >>>>>>           DEFW    mode2.i,mode2.i
>> >>>>>>
>> >>>>>> so you have 129 words.
>> >>>>>>
>> >>>>>> mode2.i:
>> >>>>>>                       di
>> >>>>>>                       push    af
>> >>>>>>                       in    a,(status.int)
>> >>>>>>                          .....
>> >>>>>>                          .....
>> >>>>>>                       ei
>> >>>>>>                       ret
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> ----- Original Message ----- From: "Andrew Collier"
>> >>>>>> <[EMAIL PROTECTED]
>> >>>>>> >
>> >>>>>> To: <sam-users@nvg.ntnu.no>
>> >>>>>> Sent: Tuesday, May 20, 2008 3:22 PM
>> >>>>>> Subject: Re: Short, short questions
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>> The usual strategies are to use mode 1, or to use mode 2 with a
>> > 257-
>> >>>>>>> byte table all
>> >>>>>>> containing the same byte.
>> >>>>>>>
>> >>>>>>
>> >>>>>
>> >>>>> --
>> >>>>>  ---       Andrew Collier         ----
>> >>>>>   ---- http://www.intensity.org.uk/ ---
>> >>>>>                                       --
>> >>>>>
>> >>>>>
>> >>>>
>> >>>
>> >>
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > APB Computer Services Ltd. Registered Address: 3 Springfield, Trevadlock,
>> > Congdons Shop, Launceston, Cornwall, PL15 7PW.  Registration Number:
>> > 4942193.  V.A.T. No: 826 0005 70
>> >
>> > This email and any files transmitted with it are confidential and
>> intended
>> > solely for the use of the individual or entity to whom they are
>> addressed.
>> > If you have received this email in error please notify the system
>> manager.
>> > This message contains confidential information and is intended only for
>> the
>> > individual named. If you are not the named addressee you should not
>> > disseminate, distribute or copy this e-mail. Please notify the sender
>> > immediately by e-mail if you have received this e-mail by mistake and
>> > delete this e-mail from your system. If you are not the intended
>> recipient
>> > you are notified that disclosing, copying, distributing or taking any
>> > action in reliance on the contents of this information is strictly
>> > prohibited.
>>
>
> --
>  ---       Andrew Collier         ----
>  ---- http://www.intensity.org.uk/ ---
>                                      --
> r<2+ T<4* cSEL dMS hEn/CB<BL A4 S+*<++ C$++L/mP W- a-- Vh+seT+ (Cantab) 1.1.4
>

Reply via email to