C64 Standard Bitmap Mode (320 x 200)

Anything relating to non Sinclair computers from the 1980's, 90's or even before.
User avatar
PeterJ
Site Admin
Posts: 6873
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

C64 Standard Bitmap Mode (320 x 200)

Post by PeterJ »

Earlier in the summer when I had more time on my hands I set myself a little challenge of trying games, and looking at the BASIC on as many 8bit platforms as possible. It's all possible through the joys of emulation!

One of the machines I looked at was the C64.

One of the modes is 320 x 200 (Standard Bitmap Mode) which I believe has the same restrictions as the Spectrum with one foreground and one background colour per 8x8 character from the 16 possible colours.

Questions:

Was this mode used for many games and was it popular?
Did the C64 suffer from Colour Clash?

In terms of BASIC the C64 is truly awful IMHO. Its as though its in alpha stage. Having to poke to get user defined graphics in character mode, or use any other other modes is a real turn off for me. Also, those PETSCII characters.... Trying to read them in magazine listings is just impossible....
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by bob_fossil »

I can't answer your questions Peter but I agree with your comments about C64 BASIC. Many moons ago, I used to get INPUT magazine and would have a peek at the listings for the other machines to see what was what. The listings for C64 programs seemed to mostly consist of printing random sequences of playing card symbols and combinations of POKE and SYS statements to bang the video and sound hardware directly.
AndyC
Dynamite Dan
Posts: 1403
Joined: Mon Nov 13, 2017 5:12 am

Re: C64 Standard Bitmap Mode (320 x 200)

Post by AndyC »

Not much uses the bitmap modes, because it's a lot more memory and most games are tile based so better suit the character modes (where you can mix and match on a character by character basis whether they are hires or multicolour).

It has "colour clash" in the sense that if you tried to draw sprites using characters they have colour limitations, but that doesn't really happen because the hardware sprite colours are a separate thing and they don't change based on the background colours. And it's possible to multiplex them to get more on screen than officially allowed (albeit with some restrictions).

As to BASIC, yeah it is crap. The story I heard is that Microsoft wanted to charge a per-machine fee for customized versions of its BASIC implementation. Commodore balked at that and eventually agreed a flat fee to put it on as many machines as they liked, but only in a standard uncustomised arrangement. Hence the complete lack of support in the commands for any of the C64 features.
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by Pegaz »

Yes that C64 hi-res mode is more or less similar to Spectrum.
However, since it has hardware sprites (which can also be hi-res), with a color palette independent of the background screen, color clash is very easy to avoid.
Back in the day, hi-res titles existed, but multicolor mode was very dominant.
Hi-res is mainly used for Spectrum conversions, but there are also exclusive c64 games.
The good news for c64 fans is, that in the last few years we have had a real renaissance of hi-res games.
I already mentioned that all the Ultimate "filmation" titles have been ported and that they look really impressive.
btw, on the local Serbian forum we have a special topic, with a very detailed list of almost all c64 games in hi-res mode, so you can take a look:
https://forum.benchmark.rs/showthread.p ... gre-na-C64
User avatar
PeterJ
Site Admin
Posts: 6873
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: C64 Standard Bitmap Mode (320 x 200)

Post by PeterJ »

Thanks [mention]AndyC[/mention],

Microsoft haven't changed much have they! MSX must have either paid up or had a much better negotiator.

Can you just expand on the character mode for me? So you can mix the 8x8 standard character and the multicolour character double width mode on the same screen?

Also, if they used character mode, how did they got pixel scrolling?
AndyC
Dynamite Dan
Posts: 1403
Joined: Mon Nov 13, 2017 5:12 am

Re: C64 Standard Bitmap Mode (320 x 200)

Post by AndyC »

Well Microsoft were behind the MSX standard, so they had a certain desire for those machines to come off better.

Yes, in the character mode it's possible to designate any character on screen as multicolour mode (by setting one of the colour bits or something, I forget the details). The pixel scrolling moves in high res pixels, so if you have a low res character it basically scrolls by half a "fat" pixel each time.
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by Ersh »

PeterJ wrote: Tue Aug 04, 2020 6:29 pm Can you just expand on the character mode for me? So you can mix the 8x8 standard character and the multicolour character double width mode on the same screen?

Also, if they used character mode, how did they got pixel scrolling?
Multi-colour character mode allows both hi-res and multi-colour chars to be displayed at the same time. The limitation is that the hi-res chars (and individual colour of a mc char) can only use the first 8 colours of the palette.

Scrolling is handled by hardware, you can shift the screen 8 pixels in both X and Y. Coarse scrolling has to be done manually.
akeley
Dynamite Dan
Posts: 1041
Joined: Sat Feb 01, 2020 5:47 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by akeley »

Here's what bothers me since forever; why do C64 (and Atari) games look so blocky compared to ZX? Is their gfx resolution actually lower (is it 256x192 of ZX vs 160x200 of C64?).
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by Ersh »

akeley wrote: Tue Aug 04, 2020 6:55 pm Here's what bothers me since forever; why do C64 (and Atari) games look so blocky compared to ZX? Is their gfx resolution actually lower (is it 256x192 of ZX vs 160x200 of C64?).
The c64 has higher resolution than the Spectrum in the standard hi-res modes. Most folks prefered the additional colours (at the cost of horizontal resolution) that the MC modes brought though. Also, regardless if the background and sprites are MC, their positional resolution is still 320x200.
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by Pegaz »

Yes, in multicolor mode horizontal resolution on C64 is 160 pixels.
In hi-res mode its 320x200 and then it is less blocky than Spectrum resolution.
I'm not too familiar with a bunch of Atari graphics modes, but I know they can be much more blocky than on the C64.
User avatar
Joefish
Rick Dangerous
Posts: 2058
Joined: Tue Nov 14, 2017 10:26 am

Re: C64 Standard Bitmap Mode (320 x 200)

Post by Joefish »

Are they using the bitmap mode? I imagine quite a few of them are using hi-res characters in character-mapped mode...
But the C64 has endlessly complicated restrictions on what colours you can use where, which I can't find an adequate explanation of anywhere!
Then there are loads of unsupported hacks of these modes that defy all explanation.

There's hi-res bitmap mode, where there's a 'bitmap memory' and a 'screen memory'. The screen memory sets the foreground / background colour for each character cell, like the Spectrum.

Then there's a character-mapped mode, where 'screen memory' is 1K with one byte per character. The manual tells you that upper bits of the character byte mean things like invert, or switch case, but really it's just 256 UDGs in ROM. Switch it over to a character set in RAM and you can do what you like with those 256 UDGs. This mode also includes 'colour RAM', which is a separate memory chip with only 4 bits per address. This lets you set one 'INK' colour per character cell; the background colour is common across the whole screen.

Then there's a multi-colour character-mapped mode. This is what games are usually done it. Now the top bit of that 'colour RAM' nybble is the flag for a lo-res multi-colour UDG. Which means hi-res characters can now only be drawn in half the palette 0-7 over the common background colour. If you flag a character as multi-colour then its bits are paired up into a lo-res 4-colour pixel. 3 of its possible colours are common across the whole screen (described as 3 different 'background' colours) and only one can be set per-character. And again, that unique 'colour RAM' entry now only has 3 bits left so can only be taken from half the palette (the primary-ish colours, i.e. not pink, orange, brown, grey etc).

https://www.commodore.ca/manuals/c64_pr ... aphics.pdf

It's the fact that three of the colours across the whole screen are common that gives C64 graphics a familiar look. Only one unique colour is allowed per character cell, so all of the tiles on-screen are only one small step away from simply being a four-colour-only display, like the Amstrad's 4-colour mode but with half the resolution!

But, because it's character-mapped, it's very fast to update the screen, as well as being efficient to buffer whole screens.

It can be hardware-scrolled, but only in pixel steps up to the size of one character. Then you have to re-draw everything one whole character over and start again. But as I said, that's quick, and can be buffered in advance. Hardware scrolling actually blanks off the left- and right- most character columns, and one row off the bottom, to mask off the edges of the screen so the shifting screen doesn't show.


Finally, sprites can be lo or hi res. Hi-res sprites have one colour and transparent. Lo-res sprites have one unique colour, 2 common colours, and transparent. Again, this gives C64 games a familiar look as it's hard to pick two common colours for all purposes. You see endless shoot-em-ups using two shades of grey and one pale other colour in every sprite. You get 8 sprites you can put anywhere, but a multiplexing trick can re-program any of the sprites to re-appear lower down the screen. How well the multiplexing is managed is down to the skill of the programmer. Again, you often see games where this is managed badly, and the sprites are clearly grouped in two or three 'bands', never wandering too far down the screen to cross over into the next 'band'.

And one trick used a lot in the C64's later life was to draw the player in a lo-res multi-colour sprite, then overlay a hi-res sprite in black to give it a sharp outline and hide the chunky edges of the lo-res colour defintion. Take a look at how neat the main sprite in Rupert and the Toymaker's Party looks compared to other games of the time. Or even how much better he looks compared to every other graphic in the game!

By clever use of this technique, multi-plexing sprites and arranging them in-game so not too many appear on the same row, and using a similar 'coloured square with black outlines' background design (like Renegade on the Speccy), modern homebrew C64 games can boast hi-res colour graphics that make you think you're looking at something 16-bit.
akeley
Dynamite Dan
Posts: 1041
Joined: Sat Feb 01, 2020 5:47 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by akeley »

Ersh wrote: Tue Aug 04, 2020 7:00 pm Most folks prefered the additional colours (at the cost of horizontal resolution) that the MC modes brought though.
That's what puzzles me, becasue I do not consider this mode (and trade off) superior at all. I depends of course on various games, but overall I'd probably choose higher res+less colour than vice versa (plus C64 also had sprites and whatnot to add to that mix).

This is actually something that made me sell my C64 after just a few months, and get an Amiga. The scrolling, sprites, music were all great but I just couldn't stomach the blockiness (maybe I'd persevere if I had a floppy drive, but with tape deck it was just a painful experience).

Some interesting reading
-if you can stomach the smugness and fanboyism of C-massive:D: https://www.lemon64.com/forum/viewtopic ... 2&start=15
-Digital Antiquarian on Summer Games: https://www.filfre.net/2013/08/how-thin ... s-edition/
User avatar
PeterJ
Site Admin
Posts: 6873
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: C64 Standard Bitmap Mode (320 x 200)

Post by PeterJ »

akeley wrote: Tue Aug 04, 2020 7:29 pm
Ersh wrote: Tue Aug 04, 2020 7:00 pm Most folks prefered the additional colours (at the cost of horizontal resolution) that the MC modes brought though.
That's what puzzles me, because I do not consider this mode (and trade off) superior at all. I depends of course on various games, but overall I'd probably choose higher res+less colour than vice versa (plus C64 also had sprites and whatnot to add to that mix).
My thoughts exactly [mention]akeley[/mention]
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by Ersh »

akeley wrote: Tue Aug 04, 2020 7:29 pm That's what puzzles me, becasue I do not consider this mode (and trade off) superior at all. I depends of course on various games, but overall I'd probably choose higher res+less colour than vice versa (plus C64 also had sprites and whatnot to add to that mix).
I don't think having good graphics all boil down to resolution, if the art is not up to standard it'll look crap no matter the width of the pixels. Overall I prefer the look of the c64 multi-colour when it comes to most games. In the end it's a matter of taste, surely.
User avatar
PeterJ
Site Admin
Posts: 6873
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: C64 Standard Bitmap Mode (320 x 200)

Post by PeterJ »

Ersh wrote: Tue Aug 04, 2020 7:53 pm In the end it's a matter of taste, surely.
Absolutely, as is so much in life.
akeley
Dynamite Dan
Posts: 1041
Joined: Sat Feb 01, 2020 5:47 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by akeley »

Ersh wrote: Tue Aug 04, 2020 7:53 pm I don't think having good graphics all boil down to resolution, if the art is not up to standard it'll look crap no matter the width of the pixels. Overall I prefer the look of the c64 multi-colour when it comes to most games. In the end it's a matter of taste, surely.
Yes, but that goes without saying. Of course higher res is not an automatic guarantee of quality, which depends on many factors. The type of game also matters a lot - some would benefit more from hires and others from having more colours. But, there are some games which I think really look better on Spectrum (eg Bomb Jack) precisely because of that whole trade-off.

The other angle is the fact that I'm a fan of all the 8-bit micros, frequent many different forums and very often have to put up with ZX-denigrating comments. In cases like the gfx, where disparity is not at all as clear cut as the received wisdom of other communities has it, it can be quite irritating.

PS: recently I have actually grown to love that previously-hated blocky gfx, it has a specific undeniable charm as well.
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by Pegaz »

Some people obviously didn’t read carefully, what Joefish wrote.
With C64 graphics, it's never a matter of choosing exclusively multicolor OR hi-res mode.
In reality, the best C64 games are those where both modes are combined on the screen, even a combination of hires sprites over multicolour ones.
There are a lot of great games, old and new, that masterfully use this technique.
It is also worth mentioning the more advanced scrolling techniques at the hardware level, first seen in Mayhem in Monsterland for example.
So, it's all about the ability of the developers to use these capabilities and make a great games.
In short, on the C64 scene, blockiness has not been a bogeyman for a long time and it's time for us here to get used to it. ;)
User avatar
PeterJ
Site Admin
Posts: 6873
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: C64 Standard Bitmap Mode (320 x 200)

Post by PeterJ »

Could you give some examples of some older ones [mention]Pegaz[/mention] please?
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by Pegaz »

PeterJ wrote: Tue Aug 04, 2020 9:57 pm Could you give some examples of some older ones @Pegaz please?
Ok, from the top of my head:
Untouchables (my favorite), Target Renegade, Batman the movie, Daley Thompson's Olympic Challenge '88, Mayhem in Monsterland, Rocket Ranger, Bod Squad, Edd the Duck, Heartland, Scooby & Scrappy Doo, etc ...
akeley
Dynamite Dan
Posts: 1041
Joined: Sat Feb 01, 2020 5:47 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by akeley »

Pegaz wrote: Tue Aug 04, 2020 9:55 pm Some people obviously didn’t read carefully, what Joefish wrote.
With C64 graphics, it's never a matter of choosing exclusively multicolor OR hi-res mode.
It'd probably also help if some people read what Iwrote ;)

I'm perfectly aware that there are many, many tricks possible on C64, which can lead to amazing results. If I wasn't I probably wouldn't link to that DA article... And other advantages this machine has, like scrolling, were also mentioned.

It wasn't the point though, because I was talking about one particular feature which is prevalent in huge number of (most?) C64 games. The fact there are some others which managed to somehow negate it does not make it any different.

But that has just reminded me of another funny thing C-fans would rather sweep under the carpet: the strange fascination with colour brown :D
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by Pegaz »

Well, the answer is simple, C64 game developers had a choice and decided that it was more important for them at that time, to have more colors on the screen, than a higher resolution.
That, in my opinion, is one of the main reasons for the predominant multicolor games.
All those resolutions on 8bit computers from the early eighties are in fact lo res and that is why this blockiness issue is pretty pointless.
At that time, most games on popular computers looked like that, no one complained, just as color clash didn't bother us much.
We have learned to live with their shortcomings, it's a part of computer history and more importantly our beautiful memories.
I took part in one horrible “vs” discussion at Wos, several years ago, learned my lesson and haven't the slightest desire to deal with this brown or similar "arguments" again... sorry.
User avatar
Joefish
Rick Dangerous
Posts: 2058
Joined: Tue Nov 14, 2017 10:26 am

Re: C64 Standard Bitmap Mode (320 x 200)

Post by Joefish »

akeley wrote: Tue Aug 04, 2020 10:45 pm...the strange fascination with colour brown :D
There's actually a partial reason for this. As I said, in multi-colour character mode, one of the bits of the colour RAM is used to toggle wether a character is to be treated as hi-res or lo-res. (Which is a bit weird, as they all come from the same character set. I'm not sure anyone would ever design a UDG where the bit patterns work as both monochrome hi-res and 4-colour lo-res).

The result of that is you can then only pick one of the first 8 colours from the palette to be unique to that character. That's black, white and the weirdly de-saturated versions of red, blue, purple, yellow, green, cyan.

If you want to use one of the further 8 colours (muddy orange, diarrhoea brown, dead-flesh pink, light green and blue, 3 greys) then you have to assign it to one of the three global screen colours, which means then every lo-res character on the screen then inherits that as one of its four colours, meaning it shows up a lot more than you might otherwise want.
akeley
Dynamite Dan
Posts: 1041
Joined: Sat Feb 01, 2020 5:47 pm

Re: C64 Standard Bitmap Mode (320 x 200)

Post by akeley »

These discussions are only horrible when people make them so. And there's no need for that. I really don't see why it shouldn't be possible discuss all the pros and cons of these machines in a lighthearted fashion. The fact it almost never happens and mostly ends in bitter exchanges was always a mystery to me - after all over three decades have passed, we've all grown up (allegedly) and there's no need for tribalism anymore.

Spectrum was overall the weakest of the Big Four micros when it comes to hardware. But it had some strong points too, high res gfx was one of them, and so why not talk about it (especially here)? Conversely, C64 was the mightiest of the lot - but it also had some weaknesses. It's not possible to mention them on the dedicated forums because the pitchforks will come out instantly.

Like I mentioned before I love all the micros. I find it fascinating to learn about them and compare stuff across the board. Sinclair will always have a special meaning for me as the first 8-bit <3, but it does not cloud my judgement or turn into a cultist.

Here's my micro-desk next to where I'm sitting now. Unfortunately no space for the CPC, Amiga & ST atm (but they're on rotation). They all get along just fine there :)

Image

[mention]Joefish[/mention] thanks for the explanation. I wasn't actually sure if that really is a thing or maybe just some local bias I had, especially seeing as of course there are plenty of games which work around this too and look really colourful.
User avatar
PeterJ
Site Admin
Posts: 6873
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: C64 Standard Bitmap Mode (320 x 200)

Post by PeterJ »

akeley wrote: Wed Aug 05, 2020 11:56 am after all over three decades have passed, we've all grown up (allegedly) and there's no need for tribalism anymore.
Agreed!
akeley wrote: Wed Aug 05, 2020 11:56 am Like I mentioned before I love all the micros. I find it fascinating to learn about them and compare stuff across the board.
I'm exactly the same!
User avatar
ketmar
Manic Miner
Posts: 697
Joined: Tue Jun 16, 2020 5:25 pm
Location: Ukraine

Re: C64 Standard Bitmap Mode (320 x 200)

Post by ketmar »

akeley wrote: Wed Aug 05, 2020 11:56 am Like I mentioned before I love all the micros.
...except those built with 6502.

sorry, just couldn't resist it... ;-)
Post Reply