dlinyj: (Default)
[personal profile] dlinyj
Всегда приятно, когда удаётся сделать мир чуточку лучше.

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



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

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

Далее в исходниках надо выполнить (не забываем указать пути к исполняемому файлу):

PRJ2MAK RAMVIEW.PRJ

После сиих манипуляций появляется мейкфайл: RAMVIEW.MAK, в котором можно посмотреть пути. В моём случае они оказались C:\BORLANDC. Переименовываем папку с компилятором в эту и собираем проект, я делал через графический интерфейс(ctrl-F9).

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



Ну что ж, пришла пора править код. Как оказалось видать где-то потерялись непечатные символы, при переносе кода из ДОС.





Спешу напомнить, чтобы корректно отображать символы в Notepad++, нужно установить кодировку OEM 866. Тогда всё будет более красиво.





Ну, а далее, находим подходящие символы по таблице ASCII для DOS, и подставляем их в исходник. Не буду показывать промежуточные варианты, как по мне, самым идеальным оказался этот.



После чего, делаем форк проекта, коммитим изменения в свой форк и из него делаем волшебной кнопкой pull request в оригинальный репозиторий.



Показываю вам, как делать правки в чужом коде, в чужих репах. Вот моё вольное оформление запроса на слияние: https://github.com/aurelitec/ramview/pull/1 .

Даже если автор не потрудиться добавить слияние, всё равно проект уже исправлен. Для тех кому нужен, вот собранная последняя версия программы RAMVIEW.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

January 2026

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

Most Popular Tags

Style Credit

Expand Cut Tags

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