nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 19 Apr 2024 21:22



Reply to topic  [ 3 posts ] 
ПСИХ (Проверка Сыпучести, Индикация Хаотичности) ИМС-ДОЗУ 

Затрагиваемый вопрос
Не требуется никаких дополнительных устройств - уже интересно! 0%  0%  [ 0 ]
Подобных программ не так уж много 20%  20%  [ 1 ]
Подобных программ пруд пруди 0%  0%  [ 0 ]
Занимаетесь мракобесием 60%  60%  [ 3 ]
Спалил мой новый комп: На чьё имя иск высылать? 20%  20%  [ 1 ]
Total votes : 5

ПСИХ (Проверка Сыпучести, Индикация Хаотичности) ИМС-ДОЗУ 
Author Message
Maniac
User avatar

Joined: 12 Apr 2011 20:43
Posts: 267
Location: Tashkent
Reply with quote
Кaк-то я писал уже, что будучи школьником, исследуя дамп МОНИТОРа, дошёл до подпрограмм ввода/вывода данных порта магнитофона. И обнаружил там кучу «POP PSW»…
Углубляясь в логику кода я вскоре понял, что считывается ОЗУ линейно в циклах задержек. Зачем?
Я скопировал фрагменты в ОЗУ, подкорректировав адреса и все «POP PSW» заменил на «NOP». Запустил и попытался выбросить пару дампов на ленту.
После окончания я заметил несколько символов на экране и решил, что где-то не так что-то подкорректировал. А когда вывел дамп, обнаружил местами «FF» и прочий мусор…

Позднее, я решил поиграться «музыкой» посредством двух подпрограмм - «F81B» и «FD27». Но рваный звук раздражал. И я добавил код отключения ПДП. А когда наигрался, после сброса, обнаружил, что программа - испорчена, так как команды отключения ПДП заместились мусором…
Тогда я директивой «M»-МОНИТОРа отключил ПДП и через минуту восстановил всё через «O»…
Сперва, я просто ужаснулся бардаку на экране. А после прогона дампа увидел по всей протяжённости регулярно встречающийся хлам.
Вот тогда я и понял, для чего нужны те «POP PSW»!
После чего в моих программах стали появляться подобные трюки во всевозможных синтезаторах/говорилках.

Уже после перехода на Pentium и поверхностным увлечением «Торсионными Полями», я пытался отключать ПДП на PC для исследования. Но справочников по портам PC сильно не хватало и ничего у меня не вышло…

Тогда я уже в 2003 написал свой первый код, который синхронизировался по VGA-биту конца кадра, запускал таймер i8253, заполнял экран 320x200@256 ТВ-матрацем с восемью цветами и дожидался сигнала таймера. После чего весь экран обнулял. Клавишами изменял коэффициент деления таймера и добивался устойчивой цветной/тёмной картинки с единственным мерцающим пикселем с блуждающей позицией.
Код запрещал все прерывания и работал в чистом DOS с портами напрямую. И этот код я гонял часами, фиксируя перемещения пикселя. Но это было очень неудобно, так как нужно было беспрерывно дежурить у экрана.

И я написал новую версию программы уже в 2004.
Она подсчитывала длительность обратной кадровой развёртки, длительность строки и длительность обратной строчной развёртки. Тем самым, я использовал три параметра и сверял их с предыдущими значениями троичным способом (-1/0/+1).
Итого, я условно их назвал «маятниками» и составил таблицу из 27 постулатов (3 маятника на три события)…
Над программой очень долго работал и продумывал VGA-палитру, чтобы максимально быстро всё отрисовывать и скроллить, учитывая ещё и точки разметки на экранчике мнимого осциллографа. В общем, и «Змейка», и «Мячик», и «Лучи» цветные - всего лишь палитра с битами масок…
И как показали опыты, на моём Pentium 90 MHz на всю эту динамическую отрисовку код тратил время до 1/3 кадра, что визуально я отметил уже белой линией бордюра.

В 2008 весь диск я потерял (логически) и не восстановил, так как приобрёл побольше. В результате чего, вся документация и все мои работы оказались (логически) недоступны. А с новым компьютером руки до переходника SATA<->pATA ещё не дошли.

Но, тем не менее, на днях зашёл на один из форумов и в своём профиле в разделе вклада обнаружил архив 2008 года, который зачем-то кому-то вкачивал. И в этом архиве - тот самый детектор!

