Can the display window be re-triggered? (was: 9001 when read?)
Moderator: Moderators
-
- Vic 20 Drifter
- Posts: 29
- Joined: Sat Jan 26, 2013 3:30 pm
Can the display window be re-triggered? (was: 9001 when read?)
Just wonder if 9001 can be retriggered across the screen? I did 9000 on rasterline basis but that was an easy one...
- Mike
- Herr VC
- Posts: 4856
- 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?)
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.
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.
-
- 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?)
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...
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...
- Mike
- Herr VC
- Posts: 4856
- 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?)
As I wrote:heaven6502 wrote:what if I do racing the beam and set $9001 later so it compares more often to $9004?
...Mike wrote:you can't restart [the display window] after it ended by writing a corresponding higher value into $9001
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).heaven6502 wrote:I was always wondering how 4mat did stuff (like in C64 terms) FLD like tricks in his VIC20 intros.
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).
-
- 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?)
Sorry over read your comment with can't restart...
So no VIC 1 tricks? Like the scanline Res vscrolling?
So no VIC 1 tricks? Like the scanline Res vscrolling?
-
- 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?)
And which demo use that bus trick?
Re: Can the display window be re-triggered? (was: 9001 when read?)
I would suggest this document and the accompanying testprogs:
https://sourceforge.net/p/vice-emu/code ... lation.txt
https://sourceforge.net/p/vice-emu/code ... 0/vic6561/
https://sourceforge.net/p/vice-emu/code ... lation.txt
https://sourceforge.net/p/vice-emu/code ... 0/vic6561/
- Mike
- Herr VC
- Posts: 4856
- 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?)
Warning by viznut/pwp, for example.heaven6502 wrote:And which demo[s] use that bus trick?
- pixel
- Vic 20 Scientist
- Posts: 1379
- 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?)
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
https://github.com/SvenMichaelKlose