Уголок яйцеловов. Обсуждаем, чиним, хвастаемся находками - Страница 264 - Часовой форум Watch.ru
 
Вернуться назад   Часовой форум Watch.ru > Российские часы > Электроника
Регистрация | Забыли пароль?

Электроника

Форум о часах Электроника.
Текущий рейтинг темы — 
Ответ
 
Опции темы
  #2631  
Старый 13.04.2026, 08:54
Igor427 Igor427 вне форума  
Новичок
 
Регистрация: 23.07.2017
Адрес: Города и страны
Сообщений: 54
Сказал(а) спасибо: 22
Поблагодарили 40 раз(а) в 15 сообщениях
Цитата:
Сообщение от Igor427 Посмотреть сообщение
Игорь, с наступившим годом 2024!
Прошло уже больше двух лет с момента активного обсуждения игры-дозиметра «Альтаир» - решил поднять тему и поделиться некоторыми наблюдениями - может быть, кому-то будет полезно.

- Дозиметр изначально рассчитан на использование четырёх ртутных перезаряжаемых элементов с напряжением 1.2 В. Свежие LR44 дают больше 6 В вместо положенных 4.8 В, и это, негативно сказывается на «здоровье» устройства. К тому же ЖКИ работает с сильным перекосом при повышенном напряжении.

Решение простое - перемкнуть контакты одного батарейного отсека - трех свежих батареек вполне хватает для работы устройства. В идеале использовать серебряно-оксидные SR44 с более стабильным напряжением (с подсевшими LR44 счётчик может не запускаться). Фото прилагается.

- Счётчик Гейгера СБМ-20-1 со временем может «стареть». Это может проявляться в ухудшении гашения разряда: после непродолжительной работы возникает «дребезг», то есть вместо одного импульса идёт пачка. Подозреваю, что это связано с деградацией газовой смеси - галоген, обеспечивающий гашение разрядов, со временем частично связывается/разрушается, при этом генератор высокого напряжения на дросселе без обратной связи задирает напряжение.

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

В завершение ещё раз хочу поблагодарить MilanSK за отладчик и разбор алгоритма работы siealex за отрисовку схемы Альтаира!
Миниатюры
Нажмите на изображение для увеличения
Название: Altair_Battery.jpg
Просмотров: 44
Размер:	184.4 Кб
ID:	3949985  
Ответить с цитированием
Этот пользователь сказал Спасибо! Igor427 за это сообщение:
MilanSK (13.04.2026)
  #2632  
Старый 13.04.2026, 21:25
Harmah Harmah вне форума  
Новичок
 
Регистрация: 15.05.2019
Адрес: Latvia
Сообщений: 10
Сказал(а) спасибо: 13
Поблагодарили 8 раз(а) в 5 сообщениях
Цитата:
Сообщение от QuariaL Посмотреть сообщение
Мозг он всегда пытлив. (Сейчас оч модная тема ИИ, Все его боятся и.т д.) НО он написан кем то. и не может ни каким образом вызвать у (тупой железяки) ИНТЕРЕС к чему либо...
В моем случае "Ну погоди".
10 лет назад возник Интерес Как оно работает.
Благодаря Игорю с его статьями и статьями из журналов, вроде что то стало понятно.
Эмулятор просто шедевр!!
Но всякие неприятности в жизни погасили ИНТЕРЕС к"Ну погоди".
И вдруг опять спустя 10 лет (понесло)..
Нажмите на изображение для увеличения
Название: lfsr_sm5a.jpg
Просмотров: 42
Размер:	92.6 Кб
ID:	3950311
Код:
Функциональное описание РСЛОС КБ1013ВК1-2 (Sharp SM5A)
________________________________________
1. Шесть D-триггеров — регистр сдвига
Шесть D-триггеров образуют единый сдвиговый регистр, пронумерованный Q5..Q0 слева направо. Каждый такт CLK каждый триггер защёлкивает на своём входе D то значение, которое в этот момент присутствует на выходе Q соседнего триггера справа:
Q5 ← Q4 ← Q3 ← Q2 ← Q1 ← Q0
Таким образом, всё содержимое регистра за один такт сдвигается на один разряд вправо. Шесть бит — это шесть разрядов адреса команды внутри страницы ПЗУ (2⁶ = 64 ячейки, из которых 63 рабочих).
Триггеры Q1 и Q0 выделены цветом на схеме — они не просто участвуют в сдвиге, но и являются единственными источниками обратной связи.
________________________________________
2. CLK — тактовая шина
Пунктирная горизонтальная линия в нижней части блока триггеров — общая тактовая шина. Все шесть триггеров тактируются одновременно и синхронно: смена состояния происходит строго по одному и тому же фронту CLK. Это принципиально — при асинхронном тактировании регистр не работал бы как единое целое.
Тактовая частота определяется встроенным RC-генератором кристалла; машинный цикл составляет 61 мкс.
________________________________________
3. Цепь обратной связи — откуда берётся новый Q5
После каждого сдвига вправо в Q5 нужно записать новый бит. Этот бит не берётся извне — он вычисляется из текущего состояния регистра по цепи обратной связи (показана синей пунктирной линией).
Источниками служат выходы двух крайних правых триггеров: Q1 и Q0. Именно их значения до следующего такта поступают на логический блок вычисления обратной связи. Зелёные точки соединения (•) на схеме показывают, что сигналы Q1 и Q0 одновременно уходят в двух направлениях: продолжают нормальный сдвиг (Q1→D_Q2, Q0→D_Q1) и ответвляются вниз в цепь обратной связи.
________________________________________
4. Блок XNOR — вычисление нового бита
Цепь обратной связи реализует функцию XNOR(Q1, Q0), разложенную на четыре стандартных КМОП-вентиля. Разложение необходимо потому, что XNOR не является базовым вентилем КМОП-библиотеки — в неё входят только NOT, NAND, NOR (или эквивалентные).
4а. Два вентиля NOT
Первые два вентиля формируют инверсии входных сигналов:
•	NOT(Q1) → сигнал /Q1 (инверсия Q1)
•	NOT(Q0) → сигнал /Q0 (инверсия Q0)
Инверсии нужны для построения XOR через стандартные AND/OR.
4б. Два вентиля AND
Реализуют два члена суммы XOR:
•	AND(Q1, /Q0) — единица тогда и только тогда, когда Q1=1 и Q0=0
•	AND(/Q1, Q0) — единица тогда и только тогда, когда Q1=0 и Q0=1
Вместе эти два вентиля детектируют несовпадение битов Q1 и Q0.
4в. Вентиль OR
Объединяет результаты двух AND:
OR( AND(Q1,/Q0), AND(/Q1,Q0) ) = XOR(Q1, Q0)
Результат равен 1, если Q1 ≠ Q0, и 0, если Q1 = Q0. Это и есть классическое исключающее ИЛИ.
4г. Финальный вентиль NOT (инверсия XOR → XNOR)
NOT( XOR(Q1, Q0) ) = XNOR(Q1, Q0)
Результат равен 1, если Q1 = Q0, и 0, если Q1 ≠ Q0. Именно это значение записывается в D-вход триггера Q5 на следующем такте CLK.
________________________________________
5. Полином x⁶ + x + 1 — почему именно Q1 и Q0
Выбор отводов определяется примитивным полиномом над полем GF(2). Полином x⁶ + x + 1 означает: обратная связь берётся с разрядов 1 и 0 (показатели степеней x¹ и x⁰). Примитивность полинома математически гарантирует, что регистр пройдёт через все 2⁶ − 1 = 63 ненулевых состояния прежде чем вернуться в исходное. Именно поэтому каждая страница ПЗУ содержит ровно 63 рабочих адреса.
________________________________________
6. Запрещённое состояние 0x3F
Состояние, при котором все шесть бит равны 1 (0x3F = 0b111111), является вырожденным:
XNOR(1, 1) = 1
сдвиг 0x3F вправо = 0x1F
добавление Q5=1 → снова 0x3F
Регистр зацикливается сам на себе и никогда не покидает это состояние самостоятельно. Поэтому в 64-й ячейке каждой страницы ПЗУ (физический адрес 0x3F) аппаратно прошита команда BR $00 — безусловный переход на нулевой адрес страницы, принудительно выводящий счётчик из запрещённого состояния. Это видно в ASM листинге ROM игры, например: 0:0:3F: 80 BR $00.
________________________________________
Итог: полный цикл за один такт

Шаг	                Что происходит
До фронта CLK	Q1, Q0 стабильны; блок XNOR вычисляет новый бит
Фронт CLK	Все триггеры защёлкиваются одновременно
Q5	                Получает значение XNOR(Q1_old, Q0_old)
Q4..Q1	        Получают значения Q5_old..Q2_old (сдвиг)
Q0	                Получает значение Q1_old
После фронта	Новый 6-битный адрес готов, выбирается следующая команда ПЗУ.
Ответить с цитированием
Этот пользователь сказал Спасибо! Harmah за это сообщение:
MilanSK (14.04.2026)
  #2633  
Старый 05.05.2026, 22:57
QuariaL QuariaL вне форума  
Новичок
 
Регистрация: 09.02.2016
Адрес: С-Пб.
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Ну наконец то ...
Нашллась родственная душа..
Простите что начинал с псевдогафики(остатки 90-х)..
в будующем исправлюсь.
Уважаемый Harmah спасибо ,что откликнулся ...
Очень уважаю..
Но все это было решено лет 10 назад(полиномиальный счетчик).
Вы пишите одна команда за один такт выполнена...
это пардон у вас выборка команды произошла за один такт..
а как выполняется команда (swap) т.е. обмен двух триггеров(или регистров в нашем случае 4-х битных)..
Вопрос1 какие триггеры нужны ,чтобы за один такт они менялись местами и не входили в режим автогенератора..
Вопрос2 как делается пропуск адреса(решено 10 лет назад)
Вопрос 3 Реверс счетчика( тоже решено)
Далеше интереснее (Дешифратор)
P.S. "Улучшайзеры задолбали скоро в интернет невыйдешь"
Ответить с цитированием
  #2634  
Старый 06.05.2026, 01:16
QuariaL QuariaL вне форума  
Новичок
 
Регистрация: 09.02.2016
Адрес: С-Пб.
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Начнем,что называется от печки...
т.е. генератор.
Миниатюры
Нажмите на изображение для увеличения
Название: ЭЛЕМЕНТЫ.JPG
Просмотров: 24
Размер:	38.8 Кб
ID:	3956877  
Ответить с цитированием
Этот пользователь сказал Спасибо! QuariaL за это сообщение:
  #2635  
Старый 06.05.2026, 03:49
QuariaL QuariaL вне форума  
Новичок
 
Регистрация: 09.02.2016
Адрес: С-Пб.
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Первый вариант был примерно такой..)))

Драйвер лед не помню( вроде moitorola)//
Миниатюры
Нажмите на изображение для увеличения
Название: полином_счет.jpg
Просмотров: 28
Размер:	70.4 Кб
ID:	3956892  
Ответить с цитированием
  #2636  
Старый 16.05.2026, 12:57
Harmah Harmah вне форума  
Новичок
 
Регистрация: 15.05.2019
Адрес: Latvia
Сообщений: 10
Сказал(а) спасибо: 13
Поблагодарили 8 раз(а) в 5 сообщениях
[quote=QuariaL;7418437]Ну наконец то ...
Нажмите на изображение для увеличения
Название: swap_master_slave.jpg
Просмотров: 13
Размер:	76.7 Кб
ID:	3959460
Код:
1. Один такт CLK ≠ один машинный цикл
На самом деле в SM5A один машинный цикл = несколько тактов CLK. За 61 мкс происходит:

несколько фаз тактового генератора (φ1, φ2...)
выборка команды из ПЗУ по текущему адресу РСЛОС
декодирование опкода
исполнение операции
инкремент РСЛОС (следующий адрес)

Сам РСЛОС защёлкивается один раз за цикл, но внутри цикла несколько CLK-фаз.

2. Операция SWAP двух 4-битных регистров
Наивная попытка на D-триггерах:
A_new = B_old
B_new = A_old
Проблема: если сделать напрямую D_A = Q_B и D_B = Q_A на одних и тех же триггерах — по фронту CLK оба защёлкнут уже изменённые значения соседа, а не старые. Это и есть режим автогенератора / гонки.

3. Решение — Master-Slave D-триггер
Каждый «регистровый триггер» должен быть двухступенчатым (Master-Slave):
          φ1 (прозрачен)        φ2 (прозрачен)
D ──►[ Master Latch ]──►[ Slave Latch ]──► Q

По φ1: Master защёлкивает новое значение (D_A = Q_B_old), Slave заперт — Q не меняется
По φ2: Slave переписывает из Master на выход Q, Master заперт

Таким образом во время фазы φ1 оба регистра читают старые Q через Slave, и только потом одновременно выдают новые значения. Гонки исключены структурно.

Итог по трём вопросам:
Выборка за один такт? Нет — выборка + исполнение занимают полный машинный цикл (61 мкс), который состоит из нескольких фаз φ1/φ2. РСЛОС инкрементируется один раз за цикл.
Какие триггеры нужны для SWAP? Master-Slave D-триггеры (двухступенчатые защёлки). Каждый бит регистра — два D-latch с противофазными тактами φ1 и φ2. Это стандартная КМОП-реализация — именно она применяется в SM5A и всех синхронных КМОП-схемах той эпохи.
Почему нет автогенерации? Петля Q→D никогда не замкнута «насквозь»: когда Master открыт (φ1=1) — Slave заперт, Q_old заморожен. Когда Slave открыт (φ2=1) — Master заперт, новое значение не возвращается на вход. Ключевое условие — φ1 и φ2 никогда не равны 1 одновременно (non-overlapping two-phase clock).
P.S. Сразу замечу, что рассуждения по реализации это claude.ai.

Нажмите на изображение для увеличения
Название: lfsr_ms.jpg
Просмотров: 28
Размер:	98.4 Кб
ID:	3959473
Ответить с цитированием
  #2637  
Старый 31.05.2026, 07:23
Igor427 Igor427 вне форума  
Новичок
 
Регистрация: 23.07.2017
Адрес: Города и страны
Сообщений: 54
Сказал(а) спасибо: 22
Поблагодарили 40 раз(а) в 15 сообщениях
Попробую задать интересующий меня вопрос на этом форуме.

Процессоры с системой команд Sharp-SM-5x широко использовались в позднем СССР в разных играх. Тут и полные копии и полностью свои разработки (была кросс-система для ДВК).

Это, очевидно, и "Ну Погоди" (разные варианты) на КБ1013ВК4-2 и КБ1013ВЕ1-2 в играх на светодиодах, и KБ155XM3-2-006 / КБ1579 XM3-2 в играх "Веселая Арифметика" и вариантах картриджа игры "Винни Пух" а также в играх "Учитель Английского" и "Учитель Математики"

Но вот есть непонятный набор игр, объединенный условной серией ИМ-20 - они, очевидно, на процессоре того же семейства, но непонятно, на каком. Для работы этим играм нужно где-то 3.5 вольт (в игре стоят 3 батарейки + гасящий диод). Игры выпускались как в "экспортном", так и в "российском" варианте - причем это касалось, как корпуса, так и ЖКИ, но дошло их до наших дней немного. В начале игры выпускались в форм-факторе Nintendo Game & Watch SuperColor (корпус отличается незначительно), но как минимум Тетрис выпускался и в других вариантах корпуса.

Также в игре "Тетрис", нет часов - при 132 задейстованных сегментах на отображение времени просто “не хватило”.

Есть подозрение, что в игре стоит КБ1013ВК4-4 (те вариант процессора без музыкального автомата, но с мультиплексом 4) - может быть, у кого-то есть оригинальная схема одной из игр с названием чипа?
Миниатюры
Нажмите на изображение для увеличения
Название: 2026-05-29 20.45.19 (Medium).jpg
Просмотров: 14
Размер:	201.8 Кб
ID:	3963852  
Ответить с цитированием
  #2638  
Старый 01.06.2026, 02:36
QuariaL QuariaL вне форума  
Новичок
 
Регистрация: 09.02.2016
Адрес: С-Пб.
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Уважаемый Quote .
Всё красиво и хорошо.
но для каких целей (SWAP) применён к PC ?
вопрос был просто, для людей в теме.
SWAP необходим для аккумулятора и только.
))))
вопрос новый:
1 ) Инкремент, Декремент , регистра адреса ОЗУ?
2 ) С PC (Команда jamp? или jamp на 2 адреса) решено.... удачи

------- ДОБАВЛЕНО ЧЕРЕЗ 17 МИН --------

PC вообще в полином режиме не работает.
всё время в Jamp))))
Всего 4 бита.
А какие умные Японцы были 40 лет назад.
PS: Мы умнее и без Ai(claude.ai).
Весь кайф в этом деле продумать самому.
Ответить с цитированием
  #2639  
Старый 01.06.2026, 06:08
QuariaL QuariaL вне форума  
Новичок
 
Регистрация: 09.02.2016
Адрес: С-Пб.
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
мне очень нравится задавать вопрос

т ы хочешь чая ......ДВ, НЕТ,Пока, Еще,.....
Ответить с цитированием
Ответ


Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Seiko sportura ssc 261 p2 обсуждаем Andrei Grifon Seiko 5 17.11.2015 10:21
375 вышел, что не обсуждаем? butthead Panerai 17 13.06.2015 18:53
Уголок некрофила, mango Офтопик 21 09.09.2014 09:39
Обсуждаем SAGG007 Molchanoff Seiko 23 26.06.2013 23:48


Часовой пояс UTC +3, время: 08:59.