Махровый даунгрейд, часть вторая. Компьютер с СР/М

Кто-то живёт вайберами и вацапами, кто-то мечется между семёркой и десяткой, кому-то привычнее следить красными глазами за установкой пакетиков... А я слишком стар для этого дерьма. Я работаю под CP/M на полностью самодельном компе ;)

Махровый даунгрейд, часть вторая. Компьютер с СР/М Своими руками, Компьютер, Cpm, Длиннопост, Олдскул

История началась относительно давно. Ну, это смотря что к чему относить конечно... Сначала захотелось просто сделать компоподобное на неизвестном для меня процессоре - сделал Аюшу (https://pikabu.ru/story/makhrovogo_daungreyda_post_5354180). Начал применять в работе - как замену ардуины, как управляющий контроллер на производстве. Но загрузка с магнитофона - это навевало грусть и печаль при активной работе. Плюс отсутствие необходимого софта, аналоги которого вовсю бесновались на писюке. Короче говоря, задача была поставлена - нужен полноценный комп, с дисковой операционной системой, для которого уже был бы написан софт, а лучше, чтобы этого софта было много и можно было бы повыбирать. Ну и как обычно - тишина, отсутствие вентиляторов, и возможность использования на рабочем месте вместо виндозного писюка, привычного многим проверяющим или занимающимися ускорением перемещения органов репродукции лицам.

Махровый даунгрейд, часть вторая. Компьютер с СР/М Своими руками, Компьютер, Cpm, Длиннопост, Олдскул

Покупка древних раритетов была отметена сразу - цена шкалит за Альфу Центавра, работоспособность не гарантируется, носителей, то бишь дискет, не напасёшься, вес, шум, пыль,.. Да ну их фтопку, сделаем комп сами!

Сказано - не торопясь начинаем делать. Основа - дисковая операционная система СР/М, предтеча MS DOS. Софта под эту ось не просто дофига, а дофигищща (тут должна быть картинка с Нагиевым), так что выбор есть. Для работы нам было нужно: а) текстовый редактор, б) база данных, в) что-нибудь попрограммировать, в том числе и на "железном" уровне, г) табличный редактор в меньшей степени, д) чтение почты. И никаких Пикабушечек и ВКонтактиков на рабочем месте xD.

Махровый даунгрейд, часть вторая. Компьютер с СР/М Своими руками, Компьютер, Cpm, Длиннопост, Олдскул
(Это только что собранная плата видеовывода с адаптером ASCII-клавиатуры)


Сначала ткнулся в сторону отечественного процессора К580ВМ80, аналога i8080, для которого СР/М и писалась. Но быстро разочаровался - процессор напрочь был забыт как софтописателями, так и производителем (и только на бывшей 1/7 части суши его ещё тыкали палочкой). Значит выбор - Z80, известный олдырям по Спектруму и АОНам. Дисковая часть должна базироваться на флэш-технологии - выбираем CF-карту, которая и в наличии есть, подключается по IDE-интерфейсу, что позволяет также использовать ещё не особо древние жёсткие диски и, через переходник, привычные многим SD/MMC-карты. Увы, но больше 128 мегабайт на диске система не увидит, зато у нас будет 15 логических дисков по 8 мегабайт и один диск в 2 мегабайта. Да, Карл, мегабайт! Поверь, для кучи программ размером по 4-20 килобайт, которые аналогичны по своим возможностям многим современным примерам 32/64-битного говнокода, это очень много!

Махровый даунгрейд, часть вторая. Компьютер с СР/М Своими руками, Компьютер, Cpm, Длиннопост, Олдскул
(Малыш уже начинает агукать...)


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

Махровый даунгрейд, часть вторая. Компьютер с СР/М Своими руками, Компьютер, Cpm, Длиннопост, Олдскул
(Любой прибор сначала должен настраиваться "на боку")


Встроенная видеокарта. О, это то, ради чего всё и затевалось - никаких видеочипов и впомине тут нет! Всё опять сделано на микроконтроллере (так что можно с уверенность сказать - наша конструкция двухпроцессорная ;)), который и является заменителем видеочипа. Результат - минимум обвески, зато возможности в "те" годы могли бы и впечатлить: обеспечиваются текстовые режимы 80х25, 40х25, 80х12, 40х12, графика 100х160 поточечно или спрайтово, совместно с любым текстовым режимом, а также микс из текстовых режимов и графики (построчно). Альтернативная кодовая таблица (СР866).

Махровый даунгрейд, часть вторая. Компьютер с СР/М Своими руками, Компьютер, Cpm, Длиннопост, Олдскул
(Различные варианты выводимого шрифта)


Если кто-то думает, что графики 100х160 мало - вы ошибаетесь. Для Инсты да, мало. Тут же это занимает весь экран. Но в принципе графика тут не важное... Вывод изображения сделан на обычный телевизор. С одной стороны любой зомбоящик пригоден, с другой можно и прозомбироваться, пока думаешь над очередным программистским опусом или отчётом.


Видео закраски/очистки экрана прилагается,  но только из ВКшечки, увы:

https://vk.com/video117527293_456239251


Память, оперативная и постоянная. Первой для 95% жизни достаточно 64 килобайта. Для всего, что только можно придумать. Для остального есть диск и оверлеи, если кто не в курсе. Постоянной же памяти, после настройки машины до рабочего режима, достаточно 256 байт, да и то ПЗУ отключается после загрузки и не используется. Всё просто, но у нас в принципе доступно 4 страницы по 16 килобайт в виде одного чипа. Да, оперативная память тоже умещается в один чип.

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

