-
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...
Następne wpisy z tego wątku
- 25.02.19 16:17 Sebastian Biały
- 25.02.19 16:49 J.F.
- 25.02.19 16:52 J.F.
- 25.02.19 16:58 J.F.
- 25.02.19 17:00 Dariusz Dorochowicz
- 25.02.19 17:00 J.F.
- 25.02.19 18:04 J.F.
- 25.02.19 21:04 HF5BS
- 25.02.19 21:23 Sebastian Biały
- 26.02.19 12:04 J.F.
- 26.02.19 12:14 d...@w...pl
- 26.02.19 13:51 Queequeg
- 26.02.19 18:20 Sebastian Biały
- 26.02.19 18:47 RoMan Mandziejewicz
- 26.02.19 18:51 cezar
Najnowsze wątki z tej grupy
- Thunderbird i dysk...
- opornosc falowa
- Bateria 9V 6F22, alkaliczna v cynkowa, samorozładowanie, bateria wysokiej trwałości do miernika
- Tani zakup z ali?
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
Najnowsze wątki
- 2025-07-23 Gdańsk => Programista Delphi <=
- 2025-07-23 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-23 Warszawa => Starszy inżynier DevOps (AWS) <=
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=