pthalin / bittboy-j2me

32 stars 11 forks source link

BittBoyJ2ME Bug Report/General Advice #6

Open BryMD opened 3 years ago

BryMD commented 3 years ago

Hi @pthalin , and everyone else :)

Testing game-compatibility with BittBoyJ2ME has been a wonderful, yet horrific, trip down memory lane. Here is a quick rundown of my experience as a concatenated bug report/general advice:

  1. Neither the numpad diagonals (obviously) nor the joystick action key (joystick center button) is available, so games requiring either of these will not be playable. Is the latter possible to implement? One of the shoulder buttons of the PocketGo maybe?

  2. The emulator seemingly does not loop music (neither at the menu nor in-game), so once the music has finished playing one time the game will be dead silent. Is this fixable?

  3. Games with 176 pixel width (176x220, 176x208, 176x204) render within the confines of the draw box. I love 176x220 games (in fact one of my images ranked number 1 for 10 years on Google Images for the search term '176x220'), but why are we not utilizing the entire screen real estate of the PocketGo (320x240)? This would require the screen rendering to be rotated to accomodate for 240x320 games though.

  4. Games with <220 height will show a small white rectangle (or rendering artefacts) at the bottom center. I assume this rectangle is part of how the emulator draws to screen. Is it possible to move the rectangle to the top of the screen, as the rectangle then would always be completely hidden by the overlaying game?

  5. Only bitmap ('2D') games are supported. M3G APIs have not been integrated, so no polygonal ('3D') games will run.

  6. Spaces in game file names are not supported, and will prevent the emulator from loading.

  7. The emulator has average-to-low game compatibility, much thanks to J2ME being such fractionated platform in the first place. Expect the majority of games to either have graphical glitches, sound/music not playing, not registering key input, freezing at load, or simply refusing to load at all. However, with enough patience, you'll end up with quite a respectable collection of compatible mobile games.

Keeping in mind that I'm quite picky when it comes to games, I'm attaching an image of the box art of my personal final 20 mobile games for reference.

Keep up the good work!

Sincerely, BryMD

176x220

pthalin commented 3 years ago

Thanks for your thoroughly report. Unfortunately I have no plans to do any development any time soon on this project. Let hope someone else is up for a challenge :-)

minexew commented 3 years ago

@pthalin Thank you for your work on this project. Would you elaborate a bit on why you based your port on MIDPath for Dingux, instead of the GP2X port which uses phoneME's MIDP? I'd expect the latter to have better compatibility, having been (originally) developed by Sun themselves.

pthalin commented 3 years ago

Poor research by me... I didn't find the source code for it when starting this.

minexew commented 3 years ago

Ah, I see. I was thinking of trying to resurrect some of that old code, it should actually build for ARM Linux quite easily.

BryMD commented 3 years ago

@pthalin That's too bad :/ With a few minor tweaks the emulator has the potential to become really respectable. Simply adding support for the action key (joystick center button) will open up access to a wad of excellent mobile games I've otherwise deemed fully compatible with BittBoyJ2ME!

Do we know if support for the action key is even possible? I see the keymapping is located in 'configuration.cfg'. How did you locate the keycodes for the BittBoy/PocketGo-buttons? If you point me in the right direction, I might at least give this issue a go ;)

@minexew Is there possibly another J2ME emulator?! Thats AWESOME! :D

Sincerely, BryMD

pthalin commented 3 years ago

I think button mapping will require recompile. It is in: midpath/components/microbackend/org/thenesis/microbackend/ui/sdl/SDLBackend.java

I had to reinstall my computer so I don't even have the build tools at the moment :(

pthalin commented 3 years ago

Device Key Mapping

Key Bittboy PocketGo Q90 V90
         
A LCTRL LALT LALT LALT
B SPACE LCTRL LCTRL LCTRL
TA/X LALT LSHIFT LSHIFT LSHIFT
TB/Y LSHIFT SPACE SPACE SPACE
SELECT ESC ESC ESC ESC
START RETURN RETURN RETURN RETURN
R (MENU) RCTRL RCTRL RCTRL RCTRL
R1 - BSPACE BSPACE BSPACE
L1 - TAB TAB TAB
R2 - - - RSHIFT
L2 - - - RALT
minexew commented 3 years ago

@BryMD historically, there have been a bunch! Not all of them are a good fit for a small embedded device, although having Linux already helps a lot.

(Apologies for hijacking the thread a bit)

BryMD commented 3 years ago

@pthalin If it requires any actual programming or recompilation, then it's out of my league sadly :/

@minexew The more the merrier :) Dude, followed your link, and seems you really know your stuff!! Is there any real chance of seeing an additional J2ME emulator on the MiyooCFW? :)

Sincerely, BryMD

MysteryMan3D commented 1 year ago

Hey there, I like what you've done, but can you do me a big favor and add custom control configuration to the emulator? The Dark Knight Rises is unplayable on it right now because it requires the * and # keys. Thanks in advance.

fhfelipefh commented 1 year ago

@BryMD He is on MiyooCFW :)