Commit Graph

63188 Commits

Author SHA1 Message Date
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 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 ()
* 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 ()
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
Matt Borgerson 6b21948bcc Merge branch 'master' into merge_3_0_0_sync 2018-09-05 20:07:50 -07:00
Lucas Eriksson faf09c632d ui: Fix AppVeyor build "-dirty"-bug 2018-09-05 14:14:03 -07:00
wutno 9b8904eda0 Update configure with --disable-stack-protector
As noted in  this will produce working builds with GCC versions over 7.3.0-2. Upstream has already done this work-a-round.
2018-09-05 11:45:01 -07:00
Matt Borgerson 5246cad0c1 nvnet: don't trigger interrupt if no packets are sent 2018-09-04 01:20:16 +02:00
Lucas Eriksson c01c27d968 nv2a: Fix EXP and LOG
According to the NV_vertex_program specification, our implementations of
these functions were wrong.
spec:
https://www.khronos.org/registry/OpenGL/extensions/NV/NV_vertex_program.txt
2018-09-04 01:14:55 +02:00
Matt Borgerson aa32236d5a smbus: Replace smbus_eeprom_init_single with new upstream equivalent 2018-09-02 14:14:34 -07:00
Matt Borgerson a0dad83029 nv2a: Replace QINC/DECREF macros with new inlines 2018-09-02 13:49:53 -07:00
Matt Borgerson 12401cd500 nv2a: remove global_vmstate arg in vga_common_init 2018-09-02 13:49:24 -07:00
Matt Borgerson 9c96d7bc08 sio: Use serial_hd(i) instead of serial_hds[i] 2018-09-02 13:48:02 -07:00