30/07/22

Super "ARM" Spectrum

ZX Spectrum 16/48 prišlo do predaja na jar roku 1982 za 125-175 libier. Veľmi lacné /Atari 800, C64, BBC Micro konkurencia bola niekoľkonásobne drahšia/. Mašina sa stala superhitom a lokálnou hernou veľmocou. Napriek tomu, že nebola v žiadnom prípade hardvérovo pre hry vhodne vybavená. Aj tak ste tam našli všetky herné žánre, niektoré sama založila a boli tam aj tak nepravdepodobné veci ako 3D FPS sandbox hry. Nemá to HW skroling, ani sprajty, ani rýchle DMA, zvuk ide cez beeper chrastítko. No a potom to unikátne riešenie grafiky, keď je rozlíšenie oddelené od farieb. Všetky hry teda idú v jemnom rozlíšení, ale farby zaberajú iba 768 bajtov a musíte byť veľmi zručný, aby to neskončilo znamými atribútovými kolíziami. Pre porovnanie - v štandardnom rozlíšení spektra 256x192px v 256 farbách potrebujete 48KB RAM iba na jeden framebuffer. Jedna obrazovka by teda zabrala celú voľnú pamäť spektra a preto to špeciálne "768 bajtové" riešenie. Borci, čo spectrum navrhli, neskôr povedali, že už o nejaký ten rok či dva, by to už takto neriešili. Vývoj by pokročil a cena kompentov klesla. Následovník spectra však nikdy neprišiel. Namiesto toho sa v 1986-1987 dovalila Amiga 500 a Atari ST. Obe veľmi úspešné a slávne.

Otázka teda zneje, či po slávnom spektre z 1982 nemohol Sinclair postaviť v 1987-88 niečo konkurencieschopné, cenovo prístupné a zároveň výkonné. Mohol a veľmi chcel. Sledujte. SuperSpectrum /1982, zrušený projekt/ - mal byť postavený na deriváte MC 68000 s lepšou grafikou, viac RAM, joystick porty, so špeciálnymi rýchlymi MG páskami ZX microdrive. LC3 alias  Low cost colour computer /1983, zrušený projekt/ - ako hovorí názov malo ísť o lacnú, hernú Zilog konzolu s hrami na kartridžoch. Pandora /zrušený projekt/- kompaktný prenosný Zilog počítač s vlastným displayom a lepším HW. V istej veľmi nepriamej podobe sa objavil na trhu ako Cambridge Z88. Loki /zrušený/ - eh to teda bolo niečo. Cieľom bolo postaviť stroj, čo sa vyrovná alebo skôr predbehne amigu. Veľmi premakaná práca na grafickej časti. Vedeli presne čo treba urobiť /super rýchly blitter atď./ Po tom ako Sinclair práce stopol, dev tím prešiel do vlastnej firmy Flare Technology. Preskočím veci do krorých vás nič a skončím s tým, že ich kontaktovalo Atari a na ich HW dizajne Flare II postavili konzolu Atari Jaguar !! Smršť ďalších zrušených Sinclar projektov - Bob, Florin, Janus, Tyche, Proteus malo rozvíjať schopnosti a možnosti vyššie uvedených nikdy nedokončených zariadení.

Nič z plánov sa teda nepodarilo naplniť a Sinclair v 1986 predal ZX Spectrum značku Amstradu. Idem teda veľmi voľne špekulovať, ako toho nástupcu ZX Spectrum v 1988 postaviť, ak by ku krachu nedošlo. Začnime voľbou CPU. Povedzme, že ostaneme na Zilog rodine rovnako, ako staré speccy. Vyvinutý Z80.000 bol 32 bit procák na rýchlosti 10+MHz dostupný od roku 1986. Išlo o veľmi šikovné a moderné CPU triedy i386 schopné multiprocesingu, adresovalo to aj 4 giga RAM, veľmi dobrá MMU /manažment RAM/, malo to 256 bajtovú kešku. Dostupná bola aj FPU jednotka - Z8070. Nič z toho sa však komerčne nepresadilo, aj kvôli veľkým problémom s dodávkami na trh, a ide dnes o neznáme CPU prevalcované i386 alebo Motorolou 68000/68020/68030.

