Commit Graph

63197 Commits

Author SHA1 Message Date
GXTX
56faaf1400 build.sh: Use Python 3.x for Windows 2019-01-28 20:48:47 -07:00
Jannik Vogel
e7bd7bf228 dsp: Support FIFO output in DMA 2019-01-28 12:01:58 -07:00
Jannik Vogel
2e660193a0 apu: Add support for DSP FIFOs 2019-01-28 12:01:58 -07:00
Jannik Vogel
423b6f57bc apu: Fix off-by-one in scatter gather page entry check 2019-01-28 12:01:58 -07:00
Lucas Eriksson
929954e713 smbus: Fix wordwrite bug 2019-01-27 13:24:50 +01:00
CakeLancelot
ebb1052278 xid: Fix trigger range in xid-sdl 2019-01-27 12:39:34 +01:00
Matt Borgerson
47452495c0 nv2a: Fix NV097_SET_VERTEX_DATA2S scaling
Vertex attribute values provided via NV097_SET_VERTEX_DATA2S are
apparently two 16-bit signed integers, packed into 32 bits, which are
then to be directly mapped to floating point values in the range
[-32768.0, 32767.0].

Halo:CE uses this format to provide texture (u,v) coordinates for
render-to-texture techniques, including weapon scope, dynamic shadows,
and radar beacon--all of which are now working as expected with this
patch.
2019-01-22 16:12:11 -07:00
Matt Borgerson
fc995f154c xid: Port fixes made to xid.c to xid-sdl.c
The recent fixes to xid.c (32bf810) didn't make it to xid-sdl.c. This
patch ports over those changes. In the future, the parts common to both
xid.c and xid-sdl.c should be factored out so this doesn't happen again.

Original work done by Jannik Vogel (aka JayFoxRox) on Jul 5th, 2018.
2019-01-15 14:44:54 -07:00
Lucas
27bb1155e5 docs: Use job-specific CI badges for macOS and Linux builds 2019-01-15 14:39:49 -07:00
mborgerson
f5a87d129f
README: Update Appveyor badge 2019-01-10 16:51:09 -07:00
Jannik Vogel
01be8ef6b8 dsp: Improve DMA debug message 2018-12-29 12:07:38 +01:00
Jannik Vogel
4513ab50da dsp: Decode all DMA control bits 2018-12-29 12:07:38 +01:00
Jannik Vogel
e3a93c48fb apu: Access system memory directly 2018-12-27 15:00:35 -07:00
Jannik Vogel
9cac29fe07 apu: Activate voice on VOICE_ON, regardless of list position 2018-12-26 15:44:15 -07:00
Jannik Vogel
7c43feded0 apu: Fix offset of scratch space PRD control word 2018-12-26 15:44:15 -07:00
Jannik Vogel
8579e23ecb apu: Use NV1BA0_PIO_VOICE_OFF_HANDLE mask 2018-12-26 15:44:15 -07:00
Jannik Vogel
f94bcbacfa dsp: Support 'dec d' 2018-12-26 14:58:32 -07:00
Jannik Vogel
fae1e33622 dsp: Support 'inc d' 2018-12-26 14:58:32 -07:00
wutno
e582e64fd6 ci: Add release builds to Appveyor 2018-12-20 17:31:31 -07:00
Matt Borgerson
02f3b701d0 nv2a: Replace texture cache with a simpler implementation 2018-12-13 11:42:14 -07:00
Matt Borgerson
e4a1e7ace6 ui: Set SDL2 'busy' interval to 16ms
This is the refresh interval used when the user is actively providing
input (moving the mouse around) vs idle. Since this refresh event is
used to create vsync, this can cause some games which use vsync for
timekeeping to advance faster when moving the mouse around or using the
keyboard. For example, in the Halo:CE main menu, when moving the mouse
around the background animation will run a little faster.
2018-12-10 07:26:57 -07:00
Jannik Vogel
910dadc5ab nv2a: Fix window-clip region off-by-one error 2018-11-08 12:00:12 -07:00
Jannik Vogel
e3d0803843 nv2a: Force GL surface transfer on surface address or pitch changes 2018-11-06 12:05:15 -07:00
Jannik Vogel
781a73e118 nv2a: Debug log GL surface transfers in GL 2018-11-06 12:05:15 -07:00
Jannik Vogel
b42d49498c psh: Cleanup and dead code removal 2018-11-06 11:56:01 -07:00
Jannik Vogel
5db1694f88 psh: Rename c0 and c1 uniforms 2018-11-06 11:56:01 -07:00
Matt Borgerson
d7dbfce2bc nv2a: re-enable texture caching
Texture caching (enabled via `USE_TEXTURE_CACHE` macro) got turned off
in a cleanup commit. Turn it back on for performance.
2018-11-03 15:53:02 -07:00
Matt Borgerson
2ddd605c10 rtc: Turn off debug messages
Debug messages got turned on when porting over XBOX RTC changes. It's
quite noisy during startup, so keep them turned off by default.
2018-11-02 17:43:26 +01:00
Thomas Debesse
9344483a0c build.sh: pass options, fix #114 2018-10-10 11:47:40 -07:00
Lucas Eriksson
6ecac32cff eeprom: Read EEPROM from file 2018-10-10 11:40:18 -07:00
espes
e12aa122cf relicense xbox components as LGPL
(with permission)
2018-10-10 13:38:16 +10:00
Tillmann Karras
df2dc0ce33 build.sh: allow out-of-tree builds 2018-10-08 22:30:58 +02:00
Stefan Schmidt
1c6bb37bec Replace ffs() calls with ctz32() 2018-10-08 11:34:23 -07:00
espes
7d500c46e6 hvf: support PAT msr 2018-10-06 17:52:32 +10:00
espes
99cfb38552 hvf: fix is_host_reg for i386 2018-10-06 17:38:19 +10:00
espes
d07438fa8a hvf: refactor headers, fix gdbstub 2018-09-30 15:37:00 +10:00
espes
8bf48720fb hvf: fix 2bl due to broken dirty tracking 2018-09-30 15:10:19 +10:00
Matt Borgerson
f48b6345f2 haxm: Skip unconditional marking of pages as dirty
Marking all pages as always dirty has some really bad consequences for
the current NV2A emulation. The lesser of two evils for now is to leave
the pages as-is. Eventually this will be replaced by proper dirty page
tracking once HAXM supports it.
2018-09-26 21:21:44 -07:00
Matt Borgerson
71a4c6ddd4 haxm: Add hax_ram_block_removed notify handler
QEMU core will call this handler when a RAM block is removed (no
surprises there), but it does _not_ check to see if this handler is
non-NULL. Add a dummy handler for now.
2018-09-26 21:21:44 -07:00
Tao Wu
5edc406e1b hvf: Fix bug that fails to find slot on border.
If gpa is exactly the start address of one slot, the
old code fails to find the slot. Change to use one byte
range to find slot.

Change-Id: I169ec8f759bb211a5ea7c693c5d99f27576c2e93
Signed-off-by: Tao Wu <lepton@google.com>
2018-09-27 10:48:30 +08:00
Haitao Shan
e2fd7b21be Fix emulator hang during adb reboot. Bug 69798912
Change-Id: I26e116194e3fb2a5570bd2654e111307a14cc161
Signed-off-by: Haitao Shan <hshan@google.com>
2018-09-27 10:44:08 +08:00
Lingfeng Yang
d0b4d2939a asan: hvf: fix overflow in decode struct
Change-Id: I9d8d08d922eb08748b1535c628b08f27db3d5619
Fixes: 111676629
2018-09-27 10:38:04 +08:00
espes
2911dda2dc initial i386 hvf 2018-09-27 10:37:48 +08:00
Haitao Shan
09d1d09697 Fix Mac Hypervisor Framework Crash Issue. The crash is caused by incorrect instruction emulation by QEMU hvf, which resulted in a ruined register that was not supposed to touch.
+ copy it over to target/i386 as well (for latest QEMU version)

Change-Id: Ibdada114db8736560d41402d6af4042fc6e6c25b
2018-09-27 09:57:12 +08:00
espes
022d50f600 the rebase forgot the rtc fixes 2018-09-26 18:31:16 +08:00
espes
3d33d8101b cleanup nv2a 2018-09-26 17:42:41 +08:00
espes
3ee213e59a cleanup xbox.c 2018-09-26 17:03:42 +08:00
Matt
316967c441 nv2a FIFO Refactoring (#76)
* Port espes's fifo work to the split up nv2a code

This patch ports over the following commits from the XQEMU 1.x tree
(available via tag archive-xqemu-1.x) to the refactored nv2a code:

- 4d9107e8 (HEAD -> xbox, upstream/xbox) Merge branch 'fix-fifo' into xbox
- c33f4ab2 cleanups
- d3f83d93 cleanups
- faca5dd0 fix
- 7c62d7c1 fixes
- 8ad239b0 wip
- 45ed3c31 wip
- c006d5e8 wip

However, in its current form, this patch causes some regressions and
needs further investigation.

* nv2a: basic pattern object
2018-09-26 16:10:07 +08:00
Lucas
7960ffe466 nv2a: Ptimer fixes (#113)
Set NV2A_CRYSTAL_FREQ to Retail speed
Fix ptimer_get_clock() behaviour
2018-09-26 16:01:28 +08:00
Matt
337e1fa114
Merge upstream QEMU v3.0.0
This updates XQEMU's QEMU code base from v2.12.0 to v3.0.0. A few minor fixups were necessary due to core changes. Basic testing done on Ubuntu 18.04, macOS, and Windows.
2018-09-05 22:47:03 -07:00