Значок ресурса

Gama RAMdisk

Нет прав на скачивание
Автор: Rostislav Gemrot
Год: 1991
Издатели: Rostislav Gemrot
Языки: 🇨🇿 Чешский
Формат: 📼 TAP лента
Требования: 🖥️ Didaktik Gama

Ссылки:
Страница на ZXArt
Страница на Spectrum Computing

Скриншоты:
0038380-load-1.png
0038380-run-1.png


Článek z časopisu FIFO č. 4

============================
Didaktik GAMA a 80 kilobajtů
============================

Začátkem osmdesátých let jsme zaznamenali nástup osmibitových
mikropočítačů do domácností jako spotřebních výrobků, které se
vedle televize a magnetofonu staly zdrojem zábavy a poučení.
Snad to byla cenová dostupnost spolu s nepřeberným software,
která způsobila, že nejrozšířenějším domácím mikropočítačem u
nás se stal ZX Spectrum. Naši výrobci na tuto inovační vlnu
nebyli připraveni. Byla vyvinuta řada originálních čs. typů, z
nichž nejznámější jsou PMD 85, IQ151, Ondra, mezi řadové
spotřebitele se však tyto výrobky v podstatě nedostaly. Zdá se
logické, že bylo jen otázkou času, kdy se některý výrobce
rozhodne vyrábět mikropočítač kompatibilní se ZX Spectrum pro
nejširší okruh zákazníků. Tímto výrobcem se stal závod
Didaktik Skalica a výrobkem mikropočítač Didaktik Gama.

Konstruktéři výrobního družstva Skalica se zároveň rozhodli
svůj mikropočítač oproti Spectru vylepšit. Přidali obvod PIO
(8255), který připojili na "standardní"“ adresy tak, že brána
A se chová jako port KEMPSTON joysticku. Na rozdíl od ZX
Spectra 48 kB, kde RAM je osazena paměťmi 64k z poloviny
vadnými (využívá se tedy jen funkčních 32k), má Didaktik Gama
integrované obvody pamětí 64k plně funkční. K dalším zlepšením
patří vývod VIDEO-výstupu, tlačítko RESET, tlačítková
klávesnice oproti membránové u Spectra a opravená paměť ROM,
která u Spectra obsahuje okolo 10 chyb. Parametry se tak staly
pro uživatele mnohem příznivější a spolu s přijatelnou cenou,
tříletou zárukou a kvalitním servisem hovoří při rozhodování o
koupi mikropočítače kompatibilního se Spectrem ve prospěch
Didaktiku Gama.

Paměť ROM byla nejen opravena, ale do volného prostoru, který
má ROM Spectra, se vešly ještě další pomocné rutiny, a to pro
základní ošetření zásobníku při práci s paměťovými bankami a
pro výstup znaků na tiskárnu přes vestavěný PIO. První verze
ROM Didaktiku Gama měla právě v těchto přidaných rutinách
chybu. Když nebyla k PIO připojena tiskárna, což je běžný stav,
došlo při vyvolání tisku na tiskárnu k "zakousnutí" počítače
v nekonečné smyčce, čekající na potvrzení připravenosti
tiskárny. Zavaděče (loadery) některých her používají volání
tisku na tiskárnu jako programové finty k potlačení výstupu
jména nahrávaného bloku na obrazovce. Tyto programy pak na
Didaktiku Gama s původní ROM nefungovaly. Romky do Didaktiku
se však dále vyvíjely, původní chyby byly opraveny a výše
popsané potíže se v současné době již nevyskytují.

Poslední inovace obsahu paměti ROM Didaktiku Gama spočívá v
přepracování znakového generátoru, který nyní tvoří lépe
propracované, ale zejména tučnější znaky, než ZX Spectrum.
Nutno však říci, že toto zkvalitnění má i své negativní
stránky. V programech psaných pro ZX Spectrum se předpokládají
"štíhlé" typy znaků a pro zvýraznění textu se proto někdy
znaky generované romkou algoritmicky "ztučňují". U Didaktiku
Gama se však v těchto případech objeví na obrazovce slité,
skoro nečitelné texty.

Největší rozdíl Didaktíku Gama proti Spectru 48 kB představují
plně funkční 64k paměti. Didaktik tak má paměť RAM o celkové
kapacitě 80 kB, z toho 16 kB videoRAM (VRAM), což je o 32 kB
více proti Spectru. Kde je umístěna tato další paměťová
kapacita v adresovém prostoru procesoru Z80, který, jak je
známo, může přímo spolupracovat s pamětí o maximálním rozsahu
64 kB, včetně ROM?

Celková paměť klasického ZX Spectrum 48 kB se skládá ze 16 kB
ROM, 16 kB VRAM a 32 kB zbytku RAM, který si můžeme označit
jako banku A. Schéma uspořádání je uvedeno na obrázku 1. V
situaci, kdy má procesor k dispozici větší rozsah paměti než
je schopen obsáhnout, používá se stránkování paměti. Mimo
procesor se nachází tzv. řadič stránek, který se chová vůči
procesoru jako výstupní periférie. Program pak může vysílat do
tohoto řadiče povely, podle kterých se nastaví konfigurace
pamětí v adresovém prostoru procesoru.

Stránkování paměti v Didaktiku Gama je schematicky znázorněno
na obrázku 2. Umístění paměťové banky A a banky B (každá má 32
kB) na obrázku vedle sebe naznačuje, že od adresy 38768
adresového prostoru mikroprocesoru se nachází buď celá banka A
nebo celá banka B. Přepínání zajišťuje bit 0 brány C obvodu
8255. Je-li tento bit ve stavu 0, je připojena banka A
a indikační dioda BANK na předním panelu počítače nesvítí,
je-li v tomto bitu hodnota 1, je připojena banka B a indikační
dioda svítí.

Umístění paměťových bank vedle sebe v Didaktiku Gama bylo
zřejmě voleno pro jednoduchost hardwarového řešení, nevyžaduje
totiž další integrované obvody. Z hlediska uživatelské praxe
je však toto řešení nevýhodné, a jak se pokusím dále ukázat,
jen velmi obtížně využitelné. Daleko výhodnější by bylo
uspořádání znázorněné na obrázku 3, které by umožňovalo
zapnout od adresy 0 paměťového prostoru paměť RAM. Výhody:
např. možnost použít různých speciálních ROM, které již byly
pro Spectrum vyvinuty (načetly by se z pásku do banky B od
adresy O), nebo provozovat operační systém CP/M, který rovněž
vyžaduje RAM od adresy O (zavedení CP/M by samozřejmě také
předpokládalo vyřešit připojení disketové jednotky).
Stránkování banky B od nuly by si vyžádalo alespoň další dva
integrované obvody a tedy hardwarovou inovaci Didaktiku Gama.

obr. 1 obr. 2 obr. 3
----------------------------------------------------

64 kB ********* ***************** ********* 64 kB
* * * * * * *
* * * * * * *
* Banka * * Banka * Banka * * Banka *
* A * * A * B * * A *
* * * * * * *
* * * * * * *
* * * * * * *
32 kB ********* ***************** ***************** 32 kB
* * * * * * *
* VRAM * * VRAM * * VRAM * *
* * * * * * Banka *
16 kB ********* ********* ********* B * 16 kB
* * * * * * *
* ROM * * ROM * * ROM * *
* * * * * * *
0 ********* ********* ***************** 0

Podívejme se nyní, jak by se dala banka B využít ve stávajícím
stránkování. Není to jednoduché, neboť ovládání z Basicu je
prakticky neproveditelné. Banky A a B sice můžeme přepínat
basicovými instrukcemi:

OUT 127,1
OUT 127,0

Pokud však nechceme poškodit obsah banky B po přepnutí, musí
být RAMTOP max. 32767, což je ještě ve video-RAM. Je-li RAMTOP
v bance A, dochází při každém použití instrukce OUT k přenosu
strojového zásobníku do banky B plus celého obsahu od konce
strojového zásobníku do konce banky A. Tento proces probíhá
stejně při přepnutí zpět z banky B na banku A. Dále, pokud by
basicový program byl delší než cca 8,5 kB, docházelo by při
přepínání pomocí instrukce OUT vždy k useknutí té části Basic
programu, která přesahuje z VRAM do banky A.

Chceme-li tedy nějak rozumně banku B využít, nezbývá než
napsat ovládací program ve strojovém kódu, který navíc musí
být umístěn ve video-RAM. Myslím, že už Vás napadlo jedno
poměrně univerzální využití banky B, a to jako RAM-disku.

Ovládací program pro tuto aplikaci již existuje, jmenuje se
GAMA-RAMDISK. Pomocí tohoto programu lze s bankou B
spolupracovat obdobně jako s disketou pomocí příkazů běžných
pro kazetový magnetotofon:

LOAD "jméno"
SAVE "jméno"
MERGE "jméno“

Ve všech kombinacích, které lze použít pro magnetofon, tedy pro
ukládání Basicu, dat, či code.

Dále jsou k dispozici příkazy:

ERASE "jméno" — výmaz daného souboru z banky B (RAM-disku)
CAT - výpis seznamu objektů na RAM-disku
FORMAT - formátování (výmaz celého RAM-disku)

Tyto příkazy se zadávají v syntaxi:
RAND USR X : příkaz

Jednoduše lze také uložit obsah celého RAM-disku na pásek a
načíst zpět. Ovládací program má cca 1,5 kB a je umístěn ve
video-RAM pod paměťovým prostorem vyhrazeným pro Basic.

Program GAMA-RAMDISK distribuuje ZENITCENTRUM, Hostímská 703,
266 01 Beroun. Všechny problémy s tímto programem můžete
konzultovat na adrese Rostislav Gemrot, Krajní 2, 736 01
Havířov — Bludovice.
Автор
Verter_bot
Загрузки
0
Просмотры
4
Расширение
zip
Размер
7.7 КБ
Хэш
a866fb2a1f88835e02026b49e2ffd859
Первый выпуск
Последнее обновление

Оценки

0.00 звезд(ы) 0 оценок
Назад
Вверх