PDA

Просмотр полной версии : Специалист. Ваши мысли?



zx_
18.02.2014, 12:27
ретро? нет, воплощение пройденного мимо в реальность.
поэтому специалист мх2 не нравится -плис, пс2, флеш какойто, свга

допустим специалист М , к нему платы расширения прям по списку публикаций в моделисте, - ?

магнитофон на алиэкспрессе до сих пор продают, кассеты не знаю пока, но доработка магнитофона до состояния управления от операционной системы -тоже мечта детства.

может fifan-а попросим а?

ну и elite мож кто портирует на спец, не должно тормозить, вот на этом то ведь работало http://ru.wikipedia.org/wiki/Acorn_Electron


смысл затеи -теплый ламповый спек

alx32
18.02.2014, 12:32
а это не вы у меня спрашивали про плату специалист-м?
к сожалению у меня её нет.
я сам, время от времени, ваяю его на макете...

zx_
18.02.2014, 13:08
а это не вы у меня спрашивали про плату специалист-м?
к сожалению у меня её нет.
я сам, время от времени, ваяю его на макете...

я и спрашивал, наверное тоже на макетке придется
ну ладно)

zx_
18.02.2014, 13:15
плис можно и не ставить если не нужна SD карта

понимаю, но мх2 - шаг в современность , слишком , там все современное, кварц, микрухи, память, путь в эмуль

alx32
18.02.2014, 19:15
Ну так что? Бум делать очередной новодел?

fifan
18.02.2014, 19:32
Вообще-то Специалист_МХ2 без ПЛИС (почти). Одна сейчас не используется. Я её вообще из панельки вытащил для других целей. Несколько раз пробовал запустить с нею SD карту - не удалось. Где-то ошибка в её внутринастях или в коде. Бросил эту затею на данный момент пока отсутствует программатор, чтоб экспериментировать.

Я вижу автор темы ностальгирует по первым не МХ клонам. Понимаю. Сам несколько раз в месяц беру схему Специалиста Экспресс (М мне не нравиться - микросхем больше) и возникает мысль заново схему сочинить на новых микросхемах. У меня он был первым Специалистом, ещё в студенчество, в Томске. Я даже по заказу одного нашего бывшего из Германии как-то развёл, заказал производство, а потом подержал в руках несколько платак. Да-да было такое. Вот здесь (http://eduard-x.blogspot.de/2012/02/blog-post.html) блог данного заказчика.

Я для себя оставил одну платку, но не собрал. Нашёл ошибки - недорозвёл две дорожки. Забросил, все мысли посвятил Специалисту_МХ2. К сожалению часть проектов тогда ещё под PCAD 2006 SP2 в том числе и с данной платой сдохли вместе с жёстким диском. Печально.

А мысль хорошая. Но новый клон (не МХ и не на ПЛИС) я вижу без старых микрух таких как РУ5, ИР12, АП16, РФ и т.д. Но всегда настаиваю на юзанье только ВМ80 даже с его тремя питаниями.

---------- Post added at 21:32 ---------- Previous post was at 21:21 ----------

zx, а чтоб Вам хотелось? Очень простой комп? В смысле минимум микросхем? Ну давайте изобретём Специалист-48 SRAM, название как в соседней ветке.
1. Минимум десяток микросхем можно будет вычеркнуть из основной схемы, если взять SRAM.
2. ВВ55 №1 тоже убираем, ставим Atmega8 с её контроллером PS/2 клавиатуры от Vinxru.
3. Если поставить ВВ55 №2, то это ещё даёт Flash-диск от HardWareMan'а или SD контроллер от Vinxru.
4. По мелочи: К589ИР12 -> К555ИР13, К589АП16 -> К555АП6, ПЗУ - одна 27128.

alx32
18.02.2014, 19:41
Насчёт ПЗУ - согласен, может быть даже 27512, чтобы иметь в нём и отладчик, и бейсик, и разные варианты мониторов, с программным или аппаратным переключением. К589ИР12 -> КР1533ИР33(22) наверное...

fifan
18.02.2014, 19:47
Можно и так. Оставить композитный видеовыход, но можно добавить и цвет. Ошибся в предыдущем посту - ВВ55№1 + Atmega8.

alx32
18.02.2014, 19:50
А "Экспресс" от "М" отличался только количеством и типом ПЗУ, или были ещё какие различия?

fifan
18.02.2014, 19:56
Плюс ещё вместо одного дешифратора два зачем-то (http://www.spetsialist-mx.ru/index12.html) (DD28+DD29). Ну ещё сброс на RS триггере ввели и немного логики. Но это не существенно.

alx32
18.02.2014, 20:03
Вместо второго дешифратора там похоже РЕ3 используется?

fifan
18.02.2014, 20:09
Да. Я по этой схеме предлагал как РЕ3 убрать, у меня так работало. ПЗУ=РФ2+РФ2+РФ4 - эта связка у меня на плате стояла.

http://www.spetsialist-mx.ru/schemes/k155re3_free.png

alx32
18.02.2014, 20:14
Может в новоделе всётаки уйти в сторону ИД7?

fifan
18.02.2014, 20:16
Да, именно ИД7. Мне не нравились вольности при использовании выходов ИД4 в схеме Специалиста. Открываю Шило, там одна таблица состояния выходов, на схеме немного по другому.

alx32
18.02.2014, 20:32
А учитывая что ПЗУ будет одна, адреса А14 и А15 (предварительно проинвертировав) подавать на входы разрешения дешифратора, а выходы объединить диодами. И может всётаки сразу буферизовать шины процессора, а? Например на АП6, и адреса ими тоже... Просто с ними разводка проще, нежели с ИР33, АП6 ведь можно развернуть в обратную сторону...

fifan
18.02.2014, 20:45
Можно и на логике сделать. Завтра представлю схему вырезанную из внутренностей плисины первого моего Специалиста на ПЛИС.
Буферизировать шины процессора можно не торопиться. alx32, нарисуй свою схему, интересно мысли твои в схеме посмотреть.

zx_
18.02.2014, 22:32
эта ностальгия дорого выходит ! или дорого стоит? неважно)

мысль такая - базис специалист классика , к нему плата расширения - МХ2
или несколько плат расширения- рам диск , флеш, етс
?
580 процессор уже куплен, ру5 можно заказать , вв55 тож наизаказ доступны,
мелкая логика есть вроде и так

ябы даже 155 серию и 580 ва 86 использовал)
есть в загашнике

alx32
18.02.2014, 22:56
эта ностальгия дорого выходит ! или дорого стоит?

Мы тут наоборот пытаемся упростить и удешевить...

---------- Post added at 22:56 ---------- Previous post was at 22:51 ----------

Сейчас возникла мысля сделать плату длинной и узкой, чтобы длинна не превышала размер PS/2 клавиатуры, а корпус оформить ввиде подставки под оную...

zx_
18.02.2014, 22:57
Мы тут наоборот пытаемся упростить и удешевить...
цены посмотрел на детали старые, обалдел, потому и написал.
против дешевизны ничего не имею, за, но против плис в базовой версии если можно

в платах расширения можно и мтк6592)

alx32
18.02.2014, 23:00
Я тоже против ПЛИСин, потому как нет возможности их прошивать...

HardWareMan
19.02.2014, 11:11
Мудрёный дешифратор у Экспресса потому, что ПЗУ выбиралось таким, чтобы можно было поставить 2 по 2КБ для ПСПЗУ и МОНИТОРа соответственно, либо не устанавливать их и иметь ОЗУ под ними для загрузки. А так как остальное ПЗУ получается не выравнено по адресам (начинается с D000), то использование одного чипа на 8КБ затрудняет дешифрацию. В современном варианте, если поставить 1 чип на 16КБ и использовать родные 12КБ (оставив сегмент F000 для портов) то дешифратор вообще не нужен.

alx32
19.02.2014, 12:39
Дешифратор нужен, т.к. там ещё и триггер "начальный пуск", который должен ещё блокировать доступ процессора к ОЗУ после сброса, плюс ещё как-то нужно отрезать от ПЗУ 4кБ в конце под УВВ.

fifan
19.02.2014, 15:00
Ну что глядите основную часть схемы.

http://photo.qip.ru/photo/fifan72/200812259/middle/216592244.gif (http://photo.qip.ru/users/fifan72/200812259/216592244/)

Пояснения:
CLOCK - входная частота 8 МГц
2M - фаза 2 для синхронизации ВМ80, нужно инвертировать
F1 - фаза 1 для синхронизации ВМ80, нужно инвертировать
HSYNC - кадровые импульсы
VSYNC - строчные импульсы
SYNCRO - смешанная синронизация
RESET - вход сброса от клавиатуры
RES - выход сброса инверсный
ROM - выборка ПЗУ
U6 - выборка ВВ55 №2
U7 - выборка ВВ55 №1
VIDEO - композитный ч/б видео выход
RAM - выборка ОЗУ
RAMWE - сигнал записи/чтения ОЗУ
RAMOE - выборка выходов ОЗУ
CDn - шина данных цветного ОЗУ
RED - красный видео выход
GREEN - зелёный видео выход
BLUE - синий видео выход
BRIGHT - яркость видео выход
MDn - шина данных ОЗУ
Dn - шина данных процессора
An - шина адреса процессора
MAn - шина адреса ОЗУ
RS - вход красного цвета от ВВ55 №1
GS - вход зелёного цвета от ВВ55 №1
BS - вход синего цвета от ВВ55 №1

Не показаны на схеме: процессор, ПЗУ, ВВ55 №1, 2

alx32
19.02.2014, 17:39
Насчёт ИР13, может их заменить на 2хИР16?
Насчёт ОЗУ, сигналы ~CE и ~OE может сразу на общий посадить, насколько я знаю, эти микросхемы поддерживают такой режим...

zx_
19.02.2014, 18:39
посмотрел 155ир13 есть в продаже , недорого вроде
555ир16 тоже есть - или о другой другой серии речь
но по мне 155 аутентичнее

схема что - вся в дип корпусах, нра,

fifan
19.02.2014, 19:03
Все ваши замечания уместны. А в остальном как вам схема нравится? Я тут прикинул логику на стандартных микросхемах. Аляписто получается. Всяких ЛА/ЛЕ различных нужно будет ставить.

При установке ВВ55 #2 можно будет в разъём ставить либо платку Flash-диска от HardWareMan'а либо SD контроллер от Vinxru. Вуаля, грузим rks файлы либо с того либо с другого.

alx32
19.02.2014, 19:32
Надо попытаться на досуге синхрогенератор на AVR перевести, с дисплейным модулем для ЮТ-88 проканало, может и здесь получится...

---------- Post added at 19:32 ---------- Previous post was at 19:28 ----------


Все ваши замечания уместны. А в остальном как вам схема нравится? Я тут прикинул логику на стандартных микросхемах. Аляписто получается. Всяких ЛА/ЛЕ различных нужно будет ставить.


Так в оригинальной схеме вроде ЛА2 проскакивала?

fifan
19.02.2014, 20:06
Так в оригинальной схеме вроде ЛА2 проскакивала?
Была. А здесь вся схемотехника переделана, ну за исключением синхрогенератора, мултьтиплексоров. Нет схемы начального пуска с подключением к ВМ80. Сделано на логике см. сигнал ROM (ROMSTD то же самое, забыл переименовать). Как и полагается при сбросе работает код с ПЗУ.

Надо попытаться на досуге синхрогенератор на AVR перевести
Можно. HardWareMan делал тоже самое на PIC, работало. Не упоминал не разу, что выход у нас композитный/Scart, не VGA, для полной совместимостью с самим Специалистом.;)

HardWareMan
19.02.2014, 20:06
Дешифратор нужен, т.к. там ещё и триггер "начальный пуск", который должен ещё блокировать доступ процессора к ОЗУ после сброса, плюс ещё как-то нужно отрезать от ПЗУ 4кБ в конце под УВВ.

Схема НП в Экспрессе не касается дешифратора. А разделение на ПЗУ/порты можно и одной микрой ЛА3 набрать, зачем нам огород из ИД7 и кулька диодов?

Фифан как всегда, нагородил фигни разношерстной и доволен. Проще надо быть, проще.

fifan
19.02.2014, 20:27
нагородил фигни разношерстной и доволен. Проще надо быть, проще.
Так ж сам ты мне эту схему давал, забыл наверное?

zx_
19.02.2014, 22:01
) сложно как все)

видевыход обычный, вга не нужен, есть современные жк мониторы со скартом( нч вход тв)
клавиатура пленочная матричная- фан , либо купить
корпус деревянный

компьютер специалист М но со цветом, можно даже на ру5,, они продаются по 120 рэ
фан опятьже

расширение до МХ2 - отдельной платой

не ?

fifan
19.02.2014, 22:15
есть современные жк мониторы со скартом( нч вход тв)
А вот на композитором выходе будет только черно-белый сигнал.

клавиатура пленочная матричная- фан
Сам будешь делать? Более 72 клавиш. Предусмотреть разъём для неё тоже нужно.

можно даже на ру5
Не современно, нужно на СРАМ. Одна РУ5 стоит 120, умножаем на 8 =? Не сравнимо с ценой одной срамины - 150 рублей.

расширение до МХ2 - отдельной платой не ?
На упомянутой мною плате Экспресса я делал перерезаемые перемычки для возможного заимствования или исключения сигнала для платы МХ. Можно повторить. Её можно будет потом вторым этажом.

zx_
19.02.2014, 23:12
ну не могу я спорить с производителем! )
просто стройно логично - как в 91 спец, тольк современный -так и быть

---------- Post added at 23:12 ---------- Previous post was at 22:33 ----------




Не современно, нужно на СРАМ. Одна РУ5 стоит 120, умножаем на 8 =? Не сравнимо с ценой одной срамины - 150 рублей.

На упомянутой мною плате Экспресса я делал перерезаемые перемычки для возможного заимствования или исключения сигнала для платы МХ. Можно повторить. Её можно будет потом вторым этажом.

както так, да, разьем, двухэтажка

HardWareMan
20.02.2014, 06:27
Так ж сам ты мне эту схему давал, забыл наверное?
Если ты уже забыл, эта схема была для спеца на ПЛИСине. Для сборки на логике надо быть проще. Там половину упростить можно. Я вообще не понимаю, зачем городить огород, когда все уже украдено до нас? Схема Экспресса максимально оптимальна. Используйте ее с поправкой на более современные детали и установку SRAM.

zx_
20.02.2014, 11:48
Схема Экспресса максимально оптимальна. Используйте ее с поправкой на более современные детали и установку SRAM.
нуда

разьем расширения сильно усложнит разводку и схему?

два или три разьема вернее, под мх и еще всякую хрень

HardWareMan
20.02.2014, 13:56
два или три разьема вернее, под мх и еще всякую хрень
Буферизация шины разве что.

zx_
20.02.2014, 22:32
а почему МХ2 не на процессоре 8085 ?? вот чего для гармонии в нем не хватает!
все модерн, а проц старый
даже рк86,переделали

fifan, может МХ2+ ? с новым процом и всеми доделками

и как vinxru попросить Elite портировать? к нему письма не ходят

fifan
21.02.2014, 05:06
а почему МХ2 не на процессоре 8085 ??
может МХ2+ ? с новым процом и всеми доделками
Больше ничего дорабатываться/перерабатываться не будет.


и как vinxru попросить Elite портировать?
Намекну ему, но упрашивать не буду.

alx32, может сделаешь синхрогенератор на микроконтроллере, сразу десяток микросхем вычтем из схемы.

alx32
21.02.2014, 05:21
alx32, может сделаешь синхрогенератор на микроконтроллере, сразу десяток микросхем вычтем из схемы.

У меня мозгов хватит только на счётчик видеогенератора + КСИ/ССИ, так что не гарантирую... это во первых, а во вторых, по прикидкам, вычтется там только несколько счётчиков + ЛА/ЛЕ/ЛИ обвязки, связанных непосредственно с формированием растра... по стоимости один МК может превысить эту кучку...

zx_
21.02.2014, 08:50
контроллер синхро 580гф24 ?

fifan
21.02.2014, 09:43
контроллер синхро 580гф24 ?
Что это вдруг? Это Специалист, а не РК либо ЮТ-88.

Ладно, попробую я сделать весь синхрогенератор на PIC, исходники от HardWareMan'а есть. Правда он делал только на половину и для VGA.

Давайте опрелимся со сраминами. Нам нужно: корпус DIP, лучше узкий, объём: 48 (64) и 12(16) кБайт. Какие предложения?

zx_
21.02.2014, 12:37
Ладно, попробую я сделать весь синхрогенератор на PIC, исходники от HardWareMan'а есть. Правда он делал только на половину и для VGA.


синхрогенератор на pic ? смысл данного решения - VGA, плюс переключение частоты процессора на 12 мнс, процессор 8085

память срам -несушественно кмк, как удобнее, но можно и 8 корпусов , услада очей тс

---------- Post added at 11:37 ---------- Previous post was at 11:27 ----------


Сначала нужно МХ2 раскрутить, а затем уже его совершенствовать дальше. Пока что интерес к МХ2 небольшой, поэтому рано переходить к МХ2+.

сюда я пришел с просьбой -сгоношить печатную плату специалиста "парового"
fifan не хочет, поэтому для fifan -а предлагаю идею спеца мх2+, с процом 1821ВМ85 (он тоже есть в керамике!) ,срам, с режимом турбо 12 и игрой Элите под него

мечты такие
на эту мечту готов потратится, пару плат печатных куплю сразу , задаток могу дать. elite тож можно купить

мож кроме fifan еще кто может помочь великим делом? не знаю же ваших местных терок, ) -

fifan
21.02.2014, 12:45
Давайте решим что мы собираемся сделать. Специалист на современной базы или не понятно что на непонятных процессорах?
Специалист_МХ и 2 и 3 и 0 и плюс и минус я не собираюсь повторять/выдумывать. Кто ещё будет кроме меня продолжать этот проект, продолжайте. Мне и своего LAST вполне достаточно.

zx_
21.02.2014, 13:08
Давайте решим что мы собираемся сделать. Специалист на современной базы


вот чтоя ищу!

fifan: Всем привет. Упомянут мой сайт. Я в письмах вроде бы уже ответил на вопросы. Ну если так приспичило могу дать схему в PCAD2006 упомянутой схемы pdf Специалиста-Экспресс. Повторяюсь: лучше не много изменить схему и нуждающимся в повторении данной конструкции обратиться ко мне. У меня в наличии проект двухплатного варианта: Специалист Экспресс+расширение МХ. Пишите: fifan72

вопрос к сообществу-может у кого сохранилась документация по двухплатному специалисту?

Elvys
13.05.2014, 22:52
не понятно что на непонятных процессорах
С точки зрения программиста, ВМ80 и ВМ85 - один и тот же микропроцессор :)
Будет проще, чем прикручивать Z80.

Viktor2312
13.05.2014, 23:09
ВМ80 - Всему голова, если он, будет интересно. Если нет, то и нет.

Elvys
13.05.2014, 23:41
У этой головы есть скромный недостаток - три (!) напряжения питания. От которых так и тянет избавиться. :)

fifan
14.05.2014, 13:49
вопрос к сообществу-может у кого сохранилась документация по двухплатному специалисту?
А был такой? Недавно мне показывал фотки Афанасьев (автор Специалиста_МХ) его двухплатного варианта. Он состоял из Специалиста (вроде журнальная плата Специалиста Волкова) и его дополнения с несколькими линейками РУ5 до МХ.

Я сейчас паяю свой двухплатный вариант (вернее нижнюю плату Специалист 48 SRAM). Сверху будет вставляться Специалист_МХ 512 SRAM. На обоих платах будет по одной ПЛИС EPM7128SLC84. Нижняя плата будет полным аналогом Специалистов Волкова/М/Экспресс и подобных. Новшества: адаптер PS/2 клавиатуры от Vinxru, преобразователь +5В -> -5В, вторая ВВ55 (порт программатора).

Elvys
14.05.2014, 17:08
Сначала нужно МХ2 раскрутить
Почему - то никому на ум не пришло, разработать печатную плату родной клавиатуры для МХ2. Адаптер PS/2 нужно еще прошить и настроить (и не всем он интересен), а определить корректность его работы можно только на настроенном компе. Который без клавиатуры не настроить, опять же.
Сырая CD читалка, опять же не красит. До момента полной отладки, она могла бы быть картой расширения, а не торчать на основной плате, бесполезно занимая место. Но упрямо была перенесена во вторую версию платы.
Много желающих будет, приобрести такой геморрой сырой компьютер?

fifan
14.05.2014, 21:43
1. По опыту настройки Специалиста_МХ2 людей останавливает именно то, что нужно иметь 72 клавишную клаву. Я для себя развёл плату и сделал её и что? Не удобно, громозко. А кто будет её повторять? Если Вам не интересен PS/2 адаптер то не говорите что он всем не интересен. Собирали? Проверяли в работе?
2. Не CD, а SD читалка. Никто не просит Вас приобретать геморрой. Опять же Вы считаете количество желающих. Пишите только о себе или мы Вас заставляем приобретать МХ2?

Я уже писал, что у меня не хватает времени делать ПО под Специалист_МХ2 в том числе и для SD интерфейса. Я в портах МХ2 запутался, не работает у меня то же Loader. Хотя на Специалисте на девборде u10 Reverse (http://www.spetsialist-mx.ru/index9.html) всё прекрасно работает, SD интерфейс тикает как часы (http://www.youtube.com/watch?v=LYAdZQkC6U4).

Elvys
14.05.2014, 23:00
Не CD, а SD читалка..
Извиняюсь за опечатку, конечно же SD.

людей останавливает именно то, что нужно иметь 72 клавишную клаву.... ...Не удобно, громозко. Я все понимаю, доска от PC со 104 клавишами - миниатюрнее некуда. Впрочем, каждому свое.

Никто не просит Вас приобретать геморрой. Тема называется "Специалист мысли", вот мысли и написал. Здоровая конструктивная критика еще ни один проект не убила.

З.Ы. В общем, извините, если что не так.

Ewgeny7
15.05.2014, 08:37
Тема называется "Специалист мысли"
А кто это такой - специалист мысли? Это типа мыслитель? Философ? Или просто название темы написано с грамматической ошибкой? :)

zx_
15.05.2014, 10:42
именно так и написано, без ошибок.
Мысли! (с)

продолжаем мыслить,

есть вопросы про шину Специалиста,
два варианта журнальных и один вариант от fifan , для МХ
вариант от fifan (МХ-BUS) для стандарта не подойдет, есть лишние сигналы

шина для стандарта, с возможностью подключения платы цвета , звука (ви53) , дисковода (вв51) , программатора (вв55) , - без паяльника и мгтф к основной плате !)
?
вот только без vhdl)

Elvys
15.05.2014, 11:40
А кто это такой - специалист мысли? Это типа мыслитель? Это типа пожелание :)


вариант от fifan (МХ-BUS) для стандарта не подойдет, есть лишние сигналы
В каком плане - лишние? Лишних сигналов не бывает :) Тем более, что они никак не помешают для

подключения платы цвета , звука (ви53) , дисковода (вв51) , программатора (вв55)
А для каких - то других нужных и полезных устройств даже могут оказаться востребованы.

fifan
15.05.2014, 19:04
Блочный Специалист это не реально.

Контроллер дисковода на ВВ51 - путь в некуда. Не реально медленная железка, да ещё не кем не собранная, по крайней мере кроме нескольких страниц в МК нигде она не упоминается. Юзайте на ВГ93 она на больших дисководах работает. На маленьких (3 дюйма) что-то никак не запускается.

Через МХ-BUS я пробовал подключать контроллер дисковода. Не пошло, нестыковка с синхронизацией.

zx_
15.05.2014, 20:43
3,5" требуют модернизации, в соседней теме установлено, тоже бились как и ты сначала.

http://zx-pk.ru/showpost.php?p=707222&postcount=372



медленность вв51 сейчас не актуальна, верней совсем ниочем,
тоесть этот контроллер гениален простотой, как и все в специалисте)
да и пока пишет или читает - есть время подумать,

Elvys
16.05.2014, 10:19
3,5" требуют модернизации
Ужас, это контроллеры требуют модернизации. К РС дисковод любой фирмы подключается без всякого шаманства. Точно так же он и к контроллеру любительского компа должен подключаться. Родным шлейфом пин в пин. Все остальное - от лукавого (от нежелания делать как у РС ).

balu_dark
17.05.2014, 10:15
Это типа пожелание :)



Женя намекал про синтаксическую ( пунктуационную) ошибку в названии. То сейчас как есть - именно означает мыслителя с высоким уровнем квалификации.
После слова в нашем случае не хватает или многоточия или как минимум запятой. Тогда логически фраза будет отражать вкладываемый топик стартером смысл.
Об этом и писал человек!

zx_
17.05.2014, 11:02
немного поясню) о первоначальном варианте названия темы,-
название появилось после мучений с поисковыми машинами, кто искал что-то к пк "специалист" , тот поймет))
поправили, ну и ладно , тоже хорошо.

по делу , есть к специалисту монитор, а то и несколько, совместимых с радио86рк
есть контролер дисковода к радио86рк и дос 2.9 к нему

контроллер тоже весьма , без вг93

без переделки к спецу не пойдет?
думаю не пойдет, шаманить надо

rw6hrm
14.04.2017, 22:42
Подниму темку очередной "мыслью" ;)
Достался мне от хорошего человека клон Спеца Электроника К001-Дон. Умные люди доставили в него буферы шин и, слава Догу, более ничего не делали. А мысль следующая: расширение ОЗУ за счёт места под ПЗУ (у Дона 6 посадочных мест под РФ2/5). Что делается:
- базовое ОЗУ на трёх линейках РУ6 не трогаем, теперь это ОЗУ пользователя под данные и ОЗУ экрана;
- ставим контроллер SD-карты от vinxru, где на карте будут хранится все программы вместе с управляющей оболочкой;
- оставляем одну РФ2/5 под загрузчик, минимум для системы и знакогенератор (думаю, что можно уместиться);
- остальные 5 мест заменяем на РУ10 (с подводкой сигнала /WR) - теперь это ОЗУ программ. Громко, конечно, сказано, но это место для программ типа текстового редактора, СУБД (если оно есть для Спеца), асма/дизасма и тому подобного. Такие программы редко когда занимают место свыше 10 КБ, потому и могут быть помещены в новое место (срач по поводу адаптации программ под новое место давайте опустим, ибо неинтересно. Кому надо - перетранслируют программы в новую область и поделятся с заинтересованной общественностью).
В этом случае для данных пользователя остаётся гораздо больше места, чем в стандартном варианте, тексты гораздо большие можно будет набирать.
Игры - незачем их адаптировать, пусть в старом ОЗУ остаются. Неадптированные программы продолжают работать как обычно.
Недостаток: "рваная" карта ОЗУ, но Спец такой и есть... А, ну и доставляем одну ИД3 для расширения количества портов.
Это только для стандартной, первоначальной схемы, без страниц памяти и проч. чешуи, типа малая кровь :)

HardWareMan
15.04.2017, 05:15
Недостаток: "рваная" карта ОЗУ, но Спец такой и есть... А, ну и доставляем одну ИД3 для расширения количества портов.
Это только для стандартной, первоначальной схемы, без страниц памяти и проч. чешуи, типа малая кровь :)
Базовая память МХ так и работает. D000-EFFF там область под системные программы, оставляя все что ниже экрана под данные пользователя. ЕМНИП даже стек с ячейками вверх перенесен, но так делать нельзя ибо совместимость. Если вместо 3х линеек РУ6 поставить 1 линейку РУ5, то карта получится без дополнительных РУ10х. Собственно, я так на Экспрессе и сделал и считаю что так и надо делать.

rw6hrm
15.04.2017, 09:15
Спасибо за ответ. В принципе и переделки-то никакой нет, просто втыкаются РУ10 в гнезда ПЗУ за исключением одной ножки, которая отдельным проводком разводится. Ну а РУ6,.. уж что стоит, то и пусть стоит, лишнего паяния делать не буду, аппарат жаль курочить ;)

barsik
15.04.2017, 09:49
остальные 5 мест ПЗУ заменяем на РУ10 (с подводкой сигнала /WR) - теперь это ОЗУ программ... типа текстового редактора, отладчика и т.п.

Здравая мысль, хотя и опоздала лет на 30. Конечно все мысли относительно рэтро-компьютеров опоздали лет на 30, но в данном случае буквально. Т.к о том, что редактор, ассемблер и отладчик выгодно иметь в верхнем ОЗУ в 80-тые догадались все пользователи СПЕЦИАЛИСТА. Потому что редактор и ассемблер позволяют тогда транслировать программы намного большего объёма, а отладчик позволяет отлаживать любые программы для основного ОЗУ. Некоторые умудрялись прошить в это излишнее ПЗУ даже бейсик.

Но такое использование верхнего ОЗУ - только для примитивных МГ-систем, т.е без ДОС. Потому что это ОЗУ идеально подходит для ДОС, т.к не отнимает основное ОЗУ и по размеру подходит (D000...F7FF) для размещения даже CP/M (ей достаточно менее 8 кб, т.к CCP остаётся в ОЗУ ниже 9000, что не снижает уровень TPA в 8F00). Т.к CP/M-программы проверяют уровень TPA по адресу в ячейке 6, то достаточно на 8F00 поставить ре-джампер (JMP BDOS), и тогда само тело BDOS можно размещать где угодно (хоть в другой банке, что иногда и делают).

Технически проще "открыть ОЗУ". Открыть ОЗУ D000...F7FF проще, чем ставить РУ10-тые, да и ПЗУ при этом остаётся и очень нужно (например, здесь удобно разместить "холодный загрузчик", позволяющий по проводной линии закачать в СПЕЦИАЛИСТ какую-нибудь ДОС).

Даже если оригинальное ОЗУ на РУ6, то лучше заменить одну из банок РУ6-тых на РУ5-тые (что освободит оставшиеся две банки РУ6-тых для целей эл.диска). Но лучше вторую банку РУ6 выкусить, а третью истратить на цвет (автоматически записываемый из регистра цвета, а не включённый в МП-ядро).

Именно за счёт "открытия ОЗУ" и работает CP/M СПЕЦИАЛИСТА на 36К. Т.к при этом некуда грузить драйвер консоли, то необходимым оказывается именно ПЗУ (которое именно поэтому и не надо убирать из системы) - в 10 кб ПЗУ умещается комфортабельный цветной оконный драйвер, совместимый с VT52.

Вот так, абсолютно минимальным расходом деталей и труда из СПЕЦИАЛИСТА получается простая, дешёвая и симпатичная система 100% совместимая с оригинальным СПЕЦИАЛИСТОМ. Но... увы, - только с TPA 36К. Чтобы это исправить надо менять адресацию или архитектуру.

Всё это было сделано в 1989-90 году. За исключением того, что не было драйвера, даже простейшего VT52, а ОЗУ D000 "открывалось" навсегда (т.е лишние ПЗУ вообще снимались). Из-за чего из программ CP/M использовался только ассемблер ASM.COM и POWER.COM (используемый для копирования с помощью LOAD/SAVE, что утомительно, но что делать, если ничего другого для копирования на одном НГМД нет). Для использования ASM-а даже редактор приходилось использовать специалистовский, снабжённый на выходе конвертором в формат CP/M.

Естественно и для компиляторов размера TPA в 36К не хватало. Когда это выяснилось, то привлекательнее стал казаться ОРИОН... где все указанные проблемы отпадают, а наличие эл.диска из излишнего ОЗУ позволяет копировать файлы при одном НГМД. К сожалению, на ОРИОНЕ использовалась ORDOS, которая свела все его аппаратные преимущества к нулю.

Но сейчас, когда проблема доступа к программам CP/M (компиляторам) не стоит и объём TPA не играет роли (вряд-ли кто напишет софт крупнее 36К, старых программ большего размера, естественно, нет), простая симпатичная система, получаемая минимальной ценой из старой платы и обеспечивающая необходимое железо для творчества программиста-любителя, вновь становится привлекательной.

Именно поэтому я и делаю такую систему из платы ЭКСПРЕСС, но несколько иначе (проще и грамотнее). Вместо использования "верхнего ОЗУ" в лоб, я использую идею Львова. Идею по закрытию экранного участка куском ОЗУ в 16К, что без затрат деталей даёт сплошное ОЗУ для программ в 48К и сохраняет ПЗУ в адресном пространстве (что очень большой недостаток предложенной Вами концепции). Во Львове, если я верно помню, экран с 4000, что вполне разумно при такой архитектуре, т.к стек остаётся в вершине ОЗУ, тогда как при закрытии ОЗУ 8000...BFFF в СПЕЦИАЛИСТЕ приходится трахаться с перестановкой стека.

Главный сюжет заключается в том, чтобы всё уместить на крошечной плате ЭКСПРЕСС, которая вместе с винчестером IDE размещается в корпусе с клавиатурой (корпус Сантаки, что в свою очередь с точностью до миллиметра копирует корпус компьютера Schneider CPC, который, возможно, копирует корпус Amstrad). Кстати очень красиво и продуманно сделанный корпус.

Заметим, что по Вашей концепции получить конфиг файл для эмуляторов просто (30 секунд работы), тогда как для моей концепции с отключаемым экраном нужно просить авторов эмуляторов о помощи, а возможно модификацией конфига это не сделать.

- - - Добавлено, - - -


лишнего паяния делать не буду, аппарат жаль курочить

Никогда не понимал такого отношения. Это же не "священная корова", с которой надо сдувать пылинки и хранить под стеклом. Берите пример с меня, - я распилил на фрагменты 20 разных компьютеров (в том числе ПРАВЕЦ-16, два КОРВЕТА, ОКЕАН, две ИРИШИ, ZX-48K, ПРАВЕЦ-8М, три APPLE-II и несчётное количество СПЕЦИАЛИСТОВ и ОРИОНОВ) и из этих фрагментов сделал свой CP/M компьютер с текстовым адаптером. Естественно и оставшиеся платы СПЕЦИАЛИСТА я не оставлю в изначальном виде, наоборот возьму паяльник побольше и нагрею его посильнее...

Рэтро-железо должно работать, доставлять радость творчества, а не лежать мертвым грузом увековечивая недостатки архитектуры и неудобства для программирования. Речь именно о простейших доработках, которые делаются паяльником за несколько часов труда за счёт установки нескольких дешёвых корпусов TTL-логики вторым этажом и напайки нескольких РУ6 на РУ5 вторым этажом (а если есть посадочной место для второй банки, то и это не надо). Какой интерес иметь рэтро-компьютер без цвета и без ДОС, если это решаемо минимальной ценой?

rw6hrm
15.04.2017, 10:19
Понятно. Но я не хочу много паять и уродовать плату переделками, посему только малая кровь... Пусть остаются РУ6, в страничном увеличении ОЗУ смысла не вижу из-за отсутствия поддерживающих программ, вместо СР/М достаточно простенького шелла c SD-карты, цвет не нужен. Ну а по поводу опоздания.., так и есть, не спорю ;)
Эмуляторами не пользуюсь принципиально, хотя для ретрансляции некоторых программ придётся попробовать. Идеально было бы сместить в верхнюю область экран (там как раз 12 кб набегает, исходя из оригинальной схемы), но это и немалая кровь, и потеря совместимости.

barsik
15.04.2017, 11:22
Идеально было бы переместить экран в верхнюю область (там как раз 12 кб набегает, исходя из оригинальной схемы), но это два часа работы паяльником и потеря совместимости

Кого волнует совместимость, если смена архитектуры реверсивна? Т.е есть два режима - 36К и 48К. Для переноса экрана нужно не так уж много. Собственно перенос экрана это лишь один программно управляемый бит (подаваемый на адресный мультиплексор). Проблему создаёт только адресация портов F800...FFFF, даже точнее только один порт FF00, т.к на остальные плевать, они играми не задействованы (на системное ПО вообще плевать, т.к оно не нужно, а при необходимости конвертируется с расходом времеми 5 минут на штуку).

Куда переносить порты?

При такой архитектуре с ПЗУ посреди ОЗУ остаётся только отрезать кусок от ПЗУ C000...CFFF. К сожалению, сократить это ПЗУ всего до 2 кб и отдать вторые 2К на порты не получится, т.к на СПЕЦИАЛИСТЕ после опубликования монитора Орлова в 1988 системные программы стали делать вызовы не на ROM-BIOS (C037, C337, C438...) а на входы орловского монитора (С803, С809, С818...), хотя на большей части входов там стоит JMP на загрузчик в аналогичные входы. Поэтому можно поставить дешифратор ИД7 на чип селект C800 и отдать для ПЗУ C800 лишь участок C800...C8FF, что полностью удовлетворит все программы. Тогда остаётся ещё 7 чип селектов, чего Вам хватит, чтобы подключить внешний эл.диск на статике, винчестер и ВВ51 для обмена с PC на скорости 38К (на большее скоростей СПЕЦИАЛИСТА не хватит).

Остаётся предусмотреть выборку FF00...FFFF для клавиатурного ППА. Для этого достаточно поставить ЛА2 выбирая ею старшие 512 байт, а 8-й вход ЛА2 будет отключать выборку в режиме 48К, когда в этом месте экранное ОЗУ. Две выборки ППА (C800 и FF00) объёдиняем "монтажным ИЛИ", т.е двумя диодами. Тогда ППА клавиатуры в режиме совместимости будет выбираться, как и положено по FF00, а в режиме 48К - по адресу CF00.

Считаем расход деталей:

- регистр режима. Из экономии используем выход INTE, тогда по EI имеем режим 48К
- ЛА2 для дешифратора адресов FE00...FFFF (здесь ППА клавиатуры в режиме СТАНДАРТ)
- ИД7 дешифратор В/У, если плата убогая и его нет (если уже есть, то переадресуем на C800)
- второй параллельный ROM-BIOS C000, где прошит ROM-BIOS для экрана на D000...FFFF
- ЛА3, логика для выборки по INTE, то загрузчика C000, то, в примитиве, его же, но с экраном D000

Итого расход деталей - 2 или 3 дешёвых TTL-микросхемы, но компьютер становится на порядок приятнее.

Но это всё-равно не то.

Идея Львова по "закрытию экрана" удобнее и грамотнее. Расход деталей тот же, адресацию В/У и ROM-BIOS менять не надо и все ПЗУ остаются на базе. А сплошное ОЗУ то же самое - 48 кб. Кроме того, неудобство архитектуры с экраном D000 заключается в том, что перед запуском старой программы из ДОС работающей в режиме 48К надо программно переключать режим назад, т.е инициализировать по новому рабочие ячейки ROM-BIOS. Тогда как в концепции Львова это не требуется. В общем идея от Львова выгоднее, такая архитектура красивее и проще. Из простейших доработок на готовой плате - это самое разумное.

rw6hrm
15.04.2017, 12:01
ВВ51 для обмена с PC на скорости 38К (на большее скоростей СПЕЦИАЛИСТА не хватит).
Будем точны: более чем на 19,2К ВВ51 не хватит ;), а если применить 6850, то и 115К на Спеце не особая проблема (у меня 6502 на 1 МГц спокойно общается на такой скорости, вот только не нужна она такая).

barsik
15.04.2017, 12:36
Будем точны: более чем на 19,2К ВВ51 не тянет

Это Вы почему так утверждаете? Мне казалось, что по РТМ она рассчитана только на 9600. Но на этом форуме Denn утверждал, что ему удалось разогнать её до 38К. А я написал 38К не из-за ограничения ВВ51, а из-за скорости КР580. Я то как раз, как ни странно совпадение, хотел применять именно 6850. Просто потому, что имею готовую плату (со схемой) последовательного интерфейса на 6850 (это готовая карта от APPLE-II). Я уже давно собираюсь разобраться в её программировании (оно описано в книге Рафикузамана), т.к много лет пользовался программным обменом по линии со скоростью всего 150 байт в секунду.

Правда, обмен через 6850 стал менее актуальным, т.к недавно я увеличил скорость программного обмена до 1 кб в секунду (отказался от реального времени, использовал готовность). Есть и ещё ресурс для поднятия скорости передачи от PC в 8 раз - заменой последовательного обмена на параллельный (проводов много). В обратную сторону (от 8-ми разрядки) скорость останется низкой, лишь последовательный обмен, т.к порт принтера работает только в одну сторону.

К сожалению, по-прежнему обмен возможен только в MSDOS или старых Windows, т.к Windows начиная с Win-ME не допускают доступ программ в порт принтера, что вообще наглость. Из-за этого у меня есть проблемы с древним принтером. Им тоже вынужден пользоваться только в MSDOS (гружусь в Win-98 c CD, потому первая партиция у меня FAT, остальные NTFS).

Имею хороший обычный принтер NEC. Важно, что для него расходные материалы бесплатно (есть 150 ленточек и возможность бесконечно их подкрашивать, полно краски). Поэтому пользуюсь этим принтером, а не струйником, для которого картриджи быстро кончаются или высыхают и стоят дороже, чем сам принтер. Из-за того, что Windows не поддерживает обычный (не PostScript) принтер, приходится печатать в MSDOS. Никто не посоветует драйвер, позволяющий печатать на обычном принтере из Windows? Правда это не решило бы проблему обмена с 8-ми разрядкой через порт принтера. Никто не знает как программе MSDOS запущенной в Windows залезть в какой-нибудь порт, что, увы, не позволяет делать Windows?

Для РК86 скоростной последовательный обмен на ВВ51 возможен только при гашении экрана (при включенном экране ПДП прерывает приём и принятые байты теряются), а в СПЕЦИАЛИСТЕ таких проблем нет.

Я написал про ограничение в 38К не только из-за ВВ51, а также потому что думаю, что быстродействие СПЕЦИАЛИСТА на такте 2 МГЦ не позволит больше 38.4К, - это 4.8 кб в секунду. Не очень много, но вполне достаточно, чтобы PC могла работать в роли привода DOS. Т.е в одной панели нортона выводится каталог эл.диска (сейчас имею более 1 мб статики w24257, буду делать энергонезависимый эл.диск 256 кб), а в другой панели будет выводиться каталог винчестера на подключенной по линии IBM PC. При средней длине программы в 12 кб, время загрузки в 2-3 секунды вполне приемлемо.

uart
15.04.2017, 13:53
Для РК86 скоростной последовательный обмен на ВВ51 возможен только при гашении экрана (при включенном экране ПДП прерывает приём и принятые байты теряются), а в СПЕЦИАЛИСТЕ таких проблем нет.

Я написал про ограничение в 38К не только из-за ВВ51, а также потому что думаю, что быстродействие СПЕЦИАЛИСТА на такте 2 МГЦ не позволит больше 38.4К, - это 4.8 кб в секунду.

Странно. 38400 при 8N1 это 3,75Кб в секунду. Дорожка РК-ДОС 2,5Кб только форматируемой емкости, в реальности больше. При 300 оборотах в минуту дорожка могла быть прочитана 5 раз в секунду, то есть скорость чтения с дискеты более 12,5Кб в секунду. В реальности больше, это при более медленном процессоре и с включенным ПДП (путь и перестроенным на короткие посылки).

rw6hrm
15.04.2017, 14:37
Это Вы почему так утверждаете? Мне казалось, что по РТМ она рассчитана только на 9600.60660
Скриншот из даташита, мы ж в любом случае используем асинхронный режим. В синхронном - 64К, но это не наш вариант.

barsik
15.04.2017, 14:39
скорость чтения с дискеты более 12,5 Кб в секунду

Мне кажется, что сравнение неправомочное. В RKDOS чтение и запись сектора основаны на многократных повторениях. Именно поэтому сразу после записи сектора выполняется его чтение и если запись прошла неудачно (из-за ПДП) делается перезапись. Иначе никак. Потому что ПДП может прервать работу процессора в любой момент, в том числе и в момент записи сектора. Оттого, кстати, если увеличивать размер секторов, выигрыш в скорости не столь существенный, как должно быть по прикидкам.

Как видите, при работе с дискетой ПДП не наносит фатального вреда. Иное дело при скоростном последовательном обмене. Здесь скорости КР580 едва хватает, чтобы в цикле читать готовность и по готовности от ВВ51 считывать байт и кидать его по адресу (HL). Если прервать CPU, то один или несколько байтов потеряются.

Поэтому однозначно, СПЕЦИАЛИСТ сможет качать по последовательному интерфейсу намного быстрее, чем РК86. Особенно, если использовать трюк Л.Афанасьева, позволивший ему читать формат 800К при такте 2 МГЦ, хотя в традиционной схемотехнике едва хватало и 2.5 МГЦ.

Но Вы тоже отчасти правы. Скорость обмена у РК86 получится выше, чем я себе изначально представлял. Возможно даже будет вполне приемлемой для комфортабельного использования. А вообще, вся моя вышеприведённая Вами цитата - лишь мои голые домыслы, основанные на общеизвестном факте наличия в РК86 ПДП.

Ради интереса попытался посчитать скорость обмена РК86 с дисководом. Форматная емкость трека примерно 2.8 кб (столько умещалось при формате один большой сектор на трек). Это равно 2.8*8= 22.4 кбита. Это считывается за один оборот колеса. В минуте 300 оборотов, в секунде 5. Итого, скорость потока: 22.4 * 5= 112 килобит в секунду. Впрочем, т.к КНГМД работает байтами, то и считать надо в байтах. Нужно учитывать паузы на подсчёт КС, так что в реале РК-КНГМД не читает более 2-3 секторов 512 байт за оборот, даже с применением интерливинга (а в стандартном форматёре RKDOS его нет). Итого, скорость РК-КНГМД примерно 7 кб в секунду и, естественно, на практике падает из-за необходимости шагать по дорожкам.

rw6hrm
15.04.2017, 14:44
Вопрос: а зачем качать быстро? 9600 хватит всегда и всем. По крайней мере производители промышленного оборудования так и считают, кмк. Везде 9600 - стандарт. У меня вон вообще терминал работал на 300 бит/сек, и нормально было (хотя, если бы не совместимость с магнитной лентой, я б тоже поставил 9600).

barsik
15.04.2017, 15:23
зачем качать быстро? 9600 хватит всегда и всем
Вообще-то ответ ясен. Затем же, зачем Вы пользуетесь модемом 100 мбит/сек, а не 2400 байт в секунду? Чтобы было быстрее.

Не знаю для чего другим нужен последовательный интерфейс, а для меня это связь между PC и 8-ми разрядками. При скорости ~150 байт в секунду я передавал 16-ти кило-байтовую программу 2 минуты. Это не фатально, если делается редко. Но когда нужен интенсивный обмен это раздражает. При скорости обмена 1 кб в секунду уже как-то лучше. Но тоже не особо быстро, если надо загрузить много файлов. Впрочем, даже такой скорости достаточно для загрузки энергонезависимого эл.диска 256 кб (если это автоматизировано, т.е если все программы передаются сами по списку из BAT-файла), - 5 минут загрузки можно подождать.

Ну, а если IBM PC должна работать в качестве контроллера собственного винчестера, т.е имитировать привод DOS, то и скорость обмена должна быть не ниже скорости обмена с реальной дискетой. Т.е примерно 15 кб в секунду, что в килобитах 120 кбит в секунду. Т.е только при скорости ~100 кбит в секунду это будет работать со скоростью реального дисковода.


производители промышленного оборудования так и считают. Везде 9600 - стандарт
Промышленность ориентировалась на 9600, т.к последовательный интерфейс служил только для подключения принтера и мыши, где такой скорости хватает.

uart
15.04.2017, 15:46
barsik,
Нет, ПДП в РК-ДОС не мешает, его там специально из-за этого перестраивают. Если принять за емкость дорожки 2,8Кб, то на запись байта у процессора будет 16000000/9/5/2800 = 126 тактов. ВГ75 там настроена на 2 байта (8 тактов процессора) каждые 8 символов (10-11 тактов процессора). То есть в худшем случае у процессора равномерно заберут половину тактов, оставшихся вполне хватит. Но, конечно, без перестройки режима ПДП будут проблемы...
А вот для 38400/8N1 у процессора будет уже 462 такта.

barsik
15.04.2017, 17:32
ПДП в РК-ДОС не мешает

Считал иначе. И на практике наблюдал, что если для ускорения отменить VERIFY после записи сектора (тогда думал, что на хорошем НГМД это лишнее), то не работает.


ВГ75 там настроена на 2 байта (8 тактов процессора) каждые 8 символов (10-11 тактов процессора)

Таинственная фраза.

Предполагаю, что 2 байта это число байт в пакете ПДП. А почему 2 байта пересылаемые ПДП отнимают у CPU 8 машинных тактов? Я в этом не разбирался (зачем?), но как дилетанту мне казалось, что ПДП тратит 2 такта на пересылку одного байта. На первом такте читает из ОЗУ, а на втором пишет в порт. Если Вы знаете точно, что ПДП тратит на пересылку байта 4 такта, то приму к сведению.


каждые 8 символов (10-11 тактов процессора)

Этого не понял, потому что Ваш рассчёт не разъяснён, не "разжёван".

Командой "разрешение отображения" число тактов между посылками ПДП делают равным 7 периодам знакоместа. Сколько это машинных тактов? Период знакоместа - это период частоты 16 МГЦ:12= 1.333 МГц. Т.е 750 НСЕК. 7 периодов это - 5.25 МСЕК. Машинный такт длится 1:1.777= 0.563 МКСЕК. Итого в паузу между ПДП уложится: 5.25:0.563=9.3 машинных такта. Понятно, что начатый такт, цикл, а может быть и вообще всю процесорную команду КР580 закончит (этого я не знаю, но цикл доступа к ОЗУ он явно закончит). Это получается, что в паузах КР580 успевает сделать примерно 2 команды процессора (средняя длина команды считается 8 тактов), а затем стопорится на 8 тактов. Итого, грубо, - 10 тактов КР580 работает 8 тактов стоит.

Откуда фраза "каждые 8 символов"? А насчёт упомянутых 10-11 тактов возможно речь о 9-10, что я посчитал выше.


на запись байта у процессора будет 16000000/9/5/2800 = 126 тактов

Тоже не разжёвано, ничего не понял. Считаю сам.

Считать надо не так, а по работе контроллера. Надо смотреть как происходит запись в формате FM. А именно каждый бит пишется 4 МКСЕК. Итого байт пишется за 32 МКСЕК. А это не 126 машинных тактов, а 32:0.563= 56 машинных тактов. Делим на 18 и умножаем на 10. Итого, остаётся 31 машинный такт, чтобы дождаться готовности, считать/записать байт из порта, сдвинуть HL, уменьшить счётчик цикла и проверить его на 0. 31 такт это ~4 команды КР580. Этого явно не хватает даже на анализ флага в цикле, даже если делать его так извращённо, как делал Е.Седов (INC (HL) адресуясь в ППА). Так вот, по этим прикидкам получается, что ресурса нет. Похоже, что ПДП мешает! -- КР580 нормально считывает и записывает сектор, только когда его не рвёт ПДП. А это, как показал анализатор ~2/3 времени кадра. Может быть смена режима командой "разрешение отображения" что-то улучшает в работе, но ПДП явно вредит.

Для последовательного интерфейса на скорости 38400 быстродействия РК86 действительно хватит, хотя у меня получилось не 462 такта, а только 416:18*10=231 машинный такт. Но и этого явно хватит. Может быть даже хватит и на скорость 56К.

uart
15.04.2017, 19:22
А почему 2 байта пересылаемые ПДП отнимают у CPU 8 машинных тактов?
ВТ57 так работает, в даташит есть.


Откуда фраза "каждые 8 символов"? А насчёт упомянутых 10-11 тактов возможно речь о 9-10, что я посчитал выше.
Да, точно, не 8, а 7, соответственно от 10 тактов процессора.


Итого байт пишется за 32 МКСЕК
Это 31250 байт в секунду. 300 оборотов/минуту = 5 оборотов/секунду -> 6250 байт неформатируемой емкости на дорожку. Перебор в два раза для РКДОС. 3125 больше похоже на правду. У меня в эмуляторе как раз столько. SPEED.COM показывает 200 мсек - похоже на правду.

16000000(кварц)/9(делитель процессора)/5(оборотов диска в секунду)/3125(емкость трека в байтах) = 113,(7) тактов.

- - - Добавлено - - -

Вот операция чтения:


EE8C: 34 4 INR M
EE8D: F2 8C EE ... JP EE8C
EE90: DB F4 .. IN F4
EE92: 02 ▝ STAX B
EE93: 03 ▀ INX B
EE94: 1B . DCX D
EE95: 7A З MOV A,D
EE96: B3 . ORA E
EE97: C2 8C EE ... JNZ EE8C


Если не ошибаюсь, то 66 тактов - вполне хватает с ПДП

barsik
15.04.2017, 20:02
Перебор в расчёте в два раза

каждый бит пишется 4 МКСЕК

Так написано в МПСС 03.1986. Ошибается журнал МПСС или формат РК-КНГМД использует не FM, а какой-то иной формат? Или применяется побайтовая синхронизация на которой теряется неучтённое время. Нет смысла тратить время и разбираться в этом. Теоретически ничего нельзя выяснить не имея проверенных фактов, выяснить можно только экспериментами в реале. Работает и слава Богу. Я лично пользовался РК-КНГМД более 20 лет и вполне был доволен его работой.

Мне больше интересно сам-ли Е.Седов написал процедуры чтения/записи сектора и выбрал формат или заимствовал и где? Межсекторная информация выбрана очень грамотно, потому логично думать, что был прототип. Схему подобного КНГМД я видел за 5 лет до публикации в ж.РАДИО. Это схема РК-КНГМД от саратовской CP/M 1989 года и она сохранилась (хотя сама CP/M утеряна). Отличия есть, но не существенные, в основном в сепараторе данных и значении отлавливаемого синхробайта (там F3). Известно, что схема заимствована от КНГМД "Электроники-60" или ДВК. Нет смысла упоминать, что концепция RKDOS с T/S-List заимствована от ДОС Агата, которая есть копия APPLE-DOS 3.3 1978 года. Если концепция ДОС заимствована, то и остальные идеи возможно тоже.

Что за эмулятор, где работает RKDOS и где его можно скачать?

- - - Добавлено - - -

Допустим, как Вы посчитали, 113 машинных тактов. Чтобы учесть влияние ПДП разделим на 24 и умножим на 12, остаётся 56 тактов. Вот процедура записи в расчёте на Z80 (извиняюсь, ни исходников, ни таблиц для КР580 не имею). В ней 85 тактов. Т.е времени уже не хватает. А ведь ещё надо учесть, что цикл готовности может наступить не сразу, а прокрутится пару циклов без готовности. И таким образом процессор никак не успевает обслужить КНГМД, когда этому мешает ПДП. Потому запись сектора и требуется обязательно проверять.



AEF43: INC (HL) ; 11
JP P,AEF43 ; 17/10
LD A,(BC) ; 7
LD (PORT),A ; 13
INC BC ; 6
DEC DE ; 6
LD A,D ; 4
OR E ; 4
JP NZ,AEF43 ; 17

Итого: 85 машинных тактов.

b2m
15.04.2017, 20:20
Это 31250 байт в секунду. 300 оборотов/минуту = 5 оборотов/секунду -> 6250 байт неформатируемой емкости на дорожку.
Это если MFM, т.е. когда ВГ93 используется.


Перебор в два раза для РКДОС. 3125 больше похоже на правду.
А вот это больше на FM похоже.

uart
15.04.2017, 22:29
barsik, на РК не Z80, смысла смотреть на его растактовку нет, она другая. И не 10 тактов, а от 10, причём всегда будет больше. Через 10 тактов даже ВГ75 не гарантирует того, что выставит запрос на ВТ57. А потом ВТ57 должна заметить этот запрос и выдать на ВМ80, а тот его только на втором такте цикла проанализирует и тоже сразу не подтвердит. И я уже говорил, что на РК не Z80? ПДП тут начинает работать параллельно с последними тактами цикла. Правда нам это не поможет, просто в связи с вышеизложенным я затрудняюсь назвать точные тайминги. Видно только, что скорости хватает. И есть ещё резерв по программной оптимизации, но видать не потребовалась.
И вообще откуда возникла мысль, что РК-ДОС работает так криво? Если бы была проблема с ПДП, то проще было его отключить на время чтения/записи. Тем более за время чтения одного трека ПДП 10 раз целиком прогоняет весь экран, чтение либо работало, либо нет. Вот если режим ВГ75 не поменять, то сразу видно, что ничего не работает.
По поводу 4мксек. Насколько я помню, на запись одного логического бита расходуются два физических. Думаю время к физической записи относится. Тогда все сходится.
Мой эмулятор не подойдет, он только под macOS. Но новый emu80 тоже умеет РК-ДОС.

- - - Добавлено - - -

Плюс вот ещё какой резерв есть. Мы не должны выдерживать точно 113 тактов. Это лишь время, сколько считаный контролером байт доступен для чтения процессором. Если даже мы будем терять по 10 тактов на байт, то проблему мы почуствуем, когда пропустим 12-ый байт. Но ПДП на строчку делает 39 запросов. При 5-6 запросах на байт он уже гораздо раньше угомонится и даст процессору наверстать потерянное.

barsik
16.04.2017, 00:49
uart, Вы победили. Убедили, что работе RK-DOS на КР580 ПДП не особо мешает. Но это на пределе. Запаса нет, отчего при записи при определённых обстоятельствах возникают сбои. Но проблем нет, потому что есть проверка правильности записи.

Кстати, в теме "Секреты и трюки программирования РК" определили, что при входе и выходе из ПДП теряются ещё 4 такта, т.е получается, что на пересылку 2-х байтов тратится не 8 тактов, а 12 тактов и делить надо не на 18, а на 24 (10+2 + 12). Т.е сокращение числа рабочих тактов равно 12/24, т.е потери даже больше, чем при расчёте 10/18, как считалось в предыдущих постах. Но опять таки, эти расчёты основаны на умозрительных заключениях и потому бесполезны.


И есть ещё резерв по программной оптимизации, но видать она не потребовалась.

А вот это любопытно. Мне казалось, что Е.Седов использовал все резервы ускорения, о которых до него никто даже не подозревал. Не поделитесь сведениями, как ускорить работу процедур чтения/записи сектора.

Большая часть последнего Вашего поста непонятна, но это не важно.

uart
16.04.2017, 01:25
Не поделитесь сведениями, как ускорить работу процедур чтения/записи сектора.
Ну например DCX D/MOV A,D/ORA E заменить на DCR E, что даст цикл до 256 байт. Повторив процедуру чтения еще раз в коде - получим до 512 байт. Экономия 9 тактов.


Но в недавнем обсуждении в теме "Секреты и трюки программирования РК" выясгилось, что ВГ75 не запоминает в буфере экранной строки
Не знаю что там выяснилось, но ВГ75 заполняет буфер 78 символов (в нашем случае), поскольку запрашивает по 2 байта, то ему надо 39 запросов. Если не брать накладные расходы, то это 39x8=312 тактов процессора из 78x10x4/3=1040 требуемых для её отображения.

barsik
16.04.2017, 01:51
Ну например DCX D/MOV A,D/ORA E заменить на DCR E, что даст цикл до 256 байт. Повторив процедуру чтения еще раз в коде - получим до 512 байт. Экономия 9 тактов.

Это называется линейный участок. Так в драйвере вывода символов ОРИОНА или СПЕЦИАЛИСТА, чтобы ускорить вывод применяют не петлю DJNZ с загрузкой в рег.B числа 10 (высота знакоместа), а без петли вставляют 10 повторяющихся участков пересылки 1-го байта (из фонта в экран). Ускорение на время в 10 команд DJNZ, но расход в 40 байтов.

Эта идея поможет в CP/M, где все секторы одного размера. Но в RK-DOS нет. Т.к в RK-DOS секторы переменной длины (от 1 байта до 512). Чтобы это учесть с такими двумя последовательными циклами надо всякий раз модифицировать код. Так что этим кто-то стал бы заниматься только в самом крайнем случае, когда другого спасения, чтобы выиграть скорость, нет. Т.е надо нужное число читаемых или записываемых байт раскидывать в два регистра E - в первом цикле и во втором. И убирать второй цикл, если число менее 256.

uart
16.04.2017, 08:10
Т.к в RK-DOS секторы переменной длины (от 1 байта до 512). Чтобы это учесть с такими двумя последовательными циклами надо всякий раз модифицировать код
Не надо ничего модифицировать. Длина в DE, поэтому при DE от 0x101 до 0x200 все работает сходу. При меньших значениях на вторую часть кода надо переходить, тем самым выполнив цикл только один раз.

barsik
16.04.2017, 10:38
Повторив процедуру чтения еще раз ... получим чтение сектора до 512 байт

Не надо ничего модифицировать. Длина в DE, поэтому при DE от 0x101 до 0x200 все работает сходу. При меньших значениях на вторую часть кода надо переходить

Опять подводит Ваша лаконичность, т.е плохое разъяснение материала. Дана только идея, оставляя все детали на домыслие читателя.

Приведите пожалуйста исходный код петель чтения и записи, реализующих обсуждаемую идею и работающий в ПЗУ (что и имеет место для RK-DOS на РК86 и СПЕЦИАЛИСТЕ).

uart
16.04.2017, 11:02
barsik, к примеру заходим с длиной сектора 0x156 в DE. В E соответнно 0x56, первый цикл столько и отработает. В E станет 0 и второй цикл выполнится 256 раз. Итого 0x156. Так что для длин секторов от 0x101 до 0x200 все работает.
А вот если длина меньше и цикл надо выполнить один раз, то нужен первоначальный переход на второй цикл. Но знаем мы это ещё до чтения данных сектора, после чтения его заголовка, у нас ещё куча времени.
Но поскольку времени и так хватает, такая оптимизация необязательна, даже вредна, объём ПЗУ у нас ограничен.

barsik
16.04.2017, 12:02
для длин секторов до 200H все работает

Спасибо за разъяснение. К сожалению, CP/M работает секторами по 128 байт, из-за чего читает не сразу на место загрузки (DMA), как это делает RK-DOS, а сначала читает в дисковый буфер, равный, в минимуме, размеру физ.сектора, а в оптимуме, равный размеру CP/M-блока в 2 кб. А затем выполняет море пересылок лог.секторов по 128 байт, что дико тормозит.

Поэтому первая версия CP/M что я странслировал на базе подпрограмм Е.Седова (в 1994) работала примерно в 50 раз медленнее, чем RK-DOS. Т.е потребительная ценность была нулевой. Спустя год усовершенствований удалось довести скорость обмена в CP/M до скорости примерно в 10 раз медленнее, чем RK-DOS. Это довольно быстро, с учётом того, что в RK-DOS дискетная загрузка происходит мгновенно, что никаким версиям CP/M для 8-ми разрядок и не снилась. Скорость обмена такая же как при SD-формате (400К) с КНГМД на базе ВГ93.

Однако, чтобы выиграть скорость использовались сектора не 512 байт, как у Е.Седова, а сектора с размером CP/M-блока (отпадают лишние поиски секторов, а также расчёты позиций в буфере). Сектора размером в блок не позволяют максимально использовать полезный объём трека, хотя существенно ускоряют. Максимально выгодны сектора размером целиком во весь трек. Формат - один сектор на трек. Что не только даёт максимальную ёмкость диска (отпадают межсекторные гапы, куча служебной информации, а кратность размера сектора допустима в 128 байт, - т.е всё пространство трека используется максимально, т.е на форматную ёмкость), но и существенно ускоряет.

Недостаток такого формата в том, что если есть дохлота в треке, то дохлым помечается не только один CP/M-блок, а сразу несколько, т.е при плохих дисках быстро растут потери полезного объёма. Кстати формат один сектор на весь трек применяется в первом Apple MAC (880К на DD-диск). Второй, более существенный недостаток, - это большой размер дискового буфера, что сокращает TPA, поэтому, когда я стал использовать DOS ОРИОНА в банке 0 (где свободного ОЗУ совсем мало), то вынужден был вновь вернуться к формату с секторами по 512 байт и найти другие способы повышения скорости обмена.

Кроме того, при использовании даже самОй RK-DOS на хорошем дисководе приходится менять размер сектора, т.к во VTOC на информацию о занятых секторах трека отведён только один байт, тем самым число секторов в треке не может превышать 8 (для сравнения в DOS Агата на это отведено 4 байта, отчего макс.число секторов 32). Таким образом при 8 секторах на трек мы имеем только 8*512= 4 кб на трек, т.е лишь 640 кб на диск. Поэтому приходится размер сектора в RK-DOS увеличивать до 1 кб, что позволяет иметь диски размером до 1280К. Обычно я использовал RK-DOS в формате 800К (с секторами в 1 кб), а CP/M в формате 880 и 960 кб. Для обоих случаев предложенная оптимизация - не вариант.

Это я пояснил, почему данный трюк для CP/M не очень-то удачен. Если надо читать блок в 1 кб или в 3 кб, как это поможет? Кстати, в RK-DOS имеется возможность поднять скорость обмена, используя формат с интерливингом. Впрочем, RK-DOS и без того самая быстрая ДОС для 8-ми разрядок. Хотя для винчестера, где важна скорость, толку от этого мало, т.к концепция изначально не поддерживает большие диски.


времени и так хватает, такая оптимизация необязательна

Мне времени не всегда хватало. В ранних вариантах CP/M на базе РК-КНГМД, где я ещё не модифицировал константы (в процедурах Е.Седова для РК-КНГМД, почти всё на задержках, привязано к скорости CPU) приходилось работать на низких скоростях CPU в формате 880 кб и выше. И скоростей не хватало (при отказе от извращений Е.Седова, что пригодны только для КР580, времена петель увеличись в 1.5 раза) и хотя аппаратно увеличить скорость прогона можно, но код не позволяет. Вот тут и нужен был дополнительный ресурс ускорения процедур.

uart
16.04.2017, 13:34
barsik, для 3К ничего принципиально не меняется, только циклов не 2, а 12. Но вопрос в другом. У РК производительность с ПДП больше, чем требуется для последовательного порта 115200. У Специалиста тем более, ограничивает тут только микросхема контроллера.

rw6hrm
23.04.2017, 21:50
Ещё мыслю спрошу, опять же про стандартную схему. Адресация УВВ как ячеек памяти - это удобно и привычно (особенно для любителей 6502, типа меня ;)). Ставим дополнительно ИД3 - и получаем ещё 15 дополнительных чипселектов. НО: а почему бы, для личного пользования, не сделать поверх основной схемы ещё и "нормальное" адресное поле для УВВ? Монитор переделывать не надо, ибо новые устройства поначалу будут использоваться исключительно автором доделки, а там как получится. Никаких подводных камней не видно? ВК28/38 использовать необязательно, дюже они жрущие питалово, а вот ТМ7+ЛА3 вполне достаточно будет... Вроде бы как бы команды IN/OUT в стандартной схеме не используются и ни на что не влияют (или я плохо смотрел)...

fifan
24.04.2017, 06:33
А зачем нам "нормальное" адресное поле для УВВ? Что хотите подключать?

barsik
24.04.2017, 09:10
ВК28/38 использовать необязательно, дюже они жрущие питание

Нет, не дюже. Они тёпленькие, но отнюдь не такие раскалённые, как АП16. Они не горячее процессора и даже некоторых 155-той серии (например, 155ИЕ7 жрёт больше). Пальцем держать ВК28 вполне можно. Если уж так заботит экономия электроэнергии, то в первую очередь надо заменить АП16 на 1533АП6 и ИР12 на 1533ИР22 (у меня так и сделано).

ВК28 очень полезны, т.к заменяют контроллер прерываний (дают одно прерывание без затрат деталей) и главное, позволяют разогнать КР580 до 3.5 МГЦ. У меня ВК28 стоял на 3-х платах ЭКСПРЕСС. Их установка обходится в 2 вентиля из 555ЛА3. Однако, если Вы фанат бейсика, то Вам нельзя связываться с ВК28. После установки ВК28 у меня почему-то перестал работать бейсик (также как и после установки Z80, а как это связано даже не понял). ВК28 на плате ЭКСПРЕСС удобно ставить вместо крайней панельки ПЗУ.


Зачем Вам адресное поле УВВ?

А действительно, зачем Вам вводить IN/OUT, если в базовом СПЕЦИАЛИСТЕ есть аж 2 кб пространства для введения дополнительных портов. Обычно область F800...FFFF делят дешифратором ИД7 на 8 участков. Причём стандартизован только участок FF00...FFFF для порта клавиатуры. Ну ещё во всех расширениях, что я видел, почему-то все ставили доп.ППА для подключения УФ-ПЗУ прошивателя и параллельного принтера на FE00 (но это не догма, т.к приличные УФ-прошиватели имеют в меню пункт выбора адреса порта). Разве Вам не хватит 6-ти чип селектов на Ваши нужды?

Ну, а связываться с 155ИД3 просто неразумно. Во-первых её нет в отечественных сериях 555 и 1533. Т.е придётся или применять 155-ю серию, что глупо, т.к это сильно нагрузит шины, или же мучиться с поиском вражеского аналога в маложрущем исполнении. Но я её не люблю не поэтому. А потому, что она слишком большая по конструктиву и не напаивается вторым этажом на ИМС уже стоящие на плате.

В качестве дешифратора, я предпочитаю применять ИД14 (74LS139), т.к это сразу два дешифратора, а это всегда даёт бОльшую гибкость (а более 4-х устройств никогда было иметь не надо). Первым дешифратором делим грубо, а вторым дешифратором из одного из участков получаем нужные 4 чип-селекта. Раньше, я не знал про ИД14, но когда увидел их в схеме Apple-II, то сразу оценил.


для любителей 6502, типа меня

А вы не хотите поставить в СПЕЦИАЛИСТ 6502? На такте 1/1.25 МГЦ синхронно, а на такте 1.5 МГЦ несинхронно. В Apple-II используется свойство 6502, что весь доступ к ОЗУ он делает при низком уровне Ф1, таким образом вторая половина периода Ф1 свободна для доступа к ОЗУ видео-части. Это же свойство может помочь сделать прозрачный доступ и в СПЕЦИАЛИСТЕ на такте 1 или (при замене кварца 8 на 10) 1.25 МГЦ.

rw6hrm
24.04.2017, 09:50
связываться с 155ИД3 просто неразумно. Во-первых её нет в отечественных сериях 555 и 1533.
Я тоже так думал некоторое время. Однако 1533ИД3 ну просто валом ;) на все скусы, http://zx-pk.ru/attachment.php?attachmentid=47602&d=1398092029

А зачем нам "нормальное" адресное поле для УВВ?
...а мало ли,...

ВК28 очень полезны, т.к заменяют контроллер прерываний
Я их рассматривал только как дешифраторы работы с памятью/с УВВ. С прерываниями в Спеце косяк, ибо изначально не предусмотрено. "Кто будет переписывать монитор?" (Цэ)

Они тёпленькие
200 - 250 мА потребления. ТМ7+ЛА3 жрут 50 мА максимум. Про АП16/ИР12 согласен полностью, но заменять не буду...

А вы не хотите поставить в СПЕЦИАЛИСТ 6502?
Уже есть аппарат на 6502 (http://zx-pk.ru/threads/23276-quot-ayusha-quot-kontroller-na-6502.html), он мне нравится. И, кстати, прекрасно эмулирующий 8080. А Спец - это первая любовь, собранная своими руками. Вот, достался от добрых людей клон "Дон" за батл коньяку (а не за пять тыр, как некоторые продают в Барахолке), нафаршированный жирными и сочными КМками, непаяный, практически девственный, прекрасно рабочий. Вот и думаю, как совсем немного его пошурудить для более удобного использования. Вариант с допОЗУ вместо ПЗУ уже готов, доделаю SD-карту и остановлюсь. Возможно...

zx_
24.04.2017, 13:11
нам бы схемку иль чертеж
как РК ДОС контроллер подключить к Специалисту?

и саму дос адаптированную к спецу и ее утилиты
barsik, может быть у Вас все это есть?

fifan
24.04.2017, 15:06
как РК ДОС контроллер подключить к Специалисту?
А что это? Дайте ссылку.

barsik
24.04.2017, 15:18
СПЕЦИАЛИСТ на КР580 примечателен тем, что к нему всё РК-шное дисководное хозяйство годится без переделок. Судите сами.

1. входы в ПЗУ F800, - имеем
2. порт РК-КНГМД F000, - имеем
3. процессор КР580, - имеем
4. его такт в районе 1.77 МГЦ, - имеем
5. ПЗУ E000...EFFF, - имеем
6. ОЗУ в области 0...7FFF, - имеем

Таким образом ничего переделывать даже не требуется. Также как и менять что-либо в контроллере. На СПЕЦИАЛИСТЕ работают и все утилиты RK-DOS без переделок. Однако полезные и нужные сервисные программы, в частности диск-доктор DOCTOR.COM и нортон РК86 от Е.Седова SE.COM работать не будут, т.к они выводят на экран не стандартными подпрограммами ПЗУ, а прямой записью символов в экран.

Я в своё время именно из-за этой же задачи разработал способы визуализации программ (для ОРИОНА, но для СПЕЦИАЛИСТА это ещё удобнее, т.к у него нет ПЗУ в области F800). Самый лобовой вариант визуализации - на прерываниях (тут всё понятно, но пока это оставим). Рассмотрим программную визуализацию программ РК86 на СПЕЦИАЛИСТЕ. Это годится даже для игр, хотя на 2 МГЦ будет слегка тормознуто, но для визуализации системных программ 2 МГЦ вполне хватит.

По сути ниже я опишу вариант аппаратно-программного эмулятора РК86 на СПЕЦИАЛИСТЕ. По сути надо назвать программным эмулятором, т.к всё делается программно, но термин "программная эмуляция" - это совсем иное. Делается это так.

В ПЗУ D800 размещают перетранслированный ROM-BIOS РК86. В нём следующие изменения. Опрос клавиатуры F81B и F803 переадресуются на C81B и C803 в мониторе Орлова, а подпрограмма F809 сначала исполняет код из ПЗУ РК86, а затем дублирует вывод на графическом экране СПЕЦИАЛИСТА. Таким образом все служебные ячейки ПЗУ РК86 обслуживаются и содержат правильные данные, но и на экране СПЕЦИАЛИСТА весь вывод РК-программы виден. Уже это позволяет использовать корректные программы РК86 на СПЕЦИАЛИСТЕ. Но не это наша цель. Нам надо чтобы визуализировались программы с прямой записью в экранное ОЗУ РК86.

Для этого вводятся программные прерывания по входам F803 и F81B. Процедура F803 (ожидание символа с клавиатуры) перед вводом делает полную визуализацию экрана при каждом входе. А подпрограмма F81B делает визуализацию лишь при каждом 500-том вызове. Таким образом любая программа опрашивающая клавиатуру функциями ПЗУ будет верно визуализирована на СПЕЦИАЛИСТЕ. Программы РК86 ожидающие нажатий в цикле с опросом F81B обычно делают в секунду 3000 вызовов (на СПЕЦИАЛИСТЕ ещё больше, т.к опрос клавиш на СПЕЦИАЛИСТЕ быстрее). Для того чтобы использовать такой эмулятор в RKDOS удобнее всего иметь в области D000...EFFF ОЗУ. Также надо иметь ОЗУ в области F800...F8FF или же с помощью диодов надо обеспечить выборку ПЗУ/ОЗУ D800...D8FF в области F800...F8FF. Таким образом СПЕЦИАЛИСТ получает входы F800, F803, F806, F809.... Для отладки в области F800...F8FF удобно иметь ОЗУ.

Итак, используя программную визуализацию без всяких апп.прерываний делается видимой даже работа тех РК-программ, что работают с экраном напрямую. В частности будет работать DISK DOCTOR (без него в RKDOS тяжело), а также нортон SE.COM от Е.Седова.

Впрочем нортон можно сделать и более приличным, т.к у меня есть свой нортон для РК-ДОС. Правда для СПЕЦИАЛИСТА он не годится, т.к работает только на ОРИОНЕ, используя цветной оконный драйвер со шрифтом 8*8. Если адаптировать этот драйвер для СПЕЦИАЛИСТА, то тогда нортон подойдёт (а адаптировать цветной драйвер в монохром не так уж сложно, благо формат экрана одинаков).

Я уже выкладывал в прошлом году RK-DOS для ОРИОНА и РК86. К сожалению, сейчас этот сайт закрылся и ссылки больше не работают.

Как сказано выше можно использовать полный оригинал. Но тут Вам надо думать. Что лучше? Полный оригинал, в котором будут работать все программы RK-DOS или версия RK-DOS для полного ОЗУ в 9000. Версия оригинал использует раб. ячейки DOS в области 7600, что невыгодно, т.к оставляет для программ лишь ОЗУ ниже 7000. Если же версию перетранслировать так, чтобы раб.ячейки DOS были ниже 8F60, то не будут работать никакие программы RK-DOS (это идиотизм, но в этой DOS интерфейс ячейками, т.е параметры функциям передаются не в регистрах, а в жёстко фиксированных ячейках ОЗУ).

Поэтому если в RK-DOS меняется RAMTOP и адреса раб.ячеек, то надо перетранслировать все программы. Это было бы несложно, и для утилит это не проблема (я их дизассемблировал и теперь нет трудности странслировать для любых адресов). Но вот РК-программы просто перетранслировать нельзя, т.к в них другой принцип вывода на экран. А трахаться и разбираться в сложной чужой программе, а затем вручную менять в ней алгоритм работы с экраном, это удовольствие ниже среднего. Поэтому и пришлось прибегнуть к способу программной визуализации.

Кстати, чуть позднее, я написал полностью программный эмулятор РК86 на ОРИОНЕ с Z80, который позволил бы решить проблему по новому. К сожалению, не использовал эмулятор РК86 для RK-DOS (уже был конец 90-х и было не надо), но теоретически это не проблема. Тогда все программы РК86 программно эмулируются, но все дисководные процедуры прогоняются в реале на РК-КНГМД стоящем в ОРИОНЕ. Эмулировать дисководные подпрограммы в реальном времени невозможно (т.к для этого нужна скорость Z80 минимум в 12-15 раз больше, чем имелось реально).

Если Вам лениво потратить усилия на дизассемблирование, то могу выложить исходники RK-DOS 2.95 и исходники утилит RK-DOS, но не сейчас, а вечером. Просто установка РК-КНГМД на СПЕЦИАЛИСТ - не интересна, это ничуть не сложнее, чем то же самое на РК86. Гораздо интереснее добиться полной работоспособности всех программ RK-DOS на СПЕЦИАЛИСТЕ.

PS: Если интересует, то аппаратно программную эмуляцию РК86 можно использовать даже для игр РК86, хотя только для тех, что не меняют режим ВГ75. Т.к сильнее всего тормозит сам графический вывод символов, чтобы ускорить эмуляцию, делаем так. В ОЗУ храним копию экрана РК86 (~2 кб). В процедуре визуализации не будем выводить все экранные символы, т.к это очень долго. Будем выводить только те символы, что поменялись с предыдущей визуализации. Сравниваем символы реального экрана на 76D0 и старого дубля экрана и по обнаружении несовпадения выводим символ в эту позицию на экране СПЕЦИАЛИСТА. Таким образом число экранных выводов существенно падает и визулизация тормозит гораздо меньше.

zx_
24.04.2017, 15:18
А что это? Дайте ссылку.
по мотивам сообщений barsik

скорее всего я ошибаюсь, и мне показалось, что barsik использовал РК ДОС совместно со спецом

barsik
24.04.2017, 18:05
barsik использовал РК ДОС на СПЕЦИАЛИСТЕ

Нет, увы, я использовал RK-DOS не на СПЕЦИАЛИСТЕ, а именно на ОРИОНЕ.

На СПЕЦИАЛИСТЕ был внешний эл.диск 256К и обычный КНГМД КОРВЕТА на базе ВГ93 (и CP/M-36К). Собственно СПЕЦИАЛИСТ-ов было довольно много. И на нескольких из них стояли разъёмы-слоты на 50 контактов, причём с распайкой как в МИКРОШЕ. Поэтому в этот слот ставился и РК-КНГМД и плата адаптер с ВВ55, куда подключался УФ-программатор, адаптер принтера и даже ROM-диск. Я имел коробку слотов СНП (купил в 80-тые для Apple-II) и много эпловских слотов от плат Apple-II. Потому эти слоты ставил везде. Распайка контактов была стандартна, потому РК-КНГМД я мог воткнуть куда угодно. Потому и на трех моих платах ОРИОНА стоят слоты, куда ставится РК-КНГМД. Вообще слоты для любительской ЭВМ удобны.

В СПЕЦИАЛИСТЕ одновременно можно было включить только один КНГМД (слот один). И обычно туда включался КНГМД на ВГ93, хотя CP/M-36К на ВГ93 была довольно убогой. Потому RK-DOS на СПЕЦИАЛИСТЕ я имел недолго и даже не использовал. RK-DOS не интересовала. Задача была вытащить из неё подпрограммы чтения и записи сектора. Плюс РК86-го был в том, что он очень легко переделывался в 60К CP/M-компьютер, потому СПЕЦИАЛИСТ вообще отпал. Но и РК86 не стал крутой CP/M-машиной из-за низкой скорости. Чтобы её поднять пытался поставить ВК28, но не сумел. А СПЕЦИАЛИСТОМ с тех пор вообще не пользовался.

Ставьте РК-КНГМД в СПЕЦИАЛИСТ. Это легче чем "химичить" пытаясь выжать формат 800К при КР580 на такте 2 МГЦ из контроллера на ВГ93. А если не повышать такт до 2.5 МГЦ (что плющит экран), то КНГМД на ВГ93 не даёт формат больше, чем РК-КНГМД. Кроме того, можно использовать и CP/M для РК-КНГМД.

barsik
26.04.2017, 05:53
По поводу мыслей. О Специалисте.

Была у меня одна мысль о 'Специалисте' в 1988 году. Она заключалась в идее-бзик сделать низкопотребляющий вариант 'Специалиста'. На КМОП сериях 561 и 1561. Чтобы потребление электро энергии довести до минимума и не волочить повсюду мощный трансформатор на 2 ампера по 5 вольтам. Все счётчики, кроме первого (что на такте 8-10 МГЦ) работают на такте ниже 1 МГЦ и их время задержки не важно. Да и остальные ИМС, кроме КП12 (они нагружены на много входов ОЗУ) могут быть КМОП. Потребление КР580 оказывается тоже можно снизить в несколько раз, убрав питание -5В и +12В, как написано в ж.Радиолюбитель (1992). Питание ПЗУ можно сделать динамическим, а всё ОЗУ заменить на статику. Да и в начале 90-х стал доступен КМОП вариант Z80 называемый SU880, что жрёт всего 4 мА. Когда электропотребление будет ~50 мА, то можно избавиться от громоздкого БП с тяжёлым трансформатором и разместить 'Специалист' в дипломате, что упростило бы транспортировку (и 'Apple-I' был сделан в дипломате). Удивляет почему делая римейки рэтро ЭВМ не делают их КМОП-варианты?

Была и вторая мысль. Поставить для КР580 арифметический сопроцессор AMD 9511 (28 ног). Его часто использовали в 8-ми разрядках 70-х и начала 80-х годов, особенно на таких убогих процессорах, где нет 16-ти разрядной арифметики (в частности 6502). Это вообще-то 'Floating Point Unit'. Но попутно, он не только реализует расчёты с плавающей точкой и тригонометрические функции, но и даёт 16-ти и 32-х разрядные операции над целыми числами, причём не только умножение и деление, но даже сложение и вычитание (как известно в КР580 нет вычитания 16-ти разрядных чисел, в отличие от Z80). Плавающая точка позволяет ускорить и упростить бейсик и чертить круги с гораздо большей скоростью (для кругов нужны тригонометрические расчёты, которые иногда грубо заменяют табличными). Использование сопроцессора позволит на 'Специалисте' значительно ускорить рассчёты межпланетных перелётов, из-за чего так мучились отечественные разработчики в 50-е годы (даже промахнулись ракетой мимо Луны). Кроме того, есть ещё и сопроцессор 9512, который может то же самое, но дабавляет ещё какие-то трансцендентальные функции (которые очевидно полезны для чего-то).

rw6hrm
26.04.2017, 07:43
Epson HX-20 был в основном сделан на КМОПе и потреблял как раз 50 мА в режиме счёта ( и 4 мА в режиме ожидания нажатия кнопки). Так что идея вполне живуча.
9511 у меня лежит, но мало у кого он ещё есть, его цена отпугнёт многих, а любители "золотых ножек" невозбранно возбудятся. Хотя, надо отметить, действительно классный чип (единственный, на который Интел купили лицензию на производство), но не поддержанный программно, особенно у нас... Так что до Луны нам ещё далеко.

barsik
26.04.2017, 12:48
Еще мысль. О 'Специалисте'. Что насчёт того, чтобы поставить в 'Специалист' второй процессор. Это можно сделать грамотно. Тут есть куча вариантов, причём и довольно интересных. Во-первых, можно поставить второй процессор в роли сопроцессора, как это сделано 'Apple-II'. Под этим понимается то, что оба процессора одновременно присутствуют в системе и работают по очереди.

Так Apple-II стартует с родным антикварным процессором 6502. Но когда скорости 6502 в 1 МГЦ не хватает, то он программно передаёт управление более мощным процессорам. Исторически первый сопроцессор введён на платке Microsoft Z80 Soft Card, где Z80 работает на такте в 3.5 МГЦ. Но когда и мощности Z80 не хватает, то ставят карту с 32-х разрядным CPU 68008 на такте в 7 МГЦ, что довольно неплохо для компьютера из 1976 года. Но нам интересно то, что можно программно переходить от одного CPU к другому.

Если просто заменить КР580 на Z80, то не смогут работать несовместимые программы (а такие есть). Да и ставить Z80 разумно стразу на двойном или тройном такте в 4/6/8 МГЦ. И кстати, замена на Z80 может быть сделана грамотно, - реверсивной и без вторжений в оригинальную плату СПЕЦИАЛИСТА. Для этого крошечная платка с Z80 и парой TTL-корпусов обрамления втыкается вместо вынутого из панельки КР580. Так делали в начале 90-х для установки Z80 в ОРИОН. Так достигается тупая "лобовая" замена КР580 на Z80 на той же самой частоте 2 МГЦ (или 2.5 МГЦ, если стоит кварц 10 МГЦ).

Но Z80 более скоростной и даже самый тормозной Z80 работает на такте 5 МГЦ (это может даже UB880 MME с паспортной частотой 2.5 МГЦ). Поэтому не составляет проблемы использование Z80 в 'Специалисте' на такте 4 МГЦ. Но тут тоже 2 варианта. 4 МГЦ с WAIT (Турбо 142%) или без WAIT. Удачно, что в СПЕЦИАЛИСТЕ такт всего 2 МГЦ в отличие от ОРИОНА (где такт ошибочно подняли до 2.5 МГЦ, что сплющило экран). Поэтому двойной такт равен всего 4 МГЦ, а такую частоту вполне тянут даже тормозные РУ5-тые или РУ6-тые (а вот с РУ3-тьими вряд-ли). На 4 МГЦ динамические ОЗУ не перегреваются даже без вентилятора.

Выгоднее всего поднять такт /RAS /CAS до 4 МГЦ. Что одновременно даёт ускорение 200% и шанс на хороший цвет (т.к за время сдвига экранного байта происходит 4 чтения экранного ОЗУ). Переделка проста, перекинуть несколько проводков и добавить пару TTL-корпусов. Сам я такой вариант не делал, т.к у меня СПЕЦИАЛИСТ переделанный на 2.5 МГЦ (чтобы работал КНГМД на базе ВГ93), а при двойном такте в 5 МГЦ ОЗУ перегреваются без вентилятора.

Потому в моём 'Специалисте' сделано Турбо с WAIT, отчего имею реальный такт в 2.5*1.42=3.55 МГЦ. При этом ОЗУ на том же такте и не перегревается, электропотребление ниже, работает даже КМОП Z80. Но особо ценно, что на плате ЭКСПРЕСС стоит панелька для ПЗУ на 28 ног, что позволяет и при схеме Турбо с WAIT иметь 200% скорости. Из ОЗУ РУ5 читается экран, но ОЗУ 0...7FFF без проблем меняется на статику 62256, для которых WAIT не нужен. WAIT не нужен также для ПЗУ. Т.е без всяких усилий и без перегрева ОЗУ, получаем ускорение 200%. Т.о на плате ЭКСПРЕСС даже при Турбо с WAIT код с адресов 0...7FFF и C000...F7FF прогоняется полностью с двойным ускорением.

Конечно конструктивно замена на Z80 проще (особенно на том же такте в 2 МГЦ, т.е без Турбо), но для прогона старого ПО выгоднее сохранить КР580, т.е ставить Z80 как сопроцессор. Тогда Z80 ставим на слепыше привинченном с краю платы ЭКСПРЕСС и подключаем параллельно КР580 (можно втыкать платку сопроцессора в слот, если он есть). Нужна схема управления, чтобы в любой момент времени или на КР580 или на Z80 был активен сигнал HOLD, захват шины. Z80 работает только, когда есть HLDA от КР580, что исключает конфликт на шине.

У меня пока нет схемы позволяющей передавать управление от одного CPU к другому и обратно (этой темой не занимался). Например, можно сделать так. Одно (а лучше 4) ПЗУ РФ2 'Специалиста' отдаются Z80. Когда работает Z80, то эти ПЗУ включаются с 0 и содержат скоростной драйвер вывода на экран (в 8 кб умещается более-менее приличный драйвер). Тогда Z80 реализует скоростной терминал для КР580, т.е опрашивает клавиатуру и выводит на экран. Для передачи управления КР580 достаточно дать строб в какой-то порт, отчего сразу же на его входе HOLD возникнет 0 и шина освободится, одновременно включив ПЗУ Z80 с адреса 0 и выдав RESET Z80 длиной в несколько тактов. И управление переходит к Z80, который считывает команду от КР580 из предназначенной для этого ячейки ОЗУ и выполняет её.

А ещё лучше, когда при работе Z80 экран 'Специалиста' виден, а при работе КР580 экрана нет и все 48К остаются для программ (т.е когда есть "разворот" неиспользуемых 16-К ОЗУ стоящих под ПЗУ). Но такой режим только для новых программ, т.к старые программы 'Специалиста' ошибочно предполагают, что экран всегда присутствует.

При тактировании Z80 тактом в 6 или 8 МГЦ, при экранном ОЗУ (8000...BFFF) на такте 2 МГЦ и статическом ОЗУ (0...7FFF) на такте Z80, из платы ЭКСПРЕСС получается симпатичный компьютер на КР580 с тактом 2 МГЦ, причём 100% совместимый с базовым 'Специалистом', т.к ПЗУ C000...CFFF остаётся базовым и такт тот же самый, причём вывод символа подпрограммой C037 и ролик будут уже далеко не такими тормозными.

БольшАя скорость работы с текстом конечно ценна, но главное это позволяет скоростной обмен по линии с IBM PC без расхода деталей и лишней пайки. По трудоёмкости намного проще поставить Z80 как сопроцессор, чем монтировать сложный последовательный интерфейс на ВИ53 и ВВ51. Z80 на такте 8 МГЦ без доп.ИМС, лишь за счёт программного интерфейса даёт скорость обмена выше, чем может обеспечить громоздкая схема с ВВ51.

Второй скоростной Z80 позволит 100% эмулировать РК86, причём вариантов для этого - тьма. Если в 'Специалисте' есть цвет (который кстати, не тормозит), то можно прогонять и цветные программы РК86 и Микроши. А вот программы от Партнёра и других извращённых клонов РК86, где ОЗУ немеряно, т.е больше чем 32К, не годятся для эмуляции на 'Специалисте'.

Есть также идея поставить в Специалист в качестве сопроцессора несовместимый процессор, в частности 6502 на такте 1 МГЦ или 8088 на такте 4 МГЦ или 68008 на такте 8 МГЦ. Эти варианты намного привлекательнее, чем тривиальная установка Z80. Кстати, процессор 8088 можно ставить на замену КР580, т.к программы СПЕЦИАЛИСТА не проблема конвертировать в программы для 8088 или 68008 (соответствующее ПО есть), а вот программы Z80 конвертировать нельзя.

SYR-ALEX
26.04.2017, 20:23
Если просто заменить КР580 на Z80, то не смогут работать несовместимые программы (а такие есть). Да и ставить Z80 разумно стразу на двойном или тройном такте в 4/6/8 МГЦ. И кстати, замена на Z80 может быть сделана грамотно, - реверсивной и без вторжений в оригинальную плату СПЕЦИАЛИСТА. Для этого крошечная платка с Z80 и парой TTL-корпусов обрамления втыкается вместо вынутого из панельки КР580. Так делали в начале 90-х для установки Z80 в ОРИОН. Так достигается тупая "лобовая" замена КР580 на Z80 на той же самой частоте 2 МГЦ (или 2.5 МГЦ, если стоит кварц 10 МГЦ).

Но Z80 более скоростной и даже самый тормозной Z80 работает на такте 5 МГЦ (это может даже UB880 MME с паспортной частотой 2.5 МГЦ). Поэтому не составляет проблемы использование Z80 в 'Специалисте' на такте 4 МГЦ. Но тут тоже 2 варианта. 4 МГЦ с WAIT (Турбо 142%) или без WAIT. Удачно, что в СПЕЦИАЛИСТЕ такт всего 2 МГЦ в отличие от ОРИОНА (где такт ошибочно подняли до 2.5 МГЦ, что сплющило экран). Поэтому двойной такт равен всего 4 МГЦ, а такую частоту вполне тянут даже тормозные РУ5-тые или РУ6-тые (а вот с РУ3-тьими вряд-ли). На 4 МГЦ динамические ОЗУ не перегреваются даже без вентилятора.



Зачем изобретать велосипед . Вот вам готовый . (http://zx-pk.ru/threads/27597-syabr-sborka-i-naladka.html?p=906928&viewfull=1#post906928) На сегодня можно использовать 3 процессора на выбор ( I8080 , I8085 , Z80 ) . Турбо режимы . WAIT только для Z80 на BTURBO ( TURBO x 2 ) при обращении к портам на 580ВВ55 так как больше 5Мгц ВВшки не успевают . Работа в ОЗУ/ПЗУ NO WAIT.

Про I8088 тоже задумывался . В СЯБРЕ его тоже можно применить с прозрачным доступом к ОЗУ . Но остановила проблема с софтом . Лучшие Motorola V20 или V25 точно не вспомню , он умеет опкод i8080 выполнять .

Вы упомянули о софте способном конвертировать код i8080 в х86 . Хотелось бы узнать о нём побольше .

barsik
26.04.2017, 21:06
Вы упомянули о софте способном конвертировать код i8080 в х86 . Хотелось бы узнать о нём побольше

В состав фирменного дистрибутива CP/M входила и на всех компьютерах в конце 80-тых постоянно "болталась" программа конверсии, называлась кажется I80Z80.COM или как-то так. У меня это 10 лет лежало без пользы , пока бесславно не погибло при крахе винта. Но когда я недавно осматривал сайты CP/M, на многих сайтах встречал эту или подобные программы. Да и написать её на любом ЯВУ совсем не проблема, т.к в КР580 и 8086 флаги по одинаковым битам и все команды КР580 входят в команды 8086, как подмножество. Так что конверсия это просто замена одних ASCII строк другими.

А вот конверсия программ Z80 это сложнее. В 1991 фирма 'Motorolla' пыталась продвигать 680x0 в СССР. По всей стране проводились конференции, где не только объяснялись преимущества CPU, но и бесплатно давали кучу материалов, как печатных, так и на дискетах. Точнее там стояли PC и можно было, если имеешь свою дискету скопировать 100 мб материалов по 680x0. На одной такой конференции побывал сотрудник фирмы, где я работал, и скопировал коробку дискет. Что-то у меня сохранилось. Выкладываю исходник конвертора Z80 --> 68000 (а также и другую ерунду). Что касается конвертора для 8086, то в ближайшие дни поищу на сайтах. Но возможно даже простой поиск в Интернете по строке "конверсия исходников 8080 в 8086" даст результат.

Новый комп делать утомительно и потому лениво. У меня есть платы ЭКСПРЕСС (6 штук) и чтобы поставить на них Z80 ВМЕСТО КР580 нужен час, полтора (к тому же одна моя плата уже и так c Z80).

Я предложил идею не замены на Z80 (это я сделал ещё в 80-тых), а дополнения, чтобы ускорить (из-за того что сам КР580 хреново турбируется). При 100% сохранении имеющегося. Потому-то тип второго процессора не особо важен. Лишь бы был быстрым. Но одновременно второй процессор может работать и как основной, что даёт простор для творчества.

Для всех владельцев ЭВМ на КР580 актуальна простая маленькая платка с Z80, которая ставится прямо в панельку КР580, давая Z80 на том же такте. Т.е замена процессора без хлопот. Чтобы когда понадобится, также просто можно было вернуть КР580.


V20 или V25 точно не вспомню , он умеет опкод i8080 выполнять

Да, NEC V20 любили ставить в начале 80-тых, когда программ для КР580 было больше, чем для 8086. Но у меня его нет. Да и лучшее сочетание Z80 на такте 6/8 МГЦ и 8088 на такте 4 МГЦ. К тому же 8088 и 8086 у меня уже есть, а V20 это редкая и дорогая вещь. Для 8086-го программировать удобно, хотя у него менее компактный код. Думаю раза в 1.2-1.3 раза больше кода. Можно поискать данные на этот счёт. Но ещё более интересен 68008, т.к с ним мало кто имел дело, и судя по рекламе, он очень хороший.

barsik
27.04.2017, 11:50
Вспомнил ещё одну мысль. О 'Специалисте'. Вспомнил свою идею уже из начала 90-х, когда выяснил, что КР580 тянет 3 МГЦ без ВК28 и 3.5 МГЦ с ВК28 (и даже выше, но ненадёжно, т.к перегревается). Но реализовать её не успел, т.к появившийся ОРИОН фатально снизил популярность СПЕЦИАЛИСТА.

Речь о идее турбирования СПЕЦИАЛИСТА и любой другой ЭВМ на базе КР580 с тактом ниже 2 МГЦ. При "лобовом" турбировании, например до 2.5 и 3 МГЦ выполняется тупая замена кварца (8 МГЦ на 10 МГЦ или 12 МГЦ), а чтобы при этом соблюсти TV-стандарт сигнала, приходится изменять коэффициент деления счётчика видеогенератора по строкам, чтобы и с новой частотой сдвига точек строчный период сохранился равным ровно 64 МКСЕК, а частота строк осталасть 15.625 КГЦ. Уже кварц 10 МГЦ неприятно плющит экран (как на ОРИОНЕ), а при пиксель-клоке 12 МГЦ (что соответствует такту КР580 в 3 МГЦ) 48 экранных байтов выдвигаются на телевизор всего за (1:12)*8*48= 32 МКСЕК, вместо 48 МКСЕК в базовом СПЕЦИАЛИСТЕ.

Отчего экран резко плющится с боков, изображение становится неприемлемым. Из-за этого приходится вводить новый экранный режим в 512*256, что занимает 16 кб и при его адресации на 8000 затираются все рабочие ячейки ROM-BIOS, отчего теряется совместимость с базовым СПЕЦИАЛИСТОМ. При кварце 13.5 МГЦ (такт 3.375) был опробован режим экрана 320*200, который в этом режиме заполняет весь экран, но родной экран СПЕЦИАЛИСТА уплющивается в четверть ширины экрана.

После этих экспериментов и возникла идея турбирования СПЕЦИАЛИСТА на КР580 не приводящая к уплющиванию экрана. В базовом СПЕЦИАЛИСТЕ за время сдвига на телевизор экранного байта выполняется 2 обращения к ОЗУ, одно из которых может занять КР580. Для чтения экранного байта видеочастью достаточно одного обращения к ОЗУ из возможных двух, так что доступ процессора не вредит регенерации изображения и все такты доступа доступны для процессора. Это обеспечивает прозрачный доступ к ОЗУ (т.е без тактов WAIT).

Можно сделать в СПЕЦИАЛИСТЕ асинхронный доступ, т.е ОЗУ оставить на скорости 2 МГЦ, а КР580 тактировать асинхронно максимально возможным тактом (это 3.1 МГЦ без ВК28). Но синхронизация с помощью WAIT сжирает при этом бОльшую часть ресурса CPU и реальное быстродействие было бы ~2.3 МГЦ. Что без проблем достигается простейшей заменой в СПЕЦИАЛИСТЕ кварца на 9 МГЦ и расходом деталей в один ТМ2. Данная идея хорошо подходит для ЭВМ на Z80, а КР580, увы, слишком тормознут http://zx-pk.ru/threads/27589-dorabotki-do-urovnya-elite.html?p=910781&viewfull=1#post910781.

Поэтому подумал о изменении режима работы ОЗУ. Суть в том, чтобы сделать такт КР580 и такт RAS-CAS таким, чтобы за период частоты 1 МГЦ (это период вывода экранного байта) выполнялось ровно 3 машинных такта КР580 и 3 такта RAS-CAS. Рассинхронизация по фронтам при этом не возникает и WAIT для синхронизации не нужен. ОЗУ и КР580 работают на такте 3 МГЦ. Проблема только в получении синхронного такта 8 МГЦ (это пиксель-клок), такта в 1 МГЦ (это строб параллельной записи в выходной сдвиговый регистр ИР1) и такта 3 МГЦ для КР580 и ОЗУ. Это решается использованием кварца 24 МГЦ. При делении на 8 получаем такт КР580, а при делении на 3 получаем пиксель-клок 8 МГЦ. Синхронизация полная, WAIT не нужен.

В 'Векторе' тоже такт КР580 в 3 МГЦ, но используется WAIT сжирающий ровно 20% ресурса, что даёт реальный такт всего в 2.4 МГЦ. В такой схеме достигается реальный такт ровно в 3 МГЦ, причём без применения ВК28. Но главное, что при этом экран не плющится.

Я даже в 1991 начал паять такую схему (правда на Z80), но в связи с переходом на ОРИОН не допаял, бросил. Т.к в связи с кончиной СПЕЦИАЛИСТА это не имело смысла. Применить данную идею можно даже на ОРИОНЕ, если сначала вернуть в нём экран к нормальному виду, т.е понизить пиксель-клок до 8 МГЦ . Это дало бы в ОРИОНЕ нормальный экран и такт 3 МГЦ при КР580.

rw6hrm
27.04.2017, 12:27
...почему-то до сих пор не пойму: зачем гнать процессор? У нас Спец выводит видеоролики? Обрабатывает нешуточные объёмы данных? Игры (которые есть) медленные? Давайте спустимся с психологических небес, заданных нам РС-подобными, и честно признаемся: Спец, и компы иже с ним, работают на нормальной, приемлемой скорости, достаточной для нормальной работы. Надо быстрее (повторю вопрос: зачем?) - используйте другой комп. Или оптимизируйте код.
В настоящее время все наши восьмибитные поделки - не более чем контроллеры средней навороченности, которых, тем не менее, вполне хватает для задач реального времени и низких требований, типа "умной избы". Тыкать в жареные трупики палочкой - на любителя это...
ИМХО, не более того.

barsik
27.04.2017, 13:14
Зачем гнать процессор?

Когда я в 1989 купил КОРВЕТ, то с ужасом обнаружил, что в нём такт КР580 в 2.5 МГЦ. Оказалось, что это минимальная частота при которой работает контроллер дисковода на ВГ93 без ПДП. Там вообще нет никакого запаса. Если в ОРИОНЕ заменить кварц 10 МГЦ на 9.6 МГЦ, то запись перестаёт работать. И даже попытка заменить команды LD A,(HL) на IN A,(wg93) не работает при такте 2.5 МГЦ (т.к LD A,(HL) это 7 тактов, а IN A,(port) это 11 тактов) и для программного цикла уже не хватает этих 4-х тактов. Нет запаса и 5%. При командах IN/OUT приходится менять кварц 10 МГЦ на 11 МГЦ (потому считаю, что IN/OUT вообще не нужны).

Поэтому мне пришлось повышать такт до 2.5 МГЦ. Это было просто, потому что уже за год до того в 1988 я сделал такт 2.25 МГЦ, заменив кварц на 9 МГЦ (расход деталей в 1 триггер ТМ2), - кстати рекомендую это всем "специалистам". Но это было сделано не для повышения скорости, а оттого, что у меня не влезал весь растр в телевизор (не было видно части картинки). А после замены кварца всё стало чудесно видно. Кстати именно поэтому и в "Партнёре" применили кварц 9 МГЦ. Просто отечественные телевизоры не соответствовали тогда стандарту. На самом деле видимыми должны быть 52 МКСЕК из 64-х. А в реальности видимы только 42-44 МКСЕК. Так что СПЕЦИАЛИСТ полностью соответствуя стандарту со своими 48 МКСЕК на строчный растр, - просто не влезал.

Так что 2.5 МГЦ это просто необходимость, если нужен НГМД. Смотрим далее. Вот купили Вы в 1993 году флоп 3.5". Но чтобы использовать его хотя бы на 1440-1600 Кб надо иметь реальный такт 5 МГЦ или трахаться и ставить в ОРИОН ПДП. Поставить ПДП в синхронную машину сложно, турбировать проще. Что и было сделано. Т.е тоже вынужденная мера.

Смотрим далее. Текстообработка с небайтовым шрифтом оказывается в 3 раза медленнее, чем с байтовым шрифтом, так что комфорная текстообработка начинается только с реального такта 6 МГЦ и выше. Потому КОРВЕТ и БК-010 имея экран в 512*256, что даёт возможность иметь байтовые шрифты при достаточной длине строки, работают с текстом на порядок быстрее, чем ОРИОН и СПЕЦИАЛИСТ. Попробуйте воспользоваться SuperText-ом на такте 2 МГЦ и уже через полчаса работы Вы выкинете свой комп в окно с 9-го этажа или заснёте в ожидании конца ролика. Это сейчас Вы можете редактировать на PC, но в начале 90-х был только ОРИОН или СПЕЦИАЛИСТ.

Далее. Как знают все создатели игр, скоростей фатально нехватает. Потому для СПЕЦИАЛИСТА и ОРИОНА игры с панорамированием всего экрана противопоказаны, даже на более скоростном ZX с маленьким экраном это идёт "впритык". Чем больше скорость, тем больше фигурок можно двигать. Чем больше скорость, тем лучше звуковые эффекты и музыкальное сопровождение.

Далее. Вот поставили Вы IDE-винчестер. И ожидаете, что будет также быстро как на IBM PC, т.е мгновенно. Но тут Бац... и всё работает гораздо медленнее. Ничуть не быстрее DD-дисковода. И это только касается скорости пересылки (т.к она программная). А т.к объёмы дисков на 2 порядка больше, то сканирование гиганских каталогов и поиск в них файлов при тормозном CPU длится 5-10 секунд. Т.е скорости в 2 МГЦ для больших объёмов данных не хватает. А глупо разбивать даже крошечный 40 мегабайтовый винчестер на 50 партиций по 800 кб. А если винчестер 500 мб?

Далее. Окончилась эпоха дисководов. Последняя дискета сдохла, новых не купить и пришлось исправный дисковод спустить в унитаз. Наступила эпоха электронных дисков на 8-ми разрядке и загрузки в них файлов по проводной линии из IBM PC. А я уже во многих недавних постах писал, что здесь нужна скорость процессора, т.к от этого напрямую зависит скорость обмена по линии.

Ну и главное. Так в этом же и заключается сюжет радиолюбительского творчества. Сделать то, что никто до тебя ещё не сделал ! А слепое повторение западных конструкций на ПЛИС - это другое хобби. Это интересно только тем людям, кто просто любит паять или запах канифоли. А я это делать не люблю, но в этом хобби без этого не обойтись.

Думаю, что в просветительных целях, чтобы не приходилось писать такие посты, нужно людей задающих такие вопросы заставлять пару недель пользоваться графической ИРИШЕЙ с экраном 16 кб в тормозном цветном режиме с реальным тактом в ~1 МГЦ (в скоростном режиме такт ~1.5 МГЦ). Небайтовый шрифт там в 3 раза медленнее СПЕЦИАЛИСТА, но байтовый шрифт такой же как обычный шрифт СПЕЦИАЛИСТА. Кстати, есть очень благородная задача переделать ИРИШУ на тех же деталях и КР580 так, чтобы реальный такт был 3 МГЦ или выше. Может кто-то возьмётся за эту интереснейшую задачу?

HardWareMan
27.04.2017, 15:39
На самом деле видимыми должны быть 52 МКСЕК из 64-х. А в реальности видимы только 42-44 МКСЕК. Так что СПЕЦИАЛИСТ полностью соответствуя стандарту со своими 48 МКСЕК на строчный растр, - просто не влезал.
Чудной человек. У меня было доступно 3 телевизора УЛПЦТИ (Радуга, Витязь и Рубин, к сожалению не помню индексов), позже 3УСЦТ Рекорд Ц275 и личный Кварц 40ТБ-306. Все они были исправны в той или иной степени (на сколько мне хватало опыта, а 3УСЦТ вообще под пломбой был лет 6 с покупки) и все показывали нормально Специалист Экспресс, который мне давали на выходные и каникулы в кружке. И Кварц был под пломбами, а Рекорд я вскрыл для установки PAL декодера. И что я делал не так?

barsik
27.04.2017, 16:28
У меня было доступно 3 телевизора... и все показывали нормально Специалист

Давайте устроим опрос всех кто имел РК86 (+ клонов) или СПЕЦИАЛИСТ и выясним у скольких процентов пользователей "растр влезал в экран или не влезал".

Тут http://zx-pk.ru/threads/27125-modulnyj-radio-86rk.html?p=903989&viewfull=1#post903989 недавно это обсуждали и пришли к обратному выводу. Думаю, что на одного того, у кого 48-ми микросекундный растр влезает в экран найдётся 10 у кого не влезает. А такой экран, кроме СПЕЦИАЛИСТА - у РК86 и клонов (кроме Партнёра). Так вот у меня и в РК86 крайние колонки в экран не влезали.

rw6hrm
27.04.2017, 16:38
1. Полностью поддерживаю HardWareMan, у меня также и Спец, его клон, и всё, что было восьмибитного, прекрасно умещалось в экран стандартного телевизора, начиная от лампового, заканчивая цифровым.
2. Если разгон восьмибитного процессора упирается только в обмен с внешними носителями, то это испорченность писюками сказывается. Играм не хватает скорости? Выше было сказано,

используйте другой комп. Или оптимизируйте код.
Выбор есть.
3. Сижу на 6502 с 1 МГц, RS-232 летает на 115200. Без ПДП.
4. Переделал всеми нелюбимый контроллер дисковода для Спеца с ущербного ВВ51 на 68B50. Стартово получил 720К на 3.5" приводе; 1,2М, думаю, не будет проблемой (кстати, ещё раз выражаю благодарность HardWareMan за дизассемблирование исходников в своё время. Очень помогло). У этого контроллера есть свои проблемы конечно, но не связанные со скоростью...
5. Вывод небайтового шрифта медленный? Увольте, самая медленная часть компьютера сидит перед ним ;) А уж потерпеть 4-5 секунд загрузки файла - это не вечность же.


Ладно, проехали.

barsik
27.04.2017, 17:16
Переделал всеми нелюбимый контроллер дисковода для СПЕЦИАЛИСТА с ущербного ВВ51 на 68B50. Стартово получил 720К на 3.5" приводе; 1,2М, думаю, не будет проблемой

Вы не перепутали БИС? В контроллерах дисковода применяют микросхемы FDC, например 1818ВГ93, 8271, 8272, MC6843, MC6849, Am9580, Am9581... А ВВ51 и 6850 это то, что я не люблю - последовательный интерфейс, т.к параллельный интерфейс быстрее (т.к например, позволяет при такте Z80 в 8 МГЦ получить скорость передачи намного выше 115200 бод).

Что это за контроллер НГМД для СПЕЦИАЛИСТА о котором идёт речь?


потерпеть 4-5 секунд загрузки файла - это не вечность же

А если терпеть надо 4 минуты, чтобы перекачать 16 кб, и час чтобы заполнить маленький эл.диск в 256 кб.


Играм не хватает скорости? ... используйте другой комп. Или оптимизируйте код

Насчёт другого компа, - это грубость. Мы на этом сайте именно потому...

Ваш бы совет по оптимизации кода, да исполнили бы все изготовители браузеров. Да и вообще все производители программ начиная с 1991 года, тогда сейчас спокойно прогонял бы этот браузер на своей XT-Турбо и с'экономил бы кучу денег на многих последующих апгрейдах.

HardWareMan
27.04.2017, 17:25
Тут http://zx-pk.ru/threads/27125-modulnyj-radio-86rk.html?p=903989&viewfull=1#post903989 недавно это обсуждали и пришли к обратному выводу. Думаю, что на одного того, у кого 48-ми микросекундный растр влезает в экран найдётся 10 у кого не влезает. А такой экран, кроме СПЕЦИАЛИСТА - у РК86 и клонов (кроме Партнёра). Так вот у меня и в РК86 крайние колонки в экран не влезали.
Есть Safe Area (https://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B_%D0%BE% D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0 %B8%D1%8F), специально для старых телевизоров, которые не имеют стабилизацию размера изображения либо эта стабилизация неисправна. Пересчитайте проценты, приятно удивитесь. Повторюсь: правильно настроенный и исправный телевизор обязан показывать 48мкс с завода.

- - - Добавлено - - -


Вы не перепутали БИС? В контроллерах дисковода применяют микросхемы FDC, например 1818ВГ93, 8271, 8272, MC6843, MC6849, Am9580, Am9581... А ВВ51 м 6850 это то, что я не люблю - последовательный интерфейс, т.к параллельный интерфейс быстрее (т.к например, позволяет при такте Z80 в 8 МГЦ получить скорость передачи намного выше 115200 бод).
Он ничего не перепутал. Был такой контроллер на ВВ55. ЕМНИП даже в журнале печатался.

barsik
27.04.2017, 17:40
Был такой контроллер на ВВ55

Видел я в 1989 году в работе один такой (саратовский) контроллер на ВВ55 работающий в параллельном интерфейсе (кстати, в РК-КНМД тоже ВВ5). Там использовался режим параллельного интерфейса, когда в порту C по защёлкиванию параллельных данных ППА выставляет готовность. Контроллер синхронизировался по байту F3 и далее просто выкидывал все последующие байты в ВВ55. Схема контроллера была заимствована от "Электроники-60" или ДВК.

Но если попробовать повторить этот трюк с последовательным интерфейсом, то скоростей КР580 в СПЕЦИАЛИСТЕ не хватит. Что-то Вы путаете.


всеми нелюбимый контроллер дисковода для СПЕЦИАЛИСТА

Дайте, пожалуйста, ссылку на инфо об этом нелюбимом, хотелось бы узнать почему его так не любят.

HardWareMan
27.04.2017, 17:52
barsik, я ничего не путаю. Я говорю как было 20 лет назад. На ВВ51 я не видел контроллера. На ВГ93 видел, как на своем Орионе из журнала, так и на Спеце (не знаю откуда, мне просто дали плату для МХа). Согласен, что 2,5МГц для 720К хватает впритирку, а 1к сектора приходится читать 4мя циклами. А в Спеце было торможение по HOLD при обращении к специальному порту. Подпрограмма содержала 2 команды: STA WAITPORT / LDA FDC_DATA и все тоже работало сносно.

- - - Добавлено - - -

PS Был не внимателен, прочитал ВВ51 как ВВ55.

barsik
27.04.2017, 18:05
я ничего не путаю. Я говорю как было 20 лет назад. На ВВ51 я не видел контроллера. На ВГ93 видел, как на своем ОРИОНЕ из журнала, так и на СПЕЦЕ (не знаю откуда, мне просто дали плату для МХ

Я имел в 1993 документацию Леонида Афанасьева из ... (город забыл, склероз похоже начался). Там была схема КНГМД, где была следующая идея. Т.к КР580 на 2 МГЦ не успевает в цикле опрашивать готовность, то используется аппаратный READY. ВГ93 формирует готовность и запрос данных на 38-й и 39-й ногах. Поэтому КР580 для ожидания готовности устанавливал триггер, что его самого же загоняло в WAIT, а по появлению аппаратной готовности из ВГ93, режим WAIT аппаратно сбрасывался. После чего КР580 оставалось только забрать считанный байт из ВГ93 при чтении или положить байт в ВГ93 при записи. Хорошая идея.

Возможно Вы имели его контроллер. Но раз речь не о ВВ51, значит rw6hrm действительно перепутал тип БИС применённых в КНГМД. Но всё-равно интересно узнать ссылку на "всеми нелюбимый контроллер СПЕЦИАЛИСТА".

PS: А разве афанасьевский MX-контроллер дисковода применялся и на ОРИОНЕ? Впервые слышу об этом.

rw6hrm
27.04.2017, 18:14
интересно узнать ссылку на "всеми нелюбимый контроллер СПЕЦИАЛИСТА".
http://publ.lib.ru/ARCHIVES/M/%27%27Modelist-konstruktor%27%27/''Modelist-konstruktor'',1989,N10.[djv-fax].zip , начиная со страницы 26. И я не ошибся - КР580ВВ51, контроллер последовательного порта. А нелюбима эта схема из-за того, что из-за низкой скорости работы ВВ51 приходилось уменьшать скорость вращения шпинделя дисковода, дабы повысить физическую ёмкость. Поскольку 68В50 обеспечивает скорость до 1МБит, то проблема со шпинделем отпадает автоматически. Вот только чип этот в наших пенатах не особо достать, а уж в те времена тем более. Хотя коллеги с "Полигона призраков" помогли в своё время...
Относительно смены компьютера - это не грубость, а констатация факта. Если комп не тянет софт - значит этот софт не для него. Аксиома.

HardWareMan
27.04.2017, 18:17
Я имел в 1993 документацию Леонида Афанасьева из ... (город забыл, склероз похоже начался). Там была схема КНГМД, где была следующая идея. Т.к КР580 на 2 МГЦ не упевает в цикле опрашивать готовность, то используется аппаратный READY. ВГ93 формирует готовность и запрос данных на 38-й и 39-й ногах. Поэтому КР580 для ожидания готовности устанавливал триггер, что его самого же загоняло в WAIT, а по появлению аппаратной готовности из ВГ93, этот WAIT аппаратно сбрасывался. После чего КР580 оставалось только забрать считанный байт из ВГ93 при чтении или положить байт в ВГ93 при записи. Хорошая идея.
Именно так, только не WAIT (точнее RDY у ВМ80) а HOLD (это BUSR у Z80).

barsik
27.04.2017, 18:26
Ссылка дохлая: "Error 404". Но из названия узнал, что речь о статье в МК за 1989. Это же для 8-ми дюймого дисковода. Не помню, чтобы там меняли скорость вращения колеса. Я это проигнорировал, т.к уже имел тогда на СПЕЦИАЛИСТЕ КНГМД на ВГ93. Не знал, что люди повторяли эту конструкцию, даже тогда. Ну а в наше время это вообще странно.

Но я знаю, что кроме этой реализации для 8-ми дюймовика ЕС-5074 и варианта Л.Афанасьева для MX была ещё одна схема и тоже на ВГ93. История её разработки описана на каком-то сайте, и когда я это прочёл, давно в каком-то браузере, то сделал закладку на неё, но вероятно найти не смогу (браузер скорее всего был удалён вместе с закладкой). Но можно погуглить по "контроллер дисковода для СПЕЦИАЛИСТА". Там тоже изобретена какая-то победительная идея позволившая получить 800К при такте 2 МГЦ.

У меня как-раз сейчас есть задача разработать контроллер и написать SOFT для дисковода от Apple-II, которые у меня есть и даже очень надёжные. Т.е стоит задача повторить подвиг Стива Возняка из 1977, который за неделю разработал и отладил простейший КНГМД на 6-ти дешёвых TTL-корпусах (что на плате DISK INTERFACE, не считая ПЗУ). Читал его воспоминания. Правда Apple-DOS написал не сам Стив Возняк, а его знакомый по компьютерному клубу профессионально знающий устройство других ДОС того времени.

Он применил SOFT-секторирование, т.к дискеты в те годы даже не имели индексной дырки (или в дисководе не было датчика, т.к инфракрасные светодиоды ещё не изобрели). Да и дисковод был совсем убогий, не было не только индексного датчика, но даже датчика TRK0. Отчего приходилось 35 раз делать шаг назад (35 дорожек, одна строна, 16 секторов по 256 байт). Да и мотора по сути не было, сам процессор выводил фазы на шаговый двигатель. Да и дискеты приходилось вырезать из картона и обмазывать ферритовой пастой с эпоксидкой... Это шучу. Дискеты тогда уже были. Т.е всё делал процессор.

Но программное секторирование, т.е разбивание байтов на шестёрки и т.п. сокращает полезный объём. Да и сложно это для меня. Поэтому буду ставить свой датчик на индексную дырку. Когда-то разобрал на запчасти кучу сдохших дисководов 5.25" так что датчики есть. Со схемой ИК-светодиода ясно - последовательно с резистором, а вот какую схему поставить на оптрон, т.е он же не сразу даёт 0 или 1, нужен усилитель.

Поэтому мне нужен какой-то контроллер, так что перечитаю статью из МК, может там схема проще.

HardWareMan
27.04.2017, 18:31
Вот этот контроллер, с торможением по HOLD: прямая ссылка с описанием (http://www.spetsialist-mx.ru/Docs/MX_DOS.pdf).
http://www.spetsialist-mx.ru/schemes/FDDController1.png

rw6hrm
27.04.2017, 18:32
Ссылка дохлая:
Не подтверждаю. ;)
Да, это был 8-дюймовый, ЕС-5074. Конечно, пришлось повозиться, чтобы 3,5 проявил признаки реакции на раздражители. Упомянул эту конструкцию я не про странность, а про то, что разгонять комп для работы с внешними носителями необязательно.

barsik
27.04.2017, 19:04
Ссылка дохлая
Не подтверждаю.
Да теперь ссылка работает, но я своими глазами видел "Error 404"... замнём для ясности.

При поиске по указанной строке сразу же нашёл контроллер СПЕЦИАЛИСТА о котором писал http://www.asvcorp.ru/darch/hardware/specialist/speciallist-fdc/
Но интересна и история http://www.asvcorp.ru/darch/asv/specialist/index.html и идея лежащая в основе работоспособности на такте 2 МГЦ.

fifan
27.04.2017, 19:47
нашёл контроллер СПЕЦИАЛИСТА.
Но нормальной схемы этого контроллера не было. Я как мог реанимировал её, рассматривал огрызки схемы, сравнивал печатку. Вообщем вот (http://www.spetsialist-mx.ru/schemes/SpetsialistFDDSL.pdf), кому надо.

barsik, что-то из этой темы создаётся бардак. Я и не только я наверное уже потерял нить темы, они с помощью тебя разрастаются в нити, которые опять переходят на другие компьютеры. Прошу держаться, не офтопить и между делом отстаивать какую-то одну линию.

barsik
27.04.2017, 20:35
что-то из этой темы создаётся бардак

Это Вы намекаете, что я не по делу упомянул, что ищу SOFT и контроллер, чтобы использовать надёжные НГМД Apple-II, что имею, но не могу использовать из-за отсутствия ПО и железа?

Но в темах Apple-II и АГАТ-а я уже спрашивал, там всё мертво... программистов не осталось. А тут хотя бы присутствует человек, который не только знает ассемблер 6502 (он сложнее чем Z80, т.к 14 извращённых методов адресации), но даже пишет на нём реально работающие программы.

А всё остальное, в пределах типичных отклонений от темы. Ведь отклонение не на погоду или политику, а на связаные темы. Тем более, что это флейм "Мысли". Какая тут может быть тема. Даже если бы у кого-то возникла "мысль", что СПЕЦИАЛИСТОМ хорошо заколачивать гвозди и он бы этим поделился, это и то не было нарушением темы.

А дисковод от Apple-II мне нужен и для СПЕЦИАЛИСТА в том числе (у меня этих НГМД хватает как раз на все мои 8-ми разрядки). Конечно 140 кб на диск это не так много (с переворотом стороны 280), но зато надёжно.


Прошу... отстаивать какую-то одну линию

Извините, нет у меня единой линии... Я лишь пытался поделиться идеями о которых вспомнил (чтобы не пропали) и забытой информацией, которая для кого-то может быть любопытной. Ценность форума, во-первых, в моральной поддержке (если кто-то смог, значит и я смогу, и может быть лучше), а во-вторых, это источник идей и подсказок для собственного творчества. Не обязательно польза заключается в публикации уже готовых для повторения конструкций и готовых для прогона программ.


Но нормальной схемы этого контроллера не было

Да, Ваша схема намного лучше, чем рисунок от руки. Но было бы неплохо и приведённые фотографиями исходники процедур чтения/записи сектора набрать в виде текста. А то с фотографий разбираться в них намного сложнее.

Нашёл идеи, на основе которых достигнута работа НГМД на 2-х мегагерцах http://www.asvcorp.ru/darch/asv/rd-dos/index.html. Парни не имели исходников RKDOS и не были знакомы с методом контроля флага Е.Седова (INC (HL) адресуясь в ППА), что экономит такты. Они это узнали лишь в 1993, когда опубликовали RKDOS.


Уже перед прекращением работ над развитием "Специалиста", появилась идея поменять биты в порту состояния, чтобы использовать INC (HL) адресуясь в ППА

Чтение/запись стеком, это уже не новинка для 02.1992. Стеком работал с дисководом CP/M-BIOS КОРВЕТА (и было это за 6 лет до того, в 1987 году).

Проблема НГМД решалась проще и без таких усилий. Зачем придерживаться стандартного периода импульсов на диске. Это даёт совместимость на физическом уровне с 8272 и можно считывать дискеты на PC, если DOS совместима по формату диска с MSDOS. Только так ли это необходимо, если за окном 02.1992 и ещё ни у кого нет IBM PC?

Зачем напрягаться и писать свою MSX в кодах КР580, совместимую по дискам с MS-DOS? Проще и полезнее применить CP/M. Много программ из CP/M важнее, чем возможность читать диски на PC? Нигде не указано, что их ДОС совместима с CP/M. И не понял, как в MSDOS могут быть сектора по 256 байт.

Ну не успевает КР580 при кварце 8 МГЦ в КНГМД, так "не парьтесь", а поставьте кварц 7.5 МГЦ, от этого будет только надёжнее. А ещё лучше заменить в самом компьютере кварц 8 МГЦ на 9 МГЦ. От этого растр целиком влезет в телевизор и программы пошустрее. Раз уж Вы делаете новый компьютер, то можно выбрать любой такт.

Эти разработчики молодцы (сравнивать не с кем, других не было). Идея аппаратного ролика интересна. Решение проблемы НГМД тоже. И выход COVOX хорошая идея. Всё остальное железо тривиально и очевидно. Им не хватило коммерческого менеджера, чтобы организовать реклаиу и производство. А экспериментами с железом СПЕЦИАЛИСТА занимались все кому не лень...

Надеюсь попробовать читать/писать сектора при 2.25 МГЦ на обычном КНГМД от ОРИОНА, т.к я предпочитаю в СПЕЦИАЛИСТЕ кварц именно 9 МГЦ, (10 МГЦ хуже). Ранее меня смущала только проблема с дисководом, а раз это решаемо, тем лучше.

PS: А почему никто не пришёл в восторг от моей идеи аппаратно-программного эмулятора РК86 на базовом СПЕЦИАЛИСТЕ? Это же так просто и эффективно (потому что делается программно). Не знал, что на СПЕЦИАЛИСТЕ так много игр, что несколько сотен дополнительных будут просто излишними.

zx_
27.04.2017, 20:47
68B50 в продаже доступна на али
https://ru.aliexpress.com/item/10PCS-MC68B50P-68B50-DIP28/32576476577.html?spm=2114.03010208.3.9.9Zdjl0&ws_ab_test=searchweb0_0,searchweb201602_5_10152_10 065_10151_10068_10136_10137_10060_10138_10155_1006 2_10156_10154_10056_10055_10054_10059_10099_10103_ 10102_10096_10148_10169_10147_10052_10053_10142_10 107_10050_10051_5130019_10084_10083_10119_10080_10 082_10081_10110_10111_10112_10113_10114_10181_1018 2_10078_10079_10073_10070_10123_10120_10127_10124_ 10125-10051_10120,searchweb201603_2,ppcSwitch_5&btsid=c04a9279-d955-43e0-a5f3-e204ea8d7245&algo_expid=5a67edeb-96e9-4a1a-92ea-519b9b5e51ed-1&algo_pvid=5a67edeb-96e9-4a1a-92ea-519b9b5e51ed

LeoN65816
28.04.2017, 04:36
чтобы использовать надёжные НГМД Apple-II, что имею

Конечно 140 кб на диск это не так много (с переворотом стороны 280), но зато надёжно.
Эти дисководы ЕС5088.02, как раз-таки - жутко ненадежные.


Но в темах Apple-II и АГАТ-а я уже спрашивал, там всё мертво... программистов не осталось.
Абыдна гаваришь, слющай! ;)
Штудируй весь сайт (http://agatcomp.ru/Images/new_fl_drive.shtml). И там же есть форум, и здесь (по АГАТу), и по железу подскажем/посоветуем, и по софту, ты только сначала сам все изучи.

rw6hrm
23.05.2017, 23:27
Дошли руки до копания в приобретённом "Доне" (стандартная схема). Доставил третью линейку РУ6 и решил расширить адресное поле для УВВ путём установки дополнительного дешифратора ИД7, дабы не занимать одним ВВ55 все 2КБ. Поставил и тут же задумался: нигде открыто в документации не нашёл, на каких же адресах сидит клавиатурный ВВ55 (вот только не тыкайте пальцами, если кто-то знал об этом раньше ;), везде написано "F800 - FFFF Регистры" и не более). Ладно, проштудировав заброшенную статью Чистякова про "Специалист" уяснил, что оно сидит на FF00. Так что всё заработало, да ещё и дополнительные 8 УВВ подключить можно.
А вот теперь вопрос к тем, кто делал такое расширение (на ИД3/4/7): а существовали ль несовместимые с такой доделкой программы? Клава, к примеру, в них не работала, звука не было и т.п...
ЗЫ: Думаю, что из списка можно исключить программы за авторством кооператива SP580, там однозначно клавиатурный порт сидит на F000 (хотя они и пытались соблюсти совместимость в своём варианте Монитора).

fifan
24.05.2017, 17:15
Я так думаю создаётся ещё один клон. Вот здесь (http://www.spetsialist-mx.ru/index5.html) писал:
2. Всех коробил тот факт, что на К580ВВ55 №1 (клавиатура / магнитофон / звук / начальный пуск) и К580ВВ55 №2 (программатор и др.) отводилось пространство аж в 2048 байт на каждую, хотя нужно всего 4 байта. Пространство этих адресов разбивалось под свои нужды.
Как в воду глядел. Я не понимаю зачем это делалось и сейчас делается. Если уж приспичило, то внимательно прочитайте статьи из МК по архитектуре Специалиста М там были намёки.
Там же в МК (http://publ.lib.ru/ARCHIVES/M/''Modelist-konstruktor''/) были циклы статей с доработками на ИД3 по дешифрации. Одна статья - одна программа. Я не уверен, что это как-то распространилось.

rw6hrm
24.05.2017, 19:06
Я так думаю создаётся ещё один клон.
Зачем так безосновательно и критично? Про ИД3 знал АЖ с 1987 года, но всунуть на готовую плату такого поросёнка места нет. Вот и использую ИД7, точнее что попалось под руку первым. Попалась бы ИД4 - поставил бы её.
Вариант "М" меня не интересует, работаю с базовой схемой. Для себя. С блоком ПЗУ в 14-15К.
Вот если бы решил использовать верхние 16К под ПЗУ полностью, а УВВ повесить на отдельную адресацию, вот тогда и поговорили бы о новом клоне.

Так что там с программной совместимостью? Не было программ глючных? Ответа пока нет.

makbar
04.12.2017, 15:54
разбирая старые документы, нашел в гараже схему от 25 апреля 1989 гда я прикидывал как поставить ру5 в Специалист))

fifan
04.12.2017, 16:53
разбирая старые документы, нашел в гараже схему от 25 апреля 1989 гда я прикидывал как поставить ру5 в Специалист))
Поправил (было Спеуалист). Давай схему.

makbar
04.12.2017, 17:55
Давай схему.
да на) http://makware.ru/download/OLD/Specialist_RU5.pdf