Zilog to teda nebude. Čo tak široko používaná 16/32 bit Motorola 68000, ktorú mala v seba aj Amiga, Atari ST, Sega Megadrive, arcade systémy - Sega System16, slávne CPS od Capcomu, Neo Geo od SNK. Neskôr dokonca aj Atari Jaguar, alebo Sega Saturn /ako CPU riadiace zvukový subsystém/. Dokonca, a to je už skutočne trúfalosť, sa v 1995 dostala ako hlavné CPU do Sega handheldu Nomad /doslova prenosný Megadrive s 320x224 LCD displayom/. Mala ho dokonca aj Sinclair QL /1984, mŕtvy počítač už pri narodení/. Skvelé CPU, ale nechcem ho. Hľadám niečo bližšie britskej DNA.

Acorn Archimedes na ARM2ke. 
 
A to konkrétne anglickú ARM architektúru založená v 1985 na zakázku vtedy málo významnej Acorn Computers. Projekt novej na výkon orientovanej CPU rady od vysokokvalifikovaných britských akademikov založenej na RISC filozofii /redukovaná inštrukčná sada narozdiel od komplexnej CISC, kde patril aj ten Zilog a Motorola/. Po úvodnej ARM1 pripravili ostrú komerčnú, dnes slávnu ARM2 od jesene 1986 a bolo to úplne terno spojené hlavne s počítačmi Acorn Archimedes na britských ostrovoch. Na európskom kontinente boli neznáma vec. V tejto historií sa vŕtať nebudem. Pre nástupcu ZX Spectrum teda vyberám ARM dizajn.
 
Acorn Archimedes na ARM2ke.

ARM2 /32 bit CPU na 8+ MHz/ bolo bláznivo výkonné CPU. Udáva sa až 7 krát vyšší celočíselný výkon oproti rovnako taktovanej MC 68000 a dokonca 2 krát viac ako moderná i386/16Mhz. ARM2 to pritom dokázalo s nejakými 30 000 tranzistormi oproti skoro 70 000 pri MC 68000. Pohľadal som aj nejaké konkrétne benchmark čísla. ARM2 na základných 8Mhz ponúkala celočíselný výkon okolo Dhrystone 4901 (2.8 VAX MIPS). Compaq Deskpro 386 SX 16Mhz s 40 MB HDD za 6500 USD to vytlačil na Dhrystone 3748 (2.1 VAX MIPS). Takže môžme povedať, že v tomto parametre by si ARM2/8Mhz poradil aj s i386SX na 20Mhz. V závislosti od konfigurácie dokonca ten istý ARM2 zo seba vedel dostať až 5972 (3.4 VAX MIPS) !! Na porovnanie Motorola 68000 na 8Mhz /Amiga, Atari ST/ dávala niečo okolo 0.5-1.2 VAX MIPS. ARM2 bol teda bez problémov skutočne aj 7 krát rýchlejší ako Amiga, ST. A optimalizovaná ARM2 /v SoC verzii, viac nižšie/ na 12Mhz+ dávala Dhrystone až 8870 /5.0 WAX MIPS/, čo komfortne konkurovalo Motorola 68030/33Mhz s 3.6 VAX MIPS.

 Acorn Archimedes na ARM2ke.

