PCem
view readme.txt @ 170:a0642e86daea
Fixed MMX PANDN instruction.
| author | TomW |
|---|---|
| date | Wed Oct 08 20:43:36 2014 +0100 |
| parents | 3d3d486d5fce |
| children |
line source
1 PCem v9
3 PCem is licensed under the GPL, see COPYING for more details.
5 Changes since v8.1:
7 - New machines - IBM PCjr
8 - New graphics cards - Diamond Stealth 3D 2000 (S3 ViRGE/325), S3 ViRGE/DX
9 - New sound cards - Innovation SSI-2001 (using ReSID-FP)
10 - CPU fixes - Windows NT now works, OS/2 2.0+ works better
11 - Fixed issue with port 3DA when in blanking, DOS 6.2/V now works
12 - Re-written PIT emulation
13 - IRQs 8-15 now handled correctly, Civilization no longer hangs
14 - Fixed vertical axis on Amstrad mouse
15 - Serial fixes - fixes mouse issues on Win 3.x and OS/2
16 - New Windows keyboard code - should work better with international keyboards
17 - Changes to keyboard emulation - should fix stuck keys
18 - Some CD-ROM fixes
19 - Joystick emulation
20 - Preliminary Linux port
22 Thanks to HalfMinute, SA1988 and Battler for contributions towards this release.
25 PCem emulates the following machines:
27 IBM 5150 PC (1981)
28 The original PC. This shipped in 1981 with a 4.77mhz 8088, 64k of RAM, and a cassette port.
29 Disc drives quickly became standard, along with more memory.
31 ROM files needed:
33 pc102782.bin
34 basicc11.f6
35 basicc11.f8
36 basicc11.fa
37 basicc11.fc
40 IBM 5160 XT (1983)
41 From a hardware perspective, this is a minor tweak of the original PC. It originally shipped
42 with 128k of RAM and a 10mb hard disc, both of which could be easily fitted to the 1981 machine.
43 However, this was targetted as businesses and was more successful than the original.
45 ROM files needed:
47 5000027.u19
48 1501512.u18
51 IBM PCjr (1984)
52 A home machine, which had better graphics and sound than most XTs but was not hardware compatible
53 with the PC.
55 ROM files needed:
57 bios.rom
60 IBM AT (1984)
61 This was the 'next generation' PC, fully 16-bit with an 80286. The original model came with a 6mhz
62 286, which ran three times as fast as the XT. This model also introduced EGA.
64 ROM files needed:
66 at111585.0
67 at111585.1
70 Olivetti M24 (1984)
71 An enhanced XT clone, also known as the AT&T PC 6300. Has an 8086 CPU, and an unusual 'double-res'
72 CGA display.
74 ROM files needed:
76 olivetti_m24_version_1.43_low.bin
77 olivetti_m24_version_1.43_high.bin
80 Tandy 1000 (1985)
81 This is a clone of the unsuccessful IBM PCjr, which added better graphics and sound to the XT,
82 but removed much expandability plus some other hardware (such as the DMA controller). The Tandy
83 puts back the DMA controller and ISA slots, making it a much more useful machine. Many games
84 from the late 80s support the Tandy.
86 ROM files needed:
88 tandy1t1.020
91 DTK Clone XT (1986)
92 A generic clone XT board.
94 ROM files needed:
96 DTK_ERSO_2.42_2764.bin
99 Amstrad PC1512 (1986)
100 This was Amstrad's first entry into the PC clone market (after the CPC and PCW machines), and
101 was the first cheap PC available in the UK, selling for only £500. It was a 'turbo' clone,
102 having an 8mhz 8086, as opposed to an 8088, and had 512k RAM as standard. It also had a
103 perculiar modification to its onboard CGA controller - the 640x200 mode had 16 colours instead
104 of the usual 2. This was put to good use by GEM, which shipped with the machine.
106 Amstrad's CGA implementation has a few oddities, these are emulated as best as possible. This
107 mainly affects games defining unusual video modes, though 160x100x16 still works (as on the real
108 machine).
110 ROM files needed:
112 40043.v1
113 40044.v2
114 40078.ic127
117 Amstrad PC1640 (1987)
118 Amstrad's followup to the PC1512, the PC1640 had 640k of RAM and onboard EGA, but was otherwise
119 mostly the same.
121 ROM files needed:
123 40043.v3
124 40044.v3
125 40100
128 Sinclair PC200/Amstrad PC20 (1988)
129 This was Amstrad's entry to the 16-bit home computer market, intended to compete with the Atari
130 ST and Commodore Amiga. It's similar to the PC1512, but is based on Amstrad's portable PPC512
131 system. With stock CGA and PC speaker, it couldn't compare with the ST or Amiga.
133 ROM files needed:
135 pc20v2.0
136 pc20v2.1
137 40109.bin
140 Schneider Euro PC (1988)
141 A German XT clone. An 'all-in-one' system like the Sinclair PC200. I don't know much about this
142 machine to be honest! This doesn't appear to work with the XTIDE BIOS, so therefore this is the
143 only model that does not support hard discs.
145 ROM files needed:
147 50145
148 50146
151 (c)Anonymous Generic Turbo XT BIOS (1988?)
152 This is a BIOS whose source code was made available on Usenet in 1988. It appears to be an
153 anonymous BIOS from an XT clone board. It was then heavily modified to fix bugs. The history of
154 this BIOS (and the source code) is at http://dizzie.narod.ru/bios.txt
156 ROM files needed:
158 pcxt.rom
161 Commodore PC30-III (1988)
162 A fairly generic 286 clone.
164 ROM files needed:
166 commodore pc 30 iii even.bin
167 commodore pc 30 iii odd.bin
170 Amstrad PC2086 (1989)
171 The PC2086 is essentially a PC1640 with VGA and 3.5" floppy drives.
173 ROM files needed:
175 40179.ic129
176 40180.ic132
177 40186.ic171
180 Amstrad PC3086 (1990)
181 The PC3086 is a version of the PC2086 with a more standard case.
183 ROM files needed:
185 fc00.bin
186 c000.bin
189 Dell System 200 (1990?)
190 This is a pretty generic 286 clone with a Phoenix BIOS.
192 HIMEM.SYS doesn't appear to work on this one, for some reason.
194 ROM files needed:
196 dell0.bin
197 dell1.bin
200 AMI 286 clone (1990)
201 This is a generic 286 clone with an AMI BIOS.
203 ROM files needed:
205 amic206.bin
208 Acermate 386SX/25N (1992?)
209 An integrated 386SX clone, with onboard Oak SVGA and IO.
211 ROM files needed:
212 acer386.bin
213 oti067.bin
216 Amstrad MegaPC (1992)
217 A 386SX clone (otherwise known as the PC7386SX) with a built-in Sega Megadrive. Only the PC section
218 is emulated, obv.
220 ROM files needed:
221 41651-bios lo.u18
222 211253-bios hi.u19
225 AMI 386 clone (1994)
226 This is a generic 386 clone with an AMI BIOS. The BIOS came from my 386DX/40, the motherboard is
227 dated June 1994.
229 ROM files needed:
231 ami495.bin
234 AMI 486 clone (1993)
235 This is a generic 486 clone with an AMI BIOS. The BIOS came from my 486SX/25, bought in December
236 1993.
238 ROM files needed:
240 ami1429.bin
243 AMI WinBIOS 486 clone (1994)
244 A 486 clone with a newer AMI BIOS.
246 ROM files needed:
248 ali1429g.amw
251 Award SiS 496/497 (1995)
252 A 486 clone using the SiS 496/497 chipset, with PCI bus and Award BIOS.
254 ROM files needed:
256 SIS496-1.AWA
259 Award 430VX PCI (1996)
260 A generic Socket 5/7 board with 430VX chipset.
262 ROM files needed:
264 55XWUQ0E.BIN
268 PCem emulates the following graphics adapters :
270 MDA
271 The original PC adapter. This displays 80x25 text in monochrome.
274 Hercules
275 A clone of MDA, with the addition of a high-resolution 720x348 graphics mode.
278 CGA
279 The most common of the original adapters, supporting 40x25 and 80x25 text, and
280 320x200 in 4 colours, 640x200 in 2 colours, and a composite mode giving 160x200
281 in 16 colours.
284 IBM EGA
285 The original 1984 IBM EGA card, with 256k VRAM.
287 ROM files needed:
289 ibm_6277356_ega_card_u44_27128.bin
292 Trident 8900D SVGA
293 A low cost SVGA board circa 1992/1993. Not the greatest board in it's day, but
294 it has a reasonable VESA driver and (buggy) 15/16/24-bit colour modes.
296 ROM files needed:
298 trident.bin
301 Trident TGUI9440
302 A later Trident board with GUI acceleration. Windows 9x doesn't include drivers
303 for this, so they have to be downloaded and installed separately.
305 ROM files needed:
307 9440.vbi
310 Tseng ET4000AX SVGA
311 A somewhat better SVGA board than the Trident, here you get better compatibility
312 and speed (on the real card, not the emulator) in exchange for being limited to
313 8-bit colour.
315 ROM files needed:
317 et4000.bin
320 Diamond Stealth 32 SVGA
321 An ET4000/W32p based board, has 15/16/24-bit colour modes, plus acceleration.
323 ROM files needed:
325 et4000w32.bin
328 Paradise Bahamas 64
329 An S3 Vision864 based board.
331 ROM files needed:
333 bahamas64.bin
336 Number Nine 9FX
337 An S3 Trio64 based board.
339 ROM files needed:
341 s3_764.bin
344 ATI VGA Edge-16
345 A basic SVGA clone.
347 ROM files needed:
349 vgaedge16.vbi
352 ATI VGA Charger
353 A basic SVGA clone, similar to the Edge-16.
355 ROM files needed:
357 bios.bin
360 ATI Graphics Pro Turbo
361 A Mach64GX based board. Probably the best of the emulated boards for use in
362 Windows.
364 ROM files needed:
366 mach64gx/bios.bin
369 OAK OTI-067
370 A basic SVGA clone.
372 ROM files needed:
374 oti067/bios.bin
377 Diamond Stealth 3D 2000
378 An S3 ViRGE/325 based board.
380 PCem emulates the ViRGE S3D engine in software. This works with most games I tried, but
381 there may be some issues. The Direct3D drivers for the /325 are fairly poor (often showing
382 as missing triangles), so use of the /DX instead is recommended.
384 The streams processor (video overlay) is also emulated, however many features are missing.
386 ROM files needed:
388 s3virge.bin
391 S3 ViRGE/DX
392 An S3 ViRGE/DX based board. The drivers that come with Windows are similar to those for the
393 /325, however better ones do exist (try the 8-21-1997 version). With the correct drivers,
394 many early Direct3D games work okay (if slowly).
396 ROM files needed:
398 86c375_1.bin
401 Some models have fixed graphics adapters :
403 Olivetti M24
404 CGA with double-res text modes and a 640x400 mode. I haven't seen a dump of the font
405 ROM for this yet, so if one is not provided the MDA font will be used - which looks slightly odd
406 as it is 14-line instead of 16-line.
408 Tandy 1000
409 CGA with various new modes - 160x200x16, 320x200x16, 640x200x4. Widely supported in 80s
410 games.
412 Amstrad PC1512
413 CGA with a new mode (640x200x16). Only supported in GEM to my knowledge.
415 Amstrad PC1640
416 Paradise EGA.
418 Amstrad PC2086/PC3086
419 Paradise PVGA1. An early SVGA clone with 256kb VRAM.
421 Amstrad MegaPC
422 Paradise 90C11. A development of the PVGA1, with 512kb VRAM.
424 Acer 386SX/25N
425 Oak OTI-067. Another 512kb SVGA clone.
429 PCem emulates the following sound devices :
431 PC speaker
432 The standard beeper on all PCs. Supports samples/RealSound.
434 Tandy PSG
435 The Texas Instruments chip in the PCjr and Tandy 1000. Supports 3 voices plus
436 noise. I reused the emulator in B-em for this (slightly modified).
438 Gameblaster
439 The Creative Labs Gameblaster/Creative Music System, Creative's first sound card
440 introduced in 1987. Has two Philips SAA1099, giving 12 voices of square waves plus 4 noise
441 voices. In stereo!
443 Adlib
444 Has a Yamaha YM3812, giving 9 voices of 2 op FM, or 6 voices plus a rhythm section. PCem
445 uses the DOSBox dbopl emulator.
447 Adlib Gold
448 OPL3 with YM318Z 12-bit digital section. Possibly some bugs (not a lot of software to test).
450 Sound Blaster
451 Several Sound Blasters are emulated :
452 SB v1.0 - The original. Limited to 22khz, and no auto-init DMA (can cause crackles sometimes).
453 SB v1.5 - Adds auto-init DMA
454 SB v2.0 - Upped to 41khz
455 SB Pro v1.0 - Stereo, with twin OPL2 chips.
456 SB Pro v2.0 - Stereo, with OPL 3 chip
457 SB 16 - 16 bit stereo
458 SB AWE32 - SB 16 + wavetable MIDI. This requires a ROM dump from a real AWE32.
459 All are set to Address 220, IRQ 7 and DMA 1 (and High DMA 5). IRQ and DMA can be changed for the
460 SB16 & AWE32 in the drivers.
461 The relevant SET line for autoexec.bat is
462 SET BLASTER = A220 I7 D1 Tx - where Tx is T1 for SB v1.0, T3 for SB v2.0, T4 for SB Pro,
463 and T6 for SB16.
465 AWE32 requires a ROM dump called awe32.raw. AWE-DUMP is a utility which can get a dump from a real
466 card. Most EMU8000 functionality should work, however filters are not correct and reverb/chorus
467 effects are not currently emulated.
470 Gravis Ultrasound
471 32 voice sample playback. Port address is fixed to 240, IRQ and DMA can be changed from the drivers.
472 Emulation is improved significantly over previous versions.
475 Windows Sound System
476 16-bit digital + OPL3. Note that this only emulates WSS itself, and should not be used with drivers
477 from compatible boards with additional components (eg Turtle Beach Monte Carlo)
480 Innovation SSI-2001
481 SID6581. Emulated using resid-fp. Board is fixed to port 280.
484 Other stuff emulated :
486 Serial mouse
487 A Microsoft compatible serial mouse on COM1. Compatible drivers are all over the place for this.
489 M24 mouse
490 I haven't seen a DOS mouse driver for this yet, but the regular scancode mode works, as does the
491 Windows 1.x driver.
493 PC1512 mouse
494 The PC1512's perculiar quadrature mouse. You need Amstrad's actual driver for this one.
496 PS/2 mouse
497 A PS/2 mouse is emulated on the MegaPC and 386SX/25N model. As with serial, compatible drivers are common.
499 ATAPI CD-ROM
500 Works with OAKCDROM.SYS. It can only work with actual CD-ROM drives at the minute, so to use ISO images
501 you need a virtual CD drive.
504 XTIDE :
506 The XTIDE board is emulated for machines that don't natively support IDE hard discs.
508 You will need to download the XTIDE BIOS seperately. Of the various versions, ide_at.bin and ide_xt.bin
509 should be placed in the ROMS directory. ide_xt is used on all XT models, and ide_at is used on the IBM AT
510 and Commodore PC30-III machines.
512 The BIOS is available at :
514 http://code.google.com/p/xtideuniversalbios/
516 v2.0.0 beta 1 is the only version that has been tested.
519 Notes :
521 - The AT and AMI 286 both fail part of their self test. This doesn't really affect anything,
522 just puts an irritating message on the screen.
524 - The time on the PC1512 clock is wrong. The date is correct, though since the PC1512's bios isn't
525 Y2k compliant, it thinks it's 1988.
527 - The envelope system on the Gameblaster isn't emulated. The noise may not be right either.
529 - Some of the more unusual VGA features are not emulated. I haven't found anything that uses them yet.
531 - Windows 3.x should work okay in all modes now.
533 - Windows 95/98/ME run, with the following caveats :
534 - Setup sometimes crashes in the first stage (during file copying). This appears to be a side effect of the
535 bugs fixed making OS/2 work. Unfortunately I haven't been able to eliminate this issue.
536 - On some versions of Windows the AWE32 is not set up correctly, claiming a resource conflict. To correct
537 this open the relevant item in Device Manager, choose 'Set Configuration Manually' and accept the
538 options presented.
540 - OS/2 1.3 seems to work okay, but I haven't tested it very thoroughly.
542 - Linux appears to work. fdlinux runs okay, but is relatively useless. SuSE 6.3 seemed
543 mostly okay. RedHat Seawolf also seems to work fine.
545 - Windows NT works okay now. I've tested NT 3.51, NT 4, and 2000. I've also been informed
546 that NT 3.1 works. XP does not currently run as PCem doesn't emulate any processor with
547 the required CMPXCHG8B instruction.
550 Software tested:
553 MS-DOS 3.30
554 PC-DOS 3.30
555 PC-DOS 5.02
556 MS-DOS 6.22
557 - Most of the supplied software seems to work, eg Drivespace, Defrag, Scandisk, QBASIC
558 etc
560 Windows/286
561 Windows/386
562 Windows 3.0
563 Windows 3.1
564 Windows 3.11 for Workgroups
565 Windows 95
566 Windows 95 OSR 2.5
567 Windows 98
568 Windows 98 SE
569 Windows ME
570 Windows NT 3.51
571 Windows NT 4
572 Windows 2000
574 All New World of Lemmings
575 Command and Conquer : Red Alert
576 Croc (demo, ViRGE)
577 Dawn Patrol
578 Doom
579 Duke Nukem 3D
580 Epic Pinball
581 Final Fantasy 7 (i430VX only)
582 Forsaken (ViRGE)
583 Grand Theft Auto
584 Grim Fandango (ViRGE)
585 Incoming (ViRGE, SLOW)
586 Jedi Knight (ViRGE)
587 Lemmings
588 Network Q RAC Rally
589 Pro Pinball : Big Race USA
590 Psycho Pinball
591 Quake
592 Quake 2 (SLOW - unsurprisingly)
593 Screamer Rally
594 Simcity 2000
595 Simcity 3000 (SLOW)
596 Syndicate
597 System Shock
598 Theme Park
599 Tomb Raider (ViRGE version has oversized display)
600 Tomb Raider II (ViRGE - has display artifacts that also occur on real hardware)
601 Transport Tycoon
602 Tyrian
603 Wolfenstein 3D
604 Worms
605 UFO : Enemy Unknown
606 X-Com : Apocalypse
