Úvod

Frima Amstrad byla až do roku 1984 známá pouze jako výrobce spotřební elektroniky. V onom roce však přišel zlom a její majitel, sir Alan Sugar, se rozhodl vstoupit do světa domácích mikropočítačů. Tým vývojářů měl za úkol v poměrně šibeničním času vyvinout počítač schopný konkurence s již zaběhnutými výrobky firem Commodore a Sinclair. První prototyp z roku 1983, nazvaný ARNOLD (akronym jména Roland) byl osazen CPU 6502, neboť úspěšný konkurenční počítač Commodore VIC-20 jej měl také a šlo o zaběhnutou a levnou technologii. Stroj disponoval 32kB RAM a byl umístěn ve designově shodném šasi CPC 464, jak jej známe dnes, ovšem ve světle šedém provedení. Když měl Amstrad hardware hotový, hledal se software. Kde jinde se poohlédnout, než u firmy Microsoft, která se tehdy BASICy pro domácí počítače zabývala. BASIC od Microsoftu dostaly všechny Commodory, Apple, MSX, Oric, Thomson a jiné. Amstrad však neměl moc času a požadoval BASIC pro CPC v šibeničním termínu (přecejen šlo o byznys), který Microsoft nedokázal zajistit. Proto se v Amstradu poohlédli po alternativě v podobě Locomotive Software, což byla firma ochotná svůj již existující BASIC upravit pro CPC, ale s podmínkou, že Amstrad změní platformu připravovaného stroje z 6502 na Zilog Z80. Amstrad souhlasil a tak vznikl počítač Amstrad CPC 464 s CPU Z80A, taktovaném na 4 MHz a 64kB RAM v základní výbavě. Nový CPC 464 se záhy stal smělým konkurentem tehdy již zaběhnutých strojů Sinclair a Commodore. I přes některé svoje nedostatky a záludnosti, způsobené urychleným vývojem, jde o slušně zvládnutou platformu.
V Německu se počítače Amstrad prodávaly pod značkou Schneider, a lišily se pouze názvem a malými vnějšími drobnostmi, např. Amstrad CPC 464 měl oproti Schneideru barevnou klávesnici, zatímco Schneidery CPC 464 mají kontrolní tlačítka pouze šedá (některé série Amstradu ale mají také šedá tlačítka). Ve Španělsku se jeden čas CPC 464 prodávaly pod označením CPC 472. Šlo o rozšířené 464 o 8kB, které byly dodatečně nasazeny ribbon kabelem k původní RAM. Důvod této úpravy bylo španělské nařízení platit daň za každý počítač s národně nelokalizovaným systémem a 64 (a méně) kB RAM. 8kB čip navíc paradoxně nešel v systému využít. Amstrad postupem času počítače série CPC interně zjednodušoval aby zlevnil náklady na výrobu (CostDown). CPC se liší velikostí základní desky, verzí graf. čipu apod. Rovněž je lze odlišit podle loga Amstrad na vrchním štítku, které se také během času změnilo. Existují dokonce i klony tohoto počítače. Ve Východním Německu vznikl počítač KC Compact, částečně kompatibilní s CPC 464.

V roce 1985 přišel Amstrad s vylepšeným modelem CPC 664 se zabudovanou disketovou jednotkou 3", který se ale moc nerozšířil, protože za půl roku po uvedení CPC 664 totiž Amstrad uvedl model CPC 6128 s Basicem 1.1, disketovou jednotkou a 128kB RAM.


Srdcem počítačů CPC je populární 8bitový mikroprocesor Z80A firmy Zilog, pracující na frekvenci cca 4MHz (v době uvedení na trh to byl papírově nejrychlejší 8bit). Ve skutečnosti je však frekvence CPU jen něco kolem 3,3MHz, protože je bržděn cykly přístupu ke grafickému čipu. Právě díky tomuto procesoru a ideálnímu grafickému režimu 640x200 je tento počítač ideální pro provoz operačního systému CP/M.

RAM má standardní velikost 64kB, u modelu 6128 128kB (64kB rozdělené na dvě banky).
V ROM nalezneme Locomotive BASIC 1.0, který disponuje mnoha užitečnými příkazy pro práci s grafikou, zvukem apod. U modelu 664 a 6128 byl Basic rozšířen o diskové operace na verzi 1.1.

CPCčka mají tři grafické režimy o které se stará speciální obvod CRTC 6845, a to 160x200x16 barev z palety 27 (používal se hlavně pro hry), 320x200x4 barvy z palety 27 (standardní mód) a 640x200x2 barvy z palety 27 (většinou pro užitkové programy, textove editory apod.) Obvod CRTC sice nemá sprity, ale umožňuje hardwarové řízení scrollingu obrazu, čehož se dost využívá v současných demech (a z toho rovnež vyvstává problém, o kterém si můžete přečíst v sekci CRTC).

O zvuk se stará oblíbený tříkanálový zvukový generátor AY-3-8912, užitý např. také v ZX Spectru 128, Atari ST, MSX aj. Jeho rozsah je 8 oktáv, 16 úrovní hlasitostí pro každý kanál, obsahuje generátor bílého šumu a možnost použít tzv. hardwarové obálky. V počítačích CPC pracuje na frekvenci 1,0MHz.



