Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 31 по 45 из 57

Тема: Аюша-Z80 - CP/M-совместимый компьютер

  1. #31
    Проходящий мимо Аватар для RW6HRM
    Регистрация
    08.06.2005
    Адрес
    Ставрополь
    Возраст
    56
    Сообщений
    309
    Поблагодарили
    57
    Поблагодарил
    16
    Цитата Сообщение от RA3XCQ Посмотреть сообщение
    Это подобно выводу символа с атрибутами для IBM PC?
    Именно.
    Цитата Сообщение от RA3XCQ Посмотреть сообщение
    Как раз экранной области в 4000 байт хватит для 25 строк с 80-ю символами в каждой по 2 байта на символ. Или без атрибутов 2 страницы по 2000 байт кодов символов получается.
    Это понятно, но именно поэтому вся видеопамять вынесена в Мегу и недоступна основному процессору. Пусть комп занимается своими задачами, тупо метнув байт в видеоадаптер, а Мега - своими, а именно видеовыводом: формированием сигнала, куда помещать принятый байт и подобное. Атрибуты - пока ещё лишнее, они не особо нужны в реальной жизни (хотя часть из них реализована, в т.ч. "спрайтовый" вывод)

  2. #32
    Standart Power
    Регистрация
    10.10.2003
    Адрес
    Калуга
    Возраст
    49
    Сообщений
    440
    Поблагодарили
    12
    Поблагодарил
    7
    Цитата Сообщение от RA3XCQ Посмотреть сообщение
    DA06h JMP CONST (F 812 - активность клавиатуры)
    DA09h JMP CONIN (F 809 - приём с клавиатуры в А)
    DA0Ch JMP CONOUT (F 809 - вывод на дисплей)
    DA0 h JMP LIST (F 809 - вывод на дисплей)
    DA12h JMP PUNCH (F 80C - вывод на магнитофон)
    DA15h JMP READER (F 806 - ввод с магнитофона)
    А сейчас отредактировать не могу.

    Во второй строчке не F 809, а F 803 . Это шестнадцатиричные числа, адреса совпадают с адресами соответствующих подпрограмм "Мониторов" микроЭВМ "Орион-128", "ЮТ-88", возможно "Радио-86РК". Правильно должно быть так:
    DA06h JMP CONST (F 812 - активность клавиатуры)
    DA09h JMP CONIN (F 803 - приём с клавиатуры в А)
    DA0Ch JMP CONOUT (F 809 - вывод на дисплей)
    DA0 h JMP LIST (F 809 - вывод на дисплей)
    DA12h JMP PUNCH (F 80C - вывод на магнитофон)
    DA15h JMP READER (F 806 - ввод с магнитофона)

  3. #33
    Very High Power
    Регистрация
    21.07.2004
    Возраст
    66
    Сообщений
    1,087
    Поблагодарили
    105
    Поблагодарил
    95
    Цитата Сообщение от RW6HRM Посмотреть сообщение
    Дописал биос в привязке к железу
    Выложите, пожалуйста, исходные тексты биос до и после Вашей правки.

  4. #34
    Проходящий мимо Аватар для RW6HRM
    Регистрация
    08.06.2005
    Адрес
    Ставрополь
    Возраст
    56
    Сообщений
    309
    Поблагодарили
    57
    Поблагодарил
    16
    ...эм.. так они выложены, причем давно. Если лень лопатить страничку заново, то:
    - https://vk.com/doc117527293_437544986 - описание системы. Даны исходники как_есть, без привязки к железу.
    - http://searle.hostei.com/grant/cpm/z80sbcFiles.zip - исходники, которые переделывались мною.
    - http://rw6hrm.qrz.ru/zips/hexFiles.zip - исходники, переделанные под моё железо (конкретно ввод-вывод, плюс перекодировщик управляющих последовательностей).

    По поводу ЮТа - рекомендую ознакомиться с разделом https://zx-pk.ru/forums/86-yut-88.html
    Касаемо работы СР/М на ЮТе, то эту мифическую сборку мало кто повторял в связи с несовершенством конструкции.

  5. #35
    Standart Power
    Регистрация
    10.10.2003
    Адрес
    Калуга
    Возраст
    49
    Сообщений
    440
    Поблагодарили
    12
    Поблагодарил
    7
    Да я как-то о совместимости таким образом обеспокоился. В руководстве по программированию https://vk.com/doc117527293_513145790 в Appendix D описан, видимо, универсальный вызов подпрограммы операционной системы CP/M по адресу 0005h , CALL 0005h. У Журдена ( по файлам в компьютере, он же Джордейн по книге на бумаге ) для MS-DOS часто приводится в примерах процедура обработки прерывания INT 21.
    Также подпрограмма по адресу 0005h вкратце упомянута в описании "ЮТ-88".
    PS. И Вы почему-то выложили файлы руководства по CP/M не у себя на сайте RW6HRM homepage , а на сайте социальной сети "В контакте" https://vk.com/ . Уровень представления , приложения OSI вспоминается. Оболочки программ дело серьёзное, психологическое. Серьёзные дела и с глупым выражением лица могут делаться... :-)

  6. #36
    Проходящий мимо Аватар для RW6HRM
    Регистрация
    08.06.2005
    Адрес
    Ставрополь
    Возраст
    56
    Сообщений
    309
    Поблагодарили
    57
    Поблагодарил
    16
    У меня большая часть информации лежит на ВК, который использую как файлохранилище (фоточек в том числе) уже лет семь, поскольку место на хостингах всегда лимитируется, а там /пока ещё/ нет (про доступ из некоторых стран умолчу)...
    Что касается подпрограмм в первой странице памяти (до 100h), то они загружаются туда во время запуска системы и могут изменяться во время работы. В частности, если система работает с одним прерыванием по 38h, то при загрузке отладчика DDT он перетирает содержимое адреса вызова подпрограммы на своё, вследствие чего прерывания системы перестают обрабатываться.

  7. #37
    Standart Power
    Регистрация
    10.10.2003
    Адрес
    Калуга
    Возраст
    49
    Сообщений
    440
    Поблагодарили
    12
    Поблагодарил
    7
    И..., что ж..., так сказать...
    NMI c адреса 66h должет обработаться...
    Как это с одним? RESET, INT и NMI.

    ( У нас в универе преподаватель вычислительной техники при таких высказываниях в окно на улицу чего-то поглядывал. )

  8. #38
    Проходящий мимо Аватар для RW6HRM
    Регистрация
    08.06.2005
    Адрес
    Ставрополь
    Возраст
    56
    Сообщений
    309
    Поблагодарили
    57
    Поблагодарил
    16
    NMI это для Z80, но есть же и ВМ80, а с ним всё печально... Это у 6502 три программируемых вектора, по сбросу маскируемому и немаскируемому прерываниям, расположенные по стандартным адресам...

  9. #39
    Very High Power
    Регистрация
    21.07.2004
    Возраст
    66
    Сообщений
    1,087
    Поблагодарили
    105
    Поблагодарил
    95
    на сколько я понял обсуждение - надо было контроллер прерываний ставить ?

  10. #40
    Проходящий мимо Аватар для RW6HRM
    Регистрация
    08.06.2005
    Адрес
    Ставрополь
    Возраст
    56
    Сообщений
    309
    Поблагодарили
    57
    Поблагодарил
    16
    Его возможно поставить (из серии К1818), но по необходимости. Но в этом случае достоинство схемы - простота - потеряется.

  11. #41
    Standart Power
    Регистрация
    10.10.2003
    Адрес
    Калуга
    Возраст
    49
    Сообщений
    440
    Поблагодарили
    12
    Поблагодарил
    7
    Я склоняюсь к тому, чтобы поддерживать как архитектуру, так и машинный код данной системы на Z80 с минимально возможными изменениями. Однако практика показывает, что практически это невозможно. Недавно, годик-другой назад, на одном из форумов было сообщение, что применяется плоская модель памяти, а сегментация, дескать, это - рудимент. А я что-то по вышеприведённой литературе и источникам перемещаемость программ без сегментации как-то не представляю. То есть здесь надо чётко соблюдать адресацию точек входа и состояния регистров микропроцессора.
    У меня есть информация из журнала "Радио", если не ошибаюсь, 1994 года, что между Z80А и КР580ВМ80А есть разница в том, сколько тактов необходимо для выполнения одинаковых команд.

  12. #42
    Standart Power
    Регистрация
    10.10.2003
    Адрес
    Калуга
    Возраст
    49
    Сообщений
    440
    Поблагодарили
    12
    Поблагодарил
    7
    Цитата Сообщение от RA3XCQ Посмотреть сообщение
    слабая ассоциация в пространством портов ввода-вывода
    "Слабая ассоциация в простанстве портов ввода-вывода" будет не правильно, а чтобы было правильно, должно быть: "слабая ассоциация с пространством портов ввода-вывода".

  13. #43
    Very High Power
    Регистрация
    21.07.2004
    Возраст
    66
    Сообщений
    1,087
    Поблагодарили
    105
    Поблагодарил
    95
    Цитата Сообщение от RW6HRM Посмотреть сообщение
    достоинство схемы - простота - потеряется
    из-за разницы в одну микросхему ?
    Цитата Сообщение от RA3XCQ Посмотреть сообщение
    перемещаемость программ без сегментации как-то не представляю
    расскажите по-подробней про сегментацию и перемещаемость пограмм в CP/M_Z-80.

  14. #44
    Standart Power
    Регистрация
    10.10.2003
    Адрес
    Калуга
    Возраст
    49
    Сообщений
    440
    Поблагодарили
    12
    Поблагодарил
    7
    Цитата Сообщение от RA3QDP Посмотреть сообщение
    расскажите по-подробней про сегментацию и перемещаемость пограмм в CP/M_Z-80.
    Сегментация применяется для микропроцессоров фирмы Intel "x86", начиная с таких как 8086, 80286. Таким образом программа может работать без "привязки" к конкретным адресам её размещения в ОЗУ компьютера. Источником информации может послужить книга Р. Джордейна "Справочник программиста персональных компьютеров типа IBM PC, XT и AT". В электронном виде фамилия Джордейн может быть переведена как Журден.
    Для микропроцессоров Z80 в рамках операционной системы CP/M можно обеспечить некоторую совместимость, например, при обращении к функциям операционной системы CP/M, вызывая подпрограмму по адресу 0005h, CALL 0005h. Замечу, что для меня это чистая теория из того, что показалось интересным в вышеприведённых источниках. Мне ближе, всё-таки, семейство процессоров "x86" фирмы Intel и совместимых с ними.

  15. #45
    Standart Power
    Регистрация
    10.10.2003
    Адрес
    Калуга
    Возраст
    49
    Сообщений
    440
    Поблагодарили
    12
    Поблагодарил
    7
    Пользуясь в рамках ОС CP/M-80 с таблицей символов ASCII BDOS функциями подпрограммы CALL 0005, например, для ввода с клавиатуры функциями #01, #0AH, #0Bh, для вывода байта - функцией #02, для вывода строки - функцией #09, можно, наверное, писать не только программы для обработки каких-то структурированных данных, но и для таких игр, как "питон", "пакман", "теннис", тот же "тетрис". Для ДВК, помнится, была такая игра "Бармен", напоминающая "Ну, погоди!", но в ней вместо волка - посетитель бара, изображенный символами, а вместо яиц - стаканы с напитками.
    Однако, в "Тетрисе" Яковлева (пост №17 ) для MS-DOS функции, подобные терминальному выводу, используются только для начальной заставки, адрес в программе seg000:0A16. Само же игровое поле создается посылкой символов в адреса после 4000h, в программе на адресе seg000:0172 mov di, 4000h. При этом для меня это не теория, а вполне работоспособная программа на нескольких компьютерах поздних 90-х и 2000-х годов выпуска.

Похожие темы

  1. Ответов: 7
    Последнее сообщение: 20.11.2014, 15:03
  2. Подключение Alinco DR-130 к компьютеру
    от RA2FEK в разделе DR-130/430
    Ответов: 8
    Последнее сообщение: 13.01.2013, 17:01
  3. Советские компьютеры
    от Mozess1 в разделе Компьютеры и сети
    Ответов: 4
    Последнее сообщение: 19.06.2008, 18:44
  4. Персональному компьютеру стукнуло 25
    от KI6EEO в разделе Тест-зона
    Ответов: 2
    Последнее сообщение: 13.08.2006, 10:11
  5. Фон от компьютера
    от RK3ATI в разделе КВ аппаратура
    Ответов: 3
    Последнее сообщение: 01.01.2004, 18:05

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×
Рейтинг@Mail.ru
eXTReMe Tracker


Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×