SarahW
9ee37e424e
Rename codegen_backend.c to codegen_block.c
2019-04-24 12:15:26 +01:00
SarahW
50e7de5214
Merge from trunk
2019-04-18 20:46:38 +01:00
SarahW
4b7328f06e
Add cassette emulation to IBM PCjr.
2019-04-17 20:37:48 +01:00
SarahW
84a098bc98
Add read-only cassette emulation to IBM 5150 PC. Patch from JohnElliott.
2019-04-17 20:37:23 +01:00
SarahW
750d7021e4
Fix warning in laserxt.c
2019-04-17 18:47:39 +01:00
SarahW
4851a2fa9b
Add software turbo control to Laser Turbo XT. Patch from Greatpsycho.
2019-04-17 18:36:02 +01:00
SarahW
081701a3c8
Allow access to Korean font ROM on ATI Korean VGA when Korean character display mode isn't activated. Patch from Greatpsycho.
2019-04-17 18:22:22 +01:00
SarahW
077304fb83
Disable memory > 640kb on XT systems when EGA/VGA cards in use. Patch from Greatpsycho.
2019-04-17 18:17:35 +01:00
SarahW
0a5198828a
Latch Voodoo vertices at the start of triangle_setup() before sorting to prevent any races.
2019-04-17 18:04:05 +01:00
SarahW
1f5fc45c04
Amstrad changes :
...
- Add PPC512/640 emulation
- Add TV display type to Sinclair PC200
- Add font selection to PC1512
- Add disc change line to PC200
Patch from JohnElliott
2019-04-15 19:48:41 +01:00
SarahW
18a293d5cc
Flush MMU cache on CPU soft reset. Fixes hang on reset under some configurations.
2019-04-14 21:40:32 +01:00
SarahW
d527736d21
ARM64 fixes - mask off immediate data in UOP_MOV_IMM to the destination size, and add UOP_MOVZX_REG_PTR_16 to uop list.
2019-04-14 17:03:07 +01:00
SarahW
f7c7f46712
Add missing ARM64 file to Makefile.am
2019-04-14 15:38:45 +01:00
SarahW
f4074eaacd
Add better immediate handling to ARM64 backend.
2019-04-14 15:38:13 +01:00
SarahW
9a49a75eaf
IDE soft reset should also reset ATAPI devices. Should fix at least some 'Device failed to request command' errors.
2019-04-14 13:47:20 +01:00
SarahW
de177759f7
Fix EA calculations on 3DNow PREFETCH instruction
2019-04-11 20:58:07 +01:00
SarahW
e2cddb8759
Fix Mach64 pixel clock.
2019-04-10 22:13:25 +01:00
SarahW
c0a7fcb343
Correct code present mask when using 16-bit addressing. Fixes graphics issues on Windows 9x with VGA 16-colour driver.
2019-04-10 22:05:26 +01:00
SarahW
c79074c980
Fix timer bug in AudioPCI.
2019-04-10 20:31:31 +01:00
SarahW
73c20a723f
Clear integer registers on CPU reset. Fixes hang on reboot on VA-503+.
2019-04-10 20:28:45 +01:00
SarahW
b2e236e720
Mark FINIT as ending a code block. Fixes crash in Armoured Fist II.
2019-04-09 22:19:39 +01:00
SarahW
a5fc447950
Implement non-extended-ALU extended writes on HT216-32. Fixes Windows 3.1 built-in Video 7 drivers.
2019-04-08 20:04:38 +01:00
SarahW
d49aab7782
Reworked HT216-32 banking code. Fixes graphics errors in Windows 3.x.
2019-04-07 21:54:47 +01:00
SarahW
3fd56facb6
Fixed Makefile typo introduced in 1211.
2019-04-05 17:25:34 +01:00
SarahW
35962551dd
Added emulation of Packard Bell PB410A, along with the built-in Headland HT216-32 video.
2019-04-03 21:32:48 +01:00
SarahW
fc369826a4
Fix start address when calculating block size. Fixes rendering issues in Wolfenstein 3D.
2019-04-02 20:40:40 +01:00
SarahW
8a91051e25
SST flash now keeps local copy of flash data to write back on device close. Prevents flash corruption when switching models and PCem loads the new BIOS before writing out the old flash.
2019-04-01 21:38:21 +01:00
SarahW
7f99cb7fb1
Use correct value for MAX_INSTRUCTION_COUNT.
2019-04-01 21:24:32 +01:00
SarahW
a0ab14f56f
When unrolling a loop, set op_32, ea_seg and ssegs to the correct values at the start of the loop. Fixes mode setting on Bahamas 64 and most likely some other bugs.
2019-04-01 21:23:09 +01:00
SarahW
7a68bca85f
Fixed some ARM64 build warnings.
2019-03-31 18:23:34 +01:00
SarahW
3890ffdff0
Fixed multiple definition of REG_SP in ARM64 backend. Fixes build warnings, also fixes Windows 3.x.
2019-03-31 18:23:21 +01:00
SarahW
584e67845b
Added ROL, ROR and NOP uops to ARM and ARM64 backends.
2019-03-31 18:21:56 +01:00
SarahW
e3d5309e23
Added SST 39SF010 flash for VA-503+.
2019-03-31 11:29:07 +01:00
SarahW
78572ba468
Added register barriers to LOOPE and LOOPNE. Fixes crash in Age of Empires II.
2019-03-30 21:01:20 +00:00
SarahW
12d73e8a95
Fix zero sized recompiled shifts. Fixes hang in Gunmetal.
2019-03-30 19:45:29 +00:00
SarahW
e8f39da459
Add recompiled versions of ROL and ROR.
2019-03-30 16:10:00 +00:00
SarahW
e2a1ae696f
Added lazy flags for ROL and ROR.
2019-03-30 14:41:02 +00:00
SarahW
8b197e22da
Improved interpreter implementations of ROL and ROR.
2019-03-29 21:06:01 +00:00
SarahW
b77bce1efd
Clear page_mask2 when the second page in a block is inaccessible.
2019-03-28 20:38:33 +00:00
SarahW
efef231d7d
Restore correct CS value when aborting in stack operations in CALL far instructions.
2019-03-28 20:37:55 +00:00
SarahW
56a01a0e04
Provide dummy timing for unknown (usually illegal) opcodes in K6 timing code.
2019-03-26 22:02:00 +00:00
SarahW
61722f120c
Fix block mask calculation. Fixes rendering errors in Blood.
2019-03-25 19:59:46 +00:00
SarahW
7e099c277e
Added basic loop unrolling. Blocks that end in a JMP, LOOP or conditional branch to a previous instruction in the block will be unrolled up to 10 times.
2019-03-25 19:07:51 +00:00
SarahW
b35cf7de09
Fix codegen timing flush at end of a block.
2019-03-22 20:31:57 +00:00
SarahW
52f5f43d82
Fix PC value following FSTCW/FSTSW.
2019-03-22 20:31:29 +00:00
SarahW
4b99070fc0
Flush accumulators before call to non-recompiled instruction.
2019-03-16 15:47:49 +00:00
SarahW
cd9e228b6d
Move CODEBLOCK_IN_DIRTY_LIST check to after checking if block needs to be flushed. Improves performance in Eradicator.
2019-03-16 15:46:48 +00:00
SarahW
ab124776a0
Rework self modifying code handling.
...
Code blocks now have a varying level of granularity in the page and dirty masks.
Most blocks have 64-byte granularity, but blocks that are repeatedly modified
drop to 1-byte granularity. This reduces the maximum size of the affected block
significantly, but reduces recompilation due to data located too close to code.
If the block is still marked as dirty, then it is recompiled without any
immediate instruction parameters being baked into the recompiled code, instead
being fetched from the RAM array as needed. This severely reduces recompilation
rates on some SMC-heavy games, eg Duke Nukem 3D, System Shock, Screamer etc,
giving a major speedup.
2019-03-16 14:53:26 +00:00
SarahW
063ffb4eab
Update Makefile.mingw-wx-sdl2.
2019-02-14 19:39:47 +00:00
SarahW
01e86135ab
Tweak FDC command timing and add register access waitstates. Fixes floppy in Windows 98 with VA-503.
2019-02-13 22:12:53 +00:00