Face-Off: ZX Spectrum vs. Commodore 64

124

Comments

  • edited August 2014
    Although the Gigascreen effect looks terrible on a modern monitor, it's a much more passable technique on an old 80s TV set with slow phosphor.

    Most of the pictures and demos you see around the internet will just have the colours blended between the two screens to approximate this, which is bordering on cheating, but short of watching it with your own eyes on an ancient CRT it's the closest you'll get.
  • edited August 2014
    @Ralf

    I know this picture from some old wos thread, its always popped up as Spectrum example..
    Is that the best we can get on the Spectrum, becouse those four images from Demolicius demo, look dramatically better?
    I havent tried Demolicius demo on the real c64, but I think it can look only better, not worse.
    On Hohx64 emulator looks great, flickering is obviously reduced in comparison to some other FLI images.
    TMR wrote: »
    On the C64 there are different colours with the same or at least very similar levels of luminance, if you flip between two of those each frame like light blue and medium grey or light green and yellow the result looks like a new colour with almost no flicker. A less convoluted version of this is used in Mayhem In Monsterland on some of the enemies and most people don't notice it's there. =-)

    Thanks TMR, for clarification, I also didnt know about this detail from Mayhem In Monsterland.
    I remember one amazing FLI picture of white tiger in end game sequence from the mid-nineties game, but cant remember her name.
    However, these images from Demolicius demo are so good and the best I've seen on 8 bit computers so far.
    I almost dont believe this is even possible. :)
  • edited August 2014
    I havent tried Demolicius demo on the real c64, but I think it can look only better, not worse.

    I haven't too but I believe it looks worse. Movie formats like .avi and others compress data in lossy manner which means almost everytime that flicker disappears, dithering disappears, we suddenly have more shades of colour and everything seems better than it really is.
    Is that the best we can get on the Spectrum, becouse those four images from Demolicius demo, look dramatically better?

    I'm afraid yes, unless you use hardware boosters like ULA+.

    For me gigascreen unforunately has limited use. It may be good for techno style demos which you watch on big screen from far distance on demoparty being drunk ;) But try playing a game with it for half an hour, you will want to quit after a minute.
  • edited August 2014
    One trick with the 'gigascreen', since the two images are held in the two 128K screen banks, is to interleave the two images on alternate pixel rows by carefully timed bank-swapping. And swap over the interleaving on alternate frames. That way you don't see huge areas obviously flashing between two colours. It's still not something you want to watch for too long though.

    The trouble with games using any such technique, as we've discovered with Matt Brown's laser-projected Pong game, is the more you concentrate on the game, your own mental responses speed up, and so you start to see the flicker more prominently.

    And as TMR says, colours with similar luminance aren't much of a problem. In fact you can just stipple white and yellow on the Spectrum and it looks like another colour; the same with green and cyan or red and magenta (basically two colours that only differ in the blue register). But what everyone wants to see is orange, and red and yellow are very far apart in terms of luminance and so flicker terribly.
    Joefish
    - IONIAN-GAMES.com -
  • edited August 2014
    joefish wrote: »
    But what everyone wants to see is orange, and red and yellow are very far apart in terms of luminance and so flicker terribly.

    One of the problems with crisper modern displays is you can't do color bleed so well. A stippled area of red and yellow looks quite close to orange on an original speccy connected to a small color television via the RF lead.
  • edited August 2014
    I'm not too ambitious, just want to see, for example, the image on 7:35 from Demolicius demo on spectrum with the same quality.
    Can we achieve that or not?
    This is in spite of everything, just an old commode with 16 colors, usually brownish and slow ancient cpu, not a PC with VGA graphics and 65k colors.
    I refuse to believe, that the spectrum with its vivid color palette and four times faster cpu, cant do at least the same or better.
    There must be a way... even ULA plus counts..
  • edited August 2014
    Pegaz wrote: »
    There must be a way... even ULAplus counts..

    Well when Miguel finally release the plug-in ULAplus you'll be able to use the HAM8x1 software mode. You can see what that looks like now (just select HAM256 and Timex at the same time):

    http://www.zx-modules.de/image2ulaplus/image2ulaplusframe.html
  • edited August 2014
    just an old commode with 16 colors, usually brownish

    spectrum with its vivid color palette

    Sorry but you want to watch converted photos from real life.

    Look at yourself in a mirror. Do you see red - RGB(255,0,0), pink - RGB(255,0,255) or yellow - RGB(255,255,0) anywhere? ;)

    Spectrum has "pure", intense colours. But in real life you don't have pure colours - you have a mix of grey and brown just like Commode.

    And to be honest C64 has 16 colours and Spectrum has practically 8 colours. Bright colors really don't differ much from non bright ones, it's a wasted opportunity for me.

    So let's say that loud - yes, Speccy is inferior to Commode in reproducing real life photos.

    So what? ;)
  • edited August 2014
    I dont follow you now... brownish is good?
    I dont buy that.. I've been here long enough and I know the truth. ;)
    And no, Spectrum isnt inferior to the C64 in any aspect...
    It's just different and unique in its own way..
  • edited August 2014
    Is real life really that grey and brown? I suspect C64 artists have just been very selective with the pictures they've chosen to digitize. :smile:
  • edited August 2014
    There are two important procedures used in the mcolci converter that had its output demonstrated in demolicious

    To reduce flicker i have used two methods as follows

    Allow mixing only of similar luma
    the converter discards any color mixing combinations that would cause flicker due to too much brightness difference between the two colors

    field swapping of pixels.
    This is a very important step and ensures that pixels break up into the two fields. (eg rather than have a mix of a gray block and a light gray block, the two colors are chequerboarded in x and y.
    In order to allow full pixel swapping, the converter uses the same 3 colors per block for the two fields (this allows each color to be freely swapped)
    Furthermore it also means that the actual gfx mode does not use any cpu at all (No d800 swapping, just a bank change)

    The other mode (Hires CI-FLI) later on in the demo, propogates in y position (But to allow more color mix combinations, colors are not shared across fields (However luma checks are still in place to reduce flicker)

    In order to increase the amount of colors even more, I am using pal color mixing where i can alternate specific colors to generate "new" ones even without interlace. It does look better on the real thing.
  • edited August 2014
    So have we decided that the C64 was crap yet or not.
  • edited August 2014
    Rather than discussing which one is inferior or not, its more important to try to use the strengths of each machine to its potential.

    The issues i can see in regards to color interlacing on the spectrum would be the saturated color palette. For most color combinations there would be too much of a luma difference. However.. Using the pixel alternating, this flicker can be reduced.

    I am not familiar with custom spectrum modes, is it possible to split the color attributes further with software? With the limitation of 2 colors per 8x8 block this pixel alternating method would have issues.

    One of my other gfx modes on the c64 was a mode known as Tri-FLI
    This method may work well on the spectrum (if its possible to split colors per line or two lines) On the spectrum this would alternate between red, green and blue error diffused images (but flicker would be reduced by having r,g,b in field 1. g,b,r in field 2 and brg in field 3) per line
  • edited August 2014
    There are two important procedures used in the mcolci converter that had its output demonstrated in demolicious

    To reduce flicker i have used two methods as follows

    Allow mixing only of similar luma
    the converter discards any color mixing combinations that would cause flicker due to too much brightness difference between the two colors

    field swapping of pixels.
    This is a very important step and ensures that pixels break up into the two fields. (eg rather than have a mix of a gray block and a light gray block, the two colors are chequerboarded in x and y.
    In order to allow full pixel swapping, the converter uses the same 3 colors per block for the two fields (this allows each color to be freely swapped)
    Furthermore it also means that the actual gfx mode does not use any cpu at all (No d800 swapping, just a bank change)

    The other mode (Hires CI-FLI) later on in the demo, propogates in y position (But to allow more color mix combinations, colors are not shared across fields (However luma checks are still in place to reduce flicker)

    In order to increase the amount of colors even more, I am using pal color mixing where i can alternate specific colors to generate "new" ones even without interlace. It does look better on the real thing.

    Thank you for this explanation, the result is truly impressive.
    I also tried your CSAM tool, its very interesting an fun, but still dont get such good pictures as yours.
    There are so many options to experiment with, I dont know where to start. :)
    Video conversion is also excellent, although I am far more interested in the picture at the moment.
    Whether the converter supports only bmp format as the source?
    I tried jpg files, but I dont have any feedback on images, only the number of iterations increases ..
  • edited August 2014
    Glad you liked the tool. The output can ofcourse also be used on spectrum (only need to plot the 8 byte chars to the desired location on the spectrum bitmap) - Although for this, you would need to use the single color hires mode.

    I would advise to read the supplied manual first. This gives hints and tips on all the options. Furthermore CSAM works better for images with smooth gradients. (sharp edges and text will result in decreased quality) due to the encoder focusing on these sections. although you can use the weighting options to change this if required.

    I am working on a tile based encoder (which gives compression rate approximately 6x more than csam) - at worse quality, but good enough for high framerate video.

    CSAM super does also support AVI video (but needs to be uncompressed) - For still images BMP format
  • edited August 2014
    I am not familiar with custom spectrum modes, is it possible to split the color attributes further with software? With the limitation of 2 colors per 8x8 block this pixel alternating method would have issues.

    With software re-writing, you can manage a 128 pixel wide strip with 8x1 attributes (144 pixels wide if you use a dedicated routine containing the colour data within its satements). You can do nearly the full screen width (240 pixels) with 8x2 attributes, meaning 2 colours in each 8x2 area.
    One of my other gfx modes on the c64 was a mode known as Tri-FLI
    This method may work well on the spectrum (if its possible to split colors per line or two lines) On the spectrum this would alternate between red, green and blue error diffused images (but flicker would be reduced by having r,g,b in field 1. g,b,r in field 2 and brg in field 3) per line
    Problem is you can't copy a screen full of data at 50fps, so you only have two screens you can flip between, and that's assuming you have the page-swapping of a 128K Speccy available to you.
    Joefish
    - IONIAN-GAMES.com -
  • edited August 2014
    Interesting.

    The 8x1 mode (or 8x2) mode should give some nice quality.

    I would probably recommend to keep both ink/paper colors the same for each 8x2 / 8x1 in both fields to allow pixel shuffling (to reduce flicker) as the luma differences between each saturated color are too large already.

    Also one other point to bear in mind is that flicking two colors do not produce an inbetween in the sense of the average. eg. mixing black $r00g00b00 with white $rffgffbff would not produce $r80g80b80, but rather a darker (very flickering variant) and this can vary from monitor to monitor

    Its always wise to visually analyse the mix colors and for "problem mixes" to adjust the calculation accordingly.
  • edited August 2014
    Here's my first attempt with CSAM, far from perfect but I like it. :)
    Very fun to use, reminds me of BMP2SCR for Spectrum, which I also used to convert images and video.

    0R5xAQfl.jpg
  • edited August 2014
    joefish wrote: »
    With software re-writing, you can manage a 128 pixel wide strip with 8x1 attributes (144 pixels wide if you use a dedicated routine containing the colour data within its satements). You can do nearly the full screen width (240 pixels) with 8x2 attributes, meaning 2 colours in each 8x2 area.

    Actually you can have 160 pixel wide with 8x1 attributes (see here) and full screen 256 pixels wide with 8x2 attributes (see here).
    Creator of ZXDB, BIFROST/NIRVANA, ZX7/RCS, etc. I don't frequent this forum anymore, please look for me elsewhere.
  • edited August 2014
    Pegaz wrote: »
    Here's my first attempt with CSAM, far from perfect but I like it. :)
    Very fun to use, reminds me of BMP2SCR for Spectrum, which I also used to convert images and video.

    0R5xAQfl.jpg

    Nice. A few quick hints and tips.

    Load the frame
    process and wait till errors stop/or change slowly
    select 8x4 mode while running. Wait till iterations stop and change slowly
    Repeat for 4x4 mode
    select 8x8 mode again and select mutate closest
    wait till iterations stop and change slowly
    repeat for 8x4
    repeat for 4x4
    then select pixel mutation mode

    The above should give up to 10-20% less errors as it refines the codebook more (and is not limited to clustering in fixed 8x8 pixels) Even though the output is 8x8 pixels, the encoder can use pixels from any position as the source which improves on the output quality.

    Weighting mode can dramatically increase visual quality (error numbers will show up as higher/lower) but this is due to the weighting options and mask that you create) and can be ignored

    Make sure additional LBG clustering does not run again (Usually the default should be fine (Does an initial LBG merge followed by another one 25000 iterations later) More LBG merges does not give any significant improvements.

    This is because the initial LBG clustering clusters some blocks efficiently while leaving some orphan cells. the refinement process then replaces these orphans with more optimum cells which when clustered again via lbg will be able to approximate more blocks in the image and maximize quality.

    Finally there is the Feedback mode. This can maximize codebooks even more. It converts the image to c64 format (but without color restrictions yet) and uses that as the source.
  • edited August 2014
    Actually you can have 160 pixel wide with 8x1 attributes (see here) and full screen 256 pixels wide with 8x2 attributes (see here).

    Are there any GFX examples of these modes. All i have seen so far are raster bar effects. It would be nice to utilise these modes for GFX
  • edited August 2014
    Are there any GFX examples of these modes. All i have seen so far are raster bar effects. It would be nice to utilise these modes for GFX
    Only within games:
    Buzzsaw+(FoxtonLocksMix).gif RiverRaidTechDemo.png KnightsDemonsDX.png

    screensample1_zps95b44e15.png
    Joefish
    - IONIAN-GAMES.com -
  • edited August 2014
    Also:

    screen2_zpsf50c05e9.png



    And there's a 8x1 engine called BIFROST* (derived from a previous engine called ZXodus) and 8x2 engine called NIRVANA. You may find these tutorials useful.

    If you want to experiment yourself, I highly recommend installing ZX-Paintbrush that supports both modes. When it starts, select File/New, then choose either "Bifrost*ZXodus ctile files" for 8x1 or "Nirvana btile files" for 8x2.
    Creator of ZXDB, BIFROST/NIRVANA, ZX7/RCS, etc. I don't frequent this forum anymore, please look for me elsewhere.
  • edited August 2014
    Have not used a C64 and could barely get my head around BASIC for the Speccy so I can't talk about ease of programming although I ahve heard that the older version of BASIC in the c64 made some of its better functions harder to program. If they had released the updated BASIC used in the c16 and plus/4 then it may ahve had an edge programming wise.

    Clearly the c64 wins on colour and sound (although I'd argue the 128K's AY chip is pretty good and is a fair competitor for the SID chip). Graphically however I much prefer the Speccy. The c64 games I've seen, especially in comparison videos, always tend to look a little blocky when compared to the speccy.

    In an ideal world I'd ahve the Speccy's speed and graphics with the c64's sound and colours. Now that would ahve been an interesting machine
  • edited August 2014
    On the whole, I think I prefered the MSX palette to either the C64 or the Speccy.

    Though best of all would have been if anyone could have had the full Speccy 8-colour palette and then 8 alternative colours (for example use the four bits as Blue, Red and 2 bits for Green).
    Joefish
    - IONIAN-GAMES.com -
  • edited August 2014
    RonnieASA wrote: »
    Have not used a C64 and could barely get my head around BASIC for the Speccy so I can't talk about ease of programming although I ahve heard that the older version of BASIC in the c64 made some of its better functions harder to program. If they had released the updated BASIC used in the c16 and plus/4 then it may ahve had an edge programming wise.

    Clearly the c64 wins on colour and sound (although I'd argue the 128K's AY chip is pretty good and is a fair competitor for the SID chip). Graphically however I much prefer the Speccy. The c64 games I've seen, especially in comparison videos, always tend to look a little blocky when compared to the speccy.

    In an ideal world I'd ahve the Speccy's speed and graphics with the c64's sound and colours. Now that would ahve been an interesting machine

    You dont need basic on c64, even Simons one.
    Programing on machine code is almost equally simple..
    Games in hires graphics and their uniqueness is something that I love most about Spectrum.
    That and tons of good memories, of course. :)

    @thealgorithm

    Thanks for this very useful tips, I'll definitely try them. :)
  • edited August 2014
    Are there any GFX examples of these modes. All i have seen so far are raster bar effects. It would be nice to utilise these modes for GFX

    A rather garish 8x1 demo picture I made for an early version of ZXodus:

    zxodusedit1.gif zxodus-oldvers3.jpg

    And one more 8x1 game, Bozxle:

    Bozxle.gif
  • edited August 2014
    p13z wrote: »
    rather garish

    Basically sums up anything drawn on the speccy in any graphics mode :)

    Edit: except in greyscale that is. If you throw away the garish, over-saturated 3 bit colours you have 15 grey shades and can make rather pretty pictures... just don't look at them on a colour monitor! :o
    Looks like someone's given a five year old a year's supply of skittles and left rationing to them ;)
  • edited September 2014
    Hmm.. A few posts made yesterday (31/08/2014) have been deleted.. I wonder why? :-)
  • edited September 2014
    Hmm.. A few posts made yesterday (31/08/2014) have been deleted.. I wonder why? :-)

    Because the forum is experiencing chuntey disturbance again.
Sign In or Register to comment.