Comparing C64 to CPC
From CPCWiki - THE Amstrad CPC encyclopedia!
Contents
Comparing CPC and C64
- 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 green screen or colour monitor.
- The C64 has a special seperate tape player. The CPC464 had a 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 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 clocks inside the C64 are based off this. 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 read/write operations. All access to the CPC's hardware is done using the Z80's special I/O instructions.
- The C64 has pixel-by-pixel hardware scrolling in both the horizontal and vertical. The CPC has hardware scrolling. 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 sound chip. The CPC has the AY-3-8912 sound chip.
- The C64 has the VIC video chip. The CPC has the 6845 CRTC and Gate-Array.
- The C64 tape loading is done through interrupts so is not intensive on the cpc. The CPC tape loading is 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 NEC765 disc controller and loads 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 (rupture or 32K screen method), the C64 can do it, but only sprites can be displayed where the border was.
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.
Comparing Amstrad Plus and C64
- The C64 was released in 1982, the Plus released in 1990.
- The C64 has a palette of 16 colours. The Plus has a palette of 4096 colours.
- 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.
Sprite Comparisons
C64:
- The C64 has 8 hardware sprites.
- Each 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.
- 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:
(Plus features must be enabled first before sprites can be used)
- The Plus has 16 hardware sprites.
- The sprites have their own seperate palette of 16 colours chosen out of 4096 colours.
- The priority of sprite-to-sprite is fixed.
- 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.