Login
Back to forumSee the full topicGo to last reply

Posted By

TLC
on 2010-12-17
08:06:59
 Re: Vertical splitting

Nah,... as you see I didn't invent that "myself" but I learnt how to do that by inspecting someone others' code (Mucsi, to be precise). ...Okay, looks like I'm gonna chit-chat some, please skip if uninterested happy. ...So, the first FLI code I've ever seen on Plus/4 has been Muffbusters' part from Compy Xmas (ie. Compy Xmas'90). By then, I had already known how the effect should work in principle, but not from my own experience; I knew the "how"-s and "why"-s from a friend (József Virág a.k.a Hellish Boy who also did some gfx-artwork for my early demos) who had been doing C64-related scene activities; yet, I couldn't translate that knowledge to Plus/4 code at the time, I was just not experienced enough (...and C64 and Plus/4 FLIs, although similar in principle, do also slightly differ from each other). ...As you can possibly see, not even Mucsi knew exactly how Plus/4 FLIs ie. TED badline logics really worked, he coded something that looked "likely" to be "the" FLI effect of the TED -- I would make a huge bet that he based his routine on C64 experiences, judging from the routine itself -- , wrote some efx on top of that and that was all, that's what we could watch in their part from Compy Xmas. Neither did I realize that this original FLI routine was not "everything" possible with the TED, ...and I've been also hindered by some boundary conditions, ie. no earlier had I any Plus/4 scene contacts than late August/early September of 1991, ie. I couldn't really have hot Plus/4 scene stuff before but just with huge latencies; I remember I didn't have Compy Xmas before late spring/early summer of 1991 (which means approximately half a year of delay).

My FLI Editor was created during the autumn of 1992. ...At the time I was slightly down with scene contacts, because my OC-118N drive had given up the fight, it was irreparable, and I couldn't afford buying a replacement. The stuff has consequently been created with just a datassette at hand, and in monitor (and at the same time, my possibilities to swap stuff with people greatly dropped). Little did I know about more possibilities of FLI (I didn't know how it worked "precisely"), thus the "classic", 1-line FLI effect supported by the editor (which is, admittedly, basically useless for hand-pixelling gfx -- but I didn't know that fact at the time, nor the other fact, that "1-line FLI" was not the ultimate end of possibilities from FLI effects). But I know that MC has already been experimenting with FLI effects at the time, and I suspect he must have already known much more about how things "work", probably for the first time in Plus/4 scene history. This is supported by the fact that Legend of MC and Fatal Mirror already exploit tricks that force just either or the other of the two badline types -- consequently, he must have already known how to force the "first", "second", or "both" badline conditions, as early as in 1993 (or even late 1992).

I did create a 2-line FLI effect just the next year (...it was surprisingly easy to do, after all), when I wrote the original version of the old PC-C= gfx conv stuff at the PC programmer course that I was attending at the time. But not even that one implied "deep" knowledge of how the TED badline infrastructure worked; it was just a "copy" of what/how the TED itself did, cautiously avoiding "life-threatening" situations (like forcing a badline condition on every lines, whose result had already shown how things should "not" be done).

Researching how the whole badline logics of the TED worked came much-much later. Maybe early 2004, we discussed some things about deep TED inners with Gaia and I also did some tests on the real iron, bringing a couple of checkpoint positions + researching how "really" the TED badline logics worked. I don't have that information "formalized" (...at the moment, I'm not even sure that I have the old e-mails and sketches at all, as I lost my e-mail boxes once or twice in the meantime; Gaia once kindly collected and sent me the majority of e-mails back, but I'm not sure that I have that pack; at least, I couldn't find it right away). Yet, Yape still has that information "collected"... (with possible modifications and corrections; at least I don't know details from about the time I stopped contributing to it).

-- Chitchat mode off happy --

It's the badlines that read color and luma memory; so you either let "badlines" happen and have TED color ram reads (which is done during that time), or you skip badlines _and_ TED color ram read altogether. ...Maintaining color ram reads while skipping badlines is impossible.

Maybe, you can do the following trick:

-- Reduce your gfx's colors, so that it fits into the 3+1 schema (ie. 1 color per character place, 3 colors for the whole gfx). Make sure the "1" colors are from the lower 8 Plus/4 palette colors. That way, your gfx theoretically fits the limitations imposed by MCM character mode.

-- Allocate "enough" number of characters for your effect (ie. the left side of the screen), allocate the rest of the characters for the right side ie. the gfx.

-- "Design" a schema of characters on the screen ie. make a map of how the screen will be filled by characters. One set will certainly not be enough -- no problem, you'd handle that by swapping charsets ($ff13) using raster IRQ.

-- If you have an idea of how the map looks like, write a routine that packs your gfx into the respective characters of the sets. You'd also generate a colormap, ie. the color memory content of your gfx.

...The "pack" routine might be tricky at first sight, I bet I'd certainly spend some time fiddling with a routine of that sort. (But the method is possible).

That way you could have hi-res mode for your effect, avoid most of the heavy-lifting imposed by the whole-screen-high raster routine needed by the original mode change method, and still maintain some chance for a more-than-4-colors malachite gfx on the right side of the screen.

Yeah, writing to $ff06 at that position would probably not work, but I don't know for sure; as said I don't remember the exact positions and exact badline logics ATM.



Back to top


Copyright © Plus/4 World Team, 2001-2024