Can the display window be re-triggered? (was: 9001 when read?)

Basic and Machine Language

Moderator: Moderators

Post Reply
heaven6502
Vic 20 Drifter
Posts: 29
Joined: Sat Jan 26, 2013 3:30 pm

Can the display window be re-triggered? (was: 9001 when read?)

Post by heaven6502 »

Just wonder if 9001 can be retriggered across the screen? I did 9000 on rasterline basis but that was an easy one...
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Can the display window be re-triggered? (was: 9001 when read?)

Post by Mike »

No. The display window is only triggered once per frame (when $9004 compares equal to $9001), i.e. you can't restart it after it ended by writing a corresponding higher value into $9001.

What you *can* do is filling part of the display window with characters in multicolour that use %01010101 (85 decimal) as fill value. Those characters will be displayed in the exterior border colour. That's exactly how MINIPAINT produces the three windows in the main screen "floating" within the border colour. :mrgreen:
heaven6502
Vic 20 Drifter
Posts: 29
Joined: Sat Jan 26, 2013 3:30 pm

Re: Can the display window be re-triggered? (was: 9001 when read?)

Post by heaven6502 »

interesting... what if I do racing the beam and set $9001 later so it compares more often to $9004?

just thinking out loud at lunch break.

I was always wondering how 4mat did stuff (like in C64 terms) FLD like tricks in his VIC20 intros.

https://youtu.be/McNLJIIEs-A?t=38

as an example but did not looked yet into the code but that was my first idea.

say 9001 is $20 and when $9004 gets at $20 set $9001 to $40 etc...
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Can the display window be re-triggered? (was: 9001 when read?)

Post by Mike »

heaven6502 wrote:what if I do racing the beam and set $9001 later so it compares more often to $9004?
As I wrote:
Mike wrote:you can't restart [the display window] after it ended by writing a corresponding higher value into $9001
...
heaven6502 wrote:I was always wondering how 4mat did stuff (like in C64 terms) FLD like tricks in his VIC20 intros.
This is done by letting the VIC read from unconnected space and having the CPU "execute" the graphics within the immediate operand of repeated LDA #$xx instructions. This relies on parasitic capacitances of the data bus and only works for code in the internal RAM. You define several spans of code that belong to different 'raster lines' of, say, a scroll text - and then by cleverly scheduling these code spans you can do all different sorts of line stretches and line crunchs (or upside-down or whatever).

Edit: the main part of the demo you linked to (with the "girl on a stamp") most probably uses 4 different character sets which provide the smooth pixel wise horizontal movement (the XPOS register itself only has that 4 pixel granularity).
heaven6502
Vic 20 Drifter
Posts: 29
Joined: Sat Jan 26, 2013 3:30 pm

Re: Can the display window be re-triggered? (was: 9001 when read?)

Post by heaven6502 »

Sorry over read your comment with can't restart...

So no VIC 1 tricks? Like the scanline Res vscrolling?
heaven6502
Vic 20 Drifter
Posts: 29
Joined: Sat Jan 26, 2013 3:30 pm

Re: Can the display window be re-triggered? (was: 9001 when read?)

Post by heaven6502 »

And which demo use that bus trick?
User avatar
tokra
Vic 20 Scientist
Posts: 1123
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Re: Can the display window be re-triggered? (was: 9001 when read?)

Post by tokra »

User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Can the display window be re-triggered? (was: 9001 when read?)

Post by Mike »

heaven6502 wrote:And which demo[s] use that bus trick?
Warning by viznut/pwp, for example.
User avatar
pixel
Vic 20 Scientist
Posts: 1358
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: Can the display window be re-triggered? (was: 9001 when read?)

Post by pixel »

heaven6502 wrote: Mon Feb 19, 2024 6:22 am So no VIC 1 tricks? Like the scanline Res vscrolling?
No. There might be some magic waiting here: https://sleepingelephant.com/ipw-web/bu ... php?t=8733 but AFAIK things like the soft-scrolling trick are usually found by accident.
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
Post Reply