sceUtilityLoadNetModule, audio and thread issue

Đang mở
#144 6 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
c

Hướng nghiên cứu

Bắt đầu bằng cách build và chạy sample No_Thread_Issue.zip đính kèm trên thiết lập PSP 1000 hoặc Street được báo cáo với firmware 6.61. Theo dõi chuỗi thực thi qua sceUtilityLoadNetModule, pspAudioInit và sceKernelCreateThread, sau đó so sánh với cuộc thảo luận network-sample được liên kết. Được xem là hoàn tất khi xác định được nguyên nhân và xác minh rằng sample có thể tạo và khởi chạy thread của nó sau khi khởi tạo audio và network.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

I have noticed a problem with sceUtilityLoadNetModule.

If I load PSP_NET_MODULE_COMMON and PSP_NET_MODULE_INET and then I call pspAudioInit(), I will not be able to create a thread with sceKernelCreateThread. If a thread already exists in my game, it will be stopped.
sceKernelCreateThread will always return a negative thread id.

sceUtilityLoadNetModule(PSP_NET_MODULE_COMMON);
sceUtilityLoadNetModule(PSP_NET_MODULE_INET);

pspAudioInit();
SceUID thd_id = sceKernelCreateThread("thread1", thread1, 0x38, 0x10000, 0, NULL);
if (thd_id >= 0)
{
    sceKernelStartThread(thd_id, 0, 0);
}
else
{
    pspDebugScreenPrintf("Bad thread id\n");
}

This should prints Bad thread id.

I don't have a PSP 2000/3000 to test but I have the problem on my PSP 1000 and Street. My FW version is 6.61.
I think there is an issue with sceUtilityLoadNetModule or something else about network because most of network samples do not work on my PSP 1000, see: https://github.com/pspdev/pspsdk/issues/45#issuecomment-1611225348

Small compilable sample code with the issue (there is a precompiled EBOOT too): No_Thread_Issue.zip

Ngôn ngữ chính
C
Star
1.2k
Fork
190
Merge trung bình
1 ngày 18 giờ
Pull request đã merge (30 ngày)
8

Chuẩn bị môi trường

  • Có Dockerfile hoặc tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của pspdev/pspsdk

Tất cả issue của pspdev/pspsdk

Issue tương tự

Thêm issue về C

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.