Pull to refresh
858
0.2
Сергей @dlinyj

Токарь-программист

Send message

Апгрейд компьютера паяльником. Часть II

Level of difficultyMedium
Reading time5 min
Views19K

Итак, в предыдущей части я остановился на том, что успешно стартовал деликатно помытую 386SX материнскую плату со свежевпаянным 486slc-процессором.

Остался весьма важный вопрос: а возможно ли такой финт ушами провернуть с более современным и красивым камнем: 486DLC?
Читать дальше →

Апгрейд компьютера паяльником

Level of difficultyMedium
Reading time8 min
Views31K

Не ошибусь, если предположу, что многие из нас занимались апгрейдом своего компьютера: увеличивали память, заменяли видеокарту, а то и весь компьютер. Обычно всё сводится к тому, что покупается новая плата, устанавливается в соответствующее гнездо, либо же производится её замена на более современную вариацию.

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

И вот, наконец-то мне представилась возможность сделать технический апгрейд своего старинного компьютера и реализовать очередную свою детскую мечту!
Читать дальше →

Домашнее пароходостроение

Reading time11 min
Views17K

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

Мне случайно удалось познакомиться с одним американцем по имени Leslie Proper, который проектирует миниатюрные модели работающих пароходов. У него свой блог на ютубе (откуда я о нём и узнал), множество статей и книг.

Восхищаясь его проектами и удивительными решениями, я прислал ему кучу нашей советской литературы с чертежами моделей паровых двигателей и судов. Прекрасно осознавая, что вряд ли он будет учить русский, чтобы это прочитать, написал ему номера страниц с интересными материалами. А в ответ он мне бесплатно прислал полную информацию по проекту своего пароходика Victoria. И по ним я начал мастерить модель…
Читать дальше →

Реанимация моноблока PC-III VGA Paper White Portablе

Level of difficultyMedium
Reading time13 min
Views10K


На обломках одного НИИ, был найден удивительный артефакт – моноблок PC-III VGA Paper White Portablе. Вещь очень стильная, но время его не пощадило: пожелтевший корпус, со следами неправильного хранения и отсутствующая в комплекте — родная клавиатура. Однако, несмотря на возраст и эти нюансы – железка выглядит потрясающе. Если посмотреть его конфигурацию, то начинаешь понимать, что для своих лет это было очень крутое устройство:

Встроенный LCD дисплей имеет разрешение 640х480 пикселов и отображает 32 оттенка серого цвета. Видеокарта поддерживает режимы VGA (800x600)/HC/CGA/MDA. В качестве центрального процессора установлен камень 386DX, работающий на частоте 33 МГц, оперативной памяти установлено 4 МБ, что по тем временам было весьма жирно. Встроенный жёсткий диск имел размер 200 МБ. В качестве съёмных носителей используется пятидюймовый дисковод, поддерживающий дискеты размером 1,2 МБ, и стандартный дисковод 3,5 дюйма на 1,44 МБ.

Предыдущий владелец сказал, что при пробном включении у него произошёл большой «бабах», и включать второй раз он его боится. Это означает, что железка также требует профилактического ремонта.

Казалось бы, делов на пару вечеров, но в процессе ковыряния с ней выяснилось много интересных нюансов, а ремонт растянулся, о ужас, на полгода. В результате погружения в её недра и особенности работы, я даже столкнулся с тем, что начал прикидывать, как же писать драйвера для видеокарты…

Короче говоря, получился весьма прикольный ребус.
Читать дальше →

Сборка MS-DOS 4.0

Reading time6 min
Views27K

Совсем недавно на хабре появилась следующая новость: На GitHub опубликован исходный код MS-DOS 4.00 под лицензией MIT. Раз появились исходные коды, стало сразу интересно: а можно ли собрать эту операционную систему?
Читать дальше →

Играем в крестики-нолики c RPN калькулятором

Level of difficultyMedium
Reading time6 min
Views4.6K

Когда я разбирался с программируемыми калькуляторами, то думал, как бы элегантнее протестировать функциональность устройства. Один из известных способов проверки – это реализация какой-либо игры.

Игр для калькуляторов, как на просторах бывшего СССР, так и за рубежом громадное количество, остаётся только выбрать. Наиболее популярная — это «Посадка на Луну». Однако, для меня она показалась скучной и неинтересной, а сам код сложным и запутанным. Поэтому мой выбор пал на крестики-нолики, так как все мы играли в них в школе, и мне стало интересно сыграть в неё с калькулятором.

Реализовать игру решил на модели HP-32S, поскольку он мне очень полюбился за красоту архитектурной реализации и удобство программирования.
Читать дальше →

Тюнинг старого тетриса

Level of difficultyEasy
Reading time4 min
Views17K

Недавно я прикупил себе старенький и оригинальный — «тот самый» тетрис, а дальше меня затянуло. Собственно, нормальная ситуация. Однако, мне пришлось столкнуться с одной неприятной проблемой: если во время игры — скорость (ака сложность) повышается выше двух пунктов, то играть становится совершенно невозможно, а скоростей-то много…

Понятно, что идёт какая-то ошибка в подборе частоты задающего генератора в контроллере тетриса, и это даже слышно на слух, так как мелодия играет уж больно быстро. Потому, мне пришла в голову мысль, а возможно ли как-то внести аппаратные изменения в устройство, так чтобы понизить частоту контроллера для корректной игры? Сам спросил — сам ответил.
Читать дальше →

Сканер отпечатков кошачьих носиков

Level of difficultyEasy
Reading time5 min
Views26K
Расширение сферы применения биометрической системы контроля доступа на других существ, открывает поистине потрясающие возможности.


Так сложилось, что на территории мануфактуры, где я располагаюсь, живёт достаточно большое семейство иссиня-чёрных котов, все братья от одной матери, но из разных помётов. Весь этот прайд мы именуем просто Бандиты, по соответствующему характеру и поведению. Из всей этой стаи один кошак полюбился мне больше всего: самый адекватный и интеллигентный; и именно его я иногда пускаю в свои кабинеты.
И возжелал я пускать того прекрасного кошака, а остальных отсеивать, дабы не хулиганили в моё отсутствие. И пришла в мою голову мысль о пропускной системе, именуемой КотСКУД — кошачья система контроля доступа.
Читать дальше →

Медная фотография

Reading time8 min
Views12K

Стремление людей запечатлеть то, что они видят, кажется, было всегда. Сначала они рисовали углём на стенах пещеры, потом красками на холстах. А в последние пару столетий роль человека свелась лишь к нажатию на кнопку. Всю остальную работу делает свет, спроецированный на фоточувствительную поверхность.

В классической фотографии такая чувствительность к свету достигается благодаря замечательным свойствам солей серебра. В альтернативном фотопроцессе под названием цианотипия — используются соли железа. Но так ли уникальны эти металлы и их соли? Возможно ли сделать фотографию, например, на поверхности меди?

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

Калькуляторы с обратной польской нотацией

Level of difficultyMedium
Reading time12 min
Views17K

На хабре уже многократно проскакивали статьи и переводы о калькуляторах с обратной польской нотацией. Раньше я не придавал им большого значения, пока на глаза не попался перевод статьи «Мягкое знакомство с дополнительным кодом», где фигурировал программистский калькулятор HP-16C. Что сподвигло меня разобраться, что за зверь такой «обратная польская нотация» или reverse Polish notation (далее по тексту RPN).

Искра, буря, безумие… Спешно поставив эмулятор HP-16C на телефон, я полез искать калькуляторы с поддержкой RPN, попутно скупая найденные экземпляры. В этой статье хочу поведать о четырёх редких! экземплярах, которые мне удалось найти на отечественных досках объявлений, и дать некоторые рекомендации тем, кто решит прикоснуться к удивительному миру программируемых калькуляторов.
Читать дальше →

Измерение скорости чтения-записи носителей с помощью утилиты dd

Level of difficultyMedium
Reading time11 min
Views23K
Недавно, я вновь побывал в роли технического эксперта, когда занимался переводом книги «Understanding Software Dynamics» от Richard L. Sites. В ходе работы над главой — про скорость работы с жёстким диском, мне поступил вопрос от коллеги: каким образом можно просто и быстро измерить скорость чтения и записи твердотельных носителей информации, в разрабатываемых в компании устройствах? При этом стояла задача реализовать всё это наиболее простыми способами, чтобы они были переносимы между совершенно разными платформами и архитектурами. Носители же информации могут быть любыми: USB Flash, eMMC, SD, NAND и прочее, прочее. Единственное, что их объединяет — это Linux.

Задача захватила меня с головой…
Читать дальше →

Простая гравировка для дома: электрический карандаш

Level of difficultyEasy
Reading time5 min
Views32K


Наверняка, многие из вас, хоть раз сталкивались с металлообработкой — хоть в каком-то виде, или возможно видели, нанесённые неровной рукой, надписи на подшипниках, свёрлах, фрезах, оправках. При этом — они прямо-таки выгравированы на металле, хотя и практически гладкие на ощупь. Делалось это всё электроискровым карандашом (он же: электрокарандаш, электроискровой маркер, электрограф, электроперо, электроэрозионный аппарат, электроискровое перо). Можно его ещё называть гравером, но тут есть шанс спутать с ротационным гравером.

В долазерную эру — это был практически единственный способ, быстро нанести надпись на калёный металл, типа быстрорежущей стали. Узнал я о таком удивительном устройстве от Павла Серкова aka spiritus_sancti в его канале Мир глазами инженера. После прочтения его поста в нашем общем чате обмолвился, что было бы круто иметь такое устройство в хозяйстве, а Павел, взял и предложил мне его прислать. Отказаться от такого предложения я не мог и с этого момента начинается квест по разбору в принципах действия этого устройства, приведение его в чувство, доработка его напильником и окончательный запуск.
Читать дальше →

Разработка BIOS на языках высокого уровня

Level of difficultyHard
Reading time11 min
Views28K
Ничего лишнего: материнская плата, видеокарта и ROM-BIOS

Меня давно волнует вопрос, как подступиться к разработке на голом железе, на чистом си. Хотелось понять, каким же образом идёт запуск BIOS, u-boot, grub и прочих первичных загрузчиков. Ведь необходимо перейти от ассемблера к тёплому ламповому си и соблюсти условие, собрать всё это в линукс любимым компилятором gcc.

Хотя я и имею достаточный опыт BareMetal-разработки, тем не менее, всё это были чужие проекты со своим кодом. А мне хотелось понять, как начать свой проект с чистого листа, когда есть только чистая железка и идея. Толковых статей как подступится к этой задаче достаточно мало, при этом совершенно непонятно, с какого же края к ней подходить.

Здесь я хочу свести основные моменты разработки BIOS в одном месте и разобраться обо всех проблемах, которые я получил во время своих опытах в разработке (первая и вторая части).
Читать дальше →

SSD технологии древних: DiskOnChip

Level of difficultyMedium
Reading time8 min
Views20K

В середине 1990-х, FLASH-накопители были очень дорогими, поэтому появление твердотельных накопителей сильно задерживалось. Стоимость 1 МБ FLASH-памяти была несоизмеримо дорога в сравнении со стоимостью 1 МБ памяти на физическом жёстком диске, с блинами.

Но, несмотря на это, в 1995 году — израильская компания M-Systems представила первый полупроводниковый накопитель. Это был настоящий жёсткий «диск», который выглядел как обычная 32-х контактная DIP-микросхема. Более того, он устанавливался вместо микросхемы расширения BIOS, при этом имел на борту ёмкость в десятки, а то и сотни мегабайт. В те годы — это было просто космические технологии, и в последствии они встречались и использовались достаточно часто, но уже в промышленном секторе.

Это система DiskOnChip – фактически полноценный жёсткий диск на одной маленькой микросхеме, с минимальной обвязкой, которая для своей работы потребует всего два чипа логики.

Ну что же, попробуем собрать свою необычную систему с этим жёстким «диском», проверю, может ли она работать с обычной ROM-памятью, запущу наконец свой BIOS на 386 машине с ISA-картой, чего не удалось в прошлый раз.
Читать дальше →

Реверс-инжиниринг нестандартной ps/2 клавиатуры

Reading time7 min
Views9.4K

Терминал VT520 c клавиатурой LK46W-A2

После моего предыдущего поста с подключением советской клавиатуры к современному ПК, я как-то заразился оригинальными клавиатурами от DEC, и уж больно хотелось их испытать в деле. И на удивление, на досках удалось найти даже клавиатуру LK201, однако для меня показалась не очень уж интересной. А вот клавиатуру Wyse 85 со свичами Cherry MX нашёл намного более стильной и крутой. Однако смущал вопрос, как же её использовать с современным железом, удобно ли будет такое расположение клавиш?

И тут мне на глаза попадается объявление с ещё одной терминальной клавиатурой LK46W-A2 которую можно подключить к обычному компьютеру по стандартному интерфейсу PS/2, но с количеством клавиш и расположением, как у LK201 с небольшими дополнениями. После того как ознакомился с информацией, принял волевое решение купить кота в мешке и попробовать эту клавиатуру с обычным ПК, а также понять, что же делают все остальные «нестандартные клавиши». Этакий реверс-инжиниринг клавиатуры.
Читать дальше →

Подключение советской клавиатуры Электроника МС 7004 к современному ПК

Reading time8 min
Views20K

Когда я листал доски объявлений, на глаза попалась отличная клавиатура «Электроника МС 7004». Даже по современным меркам клавиатура выглядит просто потрясающе. У неё есть откидной блок со светодиодами, клавиши механика. И она настолько крутая, что даже сейчас на ней хочется работать. Но, как обычно есть один маленький нюанс: у неё свой интерфейс и электропитание.

Такие клавиатуры встречаются часто, выглядят стильно и, в общем-то, можно получить уникальное устройство ввода, но как же её подключить? Этим вопросом я занялся уже после покупки, потому что клавиатура была крута, и вылилось всё в интересное копание в схемотехнике клавиатуры, протоколах и многом другом.
Читать дальше →

Как и зачем компании накручивают голоса на хабре

Reading time9 min
Views21K


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

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

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

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

Чем это плохо для нас, читателей: мы не получаем адекватную оценку статей на хабре, средние статьи занимают первые места, а по-настоящему качественный материал теряется за накрутками.

Сократ мне друг, но истина дороже

Поэтому расскажу вам, механизм рейтинга, и как компании его накручивают. И предложить методы борьбы с накрутками у компаний, для администрации Хабра.
Читать дальше →

Пишем свой ROM BIOS

Reading time12 min
Views34K

Со стародавних времён хотел попробовать создать собственный ROM BIOS, который будет записан в отдельную микросхему и будет выполнять какие-то полезные действия. Например, ROM BIOS установлен в видеокартах (по крайне мере старых), контроллерах дисков и много где ещё — это фактически расширения обычного BIOS. Понимаю, что это всё старьё и тягаться с возможностями современного UEFI бессмысленно, но мне очень хотелось создать свой собственный образ, который находится физически в отдельной микросхеме и работает при старте системы. Поэтому пришлось даже для этих целей найти старый комп.

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

В этой статье мы с вами разберём создание своего ROM BIOS, дальше я расскажу про тонкости и нюансы, напишу низкоуровневый «Hello world», сделаю настоящий интерпретатор BASIC ROM, который стартует при включении компьютера, как в первых IBM PC.
Читать дальше →

Правка чужого кода

Reading time6 min
Views19K
Всегда приятно, когда удаётся сделать мир чуточку лучше.


Для одного проекта мне понадобился просмотрщик памяти в DOS. В идеале хотелось бы иметь редактор памяти, чтобы в нём был поиск по ключевым словам, перемещение к заданному адресу. Но для старта мне было бы достаточно хотя бы возможность просмотра всего мегабайта доступной «нижней» памяти.

Старожилы знают, что в комплекте с различными версиями ДОС шли дополнительные утилиты, и среди них была «замечательная» утилита debug, которая убога чуть более, чем полностью. Ещё во времена моей молодости эта утилита вызывала у меня самые противоречивые чувства, то сейчас и подавно. Пользоваться ей без успокоительных очень сложно, с другой стороны, хорошо, что она есть. Но мне возможностей и удобства этой утилиты не хватало, поэтому пришлось искать другой подходящий инструмент. После длительного гугления наткнулся на исходники утилиты RAM View.

К сожалению, исполняемого файла найти не удалось, только исходные коды под Borland C++ 3.1, и как впоследствии оказалось, сама программа содержала ошибки.

Всё это вылилось в интересный квест по поиску старого компилятора, исправления ошибок в программе 25-летней давности и создания запроса на слияние.
Читать дальше →

Аппаратный ЭЛТ-фильтр для картинок

Reading time10 min
Views12K

Всю мою жизнь мне нравятся средства отображения информации — в виде электронно-лучевых трубок. В них есть определённый романтизм и шарм. Недаром их часто используют в иллюстрациях к фильмам антиутопиям. 

В конце 2000-х набирали популярности социальные сети с фотографиями. И мне очень не хватало в те годы настоящего живого фильтра, который делает эффект телевизора. В один из прекрасных дней мне встретился проект, где из видоискателя от видеокамеры и фотоаппарата, сделали аппаратный фильтр для фотографий. Проект, когда я его встретил, уже не работал, а значит поле было не занято. Понял, вот это оно! И с тех пор идея поселилась в моей голове.

Как вы понимаете, этот проект — самый эпичный долгострой в моей жизни, раз я задумал его ещё в конце 2000-х. Где-то примерно в году 2015 он работал для друзей, и даже в 2016 году он ездил на Chaos Construction. Но это всё было не то, интерфейсы не те. И вот, наконец проект завершён, и может быть показан широкому зрителю.

А прежде, чем вы залезете под кат, можно сразу попробовать отфильтровать картинку — достаточно просто зайти в мой телеграмм бот

Поехали, ниже много аппаратной жести.
Читать дальше →

Information

Rating
2,631-st
Location
Москва, Москва и Московская обл., Россия
Registered
Activity