RTV forum PL | NewsGroups PL

CP/M i 64kB

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - CP/M i 64kB

Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next

Dariusz Dorochowicz
Guest

Mon Feb 25, 2019 5:00 pm   



W dniu 2019-02-25 o 16:11, Sebastian Biały pisze:
Quote:
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.

Quote:
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 Wink

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

J.F.
Guest

Mon Feb 25, 2019 5:00 pm   



Użytkownik "Sebastian Biały" napisał w wiadomości grup
dyskusyjnych:q510b8$3a3$1@node1.news.atman.pl...
On 25/02/2019 00:19, sczygiel@gmail.com wrote:
Quote:
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.

Guest

Mon Feb 25, 2019 5:16 pm   



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

Quote:
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...

J.F.
Guest

Mon Feb 25, 2019 6:04 pm   



Użytkownik "Dariusz Dorochowicz" napisał w wiadomości grup
dyskusyjnych:5c741104$0$506$65785112@news.neostrada.pl...
W dniu 2019-02-25 o 16:11, Sebastian Biały pisze:
Quote:
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.

HF5BS
Guest

Mon Feb 25, 2019 9:04 pm   



Użytkownik "Sebastian Biały" <heby@poczta.onet.pl> napisał w wiadomości
news:q510b8$3a3$1@node1.news.atman.pl...
Quote:
On 25/02/2019 00:19, sczygiel@gmail.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...?

Sebastian Biały
Guest

Mon Feb 25, 2019 9:23 pm   



On 25/02/2019 21:04, HF5BS wrote:
Quote:
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?

Chodzi o to że jeśli w CP/M nie ma czegoś w API to tego nie ma i nie
wolno używać.

W przypadku Atari/Commodore powszechne było grzebanie w hardware wprost
choć prawda jest taka że oba OSy miały możliwości pi x drzwi jak CP/M
tylko CPU i API nieco inne. Mimo to programy traktowały DOS tylko jako
loader a potem hulaj dusza, dosa nie ma.

Co ciekawe x86 MSDOS to było coś pośredniego, niby był to taki
"nieprzypominający wcale a wcale jak bum cyk cyk" CP/Ma a jednak wiele
programów grzebało wprost w sprzęcie dzięki czemu do dzisiaj ciągniemy
takie debilizmy jak bramka A20 i mase innych.

Profesjonalizm znowu wygrał Wink

J.F.
Guest

Tue Feb 26, 2019 12:04 pm   



Użytkownik "Sebastian Biały" napisał w wiadomości grup
dyskusyjnych:q51irv$lji$1@node1.news.atman.pl...
Quote:
Chodzi o to że jeśli w CP/M nie ma czegoś w API to tego nie ma i nie
wolno używać.

Co ciekawe x86 MSDOS to było coś pośredniego, niby był to taki
"nieprzypominający wcale a wcale jak bum cyk cyk" CP/Ma a jednak
wiele

No jak nie, jak tak - to mial byc CP/M na 8088, bardzo duzo bylo
podobne, chyba nawet nr funkcji BDOS.

Quote:
programów grzebało wprost w sprzęcie dzięki czemu do dzisiaj
ciągniemy takie debilizmy jak bramka A20 i mase innych.
Profesjonalizm znowu wygrał Wink

