From 1dbd2d6a5ac99a5ec0db0e3d4451bc10ddd54e47 Mon Sep 17 00:00:00 2001 From: h4570 Date: Mon, 12 Feb 2024 00:10:40 +0100 Subject: [PATCH 1/3] Fix glitched texture --- .../src/renderer/3d/pipeline/dynamic/core/dynpip_renderer.cpp | 2 ++ .../3d/pipeline/minecraft/programs/mcpip_programs_manager.cpp | 3 +++ .../3d/pipeline/static/core/stapip_qbuffer_renderer.cpp | 3 +++ 3 files changed, 8 insertions(+) diff --git a/engine/src/renderer/3d/pipeline/dynamic/core/dynpip_renderer.cpp b/engine/src/renderer/3d/pipeline/dynamic/core/dynpip_renderer.cpp index fef2f6f3..de4c204e 100644 --- a/engine/src/renderer/3d/pipeline/dynamic/core/dynpip_renderer.cpp +++ b/engine/src/renderer/3d/pipeline/dynamic/core/dynpip_renderer.cpp @@ -189,6 +189,8 @@ void DynPipRenderer::addBufferDataToPacket(DynPipBag** bags, const u32& count) { void DynPipRenderer::sendPacket() { dma_channel_wait(DMA_CHANNEL_VIF1, 0); + dma_channel_wait(DMA_CHANNEL_GIF, 0); // Wait for texture. Issue #182. + // dma_wait_fast(); // This have no impact on performance dma_channel_send_packet2(currentPacket, DMA_CHANNEL_VIF1, true); diff --git a/engine/src/renderer/3d/pipeline/minecraft/programs/mcpip_programs_manager.cpp b/engine/src/renderer/3d/pipeline/minecraft/programs/mcpip_programs_manager.cpp index 248a7a62..ddcda2b0 100644 --- a/engine/src/renderer/3d/pipeline/minecraft/programs/mcpip_programs_manager.cpp +++ b/engine/src/renderer/3d/pipeline/minecraft/programs/mcpip_programs_manager.cpp @@ -87,6 +87,7 @@ void BlockizerProgramsManager::uploadBlock(bool isMulti) { vu1BlockData = isMulti ? BlockMultiUploaded : BlockSingleUploaded; dma_channel_wait(DMA_CHANNEL_VIF1, 0); + // dma_channel_wait(DMA_CHANNEL_GIF, 0); // ? - ? dma_channel_send_packet2(staticPacket, DMA_CHANNEL_VIF1, true); } @@ -168,6 +169,8 @@ void BlockizerProgramsManager::sendPacket(McpipProgram* program) { packet2_utils_vu_add_end_tag(currentPacket); dma_channel_wait(DMA_CHANNEL_VIF1, 0); + dma_channel_wait(DMA_CHANNEL_GIF, 0); // Wait for texture. Issue #182. + // dma_wait_fast(); // This have no impact on performance dma_channel_send_packet2(currentPacket, DMA_CHANNEL_VIF1, true); diff --git a/engine/src/renderer/3d/pipeline/static/core/stapip_qbuffer_renderer.cpp b/engine/src/renderer/3d/pipeline/static/core/stapip_qbuffer_renderer.cpp index 1bf1adce..3e32cc42 100644 --- a/engine/src/renderer/3d/pipeline/static/core/stapip_qbuffer_renderer.cpp +++ b/engine/src/renderer/3d/pipeline/static/core/stapip_qbuffer_renderer.cpp @@ -173,6 +173,7 @@ void StaPipQBufferRenderer::sendObjectData( packet2_utils_vu_add_end_tag(objectDataPacket); dma_channel_wait(DMA_CHANNEL_VIF1, 0); + // dma_channel_wait(DMA_CHANNEL_GIF, 0); // 289 - 294 dma_channel_send_packet2(objectDataPacket, DMA_CHANNEL_VIF1, true); } @@ -365,6 +366,8 @@ void StaPipQBufferRenderer::sendPacket() { "Packet is too big. Internal error"); dma_channel_wait(DMA_CHANNEL_VIF1, 0); + dma_channel_wait(DMA_CHANNEL_GIF, 0); // Wait for texture. Issue #182. + // dma_wait_fast(); // This have no impact on performance dma_channel_send_packet2(currentPacket, DMA_CHANNEL_VIF1, true); From 3c2ad09870c1a1c2b6f5f3f06d42f7efd651d4c4 Mon Sep 17 00:00:00 2001 From: h4570 Date: Mon, 12 Feb 2024 00:10:59 +0100 Subject: [PATCH 2/3] Docs changes --- README.MD | 4 +++- docs/install/README.MD | 2 +- docs/install/pcsx2.md | 26 +++++++++++++++----------- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/README.MD b/README.MD index ffd1e52a..f716b621 100644 --- a/README.MD +++ b/README.MD @@ -68,6 +68,8 @@ Decision was simple - I need to create an engine which will handle 3D file loadi * 07 - [Code](https://github.com/h4570/tyra/tree/master/tutorials/07-lighting) - Static lightmap and dynamic directional lights * 08 - [Code](https://github.com/h4570/tyra/tree/master/tutorials/08-skybox-debug) - Skybox and debug rendering * 09 - [Code](https://github.com/h4570/tyra/tree/master/tutorials/09-manual-mode) - Manual rendering (a'la OpenGL) +* 10 - [Code](https://github.com/h4570/tyra/tree/master/tutorials/10-sprite=sheet) - Sprite sheet (font) +* 11 - [Code](https://github.com/h4570/tyra/tree/master/tutorials/11-texture-region-repeat) - Texture repeating * Demo game - [Code](https://github.com/h4570/tyra/tree/master/demo) --- @@ -141,7 +143,7 @@ Distributed under the Apache License 2.0 License. See `LICENSE` for more informa Without these guys, Tyra would not happen: * [Dr Henry Fortuna](http://ps2-edu.tensioncore.com/index.html) - for code sources, PS2 academy tutorials * Whole [PS2DEV](https://github.com/ps2dev) team, and specially to [Rick Gaiser](https://github.com/rickgaiser), [fjtrujy](https://github.com/fjtrujy) - for a lot of good tips! -* [Wellington Carvalho](https://github.com/Wellinator), [André Guilheme](https://github.com/Wolf3s), [Matías Israelson](https://github.com/israpps) - for testing, contributing to Tyra and sharing cool ideas! +* [Wellington Carvalho](https://github.com/Wellinator), [André Guilheme](https://github.com/Wolf3s), [Matías Israelson](https://github.com/israpps), [Guido Diego Quispe Robles](https://github.com/israpps) - for testing, contributing to Tyra and sharing cool ideas! * [Leonardo Ono](https://github.com/leonardo-ono) - for software renderer example (with clipping!) * [Lukasz D.K.](https://github.com/lukaszdk) - for huge archive of PS2 stuff * [Guilherme Lampert](https://github.com/glampert) - for code sources diff --git a/docs/install/README.MD b/docs/install/README.MD index e6decdb8..790c2585 100644 --- a/docs/install/README.MD +++ b/docs/install/README.MD @@ -6,7 +6,7 @@ 1. Git 2. VSCode 3. Docker with PowerShell as a default terminal -4. [PCSX2](https://github.com/h4570/tyra/blob/master/docs/install/pcsx2.md#) +4. [Configured PCSX2](https://github.com/h4570/tyra/blob/master/docs/install/pcsx2.md#) --- diff --git a/docs/install/pcsx2.md b/docs/install/pcsx2.md index f2d5d7b0..60697fdf 100644 --- a/docs/install/pcsx2.md +++ b/docs/install/pcsx2.md @@ -1,15 +1,9 @@ -## Install & configure PCSX2 +## PCSX2 preparation -- Download & install PCSX2 (1.6+ version) from https://pcsx2.net/ +- Download PCSX2 from https://pcsx2.net/ +- Install - Extract bios files from https://romsmania.cc/bios/pcsx2-playstation-2-bios-3 to `%UserProfile%\Documents\PCSX2\bios` -- Close `PCSX2` if you have opened! -- Open `%UserProfile%\Documents\PCSX2\inis\PCSX2_vm.ini` in notepad - -``` -HostFs=enabled -``` - -- Open PCSX2 and map pad to your keyboard, for example: +- Map pad to your keyboard, for example: ``` WASD = Left joy @@ -18,4 +12,14 @@ Space = X Circle = C ``` -- Enable **"EE timing hack"** in PCSX2 hacks! \ No newline at end of file +### For PCSX2 1.6.X +- Close `PCSX2` if you have opened! +- Open `%UserProfile%\Documents\PCSX2\inis\PCSX2_vm.ini` in notepad and change HostFs option: + +``` +HostFs=enabled +``` + +### For PCSX2 1.7.X +- Open `PCSX2` +- Go to Settings -> Emulation -> Enable `Host file system` \ No newline at end of file From 93e7aa5e1963aaeae06213b1a1ac7b7bf666ff68 Mon Sep 17 00:00:00 2001 From: h4570 Date: Mon, 12 Feb 2024 00:14:33 +0100 Subject: [PATCH 3/3] Remove debug code --- .../3d/pipeline/minecraft/programs/mcpip_programs_manager.cpp | 1 - .../renderer/3d/pipeline/static/core/stapip_qbuffer_renderer.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/engine/src/renderer/3d/pipeline/minecraft/programs/mcpip_programs_manager.cpp b/engine/src/renderer/3d/pipeline/minecraft/programs/mcpip_programs_manager.cpp index ddcda2b0..b1bee573 100644 --- a/engine/src/renderer/3d/pipeline/minecraft/programs/mcpip_programs_manager.cpp +++ b/engine/src/renderer/3d/pipeline/minecraft/programs/mcpip_programs_manager.cpp @@ -87,7 +87,6 @@ void BlockizerProgramsManager::uploadBlock(bool isMulti) { vu1BlockData = isMulti ? BlockMultiUploaded : BlockSingleUploaded; dma_channel_wait(DMA_CHANNEL_VIF1, 0); - // dma_channel_wait(DMA_CHANNEL_GIF, 0); // ? - ? dma_channel_send_packet2(staticPacket, DMA_CHANNEL_VIF1, true); } diff --git a/engine/src/renderer/3d/pipeline/static/core/stapip_qbuffer_renderer.cpp b/engine/src/renderer/3d/pipeline/static/core/stapip_qbuffer_renderer.cpp index 3e32cc42..37db3a60 100644 --- a/engine/src/renderer/3d/pipeline/static/core/stapip_qbuffer_renderer.cpp +++ b/engine/src/renderer/3d/pipeline/static/core/stapip_qbuffer_renderer.cpp @@ -173,7 +173,6 @@ void StaPipQBufferRenderer::sendObjectData( packet2_utils_vu_add_end_tag(objectDataPacket); dma_channel_wait(DMA_CHANNEL_VIF1, 0); - // dma_channel_wait(DMA_CHANNEL_GIF, 0); // 289 - 294 dma_channel_send_packet2(objectDataPacket, DMA_CHANNEL_VIF1, true); }