This page will give you specific instructions and tips for using Windows in PCem. The entirety of the main guide applies here too.
To discuss this setup and its usage, please visit this thread.
Table of contents
What you'll need
- libTAS and PCem (with ROM files)
- A Windows XP SP3 Home Edition ISO
- 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 libTAS movies and especially for running 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.
- Windows XP CD that we cannot distribute, but we provide hashes for the exact one you need
- Clean hard disk file to install the OS on
- Utilities CD for extra things
- PCem machine config (depends on certain ROM files)
- 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
, setconfirm_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:
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.
- If you use a verification movie to install your game, you should start with
libTAS Settings
- All settings from the 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