PDA

Просмотр полной версии : Орион-128: Разное



Страницы : 1 2 3 4 [5] 6

aviator
14.05.2017, 18:22
SIMM30 у меня не заработали на варианте "128.3". Регенерировались лишь частично...

gdv2002
14.05.2017, 18:28
SIMM30 у меня не заработали
Но Владимир то пишет что у него работает, вот и надо схему посмотреть. У Павла Рябцева стоят СИММы в Орионе под УКНЦ, но не уверен тоже в рабочести той схемы, да и в выложенных им схемах ничего не разглядеть и не разобраться :(

aviator
14.05.2017, 18:46
Но Владимир то пишет что у него работает, вот и надо схему посмотреть. У Павла Рябцева стоят СИММы в Орионе под УКНЦ, но не уверен тоже в рабочести той схемы, да и в выложенных им схемах ничего не разглядеть и не разобраться :(
Как я выяснил, использовались микросхемы памяти с 2-мя схемами регенерации. У меня есть модули на 1 Мб и на 4 Мб, причём с одинаковыми микросхемами. Различается только количество. А есть модули объёмом до 1 Мб включительно, с более старыми микросхемами. Видимо они и работают. Но у меня их не было, чтобы проверить.

gdv2002
14.05.2017, 18:55
У меня как раз несколько штук по 256кб :)

barsik
14.05.2017, 19:11
Естественно, что для SIMM 256 кб, как и для РУ7-мых, чтобы была регенерация всего объёма, а не только 64К в банках 0 и 1, надо переставить один адрес (а вот в СПЕЦИАЛИСТЕ приходится переставлять 2 адреса, т.к там исходно регенерация 7-ми битовая).

Надо чтобы по /RAS шли самые высокочастотные адреса видеогенератора, а в ОРИОНЕ это сигналы H0...H5,V0,V1. После добавления нового мультиплексора на 9-й адресный вход РУ7-мых, туда надо заводить следующий по высокочастотности сигнал, а это V2 (52 цепь). Для этого эта 52 цепь отрезается от D23/4 и подаётся на дополнительный мультиплексор на ногу 3, а соответствующий адрес CPU (A2) цепь 12 идёт на ногу 5. А на место отрезанной от D23/4 цепи 52 подаём сигнал B1 (для РУ7 это A17). Также необходимо отрезать вход D29/3 и подать туда 1.

Это уже всё "проходили" в 1992 году, когда делали расширение ОЗУ на РУ7-мых. Думаю тут таких схем выложено полно (вариаций много), и естественно, можно посмотреть, как 512К сделано в схеме rev.512. В 1999 году в каталоге В.Пушкова была схема расширения ОЗУ на 512К на двух банках РУ7-мых.


Видимо они (SIMM 1 мб) и работают

Какой вектор регенерации, столько ОЗУ и регенерируется. Для 256-ти килобайтовых 9-ти битовый адрес и такой же должен быть вектор регенерации. А у одно-мегабайтовых уже 10 адресов и нужен 10-ти байтовый вектор регенерации. Если ОЗУ 1 мб включить как РУ7 или SIMM 256K, то и будут регенерированы только 256К из 1 мб. Для них нужно переставлять уже два наиболее высокочастотных адреса видеогенератора (и соответствующие им адреса процессора). А у 4-х мегабайтовых SIMM 11 адресов. Для них надо не только переставлять 3 адреса, но придётся добавить ещё один мультиплексор. Зато ОЗУ получится аж 8 мб.

Не вижу проблемы при больших SIMM. Сколько адресов не лениво переставлять, столько ОЗУ и будет. Если сил хватает только на перестановку одного адреса, то в каждой планке SIMM на 1 или 4 мб можно будет использовать только 256К (остальные не будут регенерироваться). А если переставить 2 адреса, то и целый мегабайт будет регенерирован.

Чтобы не разориться на установке дополнительного мультиплексора можно 4-х мегабайтовые SIMM использовать с 10-ти бАйтовым вектором регенерации, отчего будет не 8 мб, а только 2 мб. Но по-моему этого достаточно, т.к уже при 2 мб и 32 банках не хватает латинских букв для названий квазидисков ORDOS, так что вообще лучше ограничиться 26-ю квазидисками по числу латинских букв.

VladimirS
14.05.2017, 19:59
Добрый день!
Поясняю по поводу SIMM-ов.
Устанавливал я их по следующей схеме:
61027
Схему купил когда-то на барахолке в Кемерово, была там группа любителей Ориона, их разработка.
Карандашные пометки уже мои.
В результате получилось пять страниц(0,1,2,3,4), четвертую VC$, конечно, не видит, но из ORDOSа доступна.

Плашки памяти перепробовал большую кучу и 256 и 1 мБт. Они разделились на три кучки:
Первая прикинулась полностью мертвой.
У второй тест показывал 2-3 бита неисправные.
Заработали вот такие

aviator
14.05.2017, 21:18
barsik, вот частичная регенерация и не получалась с этим ОЗУ. А, так как было достаточное количество РУ5, то и сделал 256 кБ и не стал ковырять дальше...

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

VladimirS, у меня модули с 2-3 микросхемами:
эти я пробовал, не заработали:
2 S514400J-07 (1Mx4 FPM, 70 ns) + 1 81C1000A-70 (1Mx1 FPM, 70 ns)
2 VC51440AJ-6 (1Mx4 FPM, 60 ns) + 1 BJ41C1000-6 (1Mx1 FPM, 60 ns)
2 424400-70 (1Mx4 FPM, 70 ns) + 1 V53C100FK70 (1Mx1 FPM, 70 ns)

а эти у меня появились в результате раскопок гаража, месяц назад:
2 81C4256A-70 (256Kx4 FPM, 70 ns) + 1 HM51256P-8 (256Kx1 FPM, 80 ns)
2 D424256V-70 (256Kx4 FPM, 70 ns) + 1 TC51256Z-70 (256Kx1 FPM, 70 ns)

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

VladimirS
14.05.2017, 21:35
У меня есть только с чипами 81C4256 - не заработала.
Работают только с девятью мелкими чипами (256 кБт).

aviator
14.05.2017, 22:05
У меня есть только с чипами 81C4256 - не заработала.
То есть, без чётности? Чётность просто остаётся висеть в воздухе, микросхема не используется.
А что выводилось на экран? Тест ОЗУ пробовали запускать? Что показывает?

VladimirS
14.05.2017, 22:19
Микросхема четности не используется, это ж девятый бит.
Что показывает тест уже не помню, давно было, отсортировал и сложил многое куда-то.
Посмотрел на Авито, есть продают девяти чиповые, но крупные корпуса - эти я не пробовал (перефразировал Жванецкого - крупные, но сегодня)

aviator
14.05.2017, 22:26
У меня было видно, что компьютер шевелится, на экран выводится осмысленная информация, в том числе при тесте ОЗУ. Но, с каждым циклом регенерации память портится, и через несколько секунд - зависание. Это на уже отлаженной плате так было, которая заведомо работала без сбоев с РУ5.

uart
14.05.2017, 22:56
Не понимаю, чего здесь сложного.
Всё. :) Я программист, на железки с программной точки зрения смотрю, а не с точки зрения сигналов.
Поэтому интересно не как физически устроены разные схемы, а в какие моменты времени тормозит процессор в этой схеме.

barsik
15.05.2017, 09:14
я на железки с программной точки зрения смотрю. Интересно... в какие моменты времени тормозит процессор в этой схеме?

А с программистской точки зрения вообще "до лампочки" как работает схема. Для потактового расчёта времянок не важно положение маш.тактов WAIT в машинном цикле команды, а важно только число добавленных тактов WAIT. И это Вы как раз в схеме с WAIT не узнаете. Потому что время прохождения теста зависит от программы самого теста. А о чём это говорит?

В итоге, в схеме с WAIT замучаетесь считавши... Заранее нельзя сказать, что вот эта подпрограмма будет работать ровно в 1.41 раза быстрее, ускорение может быть и в 1.35 и 1.50 раза. Для потактовых расчётов придётся забыть стандартные таблицы и составлять новые. Чтобы узнать времянки придётся делать тесты и вычислять число маш.тактов каждой команды.

Гораздо лучше использовать ТУРБО-200%, где все программы ускоряются одинаково, ровно на 200%. Но т.к ОЗУ РУ5 без вентилятора перегреваются в этой схеме, то разумно её делать одновременно с заменой кварца на 9 или 8 МГЦ. Результат получается отличный. Не только качество шрифта улучшается на 25%, экран отплющивается, но и ОЗУ работает без вентилятора (РУ7 вообще чуть тёпленькие, а SIMM, наверно, вообще ледяные).

Чтобы сохранить стандарт TV-сигнала, при кварце 9 МГЦ коэфициент деления счётчика строк меняется с 80-ти до 72-х. А при 8 МГЦ надо делить на 64 (как в СПЕЦИАЛИСТЕ). При пиксель-клоке в 8.25 МГЦ - коэффициент 66. Всё это делается перекидыванием только одного проводка на входе D8/1 и иным формированием ССИ (чтобы отцентровать растр по горизонтали). Если для изменений в формирователе ССИ не хочется резать цепи на входах D14.1 или желательно иметь аналоговую точную юстировку, то достаточно добавить один ТМ2 по схеме, что во вложении.

Если оставить кварц 10 МГЦ, то для достижения максимальной надёжности без использования вентилятора, придётся собирать довольно громоздкую схемку запрета дублирующих обращений видео части (ТМ2, ЛА3, ЛИ1, ЛЛ1). Эта схемка запрещает /CAS при обращениях видеогенератора во время бордюра и вторых, третьих и четвертых считываний видео плоскостей за период строба промежуточного выходного видео регистра D47,D48, благодаря чему, разогрев ОЗУ сокращается вдвое.

Добавив ещё один триггер ТМ2 получаем схему асинхронного Турбо, когда на Z80 подаётся максимально возможный клок (6.5 МГЦ для Z80A, 9 МГЦ для Z80B, 12 МГЦ для Z80H). Это самый простой и дешёвый вариант получить удобный компьютер с эффективным тактом в 6...9 МГЦ.


Устанавливал SIMM по следующей схеме для РУ7-мых, которую купил на барахолке: http://zx-pk.ru/attachment.php?attachmentid=61027&d=1494780063

Эта схема расширения ОЗУ очень похожа на схему М.Домарёва (Adelaide) для установки банки РУ5 + банка РУ7 (как видите, мозги у людей, желающих с'экономить целую банку РУ7-мых работают примерно одинаково). Только М.Домарёв не заморачивался на 5-тую банку, т.к это не поддержано программами. http://zx-pk.ru/threads/27565-256-kb-v-orione-minimalnoj-tsenoj.html?p=906916&viewfull=1#post906916

Мой вариант схемы 512 кб на двух банках РУ7-мых выложен здесь http://zx-pk.ru/threads/27565-256-kb-v-orione-minimalnoj-tsenoj.html?p=912935&viewfull=1#post912935.

Обратите внимание, что этот вариант немного упрощённый. А именно, он не рассчитан на работу программ в банках 4, 5, 6, 7, т.к в в этих банках область F000...F3FF в данной схеме является коммутируемой. Это не фатальный недостаток, т.к программ работающих в банках 4, 5, 6, 7 не существует !


Схема программного переключения ТУРБО-НЕТУРБО будет такая:

http://s019.radikal.ru/i601/1705/cf/43c2d6518399.jpg (http://radikal.ru)


Это объединение схемы ОРИОН-СЕРВИС и схемы Турбо-142% от error404. Это нелогично и наверное не сработает. Почему не применить, как положено, мультиплексор КП12 или КП11? Это же тоже расход в один TTL-корпус. Но кроме того, что в отличие от предложенной схемы это будет работать, но дополнительно, мультиплексор вторым выходом в НЕТУРБО отключает /WAIT. А КП11 вообще позволяет иметь на выбор три частоты: 2.5 МГЦ, 5.0 МГЦ и 10.0 МГЦ.+

uart
15.05.2017, 09:29
А с программисткой точки зрения вообще "до лампочки" как работает схема.
Я эмулятор пишу. Сейчас я сделал просто дополнительный wait в каждом цикле, но хотелось бы иметь абсолютно одинаковую скорость.


Чтобы узнать времянки придётся делать тесты и вычислять число маш.тактов каждой команды.
Тесты лишь должны подтвердить теорию. Как работает Z80 - понятно, осталось лишь понять как его тормозит конкретная схема.

aviator
15.05.2017, 12:08
Работают только с девятью мелкими чипами (256 кБт).
Да эти микросхемы практически тоже самое, что и 565РУ7. Поэтому и заработало. А для 256Кx4 нужна другая схема регенерации.

LeoN65816
15.05.2017, 16:55
У меня есть модули на 1 Мб и на 4 Мб, причём с одинаковыми микросхемами. Различается только количество.
Как это?...

aviator
15.05.2017, 17:57
Как это?...
Да просто писал "на бегу", да ещё и вымотанный. Там 4Mx1 9 штук. Но один хрен, они в орионе не работают.

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

Вот, кстати, табличка по объёму и типам: http://fthain.github.io/dram/
Я так понимаю, что 1Мx1 имеют шанс заработать. Они аналогичные 256Кx1. А вот более крупные - вряд ли. Они уже архитектурно внутри различаются.

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

Хотя, можно и 8 штук 1Мx4 организовать в 4 мегабайта... Но это уже форменное извращение.

barsik
15.05.2017, 18:51
Я так понимаю, что 1Мx1 имеют шанс заработать. Они аналогичные 256Кx1. А вот более крупные - вряд ли. Они уже архитектурно внутри различаются

А мне казалось, что SIMM-ы любых типов должны работать в ОРИОНЕ и в любой другой 8-ми разрядке. Я исходил из того, что принципы у всех динамических ОЗУ одинаковы. Разве SIMM из 1993 года отличаются по принципу регенерации от SIMM из 1991? Разве они не регенерируют весь столбец при обращении лишь в одну ячейку? Разве они регенерируются только по принципу "CAS before RAS"?

Ведь и РУ7 имеют не 8-ми битовый вектор регенерации, а 9-ти битовый, и потому в ОРИОНЕ они работают только, если переставить адреса. Расскажите, пожалуйста, про Вашу схему включения SIMM. Интересует какие адреса идут на входы дополнительного мультиплексора соответствующие выходы которых подключены к входам A8 и A9 SIMM-ов.

Кроме того, на другие компьютеры ранее уже ставили SIMM и проблем не имели. Даже 72-х ногие. А может быть дело в питании, ведь новые ОЗУ обычно трёх вольтовые?

aviator
15.05.2017, 21:36
barsik, по идее, 256Kx4 и 1Mx4 имеют 3 типа регенерации, описываемые в документации: RAS-only, CAS-before-RAS и Hidden. CBR, второй режим, настоятельно рекомендуется как основной, так как внутри есть и счётчики, и задающие цепи для регенерации, и потребление меньше. По первому и 3-му достаточно не уложиться во времянки, и память будет сбоить. Но факт, такие микросхемы в "Орионе" не заработали не только у меня...
Схема подключения - расширение ОЗУ по варианту ревизии 512, который есть здесь в обсуждении. И похожий вариант вы рисовали совсем недавно. Пробовал и сдвигать адреса, используя самые старшие, и A8,9 цеплять и на ноль и на единицу. Это при попытках частичного использования. Все микросхемы в этих SIMM30 были 5-вольтовые. Эти модули в принципе были только 5-вольтовые по стандарту. Детально подключение - надо вспоминать. Я тогда и остановился на том, что надо переделывать регенерацию на CBR...
В принципе, попробую ка я разломать на выходных "Орион" и сделать второй заход. У меня сейчас лежит и некоторое количество РУ7...

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

http://zx-pk.ru/threads/21051-rasshirenie-patmyati-do-512-kb-na-565ru7.html
вот эта методика. тут как раз до 1 мегабайта.

barsik
16.05.2017, 09:13
факт, такие микросхемы в "Орионе" не заработали не только у меня...

Против фактов не попрёшь.

А использованная Вами схема грамотная и использует тот же самый сигнал V2 (52) в качестве 9-го адреса регенерации, что и в той схеме, что я использовал в 1992 году (да и то лишь короткий срок, пока вскоре не достал более выгодную схему с установкой только одной банки РУ7). Правда я использовал РУ7-мые только наполовину, т.е только по 128К из каждой РУ7-мой и добавил в эту схему бит D2/F9 теоретически при наборе в граф.редакторе (т.е без опробования на практике). Однако, сравнив свою схему и Вашу, обнаружил, что мой вариант малограмотный, точнее в моём варианте нет ЛИ1 для блокирования переключения банок выше F000 в банках 4, 5, 6, 7. Отчего программы работающие в банках 4, 5, 6, 7 будут иметь проблемы, если используют код работающий из адресов F000...F3FF, включающий банки 4-7.

Для ORDOS и других ДОС в банке 0 это не создаёт проблем. Да и все программы для банки 0 (а это 99% программ ОРИОНА) доступ в доп.банки ОЗУ делают только подпрограммами F836/39. Программ работающих в банках выше 2-рой для ОРИОНА не существует. Но в ДОС для банок 1 и 2, процедура RRAM/WRAM собственная и располагается как раз в ОЗУ выше F000. Отчего эл.диск, если он рассчитан на использование банок 4, 5, 6, 7 работать не будет и вообще при вызове кода на F300, который сам включает банку 4 и выше, произойдёт фатальный улёт. У меня никогда не было ОЗУ более 256К, отчего все мои ДОС для реала имеют эл.диск использующий только банки 0-3. Но есть ДОС для эмулятора, где используются и старшие банки ОЗУ, и теперь ясно, что для их работы на реале придётся ставить ЛИ1.

Таким образом, предложенная мной схема нуждается в установке дополнительного вентиля ЛИ1 или ЛА3, хотя ради экономии разумно применить схему 'монтажного И' (на 2-х диодах и резисторе). Таким образом, сигнал B2 (порт F9/D2) на входе мультиплексора всегда должен приводиться к 0 (или 1, это не важно), если имеется чип селект /F000, что означает, что адрес обращения в память выше, чем F000. Без установки двух диодов, предложенная мной схема 512К может использоваться только для ORDOS.

Теперь по поводу регенерации SIMM. Из-за загадочного нежелания SIMM работать при традиционной регенерации, можно попробовать вариант регенерации 'CAS before RAS'. Не знаю как это делается, но если /RAS при этом не нужен, т.е если достаточно только импульсов по /CAS, то такую регенерацию сделать в ОРИОНЕ просто. Достаточно запрещать /RAS во время бордюра ОРИОНА. Бордюр формируется из сигнала гашения по строкам и гашения по кадрам на триггере на выходе D13/5. Достаточно пропустить /RAS (цепь 57), подаваемый на SIMM, через вентиль ЛЛ1, на второй вход которого подать сигнал с D13/5 (он 1, когда активный). Тогда во время бордюра на ОЗУ будет поступать только /CAS, что и обеспечит регенерацию.

А теперь открываю секрет турбирования ОРИОНА на 200%.

С целью экономии электро энергии для любого ОРИОНА на РУ5/РУ7 (особенно при турбировании 200%, когда ОЗУ перегреваются) желательно использовать ту же идею запрета на время бордюра, только не /RAS, а /CAS. Тогда 531 ЛЛ1 включается в разрыв цепи /CAS ОЗУ (на втором входе сигнал BORDER). Регенерацию это не нарушает, т.к она происходит по /RAS, а вот ненужный разогрев ОЗУ сокращается. По кадрам запрещается 100-100*(256:312)= 18%, а по строкам 100-100*(48:80)= 40% импульсов /CAS. Отчего разогрев существенно падает, почти вдвое.

Именно эта победительная идея позволила С.Караваеву сделать надёжной работу ОЗУ на такте 5 МГЦ в платах СУПЕР-ТУРБО в 1993. И это был большой секрет, т.к в предоставленных С.Караваевым схемах Турбо-200% об этом ни слова. И много людей мучилось отлаживая свой ОРИОН с двойным турбированием, вынужденные применять громоздкие вентиляторы, чтобы сократить перегрев ОЗУ. Я додумался до этой идеи намного позднее (использовал её в 1998, используя ОЗУ на такте 5 МГЦ с Z80H на такте 10 МГЦ). Только я использовал ещё более продвинутую схему запрета /CAS, что запрещает не только /CAS во время бордюра, но и три излишние дублирующие обращения к ОЗУ видео части.

Интересно, авторы ОРИОН-ПРО додумались до этой идеи или нет? А авторы плат новоделов ОРИОНА ?

Обладая этой идеей, теперь вообще нет смысла делать Турбо с WAIT по любому варианту, а следует делать ТУРБО-200% с запретом /CAS во время бордюра (заменять кварц на 9 МГЦ всё-равно желательно, чтобы расширить картинку на весь экран, а также, чтобы Z80B мог работать на такте 9 МГЦ).

Stampmaker
16.05.2017, 17:22
второй триггер из корпуса ТМ2 ...... для переключения размера экрана 384/400/448/480/512/256 (это расширение порта FA

для переключения в режим-480 на плате рев.512 используется вторая половинка ТМ7 от расширения для РУ7. стоит под процессором.
собрал я вот сейчас этот режим в 480 точек.

кто знает, есть ли программы под него?

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


Обладая этой идеей, теперь вообще нет смысла делать Турбо с WAIT по любому варианту, а следует делать ТУРБО-200% с запретом /CAS во время бордюра (заменять кварц на 9 МГЦ всё-равно желательно, чтобы расширить картинку на весь экран, а также, чтобы Z80B мог работать на такте 9 МГЦ).

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

tol123
16.05.2017, 17:37
для переключения в режим-480 на плате рев.512 используется вторая половинка ТМ7 от расширения для РУ7. стоит под процессором.
собрал я вот сейчас этот режим в 480 точек.

кто знает, есть ли программы под него?



в том то и дело (видимо так обстоит). Есть Z80 от орион-сервис, но нет под него программ, есть 480 точек но нет программ, есть звук на ви 53 но ничего его не поддерживает, есть звук на AY но без z80 card2 он не работает? и т.д.
нужны ли эти доработки?

OrionExt
16.05.2017, 18:35
Режим 480 точек поддержан в СP/M, доработка не то что очень нужная. Но для работы с текстом очень полезная.


нужны ли эти доработки?
Орион – радио любительский компьютер. Есть, конечно, основной мейнстрим, но творчество ведь никто не отменял. И это замечательно.

Хотя попыхтеть меня тоже иногда подрывает) От буйства красок (направлений развития);)

Error404
16.05.2017, 18:55
Есть Z80 от орион-сервис, но нет под него программ


Рукалицо.
Парни, вы точно уверены, что Орион это ваше?
Ну, может там Ардуину, или РаспбериПИ пилить попонятнее будет?

barsik
16.05.2017, 19:36
Собрал режим в 480 точек. Кто знает, есть ли программы под него?

Расширение экрана до 400, 512, 480 или 448 нужно только для текстообработки (а экран 256 нужен для другого). Игр на экран 480 или 512, увы, действительно не существует. Ничем не могу в этом помочь. Теоретически игры от Синклера можно переделать на экран в 512 точек (отчего они здорово растянутся по горизонтали).

Вообще каждый из этих размеров экрана был предложен в своё время и для каждого из них были свои драйверы шрифта. Для 400 точек драйверы DR80, 80UN, VT52, для экрана 480 или 512 драйверы 480.COM и 480C.COM (это в цвете, отчего требует архитектуру Z80CARD-II), а для экрана 448 драйвер D7.COM.

Каждый из этих экранов был актуален для своего времени. Т.е это было решение конкретной текущей проблемы. В 1991-92 экран 400 и драйвер микрошрифта был первым решением проблемы 80-ти символов в CP/M, т.к не только текст.редакторы, но и компиляторы языков и другое фирменное ПО CP/M требовало 80 символов в строке. А тогда все считали, что чтобы завалить ОРИОН программами, необходимо иметь компиляторы ЯВУ (однако оказалось, что скоростей ОРИОНА и знания программистами ЯВУ не хватает для этого).

Однако, вскоре выяснилось, что небайтовые шрифты слишком тормознуты, а мизерные буквы шириной в 5 точек слишком неразборчивы. Поэтому был придуман экран 512 точек (впервые опробованный ещё на СПЕЦИАЛИСТЕ). Но оказалось, что для 512 точек надо менять кварц 10 МГЦ на 11 МГЦ, иначе экран 512 не влезал в растр. Кстати, драйверы на 480 точек написали также С.Коровкин и аделаидчики. Но драйвер 480/480C и все чужие драйверы не оконные, т.е они не облегчают разработку программ с графическим интерфейсом (т.е с окнами и меню). Но наиболее выгодны байтовые драйверы, хотя число символов резко падает. Редакторы, в частности, WordMaster удалось перенастроить на 64 символа, SuperText может работать на любом экране, а на WordStar плевать, т.к он 7-ми битовый.

Сам я до 1997 пользовался экраном в 480 точек, хотя был вынужден использовать только свои драйверы D6, D7 и D8, т.к на варианте "голый Z80" старые чужие драйверы не работали. Однако, когда я утратил Z80H, то пришлось использовать Z80B на такте 9 МГЦ. А при этом экран отплющивается и не только 512 точек, но даже и 480 точек никак не влезают в растр. И тут выручил драйвер D7 при экране в 448 точек. Оказалось, что 64 символа приличного качества со шрифтом 7*10 (7*9) как раз влезают в такой экран (64*7=448). Поэтому во всех моих древних эмуляторах до 2000 года поддерживается экран 448 точек (а не 480, как можно было ожидать) и нет архитектуры Z80CARD-II, т.к делалось лишь для личных нужд. Но в более поздних эмуляторах нет и 448 точек, только 384 (это произошло по причине утраты всех исходников при крахе винта и нехватки энтузиазма, чтобы всё позднее восстановить).

Поэтому с 2000 года я использую только экран 384*256 (при кварцах 8-9 МГЦ, чтобы хоть немного улучшить шрифт), отчего с тех пор мечтаю сделать для ОРИОНА текстовый адаптер (схема есть). А не делаю этого потому, что с 1999 уже не набираю и не отлаживаю программы на реальном ОРИОНЕ, т.к оказалось, что при наличии эмулятора, это гораздо удобнее делать в эмуляторе, отчего качество текстообработки перестало иметь значение.

Итак, относительно поддержки разных размеров экрана. Все мои драйверы - оконные, т.е они работают с любым размером экрана (от 256 до 1024 точек по горизонтали), т.к все они используют оконные параметры монитора-2:



.
HISCRN EQU 0F3CFH ; НАЧ.АДРЕС ЭКРАНА
WIDTH EQU 0F3D0H ; ШИРИНА ОКНА В БАЙТАХ
FRSTLN EQU 0F3D4H ; N ПЕРВОЙ СТРОКИ ОКНА
WHIGHT EQU 0F3D5H ; КОЛИЧЕСТВО СТРОК ОКНА


Поэтому, чтобы драйвер стал работать на экран в 512 точек достаточно изменить байт ширина окна. Также удобно, что благодаря использованию этих стандартных ячеек мои драйверы без проблем работают с любым из 4-х экранов, что невозможно изменить в чужих драйверах (а все они неоконные и даже не программно настраиваемые). Драйверы до 1999 года рассчитаны на ACP/M 1.65, а позднее я пользовался только CP/M и другими ДОС только для банки 0. К сожалению все драйверы работают на Z80, и например, драйвер D7 крайне тяжело будет перевести на КР580 (т.к там по максимому использованы регистры Z80, в том числе и индексные).

Так, что поддержка текстообработки при экране в 480 точек есть в CP/M для банки 1. Для банки 0 слишком расточительно тратить столько ОЗУ на экран, да и неудобно иметь экран посреди памяти. Ранее у меня были нортоны на экран в 480 точек, но они давно утрачены и с этим помочь не могу (может у кого-то сохранилось). Но драйверы VT52, D64, D6, D7, D8, D32, DRC и KEYALT у меня есть в исходниках для всех ДОС, что я когда-либо использовал на ОРИОНЕ (и даже для ORDOS). Есть также авторские исходники драйверов 480 и 480C (но их я никогда не перетранслировал, не люблю разбираться в чужом коде), а также из интереса дизассемблированные исходники чужих драйверов. Версии драйверов для ACP/M-1.65 годятся и для OS-DOS 3.62 (для версий OS-DOS 4.10 не проверял).

PS: Забыл сообщить зачем на ОРИОНЕ нужен экран в 256 точек.

Дело в том, что до ОРИОНА я пытался сделать компьютер МИНСК-64, у которого экран организован точно также как у ОРИОНА (младший байт - экранная позиция по вертикали, старший по горизонтали). Даже цвета организованы также и даже клавиатура такая-же. Отличие только в адресации портов (там IN/OUT) и адрес экрана другой. http://zx-pk.ru/threads/20927-quot-prostejshaya-mikro-evm-quot-i-drugaya-literatura.html?p=898823&viewfull=1#post898823

Поэтому с изменением в пару байтов годится ПЗУ ОРИОНА (экран шириной в 42 символа) и частично годится системное ПО. Чтобы сделать из ОРИОНА этот компьютер (3 МГЦ) достаточно перекинуть два провода в видеогенераторе и заменить кварц на 12 МГЦ (пиксель-клок 6 МГЦ). Ранее я хотел переделать в такой компьютер СПЕЦИАЛИСТ, но с ОРИОН-ом проще, т.к есть банка для цвета (достаточно заменить РУ5-тые в банке 1 на РУ6).

Оказалось, что и эмулятор для такого компьютера тоже не проблема. У меня заняло всего пару часов на переделку эмулятора ОРИОНА в эмулятор МИНСК-64 (да и то, только потому, что я не трогал его десятки лет и пришлось во всём разбираться заново). К сожалению, в эмуляторе для MSDOS экран 256*256 в режиме SVGA 640*350 отображается не только маленьким, но, или плющенным с боков (256*256), или приплюснутым по вертикали (512*256). При режиме 320*200, экран в 256 точек по вертикали тоже не влезает.

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

Stampmaker
16.05.2017, 21:35
хорошо, а вот такой момент. это только у меня или оно так и есть - при режиме 384 растр сдвинут влево, а при 480 всё по центру. всё правильно?

OrionExt
16.05.2017, 21:44
Ох. Курим доработки Орион-128 рев. 512)

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

Растр идеально не получится отцентровать. Добавили к началу строки (384) еще точек, особо больше ничего не меняя.

Error404
16.05.2017, 21:46
хорошо, а вот такой момент. это только у меня или оно так и есть - при режиме 384 растр сдвинут влево, а при 480 всё по центру. всё правильно?

А это как настроено. Если используется схема такая же как в рев512, то там с выходов ИД7 на 2 входа КП2 приходят 2 сигнала, которые как раз и отвечают за центрирования кадра в режимах 384 (один сигнал) и 480 (второй сигнал). На схеме они изображены для примера (т.е. к каким выходам ИД7 они присоединены - это не догма). Перемещая эти соответствующие входы КП2 по выходам ИД7, центрируется растр в каждом из режимов. Если применена ИД7 серии 555, то можно и по нескольку соседних выводов ИД7 соединять, что повышает стабильность кадра. Как то так.

OrionExt
16.05.2017, 22:01
Stampmaker, мы не ванги. Просим фото, что у вас и как. И какую ревизию собираете. Тема то про просто Орион-128)

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

Или это мутант (в хорошем смысле) - ваш взгляд на Орион;)

Stampmaker
16.05.2017, 22:07
схема такая же как в рев512, то там с выходов ИД7 на 2 входа КП2 приходят 2 сигнала, которые как раз и отвечают за центрирования кадра в режимах 384 (один сигнал) и 480 (второй сигнал).
да, с этим я разобрался. про 2 сигнала тоже понял, что это как примеры.



Если применена ИД7 серии 555
да, она, другой не было



можно и по нескольку соседних выводов ИД7 соединять, что повышает стабильность кадра. Как то так.
спасибо, попробую

tol123
16.05.2017, 22:19
Рукалицо.
Парни, вы точно уверены, что Орион это ваше?
Ну, может там Ардуину, или РаспбериПИ пилить попонятнее будет?

Начинать не когда не поздно. Ардуину-ардуинам, а распбери-англосаксам. Мне пока важно,чтобы у меня хоть что нибудь работало (по минимуму работает), до остального созреть видимо надо.

OrionExt
16.05.2017, 22:24
Это точно. Хотя эти доработки, еще тот квест). Так лучше разобраться в мейнстриме, а дальше …. Хоть чего захотим.

Stampmaker
16.05.2017, 23:40
мы не ванги. Просим фото

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

мой вопрос должен был звучать так: разница положения экрана 384 до доработки не должна отличаться от положения его же после доработки до варианта 480?

хотя это уже не важно. я вернул всё как было до доработки. варик 480 оставил как резерв, к которому можно вернуться в будущем и просто перепаять 2 провода.

http://s001.radikal.ru/i193/1705/fb/81320f0f5f83.jpg (http://radikal.ru)

Error404
17.05.2017, 00:00
мой вопрос должен был звучать так: разница положения экрана 384 до доработки не должна отличаться от положения его же после доработки до варианта 480?


У меня 384 "до" и "после" всегда отличался по положению, подбирал выводы ИД7.
Плюс еще телек "интерпретирует" аналоговый по сути кадр, каждый телек по-своему. Мой LCD со SCARTa например масштабировал 480 по ширине всего экрана, и даже 4-5 крайних справа точек не влезало (полсимвола). А на скриншоте видно что все помещается, и картинка 480 занимает от силы 3/4 экрана по ширине.

Stampmaker
17.05.2017, 00:58
Error404, значит у меня всё правильно. прекрасно.

barsik
17.05.2017, 12:39
Сейчас уже выгоднее делать схему Турбо-200%, чем схему Турбо с WAIT
Не вопрос рассмотреть и такой вариант сборки. Полная схема "пореза" схемы Ориона и полного подключения всего, что нужно - есть?

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

Во-вторых, если все когда-либо предложенные доработки ввести в схему ОРИОНА одновременно, это будет 200 корпусов, где разобраться будет невозможно. И как ввести, например 6 вариантов одной доработки в одну схему. Сюжет доработок, как раз и заключается в том, что это маленькие и независимые доработки, которые делаются на уже работающей базовой плате, что упрощает их выполнение вручную. Потому общая схема с частью доработок нужна только, если кто-то захочет делать новодел, а при ручном исполнении это не надо.

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

1. Доп.ПЗУ с 0 (по сбросу грузит 2К на B800, затем JMP F800). Удобно если нет ROM-диска.
2. Замена КР580 на Z80. Схема с RC-цепочкой, вполне надёжная. Звук на выход МГ. 1991
3. Установка 62256 в качестве дополнительных банок ОЗУ. 1991
4. Z80CARD-I с окном диспетчера ОЗУ в 32К, расширением ПЗУ F800 до 4 кб и звуком OUT FF.
5. 256 кб ОЗУ путём установки 565РУ5 в два этажа. 1991
6. Расширение экрана до 768 точек. Др-р SuperFont. Красивый шрифт, но медленный. 1991
7. Расширение экрана до 400 точек. Для 80 символов микрошрифтом. 1992
8. 256 кб за счёт установки двух банок 565РУ7. 1992
9. Установка таймера ВИ53 на F740, три канала по 1.25 или 2 МГЦ. 1992
10. Установка AY-8912 на адрес F760. Три канала по 1.75 МГЦ. 1992
11. 256 кб за счёт лишь одной банки РУ7 + банка РУ5 (М.Домарёв). 1993.
12. Z80CARD-II с окном диспетчера ОЗУ в 16К и прерываниями 50 ГЦ. 1993
13. 4 варианта Турбо-142% для Z80. 1993
14. Z80-CARD от ОРИОН-СЕРВИС (такт Z80 2.5, 5 и 10 МГЦ), 1993
15. 2 схемы Турбо-200% для Z80CARD-II (В.Смирнов, С.Караваев), 1993
16. Установка Z80 и 3-я схема Турбо-200%, С.Коровкин (схема есть). 1993
17. Расширение экрана до 480 точек, 1993
18. Подключение клавиатуры от Корвета, С.Коровкин. 1993.
19. 4-х плоскостный цвет и палитры С.Коровкина. 1993
20. Установка теневого ПЗУ 27256 в окне 0...7FFF (расширение ROM-BIOS). 1993
21. Эмулятор ZX-Spectrum, вариант С.Караваева на плате Супер-Турбо-3 (12.1993)
22. 3-х плоскостный цвет (ИР13, ИР82 в 2 этажа), 1994
23. 4 плоскости монохрома из 2-х банок (25 Гц, пониженная яркость, мерцания), 1994
24. Установка на адрес F600 контроллера НГМД от РК86, 1994
25. Эмулятор ZX-Spectrum на базе Z80CARD-II (7 дополнительных корпусов), 1995
26. Установка последовательного интерфеса ВВ51 для подключения мыши, 1995
27. Установка 62256 для получения скоростных участков памяти, 1997
28. Установка Z80H на такте 10-12 МГЦ (ОЗУ 5-6 МГЦ), 1998
29. Запрет части /CAS от видео генератора, снижение разогрева ОЗУ на 5 МГЦ, 1998
30. Установка Z80B на такте 9 МГЦ, ОЗУ на такте 4.5 МГЦ, 1998
31. Подключение рэтро аппаратной клавиатуры типа 15ВВВ-97-06 или "Консул", 1998
32. Расширение экрана до 448 точек, 1999
33. Адаптер винчестера IDE, на базе порта F600 (3 доп корпуса), 1999.
34. Адаптер для подключения IBM клавиатуры в виде Z80-контроллера, 2000.

О доработках после 2000 я не в курсе. Для каждого любителя ОРИОНА интересны разные доработки. Мне лично интересен лишь Z80 (да и то не обязательно), желательно Турбо (до реальных 5...7 МГЦ), ПЗУ F800 в 4 кб, и теневое ПЗУ 27256 в окне 0...3FFF для размешения там хотя-бы драйверов D8 и D7. Вероятно, экран в 400 точек, но с цветом. А также таймер ВИ53 для вывода классической музыки. Также интересен AY-8912.

Error404
17.05.2017, 13:34
не вопрос рассмотреть и такой вариант сборки.
полная схема "пореза" схемы Ориона и полного подключения всего, что нужно - есть?

Вот в этой теме (http://zx-pk.ru/threads/20772-turbo-5mgts-(200-).html) мы обсуждали 3 варианта Турбо 200% (5МГц реального такта) - там и схемы и что-то по методике. Но дело кончилось в-основном только разговорами. :)

Denn
17.05.2017, 13:59
Полная схема доработок Ориона-128 есть, и называется она "Орион-ПРО" :)
И да, немножко вайтованные 10 МГц ПРО'шки интереснее Турбы-200%

barsik
17.05.2017, 15:09
Полная схема доработок ОРИОНА есть, и называется она ОРИОН-ПРО

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

Только при этом перестарались. Если бы КНГМД перенесли на периферийную плату, убрали бы ненужные 4 плоскости экрана и всё упростили бы до минимума, то при столь качественной разводке получился бы великолепный компьютер с размерами даже меньше платы ОРИОНА. В частности, раз 4 обращения за цикл строба видеорегистра, позволяет иметь 2 плоскости из всего одной банки РУ7, зачем тогда вторая банка РУ7-мых? Ещё два диспетчера с окнами по 8К (для ОЗУ и ПЗУ) не нужны, - если есть окно коммутации размером в 16К, включайте в это окно и ПЗУ 27256 и нет проблем, никакого лишнего расхода деталей. Т.е если бы сделали практически ОРИОН, как я и предлагал всегда, то это не раскололо бы платформу и не погубило бы ОРИОН. А главное, на доводку схемы и печати не ушло бы 5 лет. Анонсирован ОРИОН-ПРО в середине 1993, и расчёт был выпустить ОРИОН-ПРО в начале 1994. И это было вполне реально, если бы не извращались с архитектурой, а ограничились бы обычным ОРИОНОМ на Z80, пусть даже на такте всего 2.5 МГЦ.


немножко вайтованные 10 МГц ПРО-шки интереснее Турбо-200%

Не согласен. Даже 10 МГЦ с ОЗУ на 2.5 МГЦ дают ~5 МГЦ реального такта. Заставить ОЗУ работать на такте 5 МГЦ важно потому, что это даёт возможность сделать схему WAIT для такта в 10 МГЦ, также как в ОРИОН-ПРО и получить 5 МГЦ умноженные на 1.41. Некрасиво говорить, что в ОРИОН-ПРО 10 МГЦ, надо говорить 10 МГЦ с WAIT, а это всего ~6.5 МГЦ реального такта. Вскоре ОРИОН, по крайней мере мой, будет работать быстрее, чем ОРИОН-ПРО. Быстрая статика, включённая вне экранной области даёт реальные 10 МГЦ, так что, даже без ускорения на 1.41, мой 200%-турбированный ОРИОН быстрее, чем ОРИОН-ПРО.

Мне интересна статистика использования Z80B в ОРИОН-ПРО.

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

Denn
17.05.2017, 16:58
убрали бы ненужные 4 плоскости экрана

4-плоскостной цвет реализуется в мультикарте, которую можно не ставить.



Не согласен. Даже 10 МГЦ с ОЗУ на 2.5 МГЦ дают ~5 МГЦ реального такта.
...
Некрасиво говорить, что в ОРИОН-ПРО 10 МГЦ, надо говорить 10 МГЦ с WAIT, а это всего ~6.5 МГЦ реального такта.

Есть утилита SPEED-TEST, не показывает она 6,5 МГц на реале.



Мне интересна статистика использования Z80B в ОРИОН-ПРО.

У меня почему-то Z80B не работал выше, чем 9 МГЦ (причём не только в ОРИОНЕ), хотя С.Караваев утверждал, что в его схеме установки Z80, любой Z80B без всякого подбора тянул 10 МГЦ.

В моём "ПРО" работает именно Z80B, в режиме "10 МГц" работа стабильная. Но за это пришлось побороться, да...

Error404
17.05.2017, 17:11
Мне интересна статистика использования Z80B в ОРИОН-ПРО.

с маркировкой Z80B я чипов и не видел (Z80А видел - но только на картинках в барахолке). Покупая Z80 всякие разные на московском рынке с примерно 1993 года, практически всегда это были Z84000-xx, где xx их паспортная частота в мегагарцах, а не буквенными индексами. При этом на большинстве экземпляров запас по частоте доходит до полутора раз. В частности, на ПРО на 10М у меня запускались примерно 60-80% от "-6" и "-8".
"-10" и "-20" запускались все, но с разной стабильностью (у меня БП старше меня и с непоменянными кондерами, нежные импортные экзепляры сбоят по питанию - лучше всего работают Z80 которые "сделаны в СССР").

Denn
17.05.2017, 18:06
"Бэшка" - это Z0840006PSC (6MHZ Z80 NMOS CPU 40-DIP)

Но в даташите их буковками описывают:

https://pp.userapi.com/c636724/v636724907/62811/ctGGzgbpKQM.jpg

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

Позабавила инфа отсюда - http://www.cpu-world.com/CPUs/Z80/Zilog-Z0840006PSC.html

Frequency - 6.17 MHz

Какова точность!

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

А, нет, есть и с маркировкой буквами:

http://www.chipdb.org/data/media/748/LH0080B.jpg

http://www.cpu-zone.com/Zilog/DSCF0547.JPG

barsik
17.05.2017, 18:46
с маркировкой Z80B я чипов и не видел

У меня в эксплуатации более десятка Z80B (принципиально покупал только Z80B, глупо было бы покупать Z80A, цена ведь та же). В основном они были куплены в 1989-91. Привожу все имеющиеся маркировки. Ни один не работал выше 9 МГЦ, да и на 9 МГЦ работают не все, хотя на 8.5 МГЦ работали все Z80B. SU880 это КМОП (жрёт 4 мА и холодный, но выше 5 МГЦ не тянет). 80H мне втюхали как Z80H, но он что-то иное - работает только на 2.5 МГЦ (похоже тоже КМОП, т.к мало греется)


Есть утилита SPEED-TEST, не показывает она 6,5 МГц на реальном ОРИОН-ПРО

Если эта программа правильная, то больше, чем 5*1.41= 7.1 МГЦ, она показывать не может.

Denn
18.05.2017, 00:00
barsik, вот сфоткал с живого ПРО:

https://pp.userapi.com/c636724/v636724907/62a50/2pcM62MykBE.jpg


~

Как я понимаю, тест для Ориона-128/Z, поэтому в подсказке фигурирует только 5 МГц, т.к. больше на 128-ом не было. Но по числовым значениям измерений вполне можно судить о реальной скорости. Видно 4-кратное ускорение относительно базовых 2,5 МГц, "недолёт" во втором знаке после зпт - это вероятно те самые WAIT'ы, но порядок цифры они не меняют.

barsik
18.05.2017, 00:46
Видно 4-кратное ускорение относительно базовых 2,5 МГц,

Вы же серьёзно не верите, что ОРИОН-ПРО имеет реальный такт в ~10 МГЦ. РУ7-мые не могут работать на такте 10 МГЦ. Если в Вашем ОРИОН-ПРО ОЗУ не на 50-ти миллисекундной статике, то такого быть не может. Никогда.

Тот ОРИОН-ПРО, что был у меня, имел такт RAS-CAS в 5 МГЦ, а это значит, что такой ОРИОН-ПРО не может дать на нормальном тесте более 7.5 МГЦ (и даже для этого надо подбирать тест специально). Даже авторы ОРИОН-ПРО не утверждали такой ерунды, что ОРИОН-ПРО даёт 10 МГЦ.

Уже один такт WAIT добавленный при обращении к памяти тормозит на ~60%, а если их два, то больше. И уж никак не 0.02%, как утверждает Ваша программа. Проверьте, что Ваша программа показывает в режиме НЕТУРБО. Если не будет 1.00, значит у Вас просечка на входе INT. Такое бывает.

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

LeoN65816
18.05.2017, 06:06
А существует ли тест скорострельности Ориона, рассчитанный для заливки в ROM вместо Монитора?

barsik
18.05.2017, 10:31
А существует ли тест быстродействия ОРИОНА, прошиваемый в ПЗУ F800?

Вряд-ли. Во-первых это незачем. Т.к такой тест нужен только единоразово, в момент выполнения турбирования. Во-вторых, распространён был в основном вариант установки Z80 от ОРИОН-СЕРВИС, где нет прерываний, отчего можно сделать тест только с использованием человека (засекая время по секундомеру).

Обычно для оценки быстродействия использовали журнальный тест для КР580, про который известно точное время его прогона (45/47 секунд). Я обычно использовал вот этот тест для Z80 (если есть звук OUT FF, то можно засекать время между двумя гудками).

Denn
18.05.2017, 11:11
Прилагаю несколько проверенных тестов. Попробуйте их.

SPEEDY выловил, вечером попробую. Можете остальные выложить тоже в формате ОРДОС (*.ORD/BRU/ORI)?

barsik
18.05.2017, 12:37
SPEEDY выловил

SPEEDY вообще-то для РК86, но должно работать и на ОРИОНЕ с КР580. Но лучше использовать CPU_TEST, т.к это полноценный тест всех команд (Z80 и КР580), но внимание, - на КР580 и Z80 он длится разное время. Поэтому не стоит ориентироваться на приведённые в тексте времена прогона, а измерить свои времена для ТУРБО и НЕТУРБО.

Для тестов скорости нужен какой-то опорный таймер, т.е или реальный таймер или прерывания с постоянным периодом. Достаточно уже меандра 5 ГЦ на входе магнитофона. Для этого делим 50 ГЦ на 10 на 155ИЕ2 (на 5, затем на 2, так чтобы был правильный меандр).

Я хотел в 1993 написать тест на базе ВИ53, но столкнулся с непонятной проблемой. А именно, почему-то на ОРИОНЕ не работали команды чтения счётчиков, т.е нельзя было узнать содержимое счётчиков и оценить тем самым прошедшее время. Так ничего и не добился. Тут или дело в том, что я неправильно читал (в силу малограмотности не разобрался в программировании, хотя там трудно ошибиться) или же ВИ53 не тянет 2.5 МГЦ, во что тоже трудно поверить, т.к по паспорту она тянет 2 МГЦ, значит и 2.5 МГЦ должна, или какие-то особенности ОРИОНА мешают. Интересно, кто-либо программировал ВИ53 для измерения времени?


Можете остальные выложить тоже в формате ОРДОС ?

Это не проблема, т.к у меня Win XP, где работают программы MSDOS. Потому мне достаточно любой файл перетащить мышью на пиктограмму 'TO_ORD.PIF' и сразу появится файл конвертированный в формат ORD. Win XP удобна тем, что в ней работают программы MSDOS и в частности TSR-эмулятор CP/M 22NICE (достаточно даже самой древней версии из 1987, версия из 1993 не требуется). Тогда можно из Windows запускать маленькие программки конверторов написанные для CP/M. Поэтому маленькие программки конверторов я пишу на КР580/Z80 для CP/M, отчего они годятся и для реальной CP/M (например в CP/M на реальном РК86), и их же можно запускать в MSDOS и в той версии Windows, которая поддерживает MSDOS. Потому всем пользователям 8-ми разрядок с CP/M полезно на одной из партиций своего винта иметь Windows XP.

А как Вы собираетесь использовать орионовские CP/M COM-программы, если они будут в формате ORD? Чтобы их запустить в CP/M ОРИОНА всё-равно придется их конвертировать назад в COM-формат.

Denn
18.05.2017, 12:48
А как Вы собираетесь использовать орионовские CP/M COM-программы, если они будут в формате ORD? Чтобы их запустить в CP/M ОРИОНА всё-равно придется их конвертировать назад в COM-формат.

У меня нет СР/М, я использую сторонний орионовский софт только для среды ОРДОС. Если для тех тестов архиважен API СР/М, то тогда "останусь без подарка" ))

П.С. процесс прямой конвертации писишного файла в орионовский не вопрос, и это запросто можно сделать без ВинХР.

Error404
18.05.2017, 13:47
CP/M-овский sysinfo Казимирчака, гоняющий несложный синтетический тест считая инструкции между прерываниями, показывает ускорение до экивалентных 7 Мгц в режиме "10М" Про. Глядя в схему ПРО где куча Wait-ов по обращениям к памяти и портам, думается это и соответствует действительности. Этот же тест на Орионе-128 для аделаидчиковской схемы "турбо 146%" показывает ускорение до экивалентных 3,5 Мгц.

Как бы там ни было, на настоящий момент ПРО - самый быстрый клон Ориона. Но нет предела совершенству, и его результат должен быть побит КМК. :)

Denn
18.05.2017, 13:53
показывает ускорение до экивалентных 7 Мгц в режиме "10М" Про.

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

barsik
18.05.2017, 14:07
Если для тех тестов архиважен API СР/М, то тогда "останусь без подарка"

COM-файлы достаточно запустить в любой CP/M. Если у Вас нет НГМД, чтобы использовать старые дискетные версии CP/M ОРИОНА для банок 0,1 или 2, то ведь нет проблем использовать любую версию CP/M у которой диск А - электронный из излишнего ОЗУ. В начальные годы применялись версии CP/M, называемые RAM-CP/M, где НГМД не нужен, т.к диск сделан из ОЗУ. Были также версии CP/M, где привод реализован на базе платы внешнего эл.диска на РУ7-мых. А в ОРИОН-ПРО, где ОЗУ как грязи, можно иметь большой эл.диск и нормально пользоваться CP/M вместо ORDOS.

Все мои версии CP/M (кроме ACP/M, где ради совместимости эл.диск не A, а D или E) используют эл.диск с именем A и потому их можно использовать и не имея дисковода. Хотя при старте всё-равно происходит обращение в дисковод B (чтобы считать AUTOEXEC.SUB), но даже если диска B нет, то проблем не возникает. Не имея НГМД нельзя делать обращения к приводам B,C,D (будет сообщение BAD SECTOR), но диск A состоит из ОЗУ излишних банок и этого размера достаточно для большинства целей.

CP/M для банки 0 имеет возможность иметь эл.диск до 180К, хотя я сам использую CPM0$, где для эл.диска используются только банки 2 и 3 (чтобы банку 1 оставить для файлов ORDOS). Банки 2 и 3, а не более, потому что у меня на реале только 256К (для ДОС странслированных для эмулятора использую банки 2...7).

Я сам уже давно не имею дисковода и когда надо использую RAM-CP/M, правда для банки 0, не для банки 1. Но есть и RAM-CP/M для банки 1, что правда, менее выгодно (меньше размер эл.диска), причём с более высоким TPA, чем дискетные версии. Есть и совместимые с ACP/M и OS-DOS 3.62 (для совместимости достаточно иметь тот же уровень BDOS и тот же блок связи в области F300), что позволяет использовать старые драйвера КОИ-8 для CP/M в банке 1.

Могу выложить RAM-CP/M (надо перетранслировать, чтобы работало без ПЗУ F800 в 4К и написать хоть какой-то DOC-файл). Для RAM-CPM есть проблема загрузки файлов. Загрузка обычно такая. Сама CPM (или другая ДОС) прошита в ROM-диске. Но надо откуда-то грузить сами CP/M-файлы. Для CP/M банки 1 нужна отдельная CP/M программа загрузки (обычно используют TRZ.COM). А для банки 0 используется загрузка файлов из квазидисков ORDOS. Пользователь считывает с МГ (или из проводной линии) CP/M файлы оформленные как ORDOS-файлы и заполняет ими квазидиски.

Затем из ROM-диска запускают CPM0$. Эта ДОС форматирует только каталог (в самом верху банки, чтобы не затирать файлы ORDOS). Затем один за другим файлы ORDOS переносятся из квазидиска в эл.диск с сохранением CP/M имён. Сначала копируются ORDOS-файлы с вершины квазидиска, а эл.диск в этой же банке растёт сверху вниз, отчего даже при всего 2-х банках в ОРИОНЕ можно перегрузить из ORDOS в эл.диск почти 60К CP/M-файлов. После загрузки CP/M (или любой другой ДОС) для обмена файлами с ORDOS можно пользоваться программой LORD.COM (не из 1993 от M.Bridge).

Denn
18.05.2017, 14:25
barsik, аппаратура вся есть, в т.ч. дисковод. Даже где-то дискета была с образом PRODOS. Не интересно, нет желания. Не моё, не понимаю я там ничего и разбираться не хочется совсем. Это примерно как у обычных людей с Линуксом :)

barsik
18.05.2017, 18:04
ничего не понимаю в CP/M и разбираться не хочется совсем. Это примерно как у обычных людей с Линуксом

Сравнение с Линукс тут не уместно. Чтобы освоить Линукс/UNIX надо усвоить в 1000 раз больше информации, тогда как программирование для CP/M осваивается за пару часов. И обычные люди как раз хотят освоить программирование в Линукс, просто не могут. Для CP/M ничуть не сложнее программировать, чем для ORDOS, и даже удобнее. CP/M нужна не как файловая система, для этого годится и более простая ДОС. А лишь потому, что в ней есть макро ассемблер и ЯВУ. А если написаны модули LOAD/SAVE плюс небольшой набор функций, то вообще нет разницы для какой DOS программировать. Гораэдо большее отличие в программировании по экрану ОРИОНА и с использованием драйвера с удобными экранными функциями.

Удивлён таким отношением. Вы ведь программировали для ОРИОНА. Вы что же программировали ассемблером МИКРОН (или может вообще в машинных кодах)? Или Вы пользовались ассемблером, линковщиком и библиотекарем для ORDOS от А.Вакуленко?

Можно сделать из ассемблера на КР580 его аналог работающий в MSDOS. Идея такая. При запуске стартует эмулятор (компьютера на КР580 с вызовами F800), затем в ОЗУ эмулятора из MSDOS-файла грузится текст исходника для трансляции и запускается сам ассемблер. После окончания трансляции полученный объектный код пишется в MSDOS-файл. Хотел так сделать для макро ассемблера от РК86 и для своего макро ассемблера, который к сожалению, в мнемонике КР580. Кстати, сложность написать макро ассемблер высока, его сделать сложнее, чем написать ДОС уровня CP/M, нортон и текстов редактор вместе взятые. Так можно сделать и для ORDOS-версии ассемблера МИКРОН от авторов ОРИОНА, но это не имеет смысла, т.к этот ассемблер уж слишком убогий.

Эта идея годится также, чтобы сделать из всех игр для ОРИОНА MSDOS-программы. Тогда пользователь даже не узнает, что игра от 8-ми разрядки и работает в эмуляторе. Полезно было бы сделать редактор SUPER-TEXT работающий в MSDOS. Это реально, хотя и сложно. Эмуляция работы CP/M с диском тут не поможет, т.к нет полной совместимости с MSDOS. Но когда работа с CP/M-диском происходит внутри эмулятора, а запись результата в MSDOS-файл происходит только по выходу, то это не важно.


результат должен быть побит КМК

Что за ОРИОН-КМК и насколько он быстрый?

OrionExt
18.05.2017, 18:27
Все уже придумано - запуск макро-ассемблера CP/M и не только из под dos/win. CP/M program EXEcutor (http://hp.vector.co.jp/authors/VA000084/).

barsik
18.05.2017, 18:59
Всё уже придумано

Нет, не согласен. Ничего подобного ещё не было, хотя этой идее 20 лет. Попробуйте запустить в Win XP напрямую какую-нибудь игру ОРИОНА. Не получится, и даже TSR-эмулятор CP/M не поможет. Кстати, TSR-эмулятор ОРИОНА тоже возможен, тогда можно запускать ORD-файлы прямо в MSDOS или Windows XP.

А по поводу ассемблера. Не видел ни в MSDOS, ни в Windows ассемблера, который брал бы извращённый формат исходников для ассемблера МИКРОН. Я как раз этим измучен. Приходится вручную часами исправлять старые исходники, чтобы их можно странслировать с М80. Уходит 2 часа на каждый исходник (особенно "достаёт" когда метки русскоязычные и используют "знак вопроса"), дополнительная трудность как раз в том, что M80 зависает от русских букв.

А эмулятор CP/M не помогает даже для корректных CP/M-программ. Потому что часть CP/M программ вообще несовместима на файловом уровне и ни один фирменный эмулятор с ними не помогает. Во-вторых, для программ в которых используются разные управляющие коды терминала. Ну а CP/M-программы ОРИОНА вообще все наглые (лезут в железо ОРИОНА) и никакой CP/M-эмулятор не поможет (а вот встроенный в сам код программы эмулятор ОРИОНА поможет).

Скачать 'CP/M progpam executor' не смог, т.к там непонятный язык с иероглифами.

Error404
18.05.2017, 19:18
Что за ОРИОН-КМК и насколько он быстрый?

Аббревиатура от "как мне кажется". Надо было запятой отделить, но уже лепятся эти интернет-сокращения на автомате. ИМХО, ЛОЛ и т.п.
КМК - одна из.

OrionExt
18.05.2017, 19:33
barsik, a я и не утверждал, что Орион-е ср/м программы будут работать. Это штука для православных ср/м программ. Отличная вещь. Все дисковые операции перенаправляет в dos/win.

А так да, эмулятор только. Можно и обвернутый код Ориона в exe - файле. Лет 10 назад встречал такой софт для ZX и MSX под dos-ом. Но практического смысла в этом не вижу. Разве что игрушки позапускать как бы из ms-dos в один клик.

Error404
18.05.2017, 19:43
Эмулятор b2m умеет то о чем пишет barsik.
По крайней мере стартовать в виде проинициализированной среды, запускать в ней некий бинарь и общаться с файлами в каталоге MS-DOS.
Как это делается описано в одной из тем 2011 года когда мы с ним делали отладочную среду для ProgrammersNotepad, где эмулятор выстпал как бэкэнд C-компилятора SDCC c возможностью экранного отладчика source-level. Как обычно бывает с SDCC, тогда все уперлось в то, что SDCC написан школотой (сейчас пишут, что разработчики SDCC поднабрались жизненного опыта, продвинулись в изучении компиляторов и все уже там не так плохо, но уже нет желания проверять).

OrionExt
18.05.2017, 19:56
Было такое)
Но тут, с обернутым файлом ZX или MSX, пользователь и не подозревал что это эмулятор. Все выглядело как будто это PC игрушка.

barsik
18.05.2017, 20:23
Эмулятор b2m умеет то, о чем пишет barsik

Тут речь о двух разных задачах. Первая это сделать MSDOS версию игры ОРИОНА, причём так, чтобы по выходу из игры (нажатием какой-либо клавиши, например F10), происходил бы не рестарт эмулятора, а сразу выход в MSDOS.

А вторая задача, которая намного сложнее, это использование программ CP/M, что используют некоторые свойства CP/M, не позволяющие их использовать с обычным эмулятором CP/M, наподобие 'CP/M program executor'. Кстати, по первому впечатлению, DOS-версия этой японской программы 1999 года вряд-ли лучше, чем 22NICE 30-ти летней давности. Но вот Windows версия очень полезна тем, кто имеет Windows не XP, отчего не может прогонять MSDOS-программы напрямую, а вынужден трахаться с DOS-BOX-ом.

Любой эмулятор ОРИОНА может делать автозапуск игры. Что собственно и делается, когда при запуске эмулятора мы оказываемся в VC$ ORDOS. Достаточно разместить в квазидиске 'B' ORDOS-файл с именем EXT$ и сам файл с кодом подлежащий автозапуску.

Но это совсем не то. Особенно, если речь о новомодном эмуляторе написанном на ЯВУ с объёмом кода почти в мегабайт. Тратить мегабайт для каждой игры ОРИОНА размером в 10-20 кб, не смешно. Удачно, что у меня код эмулятора КР580 это ~70 кб, а Z80 это ~90 кб. Более половины кода это встроенный монитор-отладчик и кусок для работы с файлами, написанный на СИ. Если это выкинуть и убрать реакцию на все клавиши (кроме F10 для аборта), то к каждой игре будет добавляться всего ~20...40 кб кода (это блок эмуляции CPU и визуализатор).

Неудобную оверлейную версию, в которой при старте будет искаться файл с кодом игры под именем GAME.ORD я могу сделать за час (это надо, чтобы кучу всего поудалять в исходнике). Это конечно малоудобно, т.к каждый раз для запуска очередной игры надо переименовывать файл (впрочем, если у Вас Win XP, где есть поддержка BAT-файлов MSDOS, то это автоматизируется).

С очень небольшими хлопотами (для каждой игры) можно делать однофайловую версию для каждой игры. Имея IDA это тоже очень просто (с помощью IDA достаточно получить исходник игры, причём даже не полноценный исходник, а просто длиннющий блок DEFB операторов, чтобы при линковке код игры встроился в программу).

Но в идеале хотелось бы сделать компилятор игр. Его запускаем, в панели прокрутки выбираем игру, нажимаем <Enter> и на винт записывается один EXE-файл, содержащий готовый код программы для запуска в MSDOS или Windows. В ближайшие дни попробую сделать EXE-файлы некоторых КР580 игр ОРИОНА, что у меня сохранились (Z80 игры не сохранились).

Интересно, где можно найти переделанные подобным образом игры от ZX-Spectrum? Т.к возиться с эмуляторами, образами дисков и т.п. - утомительно и лениво. И не всякий разбирается в TR-DOS или умеет набрать LOAD "", - удобнее просто запустить игру кликнув мышкой.

PS. Конечно все игры ОРИОНА делать EXE-файлами не стоит. Зачем отвращать людей некрасивыми или неинтересными играми (т.е с низким игровым аспектом).

OrionExt
18.05.2017, 21:02
Не видел ни в MSDOS, ни в Windows ассемблера, который брал бы извращённый формат исходников для ассемблера МИКРОН. Я как раз этим измучен. Приходится вручную часами исправлять старые исходники, чтобы их можно странслировать с М80. Уходит 2 часа на каждый исходник (особенно "достаёт" когда метки русскоязычные и используют "знак вопроса"), дополнительная трудность как раз в том, что M80 зависает от русских букв.
Вот тут идея появилась. Есть такой проект The ZX Basic Compiler (https://www.boriel.com/en/software/the-zx-basic-compiler/), написан он на Python. В нем используется парсер PLY (http://www.dabeaz.com/ply/). Я думаю, кто с программированием знаком по не наслышке, будет не сложно сделать перекодировщик с ассемблера Микрон в ассемблер М80. Python очень простой язык, почти как Бейсик.

Error404
18.05.2017, 21:05
Интересные игры на Орионе? Это что-то мне неизвестное. Серьезно, если задача поиграть в неудобных DOS-видеорежимах, то есть миллион играбельных (в отличие от орионовских убогих) игр времен ХТ, 286, 386. Уже в EXE.

tol123
19.05.2017, 19:24
Интересные игры на Орионе? Это что-то мне неизвестное. Серьезно, если задача поиграть в неудобных DOS-видеорежимах, то есть миллион играбельных (в отличие от орионовских убогих) игр времен ХТ, 286, 386. Уже в EXE.

Играл Сокобан Горяев (электросталь) - очень хорошая игра. Правда на ИБМ я в нее тоже играл, наверное на Орион ИБМовскую както и переделали.

OrionExt
19.05.2017, 19:37
Вредный Error404, играли все и радио любители и залетные товарищи, это было интересно. Целые вечера просиживали)

Даже дедушка в шахматы рубился)

barsik
20.05.2017, 10:25
Имею вопрос к авторам эмуляторов отечественных 8-ми разрядок на Z80.

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

В эмуляторах ZX-Spectrum этот регистр безусловно приходится эмулировать, т.к его используют некоторые программы, чтобы защититься от прогона в отладчике. А также некоторые программы используют регистр R как однобитовый флаг, пользуясь тем, что вектор регенерации в динамических ОЗУ (РУ3 и РУ5) семибитовый, отчего бит D7 в регистре R не меняется со временем.

Однако в программах всех отечественных 8-ми разрядок, что изначально построены на базе КР580 и в которые с целью турбирования был установлен процессор Z80 (т.к КР580 не турбируется в силу отсутствия его скоростных вариантов), регистр R не используется, отчего его полная эмуляция необязательна (но бит D7 в регистре R надо эмулировать, это используется).

Неточная эмуляция Z80 в эмуляторах позволяет программно определить прогоняется ли программа в эмуляторе (программном или аппаратном) или же на реальном Z80. Например, в эмуляторе точно не будет соответствия с реалом, если используется схема турбирования с WAIT, есть WAIT для отдельных портов или в системе работает ПДП. Достаточно, по прерываниям 50 Гц установить скорость Z80, например понять, что Z80 работает в режиме Турбо-142%, а затем пользуясь этой информацией проконтроллировать корректность работы регистра R. Так что не составляет труда программно вычислить эмулятор. Кстати, в эмуляторах также обычно несинхронный и неточный период прерываний 50 ГЦ, что также позволяет вычислить эмулятор. Это позволяет защитить ценную программу изначально защищённую форматом МГ-записи от взлома и прогона в эмуляторе.

К сожалению, я не имею инфо о работе регистра R. Когда вводится дополнительный такт /RFSH и инкрементируется R? Вводится ли он вообще в каждой команде Z80 (например IN/OUT), как и сколько их вводится в командах типа LDIR? Зависит ли число вводимых тактов RFSH (после каждого из которых инкрементируется R), от того происходит ли в команде одно обращение к памяти или два (в командах работы со словами).

Как видите, по существу эмуляция регистра R в эмуляторе просто бессмысленна, т.к полного соответствия с реалом всё-равно не достичь и в программах регистр R не используется. Эмуляция регистра R, только бесполезно тормозит эмулятор, не позволяя ему работать на медленной 386-той (не говоря уже о 286). В моём эмуляторе есть ключ 'NO_R', позволяющий странслировать версию, как с эмуляцией регистра R (инкремент R на 1 после прогона любой команды), так и более скоростную версию без R.

Таким образом сам регистр R совершенно бесполезен, а вот сигнал /RFSH можно использовать аппаратно.

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

Удобно использовать этот сигнал для восстановления режима Турбо. В турбированных ОРИОН-ах при обращении к КНГМД делают аппаратное переключение на НЕТУРБО. В качестве управления используют сигнал HLD (Head Load) из ВГ93. Этот сигнал взводится по первому же обращению к ВГ93 и длится ещё 5 секунд после последнего обращения к ВГ93. Если /RFSH подать на счётчик (на 256), то мы сможем вернуть режим Турбо сразу-же по окончании работы с НГМД, что позволит существенно ускорить обмен с НГМД. Потому что сейчас в CP/M после считывания физ.сектора в дискетный буфер, выполняется пересылка блока в 128 байт на адрес DMA на скорости НЕТУРБО, отчего скорость работы с НГМД 10-ти мегегерцового ОРИОНА такая же, как на базовом ОРИОНЕ. Тогда взвод триггера НЕТУРБО происходит по каждому обращению к ВГ93, а его сброс спустя определённое число команд Z80, отчего пересылка на адрес DMA происходит уже на максимальной скорости.

Ещё полезнее /RFSH, когда нам требуется выдавать короткие импульсы жёстко определённой длины. Например, для программного обмена по линии, короткий нулевой импульс кодирует 0, а длинный 1. Обычно ставят два аналоговых одновибратора АГ3 и взводят их стробами портов. Но это нестабильно и ненадёжно. Проще и более гибко поставить ИЕ7, заведя на его входы предустановки 4 бита от ППА клавиатуры. Тогда для выдачи импульса в линию, записываем его нужную длину в 4 бита ППА и даём строб на какой-то порт. По стробу взводится триггер выдающий 0 в линию, в ИЕ7 происходит загрузка с параллельных входов и взвод триггера одновременно переводит Z80 в WAIT. После чего Z80 стоит, но выдаёт такт /RFSH с стабильным периодом (4 маш.такта), который поступает на вход вычитания ИЕ7. Когда ИЕ7 досчитает до 0, сигнал с его выхода "перенос" сбросит триггер, что окончит импульс в линию и освободит Z80. Т.к предустановку стартового веса счётчика можно программно менять, то получается программно управляемый генератор импульсов, что существенно упрощает аппаратуру скоростной передачи по линии.


Интересные игры на Орионе? Это что-то мне неизвестное

Да, большинство игр ОРИОНА имеют низкий игровой аспект. Но всё же есть часть игр, что не уступают в качестве играм ZX-Spectrum. Вот неполный список вполне приличных игр КР580: ALMAZ-3, BATTY, MOON FOX, LODE RUNNER, BUDI, TUTANHAMON, SILENT SERVICE, DTE, MANIC-MINER, JET-SET, THRUSTA, CHRONOS, PSST, XONIX от RK86

uart
21.05.2017, 18:29
Например, в эмуляторе точно не будет соответствия с реалом, если используется схема турбирования с WAIT, есть WAIT для отдельных портов или в системе работает ПДП.
Почему не будет? Ничего невозможного тут нет.

Error404
21.05.2017, 19:41
Почему не будет? Ничего невозможного тут нет.

Просто оно нафиг не надо. Если человеку критично 653530 тактов или 653539 тактов между прерываниями, то значит он борется с запрограммированным косяком архитектуры. Архитектуру надо выбирать правильно, а не такты считать.

makbar
28.11.2017, 21:10
А SP-DOS это вообще полнейшая туфта. Любая другая система лучше и нет смысла её эмулировать в эмуляторе.
ага) только я, как автор этого контроллера и системы, получил тут только одобрительные отзывы. Поклонники даже дезассемблировали её как образец.
Контроллер был с самого начала сделан по уму (читай спецификациям) без колхозанства. Я как увидел резюки на шине "ленинградских" версий, чтобы ВГ93 работали устойчивее, которые толкали на тушинском радиорынке, так сразу мне всё ясно стало))
А система SPDOS была самодостаточна, и цель сделать её СП\м совместимой никто не ставил. Ну да ладно, дела дано минувших дней))

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


можно и я вставлю свои 5 копеек?

вот тут поносят КНГМД Короткина (ж.Радио №12, 1992г).
а чем он плох, что SPDOS не полноценная операционка? но это отличная замена магнитофону.

а теперь ситуация.
предположим, что какой-то человек собрал Орион и хочет сохранять где-то свои файлы. магнитофонов уже давно нет. а как сохранять? ну соберёт он этот КНГМД для СР/M и что дальше? где он саму дискету CP/M'овскую возьмёт? ок, допустим, ему выслали такую дискету. он её вставил раз-два-три раза. а тут опа! внезапно слетел загрузочный сектор. дисковод оказался не совсем хорошо работающий. и что делать дальше?

отсюда собственно вопрос по существу: вот у меня КНГМД под СP/M. как собственноручно поставить CP/M?

o!? вот оно оказывается как))) еще и гимор можно поиметь.

з.ы.Еще раз спасибо за теплые слова к моей разработке.

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


О М.Короткине я вообще ничего не знаю и услышал о нём сегодня впервые.---
Поэтому когда SP-DOS опубликовали, это уже никому было не надо

На всякий случай напомню, что расстояние от знакомства до подготовки материалов и публикации занимало до полугода.
Т.е. в журнале в конце 92 года опубликовали то, что у меня уже год как работало, вернее кормило меня, т.к. орион у меня был не сам по себе, а мозгом продвинутого программатора. А на момент публикации SPDOS 3.6 у мнея уже крутилась 4.3 с "нортоновским" интерфейсом.


У меня есть ответ на этот вопрос.

Можно взять дамп CP/M из иностранных журналов (напр. Funkamateuer 04.1989), как сделал я. Удобнее всего попросить владельца КОРВЕТА считать системные дорожки и скинуть их на ленту в МГ-формате ОРИОНА. Иначе надо достать любую дискету с CP/M, например, от СИНКЛЕРА или КОРВЕТА и написать программку считывающую в ОЗУ 3 (или 2) системные дорожки. Дизассемблером МИКРОН дизассемблируете CCP, BDOS и BIOS. Затем изменяете в BIOS адреса В/У, модифицируете CONIN, CONOUT и забиваете в WBOOT подкачку кода BDOS с дискеты. Затем всё снова транслируете уже для адресов ОРИОНА. Грузите в ОЗУ с ленты CP/M на рабочие адреса и стартуете на WBOOT. Вы оказываетесь в CP/M и можете читать чужую дискету с программами CP/M. Первым делом в ОЗУ считываете форматёр и выводите его на МГ-ленту. Затем дизассемблируете и адаптируете форматёр для адресов ОРИОНА. После этого форматируете дискету и записываете на неё CP/M ОРИОНА уже с полноценной подкачкой кода BDOS, делаете программку загрузчика и загружаетесь в CP/M ОРИОНА. Далее с помощью POWER-а командами LOAD и SAVE копируете на дискету ОРИОНА все нужные Вам программы CP/M. Но ещё проще это сделать, если Вы имеете свой КОРВЕТ. Это несложная работёнка доступная даже малоопытному программисту.

улыбнуло.

zx_
29.11.2017, 08:28
makbar, в подписи замечательные слова увидел - КНГМД для Специалиста.

Не могли бы поподробнее о этом , лучше со схемами и программами -)

Или хотя бы словами поведать о КНГМД для Специалиста

makbar
29.11.2017, 10:08
makbar, в подписи замечательные слова увидел - КНГМД для Специалиста.

Не могли бы поподробнее о этом , лучше со схемами и программами -)

Или хотя бы словами поведать о КНГМД для Специалиста

Я вас умоляю, прошло почти 30 лет. ПО естественно не сохранилось)) Тем более, что правильную ОС я начал писать, уже переехав на орион.
Схема ровно такая как для ориона, которую я опубликовал в 12/1992 радио. Именно поэтому там и есть "регистр запросов", в которые заведены сигналы с ВГ93, ибо схема разрабатывалась изначально на Специалисте.

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

Denn
29.11.2017, 11:48
Если КНГМД точно такой же, как на Орионе, то можно попробовать добавить его поддержку в этой истории - http://zx-pk.ru/threads/27704-orinet-dlya-spetsialista.html?p=918677&viewfull=1#post918677

zx_
29.11.2017, 12:35
Я вас умоляю, прошло почти 30 лет. ПО естественно не сохранилось)) Тем более, что правильную ОС я начал писать, уже переехав на орион.
Схема ровно такая как для ориона, которую я опубликовал в 12/1992 радио. Именно поэтому там и есть "регистр запросов", в которые заведены сигналы с ВГ93, ибо схема разрабатывалась изначально на Специалисте.

Я помню , все что делал сам, почему-то. 30 не сто.

Ладно, без ПО это кусок железяки.

А SP DOS под Специалист создавалась или уже под Орион?

Да и если контроллер создавался иначально под Специалист, ведь чемто вы читали дискету ? форматировали ?

Denn
29.11.2017, 12:41
Да и если контроллер создавался иначально под Специалист, ведь чемто вы читали дискету ? форматировали ?

В SPDOS есть штатное средство форматирования дискет. Ну и запись файлов (с квазидиска), разумеется. А файлы появляются в квазидиске средствами ORDOS, например загрузкой с магнитофона (CH$).

zx_
29.11.2017, 12:48
Denn, COM порт нужен , но интересно оч

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


В SPDOS есть штатное средство форматирования дискет.
заработает на Специалисте ?

makbar
29.11.2017, 12:57
Я помню , все что делал сам, почему-то. 30 не сто.

Ладно, без ПО это кусок железяки.

А SP DOS под Специалист создавалась или уже под Орион?

Да и если контроллер создавался иначально под Специалист, ведь чемто вы читали дискету ? форматировали ?

SPDOS как DOS создавалась уже для ориона, как система обмена файлами между RAM и гибкими дисками.
Под Специалистом, насколько помню, был написан только "BIOS" и поблочный (нефайловый) обмен с диском. Естественно с утилитой форматирования.
Еще раз, мне нужно было хранить многочисленные образы EPROM - для этого и делал доступ Специалиста к диску.

Не понимаю, почему вас удивляет, что у меня не сохранилось ПО под Специалист?)) Я вот удивляюсь на себя, что за 24 года не выкинул почерневшую документацию на WD1793 и последнюю версию SPDOS под Орион. Гдето в гараже наверно есть еще пачка печатных плат (фотка которой в ж. Радио 12/1992)

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



заработает на Специалисте ?
зависит от вашей квалификации.

Denn
29.11.2017, 13:28
Denn, COM порт нужен , но интересно оч

Скорее ROM-диск. СОМ-порт по желанию. Если будет поддержка ГМД, то он как раз вместо виртуального диска будет.

Только если честно, смысла пользоваться сейчас дисководом не вижу. Виртуальный диск лучше во всех смыслах, и к тому же значительно проще в реализации.

Stampmaker
30.11.2017, 13:50
Гдето в гараже наверно есть еще пачка печатных плат


я бы приобрёл парочку плат. в каком они состоянии?

makbar
30.11.2017, 23:06
А что им будет за 25 лет...

makbar
02.12.2017, 23:05
Пяток принт-серверов (LPT) хочу выкинуть, да вдруг подумал:
это же готовый односторонний сетевой интерфейс! PC печатает файл на него по локалке, а какойнибудь Орион, подключенный к LPT и прикидываясь принтером, по протоколу centronix получает эти данные.
дешево и сердито?

Electricman
28.12.2017, 01:03
Доброй ночи. Внезапно накрылся орион. Изображение задёргалось - и вылет. Заменил ТЛ2 (почему-то средний уровень на всех выводах стал) и затем ВА86 процессора - вывод направления просаживал сигнал чтения до 1В. Появилось изображение - вертикальные полосы. По шине чтения - сплошное чтение. Сигнал записи не дёргается даже. Уже и не знаю, куда смотреть - ОЗУ поменял, процессор тоже другой пробовал - всё так же. ПЗУ, жаль, не проверить.

Denn
28.12.2017, 16:52
Если питание точно ок, то остаётся либо сгнившая трасса, либо смерть чипа. Искать такое обычно сложно. Можно начинать гуглить схему шагателя...

Electricman
28.12.2017, 23:29
Известно только,что видеосистема цела. Проверю буферы процессора, и их цепи. Главное ещё, чтобы ПЗУ было цело, иначе совсем печаль будет.
Просто что-то отвалиться не могло, но могло что-то прилететь на "системный разъём". Раз вынесло ТЛку (сброса и чтения не было) - значит действительно что-то прилетело.
Но что ещё "ушло" в след - не знаю. Процессор менял, любой работает одинаково - сигнал чтения и синхронизации - сплошное импульсы, сигнал записи - тишина, ША и ШД - непонятные пачечные импульсы.

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

Denn
28.12.2017, 23:52
сигнал записи - тишина

Прямо на процессоре или после буфера (ЛН1, DD59) ?

makbar
29.12.2017, 00:04
Главное ещё, чтобы ПЗУ было цело, иначе совсем печаль будет.
я помню во времена АОНом было ПЗУ тестовое, которое последовательно тестирет компоненты. Для ориона не родилось такое? Ну типа POST BIOS... пищит там если памяти нет)) и т.п. ?

Electricman
29.12.2017, 00:41
ПЗУ теста памяти есть. Другое дело, если какой-то сигнал тупо не проходит - какой-нибудь логический элемент накрылся и всё, комп толком не работает и не проверит сам себя.

Так, в общем, буферы процессора - исправны. Видеобуфер и буфер памяти - тоже. Мультиплексоры адреса исправны. /RAS & /CAS присутствуют. Цепи записи-чтения исправны. Остаётся только ПЗУ и обвязка дешифратора адреса, вместе с дешифратором портов и чтения-записи ОЗУ.

Кстати, начальный запуск из ПЗУ реализован на DD30 и DD10.1? А то у меня, похоже, ни разу не выбирается ПЗУ, высокий уровень всегда.


Хм, нашёл последнюю битую микросхему - элемент DD16.1 имел на выходе пилу 1В, вместо нормального сигнала. Итого - одна ВА86, ЛА3 и ТЛ2 оказались вышедшими из строя. Но он постоянно виснет. Или полное отсутствие порта клавиатуры ему не нравится.

Electricman
29.12.2017, 17:40
Вроде орион заработал. Но есть одна странность - работает он ТОЛЬКО в вертикальном положении платы. При переводе в горизонтальное - виснет почти сразу. В принципе, плата и так вертикально установлена, но мало ли - даже и не знаю, в какую сторону копать. :)

Кстати, я тут подумал - процессор у меня с одной стороны относительно ОЗУ, мультиплексоры и видеоконтроллер - с другой. Соответственно, от процессора получаются длинные адресные линии. "Взлетит" ли схема, если четыре КП2 заменить на четыре КП11, расположив их по две - у видеоконтроллера и у процессора. Выходы мультиплексированных адресов от видеоконтроллера и процессора буду сходиться на шинах памяти. Или лучше даже не пытаться?

Electricman
09.01.2018, 01:29
Таки полностью разобрался со всеми проблемами - пропаял контакты и всё стало работать стабильно. Доработок решил не делать, ибо после установки подтягивающих резисторов на ШД и частично на ША сигналы улучшились. Правда, в первоначальной борьбе выкосил и всю дополнительную память, а так же видеовыход первого банка (цвет), хотя и не очень он требовался, а вот память жалко, хотя её не так сложно восстановить.

Намучавшись с магнитофоном, постиг азы управления жёстким диском, и даже наваял "контроллер". :) Работает, пишет и читает в обоих режимах - 8/16 байт.
http://storage1.static.itmages.ru/i/18/0108/s_1515449885_4013985_0df2587388.jpg (https://itmages.ru/image/view/6382979/0df25873)

Denn
09.01.2018, 11:38
в первоначальной борьбе выкосил и всю дополнительную память

Зачем же так кардинально?! Памяти много не бывает, и её кол-во, пожалуй, самое интересное в Орионе.



Намучавшись с магнитофоном, постиг азы управления жёстким диском, и даже наваял "контроллер". :) Работает, пишет и читает в обоих режимах - 8/16 байт.

Имхо, в наше время интереснее SDHC. Либо ВВ51 ;)

barsik
09.01.2018, 12:14
постиг азы управления жёстким диском, и даже наваял "контроллер"
Простой схемой работающей в 16-ти разрядном режиме и с обменом через единственный ППА не поделитесь?

Я использую 8-ми битовый режим с очень древним винтом. Но у меня всегда были сомнения, что более современные винты за ненадобностью могут упразднить обмен в 8-ми битовом режиме.


Имхо, в наше время интереснее SDHC
Глупо спорить, но цены на них от 5 тысяч рублей. На эти деньги можно купить 10 штук б/у винтов по 300 Гб или 30 штук более маленьких винтов.

Denn
09.01.2018, 13:05
цены на них от 5 тысяч рублей

Это где такие цены и на что? Обычные (2 Гб) я по 150..200 руб покупаю.


https://www.avito.ru/sankt-peterburg/tovary_dlya_kompyutera/karta_pamyati_sdhc_kingston_8gb_1119049018
https://www.avito.ru/sankt-peterburg/tovary_dlya_kompyutera/karta_pamyati_sdhc_1048576013
etc.

barsik
09.01.2018, 13:53
Речь же шла о винчестерах и, естественно, было подумать, что речь идёт вовсе не о картах памяти, а о твёрдотельных современных винчестерах SSHD цены на которые сейчас немного упали, но всё-равно могут достигать 15 тысяч рублей. В этих буковках легко запутаться. А о SDHC надо говорить там, где речь о SD флэш памяти или микроSD, а не о винчестерах.

SSHD тем и удобны, что если сдох винчестер, то его можно поставить в тот же разъём. Т.е не надо трахаться с контроллером для флэш-памяти, разбираться в сложном протоколе обмена и переписывать DOS рассчитанные на поддержку винчестера. Через пару лет цены упадут до приемлемого уровня, тогда и заменим механические винчестеры на твердотельные.

Denn
09.01.2018, 14:02
barsik, твердотелы это SSD, и о них говорить в рамках 8-биток бессмысленно, т.к. у них интерфейс SATA.

SDHC - это "флэшки". И они гораздо дешевле и актуальнее. Для их работы не требуется "второй БП масштабов Ориона", а "контроллер" можно сделать на резистивных делителях (условно).

Заморачиваться сейчас механическими накопителями "с моторчиками" есть смысл разве что по причине их бесплатного наличия и желанием мириться со всеми их минусами.

Error404
09.01.2018, 14:19
Встречал на ALIexpress и SSD c PATA IDE (ноутбучный формфактор разъема на 44 пина) (https://ru.aliexpress.com/item/2014-Sale-Kingspec-2-5-44PIN-PATA-IDE-SSD-128GB-MLC-Solid-State-Disk-Flash-Drive/1906885604.html?ws_ab_test=searchweb0_0,searchweb2 01602_1_10152_10151_10065_10344_10068_10342_10343_ 10340_10341_10543_10084_10083_10613_10615_10307_10 614_10301_10059_10314_10534_100031_10604_10103_106 07_10606_10142_10125-10152,searchweb201603_6,ppcSwitch_4&algo_expid=c123ccc4-d010-4b5b-9ad8-eb1e431ae068-0&algo_pvid=c123ccc4-d010-4b5b-9ad8-eb1e431ae068&priceBeautifyAB=0), но ценник далек от гуманности: они раза в полтора дороже SATA SSD - минимум 1659,49 руб за 8GB (для сравнения SDHC флешка из Ашана/Глобуса на те же 8Гб будет стоить 200 рублей).

Vasily
09.01.2018, 14:22
А переходник SATA/IDE никто не пробовал?

Error404
09.01.2018, 14:29
Простой схемой работающей в 16-ти разрядном режиме и с обменом через единственный ППА не поделитесь?


Довольно давно (с выхода Ориона-128 Ревизии-512) мы пользуемся вот такой схемой (https://github.com/serge-404/AltairDOS/blob/master/App/source/idebdos/idesheme.txt), работает довольно стабильно. Драйвер для нее тут (https://github.com/serge-404/AltairDOS/blob/master/App/source/testdev/BIOSIDE.MAC). Где-то в тредах была графическая картинка, но быстро не найти. Идею я дернул отсюда (https://www.pjrc.com/tech/8051/ide/), но порты при подключении и переписывая драйвер изменил так, чтобы при использовании этой схемы на порту F500 (порте ROM-диска), Ордос по старту программируя порт F500 (или аналогичнодействующий Монитор F800) не конфиликтовала если на порту F500 висит адаптер IDE. Там же есть утилита для тестирования (https://github.com/serge-404/AltairDOS/blob/master/App/source/idebdos/pinide.zip) такого адаптера (CP/M версия)

TomaTLAB
09.01.2018, 14:29
Заморачиваться сейчас механическими накопителями "с моторчиками"
SSD пока что, все еще мруть аки мухи, по сути та же флешка же, только побольше и поумней. Уже конечно гораздо меньше чем лет пять назад.
Но ценную инфу я больше "блину с моторчиком" доверяю. У них с определенного момента больше в электронике проблемы начались, чем в "механике".
Но это конечно все больше про "серьезные" дела. Для наших же "игрушек", я считаю оптимальна SD-шка либо CF-ка у которой интерфейс "ламповее" :)
Да и "ламповый" винчестер можно подключать. Впрочем SD-шку в CF воткнуть - тоже не проблема.

Error404
09.01.2018, 14:34
А переходник SATA/IDE никто не пробовал?

Есть у меня такой адаптер, но пока не пробовал (нет лишнего SATA-привода). А вот разные схемы адаптеров SD->IDE пробовал (как минимум 3 штуки разных), все они работали с вариантом IDE на 8255, но почему-то не работали в ПРО с его вариацией на тему Nemo-IDE на регистрах россыпью. Но тут еще такое: для ПРО у меня не сделано исправление открывания регистра на одном вентиле ЛЛ1 (или там Ле1 была? забыл)

TomaTLAB
09.01.2018, 14:41
А вот разные схемы адаптеров SD->IDE пробовал (как минимум 3 штуки разных), все они работали с вариантом IDE на 8255, но почему-то не работали в ПРО с его вариацией на тему Nemo-IDE на регистрах россыпью
У меня похожая ерунда с переходниками CF-SD на MSX-овом санрайзе. На том который на рассыпухе - работают, а на том, что на ПЛИСине - фигу.

Error404
09.01.2018, 15:10
У меня похожая ерунда с переходниками CF-SD на MSX-овом санрайзе. На том который на рассыпухе - работают, а на том, что на ПЛИСине - фигу.

В твоем случае дело похоже не в переходнике (он же пассивный - просто проводники между двумя разъемами), а самих CF. Я тоже одни и те же CF не в каждой схеме смог запустить. А вот с адаптером SD->IDE (адаптер на базе микроконтроллера) еще и сам микроконтроллер может вносить баги в протокол.

TomaTLAB
09.01.2018, 17:58
В твоем случае дело похоже не в переходнике (он же пассивный - просто проводники между двумя разъемами), а самих CF. Я тоже одни и те же CF не в каждой схеме смог запустить. А вот с адаптером SD->IDE (адаптер на базе микроконтроллера) еще и сам микроконтроллер может вносить баги в протокол.
Ага щаз. Пассивный. Это CF-IDE пассивный.
Я же написал, что переходник с SD на CF (IDE), т.е. как раз второй вариант. Но у кого то работает в том контроллере. Но они, конечно, все китай-китай, это да...

Electricman
09.01.2018, 18:35
Жёсткий диск я использовал по нескольким причинам - параллельный интерфейс, возможность подключения как простой периферии серии 580, их навалом, ну и унифицированное питание. :)
Да и после чтения книжек выяснил, что управляется жёсткий диск просто, и заморачиватся с использованием ВВ55 я не стал, код получился простым (п/п чтения записи 37/39 байт для 16-битного обмена, для восьмибитного ещё короче). Всё уместилось на одном порте F700.

http://storage6.static.itmages.ru/i/18/0109/s_1515511483_8386753_0e044c9b2f.jpg (https://itmages.ru/image/view/6384899/0e044c9b)

Denn
11.01.2018, 13:00
как думаете, не надо ли отцепить сообщения по SD/FAT в отдельную тему?

Конечно!

Потом же если понадобится, то фиг найдёшь по всяким "Разное" и пр.

Error404
11.01.2018, 13:50
Конечно!

Потом же если понадобится, то фиг найдёшь по всяким "Разное" и пр.

Сообщения по SD/FAT перенесены сюда:
http://zx-pk.ru/threads/28704-sd-karty-i-kontrollery-realizatsii-fat.html

OrionExt
12.01.2018, 21:57
SSD пока что, все еще мруть аки мухи, по сути та же флешка же, только побольше и поумней.
Чего-то решил написать. Тут видимо не нужно покупать китайские SSD из гирлянд SD-карт. Первый мой винт куплен (128 Гбайт), очень давно от Intel (тогда это был флагман в этой штуке) как его убить, до сих пор загадка. И второй через лет пять (наше время) то же Intel – это уже ширпотреб. Хотя работает. По утилите от Intel – осталось 60% ресурса (года 4 работает нон стоп).

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

Поправка 5 лет нон-стоп, 30% - выработанный ресурс:)

Electricman
14.01.2018, 00:17
Вроде восстановил память, но получилась мешанина из статики и динамики, что окончательно франкенштейнезировало бедный орион. :D Если не заленюсь, напишу тест дополнительных страниц, пока только дампы посмотрел - вроде различаются. :)

