[net.micro.cbm] C64 graphics question

d@alice.UucP (Daniel Rosenberg) (02/26/86)

The following is posted for a friend:

------------------------CUT HERE--------------------------------

 How can I position a raster interupt on a hi-res screen so that
I may display text on the lower half and use the top for a
hi-res display? As of now, I am forced to copy the character from ROM
to the screen, this is becoming a bit tedious. I am writing
a program using digitized speech, and would like to make a graph
of certain waveforms being generated by the speech on the
top, and display text on the bottom.
 Any help would be greatly appreciated. I am posting this
through a freind.

              Thanks in advance,
               Greg Tusar

**************************************************************

   Greg Tusar 
    'Imagination is more important than knowledge'
            - Albert Einstein
--------------------------------------------------------------

Mail replies to me (d) at [ihnp4;allegra;research]!alice!d
or , and this sometimes takes days, to:
{ihnp4 or any backbone you're particular to}!topaz!unirot!gat

-- 
############################################################################
# Daniel Rosenberg / Bell Labs / Murray Hill / I disclaim.
# {ihnp4;allegra;research}!alice!d || {ihnp4;allegra;research}!charm!dan

brown@nicmad.UUCP (03/20/86)

In article <5036@alice.uUCp> d@alice.UucP (Daniel Rosenberg) writes:
>The following is posted for a friend:
>
>------------------------CUT HERE--------------------------------
>
> How can I position a raster interupt on a hi-res screen so that
>I may display text on the lower half and use the top for a
>hi-res display? As of now, I am forced to copy the character from ROM
>to the screen, this is becoming a bit tedious. I am writing
>a program using digitized speech, and would like to make a graph
>of certain waveforms being generated by the speech on the
>top, and display text on the bottom.
> Any help would be greatly appreciated. I am posting this
>through a freind.

I am not at home to look up the details, for the gerneralities will
lead you in the right direction.

You will only be able to do this via assembly language programming,
as the BASIC is much too slow to really be able to do this.

The Video chips has registers which can be manipulated so that an interrupt
will occur when you reach a certain line.  If you want graphics at the
beginning of the screen, you set the line register to 0 (or 1).  After
you get the interrupt, you then change the line register to the next
break point, say line 150.

Now, when it reaches line 150, you get the interrupt and you change the
workings so that the C64 is back into text mode.  You also set the line
register back to line 0 (or 1).

But, here is a big BUT, if the time it takes to draw the graphics or do
the text takes longer than the amount of time available during that portion
of the display, it would be best to do the actual transfer of that stuff
while you are waiting for the next interrupt.  So, all you really want
to do after the interrupt is change the workings so that you set up
the video chip to display the area of memory involved at the time.
In other words, you will be switching between graphics and text modes.

But, like I said earlier, Basic is too slow to handle the interrupt stuff.
-- 

              ihnp4------\
            harvard-\     \
Mr. Video      seismo!uwvax!nicmad!brown
              topaz-/     /
             decvax------/