dlinyj: (Default)
photo_2025-02-22_23-14-39.jpg


Так получилось, что в моём DOSовском детстве не было звуковых карт, и я ограничивался одним PC-спикером. Но тут в своём ретролюбстве так преисполнился, что решил попробовать эту тему. Особая благодарность [livejournal.com profile] bootsector, который мне объяснил в чём разница и особенности звуковой карт. Лучше всего это можно оценить в видео "Звуковые карты для MS-DOS".

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

На фото вы видите прямо таки некоторую историю моих звуковых карт, по мере их поступления ко мне и с каждым разом карточка была всё круче и круче.


  1. Sound Blaster 16 Value (CT2770)

  2. Sound Blaster AWE32 (CT3620)

  3. SB AWE64 Gold (CT4390)


И вот дилемма, каждая карточка всё круче и круче, но везде есть свои нюансы.Read more... )
dlinyj: (Default)
Я тут упоролся на отличненько, и в поисках "той самой" материнки купил у разных продаванов кучу материнских плат и все они оказались мёртвыми...

photo_2024-09-13_15-06-16.jpg

Итак, предыстория. Решил собрать я себе компьютер 386, прям как в детстве, тот самый удивительный и неповторимый. Да ещё и добавить туда приблуд, что в детстве не было: звуковую карту, самую апупенную видеокарту, джойстик и прочее, прочее. Прям мечта меня в виде ребёнка.

Помутнение по сборке начало попускать, и тут я подумал: а как было бы круто попробовать сделать апгрейд 386 компа редчайшим процессором 486DLC, который вставляется в гнездо 386 процессора и превращает комп в более мощный. И начал его искать...

photo_2024-09-13_15-05-53.jpg
Тот самый 486DLC в гнездо 386 материнки

Купить за вменяемые деньги 486DLC не представлялось возможным, самая дешёвая цена была 5 тысяч рублей. И тут товарищ из мусоровоза предложил купить его в Китае. Его покупки ждал несколько месяцев. Когда к нему он пришёл, предложил его отправить мне яндекс-доставкой по Москве. Думаю, время сэкономлю. И представляете, яндекс доставка его потеряла... 🤦 .

Ну думаю, це то гудьба... Не бывать этому. Я смирился с утратой и решил окончательно продавать всё оборудование 386, продал видеокарту, блок питания, кучу разных плат, диагностическую плату... И тут, херак, и яндекс спустя две недели нашёл посылку! А я уже рапродал всё... Ну, думаю, в драку надо ввязываться...Read more... )
dlinyj: (Default)
На днях, у себя в канале задал вопрос: как же работает оптическая мышка с 386 компом. Но так никто и не догадался.



Играл я в свою любимую игру Лемминги. А там, надо точно держать каждого лемминга в прицеле мышки. И столкнулся с тем, что шариковая мышь без ковра работает просто отвратительно и шумит... Выбесило меня это, и начал искать как же подключить оптическую мышь.

Начну с описания проблемы: классический интерфейс подключения мышек - это COM-порт. Все мыши в те годы были последовательными. Спустя какое-то время появился стандарт PS/2, и мышки начали выпускаться на этот тип подключения. Для совместимости со старым стандартом существовали переходники. Но вот особенность оптической мыши в том, что для её работы требуется достаточно большой ток, поэтому поддержку COM-портов у этого типа мышей была отключена. Таким образом, купить просто переходник ps/2->COM не получиться.

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

Но как же решить эту проблему?Read more... )
dlinyj: (Default)
В целом эта тема мне уже порядком надоела, но хотелось вот сделать этакую рабочую дискетку со своей сборкой, которая могла бы размножаться. Ну и просто осталось какое-то чувство незавершённости. Поэтому решил разобраться, почему же не получилось сделать дискетку из под DOSBOX.

