PDA

Просмотр полной версии : описание CP/M



LBishop1
17.08.2010, 17:03
Дайте ссылку, где можно отыскать сабж. Лучше книгу в pdf или doc. Заранее спасибо.

Viktor2312
17.08.2010, 17:30
http://easyelectronics.ru/m-damke-operacionnye-sistemy-mikroevm.html

Там можно много чего почитать и найти, а в книге "Операционные системы микроЭВМ" есть немного и про CP/M.

Barmaley_m
18.08.2010, 03:34
Вот несколько доков, которые мне попали вместе с ASC CP/M.

LBishop1
18.08.2010, 16:05
Спасибо. Еще один вопрос: насколько я понял, под cp/m загрузщики надо другие писать? Т.е. ленточные Basic загрузщики не переделать?

Viktor2312
18.08.2010, 18:38
Спасибо. Еще один вопрос: насколько я понял, под cp/m загрузщики надо другие писать? Т.е. ленточные Basic загрузщики не переделать?

Ну я именно спектрумом не занимался уже лет 15, и не очень компетентен в вопросах касаемых спектрума, но, переделать можно всё, вопрос стоит ли, может проще написать с нуля. Это так, размышления в слух.

Вот наткнулся ещё на несколько упоминаний на книги по данной ОС, попробуйте поискать в инете, может найдёте.

Уейт М. Ангермейер Дж.
Операционная система CP/M.
Пер. с англ. М: Радио и связь, 1986.

Н. В. Макарова и др. Работаем на персональном компьютере
РОБОТРОН 1715 Л: Машиностроение, 1989.

Дейтел Г. М. Введение в операционные системы. Пер. с англ. под
ред. В.С. Штаркмана. М: Мир, 1987 В 2 т.
Несколько устарелая, но весьма полезная для
создателей ОС книга. Так написано про неё.

Barmaley_m
18.08.2010, 20:39
Спасибо. Еще один вопрос: насколько я понял, под cp/m загрузщики надо другие писать? Т.е. ленточные Basic загрузщики не переделать?
Операционная система CP/M не предназначена для игр или демок. Она сама и приложения под нее работают на множестве компьютеров с очень сильно различающейся аппаратной частью. Такая беспрецедентная совместимость была достигнута с помощью слоя абстракции аппаратуры (Hardware Abstraction Layer). Ни сама BDOS CP/M, ни программы, работающие из-под нее, не могут рассчитывать на какие-либо аппаратные ресурсы компьютера, кроме тех, что доступны посредством обращения к BIOS. А через BIOS доступны очень немногие ресурсы: это вывод на экран текста (управляющие коды позволяют позиционировать курсор), вывод текста на принтер, ввод с клавиатуры символа (множественные нажатия клавиш не поддерживаются); доступ к диску. Больше нет абсолютно ничего! Нет ни магнитофона, ни графики, ни звука, ни прерываний, ничего!

И если программа под CP/M будет соблюдать эти ограничения, не пытаться пользоваться аппаратурой с помощью команд IN, OUT, не запрещать прерывания и т.д. - то она будет работать на всем этом многообразии компьютеров, которые имеют между собой общего только процессор Z80.

Не доступен из-под CP/M и Sinclair Basic по понятным причинам. Потому что нет его на большинстве компьютеров, на которых работает CP/M. К сожалению, несмотря на то, что Spectrum работает на процессоре Z80, без переделок или аппаратных расширений CP/M на нем запустить невозможно. Вызвано это тем, что по адресам 0000-3FFF находится ПЗУ, а для CP/M требуется чтобы по этим адресам было ОЗУ. Кроме того, экранная область по адресам 4000-5CFF также несовместима с CP/M. Если на Спектруме запускается CP/M - то при этом как правило включается второй экран, так что экранная область выносится из адресного пространства Z80.

Поэтому нет абсолютно никакого смысла писать под CP/M что дисковые, что ленточные загрузчики к любым программам. А те программы, которые работают из-под CP/M непосредственно, в загрузчиках не нуждаются - ОС их и сама неплохо запускает.

jerri
25.08.2010, 09:51
На Spectrum +3 есть возможность запускать cp/m программы

Vadim
25.08.2010, 11:16
И на +3 есть 2 варианта cp/m. Один от Locomotive Software (зпрещенный к свободному распространению) - CP/M 3.0 nonbanked и ещё один, чья то самоделка, портированный CP/M 2.2, лежит на tzxvault.org, недавно появился.

krotan
31.08.2010, 16:18
Если Вы хотите запускать на Спектруме CP/m программы, придется решить 4 аппаратных прлблемы:
- в области памяти 0-16 кБ должно быть не ПЗУ, а ОЗУ, причем ПЗУ в cp/m вообще отсутствует;
- область экранной памяти у Спектрума находится там, где в cp/m выполняются программы, надо куда-то убирать;
- в cp/m экран должен быть в 80 символов на строку, а не 32 или 64, как у Спектрума (хотя, в Скорпионе, например, на это просто "забили")
- при включении аппаратно операционка должна загружаться с дискеты с адреса 100 и с этого же адреса запускаться на выполнение
Есть и софтовые проблемы. CP/m имеет возможность загружаться на разном железе, для этого она настраивается, адаптируется. CP/m от одной модели компьютера не будет работать на другом без настройки. Настройка заключается в замене драйверов bios (базовой системы ввода-вывода).
Если Вас посетила идея загружать Спектрумовские программы из CP/m, то не вы первый:) Не скажу, что это невозможно, но геморроя так много, что это совершенно неоправданно. Тем более, что cp/m далеко не верх совершенства...

esl
31.08.2010, 16:33
- при включении аппаратно операционка должна загружаться с дискеты с адреса 100 и с этого же адреса запускаться на выполнение

нет, это не так, как она грузится - это проблемма загрузчика
например в Корвете, ROM читает первый сектор диска, из него читает адрес куда грузить и сколько, и после загрузки передает туда управление.



Есть и софтовые проблемы. CP/m имеет возможность загружаться на разном железе, для этого она настраивается, адаптируется. CP/m от одной модели компьютера не будет работать на другом без настройки. Настройка заключается в замене драйверов bios (базовой системы ввода-вывода).
Если Вас посетила идея загружать Спектрумовские программы из CP/m, то не вы первый:) Не скажу, что это невозможно, но геморроя так много, что это совершенно неоправданно. Тем более, что cp/m далеко не верх совершенства...
в доке на CP/M огромный куско как надо писать этот BIOS ....
и кстати по поводу 32/64/80 символов в строке
это актуально только для некоторого класса софта, которого достаточно мало,
часть софта - настраивается, части вообще начьхать на экран ...

krotan
01.09.2010, 09:36
нет, это не так, как она грузится - это проблемма загрузчика
Вы абсолютно правы, я дико извиняюсь за ошибку (время прошло-память глючит), это программы загружаются с 100, а операционка - в старшие адреса памяти


и кстати по поводу 32/64/80 символов в строке
это актуально только для некоторого класса софта, которого достаточно мало
Боюсь, тут вы неправы. Убедится очень просто - запустите cp/m на Скорпионе и посмотрите, что происходит с обычными сипиэмовскими программами:) Очень рад, что здесь присутствуют компитентные люди:)

esl
01.09.2010, 15:49
Боюсь, тут вы неправы. Убедится очень просто - запустите cp/m на Скорпионе и посмотрите, что происходит с обычными сипиэмовскими программами:)

опять-же судя по корвету (ну с чем работал)
так сказать нативный cp/m софт который использовался это на 90% компиляторы и т.д и системный софт
а им размер экрана - паралелен.

все редакторы - были писаны уже под корвет используя его железо.

хотя для корвета были биосы которые рисовали экран 64 и 80 символов в строке, но лично я их использовал только чтобы посмотреть как выглядит
LADDER и еще что-то из пары нативных cp/m игр ...

вот где уж точно было не обойтись, так это microsoft multiplat и supercalc
но их особо не исользовали...

Error404
01.09.2010, 18:13
опять-же судя по корвету (ну с чем работал)
так сказать нативный cp/m софт который использовался это на 90% компиляторы и т.д и системный софт
а им размер экрана - паралелен.

все редакторы - были писаны уже под корвет используя его железо.

хотя для корвета были биосы которые рисовали экран 64 и 80 символов в строке, но лично я их использовал только чтобы посмотреть как выглядит
LADDER и еще что-то из пары нативных cp/m игр ...

вот где уж точно было не обойтись, так это microsoft multiplat и supercalc
но их особо не исользовали...

Турбо-паскаль борландовский был замечательный. Кастомизировался как угодно и имел встроенный экранный редактор на основе позиционирования курсора кодами терминала VT52. У меня на Орионе была версия настроенная как под 64 символа в строке, так и под 80 символов. Т.е. вопрос исключительно корректности написанного ПО. Если оно писалось грамотно (на управляющих кодах соответствующих терминалов), и реализация драйвера этого терминала на соответствующем компе была "прямая", то все работало корректно.
Порядочно ПО стандартного было нормально работавшего с VT52 в полноэкранных режимах.