barsik
04.12.2017, 18:03
Раз уж и fifan здесь, то:


barsik, что-то из этой темы создаётся бардак. Я, и не только я, наверное уже потерял нить темы, они с помощью тебя разрастаются в нити, которые опять переходят на другие компьютеры. Прошу держаться, не офтопить и между делом отстаивать какую-то одну линию

Ну что за ерунда? Эта тема чисто флеймовая. Здесь все пишут на любые темы, лишь бы касалась СПЕЦИАЛИСТА. Кончайте придираться. Почему всем можно писать в этой теме обо всём и только мне запрещено? Никаких нитей я не разводил.

Лучше наведите порядок в теме "варианты СПЕЦИАЛИСТА". Компьютер РАДУГА это вовсе не СПЕЦИАЛИСТ, также как и "Патисоник-580". Ссылку опубликовать не могу (запрещено), но сами посмотрите тему на сайте Виктора. И в первом посте там уже пора вставить текст про плату ЭКСПРЕСС. СтОит написать, что это были лучшие платы СПЕЦИАЛИСТА, продавались в течение 1988 и 1989 в крупных городах в магазинах салонах "Электроника". КООП, кажется, из Новосибирска (но это не точно). Плата со схемой стоила, кажется, 25 рублей.

Собираюсь именно в этой теме писать посты флеймового характера, предназначенные для обсуждения тех доработок, которые разумно отмакетировать на плате ЭКСПРЕСС и опубликовать их схемы с инструкциями. Чтобы избежать нападок ненавистников и чтобы по их требованию (как они это называют) не "засорять форум", мне выгоднее было бы оставлять большие тексты на другом сайте, где нет ограничений, давая в дневнике лишь ссылки (что и для сайта выгоднее, т.к экономится место).

Кстати, из-за того, что один сайт, куда я хотел делать выкладки больших текстов и документации запретили, тайные доброжелатели предоставили мне в личное распоряжение и бесплатно, абсолютно пустой другой сайт. Он уже создан, хотя ещё некоторое время будет оформляться. Это не форумный сайт, а просто архив, склад, место куда можно что-то положить и дать на это ссылку в форумах. Вот на какие ухищрения приходится идти из-за HardWareMan-а.

HardWareMan
04.12.2017, 19:09
barsik, ты не из-за меня на такие, т.н. "ухищрения" идешь. Ты на это идешь ради всех пользователей. Да и в чем там ухищрение то? У меня тоже есть свой личный сайт и я выкладываю ссылки здесь на него на скачивание полезных вещей. Уважай других пользователей и их время и никто тебя трогать не будет.

Алсо, вот сюда можно писать абсолютно любые мысли, которые касаются Специалист совместимых компьютеров. Без ограничений и в рамках приличия и правил форума.

Ну и, чтобы не оффтопить. Если речь идет об стандартном Специалисте и там стоит стандартный набор ОЗУ в 64КБ, то может как-то задействовать теневое ОЗУ? Ну вот как я сделал в МХ2 или как в МХе. Например, если ввести порт переключения, то после старта можно туда загружать любой софт (любой сложности) в рамках системной области C000-EFFF, если принять во внимание стандартный распил F000-F7FF для ППА2 и F800-FFFF для ППА1. Есть мнения?

- - - Добавлено - - -

PS Еще было бы неплохо систематизировать все озвученные предложения. Отсортировать их по назначению (ну там оптимизация платы, расширение возможностей и т.д.) и попробовать совместить между собой (какие могут быть совмещены).

barsik
04.12.2017, 20:21
После того как, как в ходе отладки, тест напишет на экране "ОЗУ исправно", перед владельцем платы ЭКСПРЕСС встаёт вопрос что поставить в ПЗУ.

Минимально это должен быть ROM-BIOS, часто называемый загрузчиком. Удобнее иметь и второе ПЗУ по адресу C800, куда обычно ставят или RAM-монитор или загрузчик с дисковода или другого внешнего носителя (это м.быть 'microSD', внешний эл.диск 512К с DOS в ПЗУ этого эл.диска или IDE-винчестер). Набор остальных программ, что могут быть прошиты в оставшиеся 5 ПЗУ СПЕЦИАЛИСТА каждый выбирает сам. В 80-тые годы туда обычно прошивали драйвер (КОИ-8 или 8*8), прошиватель УФ-ПЗУ, редактор (не эр-кашный) и пакет МИКРОН - ассемблер, дизассемблер. А в случае наличия внешнего эл.диска прошивалась и DOS для эл.диска. А непрограммирующие пользователи обычно хранили в этом ПЗУ бейсик 8 кб.

Это делалось просто потому, что в 80-тые годы больше прошивать было просто нечего. В ПЗУ в компьютерах хранится ROM-BIOS. У графических компьютеров это графический ROM-BIOS. В простом случае это набор подпрограмм позволяющий делать программы с окнами (в стиле программы Нортон). В идеальном случае, в системе с мышью, это может быть набор подпрограмм для графического интерфейса с мышью (в стиле Amiga). Но пока подобный интерфейс был использован только в Демо-версии Windows ОРИОНА из 1993 (автор не доделал).

Итак, большой объём ПЗУ очень удобен для 2-х целей
- хранения ROM-BIOS
- хранения DOS или её загрузчика

Для системы без внешнего носителя для
- хранения ROM-BIOS
- хранения RAM-монитора
- хранения часто используемых резидентных программ

Для DOS предпочтительнее не большое ПЗУ, а большое ОЗУ, а вот драйвер для DOS удобен в ПЗУ.

Для самого СПЕЦИАЛИСТА широко не использовалась дисковая DOS. Дисковод был только для MX-версии. Поэтому никаких драйверов и графических подпрограмм для самого СПЕЦИАЛИСТА не было.

Однако для другого компьютера с аналогичным экраном (ОРИОНА) использовалась CP/M и текстовые драйвера разных шрифтов (шириной 4,5,6,7,8 точек), а также подпрограммы поддержки оконных программ. К сожалению, существенная часть этого написана для Z80 и кое-что невозможно конвертировать в коды КР580 (драйвер D7, из-за активного использование IX,IY). Но драйвера D5, D6 и D8 не проблема конвертировать для КР580, хотя объём кода немного возрастёт.

Драйвер D5 использующий фонт 5*10 даёт 78 символов в строке и имеет значение только для SuperCalc, который без 80-ти символьного экрана не работает. Т.к подготовкой документов на СПЕЦИАЛИСТЕ никто уже заниматься не будет, такой драйвер не нужен (странслирую его драйвером для ОЗУ).

Драйвер D6 это драйвер вывода КОИ-8 обеспечивающий VT52. На ОРИОНЕ он работает в банке 1 и позволяет сохранение/восстановление окон в банке 0. Для СПЕЦИАЛИСТА его придётся упростить, объём кода составит ~6 кб и нужен он, в основном, для CP/M, а также текстообработки.

Наиболее полезным является драйвер D8 для шрифта 8*10. Он также оконный, позволяет открывать, закрывать перекрывающиеся окна с рамками. В исходном виде он цветной. Но это легко убрать поставив флаг CMODE=0. Он имеет рамер ~10 кб и является основным кандидатом в качестве резидентного драйвера в большое ПЗУ СПЕЦИАЛИСТА. Хотя, с учетом отсутствия цвета, драйвер D7 на эту роль был бы лучше, т.к даёт 55 символов в строке.

Заметим, что для ОЗУ драйвер совсем бессмысленен, т.к если 10 кб загрузить в основное ОЗУ, то доступного ОЗУ совсем останется мало... Драйверы имеют смысл только для верхней памяти. Эту верхнюю память (D000...F7FF) для дисководной системы лучше иметь в виде ОЗУ, а для бездисководной системы - в виде ПЗУ.

Что даёт наличие оконного драйвера в ПЗУ?

Во-первых, единообразный интерфейс для всех системных программ. Во-вторых, большУю экономию ОЗУ, например Нортон тогда умещается всего в 5-6 кб, оставляя под дисковый буфер 30 кб, что ускоряет копирование. Ну и главное, - существенное упрощение при разработке системного ПО. Например даже в старые программы в местах, где идёт запрос (например, имя файла) будет совсем просто вставить окна диалога.

Альтернатив, реально нет. Потому-что кто-то что-то серёзное в качестве ROM-BIOS писать не станет (а вот я бы этим занялся, но позднее, когда будет ясна структура памяти). Потому единственное разумное решение - это взять готовые листинги драйверов ОРИОНА и перетранслировать их для СПЕЦИАЛИСТА. Это дело 1-й минуты (мои драйвера даже не надо переделывать, т.к есть 4 служебные ячейки, которые управляют положением и размером экрана, точнее окнА вывода). И прошить их в гигантское ПЗУ 28 кб платы ЭКСПРЕСС. Это не только позволит сделать маленький по объёму и простой нортон для RK-DOS, но и существенно облегчит любые другие разработки. Два драйвера D6 и D8 в сумме займут 16 кб. 4 кб базовое ПЗУ и ещё 8 кб остаётся для RK-DOS и загрузчика CP/M.

По поводу доработок.

Надеюсь, что ни у кого не возникает сомнения, что первым делом надо поставить ИД7 разбивающий область F800 на 8 участков, а выборку F800...F8FF объединить диодами с чип-селектом C800. Что приводит к тому что обращения на F800...F8FF переадресуются на C800, что и обеспечивает совместимость с РК86. Даже если кому-то совместимость не нужна, но возможность подключать В/У - доп.ППА, ВИ53 и КНГМД оправдывает расход в ИД7.

Далее, если пользователь поставил 27256, то надо обеспечить страничность. В простейшем случае используя для управления выход INTE. Заметим, что трата INTE на звук неразумна, а вот использование его lkz управления конфигурацией машины вполне оправдано. Прерывания для машины уровня СПЕЦИАЛИСТА не требуется. Если бы это было сразу, то да, это бы резко упростило разработку игр. Сейчас это низачем не надо (а если надо легко сделать).

Хотя INTE выгоднее истратить не на страницы ПЗУ, а на полную смену конфигурации. В частности, мне видится только 5 вариантов расширения ОЗУ:

- "заворот" ОЗУ C000...FFFF на 8000 (под-ПЗУ-шечное ОЗУ закрывает экран), как во ЛЬВОВЕ.

- открытие полного ОЗУ до F800 (т.е сплошное ОЗУ 0...F7FF) или же

- "открытие ОЗУ" в окне D000...F7FF (чтобы загружать туда DOS).

- вторая банка РУ5 напаянная вторым этажом на РУ5 (2 страницы по 48 кб)

- применение 41256 вместо РУ5 (что неудобно при введении цвета)

4-тый вариант самый приятный (как и 5-тый). Он позволяет иметь DOS без реального НГМД или другого носителя. Так с помощью эл.диска 48К нет проблем отлаживать ПО для RK-DOS не имея реального дисковода. Аппаратно выливается всего в 155 ИД4 (коммутация /CAS). Управление текущей банкой сигналом INTE (прямо из КР580).

По сложности программирования и по затратам на железо, самый простой это 3-тий вариант. Вариант 2 (Full Ram) из-за расположения посредине пространства памяти экрана СПЕЦИАЛИСТА - не имеет решающих преимуществ, если в системе много ПЗУ. Вариант 1 имеет плюсом то, что ПЗУ остается доступным и из него драйвер может работать с экраном.

Удобно сделать страничное ПЗУ с окном 8 кб в адресах C000...DFFF. А в адресах E000...F7FF - всегда ОЗУ. А чтобы получить Full Ram ПЗУ C000...DFFF отключается открывая расположенное под ним ОЗУ (при этом и получается сплошное ОЗУ 0...F7FF). Переключение ОЗУ-ПЗУ - сигналом INTE. Это мне кажется неилучший вариант. И по деталям совсем немного.

Что кто думает о таком варианте? Тот, кому ничего не надо (в смысле доп.ОЗУ), ничего не теряет. Он получает 8 кб ПЗУ и может даже не преключать в ПЗУ страницы (для этого можно истратить 2 бита ППА, пока они ещё не используются для цвета, а как появится совместимый цвет, придётся ставить 2-х битовый регистр).

Т.к ПЗУ C000...DFFF отключается, то при установке второй банки РУ5 доступное ОЗУ увеличивается до 120 кб (как в ОРИОНЕ-128). Чтобы что-то иметь в ПЗУ разумно не поскупиться на диоды и обеспечить выборку ПЗУ C800 в области F800...FAFF, что даёт 1 кб некоммутируемого ПЗУ.

Получается шикарная архитектура превосходящая ОРИОН (т.к цвет СПЕЦИАЛИСТА лучше, т.к быстрее).

fifan
04.12.2017, 21:02
Лучше наведите порядок в теме "варианты СПЕЦИАЛИСТА". Компьютер РАДУГА это вовсе не СПЕЦИАЛИСТ
А почему не Специалист? РАДУГА (http://www.spetsialist-mx.ru/index16.html)- сейчас только вчитался:
1. Создан на базе ПК "Специалист", но имел расширенные графические, звуковые возможности, особенности архитектуры MSX.
2. Написано ПО в том числе и обучающие программы. ПЗУ переделано из - за этого не полная совместимость с оригинальным Специалистом.

Первая здравая мысль, barsik. Спасибо. При первом апгрейде сайта удалю информацию о Радуге.


пора вставить текст про плату ЭКСПРЕСС. СтОит написать, что это были лучшие платы СПЕЦИАЛИСТА, продавались в течение 1988 и 1989 в крупных городах в магазинах салонах "Электроника". КООП, кажется, из Новосибирска (но это не точно). Плата со схемой стоила, кажется, 25 рублей.
Всё верно вплоть до города-прородителя компьютера. И цена верная. Я учился в 300 км. от Новосибирска, в Томске. Сначала продавали печатную плату, текстолитовую клавиатуру и ещё что-то. Потом местные начали печатку делать и продавать за много меньшую сумму.

Точно что он лучший считает пару человек, в том числе и я. Но на вкус и цвет, как говорится. Я знаю, что некоторые от Специалиста М балдеют и они не виноваты, что не жили в Сибири и Казахстане и не могли когда-то купить Экспресс. Не надо их ущемлять.


Это не форумный сайт, а просто архив, склад, место куда можно что-то положить и дать на это ссылку в форумах.
Флаг тебе в руки.

- - - Добавлено - - -


перед владельцем платы ЭКСПРЕСС встаёт вопрос что поставить в ПЗУ.
единсвенное разумное решение - это взять готовые листинги драйверов ОРИОНА и перетранслировать их для СПЕЦИАЛИСТА.

Это нужно решить, но не нужно ничего добавлять, ни ОЗУ ни ПЗУ. Да всё можно загрузить с SD карты. Да и не нужно ничего переводить с Ориона.


По поводу доработок.

Тут тебя, barsik, опять понесло:


Надеюсь, что ни у кого не возникает сомнения, что первым делом надо поставить ИД7 разбивающий область F800 на 8 участков, а выборку F800...F8FF объединить диодами с чип-селектом C800. Что приводит к тому что обращения на F800...F8FF переадресуются на C800, что и обеспечивает совместимость с РК86.

На хрена? Я не хочу иметь совместимость с РК-86. Когда-то со Специалисте копировалось большинство программ на РК-86 и Орион. Обратный процесс я не выдержу.


Даже если кому-то совместимость не нужна, но возможность подключать В/У - доп.ППА, ВИ53 и КНГМД (любой) оправдывает расход в ИД7.
Только согласен на ППА, ВИ53 и КНГМД вообще не нужны. Для 10 программ на ВИ53 овчинка выделки не стоит.


если пользователь поставил 27256, то надо обеспечить страничность.
Не нужно никаких дополнений ПЗУ. Нужна страничность - добавляйте МХ с его RAM/ROM -дисками - он и был предназначен для расширения.

Резюме: Никаких дополнений, которые будут проявляться в резании дорожек и прокладки проводов. Спасите также от вторых этажей памяти! Если только добавить второй ППА для подключения через него SD контроллера. Для удобства через разъём клавиатуры можно подключить адаптер PS/2 клавиатуры.

И так для добавления контроллера цвета (и только 8-ми цветного - не нужно извращаться!) нужно будет тянуть два десятка проводов и то только потому что авторы Экспресса когда-то не поставили контроллер цвета на свою плату. Если хорошенько подумать, то через вставляемую панельку в одну из РУ5 можно подтянуть адреса для памяти контроллера цвета.

Это будет минимальной кровью. А как ты всё предлагаешь сделать, barsik, это будет море проводов и отрезание проводников на основной плате. Да и хватит уже резать хоть и в уме адресное пространство Специалиста! Уже какое поколение реформаторов пытается адреса F000...FFFF приспособить под свои нужды. Что 2 кБайта под каждую ППА кажется расточительно? Дополнение ещё одного дешифратора мы проходили. Это было в последних выпусках Моделиста-конструктора. Ну и где все эти новые устройства подключаемые через дополнительные порты?

Так. Нужны расширения, я уже выше писал собирайте МХ и будет вам счастье. Да и пребудет с вами паяльник!:v2_dizzy_priest:

HardWareMan
04.12.2017, 22:19
Ну есть же интересные мысли. Меня вот кстати бесило, что в МХ только 32 байта общего ОЗУ, этого мало для организации быстрого шлюза. Им бы весь блок FFxx зафиксировать (порты оставить на своих местах) и было бы гораздо удобнее. Да даже если бы FF8x зафикисровали (-1 провод от исходной схемы) уже было бы веселее. Но, нет.

zx_
04.12.2017, 22:35
fifan, дочернюю платку цвета , вставляюмую в гнездо ру5 ,под лут разводку
ябы с радостью поимел

HardWareMan
04.12.2017, 22:38
Дык, пожалуй, одной панелькой же не обойтись: там же 3 чипа напаивали для 8 цветов (и 2 для 5). Нужно же еще и данные.

zx_
04.12.2017, 22:47
HardWareMan, а в теневое ОЗУ использовать как в Спектруме
ПЗУ с Бейсиком туда -]

ну ладно , с FORTH

xm, Бейсик испольовать как SOS операционку , как в Спектрум
полнолуние бп

barsik
04.12.2017, 23:03
Ну и где все эти новые устройства подключаемые через дополнительные порты?
По Вашему существует только то, что опубликовано в журнале МК ? Они мне, кстати, предлагали опубликовать эл.диск и др, но опоздали, - я уже тогда только-что перешёл на ОРИОН, и т.к все "специалисты" тогда вымерли, я решил, что любая публикация по СПЕЦИАЛИСТУ - это только смешить людей. Не знал тогда, что так много "специалистов" сохранилось на периферии. А в Ленинграде тогда всё "забил" Синклер, на тех кто занимался СПЕЦИАЛИСТОМ (а потом и ОРИОНОМ) смотрели как на психов.

А где устройства?

Я отвечаю только за два устройства, не считая доп ППА для УФ-прошивателя (FE00). В 1988-89 меня выручал эл.диск на РУ7 (FD00), а в 1990 уже дисковод (FC00). И первое, что я сделал, когда собрал первую плату (линёвскую), - подключил дешифратор и поставил ППА для УФ-прошивателя.

Дешифратор В/У нужен. На машине из РУ-3-тьих, да, это не важно, можно тратить на доп.порты по 2 кб.

А вот для ЭКСПРЕССА нет. У него - РУ5-тые. Поэтому везде, где не стоит ПЗУ, разумно "открыть" ОЗУ, что все и делали. До CP/M это было не особо важно, а вот когда появился НГМД это стало обязательным, т.к CP/M требует именно ОЗУ и грузится на СПЕЦИАЛИСТЕ на D000...F7FF. И этого ОЗУ катастрофически не хватило.

Т.е на саму CP/M хватило, а вот на драйвер VT52 - нет. От этого на СПЕЦИАЛИСТЕ в CP/M ничерта фирменного не работало. Использовалась только как файловая система, ну и для трансляции ассемблером CP/M. Даже CP/M текстов редактор не работал. Приходилось набирать исходник редактором СПЕЦИАЛИСТА, а потом специальной программой конвертировать в формат CP/M. А вот на ОРИОНЕ этих проблем не было, т.к ОЗУ хватило и для драйвера VT52.


как ты предлагаешь сделать, barsik, это будет море проводов и отрезание проводников на основной плате.

Какое море проводов ?

Две страницы ПЗУ (28 кб) - проволока 6 см
Дешифратор для В/У - 1 корпус (ИД7)
Повышение такта до 2.25 МГЦ - 1 корпус (ТМ2)
Две банки РУ5 - 1 корпус (ИД4)
Замена КР580 на Z80 - 1 корпус (ЛЕ1)

Открытие ОЗУ D000...EFFF - 1 корпус (или просто диоды)

или лучше

ПЗУ в окне 8К и FULL RAM - 1 или 2 корпуса

Да и не всё всем надо делать. В основном сюжет сводится к получению каким-либо способом доп.ОЗУ.

На РК86 у меня долго стояло 6 второ-этажных корпусов, в платах ОРИОНА 7 (голый Z80 и турбо), а на СПЕЦИАЛИСТЕ в той плате, что сейчас стоит в корпусе - 7 мелких TTL и ВК28 (так много потому что 2 КП11 для джойстика, ИР22 для клавиатуры от ИРИШИ). И всё выглядит аккуратно.

Просто не надо применять толстый МГТФ. Если нет настоящего МГТФ-0.03 (то что за него сейчас выдают это обман), то применяйте ПЭЛ-0.22 (его только чуть сложнее залуживать, требуется отскабливать изоляцию острым ножом). На моих платах никаких проводов сверху не видно, все провода с другой стороны, минимально прямые и короткие, не болтаются и сверху заклеены прозрачной широкой скотчевой пленкой). Когда смотришь на плату не сразу и поймешь, что местами ИМС стоят в 2 этажа (т.к проводов не видно). Все микросхемы припаяны высоко, поэтому чтобы понять, что они в 2 этажа надо специально приглядываться. Для макетирования лучше 155 или 555, не 1533, т.к тогда не надо заботиться о висящих входах.

А насчёт банок. Вторая банка (плюс возможность отключать ПЗУ) даёт возможность иметь сплошные 60 кб с расходом всего в несколько корпусов (экран остаётся в другой банке). Причем это лучше чем в ОРИОНЕ, где цвет в банке 1 ограничивает сплошное ОЗУ до 48К. Т.е в ОРИОНЕ никак не получить CP/M с высоким TPA в цвете, а на СПЕЦИАЛИСТЕ - без проблем (т.к цвет не тратит ОЗУ) и с минимальным трудом.


Нужны расширения, я уже выше писал собирайте МХ и будет вам счастье
Глупости. Никакой MX не нужен. Зачем такие сложности? Никакая крутая архитектура не нужна. А я, потратив час наедине с паяльником, получаю вполне приемлемую машину на КР580. И всё на крошечной платке размером ЭКСПРЕСС.

Мои доработки (ОЗУ 60К и НГМД) намного проще, чем вариант MX Л.Афанасьева. Его вариант требует не час труда, а целый месяц и не делается без доп.плат. Да и стояло всего 2 проблемы - это много ОЗУ и дисковод и обе эти проблемы решаются на коленках.

Кстати, плата электронного диска с ПЗУ 27256 и 2-мя банками РУ7 гораздо полезнее переделки в MX. Во-первых, это внешнее устройство, никаких вторжений на основной плате. Даёт ПЗУ для хранения DOS и эл.диск, что заменяет дисковод.

В 80-тые мы не ставили вторую банку РУ5 просто потому, что имели эл.диск 256К, так что просто не было нужды. Но поставить вторую банку коммутируемую по /CAS - это не проблема. Нюанс только в том, что когда идёт обращение видео-части, то всегда формируется /CAS0.

А если цвет не нужен, то 256К получается шикарно на РУ7. У меня так было одно время в 1990. Но сейчас я не хочу связываться с 41256. Мне бы хоть комплект живых 41256 набрать (их полно, но большинство уже сбойные) для платы эл.диска в 256К.

Я вот всё думаю про цвет. Третьим этажом его хреново ставить. Можно поставить всего три РУ6-тых, а получить удобный цвет, используя кодо преобразователь на РЕ3 (схему приложил). В кодопреобразователе для СПЕЦИАЛИСТА задействуется 4 входа РЕ3 - 3 бита код раскраски экранного байта, а 4-тый видеосигнал. 3 бита задают не цвет, а сразу сочетание цветов.

Для начала попробую 2 бита на цвет символов, как хотел А.Волков, а 3-тью РУ6 добавлю на цвет фона. Это позволит задавать цвет нулевых битов чёрным или белым. Даже это лучше, чем медведковские 8 цветов по МК 08.1990 и совместимо с А.Волковым. Думаю, что цветные программы сделаны в основном для волковского цвета. Это так?

Идея подключать платку цвета через панельку РУ5-той - хорошая, хотя и опоздала на 40 лет. Так же через панельку 4116 в Apple-II подключаются платы расширения ОЗУ на 16 кб (https://yadi.sk/i/qopkq-FU3QKFU4). Плоский кабель кончается колодкой DIP-16 и вставляется вместо крайней 4116 на основной плате. Так на плату приходят мультиплексированные адреса (данные - через слот). Т.о с помощью колодки DIP-16 можно вытащить сигналы с платы без пайки.

Эту же идею можно использовать для подключения второй банки РУ5, если кто-то не хочет припаивать их в два этажа. А у меня есть 10 комплектов двухэтажных РУ5-тых (от ОРИОНА). Но волочащиеся внешние платы - некрасиво, а 2 этажа микросхем (не плат) эстетически даже лучше, чем один.

В принципе, без второй банки РУ5 (если CP/M с высоким TPA не волнует), можно легко обойтись. Меня High-TPA CP/M не особо волнует, т.к у меня есть IBM PC и TSR эмулятор CP/M позволяющий стартовать CP/M компиляторы в MSDOS (увы, те, у кого не Windows XP не могут ипользовать программы MSDOS).

С одной банкой РУ5 можно иметь только CP/M с TPA 36 кб. Для ЯВУ этого не хватит (а макроассемблеру M80 хватает). В этом случае от CP/M используется только файловая система и тогда нет особой разницы - RK-DOS или CP/M.

С одной банкой РУ5 получается такая архитектура - C000...BFFF - ПЗУ с 4-мя страницами по 8 кб. А в области E000...F7FF - всегда "открытое" верхнее ОЗУ из РУ5-тых. Для получения 2-х бит для переключения страниц ПЗУ ставим доп.регистр, удобно, 155 ТМ7. В ТМ7 ещё 2 регистра останутся. Тратим эти 2 регистра на отключение ПЗУ 27256, что даёт режим FULL RAM.

Отключение ПЗУ C000...DFFF даёт большую гибкость. Можно загрузить любую систему, любой ROM-BIOS, например любые мониторы, т.к от C000 до F7FF находится ОЗУ.

Сейчас попробую нарисовать картинку арихитектуры памяти области C000...FFFF, если не засну.

fifan
05.12.2017, 06:35
Про подключение через панельку РУ5 контроллера цвета я подумаю. Я и не писал, что этим всё обойдётся - десяток проводков нужно будет довести. Схема будет в соответствующей теме.

barsik, вообще никак не убедил. Без соответствующих схем и ПО никак не обойтись. Хотя бы для понимания картины. Последняя схема то же пойдёт, хотя бы потому что РТ4/РЕ3 не желательно использовать да и схема "архитектуры памяти", а идёт вывод цвета?!

А если нет ПО, то никто под даже готовую переделанную схему не будет программки писать. Вот пример. Сделаны два разных SD контроллера от Vinxru HardWareMan'а. Первый для всех Специалистов, второй - только для Специалиста МХ2. И так же соответственно ПО: Commander и Loader V5. И всё. Никто не ринулся сразу что-то предлагать. Правильно Ewgeny7 когда-то сказал, что никто сейчас не жаждит ковыряться в коде для ретро компьютеров.

barsik
05.12.2017, 06:52
По поводу цвета.

Раз уж для цвета уже используют PC7, PC6 (это А.Волков) и PC4 (это Иванов/Медведков), то сама напрашивается мысль использовать для цвета всю тетраду PC4...PC7. То что PC5 истрачена на звук - не волнует (PC7 тоже уже был занят на "TAPE OUT"). Можно поставить тумблер или DIP-конфигуратор.

Четыре смежных бита это то, что надо для цвета. Этого хватит уже на полноценные 4 цвета. А бит INTE задействовать на выбор одной из двух палитр. Это даёт 8 цветов и задавать можно цвет, как экранных нулей, так и экранных единиц, а не только одних единиц, как в журнальных вариантах (что и делает цвет убогим, пригодным только для рисования цветных стенок лабиринта и одноцветных фигурок бегающих на чёрном фоне, а даже для текстообработки ничего не даёт). Важно, что это совместимо с цветом А.Волкова и позволяет применить как 3 бита, так и 4 или 5 битов (5 битов в случае, когда полноценных 4-х цветов не хватает).

Ещё более хороший цвет получается с использованием кодо-преобразователя на РЕ3. Входные 2 или 3 бита задают не цвет единиц в экранном байте, а цвет и 0 и 1 !!!

Для примера, тройка битов 010, считанная в медведковском цвете из трёхбитового ОЗУ цвета приводит к закраске красным только единиц в экранном байте. А с кодо-преобразователем логический цвет 010 (2 дес) преобразуется в физический, например, желтый на синем. Т.е логический цвет задаёт сочетание цветов в экр.байте. Практически нет нужды одновремено иметь на экране более 8-ми сочетаний цветов. Поэтому такой цвет почти полноценный, не уступающий цвету ОРИОНА, где 16 цветов для нулей и 16 цветов для единиц (потому что некоторые сочетания цветов бессмысленны), но делается не из 8-ми битов, а всего из трёх.

А благодаря тому, что у РЕ3 5 адресных входов, а в схеме 3 входа тратятся на входной код цвета, один бит на VIDEO, и остаётся ещё один бит, что и позволяет получить или 100% совместимость с медведковским цветом, или же 2 палитры по 8 цветов в каждой (что лучше, т.к кому нахрен нужен медведковский цвет ?). Точнее, в случае совместимости тоже 2 палитры, но вторая совместимая палитра раскрашивает только экранных единиц.

Такой вариант цвета идеален, т.к прост, отличные параметры и совместимость. А если уж делать платку цвета, то одна лишняя микросхема 155 РЕ3 и резистивные ЦАП-ы на её выходе, формирующий веса RGB, - не увеличат фатально размер этой платки цвета.

На приложенной схеме вход "Mode" выбирает или палитры или совместимость/несовместимость с медведковским цветом. Сигнал BORDER это гашение экрана. В схеме ЭКСПРЕСС это D40/2 (D1.5/4). DD4 - это ИР1 в схеме медведковского цвета МК 08.1990.

barsik
05.12.2017, 08:53
схема "архитектуры памяти", а идёт вывод цвета !

Так это и не архитектура области памяти C000...FFFF. Это я просто использовал старый рисунок, чтобы показать кодо-преобразователь логического цвета в физические на РПЗУ. Диаграмму памяти я ещё не рисовал (спать хотелось). Да она и-так ясна. Её можно показать на пальцах.

Рисуем вытянутый по вертикали прямоугольник, делим горизонтальной линией пополам. Подписываем верхнюю вертикаль FFFF, нижнюю вертикаль - C000, а среднюю - E000. В верхнем квадрате, отступив четверть сверху рисуем еще одну горизинталь и подписываем её F800. Внутри нижнего квадрата пишем "страничное ПЗУ", а в верхнем квадрате пишем "ОЗУ". Над всем вертикальным прямоугольником пишем INTE=0. Справа рисуем точно такой же вертикальный прямоугольник, но без средней линии. Обозначаем область F800, горизонтальной линией отделив сверху 1/8-мую по высоте. И внутри большого участка пишем "ОЗУ". А над всем этим прямоугольником пишем INTE=1. Что и поясняет, что при INTE=0 в адресном пространстве есть окно ПЗУ 8 кб, а при INTE=1 - режим FULL RAM.

Вот и всё. Нарисуйте сами, а то трахаться с PAINT утомительно (нарисую до конца дня).


схема тоже НЕ пойдёт, хотя бы потому что РТ4/РЕ3 нежелательно использовать
Это как раз тот случай, когда применение РПЗУ оправдано. Я против ставить их там, где без этого можно обойтись. Кстати, можете не верить, но роль выходного видео-ЦАП в ИРИШЕ с частотой пиксель клока 16 МГЦ вместо 556 РТ5 (!!!) без проблем играла 573 РФ5. Так, что эксперименты можно произвести и с РФ5.


Правильно Ewgeny7 сказал, что никто сейчас не жаждет ковыряться в коде для ретро компьютеров
Ковыряться в чужом коде (даже при наличии авторского исходника) это неблагодарное дело.


Писать программы для 8-ми разрядки я люблю и последние 20 лет много писал только для себя, иногда практически каждый день. Также дизассемблировал и оценивал чужие программы ОРИОНА и РК86. И буду этим заниматься и дальше, хоть для РК86 хоть для СПЕЦИАЛИСТА.

Глупые люди не понимают, что программировать на порядок интереснее, чем возиться с железяками. Я тоже когда-то любил железки, теперь ненавижу. Рэтро программирование для хобби подходит гораздо лучше, чем сложное современное программирование.

Отчасти занимаюсь программированием для 8-ми разрядок потому, что для Windows на ЯВУ программировать не умею (и не хочу). Максимум, что удалось освоить в 90-тые, - это Турбо Си с Turbo Vision и Турбо Паскаль с ним же, ну и TPW (когда нужно сделать консольное приложение Windows). И-то только потому, что нужно было написать эмулятор. От Visual-C и Delphi пришлось отказаться, т.к нигде не было информации, как попиксельно работать с экраном.

Цели писать ПО для PC у меня никогда не было. Рэтро хобби ценно именно тем, что здесь и электроника и программирование понятны и доступны каждому. А для IBM PC не успеешь освоить один ЯВУ или библиотеку, как это уже устарело и надо начинать всё с нуля. Зачем этим заниматься ?

fifan
05.12.2017, 12:50
Слова Ewgeny7 я привёл в смысле никто сейчас не хочет делать новое ПО. Два устройства (SD контроллеры) поддерживаются двумя программами и никак не развиваются.

РПЗУ в контроллере цвета - экзотика, а про память РУ5/6 - 3 штуки забыли?

barsik
05.12.2017, 22:20
Ответ на пост о ВИ53 в теме "Специалист 'Экспресс'" (http://zx-pk.ru/threads/27578-spetsialist-ekspress.html?p=940153&viewfull=1#post940153).

Да Вы чо ?

Такой вариант ВИ53 и даром не нужен. Я бы ещё понял, когда один канал формирует GATE (задавая длительность ноты), второй формирует громкость и тембр за счёт широтно импульсности и только третий скворчит. Тратить целый канал для получения более низкой частоты, в компьютере, где море счётчиков и любых частот на выбор как грязи, - просто глупо.

Весь сюжет ВИ53 заключается в трёхголосии. Трёхголосная мелодия звучит на порядок приятнее, чем одноголосная. Как мы на такой схеме сможем слушать классическую мызыку, т.е "Шульберта, Бахуса и Страуса". Ведь ставить ВИ53 стОит только для этого. Одноголосную мелодию не проблема сыграть и программно.

Давайте поставим тогда AY-8912.

Не считаю, что сделать вставки музыки в существующие игры так уж сложно. Грамотные программы дают звук однобитовым управлением PC5 (менее грамотные пишут целый байт в порт C). Так что, чтобы найти в коде места, где что-то булькает на динамик, - не проблема. Для этого достаточно отладчика и метода "заплатки". Находим это место, влепляем там CALL на место в конце кода и вставляем в конце кода единообразную процедуру вывода и свой уникальный блок кодов музыки подготовленный музыкальным редактором (например, для случая гибели пэкмана подходит траурная музыка Шопена, Моцарта, Мендельсона или Бетховена). Под рэквием Моцарта гораздо легче пережить потерю игровой "жизни" или проигрыш в игре.

Читал, что недостатки ВИ53 немного смягчает наличие шумового канала. Это, якобы, в сочетании с тонами позволяет вводить шумовые эффекты в игры.

zx_
05.12.2017, 22:48
вот музыка с Апогей БК 01
https://youtu.be/n5jJETxMAZk

тоже ВИ53 , три выхода через резисторы обьединены по схеме
http://www.emuverse.ru/wiki/Апогей_БК-01

если такая музыка заработает на Специалисте - счастью нет предела

barsik
06.12.2017, 01:19
Наверное всё-же ВИ53 не стОит ставить на платку цвета (а то платка разбухнет). Я бы и атмеги никакие туда не ставил и доп.порты ВВ55 тоже. Платка цвета лучше бы была только платкой цвета. Зачем превращать её в мультикарту? Для подключения всего остального нужен системный разъём.

Системный разъём, служащий для подключения периферии можно закрепить у нижнего края платы (считая верхним край, где ОЗУ). Вообще на плате ЭКСПРЕСС печатные проводники занимают почти всю поверхность платы равномерно, отчего очень сложно найти место где бы можно было бы просверлить отверстия под винты М2 или М2.5. Для закрепления внешней платы надо иметь хотя-бы два отверстия у самого края платы. Я закреплял внешние платы двумя способами.

Во-первых у левого края платы, по всей длине (на 3-х винтах М2). Длинная узкая платка крепится на уровне основной платы с помощью 3-х пластинок (размером ~10*20), которые находятся со стороны пайки и не видны. Дизайн не портится. Так я крепил платку с Z80. Это эстетичный, но не оптимальный вариант монтажа Z80. Я имел Z80 на 3-х платах ЭКСПРЕСС. Тремя разными способами.

Первым и наиболее удачным вариантом был монтаж Z80 прямо на место КР580. Z80 крепился пайкой на 4-х проволочных стойках (на ногах 1, 20, 21 и 40). На высоте примерно 5 мм от платы до кончика неукороченного вывода Z80. К выводам Z80 подпаивались проводки MГТФ-0.03 (или ПЭЛ-0.25) длиной 40-50 мм. Так, чтобы их длины хватало дотянуться до одного из 40-ка отверстий. Т.к все проводки оказываются под микропроцессором и не видны, то это нисколько не портит дизайн платы. Кстати доп.ЛЕ1 нужную при установке Z80 было удобно крепить на место 155 РЕ3 (её можно крепить вторым этажом на ближайшем КП12). Установка Z80 занимает меньше часа.

Во-втором варианте, я использовал платку Z80CARD-I от ОРИОНА, закрепив вместо КР580 отпилок разъёма СНП-58-64 с 40-ка контактами. По красоте дизайна это не лучший вариант, т.к платка Z80CARD стоит вертикально и довольно высокая.

А в третьем варианте как раз и использовал длинную планку шириной ~35 мм, закреплённую с левой стороны платы. Этот вариант неудачен тем, что снизу платы от 40-ка отверстий из-под КР580 тянутся 40 длинных проводов к панельке Z80. Поэтому лучшим я считаю первый вариант установки Z80 (над посадочным местом КР580).

Для подключения системного разъёма его не обязательно монтировать или как-то закреплять на плате. Я использовал импровизированный разъём из панельки для ИМС стоящей на месте РЕ3 и DIP-колодки. Но если у Вас единственная плата ЭКСПРЕСС, то Вам не надо их перетыкать в корпусе. Тогда достаточно проводами ~150 мм соединить разъём с ножками КР580. В этом случае системный разъём должен крепиться изнутри корпуса (это чтобы плату вместе с подпаянным сист.разъёмом можно было извлекать из корпуса для ремонта и модификаций). Как показала практика, несмотря на то, что шина небуферизованная, а провода от платы до разъёма на корпусе и от разъёма до платки КНГМД и эл.диска составляют ~300 мм, при всего 2-х В/У и такте 2.5 МГЦ никаких проблем из-за перегрузки шины не возникало и ставить АП6 не пришлось.

Для установки РК-КНГМД я закреплял слот на 50 контактов с краю платы рядом с ИД4 и нижней ПЗУ. Там по краю платы можно найти место для сверления трёх отверстий под винты М2 и также с помощью планок привинчивал к основной плате. В слот втыкался стандартный РК-КНГМД с укороченным врубным разъёмом (из 30-ти ламелей в ряду 5 рядов удалялись, чтобы осталось 50 контактов).

ВИ53 можно поставить на место крайней панельки ПЗУ. Проводков немного - сигналы /RD, D0...D7 буквально в нескольких сантиметрах, а /WR тоже рядом - с процессора. Т.е пайки немного и все провода снизу, никакой порчи дизайна и нарушения эстетики. Если утрата одной панельки для РФ2 неприемлема или руки крюки, то можно ВИ53 "оформить" как внешнюю В/У-плату подключаемую, через системный разъём. Кстати, откопал ещё одну плату ЭКСПРЕСС, рабочую, совершенно базовую (2 МГЦ), без всяких доработок, что позволяет поставить туда ВИ53.

Плата ЭКСПРЕСС разведена для установки какого-то странного разъёма под клавиатуру, в котором ряды сдвинуты. В свои платы я запаивал отпилок обычного синего разъёма СНП-58-64. Для этого приходилось выгибать выводы разъёма. Лучше бы в новоделе ряды отверстий для монтажа разъёма сдвинули, чтобы были напротив друг друга.

fifan
06.12.2017, 06:36
Господа, установка ВИ53 даёт право резать дорожки на дешифратор. Как не дойдёт до вас что плату трогать не кто не даст. Так и чешутся руки всё исправить.

barsik
06.12.2017, 07:17
Господа, установка ВИ53 даёт право резать дорожки на дешифратор. Как не дойдёт до Вас что плату трогать никто не даст. Так и чешутся руки всё исправить
Не понял о чём речь, но не суть.

Что за ерунда? Какие права? Платка принадлежит оплатившему её. Где хочет там и режет. И руки не чешутся, просто, во-первых, на моих платах так уже сделано, а во-вторых, какая альтернатива? Оставить всё как есть и наслаждаться МГ-вариантом компьютера? И подключать В/У без дешифратора - глупо. Тратить 2 кб на каждое В/У не смешно.

Дешифратор ИД7 на область F800 однозначно надо ставить, а если совместимость с входными точками на F800 не важна (или расход в 2 диода напрягает), то разрез требуется только для /CS у ППА, который в ЭКСПРЕСС занимает поле адресов F800...FFFF, но программно всегда адресуется на FF00, что однозначно доказывает, что именно облать F800 и изначально была предназначена для В/У.

Почему Вы почитаете печатные проводники за "священную корову", что несколько разрезов на плате недопустимы? На этом сайте у всех имеющих паяльник на платах море разрезов и никто не плачет из-за этого. На и на находящихся в запечатанных корпусах промышленных изделиях разрезов печати для коррекций полно.

Я вообще считаю, что пока число ИМС напаянных вторым этажом не перевалило за второй десяток, волноваться нЕ о чем. "Криворучки" не должны заниматься рэтро компьютерным хобби. А МГТФ и разрезы печати для коррекций - это составная часть хобби. Если у Вас хобби заключается только в том, чтобы механически запаивать ИМС в готовые платы и повторять в железе только то, что было сделано нашими предками древними славянами для помещения этого железа в музей, то у нас совсем разные хобби.

Кстати, так и не понял, почему никто не визжит от восторга по поводу того, что никак не увеличивая число ИМС, а лишь заменив ЛИ1 на РЕ3 в медведковской схеме цвета, получается полноценный цвет и совместимость со всеми уже имеющимися вариантами цветов. Неужели никто не понял преимуществ?

zx_
06.12.2017, 07:52
вы не могли бы со схемами нарисованными вот это разьяснить—

«Кстати, так и не понял, почему никто не визжит от восторга по поводу того, что никак не увеличивая число ИМС, а лишь заменив ЛИ1 на РЕ3 в медведковской схеме цвета, получается полноценный цвет и совместимость со всеми уже имеющимися вариантами цветов. Неужели тут никто не понял преимуществ?”

схемы нужны и информация, а не эмоции-)

barsik
06.12.2017, 08:41
Вы не могли бы со схемами нарисованными вот это разьяснить -
. . . . .
схемы нужны и информация, а не эмоции
Так понимаю, что речь идёт о схеме платы цвета. Но ведь я это уже нарисовал.

Вот это (в приложении), что уже было выложено ранее, и есть моё предложение по доработке схемы цвета из МК 08.1990. Эта РЕ3 ставится в схему того цвета вместо DD6 (155 ЛИ1). И сигналы в том тексте я уже пояснял.

Сигнал VIDEO - это D48/10 (в ЭКСПРЕССЕ - D33/10) - выход сдвигового видео регистра (до смешениия с синхросмесью). Сигнал гашение - это смесь гашения по строкам и кадрам D13/2 (D40/2 в схеме ЭКСПРЕСС). Сигнал Mode это управление режимом цвета (тумблер, DIP-конфигуратор или программно управляемы однобитовый порт) - переключает журнальный цвет или полноценный. Разумно ввести программное управление и назвать цветной режим 1 и цветной режим 2. А режимом 0 следует считать монохром. Три режима экрана придают солидность.

Если нужна полная схема, так возьмите журнал МК 08.1990 и объединив схемы нарисуйте. Если Вам это лениво, то позднее я постараюсь перерисовать журнальную схему. По мере необходимостия нарисую все модификации, что считаю разумными. Хотя там собственно и рисовать нечего, все схемы из 1-2 доп.корпусов, самоочевидны и объясняются на пальцах.

Схему дешифратора на F800 я выкладывал где-то полгода назад и на прошлой неделе. Установка Z80 есть в документации Л.Афанасьева (там 2 варианта, на СПЕЦИАЛИСТЕ я использовал первый вариант с ёмкостью 270 пф, второй вариант (с соединением /R и D) я на СПЕЦИАЛИСТЕ никогда не пробовал, он был изобретён уже на ОРИОНЕ.

Схемы турбирования на 2.25 и 2.5 МГЦ очевидны и представляют из себя коррекции для изменения коэфф-та деления счётчиков по строке (чтобы при другом кварце частота строк осталась 50 ГЦ). Для такта 2.5 МГЦ коэфф-т деления меняется с 64 до 80, а для 2.25 МГЦ с 64 до 72. При этом перекидывается ещё пара проводков чтобы сдвинуть ССИ для центровки растра. Т.е можно ставить кварц 10 МГЦ или 9 МГЦ (или 18 с делителем на 2). При 10 МГЦ экранчик плющится как в ОРИОНЕ, хотя быстродействия уже хватает для КНГМД на базе ВГ93. Кварц 9 МГЦ ставить разумнее потому, что при кварце 8 МГЦ на большинстве телевизоров крайние знакоместа не видны. А при 9 МГЦ получается шикарно, картинка точно в экран, как и на ПАРТНЁРЕ, где пиксель клок тоже 9 МГЦ.

Было бы конечно замечательно, если бы удалось на Западе купить 8080 для 4 МГЦ. Это бы сразу подняло СПЕЦИАЛИСТ на недосягаемую высоту оставив тормозной ОРИОН далеко позади. К сожалению, такие CPU почему-то считаются ценными для коллекционеров и стоят дорого.

Схемы замены кварца, точнее инструкции по коррекции я выложу позднее, тем более что варианта на 9 МГЦ для СПЕЦИАЛИСТА у меня ещё нет (есть для ОРИОНА, где я сейчас тоже использую пиксель клок в 9 МГЦ, т.к не люблю плющенный экран).

Интерес представляет только схема для архитектуры ПЗУ и ОЗУ в области C000...F7FF. Я уже объяснил, что самый разумный вариант это страничное ПЗУ 27256 с окном в 8 кб, а оставшиеся 6 кб - верхнее ОЗУ. ПЗУ реализуется запайкой 4-х диодов, которые разработчики "Восточного Экспресса" предусмотрели.

А открытие верхнего ОЗУ тоже может реализоваться диодами (но запаиваемыми не туда). А вот для отключения ПЗУ и получения режима FULL RAM надо ставить регистр управления и простейшую логику (2 корпуса). Но это я никогда не макетировал, т.к придумал всего пару дней назад.

Вот и всё. Это простейшие и самые разумные доработки, что делаются при одной банке ОЗУ. При наличии двух банок, отключать ПЗУ уже не так необходимо, т.к возникает целая банка со сплошным ОЗУ в 60 кб, т.е фактически вариант MX. Разница будет только в том, что в MX для управления - адреса FFx0, а я предпочитаю F900, как в ОРИОНЕ.

Остаётся решить, где взять два бита (три бита при 27512) для переключения страниц ПЗУ. Изначально я планировал задействовать на это биты ППА занятые под цвет. Но раз планируется делать цвет для ЭКСПРЕСС-а, то это отпадает. Это значит, что надо ставить порт-регистр вывода в шину. Как адрес этого порта можно использовать F800 или F900. Это удобно сделать с 555 ТМ7, получив 2 бита в порту F800 и 2 бита в порту F900.

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

Но вот верхнее ОЗУ 6 кб следует считать стандартом. Всего лишь 6 кб играют решающую роль. Лучше бы конечно иметь верхнее ОЗУ в 10 кб, но увы, окно ПЗУ выгоднее всего иметь в 8 кб. Делать окно ПЗУ бОльшим и значит некратным 8 кб - просто глупо, т.к тогда бесполезно теряется объём ПЗУ. В 6 кб вполне умещается BDOS CP/M.

Если кому-то не хватит 32 кб ПЗУ, то он может отказаться от верхнего ОЗУ, поставив в три панельки три РФ2, что увеличит ПЗУ до 38К, но сомневаюсь, что это его сделает счастливее, потому что ОЗУ полезнее, чем ПЗУ. А уж если так хочется больше ПЗУ, так ставь 28С512 и наслаждайся 64 кб ПЗУ.

Старые программы типа редакторов и ассемблеров легко перетранслировать для работы из верхнего ОЗУ. В 6 кб также влезет версия RK-DOS с TPA на 36 кб, что позволяет не тратить ПЗУ. А для базовой, т.е совместимой с РК86, RK-DOS можно поднять TPA с 7000 до 7500 переместив дисковый буфер в верхнее ОЗУ, что позволит грузить программы размером аж до 7500.

rw6hrm
06.12.2017, 09:52
...что-то уважаемый народ всё про железо и железо... А софта-то нет, от слова совсем. Считать игрушки и демы вот только не надо, их и так животное нарыдало самый минимум, и то несовместимые между версиями. Прикладухи никакой вообще, ни редакторов, ни баз данных. Без софта все разговоры - не более чем увлечённое ковыряние трупика палочкой.
А если по железу, то мне не хватало двух вещей. Первое - отсутствие отдельного поля адресов для УВВ. Второе, истекающее из первого - возможность двух режимов работы Спеца: стандартный и с отдачей всего ОЗУ под, скажем, нужды СР/М. Вот тогда про софт можно и не думать. Однако - см. пункт первый плюс отображение экрана на основную память...
...вот поэтому я и избавился от "первой любви" через неделю после приобретения и модернизации, без особого сожаления.

Надеюсь, что никого не обидел.

barsik
06.12.2017, 12:27
Депресуху разводите, энтузиазм на корню срезаете. Не нужны такие антипосты. Надо наказывать не за оффтоп, а вот за это.

Если люди находят интерес хотя-бы в железе (которое как раз и ценно тем, что понятно в отличие от современного), это же лучше чем беспробудное пьянство, секс, наркотики и рок-н-ролл.


всё про железо и железо...
А без железа даже начать ничего нельзя. Вот разыскал я вчера свой СПЕЦИАЛИСТ (15 лет не видел). Включил, вышел в монитор. Зашёл в резидентный редактор, зашёл в резидентный ассемблер и это всё, что я смог с ним сделать. Есть встроенная DOS, но нет эл.диска на который она рассчитана. Есть резидентный загрузчик CP/M, но нет КНГМД на ВГ93 и дисковода. Потыкал на кнопки, отчего наклейки на кнопках МП16, приклееные 28 лет назад "Моментом" поотлетали, и выключил. Т.к нет ни КНГМД на ВГ93, ни эл.диска, ни много банок ОЗУ для RAM-диска, ни даже РК-КНГМД, не говоря уже о винчестере.

Так что даже, чтобы что-нибудь начать мне надо сначала, увеличить ОЗУ, из чего сделать RAM-диск. Затем для RAM-диска странслировать DOS. Затем опираясь на DOS для RAM-диска сделать DOS для "железа" - дисковода и винчестера. Нужна система и среда разработки.


А софта-то нет, от слова совсем
У кого как. Если есть CP/M, то есть и редактор SuperText и компиляторы.

А игры СПЕЦИАЛИСТА же есть. А при нехватке несложно адаптировать игры от ОРИОНА.

Например "Manic Miner". Это изначально игра СПЕЦИАЛИСТА (оттого и чёрно белая). В 1991 её адаптировали для ОРИОНА, что несложно, т.к экраны устроены одинаково, отличие лишь в адресе. А оригинал этой игры для СПЕЦИАЛИСТА оказался утрачен. Т.к человек адаптировавший игру от ZX написал крутую МГ-защиту (используя, в частности, недокументированные команды, хитроумные методы защиты МГ-форматом в сочетании с антикракерными мерами). Было продано всего 10 копий игры местным пользователям и нескольким украинцам. Игра в защите без крака распространиться не могла. Свою копию игры утратил в середине 90-тых. Один чувак хвастался в 1990, что они кракнули и эту игру и другие. Потому полгода назад поинтересовался - оказалось игры ни у кого нет. Остаётся только заняться обратной конверсией версии для ОРИОНА.


Прикладухи никакой вообще, ни редакторов, ни баз данных. Без софта все разговоры - не более чем увлечённое ковыряние трупика палочкой
Насчёт редакторов, есть же кое-что. И уж получше, чем редактор МИКРОН-1 для РК86. А если есть CP/M, - WordMaster работает даже при маленьком TPA. WordStar, если не надо КОИ-8. Ну а для нормальных людей есть SuperText, который не устареет ещё лет 200.

А базы данных? Это Вы шутите? Кому нужны базы на 8-ми разрядке? Тем более в МГ-версии, как тут предпочитают. Ну есть у меня dBase-II для CP/M, какой от неё прок? Что заносить в базу данных на 8-ми разрядке, даже имея быстрый носитель. Тем более сейчас, имея IBM PC.

А про ковыряние трупика палкой. Метафора слишком злая. По мне так лучший компьютер для хобби, это как раз тот для которого нет программ.


мне не хватало двух вещей. Первое - отсутствие отдельного поля адресов для УВВ
В подавляющем числе микропроцессоров, по крайней мере в 70-тые и 80-тые годы, не было никаких В/У. Это просто низачем не надо и ничего особо ценного не даёт. Для Intel это была просто рекламная фишка, мол у нас есть, а у других нет. Область В/У была нужна в 1971 году, когда скорости портов и памяти отличались.

Возьмите все 8-ми разрядки 70-тых (их с десяток). Нет у них никаких В/У. Даже в 32-х разрядные CPU (68000) область В/У не ввели. Если там сотни тысяч транзисторов, неужели было жаль потратить сотню на порты. А не ввели потому что не надо. И DMA для них работают с портами в области памяти.

Теперь обьясняю почему, как раз для КР580, порты вообще не нужны. Потому что у КР580 нет команды косвенной адресации портов. Это значит, что для каждого порта надо писать свою подпрограмму работы с ним. Т.е адрес порта в программе не может меняться. А учитывая, что с портами часто работают из ПЗУ, это становится фатальным недостатком. Смотрите, как пришлось выкручиваться в отладчике ИРИШИ. Там куски кода программы работающей из ПЗУ вынуждены копировать в ОЗУ и там модифицировать сам код команды. Ну а что реально полезного дают команды IN/OUT ? -- Да вообще ничего.

Я бы ещё понял про Z180, где можно программно задать число тактов WAIT при работе с медленными портами. А в КР580 и этого нет и вводить особые свойства для команд IN/OUT просто не требуется, т.к нет медленных устройств, скорости портов и памяти уровнялись. А скорость КР580 так низка, что нет ни одной БИС, что бы не успевала. Это когда Z80 на такте 10 МГЦ, то ВВ55 не успевает, а на 2.5 МГЦ успевают все БИС, что можно подключить к КР580.

Авторы "Корвета" не случайно отказались от IN/OUT. Они это сделали потому, что с ВГ93 в области В/У им не хватало скорости обмена с дисководом. Хотя команды IN/OUT короткие двухбайтовые, но команда LD A,(HL) намного быстрее. Потому программный обмен с ВГ93 командой LD на пределе успевает на скорости 2.5 МГЦ. А когда ВГ93 стоит в области портов, то им пришлось бы турбировать КР580 до 3 МГЦ. Таким образом от команд IN/OUT не только нет пользы, а наоборот - один вред. И железа больше и параметры хуже.

Порты в области В/У вовсе не нужны чтобы получить режим FULL RAM. Это делается с помощью одного TTL-корпуса и сигнала INTE. А если хочется ОЗУ не только 62 кб, а именно все 64 кб, то кто мешает сигналом INTE выключать всё, в т.числе и область портов F800...FFFF. Команды DI/EI не требуют наличия портов в памяти.

А для CP/M с максимально высоким TPA СПЕЦИАЛИСТУ не хватало вовсе не портов в области В/У, а возможности убрать экран 12 кб из адресного пространства, т.е второй банки ОЗУ, которая ставится за 15 минут труда.

Error404
06.12.2017, 13:54
Слова Ewgeny7 я привёл в смысле никто сейчас не хочет делать новое ПО.


Потому что объективно это дело требующее затрат большего количества человеко-часов до момента получения результата чем железячное творчество (а значит и кайфа меньше). Кодинг - удел тех, для кого пайка еще более утомительное дело (как например для меня макетирование на МГТФ, что выливается в то что схему еще как-то я составлю, а проверить в железе уже лень ибо паять долго и утомительно - вот все эти проводнички).



Два устройства (SD контроллеры) поддерживаются двумя программами и никак не развиваются.


Самим устройствам так то и не особо много поддержки надо - только адаптировать под них BIOS (по факту - чтение и запись сектора) от каких-то популярных ОС, а дальше должен автоматически заработать весь накопленный архив ПО этих ОС (если он есть, конечно). Но если делать без ОС - лазать в контроллер напрямую каждый раз встраивая в себя весь код обслуги файловых систем, то конечно долго ничего не будет.

- - - Добавлено - - -


...что-то уважаемый народ всё про железо и железо... А софта-то нет, от слова совсем. Считать игрушки и демы вот только не надо, их и так животное нарыдало самый минимум, и то несовместимые между версиями. Прикладухи никакой вообще, ни редакторов, ни баз данных. Без софта все разговоры - не более чем увлечённое ковыряние трупика палочкой.
А если по железу, то мне не хватало двух вещей. Первое - отсутствие отдельного поля адресов для УВВ. Второе, истекающее из первого - возможность двух режимов работы Спеца: стандартный и с отдачей всего ОЗУ под, скажем, нужды СР/М. Вот тогда про софт можно и не думать. Однако - см. пункт первый плюс отображение экрана на основную память...


Все ОЗУ из основных 64к в любом случае операционке не отдашь, т.к. там экран. Поэтому для меня наиболее простым (т.к. решается всего одним селектом переключающим обращение проца в доп страницу ОЗУ) видится вариант дополнительной страницы ОЗУ, поставленной по любому варианту какой покажется красивее. Получится вариант по сбросу на 100% совместимый с исходным Специалистом т.к исходное можно не трогать открыванием под ПЗУ-шечного ОЗУ.

- - - Добавлено - - -



А базы данных? Это Вы шутите? Кому нужны базы на 8-ми разрядке? Тем более в МГ-версии, как тут предпочитают. Ну есть у меня dBase-II для CP/M, какой от неё прок? Что заносить в базу данных на 8-ми разрядке, даже имея быстрый носитель. Тем более сейчас, имея IBM PC.


Радиолюбителю не нужны 95% софта от CP/M ибо он просто не знает что это и для чего в силу ненужности в основной деятельности. А вот пользователи у этого всего были, у меня тетка (математик) подрабатывала программированием бухгалтерии на dBase-II до середины 90х, и одну контору у которой ВСЁ делопроизводство на dBase-II и Robotron1715 было до конца 90х я тоже знавал (они жили по принципу - работает не трогаем). В dBase-II не хватает поддержки SQL (как в FoxBase), c ним оно превратилось бы в аналог MySQL но для CP/M. Вот например работающий http-сервер для Z80 есть и не один (ибо это не сложно), а нормального бэкэнда к нему (базы данных) нет, ибо все кругом радиолюбители, а не математики, и вот именно поэтому нет и не будет нормального веб-сервера работающего в Интеренет с хостингом на Орионе/Спеце (не с hellowld.htm, а нормального - например форум какой-нить), а не потому что плату Ehternet сложно спаять или доп. дешифратор внедрить.

rw6hrm
06.12.2017, 15:55
<offtop>

А базы данных? Это Вы шутите? Кому нужны базы на 8-ми разрядке? Тем более в МГ-версии, как тут предпочитают.
Вот поэтому, без шуток, перебрался на старый добрый Epson HX-20 с кассетным картриджем (аппарат даже хуже Специалиста по скорости и процессору, но поддержанного софтом железного фарша в нём изначально достаточно). Desk Master, как и встроенный Бейсик, прекрасно работают в качестве базы данных с прямым доступом. Да, надо подождать иногда перемотку ленты, но когда торопиться некуда,... И работает тихо, не как РС.
А вот кириллицы в нём нет...

По мне так лучший компьютер для хобби, это как раз тот для которого нет программ.
:) Вот и залёг "Аюша" на полку. Хобби-то разное бывает...
</offtop>
А ещё Спецу ой как не хватает коммуникационных способностей. Думаю, что нужно определиться со стандартизацией адресации регистров для СОМ-порта, который сам может быть любого исполнения (хоть ВВ51, хоть 6850, хоть SIO, хоть рассыпуха или редкость из 589 серии). Сетевая карта - это вещь немного из другой оперы, но тоже полезная.

barsik
06.12.2017, 16:08
Кстати забыл упомянуть ещё один плюс от 155 РЕ3. Это то, что цвета в ней не обязаны быть основными, каждый из 8-ми цветов может быть одним из 256 цветов, т.е это даёт богатый выбор оттенков.

Если трезвым взглядом посмотреть на схему цвета МК 08.1990, а потом прикинуть член к носу, посмотреть как монтировать, становится ясно что получается всё просто и удобно монтировать проводками. Не считая ОЗУ, вторым этажом надо закрепить всего лишь 589 ИР12' над ИР12 и 155 ИР1' над ИР1.

155 РЕ3 удобно разместить на свободном месте рядом с двумя ИР1, там где написано "Специалист. Eastern Express". Микродрелью со сверлом диаметром 1 мм надо просверлить в плате 16 отверстий. В которые и монтируется панелька для 155 РЕ3 (РЕ3 лучше именно на панельке). Рядом придётся найти место для резисторов и транзисторов. Впрочем, резисторы можно припаять прямо к ногам 155 РЕ3, а вместо транзисторов применить DIP сборку n-p-n транзисторов (типа 198НТx), припаяв её на вторую ещё свободную ИР1.

Зря, кстати, сделали надпись "Специалист. Eastern Express". Это конечно красиво, но лучше бы сделали здесь слепыш. Придётся надпись соскабливать.

Три штуки 565 РУ6 напаиваются на три самых правых 565 РУ5. Это нисколько не портит дизайн, длинные проводники от PC4, PC6, PC7 ППА проходят со стороны пайки и не видны. Кстати и 4 штучки РУ5 выглядели бы не хуже и тогда без РЕ3 можно обойтись. В качестве трёхбитовой цветовой памяти можно ставить РУ5, а можно и РУ6 (тогда нужна логика, чтобы /WE приходил только когда обращение в область 8000...BFFF)

Уверен, что такая конструкция эстетически будет производить лучшее впечатление, чем маленькая платка закрепленная над основной платой. Это я не отговариваю её делать. Просто есть и альтернативный вариант сделать цвет без платки.

Насчёт идеи передачи мультиплексированных адресов через панельку РУ5-тых. Интересно, что если закрепить с края платы эпловский 50-ти контактный слот, завести на него только шину данных, то вторую банку ОЗУ можно получить просто воткнув в слот эпловский "лэнгвич-карт" (Language Card), плату расширения ОЗУ от Apple-II и вставив DIP-разъём вместо РУ5-той. Это выглядело бы профессионально, но слишком громоздко. Гораздо проще делается и выглядят лучше просто двухэтажные РУ5-тые.

Но не забывайте о таком варианте расширения ОЗУ на будущее. Вторую банку можно сделать и на статике, защёлкивая по /CAS половину адресов в ИР23 (это проще, чем тянуть 16 ещё не мультиплексированных адресов).

И ещё немного флейма.

Если бы вы (все пользователи) не цеплялись за почти бесполезную совместимость с журнальным цветом, то можно было бы заимствовать идею цвета из "Радуги". А именно автоматическое занесение цвета экранного байта из экранного ОЗУ в регистр цвета при чтении. Что даёт возможность делать цветной ролик и существенно ускоряет и упрощает динамические игры. При регистре цвета внутри ППА это не работает. Нужен отдельный регистр в адресном пространстве.

Естественно, на плате ЭКСПРЕСС вручную это вряд-ли стоит делать. Хотя зато саму адресацию можно заложить на будущее. Вдруг появится возможность на новой плате сделать цвет с автокопированием.

Мне лично это не надо, т.к цветной ролик и удобство в разработке игр меня не особо волнуют. Но как прогрессивная концепция специалистостроения это интересно. Кстати автор этой идеи, основной разработчик "Радуги" - участник этого форума, скрывается под ником Sherlock.

fifan
06.12.2017, 16:54
155 РЕ3 удобно разместить на свободном месте рядом с двумя ИР1, там где написано "Специалист. Eastern Express". Микродрелью со сверлом диаметром 1 мм надо просверлить в плате 16 отверстий. В которые и монтируется панелька для 155 РЕ3 (РЕ3 лучше именно на панельке). Рядом придётся найти место для резисторов и транзисторов. Впрочем, резисторы можно припаять прямо к ногам 155 РЕ3, а вместо транзисторов применить DIP сборку n-p-n транзисторов (типа 198НТx), припаяв её на вторую ещё свободную ИР1.

Я херею от этого barsik'а! Он ещё не дошедшие до нас платы сверлит их (сам-то себе не заказал). Так все взяли блокноты и запишите все пункты апгрейта. А то потом нечаяно посты удалим, автор будет сожалеть, что такую важную информацию удалили... Варвары.


Зря, кстати, сделали надпись "Специалист. Eastern Express". Это конечно красиво, но лучше бы сделали здесь слепыш. Придётся надпись соскабливать.

Прикинь, автор перерисовки платы виноват. Зараза, надписью такое важное место заполнил.


Три штуки 565 РУ6 напаиваются на три самых правых 565 РУ5. Это нисколько не портит дизайн

Писатель у нас не только эстет, но и дизайнер.


Но не забывайте о таком варианте расширения ОЗУ на будущее. Вторую банку можно сделать и на статике, защёлкивая по /CAS половину адресов в ИР23 (это проще, чем тянуть 16 ещё не мультиплексированных адресов).

Вот ещё на будущее. Все пункты записали, господа?

А потом меня упрекают в нечеловечности. Сначала издеваются, а потом в ответном ходе видят в тебе чуть не ли монстра.

Такая дискуссия шла выше про будущее Специалиста! Но оратор спустился с небес на землю и решил опять отыграться на новом Экспрессе.

HardWareMan
06.12.2017, 17:49
fifan, выдыхай, ато он и тебя будет считать "злопамятным преследователем" и "склочником с личной обидой" и прочее, что он там приписывал мне. :) Заметь, все мои советы открыть свой уголок Дурова (тм) и рулить там единолично он настойчиво игнорирует. Ему просто хочется указывать другим людям, чем делать самому.