Итак, не смотря на то, что эта задача у меня заняла несколько часов войны с DOS 4.0 (кривой, косой, бесячий), изложу тезисно по результатам. Dosbox не поленился и ускорил, поставив в конфиге максимальную частоту. DOS собирал по своей же инструкции, без подмены имени Microsoft.

MS-DOS 4.0 собранный брал отсюда (конкретно 4.00 OEM [Sampo]). Мне нужна только первая установочная дискета из архива Disk01.img. Монтирую этот образ, выкидываю всё лишнее из autoexec.bat (можно его даже тупо удалить), удаляю лишние файлы. А в папку "40" записываю файлы собранного ДОС (те что собирал сам). Примерно вот так:



После загружаюсь командой:

qemu-system-i386 -fda Disk01.img -fdb dos40.img


Где dos40.img - просто пустой образ дискетки, созданный truncate или dd. Далее просто форматирую диск b, командой формат и переношу системые файлы с помощью команды sys:

format b:
sys a:\40 b:


И это сработало! Read more... )
dlinyj: (Default)
Мне только ленивый не написал, мол вот ребят, выложили исходники MS-DOS 4.0, вот заживём. Но я вам открою страшную тайну, что давно уже есть в сети утёкшие исходники MS-DOS 6.0, но так ничего не произошло.

Но я был бы не я, если бы не попробовал бы его собрать.


Мелкомягкие ДОС выложили на свой репозиторий https://github.com/microsoft/MS-DOS . Но, как обычно, есть НЮАНС! MS-DOS разрабатывался в кодировке CP866 и, сточки зрения ПО - это бинарные(!) файлы, а их выложили как текстовые файлы в кодировке UTF-8, превратив код в фарш. Читайте - было вредительство.

Но всё же мы попытаемся продвинутся в сборке и расскажу инструкцию, как начать. Фарш и косяки после неудачного (вредительского) выкладывания исходников начали исправлять достаточно большое количество ребят. Один из проектов, которые я нашёл интересным обитает тут: https://github.com/neozeed/dos400 , там исправлено достаточно большое количество косяков, особенности в части инициализации переменных сред окружения.

Что ж, попробуем собрать.Read more... )
dlinyj: (Default)
В меня не верили, говорили что возможно это даже невозможно, или не будет работать. Но таки это работает, и не только в эмуляции, но и на реальном железе.


Образ, полученный вчера, записан на флешку и успешно стартует.


В предыдущих сериях:
Ещё у людей возникла путаница (в этом видимо я виноват), поскольку проблемы у меня было две и они были разными:

  1. Проблема с определением и работы носителя в BIOS и системе. Не все флешки корректно работают.

  2. Проблема с созданием рабочего образа DOS для 4 ГБ носителя средствами linux.

Поэтому кратко распишу в виде отдельных глав как я разобрался и решил все проблемы. Главная из которых для меня была - это использовать весь объём карточки 4 ГБ для DOS.Read more... )
dlinyj: (Default)
Мне казалось, что это простая и понятная задача, тяп-ляп и в дамках, но потратив два полных дня и всё свободное рабочее время, понял что не всё так просто. А самое удивительное, что нет толковых рабочих мануалов!


Наконец работающий образ, готовый к dd на флешку


В предыдущем посте я ругался на проблемы с CF-картами и сюда же наслаивается другая проблема - сложность создания рабочего образа. Чтобы отделить одно от другого, здесь буду говорить строго о создании рабочего образа (файла), который в последствии можно будет бинарно перенести на CF и всё будет работать.

Казалось бы, что может быть проще: у меня есть точно работающий образ 16 МБ флешки (обратите внимание на разницу между МБ и МиБ, я говорю о МБ и далее всё будет в МБ). Далее можно создать пустой образ CF с помощью команды dd, truncate или mkdiskimage:

dd if=/dev/zero of=4gb.img bs=1K count=3915576 status=progress
truncate --size 4009549824 4gb.img
mkdiskimage 4gb.img 7769 16 63

Все делают разное, но в сути нам пойдёт любой вариант. truncate самый быстрый. И после, казалось бы, делаем вот что:

