Closed GoogleCodeExporter closed 9 years ago
I don't see the problem. It seems to run just fine, right?
A exception with the message 'sceKernelExitGame' is caused by that function.
Which
program is anyway so I can test it?
Original comment by soywiz
on 2 Apr 2010 at 7:39
currently working part
Test based source
http://code.google.com/p/jpcsp/source/browse/trunk/demos/src/fputest/main.c
Binary .pbp http://code.google.com/p/jpcsp/source/browse/trunk/demos/fputest.pbp
Notice: Unknown format '%X' on pspemu.core.cpu.Disassembler.AllegrexDisassembler
.dissasm
Notice: Unknown format '%Y' on pspemu.core.cpu.Disassembler.AllegrexDisassembler
.dissasm
08909170: vwb.q %Xq, %Y
Notice: Unknown format '%X' on pspemu.core.cpu.Disassembler.AllegrexDisassembler
.dissasm
Notice: Unknown format '%Y' on pspemu.core.cpu.Disassembler.AllegrexDisassembler
.dissasm
08909174: vwb.q %Xq, %Y
}
CurrentThread:
Thread(ID=0x2C4D900, PC=0x0890B68C, SP=0x09FF5DB0, threadPreemptCount=0x021, c
urrentPriority=0x20, stackSize=0x40000
paused=0, alive=1, callback='sceDisplayWaitVblankStart':00000000, Name='user
_main')
resume-PC:0890B68C, resume-RA:0890B68C
Threads(3) {
Thread(ID=0x2C4DD00, PC=0x08000010, SP=0x09FFFA00, threadPreemptCount=0x021, c
urrentPriority=0x20, stackSize=0x08000
paused=1, alive=1, callback='sceKernelSleepThreadCB':02B62810, Name='Main Th
read')
resume-PC:08000004, resume-RA:08000000
Thread(ID=0x2C4DA00, PC=0x08000010, SP=0x09FF73F8, threadPreemptCount=0x003, c
urrentPriority=0x11, stackSize=0x00FA0
paused=1, alive=1, callback='sceKernelSleepThreadCB':02B67410, Name='update_
thread')
resume-PC:08900414, resume-RA:08900414
Thread(ID=0x2C4D900, PC=0x0890B68C, SP=0x09FF5DB0, threadPreemptCount=0x021, c
urrentPriority=0x20, stackSize=0x40000
paused=0, alive=1, callback='sceDisplayWaitVblankStart':00000000, Name='user
_main')
resume-PC:0890B68C, resume-RA:0890B68C
}
Semaphores(0) {
}
CPU Error: object.Error: assert(0) or HLT instruction
------------------------------------------------
SectionHeader(28):
SectionHeader(type=00000000, flags=00000000, mem=0x00000000, file=0x000000, si
ze=0x00000) : ''
SectionHeader(type=70000006, flags=00000000, mem=0x08900000, file=0x009314, si
ze=0x00018) : '.reginfo'
SectionHeader(type=00000001, flags=00000006, mem=0x08900018, file=0x001018, si
ze=0x00024) : '.init'
SectionHeader(type=00000001, flags=00000006, mem=0x0890003C, file=0x00103C, si
ze=0x067EC) : '.text'
SectionHeader(type=00000001, flags=00000006, mem=0x08906828, file=0x007828, si
ze=0x0001C) : '.fini'
SectionHeader(type=00000001, flags=00000006, mem=0x08906844, file=0x007844, si
ze=0x000B8) : '.sceStub.text'
SectionHeader(type=00000001, flags=00000002, mem=0x089068FC, file=0x0078FC, si
ze=0x00004) : '.lib.ent.top'
SectionHeader(type=00000001, flags=00000002, mem=0x08906900, file=0x007900, si
ze=0x00010) : '.lib.ent'
SectionHeader(type=00000001, flags=00000002, mem=0x08906910, file=0x007910, si
ze=0x00004) : '.lib.ent.btm'
SectionHeader(type=00000001, flags=00000002, mem=0x08906914, file=0x007914, si
ze=0x00004) : '.lib.stub.top'
SectionHeader(type=00000001, flags=00000002, mem=0x08906918, file=0x007918, si
ze=0x000B4) : '.lib.stub'
SectionHeader(type=00000001, flags=00000002, mem=0x089069CC, file=0x0079CC, si
ze=0x00004) : '.lib.stub.btm'
SectionHeader(type=00000001, flags=00000002, mem=0x089069D0, file=0x0079D0, si
ze=0x00040) : '.rodata.sceModuleInfo'
SectionHeader(type=00000001, flags=00000002, mem=0x08906A10, file=0x007A10, si
ze=0x000C4) : '.rodata.sceResident'
SectionHeader(type=00000001, flags=00000002, mem=0x08906AD4, file=0x007AD4, si
ze=0x0005C) : '.rodata.sceNid'
SectionHeader(type=00000001, flags=00000002, mem=0x08906B30, file=0x007B30, si
ze=0x00408) : '.rodata'
SectionHeader(type=00000001, flags=00000003, mem=0x08907038, file=0x008038, si
ze=0x0003C) : '.eh_frame'
SectionHeader(type=00000001, flags=00000003, mem=0x08907074, file=0x008074, si
ze=0x0000C) : '.ctors'
SectionHeader(type=00000001, flags=00000003, mem=0x08907080, file=0x008080, si
ze=0x0000C) : '.dtors'
SectionHeader(type=00000001, flags=00000003, mem=0x0890708C, file=0x00808C, si
ze=0x00004) : '.jcr'
SectionHeader(type=00000001, flags=00000003, mem=0x08907090, file=0x008090, si
ze=0x0127C) : '.data'
SectionHeader(type=00000001, flags=10000003, mem=0x0890830C, file=0x00930C, si
ze=0x00008) : '.sdata'
SectionHeader(type=00000008, flags=10000003, mem=0x08908314, file=0x009314, si
ze=0x00000) : '.sbss'
SectionHeader(type=00000008, flags=00000003, mem=0x08908314, file=0x009314, si
ze=0x06508) : '.bss'
SectionHeader(type=00000001, flags=00000000, mem=0x00000000, file=0x00932C, si
ze=0x006E4) : '.comment'
SectionHeader(type=00000001, flags=00000000, mem=0x00000000, file=0x009A10, si
ze=0x00000) : '.mdebug.eabi32'
SectionHeader(type=00000001, flags=00000000, mem=0x00000000, file=0x009A10, si
ze=0x00000) : '.gcc_compiled_long32'
SectionHeader(type=00000003, flags=00000000, mem=0x00000000, file=0x009A10, si
ze=0x0011A) : '.shstrtab'
Imports (0x08906918-0x089069CC):
'sceDisplay'
{
0x0E20F177:'sceDisplay.sceDisplaySetMode'
0x289D82FE:'sceDisplay.sceDisplaySetFrameBuf'
0x36CDFADE:'sceDisplay.sceDisplayWaitVblank'
}
'sceGe_user'
{
0xE47E40E4:'sceGe_user.sceGeEdramGetAddr'
}
'sceCtrl'
{
0x1F803938:'sceCtrl.sceCtrlReadBufferPositive'
}
'IoFileMgrForUser'
{
0xB29DDF9C:'IoFileMgrForUser.sceIoDopen'
0xEB092469:'IoFileMgrForUser.sceIoDclose'
0x55F4717D:'IoFileMgrForUser.sceIoChdir'
}
'ModuleMgrForUser'
{
0xD675EBB8:'ModuleMgrForUser.sceKernelSelfStopUnloadModule'
}
'StdioForUser'
{
0x172D316E:'StdioForUser.sceKernelStdin'
0xA6BAB2E9:'StdioForUser.sceKernelStdout'
0xF78BA90A:'StdioForUser.sceKernelStderr'
}
'SysMemUserForUser'
{
0xA291F107:'SysMemUserForUser.sceKernelMaxFreeMemSize'
0x237DBD4F:'SysMemUserForUser.sceKernelAllocPartitionMemory'
0xB6D61D02:'SysMemUserForUser.sceKernelFreePartitionMemory'
0x9D9A5BA1:'SysMemUserForUser.sceKernelGetBlockHeadAddr'
}
'ThreadManForUser'
{
0xE81CAF8F:'ThreadManForUser.sceKernelCreateCallback'
0x82826F70:'ThreadManForUser.sceKernelSleepThreadCB'
0x446D8DE6:'ThreadManForUser.sceKernelCreateThread'
0xF475845D:'ThreadManForUser.sceKernelStartThread'
0xAA73C935:'ThreadManForUser.sceKernelExitThread'
}
'LoadExecForUser'
{
0x05572A5F:'LoadExecForUser.sceKernelExitGame'
0x4AC57943:'LoadExecForUser.sceKernelRegisterExitCallback'
}
Exports (0x08906900-0x08906910):
'<null>'
InstructionCounter.count {
addiu :1027
addu :932
lw :783
sw :597
lui :337
sll :302
beq :272
j :248
bne :244
jal :208
jr :148
sltu :143
subu :124
or :96
sltiu :93
sb :82
beql :79
srl :69
andi :67
lb :63
bnel :62
ori :60
and :52
mflo :40
slti :35
break :34
divu :34
sllv :31
bltz :30
lbu :27
srlv :26
mfhi :24
mov.s :22
blez :22
lwc1 :20
movn :18
sra :18
mult :18
jalr :18
slt :17
ins :15
xori :13
ext :11
nor :9
movz :8
bc1t :8
c.eq.s :8
xor :7
multu :6
min :5
bgtz :5
bgez :4
bltzl :4
sh :3
seb :3
srav :2
mtic :2
swc1 :2
bgezl :2
lhu :1
div.s :1
mul.s :1
cvt.w.s :1
abs.s :1
sqrt.s :1
mfic :1
add.s :1
sub.s :1
neg.s :1
max :1
ctc1 :1
}
LoadedModules {
'Module(LoadExecForUser)'
'Module(ModuleMgrForUser)'
'Module(StdioForUser)'
'Module(ThreadManForUser)'
'Module(sceDisplay)'
'Module(sceCtrl)'
'Module(IoFileMgrForUser)'
'Module(SysMemUserForUser)'
'Module(sceGe_user)'
}
------------------------------------------------
CPU Error: object.Exception: Unimplemented 'sceDisplayWaitVblank' at 'pspemu\hle
\kd\display.d:74'
Registers {
PC = 0x08900840 | nPC = 0x08900844 LO = 0x00000000 | HI = 0x00002000 IC = 0
x00000000
r4 = 0x09FF5DB8 (a0) r5 = 0x00000001 (a1) r7 = 0x00000008 (a3) r8 = 0x4
4067F74 (t0)
r9 = 0x00000008 (t1) r10 = 0x44068754 (t2) r11 = 0x00000080 (t3) r14 = 0x2
0000000 (t6)
r18 = 0x00000018 (s2) r19 = 0x08900000 (s3) r20 = 0x08900000 (s4) r21 = 0x0
8900000 (s5)
r28 = 0x08910300 (gp) r29 = 0x09FF5DB8 (sp) r31 = 0x08900840 (ra)
}
Float registers {
f0 = 2.000000 | 0x40000000
f1 = 2.000000 | 0x40000000
f12 = 0.000000 | 0x00000002
f13 = 2.000000 | 0x40000000
f20 = 1.500000 | 0x3FC00000
}
Disassembler dump (0x08900840, -3, 3) {
08900834: ext s0, s0, 14, 1
08900838: jal 0x08906854
0890083C: addu s1, v0, zr
->08900840: beq s0, zr, 0x08900820
08900844: addu a0, sp, zr
08900848: addu v0, zr, zr
0890084C: lw ra, 40(sp)
}
Disassembler dump (0x08906854, -3, 3) {
08906848: mfhi fp
0890684C: syscall 0x01000
08906850: mfhi fp
->08906854: syscall 0x01000
08906858: mfhi a2
0890685C: syscall 0x01000
08906860: mfhi a2
}
CurrentThread:
Thread(ID=0x313EA00, PC=0x089009D0, SP=0x09FF5DA0, threadPreemptCount=0x021, c
urrentPriority=0x20, stackSize=0x40000
paused=0, alive=1, callback='':00000000, Name='user_main')
resume-PC:00000000, resume-RA:00000000
Threads(3) {
Thread(ID=0x2C59C00, PC=0x08000010, SP=0x09FFFA00, threadPreemptCount=0x021, c
urrentPriority=0x20, stackSize=0x08000
paused=1, alive=1, callback='sceKernelSleepThreadCB':02C10840, Name='Main Th
read')
resume-PC:08000004, resume-RA:08000000
Thread(ID=0x313EB00, PC=0x08000010, SP=0x09FF73F8, threadPreemptCount=0x00C, c
urrentPriority=0x11, stackSize=0x00FA0
paused=1, alive=1, callback='sceKernelSleepThreadCB':02C10AA0, Name='Update
Thread')
resume-PC:08900384, resume-RA:08900384
Thread(ID=0x313EA00, PC=0x089009D0, SP=0x09FF5DA0, threadPreemptCount=0x021, c
urrentPriority=0x20, stackSize=0x40000
paused=0, alive=1, callback='':00000000, Name='user_main')
resume-PC:00000000, resume-RA:00000000
}
Semaphores(0) {
}
CPU Error: object.Exception: Unimplemented 'sceDisplayWaitVblank' at 'pspemu\hle
\kd\display.d:74'
Original comment by max...@gmail.com
on 3 Apr 2010 at 12:16
Attachments:
Update rev113
SectionHeader(28):
SectionHeader(type=00000000, flags=00000000, mem=0x00000000, file=0x000000, si
ze=0x00000) : ''
SectionHeader(type=70000006, flags=00000000, mem=0x08900000, file=0x004518, si
ze=0x00018) : '.reginfo'
SectionHeader(type=00000001, flags=00000006, mem=0x08900018, file=0x001018, si
ze=0x00028) : '.init'
SectionHeader(type=00000001, flags=00000006, mem=0x08900040, file=0x001040, si
ze=0x028D8) : '.text'
SectionHeader(type=00000001, flags=00000006, mem=0x08902918, file=0x003918, si
ze=0x00020) : '.fini'
SectionHeader(type=00000001, flags=00000006, mem=0x08902938, file=0x003938, si
ze=0x00090) : '.sceStub.text'
SectionHeader(type=00000001, flags=00000002, mem=0x089029C8, file=0x0039C8, si
ze=0x00004) : '.lib.ent.top'
SectionHeader(type=00000001, flags=00000002, mem=0x089029CC, file=0x0039CC, si
ze=0x00010) : '.lib.ent'
SectionHeader(type=00000001, flags=00000002, mem=0x089029DC, file=0x0039DC, si
ze=0x00004) : '.lib.ent.btm'
SectionHeader(type=00000001, flags=00000002, mem=0x089029E0, file=0x0039E0, si
ze=0x00004) : '.lib.stub.top'
SectionHeader(type=00000001, flags=00000002, mem=0x089029E4, file=0x0039E4, si
ze=0x00078) : '.lib.stub'
SectionHeader(type=00000001, flags=00000002, mem=0x08902A5C, file=0x003A5C, si
ze=0x00004) : '.lib.stub.btm'
SectionHeader(type=00000001, flags=00000002, mem=0x08902A60, file=0x003A60, si
ze=0x00040) : '.rodata.sceModuleInfo'
SectionHeader(type=00000001, flags=00000002, mem=0x08902AA0, file=0x003AA0, si
ze=0x00098) : '.rodata.sceResident'
SectionHeader(type=00000001, flags=00000002, mem=0x08902B38, file=0x003B38, si
ze=0x00048) : '.rodata.sceNid'
SectionHeader(type=00000001, flags=00000002, mem=0x08902B80, file=0x003B80, si
ze=0x0004E) : '.rodata'
SectionHeader(type=00000001, flags=00000003, mem=0x08902CD0, file=0x003CD0, si
ze=0x00004) : '.eh_frame'
SectionHeader(type=00000001, flags=00000003, mem=0x08902CD4, file=0x003CD4, si
ze=0x0000C) : '.ctors'
SectionHeader(type=00000001, flags=00000003, mem=0x08902CE0, file=0x003CE0, si
ze=0x0000C) : '.dtors'
SectionHeader(type=00000001, flags=00000003, mem=0x08902CEC, file=0x003CEC, si
ze=0x00004) : '.jcr'
SectionHeader(type=00000001, flags=00000003, mem=0x08902CF0, file=0x003CF0, si
ze=0x00820) : '.data'
SectionHeader(type=00000001, flags=10000003, mem=0x08903510, file=0x004510, si
ze=0x00008) : '.sdata'
SectionHeader(type=00000008, flags=10000003, mem=0x08903518, file=0x004518, si
ze=0x00000) : '.sbss'
SectionHeader(type=00000008, flags=00000003, mem=0x08903518, file=0x004518, si
ze=0x064E8) : '.bss'
SectionHeader(type=00000001, flags=00000000, mem=0x00000000, file=0x004530, si
ze=0x003CC) : '.comment'
SectionHeader(type=00000001, flags=00000000, mem=0x00000000, file=0x0048FC, si
ze=0x00000) : '.mdebug.eabi32'
SectionHeader(type=00000001, flags=00000000, mem=0x00000000, file=0x0048FC, si
ze=0x00000) : '.gcc_compiled_long32'
SectionHeader(type=00000003, flags=00000000, mem=0x00000000, file=0x0048FC, si
ze=0x0011A) : '.shstrtab'
Imports (0x089029E4-0x08902A5C):
'IoFileMgrForUser'
{
0xB29DDF9C:'IoFileMgrForUser.sceIoDopen'
0xEB092469:'IoFileMgrForUser.sceIoDclose'
0x55F4717D:'IoFileMgrForUser.sceIoChdir'
}
'ModuleMgrForUser'
{
0xD675EBB8:'ModuleMgrForUser.sceKernelSelfStopUnloadModule'
}
'StdioForUser'
{
0x172D316E:'StdioForUser.sceKernelStdin'
0xA6BAB2E9:'StdioForUser.sceKernelStdout'
0xF78BA90A:'StdioForUser.sceKernelStderr'
}
'SysMemUserForUser'
{
0xA291F107:'SysMemUserForUser.sceKernelMaxFreeMemSize'
0x237DBD4F:'SysMemUserForUser.sceKernelAllocPartitionMemory'
0xB6D61D02:'SysMemUserForUser.sceKernelFreePartitionMemory'
0x9D9A5BA1:'SysMemUserForUser.sceKernelGetBlockHeadAddr'
}
'ThreadManForUser'
{
0xE81CAF8F:'ThreadManForUser.sceKernelCreateCallback'
0x82826F70:'ThreadManForUser.sceKernelSleepThreadCB'
0x446D8DE6:'ThreadManForUser.sceKernelCreateThread'
0xF475845D:'ThreadManForUser.sceKernelStartThread'
0xAA73C935:'ThreadManForUser.sceKernelExitThread'
}
'LoadExecForUser'
{
0x05572A5F:'LoadExecForUser.sceKernelExitGame'
0x4AC57943:'LoadExecForUser.sceKernelRegisterExitCallback'
}
Exports (0x089029CC-0x089029DC):
'<null>'
InstructionCounter.count {
addiu :425
addu :347
lw :325
sw :253
sll :169
lui :159
beq :124
jal :101
j :96
bne :89
jr :65
sltiu :41
lb :40
and :37
beql :33
sb :28
bnel :27
andi :25
subu :23
srl :23
ori :22
sltu :18
lwc1 :14
or :13
lbu :13
jalr :10
slti :10
mflo :7
sllv :7
bltz :7
bc1t :7
nor :7
c.eq.s :7
mov.s :6
div :5
break :5
blez :4
mtic :2
bgezl :2
seb :2
xor :2
mult :2
mfic :1
add.s :1
sh :1
max :1
swc1 :1
bgtzl :1
mul.s :1
abs.s :1
sub.s :1
neg.s :1
div.s :1
lhu :1
}
LoadedModules {
'Module(LoadExecForUser)'
'Module(ModuleMgrForUser)'
'Module(StdioForUser)'
'Module(ThreadManForUser)'
'Module(IoFileMgrForUser)'
'Module(SysMemUserForUser)'
}
------------------------------------------------
CPU Error: object.Exception: sceKernelExitGame
Registers {
PC = 0x08900514 | nPC = 0x08900518 LO = 0x00000000 | HI = 0x00000000 IC = 0
x00000000
r2 = 0x08902CE8 (v0) r3 = 0x08900504 (v1) r4 = 0x00000001 (a0) r6 = 0x0
8902918 (a2)
r16 = 0x08900000 (s0) r17 = 0x08900000 (s1) r18 = 0x08902E54 (s2) r19 = 0x0
8902E4C (s3)
r20 = 0x08902ED4 (s4) r21 = 0xFFFFFFFF (s5) r23 = 0x00000001 (s7) r28 = 0x0
890B500 (gp)
r29 = 0x09FF5D80 (sp) r30 = 0x08902E48 (fp) r31 = 0x08900514 (ra)
}
Float registers {
f0 = 2.000000 | 0x40000000
f1 = 2.000000 | 0x40000000
f12 = -2.000000 | 0xC0000000
f13 = 2.000000 | 0x40000000
}
Disassembler dump (0x08900514, -3, 3) {
08900508: sw ra, 0(sp)
0890050C: jal 0x089029B8
08900510: sll zr, zr, 0
->08900514: lw ra, 0(sp)
08900518: jr ra
0890051C: addiu sp, sp, 8
08900520: addiu sp, sp, -8
}
Disassembler dump (0x089029B8, -3, 3) {
089029AC: mfhi a1
089029B0: syscall 0x01000
089029B4: mfhi a1
->089029B8: syscall 0x01000
089029BC: mfhi at
089029C0: syscall 0x01000
089029C4: mfhi zr
}
CurrentThread:
Thread(ID=0x2858900, PC=0x08900184, SP=0x09FF5E60, threadPreemptCount=0x000, c
urrentPriority=0x20, stackSize=0x40000
paused=0, alive=1, callback='':00000000, Name='user_main')
resume-PC:00000000, resume-RA:00000000
Threads(3) {
Thread(ID=0x2858E00, PC=0x08900168, SP=0x09FFF9F0, threadPreemptCount=0x021, c
urrentPriority=0x20, stackSize=0x08000
paused=0, alive=1, callback='':00000000, Name='Main Thread')
resume-PC:00000000, resume-RA:00000000
Thread(ID=0x2858A00, PC=0x08000010, SP=0x09FF73F8, threadPreemptCount=0x000, c
urrentPriority=0x11, stackSize=0x00FA0
paused=1, alive=1, callback='sceKernelSleepThreadCB':027774A0, Name='Update
Thread')
resume-PC:089005BC, resume-RA:089005BC
Thread(ID=0x2858900, PC=0x08900184, SP=0x09FF5E60, threadPreemptCount=0x000, c
urrentPriority=0x20, stackSize=0x40000
paused=0, alive=1, callback='':00000000, Name='user_main')
resume-PC:00000000, resume-RA:00000000
}
Semaphores(0) {
}
CPU Error: object.Exception: sceKernelExitGame
Original comment by max...@gmail.com
on 3 Apr 2010 at 7:05
Fixed in r126, thanks for reporting!
Original comment by soywiz
on 21 Apr 2010 at 10:37
Original issue reported on code.google.com by
max...@gmail.com
on 27 Mar 2010 at 12:18