Fixed thread title from "Armored Core - Verdict Day" to "Armored Core: Verdict Day"
Please be careful, if the title is not correct it means we have to manually fix it in the database if it did not get spotted from a moderator before the update script is ran which adds entries into our compat database.
Can get into the first mission, but not any further, getting 'access violation writing location error', which I get on Armored Core 4 and Armored Core for Answer if I turn on Read/Write Color Buffers, I've turned it off for both of them and for this one initially, but it still got that error.
(12-15-2020, 09:55 AM)dofits Wrote: [ -> ]Can get into the first mission, but not any further, getting 'access violation writing location error', which I get on Armored Core 4 and Armored Core for Answer if I turn on Read/Write Color Buffers, I've turned it off for both of them and for this one initially, but it still got that error.
I got it to work by:
-framelimit 59.94
-write color buffers
-back ground blur to 50%
-turn off all trophies in management
RPCS3 v0.0.25-14469-45bd0d1f Alpha | master
So, I tried setting Max Power-Saving CPU Preemptions to 400, and Max SPU threads to 1, and managed to play through a few missions. With these settings, if I select a mission then wait ~10-15 seconds before entering it, I can consistently start the mission. However, there's a seemingly random chance to crash and get this error on mission completion:
F {PPU[0x1000000] Thread (main_thread) [0x012d99d8]} VM: Access violation writing location 0x0 (unmapped memory)
If I don't wait before starting, I get a similar error, but it happens this way instead:
F {PPU[0x1000049] Thread (Ac4SortieScene) [0x012d99d8]} VM: Access violation writing location 0x0 (unmapped memory)
Attached 3 logs - one where the mission succeeds, one where it fails, and one where it crashes before getting into the mission (not waiting ~10-15 seconds).
Behold, my extreme boredom and lack of skill. I tried digging through my log files above, and the only thing that stands out is this sequence (below taken from log_instantfail_mash):
·W 0:01:04.166988 {PPU[0x1000049] Thread (Ac4SortieScene) [0x0019256c]} sys_memory: sys_memory_allocate(size=0x100000, flags=0x400, alloc_addr=*0xd022cc60)
·! 0:01:04.167475 {PPU[0x1000049] Thread (Ac4SortieScene) [0x0018fe60]} sys_tty: sys_tty_write(ch=0, buf=*0x38a00010, len=34, pwritelen=*0xd022cd20)
·! 0:01:04.168130 {PPU[0x1000049] Thread (Ac4SortieScene) [0x0018fe60]} PPU:
And then I assume the rest is the output for sys_tty_write before hitting, the "VM: Access violation writing location 0x0" string. Fail logs have different addresses for alloc_addr=.
The bolded sequence seems to happen every time before a crash, whether it's before (Ac4SortieScene) or after (main_thread) a mission. There's another output near the start of every log with the same size and flag: timestamp is different, but the bolded output is identical between logs, including alloc_addr=*0xd007fe38
·W 0:00:15.549174 {PPU[0x1000000] Thread (main_thread) [0x012bbd54]} sys_memory: sys_memory_allocate(size=0x100000, flags=0x400, alloc_addr=*0xd007fe38)
·W 0:00:15.549661 {PPU[0x1000000] Thread (main_thread) [0x012bb938]} sys_memory: sys_memory_get_user_memory_size(mem_info=*0xd007fe30)
·W 0:00:15.549697 {PPU[0x1000000] Thread (main_thread) [0x012bbd54]} sys_memory: sys_memory_allocate(size=0x80000, flags=0x200, alloc_addr=*0xd007fe38)
·W 0:00:15.549940 {PPU[0x1000000] Thread (main_thread) [0x012bb938]} sys_memory: sys_memory_get_user_memory_size(mem_info=*0xd007fe30)
·W 0:00:15.549973 {PPU[0x1000000] Thread (main_thread) [0x012bbd54]} sys_memory: sys_memory_allocate(size=0x480000, flags=0x200, alloc_addr=*0xd007fe38)
·W 0:00:15.551824 {PPU[0x1000000] Thread (main_thread) [0x012bb938]} sys_memory: sys_memory_get_user_memory_size(mem_info=*0xd007fe30)
·W 0:00:15.551867 {PPU[0x1000000] Thread (main_thread) [0x012bbd54]} sys_memory: sys_memory_allocate(size=0x100000, flags=0x400, alloc_addr=*0xd007fe38)
·W 0:00:15.552390 {PPU[0x1000000] Thread (main_thread) [0x012bb938]} sys_memory: sys_memory_get_user_memory_size(mem_info=*0xd007fe30)
I've just barely started playing with Firmware Libraries - the only fun finding is that LLE libaudio.sprx seems to have a 100% success rate ending missions...but it also mutes everything and you sit around for ages waiting for the lack of mission end audio to finish.
RPCS3 v0.0.25-14478-812224f7 Alpha | master
Just tested it again with PPU Interpreter (static), still getting end of mission crashes from the same call. From attached log file:
·W 0:10:05.654258 {PPU[0x1000000] Thread (main_thread) [0x0019256c]} sys_memory: sys_memory_allocate(size=0x100000, flags=0x400, alloc_addr=*0xd0079c30)
·! 0:10:05.654772 {PPU[0x1000000] Thread (main_thread) [0x0018fe60]} sys_tty: sys_tty_write(ch=0, buf=*0x38a00010, len=34, pwritelen=*0xd0079cf0)
·! 0:10:05.655495 {PPU[0x1000000] Thread (main_thread) [0x0018fe60]} PPU:
//truncated sys_tty_write
·F 0:10:05.656085 {PPU[0x1000000] Thread (main_thread) [0x012d99d8]} SIG: Thread terminated due to fatal error: Invalid instruction: STW r0,0x0000000000000000(r0)
(in file C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\rpcs3\Emu\Cell\PPUInterpreter.cpp:7821[:25], in function operator ())
·W 0:10:05.658040 {PPU[0x1000000] Thread (main_thread) [0x012d99d8]} SYS: Emulation has been frozen! You can either use debugger tools to inspect current emulation state or terminate it.
·! 0:10:05.658148 {PPU[0x1000000] main_thread} SIG: Thread time: 234.625000s (882.774224Gc); Faults: 8 [rsx:8, spu:0]; [soft:0 hard:0]; Switches:[vol:0 unvol:0]; Wait:[149.771s, spur:0]
·W 0:10:05.658972 SYS: CPU Thread 'PPU[0x1000000] main_thread' terminated abnormally!
·! 0:10:08.893806 GUI: Game window close event issued
·! 0:10:08.893963 SYS: Stopping emulator...