Procák teda máme, čo grafika. ARM2 prišiel s vlastným VIDC1 grafickým radičom. VIDC1 ponúkal 2-4-8 bitov /až 256 farieb z palety 4096/ farieb na pixel vo "VGA alebo half SVGA" rozlíšení, eventuálne veľmi jemných 1024x1024 v monochróme. Luxus. Neobsahovalo to niečo ako copper procák Amigy /teda programovateľné line interupty/, ale bol tam jednoduchší IOC časovací obvod, ktorý prácnejšie a menej flexibilnejšie v horizontále aj vertikále dokázal podobné vecí. Malo to jeden HW sprite 32px šírky, bez limitu výšky určený pre kurzor myšky. VIDC1 obsluhuje aj zvuk /ala Paula čip pri Amige/ a podporuje 8 x 8 bit stereo kanálov na PWM syntéze. Osobitne bol pamäťový radič s DMA - MEMC1, ktorý hýbal datami medzi CPU, VIDC, IOC, ROM aj RAM samozrejme. O niečo neskôr to všetkého spojili do jedného veľkého SoC /system-on-chip/: CPU + VIDC1 + IOC1 + MEMC1 pod názvom ARM250 na rýchlostiach od 12Mhz. Prišla aj výkonnejšia grafika VIDC20, ale tá už je mimo nášho časového okna. Cena systému založená na ARM2ke a na hlavne neskoršej ARM250 bola celkom priaznivá, ako vidíte nižšie /Amiga 500 za 700 USD v 1987, Atari ST na tom bola podobne a v cene do 1000 USD bol aj monitor/.

BBC Archimedes 310 /1987/:    ARM2, 1 MB RAM    - £875 

BBC A3000 /1989/:    ARM2, 1 MB    - £649 

Acorn A3010 /1992/:    ARM250, 1 MB    - £499 !!

Acorn A3020 /1992/:     ARM250, 2 MB, 60-80MB HDD + fareb. monitor - £880 

Pre Super Spectrum by sme teda použili ARM2 platformu /výborné hodinové video/. S grafickou časťou by sme sa extra pohrali. Na chystaných a zrušených Sinclair projektoch bolo vidieť, že ich inžnieri vedia, čo "herný" systém potrebuje. Systém ARM2 bol flexibilný. Rozšírenie RAM, dokonca druhé CPU, pridanie CD mechaniky, či HDD nebol problém. Hravo to zvládalo 2D hry - Zool, Alone in ther Dark, Flashback, alebo /viem, že sa spýtate/ aj DOOM s pretaktovaným CPU/RAM. Stačilo by teda, keby Sir Clive Marles Sinclair, ktorého firma Sinclair Research sídlila v Cambridge napochodovala za inou firmou v tom istom meste /Acorn Computers/, ktorých vlastní inžinieri /tiež to neboli blbci/ hľadali vhodného CPU pre nástupcu svoje 8 bitové BBC Micro podobne ako Sinclair a pri kontrole všetkého dostupného konštatovali, že to bolo príliš drahé pre ich potrebu /Motorola 68000 bol luxusný tovar/ aj výkonnostne - citujem "a bit crap" a to dalo vznik novej RISC ARM /Acorn RISC Machine/ CPU rade. Dnes je Sinclair, Amstrad, aj Acorn Computers dávno po bankrote a ARM procáky ďalej žijú v niekoľko miliardách mobilných zariadení. Dokončované 8 bitové ZX Spectrum Next /mini dev tím, mini budget/ je teda jediná náhrada a nástupca ZX Spectrum 48K, ktorý nikdy neprišiel. Ak sa spýtate, či pre Next nechceli 16/32 alebo čiste 32 bitové riešenie, tak je odpoveď - áno, aj by chceli, ale FPGA, ktoré zvolili je príliš malé, aby tam vopchali všetko čo tam chcú mať. Cieľ sa však asi podarí splniť a s Amiga 500 by to malo hladko pozametať.

