Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Screen limits
2005-10-26 07:50
HCL

Registered: Feb 2003
Posts: 716
Screen limits

Once when i got myself a C= monitor, I made some tests to see what the actual limits were. Keeping in mind all the bugs i left in Royal Arte, after this i would never have to leave any visual bugs because of not seing them.

But now in EMU-age, the same horrible bugs appear again in many demos. Vice only shows 272 x 384 pixels, and people appearantly start to think that's the way to go. And it suxx big time!

So when i found my old screen tests yesterday, i thought maybe i should put this up here. I also had some info about sprite-limits in the borders. Let's get started.


Screen limits
-------------
Vertically:
First visible line: 8 (d012 = 8)
Last visible line: 12b (d012 = 2b)
That makes 292 visible lines totally.

Transfered to sprite positions we get..
spt-pos 12a: one line visible in lower border.
spt-pos 12b: one line visible in upper border.

Horizontally:
Left border: 48 visible pixels (6 chars).
Right border: 36 visible pixels (4.5 chars).
That makes 404 pixels, right.

Sprite bugs in left border:
All sprites invisible at positions 1f8-1ff.
spt7 invisible at pos <= 1ce.
spt8 invisivle at pos <= 1ee.

Sprite bugs in right border:
spt1 stretch bug at pos >= 14b.
spt2 stretch bug at pos >= 15b.
Bug above first line at pos => 163: spt 3,4,5.
Bug on last line at pos => 164: spt 3,4,5.


Ok. I think that's all. Does anyone have other specs? Please don't post if you have a lowsy TV-set, they always sukk. Did i get those sprite-bugs correctly? Sounds totally wierd :). And finally: DON'T RELEASE before you checked your demo against this spec >:E.
2005-10-26 08:03
Ninja

Registered: Jan 2002
Posts: 404
Nice table. Which monitor did you use? 1084? I didn't check the sprite bugs, but measuerd the same screen dimensions somewhen with my 1084s.
2005-10-26 08:06
JackAsser

Registered: Jun 2002
Posts: 1987
This might be obvious for many but I do think we should, atleast for comformance, tell the reader that this spec goes for PAL C=, not NTSC. =)
2005-10-26 08:36
Radiant

Registered: Sep 2004
Posts: 639
Perhaps this should also be forwarded to the VICE team, or do they have some super ultra cool reason for not showing the entire border area?
2005-10-26 08:46
Graham
Account closed

Registered: Dec 2002
Posts: 990
@HCL: Not quite right. In the left border there are only 5.75 chars visible (46 pixels). The two "missing" pixels are always white on VIC-II, and on TED they are highest luminance. Also the number of visible lines differ from monitor to monitor. Some would enable display earlier than others.
2005-10-26 08:56
WVL

Registered: Mar 2002
Posts: 885
I should look up the measurements i did for the first and last visible rasterline on Real Thing (tm) (well, my monitor), Vice and CCS64..

for some part i wanted to be sure i would be using the complete height of the screen on both the real thing and emu...

I'll look it up :).. btw, the differences were huge! :)
2005-10-26 08:59
Graham
Account closed

Registered: Dec 2002
Posts: 990
@radiantx: I don't think that it makes sense to display the entire area. You will see a lot of border bugs which are normally invisible + most Vice users are gamers and not developers.

I still wonder: Most people in the scene have 1084, CM8833 or CM8833-II monitors. Why don't you coders use the screen adjustments to look into the borders?
2005-10-26 09:10
HCL

Registered: Feb 2003
Posts: 716
..yes, why don't you >:).. I always have my monitor ajusted to the smallest size -> largest possible borders visible. I mean, who cares about the char screen anyways, it's the borders that count ;).

However, not even Graham himself is perfect. Just check Coma Job.. Horrible sideborder bugs, eventhough *some* are avoided. ;)
2005-10-26 09:42
Radiant

Registered: Sep 2004
Posts: 639
Ok, silly n00b question: Does the 1901 show the same area as these other monitors? I did fix one border bug in The Works after looking at it on my monitor (and that's how I learned VICE doesn't show the entire screen, grr!). I suspect the twister in Blueprint looks ugly in the upper border for this reason, but I haven't really watched that shite since getting the monitor.
2005-10-26 09:47
Radiant

Registered: Sep 2004
Posts: 639
@Graham: However, they (the VICE team) do strive towards emulation accuracy, do they not?

Also it may be true that most casual users are gamers, but I think the hardcore (and bug reporting!) user crowd consists mainly of sceners and other technically oriented people. I really can't see any reason for not having as good emulation as possible... If there are border bugs, they should be shown, IMO.
2005-10-26 10:26
Ninja

Registered: Jan 2002
Posts: 404
I would really appreciate it, if an emulator had an adjustable visible area. I'd suggest having three options:

Standard = as emus have it now
Extended = set to HCL's numbers above
User-defined (<3) = show that what I want to be shown, be it lines 0-312 (yes, I mean it) or whatever...

