Commit graph pcem/src/mem.c
Author SHA1 Message Date
SarahW
bc5b6d63f7 All ROM image file names now lower case. Patch from tomaszkam. 2017-04-19 16:35:07 +01:00
SarahW
aeccbd8bd6 Added emulation of IBM 80386 Memory Expansion Adapter. PS/2 Model 80 now supports up to 12MB RAM. 2017-04-18 22:14:32 +01:00
SarahW
221df09912 Added PS/2 Model 80 (type 2) emulation. 2017-04-17 22:24:11 +01:00
SarahW
345f83cb2a Improvements to SCAT chipset (Award 286 clone). Patch from Greatpsycho. 2017-04-12 20:38:15 +01:00
SarahW
2b892d2a7a Fixed compiler warnings for Windows builds.
Added -Werror to Windows makefiles.
2017-04-11 19:34:41 +01:00
SarahW
6757fbfb94 Added PS/2 Model 55SX emulation. 2017-04-09 14:52:02 +01:00
SarahW
9c1d8e5022 Add PS/2 Model 50 emulation.
This commit also adds basic MCA emulation.
This commit also adds emulation of the PS/2 Type 1 DMA controller.
2017-04-06 22:00:40 +01:00
SarahW
2acbcece0e Added MDSI Genius emulation. Patch from John Elliott. 2017-03-23 19:36:59 +00:00
SarahW
9ddd1fc679 Added support for IBM AT Fixed Disk Adapter (MFM).
Added ability to configure hard drive controller.
Changed XTIDE to be generic device.
2017-03-14 21:15:28 +00:00
SarahW
76cdb63bc6 Fix missing check on PS/2 Model 30-286 ROM load - fixes crash when no ROMs present. Patch from AmatCoder. 2017-03-03 19:38:00 +00:00
SarahW
c2a6ce2bac Added IBM PS/2 Model 30-286 emulation. Patch from dns2k. 2017-02-22 20:18:41 +00:00
SarahW
3123f62629 Don't load XTIDE on Commodore PC 30 III, Phoenix 386 and DTK 386 models - all three have IDE support in the BIOS. 2017-02-18 18:16:27 +00:00
SarahW
da95fe4bcb Added Wyse WY-700 video card emulation. Patch from John Elliott 2016-12-17 21:52:27 +00:00
SarahW
f311c9e17f Removed dire cache 'emulation' 2016-12-13 20:59:23 +00:00
SarahW
bfc69a4bea Cleaned up ibm.h a bit 2016-11-28 20:06:17 +00:00
SarahW
a4f3b2013e Added AMI 386DX and MR 386DX models (both based on OPTi 495 chipset). AMI 386DX supports external cache, useful for with prefetch emulation.
Also commit a few fixes required :
- Set EDX correctly on soft reset
- LOCK NOP is now treated as an illegal instruction
- Tweaks to FDC sense interrupt handling following FDC reset
2016-11-27 21:53:13 +00:00
SarahW
273ef3847a Improvements to flash ROM emulation on Premiere/PCI, Advanced/EV and Award 430VX PCI modules. Patch from Battler. 2016-09-18 15:57:46 +01:00
SarahW
eb126fd822 Moved more variables into cpu_state structure. 2016-08-21 21:28:23 +01:00
SarahW
0724cfcae4 Add emulation of IBM PS/1 Model 2121.
As part of this :
- FDC Specify command now completes immediately
- Implemented keyboard system flag status
- Added ability to remap 384kb reserved memory to above extended memory
2016-05-02 20:06:49 +01:00
SarahW
c81a91fd72 Moved integer registers, PC and flags_* variables into new cpu_state structure. Reduces recompiled code size slightly, small speedup (1-3%). 2016-04-20 21:39:41 +01:00
SarahW
9329a997cc Added Award 286 (using SCAT chipset). Patch from Greatpsycho. 2016-04-14 21:15:00 +01:00
TomW
b0dceca71a Move memory files around: *.nvr, eeprom files -> nvr/ ; mda.rom -> roms/. Patch from cooprocks123e. 2016-03-29 20:11:43 +01:00
TomW
673d785743 Writing to a memory page with code present only causes code block flushes if the data changes, or if a block is currently being recompiled. 2016-02-03 21:09:05 +00:00
TomW
f7e4a0f32e Fixed crash on XT models when accessing unmapped areas 2016-02-01 20:57:18 +00:00
TomW
2bc2bbc939 Cached results of MMU lookup in get_phys(). 2016-01-27 21:05:28 +00:00
TomW
39c95ee0af Moved BIOS mapping initialisation - SiS 496/497 now boots again without requiring hard reset. 2016-01-17 20:57:30 +00:00
TomW
2ca86ba028 Added support for Tandy 1000 HX and SL/2. As part of this commit :
- FDC now selects drive number from DOR (0x3f2)
- FDC now fails seeks on drives > 1
- XT systems no longer have BIOS mapping at E0000-EFFFF
- SN76489 now distinguishes between SN76496 (PCjr and early Tandy 1000), NCR8496 (later Tandy 1000 - different noise handling) and PSSJ
- Removed redundant limits on memory configuration - allows selection of 768k for Tandy 1000 SL/2
2015-12-03 21:48:10 +00:00
TomW
7b7e9139aa Fixed Tandy memory configurations less than 640kb. 2015-11-22 21:11:31 +00:00
TomW
c47df21a82 XT models can now have less than 640kB RAM. 2015-11-18 20:28:57 +00:00
TomW
c45a33a97f Corrected size of Advanced/EV BIOS. Patch from ecksemmess. 2015-11-13 20:44:46 +00:00
TomW
15a1631ba0 Clear _mem_exec array on init/reset.
Do not add (junk) entries to _mem_exec if mapping is not executable.
Do not fatal() on attempting to execute from non-executable memory; return page of 0xff instead.
Fixes emulator crash in Premiere/PCI when leaving BIOS setup without a valid CMOS setup.
2015-10-31 17:55:40 +00:00
TomW
9d2dd22d6d Initialise A20 gate correctly at startup.
Keyboard controller self-test command enables A20.
HIMEM.SYS included with Windows/286 now works.
2015-10-12 13:42:09 +01:00
TomW
f339f00315 Interpreter and dynamic recompiler now present in a single binary. 2015-08-21 20:55:36 +01:00
TomW
6af87dbd47 Added Phoenix XT clone and Juko XT clone. Patch from te_lanus. 2015-08-19 20:17:04 +01:00
TomW
81987c0ac5 Added DTK 386SX clone and Phoenix 386 clone. Patch from nerd73. 2015-08-19 20:01:20 +01:00
TomW
34c0db9c10 Masked off the lower 12 bits of CR3. DESQview/X now works. 2015-08-08 11:25:16 +01:00
TomW
396306bc39 Added VTech Laser Turbo XT and Laser XT3. Patch from te_lanus. 2015-08-02 11:35:09 +01:00
TomW
6b7d387787 Added AMI XT clone. Patch from nerd73. 2015-07-25 18:33:38 +01:00
TomW
d79814692f Flush memory->codeblock list heads on CPU reset - fixes "block->next->pc=0" errors on reset on some machines. 2015-07-12 14:53:03 +01:00
TomW
80555e9d2a Added Compaq Deskpro 386 emulation. 2015-06-30 20:17:43 +01:00
TomW
3e1600ae9e XTIDE support added for PS/1. 2015-06-27 14:37:10 +01:00
TomW
9f09e9c370 Added PS/1 model 2011 emulation. 2015-06-21 16:03:33 +01:00
TomW
f3607c2308 Added code generation for :
- FCOM/FUCOM
- FSUBR/FSUBRP/FDIVR/FDIVRP
- FLDCW/FSTCW
- FILD/FIST/FISTP (16-bit, 32-bit and 64-bit variants)
- FLD/FST/FSTP double precision
- Integer and double precision variants of FADD/FSUB/FMUL/FDIV
Also added 64-bit readmemq/writememq functions.
2015-06-13 16:14:35 +01:00
TomW
cb2df9e3cf Flush memory lookup cache when mappings re-calculated - fixes soft reset on AMI 386 clone. 2015-05-30 20:25:59 +01:00
TomW
1b927d9f4b Writes to code pages now always marked as dirty even if data doesn't change - BeOS now works under recompiler. 2015-05-03 20:36:22 +01:00
TomW
80add6415c Added TLB miss penalties. 2015-03-09 20:31:17 +00:00
TomW
d6c177a3c0 DMA now causes page dirty mask to be updated. 2015-02-09 18:26:59 +00:00
TomW
7a7f586cd3 64-bit fixes. 2015-02-03 18:47:16 +00:00
TomW
b4592cdea3 Implemented new memory mapping to improve performance of self modifying code.
New scheme allows code blocks to cross pages.
Reduced code block size down to 2kB.
2015-01-28 21:58:02 +00:00
TomW
84ac04d2df Added Intel Premiere/PCI (Batman's Revenge) and Advanced/EV (Endeavor) motherboards.
Added emulation of i430LX and i430FX chipsets.
Added support for PCI configuration type 2, used by i430LX.
Added AT disable keyboard command, and fixed enable keyboard command.
Added emulation of Intel 28F001BXT flash ROM, used by Advanced/EV.
Fixed a bug in REP when using multiple 66/67 prefixes.
2014-11-23 20:27:41 +00:00