Changes

Comparing C64 to CPC

2,504 bytes added, 30 April
== Comparing [[CPC ]] and [[C64 ]] ==
* The C64 was released in 1982, the CPC released in 1984.
* The C64 has a palette of 16 colours. The Amstrad has a palette of 27 colours.
* The C64 has a 1.0MHz 6510 CPU (a 6502 based CPU design). The CPC has a 4.0Mhz Z80 CPUcolours have higher contrast and are brighter than the C64's colours.
* The C64 has a 1.0MHz 6510 CPU (a 6502 based CPU design). The CPC has a 4.0Mhz [[Z80]] CPU. * The C64 has a programmable raster interrupt. You can define the line at which the interrupt will be triggered and you can do this multiple times during a frame. The CPC has 6 "raster" interrupts at fixed positions through the 50Hz frame.
* The C64 has 50Hz and 60Hz variants (for regions where PAL and NTSC are used). The CPC is 50Hz only.
* The C64's color RAM, SID, VIC and other hardware can be made visible within the 6510's memory space. Access to them is done using normal memory read/write operations. All access to the CPC's hardware is done using the Z80's special I/O instructions (IN/OUT).
* The C64 has two resolutions: high and multi-colour. The pixel sizes are compareable to Amstrad's mode 1 and mode 0. The Amstrad has 3 display resolutions: low, medium and high. The high resolution on the CPC is higher than the C64's.
* The C64 has character and bitmap based modes. The CPC modes are all bitmapped.
* The C64 has pixel-by-pixel hardware scrolling in both the horizontal and vertical. The C64 has registers for programming the fine scroll for X and Y but you need to move data in memory to complete the scroll - either moving multiple bytes in bitmapped mode, or moving char indices in character mapped mode. The CPC has hardware scrolling. Using The screen is scrolled and wraps by using R12 and R13 of the CRTC but it's fast, 2 bytes horizontally and R9 lines vertically. With clever programming using R5 of the CRTC and Rupture demo technique pixel-by-pixel scrolling in the vertical direction can be achieved. Using R3 of the CRTC 1 byte at a time in the horizontal is possible (which equates to 2 pixels in mode 0, 4 in mode 1, and 8 in mode 2).
* The C64 has the SID [[ASIC]] sound chip. The CPC has the [[AY-3-8912 ]] [[COTS]] sound chip.
* The C64 has the VIC [[ASIC]] video chip. The CPC has the [[COTS]] [[6845 CRTC ]] and an [[ASIC]] Gate-Array.
* The C64 tape loading CPC is done through interrupts so is not intensive on made from chips purchased from various manufacturers, while the cpcC64 only uses MOS chips. The Demos have serious [[CRTC]] compatibility issues on CPC tape loading is very intensive while such problems don't really exist on C64, except for the CPUPAL/NTSC split.
* The C64 tape loading is done through interrupts so is not intensive on the CPU. The CPC tape loading is very intensive on the CPU. * The C64 communicates with the disc drive through a wired serial connection. This means loading from disc is slow unless a special loader is used. The CPC's disc interface uses a [[COTS]] [[NEC765 ]] disc controller and uses byte-by-byte data transfer so is much quicker.
* The C64 can easily play music while loading from tape or disc and do other graphical effects at the same time. The CPC can play music during tape or disc loading but it's more processor intensive and is restricted to no other effects when this is done.
* The CPC can do overscan easily and any pixels can be shown here, the C64 can do it overscan too, vertically can be done using interrupts but it's more horizontally is processor intensive and only sprites can be displayed in this area. ( ==Palette comparison== Amstrad has a palette of 27 colours formed by mixing 0, "half" or "full" of R,G,B. The colours are vibrant.The Amstrad's palette however is lacking in browns and greys. The colours themselves are consistent between machines. The C64 can open has a palette of 16 colours. The colours were chosen by the lower designers. It has a couple of greys and upper border with much less processor timesome browns. Both the CPC and the C64 have a good range of colours that can produce great pictures. The colours appear different on NTSC and PAL due to the way these transmit their colour signals, it takes much and in addition the colour is not always the same between machines. Only the C64 PAL has the infamous brownish palette. The C64 NTSC has a more time vibrant colour palette. [[File:Colors.png]] * C64 trying to open the side bordersreplicate CPC colours palette (and failing). [[File:CPC palette emulated on C64.png]] * Amstrad CPC trying to replicate C64 grey palette (and somewhat almost succeeding). [[File:Test gris CPC.png]] ==How color fades are done on the C64== [[File:Commodore 64 color fade algorithm.png|800px]] The C64 demogroup Oxyron produced the most exhaustive [[Media:C64 Colfade v2.pdf|color fade documentation]] to any color.
==Comparison of the SID and AY-3-8912==
* 3 tone channels
* 4 waveform types (sawtooth, triangle, pulse, noise), selectable per channel
* Ring-Modulation
* FiltersProgrammable filter
* Programmable hardware envelopes on any channel
AY:
* 3 tone channels, (square waveforms only)* 1 noise channel
* 1 hardware envelope (with programmable waveform)
* the volume for each channel can be set or controlled by the hardware envelope.
* Both the C64 and Plus have programmable raster interrupts. e.g. you can set whichline of the display an interrupt can occur on.
* The Both have [[ASIC]] video chips: the C64 has the VIC video chip. The Plus has the AMS40489 ASIC.
== Sprite Comparisons ==
* The priority of sprite-to-sprite is fixed. Sprite 0 has a higher priority than sprite 8.
* The pixel size in high resolution is comparable to CPC's mode 1. Each pixel can be either transparent OR a colour unique for each sprite. The pixel size in multicolour is comparable to CPC's mode 0 and each pixel can be transparent or 1 of the other 3 colours.
* Each sprite can be magnified in heightand width.
* Sprite data is fetched from main RAM.
* Each sprite can be unmagnified (mode 2 resolution), x2 (mode 1 resolution) or x4 (mode 0 resolution). They can also be magnified in height.
* Sprite data is stored in on-board ASIC RAM.
 
[[Category:CrossDev]][[Category:CPC History]][[Category:Non CPC Computers]]
 
== Links ==
 
*[https://www.pepto.de/projects/colorvic/ Calculating the color palette of the VIC-II] [https://www.colodore.com/ Colodore]
*[https://hitmen.c02.at/temp/palstuff/ Accurately reproducing the Video Output of a Commodore C64]
*[https://ilesj.wordpress.com/2016/03/30/old-vic-ii-colors-and-color-blending/ Distinction between old VIC-II and new VIC-II color palette]
13,173
edits