Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace

Hlavní menu
Kdo je přítomen?
Login

Uživatelské jméno:
Heslo:
Bezpečnostní kód: Vygenerovaný bezpečnostní kód 6
Opište tento kód:


Naši členové

OK:Thomeeque - Profil Thomeeque
Dnes: 0
Včera: 0
Celkem: 18620



Čtenáři na webu

Anonymní: 671
Členové: 52
Celkem: 723




Jste anonymní uživatel. Můžete se ZDARMA zaregistrovat zde

Osmibitové počítače Atari 4.díl
Publikované: Monday, 29.04. 2002 - 20:09:50 Od: alovka

Staré počítače Atari Ve čtvrtém díle si přiblížíme popis funkce a obecná pravidla modulu cart, které nám při konstrukci můžou být docela užitečné.

Pokračování s 3.dílu..Nyní zapojení modulů kartritge...

Kartritge popis funkce

Počítače Atari na rozdíl od jiných osmibitových počítačů jsou vybaveny vstupně-výstupním rozhraním, přes které může počítač komunikovat s různými moduly. Jedná se o zásuvku pro moduly cartritge. Zásuvka cart je určena pro rychlé zadávání programů do operační paměti počítače. V případě jejího použití nahrazuje funkci nahrávání dat z magnetofonu nebo disketové mechaniky. Cartritge obsahují pevné paměti typu ROM.
Modul cartritge obsahuje většinou dvě paměti ROM, které mají společnou 13-ti bitovou adresovou a 8 bitovou datovou sběrnici. Vyšší adresový prostor (A602obr. v dalším díle) je ovládán signálem S5 a nižší adresovací prostor signálem S4.
Tento výběr provádí obvod MMU v počítači. Obvod MMU provádí organizaci paměťového prostoru celého počítače s danou paritou, vždy po zapnutí počítače (zapnutí, reset) . Pracuje-li počítač s moduly cart jsou ROM paměti modulu využívány jako stínové RAM paměti. Spodní ROM cart (A601obr.v dalším díle) zabírá paměťový prostor 8000 až 9FFF, horní ROM (A602obr.v dalším díle) A000 až BFFF. Přítomnost modulu je testována jednotkou MMU logickou hodnotou na vstupech RD5 a RD4.
Modul cart má dvě možnosti použití :

a) Jako externí paměťový modul (stínová RAM) nebo
b) Jako externí ROM disk.

Operační systém (dále OS) obsahuje celou řadu podprogramů určenou pro identifikaci cart (kontrola zasunutí, inicializace apod.). Přítomnost cart je indikována v registru D013 hodnotou 1. Využívá se port B obvodu PIA, který je u novějších verzí počítačů Atari (130,800) použit jako jednotka řízení paměti.
Nenulová hodnota registru D013 je hardwarově nastavena v okamžiku,kdy se stane aktivním signál RD4 nebo RD5. Při resetu je přepsána hodnota D013 na 3FA, která se později používá ke kontrole přítomnosti cart. Dále po resetu OS testuje adresu BFFC, která musí mít hodnotu 0. Je-li to v pořádku řídí se další činnost obsahem adresy BFFD.


          Obsah adresy BFFD 

      ---------------------------------
 BFFD | * | 0 | 0 | 0 | 0 | * | 0 | 0 | 
      ---------------------------------
 bit č. 7   6   5   4   3   2   1   0
 

Je-li bit č.7 nastaven (roven 1) předává jí okamžitě řízení přes adresu BFFE. Je-li bit č.7 roven 0, provede OS běžnou inicializační rutinu jako při resetu, jejíž adresa je v cart na adrese BFFE. Po navrátu z této rutiny je automaticky startován program podle hodnoty bitu č.2 adresy BFFD. Je-li nastaven, pak je startovací adresa na BFFA. Při každém přerušení porovnává OS obsah adresy 3FA s hodnotou registru D013 a při jejich nesouhlasu přejde do rutiny WAITFRST (čekání na reset).
Cartritge s běžným programem musí mít v posledních 6-ti bitech tyto údaje:



