-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED.cdk152.neoplus.adsl.tpnet.pl!no
t-for-mail
From: Atlantis <m...@w...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Procesor NMOS i karta CF
Date: Thu, 23 May 2024 15:18:07 +0200
Organization: ICM, Uniwersytet Warszawski
Message-ID: <v2nfmf$2sj10$1@news.icm.edu.pl>
References: <v2ka94$2ncku$1@news.icm.edu.pl>
<z249a4uiz54f$.6ngpqdzppbwr$.dlg@40tude.net>
<v2mtjd$2rm1m$1@news.icm.edu.pl>
<1dbrht00btf6w$.41o56676taa0.dlg@40tude.net>
<v2n13v$2rrmb$1@news.icm.edu.pl>
<1u3b1ujtd5b3r.un3wxt4f26w4$.dlg@40tude.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 23 May 2024 13:18:07 -0000 (UTC)
Injection-Info: news.icm.edu.pl;
posting-host="cdk152.neoplus.adsl.tpnet.pl:83.30.160.152";
logging-data="3034144"; mail-complaints-to="u...@n...icm.edu.pl"
User-Agent: Mozilla Thunderbird
Content-Language: en-US, pl-PL
In-Reply-To: <1u3b1ujtd5b3r.un3wxt4f26w4$.dlg@40tude.net>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:791954
[ ukryj nagłówki ]On 23.05.2024 13:52, J.F wrote:
> No tak, ale jak karta przeskakuje 1 bajt, to tak jakby komputer chciał
> odczytac 1 bajt więcej.
> I widać nie ma z tym kłopotów, więc albo:
Wydaje mi się, że karta po prostu uznaje ten jeden bajt za wysłany. Tak
wynikałoby z tego posta, który wczoraj znalazłem i przytaczałem. Kwestia
zakłóceń na magistrali przy szybko zmieniających się stanach linii.
Względnie nowoczesna, szybka karta jest na to znacznie bardziej
wyczulona niż stary procesor. Do tej hipotezy zdaje się też pasować
fakt, że najwyraźniej niektóre karty są wolne od tego problemu.
A komputerowi wszystko jedno, bo to nie on steruje procesem. Nie ma tam
żadnej pętli, w której oczekiwałby określonej liczby bajtów. On po
prostu prosi kartę o wysłanie odpowiedniej liczy sektorów zaczynając od
określonego punktu startowego, a potem przyjmuje dane tak długo, jak
ustawiane są odpowiednie flagi.
> -wysłałes do karty żądanie odczytu większej ilosci sektorów, i
> oczekuje nadmiar na odczyt,
Jak wynika z kodu który wrzuciłem, proszę o 32 sektory (16kB).
> -jakis timeout mas w bootloaderze, i nawet nie zauważa, ze 1 bajtu
> zabrakło,
> -gdzie indziej leży problem, w procesorze/bootloaderze ... przerwania
> np ?
Timeoutu nie ma, bo tak naprawdę nie jest potrzebny. Jeśli komputer
zawiesi się na tym etapie, to tak naprawdę jedynym wyjściem będzie reset
całego systemu. Przerwania w tym konkretnym momencie są wyłączone na
poziomie procesora (instrukcja DI).
Karta nie może tak po prostu wysłać o jeden lub kilka bajtów za mało w
losowych miejscach, bo prosimy ją o wysłanie danych liczonych w
sektorach (po 512 bajtów). Dlatego najbardziej prawdopodobna wydaje się
hipoteza mówiaca, że bajt "przeskakuje" ponieważ karta uznaje, że bajt
został już wysłany (kiedy tak naprawdę nie miało to jeszcze miejsca) i
przechodzi do wysyłania kolejnego.
> -karta jakas taka, że sama wewnętrznie przeskakuje ten 1 bajt, i potem
> uzupełnia ... IMO, mało prawdopodobne ...
Właśnie to jest najbardziej prawdopodobne wyjaśnienie, pasujące do tego,
co wrzuciłem wczoraj. Ktoś miał bardzo podobny objaw i mają za niego
odpowiadać zakłócenia na magistrali, na które wrażliwe są szybkie karty.
Lekarstwem jest użycie buforów albo gorszej karty.
Karta niczego nie musi uzupełniać, bo z jej punktu widzenia została
nadana właściwa liczba danych. Tymczasem komputer nigdy nie otrzymuje
(co najmniej) jednego bajtu, a więc nie inkrementuje wskaźnika i kolejny
nadawany przez kartę trafia na jego miejsce w pamięci.
> Albo ostatnie bajty obrazu. Przygotujesz obraz, przepuscisz przez
> program generujący sumę kontrolne, zapisze w pliku,
> a potem plik zapiszesz na kartę.
Przy czym tak naprawdę niewiele mnie to ratuje. Tak - będę w stanie
wykryć niepoprawne załadowanie systemu, jednak jeśli transmisje między
kartą CF i pamięcią/procesorem nie będą poprawne, to system wykrzaczy
się zaraz później, na ładowaniu programów i operacjach na plikach. Bo
tam raczej nie będzie żadnych sum kontrolnych...
> Są symulatory. A moze nawet jest port.
Oczywiście, że są. Tylko co do za przyjemność? ;)
Wiesz, ja kolekcjonuję stary sprzęt. Jeśli mogę, to w oryginale, jeśli
nie to w formie współczesnego klona. I właśnie ta "epoka" to jest trochę
taka dziura w kolekcji, bo w Polsce nie mieliśmy amatorskich komputerów
tej generacji. MCY7880 pracował głównie w sprzęcie produkowanym na
potrzeby instytucji państwowych. Nie mieliśmy naszego ALTAIR-a 8800 albo
IMSAI 8080. Amatorska Cobra pojawiła się nieco później i była już na Z80.
A że parę lat temu wpadło mi w ręce kilka sztuk MCY7880 z peryferiami (i
dodatkowo w szufladach miałem sporo scalaków od CEMI) pomyślałem, że
zrobię z tego działający system z użyciem polskich części. ;)
> Przecież CP/M nie miał grafiki, to tekstowa gra ?
Tak. Tekstowa przygodówka. Żeby było ciekawiej wersja prototypowa
posiada nieco anachroniczny układ wideo TMS9918. Teoretycznie może on
generować grafikę (ma sprzętowa obsługe sprite'ów) jednak w moim
projekcie pracuje tylko w trybie tekstowym. Wersja finalna dostanie już
raczej jakiś bardziej typowy dla epoki, czysto graficzny kontroler
wideo. Zaletą TMS-a była łatwa implementacja wynikająca z tego, że
posiada on własną pamięć wideo na osobnej magistrali, dlatego trafił do
wersji prototypowej.
Gdzieś kiedyś czytałem, że ponoć niektóre systemy na CP/M można było
wyposażyć w kartę graficzna na TMS99xx i po zastosowaniu jakiejś
programowej warstwy kompatybilności dało się odpalać gry z jakiejś
platformy opartej na Z80 i TMS99xx (MSX? Sega?), jednak u mnie to
odpada, bo nie mam procesora Z80. Cała frajda tego projektu wiąże się z
faktem, że został w nim użyty rodzimy klon 8080 + cała masa części
polskiej produkcji. ;)
Innym anachronizmem w projekcie jest pecetowy kontroler klawiatury,
jednak dzięki temu nie musiałem się bawić z budowaniem własnej -
komputer działa z klasyczną klawiaturą AT/PS2.
Następne wpisy z tego wątku
- 23.05.24 17:47 J.F
- 23.05.24 18:15 J.F
- 23.05.24 20:33 Atlantis
- 23.05.24 21:51 J.F
- 24.05.24 19:02 Atlantis
- 24.05.24 19:15 Atlantis
- 04.06.24 10:58 Atlantis
- 04.06.24 20:15 J.F
- 07.06.24 07:12 Atlantis
- 07.06.24 11:45 J.F
- 07.06.24 16:18 Atlantis
- 07.06.24 19:00 Atlantis
- 25.06.24 09:26 Atlantis
- 03.07.24 08:10 Atlantis
- 04.07.24 08:13 MKi
Najnowsze wątki z tej grupy
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
Najnowsze wątki
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=
- 2025-01-31 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-31 Błonie => Administrator systemów <=
- 2025-01-31 Duńskie precedensy w sprawie odsprzedawania terytoriów USA [Wyspy Dziewicze (1917)]
- 2025-01-31 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-31 Katowice => Key Account Manager (ERP) <=
- 2025-01-31 kupujmy części