X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fpsxbios.c;h=81a40aacb59c2cd2a10ca8a1d52417637f420660;hp=cad69b315b3506e6662a782e7faef2f5430bf4f3;hb=eac3852265815a2e57ea9987a2bea2fcadd3f022;hpb=e9fda093d29f703068dd3e5bae7a4b3683e33b5c diff --git a/libpcsxcore/psxbios.c b/libpcsxcore/psxbios.c index cad69b31..81a40aac 100644 --- a/libpcsxcore/psxbios.c +++ b/libpcsxcore/psxbios.c @@ -25,6 +25,7 @@ #include "psxbios.h" #include "psxhw.h" +#include "gpu.h" #undef SysPrintf #define SysPrintf if (Config.PsxOut) printf @@ -804,8 +805,8 @@ void psxBios_qsort() { // 0x31 } void psxBios_malloc() { // 0x33 - unsigned int *chunk, *newchunk; - unsigned int dsize, csize, cstat; + unsigned int *chunk, *newchunk = NULL; + unsigned int dsize = 0, csize, cstat; int colflag; #ifdef PSXBIOS_LOG PSXBIOS_LOG("psxBios_%s\n", biosA0n[0x33]); @@ -875,7 +876,7 @@ void psxBios_malloc() { // 0x33 // split free chunk *chunk = SWAP32(dsize); newchunk = (u32*)((uptr)chunk + dsize + 4); - *newchunk = SWAP32((csize - dsize - 4) & 0xfffffffc | 1); + *newchunk = SWAP32(((csize - dsize - 4) & 0xfffffffc) | 1); } // return pointer to allocated memory @@ -938,7 +939,7 @@ void psxBios_InitHeap() { // 0x39 heap_end = (u32 *)((u8 *)heap_addr + size); *heap_addr = SWAP32(size | 1); - SysPrintf("InitHeap %x,%x : %x %x\n",a0,a1, (uptr)heap_addr-(uptr)psxM, size); + SysPrintf("InitHeap %x,%x : %x %x\n",a0,a1, (int)((uptr)heap_addr-(uptr)psxM), size); pc0 = ra; } @@ -1010,7 +1011,7 @@ _start: memcpy((char*)PSXM(sp), save, 4 * 4); - SysPrintf(tmp); + SysPrintf("%s", tmp); pc0 = ra; } @@ -1118,6 +1119,7 @@ void psxBios_mem2vram() { // 0x47 void psxBios_SendGPU() { // 0x48 GPU_writeStatus(a0); + gpuSyncPluginSR(); pc0 = ra; } @@ -1818,7 +1820,7 @@ void psxBios_putchar() { // 3d } void psxBios_puts() { // 3e/3f - SysPrintf(Ra0); + SysPrintf("%s", Ra0); pc0 = ra; }