Login
Back to forumReply to this topicGo to last reply

Posted By

Luca
on 2020-06-19
03:57:46
 Opening the vertical borders with the 24/25 rows trick?

Would be possible to completely open the screeen vertically, but the cheap way as on C64, where you just have to trick the VIC by forcing a 24 rows mode with $D011 ($ff06 on Plus/4) in the bottom of the screen, and turn back to 25 rows mode some scanline afterward, and that's all? It also works on TED, but unlike the C64, the Plus/4 seems to loose the control of video setting, no matter if you try to set TED values anew, or if you search for the right scanline where to correctly change back $FF06...

Posted By

Stinaris
on 2020-06-19
04:35:49
 Re: Opening the vertical borders with the 24/25 rows trick?

Do you have any demos of this working on the C64?
I put sprites in the borders back in the day, who didn't! But I can't visualize what you mean.

Posted By

Luca
on 2020-06-19
05:22:54
 Re: Opening the vertical borders with the 24/25 rows trick?

Stinaris I mean the classic top/bottom opening, just like you also see in the "Get Well Soon" C64 demo by aNdy we talked about in the previous thread. The C64 does that the cheap way, instead of all that annoying cycles counting with $FF1D we usually perform...



See? The C64 VIC shows a cheap and elegant way to open the top/bottom borders; The TED does it too, but there's moving garbage and I can't have control upon it. I've tried to turn $FF06 in all the possible timing in order to hit the right rastertime where to do that, but had no success...

Posted By

Stinaris
on 2020-06-19
09:38:37
 Re: Opening the vertical borders with the 24/25 rows trick?

Oh yes, I see what you mean with all that garbage.
Those C64 serendipitous bugs. happy

My guess is the TED is doing what it needs to however, I suspect, if the C64 did the same thing it would cause collision detection when the sprite is placed outside the viewable screen hence no garbage. Just a guess.

Posted By

Mad
on 2020-06-19
14:23:58
 Re: Opening the vertical borders with the 24/25 rows trick?

Luca I am a noob to this topic :/ But on C64 as far as I remember it shows a special character I think it was the last 8 bytes of the VIC bank, or at some place elsewhere in memory. Most probably the TED also displays some memory content there. Maybe you have to just locate that memory. Just a guess, but I remember some Demo where there is a borderless fullscreen repeated character is shown. I think it may be just the identification of the right adress/es.. Some more firm TED coders may have a real clue here..

Posted By

Luca
on 2020-06-19
14:55:52
 Re: Opening the vertical borders with the 24/25 rows trick?

Mad: yes, that's the famous $3FFF value to be zeroed. As you can see from the Plus/4 screen above, that's not a particular memory zone (I tried zeroeing anything, and all the garbage you see is "animated", just like setting $FF13 under #$80 keeping $FF12 at #$C4. So, I've thought it's a matter of timing in set $FF06 at the right line, but no success...

Posted By

Doug
on 2020-06-19
16:27:43
 Re: Opening the vertical borders with the 24/25 rows trick?

Hey Luca, I'm no expert, but from what I can tell the TED stops it's DMA processes at the border, and can't be persuaded to restart them. What you're seeing is not because TED is fetching from a weird place in memory, rather it's shifting whatever was floating on the bus. It is probably genuine garbage - mix of previous data that had been on the bus, with random bits decayed. I think what you're trying to do is genuinely impossible.

Posted By

Luca
on 2020-06-20
06:38:52
 Re: Opening the vertical borders with the 24/25 rows trick?

Mh, indeed, it seems to be an issue from where is impossible to sneak out anyway... :/

I noticed that the garbage, for some weird reasons, is black in all cases, even if I tried to change any possible value in the whole memory. This means that if your background is black, that's a special case when you can use that technique happy



As you can see, there's still some garbage in the upper part, and no, it's not something related to raster, it's garbage again, and its color results from the last before the trick, no matter what you try to force by changing $ff14 in the meantime in order to assign a black color just like the garbage, in order to clean it up virtually. So, the 25th row must be black anyway, in order to avoid this second bug.



Posted By

MMS
on 2020-06-21
07:13:30
 Re: Opening the vertical borders with the 24/25 rows trick?

OFF,
OK, I am noob in this topic, but it you make the trick visible in Litwr's 40x36c tech demo to extend the number of lines, then with 32-34 character high screen there is almost no border and you can address anything the TED will properly use. AFAIS almost the same effect.
Or does it count (corr) as a cheat? grin

Posted By

Luca
on 2020-06-20
14:51:41
 Re: Opening the vertical borders with the 24/25 rows trick?

MMS: the premise was precisely to be able to circumvent the use of $ ff1d, of which 40x36c is a complete technical example, with this much less demanding thing that can be done on the VIC-II by switching from 25 to 24 columns at the right time . It would also be nice to do it on Plus/4 because the purpose would not be to write on the border here, but simply to have a "square" shape of the screen, without bothering to implement unnecessarily advanced techniques. Unfortunately, as you can see, it is not possible ... happy

Ah, I'm a noob too, eh, I've never been a programming expert, I do another job, it's that I enjoy it happy

Posted By

Stinaris
on 2020-06-22
18:26:15
 Re: Opening the vertical borders with the 24/25 rows trick?

I don't know any 6502 programmers. Actually I don't know any assembler programmers anymore, professionally.

Last time I wrote assembler professionally was 1994 on an AMD 29K, 68040 and a 486 DX33.

Posted By

Charlemagne
on 2020-06-23
01:58:22
 Re: Opening the vertical borders with the 24/25 rows trick?

I know a lot of assembler programers, professionally.

For example: Csabo who has already eaten the borders in 2009... happy
Rockstar Ate My Border

Posted By

Luca
on 2020-06-23
02:00:49
 Re: Opening the vertical borders with the 24/25 rows trick?

Charlemange: beg your pardon: again, here the topic wound point to another kind of border opening... happy

Posted By

Charlemagne
on 2020-06-23
02:21:50
 Re: Opening the vertical borders with the 24/25 rows trick?

Luca: sorry: I ONLY mentioned that I knew professional assembly programmers who had already eaten all the borders. I didn't want to trigger a civil war off, again… happy

Posted By

Stinaris
on 2020-06-23
03:47:17
 Re: Opening the vertical borders with the 24/25 rows trick?

He got paid to write a demo. Awesome!

Posted By

Luca
on 2020-06-23
06:02:19
 Re: Opening the vertical borders with the 24/25 rows trick?

Charlemagne: ok, yep topic and subtopic were mixed up a bit, and that's why I tried to make clear wink

Stinaris: Haha grin Would be nice, but on the other side it would have counteracted the basic meaning of demo making happy

Posted By

Mad
on 2020-06-23
13:44:03
 Re: Opening the vertical borders with the 24/25 rows trick?

That $ff1e stuff is cool.. Csabo did an awesome job there.. I remember several demos doing that, too, but perhaps later.

Opening the top and lower borders isn't actually too hard with that $ff1d solution. That's the beauty of the TED chip. Someone once said to me, that the TED is the only graphics unit which can even "fuckup" the PAL signal, he doesn't know of any other chip able to do that.. The best point about it is, that you get double performance on the border, bigger border means more performance, as stated in litwr routine.. This may be essential for some games / demos..

Thanks Doug for the explanation of that $ff06 behaviour, I really didn't knew this. The real, professional, assembly coders from the eighties know their stuff!! happy

And thanks Luca for this topic..

OFF: You are even able to add around 100 or so new different colors with the TED, by altering the PAL signal, there are also demos here on Plus4World, showing that, perhaps also done by the usual plus4world residents happy..

Hope I didn't spread confusion.. Luca had an unique question about $ff06, guys knowing the TED internals, like many in this forum, may have had an answer immediately for this.. Luckily there was Doug clearing this topic! :D

Posted By

Charlemagne
on 2020-06-23
15:19:23
 Re: Opening the vertical borders with the 24/25 rows trick?

Stinaris: he got paid as respects as you can see, professionally. happy He is not a grabber. happy It's very rare in a capitalistic society in which we are living... happy

Posted By

aNdy/Cosine
on 2020-06-23
15:32:31
 Re: Opening the vertical borders with the 24/25 rows trick?

Oi! What you doing with my demo?!?!?

Posted By

Luca
on 2020-06-23
15:40:54
 Re: Opening the vertical borders with the 24/25 rows trick?

aNdy: hahaha grin a fast conversion in order to see how different the two machines work.

Posted By

aNdy/Cosine
on 2020-06-23
16:47:31
 Re: Opening the vertical borders with the 24/25 rows trick?

Cool. May I have a copy to compare please?

Posted By

Luca
on 2020-06-23
17:16:03
 Re: Opening the vertical borders with the 24/25 rows trick?

aNdy: oh well, nothing to really be shown here, I simply cut off some sprite stuff from the code, leaving the SID tune to run yet in order to be converted both as TEDsound frq and SIDcard, checked the residual memory to see which sprites are worth to be ported as software sprites, but anything just for fun. Then, I got stopped by the interesting difference between VIC-II and TED by using $D011/$FF16 to open the borders, and that's all happy It's just for fun.

Posted By

aNdy/Cosine
on 2020-06-23
17:38:52
 Re: Opening the vertical borders with the 24/25 rows trick?

Fair enough!

Once T.M.R is better and I can pester him, the 264 series is something I want to look at and maybe try something simple in the future. Same for A8.

Posted By

MMS
on 2020-06-24
18:41:21
 Re: Opening the vertical borders with the 24/25 rows trick?



Posted By

aNdy/Cosine
on 2020-07-12
15:51:41
 Re: Opening the vertical borders with the 24/25 rows trick?

Sorry for 'hijacking' this topic...

@Luca...
would you mind sending me the modified version you did of my MD202006 code to make it run on Plus/4?

I'd like to take a look at 'functioning' code. I've read the 'encyclopedia' on this site and want to see how it's implemented. I have a small PETSCII project in the works and would like to perhaps attempt a 'conversion' of this and maybe a past project.

Nothing may come of this, but I'd be interested in at least trying and doing Plus/4 release!

Posted By

Luca
on 2020-07-13
04:05:39
 Re: Opening the vertical borders with the 24/25 rows trick?

aNdy: unfortunately I'm far from home these days, but gonna send you all once back. Don't expect notable stuff, though, I simply twiddled around the code, stopping at that interesting $FF06 VIC method; if I would have gone deeper, I would convert the (C) sprite into chars in order to use it as a software sprite into the twister effect using the empty chars in the effects itself, and install a frequency converter (MConv V1.6) plus copying $D400 values into $FD40 in order to have an optional SID/TED choice for that music. Not checked yet the other features, but probably I would have'em cut off happy

Posted By

aNdy/Cosine
on 2020-07-13
11:20:29
 Re: Opening the vertical borders with the 24/25 rows trick?

Thanks, I can wait until you can send! Then I can begin my learning!

Posted By

gerliczer
on 2020-07-14
01:37:37
 Re: Opening the vertical borders with the 24/25 rows trick?

@aNdy/Cosine: Actually, there are tons of source codes here at this portal that you could use in learning the details of programming TED. Csabo almost always publishes the sources of his releases, and he supplies ample comments in them to understand even the finer points. siz has his massive IOLib that is surely at least has a link to it here. AFAIR, Luca also had one or two things he opened for the viewing pleasure of coders. IstvanV's plus4emu has some code for using the output of his excellent tools.

And you can always come and ask about what you are currently interesetd in or stuck with. The guys above are quite knowledgeable, helpful and ready to give advice anytime. Well, except maybe István, as he does not frequent this forum lately. And there are some real masters here like Mad, bubis or Murphy who really know how to make the TED jumping through hoops.

Shameless plug: I also released some not really complicated stuffs with source code. You could check those, too. Not necessarily as to learn something from them, but maybe to provoke some thoughts or raise some issues.

Posted By

aNdy/Cosine
on 2020-07-14
14:01:21
 Re: Opening the vertical borders with the 24/25 rows trick?

@gerliczer

I'll have a look at what/who you have mentioned and maybe call on some people here for some help then! The only reason I pestered Luca was because he had modified my original MD202006 demo source code so it was something I was already familiar with, thus easier for me to compare.

I have a project on the go at the moment (a PETSCII of Robocop's helmet drawn by my Grandson) and it seems ripe for conversion, save the SID music.

Once it's released on C64, I may try the conversion based on info I've already read here. I may even do some simple TED music in Knaecketraecker.

I *think* it will be a simple case of modifying various things such as screen and colour ram locations, memory locations of where charsets are loaded to, the colour ram data table values and so on. I just need to read more about the memory layout of the Plus/4. In fact, I'm off to modify my C64 source code now and replace direct calls to certain locations (eg screen and colour ram) with labels to make things easier!

If I try this conversion, I'll start a new thread so I don't hijack this one further!

Thanks for your suggestions anyway! Appreciated!

Posted By

Luca
on 2020-07-20
05:30:45
 Re: Opening the vertical borders with the 24/25 rows trick?

Ok, here's the stuff, exactly where I stopped: no TED's borders opening yet but the implementation of that VIC-II trick which doesn't work, just as described into this thread, with all the fixes and corrections in order to run it anyway, nothing more done on it wink
There's the (C) sprite converted into chars (unused yet), and the source has been translated to be used in Plus4IDE (AS65 based).

https://filebin.net/vefunyyagraoxhtq

Posted By

aNdy/Cosine
on 2020-07-20
13:39:46
 Re: Opening the vertical borders with the 24/25 rows trick?

Thanks for sharing, much appreciated!

I've had a quick glance through and it's given me an idea as to how to convert a current project (Robocop PETSCII) that will be released on the C64, probably tomorrow.

Once that's released, I'll have a more in depth look and 'attempt' to a conversion! Fingers crossed! If I need some help, I'll start a new topic and stop invading this one!



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon