PS1: Fix launcher not drawing in pcsx-redux software mode

This commit is contained in:
UnknownShadow200 2025-03-11 07:37:01 +11:00
parent d76a64abc9
commit 647fb43ccd
2 changed files with 10 additions and 0 deletions

View File

@ -6,6 +6,7 @@ enum dma_chrc_CMD {
CHRC_FROM_RAM = (1 << 0), CHRC_FROM_RAM = (1 << 0),
CHRC_DIR_DECREMENT = (1 << 1), CHRC_DIR_DECREMENT = (1 << 1),
CHRC_MODE_SLICE = (1 << 9), CHRC_MODE_SLICE = (1 << 9),
CHRC_MODE_CHAIN = (1 << 10),
CHRC_BEGIN_XFER = (1 << 24), CHRC_BEGIN_XFER = (1 << 24),
CHRC_NO_DREQ_WAIT = (1 << 28), CHRC_NO_DREQ_WAIT = (1 << 28),
}; };
@ -21,6 +22,7 @@ enum gp0_cmd_type {
GP0_CMD_CLEAR_VRAM_CACHE = 0x01000000, GP0_CMD_CLEAR_VRAM_CACHE = 0x01000000,
GP0_CMD_TRANSFER_TO_VRAM = 0xA0000000, GP0_CMD_TRANSFER_TO_VRAM = 0xA0000000,
GP0_CMD_POLYGON = 0x20000000, GP0_CMD_POLYGON = 0x20000000,
GP0_CMD_RECTANGLE = 0x60000000,
}; };
enum gp0_polycmd_flags { enum gp0_polycmd_flags {
@ -29,6 +31,10 @@ enum gp0_polycmd_flags {
POLY_CMD_SEMITRNS = 1u << 25, POLY_CMD_SEMITRNS = 1u << 25,
}; };
enum gp0_rectcmd_flags {
RECT_CMD_1x1 = 1u << 27,
};
enum gp1_cmd_type { enum gp1_cmd_type {
GP1_CMD_DISPLAY_ACTIVE = 0x03000000, GP1_CMD_DISPLAY_ACTIVE = 0x03000000,
GP1_CMD_DMA_MODE = 0x04000000, GP1_CMD_DMA_MODE = 0x04000000,

View File

@ -212,6 +212,10 @@ void Window_AllocFramebuffer(struct Bitmap* bmp, int width, int height) {
} }
void Window_DrawFramebuffer(Rect2D r, struct Bitmap* bmp) { void Window_DrawFramebuffer(Rect2D r, struct Bitmap* bmp) {
// Fix not drawing in pcsx-redux software mode
GPU_GP0 = GP0_CMD_RECTANGLE | RECT_CMD_1x1;
GPU_GP0 = (0 << 16) | 0;
Gfx_TransferToVRAM(0, 0, SCREEN_XRES, SCREEN_YRES, bmp->scan0); Gfx_TransferToVRAM(0, 0, SCREEN_XRES, SCREEN_YRES, bmp->scan0);
} }