🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.misc.elektronika
Article #793850

Re: Problem z odczytem karty CF

#793850
From: Atlantis
Date: Sat, 04 Jan 2025 19:50
50 lines
3649 bytes
On 4.01.2025 11:43, Janusz wrote:

> Wg mnie to będzie jedyna przyczyna, dane musisz zatrzaskiwać tym ALE.

Samo ALE to chyba za mało. W tej chwili polegam tylko na sygnale IO_RD 
do ustawiania kierunku transferu - jeśli linia jest w stanie niskim, to 
mamy odczyt z karty, jeśli jest wysoka, to zapis do niej.
Gdybym w takim wypadku użył ALE do sterowania pinem G, to za każdym 
razem gdy tylko na liniach D0..D7 pojawiałyby się dane, bufor otwierałby 
się w którąś stronę. Pół biedy, gdyby linia IO_RD znajdowała się wtedy w 
stanie wysokim  - karta by po prostu zignorowała to co pojawi się na 
magistrali, nie widząc aktywnych sygnałów CS i RD. Jednak gdyby kierunek 
bufora był ustawiony w przeciwną stronę, to wtedy pojawi się następująca 
sytuacja:
1. ALE otworzy bufor.
2. IO_RD ustawi kierunek od karty do magistrali systemowej.
3. Karta nie widząc sygnału CS, będzie trzymała swoje wyjścia danych w 
stanie wysokiej impedancji. Przez bufor na magistralę trafią więc stany 
nieustalone.

Trochę poeksperymentowałem, dodając trochę logiki do GAL-a. Na chwilę 
obecną wygląda to tak:

/MEMRD = /IOM * /RD
/MEMWR = /IOM * /WR
/IORD = IOM * /RD
/IOWR = IOM * /WR
/LOCPTCS = /LOCIOCS * /A4 * IOM * /WR
/LOCCFCS = /LOCIOCS * A4 * IOM * /ALE

Rzeczy, których mogę być pewien:
- Poprawnie działa generowanie sygnałów MEMRD i MEMWR, bo pamięci 
działają poprawnie i kod z EPROM-u się wykonuje.
- Poprawnie działa generowanie sygnałów IORD i IOWR, bo peryferia (poza 
kartą) działają poprawnie. Mogę odczytywać i zapisywać z/do nich dane.
- Poprawnie działa przynajmniej kawałek dekodera adresów, bo linia 
LOCPTCS (sterująca portem 74273) działa poprawnie.

Tylko z kartą są problemy. Bufor wydaje się być najbardziej oczywistym 
kandydatem, bo to główna różnica w stosunku do innych peryferiów. 
Zastanawiam się teraz czy przypadkiem nie mam jakiegoś problemu z 
timingami i któryś sygnał nie pojawia się za wcześnie lub za późno.
Przykładowo w chwili obecnej sygnał CS steruje zarówno kartą, jak i 
otwarciem bufora (linia G). Może powinienem to jakoś rozdzielić?

Nie wiem czy w akcie desperacji nie wywalę w ogóle tymczasowo bufora i 
nie połączę linii danych bezpośrednio. Widziałbym przynajmniej czy coś 
się zmieniło i czy jest poprawa. W prototypie na 8080 karta działała bez 
bufora w miarę ok, ale od czasu do czasu pojawiały się przekłamania w 
transmisjach.
Technical Details
Message-ID: <vlc3de$vdl$1@news.chmurka.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.cdg68.neoplus.adsl.tpnet.pl!not-for-mail
References: <vl9o9o$q8q$1@news.chmurka.net> <gi0wktxv5gej.15sb4w8uolccd$.dlg@40tude.net> <7aa83a0c-d7ce-49db-a2c4-59a4f971235c@wp.com> <vlb3d0$f5s$1@news.chmurka.net>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.cdg68.neoplus.adsl.tpnet.pl!not-for-mail
From: Atlantis <marekw1986NOSPAM@wp.com>
Newsgroups: pl.misc.elektronika
Subject: Re: Problem z odczytem karty CF
Date: Sat, 4 Jan 2025 20:50:06 +0100
Organization: news.chmurka.net
Message-ID: <vlc3de$vdl$1@news.chmurka.net>
References: <vl9o9o$q8q$1@news.chmurka.net> <gi0wktxv5gej.15sb4w8uolccd$.dlg@40tude.net> <7aa83a0c-d7ce-49db-a2c4-59a4f971235c@wp.com> <vlb3d0$f5s$1@news.chmurka.net>
MIME-Version: 1.0
Injection-Date: Sat, 4 Jan 2025 19:50:06 -0000 (UTC)
Injection-Info: news.chmurka.net; posting-account="Atlantis"; posting-host="cdg68.neoplus.adsl.tpnet.pl:83.30.156.68"; logging-data="32181"; mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:H/c+4nuvSOx4MCx4fn4jwXbHcZo= sha256:LxRCIG89b8DfZtRcSiDACLhfrPCddJX1AdV3BO5Sd3E= sha1:KTgmvFsA/xuw8ZrTx9tx0N0SHho= sha256:hbd4+c8GuuI2gT4k5/RHgGVylALT9jrnxEdREhSVnqM=
In-Reply-To: <vlb3d0$f5s$1@news.chmurka.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit