Часто задаваемые вопросы
Уточнить механическая или программная это проблема. Для этого можно использовать наш сервис для тестирования клавиатуры онлайн.
(Если в результате теста клавиатуры, проблема сохраняется, то поломка механическая)
У меня запала кнопка на клавиатуре.
Проблема решается заменой клавиатуры.
У меня залипает кнопка.
Проверить это можно используя наш сервис тестирования клавиатуры онлайн.
Я пролил жидкость на клавиатуру.
Если у вас ноутбук, отключите питание и выньте батарею, после чего, просушите ноутбук. Дальше отнесите в сервисный центр, там смогут почистить плату.
Если персональный компьютер, то просушите и протрите клавиатуру.
После попадания жидкости кнопки липкие.
Если у вас ноутбук, замените клавиатуру, ремонту этот дефект не поддаётся (по крайней мере мы никогда не слышали что бы такое чинилось).
Если у вас персональный компьютер, можно аккуратно снять кнопки (инструкцию всегда можно найти на youtube), и протереть влажной салфеткой, или обезжиривающей жидкостью, после обязательно высушить, да бы избежать замыканий контактов.
Я разобрал клавиатуру и не могу вспомнить где какие кнопки располагались.
Проверить сигналы от кнопок вы можете использую наш тест клавиатуры онлайн.
P.S. Клавиатуры ноутбуков не поддаются ремонту, клавиатуры персональных компьютеров в 99,9% случаев чинить экономически не целесообразно.
Используя сайт, вы даёте нам согласие на использование файлов Cookie на вашем устройстве в соответствии с политикой конфиденциальности OK
Как показать нажатия клавиш в Windows 10

Визуализация нажатий клавиш — отличный способ изучить сочетания клавиш для приложения. В остальном, если вам нужно записать скринкаст, рекомендуется отображать нажатия клавиш на экране и сэкономить много времени во время редактирования. Если вам нужен хороший настраиваемый инструмент для отображения нажатий клавиш в Windows 10, вам стоит попробовать Carnac.
Показать нажатия клавиш
Скачать и запустите Карнак. Приложение имеет открытый исходный код и не требует установки. Когда вы запускаете его, он сразу переходит в системный трей. По умолчанию он будет отображать нажатия клавиш и щелчки мыши, выделяя, какая кнопка мыши была нажата. Первое, что вы хотите сделать после запуска приложения, — это настроить его. Дважды щелкните значок приложения на панели задач, чтобы открыть его настройки.
На вкладке «Общие» вы можете выбрать место отображения нажатия клавиши на экране. Используйте ползунки смещения вверху, внизу, влево и вправо, чтобы расположить визуал. Carnac поддерживает несколько мониторов, поэтому вы можете выбрать, на каком мониторе должно отображаться нажатие клавиши. Будьте осторожны с этой настройкой, потому что, если вы слишком сильно сместите ее со всех сторон, это может лишить визуализации.
После того, как вы разместили визуализацию приложения, перейдите на вкладку «Клавиатура». Здесь вы можете настроить, будет ли приложение отображать все нажатия клавиш или только те, которые включают клавиши-модификаторы. Вы также можете настроить визуальный элемент, его размер шрифта, прозрачность и цвет.

На вкладке «Мышь» вы можете настроить отображение щелчков мыши на экране. Если вы не хотите, чтобы щелчки мыши отображались, снимите флажок «Показывать щелчки мыши». Этот параметр немного ошибочен, поэтому, если он не применяется, установите значение ползунка Stop Opacity на 1, выйдите из приложения и запустите его снова. Это должно делать свое дело.

Вот как нажатия клавиш появляются на вашем экране.

Приложение не показывает нажатия клавиш на обоих мониторах, что может быть недостатком для некоторых пользователей, но все остальное делает безупречно. Если визуальный элемент сложно увидеть на рабочем столе, вы можете настроить его в соответствии с любым фоном, а также изменить время, в течение которого он остается видимым на экране. Это должно быть записано на любом инструменте для создания скринкастеров, поэтому беспокоиться не о чем. Он работает с инструментом OBS и Snagit.
Приложение не находится в активной разработке, но мы протестировали его на Windows 10 1809, и оно работает без проблем.
Если у вас Mac, и вам нужно отображать нажатия клавиш, есть отличное приложение, которое может сделать это за вас.
10 лучших бесплатных кейлоггеров для ПК

Кейлоггер (англ. Keylogger) – разновидность ПО, которое применяется для отслеживания или логирования всех нажатий клавиш на клавиатуре. Пользователь электронного устройства может даже не подозревать, что любые клики и нажатия записываются, а кейлоггер-то запоминает абсолютно все – вплоть до переписок в соцсетях и чатах. Присутствие такой программы практически невозможно заметить, поскольку она функционирует в фоновом режиме, как составной элемент операционной системы.
Также рекомендуем:
Кейлоггер. Насколько это законно?
У многих подобные программы ассоциируются с незаконной деятельностью и вредоносным ПО. Но, как мы уже писали, несмотря на то, что кейлоггеры можно рассматривать как вторжение в частное пространство, все же это никоим образом не нарушает закон. Родители, к примеру, могут обзавестись таким ПО, чтобы защитить своих детей в интернете, – и выяснить, с кем они общаются в Facebook или Whatsapp. Приложение отслеживает данные на ПК, Mac, iPhone и других устройствах.
Работодатель, в свою очередь, может сделать вывод о том, чем занимаются его сотрудники во время работы. Система выдает детальные онлайн-отчеты о продуктивности персонала.
Еще одно возможное применение кейлоггера – для защиты настроек приватности, паролей и данных, которые могут утеряться, из-за багов в компьютере. Но, с другой стороны, злоумышленник с помощью кейлоггера может получить доступ к частной и конфиденциальной информации, что, конечно же, запрещено законом.
Возможности кейлоггеров, разработанных под Windows и macOS:
- Фиксируется время, которое ребенок или сотрудник проводит у монитора
- Составляется список часто используемых приложений и сайтов
- Отслеживается активность пользователей в онлайн-режиме
- Анализируется их продуктивность
- Высвечиваются контакты на телефоне, с которыми пользователь часто поддерживает связь (звонки, SMS, чаты, почта, skype).
- Отслеживается местонахождения телефона
- Ведется удаленный онлайн-мониторинг за ПК и телефоном
Существует множество разновидностей и версий подобных систем, поэтому выбирая кейлоггер, составьте список функций, которые не должны присутствовать в вашей программе. Так вы исключите все лишние варианты.
1. Kickidler | бесплатно/$9 | Win | Mac | Lin

Kickidler — система учета рабочего времени и контроля сотрудников за ПК.
В Kickidler функция кейлоггера интегрирована с записью видео, то есть можно посмотреть историю того, что было на экране пользователя, когда он набирал определенную комбинацию клавиш. Это дает наиболее полную информацию о действиях сотрудника. Также есть фильтр по ключевым словам и выгрузка истории нажатия клавиш в эксель.
Система собирает информацию обо всех нажатиях клавиш во всех программах:
- В электронной почте (в том числе веб-почте Mail.ru, Gmail.com, Yandex.ru и прочих),
- Социальных сетях (ВКонтакте, Одноклассники, Facebook и прочих)
- Мессенджерах (Skype, Viber, Telegram, ICQ, Lync и других)
- Офисных программах (Microsoft Office, или 1С)
Нажатые клавиши отображаются в режиме реального времени, или в виде отчета. Есть отчет об интенсивности нажатия клавиш, из чего можно узнать, например, печатал ли сотрудник или изредка нажимал на пробел.
Собранную информацию (текст, видео и все нарушения рабочего распорядка) можно просмотреть на единой временной шкале – что абсолютно точно позволит выяснить, чем занимался сотрудник в конкретный момент времени.
Для чего нужен кейлоггер:
- Предотвращение утечек информации (DLP – Data Leak Prevention)
- Контроль использования конфиденциальных данных (DLP – Data Loss Protection)
- Анализ эффективности работы при вводе текста с клавиатуры
Дополнительный функционал: контроль нарушений, запись видео, онлайн-мониторинг, учет эффективности использования рабочего времени.
Kickidler работает на компьютерах с любой операционной системой: Windows, Linux и Mac OS. Есть бесплатная версия программы – до 6 сотрудников.
Какие еще функции есть в Kickidler?
- Онлайн-мониторинг компьютеров.
- Видеозапись активности за компьютером.
- Учет рабочего времени за ПК.
- Анализ эффективности.
- Контроль нарушений.
- Автоматические уведомления о нарушениях.
- Функция самоконтроля (для удаленных сотрудников).
- Удаленное управление ПК.
2. Best Free Keylogger | бесплатно/$39 | Win

Best Free Keylogger – это мониторинговый инструмент для ПК, который совершенно незаметен во время работы. Это ПО отслеживает нажатия клавиш, чаты, активность в сети, URL, копируемые тексты, файлы и скриншоты. Одно из лучших решений для наблюдения за детьми, когда родителей нет дома.
- Запись нажатых клавиш
- Запись интернет-активности
- Логирование чатов и паролей
- Мониторинг буфера обмена
- Мониторинг приложений
- Скриншоты
- Email, FTP, LAN, USB
- Невидимый режим и защита паролей
- Незаметен на все 100%
- Мониторинг расписания
- Автоматическая очистка логов
3. Windows Keylogger | Бесплатно/USD49 | Win

Windows Keylogger присутствует на компьютерах тысяч пользователей по всему миру.
- Функция Easy Read позволяет быстро и просто просматривать нажатые клавиши
- Используется для мониторинга отдельных пользователей в отдельных приложениях
- Фильтр логов в расширенном поиске
- Установка даты для автоматического удаления
4. Spyrix Keylogger Free | Бесплатно | Win, Mac & Android

Spyrix Keylogger – бесплатное ПО для логирования клавиш, которое позволяет записывать и отслеживать каждое нажатие, инструмент способен сохранять скриншоты активных программ в установленные временные интервалы – то есть фиксируется все происходящее на экране.
- Удаленный мониторинг посредством безопасного веб-аккаунта
- Логирование нажатий клавиш
- Незаметен для антивирусов
- Запись разговора по микрофону (в Pro-версии, за $80)
- Запись видео веб-камеры – (в Pro-версии, за $80)
5. Kidlogger Free | Бесплатно | Win, Mac, Android & iOS

