StrikerX3
a1637d3bbb
Display EBP on stack dump
2019-01-25 17:34:01 -02:00
StrikerX3
7d15a0d331
Set all Xbox device pointers to nullptr on construction
...
We should replace them with std::unique_ptr in the future
2019-01-25 17:34:01 -02:00
StrikerX3
c39937c9ea
Require C++17 features
2019-01-25 17:34:01 -02:00
StrikerX3
48ebcfd53b
Renamed SharedMemory to DynamicVariant
2019-01-25 17:34:01 -02:00
StrikerX3
068dcfce27
Use std::forward and rvalue references to simplify SharedMemory.Allocate invocations with reference arguments
2019-01-25 17:34:01 -02:00
Ivan Roberto de Oliveira
3bf2988b34
Update README.md
2019-01-25 17:34:01 -02:00
StrikerX3
23d81bce64
Make ATA commands use shared memory instead of allocating/deallocating objects every time
2019-01-13 15:09:57 -02:00
StrikerX3
c5f0363c61
Initialize PCI config space of all devices
...
Based on a DVT4 dump using an official 5558 debug ROM as seen in http://xboxdevwiki.net/PCI
2018-12-30 14:49:18 -02:00
StrikerX3
71d18c70a0
PCI class/subclass bytes were swapped
2018-12-30 11:55:52 -02:00
StrikerX3
0f4942ae1b
Return reference to emulator settings instead of pointer
2018-12-30 11:38:18 -02:00
StrikerX3
5049ff3bd9
That serial port change broke serial comm...
2018-12-30 11:37:58 -02:00
StrikerX3
11d870a555
Fix infinite loop and occasional crashes on shutdown in Win32 serial driver
2018-12-29 21:59:57 -02:00
StrikerX3
c39df02a04
Handle CPU_EXIT_ERROR
2018-12-29 21:59:20 -02:00
StrikerX3
9afadeb7af
Add 1.1+ compatible EEPROM (commented out for now)
2018-12-29 21:59:04 -02:00
StrikerX3
a0a4b8c909
Improve WHPX initialization
2018-12-29 21:58:35 -02:00
StrikerX3
42139f684b
A few minor fixes in NV2A
2018-12-11 13:02:48 -02:00
StrikerX3
db16858dea
Disable some logs
2018-12-10 18:19:01 -02:00
StrikerX3
0fc7143228
Implement a basic ADM1032
2018-12-10 18:18:49 -02:00
StrikerX3
673307a2bf
Reenable VHD writes
2018-12-10 16:55:40 -02:00
StrikerX3
a7e6b0dd96
Only assert INTRQ on PIO transfers in the PACKET ATA command
2018-12-10 16:34:40 -02:00
StrikerX3
31f456efe6
Fill in more READ DVD STRUCTURE fields
2018-12-10 16:33:55 -02:00
StrikerX3
48ee1f364f
Fix READ DVD STRUCTURE CDB
2018-12-10 14:54:01 -02:00
StrikerX3
b5d4d7e442
Disable some log instructions
2018-12-10 14:52:49 -02:00
StrikerX3
b465a540dd
Fix large packet data transfers
2018-12-10 13:53:42 -02:00
StrikerX3
b68e17b1e9
Refactored ATAPI commands
...
READ (10) still doesn't work correctly with large transfers, but it's a huge step in the right direction
2018-12-10 13:33:03 -02:00
StrikerX3
8cf4830d0c
This thing really needs a rework...
2018-12-09 19:58:09 -02:00
StrikerX3
84f6dd48bc
Fix double INTRQ assertion on certain occasions involving DMA transfers and ATAPI commands
...
Still doesn't fix broken DMA transfer for the READ DVD STRUCTURE
2018-12-09 19:14:21 -02:00
StrikerX3
bd501ac359
WIP: Poorly implemented READ DVD STRUCTURE
...
The ATAPI command processing code needs a refactor, similar to the ATA commands
2018-12-09 17:59:19 -02:00
StrikerX3
6398536b97
Fix inconsistent nomenclature
2018-12-09 15:52:30 -02:00
StrikerX3
0281d2ebff
READ(10) transfer length was not being set on ValidateCommand
...
This caused some DMA transfers from the DVD drive to fail
2018-12-09 14:54:18 -02:00
StrikerX3
ad0fbc9a29
More CMOS initialization
2018-12-09 14:30:51 -02:00
StrikerX3
25490129f2
Implemented enough of the CMOS to make the kernel happy
2018-12-09 14:22:03 -02:00
StrikerX3
d94bdf2225
Basic DVD image reader
...
Implemented SCSI READ(10) command
2018-12-09 11:37:53 -02:00
StrikerX3
52b2549ac5
Fix typo
2018-12-08 22:23:08 -02:00
StrikerX3
cfe29552b5
Fixed a bug on DMA transfers when byte count is zero (which means a transfer of 65536 bytes)
2018-12-08 21:39:30 -02:00
StrikerX3
3acc9559a3
Respond to a few ATAPI commands in the early initialization procedure
...
Still getting stuck waiting for a DMA read
2018-12-08 14:33:59 -02:00
StrikerX3
d913d6695f
Add several definitions for ATAPI / SCSI data structures and constants
2018-12-08 13:55:03 -02:00
StrikerX3
1218931776
Flesh out the Packet Command protocol
2018-12-07 21:30:55 -02:00
Ivan Roberto de Oliveira
1b3eab6227
Update README.md
2018-12-07 16:50:19 -02:00
StrikerX3
00bbebde21
Build Packet protocol skeleton and implement the basics of the Packet command
2018-12-07 16:47:28 -02:00
StrikerX3
f3c1a44acf
Fix typo
2018-12-07 16:45:32 -02:00
StrikerX3
cacd467043
Hide some log messages for now
2018-12-07 14:35:27 -02:00
Ivan Roberto de Oliveira
564e86d52b
Update README.md
2018-12-07 14:15:33 -02:00
StrikerX3
15bf901bd2
DMA read/write should consider total number of bytes, not sectors
...
With this, viXen can now load the dashboard!
2018-12-07 14:03:01 -02:00
StrikerX3
2c25197423
Iron out the kinks, part 4
2018-12-07 13:14:07 -02:00
StrikerX3
ab985d10e9
Iron out the kinks, part 3
2018-12-07 12:45:29 -02:00
StrikerX3
9c10cd1188
Iron out the kinks, part 2
2018-12-07 11:36:38 -02:00
StrikerX3
79ed453fc6
Iron out the kinks, part 1
2018-12-07 11:25:32 -02:00
StrikerX3
a88dea4b4a
Convert DMA protocol commands to the new structure
...
Document the IATACommand interface more clearly
Make SetPIOTransferMode and SetDMATransferMode actually change the values returned by Identify Device
Temporarily disable writes to hard disk image; need to ensure it's not going to wreck the image
2018-12-07 10:54:39 -02:00
StrikerX3
ed468a9c6d
WIP: Refactor ATA commands into classes
...
Implement protocols as base classes on top of a common interface so that command processing and usage is uniform. Commands are much easier to implement on this platform, and most of the complicated state management in ATADevice is eliminated.
Next step is to move the DMA operations out of ATADevice and have ATAChannel delegate them to the current command
2018-12-07 00:53:45 -02:00