Schneider CPC 464 s originálním
monochromatickým monitorem

Schneider CPC 464

Softwarová základna těchto strojů je celkem bohatá, hovoříme-li spíše o původním software z dob komerčních. V CPC verzi existuje většina her, které jsou k dispozici pro ZX Spectrum nebo C64. Počítače byly nejvíce rozšířeny ve Velké Británii, Francii, Španělsku, Řecku a Německu (díky Schneideru). K nám se nikdy oficiálně nedovážely a tudíž zde nejsou tolik známé.



Nahrávání hry Storm Lord z originální
kazety. Nezdá se vám na tom něco
povědomého? ;-)

Schneider CPC 6128 a demo École
Buissoniere. Jeden z nejlepších
kousků na CPC.

CPC mají zajímavý systém nahrávání programů z kazety. Standardně se program ukládá ve formě 2kB (?) bloků, jímž pokaždé předchází zaváděcí tón s hlavičkou. Bohužel, počítač sám vytváří mezi těmito bloky dost velké mezery a tak se nahrání jedné hry může protáhnout až na 10 az 15 minut. Standardně se také na obrazovce během nahrávání nevykreslují žádné indikační pruhy nebo podobné věci. Je zde ale jedna věc, kterou ostatní 8bity nemají (nebo je řeší různými turby apod.). Přímo z Basicu lze totiž nastavit rychlost záznamu od cca. 500 až do 2500bd. Bohužel nelze nijak ovlivnit onu velikost ulkádaných bloků. To jde jen ve strojovém kódu a mnoho výrobců her to tak dělalo. Proto hodně originálních her používá styl nahrávání okopírované ze ZX Spectra, tj. Basicovy loader, strojákový loader, obrázek a hlavní data programu, doprovázený BORDERovými efekty pro indikaci nahrávání. Záznamy byly rovněž jako jejich bratříčci na ZX nahrávány nestandardní rychlostí, aby je nebylo možné snadno zkopírovat. Celkem běžně byly používané techniky pro ochranu proti kopírování jako třeba SpeedLock, opět známý také na Spectru.


Když jsme u toho Spectra, zkuste si na svém CPC nebo v emulátoru napsat tenhle prográmek:

10 CLS
20 FOR f=49152 to 65535
30 a=INT(RND*255)
40 POKE f,a
50 NEXT f


Jak vidno, CPC používá podobný princip ukládání obrazových dat v paměti. Oproti Spectru jen VRAM začíná na adrese 49152 a tato adresa je relokovatelná. VRAM je velká 16kB. Zkuste si vždy před spuštěním programu přepnout režim zobrazení příkazem MODE 02. Obrazovka není rozdělená na třetiny, ovšem ukládání probíhá vždy každý osmý mikrořádek.

Nejsou zde ale atributy, čili barevné bloky 8x8 bodů umožňující zobrazit pouze 2 barvy, nýbrž každý pixel můze mít svou barvu. V Basicu je možné i blikání v módu 0, tvořené softwarově. Jeden bajt ve VRAM nepředstavuje jeden obrazový pixel, ale několik pixelů, v závislosti na aktuálním módu. U módu 0 (160x200) to vypadá třeba tak, že každý sudý bit určitého bajtu představuje příznaky pro levý pixel a každý lichý pro pixel napravo od něj.
Jako daň zdánlivé výhody "co pixel to jiná barva" je to, že pro CPU je časově náročnější rozhýbat na obrazovce více věcí. Obzvláště u her, používajících mód 1 je to vidět. Zkuste si stejnou hru zahrát nejprve na ZX Spectru a poté na CPC. Jako příklad uvádím hru REVOLUTION od Vortexu. CPU Z80A je na CPC také zpomalován, což znamená to, že instrukce trvající normálně 15 taktů, jich ve skutečnosti trvá 16, protože se čeká na refresh videočipu. Tento fakt výrazně počítač brzdí a jeho skutečná rychlost se pohybuje někde kolem 3,3MHz (což je méně, než 3,54MHz u ZX Spectra). Dobový reklamní tisk o tomto nedostatku pochopitelně mlčí.



Revolution na ZX Spectru. Absence
barev je znatelná, ovšem vše je
rychlejší.

Revolution na Amstradu je
4barevný a tím i nepatrně pomalejší.

Je velká škoda, že CPC neumí hardwarové sprity jako např. C64 nebo Atari. Mód 0 je sice pro hry ideální, ale absence hardwarové podpory je velice znatelná. Veškeré pohyblivé objekty ve hrách nejsou na CPC příliš plynulé. Jako příklad uvedu hru Gianna Sisters, což je na C64 skvělá a plynulá hra, ale konverze na CPC dopadla žalostně.



Gianna Sisters na C64. Klasika. Plynulý
scrolling je samozřejmostí.

Konverze na CPC, to je prostě hnus!


© 2003, 2009, 2011 Factor6