Функция родительского контроля позволяет защитить детей в киберпространстве. Вы можете узнать, с кем беседуют ваши дети по телефону или в сети, а руководитель компании с помощью такого ПО отслеживает активность сотрудников и тем самым дисциплинирует их. Это как личный автоматизированный дневник.
- Отслеживается местонахождение ноутбука или телефона посредством GPS
- Запись нажатий клавиш
- Сохранение скриншотов
- Отслеживание веб-истории
- Запись разговоров (для Windows)
- Тайм-трекинг
- Мониторинг чатов (Windows и MAC)
- Отслеживание местонахождения телефона (Android, iOS, BlackBerry, MAC OS X), координаты по GPS или WiFi
- SMS (Android, Nokia, BlackBerry). Отслеживаются все входящие/исходящие SMS-сообщения с номерами и именами.
6. Revealer Keylogger Free | Бесплатно | Win

Revealer Keylogger Free – эффективный кейлоггер под Windows. Программа активируется при запуске операционной системы, она скрыта от глаз пользователей и защищена паролем. Но основной инструментарий – скриншоты и уведомления на почту – в бесплатной версии недоступен. Также программа не фиксирует IP-адреса.
- Ведётся мониторинг переписки по Skype, Facebook, MSN, AOL, ICQ, AIM, GTalk и пр
- Инструмент Keystroke Recorder записывает текст, пароли и переписку
- Функция Password Protection не позволит сторонним людям получить доступ к программе
- Функция скриншотов (в Pro-версии за $50)
7. Refog Free Keylogger | Бесплатно | Win

Основное преимущество Refog Free Keylogger перед конкурентами в том, что это очень простая и удобная в использовании программа. У большинства шпионских разработок слишком много функций, и технически не подкованным людям сложно в них разобраться. Но эту программу очень легко настроить, к тому же она бесплатная. Список всего того, что перехватывается логируется и записывается, настолько большой, что нет смысла все это перечислять.
Вот лишь некоторые из функций:
- Записываются все нажатия клавиш, включая пароли
- Отправленные и полученные сообщения в чате
- Открытые веб-сайты
- Входы и выходы из системы
- Чаты в Skype и голосовые коммуникации
- Открываемые приложения и игры
- Скриншоты экрана
8. Ardamax Keylogger | $49 | Win
Ardamax Keylogger – небольшой, простой в использовании кейлоггер, который фиксирует любую активность пользователей и сохраняет данные в лог-файле. Лог-файл можно просмотреть в формате текстового документа или веб-страницы. Этот инструмент будете сообщать о любой активности на ПК в ваше отсутствие.
- Запись нажатых клавиш: под этим подразумевается учет всех нажатий, набранных паролей, в т.ч. скрытых символов
- История посещений сайтов. Фиксируются все открытые сайты во всех браузерах
- Запись веб-камеры. Периодически делаются скриншоты и сохраняются в логе
- Отправка логов на почту. Кейлоггер может в установленное время отсылать на почту записанные логи, что очень удобно для удаленного мониторинга
- Запись по микрофону. Запись голоса по микрофону с сжатием аудиофайла в режиме реального времени
- Визуальное наблюдение. Периодически делаются скриншоты, и файлы сохраняются в логе
- Мониторинг чатов. Ardamax Keylogger разработан для записи и мониторинга обоих участников разговора в таких чатах, как AIM, Windows Live Messenger, ICQ, Skype, Yahoo Messenger, Google Talk, Miranda и QiP
9. Actual Keylogger | $60 | Win

Actual Keylogger – программа, которая отслеживает активность на компьютере и позволяет узнать, что другие пользователи делают в ваше отсутствие. Это ПО мониторит открытые или закрытые программы, посещаемые веб-сайты и все нажатия клавиш, делает скриншоты и копирует контент в буфер.
- Информация о запущенных и закрытых приложениях
- Логирование нажатых клавиш
- Любая активность, связанная с печатью документов
- История веб-сайтов в браузерах
- Скриншоты экрана в установленное время
- Зашифрованные файлы любой активности
10. Iwantsoft Free Keylogger | Win

Iwantsoft Free Keylogger целенаправленно отслеживает любую активность на компьютере: фиксируются нажатия клавиш, контент в буфере системы, логируется активность в программах, отслеживается история сайтов в браузерах, есть функция скриншотов – чтобы сделать вывод о продуктивности сотрудников. Программа подходит для использования как на работе, так и дома. Родители с ее помощью могут узнать о потенциальных угрозах для своих детей, а для работодателей это возможность обезопасить себя от информационных утечек.
- Работа в фоновом режиме – кейлоггер все время остается невидимым для пользователей, и только установщик программы может нажать специальное сочетание клавиш и вписать пароль, чтобы кейлоггер вновь был заметен
- Фильтры и уведомления – блокируются все нежелательные приложения и сайты. Вы можете получать моментальные уведомления на почту, когда пользователь вписывает специфические ключевые фразы
Почему стоит установить программу-кейлоггер?
Компьютеры используются для развлечения, образования и коммуникации, но в руках злоумышленников они превращаются в опасный инструмент. Например, люди с недобрыми намерениями могут общаться с детьми в интернете.
В свою очередь, сотрудники компаний могут копировать секретную информацию, торговые секреты, ноу-хау, или же просто бездействовать в то время, когда от них ожидают напряженной работы. Кейлоггер своевременно сообщит обо всех этих событиях. В частности, такие программы очень удобны для отслеживания работы фрилансеров.
Как определить нажатия клавиш на клавиатуре с помощью Python
В Python можно использовать библиотеку keyboard для определения нажатий клавиш на клавиатуре.
Для начала нужно установить эту библиотеку, используя команду в терминале:

