Movatterモバイル変換


[0]ホーム

URL:


Přeskočit na obsah
WikipedieWikipedie: Otevřená encyklopedie
Hledání

ROM počítačů ZX Spectrum

Z Wikipedie, otevřené encyklopedie

ROM počítačů ZX Spectrum obsahuje základní programové vybavení počítačů ainterpret a editorSinclair BASICu. Programové vybavení v paměti ROM počítačeZX Spectrum bylo vyvinuto přímo z programového vybavení v paměti ROM počítačeZX80.[1]

Obsah paměti ROM počítačů ZX Spectrum a ZX Spectrum+

[editovat |editovat zdroj]

Počítače ZX Spectrum aZX Spectrum+ obsahují 16 KiB paměti ROM. Paměť ROM se nachází mezi adresami 0 a 16383 (šestnáctkově 0 a 3FFF) adresního prostoru procesoruZ80.

Obsah paměti ROM se skládá ze tří částí: vstupně/výstupní rutiny, interpret Sinclair BASICu a vyhodnocování výrazů. Tyto části lze dále rozdělit na:

  • blok rozeskoků a tabulek,
  • rutina pro obsluhu klávesnice,
  • rutiny pro obsluhu reproduktoru,
  • rutiny pro obsluhu magnetofonu,
  • rutiny pro obsluhu obrazovky a tiskárny,
  • rutina pro vyhodnocení správnosti syntaxe příkazu,
  • vlastní interpret příkazů Sinclair BASICU,
  • vyhodnocování výrazů,
  • matematické rutiny,
  • kalkulátor pro výpočty vplovoucí řádové čárce.[1]

Od adresy 14592 (šestnáctkově 3900) se nachází blok nevyužité paměti obsahující více než 256 hodnot 255. Prostor byl rezerován pro funkce, které se nakonec do ROM nedostaly, a někteří programátoři ho používali jakotabulku vektorů přerušení pro režim IM 2.[2] Na konci paměti ROM se nachází definice jednotlivých znakůznakové sady ZX Spectra.

Blok rozeskoků a tabulek

[editovat |editovat zdroj]

Na začátku paměti ROM se nachází blok rozeskoků, které je tak možné snadno vyvolat pomocí instrukcírst procesoru Z80:

  • 0 – studený start systému počítače,
  • 8 – zobrazení chybových hlášení,
  • 16 (šestnáctkově 10) – rutina pro tisk znaku skrz aktuálně otevřenou linku,[3]
  • 24 (šestnáctkově 18) – rutina pro získání znaku z linky,
  • 32 (šestnáctkově 20) – rutina pro získání dalšího znaku z linky,
  • 40 (šestnáctkově 28) – spuštění kalkulátoru,
  • 48 (šestnáctkově 30) – rutina pro vytvoření volného místa v pracovním prostoru,
  • 56 (šestnáctkově 38) – rutina pro obsluhu přerušení.

Od adresy 149 se nachází blok tabulek:

  • 149 – tabulka klíčových slov Basicu,
  • 517 – tabulky kódů kláves.

Rutiny pro obsluhu magnetofonu

[editovat |editovat zdroj]

Rutiny pro obsluhu magnetofonu zajišťují zajišťují ukládání dat na magnetofonovou kazetu a jejich opětné nahrání z magnetofonové kazety do počítače. Nezajišťují ale vlastní ovládání magnetofonu. Hlavní rutiny jsou:

  • 04C2 (šestnáctkově) – SA-BYTES – rutina pro uložení bloku dat na magnetofonovou kazetu,
  • 053F (šestnáctkově) – SA/LD-RET – nastavení původní barvy okraje a otestování stisku klávesy BREAK po ukončení magnetofonových operací,
  • 0556 (šestnáctkově) – LD-BYTES –nahrávací rutina pro načtení bloku z magnetofonové kazety,
  • 05E3 (šestnáctkově) – LD-EDGE-2 – zajišťuje, aby byla rutina LD-EDGE-1 spuštěna dvakrát,
  • 05E7 (šestnáctkově) – LD-EDGE-1 – provádí vlastní hledání hran a měření délky impulsů mezi dvěma hranami v signálu z magnetofonové kazety (na začátku tato rutina čeká 358 strojových cyklů procesoru)[4],
  • 0605 (šestnáctkově) – SAVE-ETC – hlavní vstupní bod pro všechny čtyři příkazy pro operace s magnetofonem,
  • 07CB (šestnáctkově) – VR-CONTRL
  • 0802 (šestnáctkově) – LD-BLOCK
  • 08B6 (šestnáctkově) – ME-CONTRL
  • 092C (šestnáctkově) – ME-ENTER – vytvoření nové řádky a nové proměnné při příkazu MERGE,
  • 0970 (šestnáctkově) – SA-CONTRL – uložení dvou datových bloků, hlavičky a vlastních dat, na magnefonovou kazetu (dvakrát spouští SA-BYTES),
  • 09A1 (šestnáctkově) – tabulka textů, které se objevují při operacích s magnetofonem.