fifan
06.12.2017, 17:54
HardWareMan, да и прав ты, когда говорил, что если его запереть в одну тему он там издыхает - нет же слушателей, вернее читателей его темы. Ему нужны зрители с открытыми ртами.

Ладно выдыхаю. Пойду плату апгрейда для нового Экспресса варганить...

barsik
06.12.2017, 18:32
Опять началось...

fifan. Не пойму, что Вас в очередной раз перекосило. Я не писал ничего обидного. Не пойму чего Вы со мной не поделили? Показалось, что беспричинное озлобление в мой адрес прошло... Теперь ясно, что только показалось.

Я уже писал, что я Вам не конкурент. Я платы выпускать не хочу и заниматься железом ненавижу. Мне была нужна только приемлемая платформа.

Я пишу чисто технические посты. Никого не трогаю, а Вы постоянно срываетесь в издёвки, и переходите на личности. Если я начну вести себя также, Вам не понравится.


Я херею от этого barsik'а! Он ещё не дошедшие до нас платы сверлит их (сам-то себе не заказал)
Модератор не имеет права так писать. За неоднократные хамские выходки Вас надо снимать с поста модератора.

Я просто прикинул как конструктивно выглядит монтаж цвета. Чего здесь плохого? От чего здесь "хереть"?

Ну, во-первых, об этих платах я узнал 2 дня назад. Да и зачем мне это? У меня есть 5 или 6 таких плат и 2 линёвские. И кстати на всех моих 5-ти платах есть два ряда отверстий рядом с ИР1, т.к это единственное место в ЭКСПРЕССЕ, где можно в первом этаже поставить доп.ИМС.


потом нечаяно посты удалим
Спасибо за угрозу. Сейчас пойду копировать посты и переносить на другой форум. Придётся свои посты сохранять в архиве.


А потом меня упрекают в нечеловечности. Сначала издеваются, а потом в ответном ходе видят в тебе чуть не ли монстра.
Покажите кто над Вами издевается и конкретно где? Какие ходы и ответные ходы ? Ну что Вы несёте?


оратор спустился с небес на землю и решил опять отыграться на новом Экспрессе
Вариант ЭКСПРЕСС - старый. Ему 30 лет. И он удобен для доработок.

Это флеймовая тема. Здесь каждый может описать свой вариант доработок для обсуждения. Мне не принципиально как сделан цвет. Лишь бы он был, и по возможности с лучшими параметрами, чем предлагалось раньше.

Не пойму, что Вас так заело. То, что я нашёл оптимальное решение, как исправить цвет? И сообщил, что нет проблем сделать его проводками на плате?

Из-за чего возмущение? Что я предложил страничное ПЗУ? А когда ПЗУ много, что есть другие варианты? Или то, что там, где нет ПЗУ, надо открывать ОЗУ? Тут тоже без вариантов. Всё абсолютно очевидные безвариантные вещи. Причём предельно простые и понятные каждому.

А вообще, чтобы не выходили такие посты, - если что-то обидело, не надо отвечать сразу. Лучше подождать, хотя бы пол дня. Очень помогает, если выпить цикорий (бывает растворимый). А если выпить его много, то всё станет до лампочки, а сердце будет биться редко-редко.


fifan, выдыхай
Маньяк опять преследует. За постоянное преследование давно пора забанить. Какую радость доставляет преследование? Нормальным людям понять поведение душевнобольного невозможно.

HardWareMan
06.12.2017, 19:58
fifan, смотри, не стань маньяком, как я. Причем заметь, даже разговаривая с тобой я все равно преследую его величество. Не помню, как называется эта девиация мании преследования, но не хочу, чтобы ты под нее попал. Ты же модер, волна говен может ставить слишком большой. :)

zx_
06.12.2017, 21:49
HardWareMan, по этому вопросу есть какие мысли ?
http://zx-pk.ru/threads/28485-rk-kngmd-dlya-quot-spetsialista-quot.html?p=940328&viewfull=1#post940328

HardWareMan
07.12.2017, 08:48
HardWareMan, по этому вопросу есть какие мысли ?
http://zx-pk.ru/threads/28485-rk-kngmd-dlya-quot-spetsialista-quot.html?p=940328&viewfull=1#post940328
Ты про разницу между F812 и C812?

- - - Добавлено - - -


...если его запереть в одну тему он там издыхает - нет же слушателей, вернее читателей его темы. Ему нужны зрители с открытыми ртами.
Я понял. Давай уговорим его создать раздел, пусть опишет полностью архитектуру и "хотелки" конечной платформы, которые он все время озвучивает в каждом посте. На основе этих данных, мы разработаем полноценное моноплатное устройство в любой озвученный корпус. Сделаем платы, вышлем ему и пусть он развивает его там. Как считаешь? Может хоть так он отстанет от нас?

barsik
07.12.2017, 09:37
Может хоть так он отстанет от нас?
Ну что ты бредишь? Кто к тебе пристал ? Это ты пристал ко мне как банный лист и достаёшь уже в течение года.

HardWareMan
07.12.2017, 09:54
Ну что ты бредишь? Кто к тебе пристал ? Это ты пристал ко мне как банный лист и достаёшь уже в течение года.
Я не пристаю. Я предлагаю. Хочешь свою платформу? Пожалуйста. Присвой ей название, опиши ее архитектуру. Откроем ей отдельный раздел. Не хочешь заниматься железом? Пожалуйста, создадим схему, плату. Соберем даже если совсем не в моготу. А там - занимайся себе сам, развивай программно, собирай своих последователей (а такие по любому будут). Если сможешь развить платформу больше критической массы, то она заменит всякие реверсы или к ним появится конфигурация твоего компьютера. Дальше - больше, как снежный ком. И, что самое важное, ты будешь писать опусы по своей теме и никто не сможет тебе делать замечания. Что, слабо или сделаем это? А сейчас ты реально мешаешь тем, кто пытается развить то, что уже есть, без превращения существующей платформы в чудище франкенштейна с очевидными лишь тебе доработками.

Ну, что скажешь? Потянешь ли ты в одиночку развитие своей собственной системы в плане софта, если мы тебе сделаем нормальное законченное железо по всем твоим хотелкам?

barsik
07.12.2017, 10:59
HardWareMan, ты совершенно больной. И даже не осознаёшь своё поведение. В течение года в тысяче постов ты оскорблял, издевался, придирался, травил, любым способом стараясь обидеть. И вдруг в последнем посте ты что-то предложил, причём совсем бред. И утверждаешь "Я не пристаю. Я предлагаю."

На ахинею отвечать нет смысла. У меня есть возможность сделать платы, причём быстро, пусть и немного дороже, чем у П.Рябцова. Но я всегда что-то делаю, только поддерживая это программами. Я сначала сделаю программы, т.к без этого платы, даже с небольшими доработками базовой схемы, выпускать и предлагать на форуме барахолки будет почти обманом.

Что, если несколько диодов переключить не туда, чтобы "открыть" ОЗУ - это Франкенштейн?

Поставить регистр, для адресов ПЗУ, чтобы 27256 или 27512 использовать не на четверть, а полностью - это тоже не Франкенштейн, а здравый смысл. О дешифраторе на В/у даже упоминать нет смысла.

Когда нагло удалили мои посты я ушел во флеймовую тему и описал то ПО, что предлагаю для ПЗУ (а кто-то другой может предложить хоть что-то) и улучшение цвета. А т.к это во флеймовой теме, то абсолютно никому не мешаю. Однако последние 2 дня ты и fifan непрерывно и главное, оскорбительно, отзываетесь обо мне в своих постах. А теперь ты вдруг придумал тезис, что я кому-то мешаю. Уж не тебе ли? Ты же вообще ничего не делаешь по плате ЭКСПРЕСС, лишь периодически вставляешь междометия и глупости.

Чем помешал Вашему прогрессу мой единственный пост, который к тому же удалили, где был расказ о том, что я имел и вариантами улучшения платы, да и то только на тот гипотетический случай, если в будущем будут делаться новые платы. Чем предложения на будущее помешали Вам? Во всех темах, люди излагают свои мысли и их за это не травят. Я не сделал ничего плохого и никому не помешал. А ты просто психически нездоров.

HardWareMan
07.12.2017, 14:12
barsik, ок, будем играть по твоим правилам.

barsik
07.12.2017, 14:24
Я с тобой играть не буду. А правило только одно, - оставь меня в покое.

barsik
08.12.2017, 12:30
Я, собственно, надеялся помириться, предлагая помощь в реализации все твоих личных доработок в отдельную форму Специалиста, ты в грубой форме отказался


Хочешь свою платформу? Пожалуйста. Присвой ей название, опиши её архитектуру. Откроем ей отдельный раздел. Не хочешь заниматься железом? Пожалуйста, создадим схему, плату. Соберем даже если совсем невмоготу. А там - занимайся себе сам, развивай программно, собирай своих последователей (а такие по любому будут). Если сможешь развить платформу больше критической массы, то она заменит всякие реверсы или к ним появится конфигурация твоего компьютера. Дальше - больше, как снежный ком. И, что самое важное, ты будешь писать опусы по своей теме и никто не сможет тебе делать замечания. Что, слабо или сделаем это? А сейчас ты реально мешаешь тем, кто пытается развить то, что уже есть, без превращения существующей платформы в чудище франкенштейна

Это что же было предложение вечного мира и дружбы? Это однозначно выглядит как издёвка, особенно если учесть предыдущие посты в мой адрес. Как это и было мной расценено.

Я предложил лишь одну микросхему из шести в схеме цвета заменить на РЕ3, что сохраняет совместимость, впаять 3 диода, чтобы образовалось ОЗУ E000...F7FF, что даёт возможность иметь CP/M и другие DOS. У меня нет контроллеров от vinxru для 'microSD'. Я использую только винчестеры, дисководы и RAM-диски. Потому мне нужна DOS.

Ну а раз ПЗУ у всех будет 27512, а не РФ2, то и обезьяне ясно, что это ПЗУ в полном объёме можно использовать только страницами в окне ПЗУ. Я предложил то, что должны были предложить сами руководители новодела.

В чём тут Франкенштейн? Это не новая платформа.

Что оттого, что в СПЕЦИЛИСТ или ОРИОН поставили винчестер это другая платформа? Что с того, что у меня две банки ОЗУ (скоро поставлю и третью) ? Эти банки не для программ, а только для RAM-диска. Программы туда не лезут, только DOS. А со стороны программ до лампочки где и на чём физически сделан носитель.

Потому-то, не имея подключенного РК-КНГМД и дисковода, можно делать программы, что будут работать на дисководе. Разве подключение 'microSD' создало новую платформу? Так и подключение носителей других типов, RAM-диска, дисковода и винчестера платформу не изменили.

Мне тоже неудобна РЕ3 и неохота паять прошиватель для проволочных перемычек. Но я понимаю, что это правильно, т.к оптимальнее не придумать. Временно я, видимо, использую РФ5 в качестве РЕ3 (точнее РТ5), и это сработает. В ИРИШЕ сработало при в 1.5 раза большем пиксель-клоке.

Пока я сделал волковский двухбитовый цвет. Для программ это пока не важно. Просто на таком простом цвете будут одни цвета, на медведковском цвете другие цвета, на цвете с РЕ3 тоже другие цвета. Это для того, чтобы можно было иметь дело с цветом.

Пока не понимаю как делается переход от цвета в монохром. Без доп.коммутирующего железа выход - это иметь цвет всегда. Т.е надо менять ROM-BIOS, чтобы цвет был всегда, а именно - в монохроме всегда цвет желтый на чёрном (или синем) фоне.

HardWareMan
08.12.2017, 14:16
Никакой издевки, все по честному. Твои доработки в большинстве своем слишком специфичны. Поэтому я и предложил вывести в отдельную платформу. Как это сделал я в своем МХ2, когда ввел логичный режим #3 (стандарт) в штатный МХ.

Подключение внешних накопителей платформу не изменили. Подключение дополнительного ОЗУ - изменили (Стандарт -> МХ, например). В базовом Специалисте нет расширенного ОЗУ, какое изначально было в том же Орионе. Да даже ZX Spectrum 48К (как базовый) и 128К (как расширенный) отличаются, хотя у последнего есть режим совместимости.

- - - Добавлено - - -

Еще раз повторюсь: не хочешь возиться с железом - хорошо, мы поможем. Чтобы было эстетически красиво и не пришлось резать, напаивать в 10 этажей и разматывать МГТФ. Ты должен был заметить, что все новые платформы страдают от отсутствия софта. Поэтому МХ2 имеет полную программную совместимость со стандартным Спецом и его последователем МХ. Если ты сможешь раскачать по софту твой вариант Специалиста (а это точно будет новая реинкорнация, со своими плюшками или косяками), то ее поддержат на этом форуме. Дело за малым, верно?

Специалист "Barsik". Нормальное название?

- - - Добавлено - - -

barsik, ты можешь свести все свои доработки стандартного Специалиста (например по схеме Экспресс) в одном месте?

barsik
08.12.2017, 14:36
предложил вывести в отдельную платформу

Платформу я менять не хотел. Я хотел использовать своё железо (носители), а о расширении ОЗУ программы и не знают. Ну что, например любая из игр знает о наличии по адресу C000...DFFF восьми страниц ПЗУ.

В лучшем случае она знает лишь про 18 входных точек ROM-BIOS: C010, C037, C170, C196, C1A0, C1AB, C1B0, C254, C25A, C337, C377, C3D0, 3F9, C414, C422, C427, C438 и C444.

А вот п/п-ммы из этих входных точек могут использовать эти 8 или более страниц ПЗУ. Т.е все расширения для системы. Она никак программы не колышет. Да и нужно это в основном для DOS и для программ с более красивым интерфейсом.


Подключение дополнительного ОЗУ - платформу изменили
Нет. Верхнее ОЗУ обычно имели все пользователи ЭКСПРЕСС, но это никак не отражалось на платформе, т.к она должна оставаться совместимой со всеми, в т.числе и теми у кого ОЗУ на РУ3, отчего верхнего ОЗУ нет.

А вот режим, когда сплошное ОЗУ 62 кб в окне 0000...F7FF, это уже можно считать другой платформой. Например можно загрузить совершенно любой ROM-BIOS. Но такой режим без возможности закрыть окно 8000...FFFF куском из второй банки ОЗУ, кроме оперативной смены ROM-BIOS, практически ничего не даёт, - экран мешает.

Потому я и делаю себе 2 (м.быть даже 3) банки ОЗУ. Вот тогда режим FULL RAM полезен для очень многого. Например, тогда в банках 1 и 2 я имею доступ к 62 кб, а не к 36-ти и эл.диск из 2-х банок уже 124 кб.

Можно иметь в банке 1 CP/M на 62 кб, причём драйвера не отнимают TPA, т.к остаются в банке с экраном, т.е в банке 0. И все это на крошечной плате в 1.5 раза меньше орионовской.

Но пока, я об этом речь не веду. Для текущих задач это не надо. Для RK-DOS достаточно базового железа 48К. Хотя верхнее ОЗУ нужно Нортону RK-DOS. Т.к если 12 кб Нортон запихать в основное ОЗУ, то нет места для буфера окон и дискового буфера. Не имея дополнительного ОЗУ можно сделать только убогую программу вроде Нортона РК86 Е.Седова. Или надо иметь оконный драйвер прошитый в ПЗУ.

Новую платформу создавать незачем. Какой смысл? Могу только предложить DOS, Нортон, текстов редактор и макроассемблер. Ну и конечно оконный и цветной ROM-BIOS. И всё, больше ничего нет. Я собирался перетранслировать только это. Ради этого изобретать что-то новое и обзывать это платформой глупо. А для последующего программирования разумно перейти на ЯВУ, завязав с голым ассемблером.

Раз компилировать в CP/M не надо, значит большое TPA, чтобы гонять компиляторы не нужно. Достаточно CP/M или любой DOS, что может загрузить файл размером 35 кб, или даже 32 кб (программ больших 32К нет). А это достигается в базовом ЭКСПРЕСС с 3-мя диодами, что открывают ОЗУ E000...F7FF.

Да и только на то, чтобы разобраться с цветом и его использовать в Нортоне и текстовом редакторе уйдёт время. Т.е пока речь только о страничном ПЗУ, верхнем ОЗУ и цвете. И заодно DOS. Цвет у меня пока будет самый простой волковский (т.к видимо таких игр больше всего). Это не важно, все варианты цвета совместимы. А ещё и с ВИ53 тоже хочется разобраться. Так что фронт работ есть и никакие новые платы пока не нужны.

Потому и писал, что решения о схеме и необходимости будущих плат будет ясно позднее, когда последняя плата из этой партии будет запущена. А если платы с доработками и будут, то я бы предпочёл, чтобы их отличие от ЭКСПРЕСС - было минимальным, т.е только то, что уже обсуждено, плюс вторая банка РУ5, причём напаиваемая именно вторым этажом (чтобы размер платы не изменился).

А в качестве развития надо предлагать внешние устройства. В частности, давно хочу сделать текстов адаптер для графической машины. На мелкой логике (т.к на БИС не будет или КОИ-8 или инверсии знакомест, БИС - 8-ми битовые, а не 9-ти битовые). Это не только даёт нормальную текстообработку с красивым шрифтом, но и эквивалентно увеличению ОЗУ, т.к ОЗУ экрана 9000...BFFF освобождается.


повторюсь: не хочешь возиться с железом - хорошо, мы поможем
Особо возиться и не надо. Доработки простейшие. Всего несколько простейших доработок платы ЭКСПРЕСС. А вот текстов адаптер макетировать долго. Но и не особо надо.


все новые платформы страдают от отсутствия софта
Потому то новые платформы и не нужны. Доработки делаются только под конкретную задачу. Многие можно считать доработками для одной программы. Остальные программы об этом и не знают. Хотя верхнее ОЗУ (а частично и большое ПЗУ), полезно и для старых системных программ.

Пока же речь идёт только о том как с пользой использовать появившееся халявное ПЗУ и верхнее ОЗУ, что смогут поиметь все пользователи плат ЭКСПРЕСС. Кто откажется от ПЗУ, если оно уже стоит. Только надо добавить коррекцию для переключения страниц, т.е 3-х битовый регистр по адресу F800. Тот кому достаточно всего 8 К ПЗУ может ничего не делать и пользоваться всеми старыми программами. А кто нуждается в большом ПЗУ, должен сделать доработку до страничного ПЗУ. Это не навязывается. И сам первое врямя обойдусь всего 8-ю кб ПЗУ из 4-х РФ2.

В ПЗУ хочу добавить п/п-ммы чтения/записи для двух устройств - РК-КНГМД и винчестера (для RAM-диска не надо в ПЗУ). Если кто-то добавит п/п-ммы для других носителей, то те DOS, что я буду использовать, будут работать и на них. Для начала странслирую лишь RK-DOS для РК-КНГМД, т.к это всё уместится в ПЗУ 8 кб. Ну и для понта CP/M 35К. Хотя с низким TPA, без драйвера VT52 и клавиши <Control> CP/M не очень полезна. И всё-же программ даже с неполноценной CP/M станет больше.

HardWareMan
08.12.2017, 15:08
barsik, а что с Z80? Смена процессора точно будет равнозначно сменой платформы. Она останется частично совместимой с родоначальником, но все же будет принципиально другая платформа.

barsik
08.12.2017, 16:05
У меня есть платы СПЕЦИАЛИСТА и на Z80. Но я собираюсь в них ставить КР580 назад. Даже если у кого-то стоит Z80, то использовать его следует только как скоростной КР580, или же надо делать программы в 2-х вариантах.

Возможно, удастся турбировать и КР580. У меня есть три идеи на турбирование без изменения частоты RAS-CAS и пиксельклока, может получиться. Одна идея, коммутации клока при обращении к ПЗУ, не должна вызвать проблем. Т.е при частоте RAS-CAS в 2.25 МГЦ, программу в ПЗУ можно прогонять на такте 3.375 МГЦ. Но не скоро займусь макетированием. Пока обдумываю варианты.

Если программы делаются только в кодах КР580, то ставить Z80 на той же частоте не имеет смысла, а только на двойном или хотя бы полуторном Турбо.

Резидентное ПО для машины с Z80 можно перетранслировать в коды Z80, но все остальные программы д.быть для КР580. Т.е Z80 каждый может ставить, если хочется, но кроме скорости это ничего не должно дать. Схема известна. Кто хочет тот сделает. Я на это заморачиваться не буду.

Т.е надо считать, что в СПЕЦИАЛИСТЕ нет Z80. Ведь адаптировать ZX-игры вряд-ли кто сейчас захочет. А для всего остального хватает КР580, для системных программ, если не хватает скорости, то поможет текстов адаптер. У него ролик мгновенный. Текст при долгом ролике бежит так быстро, что ничего не заметить.

OrionExt
10.12.2017, 21:01
Хотя. Долго репу чухал. Где интересно. Закинул удочку на Орион. Все молчком. Даже котик в угол забился.
Выбрал MSX. Тут не паханая земля.

- - - Добавлено - - -

Да я бы предложил бы Vinxru забыть. Там глюков хватает. Делай свое.

barsik
10.12.2017, 21:39
Хотя. Долго репу чухал. Где интересно. Закинул удочку на ОРИОН. Все - молчком. Даже котик в угол забился. Выбрал MSX. Тут непаханая земля.
О чём это вы? Бессвязная реплика непонятно о чём. Если есть вопрос, напишите мне в личку. Или лучше откройте тему, задайте чёткий вопрос.

По поводу ухода c ОРИОНА на MSX.

Переходите лучше на СПЕЦИАЛИСТ, он приятнее, т.к там нет ORDOS. Я в 1991 из платы ЭКСПРЕСС сделал ОРИОН (только 16-ти цветный режим, без 4-х цветного, т.к видимо предвидел, что его никто использовать не будет). Фото этой, правда уже распотрошённой, платы где-то было.

А Вы сделайте наоборот. Превратите ОРИОН в СПЕЦИАЛИСТ с дополнительными банками ОЗУ. Это делается очень просто, думаю часа хватит. Достаточно перекинуть пару проводков в видеогенераторе, чтобы экран переместился на 9000, добавить дешифратор ИД7 на область C000...FFFF (для получения чип-селектов РФ2-рых и В/У), и напаять РФ2 с загрузчиком и монитором в 2 этажа (это из-за того, что в ОРИОНЕ всего одна панелька под ПЗУ).

И даже, если напаять две РФ2 одна на другую станет проблемой, то можно обойтись и одним ПЗУ на самой плате. Если сами не хотите кодировать, то попросите меня и я странслирую Вам загрузчик, который будет работать по идеологии ОРИОНА. А именно, он будет по сбросу читать из ROM-диска 2 кб и грузить его на C800...CFFF.

Кстати, OrionExt, поставил Вам "спасибо" за наводку. Вы подсказали отличную идею. Мне тоже удобно сделать эту переделку, т.к на плате ОРИОНА всё нужное уже есть, даже системный разъём.

Тем более, что у меня есть безхозный дохлый ОРИОН, где на месте излишнего 3-го ППА стоит ВИ53. А удобно мне это тем, что там уже стоит слот для РК-КНГМД, турбированный Z80, есть готовый ROM-диск и тем, что такой СПЕЦИАЛИСТ становится инструментальным благодаря наличию второго ППА. Так что, каждому кто соберётся это делать, смогу дать подетальную инструкцию по переделке ОРИОНА в СПЕЦИАЛИСТ.

HardWareMan
11.12.2017, 06:22
А Вы сделайте наоборот. Превратите ОРИОН в СПЕЦИАЛИСТ с дополнительными банками ОЗУ. Это делается очень просто, думаю часа хватит. Достаточно перекинуть пару проводков в видеогенераторе, чтобы экран переместился на 9000, добавить дешифратор ИД7 на область C000...FFFF (для получения чип-селектов РФ2-рых и В/У), и напаять РФ2 с загрузчиком и монитором в 2 этажа (это из-за того, что в ОРИОНЕ всего одна панелька под ПЗУ).
Не получится. Если бы ты сравнивал схемы Спеца и Ориона, ты бы заметил несколько фактов: Специалист использует логику ИЛИ, поэтому гашение и синхра идут до экрана (отсюда и странная адресация 9000, т.к. синхра идет при сканировании 8000-8FFF), а Орион использует логику И, и синхра получается после экрана (попадает на F000-FFFF). Влоб переделать без ухищрений никак (это, например, экран переключить с 8000 и добавить сумматор ИМ3, как это сделано в ЮТ88).

barsik
11.12.2017, 08:36
Не получится
Как говорил пан начальник тюрьмы в ВА-БАНК-2 - "Не вижу препятствий".

Кого волнует при каких весах счётчиков схема формирует сигнал BORDER. Всё отличие схем лишь в том при каких весах счётчиков экран гасится, а при каких идёт растр. Это и определяет положение экрана в сегменте размером в 16 кб.

В базовом СПЕЦИАЛИСТЕ коэффициент деления счётчика по строкам - 64. Сигнал BORDER формируется при весах счётчиков 0...15 (тогда видеочасть адресует 8000...8FFF), а изображение идёт при весах счётчика 16...63. ССИ формируется при весах счётчика от 4 до 7. VIDEO идёт в течение 48 весов, гашение 16 весов. Полный период строчной развёртки 64 МКСЕК, из них растр выводится 48 МКСЕК, 16 МКСЕК на обратный ход луча. Потому экран СПЕЦИАЛИСТА с трудом влезает или немного не влезает в экран телевизора (но на видео мониторе отлично).

В базовом ОРИОНЕ коэффициент деления счётчика по строкам - 80. Изображение формируется при весах от 0 до 47, гашение при весах от 48 до 79. При каких весах идёт ССИ не знаю, не разбирался, но где-то посередине гашения. Растр выводится в течение всего 38 МКСЕК из 64 МКСЕК строчного периода. Из-за чего экран неудачный, плющенный по горизонтали.

Чтобы СПЕЦИАЛИСТ переделать в ОРИОН с тактом 2 МГЦ, достаточно поменять логику формирования гашения по строкам. Так, чтобы изображение читалось из памяти при весах счётчика от 0 до 47, гашение было при весах от 48 до 63, а ССИ формировался при весах 48+4...48+7. И всё. Визуально растр не меняется, но картика идёт уже из ОЗУ 8000...AFFF. Остаётся только открыть ОЗУ до F400 и поменять 0 на 1 на входе мультиплексора, чтобы переместить экран на C000. Если нужен такт 2.5, нужно поменять и общий кофф-т деления с 64 до 80. Всё это делается за 30 минут с закрытыми глазами.

Чтобы из ОРИОНА сделать СПЕЦИАЛИСТ достаточно сделать всё наоборот. Перекидываем один провод (46 цепь) чтобы вернуть растр в "лоно церкви", т.е вернуть коэфф-т деления до 64, что отплющивает экран (кварц 8 МГЦ). Гашение по строкам делаем из весов H16 и H32 объединив их на 'ИЛИ'. ССИ формируем логикой, или как приятнее - на ИД7 (т.к центровка растра юстируется). Выкусываем ТМ7 задающую один из 4-х экранов и подаём вместо сигналов с неё на мультиплексоры 0 и 1, чтобы экран был там где надо. Вот и всё. Это делается одной левой рукой с завязанными глазами.

PS. Кстати ход мысли у автора ОРИОНА был совершенно правильный, у него архитектура размещения экрана намного грамотнее, чем в СПЕЦИАЛИСТЕ, а если А.Волкову так уж требовался именно килограмм ПЗУ, то можно было сделать отключение ПЗУ.

У меня был СПЕЦИАЛИСТ в котором 4 кб ПЗУ стояло с адреса 0. При старте эти 4 кб копировались на C000 и ПЗУ отключалось. На 1 корпус больше, а возможности на порядок выше, 100% совместимость, но режим FULL RAM 62 кб. Это легко делается на плате ЭКСПРЕСС и позволяет оперативно менять ROM-BIOS, но главное даёт максимум ОЗУ.

У меня даже сохранился ROM-BIOS этого компьютера в варианте, когда код ПЗУ СПЕЦИАЛИСТА грузится на C000 не из ПЗУ а с МГ ленты. Это - своеобразный вариант для бедных (а я бы сказал, что это вариант для умных), здесь только одно ПЗУ РФ2 стоящее с адреса 0.

Это ПЗУ называется SHADOWY-ROM и является одновременно и самой простой и самым грамотной доработкой архитектуры СПЕЦИАЛИСТА (даёт FULL RAM и гибкость при 100% совместимости).

Ниже представленный исходник прошивается в РФ2, добавив на адрес 500H код фонта взятый из ленинградского ПЗУ D000 СПЕЦИАЛИСТА (с отступом тоже в 500H, что в ОЗУ оказывается на адресе D500).

По нажатию на сброс запускается программа автонастройки на скорость с поиском пилотона (так что можно нажимать на сброс до начала пилотона) и затем с ленты грузится блок подпрограммой МГ-ввода с использованием прозрачной загрузки, разработанной В.Ивинских в 1988. На экране в правом верхнем углу бежит большими буквами счётчик, показывающий куда вводится текущий байт. После ввода блока, если КС совпала, то происходит запуск программы на начало введённого блока и ПЗУ отключается, включая тем самым FULL RAM с загруженным куда угодно ROM-BIOS любого размера.

Теневое ПЗУ не обязано быть 2 кб, а может быть до 32 кб, т.к сигналом MEMDI по сбросу блокируется ОЗУ в адресах 0...7FFF. Таким образом расходом в пару корпусов получается СПЕЦИАЛИСТ с ПЗУ 32 кб и ОЗУ 62 кб. Польза от ПЗУ не в его объёме, а в том, что из ПЗУ ниже 8000 можно работать с экраном, т.е иметь мощный ROM-BIOS с поддержкой оконности и, при желании, даже Windows-интерфейс с мышью.




; ЗАГРУЗЧИК ДЛЯ ТЕНЕВОЙ ROM

; Для ЭВМ где нет основного ПЗУ.
; ROM-BIOS загружается с ленты этим загрузчиком.

; Знакогенератор 8*8 (не 6*8) пришивается с адреса 500H

RUSPPA EQU 0FF03H
PORTB EQU 0FF01H
PORTC EQU 0FF02H

HISCRN EQU 0C000H ; байт сразу за концом экрана
COUNTR EQU 0A660H ; экр.адрес куда выв-ся счётчик
STACK EQU 0BFFAH
CLD EQU 0BFFFH ; константа ввода
ASTART EQU 0BFFDH ; адрес загрузки и старта

YBFFB EQU 0BFFBH
YBFFC EQU 0BFFCH

ORG 0 ; В ТЕНЕВОМ ПЗУ

L09:JMP START

START:
MVI A,82H
STA RUSPPA
CALL PILIK
LXI SP,HISCRN
LXI B,0300H
; LXI H,0
MOV H,C
MOV L,C
CLS:PUSH H
PUSH H
PUSH H
PUSH H
PUSH H
PUSH H
PUSH H
PUSH H
DCX B
MOV A,B
ORA C
JNZ CLS
LXI SP,STACK
CALL CONST
CALL PILIK
JMP LOAD

BYTE8: MVI A,8

L16:PUSH B
PUSH D
MOV D,A
LDA CLD
MOV B,A
MVI C,0
L15:LDA PORTB
ORI 0FEH ; 1111 1110
CMA
ORI 0CH ; 0000 1100
MOV E,A
L11:LDA PORTB
ORI 0FEH
CMA
ORI 0CH
CMP E
STA RUSPPA
JZ L11
RRC
MOV A,C
RAL
MOV C,A
CALL L12
XRA A
ORA D
JP L13
MOV A,C
XRI 0E6H
STA YBFFB
INR A
CPI 02H
JNC L15
MVI D,09H
L13:DCR D
JNZ L15
LDA YBFFB
XRA C
POP D
POP B
RET

LOAD:MVI A,0FFH
CALL L16
MOV L,A
CALL BYTE8
MOV H,A
SHLD ASTART
CALL BYTE8
MOV E,A
CALL BYTE8
MOV D,A
L19:
CALL BYTE8
MOV M,A
CALL L18
INX H
JNZ L19
CALL BYTE8
MOV L,A
CALL BYTE8
MOV H,A
XRA A
STA PORTC
PUSH H
LHLD ASTART
CALL L1B
POP H
MOV D,B
MOV E,C
CALL L18
CNZ L48
CALL PILIK
LHLD ASTART
PCHL

L18:MOV A,H
CMP D
RNZ
MOV A,L
CMP E
RET

L12:PUSH B
PUSH D
PUSH H
LXI D,YBFFC
LDAX D
INR A
STAX D
ANI 03H
MOV D,A
RAR
RAR
JC L1E
MOV E,H
JMP L1F

L1E:MOV E,L
DAD H
L1F:RLC
MOV A,E
JNC L20
DAD H
JMP L21

L1B:LXI B,L09
L23:MOV A,M
ADD C
MOV C,A
PUSH PSW
CALL L18
JZ L22
POP PSW
MOV A,B
ADC M
MOV B,A
INX H
JMP L23

L22:POP PSW
RET

L20:RRC
RRC
RRC
RRC
NOP
L21:ANI 0FH
ADI 10H
CPI 1AH
JC L24
ADI 07H
JMP L25

L24:CMP M
DAD H
L25:LXI H,00A0H
ADD L
MOV L,A
DAD H
DAD H
DAD H
MOV A,D
XCHG
LXI H,COUNTR
ADD H
MOV H,A
MVI C,03H
L28:LDAX D
MOV M,A
INX H
INX D
LDAX D
MOV M,A
INX H
INX D
DCR C
JNZ L28
LDAX D
MOV M,A
POP H
POP D
MVI A,0DCH
ADD B
L29:DCR A
JNZ L29
POP B
RET

CONST:PUSH H
PUSH D
PUSH B
CNST:MVI D,150 ; КРИТЕРИЙ ЗАХВАТА - 150
CNS2:MOV B,C ; ОТМЕТОК ПОДРЯД
CALL L2A
JZ CNST
MOV A,C
SUB B
JNC CNS3
CMA
INR A
CNS3:CPI 07H ; КРИТЕРИЙ ПРОПУСКА ОТМЕТКИ
JNC CNST
DCR D
JNZ CNS2
CNS4:LXI H,L09
MOV B,L
MVI D,178 ; ДЛИНА УЧАСТКА ПОДСЧЕТА
CNS5:CALL L2A
JZ CNS4
DAD B
DCR D
JNZ CNS5
DAD H
MOV A,H
SUI 03H
MOV L,A
ORA A
RAR
ADD L
STA CLD
POP B
POP D
POP H
RET

L2A:LDA PORTB
RRC
JC L2A
MVI E,00H
MVI C,00H
CALL L30
L30:INR C
RZ
LDA PORTB
RRC
XRA E
JP L30
MOV A,E
CMA
MOV E,A
RET

PILIK:PUSH H
PUSH D
LXI H,4060H
CALL SND
LXI H,8030H
CALL SND
POP D
POP H
RET

SND:MOV E,L
MVI A,0E0H
STA PORTC
L34:DCR E
JNZ L34
MOV E,L
XRA A
STA PORTC
L35:DCR E
JNZ L35
DCR H
JNZ SND
RET

L48:MVI C,06H
L36:CALL PILIK
DCR C
JNZ L36
RET

END

HardWareMan
11.12.2017, 09:18
Я все это и без тебя знал. И то, что ты предлагаешь - это заменить применяемую логику на противоположную (И на ИЛИ и наоборот), что не вяжется с "малой кровью". "Малой кровью" это в Орионе зафиксировать экран на 8000H (как ты сказал выкусыванием ТМ7 и закорачиванием сигналов) + установку сумматора для сдвига старшего сканирующего ниббла на 1 (8->9, 9->A, A->B). Остальное не трогаем и в этом вся соль. Минимум переделок.

barsik
11.12.2017, 09:42
Я все это и без тебя знал
Не сомневался в твоей компетентности. Но в данном случае ты заблуждаешься.

Ты же сам правильно написал, что сигнал "гашение" при адресации видеочасти в область С000...СFFF (8000...8FFF) в ходе пробега счётчиков от 0 до 63, проще всего получить на вентиле 'ИЛИ'. Применить один вентиль из ЛЕ1 - намного проще чем ставить сумматор ИМ6. Малая кровь получается именно так, как я описал. Число доп.корпусов будет минимальным, а в монохроме возможно вообще ни одного.

Если найдешь ненужную платку ОРИОНА и согласишься сделать вместе со мной эту переделку, то уже сегодня дам полное описание переделки. ОРИОН в качестве СПЕЦИАЛИСТА хорош тем, что не только даёт необходимые для жизни банки памяти, но и сразу даёт доп.ППА, буферизованную шину, место куда ставить ВИ53 (вместо 3-го излишнего порта), готовые защёлки ИР82 и ИР13 для схемы цвета СПЕЦИАЛИСТА, место, где поставить доп.микросхему для схемы цвета (ЛИ1 или РЕ3 или КП11), а также системный разъём, куда к тому же подходит готовый КНГМД от ОРИОНА.

Как видишь, плюсов просто множество. Чтобы получить то же самое на плате ЭКСПРЕСС, надо винтами крепить вокруг основной платы кучу дополнительных планок.

zx_
11.12.2017, 12:48
У меня был СПЕЦИАЛИСТ на Z80 в котором 4 кб ПЗУ стояло с адреса 0. При старте эти 4 кб копировались на C000 и ПЗУ отключалось. На 1 корпус больше, а возможности на порядок выше, 100% совместимость, но режим FULL RAM 62 кб. Это легко делается на плате ЭКСПРЕСС и позволяет оперативно менять ROM-BIOS, но главное даёт максимум ОЗУ.


схему хочу
нарисованную

HardWareMan
11.12.2017, 13:17
zx_, посмотри на МХ2, там этот же трюк применен.