Затем можно использовать следующий код для определения нажатий клавиш:

В этом примере, когда пользователь нажимает клавишу, вызывается функция on_press(), которая выводит имя нажатой клавиши на консоль. Когда пользователь отпускает клавишу, вызывается функция on_release(), которая также выводит имя отпущенной клавиши на консоль.
Функции on_press() и on_release() можно изменить так, чтобы они выполняли другие действия вместо вывода на консоль.
Вот ещё несколько примеров того, как можно использовать библиотеку keyboard для обработки нажатий клавиш:
— Симуляция нажатия клавиши:

— Обработка определённых клавиш:

— Остановка программы при нажатии определённой комбинации клавиш:

Эти примеры демонстрируют лишь небольшую часть возможностей библиотеки keyboard. Более подробную информацию можно найти в официальной документации: https://github.com/boppreh/keyboard.

38 постов 296 подписчиков
Правила сообщества
А на питоне еще никто не написал бибилотеку для hello world?
Я так понимаю, это такой «маленький» намек на возможности создания кейлогера.
Скажите, я правильно понимаю, что в страничку можно встроить код который будет отслеживать нажатия клавиш пользователя без его ведома даже будучи открытым в неактивной сейчас вкладке браузера?
Лет 17 дадут. Если использовать .

Топ 10 ресурсов на русском языке, которые могут помочь в изучении Python
Вот список из 10 ресурсов на русском языке, которые могут помочь в изучении Python:
1. Python.org на русском языке – официальный сайт языка Python, который содержит множество документации, руководств, обучающих материалов и примеров.
2. ‘A Byte of Python’ на русском языке – это онлайн-учебник, который предназначен для начинающих программистов и помогает освоить основы языка Python.
3. Pythontutor.ru – это онлайн-платформа с интерактивными задачами и упражнениями, которые помогают закрепить теоретические знания.
4. Rus-linux.net – это портал, который содержит множество статей и обучающих материалов по Python.
5. Learnpython.ru – это онлайн-курс, который предоставляет пошаговый и практический подход к изучению языка Python.
6. Pythonworld.ru – это онлайн-учебник по Python, который содержит подробные описания синтаксиса языка, примеры и задачи для решения.
7. Pythonicway.com – это сайт, который содержит множество статей, видеоуроков и других материалов, которые помогают в изучении Python.
8. Coursera.org – на этой платформе можно найти большое количество курсов по Python от ведущих университетов и экспертов в области программирования.
9. Geekbrains.ru – это онлайн-платформа, которая содержит множество курсов по Python и другим языкам программирования.
10. Tproger.ru – это портал о технологиях и программировании, где можно найти множество материалов о Python и других языках программирования.

А никто не говорил, что будет легко
Настоящий программист никогда не ставит комментариев. То, что писалось с трудом, должно пониматься с трудом.

Нейронки на все случаи жизни
Для учёбы, монтажа, кодинга, дизайна, работы со звуком, улучшения фото и даже для устройства на работу — сохраняйте эту эпичную подборку себе.
MathGPT — подсобит с матаном.
editGPT — исправит ошибки в тексте на английском.
Consensus — огромная научная база знаний на основе ИИ.
ExamCram — превратит сложные учебные материалы в карточки и тесты для самопроверки.
Yip — то же самое, но в вебе и с поддержкой Википедии.
YouTube Summary with ChatGPT — превратит любое обучающее видео или лекцию в текст.
ChatBA — поможет сделать презентацию.
Explain Me Like I’m Five — объяснит заумные вещи простым языком.
Для программистов
Adrenaline — исправит ошибки в коде.
Tabnine — допишет код за вас.
CodePal — напишет код, исправит баги и выдаст ревью.
Code GPT — плагин-генератор кода для VSCode.
Autobackend — поможет с бэкендом.
Codesnippets — генерит код из текстовых запросов, подходит для команд.
Buildt AI — поисковик для VSCode, найдет готовый код в инете.
Для дизайнеров
Booth ai — генерирует стоковые фото по текстовому запросу.
AdCreative — генерит баннеры и другие рекламные креативы.
RoomGPT — сделает ремонт в вашей комнате с любым дизайном.
Hama — Удаляет лишнее с картинки.
Для улучшения фото
Photoroom — меняйте фон, вырезайте объекты в пару движений. Есть мобильные версии.
Nostalgia Photo — сделает старые фото чётче.
Pallete fm — раскрасит чёрно-белые фото.
Relight — поможе заново выставить свет на уже сделанном фото.
Picsart — заменит ваших бывших на собаку, флаг или батон.
LeiaPix — сделает из 2D-фотки 3D.
Для создания видео
Сolourlab AI — ИИ поможет с цветокором.
Luma AI — выдаст 3D-сцену киношного качества из нескольких фоток.
Kaiber — с этой штукой делали свежий клип Linkin Park.
Topaz Video AI — апнет видос до 4К и 60 FPS, уберёт тряску.
SpiritMe — создаст вашу говорящую цифровую копию.
CapCut — поменяет фон, переведет речь в сабы и многое другое. Прямо в браузере.
vidyo ai — быстро нарежете длинные видосы в шортсы,
Для работы со звуком
Fadr — порежет трек на отдельные дорожки инструментов и вокала.
Adobe Enhance — чистит запись от шумов. Бесплатно.
Elevenlabs — мощнейший синтезатор, подделает любой голос.
Beatoven — ИИ-композитор музыки для видео.
Clip audio — подберет музыку для любого видоса.
The MetaVoice — меняйте свой голос на один из восьми пресетов.
Cleanvoice — уберет из вашей разговорной записи мусор,
Для устройства на работу
kickresume — напишет резюме и сопроводительное.
Сover Letter AI — составит сопроводительное на основе резюме.
InterviewGPT AI — имитирует собеседование и помогает готовиться.
Resume Worded — прокачает резюме и профиль на LinkedIn.
Interview Warmup — разогреет перед собеседованием.
Для прокачки поиска в интернете
Lexii ai — чат-бот, которые отвечает за слова и прикладывает ссылки на источники.
Perplexity — мощнейший ИИ-поиск, работает и как расширение для браузера.
Chord — выдаст подробнейший реферат в ответ на ваш запрос.
Phind — поисковик для технарей, умеет в код.
Nuclia — найдет что угодно на сервере, накопителе и облачном диске.
Для развлечений
Natural Language Playlist — 7-часовой музыкальный плейлист по любому запросу.
Movie Deep Search — подыщет фильм под любой запрос.
RadioGPT — ИИ-диджеи ведут эфиры.
EndlessVN — у всех визуальных новелл есть финал. Кроме этой.
Tattoos AI — генерирует эскизы для тату.
Hello History — даст пообщаться с ИИ-двойником известной исторической личности.
Cool Gift Ideas — опишите человека и сервис подберёт под него подарок.
Endel — генератор ИИ-музыки, поможет расслабиться и выспаться.
PlaylistAI — соберет плейлист в Apple и Spotify по тексту или картинке.

SSD технологии древних: DiskOnChip
Автор: dlinyj
Оригинальный материал
Дополнительные фото, ссылки, а также информация по DiskOnChip в источнике материала. Всё попросту не влезло 🙁

В середине 1990-х, FLASH-накопители были очень дорогими, поэтому появление твердотельных накопителей сильно задерживалось. Стоимость 1 МБ FLASH-памяти была несоизмеримо дорога в сравнении со стоимостью 1 МБ памяти на физическом жёстком диске, с блинами.
Но, несмотря на это, в 1995 году — израильская компания M-Systems представила первый полупроводниковый накопитель. Это был настоящий жёсткий «диск», который выглядел как обычная 32-х контактная DIP-микросхема. Более того, он устанавливался вместо микросхемы расширения BIOS, при этом имел на борту ёмкость в десятки, а то и сотни мегабайт. В те годы — это было просто космические технологии, и в последствии они встречались и использовались достаточно часто, но уже в промышленном секторе.
Это система DiskOnChip – фактически полноценный жёсткий диск на одной маленькой микросхеме, с минимальной обвязкой, которая для своей работы потребует всего два чипа логики.
Ну что же, попробуем собрать свою необычную систему с этим жёстким «диском», проверю, может ли она работать с обычной ROM-памятью, запущу наконец свой BIOS на 386 машине с ISA-картой, чего не удалось в прошлый раз.
❯ Что же такое DiskOnChip®?
DiskOnChip (далее – DOC) – это фактически продолжение идеи расширения BIOS, о котором я достаточно подробно писал в статье «Пишем свой ROM BIOS».
DOC представляет собой обычную DIP-микросхему и вставляется в ту же панельку, что EEPROM, как на сетевой карте, живёт по тем же адресам и даже в начале содержит код BIOS инициализации. И микросхема pin-to-pin совместима с некоторыми микросхемами ПЗУ! Однако далее, в старших адресах этой микросхемы, содержатся регистры управления, которые переключают окна FLASH-памяти.
Для сравнения можно посмотреть расположение выводов DiskOnChip 2000 и микросхемы EEPROM SST 29EE512 (64К x 8). Отличие только в количестве адресных линий, потому что DOC работает через окно в 8К х 8 (как восьмикилобайтная EEPROM).

Сравнение распиновки EEPROM и DOC
Фактически электрический интерфейс работы с DiskOnChip ничем не отличается от интерфейса работы с обычной EEPROM. Сигнальные линии называются также, и она совместима с ними по ногам.

Структурная схема DOC
DiskOnChip занимает 8 КБ памяти. При этом — во время старта, она выглядит как обычная ROM BIOS, и инициализирует код для работы в реальном режиме, добавляя в прерывание BIOS 13h ПО для работы по этому интерфейсу.
При работе в реальном режиме, когда передаётся код управления BIOS в его внутреннюю EEPROM, он подменяет прерывание 13h по работе с диском. Таким образом, он начинает мапить в старшие адреса по очереди страницы флэш-памяти, с помощью регистров управления.

Карта памяти DiskOnChip 2000
Если рассмотреть карту памяти, которая доступна системе в пространстве 8 КБ, то мы увидим что оно состоит из четырёх разделов по 2 КБ.
Секция 0: Загрузочный блок. Этот раздел содержит данные, которые выполняются при загрузке BIOS.
Секция 1: Загрузочный блок 2. Содержит вторую часть загрузочной области.
Секция 2: Регистры управления. Используется для управления поведением DiskOnChip 2000 и флэш-носителя.
Секция 3: Окно доступа к FLASH-накопителю. Окно, чрез которую видно область FLASH для записи или чтения данных.
Как можно понять, вся доступная память, в моём случае 8 МБ, доступна через маленькое окно в 2 КБ и переключается с помощью регистров управления.
В более сложных системах, которые работают уже в защищённом режиме, таких как Windows CE, Windows 2000, QNX, Linux и т. д., где недоступен код инициализации и прерывание 13h, для работы требуются специализированные драйвера файловой системы DOC, называемой TrueFFS.
Подводя итог, можно сказать, что DiskOnChip – это примитивный SSD того времени, который успешно применялся во многих встраиваемых системах. Чаще всего его можно было встретить в одноплатных компьютерах, в кассах, тонких клиентах и другом аналогичном оборудовании. Вот, например, недавно через мои руки прошёл моноблок для ресторанов Micros WS4. Как я понял, он использовался официантами для приёма заказа.

Внешний вид моноблока
И после вскрытия внутри можно обнаружить микросхему DiskOnChip, несмотря на то, что он работает под управлением операционной системы Windows CE.

Микросхема DiskOnChip
Самое приятное, что из-за простоты устройства DOC для его подключения к компьютеру не требуется использовать каких-либо контроллеров жёстких дисков, от них можно вообще отказаться! Схема подключения содержит всего две микросхемы логики.

Кстати, если вас пугают импортные микросхемы 74-й серии, то, во-первых, их можно взять с другими буквенными индексами, а во-вторых, вполне можно заменить на отечественные аналоги, например:
74-серияаналог74139155ид1474138155ид7
А ещё их можно заменить на микросхемы серии к155, к555, кр1564 и всё будет прекрасно работать.
Схема простая, значит можно попробовать запустить его на любом старом железе!
❯ Ваяю плату расширения
Много лет хочу сделать плату расширения для шины ISA. Ещё со студенческой скамьи вынашивал идеи, прикидывал дешифраторы адреса для создания своей платы расширения. Даже как-то пытался паять параллельный порт на микросхеме КР580ВВ55. Но всё это было не торт, и толком не работало.
Здесь другое дело, схема простая, всего три микросхемы, как работает – понятно. Осталось дело за малым – это всё реализовать. Мне было лениво заниматься разводкой печатной платы, поэтому решил делать всё на макетке. В качестве основы платы взял проект IBM PC XT8-bit ISA Prototype PCB Card XL.
В Китае заказал изготовления платы, микросхему DOC на 8 МБ и уже здесь нашёл подходящие микросхемы логики: 74HC138AP и 74HC139AP (обратите внимание, что буквенные индексы иные). Самое тяжёлое – это было томительное ожидание, когда изготовят платы и их отправят. Спустя несколько месяцев у меня всё было на руках.

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

Набросок схемы
Далее предстоит кружок кройки и шитья, и покуда я собирал всё это хозяйство, десять раз пожалел, что не развёл плату сразу. Потому что убил просто громадное количество времени на все эти проводочки.

Кружок кройки и шитья
Спустя неделю вечеров пайки получил-таки готовый результат.

Вид спереди

Далее предстоит самое интересное – тестирование!
❯ Проверка работоспособности DiskOnChip
Проверку проводил на материнских платах с процессорами 386SX и Pentium 1. Как обычно бывает, где-то был неконтакт или непропай. После исправления мелких недочётов система сразу подхватила BIOS из DOC, и я увидел при загрузке ключевое сообщение, о том, что TrueFFS-BIOS запустился.

Если загрузиться вместе с жёстким диском, то можно увидеть второй диск D:, который можно отформатировать в системный раздел и перенести на него файлы, что я и сделал. Забегая вперёд, скажу, что форматировать стандартным format d: /s нельзя! То есть если очень хочется, то можно, но результат непредсказуем.

Намного более правильно работать с этим «диском» с помощью его родных утилит, которые корректно работают с TrueFFS. После того как я отформатировал диск родными утилитами, можно было перенести систему, отсоединить плату контроллера дисков и оставить только видеокарту и мою самодельную платку.
Удивительно, но это работает!

Ничего лишнего: только материнская плата, видеокарта и DOC
Самое забавное, что при загрузке BIOS не видит никаких подключённых носителей: ни флоппи, ни жёстких дисков. Но несмотря на это, всё равно идёт загрузка DOS. Лучше всего посмотреть на видео.
❯ Не всё так гладко с этим DOC…
На самом деле, не всё так гладко. То ли мне не повезло с микросхемой, то ли какая-то другая проблема, но DOC глючил. Он не всегда успешно загружался на моей плате, так и на железе, которое умеет работать с DOC из коробки (имеет аппаратную и программную поддержку в системном BIOS). То есть выглядело так, BIOS TrueFFS стартует, но диска при загрузке не видит. После перезагрузки стартует нормально, потом снова не видит. С чем связано – непонятно.
В какой-то момент при загрузке начались артефакты с запуском программ, а при переходе в папку увидел такое:

Так выглядит смерть жёсткого диска
И после этого загружаться он отказался. Спасло только форматирование его штатными утилитами. Что это было – я не знаю. Сетую на то, что у меня одна из первых версий микросхем, возможно, она немного сырая.
❯ Замена DiskOnChip на EEPROM
Hо перед нами прогресс открывал все пути,
И, бросив старых друзей ради новых ХТ,
Мы выжимали, что можно, из DOS и из архитектуры,
Меняли коды команд, трассировали INT’ы
Дизассемблировали BIOS и писали в порты
То, что я б не позволил печатать на месте цензуры.
Мне всё же хотелось продемонстрировать, что вместо DOC можно поставить обычную ROM микросхему, и это решение будет работать. В результате это вылилось в столь громадный квест, что потянет на ещё одну статью, а то и не одну. Там пришлось дизассемблировать основной BIOS, была попытка запустить его в qemu и много других забавных экспериментов. Но всё же, оставлю это всё самое интересное за кадром, и расскажу суть.
В качестве микросхемы ПЗУ взял EEPROM SST 29EE512 просто потому, что она у меня была под рукой, и была pin-to-pin совместима с DOC. Внимательный читатель заметит (хотя уверен, что таких нет), что это та же самая микросхема, которую я использовал в статье «Пишем свой ROM BIOS». Для корректной работы 64КБ ROM в области памяти 8 КБ, нужно посадить неиспользуемые старшие адреса на землю. То есть, фактически мы превращаем микросхему в 8 килобайтную EEPROM.
В процессе экспериментом выяснилось, что БИОС на материнской плате пытается писать в EEPROM, и, таким образом, портит её содержимое. Для того чтобы этого не происходило, доработал переходник, удалив контакт с сигналом разрешения записи WE.


Больше переходников, богу переходников!
Изначально планировал попробовать точно также запустить BASIC-ROM, но как я не бился, так и не смог его стартануть. То есть, видно, что происходит успешная инициализация, системный BIOS «зависает» без ошибок, значит переход на код ПЗУ состоялся, о чём также свидетельствовали POST-коды. Но ничего больше не происходило. В отчаянной попытке я начал искать JTAG-отладчики для 386 архитектуры, пытался запустить BIOS материнской платы в qemu, но всё тщетно. Идей, как отлаживать подобные BIOS у меня пока нет. Хотя задача, крайне интересная, как же заниматься отладкой различных расширений BIOS.
Обращаю внимание, что в qemu c SeaBIOS и на другой материнской плате, с EPROM на PCI-карте всё прекрасно работало.

Установленная микросхема ПЗУ, вместо DOC
В конце концов, я не нашёл выхода из этой ситуации, поэтому решил идти по более простому пути и запустить ROM HELLO. К слову сказать, в том коде я тоже обнаружил ошибку.
Как оказалось, после того как я посчитал контрольную сумму, оставшиеся байты надо было сделать равными нулю. Чтобы в результате общая сумма давала нуль. И мне сильно повезло, что на PCI тогда этот код завёлся. Вообще, то что на PCI плате это работало – чудо, потому что потом я внимательно прочитал стандарты, он не должен был работать никак. Исправление этой ошибки запуску BASIC не поспособствовали.
В результате всех мытарств, которые по времени заняли больший и наиболее сложный промежуток, чем эксперименты с DOC, мне удалось на этой же плате стартануть мой самописный BIOS.

Успешный запуск на материнской плате Pentium
Это, конечно, очень интересное колхозничество, но что насчёт промышленных железок, будет ли оно работать и там?
❯ Тест на железе с панелькой под DOC
Всё это забавно и хорошо, хочется попробовать запустить реальное железо, которое имеет поддержку DiskOnChip прямо из коробки. Специально для этого прикупил себе старинный тонкий клиент Light System LG8101, внутри которого есть панелька для DOC.

Внешний вид тонкого клиента
Если вскрыть эту штуку, то внутри можно обнаружить CF, с которой идёт загрузка, и панельку под DiskOnChip. В неё можно и проинсталлировать нашу замечательную микросхему.

Эта железка имеет поддержку DOC на уровне BIOS, так что запуск TrueFFS-BIOS не требуется. Обратная сторона этой поддержки в том, что сюда не получится вставить свою ROM-память, эта панелька предназначена только для микросхемы DiskOnChip (да, я попробовал вставить туда свою ROM, но ничего не произошло).

Выбираем в BIOS загрузку с DOC
После всех манипуляций система будет успешно загружена с этой микросхемы, будто бы там установлен обычный жёсткий диск.