At least the VICE developers were thinking about it (http://www.vicekb.de.vu/00-010), but well...
2005-10-26 10:38
WVL

Registered: Mar 2002
Posts: 885
ppl can also use the HOXS emulator. I have it installed and it seems to be much better w0king than vice. This emu shows a lot more of the borders!!

But it's not as nice to work with as vice is (ie, no carts, no other nice tricks etc). So i only rarely use it to take a peep in the extreme borders.

Also, i remember Jackasser telling me he was working on his own VICE version with bigger borders.

btw, does anyone know if VICE/CCS do things like collision detection correctly in the parts of the screen they do not show?
2005-10-26 15:56
Cruzer

Registered: Dec 2001
Posts: 1048
A Vice with some extra border area would for sure be nice. It could be added as an option somewhere, e.g. Settings -> Video Settings -> Border Size (tab) where you could type it in manually, or choose some presets like "TV", "Monitor", and "Extreme Maximum Hyper-Borders." (504x312 so all cycles was visible.)
2005-10-26 16:15
tlr

Registered: Sep 2003
Posts: 1705
Quote: @radiantx: I don't think that it makes sense to display the entire area. You will see a lot of border bugs which are normally invisible + most Vice users are gamers and not developers.

I still wonder: Most people in the scene have 1084, CM8833 or CM8833-II monitors. Why don't you coders use the screen adjustments to look into the borders?


I find bugs in the border very annoying! I was lucky when I got the TV-set for my c64, because it showed a lot of the border. Others were not so lucky. Nowadays there is no excuse. ;)
2005-10-26 18:19
Oswald

Registered: Apr 2002
Posts: 5017
sideborder stuff doesnt impresses me anymore like back then. Come on, adding a sta $d016 stx $d016 to your code is really so cool ? How about coming up with something new instead of putting one of the effects seen a thousand times before to the borders because thats so "cool" ?
2005-10-26 18:50
tlr

Registered: Sep 2003
Posts: 1705
Quote: sideborder stuff doesnt impresses me anymore like back then. Come on, adding a sta $d016 stx $d016 to your code is really so cool ? How about coming up with something new instead of putting one of the effects seen a thousand times before to the borders because thats so "cool" ?

Yeah, or this crappy sprites over x-coordinate 255 stuff. Just say no to $d010! ;)

Seriously though: Even though you have no border stuff it doesn't mean you can't set border colors a couple of cycles late creating a dent far left (or even a jittering dent). No reason for that, just check it.
2005-10-26 19:21
Tch
Account closed

Registered: Sep 2004
Posts: 512
Being a simple coder,I am not really looking forward to an improved Vice -stretching the border- version.
I had a very large TV in the 90´s showing a lot of ´extra border´ and I made a lot of simple stuff.
But when I started using Vice,I found that much was not coded that good (borderbugs everywhere).

What I am trying to say,is that a lot of people probably used a TV and hence,didn´t see the bugs happening in the (hidden) borders.
It will severely take down their worxx.

On the other side..
This will probably be an extra limit for the hardcore-coders amongst us.
Making things perfect will be quite a challenge. ;)
2005-10-26 19:32
Oswald

Registered: Apr 2002
Posts: 5017
tlr, well I cant be bothered to fix code for the 3-2 ppl who can see all the possible visible area on their monitors. doesnt worths the effort, as even I dont see that stuff on any display I have. how to fix it then ? I dont care.
2005-10-26 20:01
JackAsser

Registered: Jun 2002
Posts: 1987
Patching VICE to show all 312 lines was super simple, making it show them complete width was a completly other matter in which I failed utterly. The code was just so crappy and hellish I gave up. To fix the complete height it was just a simple #define that should be changed in some .h file in the vicii folder.
2005-10-27 06:21
Graham
Account closed

Registered: Dec 2002
Posts: 990
I still think Vice should not be used to search for sprite-, border- and $D011 bugs because after all it is just an emulation and will not show 100% the real effects happening.

@radiantx:

No, you are totally wrong here. Sceners only do few bug reports, most reports are from gamers.
2005-10-27 06:40
HCL

Registered: Feb 2003
Posts: 716
@Oswald: Making such a statement would definitely have defined you LAME 10 years ago. May it be that your 4-color tunnel is no problemo putting in the sideborder, it just adds a different bitmap and wastes some more cycles. But there are other kind of effects that are more challenging to put in the sideborder, which makes more sence. Hell, who cares about an emulator anyways!? I could do vith a Vice that displays *only* the sideborder, showing only black where all Oswald's effects are!!
2005-10-27 07:15
Clarence

Registered: Mar 2004
Posts: 119
@Oswald
Border effects *can* be as hard challenges as any other stuff just find yourself a hard enough idea. Imo, it is an avaiable feature coders should use whenever it's possible. And if used, try to make it bugfree.

@HCL
thanks for the info. I wish you had this monitor when developing Royal Arte and remove that annoying dycp bug (the only one in the demo). :)
2005-10-27 07:38
HCL

Registered: Feb 2003
Posts: 716
@Clarence: I wish that was the only bug :). Btw. check out the next issue of Attitude for a bug-free version :).
2005-10-27 07:48
Clarence

Registered: Mar 2004
Posts: 119
Cool! :) Looking forward for it...
2005-10-27 16:16
Oswald

Registered: Apr 2002
Posts: 5017
HCL, I have swallowed my own language when I first met with sideborder effects, and it was like that for long years. But today IMHO if you take an effect and the "only" thing you do with it is extend its size (to the sideborders.. sometimes the effects are even smaller to help make it possible) thats not as cool as coming up with something *new*. Lets take your plasma in Cycle. Its a breathtaking effect. But if you look at it from another point of view, you have an ugly resolution and almost no variety in the plasma, and all these restrictions "only" to make it fullscreen. Strange that an effect on sideborder is an excuse for lowres, while a "newschool" stuff has no excuse for being 4x4.
2005-10-28 06:22
hollowman

Registered: Dec 2001
Posts: 474
well, we are living in strange times. "i dont care" and "How about coming up with something new"-comments coming from the plasma+tunnel coder who recently complained about how lame the scene has become
2005-10-28 07:28
JackAsser

Registered: Jun 2002
Posts: 1987
@Hollowman: Don't forget his mandatory vector cubes! =D

@Oswald: I hear what you say but also, if it is possible to extend an effect into the border without making the quality suffer, then I think you should go for that and not be a lazy coder. Although I am usually of the latter sort where as for example Krill and HCL are of the first sort. For instance, in +H2K most transitions are in the side border to get rid of weird and unmotivated border clipping that just look plain ugly. Krill also once told me this and I totally agree; if you still want to keep the border but get rid of that ugly clipping you can do it like the Reflex guys did it in Mathematica.
2005-10-28 10:05
Cruzer

Registered: Dec 2001
Posts: 1048
plasma and vector cubes: kewlest effects ever, especially in the sideborder!
2005-10-28 11:18
HCL

Registered: Feb 2003
Posts: 716
"Oswald: Just a comment about the plasma(s) in cycle.. Hmm, now i'm not sure which one you mean. However the first one uses a fli-timing with open sideborder. That makes it cool itself! Add many colors and nice movements.. what can you possibly complain about?! ;). And the second one, the AB-plasma.. Copying the routine from Crest and others, pulling it to the edge with a logo in it. Well, that's very much what c64-effect coding is all about, finding out a way to do something that noone has done before.

Now back to the topic for once. I was trying to start a discussion about the limits of the visible screen, possibly a quite short discussion. In what way do you think that you contribute to this discussion? By telling us that you don't *like* to come even close to those limits anyway?!??!
2005-10-28 13:50
WVL

Registered: Mar 2002
Posts: 885
man.. i didnt have any time so far, but i'll really look up what limits i found for myself to use as maximum visible upper/lower border :)
2005-10-28 14:15
Graham
Account closed

Registered: Dec 2002
Posts: 990
A PC programmer once told me: "You know, what's cool about the C64 is that if you have a rasterbar, it starts from faaar left and goes to faaaar right, no visible black border like on PC". I kinda agree with that, if you don't see the start and end of the display area it gives it the feeling that there is no limit.
2005-10-29 07:14
Zeus

Registered: Jun 2005
Posts: 16
@Graham
Well the Amiga has the same "problem".


I think that side border action is just sweet. To be honest: serious no border stuff separates men from the boys. If side border stuff is that simple, why didn´t it become that common? Maybe because it is quite a lot of work to do some multiplexers etc. Same goes for any other critical timing effect. (I luv cycle counting ;))
2005-10-29 09:14
Oswald

Registered: Apr 2002
Posts: 5017
I'll better shut up and release something. I hope hollowman will be happy with my new plasma. cheers.

ps: Zeus, what problem does amiga have ? have u heard of overscan ?

Hcl, "Well, that's very much what c64-effect coding is all about, finding out a way to do something that noone has done before" couldnt agree more, finally not that "I dont care how easy it was to code until It looks nice" attitude

hollowman, ahh.. forget it...

2005-10-29 15:01
Graham
Account closed

Registered: Dec 2002
Posts: 990
Something which none has done before CAN still be easy to code :)
2005-10-29 21:05
Zeus

Registered: Jun 2005
Posts: 16
Quoting Oswald

ps: Zeus, what problem does amiga have ? have u heard of overscan ?

Well I got my Amiga in 1987 and was coding in assembler (SEKA was so damn sexy! ;)). Usually the copper was used for doing the infamous raster bars and the plasma effects. As far as I remember 2 registers were used: $dff180 (screen color reg) and the screen address to sync with which was depending on the screen resolution. Folks that had unusual monitor settings put the rasters wrong. Same goes for (bitmap) scrolling. Since scrollers on Amiga were done by using the Blitter and a pixel exact range, the scroll area depended on the monitor settings.
2005-11-03 00:39
Krill

Registered: Apr 2002
Posts: 2828
Yes, me wants optional bigger vice borders (although it would reveal i coded +h2k with a tv instead of a monitor, heh).

And well, i also grew tired of sideborders done just for the sake of it.
If it supports transitions and the "no limits" feeling, great, if it's just a supercommon effect expanded in x to contract it in y, no thanks.

2005-11-03 08:22
WVL

Registered: Mar 2002
Posts: 885
OK, I find (according to one of my parts where i really checked things out) that the first visible rasterline in the whole vice/ccs64/real thing combo is $d012 = $0b. The last visible rasterline is $12c...

that gives $12c-$b+1 = 290 visible rasterlines :)... you can see this is more than VICE is showing...
2005-11-03 08:34
HCL

Registered: Feb 2003
Posts: 716
Hmm, what do you mean by "vice/ccs64/real thing combo"!? My aim was to not care for any emulators here, but *only* the real thing of course. Does your numbers change then?
2005-11-03 09:19
WVL

Registered: Mar 2002
Posts: 885
Quote: Hmm, what do you mean by "vice/ccs64/real thing combo"!? My aim was to not care for any emulators here, but *only* the real thing of course. Does your numbers change then?

Unfortunately i didnt write it down for each system separately.. But the numbers i put worked for me on all systems, so no lines missing in vice, no lines missing in ccs AND no lines missing on the real thing (i think it was either a 1084s or 1901 monitor)..

ofcourse, it can still depend on your monitor, i presume :-(, well, you have to draw the line (get it) somewhere ;)

I just also checked HOXS64 emulator, and also in that one there are no missing lines.

hmmm.. so HCL seems to have 3 more lines visible at the top, and I've got one more visible at the bottom.
2005-11-03 23:10
Graham
Account closed

Registered: Dec 2002
Posts: 990
Someone with a test picture generator here? Use it on a 1084, adjust the 1084 so that only the rectangle is visible which should be visible and after that check what x/y positions now are visible when you connect a C64.
2005-11-27 13:09
Ninja

Registered: Jan 2002
Posts: 404
WVL: Are you really sure that $12C is inclusive? I assume that the VIC requests a vertical retrace at that line, and it wouldn't make sense to me, if a CRT would delay this for another rasterline.

Side note: It seems that I can see 37 pixels in the right border, can anyone confirm this?
2005-11-27 14:57
WVL

Registered: Mar 2002
Posts: 885
Quote: WVL: Are you really sure that $12C is inclusive? I assume that the VIC requests a vertical retrace at that line, and it wouldn't make sense to me, if a CRT would delay this for another rasterline.

Side note: It seems that I can see 37 pixels in the right border, can anyone confirm this?


well, i'm getting the $12c from the code i wrote for that. But I can't be 100% sure... it _might_ be $12b also :).. for sakes I'll just use $12c to be safe.
2006-03-10 06:47
JackAsser

Registered: Jun 2002
Posts: 1987
"Horizontally:
Left border: 48 visible pixels (6 chars).
Right border: 36 visible pixels (4.5 chars)."

So, basically two expanded sprites, one on each side, is enough to cover the side border? 100% sure?
2006-03-10 08:08
The Phantom

Registered: Jan 2004
Posts: 360
Quote: "Horizontally:
Left border: 48 visible pixels (6 chars).
Right border: 36 visible pixels (4.5 chars)."

So, basically two expanded sprites, one on each side, is enough to cover the side border? 100% sure?


Yes. It's more than enough.
2006-03-10 09:48
Krill

Registered: Apr 2002
Posts: 2828
It's enough if you don't need to scroll the 320 pixels window horizontally, and the sprites with it. Then you get a 1-8 pixels wide gap on the left side.
2006-03-10 10:27
Zyron

Registered: Jan 2002
Posts: 2381
You can't cover the sideborder with sprites can you..
2006-03-10 11:33
JackAsser

Registered: Jun 2002
Posts: 1987
@zyron: hehe, stricktly no, since I've opened the sideborder. :D I should rephrase it: Is one expanded sprite on each side enough to fully recreate the sideborder without anyone noticing it?
2006-03-10 11:53
HCL

Registered: Feb 2003
Posts: 716
..so that you can improve your screen-fader from P.R? ;) Yes, it's enough with one expanded sprite.
2006-03-10 14:39
JackAsser

Registered: Jun 2002
Posts: 1987
@HCL: Hehe, kind of... not for an intro though, but for a transition. I don't wanna do the same mistake twice... :D
2006-03-10 17:21
MagerValp

Registered: Dec 2001
Posts: 1055
Quote: It's enough if you don't need to scroll the 320 pixels window horizontally, and the sprites with it. Then you get a 1-8 pixels wide gap on the left side.

ROL
ROL
ROL
ROL
ROL
ROL

:)
2006-03-10 18:04
Krill

Registered: Apr 2002
Posts: 2828
If you open the sideborders in hires bitmap mode, they have the colour of the cells's background colours in column 39. This might enable you to save sprites.
2006-03-10 22:24
trident

Registered: May 2002
Posts: 74
Quote: You can't cover the sideborder with sprites can you..

What?? Haven't you seen Let's Disco? Let's Disco

Now all we have to do is to figure out that poke...
2006-03-11 08:34
JackAsser

Registered: Jun 2002
Posts: 1987
@Krill: Why didn't I think of that, grrr. I know how, but never when, that's what differs the good from the bad coders. =D Anyway, too late for than now. The transition is done.
2006-03-11 08:35
JackAsser

Registered: Jun 2002
Posts: 1987
@Trident: Technically that's also a "recreation" of the border. The border unit is inactive, i.e. open. Using presumably the same trick a Krill mentioned. This also works in ECM-mode btw.
2006-03-11 11:32
trident

Registered: May 2002
Posts: 74
Quote: @Trident: Technically that's also a "recreation" of the border. The border unit is inactive, i.e. open. Using presumably the same trick a Krill mentioned. This also works in ECM-mode btw.

Oh, no! There is a magic poke in the code somewhere! Haven't you read the scrolltext?
2006-03-11 12:58
TDJ

Registered: Dec 2001
Posts: 1879
Quote: Oh, no! There is a magic poke in the code somewhere! Haven't you read the scrolltext?

Careful, or you may accidentely use the famous poke that burns your c64 from the inside out!
2006-03-11 13:39
Zyron

Registered: Jan 2002
Posts: 2381
I once poked myself into TDJ's kitchen, now that was real scary!
2006-03-11 13:40
trident

Registered: May 2002
Posts: 74
Quote: Careful, or you may accidentely use the famous poke that burns your c64 from the inside out!

Yeah that's a dangerous one! ;-)
2006-03-11 15:51
Hein

Registered: Apr 2004
Posts: 933
Quote: @Krill: Why didn't I think of that, grrr. I know how, but never when, that's what differs the good from the bad coders. =D Anyway, too late for than now. The transition is done.

I accidently ran into this.. looked pretty, but had no use for it.. possibly some day.

I'm glad Im still at the starting point of coding, I'm pleased with every pixel I manage to move, without rolling my eyes..
2006-03-11 19:47
TDJ

Registered: Dec 2001
Posts: 1879
Quote: I once poked myself into TDJ's kitchen, now that was real scary!

So many bad memories ..
2006-09-08 22:59
MRT
Account closed

Registered: Sep 2005
Posts: 149
Quote: If you open the sideborders in hires bitmap mode, they have the colour of the cells's background colours in column 39. This might enable you to save sprites.

