-
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
- "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- antena gsm - kabel - antena gsm
- PID - jeszcze raz
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają