eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaCP/M i 64kB › Re: CP/M i 64kB
  • Data: 2019-02-25 16:16:21
    Temat: Re: CP/M i 64kB
    Od: d...@w...pl szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu niedziela, 24 lutego 2019 17:11:23 UTC+1 użytkownik Sebastian Biały napisał:

    > Wstępnie zakładam że BIOS mógł być w ROM ale BDOS i interpreter były w
    > ramie i nie dało się ich wyłączyć.

    CP/M był cudem, oczywiście mając proporcjum, mocium panie, co do wymaganego komputera
    i tym samym spodziewanych możliwości, na miarę UNIXa, mimo swoich nieprzyjemnych wad,
    czyli wymagania dyskietek i działania (przenośnego) wyłącznie w txt (przecież nawet
    spectrum jakąś tam grafikę miał).
    Ja znam jedynie z fascynującej lektury, bo jak Kildall to wypuścił, to ja jeszcze w
    planach nie byłem nawet ;>

    Ogólnie wymaganie jest jedno - żeby można było załadować komputerowi do pamięci 3
    bajty pod adresem 0 - była to dokładnie instrukcja skoku do CP/M, czyli system call -
    a parametry szły w rejestrach.
    To, do jakiego adresu był skok, ustalało się w czasie kompilacji dla danej maszyny -
    czy wręcz jej konfiguracji, bo np. dla zamontowanych 32kB RAM trzeba było zrobić
    jedną kompilację, które też działałaby na 64kB RAM, oczywiście pozwalając korzystać
    tylko z 32kB (a kompilacja dla 64kB RAM nie działałaby na 32kB).

    Więc wracając do tematu, komputer jakiś ROM musiał mieć, taki, który choć potrafiłby
    odczytać pierwszy sektor dyskietki pod jakiś adres i potem pod ten adres skoczyć.
    Po skoku można już odłączyć ROM i w to miejsce załączyć RAM - analogicznie jak robiło
    się to w C64, tyle że z Z80 będzie trochę trudniej niż z 6410, bo 6410 miał w tym
    celu bodajże 3 końcówki działające jak porty I/O w mikrokontrolerze - dlatego też na
    C64 nie można nigdy było mieć pełnych 65536 bajtów RAM do dyspozycji, bo bodajże
    jeden (a możę 2 lub 3) adres zawsze był memory mapped i/o dla rejestru sterującego
    tymi końcówkami.
    Wszystko zależy od tego, jak sobie komputer skonstruujesz.

    Np. na spectrum nie można było uruchomić CP/M, bo pod adresem 0 miał na stałe ROM,
    RAM było dopiero od 16kB.
    Więc nawet nic nie pomagała przeróbka na 80kB RAM (16kB+2*32kB - bo 16kB RAM było w
    jednym typie układów - i tylko te były montowane w spectrum 16kB - a pozostałe 32kB
    to były tak naprawdę 64kB, ale złożone z chipów, które miały uszkodzone po jednym z
    dwóch 16kB banków).
    Jak miałeś FDD3000, to tak naprawdę CP/M działał na FDD3000 - to był cały komputer z
    Z80 (i to chyba 4MHz, nie 3,5MHz jak w spektrusiu), 64kB RAM (choć tu być może trzeba
    było uzupełnić, bo TOS działał już przy 16kB, jak w FDD3) i stacjami dyskietek - a
    spectrum robił tylko za terminal, uruchamiając program z ROMu podłączonego do złącza
    krawędziowego...

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: