View Page Source

Revision (current)
Last Updated by feos on 3/11/2024 7:56 PM
Back to Page

This page will give you specific instructions and tips for using Windows in PCem. The entirety of the [EmulatorResources/PCem|main guide] applies here too.

To discuss this setup and its usage, please [Forum/Topics/24903|visit this thread].

[module:youtube|v=GJodywbJNcM]

%%TOC%%

!!! What you'll need

* [EmulatorResources/PCem#WhatYouLlNeed|libTAS and PCem (with ROM files)]
* A [EmulatorResources/PCem/Windows/Configurations#WindowsXpCd|Windows XP SP3 Home Edition] ISO
* [EmulatorResources/PCem/Windows/Configurations#UtilitiesCd|Utilities CD] with Voodoo drivers and other goodies

!!! Using with libTAS

This section will be focusing on setting up a configuration to make tool-assisted speedruns. These guidelines will help you make a TAS that people will be able to sync on other machines. If nobody else can sync your run, then it will probably not get accepted!

Be aware of our Movie Rules for [EmulatorResources/LibTAS#MovieSubmissions|libTAS movies] and especially for running [EmulatorResources/PCem#MovieSubmissions|PCem in libTAS].

!! Windows XP installation movie

We cannot distribute a fully configured OS hard drive image like we did with the DOS configurations, so you will need to install Windows XP yourself. We can provide a libTAS movie that you can run and it will automatically install Windows XP onto a hard drive image for you.

* [EmulatorResources/PCem/Windows/Configurations#WindowsXpCd|Windows XP CD] that we cannot distribute, but we provide hashes for the exact one you need
* [https://files.tasvideos.org/common/Wiki/pcem/windows/windowsxp.img.7z|Clean hard disk file to install the OS on]
* [EmulatorResources/PCem/Windows/Configurations#UtilitiesCd|Utilities CD for extra things]
* [UserFiles/Info/638283187222055723|PCem machine config] (depends on [EmulatorResources/PCem/Windows/Configurations#Roms|certain ROM files])
* [UserFiles/Info/638325621597452212|OS installation movie]
* Make sure you don't have {{~/.pcem/roms/ga686bx/flash.bin}} or {{~/.pcem/nvr/windowsxp.ga686bx.nvr}} before running the movie. They should be generated ''by it''.
* In {{~/.pcem/pcem.cfg}}, set {{confirm_on_stop_emulation = 0}}.
* __Disable__ libTAS OSD in the ''Video'' menu if using libTAS versions prior to 1.4.5 to avoid triggering a memory leak bug.
* __Uncheck__ ''Runtime -> Prevent writing to disk'' for the installation movie.

Here's how we created the movie:
* [Emulator Resources / PCem / Windows / Configurations]

!! flash.bin and NVR

{{flash.bin}} is file a created by the system, it contains the flash memory of the system. Because the ROM gets written into it, we can't distribute it. This file may also contain custom system parameters from previous configs using the chipset.

Similarly, a non-volatile memory file is created in {{~/.pcem/nvr/}} named after your machine config and motherboard (for example {{windowsxp.ga686bx.nvr}}). It is also required for movie sync. It ''can'' be distributed, but it's pointless to distribute it, since the installation movie has to be run anyway, and it recreates the NVR file.

* __You must start with the {{~/.pcem/roms/ga686bx/flash.bin}} and {{~/.pcem/nvr/windowsxp.ga686bx.nvr}} files that were generated from the Windows XP installation movie__.
** If you use a verification movie to install your game, you should start with {{flash.bin}} and {{.nvr}} that were generated from that.

!! libTAS Settings

* All settings from the [EmulatorResources/PCem#UsingLibtasWithPcem|general PCem guide] apply
* Games that attempt to fetch the current time and date may not work correctly using the default system time in libTAS (which results in 2070-01-01). To fix this, set the system time to a date between 2000-01-01 (946684800 ''System time'' in libTAS) and 2037-12-31 (2145830400).
** 1980-01-01 (2145830400 ''System time'' in libTAS) to 1999-12-31 (946684800) should also work. However, Windows XP is known to take substantially longer to boot up using system times in this range and hence this is not recommended.

!!! Trivia

!! System time and startup timecodes

|| Starting time ||   3dfx card BIOS || Pentium II BIOS || System Config || Windows XP || Res increase || Mouse appears || Welcome || Desktop ||
|              1 |              2.27 |             3.63 |           9.57 |       13.82 |         44.39 |          44.55 |    48.75 |    51.56 |
|      100000000 | Trial expiry      |                  |                |             |               |                |          |          |
|      300000000 | Trial expiry      |                  |                |             |               |                |          |          |
|      400000000 | Invalid time/date |                  |                |             |               |                |          |          |
|      500000000 | Too long (300+)   |                  |                |             |               |                |          |          |
|      800000000 | Invalid time/date |                  |                |             |               |                |          |          |
|     1000000000 |              2.27 |             3.63 |           9.57 |       13.82 |         53.42 |          55.88 |    60.63 |    68.75 |
|     1100000000 |              2.27 |             3.63 |           9.57 |       13.82 |         44.4  |          44.56 |    48.94 |    51.39 |
|     1200000000 |              2.27 |             3.63 |           9.57 |       13.82 |         44.42 |          44.58 |    48.84 |    51.49 |
|     1300000000 |              2.27 |             3.63 |           9.57 |       13.82 |         44.4  |          44.56 |    48.55 |    53.62 |
|     1400000000 |              2.27 |             3.63 |           9.57 |       13.82 |         53.42 |          55.89 |    58.36 |    68.84 |
|     1500000000 |              2.27 |             3.63 |           9.57 |       13.82 |         53.42 |          55.88 |    58.31 |    68.78 |
|     1600000000 |              2.27 |             3.63 |           9.57 |       13.82 |         53.42 |          55.88 |    59.92 |    68.72 |
|     1700000000 |              2.27 |             3.63 |           9.57 |       13.82 |         44.4  |          44.56 |    48.74 |    51.1  |
|     1800000000 |              2.27 |             3.63 |           9.57 |       13.82 |         44.4  |          44.56 |    48.91 |    51.36 |
|     1900000000 |              2.27 |             3.63 |           9.57 |       13.82 |         44.4  |          44.57 |    49.01 |    51.36 |
|     2000000000 |              2.27 |             3.63 |           9.57 |       13.82 |         53.42 |          55.88 |    59.88 |    68.75 |
|     2100000000 |              2.27 |             3.63 |           9.57 |       13.82 |         53.42 |          55.89 |    58.27 |    68.76 |

Legend:
* __3dfx card BIOS__ = first frame that the text is visible onscreen
* __Pentium II BIOS__ = first frame that the text is visible onscreen
* __System Config__ = frame that the window settles on its new resolution
* __Windows XP__ = frame that the window settles on its new resolution of 640x480
* __Res increase__ = frame that the window settles on its new resolution of 800x600
* __Mouse appears__ = first frame that the mouse appears onscreen
* __Welcome__ = first frame that the welcome screen (or "Windows is starting up") is fully visible
* __Desktop__ = first frame that the desktop is fully visible