-
Первый пошёл.
Немного захандрил, совсем было лень делом заниматься, поэтому начал рисовать схему ЮТ.
Итак, базовое направление по схеме и идеологии:
Сразу скажу, что бы не было вопросов - полное до компонентов соответствие оригиналу меня заботит мало, должна быть полная программная совместимость, что бы по возможности, те 3-4 программы для минимального модуля работали. Поэтому будет по возможности использована современная элементная база, в т.ч. и SMD для снижения потребления и размеров платы.
Делаю с дальним расчетом загнать все что можно в программруемую логику потом... Пока есть желание запустить и поиграться с тем же сопроцессором.
Почему плата содержит монитор-F: Потому, что через UART планируется подключить её к терминалу, и работать в том же мониторе-F, который будет поддерживать как вывод на видеоадаптер, так и к примеру на COM порт.
Желаемые цели: (не факт, что всё удастся сделать, но почему бы не поставить программу максимум)
1. Максимальная совместимость с оригиналом в плане процессорного модуля для начала.
2. Встроенный преобразователь напряжения +5В в +12 и -5 на плате.
3. Встроенный математический сопроцессор, подключенный на порт (А2-А3).
4. Полная дешифрация адресов I/O по встроенной в плату периферии (пока сделано на ПЗУ, потом сделаю на GAL или MAX7000)
5. Сквозная прозрачная запись в ОЗУ по адресам ПЗУ, т.е. можно будет из мониторов скопировать их содержимое в ОЗУ по адресам посадки мониторов, отключить ПЗУ и работать уже с мониторами из ОЗУ.
6. ПЗУ отключаемы через регистр на стандартном порту Е0.
7. ОЗУ 64К, оба монитора 0 и F будут размещены в общем ПЗУ.
8. 580ВИ53 по адресам 50-53. Входы выходы используются для музыки, генерации тактового сигнала для ВВ51, и для чего угодно.
9. 580ВВ55 по адресам F8-FB. Сигналы будут выведены на разъем PLS.
10. 580ВВ55 по адресам F0-F3. Сигналы будут выведены на разъем PLS.
11. AY3-8910 по адресам 70-71. Оба порта так же будут выведены на разъём.
11a.Технически к этим портам можно подключать ROM-Disk и т.п, индикаторы, платы реле, принтер и всё что угодно.
11.б. Системная шина так же будет выведена на разъём.
12. 512ВИ1 или аналог. по адресу А4-А5.
13. 580ВВ51 или 16С550 по адресам D0-D7 - вывод на терминал.
14. Вторая 580ВВ51 или 16С550 по адресам D8-DF - для чего угодно.
15. Индикаторы работают по адресам ОЗУ (9000-9002) до первого обращения процессора в область I/O 90-92. После чего, запись в индикаторы по адресам ОЗУ будет прекращена для того, что бы при работе программ их можно было задействовать.
16. Убрал 176ИЕ5. Секундные импульсы будут сниматься с 512ВИ1.
17. Запуск на этой плате ч/з терминал той же СР/М
Для начала - схема включения процессора, памяти и сопроцессора. Остальное позже. Не готово ещё.
http://img.radiokot.ru/files/31904/t...185zo4kzar.png
Предложения принимаются :)
-
Красивая картинка. В каком редакторе рисуете? Давно ищу что-то годное с библиотеками ГОСТ
Вопросы:
- Планируете ли Z80 (раз уж планируется AY3-8910, которую в таком случае можно было бы подключать на спектрумовские адреса чтобы не переписывать проигрыватели)?
- Вот это вот "9. 580ВВ55 по адресам F8-FB. Сигналы будут выведены на разъем PLS." - это жесткий исторический стандарт для ЮТ-88 (или например фиксится в ROM-BIOS)?
Если бы унести это на незадействованные F4-F7, то зарезервировав F8-FB для управления конфигурацией прерываний и страниц расширенной памяти, то для текстовых режимов (операционок типа CP/M) можно было бы добиться cовместимости с Сябром (Клон Специалиста) и Орионом-128.
- есть ли ПО поддерживающее AM9511? Т.е. чем обусловлен его выбор (не в курсе, может на ЮТ88 он уже использовался, чип то древнючий - старше Z80). Стоит дорого (~500руб. за керамику и ~1000р. за золотокерамику) и мало где продается (ибо раритет), считает долго (лишь в 2-3 раза быстрее чем обсчитать то же самое на голом Z80 сравнимого такта, а учитывая насколько можно погнать Z80 быстрее чем старенький AM9511...).
-
Спасибо.
Схемы в PCAD. Библиотеки ГОСТ для PCAD когда-то проскакивали. Чего мне не хватало - нарисовал сам.
1. Нет. Пока Z80 не планировал. Если скажете спектрумовские адреса - принципиальных проблем нет. Наскольько я знаю, cocos-nonos уже для ЮТ что-то сделал под AY на адрес 70
2. F8-FB используется в мониторе под ROM диск. Опять же, по адресу E0 есть регистр конфигурации (DD8) (включенный точно по аналогии с дисплейным модулем), на котором незадействованы 4 старших бита, их можно использовать под свои нужды. Тем более на плате ровно 64К ОЗУ. Но, если Вы более подробно раскроете мысль по совместимости с Орионом и Специалистом, то можно подумать.
3. Нет конечно, АМ9511 не поддерживается штатным софтом никак. Её просто не было у нас тогда. А так есть XYBasic. Выбор 9511 обусловлен исключительно желанием с ней поковыряться на целевой системе. Сделать программируемый калькулятор, например. :) Всё-таки считает 32-х битную плавающую точку примерно в 10 раз быстрее чем 8080 с той же тактовой частотой. И тригонометрия есть. Ставить её не обязательно.
-
Вложений: 1
Дисплейный модуль.
Был вынесен на отдельную плату. Имеет два разъёма системной шины, что поволяет установить его как вертикально, так и горизонтально. Схема прилагается.
Вложение 62168
Клавиатура, индикация на светодиодах, формирование тактового сигнала на 580ВВ51, формирование импульсов прерываний и интерфейс с ЖКИ индикатором собраны на PIC16C74 - микроконтроллере с доступом по процессорной шине. Процессор компьютера обращается к нему на чтение по адресу А0Н, по записи - по адресам 90Н-97Н. Фиксация адреса обращения при записи и типа обращения (память или IO) выполнена на D2.
При описании работы модуля индикации для упрощения подразумевается что адреса в области памяти 9000Н-9007Р и адреса в области устройств ввода-вывода тождественны, и далее будет дано обращение по адресам устройств ввода-вывода. Выбор модуля производится внешним дешифратором с помощью сигналов ~RD, ~WR. При записи в модуль фиксируются три младших адресных линии - A0...A2.
Обращение на запись по адресам 9000Н-9007Н возможно до тех пор, пока не произойдёт обращение из IO области по портам 90-97. После чего любая запись по адресам 9000Н-9007Н будет запрещена. Обращение на чтение по этим же адресам невозможно аппаратно.
Общяя информация о назначении портов (адресов), шестнадцатиричное
90-92 (9000-9002) - Регистры вывода шестнадцатиоричного числа на индикатор (90-1й и 2й разряд слева). Разделительная точка принудительно выводится в разряде 4 для отделения адресов от данных (можно выключить или перенести в др. место)
93 (9003) - Произвольная информация в виде битовой маски на индикатор или символа на ЖКИ.
94 (9004) - Настройка модуля.
95 (9005) -
Порты 90Н-92Н (9000Н-9002Н), как и в оригинале ЮТ отображают записанную в них информацию в шестнадцатиричном виде.
Порт 90Н так же используется как порт передачи данных в блок индикации (см. далее).
Порт 93Н предназначен для отображения на индикаторе любой информации. Обращение: Адрес 93Н->00000РРР, затем 93Н->НGEFDCBA - состояние сегментов индикатора, 1- сегмент светится.
Если РРР=6 - то символ выводится на ЖКИ. Учитываются коды управления по стандарту РК-86. Перекодировка КОИ7н2->LCD Cyrillic автоматическая.
Если РРР=7 - то параметр записывается в регистр индикации запятой.
Порт 94Н предназначен для настройки параметров модуля индикации. Параметры кодируются так: 94H->000ЯЯЗЗЗ, где "ЯЯ"-Яркость индикатора (0-откл., 3- макс.), "ЗЗЗ"-Положение запятой на индикаторе. 94Н->1ПППУУУУ, где "ППП" - частота прерываний (замена ИЕ5, предварительно 1, 10,50,100Гц), "УУУУ" - частота тактирования порта 580ВВ51 (предварительно диапазон 300-19200 бод). 94Н->0010000К - Тип встроенной клавиатуры (0-клавиатура ЮТ-88, 1- ASCII). 94Н->0020ББББ - установка скорости встроенного передатчика UART (диапазон 300-115200 бод).
Порт 95Н Асинхронный передатчик. Скорость 300...115200 бод. Может использоваться для связи с терминалом. Есть Приостановка передачи по сигналу RTS. Встроенный буфер - 80 символов.
Порты 96 и 97 зарезервированы.
Порт А0Н служит для считывания состояния клавиатуры, которая сканируется автоматически. На порт выдается совместимый с оригинальным ЮТ или ASCII скан-код в зависимости от режима работы клавиатуры. В режиме ASCII код FFh указывает на то, что ни одна кнопка не нажата.
Установлены 2 асинхронных приемопередатчика, один из них, по адресам D0-D7H может быть как 16С550(450), так и 580ВВ51. Приемопередатчик по адресам D8Н-DFH - 16C550(450).
Таймер 580ВИ53 посажен по адресам 50Н-53Н. Может использоваться для чего угодно.
Установлены два разных звуковых генератора - подешевле, около доллара на E-Bay, SN76489 по адресу 72Н- трёхканальный, с каналом шума и YMZ284 по адресам 70Н-71Н - аналог AY3-8913, с одной разницей - он меньше, и все каналы смикшированы внутри кристалла в один выход. Теоретически они могут работать одновременно и SN76489 легко заменит ВИ53 в генерации звука.
Два порта 580ВВ55 могут использоваться для чего угодно. Адреса их посадки - F0H-F3H и F8H-FBH. В свободные окна F4H-F7H и FCH-FFH можно впихнуть ещё два таких порта при желании и необходимости.
-
Добрый день.
Немного подниму тему.
Есть какие либо сдвиги?
Готов присоедениться - помчь с разводкой и запуском
- - - Добавлено - - -
Добрый день.
Немного подниму тему.
Есть какие либо сдвиги?
Готов присоедениться - помчь с разводкой и запуском
-
Вложений: 5
Скоро 3 года как :)
Все таки собрался с силами, развел и заказал на PCBWAY платы минимального модуля.
Проект будет с открытым кодом и аппаратной частью.
По здравому размышлению было решено отказаться от отдельного дисплейного семисегментного модуля, и организовать его функционал на ПЛИС. При этом пока остаётся в планах возможность вывода на семисегментные индикаторы произвольных символов. Если ёемкости ПЛИС хватит(скорее всего), то сделаю.
В итоге получилось вот такое.
Плата 10х10см, на плате индикатор, клавиатура, ОЗУ 64к, ПЗУ 8К, процессор, ПЛИС(EPM7128), шинные формирователи, преобразователи напряжения, разъём расширения.
Генератор звука - на SN76489 (на EBay доступна к покупке и стоит копейки).
Практически всю мелкую логику запихну (вроде все основания для уверенности в это есть) в ПЛИС.
Схема и платы:
Вложение 69602Вложение 69603Вложение 69604Вложение 69605Вложение 69606
Проект на PCBWAY https://www.pcbway.com/project/share...ion_Alpha.html
-
A_AVL, а платок много заказали? Может поделитесь ;) С удовольствием поучаствую в проекте.
-
-
Отписал в личку. Давно хотел на ПЛИС что-нибудь замутить. И am9511 ждёт своего часа.
-
Вложений: 1
Платы получил. По быстрому спаял что было и проверил вообще на загружаемость ПЛИС - все ок. ПЛИС прошивается, КЗ по ританию по крайней мере нет.
Вложение 69860
На плате наличествуют мелкие косяки (как же без них-то?)- где то микросхема практически без зазора к панельке ПЛИС, но ничего критичного.
Остается забрать заказанные детали и потиху начать.