eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPortowanie CP/MRe: Portowanie CP/M
  • Data: 2024-07-09 12:26:10
    Temat: Re: Portowanie CP/M
    Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 9.07.2024 11:21, J.F wrote:

    > Postęp duży, ale - prawidłowo odtwarzasz rejestry po przerwaniu?

    Wydaje mi się, że tak. Niemniej patrząc w kod teraz uświadomiłem sobie
    jeszcze jedną rzecz, która naprowadziła mnie na trop możliwej przyczyny.
    Kilka źródeł w Internecie mocno zalecało wydzielenie osobnego stosu dla
    BIOS-a i podmienianie go przynajmniej w tych procedurach, które będą z
    niego najbardziej intensywnie korzystały. Powodem takiego stanu rzeczy
    jest fakt, że BDOS posiada stosunkowo mały stos.
    I teraz jeszcze raz rzuciłem okiem na procedury obsługi przerwań
    napisane dobrych parę lat temu. Widzę, że nawet te obecnie
    niezaimplementowane są "szablonami" w których bezsensownie jest cały
    kontekst. Pewnie parę lat temu przygotowałem je pod uzupełnienie treścią
    i nigdy tego nie zrobiłem. W czasach TinyBasic-a nie miało to znaczenia,
    bo używałem pojedynczego, sporego stosu.
    Teraz jednak BDOS podmienia stos na swój własny, o ograniczonym
    rozmiarze. Istnieje więc spora szansa, że odpalające się przerwania
    kumulują się i stos zostaje przepełniony.

    Jeśli mam rację, to wyłączanie przerwań zaraz po wejściu do procedur
    BIOS-a w pewnym stopniu chroniło także stos BDOS-a (bo do momentu
    podmiany stosów ciągle operujemy na starym). Okienko czasowe w którym
    przerwanie mogło spowodować nadpisanie pamięci nieco się zmniejszało.
    Niemniej przerwania odpalające się poza BIOS-em ciągle mogą spowodować
    problem. Mam nadzieję, że optymalizacja wykorzystania stosu w
    procedurach obsługi przerwań wystarczy do rozwiązania tego problemu.

    > Pamieci video tam nie masz, to jest RS na terminal ?

    Pamięć wideo jest, ale w postaci osobnego układu na osobnej magistrali.
    TMS9918 posiada swój własny VRAM, którego nie współdzieli z systemem, a
    z procesorem komunikuje się przez kilka rejestrów w przestrzeni IO.
    RS w tej chwili służy tylko do debugowania. Za systemowy terminal robi
    telewizor CRT oraz klawiatura od peceta, obsługiwana przez 8242.

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: