Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 16 по 30 из 57
Like Tree16Спасибо

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

  1. #16
    Проходящий мимо Аватар для RW6HRM
    Регистрация
    08.06.2005
    Адрес
    Ставрополь
    Возраст
    56
    Сообщений
    309
    Поблагодарили
    57
    Поблагодарил
    16
    Да ничего страшного , первый вариант работал как раз по IM1, но, поскольку в этом режиме прерывание одно, по адресу 38Н, то оно конфликтует с частью системных программ (DDT к примеру), поэтому немного покумекав, перешел в режим IM2 с формированием вектора тупо двумя диодами Такая фишка прокатывает только с Z80, с 580-м ну никак.., да и софта для последнего гораздо меньше...
    Тут можно запросто прилепить контроллер прерываний КР1818ВН19 (аналог AM9519), но это уже будет схема посложнее и для случая, если прерываний планируется более чем три...

  2. #17
    Standart Power
    Регистрация
    10.10.2003
    Адрес
    Калуга
    Возраст
    49
    Сообщений
    440
    Поблагодарили
    12
    Поблагодарил
    7
    Ясненько...
    Я как-то код к микрокомпьютеру "ЮТ-88" из приложения к журналу "Юный техник" "ЮТ для умелых рук" вручную дизассемблировал.

    А, может, глянете веточку https://forum.qrz.ru/12-kompyutery-i...e-evm-x64.html , там код тетриса Яковлева во вложении?
    Не вполне понятна последовательность команд:

    seg000:0151 db 0B0h ; - mov al, 0Ch
    seg000:0152 db 0Ch ;
    seg000:0153 db 8Ah ; К mov ah, bh
    seg000:0154 db 0E7h ; ч
    seg000:0155 db 0EFh ; я mov al, 0Dh
    seg000:0156 db 0B0h ; -
    seg000:0157 db 0Dh ;
    seg000:0158 db 8Ah ; К mov ah, bl
    seg000:0159 db 0E3h ; у
    Для чего такое обновление аккумулятора?

    А также, что за адреса 1A40h и 1EA0h в командах
    seg000:09B7 db 0BFh ; ¬ mov di, 1A40h
    seg000:09B8 db 40h ; @
    seg000:09B9 db 1Ah ;
    и
    seg000:09CA db 0BFh ; ¬ mov di, 1EA0h
    seg000:09CB db 0A0h ; а
    seg000:09CC db 1Eh ;

    В процедуре рисования боковых стенок "стакана" addr 252h loc_10212 более-менее понятны команды
    seg000:02B1 db 2Eh ; . loc_10271: mov al, cs:byte_10302
    seg000:02B2 db 0A0h ; а
    seg000:02B3 db 2 ;
    seg000:02B4 db 3 ;
    seg000:02B5 db 0ABh ; л stosw
    seg000:02B6 db 2Eh ; . mov al, cs:byte_10303
    seg000:02B7 db 0A0h ; а
    seg000:02B8 db 3 ;
    seg000:02B9 db 3 ;
    seg000:02BA db 0ABh ; л stosw
    Для чего последовательные умножения на два сдвигом влево с последующими сравнениями результатов, я так и не постиг.
    Значения DBh, D2h, F5h для cs:byte_10302 и cs:byte_10303 какие-то странноватые.

  3. #18
    Проходящий мимо Аватар для RW6HRM
    Регистрация
    08.06.2005
    Адрес
    Ставрополь
    Возраст
    56
    Сообщений
    309
    Поблагодарили
    57
    Поблагодарил
    16
    Если это код х86 (а это следует из строчки "MS-DOS COM-format"), то это не ко мне.

  4. #19
    Very High Power
    Регистрация
    21.07.2004
    Возраст
    66
    Сообщений
    1,087
    Поблагодарили
    105
    Поблагодарил
    96
    Цитата Сообщение от RW6HRM Посмотреть сообщение
    СР/М с тоннами рабочего софта (в т.ч. и по радиолюбительской тематике).
    Расскажите о СР/М - какие архитектуры поддерживает, какие минимальные требования к железу, как "на пальцах" устроена, есть ли исходники, что в "тоннах софта" и где его найти (прямые ссылки).

  5. #20
    Проходящий мимо Аватар для RW6HRM
    Регистрация
    08.06.2005
    Адрес
    Ставрополь
    Возраст
    56
    Сообщений
    309
    Поблагодарили
    57
    Поблагодарил
    16
    >какие архитектуры поддерживает
    хм... а для начала погуглить не?
    https://ru.wikipedia.org/wiki/CP/M
    >есть ли исходники
    Есть.
    >что в "тоннах софта" и где его найти (прямые ссылки)
    А внимательно изучить ссылку в первом посте?
    http://rw6hrm.qrz.ru/z80_pzu.htm
    Без обид, если что.

  6. #21
    Very High Power
    Регистрация
    21.07.2004
    Возраст
    66
    Сообщений
    1,087
    Поблагодарили
    105
    Поблагодарил
    96
    Вопросы:
    1)у Z80 больше команд, чем у i8080, будет ли работать CP/M для Intel на Z ?
    2)у 80С85 то же много команд, которых нет в 8080, эти дополнительные команды те же, что и в Z80 или другие ?
    3)1821ВМ85 - CMOS у него какая система команд (на самом деле фактическая) ?
    4)приходилось ли иметь дело с i8256 ?
    5)что пришлось "доделывать" для Вашей конструкции в CP/M ?
    6)дайте прямую ссылку на цену платы для самостоятельной сборки.

  7. #22
    Проходящий мимо Аватар для RW6HRM
    Регистрация
    08.06.2005
    Адрес
    Ставрополь
    Возраст
    56
    Сообщений
    309
    Поблагодарили
    57
    Поблагодарил
    16
    1. Всё, что написано для 8080, будет работать на Z80. Но не наоборот.
    2. 8085 имеет всего три дополнительные команды в отличие от 8080, соотв. п.1 действует.
    3. Читать мануал , совместим с 8080.
    4. Нет, не приходилось.
    5. Дописал биос в привязке к железу и изменил стартовый адрес из-за несколько раздувшегося биоса.
    6. ...опять не читали ссылку из первого поста..., в части http://rw6hrm.qrz.ru/z80forums.htm есть ссылка на Барахолку, https://zx-pk.com/forum/viewtopic.php?f=7&t=13127 Цена плавающая, зависит от курса доляра и желания производителя. Последняя получалась 450 рублей, думал набрать заказов на третью партию - чтот желающих маловато, всего двое. Пока не заказывал больше.

  8. #23
    Very High Power
    Регистрация
    21.07.2004
    Возраст
    66
    Сообщений
    1,087
    Поблагодарили
    105
    Поблагодарил
    96
    Цитата Сообщение от RW6HRM Посмотреть сообщение
    Без обид, если что.
    В Викикипедии статью, наверное, писали не Вы про CP/M и сказали бы содержательней, чем там.

    Цитата Сообщение от RW6HRM Посмотреть сообщение
    опять не читали
    я и не интересовался CP/M, потому и задавал вопросы Вам как, наверное, специалисту.

    Цитата Сообщение от RW6HRM Посмотреть сообщение
    2. 8085 имеет всего три дополнительные команды в отличие от 8080, соотв. п.1 действует.
    3. Читать мануал , совместим с 8080.
    4. Нет, не приходилось.
    Советую поинтересоваться и 80С85 и 1821 и 8256.

  9. #24
    Проходящий мимо Аватар для RW6HRM
    Регистрация
    08.06.2005
    Адрес
    Ставрополь
    Возраст
    56
    Сообщений
    309
    Поблагодарили
    57
    Поблагодарил
    16
    Да вряд ли я что-либо ещё добавил... Ссылки на книжки есть, хоть и на английском, но там сказано больше, чем могу. Я больше ручками...
    Касательно последователей 8080 - интерес к ним потерян давно из-за ненужности этих процессоров ни производителям, ни программистам. Это касается и всей интеловской линейки, приходится применять её только по бедности, поскольку параметры чипов уж очень посредственны. Тот же ВВ51 с удовольствием бы заменил на 6850, как более скоростной. Ну это моё личное ИМХО, не более...

  10. #25
    Standart Power
    Регистрация
    10.10.2003
    Адрес
    Калуга
    Возраст
    49
    Сообщений
    440
    Поблагодарили
    12
    Поблагодарил
    7
    Цитата Сообщение от RW6HRM Посмотреть сообщение
    Если это код х86 (а это следует из строчки "MS-DOS COM-format"), то это не ко мне.
    Код-то "Тетриса" Яковлева x86, но он какой-то почти 8-ми битный. Здесь ещё регистры "по-половинкам" обрабатываются, старшие и младшие разряды отдельно.
    В ответе #8 было о MSX-DOS 2.2, по буквам близкое к MS DOS, так что я решил, что и об x86 тоже будет уместно.

    Глянул я ближайшую ко мне книжку "Справочное пособие по микропроцессорам и микроЭВМ." В. Л. Горбунов, Д. И. Панфилов, Д. Л. Преснухин под ред Л. Н. Преснухина, Москва, "Высшая школа", 1988, там на странице 194 есть немного о контроллере прерываний КР580ВН59 и на странице 204 - о К1810ВН59А. В эти контроллеры можно записывать и из них читать по шине данных для КР580ВН59 и по мультиплексированной шине адреса и данных - для К1810ВН59А. Причем обращаться к ним предлагается как к портам по сигналам IORC и IOWC, а не как к ячейкам памяти, в которых хранятся адреса векторов прерываний. То есть не вполне понятно, как микропроцессор должен работать в паре с этими контроллерами прерываний. Чтобы обеспечить 255 прерываний ( без нулевого, либо 256 с нулевым ), то эти контроллеры прерываний должны пересылать в микропроцессор номер прерывания по шине данных.
    Если после загрузки компьютера отключать ПЗУ электрически, например через буферные регистры по состоянию какого-нибудь порта, то далее можно записать новые адреса векторов прерываний непосредственно в ОЗУ по адресам RST1 - 0008h, RST2 - 0010h, RST3 - 0018h, RST4 - 0020h, RST5 - 0028h, RST6 - 0030h.
    Для совместимости-то надо и экранную область соблюдать. В "Синклер" - образных компьютерах она размещена в ОЗУ и вывод на монитор, в качестве которого может быть телевизор, осуществляется методом прямого доступа к памяти.
    Последний раз редактировалось RA3XCQ; 20.08.2019 в 20:27. Причина: уточнение, исправление ошибок
    RA3XCQ ( Larry158 )

  11. #26
    Standart Power
    Регистрация
    10.10.2003
    Адрес
    Калуга
    Возраст
    49
    Сообщений
    440
    Поблагодарили
    12
    Поблагодарил
    7
    Хотелось бы уточнить об экранной области.
    Сразу оговорюсь, что я в своё время собрал вполне работоспособные, но не без странностей, микроЭВМ "Орион-128" и "Синклер-Пентагон-48 ZX Spectrum". Собрал их по рабоче-крестьянскому принципу, гласящему, что "правильно и без ошибок собранное цифровое устройство начинает работать сразу". В общем-то, так и получилось. Однако, "Орион-128" работал около 20 минут, а потом "зависал", а У "Пентагона" не удалось запустить контроллер дисковода с TR-DOS 5.03.
    Телевизионное изображение имеет разрешающую способность где-то 300x400 пикселей. В минимальном варианте на экран можно выводить 255x255 пикселей, всего их получается 65025. Я нулевые адреса как-то побаиваюсь, вдруг их вообще не существует :-) . То есть для шестнадцатицветного режима, используя по половине байта, то есть по 4 бита для одного пикселя, таким образом экранная область займет около 32 килобайт ОЗУ. В сопроводительных статьях указываются значительно меньшие объемы ОЗУ, отведённые для экранной области. То есть может указываться даже область знакомест, например, 40X25 , всего 1000 знаков, либо 80x25, всего 2000 знаков. Но чудес на свете не бывает, наверное как-то так и есть? Используется иногда по 3 бита на пиксель, для монохромного режима получится 1 бит на точку.
    В этих микроЭВМ применялись цепочки счётчиков (КР555ИЕ5), обеспечивающих регенерацию динамического ОЗУ, вывод на экран и общую синхронизацию. Причем у этих счетчиков тактовый генератор работал на высокой частоте, в "Спектруме" - 16 МГц, в "Орионе" - 10 МГц, а микропроцессор работал на более низких частотах, получаемых делением основной тактовой частоты. То есть весь экран микропроцессор за один кадр обновить не успевает. Хотя многие игры были вполне динамичны.
    У Вас применён видеоконтроллер на микроконтроллере Atmega 328P http://rw6hrm.qrz.ru/8bitdisp.htm , что схематично выглядит попроще.
    Для применения дисплеев с более высокой разрешающей способностью, 600x800 пикселей и выше, очевидно, необходимо дальнейшее увеличение объёма ОЗУ экранной области и, далее, применения отдельного видеоОЗУ.
    Последний раз редактировалось RA3XCQ; 22.08.2019 в 21:15. Причина: Уточнения, исправление ошибок.
    RA3XCQ ( Larry158 )

  12. #27
    Проходящий мимо Аватар для RW6HRM
    Регистрация
    08.06.2005
    Адрес
    Ставрополь
    Возраст
    56
    Сообщений
    309
    Поблагодарили
    57
    Поблагодарил
    16
    Касаемо адресов векторов прерываний, то в нулевой странице их не особо поразмещаешь, поскольку тут расположена служебная область оси.
    По Экранной области - в "нормальной " СР/М её как бы не существует, поскольку она рассчитана на работу с терминальным доступом. По этой же схеме сделан видеовывод и у меня - не занимая ячеек ОЗУ. Экран вроде бы и можно расположить в оперативке, но это автоматически уменьшает область рабочих программ, усложняет схему и заставляет комбинировать тактовую процессора, видео и памяти (если применяется динамика, что сейчас уже как-то по-нищебродски). Поэтому имхо любой видеовывод должен работать в СР/М только и исключительно как терминальный. Всё остальное - кастрирование системы изначально...

  13. #28
    Standart Power
    Регистрация
    10.10.2003
    Адрес
    Калуга
    Возраст
    49
    Сообщений
    440
    Поблагодарили
    12
    Поблагодарил
    7
    Вообще-то в CP/M для микроЭВМ "ЮТ-88", приложение к журналу "Юный техник", "ЮТ для умелых рук" №2, 1990 год, экранная область есть, с адреса E000h по адрес F000h 4 килобайта отведено, хотя у меня при экране 255x255 точек для монохромного режима получается, что 8 килобайт требуется...
    Нажмите на изображение для увеличения. 

