Важная информация

User Tag List

Показано с 1 по 6 из 6

Тема: Распределение памяти под CP/M

  1. #1
    Member
    Регистрация
    09.11.2010
    Адрес
    Ярославль
    Сообщений
    40
    Благодарностей: 5
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Распределение памяти под CP/M

    Доброго времени всем. Вот набросал распределение адресного пространства Z80, с учетом, что контроллер на нем будет работать под управлением cp/m-80. Выглядит это так:
    Нажмите на изображение для увеличения. 

Название:	cpm_memory_map_v1.jpg 
Просмотров:	453 
Размер:	16.4 Кб 
ID:	35435
    Все линейное адресное пространство разбито на две условные области - свободно сменяемую и несменяемую. В несменяемой области, RAM, объемом около 16 килобайт, будет находиться все ср/м хозяйство. Ну, кроме разве что области SYS VAR, которая размещается в самых нижних адресах памяти. Свободно сменяемая память физически состоит из 4 страниц, примерно по 48 килобайт каждая. Страница PAGE 1 содержит RAM, объемом 32 килобайта, смещенную в адресном пространстве на область SYS VAR, и ROM объемом 16 килобайт, с программой начального пуска и сетевой загрузки cp/m в несменяемую область RAM. Страницы PAGE 2 - PAGE 4 являются RAM с объемом 48 килобайт каждая. Оперировать ими будет cp/m.
    Я конечно не программер, и может чего не совсем корректно представляю, но логически выглядит работоспособно.
    P.S. Чего то картинки тут жутко сжимает

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Master
    Регистрация
    27.01.2005
    Сообщений
    528
    Благодарностей: 277
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А о чём речь вообще?
    Что ты хочешь сделать?

  4. #3
    Veteran Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    Курган
    Сообщений
    1,699
    Благодарностей: 357
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    Что ты хочешь сделать?
    Видимо машинку которая позволит запустить banked CP/M 3 и banked MP/M. Только вот проще делать не так, а сделать 4 окна, в которые можно подключить любую страницу ОЗУ. Переключать банки просто - менять в первых трех окнах страницы, а для того что бы в первых 100h байтах ОЗУ (0000-00FF) байты не менялись - просто скопировать их по страницам. Код CP/M подобных систем вовсе не обязан лежать только в верхних адресах. Давным давно уже используется технология при которой в верхних адресах находится т.н. common block - который вызывает BDOS и передает ему параметры (а также возвращает параметры в программу), а сам код BDOS лежит в странице, которая на момент вызова ОСи из программы не подключена в адресное пространство, т.е. лежит в "скрытом" сегменте (странице).

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  5. #4
    Activist Аватар для krotan
    Регистрация
    30.08.2010
    Адрес
    Санкт-Петербург
    Сообщений
    399
    Благодарностей: 109
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно еще проще сделать. Всю cp/m 2.2 со всей ботвой самым стандартным образом разместить в трёх нижних банках. А верхний банк сделать переключаемым на всю память и доступным из программ.

  6. #5
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,234
    Благодарностей: 715
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от krotan Посмотреть сообщение
    еще проще сделать
    увы не проще... все программы, ориентированные на СП/М считают, что запускаются с адреса 100h, все компиляторы (C, Pascal) компилят именно в этот адрес, в общем переадресация потянет за собой переписывание всего софта...

  7. #6
    Activist Аватар для krotan
    Регистрация
    30.08.2010
    Адрес
    Санкт-Петербург
    Сообщений
    399
    Благодарностей: 109
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    увы не проще... все программы, ориентированные на СП/М считают, что запускаются с адреса 100h, все компиляторы (C, Pascal) компилят именно в этот адрес, в общем переадресация потянет за собой переписывание всего софта...
    я всё это знаю, ничего переписывать и переадресовывать не надо, просто верхняя планка памяти опускается под верхний банк памяти, он делается переключаемым и отдаётся прикладным программам (а возможно, и под ddos и экран). Спецификация cp/m такое допускает, верхняя граница памяти в cp/m не фиксирована. Нижняя остаётся где должна быть, программы запускаются с 100h. Извините, но читайте, пожалуйста, внимательно, что я написал

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Платы памяти.
    от Destr в разделе Память
    Ответов: 5
    Последнее: 23.09.2011, 19:59
  2. Модули памяти
    от moxjemi в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 21.03.2011, 12:49
  3. Мало памяти
    от Totem в разделе Программирование
    Ответов: 18
    Последнее: 07.02.2008, 08:48
  4. Тест памяти
    от spleen в разделе Софт
    Ответов: 2
    Последнее: 02.05.2006, 12:15

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •