Changes

Jump to: navigation, search

Comparing C64 to CPC

2,707 bytes added, 16:39, 9 August 2020
/* Palette comparison */
* The C64 was released in 1982, the CPC released in 1984.
* The C64 was designed to be connected to a television (PAL: 50Hz, NTSC: 60Hz). The CPC was designed to be connected to a an Amstrad GT65 green screen or CTM640/644 colour monitor. * The C64 has a dedicated separate tape player. The CPC464 has a dedicated tape player built in, or for CPC664 and CPC6128 any tape player could be used with a suitable lead.
* 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). The CPC has a 4.0Mhz Z80 CPUcolours have higher contrast and are brighter than the C64's colours.
* The C64 has a programmable raster interrupt1. You can define the line at which the interrupt will be triggered0MHz 6510 CPU (a 6502 based CPU design). The CPC has 6 "raster" interrupts at fixed positions through the 50Hz framea 4.0Mhz [[Z80]] CPU.
* The C64 has 50Hz and 60Hz variants (for regions where PAL and NTSC are used), a programmable raster interrupt. You can define the clocks inside line at which the C64 are based off interrupt will be triggered and you can do thismultiple times during a frame. The CPC is has 6 raster interrupts at fixed positions through the 50Hz onlyframe.
* The C64's color RAM, SID, VIC has 50Hz and other hardware can be made visible within the 6510's memory space. Access to them is done using normal read/write operations60Hz variants (for regions where PAL and NTSC are used). All access to the The CPC's hardware is done using the Z80's special I/O instructions50Hz only.
* The C64 has pixel-by-pixel hardware scrolling in both the horizontal 's color RAM, SID, VIC and vertical. The CPC has other hardware scrolling. Using R5 of the CRTC and Rupture demo technique pixel-by-pixel scrolling in the vertical direction can be achievedmade visible within the 6510's memory space. Using R3 of Access to them is done using normal memory read/write operations. All access to the CRTC 1 byte at a time in CPC's hardware is done using the horizontal is possible Z80's special I/O instructions (which equates to 2 pixels in mode 0, 4 in mode 1, and 8 in mode 2IN/OUT).
* The C64 has the SID sound chiptwo resolutions: high and multi-colour. The CPC pixel sizes are compareable to Amstrad's mode 1 and mode 0. The Amstrad has the AY-3-8912 sound chipdisplay resolutions: low, medium and high. The high resolution on the CPC is higher than the C64's.
* The C64 has the VIC video chipcharacter and bitmap based modes. The CPC has the 6845 CRTC and Gate-Arraymodes are all bitmapped.
* The C64 tape loading is done through interrupts so is not intensive on has pixel-by-pixel hardware scrolling in both the cpchorizontal 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 tape loading has hardware scrolling. The screen is intensive on scrolled and wraps by using R12 and R13 of the CPUCRTC 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 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 loads 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, the C64 can do overscan too, vertically can be done using interrupts but horizontally is processor intensive and only sprites can be displayed in this area.
* The CPC can do overscan (rupture ==Palette comparison== Amstrad has a palette of 27 colours formed by mixing 0, "half" or 32K screen method)"full" of R, the 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 do ithas a palette of 16 colours. The colours were chosen by the designers. It has a couple of greys and some browns.The colours appear different on NTSC and PAL due to the way these transmit their colour signals, but only sprites can be displayed where and in addition the border wascolour is not always the same between machines. Both have a good range of colours that can produce great pictures. [[File:Colors.png]] * C64 trying to replicate 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]]
==Comparison of the SID and AY-3-8912==
AY sound chip has 3 tone channels, 1 noise channel and 1 hardware envelope.A mixer can be used to enable/disable tone output for each channel, The volume of each tone channel can be independantly controlled,OR be controlled by a hardware envelope.SID:
* 3 tone channels
* 4 waveform types (sawtooth, triangle, pulse, noise), selectable per channel
* Ring-Modulation
* Programmable 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.
* The mixer can be used to enable/disable tone output for each channel, enable noise or hardware envelope on a channel.
The SID sound chip is more powerful than the AY sound chip.
== Comparing Amstrad Plus and C64 ==
* The C64 has a 1.0MHz 6510 CPU (a 6502 based CPU with I/O ports based at location &0000 and &0001). The Plus has a 4.0Mhz Z80 CPU.
* Both the C64 and Plus have pixel-by-pixel hardware scrolling both in the horizontal and vertical. (pixel by pixel scrolling requires Plus extra features)
* Both the C64 and Plus have programmable raster interrupts. e.g. you can set whichline of the display an interrupt can occur on.
(requires Plus extra features)
 
* The C64 has the VIC video chip. The Plus has the ASIC.
* Both have [[ASIC]] video chips: the C64 has the VIC video chip. The Plus has the AMS40489 ASIC.
== Sprite Comparisons ==
C64:
* The C64 has 8 hardware sprites.
* Each sprites sprite can be one of two resolutions: high resolution or multicolour.* The sprites use the same palette as the main screen. You can define 1 unique colour for each sprite. In multicolour mode 2 colours are shared between each sprite.
* 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 height and width.
* Sprite data is fetched from main RAM.
 
Amstrad CPC:
 
* Amstrad CPC doesn't have hardware sprites. All sprites must be drawn and erased using the CPU. It is therefore slower to draw sprites on the CPC.
 
Amstrad Plus:
The pixel size in high resolution is comparable to CPC's mode 1. Each pixel (Plus features must be enabled first before sprites can be either transparent OR a colour unique for each sprite. The pixel size in multicolour is comparable to CPC's mode 0. used)
* The Plus has 16 hardware sprites. They share a * The sprites have their own seperate 16 colour paletteof 16 colours chosen out of 4096 colours. They * The priority of sprite-to-sprite is fixed. * Each sprite can have a resolution the same as be unmagnified (mode 2 or magnified to have a resolution like ), x2 (mode 1 resolution) or x4 (mode 0resolution). Each sprite They can also be magnified in height.* Sprite data is 16x16 pixelsstored in on-board ASIC RAM.
The Plus sprites can have more colours and are higher resolution compared to the C64's sprites.
(Plus extra features must be activated using a special control sequence.When this is done, the ASIC registers can be made visible in memory between &4000-&7fff. The Plus registers can then be accessed using normal memory read/write operations).[[Category:CrossDev]][[Category:CPC History]][[Category:Non CPC Computers]]
4,585
edits