qemu-system-i386 -hda mydos.img -hdb 4gb.img

Загружаемся с рабочего образа, fdisk под ДОС размечаем всё, и после форматируем полученный диск с переносом системных файлов, командой format d:/s . Всё подробно описано тут.

И всё красиво, элегантно, но это НЕ РАБОТАЕТ. Файлы переносятся, но на диск загрузки потом не идёт...Read more... )
dlinyj: (Default)
Догадываюсь, что немного уже надоел темой. Но специально для всех тех, кто принимает активное участие в этом проекте пишу данный пост. Остальным терпения и благодарю за понимание.

Это продолжение большой саги и являются третьей частью. Часть первая "Видеопамять тютю..." и часть вторая "Решение проблемы с видеокартой".


Коммандир Нортон в режиме VGA!


Говорю сразу спасибо всем участникам. Мне советовали попробовать поиграться с int 10h чтобы проверить все режимы. Но, на мой взгляд - это путь без понимания проблемы, и хотелось бы найти более элегантное решение. Поэтому я начал читать документацию на чипы видеокарты Cirrus Logic CL-GD610/620-C.



Когда в третьем часу третьей бессонной ночи поймал себя на том, что уже прикидываю архитектуру драйвера, понял что иду куда-то не туда. Начал думать, что хорошо было бы найти ПО, если уж не для моей видяшки, то хотя бы для аналогичной и попробовать работать с ними.Закрутило завертело )
dlinyj: (Default)
Решение проблемы с видеокартой оказалось нетривиальным. Многие были правы и неправы одновременно. Я даже купил себе охлаждающую жижу, чтобы поморозить микросхемы. Но всё оказалось куда интереснее. Сходу выражаю большую благодарность [livejournal.com profile] arush_damage за ссылку на документацию по этому адаптеру, она мне очень сильно помогла.
Начнём с того, что не смотря на то что текстовый режим глючит, если в автозагрузку поставить запуск графической игры, то она успешно работает(!), значит проблема точно не в ОЗУ.


Принц Персии работает в этом диком режиме.


Так... А если подключить внешний монитор к разъёму VGA? Представляете, о чудо, с внешним монитором, без изменения настроек и прочего-прочего, всё работает без каких либо артефактов.


Работа с внешним монитором.


Тут со всем стало непонятно, что же с карточкой не так и как заставить работать встроенный монитор в текстовом режиме? Пошёл путём хождения по детским грабелькам.Read more... )
dlinyj: (Default)
Я уже было отчаялся, исправил багу, уже статью написал по теме, думал всё, запроса на слияние не будет. Но нет, таки одобрили.



Ура товарищи, теперь исправленная версия в оригинальной репе. Мелочь, а приятно.
dlinyj: (Default)
Мой пост "Правка чужого кода" в ЖЖ был принят очень тепло, даже не ожидал. Поэтому собрался духом и составил полную мурзилку о том, как редактировать чужие проекты на гите.



habr: Правка чужого кода.
Буду рад вашим комментариям, лайкам и просто если это окажется вам полезным.

P.S. Причины смены блога может быть расскажу, или нет.
dlinyj: (Default)
Всегда приятно, когда удаётся сделать мир чуточку лучше.

Понадобилось мне в одной задаче просматривать память в DOS. Весь мегабайт. Может быть даже всякий поиск и редактор организовать, но хотя бы так. Из коробки у DOS (в моём случае MS-DOS 6.22), есть "замечательная" утилита debug, которая убога чуть более чем полностью. Она ещё в конце 90-х, начале 2000-х вызывало у меня самые противоречивые чувства, сейчас и подавно. Но, тем не менее, хорошо что она есть. Но я искал более удобный инструмент. И нашёл - это утилита RAM View.



