SAM Coupé

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
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[editovat | editovat zdroj]

Počítač je osazen procesorem Z80B taktovaným na 6 MHz spolu s obvodem ASIC kompatibilním s ULA ZX Spectra. Původní model byl vybaven 256 KB RAM vnitřně rozšiřitelnými 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ů.[1] 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.[2]

Grafika[editovat | editovat zdroj]

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 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, 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[editovat | editovat zdroj]

Zvukový čip Philips SAA 1099 umožňuje šestikanálový výstup, jeho schopnosti jen mírně přesahují dva 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 I a Disciple).

Firmware[editovat | editovat zdroj]

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ů[2] 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í, příjemně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 32 KB). 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.

Software[editovat | editovat zdroj]

SAMovy grafické a zvukové možnosti ukazují ve výborné kvalitě převedené klasické hry jako Manic Miner, Lemmings a Prince of Persia. 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. SAMa často podporovali autoři známí ze ZX Spectra, např. na vývoji Manic Minera a Prince of Persia se zvukově a hudebně podílel František Fuka, který také naprogramoval první hudební editor SAMadeus a hru Shanghai. Možnosti vektorové grafiky SAMa ukazuje demo 3D hry F-16 Combat Pilot. Pro SAMa také existuje 3D hra Elite, tolik oblíbená u jiných osmibitů (C64, Acorn BBC) – bohužel nevyužívá plné kapacity SAMa a je zcela (tedy i graficky) totožná s verzí pro ZX Spectrum.

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 zejména u her upraví (patchuje) uživatelské ovládání, správu paměti a řízení zvukového čipu. Řada aplikací a zejména hry ve verzích 128K jsou upraveny pro systém SAMa a provozovány jako samostatné programy.

Možnosti systému[editovat | editovat zdroj]

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. Lze jen spekulovat, zda by se o pár let později, na rozdíl od SAMa, prosadil nástupce legendárního C64, nejlepší osmibit všech dob Commodore 65 (C64DX), který existuje pouze ve vývojové sérii. 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 jej však obvykle neuměly plně využít jinak než pro ramdisk (C128 měl paměť rozdělenou po 64K, pro basicový program a pro proměnné). Na rozdíl od SAMa 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). K ovládání nových zařízení slouží systém BDOS, kompatibilní s ostatními DOSy pro SAMa, pro jím naformátovaná média je upraven i systém CP/M – ProDOS. 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. Probíhá také vývoj rozšíření, které by SAMa urychlilo (náhrada procesoru rychlejším ekvivalentem).

Hardware SAMa dosud není převeden do moderní náhrady starých čipů, programovatelných obvodů CPLD či FPGA. SAM je však se všemi svými rozšířenými doplňky věrně emulován programem 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.[3]

Technické informace[editovat | editovat zdroj]

  • 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)[4]
  • myš: připojená paralelně ke směrovým šipkám a klávese CNTRL[4]

Stránkování paměti[editovat | editovat zdroj]

Protože procesor Z80 umožňuje adresovat pouze 64 KiB paměti, je celá paměť o velikosti 288 KiB nebo 544 KiB rozdělena na stránky o velikosti 16 KiB, které se připínají do adresového prostoru procesoru. Kteroukoli z patnácti nebo 32 stránek RAM lze přistránkovat do jakékoliv paměťového bloku. Od adresy 0 do 16383 je možné připojit stránku ROM 0, od adresy 49152 do adresy 65535 je možné připojit stránku ROM 1. Stejně tak je na stránky rozdělena externí RAM, její stránky lze ale připojovat pouze od adresy 32765 do 49151 a od 49152 do 65535. Videoram může být umístěna do kterékoliv stránky paměti RAM.[5]

Schéma stránkování paměti počítače SAM Coupé (s 512 KiB RAM a 4 MiB externí RAM)
65535
49152
ROM 1 RAM 1 RAM 2 ... RAM 31 RAM 0 EXTRAM 0 EXTRAM 1 ... EXTRAM 254 EXTRAM 255
49151
32768
RAM 0 RAM 1 ... RAM 30 RAM 31 EXTRAM 0 EXTRAM 1 ... EXTRAM 254 EXTRAM 255
32767
16384
RAM 1 RAM 2 ... RAM 31 RAM 0 
16383
0
ROM 0 RAM 0 RAM 1 ... RAM 30 RAM 31

