From 084106ced6808f3e5be4e7ef9280159152da5e80 Mon Sep 17 00:00:00 2001 From: Raul Tambre Date: Wed, 28 Jan 2015 15:17:13 +0200 Subject: [PATCH] Disable DMA writes and add copyright notices --- rpcs3/Emu/RSX/RSXDMA.cpp | 3 ++- rpcs3/Emu/RSX/RSXDMA.h | 1 + rpcs3/Emu/RSX/RSXThread.cpp | 15 +++++++-------- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/rpcs3/Emu/RSX/RSXDMA.cpp b/rpcs3/Emu/RSX/RSXDMA.cpp index 476448474f..ad6bc06a74 100644 --- a/rpcs3/Emu/RSX/RSXDMA.cpp +++ b/rpcs3/Emu/RSX/RSXDMA.cpp @@ -1,3 +1,4 @@ +// Copyright (C) 2015 AlexAltea (https://github.com/AlexAltea/nucleus) #include "stdafx.h" #include "RSXDMA.h" #include "Emu/Memory/Memory.h" @@ -18,7 +19,7 @@ DMAObject dma_address(u32 dma_object) case RSX_CONTEXT_DMA_SEMAPHORE_R: return DMAObject{ 0x40100000, 0x1000, DMAObject::READWRITE }; // TODO: Inconsistency: Gitbrew says R, test says RW default: - LOG_WARNING(RSX, "Unknown DMA object (0x%08X)", dma_object); + LOG_WARNING(RSX, "Unknown DMA object (0x%08x)", dma_object); return DMAObject{}; } } diff --git a/rpcs3/Emu/RSX/RSXDMA.h b/rpcs3/Emu/RSX/RSXDMA.h index b432375506..e5da8918eb 100644 --- a/rpcs3/Emu/RSX/RSXDMA.h +++ b/rpcs3/Emu/RSX/RSXDMA.h @@ -1,3 +1,4 @@ +// Copyright (C) 2015 AlexAltea (https://github.com/AlexAltea/nucleus) #pragma once enum { diff --git a/rpcs3/Emu/RSX/RSXThread.cpp b/rpcs3/Emu/RSX/RSXThread.cpp index ed7b539005..d4041f8571 100644 --- a/rpcs3/Emu/RSX/RSXThread.cpp +++ b/rpcs3/Emu/RSX/RSXThread.cpp @@ -1866,15 +1866,14 @@ void RSXThread::DoCmd(const u32 fcmd, const u32 cmd, const u32 args_addr, const // Get timestamp, and convert it from microseconds to nanoseconds u64 timestamp = get_system_time() * 1000; - // TODO: Reports can be written to the main memory or the local memory (controlled by NV4097_SET_CONTEXT_DMA_REPORT) - // NOTE: Uncomment these, if DMA implementation is broken - //vm::write64(m_local_mem_addr + offset + 0x0, timestamp); - //vm::write32(m_local_mem_addr + offset + 0x8, value); - //vm::write32(m_local_mem_addr + offset + 0xc, 0); + // NOTE: DMA broken, implement proper lpar mapping (sys_rsx) + //dma_write64(dma_report, offset + 0x0, timestamp); + //dma_write32(dma_report, offset + 0x8, value); + //dma_write32(dma_report, offset + 0xc, 0); - dma_write64(dma_report, offset + 0x0, timestamp); - dma_write32(dma_report, offset + 0x8, value); - dma_write32(dma_report, offset + 0xc, 0); + vm::write64(m_local_mem_addr + offset + 0x0, timestamp); + vm::write32(m_local_mem_addr + offset + 0x8, value); + vm::write32(m_local_mem_addr + offset + 0xc, 0); } break;