Но исполняемого файла найти не удалось, только сорцы под Borland C++ 3.1. И вот, начался квест по компиляции, и последующим исправлением ошибок. Даже по скринам с гита виден главный косяк: проблемы с символами, и выезжающий последний символ за пределы экрана (15 символов вместо 16). Итак, ковыряемся в старом коде, попутно исправляя его. Благодарю всех участников ретрочатика за помощь.Read more... )
dlinyj: (Default)
Искал толковый мануал, как накатить ДОС на диск в Linux. Сходу не нашёл, пишу сам.



Так уж получилось, что у меня нет машины где есть живой флоповод, и я решил что должна быть возможность накатить DOS на CompactFlash. Казалось бы, бери dd и в путь, но дьявол, как обычно в мелочах. Не работает такой подход, потому что на старых системах всякие цилиндры, дорожки и т.п. То что будет работать на одной системе, не заведётся в другой. Плюс, я хотел вот определённый ДОС.
Был бы флопик, всё было бы проще и легче, но мы не ищем простых путей.

Долго искал более-менее вменяемый мануал, и вот мне подсказали в одном ретрочатике в котором админит многоуважаемый [livejournal.com profile] mihhru. Рецепт изложен в видео. Тем, кто не хочет смотреть полуторачасовое видео, вот главная инструкция, уже от меня. Read more... )

sopwith

Oct. 20th, 2019 11:21 pm
dlinyj: (Default)
Сопвич, известнейшая игра детства. Вспомнил о ней, после ряда постов на хабре. Вот она.



Самолётики с упоротым управлением. Потом привыкаешь и понимаешь, что игрушка огонь. Существует официальный сайт автора данной игры (редкость для ДОСовских игр). Вот он. Есть прям совсем сайт игры http://www.sopwith.org/ (я прям рекомендую заглянуть, если псот зацепил!)

Собтвенно говоря, самая крутая штука, что летать можно в двоём, по "сети" того времени - нуль модему. Я что-то решил вспомнить молодость и хотел сыграть с камрадом [livejournal.com profile] goodic по сети. Расчехлил ДОСбокс под Виндой. Винда=боль, во всех аспектах, т.к. повторил операции под линуксом - всё для людей. Таки расчехлил, потратил часа два в попытке его русифицировать и чтобы он не крашился. Плюнул, использую английскую версию. Всё это делал из-за 5 Нортон Коммандер, у которого была своя терминалка (эх, сколько BBS она видела...). Через терминалки мне не удалось поговорить (знаю, рукожоп). Бился, бился. В общем-то нульмодем настраивается в досбоксе просто :
На сервере:
serial1 nullmodem port:5000
На клиенте:
serial1 nullmodem server: port:5000

Но не получилось. При любых попытках коннекта падает с такой ошибкой...



Указать СОМ-порт не удаётся, т.е. любой вариант -p падает.



Всё делал на самой первой версии этой игрушки. На второй версии те же яица, хотя там меню крупнее. Психанул, и тупо поставил виртуальную машину с линуксом, из репозитариев поставил sopwith и там есть нормальный tcp-сервер!!! Тот случай, когда проще виртуалку накатить, чем трахаться с DOSBOX. А вообще ностальгичные слёзы пускал, глядя на Нортон Коммандер, квадратную мышу, скринсервер... Всплакнул...



З.Ы. Но я бы в тру-дос версию сыграл бы по сети. Ай да, ребят? Давайте вместе настроим?
dlinyj: (Default)
Тут наткнулся на ютубе на эту замечательную игруху, и думаю многие её помнят.



И смахивая ностальгические слёзы - вспоминал детство. Я помню, что пройти её не мог, а посмотреть уровни очень хотелось. И тогда я нашёл грязный трюк. Оказалось, что уровни хранятся в файлах. Назывались они LEVEL01.DD2 и т.д. И был предпринят простой хак - подставлять файл нужного уровня заместо первого. И таким образом, без всяких ютубов, я смог посмотреть все уровни этой игры. Правда после убийства финального босса игра продолжается... :(. Этакий детский хак.
dlinyj: (Default)
Это нереально круто играть на arm-овском КПК, на котором запущен Linux, а в линуксе запущен Duke Nukem 3d, и при этом ехать в метро.

Duke Nukem 3D в метро :)))

