Jak zrobic karte ISA



Masz problem? Zapytaj na forum elektroda.pl z bramk± pl.misc.elektronika!

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Pawel Kierski" <pkierski_at_nospam_mks.com.pl>
Subject: Jak zrobic karte ISA
Date: 5 Mar 1999 11:32:54 GMT


Dokladnie chodzi o zrobienie karty zawierajacej tylko
pamiec EPROM widoczna w obszarze pamieci miedzy C800:0000
i E000:0000. Co na takiej karcie potrzebne oprocz pamieci
i dekodera adresow?
Moze ktos robil juz cos takiego?
Bede wdzieczny za wszelkie informacje na ten temat.
Pawel Kierski
pkierski_at_nospam_mks.com.pl


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Pawel Kierski" <pkierski_at_nospam_mks.com.pl>
Subject: Jak zrobic karte ISA
Date: 5 Mar 1999 11:35:55 GMT


Tej pamieci wytarczy 2KB.
Pawel Kierski
pkierski_at_nospam_mks.com.pl


Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Sławek Osoba" <william_at_nospam_student.uci.agh.edu.pl>
Subject: Re: Jak zrobic karte ISA
Date: Mon, 8 Mar 1999 19:36:27 +0100


Dokladnie chodzi o zrobienie karty zawierajacej tylko
pamiec EPROM widoczna w obszarze pamieci miedzy C800:0000
i E000:0000. Co na takiej karcie potrzebne oprocz pamieci
i dekodera adresow?

Nic (musisz jednak oczywi¶cie pamiętać o sygnałach RD i ALE)

Moze ktos robil juz cos takiego?
Tak




Poprzedni Następny
Wiadomość
spis tre¶ci
From: kulikk_at_nospam_zeus.polsl.gliwice.pl (Klaudiusz Kulik)
Subject: Re: Jak zrobic karte ISA
Date: Fri, 05 Mar 1999 20:24:12 GMT


Pawel Kierski pisze:
Dokladnie chodzi o zrobienie karty zawierajacej tylko
pamiec EPROM widoczna w obszarze pamieci miedzy C800:0000
i E000:0000. Co na takiej karcie potrzebne oprocz pamieci
i dekodera adresow?

Moze jeszcze bufory linii danych, adresu i sterowania.

Moze ktos robil juz cos takiego?
Bede wdzieczny za wszelkie informacje na ten temat.

1. Adres poczatku obszaru rozszerzenia biosu musi zaczynac sie od
wielokrotnosci 2KB i w zakresie C000:0000-E000:0000 (koncowego adresu
nie jestem pewien).
2. Pierwsze trzy bajty rozszerzenia maja taki format:
word AA55h - znacznik rozszerzenia biosu
byte x - gdzie x = wielkosc biosu * 512 bajtow. Wielkosc biosu
to rozmiar fizycznej pamieci eprom podlaczonej do magistrali, a
nie wielkosc kodu programu, który miesci sie w tym epromie.
Jesli ten warunek nie bedzie spelniony, to moze dojsc do sytuacji,
gdy jakis program bedzie pisal do pamieci ram, ktora ,,przykryta''
bedzie romem - zapisze do ramu, a odczyta z romu i klopoty gotowe.
3. Suma modulo 100h wszystkich bajtow w epromie musi byc rowna 0.
Biosy sprawdzaja te sume i, w zaleznosci od rodzaju biosa, wypisuja
komunikat o blednej sumie kontrolnej albo ignoruja rozszerzenie.
4. Powrot z biosa musi odbywac sie przez daleki powrot (retf) albo
restart :)
5. Niewykorzystane bajty w epromie warto zaprogramowac zerami. Jest
to rodzaj ochrony kodu przed mozliwymi uszkodzeniemi.
6. Kod zawarty w epromie musi byc mniejszy o co najmniej jeden bajt
od wielkosci epromu. Jest to konieczne dla zapewnienia warunku 3.
7. Pisanie rozszerzen biosa to wlasciwie czysty asembler. Dostepny
jest jednak pakiet tcrom (romize.zip), ktory umozliwia pisanie
biosow w TC (z pewnymi ograniczeniami). Pakiet do znalezienia
w archiwach simtela (/msdos/turbo_c).

--
K.