Bo co by nie mowic - do niczego sie te funkcje BIOS nie nadawaly :-(

J.

Guest

Tue Feb 26, 2019 1:14 pm   



W dniu poniedziałek, 25 lutego 2019 21:23:29 UTC+1 użytkownik Sebastian Biały napisał:
Quote:
On 25/02/2019 21:04, HF5BS wrote:

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?

Chodzi o to że jeśli w CP/M nie ma czegoś w API to tego nie ma i nie
wolno używać.

Nie wolno tylko jeśli chcesz, żeby dany program działał teroretycznie na każdym komputerze, dla którego CP/M był zrobiony - a "zrobić" musiał producent kompa, bo sam Digital Research sprzedawał tylko wersję na "generyczny" komputer.
Cały dynks polegał na tym, że "zrobić" trzeba było tylko te kilka wymaganych funcji BIOS - bo BDOS, CCP oraz pozostałe programy były takie same - i dzięki temu nowo wyprodukowany komputer miał gotową bibliotekę oprogramowania, a nie padał z braku softu jak C-16, C-116 czy C+4 - mimo, że o wiele tańsze niż C-64, zdechły, bo nie było gier.
Ten sam model działał później w klonach PC.

Ale nic nie zabrania korzystać jednocześnie z funkcji CP/M - czyli np. obsługi dysków i systemu plików - i jednocześnie hackowania "na poziomie sprzętu".

Ciężko by było też wymyślić API do takiego pseudo-stronicowania (choc bliżej temu do EMS) oraz mechanizmy w języku programowania sprawdzające, który obecnie fragment obszaru kodu czy danych jest w przestrzeni adresowej.
Z dodatkowej pamięci można było za to zrobić RAMdysk - i to chyba było dostępne - i API identyczne jak dla dyskietek.

Quote:
W przypadku Atari/Commodore powszechne było grzebanie w hardware wprost
choć prawda jest taka że oba OSy miały możliwości pi x drzwi jak CP/M
tylko CPU i API nieco inne.

CPU to akurat podstawa do CP/M - właśnie dlatego C-128 miał i MOS6510 i Z80, żeby można było używać CP/M - ciekawy jestem, jak to było zrobione, czy rzeczywiście się jakoś CPU "przełączało", czy działało to jak zestaw spectrum+FDD3000 - ale wtedy musiałoby mieć też dwie osobne pamięci - choć w gruncie rzeczy miało 128kB, więc jedne 64kB dla MOS6510 i programu terminala - i nie trzeba nic "przełączać" a drugie 64kB dla Z80 i CP/M - jeszcze tylko jakaś emulacja połączenia szeregowego potrzebna.
W sumie pamięci na jednej szynie, więc do rozwiązania jedynie arbitraż i można robić wyświetlanie itp. poprzez pamięć dzieloną.

Quote:
Co ciekawe x86 MSDOS to było coś pośredniego, niby był to taki
"nieprzypominający wcale a wcale jak bum cyk cyk" CP/Ma a jednak wiele
programów grzebało wprost w sprzęcie dzięki czemu do dzisiaj ciągniemy
takie debilizmy jak bramka A20 i mase innych.

Akurat bramka A20 przestała być już od jakiegoś czasu przez najnowsze procesory obsługiwana. HIMEM.SYSa nie odpalisz Sad

Queequeg
Guest

Tue Feb 26, 2019 2:51 pm   



drutkow1@wp.pl wrote:

Quote:
Akurat bramka A20 przestała być już od jakiegoś czasu przez najnowsze
procesory obsługiwana. HIMEM.SYSa nie odpalisz Sad

W temacie jeszcze:

https://www.win.tue.nl/~aeb/linux/kbd/A20.html

--
Eksperymentalnie: http://facebook.com/groups/pl.misc.elektronika

Sebastian Biały
Guest

Tue Feb 26, 2019 6:20 pm   



On 26/02/2019 12:04, J.F. wrote:
Quote:
Co ciekawe x86 MSDOS to było coś pośredniego, niby był to taki
"nieprzypominający wcale a wcale jak bum cyk cyk" CP/Ma a jednak wiele
No jak nie, jak tak - to mial byc CP/M na 8088, bardzo duzo bylo
podobne, chyba nawet nr funkcji BDOS.

Pogadaj w latach 90 z przeciętnym posiadaczem PeCeta. Najpierw się
czerwienił a nastepnie używając machania rękami wyjaśniał że jesteś
debilem jeśli twierdzisz że DOS ma coś wspólnego z CP/M Wink Przecież one
były ... były ... zupełnie inne.

Odbyłem kilka takich rozmów i zawsze mi się podobała reakcja
profesjonalisty który nie mógł zaakcpetować że korzenie dosa były w
komputerach pokroju ZX Spectrum i kopiowanie plików z lewa na prawo w NC
to nie jest profesjonalna praca.

Do dzisiaj niektórzy są w stanie bronić 8+3 jak niepodległości. Ot,
jednostka chorobowa.

Quote:
programów grzebało wprost w sprzęcie dzięki czemu do dzisiaj ciągniemy
takie debilizmy jak bramka A20 i mase innych.
Profesjonalizm znowu wygrał Wink
Bo co by nie mowic - do niczego sie te funkcje BIOS nie nadawaly Sad

Do obliczeń naukowych typu pole kwadratu, do pisania tekstu, do "dicking
around" się nadawały. Widać wielu było nadto ;)

A całkiem serio, CP/M jak na niego patrzę to robota dla zdolnego
studenta na jakieś ferie, może wakacje. Zastanawiające że ta
mikroskopijna ilość kodu robiła kiedyś różnice z okolic kto będzie
rządził światem OSów czy CP/M czy CP/M z domalowanym FATem Wink.

RoMan Mandziejewicz
Guest

Tue Feb 26, 2019 6:47 pm   



Hello Sebastian,

Tuesday, February 26, 2019, 6:20:42 PM, you wrote:

Quote:
Co ciekawe x86 MSDOS to było coś pośredniego, niby był to taki
"nieprzypominający wcale a wcale jak bum cyk cyk" CP/Ma a jednak wiele
No jak nie, jak tak - to mial byc CP/M na 8088, bardzo duzo bylo
podobne, chyba nawet nr funkcji BDOS.
Pogadaj w latach 90 z przeciętnym posiadaczem PeCeta. Najpierw się
czerwienił a nastepnie używając machania rękami wyjaśniał że jesteś
debilem jeśli twierdzisz że DOS ma coś wspólnego z CP/M Wink Przecież one
były ... były ... zupełnie inne.
Odbyłem kilka takich rozmów i zawsze mi się podobała reakcja
profesjonalisty który nie mógł zaakcpetować że korzenie dosa były w
komputerach pokroju ZX Spectrum i kopiowanie plików z lewa na prawo w NC
to nie jest profesjonalna praca.

Co Ty za bzdury opowiadasz? ZX Spectrum nie miał ŻADNEGO systemu
operacyjnego. W ROM miał wbudowany interpreter Basica i na tym koniec.
Ma tyle wspólnego z DOSem co ja z ufoludkami.

[...]

--
Best regards,
RoMan
Nowa strona: http://www.elektronika.squadack.com (w budowie!)

cezar
Guest

Tue Feb 26, 2019 6:51 pm   



On 24/02/2019 16:11, Sebastian Biały wrote:
Quote:
Cześć.

Ja bez żadnego trybu, archeologicznie.

Patrze sobie na mapę pamięci CP/M i widzę że w końcówce RAM znajduje się
zarówno CP/M jak i BIOS.

Widzę po necie że istniały komputery CP/M z 64kB RAM. Zakładając że choć
troche tego ram było zastapione ROM (np. bios) to pytanie brzmi: czy w
CP/M dało się w jakiś sposób uzyskać te *prawie* 64kB dla programu usera
czy też BIOS, BDOS i interpreter zajmowały zawsze swoje i dla programów
zostawało mniej?

Szukam sobie po stronach o cp/m i jakoś nie znalazłem informacji że np.
istniało jakieś api do stronicowania pamięci.

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ć.

Troche w temacie:

8bitguy z YT ogłosił stworzenie 8bitowego komputera marzeń (tak na
prawidę to 16bit bo zamierza uzyc 65c816)

Jest szansa ze projekt się uda bo ma on dośc duzy rogłos. Grupa na FB ma
juz ok 6000 członków i rośnie.

Na razie jest dyskusja co użyć do grafiki i wygląda na to ze będzie to
FPGA ... bo tak na prawdę nie ma innej alternatywy.

https://www.youtube.com/watch?v=ayh0qebfD2g



c.

Sebastian Biały
Guest

Tue Feb 26, 2019 7:05 pm   



On 26/02/2019 18:47, RoMan Mandziejewicz wrote:
Quote:
profesjonalisty który nie mógł zaakcpetować że korzenie dosa były w
komputerach pokroju ZX Spectrum i kopiowanie plików z lewa na prawo w NC
to nie jest profesjonalna praca.
Co Ty za bzdury opowiadasz? ZX Spectrum nie miał ŻADNEGO systemu
operacyjnego. W ROM miał wbudowany interpreter Basica i na tym koniec.
Ma tyle wspólnego z DOSem co ja z ufoludkami.

DOS to ukradziony koncept CP/M (prawie 100% API). CP/M pierwotnie
działał na komputerach x80. Najbliższe komputerom z x80 w PL były
komputery z Z80. Czyli ZX Spectrum był chyba najpopularniejszy choć fakt
że CP/M na nim nie mógł działać to liczy się architektura.

DOS ma więcej wspólnego z hardware ZX Spectrum niż profesjonalistom się
wydawało. Że wspomnę nie bez satysfakcji że kody źródowe z 8080 dało
radę translować prawie automatycznie do 8086 i w zasadzie tak właśnie
robiono tworząc biblotekę kodu dla DOSa. Ot, profesjonalizm 8 bitów
translowany do prawie 16 Wink

Sebastian Biały
Guest

Tue Feb 26, 2019 7:10 pm   



On 26/02/2019 18:51, cezar wrote:
Quote:
8bitguy z YT ogłosił stworzenie 8bitowego komputera marzeń (tak na
prawidę to 16bit bo zamierza uzyc 65c816)

Widziałem. Widziałem też jak się do tego zabrał, np mając w nosie
przepustowość tego doszytego kawałka hardware. To ja może jednak ciasto
na pierogi zrobie ...

Quote:
Na razie jest dyskusja co użyć do grafiki i wygląda na to ze będzie to
FPGA ... bo tak na prawdę nie ma innej alternatywy.

Jest. Np. Propeller. Ale już chyba nie produkują.

Pomysł komputera z basicem jest ok, ale zabieranie się do tego przez
zrobienie znacznie gorszej wersji C64 jakoś mnie zastanowił. To już wole
zrobić Gigatrona, przynajmniej to coś zdumiewającego. Kolejny nudny
projekt w FPGA naprawdę nie jest już ludzkości potrzebny, są takich setki.

Albo na legacy IC albo nuda.

Patrze na te moje Z80 i w przypływie głupoty zamówiłem u chinoli dzisiaj
wersje 20MHz w DIP. No i to będzie zabawa dopiero ...

RoMan Mandziejewicz
Guest

Tue Feb 26, 2019 8:09 pm   



Hello Sebastian,

Tuesday, February 26, 2019, 7:05:45 PM, you wrote:

Quote:
profesjonalisty który nie mógł zaakcpetować że korzenie dosa były w
komputerach pokroju ZX Spectrum i kopiowanie plików z lewa na prawo w NC
to nie jest profesjonalna praca.
Co Ty za bzdury opowiadasz? ZX Spectrum nie miał ŻADNEGO systemu
operacyjnego. W ROM miał wbudowany interpreter Basica i na tym koniec.
Ma tyle wspólnego z DOSem co ja z ufoludkami.
DOS to ukradziony koncept CP/M (prawie 100% API). CP/M pierwotnie
działał na komputerach x80.

Nie Z80 tylko Intel 8080. To, że Z80 mógł udawać Intela nie czyni z
niego 8080. NEC V20 też mógł udawać 8080. I co z tego?

Quote:
Najbliższe komputerom z x80 w PL były komputery z Z80. Czyli ZX
Spectrum był chyba najpopularniejszy choć fakt że CP/M na nim nie
mógł działać to liczy się architektura.

Liczy się architektura. CP/M wymaga dostępu do RAM od adresu 0000. ZX
Spectrum ma sztywno podpięty pod tym adresem ROM.

Quote:
DOS ma więcej wspólnego z hardware ZX Spectrum niż profesjonalistom się
wydawało.

BZDURY! ZERO WSPÓLNEGO!

Quote:
Że wspomnę nie bez satysfakcji że kody źródowe z 8080 dało
radę translować prawie automatycznie do 8086 i w zasadzie tak właśnie
robiono tworząc biblotekę kodu dla DOSa. Ot, profesjonalizm 8 bitów
translowany do prawie 16 Wink

Spectrum korzystało z Z80, którego kod NIE DAWAŁ się tłumaczyć
automagicznie do 8086. Te procesory szły w zupełnie inną stronę!


--
Best regards,
RoMan
Nowa strona: http://www.elektronika.squadack.com (w budowie!)

Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next

elektroda NewsGroups Forum Index - Elektronika Polska - CP/M i 64kB

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map