неділя, 4 травня 2025 р.

Анонс постів нового блогу - плати оновлення

 Кілька статей про плати оновлення різних епох -- кінця 80-х, кінця 90-х і середини 2020-х:

субота, 26 квітня 2025 р.

Анонс постів нового блогу - мануали з минулого

 Назбиралося трохи про старенькі технології:

середа, 23 квітня 2025 р.

Анонс постів нового блогу - DOS-новинки

За останні роки побачили світ шматки джерельні тексти DOS, а я нарешті дописав старі пости про дизасемблювання утиліти SYS.COM з DOS:

пʼятниця, 18 квітня 2025 р.

Анонс постів нового блогу - ретрокомп'ютери 80-х

Наступною була серія статей про ретрокомп'ютери. Величезних -- і стараюся компактніше, але виходить як завжди :=) 

  • "Пошук-1" -- про мій перший комп'ютер. З одного боку, машина жахлива, можливо (враховуючи софтварний CGA), найповільніший клон XT, з іншого -- він не винен, що народився в Києві часів СРСР...
    На зображенні може бути: текст
  •  " Лептоп Tandy 1400 LT" -- 1987 року. Всього шість кілограм, батарея досі витримує більше ста хвилин роботи. З серії постів про минуле, якого в мене не було :=)
    Немає опису світлини.
  •  " Compaq Portable III (з 286) та Portable 386" -- а це пафосні машини, за всі гроші!  Ціною в дорогу машину (low-end) або – непогану квартиру. Поточна конфігурація 386-го: 4 Мб RAM, 100 Мб HDD, заледве до 50 тисяч сучасних доларів не дотягнула, на момент появи. Також, репозиторій з кодом.
  • "Amstrad PC1640" -- На відміну він інших машинок вище, ну, може, крім «Пошука-1» -- цілком демократичний комп’ютер, мрія умовного німецького підлітка із звичайної сім’ї у 1988, а не менеджера високого класу. «Однокласник» згаданого Пошука, але потужніший в декілька раз. 1987 року, 8086/8 МГц, 640 Кб, EGA, 3 ISA слоти, регулятор звуку PC-спікера -- взагалі, здається, єдиний у своєму класі :=) Моя найбільш апгрейднута брендова ретро-машина – XT-IDE, мережева карта і AST Rampage з 512 Кб пам’яті. Певне, найдовше настоюваний мій пост, перші фото ще в 2014 зроблені були, хоча в фінальний текст вже не потрапили.
    На зображенні може бути: текст

неділя, 9 березня 2025 р.

Анонс постів нового блогу

 Оскільки цей хостинг блогу залишається все ще значно більш відвідуваним, продовжу анонсувати пости на новому хостингу. Ось серія комп'ютерно-інженерних статей:

вівторок, 15 серпня 2023 р.

Rosetta -- весна 2015

[Це старий пост, який я знайшов у чернетках та публікую після мінімального редагування. Фото, все ж, гарні!]
 
Над-близький проліт 14 лютого 2015 року виявив проблему -- мало того, що станція мусила летіти так, що сонячні батареї, як великі вітрила, ловили кометні викиди, (в нормі проліт організовують так, щоб площина батарей була паралельною до потоку), порушуючи стабільність, так ще й система навігації почала погано себе поводити -- ще дві години до найближчої віддалі, кількість "пилинок" стала такою, що система орієнтації по зорях не могла зафіксувати достатньої їх кількості. Автоматика переключилася на запасну (вона ж не знала причини проблем :-), але і запасну чекала та ж доля. Заледве не дійшло до "безпечного режиму", при якому виміри б припинилися -- позбавляючи нас неоціненних даних. Зокрема -- фото:
Шість кілометрів до поверхні комети Чурюмова-Герасименко. Роздільна здатність -- 11 см на піксель! Видима область -- 228 x 228 м. Темна пляма внизу-по центру -- тінь від "Розетти" (завдяки пів-тіням, пляма має розмір 20 х 50 метрів, значно більший, ніж сама станція, але повної тіні -- точки, де станція закрила б собою все Сонце, немає, хоч його видимий диск там і в 2.3 рази менший, ніж на Землі).
14 лютого 2015 (оце любов ;-), 12:39 UT. Клікабельно! .
(c) ESA/Rosetta/MPS for OSIRIS Team MPS/UPD/LAM/IAA/SSO/INTA/UPM/DASP/IDA
 

субота, 5 серпня 2023 р.

Оновлення для ретрокомп'ютерів

Виклав три статті про плати оновлення:

Більше року воно лежало як одна велика, недописана, стаття -- нарешті зібрався довести до ладу.

понеділок, 31 липня 2023 р.

COBOL на Osborne та список літератури

Виклав пост про COBOL на Osborne Executive під CP/M. Наявність цієї мови мене таки здивувала. 

Також, доповнив зміст розділу про ретрокомп'ютинг списком книг, про які планую написати нотатки. У цьому блозі вже є декілька таких, а заплановано багато більше, хай і не особливо детальних.

вівторок, 25 липня 2023 р.

Підказки користувачам CP/M та огляд асемблерів для цієї ОС

Чергова партія постів про CP/M, Osborne Executive тощо.

Також, зроблено дрібні виправлення інших постів (див. репозиторій).

неділя, 16 липня 2023 р.

Емулятори CP/M

Опублікував ще два з половиною історичних постів, про емулятори CP/M-сумісних систем:

 

пʼятниця, 14 липня 2023 р.

Новий хостинг для блогу

Веду цей блог з 2011-го, але blogger здається все менш зручним, тому, враховуючи недостачу сил, до написання та публікації доходить все рідше – зараз вже є кілька десятків напівготових статей. Крім того, хотілося б більше контролю над своїми текстами. Але й возитися з налаштуванням власної CMS бракувало і сил та часу і натхнення. Вирішив створити репозиторій на GitHub і писати там – це теж має купу недоліків, в тому числі для читачів, але якраз тоді колега показав, що Jekyll, який дружить з GitHub pages, зовсім просто налаштовується. Так і з’явився цей хостинг для блогу: https://indrekis.github.io/. Оскільки він базується на Github -- коментарі, зауваження, виправлення можна присилати тут: https://github.com/indrekis/indrekis.github.io.

Не маючи жодного досвіду з Jekyll чи Ruby, певне, багато що роблю не правильно. Виправлятиму з часом, тому сайт поки експериментальний. Тому ж розпочав з ретрокомп'ютингу -- коли процес налагодиться, додаватиму нотатки до курсів, які читаю в УКУ та переноситиму старіші тексти.

Принаймні якийсь час буду анонсувати нові пости тут. 

Зараз на новому хостингу опубліковано: 

  • "Портативні комп’ютери Osborne"-- короткий огляд апаратури
  • "Робота із образами дисків CP/M" -- На відміну від світу IBM PC, з дисками для комп'ютерів CP/M -- великий хаос, ну, чи -- різноманіття. Як з ним можна справлятися -- де шукати образи, як їх модифікувати та як записувати фізичні диски відповідних форматів на IBM PC-сумісних машинах.

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


неділя, 25 вересня 2022 р.

Аналіз SYS.COM з PC-DOS 3.10

Наступна версія DOS, 3.10, вийшла 2 квітня 1985. Однак, згідно інформації музею OS/2, анонсована вона була разом із 3.00, і, фактично, являла собою обіцянку доробити те, що до випуску 3.0, який мав співпасти із виходом IBM PC/AT, не встигли.  Зокрема, нарешті довели до ладу мережевий редіркетор. По великому рахунку, DOS API з часів 3.1 змінювалося мало. Із важливих для SYS.COM аспектів --- з'явилася підтримка 720Кб 3.5'' дисків. 
 
Ех, я починав теж із 720Кб, правда нестандартних -- 5-дюймових, дисковід Пошука-1 принципово не вмів 1.2Мб читати-писати, а на 800 Кб заїкався, хоча по сектору за раз, руками з DEBUG.COM  --- читав. Штатним форматом був 360Кб, але в 1995 то було зовсім мало, а 720Кб, при всій нестандартності для 5-дюймовок, особливих проблем не створював. На крайній випадок, 800.COM вже був популярним.
 
Ремарка: цей текст був написаний майже 10 років тому, довести до кінця тоді не вистачило натхнення, а зараз вже шкода часу. Тому публікую як є, із мінімальними правками, менш завершеним, ніж інші пости цієї серії.

субота, 24 вересня 2022 р.

Порівняння дизасемльованого SYS.COM з PC-DOS 2.10 та опублікованих Microsoft текстів для цієї утиліти


Колись, для відпочинку та розваги, дизасемблював SYS.COM різних версій DOS (посилання в кінці). Суттєво пізніше Microsoft опублікувала джерельні тексти MS-DOS, офіційно, версій MS-DOS 1.25 (еквівалентна PC-DOS 1.10) і 2.00. Від того часу мені захотілося порівняти справжній код із своїм дизасемблом. Цього літа з'явилася нагода. 