barsik
11.12.2017, 14:58
У меня был СПЕЦИАЛИСТ на Z80 в котором 4 кб ПЗУ стояло с адреса 0. При старте эти 4 кб копировались на C000 и ПЗУ отключалось. На 1 корпус больше, а возможности на порядок выше, 100% совместимость, но режим FULL RAM 62 кб. Это легко делается на плате ЭКСПРЕСС и позволяет оперативно менять ROM-BIOS, но главное даёт максимум ОЗУ.
схему хочу, нарисованную
Схемы нет, но она очевидна. Позже, скорее всего, сделаю себе такой же вариант, потому что при этом удобно тестировать код ROM-BIOS при его модификациях, - не требуется УФ-очистка и прошивка ПЗУ.

Схема состоит из "открытого ОЗУ" на месте ПЗУ С000...F7FF и ПЗУ 2764 включённого с 0. В качестве сигнала для отключения ПЗУ использовался сигнал НП (начальный пуск). Этот сигнал НП, управляющий теперь теневым ПЗУ, убирается сам когда начинает работать код загрузчика на С000 и ПЗУ само отключается. Но в связи с занятием этого бита ППА на цвет, при КР580 удобно использовать INTE (в Z80 выход INTE отсутствовует).

155 ИД4 выдающий чип-селекты ПЗУ перепаивается так, чтобы он давал чип-селекты 0...7FF и 800...FFF, а чип-селект для ППА FE00 получается из 555 ЛА2.

При Z80 и когда для КР580 жалко на это тратить INTE, для отключения ПЗУ ставится RS-триггер из двух вентилей из ЛА3. На один его вход - /RESET на другой /CS от дешифратора ИД4 на адрес 3800. Тогда закончив копирование из ПЗУ в ОЗУ процессором делаем обращение на 3800 и RS-триггер опрокидывается отключив ПЗУ, отчего получается FULL RAM 0...F7FF.

barsik
15.12.2017, 12:02
Не знаю как в миру принято расширять ROM-диск ОРИОНА, но предлагаю вариант для ленивых. Это актуально также и для СПЕЦИАЛИСТА. В ОРИОНЕ ROM-диск занимает адреса F500...F5FF, а в СПЕЦИАЛИСТЕ FE00...FEFF.

Удивлены, что у СПЕЦИАЛИСТА возможен ROM-диск? Хотя ROM-диск конкретно для СПЕЦИАЛИСТА и не опубликовали в журнале, но после публикации ОРИОНА всем стало ясно, что ROM-диск полезен. Я и ранее подключал внешний ROM к СПЕЦИАЛИСТУ, т.к ПЗУ 27256 стояло наряду с РУ7-ми на плате эл.диска (предназначено для хранения нортона для эл.диска). Но ROM-диск от ОРИОНА проще, т.к не требует доп.деталей. ПЗУ в адресном прострнастве СПЕЦИАЛИСТА предназначено вовсе не для хранения резидентных прикладных программ, а для ROM-BIOS (и подкачки оттуда CP/M BDOS, что важно чтобы поднять TPA).

Поэтому в начале 90-тых, имея три ROM-диска ОРИОНА, было удобно иметь такой же ROM-диск и на СПЕЦИАЛИСТЕ. В качестве программы для использования ROM-диска, использовалась, естественно не ORDOS, а ROM Service размером в 300 байт. Её преимущество в том, что ROM-диск можно оперативно компоновать под конкретную задачу. Файлы не обязаны располагаться впритык другу к другу. Начала файлов находятся сканированием с шагом в 10H. Для этого в начале файла стоит заголовок опознаватель FD FD... в общем, кажется 5 байтов. Затем имя, адрес загрузки, адрес старта и размер файла. Потому было удобно набирать ROM-диск из 2764 или РФ2. А все оперативно нужные программы хранить в отдельных ПЗУ. Это придумал не я, это концепция ROM-дисков в западных ЭВМ.

Даже без калькулятора ясно, что на порт ВВ55 и в СПЕЦИАЛИСТЕ и в ОРИОНЕ отведено целых 256 адресов, тогда как ППА нуждается всего в 4-х адресах. Это и позволяет иметь банковость ROM-диска без доп.железа. Используем идею сэра Клайва Синклера (точнее инженеров, что разработали ему ZX-Spectrum) применённую для сканирования клавиатуры. Идея в том, чтобы в качестве чип-селектов (или адресов A16...A19) использовать адреса в самих командах для доступа к железу. Из 8 адресов A0...A7 четыре адреса A4, A5, A6, A7 удобно использовать для обращения к конкретным ПЗУ.

Обычно достаточно двух банок ROM-диска. Тогда при A4=0 выбирается страница 0, а при A4=1 читается страница 1. Если это две ПЗУ 27512, то выборка делается подачей 0 на /CS. А если это огромное ПЗУ объёмом в 128 кбайт, то A4 с шины просто подаётся на A16 ПЗУ. Для ОРИОНА сохраняется совместимость с банкой 0 ПЗУ. А вторая банка предназначена вовсе не для ORDOS и лазить туда программам ORDOS незачем.

ROM-диск от ОРИОНА устроен так. Из порта A читается содержимое ПЗУ. Адрес в ПЗУ записывается в PB и PC. При чтении из адреса F500/FE00 читается нулевая банка ПЗУ, а при чтении из F510/FE10 читается вторая банка ПЗУ. И никаких дополнительных расходов деталей. Если разъём ROM-диска как в ОРИОНЕ - СНП-30, то в нем остаются свободными 2 контакта. Через один удобно подавать +12В для УФ-прошивателя, а через второй как раз я пропускал адрес A4 с шины. Двухстраничный ROM-диск удобен, если внешнее устройство медленное, например магнитофон или медленный обмен с PC по проводной линии. Тогда, чтобы не загружать всякий раз при включении RAM-диск, удобно все часто нужные программы прошить в 128 кб. Этого объёма обычно хватает.

Для CP/M невыгодно подкачивать BDOS+CCP с дискеты, как это было в антикварных CP/M. Это неудобно тем, что по каждому ^C DOS долго перезагружается, но главное, тогда все дискеты должны быть системными, что сокращает полезный объём. BDOS+CCP выгоднее подкачивать из ОЗУ (других банок, если они есть) или, в крайнем случае, из ПЗУ или ROM-диска. Это позволяет увеличить TPA на 6 кб. Но главное при этом то, что тогда дискеты становятся всеядными, т.е пригодными для версий CP/M с любой вершиной TPA. Т.е не надо иметь отдельно дискеты для CP/M с TPA в 28 кб, отдельно дискеты для TPA 35 кб и отдельно для TPA в 54 кб. Это немаловажное преимущество.

В плате ЭКСПРЕСС, если есть верхнее ОЗУ в адресах E000...F7FF (туда загружаются DOS), то ПЗУ остаётся всего 8 кб (как раз на 4 панельки для РФ2). Причём из 8 кб 6 кб уже занято ROM-BIOS. И не остаётся ни 6 кб ПЗУ, чтобы оттуда подкачивать BDOS+CCP, а тем более нет и 10 кб, чтобы хранить там всю CP/M или другую DOS. Потому и пришлось использовать ROM-диск, тем более, что и доп.ППА и ROM-диск уже есть в наличии.

Однако ROM-диск даёт ещё одно преимущество. Можно использовать загрузку системы по сбросу из ROM-диска (это принцип ОРИОНА). Тогда, на плате оставляют только одно ПЗУ РФ2 (с адреса 0) с стартовой программой. Она по сбросу грузит 4 кб из ROM-диска на C000 и делает JMP C000. После чего сигнал НП автоматически выключает ПЗУ. Выгодно сделать загрузку разных ROM-BIOS. Тогда если при нажатии на кнопку СБРОС удерживать клавишу <НР>, то из ROM-диска загрузится альтернатиный ROM-BIOS или же программа меню позволяющая выбрать систему.

Для СПЕЦИАЛИСТА ROM-диск полезен, если нет много ПЗУ на самой основной плате, а надуманные принципы не позволяют это ПЗУ странично расширить за счёт применения 27256 или 27512. Но, в принципе, если есть большое ПЗУ на основной плате, а готовых ненужных ROM-дисков под рукой нет, то ROM-диск и не нужен, в ограниченных пределах его может заменить большое ПЗУ на основной плате СПЕЦИАЛИСТА, если иметь страничную коммутацию ПЗУ.

Без страничного ПЗУ в 8 кб ничего особо полезного туда не прошить, а отказываться от верхнего ОЗУ в пользу ПЗУ просто глупо, т.к ОЗУ намного полезнее. А вот в страничное ПЗУ можно прошить систему, будь то какая-то странная система для МГ-версии на базе microSD или DOS с поддержкой винчестера и РК-КНГМД.

Но вот, когда объёма ПЗУ 27256 не хватает для размещения всех желаемых программ, тогда наступает время для ROM-диска размером в 128 или даже 512 кб.

barsik
17.12.2017, 14:18
Есть ли у кого предложения по добавлению программ, которые будут находится в системном ПЗУ?

Как говорил Андрей Миронов в каком-то кинофильме "Такие вопросы, господин посол, с кондачка не решаются. Нам надо посоветоваться с товарищами, зайдите на недельке."

А если серъёзно, то действительно, в данном вопросе ни в коем случае спешить не стоит. Мы уже многократно свидетели, что плохой ROM-BIOS в бытовом компьютере наносит много вреда. Вообще я (а также и разработчики всех остальных ЭВМ в мире) считаю, что прикладным программам, типа текстовых редакторов, ассемблеров и т.п. вовсе не место в адресном пространстве процессора. Оно слишком дорого, т.к может использоваться с гораздо большей пользой.

В ПЗУ стоящее в адресном пространстве разумно прошивать ROM-BIOS, т.е набор драйверов для обслуживания железа. А для хранения прикладных программ следует использовать внешние носители, такие как дисковод, винчестер, их эмуляторы, 'microSD' с прямым доступом (с которым по SPI напрямую работает основной CPU), устройства на базе 'microSD' с контроллером и DOS поддерживающей FAT32 прошитой в микроконтроллер (от vinxru) и если этого нет, то резидентные программы хранят в ROM-диске объём которого не ограничен.

'MicroSD' с контроллером кому-то удобен, но мне несимпатичен, т.к консервирует магнитофонный вариант ЭВМ. Уж лучше купить на Али дешёвый китайский эмулятор дисковода который стОит всего 1000 рублей, хранит данные во флэшке, которую легко вытащить и переставить в другой такой же эмулятор стоящий на другой ЭВМ. Это даёт 1000 и более дискет 720/1440 кб и самый удобный способ хранить и переносить программы из IBM PC в рэтро компьютеры. Это и лампово, т.к вместо эмулятора можно поставить настоящий дисковод с настоящими раритетными дискетами.

На сегодняшний день базовый СПЕЦИАЛИСТ остаётся единственным бытовым компьютером, который не имеет ни дисковода, ни винчестера, ни RAM-диска или даже ROM-диска. Он "умер" до того, как эти устройства стали приемлемыми по цене и доступными широким массам любителей. Это несправедливо и нуждается в исправлении. СПЕЦИАЛИСТ - лучший компьютер СССР и должен иметь то же, что имеют все другие бытовые компьютеры той эпохи..

Естественно, если ПЗУ в СПЕЦИАЛИСТЕ достаточно большое, то там хватит места и для ROM-BIOS и для десятка прикладных программ. Но как показала практика и в этом случае разумно хранить в ПЗУ только те программы, что используются чаще всего. А это в первую очередь программы типа Нортон, служащие для управления файлами на внешних носителях. Это м.быть Нортон конкретной DOS, которую предпочитает пользователь или коммандер обеспечивающий интерфейс с 'microSD' с контроллером от vinxru.

Я уже писал, что практически единственный вариант получить большое ПЗУ, это страничное ПЗУ с окном максимально доступного размера. Из-за присутствия В/У в области F800, единственным кратным размером является 8 кб, а единственным окном, где эти 8 кб можно коммутировать, является окно C000...DFFF, т.к только в этом случае возможно прямое подключение управляющих битов к адресным входам ПЗУ. Если это окно поставить, например в область D000...EFFF, то понадобится дополнительный кодопреобразователь адреса (например 556 РТ4 или ИМ6).

Для страничного переключения нужны биты и взять их можно только напаяв 555 ТМ9 вторым этажом на какую-то стоящую на плате микросхему. Адрес этого регистра несущественен. Если кто-то принципиально не хочет иметь дешифратор ИД7 на область F800, то в качестве строба записи в регистр можно использовать чип-селект F000...F7FF.

Если же этого не делать и оставить ПЗУ нестраничным, то даже, если включить 27256 на весь участок, то свободно будет всего 6 кб, т.к на D000 стандартно ставится драйвер КОИ-8 или шрифта 8*8, драйвера других МГ-форматом (ZX, MSX, ОРИОН), драйвер принтера и уФ-прошиватель. Нет смысла обсуждать, что можно зашить в 6 кб. Это каждый может выбрать сам. В 6 кб не влезет даже бейсик, если не считать TINY-бейсики, которые имеют размер всего в 2 кб.

Теоретически для случая большого ПЗУ или ROM-диска удобно иметь стартовую программу меню, как это было сделано в ИРИШЕ, ещё в 1984 году. По сбросу выводится меню, где пользователь перемещая балку подсветки выбирает пункт и нажимает <ВК>. Это крошечная программка позволяет пользователям по определённым правилам оформлять свои резидентные программы, прошивая их в внешний ROM-диск или в ПЗУ на основной плате.

Для систем без внешнего носителя прошиваются тесты, основной RAM-монитор, бейсик, редактор, ассемблер и дизассемблер. А для систем с внешним носителем - загрузчик DOS и, уже невидимо из меню, Нортон для этой DOS. Наличие Нортона в ПЗУ освобождает от необходимости хранить его на всех дисках. Тогда по выходу из программы, нортон будет быстро перезагружаться из ПЗУ, а не писать на экране поставьте дискету с нортоном.

Я считаю, что в ПЗУ стОит прошить цветные драйверы VT52 D6, D7 и D8, драйвер мыши, драйвер аппаратной клавиатуры, подпрограммы чтения/записи сектора для дисковода, винчестера, RAM-диска и 'microSD' с доступом процессора. В идеале было бы иметь в ПЗУ GUI интерфейс такой же как в Apple MAC-128.

Это вполне реально. Заметим, что первоначально в Макинтош собирались ставить 8-ми разрядный процессор и иметь моно-экран с размерами точно как у СПЕЦИАЛИСТА 384*256. Т.е инженеры не сомневались, что скоростей 8-ми разрядки хватит для такого графического интерфейса.

Кроме того, в ПЗУ надо иметь загрузчики разных DOS и загрузчик программы обслуживания 'microSD' от vinxru. В качестве DOS, в связи с нехваткой памяти разумно использовать самые минимальные по объёму DOS, а я знаю только 2 подходящие по этому критерию системы, это DOS А.Мамонтова для "Львова" и DOS Е.Седова для РК86. Любая DOS может работать с любым носителем, для смены носителя достаточно поменять две подпрограммы.

Аксиомой при всех доработках ПЗУ должна остаться совместимость с загрузчиком А.Волкова и с монитором Орлова, причём не только по стандартным точкам, но и по внутренним. Дополнительные устройства должны подключаться на вектора, как это сделано в ленинградском мониторе СПЕЦИАЛИСТА и в ОРИОНЕ. Благодаря векторам резидентные в ПЗУ подпрограммы подменяются другими подпрограммами, находящимися в ОЗУ или ПЗУ. Так в упомянутом мониторе, чтобы включить другой шрифт достаточно нажать НР+F2, а чтобы изменить МГ-формат на MSX достаточно нажать НР+F3, чтобы отформатировать VDISK - НР+F5, а старт коммандера НР+F6.

Вышеприведённым хочу сказать, что ROM-BIOS СПЕЦИАЛИСТА для более удобного программирования для него программ с более красивым интерфейсом должен быть изменён. Это не может быть решено с кондачка и сделано за 1 день. ROM-BIOS дорабатывают годами, тем более, когда стоит условие совместимости с точками не сгруппированными как принято в начале кода, а раскиданными по всему ПЗУ.

Просто вставить в ПЗУ драйверы, слегка переделав само ПЗУ, чтобы ввести вектора и добавить п/п-ммы чтения/записи доп.банок ОЗУ можно быстро, но пока только для Z80, т.к код драйверов нуждается в очистке от команд Z80 и переделке под другой алгоритм цвета. Но что-то рабочее сделаю до Нового Года. Тогда можно будет посмотреть в эмуляторе CP/M и RK-DOS с встроенным VDISK-ом. Сейчас я занят конверсией RK-DOS и её утилит на другие адреса и адаптацией CP/M для обоих типов КНГМД (программный РК-КНГМД и аппаратный c БИС ВГ93).

Буквально сегодня я получил конфиг для EMU80 для эмуляции СПЕЦИАЛИСТА в котором не только есть выбор Z80/КР580, ROM-диск от ОРИОНА, верхнее ОЗУ, 4 доп.банки ОЗУ, 4-х страничное ПЗУ, два дисковода РК-КНГМД и на ВГ93, но и есть возможность отключать ПЗУ, давая сплошные 62 кб ОЗУ. Это позволяет удобно отлаживать и использовать любые ROM-BIOS.

Заметим, что глупые возражения, о том что это уже не СПЕЦИАЛИСТ неверны. Для программы без разницы работает она в ПЗУ или в ОЗУ, а доп.банки ОЗУ ничуть не хуже чем любой другой носитель, т.к служат только для RAM-диска. А т.к остальное железо и его адреса не меняются, то о чем тут говорить? Из существенных доработок - только доп.банки ОЗУ. Но это только для меня и тех кто ценит удобство. Раз прикладное ПО о этих банках не знает и, соответственно, не использует, то это никому не мешает, также как контроллер 'microSD' от vinxru.

Cornelius
17.12.2017, 15:57
Как говорил Андрей Миронов
Леонид Куравлёв в "Иван Васильевич..."


Для систем без внешнего носителя прошиваются тесты, основной RAM-монитор, бейсик, редактор, ассемблер и дизассемблер.
Самодостаточный вариант + загрузчик SD. Огороды городить без расширенной документации - путь в никуда, понятный только отдельным Сусаниным и людям с очень индивидуальными требованиями к конкретной сборке ретро ЭВМ. В большинстве случаев, желающие собрать себе ретро-машинку типа Специалист, всё равно обращаются к основной документации в Моделист-конструктор. Выискивать в отдельно написанных, несвязанным порой, форумных постах описание доработок, расширений и прочего допаивания/перепаивания - тот ещё мазохизм.

barsik
17.12.2017, 16:44
Леонид Куравлёв в "Иван Васильевич..."
Естественно я, как и все, знал название фильма, да и советских артистов всех помню. Как-то само написалось второпях не то имя, видимо, оттого, что недавно видел несколько фильмов с этим актёром. Опозорился. Запоминание имён импортных актрисс хорошая тренировка памяти. Если вижу в импортном к/ф новую незнакомую актрису, сразу гуглю.


путь в никуда, понятный только отдельным Сусаниным
Просто у нас разные хобби. Я люблю программировать, а возня с железом - это тоска, через нехочу. Для меня железо не цель, а средство, для Вас - наоборот. Утверждаю, что моё хобби интереснее. А как дизактивировать ПЗУ или соединить проводом чип-селект дешифратора с входом ПЗУ здесь понятно каждому.

Сейчас заканчиваю с железом и уже имею почти соответствующий этому железу эмулятор. Уже есть всё то, что описано в предыдущем посте. Но есть отличия с реалом, т.к для точного соответствия оказалось возможностей модификации конфига в эмуляторе EMU80 немного не хватило. В частности, конфигом нельзя сделать альтернативный цвет и некоторые биты управления нельзя было совместить по одному адресу, поэтому пока биты разнесены в разные адреса. Т.е именно точно так как хотелось бы не получить за 2 минуты редактируя конфиг в текстовом редакторе. А требуется доработка и перетрансляция самого эмулятора. Это автор эмулятора сможет сделать уже только в следующей версии, которая будет, видимо, в ближайшие месяцы.

Прерывания тоже, оказалось требуют доработки кода, т.к резисторы привязки шины не были предусмотрены. Мне лично прерывания не нужны, но они облегчают написание игр и программ управления станками ЧПУ. А наличие эмулятора - в 5-10 раз ускоряет разработку программ.

Cornelius
17.12.2017, 17:21
В моём конкретном случае "железо" - инструмент. Оно должно быть простым и понятным, как молоток и зубило. Никогда не понимал различные мультитулы, которые в сути своей недоотвертка, недопила, недонож и т.д. Таким же понятным "железо" должно быть для тех, кому я его предложу в качестве инструмента. Молоток с завитушками или отвёртка со встроенной грелкой для пупка - инструмент не для работы. В данном случае - ЭВМ простая, как двери, для азов программирования на том же ассемблере, а в качестве бонуса - игрушки. Всё с быстрой загрузкой (SD) и при необходимости цвет. Дал клаву, пару номеров МК с описательной частью, через неделю получил молодого специалиста по "Специалисту", который, в свою очередь, сможет объяснить принципы работы следующему. Кто-то из них пойдёт дальше в программировании, кто-то с паяльником и идеями по железу. А начальная базовая машинка останется ждать следующего. Как то так.
А представьте ситуацию, когда у меня доработан комп по рекомендациям из поста №1 (условно), у соседа из поста №2, а у соседа слева - из поста №3. Один из них написал полезную фичу с привязкой к своему железу и делится с соседями. Какой шанс, что у всех трёх фича будет работать так как задумано, без копания кода?

barsik
17.12.2017, 20:19
Никогда не понимал различные мультитулы, которые в сути своей недоотвертка, недопила, недонож и т.д.
Буквально всё не по делу.

Я предложил только самые очевидные вещи, что на два порядка проще и на 4 порядка дешевле предложенных второэтажных плат. Речь только о том, чтобы не ставить ПЗУ в области верхнего ОЗУ, ведь без разницы куда кидать диод от чип-селекта - для разрешения ОЗУ или ПЗУ. И при желании ввести страничное ПЗУ, чтобы объём больших современных ПЗУ не пропадал впустую, причём мне лично пока это даже не надо. И цвет, в котором я предложил заменить одну микросхему на другую.

Что здесь такого криминального или непонятного? Причём я даже "разжевал" всё, для чего это полезно и надо, как для ребёнка. А уж если ставится регистр ТМ9 для формирования страниц ПЗУ, то только идиот не предусмотрит бит не для переключения ПЗУ, а для его полного отключения, чтобы на этом месте открылось ОЗУ.

Но это уже, как и страничное ПЗУ совсем необязательно. Ну хочет пользователь использовать большое ПЗУ только на четверть, ну и пусть - сам дурак, сам страдает. Это ничему не вредит, - на ROM-BIOS ПЗУ хватает и ладно. Я себе пока тоже не делаю страничное ПЗУ (т.к использую электрически записываемое ПЗУ на 8 кб).

Кстати, отключение ПЗУ с заменой на ОЗУ эквивалентно двум страницам ПЗУ. Кто захочет иметь возможность загрузить и посмотреть любой ROM-BIOS который имеется без перепрошивки ПЗУ, сделает простейшую переделку и получит возможность включить ОЗУ на месте ПЗУ. Кому это повредит? Человек только лучше разберётся в рэтро схемотехнике. Если у человека цель только в том, чтобы собрать полный оригинал и поставить на полку, это другое хобби. В котором нет ни малейшего интереса.

Открытие ОЗУ делали все владельцы ЭКСПРЕСС в 80-тые, было жаль, что ОЗУ пропадает впустую. Что здесь неправильно? Я, в отличие от остальных любителей СПЕЦИАЛИСТА не только в состоянии поддержать программами, но и хочу это сделать. Мне непонятна позиция, когда некоторым хочется мне хамить и вставлять палки в колёса. Я не специально перешёл Вам дорогу (если Вы так считаете).

Тут каждый сходит с ума по своему. Не нравятся мои идеи, - сделай как нравится. Я же не навязываю (надеюсь, это сделают программы). Я только неделю назад откопал и восстановил СПЕЦИАЛИСТ, но за пару дней сделал больше, чем другие за год. Не имея ни нужного эмулятора, ни железа ничего нельзя было программировать. Теперь есть и то и другое.

В течение месяца закончу с железом основной платы навсегда. Останется спаять прошиватель ПЗУ с плавкими перемычками и прошить РЕ3. Также поимел два дисковода и мог бы их подключить, но не буду, т.к RAM-диск заменяет дисковод, удобнее и быстрее, а основной накопитель это винчестер. Да и контроллер для винта намного проще. Для проверки работы с дисководом вполне достаточно эмулятора.

Схему как поставить дешифратор на В/У, чтобы было не единственное В/У, а целых 8 и одновременно совместимость с РК86 и ОРИОНОМ, - я уже когда-то рисовал. Как ЛИ1 заменить на 155 РЕ3 я тоже рисовал, но возможно позже для ленивых перерисую схему из журнала целиком.

Как закончу со своим железом, постараюсь написать следующие инструкции. 1.Как открыть верхнее ОЗУ в 6 или 8 кб. 2. Как сделать такт 2.25 или 2.5 МГЦ . 3. Как ПЗУ 27512 использовать на полный объём с помощью страниц задаваемых портом F800.

Это три простейшие схемы, кому не надо, тот не сделает. Желательно иметь только первое - верхнее ОЗУ. Остальное - вообще не для меня, а для пользователей. Я страюсь использовать только базовое железо, если это возможно. Но как получить VDISK для DOS без хотя бы одной доп.банки ОЗУ? Но это уже только для меня, и только для целей эл.диска, потому это такая же периферия, как и контроллер 'microSD' от vinxru, только полезнее. Никому не мешает. И делается за 15 минут. Впрочем, если иметь РУ7, то сделать несколько разрезов и кинуть несколько проводов, чтобы переключить адреса, можно и быстрее.

Неужели не понятно, что мои усилия полезны для популяризации СПЕЦИАЛИСТА и в том числе и Вам. За неделю я привлёк интереса к СПЕЦИАЛИСТУ больше, чем другие за годы.


А представьте ситуацию, когда у меня доработан комп по рекомендациям из поста №1 (условно), у соседа из поста №2, а у соседа слева - из поста №3. Один из них написал полезную фичу с привязкой к своему железу и делится с соседями. Какой шанс, что у всех трёх фича будет работать так как задумано, без копания кода?

О чём Вы? Для программ нет ни верхнего ОЗУ, ни страничного ПЗУ и уж тем более они даже не знают о доп.банках ОЗУ. Разве ваш контроллер от vinxru мешает программам? Всё прибавки к железу - только для системного ПО, программам об этом ничего не известно. Например, CP/M общается c функциями BDOS вызовом CALL 5 и ей всё-равно идёт доступ к винчестеру, microSD или RAM-диску. Программам RK-DOS тоже до лампочки, есть или нет верхнее ОЗУ. А вот сами DOS уже используют все возможные доработки, что им полезны. Но DOS не влияет на программы, - это только средство доступа человека к ним. Точно также, как DOS для доступа к FAT32 прошитая в микроконтроллер от vinxru.

