Videocast: Acorn a Quake

Ano, Quake na počítači s procesorem ARM.

Dnes by to nemělo nikoho překvapit, protože se zcela vážně mluví o tom, že ARM se z mobilů a tabletů přestěhuje do desktopů.

Kdysi to ale bylo naopak, ARM vznikl jako desktopový procesor a teprve později se, díky své enegetické nenáročnosti a přitom vysokému výkonu, dostal do přenosných zařízení a později i mobilů.

Historie jsem se krátce dotkl v souvislosti s počítačem Acorn Electron.

Po víceméně průmyslových systémech přišel první domácí počítač Acorn Atom, po něm Proton (jehož jméno se nepoužívá, protože počítač získal označení BBC Micro) v modelech A, B, B+64, B+128, Master a Master Compact.

S Protonem kompatibilní byla i low-cost verze Acorn Electron.

Basic na vás sice po zapnutí vyběhl, ale nemusel. Byl v počítači tak nějak navíc vedle operačního systému MOS. A to byl opravdu operační systém, s konzolovou příkazovou řádkou.
Součástí ROM byl navíc rovnou i assembler.

Přesto byl BBC Basic významný a velmi rychlý – podle testu časopisu Practical Microcomputing z roku 1984 porážel i IBM PC!

Počítač byl rozšiřitelný pomocí „sideways“ RAM a ROM – to byly v podstatě paměťové banky, které mohly něco obsahovat, od dalších částí systému (jako disková rozšíření) po programy uložené v ROM (hry, textové a tabulkové editory, …).

Počítači bylo jedno, zda jde o ROM nebo RAM, takže šlo nahrát do RAM obraz ROM a fungovalo to stejně.
Systém umožňoval i jednotlivé banky aktivovat nebo deaktivovat, a nastavení si pamatoval – ROM k nějakému zařízení (čtečka CF karet například) mohla obsahovat jak verzi pro BBC model A a B, tak verzi pro Master, stačilo ji strčit do počítače, namapovat, a nepotřebnou půlku čipu deaktivovat.
(Viz strana 11 a 14 manuálu DataCentre.)

Rozšiřitelnost zajišťovaly nejenom dva cartridge sloty (do nich bylo možno opět bankovaně ukládat další „sideways“ RAM a ROM, v jedné cartridgi tak mohlo být hned několik ROMek), ale i 1 MHz sběrnice a „tube“ sběrnice.
Zapojení do sítě Econet bylo v počítači taky už předpřipraveno.

Jenže taková sranda něco stojí, obzvláště v roce 1981 (BBC model B s 32 kB RAM stál totéž, co tři ZX Spectra).

Proto přišel Acorn Electron, který byl osekán a měl jen to, co je potřeba k hraní her.
Ve filmu Micro Men se dozvídáme, že měl Acorn prodejní problémy – ale „neúspěšný počítač“ Electron byl třetí nejprodávanější počítač v Británii!

V zásadě by měl být s Electron se svým větším bratrem Protonem kompatibilní.
O obraz se ale v Protonu starají dva videočipy.
Do „Electron ULA“ byl ale integrován jen Motorola 6845 CRTC (stejný byl i v Amstradu CPC a CGA kartách pro IBM PC) a Mullard SAA5050 byl vynechán, Electron proto neumí osmibarevný mód 7 (zvaný nesprávně „teletext“).

Zvuk u Protonu zajišťuje TI SN76489 se třemi kanály tónovými a jedním šumovým (stejný měl i TI 99/4, SHarp MZ 800 nebo Sord m5), tedy s možnostmi podobnými jako AY.
Electron naproti tomu měl zvuk poněkud podceněn, nikoho v tehdejší době asi nenapadlo, že by vícehlasá polyfonie mohla v budoucnu být pro hry důležitá – „Electron ULA“ tak obsahuje jen jeden tónový generátor.

Zvláštností BBC Micro (ne Elektronu) je možnost přes sběrnici Tube připojit druhý procesor – buď druhou 6502 (případně akcelerovanou), nebo její 16bitovou obdobu 65816 (až na 14 MHz), ale i Z80, která umožní spouštění CP/M, případně 8086, díky které pak na BBC Micro běží MS-DOS.

V okamžiku, kdy přicházela krize osmibitů a výrobci počítači plánovali mnohobitové modely, jako Sinclair QL, Macintosh, Amiga či Atari ST, rozhodli se v Acornu nevybrat si procesor 68000 od Motoroly, který byl tehdy nejčastější volbou, ale vytvořit si procesor vlastní.

Předchozí práce studentů v Berkeley na vývoji RISC procesoru ukázala, že to možné je.

V Acornu si vybrali frmu VLSI a koupili její vývojové nástroje pro tvorbu čipů.

Vzniklý čip připojili jako druhý procesor k BBC Micro… a fungoval.

Pak teprve si všimli, že zapomněli připojit napájení!
Energetická náročnost RISC procesoru byla tak malá, že mu k činnosti stačilo to, co přiteklo z počítače po datové a adresové sběrnici.

Jako operační systém byl použit původní MOS z osmibitů – jen byl (zjednodušeně řečeno) z 6502 assembleru přepsán pro ARM a později doplněn o okenní prostředí.

Okýnka byla původně napsána v Basicu, ale líbila se tak, že se stala integrovanou součástí systému.
S multitaskingem se sice původně nepočítalo, ale přeci jen byl kooperativní multitasking nakonec taky doplněn.

Pracovní stanice s ARM procesory, nazvané Archimedes, nesly dál označení BBC Micro, až do verze Acorn 3000.

Rozšířily se ale spíš do škol než na pracovní stoly či do domácností.

Počítače jde podle procesoru rozdělit na dvě skupiny – starší ARM procesory jsou sice 32bitové, ale adresovou sběrnici mají 26bitovou a zbylých 6 signálů používají na jiné účely.
(Jo, ve videu jsem se o dva bity sekl.)

Druhá skupina procesorů má i adresovou sběrnici 32bitovou, ale software psaný jen pro 26bitové adresování má na těchto procesorech problémy.

Multimediální vybavení počítačů je skromné – obraz nemá žádnou 2D ani 3D akceleraci, vše obsluhuje procesor, implementován je jen jediný hardwarový sprite, který se používá pro vykreslování kurzoru myši.

Podobně je na tom zvuk, prosté osmibitové osmikanálové D/A pro přehrávání samplů.

Vše dohání výkon procesoru, takže na Acornu najdete některé hry známé z Amigy (Gods, Fire and Ice, Lotus Turbo Challenge, Lemmings, Chaos Engine, Dune II), ale i vektorové 3D hry.

I na základním 8 MHz Acornu běhá Wolfenstein 3D hezky plynule.
(Já to zkoušel na trochu rychlejším 12 MHz stroji.)

Na 12 MHz se prokazatelně dá celkem plynule hrát Doom, jak nás přesvědčil Starej Mraf.

Na PC je jako hardwarové minimum pro Doom uváděn procesor 486/66 MHz.

A Quake?

Na PC vyžaduje FPU.

Acorn Archimedes ale, kromě modelu Acorn 7000+, žádné FPU nemá.

Matematické rutiny proto byly přepsány a běží normálně na procesoru.

Hardwarový požadavek je v Acorn verzi Quake jiný – potřebuje procesor s 32bitovým adresováním.

Chcete to vidět v praxi?

Tak se podívejte na video!

TADY.