BFAA - Dolní byte startovací adresy
BFFB - Horní byte startovací adresy
BFFC - 0 (příznak cart)
BFFD - 4 (inic.rutina a start přes BFFA)
BFFE - Dolní byte inicializační rutiny
BFFF - Horní byte inicializační rutiny


Nevýhodou ale je, že je automaticky zablokována paměť RAM v rozsahu A000 až BFFF(8kB). To platí v případě aktivního signálu RD5. Jestli bude aktivní i RD4 příjdeme o dalších 8kB (8000 až 9FFF). Navíc program musí být tvořen tak, aby pracoval na uvedených fyzických adresách. Protože automatická transformace již přeložených programů není možná, není tento způsob použití nejlepší. Z tohoto důvodu byl vytvořen následující mechanismus.

     Struktůra obsahu paměti v cart

 ----------------------------------------
 | vlastní program | INIT2 | INIT1 | HL |
 ----------------------------------------
  

HL - hlavička
INIT1 - inicializační rutina v ROM
INIT2 - inicializační rutina v RAM

INIT1 - jeho adresa je na BFFE a pracuje přímo v cart po resetu. Jeho úkolem je přenést vlastní program včetně INIT2 po resetu z cart do RAM na skutečnou adresu pro kterou byl program vytvořen.

INIT2 - Je spuštěn OS po návratu s INIT 1. Jeho adresa je BFFA a musí být při spuštění umístěn mimo cart. Jeho hlavním úkolem je řízení odpojení cart. Po skončení činnosti INIT 2 odstartuje vlastní program.

Připojení a odpojení cart je umožněno spínačem na cart, který v sepnutém stavu připojí nap.napětí +5V na paměti ROM a současně aktivuje signál RD5. Držíme dále spínač a stiskneme krátce reset , tím se odstartuje INIT 1 a po jeho skončení INIT 2. Tato rutina v sobě obsahuje tuto sekvenci:


     SEI       Zákaz přerušení
Test LDA  D013 Odpojena cart?
     BNE  Test ne, testuj znova
     STA  3FA  ano, poznač do systému
     CLI       obnov přerušení

V okamžiku, kdy pustíme tlačítko, odpojí se napájení cart, signál RD5 nebude aktivní a v D013 se nastaví hodnota na 0. Ten se přepíše ve stínovém registru 3FA a může se obnovit přerušení. Tím se vlastně oklame systém, že žádnou cart vloženou neměl a program byl zaveden z běžného média.


Schéma a popis zásuvky pro cartridge

     Zásuvka kartitge pohled od klávesnice 

 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1
-----------------------------------------------
| *  *  *  *  *  *  *  *  *  *  *  *  *  *  * | 
| *  *  *  *  *  *  *  *  *  *  *  *  *  *  * |  
-----------------------------------------------
  S  R  P  N  M  L  K  J  H  F  E  D  C  B  A

1  S4           A  RD4
2  A3           B  GND
3  A2           C  A4
4  A1           D  A5
5  A0           E  A6
6  D4           F  A7
7  D5           H  A8
8  D2           J  A9
9  D1           K  A12
10 D0           L  D3
11 D6           M  D7
12 S5           N  All
13 +5V          P  A10
14 RD5          R  R/W
15 CCTL         S  B02

A0 až A12 - Adresy paměti
D0 až D7  - Data
S4        - Výběr spodního adres.prostoru (8000-9FFF)
S5        - Výběr horního adres.prostoru (A000-BFFF)
RD4       - Příznak osazení spodního adres.prostoru
RD5       - Příznak osazení horního adres.prostoru
R/W       - Řízení čtení/zápis (v orig.nepoužito)
B02       - Hodiny procesoru (nepoužito)
CCTL      - Výběr paměťového prostoru (D500-D5FF)
 

V příštím pokračování si ukážeme konkrétní zapojení cartritge...


 
Související odkazy
· Více o Staré počítače Atari
· Další články od autora: alovka


Nejčtenější článek na téma Staré počítače Atari:
Osmibitové počítače Atari - 1.díl

Hodnocení článku
Průměrné hodnocení: 4.5
Hlasů: 2


Zvolte počet hvězdiček:

Vynikající
Velmi dobrý
Dobrý
Průměrný
Špatný

Možnosti
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.22 sekund