caro
01.09.2010, 18:46
вот где уж точно было не обойтись, так это microsoft multiplat и supercalc
но их особо не исользовали...Их тоже можно настроить под любой экран и они у меня работали на Кворуме с шириной экрана начиная с 51 символа (знакогенератор 5*8).
Тоже самое относится ко многим серьезным программам, работающим в окне.
Практически все они имеют зону настройки на размеры экрана и на управляющие коды.

esl
01.09.2010, 19:04
Их тоже можно настроить под любой экран и они у меня работали на Кворуме с шириной экрана начиная с 51 символа (знакогенератор 5*8).
Тоже самое относится ко многим серьезным программам, работающим в окне.
Практически все они имеют зону настройки на размеры экрана и на управляющие коды.

дык я про это собственно и говорил :)
что нормальный софт умел настраиваться, но его было относительно мало.

почти все прикладное (текстовые редакторы/граф/обучалки/игрушки) для корвета было самописное, которое напрямую использывало железо
p.s. за всю корветовскую жизнь (кстати и на ямахах тоже, правда там MSX DOS) не видел людей которые использовали редаторы которые универсальные (те которые были CP/M настраиваемые)
Turbo Pascal 3 на MSX - это скорее исключение :)

caro
01.09.2010, 19:12
дык я про это собственно и говорил :)
что нормальный софт умел настраиваться, но его было относительно мало.Я бы сказал мало его попало к Вам в руки.


почти все прикладное (текстовые редакторы/граф/обучалки/игрушки) для корвета было самописное, которое напрямую использывало железо
p.s. за всю корветовскую жизнь (кстати и на ямахах тоже, правда там MSX DOS) не видел людей которые использовали редаторы которые универсальные (те которые были CP/M настраиваемые)Один из лучших текстовых редакторов для CP/M - WordStar прекрасно настраивается под любой экран начиная с 40 символов.
WordMaster также настраивается и кстати есть настроенная версия под Корвет.


Turbo Pascal 3 на MSX - это скорее исключение :)Не только на MSX, а практически на любом, способном работать в CP/M, клоне Спектрума.

esl
02.09.2010, 00:46
Я бы сказал мало его попало к Вам в руки.

не, достаточно много, но просто был мало востребован.


Один из лучших текстовых редакторов для CP/M - WordStar прекрасно настраивается под любой экран начиная с 40 символов.
WordMaster также настраивается и кстати есть настроенная версия под Корвет.

WordStar - это слабое подобие редактора в сравнении с
MicroMir aka MIM (MSX,Korvet)
E (Korvet)
(x)TOR (MSX)
особенно микромир, у которого работа с текстами ограниченными только размером диска а не памяти (мне очень жалко что мир пошел в сторону WordStar Like редакторов, идея Миров - это очень удобно)

смотрел разные штуки, тот-же Super-Text, монстр еще тот, но тормозит так ...


Не только на MSX, а практически на любом, способном работать в CP/M, клоне Спектрума.
угу, только Z80 :(

у корвета то 8080
но для Корвета в Киеве сделали ExpresPascal - ala TurboPascal 4
и с СУПЕР редакторм встроенным (Turbo - нерно курит в сторонке)
но он использовал кучу специфики корвета
и использование граф памяти как буферов, и свой драйвер клавиатуры etc etc etc

собственно я то не спорю с вами
просто на том-же корвете получается что CP/M в основном использовалась как дисковая система
экран стандартный был 64x16 (зато знакогенератор 16x8)
и народ пошел по своему пути
не использовать стандартный (универсальный) софт, а писали все что выводит на экран - свое.
очем в конечном итоге и не пожалели.
просто это несколько другой путь.

KokaF77
28.09.2010, 13:19
Если тема ещё актуальна, то возможно это кому-нибудь понадобится...

CP/M OPERATING SYSNEM MANUAL
DIGITAL RESEARCH
P.O. Box 579
Pacific Grove, California 93950
http://www.1000bit.it/support/manuali/dr/CPM_Operating_System_Manual.pdf
размер - 26,9 MB

COMMODORE-128 CP/M USER`S GUIDE
Abacus Software
http://www.1000bit.it/support/manuali/commodore/128/Commodore_128_Book_8_CPM_User's_Guide.pdf
размер - 21,72 MB

The Unofficial CP/M Web site
http://www.cpm.z80.de/
На этом сайте есть практически всё для изучения CP/M во всех её вариациях.
Исходники и оригинальная документация DR.
P.S. На предыдущем тоже много вкусненького...