http://storage7.static.itmages.ru/i/18/0113/s_1515877787_5077351_7df9cacc19.jpg (https://itmages.ru/image/view/6394279/7df9cacc)

barsik
14.01.2018, 10:06
это окончательно франкенштейнезировало бедный ОРИОН
Привинчивание дополнительных платок винтами получилось страшненько потому, что Вы использовали слишком большие винты М3, тогда как достаточно маленьких винтов М1.5 или М2. И к тому соединительные планки, чтобы не уродовать внешний вид, следует крепить со стороны пайки (где их не видно), а не со стороны монтажа деталей. Соединительные планки лучше выпиливать из тонкого (0.5 мм) нефольгированного текстолита, закруглив напильником края пастинки (чтобы не повредить провода, острыми краями).

Доп.платы выгоднее размещать не вторым этажом, а в той же плоскости, тогда не видны соединительные провода и высоко-эстетичный дизайн не портится. Для монтажа с обратной стороны платы удобнее ПЭЛ-0.25.

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


восстановил память
Не понял как память второй банки (банки цвета) получилась на статике без применения четырёх дополнительных КП11 или защелки адресов по /RAS, ведь мультиплексированные адреса с КП12 не годятся напрямую для статического ОЗУ, т.к у статических ОЗУ адреса немультиплексируемые (без защёлки их по /RAS, /CAS). Расширять ОЗУ статикой без установки КП11-тых можно только для банок с третьей и выше (куда видео-часть уже не "лазиит"), отчего адреса можно подавать прямо с процессора.

Electricman
14.01.2018, 17:31
Всё, что меньше М3 - увы, довольно большой дефицит. Да и внутри корпуса всё равно не видно этого, поэтому и не получаются дополнительные платы в плоскости.
Перевести монтаж на эмальпровод мне давно советуют, но у меня только есть 0.12 и 0.38мм - первый шибко тонкий, второй - уже довольно жёсткий.

Цвета у меня нет, ибо за столько лет так и не появилось цветного "монитора" под орион у меня. Переделывать простые мониторы мне дико лень (по сути, сызнова делать строчную и кадровую развёртки, ну, кадровую просто подрегулировать), а на всех телевизорах результат печальный был. Поэтому все три страницы памяти работают только с процессором, через одну DD50.
Хотя, восстановить цвет тоже большой проблемы нет, обратно вставить РУ5 первой страницы, и её атрибуты - ИР82, ИР13, КП2.

Denn
14.01.2018, 19:25
Ч/б Орион это как-то неправильно! Не для того роза цвела... (С)


https://pp.userapi.com/c831109/v831109596/46972/lGm-zEkTn1c.jpg
;)

makbar
15.01.2018, 22:05
Прошу прощения за оффтоп, вот что я сегодня нашел в гараже:
http://maksoft.myjino.ru/pict/intel_hb_8085.jpg

Denn
16.01.2018, 11:42
makbar, это была попытка сделать Орион с одним питанием и аутентичным ЦПУ?

makbar
16.01.2018, 11:54
makbar, это была попытка сделать Орион с одним питанием и аутентичным ЦПУ?

хз. я не помню) но судя по цифрам 8085, ты недалеко от истины.

Denn
16.01.2018, 12:03
makbar, хорошая задумка была задушена американскими технологиями? ;)

makbar
16.01.2018, 12:20
makbar, хорошая задумка была задушена американскими технологиями? ;)
что ты имел ввиду?
я не помню что-бы я серьёзно занимался 8085-м.... по Z80-да...я даже встречался с Роговом и Бриджиди.
Мне особо это было не нужно, у меня и так орион, как программатор работал как часы, да и для Радио нужен был надежный контроллер, работающий с классическим Орионом.

Denn
16.01.2018, 12:31
что ты имел ввиду?

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

makbar
16.01.2018, 13:00
Denn, это да, но у моего ориона другая судьба была) перестал быть нужен программатор и все.
а на PC я с 91г...вроде. 92й точно - мне выделили раздел на 386 машине)) PCAD и CUPL то где то надо было запускать ;)

Ты мне лучше напомни... что там с полярностью стороны в SPDOS/DSDOS ... а то я тут в другой теме запутался с полярностью.

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

http://zx-pk.ru/threads/28485-rk-kngmd-dlya-quot-spetsialista-quot.html?p=945722&viewfull=1#post945722

Denn
16.01.2018, 13:15
Ты мне лучше напомни... что там с полярностью стороны в SPDOS/DSDOS ... а то я тут в другой теме запутался с полярностью.

Всё хорошо, в SPDOS она плюсовая :) В отличии от всех остальных реализаций. В DSDOS вариант "унисекс": в порт конфига твоего выдаётся "+", в порт авторского (или какая там версия в стандартной поставке "рев.512" от Zorel'а? Я уже запутался в этих вариациях на тему..) выдаётся "-".

makbar
16.01.2018, 13:21
Всё хорошо, в SPDOS она плюсовая
а точнее?
в регистр стороны пишу 0, на шине накопителя 1, это "нижняя" сторона логически нулевая, как на PC?


отличии от всех остальных реализаций.
т.е. CP/M дискеты не читались на PC?

Denn
16.01.2018, 13:42
makbar, вот причинные участки из кода ОС:


RG_CMD:EQU 0F700H; Р-Р КОМАНД
RG_TRK:EQU 0F701H; Р-Р ДОРОЖЕК
RG_SEC:EQU 0F702H; Р-Р СЕКТОРОВ
RG_DAT:EQU 0F703H; Р-Р ДАННЫХ
RG_REQ:EQU 0F704H; Р-Р ЗАПРОСОВ (КОРОТКИН)
RG_CFG:EQU 0F708H; Р-Р КОНФИГУРАЦИИ
; D1=DRV, D0=SIDE
RG_CF2:EQU 0F720H; D4=/SIDE, D2=0, D1&D0=DRV

...

SetCFG:
; КОНФИГУРАЦИЯ FDD
; I: [M_LDRV], [M_SIDE]
LDA M_LDRV
CMA
ANI 1
PUSH PSW

; УСТАНОВКА ВРЕМЕНИ ПОЗИЦИРОВАНИЯ ГОЛОВОК
LDA M_RAT0
JZ $+6
LDA M_RAT1
STA M_RATE

; УСТАНОВКА УКАЗАТЕЛЯ ДОРОЖЕК НА ПОСЛЕДНЕЕ ЗН-Е
LDA M_TRK1
JZ $+6
LDA M_TRK2
STA RG_TRK
POP PSW
RLC
PUSH B
MOV B,A

; ОПРЕДЕЛЕНИЕ ТИПА кнгмд
; F704h=FFh - АВТОРСКИЙ, ИНАЧЕ - КОРОТКИН
LDA RG_REQ
INR A
LDA M_SIDE
JZ IsFDC2
MVI C,RG_CFG
ORA B
JNC SvFdCf; =JMP SvFdCf

IsFDC2:
; КОНФИГУРАЦИЯ ДЛЯ кнгмд v3.30
MVI C,RG_CF2
XRI 1
RRC
RRC
RRC
ORA B
RRC

SvFdCf:
MVI B,0F7H; F7xx
STAX B; STA RG_CFG/RG_CF2
POP B
RET



Касательно дискет СР/М и чтения их на писюках не подскажу, эти вопросы меня не интересуют.
Чисто с программной т.з. в своё время обнаружил следующее, что в твоём КНГМД бит стороны имеет прямое соответствие (стороне 0 соответствует значение бита "0" и т.д.), в других КНГМД зачем-то используется "египетская" система соответствия. Где-то "в этих ваших интернетах" слышал звон, что якобы уши инверсной логики растут из забугорных схем, и что якобы так было проще реализовать аппаратно, а программно просто подстроились, ну а наши, разумеется, тупо скопипастили готовые аппаратно-программные решения, особо не вникая. Как-то так.

barsik
16.01.2018, 13:48
полярность стороны в SPDOS... плюсовая. В отличии от всех остальных реализаций.т.е. CP/M дискеты не читались на PC?
Если Вы не знаете, то на PC в 90-тые уже не применяли CP/M-86, а применяли MSDOS и потому напрямую читать CP/M-диски IBM PC не мог. Но специально для обмена файлами с CP/M дисками были распространены две программы: SmartDisk Version 1.2D и Media Master V 4.11. И обе они читали CP/M-дискеты ОРИОНА и СПЕЦИАЛИСТА.

А если там что-то перепутано, то CP/M-BIOS и аппаратура контроллера дисковода бралась от Корвета. А они скорее всего тоже не изобретали велосипеда, а заимствовали с западного компьютера, скорее всего от TRS-80, потому что в книге про Корвет, написанной авторами Корвета, упоминается TRS-80 с дисководом, что имелся в наличии в ВУЗ-е, где работали авторы КОРВЕТА. На это же указывает и формат текстового экрана Корвета 64 символа в 16-ти строках, как в TRS-80.

Корвет разработали в 1985-86 в МГУ на факультете ядерной физики учёные физики, т.е совсем непрофессионалы в электронике и ПО, так что схему контроллера они скорее всего заимствовали с западных образцов, потому что ВГ93 тогда только появилась в стране и на отечественных серийных ЭВМ еще не применялась.

OrionExt
16.01.2018, 14:00
Ну так MS-DOS тоже скопипастили с CP/M, а что бы по судам не затаскали придумали FAT12 и прикрутили. Очень хорошо это видно в первой версии MSX-DOS. Делал ее то же человек что и MS-DOS.

Вся история - это сполшной копипаст. И кто первый скопипастил тот и на коне:D

Denn
16.01.2018, 14:34
Я так полагаю, что в итоге соответствие сторон на всех платформах одинаковое. Различие лишь на участке: ПО - порт конфигурации - КНГМД. В забугорных контроллерах не делается аппаратная инверсия сигнала, но видимо сам по себе сигнал SIDE на накопителе инверсный: активный уровень низкий, т.е. для активации второй стороны (№1) нужно в порт записать лог. "0", поэтому программно код стороны "египетский" (стороне 0 соответствует значение бита "1" и т.д.).

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


Вся история - это сполшной копипаст.

Копипаст - это когда тупо, не вникая. И в историю входят уникальные вещи, а не копипаста. Копипаста априори вторична.

OrionExt
16.01.2018, 14:42
И в историю входят уникальные вещи, а не копипаста. Копипаста априори вторична.
В историю то входят, только ларвы часто достаются копистерам, а автора оригинальной идеи без литра водки найти не так уж просто. Хотя реально все еще сложнее. Вон копипастер MS-DOS остался не удел своего детища, а дальше вы и сами знаете:D

barsik
16.01.2018, 14:45
Ну так MS-DOS тоже скопипастили с CP/M
А вот тут Вы ошибаетесь.

MSDOS это совсем другая система и кстати намного более пригодная для больших дисков (винчестеров). Формат FAT12 и MSDOS изобрёл Тим Паттерсон. Никакого "копипаста" не было. И всё что Microsoft заимствовала у CP/M это номера функций BDOS. Хотя и заимствовать номера запрещено. Но Билл Гейтс был бы идиотом, если бы не совместил номера функций BDOS. Потому что в 8088 как подмножество входят регистры и соответствующие команды КР580, т.е к каждой команде КР580 есть эквивалент в 8088. Отчего имея программу простейший транслятор исходников, авторы программ для CP/M имея исходник за 10 минут получали работающую программу для MSDOS. А такой транслятор исходников сразу изначально входил в дистрибутив MSDOS (этот транслятор, кстати, тоже написал Тим Паттерсон).

Потому, когда MSDOS вышла, она вышла совсем не голой, как другие DOS для других ЭВМ, а вышла сразу снабжённая тысячами программ перетранслированными с CP/M. Таким образом Билл Гейтс спаразитировал на CP/M. Но перед Гарри Килдэллом Билл Гейтс виноват по другому поводу. Digital Research решила подать в суд на Microsoft за совмещение номеров функций BDOS и паразитирование. И это бы получилось. За 5 лет до этого Motorolla выиграла иск против MOS technology запретив в их процессоре 6501 совместимость по ногам с 6800. И тут бы получилось, т.е вышел бы запрет продавать DOS совместимую по номерам функций с CP/M.

И вот тут Билл Гейтс вступил в переговоры с Гарри Килдэллом и убедил его снять иск на условии, что в комплект поставки IBM PC будут входить две DOS - и MSDOS и CP/M-86. И так и было до середины 80-тых. Но Microsoft отказалась выпускать версии своих программ для CP/M-86. И в итоге CP/M-86 утратила популярность и в конце 80-тых совсем вымерла. А Гарри Килдэлл, который по заслугам должен был стать милиардером вместо Билла Гейтса, из-за этого стал много пить и в начале 90-тых был убит в пьяной драке в баре, а фирма Digital Research разорилась.

OrionExt
16.01.2018, 14:53
barsik, да не где я не ошибаюсь. FAT - придумал Паттерсон (о чем и написал). Остальное – это чистая CP/M с косметическими изменениями пускай и переписанная на новый процессор (или старый Z80).

Так что революции тут не произошло.

И ни кто и не говорил, что копипастеры круглые идиоты. Держали нос по ветру.

А 16-битки почти ничего нового не приобрели (в отличи от MSX. Там действительно очень органично старый софт вписался под MSX-DOS) от установленной MS-DOS. Весь новый софт был написан в будущем.

barsik
16.01.2018, 15:11
Ну так MS-DOS тоже скопипастили с CP/MА вот тут Вы ошибаетесь.да нигде я не ошибаюсь
Да, нет ни одного байта из CP/M в MSDOS 1.0. Судите сами. CP/M состоит из 3-х частей, также как и MSDOS 1.0. Но все эти части в обоих DOS кардинально различаются.

BDOS CP/M жёстко привязан к идеологии CP/M. Его при всём желании Билл Гейтс не смог бы украсть. BDOS пришлось писать с нуля. Убогий CCP CP/M (это аналог COMMAND.COM) заимствовать было бы просто глупо. А BIOS содержит подпрограммы низкого уровня, они привязаны к железу, т.е к формату экрана, клавиатуре и контроллеру дисковода. Покажите мне хоть немного близкий к PC XT компьютер имеющий CP/M, откуда можно было бы "спионерить" BIOS. Такого тоже нет. Значит и BIOS в Microsoft написали с нуля.

Потому говорить можно только о заимствовании номеров функций BDOS. А все DOS содержат один и тот же набор функций - это работа с клавиатурой, экраном и с файлами на внешнем носителе. Потому, даже если бы номера функций и их идеологию не совместили, то в MSDOS был бы тот же самый код BDOS, но чуть с иными номерами функций. Гарри Килдэлл понимал, что даже если заставить Microsoft убрать совместимость по номерам, это не особо поможет, а лишь заставит тысячи авторов CP/M чуть больше трахаться с адаптацией своих программ для MSDOS. Решающей была совместимость процессоров на уровне исходного кода, а это уже заслуга фирмы Intel.

OrionExt
16.01.2018, 15:29
Потому, когда MSDOS вышла, она вышла совсем не голой
Ага не голой. С небольшой кучкой новых и старых программ CP/M на скорую руку переписанных под новый процессор.


Да, нет ни одного байта из CP/M в MSDOS 1.0. Судите сами. CP/M состоит из 3-х частей, также как и MSDOS 1.0. Но все эти части в обоих DOS кардинально различаются.
Конечно не одного байта из CP/M. Процессоры то другие.

Чем же кардинально меняется вся идеология CP/M? BIOS – затачивается под железо, BDOS – тот-же за вычетом FAT, ССP – та-жа.

От перестановки мест слагаемых (BIOS, BDOS, CCP) сумма не меняется - шутка. Получился CP/M c новой файловой системой FAT:D

Error404
16.01.2018, 15:40
Смешной какой-то спор.

Когда китайцы покупают два русских истребителя или два танка (хотя наши им пытаются продать партию в сотню машин) чтобы разобрать и скопировать все лучшее (или что получится), то русские считают что у них украли идеи, а китайцы - что на основе изученного выпустили что-то своё (метал то свой, да и добавили кое-что - появились же новые идеи в мире спустя столько то лет от выпуска тех машин, да и внешне крашено по-другому). Правы в чем-то наверное оба, но говорить что китайцы всё придумали сами - тоже против правды. Когда я пробовал писать под MS-Dos, то список BDOS-прерываний выглядел так привычно, что мне после CP/M даже не понадобились справочники. И это уже была середина 90-х, что-то до этого времени билгейтс не придумал ничего нового (а это уже 10 лет после смерти CP/M - вечность в IT), дальнейший крупный собственный (впрочем и тут есть сомнения - уже в передирках из OpenVMS в WinNT3) шаг они сделали только c середины 90х с появлением Win32 API (и чуть ранее стартанувшая WinNT3).

OrionExt
16.01.2018, 15:46
Error404, та я и не спорю. Все очевидно. Глупо это отрицать. Господин barsik по привычке полез в дебри.

Error404
16.01.2018, 16:04
ИЧСХ (http://lurkmore.to/%D0%98%D0%A7%D0%A1%D0%A5), Digitall (DEC) билгейтс тоже в своей неповторимой манере кинул на предмет обговаривавшегося сотрудничества, в рамках которого сотрудники переведенные в M$ из DEC писали ему код ядра и API WinNT3. А какие были планы: и эмулятор x86 на Альфах запустили (можно было выполнять приклад от WinNT x86 без трансляции, медленновато - но все же где вы такое видели в середине 90-х на других платформах?), и WinNT3 вышла одновременно и на x86 и на Альфах (лично ставил и использовал NT на Альфе, т.е. была версия NT в коде процессоров Альфа, и SQL-server, и кое-что еще по мелочи). Ну а потом, когда WinNT показала фантастический успех (на котором М$ паразитировала следующие 20 лет выпуская упрощенные клоны W95/W98 и усовершенствованные клоны WinNT4 и далее 2000/XP, Vista, W7...), DEC-ам сообщили что они больше M$ не интересны, в новых версиях обещанного сопровождения Альф не будет и т.п.

OrionExt
16.01.2018, 16:14
Ну, уж совсем оффтоп.


Ну а потом, когда WinNT показала фантастический успех (на котором М$ паразитировала ...
Да если бы паразитировала, а так тянула на дно. И только с выходом WinXP (ядро NT) все более менее устаканилось.

Error404
16.01.2018, 16:38
Ну, уж совсем оффтоп.

Да если бы паразитировала, а так тянула на дно. И только с выходом WinXP (ядро NT) все более менее устаканилось.

Не-не, WinNT 3 и 4 версий была крайне успешна - стабильна и востребованна, но в бизнес-сегменте. Особенно в паре с MS-SQL (или с Sybase) в России (да и всем ex.USSR, думаю), где денег у народа на более лучшее типа DEC OpenVMS+RDB не было, предыдущее (Win3xx) было убого (в критериях high end) , а функциоанльно аналогичная связка UNIX+Oracle для x86, пригодная в enterprise сегмент, зашла существенно позже. Вот W95 при всей распространенности у конечных пользователей была не такая стабильная, что и было исправлено внесением туда ядра WinNT (что дало на выходе XP)

ЗЫ. Вечером M$-тематику удалю за оффтоп, особо на эту тему не написывайте чтобы потом не обижаться, а пока пусть повисит (какой-никакой а контент же, а то тишина "и мертвые с косами стоятъ")

makbar
16.01.2018, 19:25
Ау, господа! Вы перешли на другой уровень, так и не раскрыв то, о чем я хотел внести ясность. я не про совместимость файловых систем, и кто у кого украл код cp/msdos

При записи сектора вносится номер стороны. Какая же реально сторона при этом записывается ВГ93 не знает. При считывании, я вижу ВГ может игнорировать метку стороны, а может и нет - разные команды.
Теперь вопрос, что пишет и как контроллер ibmpc. Мне кажется он котроллирует сторону при чтении.
Именно поэтому тут человек отмечает проблему:
http://zx-pk.ru/threads/28485-rk-kngmd-dlya-quot-spetsialista-quot.html?p=945608&viewfull=1#post945608

поправьте меня, если я что-то забыл.

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


ЗЫ. Вечером M$-тематику удалю за оффтоп, особо на эту тему не написывайте
да, меня интересовала только схемотехника контроллеров ВГ93 vs ibmpc

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


Если Вы не знаете, то на PC в 90-тые уже не применяли CP/M-86, а применяли MSDOS и потому напрямую читать CP/M-диски IBM PC не мог.
а вы знатный оффтопер, как я заметил ;) я так вообще CP/M нигде не применял)
теперь по делу: что значит читать на прямую? посекторно? тогда это меня интересует (ибо оно в рамках вопроса) или файлово - тогда это оффтоп и меня не интересует.

Eltaron
16.01.2018, 19:42
BDOS – тот-же за вычетом FAT
Так ведь BDOS за вычетом FAT - это 2-3 килобайта кода, который написать с нуля - это всего несколько недель работы. Когда китайцы сдирают наши самолеты - это хотя бы десятки человеко-лет, есть о чем дискутировать.
А в BDOS самое ценное - это его продуманная структура. Мануал к BDOS - вот где вся архитектура, вот где все человекомесяцы работы архитектора ПО зарыты! Но он открыт, а код по нему написать - с этим даже джуниор справится.

OrionExt
16.01.2018, 20:04
Так ведь BDOS за вычетом FAT - это 2-3 килобайта кода, который написать с нуля - это всего несколько недель работы.
Действительно. Во время было. Тут (https://www.msx.org/wiki/The_History_of_MSX-DOS) можно почитать, как была перенесена MS-DOS, наверное, на единственную 8-битную систему. MSX-DOS на 99% совместима с CP/M.


Теперь вопрос, что пишет и как контроллер ibmpc.
Тут, наверное, надо смотреть в сторону подмножеств BIOS-ов для IBM и в частности BIOS-а для ВГ93. Но где это найти я не знаю.

makbar
16.01.2018, 20:33
Тут, наверное, надо смотреть в сторону подмножеств BIOS-ов для IBM и в частности BIOS-а для ВГ93. Но где это найти я не знаю.
необязатеньно. можно взять любую дискетку из под PC и попробовать прочитать орионом по одному сектору с кажой стороны)

barsik
16.01.2018, 22:48
BDOS – тот-же за вычетом FAT
Так ведь BDOS за вычетом FAT - это 2-3 килобайта кода

OrionExt, BDOS не тот же !!! Я уже чётко написал, что BDOS в обоих системах абсолютно разные, там нет даже чуть-чуть похожих участков кода, там совсем другие алгоритмы. Потому-что BDOS работает с файлом на основе формата каталога и формата дискеты. Форматы каталога совершенно разные. В MSDOS в каталоге нет номеров блоков и кучи экстентов для каждого файла, отпадают многократные сканирования каталога и построение Allocation Table.

Не мог Билл Гейтс при всём желании, хоть что-то из кодов даже путём конверсии исходников заимствовать. И даже алгоритмы и те не мог заимствовать. Потому-то MSDOS это совершенно другая DOS. Да и дисковые функции это очень маленькая часть BDOS MSDOS, вспомните хотя бы что в CP/M нет управления памятью. Убедитесь, что я прав почитав статью о том, как была создана MSX-DOS. Если бы Вы были правы, то её легче было бы получить из CP/M, а пришлось делать конверсию из MSDOS, потому что это две АБСОЛЮТНО разные системы.

Статьи в Интернете иногда пишут некомпетентные люди, оттого там иногда встречается такая глупость, как обзывание MSDOS клоном CP/M. Билл Гейтсу можно поставить в упрёк многое, но в данном случае он никого не обманул, ничего не украл и MSDOS это совсем другая новая DOS. MSDOS для программиста лишь по интерфейсу похожа на CP/M. Но это не означает плагиат.

И неправда, что Microsoft никак не доработала программный интерфейс. Уже через два года выпустили MSDOS 2.0 с другим методом доступа к файлу, а метод FCB из CP/M объявили устаревшим. Привыкнув к методу FCB, я и для MSDOS программ использовал метод FCB, но при переходе к MSDOS с бОльшим объёмом дисков (а тем более к Windows) эти программы перестали работать, если объём партиции большой. Кстати и не 10 лет после смерти CP/M MSDOS не дорабатывали. Каждые 2-3 года была новая версия, а многозадачная OS/2 вообще полностью изменила MSDOS (но Билл Гейтс решил и с ней кинуть конкурентов).

Размер BDOS CP/M 2.x ровно 3.75 кб, а в версии CP/M 1.x размер BDOS был даже больше (несмотря на то, что функций там меньше, т.к ранние версии CP/M были написаны на PL/M, что даёт объём кода на 30% больший чем ассемблерный аналог). По сути сложная логика есть только в BDOS, остальное пишется за считанные дни. Да и написание BDOS уровня MSDOS 1.0 или CP/M с отладкой занимает у программиста максимум 3 недели. А время для написания MSDOS 1.0 было не менее года.



Если Вы не знаете, то на PC в 90-тые уже не применяли CP/M-86, а применяли MSDOS и потому напрямую читать CP/M-диски IBM PC не мог.
а вы знатный оффтопер, как я заметил
Из-за того, что я в состоянии отвечать подробно, я не делаюсь оффтопером. Зачем Вы хотите меня обидеть? Да и вообще, если разговор о рэтро-железе или рэтро-ПО, то это всё в теме.

Из этой цитаты никак не следует, что это оффтоп и речь не об ОРИОНЕ и уж тем более переходить на личности незачем. Ранее Вы предположили, что была несовместимость по служебной (межсекторной) информации относительно дискет MSDOS, отчего на MSDOS могли быть проблемы, если посекторно читать дискеты средствами PC ROM-BIOS. Я и ответил, что напрямую читать нельзя, но специальными программами всё читалось. Т.к тема флеймовая, всё где упоминается ОРИОН - это в теме.


подмножеств BIOS-ов для IBM и в частности BIOS-а для ВГ93. Но где это найти не знаю.
В PC контроллер не на ВГ93, вряд-ли даже самые плохие клоны используют его. А исходник MSDOS 1.0 недавно стал доступен для скачивания.

Eltaron
16.01.2018, 23:05
MSDOS для программиста лишь по интерфейсу похожа на CP/M. Но это не означает плагиат.
Так "клон" и не значит "плагиат". Linux с файловой системой ext - это клон Minix с файловой системой minixfs. Хотя их код не совпадает абсолютно.

И вообще, это "лишь по интерфейсу" звучит как будто код - это прям "оооо", а интерфейс - так, фигня на салфетке написанная. Но ведь интерфейс, особенно такой лаконичный, но покрывающий всё, что нужно пользователю, это такая же важная часть, как и его реализация. Именно из-за удобства/неудобства интерфейсов одни либы используются по 40 лет, а другие забывают через год. И, между прочим, с точки зрения рынка, труд архитектора тоже заметно выше оплачивается, чем труд кодера.

Смог бы Торвалдс написать Линукс, не проштудировав Танненбаума? Не факт. Так и Патерсон далеко не факт, что смог бы родить что-нибудь достойное, если бы не воспользовался (бесплатно!) архитекторским талантом Килдалла.

makbar
16.01.2018, 23:27
Ранее Вы предположили, что была несовместимость по служебной (межсекторной) информации относительно дискет MSDOS, отчего на MSDOS могли быть проблемы, если посекторно читать дискеты средствами PC ROM-BIOS.
не межсектоная информация, а заголовок сектора.
И меня только лишь интересует какое значение стороны в этом заголовке для верхней стороны и для нижней, и какие они у msdos и cp/m

OrionExt
16.01.2018, 23:37
barsik, да что вы к коду прицепились, понятно, что он другой. Разве я утверждал, что там код украден? Иначе и быть не могло. И набором функций MS-DOS не сразу обросла. И каталоги там появились, только начиная с версии 2.0.

Та же эволюция просматривается и в MSX-DOS версии 2.Х. Эту версию писали уже японцы, интерес к тому времени у MS к MSX пропал.

Все что я хотел сказать, что MS-DOS на старте была по факту слегка улучшенная CP/M. Ничего революционного в MS-DOS нет. Просто умело скопипастили интерфейс (интерфейс - слова Eltaron) и перенесли на новую платформу. Дальше MS-DOS начала развиваться своим путем.

Вот и все.

makbar
16.01.2018, 23:57
почитал таки маркса, энгельса и прочие даташиты.
резюмирую:
первая 0-сторона (нижняя) выбирается когда на интерфейсном кабеле высокий уровень. Односторонние накопители имеют только эту сторону.
вторая 1-сторона (верхняя) выбирается нижним уровнем сигнала на кабеле.

У меня запись логического "0" в регистр стороны инвертируется вентилем с открытым коллектором и уходит в интерфейс=>высокий уровень=>выбор нижней, 0-стороны.
Насколько я понимаю у IBMPC также, а у CP/M наоборот.

barsik
16.01.2018, 23:59
"лишь по интерфейсу" звучит как будто код - это прям "оооо", а интерфейс - так, фигня на салфетке написанная
А вот почти так. Интерфейс это именно фигня, а вот "оооо" это не код, а как раз то, что и является архитектурой DOS, - структура каталога и формат дискеты. И гораздо более симпатичны и выгодны идеи из Apple-DOS, PRODOS и MSDOS, а не CP/M.

Придумать каким образом передавать имя файла из программ в BDOS это вообще не проблема. Это вообще не труд и не достижение. В CP/M это сделано удобно, но в других DOS удобнее. А функции во всех DOS одинаковы. Не было никакого достижения в придумывании интерфеса программиста для CP/M. Совсем не это составляет сложность в придумывании DOS.

А 99% сложности составляет придумать удобную структуру каталога и формата дискеты. Я в конце 90-тых пытался придумать свою DOS, устраняющую недостатки CP/M. Потому разбирался в форматах разных DOS для 8-ми разрядок. Потому знаю, что сложно придумать именно идею DOS, а интерфейс придумает и ребёнок.

В 90-тые я сделал три свои DOS. Одну на базе CP/M (идея для ускорения, разбить каталог и диск на части). Вторая просто полный клон Apple-DOS (но с интерфейсом CP/M, т.к в Apple-DOS интерфейс бейсиковый). А в третьей в каталоге хранились как записи о файлах, так и записи о свободном месте в том же самом виде как и записи о файлах, что позволило избавиться от Allocation Table или FAT и ускорить работу, что важно для медленной машины.

Потому-то я и могу утверждать, что придумать интерфейс это не достижение, а именно фигня. Потому упрекать Билла Гейтса за заимствование интерфейса глупо. Он бы сделал лучше, но был просто вынужден использовать интерфейс CP/M.

Достижение Гарри Килдэлла не в интерфейсе и не в качественном кодировании BDOS, а именно в структуре каталога. Для интереса, для компьютера "Хоббит" в 1990 по неизвестным причинам написали свою CP/M. По описаниям функций сделали полный клон и программы CP/M работали. Причём ни байта от Гарри Килдэлла не было использовано.


MS-DOS на старте была по факту слегка улучшенная CP/M. Ничего революционного в MS-DOS нет
Все знают, что это не так.

MSDOS работает с дисками в гигабайты, т.к каталог не один общий на весь диск. А CP/M начинает тормозить уже начиная с объёма винчестера в 4-5 мб. Не считая тормознутость обусловленную гигантскими объёмами каталога при больших дисках и необходимостью их сканировать для поиска файлов и построения Allocation Table, то даже просто по своей архитектуре CP/M не может иметь больших дисков. CP/M была написана в 1973, а MSDOS в 1981 и не идиоты работали в Microsoft, сознательно отказавшись от более простых и лёгких в реализации идей CP/M.

Error404
17.01.2018, 01:01
MSDOS работает с дисками в гигабайты, т.к каталог не один общий на весь диск. А CP/M начинает тормозить уже начиная с объёма винчестера в 4-5 мб. Не считая тормознутость обусловленную гигантскими объёмами каталога при больших дисках и необходимостью их сканировать для поиска файлов и построения Allocation Table, то даже просто по своей архитектуре CP/M не может иметь больших дисков. CP/M была написана в 1973, а MSDOS в 1981 и не идиоты работали в Microsoft, сознательно отказавшись от более простых и лёгких в реализации идей CP/M.

Это, мягко говоря, не так. FAT12, с которой началась MSDOS, имела ограничение размера ФС в 32Мб (меньше чем у современной ей CP/M 2.x, у которой ограничение ФС 0.5Gb - т.е. у первых MSDOS меньше в 16 раз). И про тормознутость на "гигантских" разделах в 4Мб мы уже обсуждали полгода назад, где я долго и аргументированно рассказывал на примере реально работающих у людей (в этом разделе присутствующих в количестве) и на тормоза не жалующихся клонов CP/M 2.2 с грамотно настроенных в DPH реализаций до 100мб размером, но видимо не впрок пошло.

Также по собственному опыту, версии MS-DOS отличались крайне мало (я застал от 3.х до 6.х). Да, у них росли лимиты файловых систем вслед за размером носителей, но это что прорывные технологии что ли?

OrionExt
17.01.2018, 01:02
barsik, вы сами додумываете мои сообщение и продолжаете дискуссию. Увы, я не фанат системы FAT;)

