-
Data: 2024-05-23 17:47:40
Temat: Re: Procesor NMOS i karta CF
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Thu, 23 May 2024 15:18:07 +0200, Atlantis wrote:
> 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.
No. To na koniec komputer chce od niej o 1 bajt za dużo.
> 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.
spodziewałem się, ze w bootloaderze masz czytanie określonej liczby
bajtów, ale widzę, że nie.
Czytanie na flagi znów rodzi kwestię zależnosci czasowych, ale karta
raczej szybka, a 8080 bardzo wolny.
A zgubić tak drugi bajt byłoby raczej trudno.
>> -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
Może i tak, ale w tym CFWAIT jakos czekasz, może byc za mało lub za
dużo. Ale patrzę w program - jak przerwie, to całość, drugiego bajtu
tak nie zgubisz.
> całego systemu. Przerwania w tym konkretnym momencie są wyłączone na
> poziomie procesora (instrukcja DI).
nie pamietam ... chyba były jeszcze niemaskowane,
czy to dopiero w Z80 ?
> 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.
Ciekawie byłoby zobaczyc ile bajtów bootloader przeczytał.
>> -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.
Zakładałem, ze BL odczytuje założoną ilość bajtów.
I wtedy karta musiałaby uzupełnić ilość.
> 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...
Ogólnie racja, ale takie zabezpieczenie jest sensowne, żebyś był
pewny, że uruchamiasz dobry program.
Inaczej ... wszytko tam może być, przypadkowe dane, które się stają
przypadkowym programem, czy lekko przekłamany program, który cos
uszkodzi, albo np skasuje kartę ...
>> Są symulatory. A moze nawet jest port.
> Oczywiście, że są. Tylko co do za przyjemność? ;)
Nie widzę przyjemnosci w starej grze tekstowej.
No ale wiadomo - de gustibus ...
> 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.
IMO - no i dobrze, jesli Z80 lepszy. A pojawił się raptem 2 lata po
8080.
był jeszcze 8085 - taki trochę lepszy 8080.
> 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. ;)
No coż, de gustibus ...
Takie komputerki były za PRL, ale raczej przemysłowe ... i chyba nikt
nie patrzył na polskość, tylko na stawiane wymogi - jak były potrzebne
zagraniczne kości, to się kupowało.
>> 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ś
Wsadzic mogłeś duzo, ale standard nie przewidywał, to i z programami
gorzej.
Akurat w CP/M szybko zaczęło brakować pamięci, to pewnie był nacisk,
aby pamięc video jakoś bankować.
> programowej warstwy kompatybilności dało się odpalać gry z jakiejś
> platformy opartej na Z80 i TMS99xx (MSX? Sega?),
Podejrzewam MSX, ale lista komputerków z tym systemem jest dłuzsza.
> 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. ;)
Niech Ci będzie :-)
J.
Następne wpisy z tego wątku
- 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
- 05.07.24 12:13 J.F
Najnowsze wątki z tej grupy
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
Najnowsze wątki
- 2024-12-12 Autocom CAN CDP+ wysokie kody błędów
- 2024-12-13 termostat do lodowki
- 2024-12-13 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-13 Warszawa => Head of International Freight Forwarding Department <=
- 2024-12-13 Poznań => Employer Branding Specialist <=
- 2024-12-13 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-12-13 Kraków => Business Development Manager - Network and Network Security
- 2024-12-13 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-13 Gdańsk => Programista Full Stack .Net <=
- 2024-12-13 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-12-13 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2024-12-13 Wrocław => Application Security Engineer <=
- 2024-12-13 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-12-13 Lublin => Programista Delphi <=
- 2024-12-13 Chrzanów => Specjalista ds. public relations <=