Changes

Jump to: navigation, search

Speccy Port

2,998 bytes added, 08:29, 21 April 2011
/* Machine comparisons */
*Amstrad has hardware scrolling, Spectrum does not.
 
* The Spectrum was designed to be used with a television, the Amstrad was designed to be used with an Amstrad green screen or colour monitor.
 
* The Spectrum was sold as a games machine, the Amstrad was sold more as a multi purpose machine (in the UK anyway).
 
* The Spectrum didn't come with a joystick port, you had to buy one. There was two variants, Sinclair and Kempston, thankfully the hardware was cheap and easy to obtain, and both were well supported by software. The Amstrad came with a joystick port built in.
 
* The Spectrum didn't come with a tape player, you had to buy one. The Amstrad CPC464 had a tape player built in, however neither the CPC664 or CPC6128 had a tape player built in, you had to buy one if you wanted to use tape based software with them.
 
* Both the Spectrum and Amstrad had to use the CPU for loading or saving on cassette. The Spectrum ROM loader used the border colours to indicate loading (especially the use of coloured bars in the border) a small block for a header, and then loaded the program with one larger block. The checksum/error detection was done using XOR. The Amstrad's ROM loader used many smaller blocks (so you could rewind if there was an error), it indicated loading progress with text that updated on the display, and used the better CRC for error detection. However, if the loading messages were turned off, you didn't have any indication of loading progress.
 
* The Amstrad's BASIC and firmware are said to be better than the Spectrum's BASIC and OS functions.
===Consequences===
 
====Tape Loading====
 
Both the Spectrum and Amstrad had a similar method for loading or saving on cassette. For both it is CPU intensive and for both the method of representing the 1 or 0 bits is the same.
 
Some CPC games used a modified Spectrum tape loader (extracted from the Spectrum's ROM and modified for the Amstrad's hardware).
 
Sometimes the Spectrum loader was modified for the CPC without exact knowledge of how it worked, this resulted in some games with bad loaders that either didn't check for errors, or which didn't work in some circumstances. This lead to unreliable loading.
 
Loaders like this were used in a variety of games, not limited to Speccy Ports.
 
Two good loaders that appeared on both systems are Alkatraz and Speedlock. Both were reliable and fast.
 
The Amstrad's ROM loader was a bit better than the Spectrum's ROM loader because it had CRC error checking, compared to XOR, block based loading (so you could rewind and try a block again) compared to a single load.
 
Consequences for porting to CPC:
 
*If the loader was modified for CPC without good knowledge the loading would be unreliable. (e.g. errors are not detected, timings are bad, edge detection is dodgy).
 
*On the good side, the Spectrum utilised the border to indicate both the stage of loading (indicated by different colours used in the border) and the loading progress. If messages were turned off in the Amstrad ROM loader you didn't have any indication of loading progress.
====Colours & Colour Clash====
2,541
edits