eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaProcesor NMOS i karta CFRe: Procesor NMOS i karta CF
  • 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: