Welcome to Emulationworld

Forum Index | FAQ | New User | Login | Search

Make a New PostPrevious ThreadView All ThreadsNext Thread*Show in Threaded Mode


Subjectc64 resolution(s?) new Reply to this message
Posted byTerry Bogard
Posted on04/25/02 08:24 AM



This morning I've found myself playing around with CCS64_32.

I have been wondering what resolution is the best to match the C64, because in 400x300 it looks like I can see the whole C64 startup screen, light blue border included, but I can't know if there are some pixels left out on the borders... so I am asking that here.

In facts, I remember that the VIC-II allowed a good number of different video-modes (text oriented, gfx-oriented and even hybrid text-gfx modes). Can someone give me some specs (especially resolutions) about that? Maybe an URL.

Thanks.




Subjecthttp://roger.trideja.com/c64/ -(nt) new Reply to this message
Posted byTrebor
Posted on04/25/02 11:41 AM



(nt)






Subjectuhm... not enough... new Reply to this message
Posted byTerry Bogard
Posted on04/25/02 01:00 PM



Thanks, man, you are very kind, but unfortunately this info is not enough...

Character Map Mode
Each character is 8x8. The screen is made of 40x25 characters


Well, (8x8)*(40x25) is 320x200. Fine, that's the usable text area. But I guess that the backgroud surrounding it is not considered here...

Bitmapped Graphics Mode
HiRes Mode: 320x200 pixels, any one color per character-cell, and the background color
Multocolor Mode: 160x200 pixels, 3 pre-selected colors, any one color per character-cell, and the background color


Again, this is the "work area". It would be enough, if the VIC-II wouldn't allow to blit anything outside of it - which is not the case.
Play some tricky-programmed games, like Creatures 1 & 2 or Turrican (if my memory serves me well), and you'll see sprites travelling right there, where there shouldn't be anything...

I want to know the resolution of the WHOLE C64 screen, not just the "normally usable" part of it.




SubjectRe: uhm... not enough... new Reply to this message
Posted byIron Man
Posted on04/25/02 02:14 PM



Not only the VICII allowed that, also the VICI...

You can see various effects on demos from many Groups in the C64 scene. Also they are mainly PAL ones, the scene in NTSC using world wasnt that active - or say better not in the time i was into it ;)

For the border itself, i think it depends on the settings of the monitor used and on PAL/NTSC machine. If you would know (i dunno, but maybe you know it) the CBM 1802 and the 1084... the border on both is a bit diffenrent. You have a a bigger border down than on the 1802.

My guess would be that all games should be able to run on both NTSC/PAL without resolution issues. Thats where the border comes in. Its big enough to cover that up.

BUT: im not sure on this info, maybe other ppl with more knowledge can jump in and correct me.

So long...


'Now the time is here
for Iron Man to spread fear,
Vengeance from the grave
kills the people he once saved
'
© Black Sabbath '70
*grunt* Metal *gnarf*


SubjectRe: uhm... not enough... new Reply to this message
Posted byShadow_fire
Posted on05/05/02 11:00 AM



> Thanks, man, you are very kind, but unfortunately this info is not enough...
>
> Character Map Mode
> Each character is 8x8. The screen is made of 40x25 characters
>
> Well, (8x8)*(40x25) is 320x200. Fine, that's the usable text area. But I guess
> that the backgroud surrounding it is not considered here...
>
> Bitmapped Graphics Mode
> HiRes Mode: 320x200 pixels, any one color per character-cell, and the background
> color
> Multocolor Mode: 160x200 pixels, 3 pre-selected colors, any one color per
> character-cell, and the background color
>
> Again, this is the "work area". It would be enough, if the VIC-II wouldn't allow
> to blit anything outside of it - which is not the case.
> Play some tricky-programmed games, like Creatures 1 & 2 or Turrican (if my
> memory serves me well), and you'll see sprites travelling right there, where
> there shouldn't be anything...
>
> I want to know the resolution of the WHOLE C64 screen, not just the "normally
> usable" part of it.

Pixel-addressable space on the C-64 is 320x200 (in hires graphics/character mode) and 160x200 (in multicolor hires/multicolor character mode). There was also a VIC-II register that controlled "border" color (which was basically anywhere outside the 320x200 or 160x200 area), and you could set up a scan-line interrupt to change the register at certain scanlines, but pixels outside of the 320x200 area could never be affected by anything outside the border color register. The size of the border was actually a function of you monitor's horizontal/vertical size/height adjustments, nothing could be done from within the machine to change that.

So what resolution you run your emulator at is all in personal preference. You can run any game at 320x240 (and have the border only at the top and bottom), and this is the resolution that I run at. You can run it at 400x300 (which will give you left/right borders, as well). Your choice, makes no difference.

There was a "trick" to display sprites in the border area (which involved flipping the screen vertical height bit from 25 rows to 24 rows after the VIC had started displaying the 24th row, thus tricking the VIC into never turning off the sprites at the "bottom" (and top) of the screen), but this only allows sprites to be seen outside the borders, it doesn't affect the display resolution of the VIC chip at all, and you can't use vertical scrolling in 25-line mode without artifacts showing up on the top/bottom of the screen. Few (if any) games used this- AFAIK only demo coders used this "bug", because you could stick a sprite out there but no background graphics.

The C-64 programmers reference manual has a section on sprites (Commodore called them "movable object blocks" or "MOBS")... if you read the section detailing sprite X and Y coordinates, you'll get an insight into how the VIC internally divvied up the screen coordinates, which is I believe what you are looking for.










Subjectthis is a good answer indeed! thanks! [nt] new Reply to this message
Posted byTerry Bogard
Posted on05/07/02 08:01 PM



> > Thanks, man, you are very kind, but unfortunately this info is not enough...
> >
> > Character Map Mode
> > Each character is 8x8. The screen is made of 40x25 characters
> >
> > Well, (8x8)*(40x25) is 320x200. Fine, that's the usable text area. But I guess
> > that the backgroud surrounding it is not considered here...
> >
> > Bitmapped Graphics Mode
> > HiRes Mode: 320x200 pixels, any one color per character-cell, and the
> background
> > color
> > Multocolor Mode: 160x200 pixels, 3 pre-selected colors, any one color per
> > character-cell, and the background color
> >
> > Again, this is the "work area". It would be enough, if the VIC-II wouldn't
> allow
> > to blit anything outside of it - which is not the case.
> > Play some tricky-programmed games, like Creatures 1 & 2 or Turrican (if my
> > memory serves me well), and you'll see sprites travelling right there, where
> > there shouldn't be anything...
> >
> > I want to know the resolution of the WHOLE C64 screen, not just the "normally
> > usable" part of it.
>
> Pixel-addressable space on the C-64 is 320x200 (in hires graphics/character
> mode) and 160x200 (in multicolor hires/multicolor character mode). There was
> also a VIC-II register that controlled "border" color (which was basically
> anywhere outside the 320x200 or 160x200 area), and you could set up a scan-line
> interrupt to change the register at certain scanlines, but pixels outside of the
> 320x200 area could never be affected by anything outside the border color
> register. The size of the border was actually a function of you monitor's
> horizontal/vertical size/height adjustments, nothing could be done from within
> the machine to change that.
>
> So what resolution you run your emulator at is all in personal preference. You
> can run any game at 320x240 (and have the border only at the top and bottom),
> and this is the resolution that I run at. You can run it at 400x300 (which will
> give you left/right borders, as well). Your choice, makes no difference.
>
> There was a "trick" to display sprites in the border area (which involved
> flipping the screen vertical height bit from 25 rows to 24 rows after the VIC
> had started displaying the 24th row, thus tricking the VIC into never turning
> off the sprites at the "bottom" (and top) of the screen), but this only allows
> sprites to be seen outside the borders, it doesn't affect the display resolution
> of the VIC chip at all, and you can't use vertical scrolling in 25-line mode
> without artifacts showing up on the top/bottom of the screen. Few (if any)
> games used this- AFAIK only demo coders used this "bug", because you could stick
> a sprite out there but no background graphics.
>
> The C-64 programmers reference manual has a section on sprites (Commodore called
> them "movable object blocks" or "MOBS")... if you read the section detailing
> sprite X and Y coordinates, you'll get an insight into how the VIC internally
> divvied up the screen coordinates, which is I believe what you are looking for.
>