Ke stránkování paměti jsou použity porty 250 a 251. Port 250 je použit pro stránkování v části paměti od 0 do 32767, význam jednotlivých bitů hodnoty odeslané na tento port je následující:

7 6 5 4 3 2 1 0
zákaz zápisu v části RAM
od 0 do 16383
1 = připojena ROM 1 1 = odpojení ROM 0 číslo stránky RAM v adresovém prostoru od 0 do 16383
do adresového prostoru od 16384 do 32767 je připojena stránka následující

Port 251 je použit pro stránkování v části paměti od 32768 do 65535, význam jednotlivých bitů hodnoty odeslané na tento port je následující:

7 6 5 4 3 2 1 0
1 = od 32768 do 65535
je připojena externí RAM
při grafickém módu 3 určují
nejvyšší dva bity barevné palety
číslo stránky RAM v adresovém prostoru od 32768 do 49151
do adresového prostoru od 49152 do 65535 je připojena stránka následující

Port 252 je použit pro umístění videoram a nastavení grafického režimu, význam jednotlivých bitů hodnoty odeslané na tento port je následující:

7 6 5 4 3 2 1 0
MIDI in/MIDI out nastavení grafického módu číslo stránky RAM ve které je umístěna videoram

Pro stránkování externí RAM jsou používány porty 128 a 129. Port 128 je použit pro nastavení stránky v adresovém prostoru od 32768 do 49151, port 129 je použit pro nastavení stránky v adresovém prostoru od 49152 do 65535.[6] Hodnota odeslaná na tyto porty určuje číslo připojené stránky.[p 1]

Používané porty[editovat | editovat zdroj]

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árna[7][8]
234, 235 EA, EB druhá paralelní tiskárna[7][8]
236 - 239 EC - E9 sériový interface[7][8]
240 - 247 F0 - F7 druhá disketová jednotka
248 F8 čtení: poloha světelného pera
Na portu 248/F8 souřadnice X, na portu 504/1F8 souřadnice Y
zápis nastavení barevné palety
Další porty pro nastavování barevné palety: 504/1F8, 760/2F8, 1016/3F8, 1272/4F8, 1528/5F8, 1784/6F8, 2040/7F8, 2296/8F8, 2552/9F8, 2808/AF8, 3064/BF8, 3320/CF8, 3576/DF8, 3832/EF8, 4088/FF8. Celkem 16 portů, jeden pro každou barvu.
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
další port pro Philips SAA 1099 je 511/1FF

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í detekce připojení
externí RAM
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šší bit
barvy borderu
reproduktor magnetofon nižší tři bity barvy borderu

Klávesnice[editovat | editovat zdroj]

Způsob čtení stavu klávesnice je stejný jako u počítačů ZX Spectrum. Klávesy, které odpovídají klávesnici ZX Spectra jsou čteny na portu 254 (bity 0 - 4), přidané klávesy jsou čteny na portu 239 (bity 5 - 7). Stav kterých kláves je čten, je určeno nejvyššími 8 bity adresy portu.[9] Adresa konkrétní pětice (resp. trojice) kláves, jejichž stav má být čten, je určena jako vyšší část adresy*256+254 (resp. jako vyšší část adresy*256+239).

vyšší část adresy šestnáctkově dvojkově 239 (šestnáctkově F9) 254 (šestnáctkově FE)
7 6 5 4 3 2 1 0
254 FE 11111110 F3 F2 F1 V C X Z SHIFT
253 FD 11111101 F6 F5 F4 G F D S A
251 FB 11111011 F9 F8 F7 T R E W Q
247 F7 11110111 CAPS TAB ESC 5 4 3 2 1
239 EF 11101111 DEL + - 6 7 8 9 0
223 DF 11011111 F0 * = Y U I O P
191 BF 10111111 EDIT  :  ; H J K L RETURN
127 7F 01111111 INV . , B N M SYMBOL mezerník
255 FF 11111111       CNTRL

Klávesy odpovídající klávesám ZX Spectra jsou vyznačeny tučně.[p 2]

Joysticky a myš[editovat | editovat zdroj]

