Disable DMA writes and add copyright notices

This commit is contained in:
Raul Tambre 2015-01-28 15:17:13 +02:00
parent e12cfc89de
commit 084106ced6
3 changed files with 10 additions and 9 deletions

View File

@ -1,3 +1,4 @@
// Copyright (C) 2015 AlexAltea (https://github.com/AlexAltea/nucleus)
#include "stdafx.h" #include "stdafx.h"
#include "RSXDMA.h" #include "RSXDMA.h"
#include "Emu/Memory/Memory.h" #include "Emu/Memory/Memory.h"
@ -18,7 +19,7 @@ DMAObject dma_address(u32 dma_object)
case RSX_CONTEXT_DMA_SEMAPHORE_R: case RSX_CONTEXT_DMA_SEMAPHORE_R:
return DMAObject{ 0x40100000, 0x1000, DMAObject::READWRITE }; // TODO: Inconsistency: Gitbrew says R, test says RW return DMAObject{ 0x40100000, 0x1000, DMAObject::READWRITE }; // TODO: Inconsistency: Gitbrew says R, test says RW
default: default:
LOG_WARNING(RSX, "Unknown DMA object (0x%08X)", dma_object); LOG_WARNING(RSX, "Unknown DMA object (0x%08x)", dma_object);
return DMAObject{}; return DMAObject{};
} }
} }

View File

@ -1,3 +1,4 @@
// Copyright (C) 2015 AlexAltea (https://github.com/AlexAltea/nucleus)
#pragma once #pragma once
enum { enum {

View File

@ -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 // Get timestamp, and convert it from microseconds to nanoseconds
u64 timestamp = get_system_time() * 1000; 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: DMA broken, implement proper lpar mapping (sys_rsx)
// NOTE: Uncomment these, if DMA implementation is broken //dma_write64(dma_report, offset + 0x0, timestamp);
//vm::write64(m_local_mem_addr + offset + 0x0, timestamp); //dma_write32(dma_report, offset + 0x8, value);
//vm::write32(m_local_mem_addr + offset + 0x8, value); //dma_write32(dma_report, offset + 0xc, 0);
//vm::write32(m_local_mem_addr + offset + 0xc, 0);
dma_write64(dma_report, offset + 0x0, timestamp); vm::write64(m_local_mem_addr + offset + 0x0, timestamp);
dma_write32(dma_report, offset + 0x8, value); vm::write32(m_local_mem_addr + offset + 0x8, value);
dma_write32(dma_report, offset + 0xc, 0); vm::write32(m_local_mem_addr + offset + 0xc, 0);
} }
break; break;