Не знаю, прям мечта детства так сделать. При чём всё нестандартно. Даже стилус самодельный ;). О запуске Дюка расскажу отдельно, скажем так - это нетривиальная задача. В инстаграмме выложил первый запуск, в метро ещё попарился с конфигом и подобрал нормальное разрешение монитора (по моему 600х240). В общем крутЪ.

В планах настройка и запуск продолжения игры Another World (скажем - идейным) для данного КПК.
dlinyj: (Default)
Пример, есть некая вычислительная машина (вычислительный модуль), на х86 процессоре (486), и стоит там DOS-подобная операционка. И поскольку это промышленный комп, то видеокарта ему ни к чему (контроллер по сути). Но отлаживать его как-то надо. И существует такая штука, как удалённый доступ по СОМ порту. Шляпа реализована в BIOS. Она конечно своебразно работает, не однозначно, но работает. Однако, если есть видеокарта, то она просто копирует, и преобразует буфер видеокарты в ASCII символы (ESC-последовательности), и выводит на экран (ниже, на видео про пакман будет видно). Но если видеокарты нет, о графике можно забыть. Даже псевдографика (типа цветных символов, или нестандартных кодов) будет резко пресекатся зависанием проца.


Бут компа в консоли :)


Для удалённого доступа, я использовал в Ubuntu свой любимый minicom. Почему убунта на ноуте, а не винда - это не моя любовь к линуксам. Просто в винде надо искать дрова к шнурку USB->COM, а в линухе таких проблем не имеется. По сему работал в ней (какая разница, где работать с СОМ-портом?). Поскольку работать мне пришлось в субботу, то решил себя хоть как-то позабавить, пока никто не видит. Ибо и так бесит работа в выходной день, так хоть что-то для души сделаю. Решил поглядеть, как же будет выглядеть какая-нить ДОСявая гама в таком режиме. Надо оговориться срау, что видеокарта была установленна, и на мониторе я видел то, что было в консоли. Без видеокарты, такие финты невозможны. Даже какой-нить Volkov Commander не пашет, только примитивный ввод/вывод.


Волков Коммандир в консоли


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



Конечно, в этой псевдографике играть нереально. Но факт тот, что не смотря ни на что, отображение экрана, хоть и в псевдографике идёт достаточно точно.

Ducktale

May. 19th, 2009 12:47 am
dlinyj: (Default)
Помню, когда мне было 5-6 лет, я ходил к соседу. У него стоял новенький 286 компьютер и мы рубались в разные классные игрушки. Одна из них была "Утиные истории". И вот попробовал, так сказать вспомнить детство.


Любимая гама


И как положенно при попытки войти в контро центр просит угадать код...


Код...


Выбрал последний слева. Не проканало, я совершенно не помню алгоритма выбора... Может кто помнит? Мы с [livejournal.com profile] di_halt уже поностальгировали по поводу этой игрушки...
dlinyj: (Default)
Нашёл у себя в бекапах на внешнем харде досовские игрушки, подготовленные к xPaty100 (многие уже наверное и не помнят что это такое, но это уже не важно). Слил себе дос бокс, и обнаружил, о манна небесная! Дюк Нюкем!!!


Старый добрый Дюк


Я правда часа два управление настраивал, чтобы смотреть в верх низ можно было мышью, и то всё не настроил. Кстати версия фриварная дюка (это лечится?). Может бабла потом попросит. В самом начале уже мииномёт нашёл. Правда спать хочу очень - гамать не буду. Поиграл в самую любимую игрушку моего детства - арканойд... Эх...

А круто было бы по модему забурится в дюк.... Интересно, а по GPRS можно? :D

Пользуясь случаем передаю привет [livejournal.com profile] easyjohn ;)

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 06:21 am
Powered by Dreamwidth Studios