- retrocomputing 18
- CP/M 11
- IBM PC та сумісні 9
- DOS 6
- Z80 4
- методичка 3
- 86-DOS 3
- Osborne 2
- asm 2
- i8080 2
- SYS.COM 2
- фізика 1
- популяризація 1
- disk images 1
- .IMD 1
- cpmtool 1
- libdsk 1
- MAME 1
- MyZ80 1
- Altair32 1
- Altair 8800 1
- links 1
- te 1
- debugger 1
- COBOL 1
- C++ 1
- онлайн інструменти 1
- прикол 1
- floating point 1
- float 1
- double 1
- FP8 1
- IEEE 754 1
- керування ресурсами 1
- керування пам'яттю 1
- Пошук-1 1
- Tandy 1
- QEMM 1
- Compaq Portable 1
retrocomputing
SYS.COM з 86-DOS 1.10
Поки возився з SYS.COM з 86-DOS версій 0.11 та 0.34, випадково дизасемблював цю ж утиліту з 86-DOS 1.10. Тож, вирішив доповнити колекцію статей про неї.
SYS.COM з 86-DOS 0.11 та 0.34
Насправді, ця стаття – трішки обман. Все почалося з того, що до 86-DOS я поліз, щоб глянути на їх SYS.COM, який багато раз дизасемблював для різних версій MS/PC-DOS.
86-DOS 0.11 та 0.34
Знайдені нові старі версії 86-DOS – 0.11 та 0.34, спричинили цілу хвилю публікацій. Десь на десятку побачених, вирішив і я спробувати їх.
Compaq Portable III (з 286) та Portable 386
Знову ж, завдяки учаснику спільноти ретрокомп’ютерщиків – засновнику Віртуального музею комп’ютерного андеграунду маємо два варіанти Compaq Portable III, з 286 та Compaq Portable 386.
Перший мій, другий – Львівського Музею Комп’ютерних Технологій.
Вони дуже схожі, насправді. Згідно Вікі, компанія поспішала випустити на ринок портативний комп’ютер, а в наявності мала хіба материнські плати 286-го, тому спершу випустила варіант з ними, до готовності новішої плати. Тому, далі в тексті я буду їх розрізняти за типом процесора – 386 чи 286.
Обережно – далі 20 Мб фотографій, більшість з яких, на жаль, неякісні або й жахливі.
- Загальний опис
- Налаштування та продуктивність
- Досвід експлуатації
- Підсумок
- Посилання
- Виноски
Compaq Portable III, 286, фото з журналу “Australian Personal Computer”, Volume 8, Number 6, June 1987. Мій зараз помітно жовтіший. Зверніть увагу на розкладку клавіатури. |
Лептоп Tandy 1400 LT
Завдяки одному учаснику спільноти ретрокомп’ютерщиків у мене з’явився цей ноутбук, а завдяки іншому – він ще й запрацював! Оскільки машинка дуже мила, коротко розкажу про неї та покажу свої експерименти1. Забігаючи наперед, вдалося отримати 630 Кб вільної основної пам’яті – не так погано для системи без XMS чи EMS2, і це з завантаженим DOSKEY та драйвером мишки3.
Tandy 1400 LT, фото з вікі. |
- Апаратне забезпечення
- DOS
- UMB
- Приклади використання програмного забезпечення
- Підсумок
- Посилання
- Виноски
-
На жаль, традиційно, якість фото більш ніж сумнівна, але вибір – або такі, або взагалі ніякі, то я вирішив – хай будуть. ↩
-
Думаю, наступна ітерація буде про 8086 з EMS – видатний ж костиль, а потім – 286 з ним же. ↩
-
Чітерство, зізнаюся, як в рекламі солі без ГМО – якщо є UMB, все що у ній, не займатиме основної пам’яті. ↩
Пошук-1
Моїм першим комп’ютером був “Пошук-1”1. В середині 90-х, навіть у нас, це була глибоко застаріла машина. Тому, про Pentium MMX-200, який з’явився в 1999-му2, часто кажу “мій перший справжній комп’ютер”. Але і з “Пошуком-1” пов’язано багато спогадів – перші спроби бути користувачем, перші спроби програмувати, колупатися в файлових системах, писати віруси тощо.
Написано про цю машину немало: wiki і посилання там, зокрема: “ПК Поиск” та всілякий софт – поки до того навряд чи зможу щось додати, тому пост – більше ностальгічний.
-
Купили в 1994, ввімкнути його вдалося в 1995 і до 1999 він залишався єдиним. ↩
-
Він глючив – за використання відеорежимів за межами стандартних VGA, регулярно в Blue screen вилітав. Тому, коли з’явився потужніший, продав його. Жив тоді у Жидачеві, продав у Львові. Було дуже кумедно, коли, через кілька тижнів, сусідських хлопчина попросив мого брата подивитися до його нового комп’ютера і це виявився щойно проданий мій – на материнській платі був характерний надлам. ↩
Сучасні плати для IBM PC/XT
Виявилося,нові плати оновлення та інше обладнання для ретрокомп’ютерів, розробляють та продають досі. При тому, IBM PC, певне, навіть не найпопулярніша платформа.
Коротко розповім про деякі плати, які або вже використовую, або хотів би мати – не намагаючись досягнути повноти. Власне, це було б важко – список лише на Tindie справляє враження.
AST Rampage
Огляд
Один із моїх улюблених костилів епохи IBM PC – EMS. Причому, її емуляція на 286+ – не так цікаво, хочеться для справжнього 8086/88-комп’ютера – IBM-XT-подібного. Плат із такою пам’яттю було помітно більше, ніж “Дивних плат оновлення”, тому придбати їх на ebay реально, хоча й вимагало певної терплячості, поки з’являється лоти із прийнятними цінами.
Моя AST Rampage. На фото – 256 Кб RAM. На жаль, роз’єм для Daughter board не розпаяний. |
Дивні плати оновлення із 1980-х
“DOS: Beyond 640K”
Останні роки, замість художньої літератури, часто читаю старі комп’ютерні книжки. Про деякі вже писав, про інші ще планую. Поміж них трапилася “DOS: Beyond 640K” by James S. Forney, 2nd ed., 1992 року. Читати її було жахливо. Автор знову і знову повторював одне і те ж, трішки різними словами, а коли дістало так, що написав комусь поскаржитися, на наступній сторінці автор буквально сказав: “Повторю ще раз” і скопіював попередній абзац. Навіщо ж я її читав? Це хороший спосіб зануритися в атмосферу тодішніх “персоналок” – часто дуже відмінну від сучасного світу.
Поміж іншого, там були описані плати оновлення (upgrade) для тогочасних комп’ютерів. І карти ті були настільки, для наших часів, незвичні, що я вирішив про них написати.
COBOL під CP/M на Osborne Executive
- Огляд
- Microsoft COBOL
- Micro Focus COBOL
- Nevada COBOL
- Підсумок
- Додаток – образи дисків, використані в цьому пості
- Виноски
Огляд
COBOL – мова дуже давня, але асоціюється з великими машинами, тому для мене було великим сюрпризом зустріти її для CP/M і комп’ютерів класу Osborne.
Дебагери для CP/M та Osborne Executive
Короткий огляд дебагерів, з якими зіткнувся, поки експериментував із асемблерами – не прагнучи до повноти.
Інструменти програмування на асемблері для CP/M та Osborne Executive
- Огляд
- CP/M Macro Assembler
- CP/M Assembler
- CP/M Relocatable Macro Assembler
- Microsoft M80
- SLR Systems Z80ASM
- 2500 A.D. SOFTWARE ASM
- MITEK Relocating Macro Assembler
- ZSM / Z80ASMUK
- Підсумок
- Додаток – образи дисків, використані в цьому пості
- Додаток – порівняння мнемонік Z80 та i8080
- Виноски
Огляд
CP/M існує для кількох сімейств процесорів. Поміж восьмибітових це Z80, i8080 та i8085. Для випробувань асемблерів використовую два варіанти – чисто для i8080 і з мнемоніками Z80. Різниця між їх системами команд та мнемоніками описана, наприклад, в: “8080A/Z80 compatibility”.
Приклад, на якому буду випробовувати – тривіальний ‘‘Hello, world’’, який виводить текст за допомогою славнозвісний1 системний виклик 9 – ‘‘Output string’’, код якого передається регістром C, адреса стрічки в DE, а стрічка має закінчуватися символом ‘$’.
-
'’Ask Bill [Gates] why the string in [MS-DOS] function 9 is terminated by a dollar sign. Ask him, because he can’t answer. Only I know that.’’, цитуючи за “Bill Gates: Of Mind and Money”, “Seattle Post-Intelligencer” Newspaper, May 8, 1991. Цей системний виклик з 1970-х, відтворений DOS 1.00 в 1981, все ще вивчали в деяких провідних ВИШах не пізніше 2020-го… ↩
Текстовий редактор te
- te
- Портування te під Osborne Executive
- Портування te під Osborne 1
- Компілювання te
- Особливості te
- Виноски
te
Важливий інструмент для ‘‘реконструкторських’’ експериментів – текстовий редактор. Працювати з ED.COM я поки не готовий. Хоча редагувати файли із кодом можна в WordStar – кажуть, у свій час його для того і використовували, мені не дуже сподобалося – він громіздкий. Пошуки виявили сучасну альтернативу – текстовий редактор te для CP/M, від MiguelVis – великого ентузіаста CP/M.
Посилання стосовно CP/M
Поки менш-більш хаотично – оскільки не раз доводилося їх знову і знову шукати, але колись може впорядкую.
Коротка інструкція до CP/M
- Огляд
- Файлова система з точки зору користувача
- Вбудовані команди
- Стандартні транзієнтні команди
- Виноски
Книжок по CP/M1 було багато – навіть в документації до Osborne-ів є детальна інструкція, тому тут лише коротка ‘‘шпаргалка’’.
-
Control Program/Monitor або Control Program for Microcomputers. ↩
Інші емулятори CP/M систем
Інші цікаві емулятори, з якими експериментував менше.
MAME – емулятор взагалі всього, включаючи Осборни
MAME
Шукав емулятори для Osborne, спеціалізованих не знайшов, але виявив, що MAME їх підтримує. Трохи недолюблюю цей емулятор1, але корисність його беззаперечна!
Osborne 1 підтримується нормально. Osborne Executive помічено як такий, що не працює, але, хоча у нього є свої проблеми2, в цілому – використовувати можна. Osborne Vixen теж підтримується, хоча ретельно не тестував.
RunCPM – емулятор узагальненої CP/M-системи
RunCPM
Існують емулятори конкретних систем, на яких можна виконувати код CP/M, портованих для них. Але існують і генералізовані емулятори, що дозволяють працювати з CP/M безпосередньо, емулюючи тим чи іншим способом диски та інші засоби комунікації з залізом.
Вони дуже корисні для розробки під цю ОС.
Не претендуючи на повноту охоплення, після тривалих пошуків і випробування кількох варіантів, зупинився на RunCPM.
CP/M
COBOL під CP/M на Osborne Executive
- Огляд
- Microsoft COBOL
- Micro Focus COBOL
- Nevada COBOL
- Підсумок
- Додаток – образи дисків, використані в цьому пості
- Виноски
Огляд
COBOL – мова дуже давня, але асоціюється з великими машинами, тому для мене було великим сюрпризом зустріти її для CP/M і комп’ютерів класу Osborne.
Дебагери для CP/M та Osborne Executive
Короткий огляд дебагерів, з якими зіткнувся, поки експериментував із асемблерами – не прагнучи до повноти.
Інструменти програмування на асемблері для CP/M та Osborne Executive
- Огляд
- CP/M Macro Assembler
- CP/M Assembler
- CP/M Relocatable Macro Assembler
- Microsoft M80
- SLR Systems Z80ASM
- 2500 A.D. SOFTWARE ASM
- MITEK Relocating Macro Assembler
- ZSM / Z80ASMUK
- Підсумок
- Додаток – образи дисків, використані в цьому пості
- Додаток – порівняння мнемонік Z80 та i8080
- Виноски
Огляд
CP/M існує для кількох сімейств процесорів. Поміж восьмибітових це Z80, i8080 та i8085. Для випробувань асемблерів використовую два варіанти – чисто для i8080 і з мнемоніками Z80. Різниця між їх системами команд та мнемоніками описана, наприклад, в: “8080A/Z80 compatibility”.
Приклад, на якому буду випробовувати – тривіальний ‘‘Hello, world’’, який виводить текст за допомогою славнозвісний1 системний виклик 9 – ‘‘Output string’’, код якого передається регістром C, адреса стрічки в DE, а стрічка має закінчуватися символом ‘$’.
-
'’Ask Bill [Gates] why the string in [MS-DOS] function 9 is terminated by a dollar sign. Ask him, because he can’t answer. Only I know that.’’, цитуючи за “Bill Gates: Of Mind and Money”, “Seattle Post-Intelligencer” Newspaper, May 8, 1991. Цей системний виклик з 1970-х, відтворений DOS 1.00 в 1981, все ще вивчали в деяких провідних ВИШах не пізніше 2020-го… ↩
Текстовий редактор te
- te
- Портування te під Osborne Executive
- Портування te під Osborne 1
- Компілювання te
- Особливості te
- Виноски
te
Важливий інструмент для ‘‘реконструкторських’’ експериментів – текстовий редактор. Працювати з ED.COM я поки не готовий. Хоча редагувати файли із кодом можна в WordStar – кажуть, у свій час його для того і використовували, мені не дуже сподобалося – він громіздкий. Пошуки виявили сучасну альтернативу – текстовий редактор te для CP/M, від MiguelVis – великого ентузіаста CP/M.
Посилання стосовно CP/M
Поки менш-більш хаотично – оскільки не раз доводилося їх знову і знову шукати, але колись може впорядкую.
Коротка інструкція до CP/M
- Огляд
- Файлова система з точки зору користувача
- Вбудовані команди
- Стандартні транзієнтні команди
- Виноски
Книжок по CP/M1 було багато – навіть в документації до Osborne-ів є детальна інструкція, тому тут лише коротка ‘‘шпаргалка’’.
-
Control Program/Monitor або Control Program for Microcomputers. ↩
Інші емулятори CP/M систем
Інші цікаві емулятори, з якими експериментував менше.
MAME – емулятор взагалі всього, включаючи Осборни
MAME
Шукав емулятори для Osborne, спеціалізованих не знайшов, але виявив, що MAME їх підтримує. Трохи недолюблюю цей емулятор1, але корисність його беззаперечна!
Osborne 1 підтримується нормально. Osborne Executive помічено як такий, що не працює, але, хоча у нього є свої проблеми2, в цілому – використовувати можна. Osborne Vixen теж підтримується, хоча ретельно не тестував.
RunCPM – емулятор узагальненої CP/M-системи
RunCPM
Існують емулятори конкретних систем, на яких можна виконувати код CP/M, портованих для них. Але існують і генералізовані емулятори, що дозволяють працювати з CP/M безпосередньо, емулюючи тим чи іншим способом диски та інші засоби комунікації з залізом.
Вони дуже корисні для розробки під цю ОС.
Не претендуючи на повноту охоплення, після тривалих пошуків і випробування кількох варіантів, зупинився на RunCPM.
Робота із образами дисків CP/M
Огляд проблеми
IBM PC-сумісні комп’ютери1 трохи стандартизували формати дискет, тому, для комп’ютерів цієї епохи домінують побайтові образи – й так зрозуміло, що сектор 512 байт, формат визначається BPB у бут-секторі, а де не визначається (для дисків епохи DOS 1.xx) – можна вгадати за розміром. Ілюстрація – плагін для Total Commander-а, який працює лише із ‘‘плоскими’’ образами, відкриває абсолютну більшість образів дискет, скачаних із сайтів з ретро-софтом.
Звичайно, залишалися нестандартні формати, дискети із захистом від копіювання, формати інших операційних систем – не сімейства MS-DOS і похідних від них. Завдяки низькорівневій природі апаратури дисководів, можливими були безліч варіацій. Для роботи із ними було створено спеціалізоване програмне забезпечення. Великого поширення набули Teledisk (типове розширення .td0) та Imagedisk (.imd) – у своїх образах вони зберігають службову інформацію, дозволяючи відтворити такі ‘‘хитрі’’ образи2.
Однак, із CP/M ситуація інша. Різні комп’ютери обладнувалися різними, часто не сумісними між собою, дисководами. Вони різні за розміром – 8”, 5.25”, 3.5”, 3”; різні за принципами – soft sectors vs hard sectors; кількістю сторін (іншими словами – магнітних голівок), кількістю треків, розміром секторів, skewing-ом тощо.
-
Писав трішки про початок цієї епохи: MS/PC DOS 1.0, MS/PC DOS 1.XX в емуляторах, MS/PC DOS 1.XX “Ось ти який, північний олень!”, DOS FCB. ↩
-
Заради лаконічності, і щоб не втонути у настільки широкій темі, свідомо дуже спрощую. В сучасному світі за подробицями можна заглянути сюди, сюди або сюди, чи, хоча б, на Wiki та глави ‘‘Sector-level organization’’ і ‘‘Floppy disk representation’’ інструкції MAME. На щастя, з Осборном так низько (по рівнях абстракції) опускатися не довелося ↩
Портативні комп’ютери Osborne
Огляд
Osborne Executive – нащадок Osborne 1, який вважають першим масовим портативним комп’ютером. Як компроміс між переписуванням із відкритих джерел і бажанням мати всю необхідну інформацію під руками, наведу тут лише основні характеристики – найбільш загальні, або ті, що знадобилися в процесі роботи.
IBM PC та сумісні
SYS.COM з 86-DOS 1.10
Поки возився з SYS.COM з 86-DOS версій 0.11 та 0.34, випадково дизасемблював цю ж утиліту з 86-DOS 1.10. Тож, вирішив доповнити колекцію статей про неї.
SYS.COM з 86-DOS 0.11 та 0.34
Насправді, ця стаття – трішки обман. Все почалося з того, що до 86-DOS я поліз, щоб глянути на їх SYS.COM, який багато раз дизасемблював для різних версій MS/PC-DOS.
86-DOS 0.11 та 0.34
Знайдені нові старі версії 86-DOS – 0.11 та 0.34, спричинили цілу хвилю публікацій. Десь на десятку побачених, вирішив і я спробувати їх.
Compaq Portable III (з 286) та Portable 386
Знову ж, завдяки учаснику спільноти ретрокомп’ютерщиків – засновнику Віртуального музею комп’ютерного андеграунду маємо два варіанти Compaq Portable III, з 286 та Compaq Portable 386.
Перший мій, другий – Львівського Музею Комп’ютерних Технологій.
Вони дуже схожі, насправді. Згідно Вікі, компанія поспішала випустити на ринок портативний комп’ютер, а в наявності мала хіба материнські плати 286-го, тому спершу випустила варіант з ними, до готовності новішої плати. Тому, далі в тексті я буду їх розрізняти за типом процесора – 386 чи 286.
Обережно – далі 20 Мб фотографій, більшість з яких, на жаль, неякісні або й жахливі.
- Загальний опис
- Налаштування та продуктивність
- Досвід експлуатації
- Підсумок
- Посилання
- Виноски
Compaq Portable III, 286, фото з журналу “Australian Personal Computer”, Volume 8, Number 6, June 1987. Мій зараз помітно жовтіший. Зверніть увагу на розкладку клавіатури. |
Лептоп Tandy 1400 LT
Завдяки одному учаснику спільноти ретрокомп’ютерщиків у мене з’явився цей ноутбук, а завдяки іншому – він ще й запрацював! Оскільки машинка дуже мила, коротко розкажу про неї та покажу свої експерименти1. Забігаючи наперед, вдалося отримати 630 Кб вільної основної пам’яті – не так погано для системи без XMS чи EMS2, і це з завантаженим DOSKEY та драйвером мишки3.
Tandy 1400 LT, фото з вікі. |
- Апаратне забезпечення
- DOS
- UMB
- Приклади використання програмного забезпечення
- Підсумок
- Посилання
- Виноски
-
На жаль, традиційно, якість фото більш ніж сумнівна, але вибір – або такі, або взагалі ніякі, то я вирішив – хай будуть. ↩
-
Думаю, наступна ітерація буде про 8086 з EMS – видатний ж костиль, а потім – 286 з ним же. ↩
-
Чітерство, зізнаюся, як в рекламі солі без ГМО – якщо є UMB, все що у ній, не займатиме основної пам’яті. ↩
Пошук-1
Моїм першим комп’ютером був “Пошук-1”1. В середині 90-х, навіть у нас, це була глибоко застаріла машина. Тому, про Pentium MMX-200, який з’явився в 1999-му2, часто кажу “мій перший справжній комп’ютер”. Але і з “Пошуком-1” пов’язано багато спогадів – перші спроби бути користувачем, перші спроби програмувати, колупатися в файлових системах, писати віруси тощо.
Написано про цю машину немало: wiki і посилання там, зокрема: “ПК Поиск” та всілякий софт – поки до того навряд чи зможу щось додати, тому пост – більше ностальгічний.
-
Купили в 1994, ввімкнути його вдалося в 1995 і до 1999 він залишався єдиним. ↩
-
Він глючив – за використання відеорежимів за межами стандартних VGA, регулярно в Blue screen вилітав. Тому, коли з’явився потужніший, продав його. Жив тоді у Жидачеві, продав у Львові. Було дуже кумедно, коли, через кілька тижнів, сусідських хлопчина попросив мого брата подивитися до його нового комп’ютера і це виявився щойно проданий мій – на материнській платі був характерний надлам. ↩
Сучасні плати для IBM PC/XT
Виявилося,нові плати оновлення та інше обладнання для ретрокомп’ютерів, розробляють та продають досі. При тому, IBM PC, певне, навіть не найпопулярніша платформа.
Коротко розповім про деякі плати, які або вже використовую, або хотів би мати – не намагаючись досягнути повноти. Власне, це було б важко – список лише на Tindie справляє враження.
AST Rampage
Огляд
Один із моїх улюблених костилів епохи IBM PC – EMS. Причому, її емуляція на 286+ – не так цікаво, хочеться для справжнього 8086/88-комп’ютера – IBM-XT-подібного. Плат із такою пам’яттю було помітно більше, ніж “Дивних плат оновлення”, тому придбати їх на ebay реально, хоча й вимагало певної терплячості, поки з’являється лоти із прийнятними цінами.
Моя AST Rampage. На фото – 256 Кб RAM. На жаль, роз’єм для Daughter board не розпаяний. |
Дивні плати оновлення із 1980-х
“DOS: Beyond 640K”
Останні роки, замість художньої літератури, часто читаю старі комп’ютерні книжки. Про деякі вже писав, про інші ще планую. Поміж них трапилася “DOS: Beyond 640K” by James S. Forney, 2nd ed., 1992 року. Читати її було жахливо. Автор знову і знову повторював одне і те ж, трішки різними словами, а коли дістало так, що написав комусь поскаржитися, на наступній сторінці автор буквально сказав: “Повторю ще раз” і скопіював попередній абзац. Навіщо ж я її читав? Це хороший спосіб зануритися в атмосферу тодішніх “персоналок” – часто дуже відмінну від сучасного світу.
Поміж іншого, там були описані плати оновлення (upgrade) для тогочасних комп’ютерів. І карти ті були настільки, для наших часів, незвичні, що я вирішив про них написати.
DOS
Compaq Portable III (з 286) та Portable 386
Знову ж, завдяки учаснику спільноти ретрокомп’ютерщиків – засновнику Віртуального музею комп’ютерного андеграунду маємо два варіанти Compaq Portable III, з 286 та Compaq Portable 386.
Перший мій, другий – Львівського Музею Комп’ютерних Технологій.
Вони дуже схожі, насправді. Згідно Вікі, компанія поспішала випустити на ринок портативний комп’ютер, а в наявності мала хіба материнські плати 286-го, тому спершу випустила варіант з ними, до готовності новішої плати. Тому, далі в тексті я буду їх розрізняти за типом процесора – 386 чи 286.
Обережно – далі 20 Мб фотографій, більшість з яких, на жаль, неякісні або й жахливі.
- Загальний опис
- Налаштування та продуктивність
- Досвід експлуатації
- Підсумок
- Посилання
- Виноски
Compaq Portable III, 286, фото з журналу “Australian Personal Computer”, Volume 8, Number 6, June 1987. Мій зараз помітно жовтіший. Зверніть увагу на розкладку клавіатури. |
Лептоп Tandy 1400 LT
Завдяки одному учаснику спільноти ретрокомп’ютерщиків у мене з’явився цей ноутбук, а завдяки іншому – він ще й запрацював! Оскільки машинка дуже мила, коротко розкажу про неї та покажу свої експерименти1. Забігаючи наперед, вдалося отримати 630 Кб вільної основної пам’яті – не так погано для системи без XMS чи EMS2, і це з завантаженим DOSKEY та драйвером мишки3.
Tandy 1400 LT, фото з вікі. |
- Апаратне забезпечення
- DOS
- UMB
- Приклади використання програмного забезпечення
- Підсумок
- Посилання
- Виноски
-
На жаль, традиційно, якість фото більш ніж сумнівна, але вибір – або такі, або взагалі ніякі, то я вирішив – хай будуть. ↩
-
Думаю, наступна ітерація буде про 8086 з EMS – видатний ж костиль, а потім – 286 з ним же. ↩
-
Чітерство, зізнаюся, як в рекламі солі без ГМО – якщо є UMB, все що у ній, не займатиме основної пам’яті. ↩
Пошук-1
Моїм першим комп’ютером був “Пошук-1”1. В середині 90-х, навіть у нас, це була глибоко застаріла машина. Тому, про Pentium MMX-200, який з’явився в 1999-му2, часто кажу “мій перший справжній комп’ютер”. Але і з “Пошуком-1” пов’язано багато спогадів – перші спроби бути користувачем, перші спроби програмувати, колупатися в файлових системах, писати віруси тощо.
Написано про цю машину немало: wiki і посилання там, зокрема: “ПК Поиск” та всілякий софт – поки до того навряд чи зможу щось додати, тому пост – більше ностальгічний.
-
Купили в 1994, ввімкнути його вдалося в 1995 і до 1999 він залишався єдиним. ↩
-
Він глючив – за використання відеорежимів за межами стандартних VGA, регулярно в Blue screen вилітав. Тому, коли з’явився потужніший, продав його. Жив тоді у Жидачеві, продав у Львові. Було дуже кумедно, коли, через кілька тижнів, сусідських хлопчина попросив мого брата подивитися до його нового комп’ютера і це виявився щойно проданий мій – на материнській платі був характерний надлам. ↩
Сучасні плати для IBM PC/XT
Виявилося,нові плати оновлення та інше обладнання для ретрокомп’ютерів, розробляють та продають досі. При тому, IBM PC, певне, навіть не найпопулярніша платформа.
Коротко розповім про деякі плати, які або вже використовую, або хотів би мати – не намагаючись досягнути повноти. Власне, це було б важко – список лише на Tindie справляє враження.
AST Rampage
Огляд
Один із моїх улюблених костилів епохи IBM PC – EMS. Причому, її емуляція на 286+ – не так цікаво, хочеться для справжнього 8086/88-комп’ютера – IBM-XT-подібного. Плат із такою пам’яттю було помітно більше, ніж “Дивних плат оновлення”, тому придбати їх на ebay реально, хоча й вимагало певної терплячості, поки з’являється лоти із прийнятними цінами.
Моя AST Rampage. На фото – 256 Кб RAM. На жаль, роз’єм для Daughter board не розпаяний. |
Дивні плати оновлення із 1980-х
“DOS: Beyond 640K”
Останні роки, замість художньої літератури, часто читаю старі комп’ютерні книжки. Про деякі вже писав, про інші ще планую. Поміж них трапилася “DOS: Beyond 640K” by James S. Forney, 2nd ed., 1992 року. Читати її було жахливо. Автор знову і знову повторював одне і те ж, трішки різними словами, а коли дістало так, що написав комусь поскаржитися, на наступній сторінці автор буквально сказав: “Повторю ще раз” і скопіював попередній абзац. Навіщо ж я її читав? Це хороший спосіб зануритися в атмосферу тодішніх “персоналок” – часто дуже відмінну від сучасного світу.
Поміж іншого, там були описані плати оновлення (upgrade) для тогочасних комп’ютерів. І карти ті були настільки, для наших часів, незвичні, що я вирішив про них написати.
Z80
Дебагери для CP/M та Osborne Executive
Короткий огляд дебагерів, з якими зіткнувся, поки експериментував із асемблерами – не прагнучи до повноти.
Інструменти програмування на асемблері для CP/M та Osborne Executive
- Огляд
- CP/M Macro Assembler
- CP/M Assembler
- CP/M Relocatable Macro Assembler
- Microsoft M80
- SLR Systems Z80ASM
- 2500 A.D. SOFTWARE ASM
- MITEK Relocating Macro Assembler
- ZSM / Z80ASMUK
- Підсумок
- Додаток – образи дисків, використані в цьому пості
- Додаток – порівняння мнемонік Z80 та i8080
- Виноски
Огляд
CP/M існує для кількох сімейств процесорів. Поміж восьмибітових це Z80, i8080 та i8085. Для випробувань асемблерів використовую два варіанти – чисто для i8080 і з мнемоніками Z80. Різниця між їх системами команд та мнемоніками описана, наприклад, в: “8080A/Z80 compatibility”.
Приклад, на якому буду випробовувати – тривіальний ‘‘Hello, world’’, який виводить текст за допомогою славнозвісний1 системний виклик 9 – ‘‘Output string’’, код якого передається регістром C, адреса стрічки в DE, а стрічка має закінчуватися символом ‘$’.
-
'’Ask Bill [Gates] why the string in [MS-DOS] function 9 is terminated by a dollar sign. Ask him, because he can’t answer. Only I know that.’’, цитуючи за “Bill Gates: Of Mind and Money”, “Seattle Post-Intelligencer” Newspaper, May 8, 1991. Цей системний виклик з 1970-х, відтворений DOS 1.00 в 1981, все ще вивчали в деяких провідних ВИШах не пізніше 2020-го… ↩
MAME – емулятор взагалі всього, включаючи Осборни
MAME
Шукав емулятори для Osborne, спеціалізованих не знайшов, але виявив, що MAME їх підтримує. Трохи недолюблюю цей емулятор1, але корисність його беззаперечна!
Osborne 1 підтримується нормально. Osborne Executive помічено як такий, що не працює, але, хоча у нього є свої проблеми2, в цілому – використовувати можна. Osborne Vixen теж підтримується, хоча ретельно не тестував.
Портативні комп’ютери Osborne
Огляд
Osborne Executive – нащадок Osborne 1, який вважають першим масовим портативним комп’ютером. Як компроміс між переписуванням із відкритих джерел і бажанням мати всю необхідну інформацію під руками, наведу тут лише основні характеристики – найбільш загальні, або ті, що знадобилися в процесі роботи.
методичка
Підходи до керування буферами в API різних операційних систем
Розповідаю студентам про низькорівневі API POSIX-сумісних систем – системні виклики та функції libc. Для порівняння зачіпаю підходи MS Windows та FreeRTOS. Та й місцями сам дивуюся зоопарку різноманітних непослідовностей у цих засобах. Більшість зумовлені історичними причинами разом із потребою підтримувати зворотну сумісність, частина – технічними, які я не розумію через недостатній досвід у відповідних сферах1, щось ще, певне, аналогом дрейфу генів із теорії еволюції…
Один із найпрямолінійніших прикладів такої заплутаності – менеджмент пам’яті під буфер, де операційна система (ОС) має покласти якусь інформацію. Розповідаючи про функції нижче, наголошую студентам – завчати нюанси конкретних функцій не потрібно. Якщо будете щодня з тим стикатися – саме осяде в голові. Пам’ятайте спектр ідей – щоб розуміти прочитане правильно (а не додумувати згідно своїх фантазій – поширена цитата: “я думав/ла воно ж само якось виділить/звільнить/знайде?”) та обов’язково звіряйтеся із документацією. Але після підготовки до відповідних пар вирішив, свіжими слідами, записати типові приклади.
-
Книга Brian Kernighan “UNIX: A History and a Memoir”, 2019 трохи прояснила деякі нюанси. Все ж, в цікаві часи живемо – творці технологій, письменники та науковці, чиї твори та відкриття формували той світ із яким я, та багато хто із мого оточення, взаємодіють, часто ще живі. Керніган книгу спогадів випустив, Том Рей (так, я нахабно хвалюся) відгук на роботу моєму дипломнику написав – про цю роботу ще писатиму, студентка враженнями від спілкування із Tim Berners-Lee ділиться тощо Однак, повчальнішими є технічні книжки тих часів. Charles Petzold, “Programming Windows” 1988-го року – ще про Windows 2.0, разом із “Extending DOS” by Ray Duncan et. al” та “Эндрю Шульман – Неофициальная Windows 95”, “The Old New Thing” від Raymond Chen і парою книг про OS/2, сильно прояснюють, чому MS Windows є таким, як є. Старі видання Таненбаума та “Operating systems” by Harvey Deitel and Paul Deitel, прояснили те ж стосовно інших ОС (зрозуміло – менш глибоко). Читається, як художні (історично-детективні) романи – коли вже твердо знаєш, що було далі. Іноді хочеться посміятися над наївністю, але частіше дивуєшся прозорливістю – коли пишуть щось, що через десяток років назвали новим проривом. Або коли бачиш (поза-)попередній виток спіралі технологій – типу обіцянки штучного інтелекту, голосових інтерфейсів та розпізнання мови, автоматичних перекладачів у книжках 60-х. Головне, написано дуже схоже на тексти в сучасних. Приклад: “Дитяча енциклопедія, том 03, числа і фігури, речовина і енергія”, 1959 російською/1963 українською, розділ про ЕОМ. Хоча, аж зараз, здається, ці обіцянки стають реальністю. ↩
Огляд floating point – комп’ютерних чисел з рухомою крапкою
- Ілюстрації проблеми
- Комп’ютерні дробові числа
- IEEE 754
- IEEE 754 в програмуванні
- FP8
- Підсумок
- Додатки
- Посилання
- Виноски
Floating point numbers – числа із рухомою крапкою1. Давайте розглянемо, як їх представляють в комп’ютерах і які це має наслідки для обчислень.
Ілюстрації проблеми
Рекурентна послідовність Мюллера
Перш ніж перейти до подробиць, спробуйте обчислити таку рекурентну послідовність, де всі змінні – floating point2, з допомогою будь-якої мови програмування – Python, C, C++, Rust, Lua тощо:
fn(x, y) := 108 - (815 - 1500/y)/x
v_0 = 4
v_1 = 4.25
v_i = fn(v_{i-1}, v_{i-2})
Чергове збочене використання С++
Прикол
Люблю С++, використовую її цілу вічність, викладаю тривалий час. Звичайно, усвідомлюю недоліки – як то кажуть, “ти змушуєш мою голову битися частіше”, періодами за це ненавиджу. Але, все ж, значна частина складнощів – не через саму мову. Свій вклад дає давня історія, багаж зворотної сумісності і безлічі застарілих практик1. Однак, підозрюю, вагому роль відіграє також щось схоже на переляк – внаслідок заплутаності через складність мови і безлічі правил.
Наштовхнув мене на цю думку код, який трапився в дипломній роботі мого студента – дуже потужного.
-
Останніх особливо важко позбутися – через безліч згадок в Інтернеті, відсутність потреби оновлювати свої знання в багатьох досвідчених розробників, та й через згадану зворотну сумісність. ↩
86-DOS
SYS.COM з 86-DOS 1.10
Поки возився з SYS.COM з 86-DOS версій 0.11 та 0.34, випадково дизасемблював цю ж утиліту з 86-DOS 1.10. Тож, вирішив доповнити колекцію статей про неї.
SYS.COM з 86-DOS 0.11 та 0.34
Насправді, ця стаття – трішки обман. Все почалося з того, що до 86-DOS я поліз, щоб глянути на їх SYS.COM, який багато раз дизасемблював для різних версій MS/PC-DOS.
86-DOS 0.11 та 0.34
Знайдені нові старі версії 86-DOS – 0.11 та 0.34, спричинили цілу хвилю публікацій. Десь на десятку побачених, вирішив і я спробувати їх.
Osborne
MAME – емулятор взагалі всього, включаючи Осборни
MAME
Шукав емулятори для Osborne, спеціалізованих не знайшов, але виявив, що MAME їх підтримує. Трохи недолюблюю цей емулятор1, але корисність його беззаперечна!
Osborne 1 підтримується нормально. Osborne Executive помічено як такий, що не працює, але, хоча у нього є свої проблеми2, в цілому – використовувати можна. Osborne Vixen теж підтримується, хоча ретельно не тестував.
Портативні комп’ютери Osborne
Огляд
Osborne Executive – нащадок Osborne 1, який вважають першим масовим портативним комп’ютером. Як компроміс між переписуванням із відкритих джерел і бажанням мати всю необхідну інформацію під руками, наведу тут лише основні характеристики – найбільш загальні, або ті, що знадобилися в процесі роботи.
asm
Дебагери для CP/M та Osborne Executive
Короткий огляд дебагерів, з якими зіткнувся, поки експериментував із асемблерами – не прагнучи до повноти.
Інструменти програмування на асемблері для CP/M та Osborne Executive
- Огляд
- CP/M Macro Assembler
- CP/M Assembler
- CP/M Relocatable Macro Assembler
- Microsoft M80
- SLR Systems Z80ASM
- 2500 A.D. SOFTWARE ASM
- MITEK Relocating Macro Assembler
- ZSM / Z80ASMUK
- Підсумок
- Додаток – образи дисків, використані в цьому пості
- Додаток – порівняння мнемонік Z80 та i8080
- Виноски
Огляд
CP/M існує для кількох сімейств процесорів. Поміж восьмибітових це Z80, i8080 та i8085. Для випробувань асемблерів використовую два варіанти – чисто для i8080 і з мнемоніками Z80. Різниця між їх системами команд та мнемоніками описана, наприклад, в: “8080A/Z80 compatibility”.
Приклад, на якому буду випробовувати – тривіальний ‘‘Hello, world’’, який виводить текст за допомогою славнозвісний1 системний виклик 9 – ‘‘Output string’’, код якого передається регістром C, адреса стрічки в DE, а стрічка має закінчуватися символом ‘$’.
-
'’Ask Bill [Gates] why the string in [MS-DOS] function 9 is terminated by a dollar sign. Ask him, because he can’t answer. Only I know that.’’, цитуючи за “Bill Gates: Of Mind and Money”, “Seattle Post-Intelligencer” Newspaper, May 8, 1991. Цей системний виклик з 1970-х, відтворений DOS 1.00 в 1981, все ще вивчали в деяких провідних ВИШах не пізніше 2020-го… ↩
i8080
Дебагери для CP/M та Osborne Executive
Короткий огляд дебагерів, з якими зіткнувся, поки експериментував із асемблерами – не прагнучи до повноти.
Інструменти програмування на асемблері для CP/M та Osborne Executive
- Огляд
- CP/M Macro Assembler
- CP/M Assembler
- CP/M Relocatable Macro Assembler
- Microsoft M80
- SLR Systems Z80ASM
- 2500 A.D. SOFTWARE ASM
- MITEK Relocating Macro Assembler
- ZSM / Z80ASMUK
- Підсумок
- Додаток – образи дисків, використані в цьому пості
- Додаток – порівняння мнемонік Z80 та i8080
- Виноски
Огляд
CP/M існує для кількох сімейств процесорів. Поміж восьмибітових це Z80, i8080 та i8085. Для випробувань асемблерів використовую два варіанти – чисто для i8080 і з мнемоніками Z80. Різниця між їх системами команд та мнемоніками описана, наприклад, в: “8080A/Z80 compatibility”.
Приклад, на якому буду випробовувати – тривіальний ‘‘Hello, world’’, який виводить текст за допомогою славнозвісний1 системний виклик 9 – ‘‘Output string’’, код якого передається регістром C, адреса стрічки в DE, а стрічка має закінчуватися символом ‘$’.
-
'’Ask Bill [Gates] why the string in [MS-DOS] function 9 is terminated by a dollar sign. Ask him, because he can’t answer. Only I know that.’’, цитуючи за “Bill Gates: Of Mind and Money”, “Seattle Post-Intelligencer” Newspaper, May 8, 1991. Цей системний виклик з 1970-х, відтворений DOS 1.00 в 1981, все ще вивчали в деяких провідних ВИШах не пізніше 2020-го… ↩
SYS.COM
SYS.COM з 86-DOS 1.10
Поки возився з SYS.COM з 86-DOS версій 0.11 та 0.34, випадково дизасемблював цю ж утиліту з 86-DOS 1.10. Тож, вирішив доповнити колекцію статей про неї.
SYS.COM з 86-DOS 0.11 та 0.34
Насправді, ця стаття – трішки обман. Все почалося з того, що до 86-DOS я поліз, щоб глянути на їх SYS.COM, який багато раз дизасемблював для різних версій MS/PC-DOS.
фізика
Мюонна аномалія
Причепилися тут недавно до бідних мюонів, а в мене все руки не доходили написати… Постараюся максимально коротко.
Цей текст взято з поста в Facebook з мінімальними змінами, тому дату поставив відповідну.
популяризація
Мюонна аномалія
Причепилися тут недавно до бідних мюонів, а в мене все руки не доходили написати… Постараюся максимально коротко.
Цей текст взято з поста в Facebook з мінімальними змінами, тому дату поставив відповідну.
disk images
Робота із образами дисків CP/M
Огляд проблеми
IBM PC-сумісні комп’ютери1 трохи стандартизували формати дискет, тому, для комп’ютерів цієї епохи домінують побайтові образи – й так зрозуміло, що сектор 512 байт, формат визначається BPB у бут-секторі, а де не визначається (для дисків епохи DOS 1.xx) – можна вгадати за розміром. Ілюстрація – плагін для Total Commander-а, який працює лише із ‘‘плоскими’’ образами, відкриває абсолютну більшість образів дискет, скачаних із сайтів з ретро-софтом.
Звичайно, залишалися нестандартні формати, дискети із захистом від копіювання, формати інших операційних систем – не сімейства MS-DOS і похідних від них. Завдяки низькорівневій природі апаратури дисководів, можливими були безліч варіацій. Для роботи із ними було створено спеціалізоване програмне забезпечення. Великого поширення набули Teledisk (типове розширення .td0) та Imagedisk (.imd) – у своїх образах вони зберігають службову інформацію, дозволяючи відтворити такі ‘‘хитрі’’ образи2.
Однак, із CP/M ситуація інша. Різні комп’ютери обладнувалися різними, часто не сумісними між собою, дисководами. Вони різні за розміром – 8”, 5.25”, 3.5”, 3”; різні за принципами – soft sectors vs hard sectors; кількістю сторін (іншими словами – магнітних голівок), кількістю треків, розміром секторів, skewing-ом тощо.
-
Писав трішки про початок цієї епохи: MS/PC DOS 1.0, MS/PC DOS 1.XX в емуляторах, MS/PC DOS 1.XX “Ось ти який, північний олень!”, DOS FCB. ↩
-
Заради лаконічності, і щоб не втонути у настільки широкій темі, свідомо дуже спрощую. В сучасному світі за подробицями можна заглянути сюди, сюди або сюди, чи, хоча б, на Wiki та глави ‘‘Sector-level organization’’ і ‘‘Floppy disk representation’’ інструкції MAME. На щастя, з Осборном так низько (по рівнях абстракції) опускатися не довелося ↩
.IMD
Робота із образами дисків CP/M
Огляд проблеми
IBM PC-сумісні комп’ютери1 трохи стандартизували формати дискет, тому, для комп’ютерів цієї епохи домінують побайтові образи – й так зрозуміло, що сектор 512 байт, формат визначається BPB у бут-секторі, а де не визначається (для дисків епохи DOS 1.xx) – можна вгадати за розміром. Ілюстрація – плагін для Total Commander-а, який працює лише із ‘‘плоскими’’ образами, відкриває абсолютну більшість образів дискет, скачаних із сайтів з ретро-софтом.
Звичайно, залишалися нестандартні формати, дискети із захистом від копіювання, формати інших операційних систем – не сімейства MS-DOS і похідних від них. Завдяки низькорівневій природі апаратури дисководів, можливими були безліч варіацій. Для роботи із ними було створено спеціалізоване програмне забезпечення. Великого поширення набули Teledisk (типове розширення .td0) та Imagedisk (.imd) – у своїх образах вони зберігають службову інформацію, дозволяючи відтворити такі ‘‘хитрі’’ образи2.
Однак, із CP/M ситуація інша. Різні комп’ютери обладнувалися різними, часто не сумісними між собою, дисководами. Вони різні за розміром – 8”, 5.25”, 3.5”, 3”; різні за принципами – soft sectors vs hard sectors; кількістю сторін (іншими словами – магнітних голівок), кількістю треків, розміром секторів, skewing-ом тощо.
-
Писав трішки про початок цієї епохи: MS/PC DOS 1.0, MS/PC DOS 1.XX в емуляторах, MS/PC DOS 1.XX “Ось ти який, північний олень!”, DOS FCB. ↩
-
Заради лаконічності, і щоб не втонути у настільки широкій темі, свідомо дуже спрощую. В сучасному світі за подробицями можна заглянути сюди, сюди або сюди, чи, хоча б, на Wiki та глави ‘‘Sector-level organization’’ і ‘‘Floppy disk representation’’ інструкції MAME. На щастя, з Осборном так низько (по рівнях абстракції) опускатися не довелося ↩
cpmtool
Робота із образами дисків CP/M
Огляд проблеми
IBM PC-сумісні комп’ютери1 трохи стандартизували формати дискет, тому, для комп’ютерів цієї епохи домінують побайтові образи – й так зрозуміло, що сектор 512 байт, формат визначається BPB у бут-секторі, а де не визначається (для дисків епохи DOS 1.xx) – можна вгадати за розміром. Ілюстрація – плагін для Total Commander-а, який працює лише із ‘‘плоскими’’ образами, відкриває абсолютну більшість образів дискет, скачаних із сайтів з ретро-софтом.
Звичайно, залишалися нестандартні формати, дискети із захистом від копіювання, формати інших операційних систем – не сімейства MS-DOS і похідних від них. Завдяки низькорівневій природі апаратури дисководів, можливими були безліч варіацій. Для роботи із ними було створено спеціалізоване програмне забезпечення. Великого поширення набули Teledisk (типове розширення .td0) та Imagedisk (.imd) – у своїх образах вони зберігають службову інформацію, дозволяючи відтворити такі ‘‘хитрі’’ образи2.
Однак, із CP/M ситуація інша. Різні комп’ютери обладнувалися різними, часто не сумісними між собою, дисководами. Вони різні за розміром – 8”, 5.25”, 3.5”, 3”; різні за принципами – soft sectors vs hard sectors; кількістю сторін (іншими словами – магнітних голівок), кількістю треків, розміром секторів, skewing-ом тощо.
-
Писав трішки про початок цієї епохи: MS/PC DOS 1.0, MS/PC DOS 1.XX в емуляторах, MS/PC DOS 1.XX “Ось ти який, північний олень!”, DOS FCB. ↩
-
Заради лаконічності, і щоб не втонути у настільки широкій темі, свідомо дуже спрощую. В сучасному світі за подробицями можна заглянути сюди, сюди або сюди, чи, хоча б, на Wiki та глави ‘‘Sector-level organization’’ і ‘‘Floppy disk representation’’ інструкції MAME. На щастя, з Осборном так низько (по рівнях абстракції) опускатися не довелося ↩
libdsk
Робота із образами дисків CP/M
Огляд проблеми
IBM PC-сумісні комп’ютери1 трохи стандартизували формати дискет, тому, для комп’ютерів цієї епохи домінують побайтові образи – й так зрозуміло, що сектор 512 байт, формат визначається BPB у бут-секторі, а де не визначається (для дисків епохи DOS 1.xx) – можна вгадати за розміром. Ілюстрація – плагін для Total Commander-а, який працює лише із ‘‘плоскими’’ образами, відкриває абсолютну більшість образів дискет, скачаних із сайтів з ретро-софтом.
Звичайно, залишалися нестандартні формати, дискети із захистом від копіювання, формати інших операційних систем – не сімейства MS-DOS і похідних від них. Завдяки низькорівневій природі апаратури дисководів, можливими були безліч варіацій. Для роботи із ними було створено спеціалізоване програмне забезпечення. Великого поширення набули Teledisk (типове розширення .td0) та Imagedisk (.imd) – у своїх образах вони зберігають службову інформацію, дозволяючи відтворити такі ‘‘хитрі’’ образи2.
Однак, із CP/M ситуація інша. Різні комп’ютери обладнувалися різними, часто не сумісними між собою, дисководами. Вони різні за розміром – 8”, 5.25”, 3.5”, 3”; різні за принципами – soft sectors vs hard sectors; кількістю сторін (іншими словами – магнітних голівок), кількістю треків, розміром секторів, skewing-ом тощо.
-
Писав трішки про початок цієї епохи: MS/PC DOS 1.0, MS/PC DOS 1.XX в емуляторах, MS/PC DOS 1.XX “Ось ти який, північний олень!”, DOS FCB. ↩
-
Заради лаконічності, і щоб не втонути у настільки широкій темі, свідомо дуже спрощую. В сучасному світі за подробицями можна заглянути сюди, сюди або сюди, чи, хоча б, на Wiki та глави ‘‘Sector-level organization’’ і ‘‘Floppy disk representation’’ інструкції MAME. На щастя, з Осборном так низько (по рівнях абстракції) опускатися не довелося ↩
MAME
MAME – емулятор взагалі всього, включаючи Осборни
MAME
Шукав емулятори для Osborne, спеціалізованих не знайшов, але виявив, що MAME їх підтримує. Трохи недолюблюю цей емулятор1, але корисність його беззаперечна!
Osborne 1 підтримується нормально. Osborne Executive помічено як такий, що не працює, але, хоча у нього є свої проблеми2, в цілому – використовувати можна. Osborne Vixen теж підтримується, хоча ретельно не тестував.
MyZ80
Інші емулятори CP/M систем
Інші цікаві емулятори, з якими експериментував менше.
Altair32
Інші емулятори CP/M систем
Інші цікаві емулятори, з якими експериментував менше.
Altair 8800
Інші емулятори CP/M систем
Інші цікаві емулятори, з якими експериментував менше.
links
Посилання стосовно CP/M
Поки менш-більш хаотично – оскільки не раз доводилося їх знову і знову шукати, але колись може впорядкую.
te
Текстовий редактор te
- te
- Портування te під Osborne Executive
- Портування te під Osborne 1
- Компілювання te
- Особливості te
- Виноски
te
Важливий інструмент для ‘‘реконструкторських’’ експериментів – текстовий редактор. Працювати з ED.COM я поки не готовий. Хоча редагувати файли із кодом можна в WordStar – кажуть, у свій час його для того і використовували, мені не дуже сподобалося – він громіздкий. Пошуки виявили сучасну альтернативу – текстовий редактор te для CP/M, від MiguelVis – великого ентузіаста CP/M.
debugger
Дебагери для CP/M та Osborne Executive
Короткий огляд дебагерів, з якими зіткнувся, поки експериментував із асемблерами – не прагнучи до повноти.
COBOL
COBOL під CP/M на Osborne Executive
- Огляд
- Microsoft COBOL
- Micro Focus COBOL
- Nevada COBOL
- Підсумок
- Додаток – образи дисків, використані в цьому пості
- Виноски
Огляд
COBOL – мова дуже давня, але асоціюється з великими машинами, тому для мене було великим сюрпризом зустріти її для CP/M і комп’ютерів класу Osborne.
C++
Чергове збочене використання С++
Прикол
Люблю С++, використовую її цілу вічність, викладаю тривалий час. Звичайно, усвідомлюю недоліки – як то кажуть, “ти змушуєш мою голову битися частіше”, періодами за це ненавиджу. Але, все ж, значна частина складнощів – не через саму мову. Свій вклад дає давня історія, багаж зворотної сумісності і безлічі застарілих практик1. Однак, підозрюю, вагому роль відіграє також щось схоже на переляк – внаслідок заплутаності через складність мови і безлічі правил.
Наштовхнув мене на цю думку код, який трапився в дипломній роботі мого студента – дуже потужного.
-
Останніх особливо важко позбутися – через безліч згадок в Інтернеті, відсутність потреби оновлювати свої знання в багатьох досвідчених розробників, та й через згадану зворотну сумісність. ↩
онлайн інструменти
Чергове збочене використання С++
Прикол
Люблю С++, використовую її цілу вічність, викладаю тривалий час. Звичайно, усвідомлюю недоліки – як то кажуть, “ти змушуєш мою голову битися частіше”, періодами за це ненавиджу. Але, все ж, значна частина складнощів – не через саму мову. Свій вклад дає давня історія, багаж зворотної сумісності і безлічі застарілих практик1. Однак, підозрюю, вагому роль відіграє також щось схоже на переляк – внаслідок заплутаності через складність мови і безлічі правил.
Наштовхнув мене на цю думку код, який трапився в дипломній роботі мого студента – дуже потужного.
-
Останніх особливо важко позбутися – через безліч згадок в Інтернеті, відсутність потреби оновлювати свої знання в багатьох досвідчених розробників, та й через згадану зворотну сумісність. ↩
прикол
Чергове збочене використання С++
Прикол
Люблю С++, використовую її цілу вічність, викладаю тривалий час. Звичайно, усвідомлюю недоліки – як то кажуть, “ти змушуєш мою голову битися частіше”, періодами за це ненавиджу. Але, все ж, значна частина складнощів – не через саму мову. Свій вклад дає давня історія, багаж зворотної сумісності і безлічі застарілих практик1. Однак, підозрюю, вагому роль відіграє також щось схоже на переляк – внаслідок заплутаності через складність мови і безлічі правил.
Наштовхнув мене на цю думку код, який трапився в дипломній роботі мого студента – дуже потужного.
-
Останніх особливо важко позбутися – через безліч згадок в Інтернеті, відсутність потреби оновлювати свої знання в багатьох досвідчених розробників, та й через згадану зворотну сумісність. ↩
floating point
Огляд floating point – комп’ютерних чисел з рухомою крапкою
- Ілюстрації проблеми
- Комп’ютерні дробові числа
- IEEE 754
- IEEE 754 в програмуванні
- FP8
- Підсумок
- Додатки
- Посилання
- Виноски
Floating point numbers – числа із рухомою крапкою1. Давайте розглянемо, як їх представляють в комп’ютерах і які це має наслідки для обчислень.
Ілюстрації проблеми
Рекурентна послідовність Мюллера
Перш ніж перейти до подробиць, спробуйте обчислити таку рекурентну послідовність, де всі змінні – floating point2, з допомогою будь-якої мови програмування – Python, C, C++, Rust, Lua тощо:
fn(x, y) := 108 - (815 - 1500/y)/x
v_0 = 4
v_1 = 4.25
v_i = fn(v_{i-1}, v_{i-2})
float
Огляд floating point – комп’ютерних чисел з рухомою крапкою
- Ілюстрації проблеми
- Комп’ютерні дробові числа
- IEEE 754
- IEEE 754 в програмуванні
- FP8
- Підсумок
- Додатки
- Посилання
- Виноски
Floating point numbers – числа із рухомою крапкою1. Давайте розглянемо, як їх представляють в комп’ютерах і які це має наслідки для обчислень.
Ілюстрації проблеми
Рекурентна послідовність Мюллера
Перш ніж перейти до подробиць, спробуйте обчислити таку рекурентну послідовність, де всі змінні – floating point2, з допомогою будь-якої мови програмування – Python, C, C++, Rust, Lua тощо:
fn(x, y) := 108 - (815 - 1500/y)/x
v_0 = 4
v_1 = 4.25
v_i = fn(v_{i-1}, v_{i-2})
double
Огляд floating point – комп’ютерних чисел з рухомою крапкою
- Ілюстрації проблеми
- Комп’ютерні дробові числа
- IEEE 754
- IEEE 754 в програмуванні
- FP8
- Підсумок
- Додатки
- Посилання
- Виноски
Floating point numbers – числа із рухомою крапкою1. Давайте розглянемо, як їх представляють в комп’ютерах і які це має наслідки для обчислень.
Ілюстрації проблеми
Рекурентна послідовність Мюллера
Перш ніж перейти до подробиць, спробуйте обчислити таку рекурентну послідовність, де всі змінні – floating point2, з допомогою будь-якої мови програмування – Python, C, C++, Rust, Lua тощо:
fn(x, y) := 108 - (815 - 1500/y)/x
v_0 = 4
v_1 = 4.25
v_i = fn(v_{i-1}, v_{i-2})
FP8
Огляд floating point – комп’ютерних чисел з рухомою крапкою
- Ілюстрації проблеми
- Комп’ютерні дробові числа
- IEEE 754
- IEEE 754 в програмуванні
- FP8
- Підсумок
- Додатки
- Посилання
- Виноски
Floating point numbers – числа із рухомою крапкою1. Давайте розглянемо, як їх представляють в комп’ютерах і які це має наслідки для обчислень.
Ілюстрації проблеми
Рекурентна послідовність Мюллера
Перш ніж перейти до подробиць, спробуйте обчислити таку рекурентну послідовність, де всі змінні – floating point2, з допомогою будь-якої мови програмування – Python, C, C++, Rust, Lua тощо:
fn(x, y) := 108 - (815 - 1500/y)/x
v_0 = 4
v_1 = 4.25
v_i = fn(v_{i-1}, v_{i-2})
IEEE 754
Огляд floating point – комп’ютерних чисел з рухомою крапкою
- Ілюстрації проблеми
- Комп’ютерні дробові числа
- IEEE 754
- IEEE 754 в програмуванні
- FP8
- Підсумок
- Додатки
- Посилання
- Виноски
Floating point numbers – числа із рухомою крапкою1. Давайте розглянемо, як їх представляють в комп’ютерах і які це має наслідки для обчислень.
Ілюстрації проблеми
Рекурентна послідовність Мюллера
Перш ніж перейти до подробиць, спробуйте обчислити таку рекурентну послідовність, де всі змінні – floating point2, з допомогою будь-якої мови програмування – Python, C, C++, Rust, Lua тощо:
fn(x, y) := 108 - (815 - 1500/y)/x
v_0 = 4
v_1 = 4.25
v_i = fn(v_{i-1}, v_{i-2})
керування ресурсами
Підходи до керування буферами в API різних операційних систем
Розповідаю студентам про низькорівневі API POSIX-сумісних систем – системні виклики та функції libc. Для порівняння зачіпаю підходи MS Windows та FreeRTOS. Та й місцями сам дивуюся зоопарку різноманітних непослідовностей у цих засобах. Більшість зумовлені історичними причинами разом із потребою підтримувати зворотну сумісність, частина – технічними, які я не розумію через недостатній досвід у відповідних сферах1, щось ще, певне, аналогом дрейфу генів із теорії еволюції…
Один із найпрямолінійніших прикладів такої заплутаності – менеджмент пам’яті під буфер, де операційна система (ОС) має покласти якусь інформацію. Розповідаючи про функції нижче, наголошую студентам – завчати нюанси конкретних функцій не потрібно. Якщо будете щодня з тим стикатися – саме осяде в голові. Пам’ятайте спектр ідей – щоб розуміти прочитане правильно (а не додумувати згідно своїх фантазій – поширена цитата: “я думав/ла воно ж само якось виділить/звільнить/знайде?”) та обов’язково звіряйтеся із документацією. Але після підготовки до відповідних пар вирішив, свіжими слідами, записати типові приклади.
-
Книга Brian Kernighan “UNIX: A History and a Memoir”, 2019 трохи прояснила деякі нюанси. Все ж, в цікаві часи живемо – творці технологій, письменники та науковці, чиї твори та відкриття формували той світ із яким я, та багато хто із мого оточення, взаємодіють, часто ще живі. Керніган книгу спогадів випустив, Том Рей (так, я нахабно хвалюся) відгук на роботу моєму дипломнику написав – про цю роботу ще писатиму, студентка враженнями від спілкування із Tim Berners-Lee ділиться тощо Однак, повчальнішими є технічні книжки тих часів. Charles Petzold, “Programming Windows” 1988-го року – ще про Windows 2.0, разом із “Extending DOS” by Ray Duncan et. al” та “Эндрю Шульман – Неофициальная Windows 95”, “The Old New Thing” від Raymond Chen і парою книг про OS/2, сильно прояснюють, чому MS Windows є таким, як є. Старі видання Таненбаума та “Operating systems” by Harvey Deitel and Paul Deitel, прояснили те ж стосовно інших ОС (зрозуміло – менш глибоко). Читається, як художні (історично-детективні) романи – коли вже твердо знаєш, що було далі. Іноді хочеться посміятися над наївністю, але частіше дивуєшся прозорливістю – коли пишуть щось, що через десяток років назвали новим проривом. Або коли бачиш (поза-)попередній виток спіралі технологій – типу обіцянки штучного інтелекту, голосових інтерфейсів та розпізнання мови, автоматичних перекладачів у книжках 60-х. Головне, написано дуже схоже на тексти в сучасних. Приклад: “Дитяча енциклопедія, том 03, числа і фігури, речовина і енергія”, 1959 російською/1963 українською, розділ про ЕОМ. Хоча, аж зараз, здається, ці обіцянки стають реальністю. ↩
керування пам'яттю
Підходи до керування буферами в API різних операційних систем
Розповідаю студентам про низькорівневі API POSIX-сумісних систем – системні виклики та функції libc. Для порівняння зачіпаю підходи MS Windows та FreeRTOS. Та й місцями сам дивуюся зоопарку різноманітних непослідовностей у цих засобах. Більшість зумовлені історичними причинами разом із потребою підтримувати зворотну сумісність, частина – технічними, які я не розумію через недостатній досвід у відповідних сферах1, щось ще, певне, аналогом дрейфу генів із теорії еволюції…
Один із найпрямолінійніших прикладів такої заплутаності – менеджмент пам’яті під буфер, де операційна система (ОС) має покласти якусь інформацію. Розповідаючи про функції нижче, наголошую студентам – завчати нюанси конкретних функцій не потрібно. Якщо будете щодня з тим стикатися – саме осяде в голові. Пам’ятайте спектр ідей – щоб розуміти прочитане правильно (а не додумувати згідно своїх фантазій – поширена цитата: “я думав/ла воно ж само якось виділить/звільнить/знайде?”) та обов’язково звіряйтеся із документацією. Але після підготовки до відповідних пар вирішив, свіжими слідами, записати типові приклади.
-
Книга Brian Kernighan “UNIX: A History and a Memoir”, 2019 трохи прояснила деякі нюанси. Все ж, в цікаві часи живемо – творці технологій, письменники та науковці, чиї твори та відкриття формували той світ із яким я, та багато хто із мого оточення, взаємодіють, часто ще живі. Керніган книгу спогадів випустив, Том Рей (так, я нахабно хвалюся) відгук на роботу моєму дипломнику написав – про цю роботу ще писатиму, студентка враженнями від спілкування із Tim Berners-Lee ділиться тощо Однак, повчальнішими є технічні книжки тих часів. Charles Petzold, “Programming Windows” 1988-го року – ще про Windows 2.0, разом із “Extending DOS” by Ray Duncan et. al” та “Эндрю Шульман – Неофициальная Windows 95”, “The Old New Thing” від Raymond Chen і парою книг про OS/2, сильно прояснюють, чому MS Windows є таким, як є. Старі видання Таненбаума та “Operating systems” by Harvey Deitel and Paul Deitel, прояснили те ж стосовно інших ОС (зрозуміло – менш глибоко). Читається, як художні (історично-детективні) романи – коли вже твердо знаєш, що було далі. Іноді хочеться посміятися над наївністю, але частіше дивуєшся прозорливістю – коли пишуть щось, що через десяток років назвали новим проривом. Або коли бачиш (поза-)попередній виток спіралі технологій – типу обіцянки штучного інтелекту, голосових інтерфейсів та розпізнання мови, автоматичних перекладачів у книжках 60-х. Головне, написано дуже схоже на тексти в сучасних. Приклад: “Дитяча енциклопедія, том 03, числа і фігури, речовина і енергія”, 1959 російською/1963 українською, розділ про ЕОМ. Хоча, аж зараз, здається, ці обіцянки стають реальністю. ↩
Пошук-1
Пошук-1
Моїм першим комп’ютером був “Пошук-1”1. В середині 90-х, навіть у нас, це була глибоко застаріла машина. Тому, про Pentium MMX-200, який з’явився в 1999-му2, часто кажу “мій перший справжній комп’ютер”. Але і з “Пошуком-1” пов’язано багато спогадів – перші спроби бути користувачем, перші спроби програмувати, колупатися в файлових системах, писати віруси тощо.
Написано про цю машину немало: wiki і посилання там, зокрема: “ПК Поиск” та всілякий софт – поки до того навряд чи зможу щось додати, тому пост – більше ностальгічний.
-
Купили в 1994, ввімкнути його вдалося в 1995 і до 1999 він залишався єдиним. ↩
-
Він глючив – за використання відеорежимів за межами стандартних VGA, регулярно в Blue screen вилітав. Тому, коли з’явився потужніший, продав його. Жив тоді у Жидачеві, продав у Львові. Було дуже кумедно, коли, через кілька тижнів, сусідських хлопчина попросив мого брата подивитися до його нового комп’ютера і це виявився щойно проданий мій – на материнській платі був характерний надлам. ↩
Tandy
Лептоп Tandy 1400 LT
Завдяки одному учаснику спільноти ретрокомп’ютерщиків у мене з’явився цей ноутбук, а завдяки іншому – він ще й запрацював! Оскільки машинка дуже мила, коротко розкажу про неї та покажу свої експерименти1. Забігаючи наперед, вдалося отримати 630 Кб вільної основної пам’яті – не так погано для системи без XMS чи EMS2, і це з завантаженим DOSKEY та драйвером мишки3.
Tandy 1400 LT, фото з вікі. |
- Апаратне забезпечення
- DOS
- UMB
- Приклади використання програмного забезпечення
- Підсумок
- Посилання
- Виноски
-
На жаль, традиційно, якість фото більш ніж сумнівна, але вибір – або такі, або взагалі ніякі, то я вирішив – хай будуть. ↩
-
Думаю, наступна ітерація буде про 8086 з EMS – видатний ж костиль, а потім – 286 з ним же. ↩
-
Чітерство, зізнаюся, як в рекламі солі без ГМО – якщо є UMB, все що у ній, не займатиме основної пам’яті. ↩
QEMM
Compaq Portable III (з 286) та Portable 386
Знову ж, завдяки учаснику спільноти ретрокомп’ютерщиків – засновнику Віртуального музею комп’ютерного андеграунду маємо два варіанти Compaq Portable III, з 286 та Compaq Portable 386.
Перший мій, другий – Львівського Музею Комп’ютерних Технологій.
Вони дуже схожі, насправді. Згідно Вікі, компанія поспішала випустити на ринок портативний комп’ютер, а в наявності мала хіба материнські плати 286-го, тому спершу випустила варіант з ними, до готовності новішої плати. Тому, далі в тексті я буду їх розрізняти за типом процесора – 386 чи 286.
Обережно – далі 20 Мб фотографій, більшість з яких, на жаль, неякісні або й жахливі.
- Загальний опис
- Налаштування та продуктивність
- Досвід експлуатації
- Підсумок
- Посилання
- Виноски
Compaq Portable III, 286, фото з журналу “Australian Personal Computer”, Volume 8, Number 6, June 1987. Мій зараз помітно жовтіший. Зверніть увагу на розкладку клавіатури. |
Compaq Portable
Compaq Portable III (з 286) та Portable 386
Знову ж, завдяки учаснику спільноти ретрокомп’ютерщиків – засновнику Віртуального музею комп’ютерного андеграунду маємо два варіанти Compaq Portable III, з 286 та Compaq Portable 386.
Перший мій, другий – Львівського Музею Комп’ютерних Технологій.
Вони дуже схожі, насправді. Згідно Вікі, компанія поспішала випустити на ринок портативний комп’ютер, а в наявності мала хіба материнські плати 286-го, тому спершу випустила варіант з ними, до готовності новішої плати. Тому, далі в тексті я буду їх розрізняти за типом процесора – 386 чи 286.
Обережно – далі 20 Мб фотографій, більшість з яких, на жаль, неякісні або й жахливі.
- Загальний опис
- Налаштування та продуктивність
- Досвід експлуатації
- Підсумок
- Посилання
- Виноски
Compaq Portable III, 286, фото з журналу “Australian Personal Computer”, Volume 8, Number 6, June 1987. Мій зараз помітно жовтіший. Зверніть увагу на розкладку клавіатури. |