K počítači SAM Coupé je možné připojit dva joysticky. První joystick je připojen paralelně ke klávesám 1 - 5, druhý joystick je připojen ke klávesám 6 - 0.[4] Joysticky jsou kompatibilní s joysticky Sinclair left (Sinclair joystick 1) a Sinclair right (Sinclair joystick 2) ZX Interface II a ZX Specter +2, +2A a +3.

Podobným způsobem je připojena myš paralelně ke klávese CNTRL a kurzorovým šipkám.[4]

Vývojová verze počítače SAM Coupé[editovat | editovat zdroj]

Počítač SAM Coupé prošel různými stádii, ve kterých se jeho hardware podstatně lišilo od hardware obsaženého ve finální variantě počítače. Jedna z vývojových verzí je popsána v časopise Crash č. 50. Popsaná vývojová verze obsahuje 256 KiB paměti RAM stránkované na portu 229 a způsob stránkování je odlišný od stránkování ve finální variantě počítače.[10]

Schéma stránkování paměti vývojové verze počítače SAM Coupé
65535
49152
ROM 1 RAM 0 RAM 1 RAM 2 RAM 3 RAM 4 RAM 5 RAM 6 RAM 7 RAM 8 RAM 9 RAM 10 RAM 11 RAM 12 RAM 13 RAM 14 RAM 15
49151
32768
RAM 0 RAM 1 RAM 2 RAM 3 RAM 4 RAM 5 RAM 6 RAM 7 RAM 8 RAM 9 RAM 10 RAM 11 RAM 12 RAM 13 RAM 14 RAM 15
32767
16384
RAM 1
16383
0
ROM 0 RAM 0

Paměť této vývojové verze je možné rozšířit pomocí 512 KiB externí RAM. Místo obvodu Philips SAA 1099 používá popisovaná vývojová verze obvod AY-3-8912, ale připojený na jiných portech než u ZX Spectra 128K, nicméně o změně zvukového generátoru se už v té době uvažovalo.[10]

Odkazy[editovat | editovat zdroj]

Logo Wikimedia Commons
Wikimedia Commons nabízí obrázky, zvuky či videa k tématu

Poznámky[editovat | editovat zdroj]

  1. Protože externí paměť je tvořena paměťovými moduly o velikosti 1 MiB, nejvyšší dva bity hodnoty odeslané na port 128 nebo 129 vlastně určují číslo modulu, který bude použit. Číslo modulu je nastavitelné pomocí jumperů.
  2. Klávesa SHIFT odpovídá klávese CAPS SHIFT ZX Spectra, klávesa SYMBOL klávese SYMBOL SHIFT a klávesa RETURN klávese ENTER.

Reference[editovat | editovat zdroj]

  1. SOUTH, Phil. Rage Hard!. Your Sinclair. March 1989, čís. 39, s. 76. Dostupné online. (Alternativní odkaz) ISSN 0269-6983.  
  2. a b Sam Coupé. Crash. March 1990, čís. 74. Dostupné online.  
  3. SimCoupe - A SAM Coupé Emulator
  4. a b c d GORDON, Bruce; WRIGHT, Andy  . SAM Coupe Technical Manual version 3.0. [s.l.] : Miles Gordon Technology, 1990. Dostupné online.  
  5. Lee. SAM Coupé a ... stránkování paměti. ZX Magazín. 1994, čís. 1/94, s. 13. ISSN 1210-4833.  
  6. 1MB memory for SAM COUPE na velesoft.speccy.cz
  7. a b c http://www.mono.org/~unc/Coupe/Tech/io.html
  8. a b c http://www.sadsnail.freeserve.co.uk/Coupe/Tech/comms.html
  9. Lee. SAM Coupé a ... klávesnice. ZX Magazín. 1992, čís. 6/92, s. 34-37.  
  10. a b Beyond the Spectrum — a superclone takes shape / SAM. Crash. March 1988, čís. 50 (Special Golden Issue), s. 58-60. Dostupné online. (Alternativní odkaz) ((anglicky)) 

Literatura[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]

  • sam.speccy.cz – popis SAMa coby Spectrum Advanced Machine, software a mnoho odkazů (česky i anglicky)
  • oldcomp.cz – české diskusní fórum s rubrikou pro SAMa