Vedlejším produktem mého snažení o nalezení nějakého emulátoru počítače Commodore 64 byla také jedná speciální stránka. Když jsem to uviděl, nechtěl jsem tomu věřit. Je to však fakt. Existuje multiplatformní emulátor Comoodore 64 – je napsaný v Flashi!
Úkol zněl jasně – i když se mi jej do puntíku nepovedlo splnit, najít emulátor Commodore 64, který se nemusí instalovat a poběží ve Windows. Začal jsem hledat Live CD distribuci, ale moc jsem neuspěl. Pak jsem našel i nějaké v Javě a nakonec i něco, co běží z klíčenky. To ovšem není úplně obsahem zápisku.
To, co mi vyrazilo dech, je stránka FC64. Je na ní možno stáhnout emulátor ve flashi (v podobě zdrojových kódů). Zajímavější je ovšem Live Demo, kde můžete ve svém prohlížeči vidět plně funkční emulátor. Je potřeba však říci, že běží pouze ve flash přehrávači podporujícím verzi 9.
Zmiňované demo obsahuje na ukázku pouze několik her, ale i tak se s ním dá docela dobře zabavit. Přiznám se, že idea emulátoru běžícím ve flashi mne docela překvapila, ale když se nad tím zamyslím, je to v podstatě celkem dobrá finta, škoda že neexistuje emulátorů osmibitových počítačů ve flashi více.
Za svou osobu musím říci, že já jsem atarista, vyrostl jsem na modelu 800XE alias 65XE. Emulátory jsem před nějakou dobou zkoušel a musím říci, že mne to neskutečně bavilo. I když nevím, jak jsme mohli nad několika čtverečky a čárkami trávit tolik času…
Emulator C64 ktory netreba instalovat a bezi vo Win? A ako bonus aj multiplatformny? VICE - http://www.viceteam.org/
i386 emulator v Java Appletu:
http://www.physics.ox.ac.uk/jpc
zxko ve flashi, manic miner ruluje http://www.jorin.com/shed/zx-spectrum-48k-games/
[3][8]: Atari ST je stejně jako Amiga od začátku plně 32 bitový počítač. Procesor 68000 má 32 bitové regitry a 32 bitové adresování a 32 bitový program counter, tudíž je to 32 bitový procesor.
Nemá smysl se bavit o tom, kolik má vyvedených datových a adresových vodičů z pouzdra v tom kterém modelu, protože to pouze ovlivňuje velikost osaditelné paměti a rychlost přístupu do ní.
[9] zalezi na tom, jak se na procesor divame. MC 68000 je interne 16bitovy, ovsem mikrokod je napsan tak, ze se z programatorova pohledu jedna o 32bitovy model. Pocet vyvodu A-D sbernice celkem nehraje roli. Ale ono to rozlisovani 8/16/32 bitu je stejne takove fuzzy.
Napriklad co se da rict o 8080? Ma 16bitove operace (s dvojici registru, minimalne tam je scitani, pokud se dobre pamatuju), 16bitovy program counter, 16bitovy stack pointer, 16bitove adresovani a 16bitovou adresovou sbernici - ovsem oficialne je chapan jako osmibitovy procesor (protoze ALU je osmibitova a 16bitove scitani je provadeno interne po castech).
[9] 68000 a 68020 mají z dnešního úhlu pohledu dva dost zásadní nedostatky - nemají jednotku pro práci s virtuální pamětí (či jak se tomu přesně nadává), takže neumí efektivně pracovat s virtuální pamětí (což na přelomu 80. a 90. let byl docela "big deal") a nemají "barrel shifter", což je činí v multitaskovém prostředí pomalejšími oproti následující generaci a přibližuje je to jejich generačním kolegům ze stále Intelu (jakkoliv výkonem byly oproti nim trochu někde jinde, o tom žádná).
Opravdový 32 bit v tom smyslu, jak to chápeme dnes, byla až 68030...
Řekl bych, že přítomnost barrel shifteru či MMU nijak neovlivňuje to, o kolikabitový procesor se jedná.
8080, Z80, 6502 atd. - jasně 8bitové procesory (8bitová ALU, 8bitová datová sběrnice interně i externě, 8bitové registry - případná práce s registrovými páry není možné považovat za "příznak 16bitovosti")
8086 aj. - jasně 16bitový procesor (16bitová ALU, 16bitová datová sběrnice u 8086 i externě, atd...)
68000 - skutečně nejlepší označení je 16/32bitový procesor
[16] Faktem ovšem zůstává, že právě možnosti použit virtuální paměť a rychlý multitasking byly tím, co umožnilo "trojkové" řadě CPU definitivně sesadit z trůnu do té doby panující procesory, které nic podobného nabídnout nemohly a že tyto vlastnosti pomohly definovat to, co dnes v nejširším slova smyslu chápeme pod pojmem 32-bit OS (samozřejmě, nejen ony, ale tohle byl pro běžného uživatele asi nejviditelnější znak - najednou mohl spouštět víc úloh najednou a nemusel se přitom nějak extra omezovat velikostí instalované operační paměti).
Protože z hlediska hrubého výkonu, zejména v single task prostředích (či maximálně prostředích s kooperativním multitaskingem) stačila i předchozí generace jak od Motoroly, tak nakonec i od Intelu (tam tedy až od 286, o tom celkem žádná).
[13]MMU by v té době akorát nehorázně prodražilo procesor a tím i celý počítač a stejně by to nikdo v té době nepoužíval. Podobně jako kdyby vyvedli z pouzdra kompletní 32 bit datovou sběrnici. Na "bitovosti" CPU to nic nemění. V době, kdy se začalo MMU skutečně používat byla venku už dávno 68030.
[23]
Tady v Cechach se kdysi pouzivaly stroje SM-4. Slo o ceskou kopii nejakeho PDP (nejsem si 100% jist, zda to byla zrovna PDP-11 - nejspis ano). A musim rici, ze ac to byl minipocitac, meli jsme jej v klimatizovanem sale. Kupodivu se na tom neprovozoval Unix, ale vetsinou system RSX-11.
Doted mam v zive pameti velke kondenzatory, ktere byly videt zezadu ve skrini :-)
Bitovost procesorů je dána interní šířkou datové sběrnice. Někdy se to zjednodušuje a používá se šířka datových registrů.
Dále se u procesorů uvádí šířka externí datové sběrnice.
Šířka vyvedené adresní sběrnice nic neznamená. Existují 32bitové procesory se 4 bitovou adresní sběrnicí.
A co se MC68000 týká, to je 32bitový procesor, 16bitová externí datová sběrnice. Vyvedená adresní sběrnice má pak 23 bitů. Ne 24, jak se někdy mylně uvádí - sice adresuje přes 24 bitů, ale ten nejnižší není vyveden. Není potřeba, protože MC68000 čte vždy word (16 bitů) a pokud je potřeba lichý byte, provádí posun. Ostatně zarovnávání na word byl jeden z prvních požadavků, se kterým se museli codeři na Amize vypořádat.
Jinak MMU existoval až pro verze MC68010 a vyšší. A byl o řád lepší než konkurence Intelu, uměl plno úžasných věcí, se kterými experimentální OS dokázaly zázraky. Jenže jako obvykle to bylo příliš revoluční. Programový kód využívající MMU byl o dost jednodušší - a to znamenalo, skoro neportovatelný. Takže tyhle vychytávky nakonec žádný OS ve velké míře nepodporoval. Časem se něco z toho přeci jen prosadilo (ale to proto, že to okopírovala konkurence). Ale například "nealokuj paměť, prostě piš" mezi nimi není. A přitom to byla výborná věc, která hodně šetřila paměť a hlavně umožňovala běžet i "starým" aplikacím, které o MMU neměly ani ponětí. S dnešníma velikostma pamětí a moderními překladači to ale je už beztak jedno.
[25] plně souhlasím s Karlem, ostatně o MC68000 v Atari ST jsem napsal knihu, kterou každý správný Atarista musel mít :-) Motorola měla ale verzi stejného CPU v 16-ti bitech, myslím že to byl MC68008.
A ve smyslu výše uvedeného pokládám názor [11] za zcestný. To je jako kdybych o AMD 64 tvrdil že jde o 32bit, protože umí zpracovávat i 32bit kód.
Osobně se domnívám že ten zmatek v hlavách způsobil Microsoft tím že má systém 32bitový a 64bitová verze je na okraji zájmu kvůli chybějícím ovladačům (nechci prosím flame) a každý BFU si nyní představuje že tam má 32-bit CPU.
[26] 68008 byla, pokud se dobre pamatuju, normalni 68000 s osekanou externi sbernici, aby se daly pouzit osmibitove pameti. Interne se jednalo o 68000 (stejne jadro), cemuz odpovida i zhruba stejny pocet tranzistoru - 70000 (rikalo se, ze u obou procesoru se puvodne pocitalo s 68000 tranzistory, ale nakonec se to prehouplo az na 70000 :-)).
Osobne si myslim, ze "bitovost" CPU se v minulosti odvijela hlavne od sirky ALU, ale prave diky tomu je v ni pekny zmatek, hlavne u CPU, ktere maji integer ALU a FP ALU.
Co treba G4 - je to 32 bit CPU (registry), 64 bit CPU (floaty) ci 128 bit CPU (vektory)?
V [11] jsem akorat napsal, ze to rozlisovani je dnes opravdu fuzzy a napriklad ona 8080 je v mnoha ohledech vice 16bitova nez napriklad 6502 (tam byl jediny 16bitovy registr PC a pri vypoctu adresy se dvema byty se pro jistotu delala chyba :-) Ale i tak je 6502 jeden z nejlepsich cipu, co byly v 70 letech vytvoreny.
[26] - 68008 měla 8bitovou externí datovou sběrnici, takže to je vlastně 8/32bitový procesor ;-) BTW k 68000 jsem tehdy měl knížku od O. Čady :-)
[27] - pokud vím, hlavním kriteriem byla šířka datové sběrnice, resp. datové sběrnice dat u harvardské architektury, ale ne ALU. Proto 16/32 (externě/interně) apod. A z tohoto pohledu je 8080, námi familiárně nazývaný BOBO, naprosto nezpochybnitelně 8bitový procesor, o nic "více 16bitový" než moje oblíbená 6502, (přesněji tedy 6510 - to jen aby si někdo nemyslel, že jsem byl atarista ;-) V tom případě ještě "16bitovější" než 8080 by byla Z80, ale kdo si vzpomínáte na její 16bitové indexové registry, které měly tu prazvláštní vlastnost, že se k indexaci ze všech 16bitových registrů hodily nejméně, musí se jen usmát. Takovým způsobem mohli konstruktéři dobastlit 16bitové registry i do 6502, jenže nebyli hloupí a dobře věděli, že méně je někdy více.
Její zero-page mi přišla jako nesrovnatelně užitečnější věc, než 3 16bitové registry splácané z 8bitových (resp. ještě další dva 16bitové hybridy, použitelné leda tak v delay smyčkách :-)
Když už bych mluvil o nějakém 8bitu, který by měl mít nějak (nej)blíže k 16bitům, pak by to byla naprosto úžasná a na osmibitovém poli zcela bezkonkurenční 6809. Kdybych si měl tehdy vybrat mezi 16bitovou 8086 a 8bitovou 6809, volba druhé možnosti by byla celkem jasná.
Profesionální ajťák pracující pro korporát (narozen 1974). V soukromí však rád prosazuji svobodný software. Snažím se mít přehled o technologiích a trendech. Zastávám názor, že pokud chci něco kritizovat, musím s tím mít nějakou zkušenost. Jsem hrdý manžel, otec dvou dcer a opečovávatel kočky plemene Britská modrá krátkosrstá. Mám rád hudbu, knihy a kulturu obecně. V některých věcech však jdu proti proudu – používám Linux (konkrétně ZorinOS), svobodný software (LibreOffice, GIMP, Inkscape či Joomlu!) a jezdím v hybridním japonském autě.
Přečteno 47 156×
Přečteno 41 382×
Přečteno 35 909×
Přečteno 25 964×
Přečteno 25 765×