mirror of
https://github.com/WindowsNT351/CE-Collections.git
synced 2025-12-28 01:50:26 +08:00
Compare commits
4 Commits
70f2860221
...
484fc1b738
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
484fc1b738 | ||
|
|
2c7fb2ee94 | ||
|
|
62c66fec6c | ||
|
|
e9baf36447 |
66
README.md
66
README.md
@ -10,7 +10,7 @@
|
||||
|
||||
---
|
||||
|
||||
# ❓ 什么是 CE Collections
|
||||
# ✏️ 什么是 CE Collections
|
||||
CE Collections 集合了几乎所有基于 CE 内核的官方Windows版本(例如 Windows CE Core,Windows Mobile,Windows Phone等)的镜像和模拟器。
|
||||
|
||||
镜像包括:
|
||||
@ -29,11 +29,11 @@ CE Collections 集合了几乎所有基于 CE 内核的官方Windows版本(例
|
||||
1. 在插入光盘之前,启动宿主操作系统(NT4.0-Win11)。
|
||||
2. 插入光盘并等待弹出菜单,如果没有,运行[CD(DVD)ROM]:\WNT\Menu3.exe。
|
||||
3. 选择要启动的操作系统(模拟器)。注意,当使用不同的主机操作系统时,会有一些不同的限制。
|
||||
<img src="./menuwnt.png" width="900px;" alt=""/>
|
||||
- Windows NT 4.0 可用Shell Emulator,这是Shell Emulator的最佳宿主操作系统。
|
||||
- Windows 2000 - XP 可以Shell Emulator(x64宿主系统上不能运行Auto PC 1.0)和ARM DeviceEmulator。
|
||||
- Windows 7 - 8.1 可用Shell Emulator(Pocket PC 2000和x64宿主系统上的Auto PC 1.0除外)ARM DeviceEmulator、XDE Emulator和Whitebox Emulator。
|
||||
- Windows 10 - 11 可用Shell Emulator(Pocket PC 2000和x64宿主系统上的Auto PC 1.0除外)ARM DeviceEmulator和Whitebox Emulator。
|
||||
<img src="./menuwnt.png" width="900px;" alt=""/>
|
||||
4. 完成!
|
||||
|
||||
## CEPC平台使用方法
|
||||
@ -50,14 +50,68 @@ CE Collections 集合了几乎所有基于 CE 内核的官方Windows版本(例
|
||||
<img src="./menudos.png" width="800px;" alt=""/>
|
||||
3. 选择想使用的分辨率或确认启动。请注意,启动镜像有时存在一些限制。
|
||||
- VGA8BPP显示驱动:
|
||||
<img src="./menudos2.png" width="800px;" alt=""/>
|
||||
- 对于VMware、VBox、Qemu或其他现代虚拟机,只能使用低分辨率模式。
|
||||
- 对于86Box PCem或实体机,务必使用S3视频卡(WinCE2.0使用S3Trio64,其他版本使用S3Virge),这样能开启高分辨率,否则只能使用低分辨率。
|
||||
- Windows Mobile 的VESA显示驱动:
|
||||
<img src="./menudos3.png" width="800px;" alt=""/>
|
||||
- 由于Windows Mobile显示为竖向,有些显卡在遇到此分辨率时会显示错误,发生这种情况时请尝试使用另一个分辨率。
|
||||
<img src="./menudos2.png" width="800px;" alt=""/>
|
||||
<img src="./menudos3.png" width="800px;" alt=""/>
|
||||
4. 完成!
|
||||
|
||||
# 🔧 CE-Collections 各部分是如何工作的
|
||||
## WinNT Platform
|
||||
1. 插入光盘,自动打开[CD(DVD)ROM]:\WNT\Menu3.exe
|
||||
2. Menu3.exe加载显示[CD(DVD)ROM]:\WNT\menu.enus配置文件,加载[CD(DVD)ROM]:\CECV20.D0版本配置文件。
|
||||
3. 选择要启动的模拟器/镜像
|
||||
- Shell Emulator类
|
||||
1. 使用shellmgr [模拟器种类] [路径] [主程序名称]。
|
||||
2. shellmgr将模拟器复制到系统(用户)TEMP文件夹。
|
||||
3. shellmgr检测宿主系统是否符合当前模拟器。
|
||||
4. shellmgr对于不同模拟器做准备工作。
|
||||
- WinCE 1.0: 设置需要的环境变量
|
||||
- HPC/PPC 2.x: 替换模板注册表内模拟器镜像,合并注册表
|
||||
- PPC 2000: 替换模板注册表内模拟器镜像,合并注册表(不同的目录结构)
|
||||
- APC 1.0: 替换模板注册表内模拟器镜像,合并注册表,加载WCEFS.sys驱动,如果是Windows Vista以上系统,循环终止ApcHook.sys(如果不终止会导致系统蓝屏)。
|
||||
5. shellmgr启动对应的主程序。
|
||||
6. shellmgr等待主程序关闭。
|
||||
7. shellmgr卸载装载的驱动,删除临时文件。
|
||||
- ARM DeviceEmulator类
|
||||
1. 直接使用DeviceEmulator /video [适用于本镜像的分辨率] /memsize 256
|
||||
- CEPC WhiteboxEmulator类
|
||||
1. 直接使用Whitebox [分辨率选择,见CEPC,相比于DOSCEPC,此处区分更详细] /M:[对应的86Box配置文件]
|
||||
- XDE Emulator类
|
||||
1. 使用xdemgr [XDE版本] [NK.bin]。
|
||||
2. xdemgr检测宿主系统是否符合当前模拟器。
|
||||
3. xdemgr复制XDE的VMM.sys(系统为32位)或VMM64.sys(系统为64位)到TEMP文件夹并加载。
|
||||
4. xdemgr复制XDE的配置文件到TEMP文件夹。
|
||||
5. xdemgr启动XDE模拟器。
|
||||
6. xdemgr等待XDE关闭。
|
||||
7. xdemgr卸载驱动,删除临时文件。
|
||||
## CEPC Platform
|
||||
1. 插入光盘/启动软盘,并从中引导至MS-DOS 7.1。
|
||||
2. 加载LOGO.sys显示启动logo。加载光驱驱动(IDE)。
|
||||
3. 检测D:是否为CE-Collections光盘,若不是,遍历寻找。
|
||||
4. 打开[CD(DVD)ROM]:\DOS\Menu.bat,加载[CD(DVD)ROM]:\CECV20.D0版本配置文件。
|
||||
5. 用户选择启动的镜像。
|
||||
6. 自动检测选择的镜像为何种镜像(2.0-2.10/2.11-2.12 HPC2000/3.0-2013/WinMobile)。
|
||||
- 2.0-2.10
|
||||
1. 显示警告提示框。
|
||||
2. 使用Loadcepc /D:3 [NK.bin]
|
||||
- 2.11-2.12 HPC2000
|
||||
1. 显示分辨率选择提示框。
|
||||
2. 高分辨率使用Loadcepc /D:3 [NK.bin]
|
||||
低分辨率使用Loadcepc /D:0 [NK.bin](此分辨率几乎不可用)
|
||||
- 3.0-2013
|
||||
1. 显示确认启动提示框。
|
||||
2. 使用Loadcepc /L:800x600x16 [NK.bin]
|
||||
- WinMobile
|
||||
1. 显示分辨率选择提示框。
|
||||
2. 修复分辨率使用Loadcepc /L:175x240x16 [NK.bin]
|
||||
原始分辨率使用Loadcepc /L:320x400x16 [NK.bin]
|
||||
### Loadcepc是什么?
|
||||
Loadcepc是Windows CE x86镜像的引导器(Bootloader),起到将NK.bin加载至内存,设置显示分辨率,跳转到指定地址的作用。
|
||||
DOS只是CE启动的跳板,CE启动后,DOS提供的中断例程和驻留在内存的程序将不可用,x86CE不是基于DOS的。
|
||||
|
||||
# ❓ QA
|
||||
Q: 在 86Box 或 PCem 中无法引导光盘
|
||||
A: 请使用 7Zip 等压缩软件打开 ISO 文件,解压 [boot] 文件夹中的 img 文件,然后从软盘引导。
|
||||
@ -81,7 +135,7 @@ Q: 你能把其他 Windows 系统集成进来吗?
|
||||
A: 请看项目名称——答案自明。
|
||||
|
||||
|
||||
# ❗ 本项目集成的 CE 镜像和模拟器
|
||||
# 🔨 本项目集成的 CE 镜像和模拟器
|
||||
|
||||
| | | | CE-Collections Supporting | | |
|
||||
|---------------------------|---------|--------------|-----------------------------------|----------------------|----------------------|
|
||||
@ -198,7 +252,7 @@ A: 请看项目名称——答案自明。
|
||||
- DOS-LOGO: http://retro.timb.us/Documents/Software/DOS-LOGO.html
|
||||
- Whitebox: https://github.com/WindowsNT351/Whitebox
|
||||
|
||||
# 📥 SDK及其他相关工具下载
|
||||
# ⚒️ SDK及其他相关工具下载
|
||||
### Windows CE 1.x
|
||||
#### Windows CE 1.0x
|
||||
[Microsoft Visual C++ For Windows CE Version 1.0](https://archive.org/details/msvcceu.100)<br />
|
||||
|
||||
Binary file not shown.
@ -129,12 +129,12 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "351Workshop"
|
||||
VALUE "FileDescription", "CE-Collections WinNT platform loader"
|
||||
VALUE "FileVersion", "2.02.RC1.01"
|
||||
VALUE "FileVersion", "2.02.RC1.02"
|
||||
VALUE "InternalName", "menu3.exe"
|
||||
VALUE "LegalCopyright", "Copyright 351Workshop 2022-2025"
|
||||
VALUE "OriginalFilename", "menu3.exe"
|
||||
VALUE "ProductName", "CE-Collections"
|
||||
VALUE "ProductVersion", "2.02.RC1.01"
|
||||
VALUE "ProductVersion", "2.02.RC1.02"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
@ -176,6 +176,13 @@ END
|
||||
IDB_BITMAP1 BITMAP "res\\background.bmp"
|
||||
IDB_BITMAP2 BITMAP "res\\about.bmp"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Cursor
|
||||
//
|
||||
|
||||
IDC_CURSOR1 CURSOR "res\\hand.cur"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
|
||||
@ -253,6 +253,10 @@
|
||||
RelativePath=".\res\background.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\res\hand.cur"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\res\menu3.ico"
|
||||
>
|
||||
|
||||
@ -135,7 +135,7 @@ BOOL Cmenu3Dlg::OnInitDialog()
|
||||
GetDlgItem(IDC_STATICBTN3)->GetWindowRect(&m_rectbtn3);
|
||||
ScreenToClient(&m_rectbtn3);
|
||||
|
||||
SetWindowLong(m_hWnd, GWL_STYLE, WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX);
|
||||
//SetWindowLong(m_hWnd, GWL_STYLE, WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX);
|
||||
|
||||
int iNodeNum = GetPrivateProfileInt(L"0", L"nodeNum", 255, lpPath);
|
||||
treeStr = new HTREEITEM[iNodeNum]();
|
||||
@ -306,7 +306,10 @@ void Cmenu3Dlg::OnMouseMove(UINT nFlags, CPoint point)
|
||||
{
|
||||
HCURSOR hCursor;
|
||||
hCursor = ::LoadCursor ( NULL, IDC_HAND );
|
||||
if(hCursor == NULL)
|
||||
hCursor = LoadCursor ( AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDC_CURSOR1) );
|
||||
::SetCursor ( hCursor );
|
||||
Sleep(10);
|
||||
}
|
||||
CDialog::OnMouseMove(nFlags, point);
|
||||
}
|
||||
|
||||
@ -41,4 +41,5 @@ public:
|
||||
CRect m_rectbtn2;
|
||||
CRect m_rectbtn3;
|
||||
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
||||
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
|
||||
};
|
||||
|
||||
BIN
WNT/menu3.exe/res/hand.cur
Normal file
BIN
WNT/menu3.exe/res/hand.cur
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 326 B |
@ -9,6 +9,7 @@
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDB_BITMAP1 129
|
||||
#define IDB_BITMAP2 130
|
||||
#define IDC_CURSOR1 131
|
||||
#define IDC_TREE1 1000
|
||||
#define IDC_EDIT1 1005
|
||||
#define IDC_STATICBTN1 1009
|
||||
@ -20,7 +21,7 @@
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 131
|
||||
#define _APS_NEXT_RESOURCE_VALUE 132
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#define _APS_NEXT_CONTROL_VALUE 1013
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user