This seems to be only true when working in multi-color mode... but what about hires mode? anyone? Krill?

edit:
from: http://noname.c64.org/csdb/forums/?roomid=11&topicid=20121&show..
Quoting Monte Carlos
On the borders you'll always see only black, when in hires bitmap mode. This doesnt depend on which other d011 bits are set. So it doesnt depend on having an illegal or not an illegal mode.
d021 is not read out anymore.

2006-09-09 02:15
Krill

Registered: Apr 2002
Posts: 2828
MRT: I don't quite get your question. Are you mixing up something?
2006-09-09 07:55
MRT
Account closed

Registered: Sep 2005
Posts: 149
Yup.. :)

I was opening up the upper/lower borders in hires mode, but the column (or last char, etc.) trick didn't work there.

edit:
And it did work when I put the image in multicolor bitmap mode. Hence my mixup... :)


At least not on itself... I found out that I had to clear the last byte of the charsetbank! Even though I was using hires bitmap.
And I cleared the last byte of the VIC bank ofcourse...

The combination of those three seem to work and the lack of one of those seem to mask the background color...
But I don't understand it realy. I just filled up the vic bank with values to see what changed. Then later on I pinpointed the actual value that masked the borders. After changing that to $00 it works just fine... :-S

Oh for the record... I've tested this only on Vice and CCS.
2006-09-09 11:01
Monte Carlos

Registered: Jun 2004
Posts: 350
When i wrote this, i referred to upper/lower border, if i remember correctly.
In standart hires mode used without any tricks, $d021 register
is not of any use.
i think, it was due to some coding for "trip 2 nepa(l)" i wanted to show a hires picture with a background other than black. i wanted to open the upper/lower border too, for some reason. i set d021 to the background color of the hires picture and thoght, that it will be displayed on the upper/lower borders, too.
this guess was wrong, so i had to switch to multicolor mode in line 247 or so to display the borders in the correct color an switch back to hires mode in line 50.
this was not due to $ff in $xfff.

with the sideborders its kinda different, because as was told the color of zero pixels of the rightmost char is expanded into the sideborder.
anyway d021 doesnt play a role here, too.

2006-09-09 12:17
MRT
Account closed

Registered: Sep 2005
Posts: 149
True, but...

What I ment was also for the upper/lower border. And I did a workaround by just turning off bitmap mode on line 247 and turn it back on on 50... :-)

BUT, what I was trying to say is that you could do without that workaround by (as you say it so nicely) putting some values on some addresses. :-D

Which can come in very handy when you don't have free rastertime around line 50.
The downside however, is that you need to have a blank (read: $00) value in your bitmap image (bitmap start + $7ff)
2007-03-13 09:23
Krill

Registered: Apr 2002
Posts: 2828
Ok, so i just patched VICE to display as much border as i want. I am planning to submit this fix to the source, so it will be in in one of the future versions. But, what are the real border sizes now?

With my 1084s, PAL display starts at line $0d, but only after some chars in the middle of the screen (the beginning of the line is black), and ends at line $012b inclusive.

What are your measurements?
2007-03-13 09:41
Graham
Account closed

Registered: Dec 2002
Posts: 990
1084S-D1, C64C:

$008-$12B

But the 1084S-D1 is a fucked up model anyway which is non-standard in many ways. For example, it cannot do real interlace, but it CAN do refresh rates like 200 Hz, 500 Hz etc. (Good for VDC programming, hehe)
2007-03-13 09:42
JackAsser

Registered: Jun 2002
Posts: 1987
@Krill: I'll check my three 1084 using both old and new VIC-chip someday soon, however, is it possible to make the values adjustable in runtime or is it tons of static defines?
2007-03-13 10:28
Krill

Registered: Apr 2002
Posts: 2828
Jackasser: Should now be easy to change at run-time, but is it that sensible a thing to do? :)
2007-03-13 11:44
enthusi

Registered: May 2004
Posts: 674
such an option will probably make 90% of border-scrollers impossible to read on the real thing in future productions.
Forgive my whining, I just don't wanna have "hidden part: watch with vice".
2007-03-13 12:03
JackAsser

Registered: Jun 2002
Posts: 1987
Quote: such an option will probably make 90% of border-scrollers impossible to read on the real thing in future productions.
Forgive my whining, I just don't wanna have "hidden part: watch with vice".


@krill, enthusi: On a real setup you can use the dials on your 1084s to adjust amount of visible gfx. I see no reason why this behaviour and usage shouldn't be emulated with VICE. :D Perferably using USB-dials to do the changes if I may feature creap a bit. ;)

2007-03-13 14:22
Krill

Registered: Apr 2002
Posts: 2828
I don't see the point. You want to do fancy border effects, then switch on full borders and do it. Otherwise, resort to normal VICE borders. Anything in between is nonsense, as well as more borders than you see on any C64 setup.
2007-03-13 14:44
WVL

Registered: Mar 2002
Posts: 885
for my real c64 it was $b to and including $12c. But I dont remember what monitor this was..
2007-03-13 18:23
Oswald

Registered: Apr 2002
Posts: 5017
Great job Krill nevertheless, hope it will find its way into the new release.
2007-03-13 19:01
Krill

Registered: Apr 2002
Posts: 2828
Oswald: i hae some more things on my list, most important would be single frame advance. :)
2007-03-13 20:06
Mace

Registered: May 2002
Posts: 1799
Quote:
single frame advance
Word!
2007-03-13 21:33
Oswald

