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

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 27

Тема: Вариант универсального загрузчика для Ориона.

  1. #1
    Banned
    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Вариант универсального загрузчика для Ориона.

    Внезапно мне стало надо собрать ROM-диск для Ориона одному хорошему человеку.

    По идее это плата с одной микросхемой ПЗУ на 64 Кб. Суть этого компьютера в том, что он ведет себя как дисковый. Половина ОЗУ используется как диск A:, а ПЗУ на 64 Кб используется как диск B:

    Но вот какая мысль. На 64 Кб не помещается толком ничего. Если даже использовать ПЗУ на 512 Кб (и сделать переключатели на плате для выбора 64К-страницы), то это толком не решит проблему. Решила бы проблему загрузка с SD-карты. Но что бы сохранить суть компьютера, что бы можно было пользоваться ORDOS-ом (это операционка Ориона), надо эмулировать ПЗУ. Оперативной памяти у микроконтроллера всего 1-2 Кб, поэтому для полноценной эмуляции потребуется внешняя память.

    Вот и пришла идея (только пока идея) собрать универсальную плату. Тут вместо ОЗУ и микроконтроллера впаиваются панельки.



    В панельки можно установить:

    1) Стандартную ПЗУ на 64 Кб. Две панельки остаются пустыми. Это стандартный ROM-диск.

    2) 2 стандартные ПЗУ на 32 Кб. Аналогично.

    3) Микроконтроллер + ПЗУ. Это стандартный ROM-диск половинного объема + возможность грузить нестандартным загрузчиком файлы с флешки. Запускать CP/M.

    4) Микроконтроллер + ОЗУ. Загрузка с флешки подготовленных прошивок. Прошивки можно переключать кнопками. Можно запускать CP/M.

    5) Только микроконтроллер. Будет эмулироваться диск на 1 Кб, который будет содержать нестандартный загрузчик, который будет грузить с SD карты файлы. Можно
    запускать CP/M, но бессмысленно ORDOS. ПЗУ он не увидит, следовательно ничего запустить не сможет. Разве что с магнитофона на диск A: грузить.

    Проблема в том, что нестандартный загрузчик и драйвер диска для CP/M надо писать, а плату хочется сделать побыстрее. За пару вечеров Поэтому я сделаю плату по варианту 4.

    А нестандартную загрузку и CP/M прикручу позже. Точнее адаптирую с Апогея.

    Кстати, этот же ROM-диск можно подключить и к NES, если добавить еще 3 микросхемы 74LS245.

    Эти микросхемы 74LS245 нужны, что бы отключить ОЗУ от компьютера, что бы загрузить туда данные.

    Я использовал две микросхемы ОЗУ по 32 Кб, потому что других нет.

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

  3. #2
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чего-то я не догоняю. CP/M по этим вариантам работает в дополнительном микропроцессоре (эмулирующем i8080) или все же в классическом журнальном Орионе, а доп. микропроц. только организует загрузку "rom-дисков" с SD-карты в ОЗУ, имитирующую 64-кшную ПЗУ ROM-диска, и весь этот "гипер-ром-диск" как и раньше висит на ВВ55 порта F500?
    Последний раз редактировалось Error404; 14.12.2012 в 16:20.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  4. #3
    Banned
    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В этом варианте в микроконтроллере находится только драйвер SD-карты.

    CP/M будет запускаться на самом компьютере, и обращаться к ATMega с тремя командами:

    SelectDisk
    ReadSector
    WriteSector

    А уже ATMega будет читать из файла соответствующего выбранному диску.

    ---

    А в базовом варианте, ATMega при включении заполнит ОЗУ данными и с компьютером никак общаться не будет.

  5. #4
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    В этом варианте в микроконтроллере находится только драйвер SD-карты.

    CP/M будет запускаться на самом компьютере, и обращаться к ATMega с тремя командами:

    SelectDisk
    ReadSector
    WriteSector

    А уже ATMega будет читать из файла соответствующего выбранному диску.

    ---

    А в базовом варианте, ATMega при включении заполнит ОЗУ данными и с компьютером никак общаться не будет.
    Т.е. АТМега включается не в РОМ-диск, а внутрь кишок Ориона c резаниной (а иначе как писать в ОЗУ - DMA или простейший BusReq ЦПУ в Орионе штатно не поддерживается)? В этом случае встает вопрос - а зачем все эти сложности, если Орион сам может читать с SD при помощи простейшего контроллера на россыпухе штатно подключенного к разъему расширения? Схемы и исходники драйвера инита/чтения/записи сектора SD-карты тут где-то в орионовской ветке форума размещались (помню, что 2010 году, но точно не скажу). Размещался и монитор F800 c начальной загрузкой с SD, но он для Z80 (может не подойти для классики на i8080)
    Последний раз редактировалось Error404; 14.12.2012 в 17:56.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  6. #5
    Banned
    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нет, нет, нет.

    На внешней плате ОЗУ и МК. МК загружает в ОЗУ данные и отключается. Микроконтроллер тут является программатором. А дальше ОЗУ используется компьютером как обычное ПЗУ.

    Эта плата заменитель ПЗУ.

    Её можно хоть вместо ПЗУ спектрума влепить, хоть как картридж от Денди.

    ---------- Post added at 17:05 ---------- Previous post was at 17:03 ----------

    Все эти тонкости нужны, что бы Орион видел на порту расширения ПЗУ. Что бы все было максимально приближено к оригиналу. Хотя там будет этот контроллер, вместо ПЗУ.

  7. #6
    Member Аватар для kovdry
    Регистрация
    11.10.2010
    Адрес
    Запорожье
    Сообщений
    165
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    vinxru, мысль очень хорошая. Сам много раз об этом думал.

    Тут главное: есть оригинальный аппарат в хорошем состоянии, так зачем же его портить, резаньем дорожек и цеплянием кишок?!
    Хочешь экспериментировать - строй новый.
    А со старым нужно обращаться как с игрушкой.

    Хорошо еще то, что есть много вариантов использования. Кому то достаточно будет обычного ПЗУ. Кто то ОЗУ с батарейкой поставит. А кому то флешку подавай.

    Тут я бы еще обратил внимание на такие моменты:

    1. Какой файл с флешки будет браться? С фиксированым именем, или будет возможность выбора?

    2. Как будет увеличен обьм ПЗУ выше 64кб? Я бы предложил вариант как в Апогее.

    3. Как реализовать запись в ПЗУ со стороны Ориона?

    Рано или поздно эти вопросы перед вами, vinxru, встанут. Мне кажется, что их нужно решить на этапе разработки устройства, чтобы потом не пришлось все переделывать с нуля?

    Как вам кажется?

    С удовольствием буду следить за разработкой и отладкой девайса. А если он получится то повторю для своего старенького Ориона.
    Последний раз редактировалось kovdry; 17.12.2012 в 19:00.

  8. #7
    Banned
    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от kovdry Посмотреть сообщение
    1. Какой файл с флешки будет браться? С фиксированым именем, или будет возможность выбора?
    Можно выбирать аппаратными кнопками.

    Цитата Сообщение от kovdry Посмотреть сообщение
    2. Как будет увеличен обьм ПЗУ выше 64кб? Я бы предложил вариант как в Апогее.
    Никак. Можно иметь кучу 64 Кб дисков и кнопками их переключать. Или программно, через специальную программу.

    Цитата Сообщение от kovdry Посмотреть сообщение
    3. Как реализовать запись в ПЗУ со стороны Ориона?
    Никак. Запись на диск D: запрещена.

    Но никто не мешает (мне) написать программу сохранения диска C: на флешку. А потом можно с ним работать, как с диском D:

    P.S. Помимо всего прочего, CP/M так же будет работать с образами дисков. Но там образы будет бОльшего размера.

  9. #8
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Шина данных, как я понимаю, идёт напрямую на ВВ55? Если Орион-128 случайно запрограммирует соответствующий порт на вывод, будет конфликт на шине данных.

  10. #9
    Veteran Аватар для AHTuXPuCT
    Регистрация
    02.06.2009
    Адрес
    Искитим
    Сообщений
    1,275
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    по идее на шину данных тоже буфер надо ставить

  11. #10
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обнаружить это можно контролируя один из битов шины следующим образом: один из пинов атмеги повесить через резистор на контролируемый бит, настроить его на вывод и подать последовательность бит, а пином, который напрямую соединен - контролировать. Если бит не "рулится", значит им "рулит" ВВ55.

    ---------- Post added at 12:05 ---------- Previous post was at 12:04 ----------

    Даже если повесить буфер, конфликт всё равно возможен - с буфером.

Страница 1 из 3 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Игры для Ориона 128
    от Dota в разделе Орион
    Ответов: 9
    Последнее: 13.06.2020, 06:03
  2. Плата загрузчика
    от AlecV в разделе ДВК, УКНЦ
    Ответов: 3
    Последнее: 23.06.2011, 00:47
  3. Ищу помощи в установке загрузчика-с-кассет Alkatraz
    от aeon в разделе Программирование
    Ответов: 2
    Последнее: 19.04.2011, 01:46
  4. cp/m для Ориона-128
    от sergey2b в разделе Орион
    Ответов: 7
    Последнее: 11.02.2011, 17:52
  5. Просмотр загрузчика в TR-DOS
    от Zloy в разделе Для начинающих
    Ответов: 4
    Последнее: 29.09.2008, 20:09

Ваши права

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