9 comments:

  1. O té firmě / počítači Flare jsem četl už v úplných začátcích své Spectrum kariéry někdy 89/90 v nějaké Elektronice či VTM apod. Tehdy to člověk bral jako dream computer co by mohl ale... Problém toho ARM by byl jednoznačně nekompatibilita se Spectrem a čímkoliv dalším. Takže pokud by se to cílilo na stejnou klientelu tak by to muselo být cenově lákavé. Osobně bych viděl jako ideální rok nástupu 1986 a klidně pořád Spectrum 128k ale rozhodně lepší ULA (a grafický subsystém). Na lepší grafice by totiž automaticky začali všechny vypadat "jako Amiga" a chytlo by se to právě tam...

    ReplyDelete
    Replies
    1. ... ja by som to dal najskor na koniec 1987 .. vtedy 12mesiacov robilo divy v maturacii a dostupnosti HW .. 8 bity boli na 6502, 10ke ako atari a 64ka alebo zilogu ako speccy, msx .. 16 bit ad hoc motorola 68000 .. ARM by mi nevadil a acorny umoznovali neskor uplne bezne cez extra slot na mobo tam dat aj druhe CPU, aj i486.
      ... super spectrum grafiku naozaj planovali velmi znalo veci, uplne chapali co potrebuje rychly rasterizer .. som si 100% isty, ze ich dizajn by isiel cestou menej cipov, ala arm250, SoC a v jednom cipe uplne vsetko .. CPU, VDP, mem s DMA radicom.

      Delete
  2. Neřekl bych, že oddělení rozlišení od barev je nějaké unikátní řešení... Commodore 64 má v bitmapě v podstatě to samé: pixely jedna barva, podklad druhá barva, stejné omezení 2 barvy na 1 atribut 8x8 jako Spectrum, případně 4 barvy pro multicolor bitmapu (4x8 atribut - 160x200 obrazovka)... Ale je to stejný výstup jako Spectrum v principu...

    ReplyDelete
    Replies
    1. ... deferred speccy grafiku som myslel, ze nemame luxus per pixel volby farby .. farba je proste vo svojom strasne limitovanom gride a soft sprajty tam su naraz tiez !!, ziadna vlastna paleta, a ziadne 4 bit farby sa nekonaju, c64 je inde .. a sam coupe ma na kazdy pixel 16 farieb z 128, uplne atari ST.

      Delete
  3. ... spec next v legacy 256x192px v 8 bit farbe a pri double bufferingu chce 96 kilo ram + 16 kilo na sprite ram + 16 kilo pre double buffer ULA co bezi paralelne .. takze 128 kilo v minime, v 320x256 je to iny masaker, alebo v 640x256.
    ... gumak speccy ide singel buffer v 8 kilo banke a v tom je aj pidi mini 768 bajtov na farbu, uzasne, keby mohli mat sprajty vlastnu paletu, to by bolo nieco.

    ReplyDelete
  4. Anonymous31/7/22 08:20

    Sprajty vlastni paletu... to by tam ale musely byt hw sorajty jako ma C64 a pocitam ze by to nebylo zadne terno co do jejich velikosti a poctu... na druhou stranu pri zavhovani bitmapy a 3,5 MHz CPU by to byla dobra vychozi palebna pozice /maiki not able to sign/

    ReplyDelete
    Replies
    1. ... ked to ma vsetko obehat zilog na bitmape, tak je 768 bajtov na grafiku nevyhnutnost .. herny system tej doby nutne potreboval blitter, nutne, to je zaklad a trochu scroll registrov s dobrym DMA .. tile based gfx je velke plus.
      ... masivne vykonne CPU nic z toho nepotrebuje, ale to hovorime o 100mhz zilogu, ten by blitoval, soft sprajtoval a tahal bitmapu vlastnou silou.
      .. dam tu neskor jeden article, kt. to povie jasne na jednom didaktickom a velmi inspirat. priklade.

      Delete
    2. Anonymous31/7/22 15:17

      Textovy mod je sice rychly ale desne sterilni. Staci se podivat na hru jako trebas Trantor kde Spectrum verze ma pekne particles a C64 nic takoveho. Bez se zeptat Frobushe jak se to dela bez blittetu a DMA :-) /maiki not signed in/

      Delete
    3. ... o jednom pionierskom blitter delu vam tu napisem.

      Delete

**** pre vloženie hypertextového odkazu do komentára použi CSS kód: hyperlink ****