PCem

changeset 60:a039bc6ad4d4

Updated documentation for next release. Added missing folders in roms directory.
author TomW
date Sat Dec 21 17:53:13 2013 +0000
parents 76baf8ee183e
children 4a7f078c8174
files readme.txt roms/mach64gx/roms.txt roms/oti067/roms.txt
diffstat 3 files changed, 246 insertions(+), 148 deletions(-) [+]
line diff
     1.1 --- a/readme.txt	Sat Dec 21 09:55:49 2013 +0000
     1.2 +++ b/readme.txt	Sat Dec 21 17:53:13 2013 +0000
     1.3 @@ -1,22 +1,22 @@
     1.4 -PCem v0.7
     1.5 +PCem v8
     1.6  
     1.7 -Changes since v0.6:
     1.8 +Changes since v0.7:
     1.9  
    1.10 -- New machines - DTK XT clone, Amstrad PC2086, Amstrad PC3086, Olivetti M24, Commodore PC 30 III, 
    1.11 -  PCI 486 clone
    1.12 -- New graphics cards - IBM EGA, Diamond Stealth 32 (ET4000/W32p), Paradise Bahamas 64 (S3 Vision864)
    1.13 -- IDE hard disc emulation. This replaces the old INT 13 trapping emulation on all models. For machines
    1.14 -  which don't natively have IDE support, the XTIDE board is emulated. See the readme file for details.
    1.15 -- Fixed wrong code segment on page fault - eliminates some Win95 crashes
    1.16 -- Fixed trap flag on POPF/IRET - improves DOS box on Win95
    1.17 -- Fixed various pmode stuff, OS/2 v1.3 works
    1.18 -- Fixed MMU caching bug, Win95 more stable, IE4 now works, Win98 now works, Linux now appears to work
    1.19 -- Major improvements to floppy disc emulation - fixed occasional disc corruption, works with OS/2 and Linux
    1.20 -- ATAPI identify command now returns an ATAPI version, Win95 native CD-ROM drivers now work.
    1.21 -- CD-ROM emulation now uses raw read for audio - works on Windows 7
    1.22 -- Major internal changes to graphics emulation
    1.23 -- Major internal changes to memory and IO emulation
    1.24 -- Many other changes
    1.25 +- New machines - SiS496/497, 430VX
    1.26 +- WinChip emulation (including MMX emulation)
    1.27 +- New graphics cards - S3 Trio64, Trident TGUI9440AGi, ATI VGA Edge-16, ATI VGA Charger, 
    1.28 +  OAK OTI-067, ATI Mach64
    1.29 +- New sound cards - Adlib Gold, Windows Sound System, SB AWE32
    1.30 +- Improved GUS emulation
    1.31 +- MPU-401 emulation (UART mode only) on SB16 and AWE32
    1.32 +- Fixed DMA bug, floppy drives work properly in Windows 3.x
    1.33 +- Fixed bug in FXAM - fixes Wolf 3D, Dogz, some other stuff as well
    1.34 +- Other FPU fixes
    1.35 +- Fixed serial bugs, mouse no longer disappears in Windows 9x hardware detection
    1.36 +- Major reorganisation of CPU emulation
    1.37 +- Direct3D output mode
    1.38 +- Fullscreen mode
    1.39 +- Various internal changes
    1.40  
    1.41  
    1.42  PCem emulates the following machines:
    1.43 @@ -245,109 +245,229 @@
    1.44  hot-433.ami
    1.45  
    1.46  
    1.47 +Award SiS 496/497 (1995)
    1.48 +A 486 clone using the SiS 496/497 chipset, with PCI bus and Award BIOS.
    1.49 +
    1.50 +ROM files needed:
    1.51 +
    1.52 +SIS496-1.AWA
    1.53 +
    1.54 +
    1.55 +Award 430VX PCI (1996)
    1.56 +A generic Socket 5/7 board with 430VX chipset.
    1.57 +
    1.58 +ROM files needed:
    1.59 +
    1.60 +55XWUQ0E.BIN
    1.61 +
    1.62 +
    1.63 +
    1.64  PCem emulates the following graphics adapters :
    1.65  
    1.66 -MDA - The original PC adapter. This displays 80x25 text in monochrome.
    1.67 +MDA
    1.68 +The original PC adapter. This displays 80x25 text in monochrome.
    1.69  
    1.70 -Hercules - A clone of MDA, with the addition of a high-resolution 720x348 graphics mode.
    1.71  
    1.72 -CGA - The most common of the original adapters, supporting 40x25 and 80x25 text, and 
    1.73 -    320x200 in 4 colours, 640x200 in 2 colours, and a composite mode giving 160x200 in 16 colours.
    1.74 +Hercules
    1.75 +A clone of MDA, with the addition of a high-resolution 720x348 graphics mode.
    1.76  
    1.77 -IBM EGA - The original 1984 IBM EGA card, with 256k VRAM.
    1.78  
    1.79 -Trident 8900D SVGA - A low cost SVGA board circa 1992/1993. Not the greatest board in it's day, but
    1.80 -    it has a reasonable VESA driver and (buggy) 15/16/24-bit colour modes.
    1.81 +CGA
    1.82 +The most common of the original adapters, supporting 40x25 and 80x25 text, and 
    1.83 +320x200 in 4 colours, 640x200 in 2 colours, and a composite mode giving 160x200
    1.84 +in 16 colours.
    1.85  
    1.86 -Tseng ET4000AX SVGA - A somewhat better SVGA board than the Trident, here you get better compatibility
    1.87 -    and speed (on the real card, not the emulator) in exchange for being limited to 8-bit colour.
    1.88  
    1.89 -Diamond Stealth 32 SVGA - An ET4000/W32p based board, has 15/16/24-bit colour modes, plus acceleration.
    1.90 -    There is an odd bug with this one, where Windows 9x DOS boxes won't open with modes beyond 8-bit 
    1.91 -    colour. Supports PCI.
    1.92 +IBM EGA
    1.93 +The original 1984 IBM EGA card, with 256k VRAM.
    1.94  
    1.95 -Paradise Bahamas 64 - An S3 Vision864 based board. This has the best Windows drivers, but the default
    1.96 -    VESA driver is poor. Supports PCI.
    1.97 +ROM files needed:
    1.98 +
    1.99 +ibm_6277356_ega_card_u44_27128.bin
   1.100 +
   1.101 +
   1.102 +Trident 8900D SVGA
   1.103 +A low cost SVGA board circa 1992/1993. Not the greatest board in it's day, but
   1.104 +it has a reasonable VESA driver and (buggy) 15/16/24-bit colour modes.
   1.105 +
   1.106 +ROM files needed:
   1.107 +
   1.108 +trident.bin
   1.109 +
   1.110 +
   1.111 +Trident TGUI9440
   1.112 +A later Trident board with GUI acceleration. Windows 9x doesn't include drivers
   1.113 +for this, so they have to be downloaded and installed separately.
   1.114 +
   1.115 +ROM files needed:
   1.116 +
   1.117 +9440.vbi
   1.118 +
   1.119 +
   1.120 +Tseng ET4000AX SVGA
   1.121 +A somewhat better SVGA board than the Trident, here you get better compatibility
   1.122 +and speed (on the real card, not the emulator) in exchange for being limited to
   1.123 +8-bit colour.
   1.124 +
   1.125 +ROM files needed:
   1.126 +
   1.127 +et4000.bin
   1.128 +
   1.129 +
   1.130 +Diamond Stealth 32 SVGA
   1.131 +An ET4000/W32p based board, has 15/16/24-bit colour modes, plus acceleration.
   1.132 +
   1.133 +ROM files needed:
   1.134 +
   1.135 +et4000w32.bin
   1.136 +
   1.137 +
   1.138 +Paradise Bahamas 64
   1.139 +An S3 Vision864 based board.
   1.140 +
   1.141 +ROM files needed:
   1.142 +
   1.143 +bahamas64.bin
   1.144 +
   1.145 +
   1.146 +Number Nine 9FX
   1.147 +An S3 Trio64 based board.
   1.148 +
   1.149 +ROM files needed:
   1.150 +
   1.151 +s3_764.bin
   1.152 +
   1.153 +
   1.154 +ATI VGA Edge-16
   1.155 +A basic SVGA clone.
   1.156 +
   1.157 +ROM files needed:
   1.158 +
   1.159 +vgaedge16.vbi
   1.160 +
   1.161 +
   1.162 +ATI VGA Charger
   1.163 +A basic SVGA clone, similar to the Edge-16.
   1.164 +
   1.165 +ROM files needed:
   1.166 +
   1.167 +bios.bin
   1.168 +
   1.169 +
   1.170 +ATI Graphics Pro Turbo
   1.171 +A Mach64GX based board. Probably the best of the emulated boards for use in
   1.172 +Windows.
   1.173 +
   1.174 +ROM files needed:
   1.175 +
   1.176 +mach64gx/bios.bin
   1.177 +
   1.178 +
   1.179 +OAK OTI-067
   1.180 +A basic SVGA clone.
   1.181 +
   1.182 +ROM files needed:
   1.183 +
   1.184 +oti067/bios.bin
   1.185  
   1.186  
   1.187  Some models have fixed graphics adapters :
   1.188  
   1.189 -Olivetti M24 - CGA with double-res text modes and a 640x400 mode. I haven't seen a dump of the font
   1.190 -    ROM for this yet, so if one is not provided the MDA font will be used - which looks slightly odd
   1.191 -    as it is 14-line instead of 16-line.
   1.192 +Olivetti M24
   1.193 +CGA with double-res text modes and a 640x400 mode. I haven't seen a dump of the font
   1.194 +ROM for this yet, so if one is not provided the MDA font will be used - which looks slightly odd
   1.195 +as it is 14-line instead of 16-line.
   1.196  
   1.197 -Tandy 1000 - CGA with various new modes - 160x200x16, 320x200x16, 640x200x4. Widely supported in 80s 
   1.198 -    games.
   1.199 +Tandy 1000
   1.200 +CGA with various new modes - 160x200x16, 320x200x16, 640x200x4. Widely supported in 80s 
   1.201 +games.
   1.202  
   1.203 -Amstrad PC1512 - CGA with a new mode (640x200x16). Only supported in GEM to my knowledge.
   1.204 +Amstrad PC1512
   1.205 +CGA with a new mode (640x200x16). Only supported in GEM to my knowledge.
   1.206  
   1.207 -Amstrad PC1640 - Paradise EGA.
   1.208 +Amstrad PC1640
   1.209 +Paradise EGA.
   1.210  
   1.211 -Amstrad PC2086/PC3086 - Paradise PVGA1. An early SVGA clone with 256kb VRAM.
   1.212 +Amstrad PC2086/PC3086
   1.213 +Paradise PVGA1. An early SVGA clone with 256kb VRAM.
   1.214  
   1.215 -Amstrad MegaPC - Paradise 90C11. A development of the PVGA1, with 512kb VRAM.
   1.216 +Amstrad MegaPC
   1.217 +Paradise 90C11. A development of the PVGA1, with 512kb VRAM.
   1.218  
   1.219 -Acer 386SX/25N - Oak OTI-067. Another 512kb SVGA clone.
   1.220 +Acer 386SX/25N
   1.221 +Oak OTI-067. Another 512kb SVGA clone.
   1.222  
   1.223  
   1.224 -Pcem emulates the following sound devices :
   1.225  
   1.226 -PC speaker - The standard beeper on all PCs. Supports samples/RealSound.
   1.227 +PCem emulates the following sound devices :
   1.228  
   1.229 -Tandy PSG - The Texas Instruments chip in the PCjr and Tandy 1000. Supports 3 voices plus
   1.230 -    noise. I reused the emulator in B-em for this (slightly modified).
   1.231 +PC speaker
   1.232 +The standard beeper on all PCs. Supports samples/RealSound.
   1.233  
   1.234 -Gameblaster - The Creative Labs Gameblaster/Creative Music System, Creative's first sound card
   1.235 -    introduced in 1987. Has two Philips SAA1099, giving 12 voices of square waves plus 4 noise
   1.236 -    voices. In stereo!
   1.237 +Tandy PSG
   1.238 +The Texas Instruments chip in the PCjr and Tandy 1000. Supports 3 voices plus
   1.239 +noise. I reused the emulator in B-em for this (slightly modified).
   1.240  
   1.241 -Adlib - Has a Yamaha YM3812, giving 9 voices of 2 op FM, or 6 voices plus a useless drum section. 
   1.242 -    PCem uses Jarek Burczynski's emulator for this.
   1.243 +Gameblaster
   1.244 +The Creative Labs Gameblaster/Creative Music System, Creative's first sound card
   1.245 +introduced in 1987. Has two Philips SAA1099, giving 12 voices of square waves plus 4 noise
   1.246 +voices. In stereo!
   1.247  
   1.248 -Sound Blaster - Several Sound Blasters are emulated :
   1.249 +Adlib
   1.250 +Has a Yamaha YM3812, giving 9 voices of 2 op FM, or 6 voices plus a useless section. PCem
   1.251 +uses Jarek Burczynski's emulator for this.
   1.252 +
   1.253 +Adlib Gold
   1.254 +OPL3 with YM318Z 12-bit digital section. Possibly some bugs (not a lot of software to test).
   1.255 +
   1.256 +Sound Blaster
   1.257 +Several Sound Blasters are emulated :
   1.258      SB v1.0 - The original. Limited to 22khz, and no auto-init DMA (can cause crackles sometimes).
   1.259      SB v1.5 - Adds auto-init DMA
   1.260      SB v2.0 - Upped to 41khz
   1.261      SB Pro v1.0 - Stereo, with twin OPL2 chips.
   1.262      SB Pro v2.0 - Stereo, with OPL 3 chip
   1.263      SB 16 - 16 bit stereo
   1.264 -    All are set to Address 220, IRQ 7 and DMA 1 (and High DMA 5). IRQ and DMA can be changed for the 
   1.265 -    SB16.
   1.266 -    The relevant SET line for autoexec.bat is
   1.267 -	SET BLASTER = A220 I7 D1 Tx    - where Tx is T1 for SB v1.0, T3 for SB v2.0, T4 for SB Pro,
   1.268 -					 and T6 for SB16.
   1.269 -    The SB16 software seems to work (including Windows drivers), but you must stick to these settings.
   1.270 +    SB AWE32 - SB 16 + wavetable MIDI. This requires a ROM dump from a real AWE32.
   1.271 +All are set to Address 220, IRQ 7 and DMA 1 (and High DMA 5). IRQ and DMA can be changed for the 
   1.272 +SB16 & AWE32 in the drivers.
   1.273 +The relevant SET line for autoexec.bat is
   1.274 +  SET BLASTER = A220 I7 D1 Tx    - where Tx is T1 for SB v1.0, T3 for SB v2.0, T4 for SB Pro,
   1.275 +				   and T6 for SB16.
   1.276  
   1.277 -Gravis Ultrasound - 32 voice sample playback. PCem's emulation of this is a bit preliminary :
   1.278 -    - Only older ULTRASND setup programs work, ie text mode instead of graphics (3.xx?)
   1.279 -    - MIDI playback occasionally goes wrong
   1.280 -    - 16-bit playback only uses top 8 bits of samples
   1.281 -    - Some games, eg later versions of Epic Pinball, have no music
   1.282 -    - No stereo
   1.283 -    - Some clicking in sound output
   1.284 -    - Does work well in lots of stuff though, eg Worms, Pinball Fantasies, Zone 66 etc.
   1.285 -    - Settings are hardwired to Address 240, IRQ 5, DMA 3. The relevant SET line for autoexec.bat is
   1.286 -	SET ULTRASND=240,3,3,5,12
   1.287 -      This means unlike on a real board, you don't have to run a init program on bootup for sound 
   1.288 -      to work. You do need to install the ULTRAMID patches if you want MIDI.
   1.289 +AWE32 requires a ROM dump called awe32.raw. AWE-DUMP is a utility which can get a dump from a real
   1.290 +card. Most EMU8000 functionality should work, however filters are not correct and reverb/chorus
   1.291 +effects are not currently emulated.
   1.292 +
   1.293 +
   1.294 +Gravis Ultrasound
   1.295 +32 voice sample playback. Port address is fixed to 240, IRQ and DMA can be changed from the drivers.
   1.296 +Emulation is improved significantly over previous versions.
   1.297 +
   1.298 +
   1.299 +Windows Sound System
   1.300 +16-bit digital + OPL3. Note that this only emulates WSS itself, and should not be used with drivers
   1.301 +from compatible boards with additional components (eg Turtle Beach Monte Carlo)
   1.302  
   1.303  
   1.304  Other stuff emulated :
   1.305  
   1.306 -Serial mouse - A Microsoft compatible serial mouse on COM1. Compatible drivers are all over the 
   1.307 -    place for this.
   1.308 +Serial mouse
   1.309 +A Microsoft compatible serial mouse on COM1. Compatible drivers are all over the place for this.
   1.310  
   1.311 -M24 mouse - I haven't seen a DOS mouse driver for this yet, but the regular scancode mode works, as
   1.312 -    does the Windows 1.x driver.
   1.313 +M24 mouse
   1.314 +I haven't seen a DOS mouse driver for this yet, but the regular scancode mode works, as does the
   1.315 +Windows 1.x driver.
   1.316  
   1.317 -PC1512 mouse - The PC1512's perculiar quadrature mouse. You need Amstrad's actual driver for this
   1.318 -    one.
   1.319 +PC1512 mouse
   1.320 +The PC1512's perculiar quadrature mouse. You need Amstrad's actual driver for this one.
   1.321  
   1.322 -PS/2 mouse - A PS/2 mouse is emulated on the MegaPC and 386SX/25N model. As with serial, compatible
   1.323 -    drivers are common.
   1.324 +PS/2 mouse
   1.325 +A PS/2 mouse is emulated on the MegaPC and 386SX/25N model. As with serial, compatible drivers are common.
   1.326  
   1.327 -ATAPI CD-ROM - Works with OAKCDROM.SYS and Windows 9x. It can only work with actual CD-ROM drives 
   1.328 -    at the minute, so to use ISO images you need a virtual CD drive.
   1.329 +ATAPI CD-ROM
   1.330 +Works with OAKCDROM.SYS. It can only work with actual CD-ROM drives at the minute, so to use ISO images
   1.331 +you need a virtual CD drive.
   1.332  
   1.333  
   1.334  XTIDE :
   1.335 @@ -380,12 +500,11 @@
   1.336  - Windows 3.x should work okay in all modes now.
   1.337  
   1.338  - Windows 95/98 run, with the following caveats :
   1.339 -  - Mouse is not detected. Strangely, it still works - except during setup, when it stops working at one point.
   1.340 -    Sometimes running the 'Add New Hardware' wizard a couple of times will find it.
   1.341 -  - The default Trident driver only allows 16 and 256 colour modes. There is an alternative driver which enables
   1.342 -    high and true colour modes, but it doesn't work with DirectX.
   1.343    - Setup sometimes crashes in the first stage (during file copying). This appears to be a side effect of the 
   1.344      bugs fixed making OS/2 work. Unfortunately I haven't been able to eliminate this issue.
   1.345 +  - On some versions of Windows the AWE32 is not set up correctly, claiming a resource conflict. To correct
   1.346 +    this open the relevant item in Device Manager, choose 'Set Configuration Manually' and accept the
   1.347 +    options presented.
   1.348  
   1.349  - OS/2 1.3 seems to work okay, but I haven't tested it very thoroughly.
   1.350  
   1.351 @@ -399,13 +518,6 @@
   1.352  
   1.353  I removed most of this, and only put the stuff I actually tested on this release.
   1.354  
   1.355 -Booter games :
   1.356 -
   1.357 -King's Quest (Tandy)
   1.358 -King's Quest (CGA)
   1.359 -
   1.360 -
   1.361 -DOS stuff :
   1.362  
   1.363  MS-DOS 3.30
   1.364  PC-DOS 3.30
   1.365 @@ -414,70 +526,54 @@
   1.366   - Most of the supplied software seems to work, eg Drivespace, Defrag, Scandisk, QBASIC
   1.367     etc
   1.368  
   1.369 -OS/2 v1.3
   1.370 -
   1.371 -Windows 3.0 (CGA, Hercules, EGA, VGA) (real and standard modes only)
   1.372 -Windows 3.1 (VGA, SVGA) (standard & enhanced modes)
   1.373 +Windows/286
   1.374 +Windows/386
   1.375 +Windows 3.0
   1.376 +Windows 3.1
   1.377 +Windows 3.11 for Workgroups
   1.378  Windows 95
   1.379 +Windows 95 OSR 2.5
   1.380  Windows 98
   1.381 -
   1.382 -Works for Windows 3.0
   1.383 -Microsoft Arcade
   1.384 -Internet Explorer 4
   1.385 -
   1.386 -Jill of the Jungle (CGA,EGA,VGA)
   1.387 -Tetris
   1.388 -Zak McKraken (CGA, Tandy)
   1.389 -
   1.390 -Brix (VGA)
   1.391 -Commander Keen 4 (EGA)
   1.392 -Duke Nukem 2 (VGA)
   1.393 -Heartlight (VGA)
   1.394 -Jetpack (VGA)
   1.395 -
   1.396 -Cascada - Cronologia (VGA)
   1.397 -EMF - Verses
   1.398 -Renaissance - Amnesia
   1.399 -Future Crew - Second Reality
   1.400 -
   1.401 -386/486 stuff :
   1.402 -
   1.403 -Jungle Strike (EMM386)
   1.404 -Dawn Patrol (EMM386) (use ET4000 driver)
   1.405 -
   1.406 -Doom
   1.407 -Doom 2
   1.408 -Duke Nukem 3D
   1.409 -Heretic
   1.410 -Hexen
   1.411 -Jazz Jackrabbit
   1.412 -Rise of the Triad
   1.413 -Simcity 2000
   1.414 -Terminal Velocity
   1.415 -Tyrian
   1.416 -Trasnport Tycoon
   1.417 -Transport Tycoon Deluxe
   1.418 -X-Com : Terror From The Deep
   1.419 -Theme Hospital - DOS and Windows versions
   1.420 -Zone 66 (don't use DOS 6.22)
   1.421 -Pro Pinball : Timeshock
   1.422 +Windows 98 SE
   1.423 +Windows ME
   1.424  
   1.425  Actua Soccer
   1.426 +Age of Empires
   1.427 +All New World of Lemmings
   1.428 +Bust-a-Move 2
   1.429 +Civilization
   1.430 +Colonization
   1.431 +Command & Conquer : Red Alert
   1.432 +Dawn Patrol
   1.433 +Doom
   1.434 +Duke Nukem 3D (not AWE32)
   1.435 +Epic Pinball
   1.436 +Final Fantasy 7 (i430VX only)
   1.437  Grand Theft Auto
   1.438 -Jazz Jackrabbit 2
   1.439 -Magic Carpet
   1.440 +Lemmings
   1.441 +Mortal Kombat 2
   1.442 +Mortal Kombat Trilogy
   1.443 +Need For Speed II SE
   1.444  Network Q RAC Rally
   1.445 +Oddworld : Abe's Oddysee (with visual errors)
   1.446 +One Must Fall
   1.447 +Pro Pinball : Big Race USA (use Mach64 or TGUI9440)
   1.448  Quake
   1.449 -WinQuake
   1.450  Quake 2 (SLOW - unsurprisingly)
   1.451 +Screamer 2
   1.452 +Stargunner
   1.453 +Syndicate
   1.454 +System Shock
   1.455 +Terminal Velocity
   1.456 +Theme Hospital
   1.457 +Theme Park
   1.458  Tomb Raider
   1.459 -Screamer
   1.460 -Screamer Rally
   1.461 -Virtual Pool (accelerated drivers work with both S3 and ET4000/W32)
   1.462 -Jedi Knight
   1.463 -Command & Conquer : Red Alert
   1.464 -Simcity 2000
   1.465 -
   1.466 -ZSNES
   1.467 -Genecyst
   1.468 -Kgen98
   1.469 +Tomb Raider 2
   1.470 +Transport Tycoon
   1.471 +Wolfenstein 3D
   1.472 +Worms
   1.473 +Worms 2
   1.474 +X-Com : Terror From The Deep
   1.475 +Xargon
   1.476 +Zone 66
   1.477 +Zool 2
   1.478 \ No newline at end of file
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/roms/mach64gx/roms.txt	Sat Dec 21 17:53:13 2013 +0000
     2.3 @@ -0,0 +1,1 @@
     2.4 +This directory needs to contain some ROM files.
     2.5 \ No newline at end of file
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/roms/oti067/roms.txt	Sat Dec 21 17:53:13 2013 +0000
     3.3 @@ -0,0 +1,1 @@
     3.4 +This directory needs to contain some ROM files.
     3.5 \ No newline at end of file