náhled|Počítač SAM Coupé s 512 KB RAM SAM Coupé je 8bitový domácí počítač uvedený na trh v roce 1989 firmou Miles Gordon Technology plc. (MGT). Jedná se o značně vylepšený klon počítače ZX Spectrum 48K firmy Sinclair Research.
Hardware Počítač je osazen procesorem Z80B taktovaným na 6 MHz spolu s obvodem ASIC (tzv. SuperULA), obsahujícím část napodobujíci čip ULA v ZX Spectru. První modely byly vybaveny 256 KB RAM, vnitřně je SAM jednoduše rozšiřitelný na 512 KB. Do slotů pod klávesnicí počítače lze zabudovat jednu či dvě 3,5" disketové mechaniky, které pracují s kdysi standardními DD disketami. Formát disket (vč. kapacity 780 KB) byl odvozen od Disciple a +D, populárních disketových řadičů pro ZX Spectrum, které firma MGT před SAMem vyráběla. Díky obvodu ASIC je na desce plošného spoje pouze sedm dalších integrovaných obvodů. Klávesnice počítače je tvořena 72 klávesami, 10 z nich jsou tzv. funkční klávesy, jejichž funkce je programovatelná uživatelem.
Grafika náhled|Příklad obrázku v grafickém módu 4 Počítač disponuje čtyřmi grafickými módy. První mód je kompatibilní se ZX Spectrem a umožňuje 2 barvy (pozadí a popředí) z palety 16 s atributy jasu a blikání v poli 8x8 pixelů při rozlišení 256x192. Druhý mód ("Timex mód") umožňuje to samé v poli 8x1 pixelů (tento mód měl jeden z prvních klonů ZX Spectra, počítač Timex Sinclair 2068, na ZX Spectru jej lze dnes vytvořit s pomocí obvodu DMA interface MB-02+). Další módy zobrazují samostatnou barvu pro každý pixel. Mód 3 poskytuje paletu čtyř barev při rozlišení 512x192, barevně plnohodnotný "Atari ST" mód 4 barev šestnáct při rozlišení 256x192. Paletu barev lze vybrat z celkového počtu 128 a na libovolné řádce měnit, stejně jako přepínat mezi grafickými módy. Paměť obrazu může být uložena v libovolné stránce základních 512 KB a ASIC při zobrazování z paměti různou měrou zpomaluje procesor, resp. programy běžící v této části paměti (v ROM i v ext. paměti je bez ohledu na grafický mód vždy plná rychlost 6 MHz). SAMův ASIC neobsahuje blitter, ani nepodporuje sprajty.
Zvuk Zvukový čip Philips SAA 1099 umožňuje šestikanálový výstup, jeho schopnosti mírně přesahují dva sdružené zvukové čipy AY-3-8910 (8912), známé ze starších počítačů ZX Spectrum 128K, MSX či Amstrad/ Schneider CPC. SAA 1099 nepodporuje přímo přehrávání digitálních zvuků (samplů). Za velkou přednost SAMa byla vydávána podpora MIDI, neboť SAM byl v době svého vzniku často porovnáván, co do zvukových a grafických možností, s 16bitovým "hudebním" počítačem Atari ST. MIDI současně slouží k propojení více SAMů do sítě (předchůdci tohoto komunikačního systému byla rozhraní pro ZX Spectrum – ZX Interface 1 a Disciple).
Firmware Počítač je vybaven pamětí ROM velkou 32KiB s uloženým BASICem, vytvořený dr. Andy Wrightem na základu jeho dřívějšího produktu, proslulého Beta BASICu pro ZX Spectrum. V ROM je mj. obsluha všech grafických módů, palety barev, sítě, myši, tiskárny a magnetofonu (s volitelnou rychlostí nahrávání a dat. kompatibilitou s nahrávkami ze ZX Spectra). SAM Basic využívá celých 512 KB paměti, jak pro text programu, proměnné, procedury, funkce a datová pole, tak pro správu virtuálních obrazovek (screenů). K jeho nastavení slouží přes 600 systémových proměnných. Basicové programy mohou být dlouhé přes 500 KB, systém dovoluje např. 65279 programových řádek, každá řádka může obsahovat až 127 příkazů a velikost řetězců či části (dimenze) polí může být až 64 KB. Přitom systém může zajistit správu paměti tak, aby různými programy navzájem nedocházelo k přepisu basicu, dat, programů ve strojovém kódu, systémových ovladačů a grafiky. Další rozšíření nabízí MasterBasic, např. zrychlení grafických funkcí, pohodlnější editaci programů, trasování jejich běhu, spooling pro tisk, podpora RS-232, třídění řetězců.
Diskový operační systém SAMDOS se vždy při startu počítače zavádí z diskety na konec paměťového prostoru (bootuje) a zabírá jednu 16 KB stránku paměti (s rozšířením Basicu i 32 KB a více). SAMDOS umožňuje číst diskety ze ZX Spectra ve formátu Disciple a PlusD, samostatné programy existují pro čtení a zápis na diskety naformátované na počítači ZX Spectrum řadičem Opus Discovery a dále na počítačích (IBM) PC, Atari ST, Sinclair QL a Acorn Archimedes. Verze MasterDOS podporuje podadresáře, až 7 ramdisků v základní i v rozšířené 4 MB paměti a až 778 souborů na disketě. Alternativním systémem je CP/M, nazvaný u SAMa ProDOS, datově kompatibilní s formátem 3,5" řadičů připojovaných externě k počítačům Amstrad CPC. Novější systém BDOS, obsluhující jako úložná média paměťové karty, umí původní dosové příkazy používané v SAM BASICu, pro programování ve strojovém kódu zachovává služby SAMDOSu (tzv. hook-kódy zavedené poprvé pro ZX Spectrum v ZX Interface 1). BDOS je tak plně kompatibilní s ostatními DOSy pro SAMa a je pro něj upraven i systém ProDOS. V BDOSu naformátovaná média jsou rozdělena na tzv. records o kapacitě diskety, jsou v nich uloženy obrazy disket a přepíná se mezi nimi podobně jako mezi adresáři. Příkazy pro ukládání a načítání dat lze mezi kazetou, disketou a sítí jednoduše přesměrovat příkazem DEVICE.
Software SAMovy grafické a zvukové možnosti ukazují ve výborné kvalitě převedené klasické hry jako Manic Miner, Lemmings, Prince of Persia, Street Fighter a Rick Dangerous. Zdařilá je série her vytvořených firmou Enigma Variations: Sphera, Defenders of the Earth, Escape from the Planet of the Robot Monsters, Pipe Mania, Klax, The Famous Five a Futureball. Mnohdy z licenčních (finančních) důvodů nemohly být provedeny oficiální konverze her a proto vedle stařičkých klasik s vylepšenou grafikou jako např. Splat!, Astroball či Booty vznikaly spíše hry více či méně inspirované, s odlišnými názvy: Exodus (podobný Smash TV), T’n’T (Bomb Jack), Wop Gamma (Boulder Dash), Legend of Eshan (The Lords of Midnight) a Batz 'n Balls (Arkanoid). Možnosti vektorové grafiky SAMa ukazují hratelné demo nedokončené hry F-16 Combat Pilot a hra Stratosphere. Pro SAMa také existuje hra Elite, nevyužívá však plné kapacity SAMa a je totožná s verzí pro ZX Spectrum.
Nástup SAMa podporovali autoři známí ze ZX Spectra. Prvním z nich je v manuálu k SAM BASICu uvedeno poděkování, patří mezi ně Simon Goodwin, David Whittaker, Simon White a Bo Jangeborg (autor hry Fairlight a programu Artist pro ZX Spectrum a prvního samovského grafického editoru Flash!). Na vývoji her Manic Miner a Prince of Persia se podílel František Fuka, dále naprogramoval první hudební editor SAMadeus a hru Shanghai. Patrik Rak na SAMa převedl hru Hexagonia. Samovskou scénu výrazně ovlivnila polská demoskupina ESI, která na zvukovou a grafickou úroveň SAMa převedla téměř všechny své hudební výtvory a vybraná dema (demo Lyra III napsala už přímo pro SAMa) a k tomu napsala několik, většinou volně dostupných, her s vynikající hratelností, zejména: Pac Man (později přejmenovaný na Bulgulators), Ice Chicken, Craft a Snakemania.
Na SAMovi lze bez úprav spouštět programy pro ZX Spectrum 48K. Pro dosažení funkčnosti klasického ZX Spectra je nutno pouze od počátku paměťového prostoru uložit obsah 16 KB paměti ROM ZX Spectra. K pohodlnější emulaci se podobně jako na moderních počítačích používá program-emulátor, který přesměruje ukládání dat na disk a u her upraví ("patchuje") uživatelské ovládání. Řada aplikací a zejména hry ve verzích 128K jsou upraveny pro systém SAMa a provozovány jako samostatné programy.
Rozšíření systému SAM byl často porovnáván se šestnáctibitovými počítači, jako vylepšený osmibit působil exoticky v době rozvoje systémů Atari ST, Acorn Archimedes a Amiga, jimž však neměl a nemohl konkurovat. Lze jen spekulovat, zda se vůbec mohl prosadit nějaký modernizovaný osmibitový systém, např. nástupce legendárního C64, nejlepší osmibit všech dob – Commodore 65 (C64DX). Jiné, starší osmibity, jako např. Sharp MZ800, Commodore 128, Amstrad/Schneider CPC6128 či Vtech Laser 700 požadavky doby doháněly především rozšířeními paměti, ve srovnání s flexibilním systémem SAMa však neměly modernizovaný operační systém, nové možnosti nevyužívaly jinak než pro ramdisk (C128 měl paměť rozdělenou po 64K, pro basicový program a pro proměnné) a ani nenabízely širší paletu barev. Po SAMovi vznikly podstatně vylepšené osmibity už jen u firmy Amstrad: v roce 1990 kancelářský PcW16 a herní 464 Plus a 6128 Plus.
K nejběžnějším rozšířením SAMa dnes patří 512 KB základní paměti, 1 MB rozšířené paměti, hodiny reálného času (RTC), rozbočovač ext. sběrnice, myš a rozhraní IDE, díky němuž lze připojit harddisk a DVD mechaniku, k tomu obsahově mírně změněná ROM, umožňující navíc bootovat také z IDE zařízení. Diskety jako záznamová zařízení mnozí uživatelé nahradili paměťovými kartami CompactFlash (CF), MultiMediaCard (MMC) a Secure Digital (SD). Do jednoho i obou slotů pro disketové jednotky lze zapojit 8bitová rozhraní ATOM Lite+ s až čtyřmi IDE-CF adaptéry. Firma Quazar, výrobce řady doplňků, např. 16bitové zvukové karty Quazar Surround, rozhraní pro připojení PC klávesnice a interface se zvukovým čipem SID, vyvinula v roce 2007 interface Trinity se slotem pro SD/MMC karty (podporovaným BDOSem) a s ethernetovým rozhraním, díky němuž SAM komunikuje na Internetu. Existuje prototyp rozšíření, které by SAMa urychlilo (náhrada procesoru rychlejším ekvivalentem o taktu 20 až 24 MHz).
Hardware SAMa byl převeden do moderní náhrady starých čipů, programovatelných obvodů, v deskách ZX-UNO a MIST. Na moderních domácích PC je dále SAM se svými doplňky věrně emulován několika programy. Nejrozšířenějším emulátorem je SimCoupe na plaformách Windows 95/98/Me/NT/2000/XP/2003, Mac OS X 10.3 a novější, GNU/Linux, Pocket PC (ARM/MIPS/SH3), BeOS R5 / Zeta, QNX 6.3.x, OS/2 Warp, DOS a kompatibilní, Sun Solaris, Amiga OS 4, PlayStation Portable a GP2X.SimCoupe - A SAM Coupé Emulator Simcoupe je dostupné i pro Raspberry PI a Rasbian.
Technické informace náhled|upright=1.5|Zadní strana s porty procesor: Z80B, taktovací frekvence 6 MHz paměť RAM: 256 nebo 512 KiB, externí RAM 1, 2, 3 nebo 4 MiB paměť ROM: 32 KiB, hudební čip: Philips SAA 1099, joysticky: připojené paralelně ke klávesám 1 – 5 (první joystick) a 6 – 0 (druhý joystick) myš: připojená paralelně ke směrovým šipkám a klávese CNTRL
Používané porty
desítkově šestnáctkově význam 128 80 stránkování externí RAM v adresovém prostoru od 32768 do 49151 129 81 stránkování externí RAM v adresovém prostoru od 49152 do 65535 224 – 231 E0 – E7 první disketová jednotka 232, 233 E8, E9 první paralelní tiskárnahttp://www.mono.org/~unc/Coupe/Tech/io.html 234, 235 EA, EB druhá paralelní tiskárna 236 – 239 EC – EF sériový interface 240 – 247 F0 – F7 druhá disketová jednotka 248 F8 čtení: poloha světelného perazápis nastavení barevné palety 249 F9 čtení: klávesnice, zdroj přerušení, zápis: číslo mikrořádku, na jehož konci má být vyvoláno přerušení 250 FA stránkování RAM v adresovém prostoru od 0 do 32767 251 FB stránkování RAM v adresovém prostoru od 32768 do 65535 252 FC umístění videopaměti, grafický režim, MIDI in/out 253 FD data MIDI 254 FE klávesnice, magnetofon, reproduktor, barva okraje, světelné pero, MIDI through 255 FF čtení: právě vykreslovaná barva, zápis: zvukový čip Philips SAA 1099
SAM Coupé využívá i bity portu 254, které u ZX Spectra nejsou použity. Význam jednotlivých bitů hodnoty odeslané na port 254 a čtené z tohoto portu je následující:
7 6 5 4 3 2 1 0 čtení zákaz zobrazování(pouze v grafických módech 3 a 4) magnetofon světelné pero/sériový vstup klávesnice zápis zákaz zobrazování(pouze v grafických módech 3 a 4) zapnutí MIDI through nejvyšší bitbarvy borderu reproduktor magnetofon nižší tři bity barvy borderu
Stránkování paměti