Os2host32

Материал из Русский WINE
Перейти к: навигация, поиск

os2host32 — экспериментальный слой совместимости с открытым исходным кодом, позволяющий запускать неизменённые бинарные файлы OS/2 в среде Windows. По своей идее проект аналогичен Wine, который позволяет запускать Windows-приложения в Linux и других Unix-подобных системах.

Проект пишется на C.

Веб-сайт проекта: https://github.com/neozeed/os2host32

Общие сведения

Os2host32.png

  • Автор и разработчик: neozeed.
  • Текущий статус: первый публичный релиз (v0_0), проект находится на ранней стадии разработки.
  • Целевая платформа: ориентирован прежде всего на Microsoft OS/2 2.0 Beta Release 6 (версия 6.78).

Установка и использование

  • Проект должен устанавливаться строго в корень диска C:, в каталог C:\os2.
  • Для активации окружения необходимо запустить c:\os2\env.cmd.
  • После активации окружения доступен cmd32os2.exe — 32-битная нативная замена командной оболочки.
  • В командной строке поддерживаются автодополнение по клавише Tab и история команд.

Технические особенности

Маршрутизация вызовов

Выполнение внешних .EXE-файлов перенаправляется через модуль DOSCALLS.283 в OS2HOST32.

Эмулируемые модули

Проект включает ряд DLL, эмулирующих ключевые системные модули OS/2:

  • DOSCALLS.dll
  • KBDCALLS.dll
  • VIOCALLS.dll
  • SESMGR.dll
  • NLS.dll
  • PMWIN.dll
  • PMGPI.dll

National Language Support

Реализовано независимое ядро National Language Support (NLS, поддержка национальных языков), не зависящее от Win32-загрузчика локали. Поддерживаются, в частности, вызовы:

  • DosQueryCp
  • DosQueryCtryInfo
  • DosMapCase

а также работа с кодовыми страницами (например, 437 и 850).

SDK-заголовки

В состав проекта входят многочисленные заголовочные файлы, происходящие из Microsoft OS/2 2.0 Beta 2 SDK, в том числе:

  • bsedos.h
  • pmwin.h
  • os2nls.h

Совместимость

На момент релиза v0_0 проект способен запускать ряд SDK-примеров. В частности, сообщается о работоспособности приложения SarienPM и об эмуляции функции DosBeep.

Как запустить

Проверялось в ReactOS.

1. Скачайте архив.

2. Распакуйте папки

  • c386
  • os2

в корень диска C:

3. создайте 4 cmd-файла (имена произвольные):

1)

C:\unios2_1.cmd
cd c:\
cd os2
cmd c:\os2\env.cmd

2)

C:\os2\unios2_2.cmd
c:\os2\cmd.cmd
cmd32os2

3)

C:\os2\unios2_3.cmd
env.cmd

4)

C:\os2\unios2_4.cmd
cmd32os2

Запускайте эти скрипты по очереди.

Запустится консоль:

[C:\os2>]

Выполните:

>] env.cmd
>] cd demos

И попробуйте запустить какую-нибудь программу:

>] neko
>] hanoi
>] wmchar

Галерея

Запуск в ReactOS

Os2host ros scr1.png Os2host ros scr2.png Os2host ros scr3.png Os2host ros scr4.png

Запуск в Wine в ALT Linux

Os2host lin scr1.png

Запуск в Windows

Os2host win scr1.png

Ссылки

OSFree
Search.png
osFree Архитектура • План работ • Компоненты • Используемые проекты • Связанные проекты • Экраны • FreePM • L4 • Скриншоты
Загрузчик [ Последовательность загрузки: поток выполнения • изменение карты памяти ] • Загрузочный сектор • L4Ka::Kickstart
Personalities OS/2 personality VIO API • FamilyAPI
Win16 personality Win16API
MVM MVM API
Разработка Получение исходных кодов • Сборка • Отладка • Отправка отчетов
API TPCrt
Сообщество IRC • Новости проекта
OS/2 Presentation Manager • IFS • Петиции к IBM
Статьи Микроядро L4 как основа ядра ОС
Родственные проекты os2host32