-
02.07.2019, 21:52 #1
- Регистрация
- 08.06.2005
- Адрес
- Ставрополь
- Возраст
- 56
- Сообщений
- 313
- Поблагодарили
- 57
- Поблагодарил
- 20
Аюша-Z80 - CP/M-совместимый компьютер
...вот, наваял для себя (поначалу) одноплатник под СР/М 2.2. Краткие характеристики:
- всего 21 микросхема (что меньше чем у РК-86, Специалиста и проч.);
- процессор Z80 (Т34ВМ1, КР1858ВМ1). Схемное решение позволяет использовать различные модификации процессора с различной тактовой частотой, доступны 2,457 МГц (Z80, Z80A) и 4.9152 МГц (Z80B);
- 64К ОЗУ. В режиме СР/М для ОС доступен весь объем памяти;
- 4х16К ПЗУ. Используются только 32К. В режиме СР/М ПЗУ отключается;
- возможность подключения стандартной USB-AT-PS/2 - клавиатуры или расширенной ASCII-клавиатуры (на выбор пользователя);
- последовательный порт, одна скорость 9600 бит/сек (на базе КР580ВВ51);
- три параллельных двунаправленных восьмибитных порта (на базе 82С55/КР580ВВ55);
- вывод на телевизионный дисплей, обеспечиваются режимы 80х25, 40х25, 80х12, 40х12, графика 100х160 поточечно или спрайтово, совместно с любым текстовым режимом, а также микс из текстовых режимов и графики (построчно). Альтернативная кодовая таблица (СР866). Дисплейный узел не занимает адресов в ОЗУ, являясь устройством вывода, совместим по командам управления с терминалом VT52;
- внутренняя дисковая память на базе Compact Flash объёмом 128 Мб (16 логических дисков на носителе), либо SD/MMC-карта через переходник или IDE жёсткий диск.
Описание тут, http://rw6hrm.qrz.ru/z80.htm
Сразу предвижу вопрос типа "нафига, если есть /далее озвучивается список железа/". Отвечаю - а вот не было такого . Точнее, есть аналогичные древности типа Роботрона 1715, на которые дышать страшно ибо разваливаются, да и цена на них может шкалить. Софта достаточно, в т.ч. и радиолюбительского. Есть некоторая несовместимость с отечественным софтом, но, поскольку его не очень много, то можно пренебречь (ну или подкорректировать софт при необходимости). С TNC-контроллером типа Орбиты-9111, кстати, нормально работает...
Так что если кому-то внезапно захочется вспомнить или попробовать СР/М - добро пожаловать. Аргументированные дополнения и замечания принимаются.
И пара картинок для привлечения вниманияПоследний раз редактировалось RW6HRM; 02.07.2019 в 23:05.
-
02.07.2019, 22:30 #2
- Регистрация
- 17.02.2012
- Сообщений
- 430
- Поблагодарили
- 66
- Поблагодарил
- 37
RAM 64кБ - это та узкая, длинная UM61512A между ВВ51 и ПЗУ Winbond?
-
02.07.2019, 22:32 #3
- Регистрация
- 08.06.2005
- Адрес
- Ставрополь
- Возраст
- 56
- Сообщений
- 313
- Поблагодарили
- 57
- Поблагодарил
- 20
Именно. В последней версии платы можно поставить и узкий, и широкий чип (на фото - первая версия платы).
-
02.07.2019, 23:35 #4
- Регистрация
- 02.04.2010
- Адрес
- Ярославль
- Возраст
- 54
- Сообщений
- 7,180
- Поблагодарили
- 7421
- Поблагодарил
- 2692
-
02.07.2019, 23:53 #5
- Регистрация
- 18.01.2003
- Адрес
- Кишинёв
- Возраст
- 53
- Сообщений
- 4,618
- Поблагодарили
- 1949
- Поблагодарил
- 8408
-
03.07.2019, 06:16 #6
-
03.07.2019, 09:28 #7
-
03.07.2019, 11:03 #8
- Регистрация
- 14.02.2005
- Адрес
- Санкт-Петербург
- Возраст
- 60
- Сообщений
- 484
- Поблагодарили
- 43
- Поблагодарил
- 11
Может пригодится…
MSX-DOS ver. 2.2 Copyright 1984 by Microsoft
Архив, в котором среди прочего исходники дизассемблированной MSX-DOS от Yamaha MSX-2 - нечто от Микрософт, словместимое по вызовам с CP/M 2.0 но поддерживающее файловую систему без подкаталогов FAT (FAT12).
Умеет работать из "теневой" памяти - т.е. не отбирая от 64 к пространства, оставляя видимым небольшой кусок.
Вопросы отвечу (что вспомню) - закончил этим заниматься в 1992 году.Последний раз редактировалось UA1ARN; 03.07.2019 в 11:14.
... Я там сам глубину промерял! :: Геннадий Завидовский (Санкт-Петербург)
-
15.08.2019, 21:42 #9
- Регистрация
- 10.10.2003
- Адрес
- Калуга
- Возраст
- 50
- Сообщений
- 441
- Поблагодарили
- 12
- Поблагодарил
- 7
Помнится мне, что компьютеры на Z80 и КР580ВМ80А делались без контроллера прерываний, хотя система прерываний RST0 - RST7 у самого процессора имеется.
Обработка клавиатуры и ввода-вывода на магнитную ленту такая же, как у "Синклер - ZX Spectrum"? На прерываниях?
Для "Синклеров" применялась дисковая операционная система TR-DOS, у меня есть прошивки 2 микросхемы по 8 192 байт и ещё какая-то TR-DOS 5.03 на 65536 байт. И это при ОЗУ 64 килобайт. Если ПЗУ "Синклера" без ДОС занимает 16 килобайт и ещё ДОС занимает 16 килобайт, то ещё остаётся 32 килобайта для программ и данных пользователя. Но при занятых всех 64 килобайт программой ПЗУ остаётся предположить, что это какое-то подобие теневого ОЗУ поверх ПЗУ, то есть ПЗУ и ОЗУ соединены как-бы "параллельно", чтобы была возможность менять значения операндов. Хотя это как бы моё предположение, я что-то таких схем в конкретике не припомню.
А Вы код CP/M для Вашего компьютера сами просматривали? Модифицировали?RA3XCQ ( Larry158 )
-
15.08.2019, 23:29 #10
- Регистрация
- 08.06.2005
- Адрес
- Ставрополь
- Возраст
- 56
- Сообщений
- 313
- Поблагодарили
- 57
- Поблагодарил
- 20
1. Выводом на магнитную ленту тут и не пахнет, исключительно дисковые операции (пусть и на флешку). Клавиатура и СОМ-порт - на прерываниях от устройства (а не по таймеру, как в Спектруме), без контроллера. Оно, конечно, несколько упрощает схему, но решение не универсальное. Кое-кому понадобились дополнительные векторы прерываний, но взять их в этой схеме сходу неоткуда (хотя и есть вариант). Поскольку применен режим прерываний IM2, то 254 вектора есть в запасе.
2. ПЗУ после загрузки оси отключается и работа ведётся только в оперативной памяти, часть которой занимает ось (около 12КБайт).
3. Код оси разумеется модифицировал в части биос, ну и сдвинул стартовый адрес командного процессора немного.
-
16.08.2019, 15:54 #11
- Регистрация
- 21.07.2004
- Возраст
- 66
- Сообщений
- 1,136
- Поблагодарили
- 109
- Поблагодарил
- 99
-
16.08.2019, 19:39 #12
- Регистрация
- 08.06.2005
- Адрес
- Ставрополь
- Возраст
- 56
- Сообщений
- 313
- Поблагодарили
- 57
- Поблагодарил
- 20
Было бы интересно услышать Вашу аргументацию, поскольку имхо RT-11 в настоящее время не особо практична, в отличие от СР/М с тоннами рабочего софта (в т.ч. и по радиолюбительской тематике).
..а так БКшки и МСки пока живые, можно собрать реплику с дисковыми функциями, но неинтересно как-то...
-
16.08.2019, 22:49 #13
- Регистрация
- 28.01.2007
- Адрес
- Тюмень, Россия
- Возраст
- 60
- Сообщений
- 1,600
- Поблагодарили
- 1769
- Поблагодарил
- 2429
Пасаны- спасибо за напоминание изголений в подполье над зарождающейся советской микроники в молодости.
Владимир Since 1980 , KD8TFX ex: RA9LR,UA9LAU, ex chief UK9LAE 1989-1998. Now chief RT9L- ALL expedition RFF 9L and RP68LS-RP69LS/RP70P-RP76P/RR110RAEM/R22BIA/R120LY/ RI1F,XV9LR,7Q7RU,A25RU,C92RU,C91RDX,3DA0RU,7P8RU,8Q7LR,S79LR, 9M2/RA9LR,RT9K/0, Z21RU,TY0RU,5V7RU, CO0RRC, 4W6RU - МС России.
-
17.08.2019, 14:45 #14
- Регистрация
- 10.10.2003
- Адрес
- Калуга
- Возраст
- 50
- Сообщений
- 441
- Поблагодарили
- 12
- Поблагодарил
- 7
IM0 без внешнего контроллера прерываний ( 8259, 580ВН59 )? Прошу прощения, визуально по фотографии платы Вашего компьютера не очень ориентируюсь. Он применяется для команд процессора RST1 - RST 7 и CALL http://igorkov.org/pdf/Z80-Central-Processor-Unit.pdf глава 6.3.4 стр. 51 .
Я как-то не очень практиковал такое программирование в подробностях, но тупее угол - больше граней.
Для выполнения прерываний RST1...RST7 микропроцессор по программе, работающей, соответственно, от подаваемых на микропроцессор импульсов тактового генератора таймера, встретив в своем коде какую-то из команд RST1...RST7, начинает ожидать подачи сигнала на вход процессора INT и после его появления переходит на адрес соответствующего вектора прерывания, то есть устанавливает PC (program counter) на этот адрес подпрограммы.
Для того, чтобы определить, какое устройство подаст сигнал INT, в программе может осуществляться проверка, от какого из устройств следует ожидать сигнала INT. От этого зависит, какая команда из RST1...RST7 будет выполняться следующей. Это может быть понятно из логики работы программы по операндам команд перехода по условию, например, JRC, JRNC, JRZ, JRNZ.
С внешним конроллером прерываний могло бы быть проще в том смысле, что он определяет, по какой линии поступил запрос на прерывание и, тут я как-то сомневаюсь, подает адрес подпрограммы на шину адреса, но что-то такое описано для режима IM 2 в главе 6.3.4 http://igorkov.org/pdf/Z80-Central-Processor-Unit.pdf.
Насчет 255 векторов прерываний у меня только слабая ассоциация в пространством портов ввода-вывода микропроцессора 580ВМ80А, команды IN p и OUT p с 8-ми битными операндами.RA3XCQ ( Larry158 )
-
17.08.2019, 17:07 #15
- Регистрация
- 10.10.2003
- Адрес
- Калуга
- Возраст
- 50
- Сообщений
- 441
- Поблагодарили
- 12
- Поблагодарил
- 7
Я мог отредактировать своё предыдущее сообщение, но сейчас не стану. Прошу прощения, иногда получается невпопад... Я, когда писал о режиме IM 0 думал, что он применён в Вашем компьютере. Однако, у Вас указано, что в Вашем компьютере применён режим IM2.
RA3XCQ ( Larry158 )
|
Социальные закладки