пʼятниця, 12 серпня 2022 р.

Анонс -- 64-бітний плагін Total Commander для роботи із образами FAT

Займаючись "ретрокомп'ютингом", постійно доводиться мати справу з образами дисків різних епох. Для мене найзручнішим способом є відповідні плагіни для Total Commander (TCmd). Однак, їх так і не було перенесено на 64-бітний TCmd. 

Коли, посередині літа, втома стала закритичною, для відпочинку вирішив створити такий плагін -- з одного боку, задача проста, з іншого -- мозок таки зайнятий, і не відволікається на дурні думки. Здається, це перше програмне забезпечення, написане мною, призначене для (відносно) широкого кола користувачів. 

Код знаходиться на Github: FATImage_TCMD_plugin. Бінарники -- в релізах репозиторію.

Багато подробиць є в ReadMe.md репозиторію. Дуже коротко:

  • Поки read-only.
    • Працюю над версією, що вмітиме писати в образи та створювати їх.
  • Підтримує FAT12, FAT16, FAT32.
  • Підтримує VFAT -- довгі імена файлів, не залежно від розрядності FAT.
  • Вміє працювати із образами, розбитими на диски, якщо вони користуються MBR.
  • exFAT i GPT поки не підтримуються.

Буду вдячний за відгуки, знайдені баги, pull-request-и. 

 

Подробиці, не висвітлені на GitHub

субота, 15 серпня 2020 р.

Онлайн інструменти для С++

Compiler explorer logo
Попередній пост задумувався як приклад використання онлайн-засобів для роботи із С++, однак, осмислено показати більшість із них не вдавалося. Тому пишу ще один.

Ремарка: пам'ятайте, що більшість із цих проектів -- приватні, на особистих (чи арендованих своїм коштом) серверах авторів, хай і з залученням пожертв. Будьте акуратні -- не зловживайте, не заваліть DDoS-ом.
Щоб нормально роздивитися зображення -- клікніть по них. На жаль, не вдається мені за розумний час дійти толку із ресайзером Blogpost, вони виходили або заширокі, або нечитабельні.

Compiler explorer -- https://godbolt.org

Напевне, перший і найпопулярніший із них. 

середа, 12 серпня 2020 р.

Навіщо розуміти комп'ютер, якщо сучасні мови та їх бібліотеки такі потужні?

Працюю із дуже розумними та працьовитими студентами. Тому основне обмеження -- рівень їх мотивації. Важливо показати їм -- навіщо все це. Звісно, власний похід по граблях дає глибший і стабільніший результат, але це довга дорога, хотілося б її спростити. Тому -- очевидні для них приклади плюс практика. 

Байка - 1


Типовий "мотиваційний" приклад -- історії про вирішення задачі підрахунку слів у текстових файлах. Фабула наступна, пропонуєш цю задачу новій аудиторії, наступного разу: 

вівторок, 30 квітня 2019 р.

0xB800

BD.COM із запущеним вірусом die385.
Випадково зіткнувся із авторами симпатичного дебаггера епохи 90-х, BD.COM. Є навіть надія, що його джерельні тексти на github потраплять. Та й згадав в процесі тих розмов про магічне число, B800/B8000. Виявляється, про нього зараз пам'ятає менше людей, ніж я очікував. :-)

Колись давно (1976) вирішила Intel на колінці зробити мікропроцесор,  щоб «закрити» ринок, поки розроблять щось більш достойне. Вийшов він в 1978 і називався 8086. Процесор був 16-бітний, однак міг адресувати цілий мегабайт пам’яті (на що, як ми знаємо, потрібно 20 біт), за допомогою хитрого трюка – адресу ділили на дві частини, по 16 біт. Для отримання «справжньої», фізичної адреси, яку процесор може використати для звертатиметься до пам’яті, першу частину зсували на 4 біти вліво (це те саме, що множити на 16) та додавали другу.

Першу частину, наслідуючи «дорослі» машини, які підтримували сегментацію – можливість ділити пам’ять на ізольовані блоки, сегменти, назвали сегментом. Ніякого розділення, звичайно, не було – воно «приросло» в 80286 (1982), але слово гарне, все таке. Другу – зміщення (відносно початку сегменту). Тобто, адреса складалася із пари segment:offset. Для адреси сегменту було виділено спеціальні сегментні регістри, не змінюючи яких, можна було звертатися до 64Кб, маніпулюючи 16-бітним зміщенням.

четвер, 26 липня 2018 р.

"Undocumented DOS", 1st edition

Ще одна "ретрорецензія". Про "романтичні" комп'ютерні 90-ті я вже не раз писав. Поміж популярних тогочасних хобі було написання вірусів. DOS -- ідеальне середовище для них, ніякого захисту, вся система як на долоні -- розважайся, скільки зможеш. Але сяка-така протидія, все ж, була -- ранні антивіруси, пошук підозрілих процесів і дивних блоків пам'яті тощо. За відсутності розмежування доступу, змагання вірус-антивірус було цікавою грою. А вміння працювати із внутрішніми, недокументованими, структурами DOS було корисним для ефективної участі в ній. Приклад: багато антивірусів не відслідковували роботу із файлами через і FCB.  Та й цікаво -- раптом недокументоване включає якісь містичні можливості. Ходить справедливий жарт: "Чогось недокументованими можливостями найбільше цікавляться ті, що документовані поки толком не освоїли". З іншого боку -- нам було від сили півтора десятиліття. :-) 
Важлива ремарка -- DOS і суміжні сфери в той час на Заході вже стрімко втрачали актуальність. Навіть OS/2  своє доживала, як виявилося пізніше. Але ми працювали із старою технікою (наприклад, Пошук-1/Пошук-2 -- слабенький клон PC XT середини 80-х) та із старою літературою. Зараз дивлюся на книжки -- добуті чудом, по яких тоді вчився, і жахаюся їх рівневі. І дуже різко реагую на заяви студентів "Ми не змогли розібратися - літератури немає", за наявності доступу до яких хочеш книг, пошукових систем взагалі і StackOverflow зокрема та ще й можливості запитатися у місцях, де буває тисячі людей, які вміють та хочуть пояснити новачкам.

пʼятниця, 23 березня 2018 р.

Книги по C++ -- список літератури

Завдяки Українському Католицькому Університету маю можливість розповідати про сучасний С++ дуже хорошим слухачам -- нашим студентам, представникам компаній тощо. Написаний раніше, в 2013-му, якраз для таких розповідей, список літератури: "Книги по C++ -- деякі конкретні рекомендації", встиг помітно застаріти. З того часу відбулося багато змін в С++ та відповідній екосистемі: вийшло ще два стандарти С++14 і С++17, а С++11/С++14 нарешті ввійшов у (широку) практику. Та й мої погляди на вибір літератури з того часу теж трохи змінилися. Тому вирішив написати новий.
Суміжний текст, "Загальні міркування", (крім природного врахування нових стандартів), залишається актуальним.
В принципі, всі згадані книжки можна знайти  в Інтернеті. Але посилань не наводитиму. Якщо дуже критично -- пишіть.

Українських перекладів жодної із них не існує, або я не зміг знайти... На російськомовні варіанти книг часто даю посилання із магазину "Гіада" у Львові. Я з ними ніяк не афілійований (ну, крім того, що іноді книжки там купляю), але цей магазин мені подобається, крім того, єдиний у своєму класі у Львові -- не хотілося б, щоб його спіткала доля аналогічного у 5-му корпусі Політехнічного.

Англомовні -- або на авторську сторінку, або на Амазон чи іншого видавця.
Мушу зізнатися, не всі із цих джерел -- книг, посилань, я прочитав акуратно, від початку до кінці. Тому могли затесатися неоднозначні, які мені цю неоднозначність не встигли показати. Про можливість такого наголошуватиму в описі джерела. Також, є ряд джерел, про які мені точно відомо -- у них є виражені негативні елементи, однак є і щось варте уваги -- про це теж писатиме.

Карта С++17 від Алена С++. Клікабельно!

неділя, 17 грудня 2017 р.

STM Studio -- монітор змінних STM32

Намагаючись дійти толку із SemiHosting без зневаджувача, натрапив на цікавий інструмент: STM Studio. Не слід плутати із купою інших "студій", це не IDE, це: "run-time variables monitoring and visualization tool for STM32 microcontrollers" -- програма, яка дозволяє інтерактивно спостерігати за змінними програми, залитої в мікроконтролер.
Вона використовує згадуваний тут режим моніторингу, тому теж змінює налаштування відладки MCU, але, принаймні (іноді) очищає їх, на відміну від OpenOCD.
Така можливість корисна тоді, коли зупинка в дебагері -- не варіант. Наприклад, при зневадженні коду SemiHosting ;-). Або коли відбуваються якісь процеси, де паузи -- неприйнятні.  

Чудес від цього, доволі простого, інструменту, очікувати не доводиться, але він корисний -- шкодую, що не знав про нього раніше. Не претендуючи на повноту, коротко глянемо, як його можна використовувати.