Не, дело в том, что авторы данной схемы не писали и не адаптировали программ от Спека, а вот Чистяков адаптирповал много программ и игр, вот и получается, что он под свою схему все делал, а Орионовцы только железо сваяли.
Вид для печати
Не могли бы Вы заменить мою большую цитату, приведённую Вами. Дело в том, что у меня Win XP (не могу использовать другие, мне нужно пользоваться программами MS-DOS, а более новые Windows это не могут). На Win XP не работают (или плохо) новейшие браузеры, отчего на этом сайте я использую бразер 2005 года (лишь когда надо сделать вложение приходится грузить медленный монстрообразный браузер этого года).Цитата:
Сообщение от tol123
Со старым браузером не работает "предварительный просмотр", поэтому ошибки я исправляю уже после выкладки. Поэтому, если кто-то "хватает" моё сообщение сразу же по появлению, то оно оказывается безграмотным, изобилующим опечатками и ошибками, что характеризует меня как малограмотного, что обидно.
Вариант Z80CARD-II наоборот, уже не актуален, т.к он нужен только для Z80 игр, которые сейчас уже никого не интересуют. А вот сам процессор Z80 по любой схеме актулен, т.к, в отличие от КР580, позволяет турбирование.Цитата:
Сообщение от tol123
Но самый главный довод в том, что без архитектуры с окном в 16К в адресах 0...3FFF, можно в банке 0 в адресах 0...7FFF поставить скоростное ОЗУ w24257, работающее без WAIT, на полном такте Z80. Причём затратив на это всего час труда. А ещё лучше применить статику в адресах 0...BFFF, тогда только работа с экраном останется тормозной. Таким образом, без всяких усилий получаем ОРИОН с реальным тактом в 10 МГЦ, самый быстрый отечественный компьютер. Ради этого в 1997-98 я снял со всех своих плат диспетчер ОЗУ и остался с "голым Z80", зато скоростным.
Поэтому и получается, что вариант "голый Z80" это самый разумный вариант, как самый простой, наименее трудоёмкий и дающий наивысшую скорость.
Всё остаётся, и выглядит точно так же, только стоят ещё 3 ИМС вторым этажом. По-моему на порядок уродливее выглядит плата ОРИОНА с второ-этажной платкой ОЗУ и платкой для Z80, а мои платы выглядят красиво, особенно если в слоте стоит РК-КНГМД от МИКРОШИ (у меня на 3-х платах ОРИОНА стоят 50-ти контактные эпловские слоты, что дико удобно для подключения разной периферии).Цитата:
Сообщение от tol123
Кстати, в ранние годы, я третий ППА не ставил, а ставил на это место ВИ53. А если говорить о больших переделках на плате ОРИОНА, то я делал и 3-х битовый цвет, напаивая ИР82 и ИР13 вторым этажом, а С.Коровкин делал даже 4-х битовый цвет. Когда у меня было 10 МГЦ, то стояло 15 доп.корпусов, частично даже в 3 этажа. Именно в этом большой плюс ОРИОНА по сравнению с ОРИОН-ПРО, - корпуса стоят не впритык, отчего на плате можно макетировать.
Вовсе нет. Я возиться с железом вообще не люблю, но приходится. При схеме "голый Z80" нет никакого "электро-траха". Невозможно даже сравнивать с затратами усилий при изготовлении ОРИОН-ПРО, разница в трудоёмкости в тысячи раз. Глядя на образец, я делал установку Z80 менее, чем за час. Оттого на всех 6-ти моих платах Z80 стоит совершенно одинаковым образом (все Z80 запаяны, т.к часть проводков к Z80 удобно подпаивать со стороны деталей).Цитата:
Сообщение от tol123
Кстати недавно я поставил КР580 в одну из плат ОРИОНА. Хочу сделать приличный ОРИОН на КР580. Для этого турбирую его до 3 МГЦ (кварц 24 МГЦ, пиксель-клок 8 МГЦ, растр на весь экран, буквы намного крупнее) и поставлю в него ROM-BIOS 27256. Экран будет 400*256 (причём в отличие от варианта 1991, с цветом). А на место 3-го ППА поставлю AY-8910. Т.к КР580 буферизован, может быть удастся даже получить 3.25 МГЦ (имею кварц 26 МГЦ). Это позволит удобно программировать для КР580.
Поэтому недавно и занялся ПЗУ ОРИОНА для КР580 и MS-7007. Т.к клавиатуру собираюсь применить MS-7007. Проблема припаяться к плёночным выводам (это делается так - пленка кладётся на железную плиту и пайка делается сплавом Розе смешанным с чистым оловом, температура плавления припоя 120', вместо 270' у обычного припоя).
А нет-ли адаптации схемы установки Z80 в ОРИОН-ПРО для обычного ОРИОНА. Возможно схема из ОРИОН-ПРО даст надёжную работу, хотя бы как Турбо-200%.Цитата:
Сообщение от tol123
Есть ещё шанс получить схему Z80 на /M1, использованную в платах Супер-ТУРБО С.Караваева. Для этого, мне например, придётся, распаивать эту плату, чтобы по печати восстановить схему. Удачно, если у кого-то есть незапаянная плата Супер-ТУРБО. Это не так трудоёмко, ведь всю схему восстанавливать не надо, достаточно узнать только, как для Z80 формируется CLK, /WAIT и сигналы открытия буферов.
Схему ОРИОН-СЕРВИС можно дополнительно турбировать, если поднять такты /RAS /CAS до 5 МГЦ (одновременно изменив такт на C у D5.2 с такта 2.5 МГЦ на 5 МГЦ). Тогда и получится быстродействие не хуже, чем в ОРИОН-ПРО.
Это ясно. Поэтому-то в 1996, когда я увидел, что гораздо больше пользователей с "голым Z80" по схеме ОРИОН-СЕРВИС, стал сторонником "голого Z80". Вариант установки Z80 с ИД7 для команд OUT совместим с схемой Z80 от ОРИОН-СЕРВИС, если не использовать прерывания и порты FC, FD, FE, что обычно и имеет место.Цитата:
Сообщение от tol123
Развивать стоит только одно направление - базовый ОРИОН на КР580 с ОЗУ до 512К (это как раз плата ОРИОН rev.512). Программы надо делать так. Если можно программу сделать для базового ОРИОНА, то так надо и делать. Если не получается, то на "голом Z80". Если и так не получается, то в архитектуре Z80CARD-II. А если и этого мало, то используем 4 плоскости и 6.5 МГЦ в ОРИОН-ПРО.
Поэтому полезно выпустить новодел печатных платок по схеме ОРИОН-СЕРВИС. Хотя, как я указал выше, эту платку разумнее упростить (убрать одну КП11 и ловушку DI/EI) и дополнить звуком OUT FF. Разве нужен кому-то звук по INTE? Разве есть программы КР580 "скворчащие как оркестр" через выход INTE ? Если и есть, то так мало, что переделка их всех не займёт и часа.
Можно также подумать о введении прерываний в схему Z80 от ОРИОН-СЕРВИС. Поэднее, когда будет время и желание, я сделаю подробный ДОК, как ставить Z80 без платы. И верятно, придумаю и отмакетирую реверсивную платку Z80 более простую, чем платка Z80 от ОРИОН-СЕРВИС. И ещё я бы предусмотрел порт FC00/FC, чтобы был вариант расширения ПЗУ до 4 кб для бедных ((вторая РФ2 вторым этажом).
Платка Z80 от ОРИОН-СЕРВИС фигурной формы. Возможно, чтобы не мешать второэтажной плате расширения ОЗУ. А не будет ли вышеприведённая прямоугольная плата новодела мешать платке расширения ОЗУ ?
Не имеет ли смысл перенести регистр продлевающий данные на платку Z80, заменив много жрущий 580 ИР82 на 1533 ИР22, чтобы не паять его вторым этажом и не иметь проблем с перегревом? Да и тем у кого стоит АП6 паять ИР82 сверху менее удобно (питание на совпадает).
нет, не будет
http://s019.radikal.ru/i612/1705/dc/35d52200950f.jpg
- - - Добавлено - - -
Вы меня сейчас очень удивили.
ЕМНИП, игры под КР580 всегда имели звук через INTE. Те, которые, естественно, озвучены.
Это понятно. Но я имел ввиду именно качественную озвучку. А качественная озвучка только в играх адаптированных от ZX-Spectrum. В авторских играх лишь щелчки и писки, что не особо улучшает качество игры. Стоило ли заставлять тысячи пользователей паять ловушку на EI/DI, что образует половину схемы, если те несколько игр, что были с качественной подзвучкой в 1992-93 так легко адаптировать даже неквалифицированному пользователю.Цитата:
Сообщение от Stampmaker
Я не против ловушки на EI/DI. Вполне грамотное техническое решение. Почёт и уважение аппаратчику из ОРИОН-СЕРВИС. Просто хотелось бы чтобы платка Z80 была совсем маленькая, простая, всем доступная, без нагромождений, лишённая того, без чего можно обойтись. А если кто хочет, тот тогда может сделать отдельную платку "озвучивателя программ с INTE" и вставлять её в системный разъём (или в слот).
хорошо. есть такое предложение: внедрить в схему ОРИОН-СЕРВИСа порт #FF (получится такое?) и смикшировать оба выхода (OUT FFH + INTE) в один звуковой канал.
barsik, Вы сможете это сделать, нарисовать эту доработку так, чтобы всё понятно было?
просто я, например, не знаю, что и как там внедрять.
Чтобы получить звук по OUT FF надо иметь порт FF. Для это нужен дешифратор ИД7 из схемы Z80CARD-II или логика для дешифрации адреса FFxx. Часть дешифрации уже делает сигнал 112 (/F800), так что с его использованием остаётся только определить что 3 бита D10, D9, D8 равны 1. Подав на четырёх входовый ЛА1 (ЛА6) эти 3 адреса и инверсный сигнал 112 (D8/11) получаем искомый чип селект на адрес FF00. Объединив этот сигнал с выхода ЛА1 и /IORQ на ЛЛ1 или ЛЕ1 получим строб для входа C D-триггера.
Звук OUT FF это триггерный звук. По каждому стробу в порт FF состояние D-триггера меняется на обратное. Это сокращает объём программы вывода звука вдвое. Этот звук был заимствован из Apple-II.
Ставить столько деталей, когда следует наоборот сократить платку Z80, нежелательно. Поэтому можно попробовать использовать выдвинутую ранее идею использовать строб порта FB00 в качестве строба порта FF00, используя неполную дешифрацию портов в схеме ОРИОНА. Если я правильно разобрался в схеме (а я естественно, могу ошибаться), то при обращении по OUT FF мы попадаем в порт STA FB00. Это надо проверить на реале. Если по OUT FF на выходе D27/12 есть импульсы, то этот строб STA FB00 можно подавать на вход C триггера и он будет выдавать звук по OUT FF.
Если же это не работает, то надо ставить дешифратор ИД7 или вышеописанную ЛА1 формирующую чип-селект FF00 для его обьединения c /IORQ (при желании можно объединить и с /WR, хотя это и не важно, т.к порта FF на ввод нет).
Если триггера нет, то хоть какой-то звук по OUT FF слышно, если просто без триггера подать выход строба (в Z80CARD-II это выход ИД7) на динамик. А если поставить последовательный диод и ёмкость на +5В, то громкость возрастает (при стробе ёмкость быстро заряжается нулём через диод и после пропадания иголки строба сигнал 0 сохраняется на емкости). Понятно, что это не чистый тон, а хрип, но хоть что-то слышно.
Если вот этот код (это подпрограмма F83F в ПЗУ для Z80) даёт звук при подключении триггера на выход STA FB00 (D27/12), то значит порт FB в ОРИОНЕ склеен с портом FF и эта идея для вывода звука работает.
- - - Добавлено - - -Код:.
CBEEP EQU 0F3E7H ; константа BEEP
XBEEP: LD C,60 ; 15 BYTES
BP1: OUT (0FFH),A
LD A,(CBEEP)
BP2: NOP
DEC A
JR NZ,BP2
DEC C
JR NZ,BP1
RET
Резистор жалко тратить. 155-тая читает единицу от висящих входов, а 1533 допускает подключение входов на +5В. А те, кто поставит 555-тую ТМ2, пусть пропадают...Цитата:
Сообщение от Stampmaker
выводы 1 и 4 лучше подтянуть к питанию через резистор?
add: резистор подтяжки поставил
теперь осталось только собрать :v2_dizzy_roll:
Для проверки слипаемости портов FB00 и FF00 не надо ничего собирать. Для этого Z80 не нужен. Достаточно на обычном ОРИОНЕ с КР580 "на соплях" подключить D-триггер к выходу D27/12 и запустить в бесконечном цикле приведённую подпрограмму вывода звука.Цитата:
Сообщение от Stampmaker
Сообщите пожалуйста, результаты, такого теста звука OUT FF. Триггер можно даже не подключать, достаточно подключить динамик прямо на выход STA FB00 (D27/12). Если использовать пьезо излучатель, то даже буфер не нужен. Без триггера чистого тона, как при меандре не будет, но понять, что звук идёт можно - пьезоизлучатель будет хрипеть от иголок стробов.
Так как порт STA FB00 тогда занят для звука, то управлять включением большого ПЗУ в окне 0...3FFF придётся иначе. Т.к других портов больше нет, то придётся объединять управление ПЗУ с управлением ОЗУ, т.е с портом F9. Это, увы, намного менее удобно и создаёт проблемы, но куда деваться, если портов больше нет.
Бит D7 в порту F9 будет включать большое ПЗУ в окне 0...3FFF. 16 банок по 64К, т.е 1 мб надеюсь ОРИОНУ хватит, хотя бы на первое время. Тогда биты D4, D5, D6 будут задавать номер 16-ти килобайтного куска ПЗУ.
Некоторая сложность возникает при вызове подпрограмм F836/39 из ПЗУ включённого портом F9, т.к эти п/п-ммы всегда возвращаются по RET выдав в порт F9 байт 0. Таким образом напрямую вызывать подпрограммы F836/39 из большого ПЗУ в адресах 0...3FFF нельзя, т.к при возврате ПЗУ будет отключено. Выходом является, давно напрашивающаяся модернизация подпрограмм F836/39, заключающаяся в том, что они будут теперь делать возврат не в банку 0, а ту банку номер которой хранится в ячейке F3F9. Если в этой ячейке 0, то совместимость сохраняется. Благодаря такой модернизации ПЗУ F800, можно будет вызывать п/п-ммы F836/39 и из большого ПЗУ в адресах 0...3FFF. Впрочем и без модернизации ПЗУ F800 можно выкрутиться, вызывая п/п-раммы F836/39 всегда только из ОЗУ банки 0.
Надо решить как будет управляться большое ПЗУ. Тут есть 2 варианта. Большое ПЗУ работает только в банке 0, и второй вариант, когда большое ПЗУ закрывает область 0...3FFF во всех банках. Каждый вариант имеет свои плюсы и минусы.
Можно сделать так, чтобы большое ПЗУ включалось только в банке 0, отчего объединение управления ОЗУ и ПЗУ в одном порту не повредит. Но тогда программой в ROM-BIOS нельзя будет напрямую закрашивать плоскость цвета, а потребуется по-старинке закидывать п/п-раммы раскраски в некоммутируемую область выше F000. А также от этого утратится логическая совместимость с архитектурой Z80CARD-II, в которой включённое окно 16К не коммутируется портом F9.
Включение большого ПЗУ не только при текущей банке 0, но и во всех банках, даёт больше гибкости для ДОС в других банках ОЗУ, например позволяет подпрограммой ПЗУ читать с дискеты в дисковый буфер ДОС в банке 1 (а не только в банке 0) и даёт возможность из ПЗУ напрямую работать с плоскостью цвета. При таком включении ПЗУ также чуть меньший расход деталей.
Ввиду вышеописанного неудобства такого объёдинения управления ОЗУ и ПЗУ в одном порту, рассмотрим, как можно ввести реальный порт FF для звука, не растрачивая на это порт FB00.
Убрать "слипаемость" портов FB00 и FF00, как я писал ранее, очень просто. Достаточно двух диодов и резистора на ноге D27/15 (по схеме монтажное И). Резистор 150 ом, привязка входа на землю. А через 2 диода подаётся старый сигнал 112 (/F800) и адрес A10. На входе будет 0, только когда оба сигнала нулевые. Тогда при адресации выше FC00 (верхний) дешифратор D27 будет деактивирован сигналом A10=1. Такая простая переделка даёт полноценную дешифрацию портов вывода F800...FB00 и даёт возможность ввести порт FC00...FF00.
После такой переделки с двумя диодами по адресам FC00...FF00 ничего не стоИт. Остаётся получить чип селект на эти адреса. Для этого достаточно инверсный сигнал 112 (т.е D8/11) и адрес A10 объединить по 'И' на ЛА3. Это даёт выборку FC00...FFFF (/FC00). Чтобы был строб при OUT в эти адреса достаточно объединить на ЛЛ1 эту выборку /FC00 и /IORQ. Можно, используя 2 вентиля из ЛА3, проинвертировать /IORQ и чип селект /FC00 и объединить на 4-ом ЛА3. На выходе получится единичный строб по команде OUT FF. Т.е весь расход деталей на звук OUT FF составит ЛА3, ТМ2 и два диода..
А никто не встречал схему замены ОЗУ РУ5 на несколько корпусов SRAM? По моему очевидна экономия корпусов, как на самом ОЗУ, так и на корпусах регенерации ОЗУ.
Есть мысля схемку отрисовать, с заменой ОЗУ, кипятильников-буферов, голым Z80 и прочими доработками из темы по версии 512. Но неохота все в кучу собирать, что надо и что нет. Этакий "оптимальный" нью Орион, но с полной совместимостью с прародителем.
Понимаю что анонсированный Радио-86РК Плюс я почти забросил, но ведь процесс-то творческий, и требует вдохновения, а его пока нет. РК Плюс уже почти сформировался в мыслях, как вдохновлюсь проверить в железе пару идей, так и за отрисовку схемы сяду.
как-то всё сложно.
проще сразу ввести дешифратор для организации доп.портов FC..FF. и FB сохранено на основной плате (также можно брать с этого же дешифратора) и 4 новых порта добавлено.
ну и что, что корпус на платку добавится, зато имеем профит по количеству портов.
проверил, порты FB и FF слипаются. программа выдает меандр длительностью 1,4мс.
для КР580 программа получилась такая:
Код:CBEEP EQU 0F3E7H ; константа BEEP
XBEEP: MVI C, 60 ; 15 BYTES
BP1: OUT 0FFH
LXI H, CBEEP
MOV A, M
BP2: NOP
DCR A
JNZ BP2
DCR C
JNZ BP1
JMP XBEEP
Что Вы понимаете под длительностью? Полагаю, что это период (а не длительность импульсов)? Период в 1.4 МСЕК соответствует частоте 714 герц. Если бы Вы не применили загрузку через HL, а сразу LDA CBEEP, то получилось бы 800 герц, как и положено.Цитата:
Сообщение от Stampmaker
Если вводить дешифратор ИД7, то на основной плате надо делать доработку по устранению слипаемости портов, как я описал в своём предыдущем посте.
Может быть у Вас есть возможность и желание проверить и схему устранения слипаемости портов (только лучше вместо диодов применить вентиль ЛЛ1)?
Вообще-то не заметно, что много клонов 8-ми разрядок делают сразу для VGA (видел только РК86 с выходом на VGA).Цитата:
Сообщение от Denn
Входной клок видеогенератора с учётом соотношений частот строк и кадров придётся увеличить на (31.5:15.625)*(70:50)= 2.823 раза, т.е вместо 10 МГЦ кварц будет 28 МГЦ. Клок CPU и частота ОЗУ будет 28:4= 7 МГЦ, что даже Z80B потянут. Период доступа к ОЗУ будет 1:7= ~140 НСЕК, так что 100 наносекундные древние ОЗУ потянут.
Но поиск остальных деталей будет затруднителен. Где брать такие скоростные ИМС работающие на 28 МГЦ? Да и настройка будет не очень лёгкой.
Поставить статику в области вне экрана несложно. А чтобы ставить в экран придётся менять КП12 на КП11. И выигрыш по деталям будет только на ОЗУ. Поэтому применение SIMM (30 или 72 ноги) ничуть не хуже статики, но дешевле и проще.
Если не ставить целью VGA, то гораздо проще сделать клон ОРИОНА с таким же быстродействием в 6.5...7.1 МГЦ, используя базовую схемотехнику, ОЗУ на такте 5 МГЦ, Z80B с WAIT на такте 10 МГЦ и две планки SIMM-30 по 1 мб (что в сумме 2 мб). SIMM рассчитаны на такую скорость, поэтому перегрева ОЗУ на такте 5 МГЦ не будет (как происходит с РУ5-тыми), отчего надёжность будет высокой. А для достижения скорости, достаточно поставить в банки 0 и 1 в адресах 0...7FFF статику w24257 без WAIT, так что программы в младших адресах будут прогоняться на эффективной скорости в 10 МГЦ, тем самым делая такую версию ОРИОНА более выгодной, чем вариант для VGA.
А вместо подключения к VGA следует использовать подключение к целой IBM PC с установленной TV-картой, имеющей внешний вход VIDEO или китайский VGA-конвертор.
да, именно это я и имею ввиду - период.
- - - Добавлено - - -
если я правильно понял описание, то должно получиться вот так.
в основной схеме предварительно разрываем связь между выводами 1 и 15 дешифратора ИД4 DD27.
http://s03.radikal.ru/i176/1705/df/7bd63b5381ca.jpg
как теперь на КР580 получить /IORQ?
Да, тут я похоже "зарапортовался", где-то ошибся. Представляя схему в голове трудно всё учесть. О том как будет пищать по OUT FF КР580 я и не подумал. Но скорее всего есть какой-то простой выход и для КР580. Давайте думать, на то и форум. Конечно ВК28 не вариант.Цитата:
Сообщение от Stampmaker
Что если в этой же схеме, для формирования строба триггера вместо /IORQ применить /WR? Из-за подмены адресов по OUT, сигнал 112 (/F800) вместе с /WR и при КР580 и при Z80 дадут строб.
Да кстати, резистор R1 в 1 кОМ на землю даже 1533-я серия, возможно, не воспримет как ноль, а 155-тая серия уж точно 1 кОм даже не заметит. Я вроде когда-то в подобном варианте при 155-той серии использовал 150 Ом.
Я вообще-то думал, что ЛА3 и ТМ2 формирующий звук OUT FF можно ставить на основной плате, напаивая их вторым этажом, и сложение сигнала INTE с сигналом триггера OUT FF делать здесь же. Потому что сигнала 112 нет на платке Z80 и его придётся "бросать" навесным проводком, что затруднит обратную замену платки Z80 на процессор КР580, сделав это невозможным без паяльника.
Это даёт пользователю выбор, применить STA FB00 для формирования звука (оставив "слипаемость" портов FB00 FF00), что требует расход только в ТМ2 или же сделать полноценную дешифрацию портов, устранив "слипаемость". Конечно работ по доп.монтажу без второ-этажных навесных корпусов меньше, но как цепь 112 или его инверсию провести на платку Z80 (т.е есть ли какая-то нога у КР580, которая ему не особо нужна?).
Входы RS у триггера звука заземлены? Выходной сигнал триггера не строб, а меандр. Короткий (400 НСЕК) строб только на входе C триггера.
Кстати, благодаря наличию двух звуков при КР580, получается уникальная возможность регулировать громкость обоих каналов звука, если убрать диоды в сумматоре звуков. Без диодов можно получить эффект вибрато.
При вибрато, существенно повышающем качество звука, происходит модуляция амплитуды сигнала глубиной до 25-30% с частотой 6-8 герц. Если резисторы в резистивном сумматоре звуков одинаковы, то будет модуляция глубиной в 50%. При соотношении резисторов 2 к 1, получится нужная глубина вибрато. Тогда основной тон выдаём по OUT FF, а по DI/EI выдаём частоту вибрато. При этом, если прогонять эту программу на Z80, никакого вибрато не будет, но звук OUT FF будет. Интересно в ОРИОН-ПРО есть звук по OUT FF?
Да, и чтобы звук был более синусодиальным на выходе можно поставить ФНЧ, - RC или LC цепочку, что сделает из меандра почти синусоиду, хотя и сократит амплитуду.
barsik - это слово-состояние у ВМ80 (/IORQ там нет, но есть похожее):) Ножек у ВМ80 не хватило.
barsik, схема распортовки работает. после ввода диодов и резистора слипание отсутствует.
пробовал, если вместо /IORQ дать /WR, то строб есть. если обращения к порту нет, то на выход всё равно идёт мусор. сразу после включения компьютера.
да, но это не беда. 5 (или 10) МГц тоже навесным проводом подавать надо. так что 1 провод или 2 это уже неважно. чтобы снять плату и вернуть КР580 достаточно сделать на проводах разъёмчик. тот же PLD хотя бы.
ноги 21 и 24 в данной схеме у процессора свободные, не используются. можно через них кинуть и частоту и 112 провод. но тогда получается, что у каждого устанавливаемого экземпляра эти ножки нужно откусывать. а это не комильфо.
- - - Добавлено - - -
я так и сделал
а рядом поставил разъём, через который на плату Z80 будет подаваться 5 МГц и cниматься c неё /IORQ, а выход OUT FF уже на основной плате объединится с INTE
http://s008.radikal.ru/i306/1705/ba/b708a515b716.jpg
- - - Добавлено - - -
хорошо воспринимает, всё работает
- - - Добавлено - - -
наоборот, подтянуты к питанию
Или я не врубился, или вы решили заэмулить Z80 на ВМ80 без портов. Это будет – прорыв!!! Z80-card2 устоявшаяся конфигурация и этот груз придется тянуть через года.
А понял. Z80 от сервис доработка – успехов!!!
Печально, что на вход C триггера звука идёт мусор при /WR^/F800. Это получается, вероятно, из-за того, что ROM-BIOS делает OUT F8, F9, FA. Если это так, то с монитором-1, который ещё не знал про то, что команда OUT тоже попадает в системные регистры, мусора на входе C не должно быть. Попробуйте М1.
КР580 точно не должен ничего писать выше FC00. Поэтому, если с М1 помех на выходе триггера нет, то придётся как-то объединять /F800 и инвертированный A10 в формирователе строба триггера.
Что за грамотная плата ОРИОНА с участком слепыша? Что у Вас там справа на месте системного разъёма? Неужели два слота?
ревизия 512, на ней два системных слота
фото платы здесь http://zx-pk.ru/threads/18954-sborka...8-rev-512.html
- - - Добавлено - - -
мусор тоже есть. я так думаю, дело не в командах OUT или STA. как Вы правильно заметили, всё идёт из комбинаций сигналов /F800, A10 и /WR.
чтобы отловить OUT надо ловушку на рассыпухе делать и объединять её с /WR. я правильно понимаю?
Ну что-же делать, если "народу" срочно требуется надёжная работа Z80 на такте 10 МГЦ. Да и кому-то интересно попробовать вариант ОРИОН-СЕРВИС не из практической, а исторической точки зрения.Цитата:
Сообщение от OrionExt
При установке Z80 по схеме Z80CARD-II, пока нет схемы 10 МГЦ. Точнее такие схемы были (как минимум, известно 5 таких схем), но "откопать" их пока не удалось. А грамотные аппаратчики, что могли бы самостоятельно это вновь разработать, вымерли как класс. Известные схемы Турбо-200% (при которых ОЗУ на 5 МГЦ), на обычном ОРИОНЕ приводят к перегреву 565РУ5, отчего надёжно работают только с мощным вентилятором или при замене кварца на 9 или 8 МГЦ или же требуют применения SIMM, которые не перегреваются на такте 5 МГЦ.
Мне не нравится схема установки Z80 от ОРИОН-СЕРВИС. Но что поделаешь? Я уже с середины 90-х пользуюсь вариантом "голый Z80", поэтому схема ОРИОН-СЕРВИС, если в ней сделать звук, меня устраивает. Z80CARD-II имеет смысл только для игр от ZX, которые уже никого не интересуют.
Преимущество Z80 без диспетчера ОЗУ в том, что можно иметь 62256 без WAIT на полном такте Z80, что без проблем даёт скорость в 5 МГЦ, а также в том, что можно просто расширить ПЗУ ОРИОНА на 27256 до 32 кб, что кардинально улучшает качество ОРИОНА.
Кстати, при Z80CARD-II тоже можно ставить 62256 в адресах 0...7FFF в банке 0. Только схема чуть сложнее. Тогда 62256 на все 32К в адресах 0...7FFF получается только при отключенном окне диспетчера 0...3FFF. А если окно включено, то быстрая 62256 остаётся только в адресах 4000...7FFF.
Не знал, что плата рев.512 такая грамотная. Только зря не поставили Z80 сразу на основную плату (для фанатов КР580 можно было сделать платку КР580, втыкаемую в панельку Z80). В один слот надо ставить мультикарту: IDE-винт, ВВ51, ВИ53, адаптер мыши, AY-8912, возможно, флоп). А во второй слот - платку текстового адаптера на 30 TTL-корпусах.Цитата:
Сообщение от Stampmaker
я почему заинтересовался "ОРИОН-СЕРВИСОМ"?
тут две причины:
1) Z80CARD-II у меня не заработала (ну как не заработала - компьютер зависает после старта, хотя тест проходит нормально. грешу на ОЗУ);
2) есть человек, который собрал эту схему и гарантирует её работу.
Эй, а схема из поста http://zx-pk.ru/threads/6066-orion-1...l=1#post912535 - неверная.
/IORQ забыли проинвертировать. IORQ должен быть без палки, т.е равный 1, когда активный. И WR, используемый вместо него, соответственно, тоже. На вентиле 'И' нельзя объединить единичный сигнал выборки адреса и нулевой сигнал /WR. WR тоже должен быть единичным, т.е без палки и в схеме ОРИОНА такой сигнал есть (D59/4). Т.е схема из указанного поста годится, только вместо /IORQ надо подать D59/4 (WR). Тогда звук будет и при КР580 и при Z80.
Я предлагал сразу брать инвертированный 112, это сигнал D8/11, тогда от ЛА3 и остаётся вентиль для инверсии /IORQ.
Не понял о какой ловушке речь.Цитата:
Сообщение от Stampmaker
Строб записи получают путём дешифрации адреса и объединением с сигналом /WR. Именно это в данной схеме и сделано. Если инвертированный сигнал 112 объединить на 'И' с адресом A10, то получается дешифрация области FC00...FFFF. Это и есть ловушка на адрес.
Тест из ПЗУ проходит, а программа не работает бывает, если подать инверсный клок. Попробуйте инвертировать клок Z80 и поэкспериментировать, подавая 5-ти вольтовые Ф1 и Ф2, а также сигнал 43 (2.5 МГЦ) прямой и инверсный. Проверьте, что 12 и 13 ноги у D13 соединены.Цитата:
Сообщение от Stampmaker
100 нс чипы тянут только до 5 МГц... Для 7 МГц надо 70 нс (теоретический предел), а лучше 60 нс, но они (в DIP-е) уж совсем дефицит...
Указанное на чипах время - это время активного состояния сигнала выборки строк tRAS. Полный период произвольного доступа состоит из суммы этого времени и времени восстановления tRAS_Precharge, которое примерно равно этому же значению (иногда чуть меньше, указывается в шитах).
можно попробовать вот такую схемку применить.
взято с Z80CARDII
в результате имеем диапазон от F8 до FF без накладок друг на друга
http://s019.radikal.ru/i633/1705/47/60516b8d1e97.jpg
- - - Добавлено - - -
да я думал применить безумную идею отлова кода команды на шине данных, потом запоминать бит-состояние в триггере по такту Ф1 (или Ф2, не знаю что правильнее)... но подумав понял, что это плохая идея. и неверная.
Можно конечно. ИД7 легко напаять вторым этажом на КП12 стоящие рядом с CPU. Хотя ЛА3 дешевле, чем ИД7. Обычно ЛА3-тьи имеются в наличии десятками, а ИД7-мых никогда не хватает.Цитата:
Сообщение от Stampmaker
Для триггера звука не нужно инвертировать строб с выхода дешифратора. Нам без разницы по какому фронту строба сработает триггер (без разницы будет фронт звука на 400 НСЕК раньше или позже).
А куда Вы истратите второй триггер из корпуса ТМ2 ? Из него удобно получить однобитовый порт управления режимом. Например, для переключения размера экрана 384/400/448/480/512/256 (это расширение порта FA), или для выбора второй 2-х килобайтовой банки ПЗУ F800 (порт FC), или для переключения на альтернативный ROM-диск в 64К (порт FE), или для переключения ТУРБО-НЕТУРБО (порт STA FB00), или для включения большого ROM-BIOS на 27256 (или 62256).
Для базового ОРИОНА без доп.расширений, наверное, разумнее всего истратить этот триггер на переключение ТУРБО-НЕТУРБО, т.к при такте ~5 МГЦ неудобно пользоваться старыми программами. Для коммутации такта 10/2.5 МГЦ понадобится мультиплексор (КП12, КП11). При включении НЕТУРБО надо не только менять клок на входе CLK, но и надо запретить поступление сигнала /WAIT на Z80, потому мультиплексор и необходим.
Блокирование формирователя WAIT D5.1 путем подачи 0 на вход S D5.2 вместо /RESET, как предложено ранее не годится, т.к это одновременно отключает и формирование ZSYNC, т.к в схеме ОРИОН-СЕРВИС формирование WAIT и ZSYNC сделано на одном и том же триггере D5.1.
да, я так и хочу сделать.
а зачем, разве недостаточно просто менять частоты с одной на другую?
схема ТУРБО-НЕТУРБО была опубликована здесь
http://zx-pk.ru/threads/17580-sborka...l=1#post880245
вот она
http://zx-pk.ru/attachment.php?attac...0&d=1469796195
с нашим свободным триггером схема будет такая
http://s019.radikal.ru/i601/1705/cf/43c2d6518399.jpg
ЛЕ1 можно припаять сверху на ТМ2, помимо питания припаивается вывод 5 (именно поэтому я поменял местами выводы 5 и 6)
после включения питания на ТМ2/5 будет "0", а значит сразу режим ТУРБО (судя по схеме, переключатель работает именно так)
Эта схема коммутации клока - вообще нехорошая. Это вариация аделаидской схемы Турбо-142%, которую я считаю "химией".
Это не коммутация клоков, а их логическое сложение. Начертите диаграммы сложения такта 5 и 2.5 МГЦ и Вы увидите, что это не эквивалентно коммутации клоков на мультиплексоре. Поэтому эта схема никак не может работать на такте 10 МГЦ, а только на 5 и, и-то только в этой полярности сигналов (т.е не даёт возможности подобрать наиболее выгодный клок, а это может быть инверсия сигналов 42 или 43) и не даёт возможности сдвигать клок задержками на последовательных вентилях. Но главное, схема с нормальной коммутацией клоков работает при 7.5 и 10 МГЦ (если сам Z80 достаточно быстрый), а эта схема "химии" не может.
В раннем варианте Z80 от ОРИОН-СЕРВИС с тактом 2.5 МГЦ WAIT не используется. Отличие варианта 3.10 от 3.20 заключается в том, что для 5-ти МГЦ добавляется узел на D8.1 и D8.2, что удлиняет ZSYNC и, соответсвенно, WAIT ещё на пол такта частоты 2.5 МГЦ, т.е на такт частоты 5 МГЦ. Итого общее число тактов WAIT добавляемое в схеме ОРИОН-СЕРВИС составляет 1 период частоты 2.5 МГЦ и ещё пол периода частоты 2.5 МГЦ. Итого, это 3 периода частоты 5 МГЦ, а достаточно ввести WAIT лишь на один такт частоты 5 МГЦ. Т.е задержка больше, чем минимально необходимо. Из-за этого и приходится вводить "химию" и вешать 20-ти ногие печко-образные регистры ИР82 вторым этажом.
Если сравнить узел формирования WAIT в моей схеме Турбо-142% с узлом D5.1 и D5.2 (+ D8.1, D8.2) в схеме ОРИОН-СЕРВИС, то видно, что WAIT в обоих схемах возникает одновременно, но длится по-разному. В моей схеме второй триггер взводится и сбрасывает WAIT уже следующим тактовым импульсом 5 МГЦ, отчего WAIT длится только 1 маш.такт, что и требуется. А в схеме ОРИОН-СЕРВИС второй триггер, сбрасывающий WAIT, тактируется не тактом 5 МГЦ, как у меня, а тактом в 2.5 МГЦ. Что приводит к тому, что WAIT уже изначально длится период 2.5 МГЦ, т.е два такта частоты 5 МГЦ. Но более того, в варианте 3.20 добавили узел D8.1 и D8.2, что продлевает WAIT ещё на пол такта 2.5 МГЦ. Итого имеем 3 такта WAIT частоты 5 МГЦ. Это излишне на такте 5 МГЦ, но, видимо, необходимо на такте 10 МГЦ. Вероятно это и позволяет схеме ОРИОН-СЕРВИС работать на 10 МГЦ.
Если при такте в 2.5 МГЦ подачу /WAIT на 1.5 периода частоты 2.5 МГЦ не отключать, то вероятно, благодаря переделке N3 и применению ИР82 ничего плохого и не будет (кроме небольшого снижения быстродействия и блёсток на экране). Хотя в варианте установки Z80 V3.10, т.е на такте 2.5 МГЦ никакой WAIT не используется.
Я хочу сказать, что при такте 2.5 МГЦ всё желательно вернуть к базовой схеме, т.е в НЕТУРБО надо исключить подачу /WAIT на Z80 (удобно тем же мультиплексором, что коммутирует такт или схемой с диодами подавать "1" на вход /WAIT). Блокирование формирователя WAIT D5.1 путем подачи 0 на вход S D5.2, как предложено ранее (и как это в моей схеме Турбо-142%), не годится, т.к это одновременно отключает и формирование ZSYNC, а в схеме ОРИОН-СЕРВИС формирование WAIT и ZSYNC сделано на одном и том же триггере D5.1.
Введение одного такта WAIT обычно не вредит при такте 2.5 МГЦ. И это использовалось для повышения надёжности КНГМД при КР580 (при Z80 это менее актуально, т.к там /RD /WR длиннее). Но введение двух и более тактов WAIT вредит, - на экране появляются блёстки. В данной схеме на такте 2.5 МГЦ вводится 1.5 такта WAIT (частоты CLK 2.5 МГЦ). В зависимости от фронтов, Z80 это может воспринимать как 1 или как 2 такта WAIT. Если как 1 такт, то всё в порядке, будет лишь чуть тормознее 2.5 МГЦ. А вот, если как 2 такта, то даже, если будет работать, на экране будут блёстки.
Это я пояснил, почему мне кажется, что подачу /WAIT на Z80 на такте 2.5 МГЦ надо отключать.
Исходя из вышеизложенного, теоретически, схема ОРИОН-СЕРВИС на такте 5 МГЦ должна давать меньшее быстродействие чем обычная схема Турбо с WAIT на 5 МГЦ, дающая ускорение в 1.41 раза. По слухам, по кранней мере, ранние схемы Z80 от ОРИОН-СЕРВИС на 5 МГЦ давали ускорение в 1.25.
barsik, что то я запутался
Я считал, что в Орион-Сервис 3.1 такты идут стандартно: 1, 2, 3, 4, ...
В 3.2 просто добавляется wait: 1, 2, w, 3, 4, ...
А как на самом деле расположены такты? И как дело обстоит в командах in/out, где в Z80 уже есть дополнительный wait?
Не важно на каком такте цикла добавляются WAIT-ы. А важно сколько тактов WAIT добавляется.Цитата:
Сообщение от Stampmaker
Речь шла о том, что в режиме НЕТУРБО формирование сигнала /WAIT надо отключать.
Видео-генератор даёт процессору для доступа к ОЗУ только один машинный такт частоты 2.5 МГЦ. Поэтому продлевать время доступа долее, чем до окончания периода 2.5 МГЦ незачем и только приводит к проблемам. Если в OUT-командах уже есть дополнительный такт WAIT, то это только приводит к проблемам на такте 2.5 МГЦ. А на такте 5 МГЦ нет, просто при 5 МГЦ аппаратный WAIT дополняется программным встроенным в Z80. Но WAIT в схеме Z80 вводят не для команд OUT, а для обычных команд работы с памятью.
А при 2.5 МГЦ команды IN/OUT адресованные в ОЗУ тоже получают ненужный такт WAIT, встроенный внутри Z80. Отчего команды IN/OUT адресованные в ОЗУ на такте 2.5 МГЦ читают и пишут чушь. Т.к защелкивание считываемых данных происходит по фронту /MREQ, когда уже целый такт буфер ОЗУ и буфер CPU закрыты. Запись в ОЗУ командой OUT адресуемой в ОЗУ, возможно, сработает, а вот чтение по IN - нет. Т.е и вводить подмену старших адресов для команд IN/OUT при такте 2.5 МГЦ просто не имело смысла. Это как раз тот случай, когда WAIT встроенный в Z80 для команд OUT вреден. А вот на такте 5 МГЦ команды IN/OUT адресуемые в ОЗУ сработают.
У меня никогда не было схемы с подменой команд OUT на команды записи в ОЗУ, так что любопытно работает ли команда IN и команда OUT адресуемая в ОЗУ (т.е с N порта менее F4) на схеме ОРИОН-СЕРВИС с тактом 2.5 МГЦ.
Комрады, быть может Вам будет интересно: "MSX super turbo 3.0". Там особое внимание уделено моменту переключения частот.
Не понимаю, чего здесь сложного. Идея WAIT примитивна. Включение тактов WAIT с целью удлинения времени доступа процессора в ОРИОНЕ с тактом более 2.5 МГЦ вызвано особенностями работы применённого типа ОЗУ и схемой синхронизации с видео частью.Цитата:
Сообщение от uart
А именно, считываемые данные готовы для фиксации в CPU спустя ~150 НСЕК после /CAS=0 и прекращаются по переднему (0->1) фронту /CAS. /CAS в моей схеме 2.5 МГЦ совпадает с CLK (Ф1 КР580). В схеме ОРИОН-СЕРВИС 2.5 МГЦ в качестве такта CLK используется Ф2. Из-за этого, а также из-за неудачной схемы формирования ZSYNC, им и пришлось задерживать закрытие буферов (переделка N3) и делать защёлки, чтобы продлить читаемые данные. В моей схеме это не требуется, т.к задержка закрытия буферов происходит автоматически.
"Окно доступа" к ОЗУ при КР580 длится пока DSYNC=1, т.е ровно один маш.такт, т.к стробируется сигналом /CAS. По переднему фронту /CAS - исчезает DSYNC, убирается /WE, закрываются буфера (CPU и ОЗУ). По записи это работает прекрасно, т.к РУ5-тым до лампочки, что CPU держит /WR ещё хоть час после исчезновения импульса /CAS. А вот по чтению хреновее, т.к защелкивание данных с шины внутри CPU происходит по фронту /RD, который длится дольше, чем точно 1 маш.такт.
Но как доказал опыт сборки ~50.000 ОРИОНОВ, из-за задержек (сквозь буфера) и паразитных емкостей, сигналы на ШД исчезают не мгновенно, так что при КР580 никаких проблем не возникает. Для Z80 ситуация хреновее, т.к у него сигнал /RD более длинный. Но при CLK равном Ф1 в моей схеме тоже всё работает. А вот с Z80 от ОРИОН-СЕРВИСА при CLK=Ф2 даже на такте 2.5 МГЦ возникают проблемы. Оттого им и приходится делать доработку N3 (удлиняющую время открытия буферов), доработку N5 (запоминание данных с шины в регистре ИР82) и закорачивать вентиль D11.5.
А вот при такте 5 МГЦ, происходит наоборот. Процессор слишком рано кончает писать (убирает записываемые данные до фронта /CAS), и слишком рано защелкивает данные считываемые из ОЗУ, когда они ещё не готовы из-за низкого быстродействия ОЗУ.
Кстати, делюсь ценным секретом. При 5 МГЦ можно ввести регистр на вывод, который защелкивает и удерживает данные на шине после окончания /WR, что позволит отказаться от использования WAIT при записи (что даст ускорение до 1.75 при ОЗУ на том же медленном такте). Т.е это идея регистра, но по сравнению с идеей ОРИОН-СЕРВИС, это "регистр наоборот". Продлеваем в защёлке данные для ОЗУ, а не как в схеме ОРИОН-СЕРВИС, где продлеваем данные для процессора. Эту идею я уже использовал в своём несинхронном текстовом адаптере и она прекрасно будет работать и в ОРИОНЕ, дав выигрыш скорости на 30% без перегрева ОЗУ.
Чтобы обращение к ОЗУ от Z80 на такте 5 МГЦ продлилось на весь период "окна доступа" в 400 НСЕК и вводится ОДИН такт WAIT. Это в моей схеме. А сколько тактов вводится в схеме ОРИОН-СЕРВИС - одному Богу ведомо. Как я уже писал, это, как минимум 2 такта, а скорее всего (из-за D8.1 и D8.2) три такта.
Кстати, для схемы ОРИОН-СЕРВИС возможно иное решение, чтобы избежать напайки ИР82 на ВА86. В схеме ОРИОН-СЕРВИС удлинять данные приходится потому, что данные на выходах ОЗУ исчезают по концу /CAS. Решение проблемы ясно и обезьяне. Достаточно задержать /CAS на 50 НСЕК последовательными вентилями или емкостями.
Задержка закрытия буферов в моей схеме происходит автоматически. Буфера открываются сигналом /DSYNC (D13/8). При КР580 SYNC короткий, потому при очередной импульсе /CAS на входе D13/11 его уже нет, отчего SYNC длится чётко 1 маш.такт. А вот при Z80 используется имитация SYNC - сигнал ZSYNC, а он исчезает не по следующему фронту /CAS, а по концу /MREQ, отчего DSYNC удлинённый. Т.е буфера окрыты всё время пока идёт /MREQ. Отчего мой вариант формирования ZSYNC и DSYNC грамотнее.
Схемка тут может быть только "лобовая", т.е /RAS к /RAS, /CAS к /CAS, данные к данным, и адреса к адресам. Интересно, используются ли у VladimirS, все 512К (как в схеме rev.512) или лишь те же базовые 256К. При 512К надо устанавливать ТМ7 вторым этажом над TM7 (D18) и КП12, напаянный вторым этажом над D23, а при 256К достаточно только одной КП12.Цитата:
Сообщение от VladimirS
Интереснее, как конструктивно сделать эту замену, как закрепить и смонтировать SIMM чтобы выглядело не очень страшно. Я тоже имею ненужные SIMM-30 256 кб и есть надежда их применить на такте 8.25 МГЦ (Z80 на такте 8.25 МГЦ, а WAIT только для ПЗУ и ВВ55). А уж при /RAS /CAS в 5 или даже 7.5 МГЦ SIMM-30 смогут работать без проблем.