-
X-Received: by 2002:a25:320c:: with SMTP id y12mr1493135yby.496.1551267941775; Wed,
27 Feb 2019 03:45:41 -0800 (PST)
X-Received: by 2002:a25:320c:: with SMTP id y12mr1493135yby.496.1551267941775; Wed,
27 Feb 2019 03:45:41 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!newsreader4.netcologne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.
com!news.xlned.com!peer03.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.h
ighwinds-media.com!news.highwinds-media.com!m21no1067663qta.0!news-out.google.c
om!o7ni688qta.1!nntp.google.com!m21no1067659qta.0!postnews.google.com!glegroups
g2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.misc.elektronika
Date: Wed, 27 Feb 2019 03:45:41 -0800 (PST)
In-Reply-To: <q4ufna$jiq$1@node2.news.atman.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=46.171.220.154;
posting-account=fcN60AoAAACGnErMsW3A8rTO2UKkGJEn
NNTP-Posting-Host: 46.171.220.154
References: <q4ufna$jiq$1@node2.news.atman.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1...@g...com>
Subject: Re: CP/M i 64kB
From: d...@w...pl
Injection-Date: Wed, 27 Feb 2019 11:45:41 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4649
X-Received-Body-CRC: 1576741608
Xref: news-archive.icm.edu.pl pl.misc.elektronika:741311
[ ukryj nagłówki ]W dniu niedziela, 24 lutego 2019 17:11:23 UTC+1 użytkownik Sebastian Biały napisał:
> 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ć.
Wracając do oryginalnego tematu.
CP/M był na 8080 bez żadnych wynalazków typu stronicowanie.
System zajmował:
- 256B od adresu 0,
- oraz licząc od 0xffff do tyłu BIOS i BDOS - tyle, ile było trzeba.
System był jednoprocesowy, więc cała pozostała pamięć była do dyspozycji dla jednego,
działającego w danym momencie procesu.
Czy był to interpreter poleceń CCP (czyli trzecia część CP/M) czy inny proces, który
mógł się ładować w miejsce CCP (i po zakończeniu tego procesu odpowiedni system call
ładował CCP z dyskietki do pamięci) - wszystko jedno.
Ale żaden program nie mógł ruszyć pamięci BIOSu i BDOSu - nic mu oczywiście fizycznie
nie zabraniało, ale jak to zrobił, to prędzej czy później komputer wymagał resetu.
Czy kod BIOS i BDOS siedział sobie w RAMie czy ROMie, to już inwencja projektanta
konkretnego komputera.
Pewnie nawet tak by się dało zadrutować, żeby adresy 0x0000, 0x0001 i 0x0002 dawały
zawsze odpowiednią komendę JMP - tyle że to też trzeba by przełączać.
Dynks polegał na tym, że przy starcie komputera ten akurat JMP nie dawałby dobrego
efektu - potrzebny był taki JMP, co skoczy do bootstrapu, który oczywiście może być w
ROM, ew. odłączanym, albo pozostającym i marnującym przestrzeń adresową.
Zastanawiałem się, jaką minimalną wielkość może mieć taki bootstrap - oraz ile z
niego musi być na adresie 0 (ciekawe, czy to z powodu CPM 8086 nie zaczyna po resecie
wykonywać kodu od 0 tylko od bodajże 0xf0000?)?
Pewnie na adresie 0 wystarczą 3 bajty, czyli odpowiedni JMP (w razie czego dałoby się
to przy każdym starcie komputera wprowadzać przełącznikami na płycie czołowej ;) a
reszta w ROM.
Ale jakby nie było ROM - to ile czasu musiałoby trwać takie wprowadzanie bootstrapu?
Może dałoby się skorzystać z jakiejś funkcji BIOS CP/M, gdyby był w ROM - np. tego
odczytu sektora, wtedy wystarczyłoby wprowadzenie parametrów, wywołanie tego syscalla
i skok do wgranego sektora...
Następne wpisy z tego wątku
- 27.02.19 13:18 J.F.
- 27.02.19 14:31 d...@w...pl
- 27.02.19 19:11 Sebastian Biały
- 27.02.19 19:23 Sebastian Biały
- 27.02.19 19:30 Sebastian Biały
- 27.02.19 19:33 Sebastian Biały
- 27.02.19 19:38 Sebastian Biały
- 27.02.19 19:47 Sebastian Biały
- 27.02.19 19:51 Sebastian Biały
- 27.02.19 19:52 J.F.
- 27.02.19 19:56 Sebastian Biały
- 27.02.19 19:56 s...@g...com
- 27.02.19 20:33 J.F.
- 27.02.19 20:40 J.F.
- 27.02.19 20:50 J.F.
Najnowsze wątki z tej grupy
- pompa CO
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- Dalekopis T100 - problem z powrotem karetki
- Diody LED - oświetlenie na choinkę
- ale wiesz, że są gotowce?
- jak wykryć zapalenie żarówki?
- Cyna dylemat
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Kontrola nad prądem - sprawdź jak działa [apka - przyp. JMJ] eLicznik
- NETIA i hasło logowania
- Modulacja FM
- Najgorszy język programowania
- Kol. sukces po polsku: firma Szumisie sp. z o.o.
Najnowsze wątki
- 2025-12-29 Katowice => Key Account Manager <=
- 2025-12-29 MON nabyło Hutę Częstochowa. "Historyczne znaczenie"
- 2025-12-28 Czwarta doba strajku na głębokości 500 metrów. "Ministerstwo robi sobie z nas jaja"
- 2025-12-29 Kolejny kraj [WB - przyp. JMJ] zakazuje chowu klatkowego. W Polsce żyje tak 40 mln kur
- 2025-12-29 MON nabyło Hutę Częstochowa. "Historyczne znaczenie"
- 2025-12-28 Norwegia kontra media społecznościowe
- 2025-12-28 PREZENTY OD MINISTRA FINANSÓW. SKĄD PIENIĄDZE?
- 2025-12-27 pompa CO
- 2025-12-27 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-12-27 Ewakuacja ludności
- 2025-12-26 Gdańsk => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-12-26 Kraków => Konsultant Microsoft Dynamics 365 Finance <=
- 2025-12-26 Kraków => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-26 wymieniłem termostat
- 2025-12-26 Warszawa => Senior Backend Java Developer <=




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]