barsik
18.12.2017, 14:46
Это из темы "Игра ELITE на КР580" (http://zx-pk.ru/threads/28514-igra-elite-na-protsessore-580vm80-nevozmozhna.html?p=941576&viewfull=1#post941576), в той теме это оффтоп.


примерно так - адреса А13 и А5 для выборки, по Д6 снимаем тики 50 гц кадровой
Вот это совсем не понял. Не понял, как адреса A13, А6 и бит D6 из шины данных связаны с прерываниями.

По реализации прерываний такие соображения.

Во-первых, выход INTE, если его сдуру задействовали в качестве сигнала начальный пуск (НП), как придумали Медведков и Иванов в МК 08.1990, должен быть освобождён от этой функции.

При введении цвета освобождение бита PC4 от функции сигнала НП делается не передачей этой функции на ногу INTE, что просто глупо, отнимает прерывания и требует перезашивки ПЗУ, а установкой дополнительного RS-триггера. По сбросу он взводится, а по сигналу /WR при записи в ВВ55 (что стоит 4-той командой в начале ПЗУ) сбрасывается.

RS-триггер можно сделать на двух вентилях из ЛА3, а можно поставить и 155 TM2. Я делал и так и этак. При ТМ2 её нога 1 идёт на /RESET, нога 4 идёт на 36-ю ногу ВВ55, а нога 6 идёт на печать отходящую от 13-й ноги ВВ55, отрезав печать от ноги 13 (это сигнал НП, что ранее выходил из PC4).

Только именно так стоит делать НП, если нужен цвет. Если цвет не нужен и PC4 освобождать не надо, то НП из вывода PC4 в плате ЭКСПРЕСС можно оставить как есть.

Сигнал гашение по кадрам в схеме ЭКСПРЕСС это цепь 16 (=1 когда идёт гашение). Думаю, что этот сигнал через RC-цепочку, как в зоновском Синклере надо подать на вход INT КР580. Такая схема сработала у меня в Z80CARD-ах для Z80. Надеюсь у КР580 нет каких-то неприятных особенностей по входному сигналу на прерывание. Резисторы привязки, думаю 3 кОма хватит, можно припаять прямо к ногам ВВ55, хотя мне это не надо, т.к на моих платах с КР580 стоит ВК28, а он и без резисторов выдаёт по прерыванию код RST 38.

zx_
18.12.2017, 14:54
Сигнал гашение по кадрам в схеме ЭКСПРЕСС это цепь 16 (=1 когда идёт гашение). Думаю, что этот сигнал через RC-цепочку, как в зоновском Синклере надо подать на вход INT КР580.

это уже чтото



А уже намного позднее даже встрою тест прерывания

А как тогда проверить прерывания сегодня?

barsik
18.12.2017, 15:32
А как тогда проверить прерывания сегодня?
У Вас уже что есть рабочая плата ЭКСПРЕСС ?

Подозреваю, что это совсем не к спеху. Прерывания конечно пригодятся для производства музыки, т.к сильно упрощают её программирование. Но для ELITE они понадобятся только через много месяцев, когда будет хоть частично работающая программа или хотя бы её Демо.

Без программ от прерываний никакой пользы, а как уже упоминал, проблемы могут возникнуть, если попадётся программа от РК86, где не забиты EI/DI, а такие программы есть. Например, я использовал MUSICBOX от РК86 на Специалисте, чтобы прослушивать через выход INTE музыку.

По поводу тестирования программ. У меня пока нет прямого интерфейса между IBM PC и Специалистом. Есть возможность переслать файл по линии только на ОРИОН. А затем в формате РК86 монитором-3-EXT я пересылаю файл на Специалист, по проволоке через МГ-интерфейс. Это долго и утомительно. Хотя тест для проверки прерывания это всего пара десятков команд, можно набить даже вручную в кодах с клавиатуры. Если интересует, то по готовности я выложу этот простейший исходник.

По поводу теста. У меня сейчас в РФ2 есть только убогий тест, что я написал 02.1988, когда собирал Специалист. Он совсем убогий, выводит на экран линии, квадраты, а затем просто пишет ОЗУ ИСПРАВНО или ОЗУ ДОХЛОЕ. Не указывая какой конкретно бит дохлый. Позднее, уже в 1991 я сделал лучший тест, что пишет какой бит дохлый. Он сохранился в виде исходника. Собираюсь его доработать, чтобы встроить тестирование доп.банок ОЗУ. Смогу встроить туда и тест прерывания. Но займусь этим не сейчас, т.к это не горит.

zx_
18.12.2017, 16:28
есть рабочая плата ЭКСПРЕСС гдет пока в мировом эфире, так понимаю еще не дошли платы




Хотя тест для проверки прерывания это всего пара десятков команд, можно набить даже вручную в кодах с клавиатуры. Если интересует, то по готовности я выложу этот простейший исходник

конечно да, в тему сюда тольк, для всех

barsik
20.12.2017, 11:26
Пере адресация из темы "Игра Элитэ на КР580" (http://zx-pk.ru/threads/28514-igra-elite-na-protsessore-580vm80-nevozmozhna.html?p=941815&viewfull=1#post941815).


Подумалось ночью, можно прерывания включать и выключать как внешнее устройство. По сбросу прерывания по КСИ выключены. Адресовать к примеру, как таймер в SP580. По адресу обратился - включил прерывания. У ИД7 там вроде свободные выходы оставались. Тогда совместимость сохранится и прерывания будут по потребности
Совсем не ясно о чём тут.

Не знаю, что имелось ввиду, но запрет прохождения импульсов 50 ГЦ на вход INT использован в Z80CARD-I и -II для ОРИОНА. Там это просто необходимость, т.к все программы ОРИОНА скворчат через выход INTE.

В СПЕЦИАЛИСТЕ такой проблемы нет. Это сам того не желая, подтвердил В.Медведков, который использовал выход INTE в качестве сигнала начальный пуск, который по сбросу принудительно включает ПЗУ на всё адресное пространство (т.к у КР580, в отличие от моторолловских CPU и производного от них 6502, адрес старта с 0, а не из вершины памяти, где обычно и ставят ПЗУ).

Если бы команды EI/DI были в программах СПЕЦИАЛИСТА, то такая доработка сразу бы это выявила, т.к был бы улёт, когда вдруг по EI всё ОЗУ исчезло. Надеюсь В.Медведков проверил все программы на работоспособность с его дурацкой доработкой. DI/EI могут встретиться только в недоадаптациях от РК86. В случае, если конвертатор (конвертовщик) не до конца сделал свою работу и не до конца переделал звук по INTE. Таких программ, если и есть, то, во-первых, единицы, а во-вторых, проще потратить 2 минуты, чтобы найти и забить коды DI/EI, чем надрываться и ставить узел запрета прохождения 50-ти Герц на вход INT.

Уже не надо волноваться из-за этого. Выяснилось, что конвертаторам "Элитэ" прерывания не нужны и они сдуру добровольно от них отказались. Прерывания могут понадобиться, если кто-то возьмётся конвертировать другую ZX-игру, где прерывания нужны. А пока это не актуально. Себе я прерывания поставлю, они могут пригодиться для прослушивания Моцарта на ВИ53, но этим я смогу заняться не раньше, чем через несколько недель. А остальным пользователя СПЕЦИАЛИСТА прерывания пока не нужны и даром.


Но попытка понять о чём был пост, заставила меня вспомнить, как сделано управление железом в Apple-II. Понятно, что самый тупой лобовой вариант формирования сигналов управления, это поставить регистр на вывод в шину данных. Это традиционный путь. Но он имеет ряд недостатков. Во-первых, в машине без буферов это плохо, т.к нагружает шину данных одним TTL-входом. Во-вторых, управление режимом обычно однобитовое и ставить целый регистр невыгодно, а если в одном регистре объединить разные управления, то это неудобно программно (или же надо иметь возможность читать системный регистр).

Поэтому Стив Возняк, который был очень изобретательным, использовал в Apple-II, так называемые программные ключи. Суть этого в том, что чтобы не нагружать шину данных, управление делается не битами с шины данных, а чип-селектами в области В/У (в Apple это область C000). Ставится RS-триггер (на ТМ2 или из двух вентилей И-НЕ) и, например, на R-вход заводится чип-селект F800, а на S-вход чип-селект F801. Тогда по записи по адресу F801 тригер установится в 1, а по записи в F800 сбросится. Это же получается, если использовать D-триггер и на его вход C подать чип-селект, а на вход D адрес A0.

Вот таким образом в Apple-II и сделано всё управление режимами, аналоговым джойстиком и другими устройствами. Эта же идея используется и в периферийных платах. Достоинство, - шина данных никак не нагружается, а управление побитовое. А т.к в СПЕЦИАЛИСТЕ невыгодно нагружать шину, чтобы оставался ресурс нагрузочной способности для подключения периферийных плат, то также выгодно все переключения режимов делать RS-триггерами.

Используя вышеизложенное, при желании, можно просто блокировать импульсы на входе INT с помощью двух вентилей из ЛА3, иcпользуя сигналы с двух выходов дешифратора ИД7. Выход RS-триггера на ЛА3 просто через диод коротит вход INT КР580 и импульсы 50 ГЦ не пройдут. Управление появится, а нагрузки шины не будет.

zx_
20.12.2017, 13:06
Совсем не ясно о чём тут.
что неясного? использовать порт для включения-выключения прерываний, для 100 % совместимости.

для адресации порта прерываний использовать ИД7 от проекта SP580
тем более, вы собираетесь писать музыку под ВИ53



Выяснилось, что конвертаторам "Элитэ" прерывания не нужны и они сдуру добровольно от них отказались.

не думаю, это вслух сказано небыло
да и прерывания в эмуляторе автор EMU80 обещал только к НГ

OrionExt
20.12.2017, 16:26
Ну тут двумя проводами не обойтись. А так да. В Орионе такое было. С картой Z80. Включалось прерывание с порта, по сбросу было выключено.

barsik
23.01.2018, 02:20
Т.к тема флеймовая, вот некоторые соображения о клавиатуре СПЕЦИАЛИСТА.

Если нет желания или возможности использовать родную матричную клавиатуру конфигурации 6*12, то можно использовать микро-контроллер с Atmega от vinxru эмулирующий клавиатуру СПЕЦИАЛИСТА в реальном времени. Но это не лампово и не всем подходит.

Какие ещё есть варианты ?

Удобнее всего, если бы, как в РК86 и ОРИОНЕ, можно было бы применить клавиатуру РК86 или MS7007. Тогда бы хватило одной клавиатуры сразу на три компьютера. В 80-тые слышал сплетню, что один знакомый знакомого переписал код ПЗУ СПЕЦИАЛИСТА, чтобы использовать клавиатуру от РК86. Подробностей не знаю, но битов ППА для клавиатуры 8+6+4=18 достаточно для матрицы 8*8.

Если при матрице РК86 не использовать идеологию РК86, т.е не ставить диоды и не делать сканирование бегущим нулём, а использовать идеологию клавиатуры СПЕЦИАЛИСТА, т.е считывание по вертикали и горизонтали и получение кода табличным методом, то сохранится даже совместимость с играми, которые сами лезут в порт ППА для чтения клавиш.

Напрямую к клавиатуре лезут, по видимому, в основном те игры, что используют сочетания клавиш. Для игр, которые реагируют только на одну клавишу, программе, особенно на СПЕЦИАЛИСТЕ, где опрос стандартной подпрограммой намного быстрее, чем на РК86, в принципе совершенно незачем использовать свою процедуру вместо вызова стандартной подпрограммы из ПЗУ. И даже, если программа сама лезет в ППА клавиатуры, но не использует сочетания клавиш, то несложно её переделать на вызовы подпрограмм ПЗУ.

Впрочем, игр использующих сочетание клавиш скорее всего немного, хотя они видимо, самые лучшие. Но хорошие игры, обычно позволяют задать клавиши управления, т.к в СПЕЦИАЛИСТЕ с самодельной плёночной клавиатурой курсорные клавиши стоят неудобно. Это и даёт шансы для применения альтернативной клавиатуры. Имею ввиду то, что можно поставить любую клавиатуру на любом принципе, а для игр использовать джойстик.

Тогда можно, например, применить клавиатуру от IBM PC с той же БИС для клавиатуры, что стоит в XT/AT (кажется, если МНИП, 8242 или типа того).

Но легче всего использовать антикварную стандартную промышленную аппаратную клавиатуру типа 15ВВВ-97-006 (или совместимые), что применялась на всех отечественных машинах - микро ЭВМ Электроника-60, ДВК, мини ЭВМ СМ-1420 и ЭВМ серии ЕС (имеющих много внешних терминалов). Эта клавиатура по интерфейсу аналогична клавиатуре "Консул", клавиатуре Apple-II (ПРАВЕЦ-82/8А/8С, АГАТ) и клавиатуре от ИРИШИ.

Если подключение PC-клавиатуры с её же обрамлением сравнительно сложно, то подключение антикварной аппаратной клавиатуры предельно просто и освобождает в ПЗУ море свободного места. Это потому, что аппаратная клавиатура практически не нуждается в программе обслуживания, т.к она выдаёт готовый 7-ми битовый ASCII-код сопровождаемый стробом (сигналом STB=1). Потому, если подключить эту клавиатуру через один порт ППА, подав ASCII-код на биты D0...D6, а сигнал STB на бит D7, то вся программа F81B это просто анализ бита D7 из порта ППА, а п/п-мма F803 это ожидание строба STB (бита D7=1), затем AND 7FH и возврат.

У меня есть MS7007, клавиатура КОРВЕТА, вечная аппаратная клавиатура "Консул" (датчики на эффекте Холла), аппаратная клавиатура Apple-IIe и, конечно, куча PC-клавиатур. Есть и джойстик от ZX.

Клавиатуру КОРВЕТА трудно подключить, - слишком большая матрица 8*16 (не хватает битов ППА). Конечно можно её разобрать и разрезав печать на плате клавиатуры, соединить в матрицу СПЕЦИАЛИСТА. Это сложно и опасно. Тогда уж легче добавить в СПЕЦИАЛИСТ в качестве доп.порта на вывод 555 ТМ9. MS7007 тем более не переделать.

В любом случае самый простой вариант, это не нестандартная матрица или контроллер, а использование аппаратной клавиатуры. Дополнительным плюсом это даёт клавишу <Control>, что отсутствует как класс в СПЕЦИАЛИСТЕ, но нужна в CP/M.

Но тогда проблема с играми лезущими в ППА. В 80-тые читал в болгарском журнале о способе включения джойстика в клавиатуру ПРАВЕЦ-8Д (клон ORIC). Т.к программа может использовать любую клавишу, то джойстик должен иметь возможность включаться параллельно любой клавише. Для этого ставится наборное поле (в виде мамы разъёма) куда втыкается штеккер с проводом от джойстика. Т.о джойстик может включиться параллельно любой клавише и тем самым использоваться в любой игре. Но вряд-ли такие сложности понадобятся, т.к хватит подключения джойстика вместо курсорных клавиш и пробела.

Когда в конце 90-тых поимел дохлую плёночную PC-клавиатуру, то решил подключить её к ОРИОНУ. Замыкала контакты токопроводящая резина. Я отрезал линии матрицы от "паучины" на плате контроллера и подпаяв провода, подключил к ОРИОНУ. И ни хрена не работало. ВВ55 не чувствовал замыкания через токопроводящую резину.

Возможно, если бы ППА был КМОП 82C55, у которого малые входные токи, результат был бы иной. Возможно помог бы промежуточный КМОП буфер 561 серии, но возиться с этим не стал, т.к матрица была неподходящей (не хватало битов ППА), да и переписать драйвер в ПЗУ было сложно, т.к в ОРИОНЕ ПЗУ всего 2 кб.

А вот в СПЕЦИАЛИСТЕ, где ПЗУ 8 кб это можно сделать. У меня сейчас есть пара дохлых плёночных PC-клавиатур. Подумываю об их таком же использовании в виде матрицы, т.к теперь имею 82C55. Такой вариант даёт совместимость с играми и привлекательнее тем, что клавиатура PC имеет лучшую эргономику, но главное позволяет больший темп ввода, чем антикварная аппаратная клавиатура, т.к там борьба с дребезгом сделана за счёт пауз.

zx_
23.01.2018, 08:59
здесь есть способ переделки писи клавки в матричную
http://sblive.narod.ru/ZX-Spectrum/MembraneKeyboard/MembraneKeyboard.htm

barsik
16.02.2018, 16:50
В качестве флейма хочу рассказать о простой возможности добавлять синхронные текстовые адаптеры в графические компьютеры.

Эта идея особенно ценна для компьютеров в которых число экранных байтов в строке 64, а скорость процессора низка, отчего вывод текста и ролик медленные. Потому наиболее удобно это делается в ОРИОНЕ, т.к там пиксель-клок 10 МГЦ, отчего возможен текстовый режим в 64 символа в строке. В СПЕЦИАЛИСТЕ для этого требуется замена кварца на 10 МГЦ, иначе получится только 48 символов в строке.

Сама идея текстового адаптера за счёт включения ПЗУ фонта перекодирующего экранный байт при его записи в сдвиговый регистр очевидна каждому. Можно получить или 8 строк с высотой знакоместа в 8 линий или 16 строк с высотой в 16 линий растра. Более удобен экран в 16 строк.

Чтобы при всех 16-ти линиях знакоместа считывался один и тот же экранный байт, веса счетчиков V0...V3 подаваемые на ОЗУ во время обращения видеоадаптера обнуляются. При этом, чтобы не нарушилась регенерация ОЗУ требуется изменить веса счётчиков подаваемые на ОЗУ по фронту /RAS (подробности тут (http://zx-pk.ru/threads/28763-eshche-odin-orion-na-plis.html?p=950499#post950499)).

Схемотехника такого текстового адаптера проста, требуется всего 4 микросхемы и один управляющий бит для включения текстового режима. Однако т.к текстовый экран образован из графического, то экранные адреса знакомест отстоят на 16 ячеек и весь экран размером в 1 кб в ОЗУ занимает целые 16 кб. Это и является главным недостатком в таком синхронном текстовом адаптере.

И всё же оказалось можно эту идею усовершенствовать и небольшой ценой сократить размер экранной области до 1 кб. Чтобы размер текстового экрана сократить до 1 кб требуется перестановка большинства адресов на входе адресного мультиплексора. Это возможно, если навсегда отказаться от графики и перепаять десяток цепей на входе адресных мультиплексоров.

Если же совместимость надо сохранить, то есть ещё 2 решения. Во-первых, можно поставить четыре КП11 и переключать все 14 адресов от счётчиков видеогенератора на входе адресных мультиплексоров. Однако при этом придётся делать разрезы печати и если текстов адаптер делать внешней платой, то это всё усложнит.

Потому лучше использовать параллельное включение мультиплексоров КП12. Это возможно, т.к хотя в качестве мультиплексоров можно ставить КП2, но все грамотные аппаратчики применяют КП12, т.к они имеют более мощные выходы и, главное, переводятся в 3-е состояние. Потому можно без всяких разрезов печати поставить на внешней плате 4 адресных мультиплексора КП12 подав их выходы прямо на входы 565 РУ5. А чтобы КП12 стоящие на основной плате не мешали, в текстовом режиме они переводятся в 3-е состояние сигналом MODE=1.

На плате ЭКСПРЕСС текстовый экран удобно включить на F400...F7FF (тогда в режиме с отключенным ПЗУ для образуются сплошные 61 кб ОЗУ доступные для программ). ПЗУ фонта включается в разрыв 8-ми проводников идущих от экранной защёлки ИР12 к выходному сдвиговому регистру на ИР16. Еще потребуется 4-х разрядная защёлка со сбросом ТМ9 (или ИЕ7 включённая в качестве регистра) для адресов ПЗУ, включаемая параллельно ИР12, в которой синхронно с ИР12 защёлкиваются веса счётчиков V0...V3, обеспечивая 16 линий в знакоместе. Эта ТМ9 формирует адреса A8...A11 для ПЗУ фонта.

Чтобы с'экономить на коммутации видеовыхода в качестве ПЗУ фонта вместо 2732 применим 2764, но в его первую половину (что включается в графическом режиме) прошьём не фонт, а в ячейки 0...FF в каждый байт прошьём адрес этого байта. В обычном графическом режиме ТМ9 сброшена сигналом /MODE=0, на её выходе нули и адреса A8...A11 на ПЗУ нули. ПЗУ прошита так, что при входных адресах 0...0FF работает просто как повторитель сигналов на адресных входах (выглядит, как бы ПЗУ фонта вообще нет), отчего СПЕЦИАЛИСТ выводит свою графику как обычно. А в текстовом режиме на A12 ПЗУ фонта подаётся MODE=1 и работает старшая половина ПЗУ в которой прошит фонт от КОРВЕТА и происходит перекодирование экранного байта в графику текстового символа.

Итого весь расход деталей - четыре КП12, ТМ9 (или ИЕ7) и ПЗУ фонта. Это совсем небольшая плата за то, чтобы получить в СПЕЦИАЛИСТЕ и ОРИОНЕ скоростной текстовый экран, что изначально было мечтой миллионов пользователей. Одновременно это освобождает в компьютере много ОЗУ, что и позволяет использовать CP/M.

Конструктивно это делается в виде монтажа с краю платы ОРИОНА или СПЕЦИАЛИСТА разъёма, куда и втыкается внешняя платка синхронного текстового адаптера. На разъём выводятся адреса CPU, веса счётчиков видеогенератора, адреса A0...A7 ОЗУ и выходы экранной защёлки ИР12 и входы выходного сдвигового регистра ИР16. На основной плате придется сделать 8 разрезов (т.к ПЗУ перекодирующее экранный байт в графику символа включается в разрыв цепей соединяющих ИР12 с ИР16-ми).

Платка текстового адаптера на пяти TTL-микросхемах будет очень маленькой, потому можно разместить на этой плате также расширение ОЗУ СПЕЦИАЛИСТА, включаемое как параллельная банка ОЗУ (также как это в ОРИОНЕ). Тут в качестве ОЗУ удобнее всего использовать w2427/w24512 извлечённые из маток 486-тых PC.

Без замены кварца в СПЕЦИАЛИСТЕ и расширения экрана до 448 или 512 точек по горизонтали эта идея непривлекательна, т.к 48 символов в строке для текстообработки мало.

Я уже нарисовал схему такого адаптера для СПЕЦИАЛИСТА. Теперь надо найти фонт ПЗУ текстового адаптера КОРВЕТА (оно у меня было и использовалось в текстовом адаптере, но не выдержало втыкания в панельку с развором на 180'). Т.е для себя я такой адаптер постараюсь сделать. т.к это одновременно наиболее простым способом даёт CP/M с высоким TPA и позволяет разрабатывать программы на самОй рэтро ЭВМ в редакторе SuperText.


здесь (http://sblive.narod.ru/ZX-Spectrum/MembraneKeyboard/MembraneKeyboard.htm) есть способ переделки писи клавки в матричную

Спасибо за ссылку, но это даже не вариант. Если, как сделать разрез на проводнике напылённом на плёнку ещё можно представить, то чем рисовать новые проводники на плёнке? Это просто первоапрельская шутка.

Гораздо более реален мой вариант переделки клавиатуры PC в матричную, когда матрица PC-клавиатуры без переделки используется в оригинальном виде, а переделывается драйвер.

Сейчас у меня есть несколько ненужных цельноплёночных PC-клавиатур. В них при замыкании сопротивление маленькое. Достаточно, отрезать матрицу от БИС контроллера, подпаять провода к матрице и переписать драйвер клавиатуры в ПЗУ. Хотя в СПЕЦИАЛИСТЕ при этом из-за нехватки числа свободных разрядов в имеющемся ППА клавиатуры (т.к матрица PC имеет больший размер) придётся поставить дополнительный регистр ввода/вывода на 589АП16.

alx32
16.02.2018, 17:08
Насчёт клавиатуры.
Был какой-то монитор для Специалиста использующий ascii клавиатуру. То есть коды символов передавались прямиком из клавиатуры на один из портов ВВ55. Упоминание о нём было в одном из МК, никто не видел его вживую?

barsik
16.02.2018, 18:09
Был какой-то монитор для Специалиста использующий ASCII клавиатуру.
Под ASCII клавиатурой видимо понимается антикварная клавиатура от ЕС ЭВМ, ДВК и Электроники-60, т.е 15ВВВ-97-006 и КОНСУЛ. Эти клавиатуры по нажатию выдают готовый 7-ми битовый ASCII код сопровождаемый стробом.

Драйвер такой клавиатуры прост и освобождается много места в ПЗУ. У меня много таких клавиатур, т.к они применяются в Apple-II и ИРИШЕ. Я ставил такую клавиатуру и в РК86. Но при этом перестала работать половина игр. Игры сами нагло лезут в ППА, думая, что считывают матрицу.

Другой недостаток такой древней аппаратной клавиатуры в том, что она позволяет только одно нажатие. Т.е двойные нажатия не передать в компьютер. А программный опрос матрицы позволяет фиксировать одновременное нажатие двух клавиш. Потому, даже если если применить микроконтроллер, который принимает ASCII код, а затем эмулирует матрицу на выводах ППА, это всё равно не позволит двойные нажатия, т.к они просто не вводятся с самой клавиатуры.

А вот если тот же микроконтроллер эмулирующий матрицу использует PC-клавиатуру, то если грамотно написана его программа, он может эмулировать двойные нажатия. Кстати вопрос из любопытства к тем, кто использует контроллер PS/2 клавиатуры на ОРИОНЕ, СПЕЦИАЛИСТЕ и РК86. Там обслуживаются двойные нажатия?

А прямое подключение матрицы, пусть она совсем иная по расположению клавиш, если она подключена соответственно, позволяет использовать программы напрямую сканирующие матрицу через ППА.

Error404
16.02.2018, 18:53
Кстати вопрос из любопытства к тем, кто использует контроллер PS/2 клавиатуры на ОРИОНЕ, СПЕЦИАЛИСТЕ и РК86. Там обслуживаются двойные нажатия?


В схеме Caro на ATMege48 обрабатываются и тройные одновременные нажатия в том числе. Когда я был бета-тестером этого контроллера, я этот момент специально тестировал на адаптациях игр от ZX, как сейчас помню как прекрасно катался в CrazyCars. Такое заработало не сразу, но в итоге Caro всё победил.

OrionExt
16.02.2018, 19:01
В схеме Caro на ATMege48 обрабатываются и тройные одновременные нажатия в том числе.
Может и обрабатывает. А вот контроллеры в клавиатурах думаю по другому:)

- - - Добавлено - - -

Диоды спасут всех. Но промышленность мировая боюсь не справится:)

Error404
16.02.2018, 19:01
Итого весь расход деталей - четыре КП11, ТМ9 (или ИЕ7) и ПЗУ фонта. Это совсем небольшая плата за то, чтобы получить в СПЕЦИАЛИСТЕ и ОРИОНЕ скоростной текстовый экран, что изначально было мечтой миллионов пользователей. Одновременно это освобождает в компьютере много ОЗУ, что и позволяет использовать CP/M.


В Орионе (который у большинства сейчас с 512кб ОЗУ) можно не ставить дополнительные КП12. Пёс с ними с этими 14кб, которые без пользы пропадут под текстовым экраном (пропадали же они под графическими, остального ОЗУ хватало). Главное что мне нравится - скорость вывода и меньшие объемы при буферизации "подоконного содержимого" в оконном интерфейсе.

OrionExt
16.02.2018, 19:12
Да зачем сравнивать Специалист и Орион. В Орионе скопастили часть идей Специалиста. Я даже не знаю как такое было возможно 85г. (вроде). Какой нах ZX и т.д. Это за гранью понимания

barsik
16.02.2018, 21:29
Пёс с ними, с этими 14 кб, которые без пользы пропадут
Не согласен.

Этих 15-ти килобайт жалко, ведь для ОРИОНА речь идет о банке 0, где и работают все программы ОРИОНА. И, т.к я использую DOS в банке 0, то мне катастрофически не хватает именно тех килобайтов, что расходуются на экран.

А в классическом СПЕЦИАЛИСТЕ всё ещё более трагичнее, т.к там ОЗУ вообще "с гулькин нос". Чтобы там использовать CP/M приходится для получения дополнительного ОЗУ отключать часть ПЗУ, "окрывая" в этом месте ОЗУ. Потому просто глупо ради экономии трёх дешёвых КП12 тратить 15 кб впустую. Да и чтобы использовать текстов адаптер нужен текстов редактор, т.е SuperText, а он не работает, если TPA меньше ~48 кб (сколько допустимый минимум не знаю, но при 51 кб TPA на ОРИОНЕ работает, а при TPA 35 кб на СПЕЦИАЛИСТЕ не работает).


у большинства сейчас с 512кб ОЗУ можно не ставить дополнительные КП12.
Если 512 кб это значит, что ОЗУ на 565 РУ7. А я вот здесь (http://zx-pk.ru/threads/28763-eshche-odin-orion-na-plis.html?p=950499#post950499) уже писал, что эта идея на 16 строк работает только при РУ5-тых. При РУ7-мых период регенераци достаточным для РУ7-мых будет только при 32-х строках. А кому нужен такой некачественный шрифт и строки налезающие одна на другую?

Потому для ОРИОНА на РУ7-мых придётся делать более полноценный текстов адаптер, т.е на платке придётся размещать не только ПЗУ и защёлку весов счётчиков V0...V3, но и ОЗУ, мультиплексоры и весь видевыход. Хорошая новость при этом то, что мультиплексоров понадобится всего три (т.к ОЗУ в 1 кб имеет всего 10 адресных входов) и отпадает КП11 на основной плате (тот что обнуляет веса V0...V3 счётчиков на входах адресных мультиплексоров), что хорошо тем, что на основной плате почти нет доработок. А плохая новость в том, что ещё понадобятся экранная защёлка, сдвиговый регистр, буфер ОЗУ и переключатель видевыхода.

Для ручной сборки большее число корпусов - очень неприятно, но если организовать выпуск готовых печ.платок, то немного большее число корпусов вообще не играет роли. Если в качестве экранного ОЗУ использовать две штуки 6514 (это КМОП аналог 541РУ2 организация 1Кx4), то смотрим во что это "выливается" по деталям. Итого, - 2 корпуса 541РУ2 в качестве экранного ОЗУ, три КП12 в качестве адресного мультиплексора, ИЕ7 в качестве регистра со сбросом, ИР23 (ИР82) экранная защёлка, ИР9 - видеорегистр, КП11 - переключатель видеовыхода, буфер АП6 и 2764 для фонта.

В итоге, деталей самого текстового адаптера всё-равно получается не так уж много, - 10 или 11 корпусов (считая и ПЗУ). Ещё понадобится 1-2 корпуса логики, чтобы формировать запрет буфера 580ВА86 при обращении в адреса B0:EC00...EFFF, где будет стоять экранное ОЗУ текстового адаптера. Это удобно для программ в банке 0 и даёт 59 кб сплошного ОЗУ.

Для ручной сборки это слишком много деталей, потому синхронный текстов адаптер стОит делать только при РУ5-тых, используя под текстовый экран основное ОЗУ, что обходится всего в 3 доп.корпуса при экране в 16К и в 5-7 корпусов при экране в 1 кб. Интересно, что на СПЕЦИАЛИСТЕ в качестве защёлки V0...V3 вместо ИЕ7 удобно задействовать второэтажную защёлку ИР12 из схемы цвета, т.к в ней под цвет задействовано только 3 бита, а 5 остальных битов свободны.

Потому для имеющейся у меня платы ЭКСПРЕСС на РУ7 делать текстов адаптер с внешним ОЗУ нет смысла, это слишком сложно. Остаётся только ориентироваться на платы ЭКСПРЕСС с 2-мя банками РУ5-тых (напаянными в 2 этажа) и текстовым адаптером на 5 корпусах.

Но не уверен, что даже простой текстов адаптер будет встречен с восторгом, т.е хоть кто-то его повторит. Мне самому это тоже пока не надо. У меня другая идея-бзик.

Error404
16.02.2018, 21:50
Если 512 кб это значит, что ОЗУ на 565 РУ7. А я где-то уже писал, что эта идея на 16 строк работает только при РУ5-тых. При РУ7-мых период регенераци достаточным для РУ7-мых будет только при 32-х строках. А кому нужен такой некачественный шрифт и строки налезающие одна на другую?


Мне нужен. :) Необходим и достаточен. С чего вдруг он некачественный? На спектруме на символ в матрице знакоместа 8х8 никто не жаловался (я и сам успел Спек попользовать). Я допускаю, что кому-то удобно 16 символов в строке, но мне это дико мало. Я сейчас когда сажусь за CP/M-овский терминал с его 80х25 мне дико не хватает строк. Возьмите обычный современный VGA-моник (дюймов в 19-21 диагональю) и выведите текст в 80х25 - он смотрится рыхло и аршинными символами. В линуксе я использую окно на 40-50 строк. Да что там, сейчас на Винде с которой пишу вот посчитал прямо в этом окне форума - у меня 40 строк разнообразного шрифта, и это при том что монитор широкоформатный (т.е. узкий 16:9), в формате 4:3 этих строк было бы больше для субъективно равномерного заполнения экрана текстом. Превращать экран в транспарант с аршинным текстом и при том не иметь возможности нормально ни dir с большим количеством файлов посмотреть (символов мало и они унеслись за экран), ни вывод каких-то других команд (я же не Ордос пользуюсь где программа с пользователем не общаетcя, а CP/M и UNIX где вывалить на экран простынь - в порядке вещей), а отскроллить что уехало - увы никак.

alx32
26.02.2018, 12:03
Есть дикая идея, сваять внешний терминал с параллельным портом, с обработкой всех esc-кодов, как это сделано в pdp-машинах.
Ведь большинство программ работает с ос именно таким способом. Заодно отпадает надобность в видеопамяти как таковой...

Пы.Сы. Это только мысль, прошу не кидаться какахами...

rw6hrm
28.03.2018, 19:06
сваять внешний терминал с параллельным портом
http://qsl.net/rw6hrm/html/8bitdisp.htm так уже есть, может подключаться к LPT. Я не знаю, что такое "все коды", но в авторском варианте (http://searle.hostei.com/grant/MonitorKeyboard/index.html , а я не лазил в код) вроде бы обрабатывает по максимуму, плюс своё.

Video display control codes:
Hex (Decimal) and meaning
01 (01) - Cursor home (Standard ASCII)
02 (02) - Define cursor character (2nd byte is the curs character, or 00 to turn off)
03 (03) - Cursor blinking
04 (04) - Cursor solid
05 (05) - Set graphics pixel (next two bytes = x,y)
06 (06) - Reset graphics pixel (next two bytes = x,y)
08 (08) - Backspace (Standard ASCII)
09 (09) - Tab (Standard ASCII)
0A (11) - Linefeed (Standard ASCII)
0C (12) - Clear screen (Standard ASCII)
0D (13) - Carriage return (Standard ASCII)
0E (14) - Set column 0 to 79 (2nd byte is the column number) or 0 to 39 for a 40 char line
0F (16) - Set row 0 to 24 (2nd byte is the row number)
10 (16) - Delete start of line
11 (17) - Delete to end of line
12 (18) - Delete to start of screen
13 (19) - Delete to end of screen
14 (20) - Scroll up
15 (21) - Scroll down
16 (22) - Scroll left
17 (23) - Scroll right
18 (24) - Set font attribute for the current line (see elsewhere on this page (http://searle.hostei.com/grant/MonitorKeyboard/index.html#FontAttributes) for details) <--New for 3.0
1A (26) - Treat next byte as a character (to allow PC DOS char codes 1 to 31 to be displayed on screen)
1B (27) - ESC - reserved for ANSI sequences
1C (28) - Cursor right
1D (29) - Cursor Left
1E (30) - Cursor up
1F (31) - Cursor down
20 (32) to 7E (126) - Standard ASCII codes
7F (127) - Delete
80 (128) to FF (255) - PC (DOS) extended characters

Автор нормально идёт на контакт, тем более, что исходники есть.
Русификация моего варианта на подходе...

HardWareMan
29.03.2018, 12:07
alx32, вот я, кстати, об этом думал давно, но пока думал частично актуальность потерялась. Идея была такая: коробочка, подключаемая к монитору и клавиатуре, имеется SD карта с FAT и USART на все типы: TTL, RS232 и т.д. Можно подключать контроллеры по UART как внешний экран + клавиатура. Экран несколько шире, чем доступно контроллеру: сверху и снизу 2 строки статуса, в которых указана скорость, режим, выбранный файл и т.д. Режимы можно выбирать с клавиатуры. Файлы пихать по стандартным протоколам [XYZ]MODEM. Сам экран это АЦД, но можно предусмотреть прозрачный символ под которым просвечивается графический экран, который управляется стандартными командами геометрии (линии, треугольники, прямоугольники и т.д.). Как-то так. Если интересно, можно отойти в отдельную ветку и обсудить реализацию, вдруг получится?

barsik
29.03.2018, 15:58
Есть идея, сделать внешний терминал с параллельным портом, с обработкой всех ESC-кодовДело хорошее. Так и работали все ЭВМ до конца 70-тых. Но Вы не указали какую задачу будете решать с помощью внешнего терминала.

Это самый простой способ получить CP/M в рэтро ЭВМ, в которой мало ОЗУ и тормознутость. Берём, например, РК86 или Специалист, пишем для него несложный драйвер VT52 и по любому интерфейсу подключаем скоростное микропроцессорное ядро на Z80B на такте 10 МГЦ на крошечной плате.

Скорость вывода на экран скорее ограничивает не скорость линии, а быстродействие драйвера (потому РК86 будет выводить текст быстрее, чем Специалист). Потому параллельный интерфейс не обязателен, пойдет и тормозной последовательный, причём без БИС, за счёт программной имитации последовательного интерфейса (всего по 3-м проводам, туда, сюда и земля).

Это сокращает периферию до одного бита на ввод и одного бита на вывод, отчего микропроцессорное ядро получается совсем простое - Z80B, РФ2, 4 корпуса 1533 серии и w24512 (в качестве двух однобитовых буферов, ввода и вывода удобны ЛП8, ЛН6 или ЛП11). ВВ51 для связи в машине без прерываний не нужна, т.к программный обмен даже при КР580 даёт скорость передачи до 8 кб в секунду, что вчетверо быстрее, чем может ВВ51.

Эта концепция удобна для CP/M (как иначе получить 10-ти мегагерцовую CP/M-машину), а также это удобный способ изучения чуждых микропроцессоров. Если есть задача изучить 6502, то проще не покупать Apple-II, а спаять крошечное микропроцессорное ядро на 6502, подключив к нему любой терминал, как и сделал rw6hrm.

Также терминал с простейшим программным обменом по однопроводной линии (без всяких ВВ51) полезен при отладке контроллеров в качестве временного устройства индикации, т.к там не проблема выделить на эти цели однобитовый порт.


не знаю, что такое "все коды" (... я не лазил в код) вроде бы обрабатывает по максимуму, плюс своё.
Да, это удобные для программиста односимвольные управляющие коды (есть даже поддержка поточечной графики). Теоретически в CP/M нет стандарта на упр.коды консоли, но инсталляторы для большинства программ не сохранились. Для большинства доступных программ CP/M используется стандарт DEC VT52 или VT100, в которых используются ESC-коды. Но это не проблема.

Т.к, если нужно использовать этот терминал в CP/M, то в CP/M-BIOS в процедуру CONOUT легко встроить конверсию кодов. А именно, придётся отлавливать ESC-коды выдаваемые на CONOUT, с целью конверсии VT52 управляющих ESC-кодов выдаваемых CP/M-программами в те однобайтовые коды, которые обслуживает данный терминал. Это несложно и менять конструкцию не потребуется.

alx32
29.03.2018, 16:42
У меня уже три таких SBC-шки, и на 6502, и на 8051, и на 68000 (натуральной, 16-битной). Но во всех проблема с выводом видео, а 40 или 64 символа в строке как-то не айс. А на ТВ 80 символов разглядывать - то ещё удовольствие... Поэтому нужен быстрый параллельный терминал для них, чтобы выплюнуть какую нибудь инфу на определённый адрес или порт без предварительной настройки...

barsik
29.03.2018, 17:13
нужен быстрый параллельный терминал
Почему обязательно параллельный? Последовательный интерфейс на скорости 115 Кбод, якобы, тоже быстрый и не надо тянуть кучу проводов.

В свете недавней разработки клона РК86 на ESP8266, если уговорить кого-то написать программу терминала на этом контроллере за 100 рублей, то можно поиметь самый дешёвый в мире терминал, который сможет дать 80 символов в строке, работу с VGA-дисплеем, огромную скорость вывода, удобную клавиатуру от IBM PC и одновременно решит проблему обмена с IBM PC и проблему внешнего привода, заменив винчестер или дисковод.

alx32
29.03.2018, 17:40
Потому что USART может пригодиться для других вещей, а если его вообще нет? А терминал с параллельным портом можно подключить без прослойки напрямую к шинам процессора, причём к любому компу...

OrionExt
29.03.2018, 18:08
Потому что USART может пригодиться для других вещей, а если его вообще нет?
Последовательного интерфейса может, конечно, и не быть. Но лучше чтобы был:) Потом такой интерфейс таки стандартизирован с древних времен и поддерживается многим софтом и железом и посей день.


А терминал с параллельным портом можно подключить без прослойки напрямую к шинам процессора, причём к любому компу...
А что есть параллельный интерфейс? Более менее стандартное вспоминается только интерфейс принтера, который в новом железе уже не найти.
Если рассматривать некий параллельный интерфейс, навешенный на шину данных, то это уже совсем уникальная штука, прибитая к конкретному железу.

barsik
29.03.2018, 18:30
USART может пригодиться для других вещей, а если его вообще нет?
Так его и нет, потому что он в 8-ми разрядке и не нужен (точнее нужен только для мыши). Я уже 30 лет для межмашинной связи 8-ми разрядок использую последовательный интерфейс без всяких БИС. Использовать ВВ51 нужно только, если в одной из соединяемых машин есть прерывания.

Вот набор подпрограмм для обмена по линии между двумя ЭВМ без прерываний, причём без всяких доп.деталей и со скоростью в 4 раза быстрее, чем может ВВ51. Какой смысл тогда "городить огород", т.е монтировать ВВ51 и ВИ53 (для формирования стандартного такта ВВ1), а также тратить ценную проволоку для передачи дополнительных сигналов стандартного последовательного интерфейса.

А то, что ВВ51 это, якобы, стандарт - не волнует. Мы делаем что-то для результата, а не для соблюдения промышленных стандартов.




.
; Набор подпрограмм для обмена по линии
; со скоростью 10 кб/сек (при такте 2.5 МГЦ)

;--------------------------------------------

;* приём байта с линии

INB: PUSH HL
PUSH DE
PUSH BC
LD BC,RETBAD
PUSH BC
LD DE,0
LD C,E
LD HL,PORT_B

INB1: LD A,(HL)
OR A
RET P
RRCA
JP C,INB1

INB2: DEC DE
LD A,D
OR E
RET Z
LD A,(HL)
OR A
RET P
RRCA
JP NC,INB2
LD DE,1500H

INB3: LD A,E
CPL
LD E,A
LD B,19H

INB4: DEC B
RET Z
LD A,(HL)
RRCA
XOR E
JP P,INB4

LD A,B
CP D
LD A,C
RLA
LD C,A
JP NC,INB3
JP RETOK1

;--------------------------------------------

;* Вывод байта в линию

OUTB: PUSH HL
PUSH DE
PUSH BC
LD DE,0880H
LD C,A
LD A,E
LD (PORT_C),A
LD B,15
OUTB1: DEC B
JP NZ,OUTB1

OUTB4: LD A,E
XOR 80H
LD E,A
LD A,C
RLA
LD C,A
LD B,12
JP C,OUTB2
LD B,5
OUTB2: LD A,E
LD (PORT_C),A
OUTB3: DEC B
JP NZ,OUTB3
DEC D
JP NZ,OUTB4

LD B,2
OUTB5: DEC B
JP NZ,OUTB5

XOR A
LD (PORT_C),A
LD B,10H
CALL TIMB
CALL RDLIN
JP NC,RET_OK
RETBAD:
POP BC
POP DE
POP HL
RETB1: XOR A
LD (PORT_C),A
LD A,(PORT_B)
AND 80H
SCF
RET ; CY=1

;--------------------------------------------

RETOK1: POP HL
RET_OK: POP BC
POP DE
POP HL
OR A ; CY=0
RET


;--------------------------------------------

RDLIN: LD A,(PORT_B)
OR A
JP P,RETB1
AND 1
RET



А терминал с параллельным портом можно подключить без прослойки напрямую к шинам процессора, причём к любому компу...Не без прослойки. Прямо в шину входы выходы ВВ55 с другого компьютера не подключишь, - всё-равно нужен буфер, а проще и быстрее всего - та же ВВ55, работающая в режиме с использованием битов порта C в качестве упр.сигналов параллельного интерфейса.

А без всяких БИС-ов, один свободный бит в любом порту почти в любой системе можно найти (при нужде используя один и тот же бит для разных целей). Например, в РК86, не считая целого свободного ППА DD14, есть и магнитофонный вход/выход и целый вообще неиспользуемый бит в ППА клавиатуры, а также ещё 8 пригодных для обмена битов в порту B ППА клавиатуры.

alx32
29.03.2018, 19:31
Похоже что последние посты нужно отрезАть в отдельную тему...

А применительно к РК... Так у него и так текстовый режим...
А вот Специалисту или Ориону такая вещь не помешает. Особенно второму, потому как в редакторе sed под CP/M просто невозможно работать с медленной эмуляцией экрана 80х25...

OrionExt
29.03.2018, 19:38
Отделять думаю не стоит.

Да нормально Специалист/Орион делает отработку экрана программно, и буквы большие и хорошо разбираемые.

А если нуно очень быстро, ток терминал с последовательным интерфейсом.

У меня тоже есть куча мыслей прибитого интерфейса к конкретному железу. Только один вопрос кто софт будет писать? :(

marinovsoft
21.05.2018, 19:34
А вот как бы так пропатчить какой-нибудь Специалистовский бейсик, чтобы он мог работать с sd-bios: сохранять и загружать с SD-карты BAS файлы?

fifan
21.05.2018, 20:28
А вот как бы так пропатчить какой-нибудь Специалистовский бейсик, чтобы он мог работать с sd-bios: сохранять и загружать с SD-карты BAS файлы?
Очень хорошая мысль. Для лучшего пропатчивания необходимы как минимум исходники.

marinovsoft
21.05.2018, 20:41
Исходники бейсиков? Вроде были какие-то дизасмы. Откуда-то же бралась информация в этой теме
http://zx-pk.ru/threads/23483-rodoslovnaya-bejsikov-dlya-580vm80.html
да и куски кода там мелькают.

oxy
17.07.2022, 19:47
rw6hrm можете ссылочку дать на схему дисковода на ВВ51?

rw6hrm
17.07.2022, 19:54
oxy, журнал Моделист-Конструктор, 1989 год, номер 10, статья А. Женжеруха. Вместо кассеты - дискета. Скачать можно из архива, https://disk.yandex.ru/d/2cXr0ss1ksJ4j

oxy
20.07.2022, 20:48
Может кто подсказать по каким адресам обычно подключалась 580ВИ53 к обычному Специалисту?
Сколько софта под него есть сейчас?

- - - Добавлено - - -


oxy, журнал Моделист-Конструктор, 1989 год, номер 10, статья А. Женжеруха. Вместо кассеты - дискета. Скачать можно из архива, https://disk.yandex.ru/d/2cXr0ss1ksJ4j

Спасибо. На сколько я понимаю эта схема для 8" дискет? Мне кажется только они такое могли выдержать.
На современных сразу предупреждаю это работать не будет там АРУ чтения за такой огромный интервал усиление выкрутит так что к концу интервала будет белый шум из 0 и 1. Но если попробовать поднять скорость до 250Кбит/с и длину символа поставить короче может и заработает. Еще проблема в том что нет синхронизации - чтение надо сразу инициировать от индекса и читать/писать дорожку целиком - это куча памяти которой в РК или Специалисте нет.
Но идея хаккерская!

Max Wood
24.07.2022, 14:06
Нет, это для 5,25 дискет схема

Sandro
24.07.2022, 16:28
На современных сразу предупреждаю это работать не будет там АРУ чтения за такой огромный интервал усиление выкрутит так что к концу интервала будет белый шум из 0 и 1.

В дисководах отродясь не было никакого АРУ чтения. Там запись делается намагничиванием до полного насыщения и при чтении просто усиливается по максимуму. Информацией является наводка в катушке магнитной головки при смене полярности намагниченности.

Zidane
31.03.2023, 10:18
Почитал тему.. Ну чорт знает. Если и делать развитие "Специалист", то как-то... Ну в общем мысли человека довольно таки оторвавшегося от схемотехники )))

1. Проц заменить на I8085 - по сто руб на Али. Конечно, скорее всего 1 из 5 рабочий, но что поделать. Годков им не мало ) У них ведь вроде достаточно большая совместимость с i8080
2. Память - да.... Я вот даже сейчас не знаю что предложить. Но как вариант, можно же использовать, к примеру, РУ7, коммутируя часть адресных линий через счетчик, и переключая таким образом блоки памяти? Ну я может и глупость сказал, но так мне видится )
3. Разрешение экрана. Вот где сложный вопрос: В свое время, помнится, те кто собрал ОРИОН-128 с разогнанным до 2,5МГц процессором, столкнулись со сжатием экрана. Ну и насколько я читал, повышение частоты процессора приведет к увеличению расширения по горизонтали. А хотелось бы оставить все как есть.
4. Программа ПЗУ. Понятно, что изначальные загрузчик и Монитор едва ли кого-то привлекут. На мой взгляд... А нет моего взгляда на то, что нужно. Ну редактор текстовый и ассемблер - да. А вот дальше...
5. Шина в духе ISA. Ну или ZX-BUS

это вот так что навскидку. Понятно, что никто и никогда этого скорее всего не сделает... Но почему бы не помечтать? )))

fifan
31.03.2023, 15:44
1. Уже есть Сябр.
2. Не стоит добавлять РУ7, коммутация через счётчик, а счётчик куда подключать?
3. Просмотрите возможные разрешения в Сябре, никто их не использует...
4. По мне так Shell оболочка от Vinxru для загрузки с SD карты; я не дописал MXDOS4 с возможностью работать с SD картой, RAM/ROM дисками, но это для Специалиста МХ.
5. Взгляните на MX-BUS на Специалисте МХ2. Никто не поддержал, остался (интерфейс) не удел.

b2m
31.03.2023, 16:04
а счётчик куда подключать?
Ну, например к выходу VRTC. Или там критично, обновлять память в 4 раза реже?

Zidane
31.03.2023, 18:08
1. Уже есть Сябр.
2. Не стоит добавлять РУ7, коммутация через счётчик, а счётчик куда подключать?
3. Просмотрите возможные разрешения в Сябре, никто их не использует...
4. По мне так Shell оболочка от Vinxru для загрузки с SD карты; я не дописал MXDOS4 с возможностью работать с SD картой, RAM/ROM дисками, но это для Специалиста МХ.
5. Взгляните на MX-BUS на Специалисте МХ2. Никто не поддержал, остался (интерфейс) не удел.

Ну я ведь сказал - я достаточно далек от схемотехники. Что касается РУ7 - там же вроде 256*1 бит и 9 адресных шин против 8 у РУ5. Ну и вот, как мне видится, подавая на 9 адресную линию высокий/низкий уровень, можно переключать адресное пространство. Уж извините нуба если я криво подумал ) То есть таким образом в принципе, как мне понимается, можно получить адресное пространство 2*128?. Но вот время выборки данных, конечно, печалит: 350 против 250 у худших представителей РУ5.

Вообще мысль то в чем - не делать новую вещь на старом железе. И так хватит того, что процессору 30 лет с гаком. Если есть современные комплектующие - почему бы не применить их? Есть же статические ОЗУ - и даже пример в виде 86РК для нее. Я так понимаю, так же со специалиста можно будет узел регенерации ОЗУ убрать.

Вот. А что про Сябр и шину MX-BUS. Про то что первый является Специалистом я вообще только сейчас узнал. Нигде и никогда раньше про такое не слышал/читал. Вот. И про МХ-BUS туда же. Наверное следствие малоизвестности платформы. Как всегда - все упирается в дефицит информации.

P.S. - но кстати повод расширить базу знаний...