barsik
17.01.2018, 02:31
Это, мягко говоря, не так
Что не так? Что MSDOS работает с большими дисками? Что у CP/M один общий каталог на весь диск? Что CP/M приходится строить Allocation Table и сканировать гигантский каталог затрачивая время, тогда как в других DOS это есть в готовом виде, а каталог на порядки меньше.


CP/M 2.x, у которой ограничение ФС 0.5 Гб
Теория это одно, но ещё нигде не встречал упоминаний о реализациях CP/M с размером диска более 8 мб. Это связано с основным недостатком CP/M - один общий каталог на весь диск. При 512 мб диске каталог будет вмещать 131072 экстентов. Каждый экстент имеет размер в 32 байта и общий размер каталога составит 4 мб. Каталог сканируется постоянно и много раз при каждой дисковой операции, а не только по SELDSK для построения Allocation Table. Со скоростями 8-ми разрядок, т.е ~4 МГЦ сканирование 4 мб займет минуты.

Кроме того, при размере блока в 16 кб, с учётом маленьких размеров файлов, диск используется лишь на 50% и менее. Да и насчёт возможности иметь в CP/M диск в 512 мб, очень сомневаюсь.


в теме, где я долго и аргументированно рассказывал на примере реально работающих у людей
Это оне так. Перечитайте тему. Никаких примеров Вы там не привели. Аргументов тоже ни одного. И нашёлся только один человек, который имел хоть какой-то опыт с CP/M с большим диском. Да и он использовал турбированный до 7 МГЦ клон ZX. Голословными утверждениями не убедили. Я наблюдая торможение в CP/M уже при HD-дискетах в 1620 кб. Винчестер не может быть много быстрее, т.к скорость обмена ограничивает не винчестер, а быстродействие процессора.

Зато в 1991 своими глазами видел в работе американский CP/M-компьютер с винчестером (вероятно 10 или 20 мб, в 80-тые бОльшие объёмы винтов не применялись). Так вот он был дико тормознут при командах CCP. Потому меня не удивило, когда у меня CP/M с партицией 8 мб стала тормозить и пришлось разбить винт на партиции по 4 мб. А MSDOS на 386-той с тем же самым винтом, причём с одной партицией на весь диск работала без всякого торможения, т.е медленность именно того винта не особо влияет.

В любом случае, я верю логике и своим глазам, а не рассказам из серии "одна бабка сказала". Вернёмся к теме тормознутости CP/M при больших дисках позднее, когда я попробую CP/M с другим винчестером и бОльшим размером блока.


Увы, я не фанат системы FAT
Я тоже. Как раз предпочитаю CP/M. Но важна правда.

Error404
17.01.2018, 12:11
Это не так. Перечитайте тему. Никаких примеров Вы там не привели. Аргументов тоже ни одного. И нашёлся только один человек, который имел хоть какой-то опыт с CP/M с большим диском. Да и он использовал турбированный до 7 МГЦ клон ZX. Голословными утверждениями не убедили. Я наблюдая торможение в CP/M уже при HD-дискетах в 1620 кб. Винчестер не может быть много быстрее, т.к скорость обмена ограничивает не винчестер, а быстродействие процессора.


Ну как же не привел? :) Когда я не только рассказывал как оно устроено, но даже скриншоты прикладывал (http://zx-pk.ru/threads/27362-samodelnyj-komp-na-i8080.html?p=901156&viewfull=1#post901156), где dir с рабочей партиции показывает в Total size размер в 32Mb, причем это не самый большой из примеров, это просто дежурный образ в котором распространялись программы для АльтаирДОС для удобства простейшей установки ОС вида "залей образ на SD/IDE и играй" (а сама ОС 100% клон от CP/M 2.2, и даже с документированными ошибками переполнения fileseek, которые мы исправляли с b2m), были партиции и большим размером (до 64Мб) - в разных архивах разных образов. Именно на больших партициях и больших файлах (более 512кб) всплывала та ошибка (проверяли на файлах размером до 4Mb - уже один файл больше чем тот размер на который вы жалуетесь).

АльтаирДос попробовали КМК не менее пары десятков человек (учитывая что только новодельных плат Ориона-128 Rev512 и Ориона-ПРО было продано порядка сотни, где оно присутствует во всех видах - и в виде работающем из ПЗУ, и IDE на ВВ55 порта F600 или SD двух схем, и для дисковода, и во всех вариантах загрузки можно после загрузки "на лету" подмонтировать дополнительные партиции с IDE или SD). Быстродействие было строго равно быстродействию носителя/контроллера/драйвера, а не функцией от размера ФС. Конечно, по субъективным ощущениям, но ведь и CrystalMark для CP/M пока никто не написал - чтобы все померять и выложить красивые картинки производительности IO. Размер там меня ограничен в суммарные 100Мб только потому, что таков буфер ALV, который обязан находиться в той же странице что и TPA и много места для которого выделять просто жаба душит (уже под 100Мб выделено ALV чуть меньше килобайта).

makbar
17.01.2018, 12:45
Быстродействие было строго равно быстродействию носителя/контроллера/драйвера, а не функцией от размера ФС.
надо понимать, что узкое место это побайтовый обмен через интерфейс, а не простые вычисления по таблицам размещения.
Впрочем можно наколхозить и в алгоритмах FAT.

makbar
18.01.2018, 17:59
Сорри за оффтоп.
меня тут на вашей барахолке забанили, за нарушения мягко скажем, чудных правил продажи ))

OrionExt
19.01.2018, 16:04
оффтоп. Мне наша уютная барахолка, после относительно недавнего улутшайзинга вообще перестала мне понятна. Хорошо, что там еще раритетными электро-чайниками не торгуют (личное мнение).

makbar
19.01.2018, 20:17
оффтоп. Мне наша уютная барахолка, после относительно недавнего улутшайзинга вообще перестала мне понятна. Хорошо, что там еще раритетными электро-чайниками не торгуют (личное мнение).
я просто пользовался в свое время molotok.ru. там были строгие, но немаразматические правила. Имел там хороший полож рейтинг и отзывы. Странно что ресурс сгинул. Тут же модератор барахолки болен синдромом швейцара.

OrionExt
26.01.2018, 22:59
andreil, пора видимо делать отдельную тему. А то тут затеряется (ого ВМ80):)

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

Сделать раздельный доступ к ОЗУ (видео, просто озу) – это самое сладкое. В свое время – это меня и погубило. Хотел сделать 100МГц-2,5МГЦ. Безумец.

хотя 20-2,5 были успехи.

Успехов=)

Error404
27.01.2018, 00:40
andreil, пора видимо делать отдельную тему. А то тут затеряется (ого ВМ80):)



тут продолжим:
http://zx-pk.ru/threads/28763-eshche-odin-orion-na-plis.html

makbar
03.02.2018, 15:49
Нашел в гараже. Внимание, загадка! Что это?)
http://maksoft.myjino.ru/pict/or_2716.jpg

b2m
03.02.2018, 15:52
Эмулятор ПЗУ?

ПыСы: время на сервере неправильное. 2015 год :)

makbar
03.02.2018, 15:54
b2m, ай молодца. Да, это полный эмулятор рф2(2716), включая режим зашивки в программаторе.
Не внутрисхемный эмулятор, автономный. На фото не видно батерейки, которая к проводкам паялась.

mr.Lee
04.02.2018, 22:39
Что породило данный эмулятор? Дефицит или был другой мотив?

OrionExt
16.02.2018, 19:49
Орион это втророй реальный утенок (второй бо в детском состоянии не обманешь копипастом, MSX первый утенок):)

makbar
25.02.2018, 20:26
Что породило данный эмулятор? Дефицит или был другой мотив?
"Вечная" ПЗУшка для отладки, быстро зашил, вставил, проверил. Если не то что-то, гновенно перепрошил, не тратя время на стирание.
(Если я правильно помню))

Denn
25.02.2018, 21:13
Эмулятор Winbond'а :)

OrionExt
29.03.2018, 23:53
Пока глубокая пауза по причине китайсов и таможни (дятлы держат посылку ). Кто видал тут из живущих на форуме в 2000. Эмулгатор ОрионEXT?)

Mick
11.07.2020, 15:28
Народ, тут пролистывая эти темы, возник безумный вопрос
https://zx-pk.ru/threads/27362-samodelnyj-komp-na-i8080.html?p=900113&viewfull=1#post900113
https://zx-pk.ru/threads/28567-zavodskie-dorabotki-vektora-dlya-chastoty-f-kr580vm80a.html?p=941531&viewfull=1#post941531
А никто не пытался разогнать ВМ80А в Орионе. Пришлепку типа Z80 card не предлагать.
Понятно что при в формировании клоков для ВМ80 задействован синхрогенератор и простое изменение кварца - сразу приведет к улету видео.
Но все таки, может кто пытался такое сотворить и до скольких разгоняли.

zx_
11.07.2020, 16:26
есть импортные 8080 , с частотой 3.125 мгц

8080A-1 (Sometimes called the 8080B) became available later with clock frequency limit up to 3.125 MHz

8080A-1 можно купить, продается

такчто гнать есть куда)

denis74
11.07.2020, 17:14
AM9080A-4DC на 4мгц (полный аналог 8080)
http://www.cpu-world.com/CPUs/8080/AMD-AM9080A-4DC.html
AM9511A-4DC то же на 4мгц завёлся нормально на 5мгц и работает.Радиатор только поставил.
Возможно более свежие версии этих процессоров ,сделанные по новой технологии и техпроцессу смогут и 10мгц.
Но какой в этом смысл? Если менять в Орионе то первым делом проц на z80 до 33мгц версии есть и система команд расширенная.
А с другой стороны интереснее код оптимизировать чем мегагерцы к корявому коду прикручивать )

Mick
11.07.2020, 20:22
Но какой в этом смысл?

Такой же смысл как и во все тут.

Я же сказал, Z80 не рассматривается. Вопрос был в разгоне именно ВМ80А.
Теоретически, если гипотетически применить подход двух кварцев, тоесть для труорионщиков - оставляем 10МГц, а кому хочестя побыстрее - новый кварц для максимального разгона ВМ80А.


8080A-1 (Sometimes called the 8080B) became available later with clock frequency limit up to 3.125 MHz
8080A-1 можно купить, продается

Конечно можно поставить 8080A-1, но каков разгонный потенциал именно нашего камня. Он ведь копеешный :)


AM9080A-4DC на 4мгц (полный аналог 8080)
http://www.cpu-world.com/CPUs/8080/AMD-AM9080A-4DC.html
AM9511A-4DC то же на 4мгц завёлся нормально на 5мгц и работает.Радиатор только поставил.

Где же эту экзотику покупают?

zx_
11.07.2020, 20:37
вм80 в векторе разгоняли точно, даже радиатор присутствовал

denis74
11.07.2020, 22:09
Такой же смысл как и во все тут.

Я же сказал, Z80 не рассматривается. Вопрос был в разгоне именно ВМ80А.
Теоретически, если гипотетически применить подход двух кварцев, тоесть для труорионщиков - оставляем 10МГц, а кому хочестя побыстрее - новый кварц для максимального разгона ВМ80А.


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

Здесь рассуждения были:
http://www.nedopc.org/forum/viewtopic.php?f=91&t=9435

Error404
11.07.2020, 22:30
Самое разумное - использовать КР1821ВМ85 на 5Мгц. ИМХО. Турбировать вдвое тогда можно и на родном кварце. Бонусом - единственное питание 5В, низкое потребление (и соответственно тепловыделение).

Mick
12.07.2020, 08:34
Самое разумное - использовать КР1821ВМ85 на 5Мгц.

Это направление тоже имеет право на существование.


но это на лабе какой нибудь надо с генератором вместо кварца и блоком с регулируемым питаловом ,имею пару десятков разных 8080 , 580 и аналогов интересно канешна погонять но руки не доходят.

Ну про опыты вне компьютеров уже были. Я уже приводил ссылку на разогнанный по словам автора проц - https://zx-pk.ru/threads/27362-samod...l=1#post900113
Речь шла про разгон штатного компа и во что это выливается.
Считаем что Z80 в нашем случае это читерство, а читеров везде банят. :)

Ну а так, для примера, если брать импортный 8080A-1 с заявленной максимальной частотой 3,125МГц, округлим до 3, то 3*4 = 12МГц - второй кварц. И возможно импортный разгонится и до 3,5 => 14МГц
Но пока про наш, "двадцатирублевый" ВМ80А

Mick
17.07.2020, 13:49
Поскольку никаких толком ответов на свой вопрос не получил, значит сделаем вывод что никто с разгоном Ориона на ВМ80 не занимался.
Тогда еще немного пофантазируем. Чтобы удовлетворить свое любопытство можно конечно собрать живой Орион и над ним надругаться, но почему то этот вариант не вызывает у меня интереса. А вот сделать свой клон Ориона с учетом возможных опытов.

Как мне видится или предварительное ТЗ.
1. За основу берем схему классического Орион-128
2. Синхрогенератор и мультиплексоры запихиваем в CPLD типа ATF1504AS в 68 ногом корпусе (они просто у меня есть и куда то их надо пристроить), в этом случае не надо будет что то резать да и проще будет сделать развертку обычную или VGA. Да и арбитр обращения к памяти тоже туда же
3. Память сразу ставим с организацией 256x16 чтобы было 512кб сразу и ни в чем себе не отказывать
4. Вместо ЛА7 ставим типа 170АП3 в надежде на разгон. Разгон хочется в пределах 3.5МГц для нашего ВМ80 и 4МГц для импортного P8080A-1. Допускаю место под радиатор с вентилятором на случай повышенного потоотделения.
5. Плата формфактора mATX, не больше размера платы ZXM-Phoenix
6. Совместимость с оригиналом допускаю не полную (90% программ будет работать это хорошо)