SubjectRe: c64 resolution(s?) new Reply to this message
Posted byLord Ashram
Posted on05/08/02 06:47 PM



i forgot the exact number for horizontal,
but the maximum number of pixels the vicii can display vertically is 256 or at least that was the maximum number i could do back in my c64 programming days.

*edit*
it looks like 312 is the max. horizontal lines according to this page:
http://www.minet.uni-jena.de/~andreasg/c64/c64_vic_html.htm

though 256 was all i could do! :P






SubjectGreat, thanks a lot! [nt] Reply to this message
Posted byTerry Bogard
Posted on05/09/02 02:49 PM



> i forgot the exact number for horizontal,
> but the maximum number of pixels the vicii can display vertically is 256 or at
> least that was the maximum number i could do back in my c64 programming days.
>
> *edit*
> it looks like 312 is the max. horizontal lines according to this page:
> http://www.minet.uni-jena.de/~andreasg/c64/c64_vic_html.htm
>
> though 256 was all i could do! :P
>
>
>
>





SubjectH res was 320 pixels... new Reply to this message
Posted byProphet
Posted on05/24/02 03:12 AM



320 for sure, not 312. I know because I spent countless hours comparing the C64 specs to my Atari 800 at the time. :)

While it may have been able to do 256 lines vertical, the viewable display area was closer to 200, and 320x200 was the listed res in the spec sheets at the time.

> i forgot the exact number for horizontal,
> but the maximum number of pixels the vicii can display vertically is 256 or at
> least that was the maximum number i could do back in my c64 programming days.
>
> *edit*
> it looks like 312 is the max. horizontal lines according to this page:
> http://www.minet.uni-jena.de/~andreasg/c64/c64_vic_html.htm
>
> though 256 was all i could do! :P
>
>
>
>


-Prophet-
www.retrogames.com


Subjectnopey new Reply to this message
Posted byLord Ashram
Posted on05/28/02 00:08 AM



> 320 for sure, not 312. I know because I spent countless hours comparing the C64
> specs to my Atari 800 at the time. :)
>

did you ever do any programing in the c64?

the normal grfx res. yes was 320x200, but you could do tricks to get grfx into the borders which would let you get upto 262(ntsc) or 312(pal) for the vertical, but damn if i could remember what the horizontal went upto. maybe something like 360?

i guess if my lazy ass would fire up ccs64 i could tell ya.
maybe later.







SubjectRe: H res was 320 pixels... *edited* new Reply to this message
Posted byJan_Klaassen
Posted on06/02/02 06:09 PM



> 320 for sure, not 312. I know because I spent countless hours comparing the C64
> specs to my Atari 800 at the time. :)

Normally, it could do 320 horizontal, but when you wanted horizontal scrolling, you'd need to enlarge the border, which would give you 304 pixels. (Duh!) If you used multi-colour mode, you'd end up with pixels twice as wide (but you could still scroll them with the same precision). Vertically it did the same, so you had 200 pixels normally, 192 when you used scrolling.

Then there are hardware bugs, which you can use to let it "forget" to draw the border at all, so you can display sprites outside of the screen. I'm not sure what the actual limits are (a full PAL screen is 384x312 pixels).





Previous ThreadView All ThreadsNext Thread*Show in Threaded Mode