А собрать это каким-нибудь паскалевским компилятором получится? Или не выйдет из-за "hacked by..." и КОИ-8?
А собрать это каким-нибудь паскалевским компилятором получится? Или не выйдет из-за "hacked by..." и КОИ-8?
Это и собирается паскалевским компилятором - но он срезает верхний бит у символов в строках.
После компилятора я применяю патчинг на полученном .MAC-файле, восстанавливая строки и добавляя в них спецсимволы - то что было сделано руками на бинарнике.
То что можно было сделать средствами Паскаля, я сделал.
Последний раз редактировалось Arseny; 17.04.2021 в 17:24. Причина: не актуально (в связи с удалением предыдущего сообщения)
hobot(18.04.2021), Oleg N. Cher(18.04.2021), Radon17(17.04.2021)
Интересно, а 8-битный паскаль был?
Ведь терминалы DEC 8-бит поддерживали.
Да и возможно для АДОС что-то было...
Не все.
Что то мне подсказывает, что нетронутый OMSI Pascal - нет. Тот же MACRO-11 без допиливания не поддерживает, хотя DEC достаточно давно добавила поддержку национальных алфавитов в терминалы за счёт восьмого бита.
Да и идея использовать 8-ой бит для национальных алфавитов - она тоже достаточно поздняя.
Мысль вслух. Сильно подозреваю, что компилятор OMSI Pascal сам написан на ПаскалеТак что можно попробовать восстановить исходники
![]()
С фейсбука:
То есть это под Free Pascal Compiler.Serge Vakulenko
Совершенно очаровательная игрушка! Я слегка попинал исходники, чтобы под Линуксом собирались.
https://github.com/sergev/vak-openso...ker/stalk1.pas
- - - Updated - - -
Опять же трудозатраты порядка 4-6 недель.
Последний раз редактировалось nzeemin; 20.04.2021 в 21:03.
hobot(23.04.2021)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Компилятор Pascal OMSI 2 для RSX
Компилятор Pascal OMSI 2 для RTКод:Dump of VF1:[4,54]PASCAL.TSK;1 - File ID 43,1,0 Virtual block 0,000004 - Size 512. bytes 000000 ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ 000020 ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ 000040 ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ 000060 ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ 000100 ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ 000120 ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ h I ^B ^@ ^@ ^@ ^@ ^@ 000140 w ^I p R f ^U J J ^H f ^U & J ^H 000160 W - R H ^E ^@ ^F ^B w ^K ^^ Y ^C ^C w e 000200 ^D ^@ ^V Y f ^U X J ^H w ^U Z K 000220 7 ^J X K 7 ^J V K 7 ^J T K @ ^U ^@ ^@ 000240 ^M ^C A ^U 0 N w ^P @ K ! ^@ ^@ ^L B ^U 000260 ^Q ^P ^B ~ F ^U 0 N ^J ^A A ^U ^@ ^P 000300 f ^P w ^I T ^A 7 ^U K F ^] ^\ K F ` 000320 7 ^Q ^^ K B ^] v J & ^P N ^L w ^I : ^A 000340 ^A ^U @ ^P w ^P l J ^Q ^J ^B ~ w ^P f J 000360 p ^U 0 K ^J ^@ p ^U " K ^H ^@ w ^U " K 000400 P J f ^U P J ^H ^@ ^C ^A f ^U ` J 000420 ^H f ^U ^P K ^H @ ^] ^D H ^W ^D ^@ 000440 ^H ^F 7 ^P ^D H 7 ^P ^N H @ e H K 7 ^P 000460 ^J H f ^U " K f ^U 0 K ^A ^A ^O ^A f ^U 000500 B K ^H ^K ^G @ ^W & ^@ ^H ^G 7 ` ^ G 000520 w E ^@ ^D N G w ^U D K F G W % ^L ^@ 000540 ^L ^@ ^[ ^C 7 ^H r ^N ^@ ^_ - ^@ C o m p 000560 i l e r / L i b r a r y m i s 000600 m a t c h - - P l e a s e 000620 r e c o m p i l e ^@ w ^@ 6 ^H ^G ^@ 000640 f ^U x J ^H ^G ^@ 7 ^] ^B ^@ 6 J @ ^W 000660 . ^@ ^@ ^^ 4 ^@ ^A ^C h ^H & ^J & ^P @ ^] 000700 l | 8 ^^ ^D ^@ ^@ ^@ ^@ ^U w ^I b ^C ^D ^@ 000720 @ ^] ^B ^@ x ^I ^D ^@ A ^] x I @ ^R ^H ^C 000740 ^N ^P 7 ^Q l I ^@ ^\ ^D ^@ ^B ^C x ^I ^J ^@ 000760 Q ^K w ` I r ^G w ^I $ f ^] d I
Думаю, и там и там компилятор написан на ПаскалеКод:Dump of DU1:[PASRT]PASCAL.SAV;1 - File ID 5141,1,0 Virtual block 0,000007 - Size 512. bytes 000000 % ^J u % ^X ^@ ^B ^G w ^I H ^@ M ^K ^S ^A 000020 @ ^_ ~ @ E ^@ s ^C @ % ^M ^@ p ^C 000040 @ % ^J ^@ ^H ^C @ % ^[ ^@ ^E ^C @ % ^Z ^@ 000060 f ^B M U ^@ ^@ @ ^U ^@ = ^P ~ M U 000100 ^@ @ ^G ^@ w ^I $ ^D ^@ M 5 ^T ^@ ^L ^B 000120 7 ^H > } ^A ^@ ^O ^@ P U T N O T 000140 A L L O W E D ^@ w ^I 6 ^@ M U ^A ^@ 000160 u - ^X ^@ ~ ^E ^B u ^] ~ ^X ^@ M U 000200 ^@ ^@ u % ^@ ^L ^@ ^C ^B w ^I 4 ^A ^G ^@ 000220 @ m ^P ^@ ^C ^G @ - ^R ^@ ^B ^F w ^I 4 ^@ 000240 ^G ^@ e m ^V ^@ @ ^U M 5 ^B ^@ ^P ^B @ m 000260 ^P ^@ @ E ^@ ~ ^I ^C @ m ^V ^@ @ e ^@ ^B 000300 ^D ^C @ m ^V ^@ 5 ` ~ @ ^] ~ @ m 000320 ^V ^@ ^G ^@ f ^P & ^P f ^P M 5 ^B ^@ ? ^C 000340 @ ^] ~ @ m ^P ^@ @ E ^A ^A ^P @ m 000360 ^P ^@ @ m ^X ^@ 3 ^F ^@ ^K M 5 ^A ^@ ^B ^C 000400 w ^I ^N ^C u ` ~ u ` ^X ^@ B ^P B ^@ 000420 ^B ^L 5 ` ^N ^@ ^K ^F 7 ^H v | ^A ^@ ^M ^@ 000440 F I L E O V E R F L O W ^@ B ^] 000460 ^P ^@ ^A ` ^C ^P ^C ^L R ^T B ~ M 5 ^L ^@ 000500 ^M ^C 7 ^P 0 3 7 ^P . 3 7 ^K * 3 ^@ ^J 000520 @ ^@ ^@ ^L 7 ^P ^\ 3 w ^I ^V ^A ^\ ^A M 5 000540 ^A ^@ ^D ^C w ^I " ^B M E ^A @ ^] ^X ^@ 000560 @ m ^P ^@ @ e ^A ^@ ^J @ ^@ ^@ ^L 5 ` 000600 ^N ^@ J ^G e ^] ^P ^@ u ^U ^X ^@ M 5 ^L ^@ 000620 ^B ^C w ^I > ^A ^C ^U ^B ^U ^A ^U M E ^@ @ 000640 @ ^] ~ @ m ^V ^@ @ - ^X ^@ ^B ^F M U 000660 ^@ @ ^G ^@ 7 ^S ^J 3 & ^P f ^P f ^Q E ^_ 000700 ^D 3 w ^I Z } ^B ^G w ^I ^H ^@ ^E ^U ^A ^U 000720 ^@ ^U ^G ^@ f ^] n 2 w ^_ j 2 h 2 w ^I 000740 ` ^@ 7 ^U ` 2 e ^K E - . 2 & ^C E - 000760 , 2 # ^C U ^K @ ^] ^R ^@ ^D ^C f ^] ^P ^@ Dump of DU1:[PASRT]PASCAL.SAV;1 - File ID 5141,1,0 Virtual block 0,000010 - Size 512. bytes 000000 w ^I z z ^@ ^J @ ] ^L ^@ ^W ^@ ^S ^C 000020 @ ^@ @ U ^C ^@ u 5 @ ^@ ^@ ^@ ^A ^B @ ^L 000040 @ ^@ ^A ^P @ E ^@ | ^H w ^I 4 ^@ @ ^P 000060 | ^H w ^I @ ^@ w ^I R ^@ ^G ^@ w ^I , } 000100 ^D ^@ M 5 ^A ^@ ^L ^C w ^I > ^A M E ^A 000120 u 5 ^@ ^@ ^U ^@ ^D ^B e ^] ^P ^@ u ^U ^X ^@ 000140 ^G ^@ ^W ! ^^ B ^F ^C 7 ^U 0 3 7 ^Q . 3 000160 F ^U ^\ B ^G ^@ & ^L ^W ! ^^ B ^B ^C V ^L 000200 ^G ^@ V ^L F ^] ^V 3 G ^] ^P 3 e ^K ^@ ^J 000220 @ ] ^N ^@ ^W ^@ ^C ^C @ ^L 0 ^J " @ 000240 ? ^J " 2 E - t 1 ^F ^B w ^] l 1 l 1 000260 ^] f 1 ^P 2 E - f 1 ^F ^B w ^] ^ 1 000300 ^ 1 ^] X 1 ~ 1 @ ^U ^^ ^@ f ^Q w ^I 000320 , z ^G ^@ w ^I ^F | @ ^] ^@ ^@ @ E o 000340 u % ^@ ^L ^@ ^E ^B w E ^@ ^P 6 q 7 P 000360 2 q M 5 ^@ ^A ^C ^G ^@ @ ^U r @ & ^P 000400 f ^P & ^P P ^] ^L ^@ P ^U ^H ^@ P m ^N ^@ 000420 H m ^P ^@ 5 ^T ^X ^@ H m ^R ^@ ^H ^J ^P ^L 000440 ^P ^J u % ^@ ^L ^@ ( ^B A ^S A E o 000460 _ E ^@ ^P $ ^@ _ P $ ^@ ^@ ^J A ^] 6 1 000500 B ^] 4 1 B ^L ^N ^C ` ^H ~ ^G ^W ^Z ^@ 000520 ^I ^C ^Q ^P B ^J ^F ^C ^W ^J ^@ ^C ^C M 5 000540 ^@ ^P r ^C ^A ^P @ ^] ^N 1 @ ^L ^@ ` W 000560 ^Z ^@ E ^B 7 ^J 2 p ^I ^A ^@ ^J @ ] ^L ^@ 000600 | ^H @ ^U r @ } ^H 9 ^F @ ^L 5 ` ^X ^@ 000620 w ^K ^V p ^C ^B M U ^@ 3 ^A w ^U * ^@ 000640 " 1 w U ^D ^@ ^C p M 5 ^@ ^B * ^B W - 000660 x p ^A ^@ ^L ^F ^W ^E 7 ^H V z ^A ^@ ^N ^@ 000700 T R A N S F E R E R R O R 7 ^H 000720 @ z ^A ^@ ^P ^@ C H A N N E L N O 000740 T O P E N 7 ^H ( z ^A ^@ ^N ^@ W R 000760 I T E P A S T E O F @ ^L 5 ` Dump of DU1:[PASRT]PASCAL.SAV;1 - File ID 5141,1,0 Virtual block 0,000011 - Size 512. bytes 000000 ^X ^@ ^B ^U ^A ^U ^@ ^U ^G ^@ A ^] ^X ^@ A m 000020 ^P ^@ & ^P f ^P & ^P u 5 ^@ ^@ ^U ^@ ^M ^C 000040 @ ^P @ E ^@ ~ ^I ^C ^@ ^K @ e ^@ ^B A m 000060 ^P ^@ ^Q ^J ^B ~ A m ^P ^@ A ^K b ^C W - 000100 ^L ^@ ^@ ^V ^C ^A ^J ^A ^L ^B ^G = ^J ^X ^@ 000120 B ^U r @ R ^] ^L ^@ R ^U ^I ^@ R ^] ^N ^@ 000140 R ^] ^P ^@ R ^P ^R ^J @ ^U r @ } ^H ^V ^G 000160 H ^A B ^] ^P ^@ ^@ ^T a ^H ~ ^G D ~ A ^A 000200 w ^] ^X 0 @ 0 & ^S w ^I ` z ^D ^@ M 5 000220 ^@ ^X ^O ^B v ^_ ~ ^L ^@ u % ^@ ^L ^@ 000240 ^P ^B M 5 ^@ @ ^M ^C M U ^@ ^H M E ^@ @ 000260 ^G ^@ w ^I ^@ { v ^_ ~ ^L ^@ M 5 ^@ P 000300 ^B ^B w ^I p z ^G ^@ w ^] P / x / w ^I 000320 ^Z z ^D ^@ M 5 ^@ @ ` ^B w ^I X z z ^A 000340 w ^I ^H z ^H ^@ & ^P f ^P & ^Q ^@ ^] ^R ^@ 000360 ^A ^] ^T ^@ A e ^A ^@ ^@ ^K ^M ^@ 7 ^H ^R y 000400 ^A ^@ ^Q ^@ S E E K O U T O F 000420 R A N G E ^@ M 5 ^D ^@ ^D ^C u 5 ^@ ^@ 000440 ^U ^@ ^P ^B 7 ^H j x ^A ^@ ^W ^@ S E E K 000460 O N S E Q U E N T I A L F 000500 I L E ^@ M E ^@ M 5 ^B ^@ ^E ^C B ^] 000520 ^V ^@ w ^I ^Z ^@ ^U ^A B ^] ^Z ^@ ^E ^C w ^I 000540 z ^@ u p ^V ^@ ^I ^A B ^] ^V ^@ B e ^A 000560 ^W t w w ^I x ^@ ^C ^J ^W v ^I ^@ A ` 000600 @ ^K ^B ^J C ^] ^N ^@ ^W v ^I ^@ A ` ^@ ^K 000620 ^@ ` ^N ^B D ^] ^X ^@ D m ^P ^@ D m ^V ^@ 000640 ^G ^G D ^E ^B A m ^P ^@ u ^P ~ ^R ^A 000660 C ` B ^K ^B ` w ^I ^H | e ^P M E ^@ ~ 000700 U m ^R ^@ ^W v w u ^P ^N ^@ w ^I ^D } 000720 w ^I H { ^D ^U ^C ^U ^B ^U ^G ^@ ^D ^P ^C ^P 000740 B ^M ^D r ^@ ^P B ^P C ^P ^D r ^A ^P ^G ^@ 000760 C ^P ^B p @ ^P ^A ^D ^A ` C ^P B ^K ^A ^D Dump of DU1:[PASRT]PASCAL.SAV;1 - File ID 5141,1,0 Virtual block 0,000012 - Size 512. bytes 000000 ^C ` ^B p @ ` ^G ^@ w ^] ^T . 8 . w ^I 000020 Z y ^H ^@ & ^P f ^P & ^Q & ^J C ^U ^F ^@ 000040 ^A ^] ^V ^@ ^A ^B ^C ^J ^B ^] ^T ^@ ^J ^@ D ^U 000060 ^H ^R ^B ^K A ^K ^M ^@ N ^U 1 ^@ A E ^@ ^@ 000100 ^M ^A D ^U ^T ^R A ^K ^D ^@ N ^U - ^@ ^A ^K 000120 ^C ^J C ^J ^A % } ^B d ^K ~ ^C B ` ^E ^G 000140 @ ^U ^@ w ^I 8 ^@ ^E ~ ^@ ^U ^D ^B ^@ ^J 000160 ^T r @ e 0 ^@ w ^I & ^@ G ~ w ^I n ^@ 000200 ^D ^U ^C ^U ^B ^U ^G ^@ ^@ ^P ^@ ^B @ ^@ ^H ^@ 000220 ^A ^@ ^@ ^@ ^P ' h ^C d ^@ ^J ^@ ^A ^@ ^@ ^@ 000240 = ^P ~ M U ^A ^@ % ^J u % ^X ^@ ^C ^C 000260 u ^] ~ ^X ^@ @ ^] ^P ^@ @ m ^R ^@ @ - 000300 ~ ^B ^G w ^I ^L z ^G ^@ w ^] R - v - 000320 w ^I ^X x ^H ^@ ^D ^A @ ^U ^@ w ^I @ 000340 v ^J ^L ^@ y ^F ^@ ^] ^N ^@ w ^I 2 u % 000360 ^@ ^L ^@ ^B ^B w ^I H { ^G ^@ w ^] - 000400 D - w ^I f x ^D ^@ @ ^U ^M ^@ w ^I ^P 000420 @ ^U ^J ^@ w ^I ^H j ^A w ^] ^B - & - 000440 w ^I H x ^J ^@ ^A ^] ^L ^@ ^A m ^N ^@ ^E ^G 000460 @ ^U ^@ w ^I h E ~ v ` ^N ^@ ^H ^G 000500 ^A ^] ^P ^@ @ ^T w ^I V v ^J ^N ^@ z ^F 000520 N ^A w ^] J - n - & ^S 6 ^] ^D ^@ ^B ^@ 000540 w ^I ^H x ^J ^@ 6 ^L ^P ^@ @ ^U ^D ^@ v ^U 000560 ^N ^S ^P ^@ ^D ^G v ^U ^R ^S ^P ^@ ^@ ^J ^@ - 000600 ^L ^@ ^B ^F 6 ^P ^L ^@ 6 ^P ^N ^@ L ^A T R 000620 U E F A L S E ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ 000640 ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ 000660 ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ 000700 ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ 000720 ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ 000740 ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ 000760 ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)