Успешная загрузка тонкого клиента с установленной микросхемы DiskOnChip
❯ Заключение
Удивительно, но многие из вас не знают, что первые SSD-накопители появились аж в 1995 году, и даже вполне себе успешно применялись и использовались. Их высокая стоимость и малая ёмкость привели к тому, что рядовые пользователи не могли встретить их в своих ПК. Однако нашли широкое применение во встраиваемых системах, либо там, где не требуется частая запись на диск, как, например, тонкий клиент. Их могли использовать также в игровых автоматах или станках.

Условный игровой автомат на DiskOnChip
Тем не менее широкого распространения они так и не получили. Впоследствии дешевизна и расширение рынка CompactFlash свели на нет эту перспективную разработку. К её недостаткам также следует отнести, что она довольно медленная, так как работа идёт через маленькое окно в 2 КБ.
❯ Полезные ссылки:
❯ Благодарности:
Выражаю большую благодарность MaFrance351 в поддержке с этим проектом. Он раньше меня разобрался с DOC, и помогал потом мне советами и ссылками. Как минимум половину ссылок в этой статье получил от него.
P.S. Поскольку в рамках одной статьи невозможно рассказать обо всех тонкостях, то некоторые заметки на полях буду публиковать у себя в телеграмме.
Подпишись на наш блог, чтобы не пропустить новые интересные посты!

Топ 10 бесплатных сайтов по программированию
Программирование становится все более востребованным навыком в современном мире, и все больше людей стремятся научиться кодированию. Однако, не все готовы потратить деньги на покупку дорогостоящих учебных материалов или курсов. Счастливо, существует множество бесплатных ресурсов, которые помогут вам освоить программирование без лишних затрат. В этой статье мы рассмотрим топ 10 бесплатных сайтов по программированию, которые помогут вам начать свой путь в мире кодирования.
Codecademy (https://www.codecademy.com/)
Codecademy — один из наиболее популярных сайтов по программированию. Он предлагает широкий выбор курсов, которые охватывают различные языки программирования, включая Python, JavaScript, Ruby, HTML, CSS и многие другие. Все курсы Codecademy бесплатны, но для получения доступа к некоторым дополнительным возможностям сайта требуется платная подписка.
Coursera (https://www.coursera.org/)
Coursera — это образовательная платформа, которая предлагает бесплатные курсы по программированию, разработке веб-сайтов, анализу данных и многому другому. Среди доступных языков программирования на Coursera можно найти Python, Java, C++, JavaScript и многие другие. Курсы на Coursera разработаны университетами и компаниями по всему миру.
edX (https://www.edx.org/)
edX — это еще одна образовательная платформа, которая предлагает бесплатные онлайн-курсы по программированию и другим темам. Курсы на edX предоставляются ведущими университетами, включая MIT, Harvard и Berkeley. Среди языков программирования, которые можно изучить на edX, находятся Python, Java, C#, JavaScript и многие другие.
FreeCodeCamp (https://www.freecodecamp.org/)
FreeCodeCamp — это некоммерческая организация, которая предоставляет бесплатные курсы по программированию и разработке веб-сайтов. Она известна своим курсом по полному стеку веб-разработки, который включает HTML, CSS, JavaScript, Node.js и другие технологии.
W3Schools (https://www.w3schools.com/)
W3Schools — это сайт, который предоставляет обучение веб-технологиям, таким как HTML, CSS, JavaScript, SQL и многие другие. Этот сайт является очень популярным среди начинающих веб-разработчиков, так как он предлагает краткие и понятные уроки, а также многочисленные примеры кода.
Khan Academy (https://www.khanacademy.org/)
Khan Academy — это некоммерческая организация, которая предоставляет бесплатные образовательные ресурсы для учащихся всех возрастов. Она предлагает бесплатные курсы по программированию, включая JavaScript, HTML/CSS, SQL и многие другие. Khan Academy известна своими понятными и доступными уроками, которые могут быть использованы как начинающими, так и продвинутыми учащимися.
Mozilla Developer Network (https://developer.mozilla.org/)
Mozilla Developer Network (MDN) — это сайт, который предоставляет бесплатные ресурсы для разработчиков веб-сайтов. MDN предлагает обширную документацию по HTML, CSS, JavaScript и другим веб-технологиям, а также множество уроков и примеров кода.
Udacity (https://www.udacity.com/)
Udacity — это образовательная платформа, которая предоставляет бесплатные и платные курсы по программированию и другим техническим темам. Udacity сотрудничает с компаниями, такими как Google, Facebook и Amazon, чтобы создавать курсы, которые соответствуют современным требованиям рынка. Среди языков программирования, которые можно изучить на Udacity, находятся Python, Java, JavaScript и многие другие.
GitHub (https://github.com/)
GitHub — это онлайн-хранилище, которое используется разработчиками для хранения и совместной работы над проектами. На GitHub вы можете найти множество бесплатных проектов с открытым исходным кодом, а также участвовать в совместных проектах с другими разработчиками.
Stack Overflow (https://stackoverflow.com/)
Stack Overflow — это сайт, который предоставляет ответы на технические вопросы, связанные с программированием и другими техническими темами. Стек переполнение является очень полезным ресурсом для начинающих программистов, так как он содержит ответы на множество вопросов, которые могут возникнуть в процессе изучения программирования.
Большая подборка книг по программированию у нас в телеграме, подписывайся!