Další rutiny

[editovat |editovat zdroj]
  • 1A1B (šestnáctkově) – OUT_NUM_1 – rutina pro výpis celého čísla na obrazovku.[5] Číslo, které se má vytisknout, je očekáváno vregistru BC a rutina modifikujeregistr A. Rutina byla původně určena pro tisk čísel řádků a tak neumí tisknout záporná čísla a čísla větší než 9999.[5] Např. při pokusu o tisk čísla10000 je vytištěno:000.

Na adrese 6510 (desítkově) se nachází rutina, jejímž úkolem je najít, na které adrese paměti se nachází řádek Basicového programu s konkrétním číslem, na adrese 6629 (desítkově) se nachází rutina, která z programu v Basicu odebere blok několika řádků od zadané adresy po zadané číslo řádku.[6] Na adrese 8933 (šestnáctkově 22E5) se nachází rutina zajišťující vykreslení jednoho bodu na obrazovku (obsluha příkazu PLOT).[3]

Kalkulátor pro výpočty v plovoucí řádové čárce

[editovat |editovat zdroj]

Kalkulátor pro výpočty v plovoucí řádové čárce obsahuje podprogramy pro všechny matematické funkce. Goniometrické funkce,exponenciální funkce,logaritmus jsou počítány jako aproximace pomocíČebyševových polynomů.[7]

Obsah paměti ROM počítačů ZX Spectrum 128K+ a ZX Spectrum +2

[editovat |editovat zdroj]

PočítačeZX Spectrum 128K+ aZX Spectrum +2 obsahují 32 KiB paměti ROM. Paměť ROM se nachází mezi adresami 0 a 16383 (šestnáctkově 0 a 3FFF) adresního prostoru procesoruZ80. Celá paměť ROM je rozdělená na dvě stránky označované jako ROM 0 a ROM 1, z nichž pouze jedna může být připojena do adresního prostoru procesoru. K přepínání stránek paměti ROM slouží bit č. 4 portu32765.[8]

Obsah jednotlivých stránek ROM je:

  • ROM 0 – celoobrazovkový editor, systém nabídek[p 1], výkonné rutiny přidaných příkazů 128 BASICu, kalkulátor, Tape Tester[p 2] a Tape Loader,[11]
  • ROM 1 – ROM ZX Spectra 48K s drobnými úpravami.

Obsah paměti ROM počítačů ZX Spectrum +2A a ZX Spectrum +3

[editovat |editovat zdroj]

PočítačeZX Spectrum +2A aZX Spectrum +3 obsahují 64 KiB paměti ROM. Paměť ROM se nachází mezi adresami 0 a 16383 (šestnáctkově 0 a 3FFF) adresního prostoru procesoruZ80. Celá paměť ROM je rozdělená na čtyři stránky označované jako ROM 0, ROM 1, ROM 2 a ROM 3, z nichž pouze jedna může být připojena do adresního prostoru procesoru. K přepínání stránek paměti ROM slouží bit č. 4 portu32765 a bit č. 2 portu8189.[8]

Obsah jednotlivých stránek ROM je:

  • ROM 0 – editor programu,
  • ROM 1 – vyhodnocování syntaxe a interpret,
  • ROM 2 –+3DOS,
  • ROM 3 – ROM ZX Spectra 48K.

Programové vybavení v paměti ROM počítačů ZX Spectrum +2A a +3 existuje ve verzích 4.0 a 4.1.[12]

Obsah paměti ROM počítače Timex Sinclair 2068

[editovat |editovat zdroj]

PočítačTimex Sinclair 2068 obsahuje 24 KiB paměti ROM. V adresním prostoru se paměť ROM nachází mezi adresami 0 a 16383. Celá paměť je tak rozdělena na dvě části o velikostech 16 KiB a 8 KiB. Menší část paměti ROM se nachází v bance nazývané jako EX-ROM a připojuje se v případě potřeby. V menší části se nachází rutina pro nahrávání dat z magnetofonu.