Ведь 11 лет я считал, что весь тот мой труд - утерян. А он хранился на одном из форумов все эти годы!
(К сожалению, без исходника. Только exe'шка.)

Итак, если Вы не равнодушны к всевозможным аномалиям, если у Вас есть компьютер/ноутбук с DOS-режимом - можете опробовать эту утилиту. Как Вы уже понимаете, никакой эмуляции она не любит и её надо запускать до загрузки любой операционки. Только DOS, без драйверов и прочего добра.

Вот демонстрация её работы в VMware, так как конкретно сейчас нету под рукой подходящих ПК.

Можно заметить, что синий луч практически хаотически себя ведёт, так как эмуляция - есть эмуляция!

Хочу предостеречь тех, кто решит погонять эту утилитку как надо - под DOS'ом.
Так как она запрещает все маскируемые прерывания на весь период своей работы, могут неверно работать часы и датчики. Тем самым, если сама BIOS следит за температурными сенсорами посредством прерываний, то весь период работы компьютера/ноутбука будет неконтролируемым.
Тем самым, если Вы не уверены - не запускайте (на продолжительный период) программу!
Или, как говорится, Вы используете её на свой страх и риск!

Вот ссылка на антивирусность, если кто-то не уверен, что я не увлекаюсь малварью.

P.S.: Как уже понятно, никакого «экстрасенсорного оборудования» в комплект купить я не предлагаю: В любом PC полно своих TCXO…


Attachments:
File comment: Psi-Детектор
Sensor.zip [4.23 KiB]
Downloaded 272 times


Last edited by Paguo-86PK on 08 Mar 2020 13:04, edited 1 time in total.

05 Dec 2019 16:11
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Paguo-86PK wrote:
Кaк-то я писал уже, что будучи школьником, исследуя дамп МОНИТОРа, дошёл до подпрограмм ввода/вывода данных порта магнитофона. И обнаружил там кучу «POP PSW»…
Углубляясь в логику кода я вскоре понял, что считывается ОЗУ линейно в циклах задержек
. Зачем?

Подпрограммы ввода/вывода данных через порт магнитофона являются задачами реального
времени и должны точно выполняться по тактам.
В ПК "Paguo-86PK" и иже с ним точное выполнение невозможно, поскольку программа прерывается циклами ПДП, обслуживающими ВГ75. При этом контроллер ПДП осуществляет и регенерацию динамической памяти.

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

_________________
iLavr


06 Dec 2019 09:11
Profile
Maniac
User avatar

Joined: 12 Apr 2011 20:43
Posts: 267
Location: Tashkent
Reply with quote
Lavr wrote:
Paguo-86PK wrote:
Кaк-то я писал уже, что будучи школьником, исследуя дамп МОНИТОРа, дошёл до подпрограмм ввода/вывода данных порта магнитофона. И обнаружил там кучу «POP PSW»…
Углубляясь в логику кода я вскоре понял, что считывается ОЗУ линейно в циклах задержек
. Зачем?
Рассказывaл я про опыт из жизни, когда мне было 14 лет! :roll:
Давным-давно я со всем этим разобрался! :lol:

Вот, кстати, руки дошли и дописал программу и на РК.
Если у кого-то под рукой имеется РАДИО-86РК, данной утилитой можно проверить микросхемы ОЗУ на вшивость

Формат - стандартный *.rkr.

Версия 1.3 (32 Кб)
  • Вверх/Вниз - прокрутка обозрения памяти. Изначально установлено на ячейки с инструкцией
  • Домой/Стр - заполнение памяти кодом FF/00 соответственно
  • Пробел/ВК - Запуск цикла без визуализации обратного отсчёта / с визуализацией
Задержка подгонялась максимально приближённо и точнее до тысячных долей секунды.
Максимальная выдержка может достигать 17 минут :exclaim:
При старте добавлена краткая инструкция и управление стало более удобным…

P.S.: Программирование ВТ57/ВГ75 отлаживал в Emu80 и не знаю, что и как будет отображаться на реальной машине… :roll:


Attachments:
File comment: Пси-Детектор для РАДИО-86РК
Версия без полного отключения ПДП с визуальным отсчётом интервала выдержки

psi_1v31.zip [2.42 KiB]
Downloaded 261 times
06 Dec 2019 18:49
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 3 posts ] 

Who is online

Users browsing this forum: Andy6zx and 16 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.