-
Data: 2024-07-08 19:26:53
Temat: Portowanie CP/M
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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.
- Polecenie TYPE z parametrem w postaci pliku tekstowego (np. ASM)
printuje tylko średnik, zamiast jego zawartoś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ć.
- Dodałem print sprawdzający wwartość SP. Nie wygląda na to, żeby gdzieś
był problem z nadpisywaniem czegoś przez stos.
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ć?
Następne wpisy z tego wątku
- 08.07.24 20:05 J.F
- 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
Najnowsze wątki z tej grupy
- jak szybko plynie prad
- Płytki Milkv-Duo
- Światłowód między budynkami
- POtrzebny bufor 3.3<>5V, jedonkieruowy, trójstanowy, wąski
- retro
- Bezprzewodowe polączenie Windows z projektorem
- rozklejanie obudowy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
- Smart gniazdko straciło zasięg wifi?
- nurtuje mnie
- dziwna sprawa...
- Laptop MSI się nie uruchamia.
- Dobra listwa LED (CRI 90-95, bez migotania)
- masowe programowanie AVR
Najnowsze wątki
- 2024-11-04 GNSS Motorola G85 vs Redmi Note 9 pro
- 2024-11-04 Katowice => SAP BTP Consultant (mid/senior) <=
- 2024-11-04 Katowice => Spedytor międzynarodowy <=
- 2024-11-04 Warszawa => Specjalista/tka ds. Zamówień publicznych <=
- 2024-11-04 Poznań => QA Engineer <=
- 2024-11-04 Poznań => QA Inżynier <=
- 2024-11-04 Polskie sądy są bardzo wyrozumiałe...
- 2024-11-04 Wrocław => SAP Project System/EPPM Consultant <=
- 2024-11-04 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-04 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-04 Kraków => Software .Net Developer <=
- 2024-11-04 Kraków => Programista Full Stack .Net <=
- 2024-11-04 Warszawa => Key Account Manager <=
- 2024-11-04 Warszawa => Spedytor Międzynarodowy <=
- 2024-11-04 Warszawa => E-COMMERCE specialist <=