Jump to content


Regular Member
  • Content Count

  • Donations

  • Joined

  • Last visited

  • Days Won


Everything posted by sleirsgoevy

  1. It seems that I've found a bug in Cibyl (or in Cibyl's GCC, didn't check that yet) resulting in the code behaving incorrectly. The test case is as follows: int main() { volatile int a = 46; volatile int b = -2147483637; assert(!(a < b)); return 0; } As the transpiler seems to be unmaintained, I will probably have dig into that myself. EDIT: I figured out the cause of the problem. The transpiler effectively replaced a<b here with a-b<0, and that is true due to integer overflow.
  2. I've updated the port to treat the R1 button the same as the up arrow.
  3. No, it is not supposed to render to the whole screen. 576x324 is including the unused area. added 1 minute later About the buttons: I mean that leaving some buttons unused (or with the same function as others) would create a shortage of buttons, as there are only 11 usable.
  4. Regarding the video, the DVBBufferedImage used as a framebuffer is just 576x324, and is blitted to the whole screen in a single drawImage. I actually keep the full HD resolution just to keep a fancy console font, and not make it look like an actual BIOS console. As for the controls, I thought of moving some of the movement buttons to L2/R2, however that would leave two directional buttons unused, and using some of them for movement and some for other actions seems too awkward. Maybe the 2 other buttons may be used to change weapons though. As for the sound, I think that creating such sound files may be illegal, as they will definitely be a derivative work of the DOOM Shareware .wad file, whose license only allows sharing the unmodified version. Is there really no way to play a sound file from memory? P.S. I think fixing bugs is still the top priority
  5. It seems I've (semi-)successfully ported DOOM I (1993) to BD-J, using Cibyl MIPS-to-Java transpiler. It basically works, however there are still bugs that don't allow to finish the second level. The porting process was relatively straightforward, except for several corner cases like unaligned access and different endianness, as the OS-dependent parts of the game are abstracted from the engine itself. However, as for now only video output and controller input have been implemented. The source code is on GitHub. P.S. Google says that DOOM source code has been published twice with different licenses, and the comments in the source imply that it's the non-free version. Because of this I don't know if it's even legal to publish a modified version on GitHub. P.P.S. I've uploaded a binary version of the port to Google Drive. The archive contains files from PS3 BD-J SDK and the compiled JAR.
  6. A few other things I noticed while making that demo: Floating-point arithmetic in Cibyl is dog slow, as each operation involves 3 nested Java method calls. The same demo using doubles only gave 1-2 FPS. (Maybe it'll be a bit better if I use float instead of double). The transpiler doesn't handle GCC optimization levels larger than -O1 correctly. It does compile and run without crashing, but results in a black screen.
  7. It's not mine of course, I just crafted a simple usage example that works, since some aspects are not trivial to figure out. Please note that on blu-play.com. Also you've set an incorrect date on the news. It's year 2020 now.
  8. I've prepared a small project that demonstrates the use of the Cibyl MIPS-to-Java compiler to run C code in the BD-J environment. This compiler may be useful for porting existing C games into Java. However the transpiled code is a bit slower than native Java code, so this is more for porting existing software, which is going to be troublesome as BD-J has only several megabytes of RAM, and new games should (probably) be developed directly in Java. Anyway, I've uploaded the example of using cibyl to GitHub.
  9. It's actually stated in the repo. The program crashes without throwing a catchable Exception if i create a 33rd image. However it may be possible to create images of much bigger sizes, or even store everything in a huge 10000x10000 image, I didn't try that.
  10. I've discovered that DVBBufferedImage s are not subject to the normal memory limit of approx. 6MB. I've written a demo Xlet that writes 96MB of data into DVBBufferedImage s and then reads it back, and it seems to yield the same values. The Xlet code has been posted on GitHub here.
  11. I've already figured it out. I've found a message on markmail.org that suggests just that, however it also suggests changing the title's playback type in index.bdmv to BDJPlayback_INTERACTIVE. Anyway, thank you for help. It is working now.
  12. So I can display stuff on the screen and start playlists, however the Xlet only receives events for 6 of 11 buttons (directional buttons, "Enter", and "Menu"). The other buttons either operate directly on the video being played, or just don't work if I don't start a video.
  13. So I can display stuff on the screen and start playlists, however the Xlet only receives events for 6 of 11 buttons (directional buttons, "Enter", and "Menu"). The other buttons either operate directly on the video being played, or just don't work if I don't start a video. I'm posting it here, not in a new thread, just because I don't want to fill the whole forum with my questions. EDIT: I've created a new thread. No need to post an answer here.
  14. Thank you, @mr_lou. I can now see a "Hello World!" message on the screen of my PS4. Will now try different stuff to see what are the actual limitations of the platform. EDIT: Maybe this info is worth adding to the "Tools'n'links" page on blu-play.com
  15. Compiling the example using the Java ME SDK doesn't help either, still only get a black screen.
  16. Well, burning prebuilt ISOs does work for me, what doesn't is burning my own Xlets. Of course, I am burning to BD-RE, not to a DVD. UPD: I've managed to compile the HD Cookbook disc image (without signatures). It does get recognized by the PS4 but results in a black screen.
  17. I'm new to this forum. I'm interested in developing homebrew games for BD-J, mainly porting older games whose source code has been published. I've managed to get the examples in the so-called DevKit (see https://blu-play.org/developers/tools-and-links) to compile and run in VLC, however if I burn that to a disc, my PS4 doesn't recognize that as a valid disc, at all. Is this devkit broken, or is it valid only for PS3 homebrew development? If it's okay, what's the right way to write the resulting AVCHD directory to a disc?
  • Create New...