Commit graph pcem/src/mem.c
Author SHA1 Message Date
SarahW
904ac54446 Move A20 gate initialisation to mem.c. Patch from Greatpsycho. 2017-07-19 19:35:44 +01:00
SarahW
dc511447df Added Page Size Extension (4MB pages) to Pentium CPUs. 2017-07-16 21:24:09 +01:00
SarahW
9521237b0b Added Samsung SPC-4200P emulation.
IDE Drive Diagnostics command now doesn't complete immediately (required by SPC-4200P BIOS).
Patch from Greatpsycho.
2017-07-16 16:17:59 +01:00
SarahW
807b710a5d Improvements to path handling. Patch from bit. 2017-07-06 21:25:10 +01:00
SarahW
7234e2c3be Several 286/386SX models can now have less than 1MB of RAM.
Memory remapping code restructured.
Patch from Greatpsycho.
2017-06-18 20:15:46 +01:00
SarahW
3a7c4687d6 Reduce self modifying code granularity from 64 bytes to 16. 2017-06-13 21:05:10 +01:00
SarahW
472a76892a Added EMS support to Laser XT machines. Patch from Greatpsycho. 2017-06-05 20:43:47 +01:00
SarahW
d7b10fd12f Load IBM BIOS on Laser XT systems if available. Patch from Greatpsycho. 2017-06-04 17:58:56 +01:00
SarahW
3b4392bcf8 Implemented data misalignment penalties on 486 and later CPUs. 2017-06-04 16:41:33 +01:00
SarahW
8538116c19 Initial commit for config rework. Work in progress! 2017-05-04 18:27:10 +01:00
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