Nahrávací rutina ZX Spectra

Nahrávací rutina ZX Spectra umožňuje získat data uložená na magnetofonové kazetě. Zajišťuje obsluhu příkazů LOAD, MERGE a VERIFY. Principem nahrávání je měření délky impulsů (obvykle impuls zaznamenávající bit s hodnotou 1 má dvojnásobnou délku než impuls zaznamenávající hodnotu 0), rutina umožňuje nahrávat data rychlostí 1500 baudů. Nejdůležitější část nahrávací rutiny je LD-BYTES, která se v ROM ZX Spectra nachází od adresy 556h (šestnáctkově).

Parametry vyžadované nahrávací rutinou

LD-BYTES vyžaduje následující parametry:

  • registr IX: adresa, kam se budou data v paměti ukládat,
  • registr DE: délka nahrávaných dat,
  • registr A: určení typu bloku (značkový bajt: 0 - hlavička, 255 - vlastní data),
  • příznak CARRY: 1 - nahrávání dat (LOAD), 0 - porovnávání dat (VERIFY).

Očekávaná struktura datového bloku

Nahrávací rutina očekává signál o následující struktuře:[1]

  • zaváděcí část (musí trvat alespoň 1 s),
  • synchronizační puls,
  • vlastní blok dat.

Vlastní blok začíná značkovým bajtem a končí kontrolním součtem. Rutina LD-BYTES akceptuje pouze bloky, které mají shodný značkový bajt s požadovaným značkovým bajtem (předávaným v registru A).

Záznam bitu o hodnotě nula je tvořen dvěma pulsy každým o délce 855 T-cyklů procesoru, záznam bitu o hodnotě jedna je tvořen dvěma pulsy každým o délce 1710 T-cyklů procesoru.[2] Pokud je nahráván blok tvořený samými nulami, je průměrná rychlost nahrávání 2047 bitů za sekundu, pokud nahráván blok tvořený samými jedničkami, je průměrná rychlost nahrávání 1023 bitů za sekundu. Průměrná rychlost nahrávání se liší pro každý blok v závislosti na podílu obsažených bitů s hodnotou jedna a bitů s hodnotou nula.

Využití z Basicu

Příkazy Basicu vždy očekávají dva datové bloky. První blok, nazývaný hlavička, obsahuje meta informace o daném bloku dat: typ dat, název dat, adresa dat v paměti počítače, délka dat a další parametry závislé na typu uložených dat.[3] Značkový byte tohoto bloku je 0.

Druhý blok obsahuje vlastní data, značkový byte tohoto bloku je 255.

Vlastní nahrávací rutiny

Některé hry nepoužívají nahrávací rutinu z ROM, ale využívají svojí vlastní. Díky tomu mohou při nahrávání provádět různé efekty, např. zobrazovat počítadlo, používat jinou kombinaci barev v borderu, nebo pohybovat objekty na obrazovce.[4] Vlastní nahrávací rutina umožňuje také využití ochrany proti kopírování (např. Speedlock). Vlastní nahrávací rutina také umožňuje zvýšit rychlost nahrávání dat.

Reference

  1. Tape Decoding Using Taper Archivováno 30. 5. 2013 na Wayback Machine. na World of Spectrum
  2. Which was the *real* Spectrum tape recorder speed? na compgroups.net
  3. http://www.zxmodules.de/fileformats/tapformat.html
  4. PHILLIPS, John. ... did you get that fab loader on Exolon?. Sinclair User. March 1988, čís. 72, s. 70–71. Dostupné online. 

Literatura

  • Albert. LOAD. FIFO. Čís. 9, s. 6–7. 

Externí odkazy

  • ZX Spectrum Loading Schemes na newton.sunderland.ac.uk
  • Different Spectrum loading screens
  • http://baze.au.com/divide/temp/zxlfn.txt[nedostupný zdroj] - obsahuje popis významu jednotlivých parametrů v hlavičkách podle jednotlivých typů dat
  • ZX Spectrum - loading comparison High speed vs normal na Youtube
  • Outrun ZX SPECTRUM 128k Loading Sequence na Youtube


Sinclair ZX Spectrum a kompatibilní počítače a další počítače Sinclair
Sinclair ZX Spectrum
(Sinclair Research a Amstrad)
Další počítače
Sinclair Research a Amstrad
Počítače Timex Sinclair
TS1000, TS1500, TS2068, TS2048, TC2068, TC2048 (prototypy: TS2000, TS2016, TS2048, TS2068, TS2072, TC3256)
Přestože některé z prototypovýchh počítačů mají stejné názvy jako sériově vyráběné počítače, nejedná se o stejné počítače.
Periférie Sinclair Research
a Amstrad
Periférie Timex Sinclair
kazetový magnetofon TS2020, tiskárna TS2040, modem TS2050, rozbočovač sběrnice TS2060, varianta ZX Microdrive TS2065, tiskárna TS2080, joystick TS2090, digitální kazetový magnetofon TC2010, tiskárna TC2080, Timex FDD, FDD3000, Interface RS-232, klávesnice TT3000, Joystick-Sound Unit
Počítače a periférie Didaktik
Kompatibilní počítače
Nadstavby Sinclair BASICu
Integrované obvody
Disketové řadiče a páskové jednotky
Joysticky a myši
(podle způsobu připojení)
Klony počítače Sinclair ZX Spectrum, MK14, Cambridge Z88, Timex Sinclair 3068
Klávesnice počítačů ZX Spectrum, Znaková sada ZX Spectrum, Nahrávací rutina ZX Spectra, ROM počítačů ZX Spectrum, Systémové proměnné počítačů ZX Spectrum, Port 253, Port 254, Port 255, IM2, Emulátor počítače ZX Spectrum