Существует ли в интернетовской природе внутренняя схема ULA?
Вид для печати
Существует ли в интернетовской природе внутренняя схема ULA?
На том же сайте где лежит схема летающих тарелок и однополюсных магнитов :)
эх, многие искали этот сайт... и вернулись назад с пустыми руками. кроме тех, конечно, кто ПРОПАЛ НАВСЕГДА :)Цитата:
Сообщение от heroy
...а твою ULA можно как-нить поиметь? в теме вложение уже удалили :(
Т.е. ее так никто и не расколол??? :v2_conf3: :v2_jawdr:Цитата:
Сообщение от heroy
Сам вопрос звучит как то странно!Цитата:
Сообщение от Titus
Что ты подразумеваешь под внутренней схемой?
фотошаблоны под ASIC наверно :DЦитата:
Сообщение от CHRV
Я думаю с десятокЦитата:
Сообщение от Ronin
У Conan поинтересуйся какой наиболее точный клон на дискретке вот тебе и примерный расколЦитата:
Сообщение от Titus
Внутренняя схема - это и есть внутренняя схема. Т.е. триггеры, счетчики, вентили и т.д. Короче, мне это нужно для 100% точного понимания ее работы.Цитата:
Сообщение от CHRV
Примерный я и сам сварганить могу, мне нужна точная ULA от 48 спека.Цитата:
Сообщение от heroy
Нету. это внутренняя документация SRL.Цитата:
Сообщение от Titus
Мультиколор для фирменной ULA давно расколот и поддерживается в эмуляторах 100%-но. Т.е. идете на описание мультиколора для фирменных спектрумов 48, 128, 128+, 128+2, 128+2А/2B (2A=2B, просто 2B - испанизированная ПЗУ, как я понял), 128+3, Timex 2048/2068 (он же Spectrum SE). Все расписано до такта. Поддержан эмуляторами Real Spectrum, Spectaculator, Spin, EmuZWin, Klive, SpecEmu (и в какой-то степени возможно еще несколькими). В Real Spectrum есть кстати даже выбор типа ULA, кололи они его очень тщательно, коли разницу обнаружили.
Отличия «А» от «В»: разные страна производители. К тому же модели «В» продавались в виде наборов Action Pack. Испаноязычные ПЗУ были и в +2 и в +2A.Цитата:
Сообщение от Vladimir Kladov
Исходя из всего вышеперчисленного у меня возникло 3 вопроса:
1. Сколько принципиально разных типов ULA существовало и в каких фирменных спеках какая из них была?
2. Поконкретнее линки на доки по юле? :v2_rolley
3. За сколько можно сейчас купить фирменный спек 48 (на еБае или еще где)? А так же другие версии фирменных спеков, но с Иной юлой?
Тогда еще раз спрошу у общественности, которая в курсе - сколько типов ULA существовало, и в каких моделях они стояли?
По-моему все типы перечислены в конфиге RealSpec. Если нету RS, могу запустить... На страницах WoS в разделах документации что-то написано, но разбора по названиям каждой ULA я там вроде не находил. Предполагается, что на каждой фирменной машине свой тип, и они _очень_ совместимы.
Программно неразличимы:Цитата:
Сообщение от Titus
ULA в ZX Spectrum issue 1 и 2
ULA в ZX Spectrum issue 3-6
ULA в ZX Spectrum 128 и +2
ULA в ZX Spectrum +3 и +2A/B
Итого четыре типа.
Timex-ы это отдельная тема.
Добавлю, что идея накупить указанные модели для тестирования, на мой взгляд, достаточно бестолковая. Ровно, как и найти "внутреннюю схему ULA". Для точной эмуляции указанных типов (ULA) есть практически вся информация. На форуме, кстати, публиковалась. А вот другие «фичи» аппаратного обеспечения, почему-то часто упускают. Это эмуляция «снега», «рассыпание» содержимого быстрой памяти при принудительной установке регистра IR и другие особенности. Вопрос нужно ли все это повторять? Если да, то для чего? Ведь при эмуляции важна точность работы существующего ПО, а не «теоретическая возможность» отличить эмулятор от реала.
Приведу еще один простой пример. При работе ZX Spectrum issue 1-2 помимо слегка размытого изображения на экране телевизора возникает своеобразный муар и цветовые искажения картинки. Это возможно эмулировать ;) ? И нужно ли?
Всем большое спасибо. Полазию по документациям и по 'конфигам от эмулей', чтобы решить, какие же из реальных спеков мне необходимы... :v2_rolley
p.s.: Если у кого завалялся, там, ненужный фирменный спек - куплю :v2_blush:
Господа, есть ли тут счастливые обладатели оригинального Спека, содержащего оригинальную ULA? Есть интересный вопрос, на который хотелось-бы найти ответ. Вопос нигде не освещался (не нашёл по крайней мере) и представляет интерес для корректного написания эмулей Спека, да и вообще эта тема слабо освещена. Суть вопроса в том, что три сигнала - TAPE IN, TAPE OUT и SPEAKER в ULA передаются через один и тот же вывод. Хотелось бы знать следующее:
1) Записать название модели, год выпуска, версию платы, номер и партию ULA.
Пример: ZX Spectrum+ 1983 Issue 4s ULA 6C001E-7 8624
2) Для вариантов ZX Spectrum 48k :
- используя программу №1 измерить зависимость выходного напряжения на 28 ноге ULA от комбинаций битов D3, D4 записанных в порт #FE. Измерения производить при чёрном бордюре. Результаты занести в таблицу №1.
Для вариантов ZX Spectrum +128k, +2:
- используя программу №1 измерить зависимость выходного напряжения на 35 ноге ULA от комбинаций битов D3, D4 записанных в порт #FE. Измерения производить при чёрном бордюре. Результаты занести в таблицу №1.
Для вариантов ZX Spectrum +2a,b, (и возможно +2), +3:
- используя программу №1 измерить зависимость выходного напряжения на 98 ноге ULA от комбинаций битов D3, D4 записанных в порт #FE. Измерения производить при чёрном бордюре. Результаты занести в таблицу №1.
Программа №1.
10 INPUT "ENTER DATA IN", DIN
20 OUT 254, DIN
30 PRINT DIN; TAB 8; IN 254
40 GO TO 10
DIN:
1) 0
2) 8
3) 16
4) 24
Таблица №1.
________________
| X | _вх_ |Uвых.,V| пример:
|№ |D4|D3| модель| |Iss4s|
| 1 | 0 | 0 |_0.000_| |0.388|
| 2 | 0 | 1 |_0.000_| |0.713|
| 3 | 1 | 0 |_0.000_| |3.700|
| 4 | 1 | 1 |_0.000_| |3.850|
3) Для всех вариантов ZX Spectrum, используя программу №1 исследовать зависимость состояния порта магнитофонного входа - бит D6 порта #FE, от комбинаций битов D3, D4 записанных в порт #FE. Результаты занести в таблицу №2.
Таблица №2.
__________________
|#FE OUT|#FE IN, D6| _пример:_
|№ |D4|D3| модель | | Iss4s |+2|
| 1 | 0 | 0 | __ Х __ | | _ 0 _ | 0 |
| 2 | 0 | 1 | __ Х __ | | _0/1_| 0 |
| 3 | 1 | 0 | __ Х __ | | _ 1 _ | 0 |
| 4 | 1 | 1 | __ Х __ | | _ 1 _ | 0 |
4) Для всех вариантов ZX Spectrum, используя программу №2 исследовать статистическую зависимость состояния порта магнитофонного входа (бит D6 порта #FE) при записии в порт #FE комбинации битов D3, D4 (DATA IN=8). Исследование производить при вынутом из разъёмов компьютера магнитофонном кабеле. Результаты занести в отчёт.
Программа №2.
10 INPUT "ENTER DATA IN", DIN
20 LET ZERO=0
30 LET ONE=0
40 LET N=1
50 IF N>1000 THEN GO TO 170
60 OUT 254, DIN
70 LET DOUT=IN 254
80 LET N=N+1
90 LET R=INT (DOUT/64)
100 IF R=0 THEN GO TO 150
110 LET R=R-2
120 IF R=0 THEN GO TO 150
130 LET ONE=ONE+1
140 GO TO 50
150 LET ZERO=ZERO+1
160 GO TO 50
170 PRINT "ZERO=", ZERO; "ONE=", ONE
5) Для всех вариантов ZX Spectrum, используя программу №2 исследовать статистическую зависимость состояния бита порта магнитофонного входа (бит D6 порта #FE) на предмет определения чувствительности к входным наводкам от кабеля магнитофона при разных уровнях постоянной составляющей входного напряжения задаваемой записью комбинации битов D3, D4 в порт #FE (DATA IN=0 или DATA IN=8). Исследование производить при подключенном с помощью кабеля магнитофоне. Проделать то же самое без магнитофона для DATA IN=0 при подключенном к разъёму куске неэкранированного кабеля. Результаты занести в отчёт.
6) Для всех вариантов ZX Spectrum, используя программу №3 и подавая сигнал на внешний звуковой усилитель с выхода MIC компьютера, исследовать зависимость громкости звучания внешнего динамика при генерации сигнала с шестью уровнями громкости путём записии в порт #FE разных значений комбинации битов D3, D4 (оценка производится на слух). Для упрощения контроля слабо различимых уровней громкости, введена визуальная индикация с помощью изменения цвета бордюра, т.е. каждому уровню громкости от 1 до 6 соответствует свой цвет бордюра. Если в используемом усилителе есть возможность включения режима Долби, то произвести дополнительное исследование с включенным этим режимом и сравнить результаты. Результат наличия различимого на слух изменения громкости занести в отчёт.
Программа №3.
10 DIM A(12)
20 FOR N=1 TO 6
30 READ A(N)
40 LET R=A(N)
50 READ A(N)
60 FOR M=0 TO 64
70 OUT 254, R+N
70 OUT 254, A(N)+N
80 NEXT M
90 NEXT N
100 DATA 24, 16, 8, 0, 16, 8, 24, 8, 16, 0, 24, 0
Black_Cat, у меня дома гдето была схема одного Спека, так вот, там был отдельно нарисован блок с подписью ULA. Дать эту схему?
Глянуть можно что это такое, хотя вопрос это не снимает.
Из моей переписки с Сергеем Жаворонковым (в 2005 году):
Но вот то, что касается отличия версий 2 от 3, то тут как говорится "прополз на пузе":
Value output to bit:
4 3 | Iss 2 Iss 3 Iss 2 V Iss 3 V
1 1 | 1 1 3.79 3.70
1 0 | 1 1 3.66 3.56
0 1 | 1 0 0.73 0.66
0 0 | 0 0 0.39 0.34
Разумеется, я знал что выходы и входы порта #FE, это одна (28-я) нога ULA. Обратите внимание на уровень, при котором переключается из "0" в "1" ULA в Iss 2.
Обратите внимание на разницу между Iss 2 и 3. Во второй версии достаточно было установить на бит 3 "1", и на входе считывалась "1". В третьей версии бит 3 ни на что не влиял, и все зависело от состояния бит 4. Разумеется, программисты этого предвидеть не могли и переключения возникшие (там, где их раньше не было) окрестили "нестабильным состоянием" или "периодическим переключением". Я всего лишь использовал терминологию того времени.
..так, либо я чё недопонимаю, либо мы не понимаем друг друга.. Ещё раз повторяю твою таблицу:
_________________________
| _вх_ |вых. логич |вых. напряжение, V
|D4|D3| Iss2 |Iss3 | Iss2 | Iss3 |
| 1 | 1 | _1_ | _1_ | 3.79 | 3.70 |
| 1 | 0 | _1_ | _1_ | 3.66 | 3.56 |
| 0 | 1 | _1_ | _0_ | 0.73 | 0.66 |
| 0 | 0 | _0_ | _0_ | 0.39 | 0.34 |
Непонятно, с чего вдруг сделан вывод, что выделенное красным состояние и соответствующее ему напряжение - это логическая единица? Это такой же логический ноль, хоть и отличающийся уровнем напряжения, но находящийся в допустимых пределах.
Смысл прямой - выяснить по какой технологии сделан выход - это открытый коллектор, или выход с третьим состоянием? Отрезать вывод, или засунуть его мимо панельки - это самый простой и надёжный способ это выяснить. У подтянутого резистором к питанию вывода* может быть только два логических уровня - "0" с U=0-0,8V и "1" с U=2-5V, а у неподключенного ОК - только абсолютный 0V, а у неподключенного тристабильного - два логических состояния "0" и "1", и состояние отключения "Z".
* - ошибочно посчитал, что динамик подключен к 9В, на самом деле там было плохо читаемое 0В.
Не знаю, кто чего не понял, но смысл был достаточно простой:
Есть порт #FE, реализованный в «железе» ULA, для ZX Spectrum "серии 2" (Iss2) и "серии 3" (Iss3). Эти компьютеры различимы программно, поскольку одинаковые комбинации «0» и «1» в разрядах D3 и D4 на вывод (OUT #FE), приводит к _различным_ состояниям разряда D6 на ввод (IN #FE). Эта зависимость приведена в указанной табличке. Только ты когда ее перепечатал, перепутал _вх_ и _вых_ местами…:(
Так вот интересно было то, что уровень 0,73 вольта на входе (выходе) ULA уже считывается как логическая «1».
Не делал я таких выводов, лишь привел то, что считалось из D6 #FE.;)
Утверждение, что 0,73 вольта это логический «0», ты, вероятно, делал исходя из логических уровней TTL. Ты уверен, что ULA Ferranti 5C112E изготовлена по технологии TTL? Советую, изучить вопрос. К тому же пресловутый 28-й вывод это все-таки аналоговый вход-выход… и привязывать к нему логические уровни можно с некоторыми оговорками...
А если ни то и ни другое? Или третьего не дано?;)
Во-первых оба ZX Spectrum были не мои, а резать чужое добно, это не ко мне:cool:.
А во-вторых "резанье" для выяснения технологии в данном случае ничего не дало бы. Ибо, см. ниже...
Ответом на твой вопрос, будет схема реализации аналоговой части #FE в ULA (взято из патента Sinclair Research):
значит мы всёж др. др. не поняли, т.к. я считал, что это измеренные на 28 ноге сигналы.
Не, эт опять аналогичные непонятки. У меня "вх" - это входные сигналы, для схемы объединения, подаваемые с выходов регистра порта #FE, а "вых" - это то, что имеем на 28 ноге.
Я конечно предполагал, что там не всё чисто, но чтоб настолько.. Аналоговая ULA, RTL - это жесть..
..да млин, поражаюсь количеству накопленой у тебя инфы :)
Ну чтож это многое проясняет :) . По моим прикидкам (основанным на логике причинно-следственных связей и весовым коэффициентам), на 15а идёт сигнал от /D4, а на 20а от /D3 (т.е. оба сигнала поступают в инверсном виде). При таком раскладе расчётное выходное напряжение на контактной площадке №10 схемы патента и реальное напряжение измеренное на 28 выводе ULA полностью друг с другом коррелируют.
Теперь о том, что читается из D6 #FE.
Судя по всему, по критерию отличия микросхем ULA при чтении D6, имели место как минимум две ревизии ULA. Первая (ULA1) - по этому критерию одинаковая для всех старых компов ZX16/48 с версиями плат до Issue2, вторая (ULA2) - начиная с версии плат Issue3. Разница между ними в том, что в ULA1 при чтении из D6 #FE реально читался сигнал полученный по следующей формуле: D6IN=D3OUT or D4OUT or TAPEIN, при этом необходимая логика реализовывалась с помощью дополнительного внутреннего элемента ИЛИ, через который к сигналу №27 схемы патента подмешивался сигнал D3OUT, а в ULA2 этот элемент вообще выбросили и соответственно при чтении из D6 #FE, читалось непосредственно состояние сигнала №27, который соответствовал состоянию 28 ноги ULA. В этом случае формула приняла вид: D6IN=D4OUT or TAPEIN.
Вот так судя по всему выглядят дела в реале с сигналами TAPE & SPEAKER :)
Замечания есть?
Основное. Об Iss1,2 и т.д.
По маркой ZX Spectrum выпускались следуюище фирменные модели:
ZX Spectrum (черный корпус с резиновой клавиатурой). В них были _платы_ версий 1-6 (некоторые с буковками). Обозначаются: Issue1,2,3,3b, и т.д.
ZX Spectrum + (черный корпус с расширенной клавиатурой). В них чаще всего были платы Issue4, аналогичные ZX Spectrum
ZX Spectrum + 128 корпус как у плюса, но сбоку радиатор. Новая версия платы, полностью переработанная.
Далее уже у Amstrad:
ZX Spectrum + 2 серый корпус со встроенным справа магнитофоном. В нем переразведенная плата от ZX Spectrum + 128
ZX Spectrum + 3 черный корпус со встроенным справа дисководом. Плата от Amstrad
ZX Spectrum + 2A и ZX Spectrum + 2B черные корпуса со встроенным справа магнитофоном. Урезання плата от ZX Spectrum + 3
НЕ ПУТАТЬ ВЕРСИИ ПЛАТ В "РЕЗИНОВЫХ" ZX Spectrum и версии самих ZX-ов!!!
Т.е. судя по всему модели +2А, +2В, +3 шли с новой ULA, и имели новое ПЗУ с +3DOS. Логично предположить что в связи с этим и ULA у них была одинаковой, т.к. за обработку модифицированного сигнала должна отвечать модифицированная подпрограмма в ПЗУ. Тут есть корреляция, или установка D3, D4 программой обработки сигнала магнитофона в новой прошивке не менялась?
И ещё один момент - отличие схемы патента от схемы реала. На схеме реала установлен доп. диод, срезающий отрицательную полуволну сигнала магнитофона. Т.е. фактически вход TAPE IN работает только по положительной полуволне входного сигнала, а из этого следует, что прохождение такого сигнала возможно только при D4=0, когда на 28 ноге установлен уровень близкий к 0В. Т.е. получается, что в младших моделях с ULA1 блокировать TAPE IN можно было установккой в "1" либо D3, либо D4, а в ULA2 - только разрядом D4.
Интересно, получается на реале на спикере можно делать не одно-, а ДВУХбитный вывод? :)
:) Именно! Потому и рыть в этом направлении начал, что МОЖНО!! Более того - предполагаю что так изначально и было задумано! Но т.к. задумывал это Альтвассер, то с его уходом никто так и не понял для чего это нужно! И 25 лет вместо более-менее красивых сигналов все юзали ШИМ.
Гы... А вот все в курсе что на советском клоне "Байт" этот функционал реализован? Я однажды тестировал такой, и когда я ввел SAVE "TEST"CODE 0, 16384 я услышал магнитофонный сигнал в его встроенном динамике.
Уточнить по поводу значений в #FE может владелец +2 (128). Например, можно попросить Камиля Каримова, и если очень хорошо попросить, возможно, он согласится уровни на ножках ULA померить. Кстати в ULA 128/+2 это две разные ножки, но на плате они объединены (вероятно, для совместимости с предыдущими моделями).
А в +2A/+2B/+3 входы и выходы #FE разделены.
Вспомнился такой случай. В 1992 году я рассказал про эту особенность хакеру Лаптеву, и он использовал ее в своем копировщике LCOPY. Он тогда пошутил над кем-то из своих друзей с фирменным 128-м. Особенность состояла в том, что при загрузке очередного блока копировщик сигналил через бипер, а на тех машинах, где вход и выход были объединены, это иногда приводило к сбою загрузки...
Не менялась. Тип: 40077.
Могу ошибиться но, по-моему, в прошивках всех ZX-ов не менялась обработка этих бит. Это легко проверить, ибо все ПЗУ доступны.
Смотрю на WOS pdf: ZXSpectrum128K_TechnicalManual.pdf, ZXSpectrumIssue1+2-Schematics.pdf, Spectrum +3 Service Manual.pdf, ZXSpectrumIssue3-Schematics.gif, ZXSpectrumIssue4ab-Schematics.gif - всюду одни и те же схемы, ZXSpectrumIssue5-Schematics.gif, ZXSpectrumIssue6a-Schematics.gif - схема другая, но ULA - такая же.
Поделись своей схемой.
Из всей кучи - эт единственная схема в которой есть AY, есть 128к памяти (и это не смотря на то что на некоторых схемах всё-таки присутствует ZX8401, но памяти там всё равно 48к :( ) и есть ни на что не похожая ULA.