Махровый даунгрейд, часть вторая. Компьютер с СР/М Своими руками, Компьютер, Cpm, Длиннопост, Олдскул
(Плата ASCII-клавиатуры, в ПЗУ зашиты коды клавиш)


Корпус - от бывшего терминала (мир его памяти).

Махровый даунгрейд, часть вторая. Компьютер с СР/М Своими руками, Компьютер, Cpm, Длиннопост, Олдскул
(Предварительная сборка на фанерке перед установкой в корпус. Слева основная плата, справа видеовывод, между ними CF-карта в IDE-CF переходнике)


Вот как бы и всё. Остальное - вязка МГТФом и паяние ручками; с железом большой возни не было. Зато оставалась возня программная, поскольку получившееся железо надо ещё подружить с ОСью - пишем БИОС! Задача осложнялась тем фактом, что во времена создания СР/М ещё никто не знал, что с ней будут использовать какие-то технические навороты в виде новомодных микроконтроллеров для видеовывода. Оставалось только сделать совместимость по командам управления с древними терминалами - был выбран VT52. А программировали мы по старинке, с рисованием алгоритмов, перевода его в код на ассемблере и такой-то мамой, если где-то пропустил уровень в стеке. Фигня, победили!

Махровый даунгрейд, часть вторая. Компьютер с СР/М Своими руками, Компьютер, Cpm, Длиннопост, Олдскул
(Nuff said)


Походу пора заканчивать повествование, хотя о многом так и не рассказал (к примеру, что там с почтой и нафига база данных). Зато машинка получилась рабочая, на 98% совместимая с требованиями ОСи, позволяет выполнять все задачи, под которые ранее на её месте стоял писюк, готова к работе после включения через пару секунд, не шумит, не отвлекает от работы, вызывает у народа микроинсульты и собирает гешефты.

Да и просто приятно.

Махровый даунгрейд, часть вторая. Компьютер с СР/М Своими руками, Компьютер, Cpm, Длиннопост, Олдскул

TECHNO BROTHER

1.6K постов12.5K подписчиков

Добавить пост

Правила сообщества

1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.

3-Категорически запрещается разжигание межнациональной розни или действий, направленных на возбуждение национальной, расовой вражды, унижение национального достоинства, а также высказывания о превосходстве либо неполноценности пользователей по признаку их отношения к национальной принадлежности или политических взглядов. Мат - Нежелателен. Учитесь выражать мысли без матерщины

Вы смотрите срез комментариев. Показать все
19
Автор поста оценил этот комментарий
Один вопрос " на кой" ?
раскрыть ветку (15)
2
Автор поста оценил этот комментарий

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

12
Автор поста оценил этот комментарий

Присоединяюсь к вопросу. Из поста непонятно.

раскрыть ветку (13)
14
Автор поста оценил этот комментарий

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


Или еще так. Когда много ресурсов и работаешь только с высокими абстракциями - кладешь хер на производительность, можешь достать до самого дна - оптимальней пишешь те же программы.


Хобби, которое еще и помогает профессионально расти - хорошее хобби.

раскрыть ветку (2)
3
Автор поста оценил этот комментарий

Во-первых, "premature optimization is the root of all evil in programming", а во-вторых высокоуровневая оптимизация дает обычно гораздо больший эффект, при меньших трудозатратах, и меньше снижает читаемость кода. А читаемость имеет значение. А низкоуровневую стоит делать точечно, после измерения bottleneck'ов профайлером.

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

я не развожу вечное противостояние высокоуровневого и низкоуровневого. Мой посыл, что если человек сечет и там и там, то это обычно идет в плюс к профессионализму)

Читаемость совершенно точно выше, как Вы и говорите. И про точечность тоже.

Иллюстрация к комментарию
10
Автор поста оценил этот комментарий
Jus for fun. Просто хобби у человека такое.
13
Автор поста оценил этот комментарий
Психую от лишнего нудного шума. Плюс глазки - на ТВ могу работать без очков. Ну и for fun кнешн. Качество выполняемой работы не пострадало.
раскрыть ветку (8)
15
Автор поста оценил этот комментарий

Я CP/M застал, но ностальгии по тем компам я что-то не испытываю.


> готова к работе после включения через пару секунд


А сколько секунд надо чтобы запустить программу с дискеты? Или скопировать большой файл с одной дискеты на другую, периодически вставляя то первую дискету, то вторую? Помню, что дискеты частенько переставали читаться…


> Психую от лишнего нудного шума.


Можно собрать тихий или вообще бесшумный комп. Выйдет, конечно, дороже, но при желании и в этом случае есть куда руки приложить: либо собрать самодельную систему охлаждения, корпус, либо хитрую клавиатуру, либо ещё что.

раскрыть ветку (3)
2
DELETED
Автор поста оценил этот комментарий

Иногда чтобы посчитать что то на калькуляторе не обязательно включать ноутбук а просто взять в руки калькулятор и посчитать. Так понятнее думаю...

2
Автор поста оценил этот комментарий
...везде оговорки "либо", а тут хлоп и готово ;) В тексте же написано, что в качестве носителя флеш
1
Автор поста оценил этот комментарий

Он не использует дискеты.

1
Автор поста оценил этот комментарий

Есть видео работы текстового редактора?

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
хм... не записывал, но подумаю... С редакторами главное комбинации клавиш помнить ;)
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

да и вообще примеры работ с прикладными программами было бы интересно посмотреть.

"одень день из жизни" может и слишком много (а может там ещё и что-то конфиденциальное есть), но всё равно хоть что-то.

2
Автор поста оценил этот комментарий

Нихрена не понял, но на всякий случай подписался.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку