Толик Панков
hex_laden
............ .................. ................
Page Summary

December 2025
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

Back Viewing 0 - 20  
Assembler, компиляторы и туториалы Iczelion'а

Очередная ссылочная.

Компиляторы:

- TASM/TASM32, компилятор для Windows x86 и DOS (Mega.NZ, ZIP, 4.6 Мб)
- MASM for DOS (Mega.NZ, ZIP, 4.6 Мб)
- MASM32, компилятор для Windows x86: Официальный сайт (копия на Mega.nz)
- IMPORT32.LIB (7z, Mega.NZ) (копия на Google.Drive)

Туториалы Iczelion'а (RUS, перевод WASM.RU).

Довольно неплохое руководство по Win32 API для начинающих программистов на ассемблере. Начиная с простейших примеров и до довольно продвинутых программ, включая описание структур и функций Win32 API, структуры PE EXE-файла, простейших VxD-драйверов.

Перевод Aquila.

В комплекте исходники и бинарники примеров программ.


- На Old-DOS
- На mega.nz

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/05/16/assembler-kompilyatory-i-tutorialy-iczelion-a/

Hello, world на 32-битном ассемблере (Windows x86).

Преамбула


Обещал сделать другу-школьнику, пусть тут описание валяется, не пропадать же.

Листинг

.386
.MODEL FLAT

	extrn	ExitProcess:proc
	extrn	MessageBoxA:proc
	
.DATA

	MSG_TITLE	DB	'Hello, world!',0
	MSG_MESSAGE	DB	'I am running!',0
	MB_INFORMATION	DD 40h

.CODE
Start:
	push	MB_INFORMATION		;Message box style (Icon - Information)
	push	offset MSG_TITLE	;Message box title
	push	offset MSG_MESSAGE	;Message box text
	push	0					;hwndOwner
	call	MessageBoxA
	
	push	0
	call	ExitProcess
end	Start


Что получилось



Начало


1. Прописываем директиву совместимого процессора .386 (больше и не надо), и модель памяти FLAT, стандартную для x86 PE исполняемых файлов.
2. Далее, экспортируем 2 функции WinAPI - ExitProcess, которая позволит программе корректно завершиться, и MessageBoxA, - функция вызовет стандартное диалоговое окно. Эти функции находятся в библиотеке IMPORT32.LIB (есть в комплекте TASM), так что они станут доступны программе на этапе линковки, а директива extrn показывает компилятору, что функции внешние, т.е. компилятор не будет ругаться, что не нашел их в исходнике при компиляции.

Примечание: Кроме функции WinAPI MessageBoxA, есть функция MessageBoxW, параметры у этой функции аналогичные, но используется она, если выводимый текст в кодировке UTF-16.

3. В секции данных (.DATA) определяем константы: MSG_TITLE и MSG_MESSAGE, содержащие, соответственно, строку заголовка и строку, содержащую текст в диалоговом окне. Строки должны оканчиваться символом с кодом 0 (,0)

Примечание: Не строковым символом "0", а нулевым байтом.

4. Также определяем четырехбайтовую (DD) константу, которая будет управлять поведением окна. В данном случае MB_INFORMATION, которой укажем значение 40h, что дополнит окно иконкой "Информация". Полный список констант, управляющих поведением окна, можно увидеть в источнике [1].

5. В секции кода (.CODE) ставим метку Start: (на самом деле, название может быть либо любым, либо зависеть от используемого компилятора, в TASM и MASM любое), это будет указывать компилятору на точку входа в нашу программу, т.е. говорить системе, откуда начинать выполнять код.
6. И ключевое слово end с именем той же метки, между этими конструкциями будет находиться код нашей программы. Поскольку, дополнительных внутренних функций в нашем HelloWorld'е не предполагается - этого хватит, описание функций выходит за рамки данного небольшого урока.

Вызов функции MessageBoxA


Описание функции есть в справочнике по WinAPI, где оно дано в C-подобном стиле:

int MessageBox(
  [in, optional] HWND    hWnd,
  [in, optional] LPCTSTR lpText,
  [in, optional] LPCTSTR lpCaption,
  [in]           UINT    uType
);


И во всех современных компиляторах ассемблера под Windows есть всякие удобняшки, типа готовых макросов, которые ускоряют написание кода, позволяют не париться с параметрами, не писать простыни кода, но, не позволяют осознать, как оно все на самом деле работает. Это или макросы в MASM или режим IDEAL в TASM. Впрочем, все нормальные ассемблеры должны уметь работать и с удобняшками, и без них. А поскольку, пример у нас маленький, то стоит как раз все показать и объяснить, без всяких удобняшек.

Функции WinAPI работают по единому стандартизированному принципу - они достают входные параметры из стека, а результат (конкретное значение или адрес, по которому следует взять данные) пишут в регистр EAX. Значение, возвращаемое функцией, нам в данном примере не понадобится, так что пока это опустим. Разберемся с параметрами.

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

Запись в стек осуществляется командой push, извлечение из стека - командой pop.

Ясно, что человеку такой способ записи параметров интуитивно непонятен, потому в языках высокого уровня, сделали так, чтоб было удобно. Если же писать на чистом ассемблере, мы должны положить параметры в стек в обратном порядке:

push	MB_INFORMATION ;Стиль Message box  (Добавляем иконку "Информация")
push	offset MSG_TITLE    ;Заголовок Message box
push	offset MSG_MESSAGE 	;Текст в Message box
push	0				;ID Вызывающего окна - его нет, устанавливаем в 0.


Далее вызываем саму функцию WinAPI:

call	MessageBoxA


Теперь вызываем функцию, необходимую для корректного завершения программы. На вход она принимает только один параметр - код возврата. Мы ничего не делаем, кроме вывода MessageBox'а, так что отдадим стандартный код нормального завершения - 0.

push 0
call ExitProcess


Под конец, о консольном HelloWorld


Его здесь не будет, потому что написание консольного приложения под Win32, связано с тем, что всегда в определенный момент возникает в ассемблере - "много мелких, суетливых движений", как сказал классик по другому поводу. Написание консольного приложения под Windows усложнено, алгоритм там примерно такой:

1. Получить дескриптор стандартного устройства ввода-вывода
2. Проверить, доступен ли он программе.
3. Если недоступен, значит нас вызвали не из консоли, а из GUI, например, щелчком мыши.
4. Если 3 - неверно
5. Вывести текст на консоль
6. Если 3 - верно
7. Создать новую консоль, вывести текст, закрыть/освободить консоль.

MASM, в отличии от TASM умеет прописывать на этапе линковки флаг IMAGE_SUBSYSTEM_WINDOWS_CUI (3) в заголовок PE-файла, это показывает ОС, что приложение расчитано на консольную подсистему, что, в свою очередь, избавляет программиста от необходимости вручную открывать консоль и устраивать дополнительные проверки. Система откроет консоль за нас. Но вернемся к этому в другой раз.

Ссылки


1. MessageBox function
2. Исходник и откомпилированная версия на GitHub

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/05/14/hello-world-na-32-bitnom-assemblere-windows-x86/

Assembler: небольшая ссылочная.

Скрипты NppExec


tasm-compile.txt (MEGA.NZ)
tasm-compile.txt (GitHub)
tasm-compile.txt (PasteBin)

tasm-compile-and-run.txt (MEGA.NZ)
tasm-compile-and-run.txt (GitHub)
tasm-compile-and-run.txt (PasteBin)

Обзор и сравнение компиляторов assembler'а на Habr


Как писать на ассемблере в 2018 году
Копия

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/05/14/assembler-nebolshaya-ssylochnaya/

Компиляция из Notepad++

Преамбула


Точнее, конечно же, просто запуск стороннего компилятора, причем любого, имеющего поддержку командной строки (а они почти все такие, кроме совсем уж редких). Пока малому приятелю помогал написать Hello World на ассемблере, задолбался переключаться между редактором Far'а и батниками для сборки. MultiEdit или любимый FOTON, к которым можно привинтить компилятор, под Win7 не работают, но возможность запускать сторонние компиляторы оказалась у Notepad++

Установка плагина NppExec


Современные версии Notepad++ позволяют установить плагин из самого редактора.
Заходим в Плагины --> Управление Плагинами... и в появившемся окне вбиваем в строку поиска NppExec. Ставим напротив него галочку, и нажимаем ставшей активной кнопку Установить.

Notepad++ попросит перезагрузиться, скачает плагин и установит его.

После чего, в меню Плагины появится новое подменю NppExec.

В данном меню надо снять галочки напротив всех пунктов, выделенных по умолчанию, а поставить напротив пункта Follow $(CURRENT_DIRECTORY).



Написание скрипта


Осталось написать нужный скрипт для вызова компилятора и линковщика, покажу на примере TASM32.

Нажимаем F6 или в меню Плагины --> NppExec --> Execute NppExec Script...

Попадаем в пустое окно, где можно вводить команды скрипта:



Синтаксис скрипта мало отличается от BAT/CMD, за исключением того, что доступны внутренние команды Notepad++ и специальные внутренние переменные.

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

npp_save
cd "$(CURRENT_DIRECTORY)"
N:\TASM\BIN\tasm32.exe /ml $(FILE_NAME)
if $(EXITCODE) !=0 goto exit

N:\TASM\BIN\tlink32 /Tpe /aa $(NAME_PART).obj,,,"N:\TASM\LIB\IMPORT32.LIB"

:exit


Скрипт выполняет компиляцию ассемблером TASM32 и линковку без запуска получившейся программы.

npp_save - внутренняя команда Notepad++, сохранить текущий файл.

Примечание: Для нового файла появится окно сохранения.

Примечание #2: Стоит сохранять несохраненный файл под именем, содержащим только латиницу, а также выбрав нужный тип файла в окне сохранения. В противном случае могут быть глюки, зависящие от совокупности глюков плагина и компилятора.

cd - аналогично команде BAT/CMD, перейти в указанную директорию.

"$(CURRENT_DIRECTORY)" - внутренняя переменная с текущей директорией. Текущей директорией считается та, где сохранен файл, открытый в активной вкладке редактора (т.е. файл, который редактируем).

N:\TASM\BIN\tasm32.exe /ml $(FILE_NAME) - вызов компилятора с нужными параметрами.

$(FILE_NAME) - полное имя файла без пути, например, hello.asm, если этот файл открыт на активной вкладке редактора.

if $(EXITCODE) !=0 goto exit

Команды if и goto работают почти также, как и в BAT-файлах. Некоторое различие в оформлении условий.

$(EXITCODE) - внутренняя переменная, получающая код возврата ранее вызванного приложения. Аналог %ERRORLEVEL% в BAT/CMD. Вызванные внешние компиляторы TASM/TASM32 завершаются с кодом 0, если компиляция прошла успешно.

Далее вызывается линковщик:

N:\TASM\BIN\tlink32 /Tpe /aa $(NAME_PART).obj,,,"N:\TASM\LIB\IMPORT32.LIB"

$(NAME_PART) - внутренняя переменная, содержащая имя файла без расширения и точки. Например, если на активной вкладке открыт файл hello.asm, переменная $(NAME_PART) содержит значение hello.

В конце скрипта ставим метку :exit - метка начинается с двоеточия (:).

Чтобы пользоваться скриптом постоянно, нужно его сохранить (кнопка Save...) и ввести имя, например TASM COMPILE:



Скрипт можно модифицировать так, чтобы после компиляции и линковки сразу выполнять программу:

npp_save
cd "$(CURRENT_DIRECTORY)"
N:\TASM\BIN\tasm32.exe /ml $(FILE_NAME)
if $(EXITCODE) !=0 goto exit

N:\TASM\BIN\tlink32 /Tpe /aa $(NAME_PART).obj,,,"N:\TASM\LIB\IMPORT32.LIB"
if $(EXITCODE) !=0 goto exit

$(NAME_PART).exe

:exit


Можно сохранить модифицированный скрипт под другим именем, например, TASM COMPILE AND RUN.

При запуске плагин запоминает последний выполненный скрипт, и при новом запуске по F6 он уже будет открыт в окне NppExec, что, конечно же, удобно.

При выполнении скрипта откроется окно консоли, в котором можно наблюдать за ходом его выполнения:

NPP_SAVE: N:\SimpleAsm\hello.asm
CD: N:\SimpleAsm
Current directory: N:\SimpleAsm
N:\TASM\BIN\tasm32.exe /ml hello.asm
Process started (PID=7964) >>>
Turbo Assembler Version 5.0 Copyright (c) 1988, 1996 Borland International

Assembling file: hello.asm
Error messages: None
Warning messages: None
Passes: 1

<<< Process finished (PID=7964). (Exit code 0)
IF: $(EXITCODE) !=0 goto exit
N:\TASM\BIN\tlink32 /Tpe /aa hello.obj,,,"N:\TASM\LIB\IMPORT32.LIB"
Process started (PID=2784) >>>
Turbo Link Version 1.6.71.0 Copyright (c) 1993,1996 Borland International
<<< Process finished (PID=2784). (Exit code 0)
IF: $(EXITCODE) !=0 goto exit
hello.exe
Process started (PID=6360) >>>
<<< Process finished (PID=6360). (Exit code 0)
================ READY ================


Бэкап скриптов


NppExec хранит скрипты в каталоге
C:\Users\<username>\Application Data\Notepad++\plugins\config\

где:
<username> - ваше имя пользователя.

В файлах:

npes_last.txt - хранится последний использованный скрипт.
npes_saved.txt - хранятся все скрипты, его можно забэкапить.

Источник


Компиляция программ с помощью Notepad++ - большая и несколько сумбурная статья на Habr.

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/05/13/kompilyatsiya-iz-notepad/

NSIS: контрольная сумма (MD5), сравнение файлов.

Преамбула


В принципе, патч или кряк для программы можно сделать с помощью NSIS, конечно, это будет не классический патч, т.е., когда меняешь в исходном экзешнике несколько байт, а архив с готовым экзешником и сценарием установки. Но зато и возможностей больше, можно Реестр или INI-файлы подправить, например.

Но одна из главных задач любого патча, перед началом работы проверить, а не пропатчен ли файл уже. Делается это обычно так - берется контрольная сумма MD5 или CRC32 оригинального файла и сравнивается с заранее известной суммой. Если совпадает - файл наш, можно патчить. Можно и наоборот - сравнить контрольную сумму оригинального файла с известной контрольной суммой пропатченного, если они равны - файл уже модифицирован, сообщаем пользователю и завершаем работу.

Получение MD5-суммы в NSIS.


Для получения MD5 в NSIS имеется плагин MD5 Plugin.

Скачиваем архив, копируем md5dll.dll из директории ANSI архива в директорию ANSI-плагинов NSIS (у меня C:\Program Files (x86)\NSIS\Plugins\x86-ansi\), а из директории UNICODE архива в директорию UNICODE-плагинов (C:\Program Files (x86)\NSIS\Plugins\x86-unicode). Понятно, что пути к вашим каталогам плагинов могут отличаться, т.к. зависят от того, куда установлен NSIS/

Примеры использования


Вычисление контрольной суммы строки:

#generate MD5sum of string
md5dll::GetMD5String "TestString"
Pop $0
DetailPrint "MD5 (string): [$0]"


Вывод:
MD5 (string): [5b56f40f8828701f97fa4511ddcd25fb]

Получение случайного хэша MD5:

#generate random MD5sum
md5dll::GetMD5Random
Pop $0
DetailPrint "MD5 (random): [$0]"


Вывод:

MD5 (random): [864fd151525efad56947f25fa3daeb75]

Получение контрольной суммы файла:

#generate MD5sum of file
DetailPrint "MD5 sum of file $EXEDIR\test\1.exe"
md5dll::GetMD5File "$EXEDIR\test\1.exe"
Pop $0
DetailPrint "MD5 (file): [$0]"


Вывод:

MD5 sum of file C:\!\Installers\MD5Sample\test\1.exe
MD5 (file): [03f3ba055d9f325c9abc90181f82657b]


Сравнение файлов


Для более красивого кода сравнения, рекомендую подключить инклюд с макросами логических операторов LogicLib.nsh (есть в комплекте NSIS):

!include LogicLib.nsh

Пример:

md5dll::GetMD5File "$EXEDIR\test\1.exe"
Pop $0
md5dll::GetMD5File "$EXEDIR\test\3.exe"
Pop $1
DetailPrint "Files $EXEDIR\test\1.exe"
DetailPrint "and   $EXEDIR\test\3.exe"
DetailPrint "MD5: $0" 
DetailPrint "and   $1"
${If} $0 == $1
	DetailPrint "IS IDENTICAL!"
${Else}
	DetailPrint "IS DIFFERENT!"
${EndIf}


Пример вывода (сравниваются два одинаковых файла, а потом два разных):

Files C:\!\Installers\MD5Sample\test\1.exe
and C:\!\Installers\MD5Sample\test\2.exe
MD5: 03f3ba055d9f325c9abc90181f82657b
and 03f3ba055d9f325c9abc90181f82657b
IS IDENTICAL!
Files C:\!\Installers\MD5Sample\test\1.exe
and C:\!\Installers\MD5Sample\test\3.exe
MD5: 03f3ba055d9f325c9abc90181f82657b
and 7baeee10b3cd6c210c4fcd61b92b8e1e
IS DIFFERENT!


Ошибки при работе библиотеки MD5


Если файл отсутствует, то функция md5dll::GetMD5File может выдать непредсказуемый результат, строку случайных символов, поэтому, перед использованием md5dll::GetMD5File следует проверять наличие и доступность файлов.



Ссылки


Библиотека:
- Описание на официальном сайте: MD5 plugin
- Скачать с официального сайта
- Зеркало
- Копия (v 0.5) на Mega.nz

Пример из заметки целиком на GitHub

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/05/10/nsis-kontrolnaya-summa-md5-sravnenie-fajlov/

Tags: , ,
Программа, которая ничего не делает.

Преамбула


Да, понадобилась мне такая программа под Win32, которая совсем ничего не делает. Запускается, и сразу завершает работу, не открывая окна консоли и не создавая окно GUI. Для чего, расскажу в другой раз. Встал вопрос, на чем писать. .NET не подходит - слишком уж за такой программой Framework таскать, был Lasarus, но, если честно, не понял, как там все правильно сделать. И тут осенило, есть же TASM, идеально подходящий для такой задачи, будет максимально маленький экзешник, требующий только одну функцию из WinAPI - ExitProcess. Самое то! Правда, на ассемблере я кодил в лохматых годах, так что пришлось немного повспоминать.

Листинг

.386
.MODEL FLAT

	extrn ExitProcess:proc

.DATA
	szHelp DB 'This program start and end'
.CODE
Start:
	nop
	nop
	nop
	push	0
	call	ExitProcess
end	Start


На PasteBin

Описание


.386 - директива, позволяющая ассемблировать инструкции i386-го процессора, нам хватит.
.MODEL FLAT - выбор стандартной в Win32 модели памяти (FLAT)

extrn ExitProcess:proc - директива extrn позволяет использовать в программе функцию (тут ExitProcess) из внешней библиотеки, которую подключим на этапе линковки.
Библиотека IMPORT32.LIB, содержащая основные функции WinAPI должна быть в комплекте TASM.

.DATA - начало сегмента данных, в принципе, в этой программе можно его просто определить и не заполнять, но я определю в нем строку, которая будет храниться прямо в в экзешнике, как его описание. Можно открыть экзешник по F3 в Far'е, например, и увидеть ее. При работе программы строка использоваться не будет.

szHelp DB 'This program start and end' - та самая строчка.

.CODE - Сегмент кода.

Start: - метка, обозначающая точку входа в программу. Можно назвать хоть как (Start, Main и т.д.).

nop - пустая операция, процессор в буквальном смысле делает ничего. Можно пропустить, но пусть будет.

push 0 - кладем в стек код возврата, который будет использован функцией ExitProcess.

end Start - конец основной функции программы.

Сборка экзешника


Компиляция:

tasm32 /m simple.asm

где:

/ml - учитывать регистр символов при компиляции.
simple.asm - имя файла с исходником.

Получилось:

Assembling file:   simple.asm
Error messages:    None
Warning messages:  None
Passes:            1


Будет создан файл simple.OBJ

Линковка:

tlink32 /Tpe /aa simple.OBJ,,,IMPORT32.LIB

где:

/Tpe - создать на выходе Win32 PE-файл (Стандартный формат 32-х битного экзешника, начиная с Windows 95).
/aa - Использовать WinAPI

Примечание: Библиотека IMPORT32.LIB должна лежать в том же каталоге, где и simple.OBJ, или прописывайте полный путь к файлам


Больше простых примеров с описанием (на буржуйском)


Writing Win32 programs in assembly language using TASM:
- Читать на tolik-punkoff.com
- Читать на lj.rossia.org
- Скачать с Mega.NZ
- Скачать с Google.Drive

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/05/09/programma-kotoraya-nichego-ne-delaet/

Tags: ,
Writing Win32 programs in assembly language using TASM

Длинно и на буржуйском, потому под катом )

Копия на Mega.nz (TXT, ZIP)
Копия на Google.Drive (TXT, ZIP)

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/05/09/writing-win32-programs-in-assembly-language-using-tasm/

Переключение раскладки на экранной клавиатуре Windows 7

По-прежнему, чиним деньгополдощательные терминалы и всякие прочие АРМ, потому понадобилось, заметка от склероза, чтоб не забыть, да и другим полезно будет.

Вызов экранной клавиатуры


Рассматриваем способы, как ее вызвать, если доступа к физической клавиатуре нет совсем.

1. ПУСК --> Все программы --> Стандартные --> Специальные возможности --> Экранная клавиатура
2. Добираемся мышекликом до экзешника: %windir%\system32\osk.exe

Где %windir% - каталог с установленной Windows (обычно C:\Windows).

Если надо вызвать программу с командной строки (для справки), то соответственно, команда: osk

Примечание: Экранная клавиатура, как и физическая, поддерживает только раскладки клавиатуры (языки ввода) установленные в системе, т.е., если русский язык, например, в системе не установлен совсем, то и переключиться на наго нельзя.

Способ №1


Самый простой. Не пользоваться для переключения языка ввода и раскладки экранной клавиатурой, все спокойно можно делать мышью, с помощью значка индикатора клавиатуры в системном трее.



Способ №2


Щелкаем те же клавиши, которые установлены для переключения клавиатуры в системе, и не задерживаясь, нажимаем ту, с которой начали. Т.е. если переключение клавиатуры настроено на Alt+Shift, то на экранной клавиатуре жмем Alt, потом Shift (или наоборот, сначала Shift потом Alt), а потом возвращаемся к первой клавише, если первой нажимали Alt - нажимаем Alt второй раз, если первый раз нажимали Shift - второй раз нажимаем Shift.

Если в системе установлена комбинация Ctrl+Shift, действия аналогичны, только нажимаем соответствующие клавиши на экранной клавиатуре

Переключение раскладки:



Раскладка переключилась:



ТЕЛЕМАРКЕТ!

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/05/04/pereklyuchenie-raskladki-na-ekrannoj-klaviature-windows-7/

Если Windows XP внезапно упала в синий экран на более-менее современном компьютере.

Что делать, и как это порешать. AHCI --> IDE. Инструкция для и по просьбе заводского эникейщика.

Преамбула


На многих старых и надежных аппаратах (АРМ станков с ЧПУ, терминалах) вполне может быть установлена Windows XP, свои функции она выполняет, а специализированный софт, например, может не подо что другое не работать. Если вдруг ломается насмерть машина, обычно покупают компьютер, который совместим с XP, но рассчитан на более современную систему.

Но при некоторых условиях, совместимые с XP машины, могут все равно отправить при некоторых ситуациях XP в синий экран. Впрочем, восстановить запуск XP в некоторых случаях возможно без переустановки Windows, подправив настройки BIOS (UEFI).

Первопричина


Первое, что надлежит в таком случае проверить, это не слетел ли BIOS АРМ или встроенного компьютера к начальным настройкам. Если это так, то при загрузке на экране может появиться что-то типа:

CMOS Checkum error
...
Press F1 to Run SETUP
...



Крупный вариант

В данном случае сначала следует заменить батарейку CMOS, располагающуюся на материнской плате. Как это сделать для стандартного PC есть, например, в этом видео.

Примечание: На некоторых материнских платах батарейка BIOS может оказаться под внешней видеокартой, тогда, перед заменой батарейки, нужно сначала изъять видеокарту из слота.

Примечание: Не забываем про ТБ! Все операции с разборкой системного блока и заменой батареи выполняем при отключенном от сети системном блоке! Видел в некоторых видео, что можно так не делать, так вот отключать от сети нужно всегда! Если случайно закоротите контакты, можно получить или BIOS, требующий перепрошивки, или вообще горелую материнку. Электричество, какое маленькое оно бы не казалось, безалаберности не терпит!

Причина падения XP


Если у более новых компьютеров обнулился BIOS/UEFI и возвратился к заводским настройкам, то, скорее всего, произошло переключение режима работы контроллера жесткого диска с IDE-совместимого в AHCI, AHCI в XP поддерживается с большим бубном, потому им обычно никто не заморачивается, если особо не надо, переключают контроллер в режим IDE-совместимости и телемаркет. А вот если контроллер переключится обратно сам, после возврата BIOS к заводским настройкам, то XP упадет в синий экран.

Переключение контроллера HDD в режим IDE-совместимости на примере ASUS UEFI BIOS


1. Заходим в BIOS, на главной странице выбираем Advanced Mode (или нажимаем клавишу F7)



2. В появившемся окне отвечаем OK:



3. Переходим на вкладку Advanced:



4. Выбираем SATA configuration:



5. Нажимаем ENTER и в появившемся меню выбираем IDE:



6. Сохраняем настройки и перезагружаемся (F10)

ТЕЛЕМАРКЕТ!

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/05/03/esli-windows-xp-vnezapno-upala-v-sinij-ekran-na-bolee-menee-sovremennom-kompyutere/

Установка Windows 7 на Lenovo ideapad 330-15AST

Преамбула


Купил б/у-шный ноут Lenovo ideapad 330-15AST (пока совсем непозднер, про запас), внутри у него неонка десятка, естественно, абсолютно насмерть тормозящая, почитал обзоры и вой на куче форумов, что Windows 7 на него установить невозможно, а Windows 10 тормозит чуть ли не с завода, решил попробовать, получилось почти все.

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

Вход в BIOS/UEFI


Наименее геморройный этап установки, у меня получилось нормальным способом, нажимая F2 при загрузке. Если не срабатывает F2, можно попробовать Fn+F2, но если и это не сработает, значит применен дебильный ленововский способ попадания в настройки, вход через F2 залочен в прошивке, и надо найти кнопку Novo на левом боку ноута. Понадобится иголка или женская "невидимка", чтоб ее нажать, т.к. кнопка спрятана в отверстие, как Reset на роутерах.



Нажимать ее надо при выключенном ноуте, ноут должен включиться и вывалиться в специальное меню



Выбираем BIOS Setup и телемаркет!

У меня кнопка Novo была как на третьей картинке, но F2, слава Древним, не залочена.

Официальная инструкция на сайте Lenovo

Включение поддержки Legacy BIOS


Почему-то у некоторых не получилось даже это, хотя все делается довольно просто.

1. После попадания в BIOS идем в меню Security и отключаем AMD Platform Security Processor, т.е. устанавливаем этот пункт в Disable.



Да, фоткал на тапок.

2. Сохраняем настройки BIOS и перезагружаемся (F10)
3. Опять заходим в BIOS, переходим в меню Boot и устанавливаем первый пункт (Boot Mode) в значение Legacy Support и второй пункт (Boot Priority) в Legacy First.



Все должно выглядеть так, как на картинке выше, теперь можно менять загрузочные устройства как обычно, наплевав на попытки UEFI думать за пользователя и навязывать ему нафиг не нужную security-загрузку (секунда ненависти к хипстерам и копирайт-шлюхам из Lenovo и M$).

Ремарка про загрузку с USB


Загрузочное legacy вроде бы включено по умолчанию, так что грузиться с USB можно, но дальше все зависит от ОС, в DOS и Linux (во всяком случае в System Rescue CD не отключается, мышь и накопители видно) legacy не отключается, а вот Windows 7 (чистой) отключается. Так что если устанавливать с флэшки, то сначала надо подготовить жесткий диск и скопировать на него дистрибутив. Ниже расскажу.

Инструменты


- Какая-нибудь утилита для разметки (я использовал Boot CD Acronis Disk Director 12)
- Среда для копирования файлов (System Rescue CD (копия), для работы по сети, или дистрибутив Sergey Strelec (ISO, почитать, копия), если устанавливаемся с флэшек).
- Дистрибутив Windows 7 (если устанавливаемся с флэшек, заливаем на отдельную, или как архив/образ на одну из других)
- Драйвер чипсета + USB 3.0 (копия)
- Driverpack Solution, желательно максимальной и полной версии.
- Кумулятивные обновления Windows 7 от Simplix
- В каталог с дистрибутивом обновления желательно положить update.bat со следующим содержимым:

UpdatePack7R2-22.3.11.exe /IE11

где UpdatePack7R2-22.3.11.exe надо заменить на вашу версию скачанного файла.

- Драйвер VGA (копия)
- Среда для запуска установки Windows 7 (я использовал WinPE multiboot от Sergey Strelec) (копия) Прямая ссылка на ISO

Примечание: В DriverPack почему-то нет не USB 3.0 для этой машины, не нормального драйвера видеокарты.

Примечание: Я устанавливал все с PXE-сервера, но с флэшек точно также, только надо много места (или много флэшек).

Установка


1. Надо очистить диск полностью и ре-инициализировать как MBR-диск (изначально он GPT).
2. Далее диск надо разделить, на расширенный несистемный раздел, куда будут скопированы файлы для установки: драйвера, обновления и сам дистрибутив Windows 7 и основной будущий системный раздел вначале диска, который потом надо будет удалить (все, что нужно, Windows 7 сама организует на пустом месте). Винде (пустому месту) я отдал 150 Гб, на остальном создал логический раздел, будущий диск D, на него потом можно грузить пользовательские файлы, или вообще перенести каталог Users, но это совсем другая история.

Стандартная схема разбиения диска перед установкой:



3. Копируем дистрибутив Windows, обновления и драйвера на созданный раздел (будущий диск D:). Я делал это прямо с сервера PXE, загрузившись в System Rescue CD, впрочем, можно сделать это с флэшек, жестких дисков, в сборке Win 7 PE от Sergey Strelec.

4. Загружаемся в Win7PE с диска Sergey Strelec и запускаем установку Windows 7 (скопированный ранее дистрибутив). Устанавливаем Windows на пустое место на HDD. Если в процессе установки (в загруженном Win7PE) вылезут окна, предлагающие отформатировать раздел или открыть его - немедленно отвечаем Нет, остальные всплывшие окна закрываем.

5. После первой перезагрузки грузимся с жесткого диска (вытаскиваем флэшки или выбираем пункт загрузки с HDD, если используется PXE).

Примечание: USB и тачпад на этом этапе не работают, так что все опции во время установки вводим с клавиатуры (для переключения между элементами управления используем TAB, клавиши управления курсором и ENTER).

6. Установка "чистой" Windows 7 завершена, но еще ничего не работает. При первой загрузке вы окажетесь без мыши, с одной клавиатурой.

7. Мышью (курсором) можно управлять с клавиатуры (копия)

8. Перед установкой всех драйверов, добираемся вышеуказанным способом до кумулятивных обновлений Simplix (заранее скачанных) и запускаем update.bat. Хз почему, но без этого нормально не встает чипсет.

9. После нескольких перезагрузок (при первой надо в окне нажать Да, остальные будут автоматически), можно продолжить установку.

10. Таким же образом (см п.7) добираемся до установки драйверов чипсета.

11. После установки драйверов чипсета (копия) и перезагрузки, для Windows 7 станут доступны порты USB и все подключенные к ним устройства, в т.ч. и внешняя мышь.

12. Запускаем DriverPack, переключаемся в Режим эксперта и устанавливаем только драйвер LAN (или LAN и WLAN, если вы устанавливали с флэшек).

13. Перезагружаемся, устанавливаем соединение с сетью.

14. После перезагрузки опять заходим в DriverPack, в Режим эксперта и обновляем, что предложат, чего не установлено - доустанавливаем. Кроме видеокарты, на драйвере VGA галочку снимаем, также отключаем весь раздел Драйверные утилиты

15. Установить драйвер видеокарты: официальный сайт Копия

Ссылки


- Boot CD Acronis Disk Director 12 - копирайтная, спрашивайте лично.
- System Rescue CD
- Дистрибутив Windows 7 (копирайтный, даже не спрашивайте где скачать, сами ищите)
- AMD Chipset for на Lenovo ideapad 330-15AST: Драйвер чипсета + USB 3.0 (копия)
- Driverpack Solution (слишком большой, огромный, дам по запросу, запрос писать в телеграм).
- Кумулятивные обновления Windows 7 от Simplix

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/04/08/ustanovka-windows-7-na-lenovo-ideapad-330-15ast/

Tags: ,
Еще один классный виндовый мультизагрузочный образ WinPE

От некоего Sergey Strelets, походу украинского разработчика. Украинцы как-то серьезно вообще продвигались в виндохаках и обходе всяких микрософтовских ограничений, так что за это отдельная слава Украине!

Что в комплекте


- Win 8 PE X86
- Win 8 PE X64
- Win 7 PE X86
- Win 10 PE X86
- Другие варианты загрузки

Плюсы


+ Без геморроя грузится по PXE, что через обычный PXE, что через тот, который UEFI PXE
+ Во всех WinPE есть драйвера для USB 3.0, пока не нашел сбоев.
+ Из соответствующего PE можно запустить соответствующую установку Windows (т.е. из 7 - семерку (x86, x64), из 8 - Windows 8/8.1, 10 - десятку)
+ Спокойно размещается на флэшке, можно делать флэшку Rufus'ом

Минусы


- Дистрибутив довольно большой, по PXE грузится долго и надо не упустить момент, когда таки загрузится.
- В BIOS PXE грузятся только Win PE (все), остальные варианты загрузок могут выпасть.

Syslinux/PXE меню


LABEL win710pe
    menu label Windows 7-10 PE
    kernel modules/memdisk
    initrd distrib/windows/win710pe/win710pe.iso
    append iso raw


Скачать


ISO-образ с Mega.NZ

К сожалению, образ принесли на флешке, так что не могу найти оригинальный сайт, кто найдет - пишите в комменты, поставлю ссылку.

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/03/31/eshhe-odin-klassnyj-vindovyj-multizagruzochnyj-obraz-winpe/

Tags: , ,
Вызов диспетчера устройств Windows из командной строки

Преамбула


Пост из серии спрашивали - отвечаем, в дополнение к предыдущему посту про управление мышью с клавиатуры (копия). На современных ноутах, куда еще можно загнать Windows 7 после установки не работает USB, поскольку оно 3.0, а драйвера в комплекте нет. Ищется оно хреново, и желательно посмотреть на VEN и DEV соответствующего устройства, да по кодам ищется лучше. Коды можно посмотреть в диспетчере устройств. Мышью, а особенно с клавиатуры, ковыряться в менюшках долго, так что есть более простой способ вызова диспетчера устройств из cmd или в Выполнить (Win+R)

Вызов диспетчера устройств Windows из командной строки


Для этого нужно использовать команду

devmgmt.msc

Работает для всех версий Windows, начиная с XP, т.е. Windows XP/7/8/8.1/10

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/03/31/vyzov-dispetchera-ustrojstv-windows-iz-komandnoj-stroki/

Tags: ,
Windows 7: управление мышью (курсором мыши) с клавиатуры

Включение режима управления курсором мыши


При стандартных настройках, которые включены по умолчанию после установки ОС, необходимо нажать комбинацию клавиш Alt + Shift + Num Lock. В появившемся диалоговом окне ответить Да, т.е. нажать Enter (кнопка Да выбрана по умолчанию).

Управление движением курсора мыши с клавиатуры


Далее, курсором мыши можно управлять с цифровой клавиатуры

8 - курсор движется вверх
2 - курсор движется вниз
4 - курсор движется влево
6 - курсор движется вправо

7 - курсор движется по диагонали вверх и влево
3 - курсор движется по диагонали вниз и вправо
9 - курсор движется по диагонали вверх и вправо
1 - курсор движется по диагонали вниз и влево

Чем дольше удерживать соответствующую клавишу, тем быстрее будет двигаться курсор.

Другие опции


5 - Аналогично одиночному щелчку левой клавишей мыши. Выбирается иконка или элемент управления, находящийся под курсором
5 и 5 (быстрое нажатие), происходит нажатие на элемент управления (аналогично двойному щелчку левой клавишей мыши)
5 и / - аналогично нажатию правой кнопкой мыши, вызову контекстного меню.

+ - Аналогично двойному щелчку левой клавишей мыши.

Отключение режима


Для отключения режима надо повторно нажать комбинацию клавиш Alt + Shift + Num Lock.

ЗЫ. Кому интересно, с чего вдруг мне понадобилось - добирался до внутренностей деньгопоглощающего терминала.

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/03/29/windows-7-upravlenie-myshyu-kursorom-myshi-s-klaviatury/

Tags: ,
Краткая заметка о русификации DOS

Преамбула


Изначально DOS довольно хреново поддерживала русский язык и официального русификатора, ЕМНИС, не было аж до четвертой версии, соответственно, всевозможных самописных русификаторов было напложено на целый грузовой состав с дискетами, и все их рассмотреть возможности не будет, так что рассмотрю один неофициальный, который работает, как минимум с DOS 5.0, и официальный способ для DOS 7.1 (Windows 98 SE)

Если у кого есть что вспомнить, насчет примечательных русификаторов, пишите в комменты.

Ссылки на нужные файлы будут в конце заметки.

KEYRUS.COM


Наверное, самый популярный русификатор на территории СНГ, написан Дмитрием Гуртяком из Украины.

Плюсы:
+ Представляет собой маленькую утилиту из одного COM-файла (32 Кб)
+ Не требует внешних шрифтов и файлов конфигурации. Настройки сохраняются в самом исполняемом файле, да в DOS так было можно.
+ При желании можно подгружать внешние шрифты
+ Есть индикация раскладки клавиатуры изменением цвета рамки вокруг экрана, сигналом PC-Speaker'а, эмуляцией звука клавиш и включением лампочки Scroll Lock (все вместе или по отдельности).
+ Гибкая настройка клавиш изменения раскладки, предлагаются разные сочетания для русской, английской или альтернативной раскладки, впрочем на все три (или только две, если альтернативная не нужна) можно назначить одну и ту же клавишу.

У меня, например, назначены русская и английская раскладка на клавишу F12 и синяя рамка вокруг экрана, если включена русская раскладка.

Русский Norton Commander без русификации:



После запуска KEYRUS.COM:



Ввод русского текста (жаль, что не видна рамка вокруг экрана)



Минусы:
- Для установления своей комбинации клавиш надо знать SCAN-коды клавиатуры
- На некоторых старых машинах запуск KEYRUS сильно замедляет клавиатуру, т.е. она начинает медленно реагировать на нажатия.
Решение: Достаточно прописать в AUTOEXEC.BAT запуск утилиты SPEEDKEY:

C:\DOS\SPEEDKEY.COM

- На некоторых виртуальных машинах KEYRUS глючит, вместо одного нажатия на клавиши управления курсором, происходит два. Пока решение одно, поменять русификатор.

Краткая инструкция к KEYRUS.COM на MEGA.NZ (TXT, DOS, RUS)
Краткая инструкция к KEYRUS.COM на PasteBin

Официальный способ русификации


Примечание: проверялось на DOS 7.1 (Windows 98 SE), если есть официальный дистрибутив DOS 5.0 и выше, тоже должно сработать.

Понадобятся следующие файлы из дистрибутива DOS:

COUNTRY.SYS - драйвер, устанавливающий региональные настройки
DISPLAY.SYS - драйвер дисплея для текстового режима.

EGA.CPI
EGA2.CPI
EGA3.CPI
ISO.CPI
- шрифты, ISO.CPI можно не копировать, там шрифт в одной из кодировок ISO, которая редко используется в DOS

KEYB.COM - утилита, подгружающая драйвер клавиатуры.

KEYBOARD.SYS
KEYBRD2.SYS
KEYBRD3.SYS
KEYBRD4.SYS
- драйвера клавиатуры, отвечающие за переключение раскладки и поддержку ввода с клавиатуры, по факту, для русского языка используются только KEYBRD2.SYS и KEYBRD3.SYS.

MODE.COM - утилита, выбирающая кодовую страницу и соответствующий шрифт.

Примечание: в DOS поддерживается только однобайтная кодировка, соответственно, в DOS используются шрифты, поддерживающие только однобайтные кодировки, т.е. не совместимые с Unicode-шрифтами и их форматами, используемых в более современных операционных системах.

Примечание: Пусть все файлы находятся в каталоге C:\DOS\ (при необходимости, замените путь на свой).

Далее, прописываем в CONFIG.SYS следующие команды:

device=C:\DOS\display.sys con=(ega,,1)
Country=007,866,C:\DOS\country.sys


CONFIG.RUS на PasteBin

А в AUTOEXEC.BAT следующие:

C:\DOS\MODE.COM con codepage prepare=((866) C:\DOS\ega3.cpi)
C:\DOS\MODE.COM con codepage select=866
C:\DOS\KEYB.COM ru,,C:\DOS\keybrd3.sys


Переключение клавиатуры


Вовчик Воротов aka Bill Gates, так и не додумался (аж до самой "смерти" DOS'а) о том, что люди захотят как-то задать переключение раскладки клавиатуры, потому без правки HIEW или другим HEX-редактором (а еще надо знать, где поправить) просто так изменить ее не получится, но можно сделать это сменой драйвера клавиатуры.

Если вы хотите, чтоб переключение на английский осуществлялось Left ALT + Left SHIFT, а на русский Right ALT + Right SHIFT, то оставьте все как есть.

Другой вариант, это Left CTRL + Left SHIFT (английская раскладка) и Right CTRL + Right SHIFT (русская раскладка). Для второго способа, надо в AUTOEXEC.BAT заменить keybrd3.sys на keybrd2.sys

Ссылки на файлы


- KEYRUS.COM (ZIP-архив с Mega.NZ)
- Краткая инструкция к KEYRUS.COM на MEGA.NZ (TXT, DOS, RUS)
- Краткая инструкция к KEYRUS.COM на PasteBin
- SPEEDKEY.COM (ZIP, Mega.NZ)
- Файлы для официальной русификации DOS (для DOS 7.1)

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/03/24/kratkaya-zametka-o-rusifikatsii-dos/

Tags: ,
Подключение RAW образа диска в Windows

Преамбула


Захотел запилить еще пару образов DOS, как для себя, так и для дела, пока сижу на складе и ковыряю в носу, но линуксовый ноут оставил дома, так что встал вопрос, чем можно примонтировать RAW образ диска, т.е. тот, который создавался с помощью dd или fsutil в Windows.

Решение


Нашел программку OSFMount.

Плюсы:
+ Бесплатная
+ Поддерживает, кроме RAW-дисков, которые не поддерживает почти никто, еще и кучу других форматов (см. ниже).
+ Может смонтировать образ как RAM-диск
+ Можно создавать новые образы в RAM
+ Форматировать (некоторые форматы)
+ Увеличивать размер (некоторые форматы)
+ Подключать, как съемное устройство
+ Конвертировать одни форматы в другие (некоторые форматы)

Минусы
- Только Windows 7 и выше
- Если подмонтировать раздел диска из образа на ту же букву диска, где был ранее подмонтирован образ HDD из WMware, то откроется ранее подмонтированный диск WMware. Решение - монтировать на другую букву или перезагрузить винду.

Поддерживаемые форматы )

Как смонтировать образ


1. Запускаем программу, заходим в меню File --> Mount new virtual disk... или жмем Alt+N.



2. Выбираем Image file [1]
3. Букву диска [3]
4. Drive type (тип диска) лучше оставить в Auto, он прекрасно определяет сам, но если вдруг перепутал (в редких случаях может спутать Floppy и HDD), то можно поменять
5. При необходимости снять галочку Read-only drive (только для чтения) [4] и поставить Mount as removable device... (смонтировать, как съемное устройство) [5]
6. Выбрать файл образа (нажать кнопку ...) [2]
7. Если на образе есть разделы, программа их обнаружит, и предложит выбрать нужный:


Программа определит формат и нужные параметры, после нажатия ОК в предыдущем окне, диск будет смонтирован и появится в главном окне программы.



Открыть можно прямо отсюда, двойным кликом по строке в таблице, или нажатием клавиши Enter на соответствующей строке.

Вот мой минимальный образ DOS для загрузки по сети (PXE):



Размонтировать - кнопкой Dismount или клавишей DEL, выбрав в таблице подмонтированный образ.

Скачать


- Официальная страничка программы, краткая инструкция (на буржуйском) и ссылки на скачивание
- Версия x86
- Версия x64
- Версия x64 (последнее обновление) (я не тестировал)
- Копия (все три инсталлятора) на Mega.NZ

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/03/20/podklyuchenie-raw-obraza-diska-v-windows/

Tags: , ,
Оригинальная DOS-часть от Windows 98



Содержимое каталога C:\WINDOWS\COMMAND

Скачать с MEGA.NZ

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/03/18/originalnaya-dos-chast-ot-windows-98/

Tags: , ,
Загрузочные дискеты Windows NT



Нашел и скопировал еще загрузочные дискеты Windows NT 4, впрочем, и сам образ скопировал, но выложить не могу, ибо копирайт.

На загрузочные/аварийные дискеты копирайт не распространяется, они бесплатные. Так что их можно.

Скачать все три аварийных дискеты Windows NT 4.0 в одном архиве с MEGA.NZ (RAR/IMG)

ЗЫ. Второй раз за день ошибаюсь в ссылке, Роскомнадзор, что-ли, порчу наводит...

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/03/13/zagruzochnye-diskety-windows-nt/

Официальная родная загрузочная дискета от MS-DOS 7.1 (Windows 98 SE)



Нашел таки живую, физическую загрузочную дискету с DOS'ом от Windows 98 SE которая была в родном комплекте (диск+дискета), пришлось поковыряться, но слил оригинальный образ, благо все хранилось чуть ли не в вакуумной упаковке, так что снялось до последнего сектора без ошибок.

Часть конфигурационного файла SYSLINUX


Для загрузки образа по сети или с CD-диска.

LABEL winb98se
    menu label Boot floppy Win98se DOS image
    kernel modules/memdisk
    initrd distrib/dos/winb98se/winb98se.img
    append floppy


Скачать


Скачать образ дискеты с MEGA.NZ

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/03/12/ofitsialnaya-rodnaya-zagruzochnaya-disketa-ot-ms-dos-7-1-windows-98-se/

Образ Windows 3.11 и Microsoft Office.

Некоторым образом готовимся к санкциям.
В интернеты пока не получилось выйти, но по локалке оно вроде соединяется. Хотя, конечно, для полного теста надо найти две 486-х машины, пока есть одна, и та 386-я, не нашел ISA-карты для нее, а второй - третий пень



Скачать образ с Mega.nz (IMG/GZip)

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/03/10/obraz-windows-3-11-i-microsoft-office/

Запуск Windows 3.11 с Word и Excel

Преамбула


Один из юзеров lj.rossia.org намедни решил поностальгировать и поиграться с DOS'ом, и в это же время мне попался образ готовой системы с Windows 3.11, ну как образ - на самом деле это был бэкап установленной уже системы, но без, собственно DOS 6.22, зато в Windows уже был установлен Word, Excel и даже какая-то поддержка сети. Со всем этим, в свое время, ИРЛ я имел только шапочное знакомство, так что попытаюсь реанимировать старый бэкап.

Начальная настройка )

Запустилось!




Дальнейшая настройка )

Office работает!


Word:



Excel:



Остальное )

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/02/27/zapusk-windows-3-11-s-word-i-excel/

Back Viewing 0 - 20