COMMODORE PLUS/4 WORLD
  Home  Search  Games  Tapes  Covers  Cheats  Maps  Software  New Stuff 
 Hall Of Fame  HVTC  Game Endings  Solutions  Remakes  Publications  Magazines  Effects  Top List 
 Members  Groups  Features  Plus/4 Encyclopedia  Hardware  Tools  Options  Forum 
Login
Back to forumReply To This TopicGo to last reply

Posted By

Luca
on 2017-09-29
16:06:54
 Different $FF07 on the same scanline

Of course, it should be not possible to have different $FF07 states on the same sacnline in order to perform two different textscrollers in the same row by pure splitting, am I right?

Posted By

Gaia
on 2017-09-29
16:52:50
 Re: Different $FF07 on the same scanline

it's definitely possible but it's ugly

Posted By

bubis
on 2017-09-29
17:08:14
 Re: Different $FF07 on the same scanline

Well, you can't "split" on badlines. You can skip badlines, but then you need to change charset for the next character row to show different graphics there, so that's doable.
BUT, you can't hide the firs and last character of the scroller like you do using 38 wide screen. Maybe you can fade out colors, but I agree, it will be ugly.

Still, I think it is possible, but a much more complex exercise and no hardware trick is involved. I think you need something similar to what MC did in Autumn Colors' vertical scroller. He used a clever charset for the task.

http://plus4world.powweb.com/software/Autumn_Colors

Posted By

Luca
on 2017-09-30
01:55:10
 Re: Different $FF07 on the same scanline

I tried to obtain that by pure hardware, no visual trick involved, just like a real rastersplit by synchronizing the right horizontal scan values: $FF07 generally affects the whole scanline even at a certain $FF1E, in the midst time, but it affects the whole scanline. Oh well, it was be worth to spend an attempt

Posted By

Gaia
on 2017-09-30
07:34:04
 Re: Different $FF07 on the same scanline

wait a minute: scanline or badline?

Posted By

Luca
on 2017-09-30
10:36:57
 Re: Different $FF07 on the same scanline

Simply scanline for now. Let's aim a target: opposite textscrolling in the same row by hardware, no tricks

Posted By

Csabo
on 2017-10-02
16:22:22
 Re: Different $FF07 on the same scanline

Okay, I'm late to the party, and the above stuff sounds confusing. Let's try to clear this up once and for all: is it *possible* to change $FF07 in the middle of a scanline? I thought it's *not* possible, $FF07 would affect the entire line, whatever is set in the beginning is applied for the entire line. But Gaia said it's possible... Is it?

(Otherwise, we know that this is very simple to do with soft scrolling. In fact I'm pretty sure it's been done in some old-school demos, similar to Beach Megademo, though I can't think of an actual example.)

Posted By

Gaia
on 2017-10-03
18:05:35
 Re: Different $FF07 on the same scanline

Well, yeah, it's possible but it's not gonna look good, besides the fact that you can not do it on bad lines. There is one intro that comes to mind for now where you can observe this phenomenon: HCS Packer 7.0

Posted By

Csabo
on 2017-10-04
07:53:48
 Re: Different $FF07 on the same scanline

Right, can't do it on badlines, but still... Huh. I guess my own Direct Mode does the same thing: the colors and the waving is not horizontally synced.

Edit: I put together an example, it really does work: FF07 Split Tech Demo.

Posted By

Luca
on 2017-10-04
09:59:48
 Re: Different $FF07 on the same scanline

Wooow, Csabo, it really does! :o I've given it a try almost the same way, but it didn't worked to me, probably I badly implemented it. Let's carefully read that source then... Whereas I tried to seek one single value of $FF1E, I guess to see intop your IRQ a sort of "trap" to seek the horizontal scanning into a certain range of values, which appears to be quite a large one: $10! This is one lesson I must keep in mind, manageing the $FF1E, thank you!

EDIT: has been the $10 range chosen for a reason or it's trial'n'error by experience?

Posted By

Mad
on 2017-10-04
12:55:12
 Re: Different $FF07 on the same scanline

Woooooowww Csabo! Can't believe what I am seeing.. That is exactly (if I am not mistaken) the way the guys on Amiga code their zoomers. But they do have 20 rastersplits of this on one line.. Nice effect!!

Sidenote: on C64 and Plus/4 the same zoomers are coded with pre shifted chars (almost the same effect, though). And the $ff07 one has these visible gaps. Perhaps this effect can be used for something else..
Another sidenode: here it is very visible, what the amiga guys are doing. But this demo is on a ST and also using blitting instead of modifying the scroll ($ff07) register, opposed to the Amiga guys who use the scroll register for this effect.. https://youtu.be/b0JiM7Ynqt0?t=39s

Posted By

Csabo
on 2017-10-04
15:26:12
 Re: Different $FF07 on the same scanline

Luca: Well... So what I did was pretty simple: step 1) stabilize horizontal position (which I took as-is from the Club Info 133 intro, that one also has source posted). Step 2) simple raster split, just 3 STA's to $FF15, padded with NOPs, nothing fancy really. I adjusted it to have 3 splits on screen. Once I was happy with that, I replaced the $FF15 writes with $FF07 writes... and it worked. Cleaned it up a little, but that's about it.

Posted By

Gaia
on 2017-10-04
15:56:43
 Re: Different $FF07 on the same scanline

Kudos, Csabo, this is really cool indeed, perhaps even a firstie? Anyway, you do not have to write FF1E _per se_ for this to work. It is still not super beautiful I wish we had sprites to overlap the left side of the right hand part but hey you can't have it all, right?

Posted By

Ati
on 2017-10-04
16:57:00
 Re: Different $FF07 on the same scanline

Csabo, your tech demo works on real plus4 too?

Posted By

Csabo
on 2017-10-04
22:03:37
 Re: Different $FF07 on the same scanline

Hehe, good question, Ati Can anyone check?

(Also, I'm not writing to $FF1E, there's no need. I'm only reading it for cycle-exact horizontal sync.)

Posted By

Luca
on 2017-10-05
02:31:34
 Re: Different $FF07 on the same scanline

As I've written before, I did almost the same to achieve this result, but what I can see here is a $10 large trap to seek the right horizontal scanning. This pushes a reason for my failure: $FF1E changes very fast and it's possible that your code could "miss" the exact target if you're seeking for one single value of $FF1E at any frame.
We've just seen this before, in the vertical splitting thread, where TLC suggested a similar stabilizing code, nonetheless I haven't learnt this lesson yet

Asking it again: is there a reason for the $10 large range where to be sure to trap the horizontal scanning?
And more: if you double scroll a 2 chars high text, should you use a slightly different macro with 23 cycles less in order to compensate two badlines? E.g.:
	split_colors
split_colors
split_colors
split_colors
split_colors
split_colors
split_colors_shorter
split_colors_shorter

split_colors
split_colors
split_colors
split_colors
split_colors
split_colors


EDIT: the "multiple $ff07 per scanline" problem rises up due to the build up of a cheap titlescreen I'm adding to a little project which has been stopped for too much time, so it must be completed as soon as possible, before it gets rotten by reaching the expiry date :) In the very end, it seems I don't really need to death that kind of effect, nonetheless we have out best chitchatting about these juicy tricks, and I love this so much
Csabo that's the project that indirectly involves you too, and you don't like so much Now I only have to learn how to TEDzakker at decend skill to fill 2Kb and finish it.

Posted By

Spektro
on 2017-10-08
09:11:34
 Re: Different $FF07 on the same scanline

I can confirm that Csabo's tech demo works on a real plus4.

Posted By

Csabo
on 2017-10-08
13:00:25
 Re: Different $FF07 on the same scanline

Awesome news Spektro, thanks for verifying it.

Posted By

Degauss
on 2017-10-08
16:22:38
 Re: Different $FF07 on the same scanline

@Csabo: Awesomeness!

Never tried $FF07-Splits. I just once managed to have a split charactermode/bitmap-mode screen for zenith of puberty. the main difference between emulator and real-iron was some black-pixel-garbage that was around 6-characters in width.



Back to topReply To This Topic


Copyright © Plus/4 World Team, 2001-2017