Если такой вариант допустим прокатит, то тогда можно допустим сообразить вариант на ВМ85 и 5МГц

Короче как то так мне все это нафантазировалось.

Denn
17.07.2020, 14:43
Mick, мне кажется, что 3,5 МГц и даже 4 МГц не стоят всех этих заморочек. В работе ПО принципиально ничего не изменится.
Вот 10 МГц - это реально интересно, 20 - ещё интереснее. Имхо.

Mick
17.07.2020, 14:49
Mick, мне кажется, что 3,5 МГц и даже 4 МГц не стоят всех этих заморочек. В работе ПО принципиально ничего не изменится.
Вот 10 МГц - это реально интересно, 20 - ещё интереснее. Имхо.

Возможно, а возможно что отрисовка экрана будет немного веселее.
По сути вопрос чисто спортивный, выжать из ВМ80 все соки, насколько это возможно :)

Denn
17.07.2020, 15:16
Возможно, а возможно что отрисовка экрана будет немного веселее.

Это настолько немного, что никаких практических задач не решит.



По сути вопрос чисто спортивный, выжать из ВМ80 все соки, насколько это возможно :)

Вот честно, никогда не понимал оверклокинг в духе +10..15% на писи. По тестам - да, циферки меняются, по реальной работе за компом - вообще никакой разницы. По мне так надёжность важнее.

Допустим разогнали до 4 МГц, а дальше что?

Ну, "спорт" - да, понятно. Но тут интереснее другие масштабы, например разогнать хотя бы в 2 раза, пусть даже с какой-то дикой системой охлаждения. По крайней мере будет из серии "невозможное возможно" :)

Mick
17.07.2020, 16:00
от честно, никогда не понимал оверклокинг в духе +10..15% на писи. По тестам - да, циферки меняются, по реальной работе за компом - вообще никакой разницы. По мне так надёжность важнее.

Ну тут далеко не 10...15% выходит. Если 2,5МГц = 100%, то 3,5МГц это прирост почти на 40%, а 4МГц на 60%
Я думаю визуально это станет уже заметнее.

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


Допустим разогнали до 4 МГц, а дальше что?

А там видно будет, сначала надо достичь таких высот.
Добиться стабильности и перейти к следующему этапу - ВМ85 :)

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


пусть даже с какой-то дикой системой охлаждения.

Ну не дикую, место под крепеж радиатор а и разъем для вентилятора надо предусмотреть - конечно не сильно габаритные.

Denn
17.07.2020, 16:38
и перейти к следующему этапу - ВМ85 :)

Так может сразу начать с ВМ85 @ 5 МГц?

Error404
17.07.2020, 16:45
Ну не дикую, место под крепеж радиатор а и разъем для вентилятора надо предусмотреть - конечно не сильно габаритные.

Радиатор особо даже крепить не надо, просто наклеить на теплопроводящий скотч 3M (черненький такой) минимальной толщины - он хорошо держит. Я таким клеил радиаторы на процессор OrangePI (всего 10x10х8мм но медный и заметного веса), держит надежно, и тепло проводит хорошо - процу заметно полегчало. У 8080 площадь большая, есть к чему приклеиваться.

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

Другое дело, что возможно сам пластик корпуса проца там будет бОльшим тормозом для теплоотвода

Shumadan
17.07.2020, 17:41
Радиатор особо даже крепить не надо, просто наклеить на теплопроводящий скотч 3M (черненький такой) минимальной толщины - он хорошо держит. Я таким клеил радиаторы на процессор OrangePI (всего 10x10х8мм но медный и заметного веса), держит надежно, и тепло проводит хорошо - процу заметно полегчало. У 8080 площадь большая, есть к чему приклеиваться.

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

Mick
17.07.2020, 19:05
Так может сразу начать с ВМ85 @ 5 МГц?

Не, сначала все соки из ВМ80, а только потом все соки из ВМ85 :)

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


Другое дело, что возможно сам пластик корпуса проца там будет бОльшим тормозом для теплоотвода

Это мы и установим опытным путем. Вроде описывали, что сошлифовывали низ до металла. Но вот почитав товарищей из тем про разгон. Они особо и не шлифовали ничего.

Xrust
17.07.2020, 19:23
Mick, вверх ногами его (80а) надо паять, с обратной стороны платы. Один раз можно ноги ему вывернуть наизнанку. И удобно будет радиатор крепить. Можно даже с азотом заморочиться. На соседнем частном тематическом форуме недавно Барсик делился опытом разгона 80а. Интересно.

Mick
17.07.2020, 19:29
Кстати, еще вопросы, но не много не то о чем я вел речь выше.
Сокращение корпусов или их оптимизация в оригинальном Орионе-128. Что такое уже было - киньтесь темой.
Интересуют такие вопросы:
- меняли ли память с организацией 64Кх1 на 64Кх4. Иными словами вместо 16 корпусов 565РУ5 всего 4 корпуса 64Кх4. Ну или для 256кб их 8 +2 дополнительных буфера.
- меняли ли буферы на АП6 и какой серии
- вместо ИР82 что то ставили?
- вместо ИР13 ставили ИР10 (та что на пиксели) и две ИР11 вместо второй на цвет

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


Mick, вверх ногами его (80а) надо паять, с обратной стороны платы. Один раз можно ноги ему вывернуть наизнанку. И удобно будет радиатор крепить. Можно даже с азотом заморочиться. На соседнем частном тематическом форуме недавно Барсик делился опытом разгона 80а. Интересно.

Пока не хочется выворачивать его наизнанку. В крайнем случае просунем пластинку под пузом, если будет плохо тепло сверху уходить.
Тема эта? - http://www.nedopc.org/forum/viewtopic.php?f=91&t=9435

Там он упомянул что турбировал Специалист связкой ВМ80 + ВК28, но схему так и не привел - только теория.
А вот тут есть и схема и народ собирал. Правда это больше контроллер, там такты на ГФ24 - https://zx-pk.ru/threads/27362-samodelnyj-komp-na-i8080.html

andreil
17.07.2020, 19:46
- вместо ИР13 ставили ИР10 (та что на пиксели)
В Орион-ПРО как раз так и сделано - 4 ИР10, по одной на каждый канал цветности.

Xrust
18.07.2020, 15:20
Правда это больше контроллер
Ну так в этом и преимущество - не нужно частоту проца синхронизировать с видео.

LeoN65816
18.07.2020, 18:24
- меняли ли буферы на АП6 и какой серии
На плате Орион-128.2 (и 128.3) от Error404 предусмотрена замена ВА86 на АП6, я ставил вроде 1533.
А вообще вместо КР580ВА86 идеально подходит 74F545N, на АГАТике (смотри подпись) так и сделал, брал здесь (https://aliexpress.ru/item/4001063679010.html?spm=a2g0o.productlist.0.0.78a11 fe7fGODQ9&algo_pvid=1c757edd-d88d-4da1-94c2-9c8973efe21a&algo_expid=1c757edd-d88d-4da1-94c2-9c8973efe21a-0&btsid=0b8b15f515950841004632087e4759&ws_ab_test=searchweb0_0,searchweb201602_,searchweb 201603_).

Mick
19.07.2020, 08:23
Ну так в этом и преимущество - не нужно частоту проца синхронизировать с видео.

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

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


На плате Орион-128.2 (и 128.3) от Error404 предусмотрена замена ВА86 на АП6, я ставил вроде 1533.
А вообще вместо КР580ВА86 идеально подходит 74F545N, на АГАТике (смотри подпись) так и сделал, брал здесь.

Немного уточню, не идет речь о замене пин-в-пин, только по функционалу. Например в видео части насколько критично будет замена ИР82 например на ИР22 или ИР27.

LeoN65816
19.07.2020, 17:25
Ну в Орионе насколько помню асинхронный доступ к видео части, так что там актуальным это становиться при достаточно частом обращении к памяти.
Вот интересно было бы реализовать на ВМ80 синхронный доступ к памяти, по типу спековского, тогда не надо было бы на "повышенных" скоростях искать двухпортовую память.
Странно как-то ты рассуждаешь...
MSX с VDP 99x8, xGA (CGA, EGA, VGA) имеют на борту отдельную видеопамять, и при обращении к ней процика в произвольный момент времени он дожидается своего разрешенного временнОго окна доступа - асинхронный доступ.
Спек, Вектор, Корвет, Орион, Специалист, Яблочко, АГАТ - доступ двух потребителей (процик и видеоконтроллер) к памяти регламентируется одним синхрогенератором (которым и процик тактируется) - синхронный доступ.
Повышение частоты процика, хоть и кратно, а тем более и не кратно (3.5 МГц и 4 МГц против оригинальных 2.5 МГц - 1.4 Маха и 1.6 Маха соответственно), выливается в тем более асинхронный доступ, тем более двухпортовка "спасет отца русской демократии". ;)
Скажите, я "с Луны свалился"? ;)


Немного уточню, не идет речь о замене пин-в-пин, только по функционалу. Например в видео части насколько критично будет замена ИР82 например на ИР22 или ИР27.
Один из вопросов был про буферы (шинники), я про них и ответил. Про регистры я даже и не заикнулся...


- меняли ли память с организацией 64Кх1 на 64Кх4. Иными словами вместо 16 корпусов 565РУ5 всего 4 корпуса 64Кх4. Ну или для 256кб их 8 +2 дополнительных буфера.
В этом же комплекте плат 128.2/3 была платка памяти под чипы 256Кх4. Насколько я помню, вариант с такой памятью "не взлетел", сошлись на том, что из-за регенерации в 512 строк...

Mick
19.07.2020, 18:28
Спек, Вектор, Корвет, Орион, Специалист, Яблочко, АГАТ - доступ двух потребителей (процик и видеоконтроллер) к памяти регламентируется одним синхрогенератором (которым и процик тактируется) - синхронный доступ.

Я не говорю про регламентировании одним синхрогенератором, я говорю про разбивку доступа проца к памяти и видео. В Спектруме я называю синхронный доступ потому как, там идет разделение доступа память/видео. Проц не может целиком отобрать доступ к памяти, его всегда "прерывает" видеоконтроллер. Под прерывает понимается не остановка проца вайтами, а просто у него пропадает доступ.
В Орионе насколько я понял такого нет и там проц при желании может отобрать время видеоконтроллера целиком, что приведет к выпаданию видео. Вот этот процесс я называю асинхронный - нет четкого разделения доступа проца/видео к памяти.

ivagor
19.07.2020, 18:32
Где же эту экзотику покупают?
Где-то тех местах (https://www.digipart.com/part/AM9080A-4DC), и там даже генератор для него есть (https://www.digipart.com/part/AM8224), но насчет доставки в РФ это большой вопрос.
С такой штукой (я о процессоре, не о 8224) специалист сравнительно удобно разгонять.


вм80 в векторе разгоняли точно, даже радиатор присутствовал
?

Mick
19.07.2020, 18:35
но насчет доставки в РФ это большой вопрос.

Вроде у Utsource есть они, а он вроде в РФ доставляет. Только цена конечно в районе 900руб как то не гуманна.
И я так понял он в керамике.

Xrust
19.07.2020, 23:27
Ну в Орионе насколько помню асинхронный доступ к видео части, так что там актуальным это становиться при достаточно частом обращении к памяти.
Я не про доступ к памяти говорил. В Орионе используется один синхрогенератор на процессор и на развертку видео. Поэтому нет возможности плавно изменять частоту процессора - монитор не сможет это безобразие отобразить.

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


В Орионе насколько я понял такого нет и там проц при желании может отобрать время видеоконтроллера целиком, что приведет к выпаданию видео. Вот этот процесс я называю асинхронный - нет четкого разделения доступа проца/видео к памяти.
Я не большой специалист по Ориону, но по-моему там видеоконтроллер работает "прозрачно", получая доступ к памяти между циклами обращения к ней процессора. Потому процессоры там и работают на 2.5 или 5 МГц, т.к. эта частота синхронна с видеоконтроллером.

andreil
20.07.2020, 00:59
Я не большой специалист по Ориону, но по-моему там видеоконтроллер работает "прозрачно", получая доступ к памяти между циклами обращения к ней процессора. Потому процессоры там и работают на 2.5 или 5 МГц, т.к. эта частота синхронна с видеоконтроллером.
К тому же, там за время отображения 8-ми пикселей данные из видео-памяти успевают 2 раза считаться - как раз для устранения "выпадения" данных.

Mick
20.07.2020, 11:35
К тому же, там за время отображения 8-ми пикселей данные из видео-памяти успевают 2 раза считаться - как раз для устранения "выпадения" данных.

Это утверждение проверено лично на осцилографе или со слов журнала. Во вложении попытка разрисовать работу синхрогенератора на примере команды NOP. Возможно я что то упустил - поправьте. Я так и не понял когда формирует процессор сигнал SYNC, в середине Ф2 первого такта или по спаду.
А так порассуждаем, у Ориона пиксельклок 10Мгц, данные в регистр сдвига должны записываться каждые 8 пикселей итого имеем -1,25 МГц. Запись информации происходит когда сигналы 43, 44 = 1 и 42 = 0.

Процессор работает на частоте 2,5МГц, самая короткая команда 4 такта, одно обращение к памяти. И все зависит от того как формируется сигнал SYNC у процессора. Если по спаду Ф2 первого такта, то обращение видео одно чистое, а второе в коллизии.
Если же SYNC формируется на половине Ф2 первого такта, то второе обращение проскакивает по сути на грани.
По моему в Орионе настолько все на тоненького и играют роль главенствующую роль лошадиные задержки. Иными словами поставив к примеру 1533 серию, можно запросто заполучить глюкодром.

Посему два вопроса, есть ли эпюры сигналов Ориона и как формируется все таки сигнал SYNC.

ivagor
20.07.2020, 13:27
как формируется все таки сигнал SYNC
Intel 8080 System Manual: "Timing logic within the 8080 uses the clock inputs to produce a SYNC pulse, which indentifies the beginning of every machine cycle. The SYNC pulse is tiggered by low-to-high transition of ф2, as shown at Figure 2-3". По рисунку 2-3 можно сказать, что SYNC начинается с некоторым отставанием от переднего фронта ф2.

Насчет арбитража доступа к памяти проца/видео могу немного поспекулировать, если что меня поправят. Насколько знаю идеологически этот момент в орионе реализован аналогично специалисту, а про специалист подробно написано в МК1987/2, стр. 19-22. Там и словами написано и эпюры есть. Строку условно можно поделить на двухтактные отрезки, в каждом из них потенциально есть два обращения видеоконтроллера (по одному и тому же адресу, чтение в буферный регистр). Если был SYNC, то следующий за ним такт отдается для доступа процу, но как минимум один из двух тактов в любом случае обязательно будет доступен видеоконтроллеру. По итогам такого двухтактного отрезка правильный (актуальный) байт видеоданных переписывается из буферного регистра в сдвиговый. У ориона читается два байта из двух линеек озу и частота повыше.

andreil
20.07.2020, 13:48
Строку условно можно поделить на двухтактные отрезки, в каждом из них потенциально есть два обращения видеоконтроллера (по одному и тому же адресу, чтение в буферный регистр). Если был SYNC, то следующий за ним такт отдается для доступа процу, но как минимум один из двух тактов в любом случае обязательно будет доступен видеоконтроллеру. По итогам такого двухтактного отрезка правильный (актуальный) байт видеоданных переписывается из буферного регистра в сдвиговый. У ориона читается два байта из двух линеек озу и частота повыше.
Да, и я о том же. Есть 2 обращения, одно из которых может быть занято процессором. Но в итоге данные гарантированно прочитаются.

HardWareMan
20.07.2020, 15:59
Уф... Арбитраж у всех наших компов (Специалист, Орион) основан на том, что ВМ80 не делает обращение каждый такт. Его самый короткий цикл - 3 такта а за цикл может быть только 1 обращение. SYN вырабатывается тактом ранее но с выравниванием к F1, т.к содержит слово состояния, поэтому в подобном арбитраже его тупо стнхронизируют к F2 и задержка на 1 такт создаётся сама по себе. Синхрогенератор же имеет регистр хранения граф.данных для маскирования обращения процессора. Поэтому он делает строго 2 обращения на 8 точек экрана или 1 обращение на 4 точки. Отсюда и частоты процессора по отношению к пиксельклоку.

На самом деле арбитраж можно сделать быстрее, если применить память пошустрее. Я уже делал подобное в МХ2 с VGA развёрткой.

Mick
20.07.2020, 16:17
По рисунку 2-3 можно сказать, что SYNC начинается с некоторым отставанием от переднего фронта ф2.

Интересно насколько сильно, по сути от этого считай зависит когда начнется обращение к памяти.


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

Хорошо, я это понял. Я совершенно забыл про буферный регистр защелку да и стробируется запись в защелку сигналом RAS/
Перерисовал диаграмму. Действительно когда проц обращается к памяти защелкивается 1 раз видео, когда нет 2

73108

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


в подобном арбитраже его тупо стнхронизируют к F2

Тоесть он тупо начинается вместе с F2?

ivagor
20.07.2020, 16:23
Интересно насколько сильно
Конкретные цифры (допуски) можно глянуть в amdшном даташите (https://en.wikichip.org/w/images/b/b6/am9080.pdf) (вряд ли intel и советские процы сильно отличаются). На 7 странице картинка, на 6 - таблица с цифрами, параметр tDC.
На эпюрах из МК все проще, там передний фронт SYNC нарисован совпадающим по фазе с передним фронтом ф2. И после SYNC один такт идет низкий уровень сигнала D, что сигнализирует о доступе проца к озу.

HardWareMan
20.07.2020, 16:51
Тоесть он тупо начинается вместе с F2?
Ну, блин, официальные доки же можно посмотреть? Вот сам процессор делает вот так:
https://jpegshare.net/images/6d/2e/6d2e13861d0b4b48799f337f0fcac84b.png
SYN немного запаздывает относительно F2. Этим пользуется арбитраж компьютера:
https://jpegshare.net/images/16/b9/16b9cd82f26aba4d14aa539988bb52ea.png
Так что в арбитраже - да, сигнал строго 1 период F2, который совпадает с CAS.

Xrust
20.07.2020, 18:35
HardWareMan, а можете растолковать что происходит на Орионе с Z80card? Какие там отличия?

Mick
20.07.2020, 19:45
Ну, блин, официальные доки же можно посмотреть? Вот сам процессор делает вот так:

Так я их и смотрел, и там вроде идет по спаду F2. Я относительно этого даташита и рисовал свои эпюры. Как собственно получается и в Специалисте.

И теперь, глядя на все это хозяйство как разогнать ВМ80 (пока гипотетически) в 2 раза без пролетов видео?

ivagor
20.07.2020, 20:07
глядя на все это хозяйство как разогнать ВМ80 (пока гипотетически) в 2 раза без пролетов видео?
При сохранении "старой" скорости обращения к озу разогнать проц именно в 2 раза не получится. Какие ограничения подразумеваются?

Mick
20.07.2020, 20:42
Какие ограничения подразумеваются?

Старое видео - 15625Гц. Скорость обращения к памяти можно увеличить как и проц в 2 раза.
Это в идеале при тактовой частоте 5МГц.

Но можно и без идеала - 3,5МГц и 4МГц. В этом случае будет необходимо пересчитать строчную развертку - но это мелочи

ivagor
20.07.2020, 20:51
Старое видео - 15625Гц. Скорость обращения к памяти можно увеличить как и проц в 2 раза.
Если предполагаются минимальные изменения, то при увеличении скорости проца и памяти в 2 раза можно сделать смену видеоадреса один раз не в 2 (старых), а один раз в 4 (новых) такта. Т.е. каждый байт видеоданных будет читаться 4 раза (если его не прервет обращение проца).
А если сильнее оторваться от оригинала, то можно или переделать на одну линейку озу вместо двух или при сохранении двух линеек удвоить строчную частоту для вывода на современные мониторы, но это уже выходит за рамки условий.

HardWareMan
21.07.2020, 06:41
Если предполагаются минимальные изменения, то при увеличении скорости проца и памяти в 2 раза можно сделать смену видеоадреса один раз не в 2 (старых), а один раз в 4 (новых) такта. Т.е. каждый байт видеоданных будет читаться 4 раза (если его не прервет обращение проца).
А если сильнее оторваться от оригинала, то можно или переделать на одну линейку озу вместо двух или при сохранении двух линеек удвоить строчную частоту для вывода на современные мониторы, но это уже выходит за рамки условий.
А можно тупо попу не морщить и поставить двухпортовую DRAM от Sega Megadrive (там она стоит как VRAM). Это 64К DRAM с 2мя портами. Первый классический - RAS/CAS на обычных для наших РУшек частотах. Второй - последовательный. Нет, он не позволяет избавиться от сдвигового регистра (хотя, если экран на 256 цветов - то позволит). SIO это буфер на целую строку, т.е. для 64К, которые организованы как 256x256 этот буфер ровно 256 байт. И обращение к нему сокращённое - только RAS. Т.е., 1 раз за строку мы делаем пустой RAS цикл (для прогрузки SIO), а потом через SIO независимо выгружаем данные в экран, а на DIO в это время полностью хозяйничает процессор. Единственный момент, который надо продумать, это регенерация. Ведь теперь её может не хватать, ведь в таком режиме вся матрица в 256 строк будет обработана только за целый кадр 20мс, а у РУшек, например, эта цифра 4мс и они регенерировались за 4 строки.

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

PS Референс для поиска: UPD41264 на 4 бита или MSM54C864 на 8 бит.

LeoN65816
21.07.2020, 21:55
А можно тупо попу не морщить и поставить двухпортовую
SRAM (не требуется ни регенерации, ни мультиплексоров): #1 (http://www.pro-electr.net/prod/idt7028l15pf8/1698544), #2 (https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313.TR0.TRC0.A0.H0.XIDT702 8L.TRS1&_nkw=IDT7028L&_sacat=0&LH_TitleDesc=0&_sop=15&_osacat=0&_odkw=UPD41264), #3 (http://www.pro-electr.net/prod/cypress-semiconductor/cy7c028-15axc/1662607), #4 (http://www.pro-electr.net/prod/cy7c028-20ai/1358570).

Mick
22.07.2020, 08:50
А можно тупо попу не морщить и поставить двухпортовую DRAM

А если все же поморщить и поставить DRAM, но не РУ5 а с видях с 256Kx16 или просто 64Kx4 - с временем доступа не более 100нс

ivagor
22.07.2020, 09:26
Насчет частот. Если хочется все же сделать пиксельклок поближе к оригинальному орионовскому, то можно посмотреть, как сделан арбитраж доступа к озу в Львове ПК-01. Там проц обращается к озу асинхронно и тормоза очень большие, зато частота видео > частоты проца. Если ориентироваться на проц 4 МГц, то кварц 36 МГц, пиксельклок 9 МГц (хотя не 10, но зато и не 8), такт обращения к озу=222.(2) нс (4.5 МГц). Причем при использовании двух линеек тормоза будут поменьше, чем в ПК-01, т.к. будет одно обращение к видео за 4 такта. Ну и в этом случае обязателен 8224.

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

Если ориентироваться на двухпортовую sram, то все проблемы с тормозами снимаются.

Mick
22.07.2020, 11:49
Насчет частот. Если хочется все же сделать пиксельклок поближе к оригинальному орионовскому

Не столь важно. По сути не планируется расширять экран до 512 точек, только стандартные 384 (48 знакомест активной части). По сему по пиксельклоку - только то что влезает эти параметры. А это минимум 7МГц (56 знакомест в строке), 8МГц (64 знакоместа в строке) и так далее.
Если теоретически, кварц 14МГц, пиксельклок 7МГц, частота процессора 3,5МГц. 16МГц -> 8МГц -> 4МГц.
Для ВМ80А если получиться 3,5МГц - задача считай достигнута. Для импортного с макс частотой 3,1МГц - соответственно 4МГц и выше.
Как я выше писал - получить не полную копию Ориона, а Орион-совместимый компьютер. А посему допускается применение спектрумовского арбитража для ВМ80 - главное чтобы заработало :)

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


тормоза очень большие,

Тормоза не допускаются - тогда весь смысл затеи теряется.

P.S. Во договорился, что мысль возникла - взять какой нибудь убитый Ленинград и даунгрейдить его до ВМ80 :)

ivagor
22.07.2020, 12:16
8МГц (64 знакоместа в строке)
При пиксельклоке 8 МГц 384 точки - это 48 мкс, максимально допустимый (при четкой центровке) на практике предел отображаемой ширины для современных телевизоров без крутилок. Но специалистовцы при этом живут и жалуются сравнительно редко.

Mick
22.07.2020, 12:27
При пиксельклоке 8 МГц 384 точки - это 48 мкс, максимально допустимый (при четкой центровке) на практике предел отображаемой ширины для современных телевизоров без крутилок. Но специалистовцы при этом живут и жалуются сравнительно редко.


8000000Гц / 15625Гц = 512 / 8 = 64 знакоместа. Из которых 48 видимых и 16 служебных на обратный ход и синхроимпульсы

7000000Гц / 15625Гц = 448 / 8 = 56 знакоместа. Из которых 48 видимых и 8 служебных на обратный ход и синхроимпульсы

HardWareMan
22.07.2020, 14:16
P.S. Во договорился, что мысль возникла - взять какой нибудь убитый Ленинград и даунгрейдить его до ВМ80 :)
Ленин синхронизирован на цикл обращения к памяти. А у Z80 он такой же, как у ВМ80 - CLK пойдёт как F2. F1 сгенерировать руками. Но, зато, так как M1 у ВМ80 такой же как и остальные, цепь записи данный в цикле M1 + WAIT уже не нужны = упрощение и снятие тормозов.

ivagor
22.07.2020, 14:30
7000000Гц / 15625Гц = 448 / 8 = 56 знакоместа. Из которых 48 видимых
Совершенно точно не видимых. 384 точки при 7 МГц = 54.857 мкс - столько никакой телевизор не покажет. Максимум достигаемый тв-тюнерами и некоторыми старыми телевизорами/мониторами с крутилками - 51.2-52 мкс. Для большинства ТВ (тем более современных) отображаемый максимум - 48 мкс. При 7 МГц в 48 мкс влезут 336 точек, маловато для ориона. И даже примерно 360 точек, которые можно будет увидеть на некоторых устройствах отображения, все равно для ориона мало.

Sancho45
22.07.2020, 14:36
Для большинства ТВ (тем более современных) отображаемый максимум - 48 мкс.
Откуда информация ?

ivagor
22.07.2020, 14:57
Откуда информация ?
По результатам собственных экспериментов с разными тв + по фотографиям других людей. Если честно, то для некоторых маленьких телевизоров ширина отображаемой области была даже меньше, но тут я точные цифры не запомнил и не записал. Если нужна ссылка на документ, то ее не будет, можно считать что я все придумал.
В принципе есть рекомендации по safe area (1 (https://en.wikipedia.org/wiki/Safe_area_(television)), 2 (https://en.wikipedia.org/wiki/Overscan))

Sancho45
22.07.2020, 15:46
В принципе есть рекомендации по safe area (1, 2)
48 не объясняют


По результатам собственных экспериментов с разными тв
по моим 49 с копейкой, а это +10 пикслелей при пиксельклоке в 10мгц

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


о для некоторых маленьких телевизоров ширина отображаемой области была даже меньше
надеюсь CRT не в счет !?

ivagor
22.07.2020, 15:52
48 не объясняют
Ширина action safe area при аспекте 4:3 примерно в этом районе


надеюсь CRT не в счет !?
Область отображения меньше 48 мкс я видел только на ЭЛТ

Mick
22.07.2020, 15:54
Совершенно точно не видимых. 384 точки при 7 МГц = 54.857 мкс - столько никакой телевизор не покажет. Максимум достигаемый тв-тюнерами и некоторыми старыми телевизорами/мониторами с крутилками - 51.2-52 мкс. Для большинства ТВ (тем более современных) отображаемый максимум - 48 мкс. При 7 МГц в 48 мкс влезут 336 точек, маловато для ориона. И даже примерно 360 точек, которые можно будет увидеть на некоторых устройствах отображения, все равно для ориона мало.

Вот для интереса глянул на схему своего Феникса. Там при 7МГц пиксельклока, т.е 56 знакомест в строке. Видимых 32 потом идет 8 бордер строчный + 8 гашение и строчный импульс + 8 бордер. Итого получаем 56. Все прекрасно отображается на телеке.
Общий бордер = 16 знакомест. И если к 32 знакоместам + 16 знакомест бордера = 48 знакомест.
Так почему их не видно то будет. 8 знакомест для гашения и строчного импульса вполне хватает.

И да по стандарту вроде длительность строки 64 мкс. Отсюда и пляшем. Тоесть при 7МГц максимум в строке будет 448 пикселей, 64 пикселей на гашение и видимых остается 384. Так чего не будет работать то. В спектруме то работает и есть режим вроде на 384 точки у Пентагона

Sancho45
22.07.2020, 15:57
Ширина action safe area при аспекте 4:3 примерно в этом районе
For 625-line 50 Hz video (usually, though incorrectly, called "PAL"), the active line duration is 52 μs,[10] giving 702 pixels per line.
Title-safe area- 720

Я что то пропустил?


Ширина action safe area при аспекте 4:3 примерно в этом районе

в ваших софтовых тестах результаты на столько же примерно ?


Область отображения меньше 48 мкс я видел только на ЭЛТ
Ну так и я про то , ЭЛТ не в счет , там можно подкрутить.

Mick
22.07.2020, 16:03
Ленин синхронизирован на цикл обращения к памяти. А у Z80 он такой же, как у ВМ80 - CLK пойдёт как F2. F1 сгенерировать руками. Но, зато, так как M1 у ВМ80 такой же как и остальные, цепь записи данный в цикле M1 + WAIT уже не нужны = упрощение и снятие тормозов.

Ну и замечательно. Так потом кто мешает тот же арбитраж наложить на Орион.
Ленин для опытов вроде как скоро будет :)

ivagor
22.07.2020, 16:36
Mick, с длительностью строки 64 мкс никто не спорил. Хочется верить в чудо, что ты сможешь полностью отобразить на стандартном телевизоре (или тюнере) 384 точки в ширину при пиксельклоке 7 МГц, но получается с трудом.


For 625-line 50 Hz video (usually, though incorrectly, called "PAL"), the active line duration is 52 ?s,[10] giving 702 pixels per line.
К чему эта цитата? Я с 52 мкс не спорил.

Title-safe area- 720
Откуда это - я не знаю. SMPTE ST 2046-1 просто так скачать не могу, в двух источниках (wiki и некий pdf со статейкой) ширина action area немного отличается. В одном случае 93.4% (соответственно 48.57 мкс), в другом 93% (48.36 мкс).


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


ЭЛТ не в счет , там можно подкрутить.
Это не так просто, штатных регулировок размера на ЭЛТ телевизорах часто не было. Если лезть внутрь, то подготовленный человек скорее всего сколько-то сможет подкрутить, но заранее неизвестно, в каких пределах.

Sancho45
22.07.2020, 16:48
К чему эта цитата? Я с 52 мкс не спорил.


Откуда это - я не знаю.

Это все с ваших ссылок, и о safe area....

В принципе есть рекомендации по safe area (1, 2)



Если речь про тесты быстродействия, то там получаются результаты для конкретного типа компьютера.


Речь идет не о примерном, а о точном...

Ширина action safe area при аспекте 4:3 примерно в этом районе

ivagor
22.07.2020, 17:08
Речь идет не о примерном, а о точном
Для получения абсолютно точных данных о ширине (да и о высоте) отображаемой любым телевизором (или тюнером или еще чем-нибудь) картинки нужно проверить все существующие устройства отображения, что неосуществимо (да и вряд ли нужно). Рекомендации по action area и title area не абсолютно точные (можно найти тв которые им не отвечают), но на них должны ориентироваться создатели контента и, вероятно, производители телевизоров, поэтому это достаточно хороший ориентир.

Sancho45
22.07.2020, 17:25
Рекомендации по action area и title area не абсолютно точные

но на них должны ориентироваться

вероятно, производители телевизоров,

ммм, учту, на что производители должны ориентироваться...))))

Mick
22.07.2020, 20:43
стандартном телевизоре (или тюнере)

А что сейчас понимать под стандартным телеком?

ivagor
22.07.2020, 21:03
А что сейчас понимать под стандартным телеком?
Для меня на данный момент "стандартный телек" - жк телевизор.

ivagor
23.07.2020, 05:36
Кстати, Mick, тебе сравнительно просто провести эксперимент. Можно подключить ПК8000 к тому телевизору, к которому собираешься подключать new орион. Если уверенно и с большим запасом покажет 256 точек в ширину, то это очень здорово. Ну и есть промежуточные пиксельклоки между 7 и 8. Уже при 7.5 МГц (и скорее всего даже при 7.4) изображение поместится по ширине в большинство тв-тюнеров и в старые (элт) телевизоры/мониторы с крутилками.

Mick
23.07.2020, 09:05
Можно подключить ПК8000 к тому телевизору, к которому собираешься подключать new орион.

У меня сейчас по большей степени мониторы. Да и переходник GBS8200 в последнее время пользую.
А тот который LG, к которому был подключен ПК8000, так вроде показывал он все 256 точек - скриншоты из тем про ПК8000 как раз не нем и сделаны. Но я подключал по SCART.

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


при 7.5 МГц

Что же при такой частоте пиксельклока в строке как бы будет 480 точек = 60 знакомест
Частота проца конечно уже буде выше = 3.75МГц

ivagor
23.07.2020, 09:09
А тот который LG, к которому был подключен ПК8000, так вроде показывал он все 256 точек - скриншоты из тем про ПК8000 как раз не нем и сделаны.
Тут (https://zx-pk.ru/threads/8378-pk8000-soft-staryj-i-novyj.html?p=183301&viewfull=1#post183301) хорошо видно, что 256 точек не влезают, при большом желании можно даже попробовать разглядеть, сколько не влезает с каждой стороны.
Тут (https://zx-pk.ru/threads/8378-pk8000-soft-staryj-i-novyj.html?p=149788&viewfull=1#post149788) влезает, но это скорее всего скриншот из эмулятора.

Mick
23.07.2020, 09:18
Тут влезает, но это скорее всего скриншот из эмулятора.

Там про эмулятор и написано.

ivagor
23.07.2020, 09:38
Торопился и про эмулятор пропустил, теперь увидел.
Посчитал по фото с реала (LG): слева не хватает 9 точек, справа - 12, т.е. показывает 256-9-12=235 точек. При пиксельклоке 5 МГц это соответствует ширине картинки 47 мкс. Чтобы сюда влезло 384 точки нужен пиксельклок >=8.16 МГц.

Mick
27.07.2020, 19:45
Поскольку периодически возникают небольшие орионопорывы и пока по почте идет все необходимое для опытов над ВМ80, то на выходных решил немного порисовать. Насколько я понял, за столько лет так народ и не удосужился запихать плату в P-CAD (плата под корпус УКНЦ не в счет) и дальше лейки не продвинулись, то думай а у меня что из этого выйдет путное или нет.

Короче, загрузил журнальный вариант печатки в лейку и начал рисовать. Детали я там не ставил, потому как все равно в P-CAD их по новой расставлять, а рисовал только дорожки и отверстия
Плата конечно не будет претендовать на суперточность. Сетка 0.625мм

https://a.radikal.ru/a00/2007/82/2e991d7af613t.jpg (https://a.radikal.ru/a00/2007/82/2e991d7af613.jpg)

Вот как она в P-CAD 2002 выглядит, микросхемы я уже расставил. Там конечно косячек образовался, надо будет ряд микросхем на 0.625мм вниз сдвинуть, но это уже когда все детали будут на месте и плата будет связана со схемой. Да, плата с отечественным шагом микросхем 2.5мм

https://d.radikal.ru/d02/2007/28/a1b817cd4cdbt.jpg (https://d.radikal.ru/d02/2007/28/a1b817cd4cdb.jpg)

Как быстро сделаю, не знаю.

Ugloff
27.07.2020, 21:02
Я уж больше года как "засунул" авторскую плату в DIPTRACE. :) со всеми исправлениями и пожеланиями по журнальным статьям "Радио".

Mick
30.07.2020, 10:44
Народ, скажите. Какие разъемы все таки должны стоять в Орионе.
На авторском сборочном чертеже как бы стоят вилки СНП59-96 и СНП34-30, но вот на фото собранной платы из журнала стоят розетки.
Понятно, что собирали раньше из чего что нашли. Сейчас как ориентируетесь - ставите вилки или розетки?

Denn
30.07.2020, 11:05
Mick, если делать только для себя и не предполагается обмен платами периферии с коллегами, то без разницы. Можно руководствоваться ценами на разъёмы - обычно непопулярные варианты дешевле ;)

Sancho45
30.07.2020, 11:15
Сейчас как ориентируетесь - ставите вилки или розетки?
Из соображений техники безопасности должна быть розетка, там все таки 3 напруги.

У меня есть макетка)) на основе ориона, для тестирования проца, могу посодействовать с разгоном
Тут (https://zx-pk.ru/threads/18954-sborka-orion-128-rev-512.html?p=1034524&viewfull=1#post1034524)

Mick
30.07.2020, 16:05
Из соображений техники безопасности должна быть розетка

Короче поступлю как в авторском Орионе - поставлю розетки.
Мелкие поставлю СНП34-30/27x9,4Р-22-В, а вот большой розетки угловой в СНП59 нет, так что "отрежу" от СНП34-135/132х9,4Р-22-В

Sancho45
30.07.2020, 19:50
а вот большой розетки угловой в СНП59 нет, так что "отрежу" от СНП34-135/132х9,4Р-22-В

СНП принципиально? есть отличные DIN 41612, угловые

Mick
30.07.2020, 19:52
СНП принципиально? есть отличные DIN 41612, угловые

Да особо нет, я лишь хочу нарисовать оригинальную журнальную плату в P-CAD чисто для истории. А так я бы по любому ее переразвел с учетом реалий.

Romych
30.07.2020, 19:55
Сейчас фиг найдешь разъемы СНП, старые серебрянные, почернели, позолоченные, сданы на металл. Под заказ везут долго и не дешево. На новоделы ставят DIN 41612 в нужном исполнении они дешевле и у Китайцев есть всякие. Они, правдда, не любят их продавать меньше чем по 5 штук.

Mick
30.07.2020, 20:57
Сейчас фиг найдешь разъемы СНП,

Если приложить небольшие усилия, то можно найти. Я еще раз повторяю, что я рисую чисто для истории с шагом микрух и разъемов 2,5мм. Потом кому надо может переделать, но я вот думаю что смысла делать такую большую плату нет. Лучше переразвести с учетом реалий.

А пока расставил разъемы и некоторые детали

https://i.ibb.co/CBvSZtp/orion-pcb-1.jpg (https://ibb.co/CBvSZtp)

denis74
31.07.2020, 08:29
Сейчас фиг найдешь разъемы СНП, старые серебрянные, почернели, позолоченные, сданы на металл. Под заказ везут долго и не дешево. На новоделы ставят DIN 41612 в нужном исполнении они дешевле и у Китайцев есть всякие. Они, правдда, не любят их продавать меньше чем по 5 штук.

Брал здесь всё по 10р ) СНП59-96р-20-2 и СНП59-96В-23-2-В-13 не сказал бы что чёрные.

https://www.avito.ru/izhevsk/audio_i_video/razemy_drosseli_passiki_1906136032

VladimirS
31.07.2020, 15:51
Брал здесь всё по 10р ) СНП59-96р-20-2 и СНП59-96В-23-2-В-13 не сказал бы что чёрные.

https://www.avito.ru/izhevsk/audio_i...iki_1906136032
fifan, А-у-у, есть повод тявкнуть!

fifan
31.07.2020, 17:30
Одно дело в одном месте вставить ссылку на авито, другое - целенаправленно в двух темах, где что-то обсуждают близкое.

Mick
01.08.2020, 15:35
Вот засада, заказал у продавана китайца процы P8080A-1, а прислал просто P8080A, а у них максимальная частота всего 2МГц, вместо 3,1МГц.
Конечно и их в опыты. А я то уж собрался даунгредить Ленинград с последующими опытами над Орионом. Но похоже облом, придется искать у других.
Кто покупал P8080A-1, киньтесь ссылкой, чтобы на грабли второй раз не наступить.

P.S. у Павла купил черную плату Орион-Экспресс. Как нибудь на досуге попробую собрать.

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

Расставил почти все детали

https://i.ibb.co/x3B1qpf/orion-pcb-2.jpg (https://ibb.co/x3B1qpf)

Xrust
01.08.2020, 20:19
Mick, сам кинь, добавить продавана в черный список. Идет мне сейчас один 8080, как получу - отпишусь.

denis74
01.08.2020, 21:56
https://www.ebay.com/itm/1PCS-P8080A-1-VINTAGE-INTEL-P8080A-8080-CPU-MICROPROCESSOR/392605020094?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

Здесь заказывал пару раз,пришло р8080а-1 ,цену сторговал до 150р ,ехало 2 недели. На али заказывал ,один раз р8080а-1 пришло 67р ,но следующий заказ р8080а ,у многих перед покупкой на алике спрашивал - нету говорят первых.На ебэй всё четко.

Mick
04.08.2020, 14:03
Почти закончил ввод в P-CAD платы и схемы.
На сей момент заведена схема и связана с печаткой, кое какие замечания из журнала внесены, а также изменен порядок входов микросхем согласно печатной платы.

https://i.ibb.co/py8qwGJ/orion-pcb-3.jpg (https://ibb.co/py8qwGJ)

Осталось на печатке утолщить некорые линии и чуть их раздвинуть.

Mick
06.08.2020, 20:13
Вот не знаю, кто там в диптрейс его завел и когда и где это вообще, но в P-CAD 2002 точно Орион заведен и вот он

https://i.ibb.co/3yPfRrT/Orion-128-pcb-top.jpg (https://ibb.co/3yPfRrT)

https://i.ibb.co/mFhjXK7/Orion-128-pcb-bot.jpg (https://ibb.co/mFhjXK7)

Схема в pdf - http://micklab.ru/file/orion/orion_128.pdf
Схема в P-CAD 2002 - http://micklab.ru/file/orion/orion_128_sch.rar
Печатка, связанная со схемой P-CAD 2002 - http://micklab.ru/file/orion/orion_128_pcb.rar
Библиотека P-CAD 2002 - http://micklab.ru/file/orion/orion_lib.rar
Гербер файлы для производства - http://micklab.ru/file/orion/orion_128_gerber.rar

Electricman
10.11.2020, 22:05
Давно я тут не появлялся, впрочем, комп работал, да и работает до сих пор. Для моих небольших задач его хватает.
Но время идёт и работа с магнитофоном поднадоела, жёсткий диск - я так и не написал ничего толкового для его работы, а суеты с RAM-диском через порт не хочется. В общем, решил я его переделать, с целью изменения организации памяти. Для начала было решено переделать его на статическую память, с выделением видеопамяти в отдельную, что в итоге вылилось в полное выделение видеовывода в отдельный, полностью автономный модуль, для удобства настройки. Ну и соответственно, весь орион стал модульным. :)

Сначала делался видеоадаптер, по старой технологии. Он вырабатывает все выходные сигналы видео, а так же сигналы Ф1, Ф2 (ТТЛ-уровень) и сигнал цепи "87" (по оригинальной схеме), управляется сигналами /SYN (инверсия родного SYN), цепями А0-А13, D0-D7, 76, 92, 93, 94, 95, /RD и новым сигналом /CS4 (выбор участка памяти C000-FFFF). Видеоадаптер полнофункциональный, то есть цветной, чего не было в моём орионе. :)
После этого был сделан модуль процессора, но в этот раз с ЛУТом повезло, царапать не пришлось. Получился он очень простым, так как большая часть деталей оказалась в видеоадаптере. ПЗУ, ОЗУ, ну и дешифраторы адреса и управления.

Не сразу, но оно всё вместе заработало (немного накололся с разграничением сигналов), но в итоге получился модульный Орион со статической памятью, а главное - с возможностью расширения памяти не страницами, а банками по 16кБ, причём, почти неограниченно. :) Теперь ничего не мешает с помощью программируемого дешифратора подключать к каждому диапазону адресов (0000-3FFF, 4000-7FFF и 8000-BFFF) любой банк памяти, причём, не важно какой - ОЗУ, ПЗУ, платы расширения. Хотя и есть ограничения, которые снимаются программируемым матричным коммутатором. С ним любой банк можно подключить к любому диапазону адресов, что вообще создаёт почти непрерывное адресное пространство любой длинны, причём в пределах одной страницы. В данном случае стоит пока что 48кБ памяти (12кБ памяти видео отделены, как и служебные ячейки). В планах сделать модуль ОЗУ/ПЗУ, в который наставить флеш-памяти, ну и/или организовать RAM-диск.

А в общем - сохранена почти полная совместимость с оригинальным Орионом, нет только переключения экранов, а так всё на месте, и страничность памяти, и цвет, не поменялась работа. Разве что теперь вряд ли поставить "Z80-card" на повышенную частоту - скорее всего, не взлетит из-за задержек (местами минимум один логический элемент добавлен, а Ф1 и Ф2 - два).
С монитором немного не получилось, узкое изображение, а так - тупо включённый 16-ти цветный режим. :)

http://ipic.su/img/img7/tn/eo7xezJNBH8.1605034498.jpg (http://ipic.su/img/img7/fs/eo7xezJNBH8.1605034498.jpg) http://ipic.su/img/img7/tn/DI7yJL9MG7E.1605034541.jpg (http://ipic.su/img/img7/fs/DI7yJL9MG7E.1605034541.jpg) http://ipic.su/img/img7/tn/9Vzoq9NHXWY.1605034925.jpg (http://ipic.su/img/img7/fs/9Vzoq9NHXWY.1605034925.jpg)

LeoN65816
10.11.2020, 23:25
но в итоге получился модульный Орион со статической памятью
"- Нормально, Григорий!
- Отлично, Константин!" ;)

Владислав, молодец!!! Первый ОРИОНчик на статике, да еще и модульный. Молодец!
Категорически ;) рекомендую посмотреть в сторону двухпортовой статики (https://zx-pk.ru/threads/28423-dvukhportovaya-pamyat.html?p=1051772&viewfull=1#post1051772) - ещё вкусней конфетка из ОРИОНчика получится, и запросто турбировать процик можно.

Electricman
10.11.2020, 23:54
Хм, по-моему прикрутить статику к Ориону особых проблем нет, только мультиплексоры поменять, да может чуть логики добавить на управление входом /ОЕ. :)

Двухпортовая память, конечно, интересная, но что-то слишком жирно она выглядит для такой конструкции. :) Тем более, видеоконтроллер не тормозит процессор.