lordamot / flexnavigator

Recovered sources of FlexNavigator for Sprinter by Anton Enin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

В данном архиве находятся исходники FlexNavigator 1.10 by Enin Anton
Попали они в мои руки в некомпилируемом виде - то синтаксис асмам не подходит (видимо часть файлов
была сконверчена с ALASM-а, а часть уже приведена к синтаксису какого-то кросс-ассма, которого я так
и не смог найти), то файлов не хватало, но благо что исходники распространились по миру в 2х вариациях,
и чего не хватало в одном архиве - было в другом и наоборот.
Так что я слепил из двух некомпилирующихся исходников один нормальный, привел его в вид приемлемый для sjasmplus на ПЦ.
Еще столкнулся с такой проблемой, что при компилировании модуль fnmain тупо не влезал в память, пришлось
его усечь, а часть данных перекинуть в fnfunc, где собственно в зарелиженной оригинальной версии они и
находятся.
В тексте часто встречались табуляторы вместо пробелов, не знаю то ли так текст был сконверчен, то ли асм в
котором автор собирал командер понимал это и заменял на пробелы автоматом, но sjasm такой текст компилировал
так же с табуляторами, в итоге программа глючила, т.к. строка вида:
EmptyFile	DB	"	    " ;<-- тут имеется табулятор
компилировалась в код типа:
DB	0x09,0x20,0x020,0x20,0x20
Вместо:
DB	0x20,0x020,0x20,0x20,0x20,0x020,0x20,0x20,0x20,0x020,0x20
Т.о. памяти выделялось меньше чем необходимо, что приводило к серьезным последствиям. Пришлось выискивать
табуляторы и менять их на пробелы.

Программная часть после компиляции на 100% совпадает с релизной версией, только часть описателей
окон немного перетасовались, но это на работу никак не влияет.
Так же я прикрутил сборщик программы в один клик, сделал упаковку модулей hrust-ом во время сборки и добавил
распаковщик в лоадер. Напомню, что оригинальная версия поставлялась в неупакованном виде. Упаковка позволила
сократить exe-файл более чем в 2 раза.

Для компилирования необходим sjasm, расположенный по пути: c:\asm\sjasm\sjasmplus.exe
Компилирование производится батником make_loader.bat, в этой же папке появится (обновится, если имел
место быть) файл fn.exe, его надо скопировать на диск Спринтера и запустить.

-----------------------------------------------------------------------------------------------------------
С уважением, Дмитрий Михальченков
13:19 22.08.2013

P.S.: Для сборки запусти MAKE_loader.BAT

About

Recovered sources of FlexNavigator for Sprinter by Anton Enin


Languages

Language:Assembly 83.3%Language:C++ 10.5%Language:Batchfile 3.9%Language:C 2.1%Language:PHP 0.1%