Registered: Apr 2002
Posts: 5017
Krill, ahyeah that would be really something to debug, 5% speed and pressing alt to freeze is not really handy:)
2007-03-13 21:49
iAN CooG

Registered: May 2002
Posts: 3132
I did the same long ago and tried a couple of times to suggest viceteam for the enlagement of the upper/lower screen, and many did it too in the past, but for them "the tv didn't showed all the lines so it's ok like this" (or something)
Here's my modified version of WinVice
http://iancoog.altervista.org/Winvice.htm
2007-03-13 22:17
Krill

Registered: Apr 2002
Posts: 2828
Oh well, of course i was not only speaking about enlarging the upper and lower borders, which is a piece of cake, you just need to change two #defines. Left and right borders is much harder, took me a couple of hours to get it working right.

And those borders you have are ridiculously large, really. :) No TV or monitor shows them like that.

Anyways, i'll make that stuff optional, since most VICE users are no demo sceners and find the huge borders rather irritating. So far, nobody in the VICE devel mailing list complained, so i'll just proceed.
2007-03-14 00:13
iAN CooG

Registered: May 2002
Posts: 3132
Oh, that's cool then :)
I didn't understand you did also the l/r borders.
Please go on, and post the mods somewhere even if the viceteam don't accept them. ;)
2007-03-14 01:08
Moloch

Registered: Jan 2002
Posts: 2892
"Fixing" the bottom border would be great, taking screenshots of NTSC productions that include the bottom border is terrible in VICE. Finally can dump CCS64 if this happens...
2007-03-14 02:24
Krill

Registered: Apr 2002
Posts: 2828
So can any of the NTSC sceners tell me the max NTSC screen sizes on real hardware?
2007-03-14 08:09
Ninja

Registered: Jan 2002
Posts: 404
Sounds good, Gunnar. Just where is the problem with displaying pixels which a standard c64 would never display. This can be useful for debugging, too, right?
2007-03-14 09:13
Krill

Registered: Apr 2002
Posts: 2828
What enthusi said. Also i cannot imagine the benefit in seeing more pixels than on the real thing, even not for debugging purposes. Do you have a good example?
2007-03-14 09:17
Krill

Registered: Apr 2002
Posts: 2828
Oh and well, debugging implies you're a coder, and then you can go and mod the VICE sourcecode yourself for your very own VICE debug edition with insanely huge borders. After my patch, that's just modding 4 #defines. :D
2007-03-14 09:30
Oswald

Registered: Apr 2002
Posts: 5017
krill maybe I'm not wrong with stating I'm a coder, still I'm missing the knowledge needed to modify the Vice source.. :)
2007-03-14 09:37
WVL

Registered: Mar 2002
Posts: 885
Quote: krill maybe I'm not wrong with stating I'm a coder, still I'm missing the knowledge needed to modify the Vice source.. :)

me too :(
2007-03-14 09:57
Krill

Registered: Apr 2002
Posts: 2828
Oh i was referring to changing screen sizes. In the modded source, in src/vicii/vicii-timings.c, find

#define VICII_SCREEN_PAL_FULL_LEFTBORDERWIDTH 0x30 /* actually 0x2e, but must be divisible by 8 */
#define VICII_SCREEN_PAL_FULL_RIGHTBORDERWIDTH 0x24
#define VICII_PAL_FULL_FIRST_DISPLAYED_LINE (0x08 - VICII_PAL_OFFSET)
#define VICII_PAL_FULL_LAST_DISPLAYED_LINE 0x12c

and change to whatever, compile, done. The hardest bit is to get your compiler environment running, but there are docs for that. :)
2007-03-14 14:47
Ninja

Registered: Jan 2002
Posts: 404
Well, you can easily check some stable raster in a non-visible area, for example. Still, why do you need to foresee a reason. Now you are at a point where it can easily be implemented (normal borders, big borders, overkill borders). If in hundred years somebody for an obscure reason needs the last feature, he would need to get the source and compile it on his own. If he is like me, this is no fun on a P233 ;) But well, your mileage may vary...
2007-03-14 15:26
Krill

Registered: Apr 2002
Posts: 2828
In a hundred years nobody would use some ancient 233 MHz computer to compile stuff, i reckon. :)
Anyways, i won't implement that, but feel free to do so. That's what open source is for, everybody adds what he needs etc. :)

(And the stable raster thing can be easily tackled by moving stuff to a visible border area, since after all the timing is the same except for line 0 - plus you can have a loop etc. to postpone your inc $d021/dec $d021 stuff until the visible part and... well, whatever - i just fail to see sensible reasons for hyperborders. :)
2007-03-14 19:00
Raf

Registered: Nov 2003
Posts: 343
Quote: Oh i was referring to changing screen sizes. In the modded source, in src/vicii/vicii-timings.c, find

#define VICII_SCREEN_PAL_FULL_LEFTBORDERWIDTH 0x30 /* actually 0x2e, but must be divisible by 8 */
#define VICII_SCREEN_PAL_FULL_RIGHTBORDERWIDTH 0x24
#define VICII_PAL_FULL_FIRST_DISPLAYED_LINE (0x08 - VICII_PAL_OFFSET)
#define VICII_PAL_FULL_LAST_DISPLAYED_LINE 0x12c

and change to whatever, compile, done. The hardest bit is to get your compiler environment running, but there are docs for that. :)


I never succeded in preparing proper environment 'by hand' to recompile vice , but dev-cpp eventually allowed me to recompile vice :)

changind those defines is relatively easy , I wanted to change amount of sid to 4 so I could listen to Rayden's 4SID music but those stereo-sid definitions are relatively 'hardcoded' and would need lotsa changes to work (At first glance of course).