Zajímavosti

[editovat |editovat zdroj]
  • Pavel Troller, autor rozšíření paměti ZX Spectra na 80 KiB,[13] o sobě vprosinci2011 prohlásil, že si stále pamatuje začátek obsahu paměti ROM ZX Spectra.[14]

Odkazy

[editovat |editovat zdroj]

Poznámky

[editovat |editovat zdroj]
  1. První verze počítačů ZX Spectrum 128K+ systém nabídek neměla, místo něho celoobrazovkový editor obsahoval přidané příkazy zpřístupňující funkce pozdějšího systému nabídek.[9]
  2. Tape Tester se nachází pouze v paměti ROM počítačů ZX Spectrum 128K+, ale už ne v paměti ROM počítačů ZX Spectrum +2.[10]

Reference

[editovat |editovat zdroj]
  1. abLOGAN, Ian;O'HARA, Frank.The Complete Spectrum ROM Disassembly. [s.l.]: Melbourne HouseISBN 0-86161-116-0. (anglicky) 
  2. BELFIELD, Dean.L Break Into Program, 0:1 [online]. [cit. 2024-03-29]. KapitolaInterrupts. (anglicky) 
  3. abROM routinesArchivováno 26. 12. 2008 naWayback Machine.(anglicky) na timexsinclair.org
  4. PHILLIPS, John. ... did you get that fab loader onExolon?.Sinclair User. March 1988, čís. 72, s. 70–71.Dostupné online. (anglicky) 
  5. abTIŠNOVSKÝ, Pavel. Zobrazení čísel a zpracování příznaků mikroprocesoru Zilog Z80.root.cz [online]. 2023-04-04 [cit. 2023-04-06].Dostupné online. 
  6. Use Your ROM.ZX Computing. June/July 1985, s. 20–21.Dostupné online. (anglicky) 
  7. JENNE, Daniel, a kol.ZX ROM Výpis. Praha: Vydavatelství Naše vojsko/Zenitcentrum, 1989. 
  8. ab Stránkování pro Spectrum 128/+2/+2A/+3.FIFO. Január 1993, roč. 3, čís. 20, s. 9–10. 
  9. Sinclair BASIC History(anglicky) na scratchpad.wikia.com
  10. Sinclair ZX Spectrum +2Archivováno 3. 12. 2013 naWayback Machine. na k1.dyndns.org
  11. Spectrum 128 ROM DisassemblyArchivováno 15. 1. 2014 naWayback Machine.(anglicky) na fruitcake.plus.com
  12. The canonical list of +3 oddities na cs.ox.ac.uk
  13. ŽABENSKÝ, Petr. ROM, RAM, EPROM, PROM, ... - Hrátky s pamětí a něco už skoro zapomenutého.ZX Magazín. Čís. 1/96, s. 28–29.ISSN1210-4833. 
  14. Jen si pekne ty "in" telefony kupujte ... na hw.cz

Související články

[editovat |editovat zdroj]

Externí odkazy

[editovat |editovat zdroj]


Sinclair ZX Spectrum a kompatibilní počítače a další počítače Sinclair
Sinclair ZX Spectrum
(Sinclair Research aAmstrad)
Další počítače
Sinclair Research aAmstrad
PočítačeTimex 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ý magnetofonTS2020, tiskárnaTS2040, modemTS2050, rozbočovač sběrniceTS2060, varianta ZX MicrodriveTS2065, tiskárnaTS2080, joystickTS2090, digitální kazetový magnetofonTC2010, tiskárnaTC2080,Timex FDD,FDD3000,Interface RS-232, klávesniceTT3000,Joystick-Sound Unit

Počítače a periférieDidaktik
Kompatibilní počítače
NadstavbySinclair BASICu
Hardware
Integrované obvody
Porty procesoru
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
Znaková sada ZX Spectrum,Nahrávací rutina ZX Spectra,ROM počítačů ZX Spectrum,Systémové proměnné počítačů ZX Spectrum,IM2,Emulátor počítače ZX Spectrum
Citováno z „https://cs.wikipedia.org/w/index.php?title=ROM_počítačů_ZX_Spectrum&oldid=25446811
Kategorie:

[8]ページ先頭

©2009-2025 Movatter.jp