-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.aagx132.neoplu
s.adsl.tpnet.pl!not-for-mail
From: "J.F" <j...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Portowanie CP/M
Date: Mon, 8 Jul 2024 20:05:28 +0200
Organization: news.chmurka.net
Message-ID: <o7faz70e4d2w$.79mo6m18nev9$.dlg@40tude.net>
References: <v6h7gt$11nrq$1@news.icm.edu.pl>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Injection-Info: news.chmurka.net; posting-account="jfoxwr";
posting-host="aagx132.neoplus.adsl.tpnet.pl:83.4.179.132";
logging-data="6760"; mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: 40tude_Dialog/2.0.15.1
Cancel-Lock: sha1:TqozwaRCRrwshrRi4u4Wo/IMa+w=
sha256:gpEqvaPsgltHIKR2Coq3kS5SDOGYhgi8iqqb0jD/uEI=
sha1:P8YGvLpBbsJ42RNLjV1T7p6L5NA=
sha256:X26Rmfjutm/uB2p8R1K8pUIxs7HdnbEgYAPudGFY1PY=
Xref: news-archive.icm.edu.pl pl.misc.elektronika:792727
[ ukryj nagłówki ]On Mon, 8 Jul 2024 19:26:53 +0200, Atlantis wrote:
> Nadal walczę z projektem przeportowania CP/M 2.2 na mój komputerek
> oparty o polski mikroprocesor MCY7880.
>
> W ciągu ostatnich kilku tygodni udało mi się osiągnąć kilka mniejszych i
> większych sukcesów:
> - Dodałem bufor na liniach D0..D7 karty CF, co najwyraźniej zniwelowało
> (a przynajmniej ograniczyło) problemy z komunikacja pomiędzy procesorem
> i kartami. teraz system stał się kompatybilny z dużo większą liczbą kart.
> - Udało mi się dodać logi zrzucane po RS232. Dzięki temu mogłem
> sprawdzić, że parametry związane z operacjami dyskowymi (disk, track,
> sector, dma) są ustawiane poprawnie.
> - Poprawnie jest też liczony adres 128 bajtowego sektora (0..3) wewnątrz
> 512 bajtowego bloku odczytanego z karty.
> - Zawartość odczytywana z karty jest konsystentna z jej obrazem,
> wygenerowanym na komputerze (przynajmniej była w przypadku wszystkich
> wyrywkowych testów)
> - Sektory są poprawnie kopiowane do miejsca docelowego (wskazywanego
> przez parametr ustawiany w procedurze SETDMA) z bufora karty CF.
> - Po rozruchu systemu dosteję prompta i jestem w stanie wykonywać komendy.
>
> Niestety, system wciąż nie działa stabilnie. Najważniejsze problemy
> wyglądają następująco:
> - Wykonanie komendy DIR daje niekonsystentne zachowanie. Czasem (rzadko)
> wyprintuje ona zawartość dysku. Zwykle jednak printowany jest tylko
> jeden plik (ASM.COM) albo następuje zawieszenie systemu.
troche dziwaczne. Gdyby był problem z dyskiem rzadko, to by IMO więcej
potrafił pokazać.
> - Polecenie TYPE z parametrem w postaci pliku tekstowego (np. ASM)
> printuje tylko średnik, zamiast jego zawartości.
A to sugeruje problemy z odczytem dysku.
Albo ... masz CCP wczytanego błędnie do pamięci.
A co się dzieje dalej - działa dalej z błędami, czy restartujesz?
Może coś uszkadza CCP w pamięci?
> - Mogę załadować niektóre mniejsze programy, jednak nie działają one do
> końca poprawnie (o ile działają w ogóle). Np. taki DDT czasem wywala się
> przy starcie (wyświetlając w pętli tekst powitalny) albo tylko raz na
> kilka(naście) wydanych poleceń "D" printuje kolejnego hexdumpa.
>
> To co zrobiłem do tej pory:
> - Upewniłem się czy stos jest wszędzie prawidłowo podmieniany i
> przywracany oraz czy wszystkie PUSH-owane wartości rejestrów są
> poprawnie z niego zdejmowane. Faktycznie po drodze znalazłem kilka
> błędów, ale wydaje mi się, że wszystkie one zostały usunięte.
> - Upewniłem się czy wartości rejestrów są przed użyciem zachowywane na
> stosie i przywracane po użyciu. Tu też znalazłem kilka problematycznych
> fragmentów, ale wydaje mi się, że wszystkie udało mi się wyeliminować.
A to jest potrzebne? nie pamiętam juz.
> - Dodałem print sprawdzający wwartość SP. Nie wygląda na to, żeby gdzieś
> był problem z nadpisywaniem czegoś przez stos.
A gdzie ten stos wskazuje? Niestety zapomniałem, gdzie powinien.
> Dodatkowo nie sądzę, żeby problem był sprzętowy - komputerek był w
> stanie stabilnie obsługiwać TinyBasic-a.
>
> Ktoś ma pomysł jak to dalej debugować?
a) przerwania tam masz? Prawidłowo odzyskują rejestry przy powrocie?
b) ta konwersja sektorów 512/128 na pewno poprawnie działa?
c) napisałbym pare krótkich programów testujących poszczególne funkcje
BIOS/BDOS. Moze nawet wpisac hex do pamięci przez RS232/DDT.
d) policzylbym na PC sumy kontrolne wszystkich sektorów, zapisał
gdzieś w pamięci, i dodał sprawdzenie w procedurach dyskowych.
e) albo odczytywać sektor dwa razy, porównać, jak są błędy, to
powtarzać.
e) mozesz chyba przesledzic przez DDT co się dzieje w CCP po wpisaniu
DIR czy TYPE
f) ... bankowanie pamięci na pewno działa poprawnie?
J.
Następne wpisy z tego wątku
- 08.07.24 20:53 heby
- 08.07.24 22:20 Atlantis
- 09.07.24 09:42 Marek
- 09.07.24 09:15 Atlantis
- 09.07.24 09:47 Jacek Konieczny
- 09.07.24 10:25 Atlantis
- 09.07.24 10:42 Atlantis
- 09.07.24 11:21 J.F
- 09.07.24 12:26 Atlantis
- 09.07.24 22:57 Atlantis
- 10.07.24 07:28 J.F
- 10.07.24 09:03 Atlantis
- 11.07.24 09:31 J.F
- 11.07.24 09:59 J.F
- 12.07.24 19:14 Atlantis
Najnowsze wątki z tej grupy
- Szukam monitora HDMI ok. 4"
- Obcinaczki z łapaczem
- 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
Najnowsze wątki
- 2024-12-17 Rodzaj przekładni planetarnej z
- 2024-12-17 Z instrukcji do kitu
- 2024-12-17 Re: W telefonie brak szufladki na drugą kartę SIM
- 2024-12-17 nie wyrzucaj starych opon
- 2024-12-17 znów elektryk:P
- 2024-12-17 "Ręczny" a przegląd.
- 2024-12-17 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-12-17 Warszawa => Fullstack Developer <=
- 2024-12-17 Warszawa => Starszy Konsultant AWS <=
- 2024-12-17 Kraków => Full Stack .Net Engineer <=
- 2024-12-17 Kraków => Programista Full Stack (.Net Core) <=
- 2024-12-17 Kraków => Software .Net Developer <=
- 2024-12-17 Rozproszona Kontrola Konstytucyjności WYBORNE ;-)
- 2024-12-17 dotacja dla PiS
- 2024-12-17 wolny rynek