and BTW worst case with vice is their devel policies .. VICE is not real open-source , because they don't care about other ppl making fixes/enhancements (so not team decides , only particular ppl what to atually add) and additionally they don't inform submitters that their patches were rejected/accepted/whatever. quite strange/stupid/whateva and making lotsa unofficial versions which can't share enhancements because of statically linked modules into each exe instead of splitting into loadable libraries where possible (e.g. win32/linux)

www.vulture.c64.org
2007-03-15 08:04
Mantiz
Account closed

Registered: Apr 2006
Posts: 36
Anyone else with the skills and the right tools willing to help doing this compile for the rest of us? Obviously we are at least a few who would use this for various reasons, so it won't be done in vain. I can even get it hosted if that is the problem.

I don't think the use of a certain tool should have to be justified to anyone, I would for example just out curiosity use this to see what's going on behind the scenes, so to speak. And to exactly know where your raster is outside the visible screen is maybe not the most usable feature but I can't see what would be wrong with it. Usually it's good to know where you have your beam. :)
2007-03-15 08:21
Cruzer

Registered: Dec 2001
Posts: 1048
I for one would like to see all 312 lines, so I could see how much rastertime all subroutines used.
2007-03-15 10:51
Krill

Registered: Apr 2002
Posts: 2828
Hmm ok, i am slowly getting convinced to add that option. So the VIC-II settings dialogue will contain a radio button group where you can choose between "Normal Borders", "Full Borders", and "Debug Borders". :)
2007-03-15 11:07
WVL

Registered: Mar 2002
Posts: 885
Quote: Hmm ok, i am slowly getting convinced to add that option. So the VIC-II settings dialogue will contain a radio button group where you can choose between "Normal Borders", "Full Borders", and "Debug Borders". :)

I rather have single-frame advance. By pressing N or something. Not Ctrl-Alt-shift-P or something (hurrah for linux-born VICE :P)
2007-03-15 11:55
Krill

Registered: Apr 2002
Posts: 2828
I already said it's on my list. :)
2007-03-15 15:57
Ninja

Registered: Jan 2002
Posts: 404
Krill: I know my example with the stable raster was not a good one. I know how to put it into the visible area. I know some pros and cons about open-source development ;)

Sorry, I just got carried away cause I occasionally see developers spending 10 minutes arguing about not implementing something cause they don't see any use of it, instead of 5 minutes implementing it. Furthermore, I believe in Murphy, that exactly this feature is needed somewhen... But I know that mileages do vary ;) Nice to see it on your list after all!
2007-03-19 11:00
Krill

Registered: Apr 2002
Posts: 2828
It's not like adding that took me less time than argueing about it, though. :)

Anyways, i also added a no borders option, as Yago suggested, for the gamers among you. :)

Now just some cleaning left, and the patch will be sent to the VICE team.
2007-03-20 08:10
Krill

Registered: Apr 2002
Posts: 2828
Okay, so i sent the patch to the VICE team last night. Anybody who can't await the next version can have it forwarded, just tell me.
2007-03-20 08:26
JackAsser

Registered: Jun 2002
Posts: 1987
@krill: Telling you... email. :D
2007-03-23 10:43
JackAsser

Registered: Jun 2002
Posts: 1987
I love debugborders! :D Try, Cycle, Deus ex, The wild bunch etc... Very interesting stuff going on in the borders. :D

However Gunnar, the x128 build is broken and the cmd-line interface is b0rked. -***borders have NO effect. +***borders <value> have all the same effect. I.e. value==0 => VICE, ==1 => GAMERS, ==2 => NORMAL, ==3 => DEBUG.

Now I COULD fix these things myself but I don't care so much honestly, it works for me as it is. Just wanted you to know about the bugs.

/Andreas


Snip from config.log:

./configure --enable-fullscreen
uname -m = i686
uname -r = 2.4.22-10mdk
uname -s = Linux
uname -v = #1 Thu Sep 18 12:30:58 CEST 2003
configure:2361: gcc --version </dev/null >&5
gcc (GCC) 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk)

x128 errors:
if gcc -DHAVE_CONFIG_H -I. -I. -I../../src -I../../src/arch/unix -I../../src -I../../src -I../../src/drive -I../../src/c64 -I../../src/sid -I../../src/tape -I../../src/vicii -I../../src/vdc -I/usr/X11R6/include -g -O2 -DNO_REGPARM -Wstrict-prototypes -Wall -Winline -MT c128.o -MD -MP -MF ".deps/c128.Tpo" -c -o c128.o c128.c; \
then mv -f ".deps/c128.Tpo" ".deps/c128.Po"; else rm -f ".deps/c128.Tpo"; exit 1; fi
c128.c: In function `machine_change_timing':
c128.c:760: error: too few arguments to function `vicii_change_timing'

2007-03-23 14:44
Krill

Registered: Apr 2002
Posts: 2828
Yes, already fixed that thanks to a private message (!) by Yago. Will test a little and then re-submit the fix.
2007-03-30 18:12
Wile Coyote

Registered: Mar 2004
Posts: 637
I have to admit, there was a time when I assumed, naturally, that VICE displayed the whole C64 screen. When putting together some demo part designs, I used the VICE screen size for my template. Thanks to HCL, I now have a new screen size template ;)

There are now two important things that the people behind VICE should fix: 1. Sort out the VICE screen size and 2. Sort out the music to screen timing (as some demos suffer as a result).

Still, there’s no substitute for using a real C64.

I used to own two Commodore monitors. One would allow for the horizontal of the screen to be adjusted (shifted left, right, as well has stretched), while the second monitor(1084ST) would allow both the horizontal and vertical to be adjusted (shifted left, right, up, down, as well be stretched horizontally and vertically) although on this monitor up scrollers do not work so well, as the scan lines appear to be more condensed nearer the top and bottom of the screen.
2007-03-30 21:40
Oswald

Registered: Apr 2002
Posts: 5017
...also dont forget that vice emulation is not 100% correct.
2007-03-30 21:58
tlr

Registered: Sep 2003
Posts: 1705
Quote:
There are now two important things that the people behind VICE should fix: 1. Sort out the VICE screen size and 2. Sort out the music to screen timing (as some demos suffer as a result).

As for 2 there is not much to do except for low latency drivers like ASIO.
Remember that a true emulation must also be interactive so long prebuffering of the graphics isn't what you want.

You could have a switchable mode for non-interactive, perfect sync execution of a program though.
2007-03-31 11:40
Krill

Registered: Apr 2002
Posts: 2828
It can still be interactive with a frame buffer, the latency is just higher.

Wile: Looks like my border patch will be added to the next release of VICE.
2007-04-01 12:30
Wile Coyote

Registered: Mar 2004
Posts: 637
Quote: It can still be interactive with a frame buffer, the latency is just higher.

Wile: Looks like my border patch will be added to the next release of VICE.


Will the border patch allow VICE to show the whole screen? if so, great!
2007-04-01 16:14
Krill

Registered: Apr 2002
Posts: 2828
There are 3 options: normal borders, full borders, and debug borders. Full borders shows as much as you see on a monitor, and debug borders shows the full 63x8 * 312 pixels area, which is impossible with a real device.
2007-04-01 16:29
Wile Coyote

Registered: Mar 2004
Posts: 637
Quote: There are 3 options: normal borders, full borders, and debug borders. Full borders shows as much as you see on a monitor, and debug borders shows the full 63x8 * 312 pixels area, which is impossible with a real device.

Full borders sounds good. I remember seeing Krestage, and theres a part with 8 'KRESTAGE' sprites in the lower border complete with 2 hires up scrollers (also in the lower border). Anyway, I could believe how much info was missing from the screen when using VICE. The lower 30% of the 'KRESTAGE' sprites were not being diplayed.

As for a debug option. Well I'm sure that will come in handy for the coders. I'm no coder, although I did get some rasters colour cycling after someone sent me some code, to show me how. It made zero sense to me. I'm sure I would understand C64 code if there was a book avaialble explaining how to, in logical terms (my type of logic :).
2009-02-23 16:09
DeeKay

Registered: Nov 2002
Posts: 362
Quote: sideborder stuff doesnt impresses me anymore like back then. Come on, adding a sta $d016 stx $d016 to your code is really so cool ? How about coming up with something new instead of putting one of the effects seen a thousand times before to the borders because thats so "cool" ?

Oh my, oswaldb0gar is on the loose again! <:-)
Border KICKS ASS, always has, alway will! *anything* looks *so much* better, more impressive and cooler if you put it into the border! It's a fact, and there'*s no denying, hehe... I've gotten SO MUCH positive feedback over the years for anything we ever made that goes into the border i think I can say with confidence that you're pretty much alone with your opinion..

Of course I don't mind new ideas either, but I do not see at all how that is an "either or" matter!... Where's the law that says you can't put new effects into the border, only old ones? <:-)

2009-02-23 17:54
JackAsser

Registered: Jun 2002
Posts: 1987
Quote: Oh my, oswaldb0gar is on the loose again! <:-)
Border KICKS ASS, always has, alway will! *anything* looks *so much* better, more impressive and cooler if you put it into the border! It's a fact, and there'*s no denying, hehe... I've gotten SO MUCH positive feedback over the years for anything we ever made that goes into the border i think I can say with confidence that you're pretty much alone with your opinion..

Of course I don't mind new ideas either, but I do not see at all how that is an "either or" matter!... Where's the law that says you can't put new effects into the border, only old ones? <:-)



Come on DeeKay... that was AGEs ago...
2009-02-23 18:03
Ninja

Registered: Jan 2002
Posts: 404
DK: Geez, you are referring to a 4 years old statement that Oswald relativated since then? Besides, there is no per se, as you mentioned. There are parts which do not look better if you extend them in x a bit for the price of cutting them more than half in y, despite all technical complexity. If you manage to have them in the borders without drawbacks, that's way cool, of course.
2020-02-26 13:13
Rastah Bar

Registered: Oct 2012
Posts: 336
Quoting HCL

Sprite bugs in left border:
All sprites invisible at positions 1f8-1ff.

I just realized that this is probably because 63 cycles*8 pixels/cycle = $1f8 pixels. If this is true then it won't happen on NTSC. Does anybody know what sprite bugs there are on NTSC?
2020-02-26 15:01
Krill

Registered: Apr 2002
Posts: 2828
On 65-cycle NTSC machines you have a sprite gap instead.

65 * 8 = $0208, so there is a range of 8 pixels in which you cannot place sprites.

(Of course, you can still reach into and cover the gap with sprites, the gap just applies to their leftmost 8 pixels.)
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
LKP/CFN
Mike
Didi/Laxity
commodore_freak
St0rmfr0nt/Quantum
Guests online: 120
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 The Ghost  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.8)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 Wafer Demo  (9.5)
7 TRSAC, Gabber & Pebe..  (9.5)
8 Onscreen 5k  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Coders
1 Axis  (9.8)
2 Graham  (9.8)
3 Lft  (9.8)
4 Crossbow  (9.8)
5 HCL  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.178 sec.