Название:	DSC_0017 CP_M UT88.JPG 
Просмотров:	10 
Размер:	569.4 Кб 
ID:	239016
    Так же описаны точки переходов с адресов:
    DA00h JMP BOOT
    DA03h JMP WBOOT
    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 - ввод с магнитофона)
    DA18h JMP HOME
    DA1Bh JMP SELDSK
    DA1Eh JMP SETTRC
    DA21h JMP SETSEC
    DA24h JMP SETDMA
    DA27h JMP READ
    DA2Ah JMP WRITE
    DA2Dh JMP LISTST
    DA30h JMP SECTRAN

    Хотя, конечно, уже пропущен разряд адреса в команде JMP LIST.

    Для обеспечения совместимости должны использоваться эти точки входа, наверное?

    Также в компьютере "ЮТ-88" сначала даны адреса для загрузки с 0h по 100h и с 3100h по 4CFFh, и, видимо, только после загрузки операционная система должна разместиться в соответствии с приведенными адресами для CP/M, с адреса С400h. Этот вариант CP/M занимает 7168 байт.

  14. #29
    High Power Аватар для RX3AKF
    Регистрация
    18.03.2013
    Адрес
    Москва (TM)
    Возраст
    57
    Сообщений
    835
    Поблагодарили
    192
    Поблагодарил
    58
    В те старые времена, когда использовался Спектрум и им подобные для вывода графики в ограниченном объеме ОЗУ использовался либо спрайтовый режим (таблица с изменяемыми графическими символами), либо полноценная графика, но низкого разрешения.
    Так что даже в компьютерах IBM PC XT с 640 КБайт ОЗУ вполне нормальным был режим CGA c 16 КБайт видеопамяти (итого 640 на 200 точек), а у игровых (того же Синклера) не более 320 на 200, т.е. 8 КБайт видеопамяти.
    По 4 бита на пиксел максимум на IBM PC, а уж на Синклере, чтобы влезть в 8 Кбайт вообще хитрая спрайтовая система с разрешенем 256×192.

  15. #30
    Standart Power
    Регистрация
    10.10.2003
    Адрес
    Калуга
    Возраст
    49
    Сообщений
    440
    Поблагодарили
    12
    Поблагодарил
    7
    По поводу терминального вывода.
    Это подобно выводу символа с атрибутами для IBM PC?
    В разделе 3 "Справочника программиста на персональном компьютере фирмы IBM." Роберта Журдена сказано, что
    "...основной операцией, на которой основан вывод, является
    помещение кода ASCII выводимого символа в указанную позицию ви-
    деобуфера; при этом может также записываться и байт атрибутов в
    следующий адрес памяти."
    Как раз экранной области в 4000 байт хватит для 25 строк с 80-ю символами в каждой по 2 байта на символ. Или без атрибутов 2 страницы по 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 существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×