PS3 How do debug Cobra?

NiQ

Senior Member
I'd like to see if physical PS2 disc support can be added using a similar hack that's being used for ISOs.
I've never worked on Cobra so I don't even know how to begin.

...also if anyone has the offsets for 4.91 I'd need those. @Evilnat if you would please post those specific source code files it would be greatly appreciated.
 
I'd like to see if physical PS2 disc support can be added using a similar hack that's being used for ISOs.
I've never worked on Cobra so I don't even know how to begin.

...also if anyone has the offsets for 4.91 I'd need those. @Evilnat if you would please post those specific source code files it would be greatly appreciated.

It may be possible, but no one achieved it yet
 
Iirc, the cobra code is on GitHub under evilnat's name.

I just checked. It doesn't have 8.5 nor 4.91, so I dunno if it's public somewhere.
 
To debug cobra compile the payload with BUILD_TYPE = debug in Makefile_491C or Makefile_491D and use socat to see the debug messages. Add DPRINTF in the functions that you're testing. Keep the payload below 130,560 bytes.

Cobra 8.5 is not public yet... probably for the same reason why multiMAN is closed source: people stealing the hard work for their own benefit without give the credits to the original author.

AFAIK Evilnat will publish Cobra 8.5 source code after the final release of CFW Evilnat 4.91.2

Doesn't Cobra already have PS2 disc support on ps2_emu or ps2_gxemu?
 
To debug cobra compile the payload with BUILD_TYPE = debug in Makefile_491C or Makefile_491D and use socat to see the debug messages. Add DPRINTF in the functions that you're testing. Keep the payload below 130,560 bytes.

Cobra 8.5 is not public yet... probably for the same reason why multiMAN is closed source: people stealing the hard work for their own benefit without give the credits to the original author.

AFAIK Evilnat will publish Cobra 8.5 source code after the final release of CFW Evilnat 4.91.2

Doesn't Cobra already have PS2 disc support on ps2_emu or ps2_gxemu?
I totally understand about keeping it closed source. I suspected that was the reason. though, I know goldhen for the ps4 is closed source for another reason. they had it opened source for a time, but then people started creating brickers, to which they made it closed source again. tbh, I'm surprised so many devs and hackers put up with a lot of this stuff, because one thing I've noticed is that the vast majority of people in the scene are totally useless. they don't respect game developers time and work, because they pirate a lot of games with no intention of buying any of them, and they also don't respect homebrew developers time and work, because they don't donate. they simply exist to leech, then there are those unscrupulous people you mentioned who harm the scene by not giving credit, creating brickers, etc. it's enough to drive anyone away. that's why I'm semi-retired/sold my hacked consoles. I personally grew sick of it.
 
To debug cobra compile the payload with BUILD_TYPE = debug in Makefile_491C or Makefile_491D and use socat to see the debug messages. Add DPRINTF in the functions that you're testing. Keep the payload below 130,560 bytes.

Cobra 8.5 is not public yet... probably for the same reason why multiMAN is closed source: people stealing the hard work for their own benefit without give the credits to the original author.

AFAIK Evilnat will publish Cobra 8.5 source code after the final release of CFW Evilnat 4.91.2

Doesn't Cobra already have PS2 disc support on ps2_emu or ps2_gxemu?
Yes, I'm just looking for the PS2 emulator offsets, which change with each firmware version. I think it's just the defines at the top of ps2emu_stage2/ps2netemu_gen/main.c. I hope someone could post those.

Discs work on BC models but I thought that maybe I could hack it into netemu the same way ISOs work.
Also there's that weird bug causing DVD-Rs to show up as data discs if the internal HDD is replaced with an SSD, which is also something work looking into...

No way of debugging Cobra with ProDG?
 
ps2_netemu doesn't have I/O driver for the physical disc playback... and it does not have much room left either. you'd have to reverse a lot of functions yourself to inject the missing CD/DVD driver into it first. none of the cobra codes includes that part of the missing disc driver other than hooking what's currently existing from the OFW features.
 
ps2_netemu doesn't have I/O driver for the physical disc playback... and it does not have much room left either. you'd have to reverse a lot of functions yourself to inject the missing CD/DVD driver into it first. none of the cobra codes includes that part of the missing disc driver other than hooking what's currently existing from the OFW features.
Won't we have a lot more space if we don't touch the file on the disk and instead patch everything in memory?
 
No.. the kernel memory space.. each ps2 emulator itself is a replacement to Lv2.
Oh... well darn. I wonder how they managed to do it with ps2_softemu.

BTW I know it's unrelated but since I no one's really looking at the homebrew dev forum - Is there a way to debug PSL1GHT code with ProDG or another debugger?

To debug cobra compile the payload with BUILD_TYPE = debug in Makefile_491C or Makefile_491D and use socat to see the debug messages. Add DPRINTF in the functions that you're testing. Keep the payload below 130,560 bytes.

Cobra 8.5 is not public yet... probably for the same reason why multiMAN is closed source: people stealing the hard work for their own benefit without give the credits to the original author.

AFAIK Evilnat will publish Cobra 8.5 source code after the final release of CFW Evilnat 4.91.2

Doesn't Cobra already have PS2 disc support on ps2_emu or ps2_gxemu?
Hi.
I'm trying to compile it but getting -

modulespatch.c: In function 'patch_overclock':
modulespatch.c:1302:32: warning: 'new_value[0]' may be used uninitialized in this function
modulespatch.c:1302:32: warning: 'new_value[1]' may be used uninitialized in this function
main.o:(.text+0x48): undefined reference to `.L._sys_cfw_peek'
main.o:(.text+0x98): undefined reference to `.L._sys_cfw_new_poke'
main.o:(.text+0xf0): undefined reference to `.L._sys_cfw_memcpy'
main.o:(.text+0x158): undefined reference to `.L._sys_cfw_poke'
main.o:(.text+0x1b8): undefined reference to `.L._sys_cfw_lv1_poke'
main.o:(.text+0x218): undefined reference to `.L._sys_cfw_lv1_call'
main.o:(.text+0x278): undefined reference to `.L._sys_cfw_lv2_func'
main.o:(.text+0x2d8): undefined reference to `.L._sys_cfw_lv1_peek'
main.o:(.text+0x338): undefined reference to `.L._syscall8'
main.o: In function `.main':
main.c:(.text.main+0x74): undefined reference to `.clear_icache'
main.c:(.text.main+0xd0): undefined reference to `.cellFsUtilMount_h'
modulespatch.o:(.text+0x4c): undefined reference to `.L._post_lv1_call_99_wrapper'
modulespatch.o:(.text+0x98): undefined reference to `.L._modules_patching'
modulespatch.o:(.text+0xf0): undefined reference to `.L._pre_modules_verification'
modulespatch.o:(.text+0x174): undefined reference to `.L._pre_map_process_memory'
modulespatch.o:(.text+0x234): undefined reference to `.L._load_process_hooked'
modulespatch.o:(.text+0x2cc): undefined reference to `.L._create_process_common_hooked'
modulespatch.o:(.text+0x338): undefined reference to `.L._create_process_common_hooked_pre'
modulespatch.o: In function `.modules_patch_init':
modulespatch.c:(.text.modules_patch_init+0x50): undefined reference to `.clear_icache'
modulespatch.c:(.text.modules_patch_init+0x7c): undefined reference to `.clear_icache'
modulespatch.c:(.text.modules_patch_init+0xc4): undefined reference to `.clear_icache'
modulespatch.c:(.text.modules_patch_init+0x100): undefined reference to `.clear_icache'
modulespatch.c:(.text.modules_patch_init+0x12c): undefined reference to `.clear_icache'
modulespatch.o:modulespatch.c:(.text.modules_patch_init+0x174): more undefined references to `.clear_icache' follow
mappath.o:(.text+0x48): undefined reference to `.L._sys_map_path'
mappath.o:(.text+0xa0): undefined reference to `.L._open_path_hook'
mappath.o: In function `.map_path_patches':
mappath.c:(.text.map_path_patches+0x54): undefined reference to `.clear_icache'
mappath.c:(.text.map_path_patches+0x7c): undefined reference to `.clear_icache'
storage_ext.o:(.text+0x38): undefined reference to `.L._device_event'
storage_ext.o:(.text+0xa8): undefined reference to `.L._emu_read_bdvd0'
storage_ext.o:(.text+0x138): undefined reference to `.L._emu_read_bdvd1'
storage_ext.o:(.text+0x1b4): undefined reference to `.L._emu_read_bdvd2'
storage_ext.o:(.text+0x23c): undefined reference to `.L._post_storage_get_device_info'
storage_ext.o:(.text+0x2a4): undefined reference to `.L._emu_storage_read'
storage_ext.o:(.text+0x33c): undefined reference to `.L._emu_sys_storage_async_read'
storage_ext.o:(.text+0x3d4): undefined reference to `.L._emu_storage_send_device_command'
storage_ext.o:(.text+0x46c): undefined reference to `.L._emu_sys_storage_async_send_device_command'
storage_ext.o:(.text+0x4f0): undefined reference to `.L._emu_disc_auth'
storage_ext.o:(.text+0x5a4): undefined reference to `.L._post_cellFsUtilMount'
storage_ext.o:(.text+0x5f0): undefined reference to `.L._shutdown_copy_params_patched'
storage_ext.o: In function `.process_read_disc_cmd':
storage_ext.c:(.text.process_read_disc_cmd+0xb0): undefined reference to `.suspend_intr'
storage_ext.c:(.text.process_read_disc_cmd+0x124): undefined reference to `.resume_intr'
storage_ext.o: In function `.read_psx_sector':
storage_ext.c:(.text.read_psx_sector+0xe0): undefined reference to `.call_hooked_function'
storage_ext.o: In function `.storage_ext_init':
storage_ext.c:(.text.storage_ext_init+0x3c): undefined reference to `._lv1_get_repository_node_value'
storage_ext.o: In function `.storage_ext_patches':
storage_ext.c:(.text.storage_ext_patches+0x84): undefined reference to `._lv1_cfw_peek'
storage_ext.c:(.text.storage_ext_patches+0xa0): undefined reference to `._lv1_cfw_peek'
storage_ext.c:(.text.storage_ext_patches+0xc0): undefined reference to `._lv1_cfw_peek'
storage_ext.c:(.text.storage_ext_patches+0xdc): undefined reference to `._lv1_cfw_poke'
storage_ext.c:(.text.storage_ext_patches+0x138): undefined reference to `.clear_icache'
storage_ext.c:(.text.storage_ext_patches+0x174): undefined reference to `.clear_icache'
storage_ext.c:(.text.storage_ext_patches+0x1a0): undefined reference to `.clear_icache'
storage_ext.c:(.text.storage_ext_patches+0x1e8): undefined reference to `.clear_icache'
storage_ext.c:(.text.storage_ext_patches+0x214): undefined reference to `.clear_icache'
storage_ext.o:storage_ext.c:(.text.storage_ext_patches+0x25c): more undefined references to `.clear_icache' follow
region.o:(.text+0x54): undefined reference to `.L._region_func'
region.o: In function `.region_patches':
region.c:(.text.region_patches+0x60): undefined reference to `.clear_icache'
region.c:(.text.region_patches+0x84): undefined reference to `.clear_icache'
fan_control.o:(.text+0x44): undefined reference to `.L._sm_set_fan_policy_sc'
fan_control.o:(.text+0xbc): undefined reference to `.L._sys_shutdown'
fan_control.o: In function `.start_control':
fan_control.c:(.text.start_control+0x10): undefined reference to `.get_current_thread'
fan_control.o: In function `.fan_control':
fan_control.c:(.text.fan_control+0x54): undefined reference to `.get_current_thread'
fan_control.c:(.text.fan_control+0xa8): undefined reference to `.get_current_thread'
fan_control.c:(.text.fan_control+0x110): undefined reference to `.memcpy'
fan_control.c:(.text.fan_control+0x16c): undefined reference to `.memcpy'
fan_control.c:(.text.fan_control+0x228): undefined reference to `.memcpy'
fan_control.c:(.text.fan_control+0x2a0): undefined reference to `.memcpy'
fan_control.o: In function `.fan_patches':
fan_control.c:(.text.fan_patches+0x60): undefined reference to `.clear_icache'
fan_control.c:(.text.fan_patches+0x84): undefined reference to `.clear_icache'
fan_control.c:(.text.fan_patches+0xd8): undefined reference to `.clear_icache'
fan_control.c:(.text.fan_patches+0xfc): undefined reference to `.clear_icache'
../debug/src/debug.o:(.text+0x48): undefined reference to `.L._ttyWrite'
../debug/src/debug.o:(.text+0xa8): undefined reference to `.L._consoleWrite'
../debug/src/debug.o:(.text+0xf8): undefined reference to `.L._debug_printf'
../debug/src/debug.o: In function `.debug_install':
debug.c:(.text.debug_install+0xc): undefined reference to `.suspend_intr'
debug.c:(.text.debug_install+0x44): undefined reference to `.clear_icache'
debug.c:(.text.debug_install+0x78): undefined reference to `.clear_icache'
debug.c:(.text.debug_install+0xe0): undefined reference to `.resume_intr'
../debug/src/debug.o: In function `.debug_init':
debug.c:(.text.debug_init+0xe4): undefined reference to `._lv1_net_control'
debug.c:(.text.debug_init+0x190): undefined reference to `._lv1_net_control'
../debug/src/debug.o: In function `.debug_print':
debug.c:(.text.debug_print+0xfc): undefined reference to `._lv1_net_start_tx_dma'
../lv2/src/interrupt_c.o: In function `.spin_lock_irqsave':
interrupt_c.c:(.text.spin_lock_irqsave+0xc): undefined reference to `.get_current_thread'
../lv2/src/interrupt_c.o: In function `.spin_unlock_irqrestore':
interrupt_c.c:(.text.spin_unlock_irqrestore+0x10): undefined reference to `.get_current_thread'
../lv1/src/stor.o: In function `.lv1_stor_wrapper_open':
stor.c:(.text.lv1_stor_wrapper_open+0x88): undefined reference to `._lv1_get_repository_node_value'
../lv1/src/stor.o: In function `.lv1_stor_wrapper_read':
stor.c:(.text.lv1_stor_wrapper_read+0x24): undefined reference to `._lv1_storage_read'
stor.c:(.text.lv1_stor_wrapper_read+0x44): undefined reference to `._lv1_storage_check_async_status'
../lv1/src/device.o: In function `.map_dma_mem':
device.c:(.text.map_dma_mem+0x44): undefined reference to `._lv1_allocate_device_dma_region'
device.c:(.text.map_dma_mem+0x70): undefined reference to `._lv1_map_device_dma_region'
device.c:(.text.map_dma_mem+0x8c): undefined reference to `._lv1_free_device_dma_region'
../lv1/src/device.o: In function `.unmap_dma_mem':
device.c:(.text.unmap_dma_mem+0x2c): undefined reference to `._lv1_unmap_device_dma_region'
device.c:(.text.unmap_dma_mem+0x48): undefined reference to `._lv1_free_device_dma_region'
../lv1/src/device.o: In function `.find_device_by_type':
device.c:(.text.find_device_by_type+0x8c): undefined reference to `._lv1_get_repository_node_value'
device.c:(.text.find_device_by_type+0xbc): undefined reference to `._lv1_get_repository_node_value'
device.c:(.text.find_device_by_type+0xfc): undefined reference to `._lv1_get_repository_node_value'
device.c:(.text.find_device_by_type+0x140): undefined reference to `._lv1_get_repository_node_value'
device.c:(.text.find_device_by_type+0x178): undefined reference to `._lv1_get_repository_node_value'
../lv1/src/device.o:device.c:(.text.find_device_by_type+0x1b0): more undefined references to `._lv1_get_repository_node_value' follow
collect2: ld returned 1 exit status
c:\PSDK3v2\ps3dev2\ppu\bin\ppu-objcopy.exe: 'stage2.elf': No such file
cp: cannot stat `stage2.cex': No such file or directory
modulespatch.c: In function 'patch_overclock':
modulespatch.c:1302:32: warning: 'new_value[0]' may be used uninitialized in this function
modulespatch.c:1302:32: warning: 'new_value[1]' may be used uninitialized in this function
main.o:(.text+0x48): undefined reference to `.L._sys_cfw_peek'
main.o:(.text+0x98): undefined reference to `.L._sys_cfw_new_poke'
main.o:(.text+0xf0): undefined reference to `.L._sys_cfw_memcpy'
main.o:(.text+0x158): undefined reference to `.L._sys_cfw_poke'
main.o:(.text+0x1b8): undefined reference to `.L._sys_cfw_lv1_poke'
main.o:(.text+0x218): undefined reference to `.L._sys_cfw_lv1_call'
main.o:(.text+0x278): undefined reference to `.L._sys_cfw_lv2_func'
main.o:(.text+0x2d8): undefined reference to `.L._sys_cfw_lv1_peek'
main.o:(.text+0x338): undefined reference to `.L._syscall8'
main.o: In function `.main':
main.c:(.text.main+0x74): undefined reference to `.clear_icache'
main.c:(.text.main+0xd0): undefined reference to `.cellFsUtilMount_h'
modulespatch.o:(.text+0x4c): undefined reference to `.L._post_lv1_call_99_wrapper'
modulespatch.o:(.text+0x98): undefined reference to `.L._modules_patching'
modulespatch.o:(.text+0xf0): undefined reference to `.L._pre_modules_verification'
modulespatch.o:(.text+0x174): undefined reference to `.L._pre_map_process_memory'
modulespatch.o:(.text+0x234): undefined reference to `.L._load_process_hooked'
modulespatch.o:(.text+0x2cc): undefined reference to `.L._create_process_common_hooked'
modulespatch.o:(.text+0x338): undefined reference to `.L._create_process_common_hooked_pre'
modulespatch.o: In function `.modules_patch_init':
modulespatch.c:(.text.modules_patch_init+0x50): undefined reference to `.clear_icache'
modulespatch.c:(.text.modules_patch_init+0x7c): undefined reference to `.clear_icache'
modulespatch.c:(.text.modules_patch_init+0xc4): undefined reference to `.clear_icache'
modulespatch.c:(.text.modules_patch_init+0x100): undefined reference to `.clear_icache'
modulespatch.c:(.text.modules_patch_init+0x12c): undefined reference to `.clear_icache'
modulespatch.o:modulespatch.c:(.text.modules_patch_init+0x174): more undefined references to `.clear_icache' follow
mappath.o:(.text+0x48): undefined reference to `.L._sys_map_path'
mappath.o:(.text+0xa0): undefined reference to `.L._open_path_hook'
mappath.o: In function `.map_path_patches':
mappath.c:(.text.map_path_patches+0x54): undefined reference to `.clear_icache'
mappath.c:(.text.map_path_patches+0x7c): undefined reference to `.clear_icache'
storage_ext.o:(.text+0x38): undefined reference to `.L._device_event'
storage_ext.o:(.text+0xa8): undefined reference to `.L._emu_read_bdvd0'
storage_ext.o:(.text+0x138): undefined reference to `.L._emu_read_bdvd1'
storage_ext.o:(.text+0x1b4): undefined reference to `.L._emu_read_bdvd2'
storage_ext.o:(.text+0x23c): undefined reference to `.L._post_storage_get_device_info'
storage_ext.o:(.text+0x2a4): undefined reference to `.L._emu_storage_read'
storage_ext.o:(.text+0x33c): undefined reference to `.L._emu_sys_storage_async_read'
storage_ext.o:(.text+0x3d4): undefined reference to `.L._emu_storage_send_device_command'
storage_ext.o:(.text+0x46c): undefined reference to `.L._emu_sys_storage_async_send_device_command'
storage_ext.o:(.text+0x4f0): undefined reference to `.L._emu_disc_auth'
storage_ext.o:(.text+0x5a4): undefined reference to `.L._post_cellFsUtilMount'
storage_ext.o:(.text+0x5f0): undefined reference to `.L._shutdown_copy_params_patched'
storage_ext.o: In function `.process_read_disc_cmd':
storage_ext.c:(.text.process_read_disc_cmd+0xb0): undefined reference to `.suspend_intr'
storage_ext.c:(.text.process_read_disc_cmd+0x124): undefined reference to `.resume_intr'
storage_ext.o: In function `.read_psx_sector':
storage_ext.c:(.text.read_psx_sector+0xe0): undefined reference to `.call_hooked_function'
storage_ext.o: In function `.storage_ext_init':
storage_ext.c:(.text.storage_ext_init+0x3c): undefined reference to `._lv1_get_repository_node_value'
storage_ext.o: In function `.storage_ext_patches':
storage_ext.c:(.text.storage_ext_patches+0x84): undefined reference to `._lv1_cfw_peek'
storage_ext.c:(.text.storage_ext_patches+0xa0): undefined reference to `._lv1_cfw_peek'
storage_ext.c:(.text.storage_ext_patches+0xc0): undefined reference to `._lv1_cfw_peek'
storage_ext.c:(.text.storage_ext_patches+0xdc): undefined reference to `._lv1_cfw_poke'
storage_ext.c:(.text.storage_ext_patches+0x138): undefined reference to `.clear_icache'
storage_ext.c:(.text.storage_ext_patches+0x174): undefined reference to `.clear_icache'
storage_ext.c:(.text.storage_ext_patches+0x1a0): undefined reference to `.clear_icache'
storage_ext.c:(.text.storage_ext_patches+0x1e8): undefined reference to `.clear_icache'
storage_ext.c:(.text.storage_ext_patches+0x214): undefined reference to `.clear_icache'
storage_ext.o:storage_ext.c:(.text.storage_ext_patches+0x25c): more undefined references to `.clear_icache' follow
region.o:(.text+0x54): undefined reference to `.L._region_func'
region.o: In function `.region_patches':
region.c:(.text.region_patches+0x60): undefined reference to `.clear_icache'
region.c:(.text.region_patches+0x84): undefined reference to `.clear_icache'
fan_control.o:(.text+0x44): undefined reference to `.L._sm_set_fan_policy_sc'
fan_control.o:(.text+0xbc): undefined reference to `.L._sys_shutdown'
fan_control.o: In function `.start_control':
fan_control.c:(.text.start_control+0x10): undefined reference to `.get_current_thread'
fan_control.o: In function `.fan_control':
fan_control.c:(.text.fan_control+0x54): undefined reference to `.get_current_thread'
fan_control.c:(.text.fan_control+0xa8): undefined reference to `.get_current_thread'
fan_control.c:(.text.fan_control+0x110): undefined reference to `.memcpy'
fan_control.c:(.text.fan_control+0x16c): undefined reference to `.memcpy'
fan_control.c:(.text.fan_control+0x228): undefined reference to `.memcpy'
fan_control.c:(.text.fan_control+0x2a0): undefined reference to `.memcpy'
fan_control.o: In function `.fan_patches':
fan_control.c:(.text.fan_patches+0x60): undefined reference to `.clear_icache'
fan_control.c:(.text.fan_patches+0x84): undefined reference to `.clear_icache'
fan_control.c:(.text.fan_patches+0xd8): undefined reference to `.clear_icache'
fan_control.c:(.text.fan_patches+0xfc): undefined reference to `.clear_icache'
../debug/src/debug.o:(.text+0x48): undefined reference to `.L._ttyWrite'
../debug/src/debug.o:(.text+0xa8): undefined reference to `.L._consoleWrite'
../debug/src/debug.o:(.text+0xf8): undefined reference to `.L._debug_printf'
../debug/src/debug.o: In function `.debug_install':
debug.c:(.text.debug_install+0xc): undefined reference to `.suspend_intr'
debug.c:(.text.debug_install+0x44): undefined reference to `.clear_icache'
debug.c:(.text.debug_install+0x78): undefined reference to `.clear_icache'
debug.c:(.text.debug_install+0xe0): undefined reference to `.resume_intr'
../debug/src/debug.o: In function `.debug_init':
debug.c:(.text.debug_init+0xe4): undefined reference to `._lv1_net_control'
debug.c:(.text.debug_init+0x190): undefined reference to `._lv1_net_control'
../debug/src/debug.o: In function `.debug_print':
debug.c:(.text.debug_print+0xfc): undefined reference to `._lv1_net_start_tx_dma'
../lv2/src/interrupt_c.o: In function `.spin_lock_irqsave':
interrupt_c.c:(.text.spin_lock_irqsave+0xc): undefined reference to `.get_current_thread'
../lv2/src/interrupt_c.o: In function `.spin_unlock_irqrestore':
interrupt_c.c:(.text.spin_unlock_irqrestore+0x10): undefined reference to `.get_current_thread'
../lv1/src/stor.o: In function `.lv1_stor_wrapper_open':
stor.c:(.text.lv1_stor_wrapper_open+0x88): undefined reference to `._lv1_get_repository_node_value'
../lv1/src/stor.o: In function `.lv1_stor_wrapper_read':
stor.c:(.text.lv1_stor_wrapper_read+0x24): undefined reference to `._lv1_storage_read'
stor.c:(.text.lv1_stor_wrapper_read+0x44): undefined reference to `._lv1_storage_check_async_status'
../lv1/src/device.o: In function `.map_dma_mem':
device.c:(.text.map_dma_mem+0x44): undefined reference to `._lv1_allocate_device_dma_region'
device.c:(.text.map_dma_mem+0x70): undefined reference to `._lv1_map_device_dma_region'
device.c:(.text.map_dma_mem+0x8c): undefined reference to `._lv1_free_device_dma_region'
../lv1/src/device.o: In function `.unmap_dma_mem':
device.c:(.text.unmap_dma_mem+0x2c): undefined reference to `._lv1_unmap_device_dma_region'
device.c:(.text.unmap_dma_mem+0x48): undefined reference to `._lv1_free_device_dma_region'
../lv1/src/device.o: In function `.find_device_by_type':
device.c:(.text.find_device_by_type+0x8c): undefined reference to `._lv1_get_repository_node_value'
device.c:(.text.find_device_by_type+0xbc): undefined reference to `._lv1_get_repository_node_value'
device.c:(.text.find_device_by_type+0xfc): undefined reference to `._lv1_get_repository_node_value'
device.c:(.text.find_device_by_type+0x140): undefined reference to `._lv1_get_repository_node_value'
device.c:(.text.find_device_by_type+0x178): undefined reference to `._lv1_get_repository_node_value'
../lv1/src/device.o:device.c:(.text.find_device_by_type+0x1b0): more undefined references to `._lv1_get_repository_node_value' follow
collect2: ld returned 1 exit status
c:\PSDK3v2\ps3dev2\ppu\bin\ppu-objcopy.exe: 'stage2.elf': No such file
cp: cannot stat `stage2.dex': No such file or directory
Press any key to continue . . .

I assume something's wrong with my build environment...

Nvm, I needed ps3dev2 from an old Cobra source
 
Last edited by a moderator:
Back
Top