-
11. Data: 2019-02-25 16:11:38
Temat: Re: CP/M i 64kB
Od: Sebastian Biały <h...@p...onet.pl>
On 25/02/2019 08:49, Dariusz Dorochowicz wrote:
> Nie znam tego, ale jakie są wyjścia do peryferiów?
Terminalowe (znakowe) i blokowe (dyskietka).
Szukam info jak to obsługuje dyski twarde ale wygąda na to że podobnie
jak dyskietki.
Goły CP/M to bieda, tylko powolny terminal znakowy i mierny fiesystem na
dyskietce, Atari i C64 miały tony więcej ficzerów. Grafika prawie nie
istnieje choć pod koniec był na to jakiś wczesny GEM.
Ale to jednak uważane jest za "profesjonalne". Wychodzi na to że to
słowo jest kłopotliwe w definicji ;)
-
12. Data: 2019-02-25 16:16:21
Temat: Re: CP/M i 64kB
Od: d...@w...pl
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...
-
13. Data: 2019-02-25 16:17:51
Temat: Re: CP/M i 64kB
Od: Sebastian Biały <h...@p...onet.pl>
On 24/02/2019 23:34, J.F. wrote:
>> BIOS mogę napisać sam, przecież na tym fun polega, ba, emulator mogę
> A nawet musisz.
Nie, mógłbym odtworzyć jeden z tamtych komputerów, np. jakąś stację
dysków któa działała jako komputer CP/M.
Sympatyczniej będzie napisac jednak od 0.
>> "odczytaj sektor" / "odczytaj znak".
> Ale jeszcze przydaloby sie emulacje terminala, np VT-52.
To już detale bez znaczenia.
>>> Do tego Wordstar, TurboPascal, DBase, M80, L80, Basic ... zeby bylo co
>>> pokazac :-)
>> Powinny ruszyć od strzału.
> Powinny. Wordstar wymagal konfiguracji terminala.
> Ale ... masz je ?
Akurat te? Nie wiem czy są, ale jest miliard języków programowania do
pobrania albo jako abadonware albo free.
-
14. Data: 2019-02-25 16:49:25
Temat: Re: CP/M i 64kB
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Sebastian Biały" napisał w wiadomości grup
dyskusyjnych:q510ut$3r6$...@n...news.atman.pl...
On 24/02/2019 23:34, J.F. wrote:
>>> BIOS mogę napisać sam, przecież na tym fun polega, ba, emulator
>>> mogę
>> A nawet musisz.
>Nie, mógłbym odtworzyć jeden z tamtych komputerów, np. jakąś stację
>dysków któa działała jako komputer CP/M.
>Sympatyczniej będzie napisac jednak od 0.
Zalezy co chcesz zrobic ... jak spojrzec sobie raz na CP/M, to
prosciej moze byc odtworzyc,
jak cos ambitniejszego, to zakladam, ze bedziesz robil wirtualne
dyskietki na karcie pamieci :-)
>>> "odczytaj sektor" / "odczytaj znak".
>> Ale jeszcze przydaloby sie emulacje terminala, np VT-52.
>To już detale bez znaczenia.
Dla Wordstara podstawowe znaczenie :)
>>>> Do tego Wordstar, TurboPascal, DBase, M80, L80, Basic ... zeby
>>>> bylo co
>>>> pokazac :-)
>>> Powinny ruszyć od strzału.
>> Powinny. Wordstar wymagal konfiguracji terminala.
>> Ale ... masz je ?
>Akurat te? Nie wiem czy są, ale jest miliard języków programowania do
>pobrania albo jako abadonware albo free.
Pod CP/M ? raczej kilka.
J.
-
15. Data: 2019-02-25 16:52:35
Temat: Re: CP/M i 64kB
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Sebastian Biały" napisał w wiadomości grup
dyskusyjnych:q510j9$3lo$...@n...news.atman.pl...
On 25/02/2019 08:49, Dariusz Dorochowicz wrote:
>> Nie znam tego, ale jakie są wyjścia do peryferiów?
>Terminalowe (znakowe) i blokowe (dyskietka).
>Szukam info jak to obsługuje dyski twarde ale wygąda na to że
>podobnie jak dyskietki.
Mam wrazenie, ze wcale nie obsluguje. Moze 3.0.
Tzn jak sie uda oprogramowac twardziela jak dyskietke, to bedzie
obslugiwal,
tylko kwestia rozmiaru.
>Goły CP/M to bieda, tylko powolny terminal znakowy i mierny fiesystem
>na dyskietce, Atari i C64 miały tony więcej ficzerów.
Atari moze i mialy tony ficzerow, ale one byly do grania, nie do pracy
:-)
J.
-
16. Data: 2019-02-25 16:58:39
Temat: Re: CP/M i 64kB
Od: "J.F." <j...@p...onet.pl>
Użytkownik drutkow1 napisał w wiadomości grup
dyskusyjnych:d8c40e28-cbd3-4427-9c46-9063cc426865@go
oglegroups.com...
>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ć.
Nie pamietam juz jak sie bootowal ... moze ROM musial BDOS przeczytac.
>Po skoku można już odłączyć ROM i w to miejsce załączyć RAM
Wrecz trzeba bylo.
Bo jak pisales - CPM wymagal od adresu 0 RAM, a 8080 na starcie - ROM.
Po starcie trzeba bylo przelaczyc.
>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...
I to bardzo kiepski terminal, bo tylko 32 znaki, zamiast 80.
Timex byl lepszy, bo jednak 64.
J.
-
17. Data: 2019-02-25 17:00:04
Temat: Re: CP/M i 64kB
Od: Dariusz Dorochowicz <dadoro@_wp_._com_>
W dniu 2019-02-25 o 16:11, Sebastian Biały pisze:
> On 25/02/2019 08:49, Dariusz Dorochowicz wrote:
>> Nie znam tego, ale jakie są wyjścia do peryferiów?
>
> Terminalowe (znakowe) i blokowe (dyskietka).
>
> Szukam info jak to obsługuje dyski twarde ale wygąda na to że podobnie
> jak dyskietki.
Chyba sobie nie przypominam HDD pod CP/M. Nawet system plików sprawiałby
problem bo zdaje się że był problem z katalogami. Nie pamiętam
szczegółów a przypominać sobie to chyba nie mam już ochoty.
> Goły CP/M to bieda, tylko powolny terminal znakowy i mierny fiesystem na
> dyskietce, Atari i C64 miały tony więcej ficzerów. Grafika prawie nie
> istnieje choć pod koniec był na to jakiś wczesny GEM.
>
> Ale to jednak uważane jest za "profesjonalne". Wychodzi na to że to
> słowo jest kłopotliwe w definicji ;)
Przeznaczenie. To był system przeznaczony do pracy i niczego więcej i
jego możliwości były adekwatne do tego celu. Ale przede wszystkim można
go (i aplikacje) było uruchamiać na różnych komputerach z różnych firm,
a programy na Atari i C64 tylko na nich.
Pozdrawiam
DD
-
18. Data: 2019-02-25 17:00:17
Temat: Re: CP/M i 64kB
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Sebastian Biały" napisał w wiadomości grup
dyskusyjnych:q510b8$3a3$...@n...news.atman.pl...
On 25/02/2019 00:19, s...@g...com wrote:
>> W CP/M to nie wiem. W c64 bylo mozna przelaczyc jaka pamiec byla
>> podlaczona do szyny
>W Atari też. Ale CP/M to taki procesor z abstrakcją sprzętu i musiało
>by do tego istnieć API.
OIDP - przed wersja 3.0 nie bylo.
Po prostu nie przewidywano stronnicowania w systemie.
ROM to robil na starcie, potem juz nie bylo.
J.
-
19. Data: 2019-02-25 18:04:12
Temat: Re: CP/M i 64kB
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Dariusz Dorochowicz" napisał w wiadomości grup
dyskusyjnych:5c741104$0$506$6...@n...neostrada.
pl...
W dniu 2019-02-25 o 16:11, Sebastian Biały pisze:
> On 25/02/2019 08:49, Dariusz Dorochowicz wrote:
>>> Nie znam tego, ale jakie są wyjścia do peryferiów?
>
>> Terminalowe (znakowe) i blokowe (dyskietka).
>
>> Szukam info jak to obsługuje dyski twarde ale wygąda na to że
>> podobnie
>> jak dyskietki.
>Chyba sobie nie przypominam HDD pod CP/M. Nawet system plików
>sprawiałby
>problem bo zdaje się że był problem z katalogami. Nie pamiętam
>szczegółów a przypominać sobie to chyba nie mam już ochoty.
Katalogow nie bylo, ale byl jakis nr uzytkownika.
Katalogow nie bylo tez w MS DOS - bo to byl taki CP/M na 8086.
Tzn w wersji 1.0 i 1.1 - popatrzyli na unixa i dodali od 2.0
J.
-
20. Data: 2019-02-25 21:04:13
Temat: Re: CP/M i 64kB
Od: "HF5BS" <h...@...pl>
Użytkownik "Sebastian Biały" <h...@p...onet.pl> napisał w wiadomości
news:q510b8$3a3$1@node1.news.atman.pl...
> On 25/02/2019 00:19, s...@g...com wrote:
>> W CP/M to nie wiem. W c64 bylo mozna przelaczyc jaka pamiec byla
>> podlaczona do szyny
>
> W Atari też. Ale CP/M to taki procesor z abstrakcją sprzętu i musiało by
> do tego istnieć API.
W Commodore 128, dla CP/M istnieje przełączanie procków. Ale reszta sprzętu
zostaje ta sama, więc to chyba nie jest jakiś straszliwy problem?
--
Łapy, łapy, cztery łapy,
A na łapach pies kudłaty.
Kto dogoni psa? Kto dogoni psa?
Może ty? Może ty? Może jednak ja...?