Dingoonity.org

GCW Zero => Development => Topic started by: gameblabla on August 13, 2015, 11:53:26 pm

Title: Gameblabla's Oswan
Post by: gameblabla on August 13, 2015, 11:53:26 pm
(https://gameblabla.olympe.in/img/goswan_menu.png)(https://gameblabla.olympe.in/img/goswan_riviera.png)
(https://gameblabla.olympe.in/img/goswan_db.png)(https://gameblabla.olympe.in/img/goswan_kinni.png)

Gameblabla's Oswan is a fork of Oswan based on OswanJ and Alekmaul's Oswan.
The goal is to make the best Wonderswan emulator possible on the GCW0.
(Already the case)

Here's what my fork has improved over Alekmaul's version :

Latest build: 08/05/2015 (Minor fixes)
Download (https://github.com/gameblabla/oswan/raw/master/oswan.opk)

Github repository (https://github.com/gameblabla/oswan)

About Developers
Thanks to Alekmaul for his Oswan port.
Mednafen, for helping clearing some things out and some of their code.
V30MZ core came from NomadSwan, it has been modified since then.
Bird_may_nike, for OswanJ which i based on.
You, for reporting bugs and making suggestions
Title: Re: Oswan
Post by: Xaijiqq on August 14, 2015, 04:40:50 pm
unfortunately kinniku man second generations dream tag match still doesn't work

Title: Re: Oswan
Post by: gameblabla on August 14, 2015, 08:07:25 pm
unfortunately kinniku man second generations dream tag match still doesn't work
Dragon Ball doesn't work too.
Yup, i have not tried to make it more compatible, i just made sure it was fast enough.
I'll try to merge some of the changes from upstream, maybe that'll work.
Title: Re: Oswan
Post by: CopyKitten on August 17, 2015, 06:06:45 am
Hi, can you please remaps all the input keys for the next release? Currently only buton A and button B supported.

Just for reference (Based on Cygne):
WonderSwan Documentation (http://mednafen.fobby.net/documentation/wswan.html)

And I found a bug, if I switched the screen to 1x size, I can't get into the menu after I quit (had to delete the oswan.cfg file).

Looking forward to play Dicing Knight (https://m.youtube.com/watch?v=w7QY5WFGtP0) in full button inputs (and hopefully someday Kinnikuman II-Sei too).
Title: Re: Oswan
Post by: gameblabla on August 17, 2015, 05:08:19 pm
I have updated Oswan.
See below if you want to know what has changed.
I removed the option to play with the original size,
tell me if you don't like the IPU scaling.

Hi, can you please remaps all the input keys for the next release? Currently only buton A and button B supported.
Oops, i thought the X and Y buttons were working, fixed.

And I found a bug, if I switched the screen to 1x size, I can't get into the menu after I quit (had to delete the oswan.cfg file).
Indeed, it did not worked properly.
I think i may have fixed this, i did not have any problems to quit the menu.

Looking forward to play Dicing Knight (https://m.youtube.com/watch?v=w7QY5WFGtP0) in full button inputs
Well, now you can. :)

(and hopefully someday Kinnikuman II-Sei too).
^ This may not happen though...
Title: Re: Oswan
Post by: CopyKitten on August 17, 2015, 07:42:48 pm
I'm not able to load the emulator though and it just goes blank (can't even generate the oswan.cfg), will redownload later when I'm on desktop just to make sure the file is really downloaded in a binary mode.

Another request, to toggle On/Off the sound channels if possible?

Edit: Still can't make it work, is this affects the console unit type? KS / Special ED?
Title: Re: Oswan
Post by: gameblabla on August 17, 2015, 08:09:30 pm
Edit: Still can't make it work, is this affects the console unit type? KS / Special ED?
No, you're not crazy, it was Oswan the problem.
I updated it again, try again please. (same link)

EDIT2 : Argh, forgot to remove a define. Download it again please.
Title: Re: Oswan
Post by: zhongtiao1 on August 18, 2015, 01:39:04 am
I can't download the file. Just takes me to an html document with scrambled text. Could you upload it to mega.co.nz, yun.baidu.com, or something like that please?
Title: Re: Oswan
Post by: gameblabla on August 18, 2015, 02:26:57 am
I can't download the file. Just takes me to an html document with scrambled text. Could you upload it to mega.co.nz, yun.baidu.com, or something like that please?
I uploaded it on Github, you can download it here :
https://github.com/gameblabla/oswan/raw/master/oswan.opk (https://github.com/gameblabla/oswan/raw/master/oswan.opk)

Worth noting :
I GOT BANNED CHINA, YES !
I HAVE SUCEEDED IN LIFE !
I CAN NOW REST IN PEACE.
Title: Re: Oswan
Post by: zhongtiao1 on August 18, 2015, 03:24:30 am
I can't download the file. Just takes me to an html document with scrambled text. Could you upload it to mega.co.nz, yun.baidu.com, or something like that please?
I uploaded it on Github, you can download it here :
https://github.com/gameblabla/oswan/raw/master/oswan.opk (https://github.com/gameblabla/oswan/raw/master/oswan.opk)

Worth noting :
I GOT BANNED CHINA, YES !
I HAVE SUCEEDED IN LIFE !
I CAN NOW REST IN PEACE.


Thanks for posting it :) is it possible to get both x1-4 and y1-4 working? using the joystick or the xyLR buttons? Speed is up from alekmaul's version which is a huge plus :D I can finally play Final Fantasy and Arc the lad. In Riviera - Yakusoku no Chi Riviera, screen flashes around text whenever something is being selected. If you could integrate the MESS sound core, I believe that would help the sound. Overall, Great Job  ;D
Title: Re: Oswan
Post by: CopyKitten on August 18, 2015, 03:27:46 am
Now it's working! But...

I CAN NOW REST IN PEACE.

Your quest is not over yet.  Sorry for not making it clear but so far, we've got the:
- Start (Option)
- Button A
- Button B
- Directional Pad (X Cursors).

There's supposed to be another set of Directional Pad (Y Cursors) mapped on different key inputs. Some games like Dicing Knight and Rockman EXE WS utilized it for Items and Battle Chips. Can you look into it? And if possible, the inputs for d-pad and the analog nub able to be swapped.
Title: Re: Oswan
Post by: CopyKitten on August 18, 2015, 05:13:30 pm
Seems like swapping wasn't a good idea, vertical scrolling shooter game such as  Judgement Silversword requires the ABXY type of buttons instead of hard mapping it to the d-pad.

And I found another 2 bugs:
- The FPS counter is not working.
- Button B can't captured any input keys.
Title: Re: Oswan
Post by: zhongtiao1 on August 18, 2015, 10:48:49 pm


And I found another 2 bugs:
- The FPS counter is not working.
- Button B can't captured any input keys.

Same problems
Title: Re: Oswan
Post by: gameblabla on August 18, 2015, 11:38:11 pm
Yo,
i mapped the Y D-pad to the joystick and fixed some buttons as well.
I removed the "Buttons Settings" from the menu, it was made by Alekmaul but it was confusing and useless.
Fixed the FPS counter, i forgot to fix the define in question...
Updated it, same link as before. (both on github and on my website)

Hope you like the new version !

EDIT:
Quote
- Button B can't captured any input keys.
Yeah, the buttons were not properly mapped.
The new version should fix this.

EDIT2: If you downloaded it before i made this edit then please download it again,
i fixed the joystick controls and it also has more accurate emulation. (taken from Mednafen, thanks)
Title: Re: Oswan
Post by: CopyKitten on August 19, 2015, 04:40:20 am
Thank you, seems like Alekmaul stripped too much functions from the original Oswan source code, can you restore the savestates?

Will you implements the input settings in the future? If not, then I would like to request these optimizations:

Horizontal Gameplay
A = Button A
B = Button B
Y = Button A (Rapid Fire A or Copy of Button A)
X = Button B (Rapid Fire B or Copy of Button B)
L = Quick Save (or Rapid Fire A)
R = Quick Load (or Rapid Fire B)
Start = Option
Select = Emulator's Menu

Vertical Gameplay
A = Copy of D-pad UP
X = Copy of D-pad DOWN
Y = Copy of D-pad LEFT
B = Copy of D-pad RIGHT

Button A and Button B = Restore these buttons if the Copy of D-pad inputs aren't snaps to ABXY.

XYLR = Rapid fires and Quick savestates respectively (XY affected if Copy of D-pads activated).

The reason for this is, in vertical mode I don't have a way to press Up/Down (Y/B combo) or Left/Right (X/A combo) at the same time (I've yet to find a game that benefits from this).

Note: Ability to swaps between the D-pad X and D-pad Y, in horizontal games, I would like to use the Joystick as a navigation and the normal D-pad to activate the inventory items (Rockman EXE WS and Dicing Knight as an example).

In 1x size, the WS border is flickering, can I add my own border or just leave it as a black border?

And... while navigating through the roms, can you add a scroller/skipper for easy navigations. The total list of games are not that long but still take a while to scrolls.

Sorry man if I annoyed you this much, it is just that nobody resumed the project :p
Title: Re: Oswan
Post by: gameblabla on August 19, 2015, 07:02:30 am
Yo,
i updated Oswan again.
It has save states support through the L & R shoulder buttons and the menu.
X and Y are rapid fire buttons and they are mapped to A and B.

Thank you, seems like Alekmaul stripped too much functions from the original Oswan source code, can you restore the savestates?
Yeah i restored them.
In fact, it was very easy. So much, it makes you wonder why he didn't do it ?

Quote
Horizontal Gameplay
A = Button A
B = Button B
Y = Button A (Rapid Fire A or Copy of Button A)
X = Button B (Rapid Fire B or Copy of Button B)
L = Quick Save (or Rapid Fire A)
R = Quick Load (or Rapid Fire B)
Start = Option
Select = Emulator's Menu

Vertical Gameplay
A = Copy of D-pad UP
X = Copy of D-pad DOWN
Y = Copy of D-pad LEFT
B = Copy of D-pad RIGHT

Button A and Button B = Restore these buttons if the Copy of D-pad inputs aren't snaps to ABXY.

XYLR = Rapid fires and Quick savestates respectively (XY affected if Copy of D-pads activated).

The reason for this is, in vertical mode I don't have a way to press Up/Down (Y/B combo) or Left/Right (X/A combo) at the same time (I've yet to find a game that benefits from this).
So i mapped the controls to Horizontal mode like you said.

I just don't get it for the vertical mode though...
You want me to map the ABXY to the Dpad ? What about the joystick ?
I can do it technically but you'll have to be more precise. Sorry

Quote
Note: Ability to swaps between the D-pad X and D-pad Y, in horizontal games, I would like to use the Joystick as a navigation and the normal D-pad to activate the inventory items (Rockman EXE WS and Dicing Knight as an example).
Will do. I will provide it as an option in the menu. (I'm already using all the buttons of the GCW0 so i've got no choice)

Quote
In 1x size, the WS border is flickering, can I add my own border or just leave it as a black border?
Yeah, it was triple buffering that was causing the problem.
Unfortunely, putting black borders instead will crash it. (as you experienced it before)
Yeah, i can put the ability to have your own border instead, if you really want it.
(I may end up doing this though if i want to release it on the repository)

Quote
And... while navigating through the roms, can you add a scroller/skipper for easy navigations. The total list of games are not that long but still take a while to scrolls.
Will do as well.

Quote
Sorry man if I annoyed you this much, it is just that nobody resumed the project :p
It's not a problem, i like working on it.

Quote
In Riviera - Yakusoku no Chi Riviera, screen flashes around text whenever something is being selected
It wasn't supposed to do that ? Gee, that bug actually makes the game look nicer !
There are some other graphical glitches, will look into it but later.

As for Kinnukiman, there's progress !
Instead of freezing the emulator, it now crashes the emulator.
You see, PROGRESS ! (votemeforpresidentin2016)
Title: Re: Oswan
Post by: CopyKitten on August 19, 2015, 12:02:34 pm
Serious bugs man! When I use the save function, the rom size will be trimmed to the size of its own savestate (Oh my roms! can't access to PC again for the next 20 hours, so will delay another reports because I don't have another roms to experiment with).

So far only the START (Option), Button R (Quick Load) and Button A & B are corrects. But the rest:
Horizontal Mode
- X and Y behaves as Dpad UP and RIGHT respectively instead of Rapid Fire B & A.
- Button L will activates the menu instead of Quick Save, and SELECT supposed to activates the Game Menu.

Another kind of bugs, if a game don't have a savestate and you try to Quick Load it with the Button R, the game will hangs. And if you do a Load State through the
Game Menu, it will auto create a save file and then trimmed the rom. The next time you run the emulator after exiting, the rom is already corrupted.

I just don't get it for the vertical mode though...
You want me to map the ABXY to the Dpad ? What about the joystick ?
I can do it technically but you'll have to be more precise. Sorry

Vertical Mode
The Dpad and Joystick is already in its correct position when we play it vertically. What I had in mind is, the ABXY to behave the same way as the Dpad in this mode (meaning that... disabled the Rapid Fires on X/Y buttons and the normal A/B buttons, but enabled them back again if the ABXY mirroring to Dpad is deactivated), obviously this is part of the option settings.

Example for the game Judgement Silversword, currently the vertical mapping for Dpad UP (Straight Shot), Dpad LEFT (Spread Shot), Dpad DOWN (Shield) and Dpad RIGHT (Extra/Unused). So I would like to mirrors the Dpad keys on the ABXY so it would be like these:

A and Dpad Up = Straight Shot.
Y and Dpad Left = Spread Shot.
X and Dpad Down = Shield/Barrier.
B and Dpad Right = Extra/Unused/As Is.

If you still confused (I'm terrible at explaining things actually), I say give us the full input key mappings and split the key settings between the horizontal mode and the vertical mode.

Quote
Yeah, it was triple buffering that was causing the problem.
Unfortunely, putting black borders instead will crash it. (as you experienced it before)
Yeah, i can put the ability to have your own border instead, if you really want it.
(I may end up doing this though if i want to release it on the repository)

I don't mind to patch it up with an Image type of border (more personalization I guess) and hey, its not flickering anymore...

Quote
As for Kinnukiman, there's progress !
Instead of freezing the emulator, it now crashes the emulator.
You see, PROGRESS ! (votemeforpresidentin2016)

Progress indeed, you make it work and then I'll post the save file for all of the unlockable characters,

And another request, while in the Game Menu, I would like the Button B to snapped to the Continue for fast switching from the Menu to the current active game (similar to OhBoy emulator).

About your presidential, the eloomiinartii still want to conquer the world though, so...
Title: Re: Oswan
Post by: gameblabla on August 19, 2015, 03:05:19 pm
Released an update that fixes a serious bug to Oswan,
you are advised to download it if you don't want to lose your roms !
I added the ability to swap between the joystick and the dpad too !

Serious bugs man! When I use the save function, the rom size will be trimmed to the size of its own savestate (Oh my roms! can't access to PC again for the next 20 hours, so will delay another reports because I don't have another roms to experiment with).
Sorry for your roms man, i should have been more careful :(
This is fixed and you were only affected if you used the R button.

Quote
Vertical Mode
The Dpad and Joystick is already in its correct position when we play it vertically. What I had in mind is, the ABXY to behave the same way as the Dpad in this mode (meaning that... disabled the Rapid Fires on X/Y buttons and the normal A/B buttons, but enabled them back again if the ABXY mirroring to Dpad is deactivated), obviously this is part of the option settings.

Example for the game Judgement Silversword, currently the vertical mapping for Dpad UP (Straight Shot), Dpad LEFT (Spread Shot), Dpad DOWN (Shield) and Dpad RIGHT (Extra/Unused). So I would like to mirrors the Dpad keys on the ABXY so it would be like these:

A and Dpad Up = Straight Shot.
Y and Dpad Left = Spread Shot.
X and Dpad Down = Shield/Barrier.
B and Dpad Right = Extra/Unused/As Is.

If you still confused (I'm terrible at explaining things actually), I say give us the full input key mappings and split the key settings between the horizontal mode and the vertical mod
Oh, i get it. What happen to the A and B buttons though ?
Judgement Silversword does not use it ?
Anyways, i added it as "ABXY Is DPad : (Yes/No)".

Quote
Another kind of bugs, if a game don't have a savestate and you try to Quick Load it with the Button R, the game will hangs.
I may or may have not fixed on GCW0, you will have to test this.

Quote
And another request, while in the Game Menu, I would like the Button B to snapped to the Continue for fast switching from the Menu to the current active game (similar to OhBoy emulator).
That's what i did, you can do it in the new version now.

IF there are no more issues, then i will (as usual) try to improve the emulation core.
Also, if anyone knows what was the first Mednafen version to play Kinnikution properly, that would be great.
( Please, don't tell me it was the first one :( )

Quote
About your presidential, the eloomiinartii still want to conquer the world though, so...
:(
Title: Re: Oswan
Post by: zhongtiao1 on August 19, 2015, 10:10:32 pm
Again, I would like x1-4 and y1-4 enabled or at least an option to enable it using the joystick or xylr :)
Title: Re: Oswan
Post by: gameblabla on August 19, 2015, 10:59:34 pm
Again, I would like x1-4 and y1-4 enabled or at least an option to enable it using the joystick or xylr :)
Dude, that's what i did with the lastest version, it's all there.
Please download it again.
Title: Re: Oswan
Post by: CopyKitten on August 20, 2015, 08:05:21 am
Another long post...

Sorry for your roms man, i should have been more careful :(
This is fixed and you were only affected if you used the R button.

It's okay, I do have a backup copy. You don't have a GCW0 with you yet? I ask this because it seems like you compiled the key mappings with trials and errors. Guess what... another unresolved button mappings haha!

The Joystick is perfectly fine even when in Swap Mode but not the Dpad. When I activate the Swap X1, Y1, the Dpad Up becomes Dpad Down and vice versa (same cases on both horizontal and vertical games).

Quote
Oh, i get it. What happen to the A and B buttons though ?
Judgement Silversword does not use it ?

Vertical games such as GunPey EX, Judgement Silversword, Kurupara!, Tetris and Wonder Classic didn't utilized the A & B buttons but Sorobang did use it for getting back to the menu (A button) and restarting the level (B button). And most (that I checked on PC) of the graphic novel games omitted the A & B buttons too. So I guess just disabled the A & B buttons (including the Turbo X & Y buttons) or you can shifted the B & A to L & R respectively (but then the quick save/load can only be access via the Menu). Is it too cumbersome to implements If B & A Is L & R, disable Quick Save/Load type of function?

But here's another solution:
1. If the ABXY Is DPad is ON, then create DPad Is ABXY (the original ABXY inputs) as an overrides function (This way, we can keep ABXY = DPad and at the same time an ability to overrides the DPad with the AB/XY inputs). I think you'll confused to what I'm trying to explain, so it leads us to #2.
2. Or easier, just create a Swap DPad and ABXY function. But this isn't compatible with my request near end post below... about the ABXY = Joystick, unless you redefined it to something like:

Swap Mode (On/Off):
(Choice #1) ABXY = DPad
(Choice #2) ABXY = Joystick
Note: Only one option is selectable at a time.

Quote
Anyways, i added it as "ABXY Is DPad : (Yes/No)".

When I activate it, the A & B buttons is incorrect though because what was for A button... now becomes the B button and vice versa.

Quote
I may or may have not fixed on GCW0, you will have to test this.

So far, I didn't encounter any bugs regarding the quicksaving. But, the X & Y buttons is mirrored to the wrong A & B buttons. Same cases as above:
X = A (wrong as of now), X = B (fixed)
Y = B (wrong as of now), Y = A (fixed)

Is the X & Y Rapid Fires (Turbo buttons) really works or it is just mirroring the same normal A & B buttons? Because I don't feel any differences.

Quote
IF there are no more issues, then i will (as usual) try to improve the emulation core.

Since the Menu is expanded, can you finalized it later by grouping them into a sub category. And here's another request (my request never ends lol!):
- POWER slider can activates the Game Menu too.
- Multiple save slots (in the future?).
- A warning prompts that can be toggle on/off if we try to do a quick save/load (Accidental button pressed prevention).
- Ability to delete a savestate (not necessarily but can be useful).
- IF ABXY Is NOT DPad, THEN:
  1. Rapid Fire OFF: A = Y, and B = X.
  2. Rapid Fire ON: Y = Rapid Fire A, and B = Rapid Fire B.
- ABXY Is Joystick (Contrast to ABXY Is DPad).

Quote
Also, if anyone knows what was the first Mednafen version to play Kinnikution properly, that would be great.
( Please, don't tell me it was the first one :( )

I do have a suggestion but I don't think you'll like the idea. What about supporting a combo engines? Auto exit the emulator (comes with warning) after switching the engine and then rerun the emulator manually? One is based on Mednafen (Cygne emulator right?) and the other is the Oswan? The windows of Oswan 1.73 can almost play everything including the Kinnikuman II-Sei - Dream Tag Match and Super Robot Taisen Compact 2 - Dai-123-bu games. Is the Oswan for GCW0 an older built/version?

Can you salvage anything (core engine, etc) from one of these source codes:
Oswan 1.73 + OswanJ rev99 (not so sure about the OswanJ engine though, better try the r104 version below) (http://osdn.jp/projects/oswan/)
NomadSwan (https://github.com/cgao0520/NomadSwan)
OswanJ r104 (http://es.osdn.jp/projects/oswan/scm/svn/tree/head/)?
Others (http://emu-russia.net/en/files/emus/ws/)

And finally, the settings for Swap X1, Y1 and ABXY Is DPad didn't make their way into the config file.
Title: Re: Oswan
Post by: gameblabla on August 20, 2015, 08:40:24 pm
Hello,
I got frustrated with what Alekmaul did with Oswan (For example, he used an unsigned int to sprites, which means they will dispappear when close to the screen) among with other things.
I switched the core to OswanJ, only keeping the GUI and some of the beneficial modifications he did.
I renamed my monster to "Gameblabla's Oswan" and it can now play Kinnikuman !
(https://gameblabla.olympe.in/img/kinnikuman.png)

Final Fantasy II is playable as well so Super Robot Taisen Compact 2 should be.
Dragon Ball is still problematic, it now crashes the emulator.

What i did as well:
- Fixing X and Y (now mapped to B and A respectively)
- Save settings for Swap and ABXY

Still not fixed:
- Check if X and Y are working as rapid fire buttons.
- Power Slider support. (I need to check the doc)
- Multiple Save Slots (shouldn't be to complicated...)
- Warning Prompt for L & R

Much thanks to CopyKitten for his feedback and suggestions !
And no CopyKitten, i don't own a GCW0, it's effectively pretty much trial and error...
Title: Re: Oswan
Post by: CopyKitten on August 21, 2015, 01:35:14 pm
I intend to keep this particular post simple and short but lol!

Hello,
I got frustrated with what Alekmaul did with Oswan (For example, he used an unsigned int to sprites, which means they will dispappear when close to the screen) among with other things.
I switched the core to OswanJ, only keeping the GUI and some of the beneficial modifications he did.
I renamed my monster to "Gameblabla's Oswan" and it can now play Kinnikuman !
Care to at least add an About section for developers and emulator version/revision later?

Quote
What i did as well:
- Fixing X and Y (now mapped to B and A respectively)
- Save settings for Swap and ABXY
You know what? it's really fun to play Judgement Silversword with ABXY is DPAD activated, either you're left or right-handed. And so with the Swap Mode for Dicing Knight, Rockman EXE WS and Kinnikuman!

Quote
Final Fantasy II is playable as well so Super Robot Taisen Compact 2 should be.
Dragon Ball is still problematic, it now crashes the emulator.
Yeah, awe.............................................................some! More playable games.

But if a game is crashing, is it possible for you to make it to do a Force Exit condition? (similar case to Kinnikuman, after the crashing, reverting back to the GCW0 Menu, I'm talking about the Oswan that you previously published) because we've got to hard reset it, forcing us to reboot the system when it's happening (Suddenly I sound like Smeagol... dang the wordings!).

Quote
Still not fixed:
- Check if X and Y are working as rapid fire buttons.
- Power Slider support. (I need to check the doc)
- Multiple Save Slots (shouldn't be to complicated...)
- Warning Prompt for L & R
*Evil big grin* ...and the incorrectly mapped Dpad Down (snap it to B, currently on A) & Dpad Right (snap it to A, currently on B) on ABXY is DPAD (I believe if the horizontal mappings is correct, so does the vertical mappings).
Note:
Please fixed this in the horizontal mode (I'm afraid you'll get confused by the horizontal/vertical Dpad inputs).

...and its "lost sibling", the ABXY is JOYSTICK or even better Swap ABXY & JOYSTICK (redundants you think? I'm aware it's affecting the ABXY is DPAD). I've got another crazy idea for this, it might cleared the key inputs problems too. Let's just pretend for a second:
1 = ABXY
2 = DPAD
3 = JOYSTICK

Obviously, each one has 4 key inputs and compatible to be mapped on each other. Meaning that we can perform a full swapping:
Conditional: [?] = No changes, (?,?) = Swap Inputs.
[1](2,3) or [1](3,2)
[2](1,3) or [2](3,1)
[3](1,2) or [3](2,1)
Example: [2](1,3) = No changes to DPAD but swap inputs between ABXY and JOYSTICK. Well, this will rendered the ABXY is DPAD as useless unless you're willing to make a choice selection by alternating it to contrast with the new Swap Mode control scheme?

And by alternating it, I mean [1](2=3), [1](3=2), [2](1=3), [2](3=1), [3](1=2) and [3](2=1) and its example, [2](1=3) = No changes to DPAD but treat ABXY as JOYSTICK. So what do you think?

...and the rest (depends on the emulator progression and your decision).

About accessing the Menu with the Power Slider, if implemented, can you please disabled it by default because it interferes the volume controls (Power + Up/Down).

Quote
Much thanks to CopyKitten for his feedback and suggestions !
And no CopyKitten, i don't own a GCW0, it's effectively pretty much trial and error...

No, thanks to you for making it this far. We don't have a proper Wonderswan emulator since the Dingoo days and that's a long time ago.

Just in case if you haven't check it out yet:  GCW Zero Quick Start Guide (http://wiki.surkow.com/Quick_Start_Guide), no more buttons confusion eh?

Are you up to another emulation challenge? Mostly about the menu customizations? But expanding more functions would be a bonus too! And that's it, after you've done with this emulator.
Title: Re: Oswan
Post by: care16la20 on August 21, 2015, 02:08:24 pm
Hi, very nice release !!!

If it's not asking too much, I miss a little bit the enlarge in-game with keep aspect ratio option...

Also maybe rom selection with Gmenu

Best regards
Title: Re: Oswan
Post by: CopyKitten on August 21, 2015, 02:35:39 pm
If it's not asking too much, I miss a little bit the enlarge in-game with keep aspect ratio option...
Worry not... I'm the one who is asking too much, more-r and the most-est!

I think the other developers may not want to encounter me in the future... you know... just like a random wild pokemon that keeps coming back from a tall grassy area haha!
Title: Re: Oswan
Post by: Spaceman on August 21, 2015, 06:29:29 pm
Can you do us a favour and update first page post. I'm hoping I'm grabbing the latest version.
Title: Re: Oswan
Post by: gameblabla on August 21, 2015, 08:25:59 pm
Yo guys, i have released another update.
I was working on improving Oswan's sound output (via SDL).
It sounds very clear now, a nice improvement over my previous versions. (and alekmaul's)

Sadly, it does not play at the good speed... Trying to fix this results in worse sound output.
Alekmaul's version also suffer from this, compare it to Mednafen which has smooth and clean sound output.
If there's a dev around here who would like to fix this, please take a look at emu/WSApu.c.
(Github repo: https://github.com/gameblabla/oswan (https://github.com/gameblabla/oswan))

List of changes

But if a game is crashing, is it possible for you to make it to do a Force Exit condition? (similar case to Kinnikuman, after the crashing, reverting back to the GCW0 Menu, I'm talking about the Oswan that you previously published) because we've got to hard reset it, forcing us to reboot the system when it's happening (Suddenly I sound like Smeagol... dang the wordings!).
You don't have to worry about this for any GCW0 software, really.
The GCW0 runs on the Linux kernel, not on bare metal like the DS.
If a program crashes, it always goes back to the menu.

Obviously, each one has 4 key inputs and compatible to be mapped on each other. Meaning that we can perform a full swapping:
Conditional: [?] = No changes, (?,?) = Swap Inputs.
[1](2,3) or [1](3,2)
[2](1,3) or [2](3,1)
[3](1,2) or [3](2,1)
Example: [2](1,3) = No changes to DPAD but swap inputs between ABXY and JOYSTICK. Well, this will rendered the ABXY is DPAD as useless unless you're willing to make a choice selection by alternating it to contrast with the new Swap Mode control scheme?
And by alternating it, I mean [1](2=3), [1](3=2), [2](1=3), [2](3=1), [3](1=2) and [3](2=1) and its example, [2](1=3) = No changes to DPAD but treat ABXY as JOYSTICK. So what do you think?
I think it's confusing, lol !
I think it's better to do it step by step, but maybe i did it right this time.

Quote
If it's not asking too much, I miss a little bit the enlarge in-game with keep aspect ratio option...
I did introduced it at one time but it was crashing the GCW0,
I will have a look at this later.

Quote
Can you do us a favour and update first page post. I'm hoping I'm grabbing the latest version.
Well, i have updated my first post after the update and i ALWAYS link to the latest version.
If you really want to make sure you're downloading the latest version, take a look at the github repo (https://github.com/gameblabla/oswan).
Title: Re: Oswan
Post by: CopyKitten on August 22, 2015, 11:41:32 am
Bear with me, okay? ;)

Yo guys, i have released another update.
I was working on improving Oswan's sound output (via SDL).
It sounds very clear now, a nice improvement over my previous versions. (and alekmaul's)
In all previous builts, if I access the in-game option for Dicing Knight, the sound will crash and then mute on its own. As for Ultraman, the sound is also broken and screeched at some SFXs.

But now, both games are working fine, I even finished the Ultraman game just by this morning. SPOILER! The ending of Ultraman is similar to the final episode of Ultraman Powered... Lame!

Quote
List of changes
  • Improved sound output
  • Oswan uses Gmenu on startup, let me know if you don't like this
  • Fixed the wrongly mapped DPAD (thanks CoppyKitten)
  • Introduced "ABXY is Stick", let me know if there are any issues
The ABXY is Stick is not working at all. What happen is... Joystick Down and Joystick Right is inverted when I activated it and the input at ABXY isn't responsive. Moreover, if I enable the Swap X1, Y2 at the same time, only the DPad portion is modified (and leaving the Joystick with the inversion problem). So I would like you to consider the solution down below.

While browsing with the Gmenu, every files are visible. Can you set the Gmenu's SELECTOR FILTER to just WS and WSC?

Also, all the games that utilized the battery saving will not generates the saved game files.

Quote
Obviously, each one has 4 key inputs and blablabla...
I think it's confusing, lol !
I think it's better to do it step by step, but maybe i did it right this time.

Hah! So let me start with...


GCW Zero button layout:

L Shoulder                 R Shoulder

   U                             Y
L     R                       X     A
   D                             B

   1                           Select
4  J  2
   3                            Start


My previous post is all about swapping the controls in 3 kinds of ways between the DPad, the Joystick and the ABXY buttons. Please eliminate the ABXY is DPAD/Stick because it isn't compatible with the Swap X1, Y1 after all.

So the full selection would be like these:
0. Normal.
1. Keep ABXY as is but Swap DPad, Stick (Imitates the WonderSwan button control).
2. Keep Stick as is but Swap DPad, ABXY (Good on vertical games such as Gunpey Ex and Judgement Silversword).
3. Keep DPad as is but Swap ABXY, Stick (For lefthanded gamers?).

As you can see, it is an improvement over the Swap X1, Y1. You may ditch the ABXY is DPAD/Stick and... sorry for the trouble though :P



Oswan button layout:

Quick Save                 Quick Load

   1                             Y
4  X  2                       X     A
   3                             B

   1                             Menu
4  Y  2
   3                            Start


By default, we're getting used to the Dpad as in-game navigation. But since I want to have a way to play it just like the original while keeping the new style... hence the request of Swap X1, Y1 in the first place.

Personally, it is a little bit hard for me to play this on non-swapped control while playing Super Robot Taisen Compact 3 because of the analog stick's sensitivity.



WonderSwan original button layout:

   1
4  Y  2
   3

   1
4  X  2                             A
   3      Sound Start Power      B


Well, this is it. As references and comparison to the other 2 above.
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 22, 2015, 11:57:32 pm
Yo, another update.
I'm happy to announce that Dragon Ball is now playable !
(https://gameblabla.olympe.in/img/db.png)
The problem was that it expected the RAM to be initialised and Oswan sets it to 0 if not initialised,
causing the game to crash.
Funny enough, the latest version of OswanJ actually suffered from this bug too so
this emulator and Mednafen are your only alternatives to play this game.

I have replaced all the layouts with 4 new presets as suggested by CopyKitten :
Normal, Wonderswan-like, "Swap DPad, ABXY" and "Swap ABXY, Stick".

Other changes:
- Fixed Rapid Fire buttons. (they now work as intended)
- Fixed Gmenu. (Mostly)
- Power Slider support. (Not tested)

Also, this release seems to run faster on QEMU.
The only thing i did was to solve a problem with endianess issues.
Was it trying to convert from little endian to big endian itself on-the-fly ?
Or maybe it's just my computer.
I always wondered why i never had to deal with endianess bugs...

Needs some investigations:
- "Also, all the games that utilized the battery saving will not generates the saved game files. FIXED

Still not fixed:
- Multiple save slots FIXED
- Warning prompt for L & R
- Sound output is pretty bad and does not play at the good speed.

EDIT: If you downloaded it before this edit then please do it again.
This new update introduces multiple save slots support, some well needed fixes and proper battery saving support.
Title: Re: Gameblabla's Oswan
Post by: CopyKitten on August 23, 2015, 05:28:56 am
The problem was that it expected the RAM to be initialised and Oswan sets it to 0 if not initialised,
causing the game to crash.
Funny enough, the latest version of OswanJ actually suffered from this bug too so
this emulator and Mednafen are your only alternative to play this game.
Then, can you please port this version to windows using the settings and GUI of Oswan 1.73 for PC? Because other games that are working in OswanJ rev99 (but somehow lags and too slow on my computer) aren't working in the Oswan 1.73.

Quote
I have replaced all the layouts with 4 new presets as suggested by CopyKitten :
Normal, Wonderswan-like, "Swap DPad, ABXY" and "Swap ABXY, Stick".
I'm using the vertical game Sorobang and Dicing Knight as an input test because they used up all of the buttons. But I'm addressing all the problems in horizontal perspective.

Normal:
- DPad and Stick are working well.
- The Rapid Fires X/Y need to be swapped again to match the A/B buttons.

WonderSwan-like:
- DPad and Stick are working well.
- Same issue with the Rapid Fires as above.

Swap DPAD, ABXY:
- Stick is working well.
- Similar issue to the Rapid Fires X/Y buttons, the Dpad Up and Dpad Left need to be swapped.
- Currently the Rapid Fires (presumably as toggled on) that were assigned to the Dpad Up/Left were just the normal A/B buttons.
- Dpad Down and Dpad Right are inverted, so they need to be swapped too.
- ABXY still carry the old input values (ABXY = ABXY, nothing changed).

Swap ABXY, Stick:
- DPad is working well.
- X/Y buttons are correct.
- A/B buttons are inverted.
- Stick Up and Stick Left are inverted.
- Stick Down and Stick Right are inverted.

Notes:
- I think it would be easier if you let us to configure the ABXY buttons manually so then we can mix and match it (for example, Rapid Fires for A/B, normal buttons for X/Y but inverted).
- That's mean the On/Off Rapid Fires are not needed anymore.
- The only thing that needs to be taken care of is when doing the button swapping operation that involves the ABXY. So, what do you say?

Quote
Other changes:
- Fixed Rapid Fire buttons. (they now work as intended)
- Fixed Gmenu. (Mostly)
- Power Slider support. (Not tested)
- Rapid Fire buttons are working but inverted... X -> Y and Y -> X.
- Gmenu? No changes at all about the filtering (an OPK packaging problem?).
- Power Slider is not working.

Quote
Needs some investigations:
- "Also, all the games that utilized the battery saving will not generates the saved game files."
- Sound output is pretty bad and does not play at the good speed.
If I'm not mistaken, the Oswan for windows is not able to generate the saved game too. Going to check it later.

...and:
- Toggle On/Off support for Rapid Fires (to Normal buttons). Forget it.
- 180 degrees rotation for vertical mode games, in other words, tilt the GCW0 90 degrees to the right side (clockwise). But you'll have to map more keys right?  ;D
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 23, 2015, 08:08:58 am
I quickly updated oswan and I fixed all the controls maybe except this :
Quote
- ABXY still carry the old input values (ABXY = ABXY, nothing changed).
I'm not sure to understand... Do you mean that ABXY doesn't work like the DPAD in normal mode ?
It should...

Quote
Then, can you please port this version to windows using the settings and GUI of Oswan 1.73 for PC? Because other games that are working in OswanJ rev99 (but somehow lags and too slow on my computer) aren't working in the Oswan 1.73.
I'm in fact doing all the testing on my linux PC but using the same GUI as the GCW0 version.
I would have liked to do a proper port for PCs but there's one big problem :
32bpp does not work properly. (see my github repo and TODO.txt)
Of course, you mentioned you have a very slower computer so i may give you a 16bpp version instead...
I have never done GUI for PC and every library i know slow down things a low.
I'll compile a straight port for Windows and i'll post it here when i'm done.

Quote
- I think it would be easier if you let us to configure the ABXY buttons manually so then we can mix and match it (for example, Rapid Fires for A/B, normal buttons for X/Y but inverted).
Yeah, it surely will be available in the future but in the short them, i think it was a better idea to fix this.
Another problem with your suggestion :
you would have to reconfigure the controls for each game, not sure anyone would want that.

Quote
- 180 degrees rotation for vertical mode games, in other words, tilt the GCW0 90 degrees to the right side (clockwise). But you'll have to map more keys right?  ;D
This one is going to be tricky.. And not only for the controls LOL
Title: Re: Gameblabla's Oswan
Post by: yoshi41 on August 23, 2015, 04:29:07 pm
First of all, thanks a lot for your work. Much appreciated.

Maybe it's me, but with the latest build (2015-08-22) I just get a black screen. Build 2015-08-21 works fine on my GCW.

Regarding file handling. EPM, STA and other files are stored in the ROM directory. Might be better to store them in a place like "/media/data/local/home/.oswan". The ROM selector file list is a bit messed up with those files.

Keep up your good work and hopefully the sound can be improved in future versions.

PS: A decent PCE emulator on the GCW is still missing.  ;)
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 23, 2015, 06:05:11 pm
Updated Oswan, it now works.
As reported by yoshi41, Oswan was crashing.
The problem was not me or the code but GCC, which produced bad code for the executable.
I switched back and manually applied all of my new changes and it now works properly.

Regarding file handling. EPM, STA and other files are stored in the ROM directory. Might be better to store them in a place like "/media/data/local/home/.oswan". The ROM selector file list is a bit messed up with those files.
Yeah, i don't know how to tell Gmenu to only list files with a certain extension,
there's no doc about :/ (or i can't find it)
About the roms, epm and sta... I wasn't sure to put them in the $HOME directory but now that you requested it,
i will do it in my next update.

Quote
sound can be improved in future versions.
I hope i can improve (or at least someone else) that...
It's the only thing that prevents it from being the best Wonderswan emulator :/

Quote
PS: A decent PCE emulator on the GCW is still missing.
Definitively.
After i'm done withg Oswan (proper sound support, pc port),
i'll try to work on a NEC PC-Engine emulator.
Title: Re: Gameblabla's Oswan
Post by: yoshi41 on August 23, 2015, 06:53:34 pm
This build works, thanks.

Btw, saving the settings like screen size would be nice too.

I like your enthusiasm.  8)
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 24, 2015, 07:25:01 am
Yo, i released an update to Oswan.
This update is a major one so you should all upgrade.

Changelog:

See my first post for new screenshots.
Enjoy this release !
Title: Re: Gameblabla's Oswan
Post by: CopyKitten on August 24, 2015, 10:50:04 am
Changelog:
  • Improved Audio quality and synchronisation.
  • Changed graphical appareance of the menu. (non-free assets removed)
  • Fixed $HOME and saving. (it used to work but got broken between releases)
  • Removed Skin. (it was making the executable bigger)
  • Some minor fixes here and there
- Quick savestates are not working.
- The Load/Save State in the Menu is not synchronized by numbering (when changing the slots) or is it supposed to be like that?
- Flickers in 1x size mode. And sometimes, showing the Menu as a border in gameplay.
- Also, If I press or hold the Dpads Left/Right in Menu after running a game, the gameplay screen will be visible in the background flickerings or stay visible.
- The problematic Menu's blue highlight selector (flickering and sometimes spawns two, three and up to six selectors at the same time... If I pressing the Up/Down rapidly).
- Everything from the audio to the gameplay is lagging.

Quote
- ABXY still carry the old input values (ABXY = ABXY, nothing changed).
I'm not sure to understand... Do you mean that ABXY don't work like the DPAD in normal mode ?
It should...
You already did some changes and fixed most of the buttons issue (and save me some blablabla too :-X), so what's left is...

The Normal mode: No problem.

   U            Y
L     R      X     A
   D            B

   1
4  J  2
   3


The WonderSwan-like mode (Swap DPAD, Stick): No problem too.

   1            Y
4  J  2      X     A
   3            B

   U
L     R
   D


The Swap DPAD, ABXY mode ...as intended:

   Y            U
X     A      L     R
   B            D

   1
4  J  2
   3

...but with the current build:

   Y            U
X     A      L     D
   B            R

   1
4  J  2
   3


The Swap ABXY, Stick mode: You'd fixed it, ouuu... yeah!

   U            1
L     R      4  J  2
   D            3

   Y
X     A
   B

I should have thought of the above formatting at some earlier points to spare you the headaches lol!

Quote
Quote
- I think it would be easier if you let us to configure the ABXY buttons manually so then we can mix and match it (for example, Rapid Fires for A/B, normal buttons for X/Y but inverted).
Yeah, it surely will be available in the future but in the short them, i think it was a better idea to fix this.
Another problem with your suggestion :
you would have to reconfigure the controls for each game, not sure anyone would want that.
I'll address this in the future.

Yeah, i don't know how to tell Gmenu to only list files with a certain extension,
there's no doc about :/ (or i can't find it)
I extract the previous working build of Oswan opk before the crash build, put it in the sdcard, renamed it to oswan.bin and then filtered the files to just includes ws & wsc manually and it works.

PS: A decent PCE emulator on the GCW is still missing.
Definitively.
After i'm done withg Oswan (proper sound support, pc port),
i'll try to work on a NEC PC-Engine emulator.
Ooooooh... I'll haunt you like one of the "ghosts" in the Thir13en Ghosts film for sure... I promise  ;D :P

Quote
Latest build: 09/23/2015
Are you...... a time traveller? :o
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 24, 2015, 06:07:45 pm
I knew i should have never re-enable TRIPLE BUFFERING but i did anyways
and it's reponsible for most of the cited issues here.
I have pushed another quick updates that is :
- More stable and flickerless
- Fixed the controls
- Fixed the quick Load/save states

Thanks CopyKitten, as usual.

Quote
I extract the previous working build of Oswan opk before the crash build, put it in the sdcard, renamed it to oswan.bin and then filtered the files to just includes ws & wsc manually and it works.
Then you could please give me that desktop file please ?
Because i don't know how to tell Gmenu to filter every files other than ws & ws files.
Title: Re: Gameblabla's Oswan
Post by: yoshi41 on August 24, 2015, 06:25:33 pm
Don't know if was too early with downloading. Build r2 seems to be the same as the previous build, pretty laggy.
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 24, 2015, 07:12:47 pm
Don't know if was too early with downloading. Build r2 seems to be the same as the previous build, pretty laggy.
If you don't have any flicker then you did'nt downloaded it too early.

Anyways, the new sync code seems to cause lots of issues on GCW0 so
i switched back to the old one.
Oswan got updated to 08/24/15 (r3), first post as usual.
Tell me if this version works better.
Title: Re: Gameblabla's Oswan
Post by: yoshi41 on August 24, 2015, 07:32:54 pm
Build r3 works better. Thanks.

The new sync code is the audio part, right?

I did a binary compare between 2015-08-24 and 2015-08-24 r2. They are identical.

So, I think I never tested the new sync code without triple buffering.

Sound improvement would be definitively a big plus. I plan to play the translated Final Fantasy versions on the GCW and  proper sound is crucial for those games.
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 24, 2015, 11:04:28 pm
Looked at every Wonderswan's source code emulators (except Misato's one, who didn't released the source, despite violating the GPL).
None of them are using SDL for sound.  >:(
Anyways, i have improved sound's quality a bit but it still sounds kind of scratchy.
Oswan got updated to r4, first post to download it.
Title: Re: Gameblabla's Oswan
Post by: Eliwood_san on August 25, 2015, 02:01:29 am
Its normal the filesize of the oswan emulator are 44 kb o.O?
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 25, 2015, 02:13:40 am
Quote
Its normal the filesize of the oswan emulator are 44 kb o.O?
Hahaha, yes it's normal !
I made sure to optimise its size without cheating !

Unfortunely, last version crashed so if you downloaded it before, do it again please.
Title: Re: Gameblabla's Oswan
Post by: CopyKitten on August 25, 2015, 10:22:19 am
Quote
I extract the previous working build of Oswan opk before the crash build, put it in the sdcard, renamed it to oswan.bin and then filtered the files to just includes ws & wsc manually and it works.
Then you could please give me that desktop file please ?
Because i don't know how to tell Gmenu to filter every files other than ws & ws files.
I didn't do any changes to the desktop file though but I attached the oswan.txt (you've got to remove the txt extension, I add it in the first place because the post attachment restricted what file type can be upload).

1. Create the oswan folder in /data/apps/ directory.
2. Put in your latest oswan binary and the icon.png.
3. Put the oswan.txt file that I upload into the /data/local/home/.gmenu2x/sections/emulators directory.
4. Reboot the QEMU? I dunno...

Maybe you need to adapt the lines of code from the oswan file into the default.gcw0.desktop file before repacking it? I haven't tested it yet as I can't use the PC right now.

Another issues:
- The sound is still lagging, the best version of the sound emulation was prior to the august 23 update (the gameplay is fast though).
- Quick Save and Quick Load are inverted.
- And also:

The Swap DPAD, ABXY mode as intended:

   Y            U
X     A      L     R
   B            D

   1
4  J  2
   3

...but the current build:

   Y            U
X     A      D     L
   B            R

   1
4  J  2
   3

I'll leave the rest for later... ;D
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 25, 2015, 05:28:12 pm
Yo !
I have, you guess it, updated Oswan again.
The code received some cleanup.
Some functions are now inlined, which translates to a small speed boost.
Audio should be better than previous releases, the DPad/ABXY option got fixed, and it's also a lot less crashy.
(crashes were happening very often on PC but not on GCW0)

Quote
Maybe you need to adapt the lines of code from the oswan file into the default.gcw0.desktop file before repacking it? I haven't tested it yet as I can't use the PC right now.
I tried putting selectorfilter in the desktop file in the opk but it does not seem to work properly on QEMU...
Maybe it works on GCW0 ?

One more thing...
Quote
In Riviera - Yakusoku no Chi Riviera, screen flashes around text whenever something is being selected
It IS supposed to do that. I checked with Mednafen and it does the same thing.
Maybe it's less apparent on real hardware though... (Before the SwanCrystal, the Wonderswan's screens were kind of crappy)

Also, where are the chinese ?
Is it because i accidently got Dingoonity banned or because of the recent events ?
I miss them :(
Title: Re: Gameblabla's Oswan
Post by: CopyKitten on August 26, 2015, 04:55:44 am
Some functions are now inlined, which translates to a small speed boost.
Audio should be better than previous releases, the DPad/ABXY option got fixed, and it's also a lot less crashy.
(crashes were happening very often on PC but not on GCW0)
Agree, the audio is faster than before but not yet 100%. And for any gameplay, the speed is great as is (maybe a Fast Forward feature can be implement in the future?).

But maaannn....

   Y            U
X     A      L     D
   B            R

   1
4  J  2
   3

This confusion must be because the key mapping on QEMU right? Can you list all the relevant key inputs code? (I mean the QEMU key mapping and the source code of Oswan key inputs for GCW0).

Quote
Quote
Maybe you need to adapt the lines of code from the oswan file into the default.gcw0.desktop file before repacking it? I haven't tested it yet as I can't use the PC right now.
I tried putting selectorfilter in the desktop file in the opk but it does not seem to work properly on QEMU...
Maybe it works on GCW0 ?
If I pack the opk with any random MIME type like the gameboy, the filtration work but not for the wonderswan. Maybe the file types need to be declared on the firmware level?

Why don't you take a look at the Genesis Plus GX opk or source code and figure out how it work?

Too bad I'm not a programmer, else I could help you to fix the key mapping issue :'( (just starting to learn Python, on and off actually and I don't see how it would help even if I know a lot  :().

And you did the scroll mode too, that's great. Good thing that the game library is not that big or else, I'll asked for the Gmenu type of scrolling (but then again... maybe you can append it to the Dpad Left and Dpad Right ;D).
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 26, 2015, 06:36:49 am
Gameblabla's Oswan got updated again, thanks CoppyKitten for the feedback.

Here's what has changed since last release:
I'm no longer using Gmenu for this release and this time, i don't plan to reintroduce it.
There's no way to filter Wonderswan roms because they don't have a Mimetype (while gameboy roms have one).
The selectorfilter parameter only works when you're inserting it manually :
it doesn't work from a OPK file.

About the audio, i'm making some progress :

Looking at CrabEmu, i was finally able to have smooth audio playback...
except for that piece of s**t known as buffer.

At its current state, it plays fine for a while but when the buffer is empty and filled back on again,
it "rewinds" about 2 seconds backward before it continues again.
I'll be honest : I never dealt with low-level audio code.

I could cry for help but David Knight, the only guy who could help me, is busy.
I guess smooth audio playback will have to wait...

Quote
Too bad I'm not a programmer, else I could help you to fix the key mapping issue :'( (just starting to learn Python, on and off actually and I don't see how it would help even if I know a lot  :().
I never dealt with Python in my life, because honestly it's useful for.... hmmm. nothing but learning ? Hahaha
Title: Re: Gameblabla's Oswan
Post by: CopyKitten on August 26, 2015, 07:48:14 am
Everything works! ...for now. I'll let you rest for this moment before I post another request and some blablabla...

  • Added Left/Right Dpad for fast browsing.
What I meant for it was a fast skipping similar to the Gmenu.

Quote
There's no way to filter Wonderswan roms because they don't have a Mimetype (while gameboy roms have one).
That is a one ROM racism!

Quote
About the audio, i'm making some progress :
If I say there's a progress, you'll change it and then it might lags again, so... I don't want to talk about it lol!

Quote
Quote
Too bad I'm not a programmer, else I could help you to fix the key mapping issue :'( (just starting to learn Python, on and off actually and I don't see how it would help even if I know a lot  :().
I never dealt with Python in my life, because honestly it's useful for.... hmmm. nothing but learning ? Hahaha
Suddenly... my blood is boiling to the heat level of the sun and I feel like round house kicking you to the end of the universe and the spacetime will rips apart and then you'll end up in another dimension full of Bidoofus!

I've got some plans though, for short term... a good and simple calculator that support hex/bin/oct conversion (with correct floating point output too, I'm talking about precision to the last output number), and then within a year or two.. Saved Game editors (gbc, snes, gba, wsc and others) and maybe a password generator for Mega Man games. And for long term... Guitar Chord viewer and maybe some simple games (spriting is not my thing so it will take a while).

If they're good and stable (even if the coding is terrible), I'll release them... hopefully ;D
Title: Re: Gameblabla's Oswan
Post by: howie_k on August 26, 2015, 07:30:55 pm
If the emulator works with zipped WSC roms, gmenu does show *.zip files.  I guess most people prefer to have their roms zipped anyway?
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 26, 2015, 11:48:32 pm
If the emulator works with zipped WSC roms, gmenu does show *.zip files.  I guess most people prefer to have their roms zipped anyway?
Ha, i see. Never thought of that.
But still, i will not use gmenu by default because of this issue.
I'll try to add zip support for roms though, thanks for the idea.

EDIT:
And that's what i did: i added support for zipped roms.
It still needs improvements though :
It is temporaly writing to a file and deleting it instead of, hmmm, you know, read it from memory.
As a result, loading them can be pretty slow (a few seconds), which is why i advise you not to zip your roms.
Title: Re: Gameblabla's Oswan
Post by: howie_k on August 27, 2015, 07:02:51 pm
Ok thanks!
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 30, 2015, 04:09:51 am
Ladies and Gentlemen,
i have finally fixed sound and i have accordingly updated Oswan too.
Read on if you want to know more about this...

I spent 2 weeks wondering why it sounded so awful, with lots of hipcups and the likes...
Checking trap15's new documentation, i compared the synchronisation values with my emulator
and something was definitively wrong...
The difference between the two was HUGE.
I have tweaked my emulator according to the documentation and surprise,
it sounded much better, much like Mednafen actually.
So the issue was the Audio code (which required perfect synchronisation) and the inaccurate timing.

Every WS emulator (except Mednafen & MESS) suffered from this,
it makes you wonder how they managed to have good sound output...

However...
Being more accurate also means it can potentially be slower.
I tried on QEMU and the latest version was slightly faster than the previous one
but this may not be true on real hardware.
If you have a game that is too slow on GCW0, please do tell.

And now i can die happy.

EDIT: Actually, it played a little too fast so i re-released another update.
Also, you may notice that games such as Kinnikuman are now playing much faster.
They are in fact playing at the correct speed because they played way too slow before.
I compared my emulator with Mednafen and they roughly play at the same speed now,
which is good.
Title: Re: Gameblabla's Oswan
Post by: yoshi41 on August 30, 2015, 09:50:19 am
Sound is much better. Very good progress. Congrats.  8)

Pls don't die yet.  ;) The games I've tried all crash after playing a short time (FFI, FFII, Golden Axe, Dicing Knight). Something is still wrong.

And can you please add an auto scroll feature to the file selector (for keep pressing up or down).
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 30, 2015, 05:55:26 pm
The games I've tried all crash after playing a short time (FFI, FFII, Golden Axe, Dicing Knight). Something is still wrong.
Indeed, something is very wrong and since i don't own the device, i can't use reproduce it and use gdb. :/
Please, don't tell me its a GCC bug...
I have released another update that uses different optimisation parameters but if it is still crashing,
then you will have to wait for the next update to the devkit to be released. :(

Quote
And can you please add an auto scroll feature to the file selector (for keep pressing up or down).
I will see what i can do about that.
You can still use the Left/Right button to go faster though.
Title: Re: Gameblabla's Oswan
Post by: yoshi41 on August 30, 2015, 06:40:49 pm
Still crashing with r3.
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 30, 2015, 07:21:28 pm
Still crashing with r3.
Damnit !

To any developers with a gcw0, could you please test it with gdb and see where it is crashing ?
Because i have no idea why it does... :/

I remember there was weird crashes before as well and i had to re-download everything from my repo
in order to fix it. Weird, but i'll do that.
Needless to say, i can't wait for the toolchain to come.
Crashes like this makes me wish the GCW0 was Musl-Based instead of uclib...

EDIT: Cleaned up my emu and updated Oswan again. I could not reproduce the crash on Qemu.
Title: Re: Gameblabla's Oswan
Post by: yoshi41 on August 30, 2015, 08:57:45 pm
Sorry to have no better news. I hate to say, but it's still crashing.  :-[
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 30, 2015, 09:31:12 pm
Sorry to have no better news. I hate to say, but it's still crashing.  :-[
Well thanks for trying, i'm running out of ideas. :/

I don't know what is the causing the crash, it works just fine on QEMU.
If you want to help debugging, here's a special version with debug symbols :
https://gameblabla.olympe.in/files/oswan-debug.zip (https://gameblabla.olympe.in/files/oswan-debug.zip)
Title: Re: Gameblabla's Oswan
Post by: zear on August 30, 2015, 10:09:11 pm
I ran the above debugging build of Oswan with some of the games reported to crash, but I wasn't able to produce any crashes or otherwise unstable behaviour. From the description of the issues, it sounds like a possible memory leak, but the memory usage was stable at 21M throughout the entire run time.

The games run rather slow (x2/x3 slower than I'd imagine on the real hardware), but the reported FPS is quite high. I know it's a debugging build, so it's probably not as optimized as the release one.

On a side note, a quick analysis of the source core revealed some problems:
Code: [Select]
[main/emu/WSFileio.c:172]: (error) Resource leak: fp
[main/sdl/hack.c:89]: (error) Memory leak: out
[main/sdl/input.c:128]: (error) Uninitialized variable: keys
[main/sdl/main.c:166]: (error) Buffer overrun possible for long command line arguments.
[minizip/unzip.c:572]: (error) Uninitialized variable: file_info
[minizip/unzip.c:578]: (error) Uninitialized variable: file_info
[minizip/unzip.c:647]: (error) Uninitialized variable: file_info_internal

PS. I suggest you join our IRC channel (connection details (http://www.gcw-zero.com/irc)) if you want developers to help you debug. Instant communication is much better for debugging than leaving messages on the forum and waiting a day for a response ;)
Title: Re: Gameblabla's Oswan
Post by: yoshi41 on August 30, 2015, 10:42:02 pm
The debug build doesn't crash for me either (at least not for what I've tried, playing Golden Axe for a couple of minutes). It's running very slow (probably not unusual for a debug version). The non-debug version crashes almost instantly.
Title: Re: Gameblabla's Oswan
Post by: gameblabla on August 30, 2015, 11:05:00 pm
Well, that's weird i've got to say... I guess i should use Valgrind more often.
I have fixed some of the issues reported by Zear (not all however).

EDIT: Well i wish i knew CppCheck earlier, this thing is awesome.
I fixed lots of bugs reported by CppCheck so it should work on GCW0, at least i hope.
I updated Oswan, first post for download as usual.
Title: Re: Gameblabla's Oswan
Post by: Xaijiqq on September 01, 2015, 04:32:17 am
this is the best release yet :) clock tower, golden axe and kinnikuman all work good.  makaimura (ghosts n' goblins) has greatly improved audio and overall performance looks to be full speed.  thanks!
Title: Re: Gameblabla's Oswan
Post by: gameblabla on September 01, 2015, 04:40:42 am
this is the best release yet :) clock tower, golden axe and kinnikuman all work good.  makaimura (ghosts n' goblins) has greatly improved audio and overall performance looks to be full speed.  thanks!
Thanks !

Unfortunely, compatibility regressed because i have introduced some bad changes to the cpu core.
In short, Megaman N1 and some other games did not worked properly because of that.

I have updated Oswan again, you should all upgrade !

EDIT: And it looks like i have fixed the weird crash yoshi had, good.
Title: Re: Gameblabla's Oswan
Post by: Xaijiqq on September 01, 2015, 05:16:28 am
oh yea forgot to mention crazy climber crashes after the title screen but given the game's unique controls it probably wouldn't play too well using the buttons vertically
Title: Re: Gameblabla's Oswan
Post by: gameblabla on September 01, 2015, 04:59:55 pm
oh yea forgot to mention crazy climber crashes after the title screen but given the game's unique controls it probably wouldn't play too well using the buttons vertically
That game, Crazy Climber, should work now because like i said, some games got broken because of some bad code.
Also, the emulator handles vertical controls perfectly, you shouldn't have much trouble.
Title: Re: Gameblabla's Oswan
Post by: qbertaddict on September 03, 2015, 01:43:33 am
I cant download the english version of the opk. It tries to open it as a webpage. It wont allow me to do a save as either. I have tried on both IE and Chrome. The chinese version downloads fine
Title: Re: Gameblabla's Oswan
Post by: gameblabla on September 03, 2015, 01:46:48 am
I cant download the english version of the opk. It tries to open it as a webpage. It wont allow me to do a save as either. I have tried on both IE and Chrome. The chinese version downloads fine
Indeed you're right, thanks.
I removed the link to my website.
The chinese version is really just a mirror.