• HomeBoards
  • RulesRules
  • HelpHelp
  • WikiWiki
  • Donate

Author Topic: Roadmap : RetroFW/RS97 (Future improvements)  (Read 6524 times)

gameblabla (OP)

  • Posts: 1451
Roadmap : RetroFW/RS97 (Future improvements)
« on: March 22, 2019, 08:26:06 am »
Some people had asked (mostly curiously) what improvements that can still be made, even theoretically.
Here's a wish list :

  • IPU dynamic resizing support
Obviously one of the most requested feature and the one that would be the most significant in terms of improvements.
If you have access to kernel source code, you can actually change the virtual screen resolution to anything (256x224 etc...) as it would be then upscaled to 320x480.
But we would need to do it on the fly (We request a certain resolution, RetroFW detects said size and then upscales it accordingly).

Looking at the code, it would require some changes, especially if we want to do it the proper way.
The GCW0 already does this and it's definitely useful for some emulators/games.

  • BGR colorspace support
This one is a bit more specific to some emulators, mainly reGBA and PCSX4ALL.
There are some consoles like the GBA and PSX that natively work in the BGR colorspace.
Since the RS-97 (and other devices) work in the RGB colorspace, this requires some conversion.
Supporting this in the kernel would mean that the code for it can be greatly simplified :
https://github.com/gameblabla/pcsx4all/blob/master/src/gpu/gpulib/vout_port.c#L124
...which obviously results in greater speed.

GCW0 kernel has support for this in the upcoming kernel. There's also a patch for SDL to support this :
https://github.com/gcwnow/buildroot/commit/40685f89fa445b5f6db42ba67bbab3ead654d7a3

  • Support for the 2D accelerator inside of the JZ4760 (Vivante GC200)
The Vivante GC200 is a 2D accelerator that can rotate, resize, and accelerate 2D content.
Definitely not as useful as a 3D accelerator (Vivante refers to it as a compositing accelerator) but given that software rendering is expensive, this could be useful to accelerate the framebuffer.
TonyJih also said that the accelerator could be used to support for LCD screens which are expected to be rotated for landscape. (phone screens)

Etnaviv in the upstream linux kernel has DRM support for it. Stock kernel also has the GPLv2 vivante code but it is currently unknown how to use it from userspace as it is poorly documented.

Supporting the 2D accelerator would mean either to use the upstream linux kernel (doesn't currently support JZ4760 board), or use it in the stock kernel. (would require Tony to support this in the JZ4760 code)

Btw, that's also where the OpenVG claim support comes from.
OpenVG in itself however is not very useful and support for it got removed in Mesa 10.1, it never resulted in wide adoption. (if any)

  • VPU (also MXU related)
The VPU is a MIPS, general purpose cpu core that is intended for accelerating video content.
The only software to make use of it, Mplayer, is provided as part of the stock firmware. It can play back MPEG2 content.
However said Mplayer only targets the first generation of MXU (SIMD 1), not the second one. (SIMD 2)

Similarly related, the MXU is an instruction set that targets said VPU and is designed for video acceleration. This is what Mplayer uses to accelerate such content.

It was not possible to use mplayer on Useless because the rootfs was not compatible with it. (mplayer targets legacy dingux)
However, RetroFW now does have some compatibility with legacy dingux software so it's possible that mplayer works on it again.
(I need to test it and if it works, package it)

The GTE code(3D part of the PSX) in PCSX4ALL part5 also plans to make use of the MXU. This should result in greater speed on 3D games so stay tuned.
⚠ WARNING ⚠
If you are using any of my forks, emulators or ports, you are being influenced by propaganda !

adventureFAN

  • Posts: 239
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #1 on: March 22, 2019, 12:30:53 pm »
Thank you very much for this small insight. Very interesting for me.

But what is BGR colorspace?
Is this the reason why the gba games so bright?
My Handhelds: PS Vita, PSP (1000), New 3DS, NDS lite, GBA SP, GB Micro,
LCL Pi-Boy 3A+, GPD XD (Old), PowKiddy X18, RG350, PlayGo, GKD350H.

Favorite: Odroid Go Advance

gameblabla (OP)

  • Posts: 1451
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #2 on: March 22, 2019, 12:49:16 pm »
But what is BGR colorspace?
BGR and RGB are color formats for the screen. The difference is that they are ordered in a different way. There's also YUV, RGBA etc... Look up on Wikipedia if you want to know more.
The GBA uses BGR555 for the palette in the 8-bits mode and also in its BGR555 bitmap mode.

Quote
Is this the reason why the gba games so bright?
That's unrelated to BGR colorspace. The real reason why was due to the fact that earlier GBA games relied on the fact that the first GBA models had no backlight/frontlight so they oversatured the colors as to look correct on the GBA.


This issue can also happen on real GBAs with backlight mod and Nintendo DSes.
« Last Edit: August 14, 2021, 07:10:59 am by gameblabla »
⚠ WARNING ⚠
If you are using any of my forks, emulators or ports, you are being influenced by propaganda !

Jutleys

  • Posts: 1797
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #3 on: March 22, 2019, 01:09:18 pm »
opk support inc firmware updates via opk?

gameblabla (OP)

  • Posts: 1451
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #4 on: March 22, 2019, 01:11:50 pm »
opk support inc firmware updates via opk?
In theory possible ? But the GCW0 actually mounts those files while compressed. You may have noticed this already but if you have a huge collection of games/emulators, it would actually become sluggish before it loads the list of games/emus.
Given that the RS-97 is even slower than that, i think that the IPK way is the better alternative.

EDIT: As for firmware updates, these won't be possible on OPKs, due how they work. (they are actually mounted, not decompressed)
We need to have a rootfs at to boot to the OS and GmenuNx and all.
Also kernel area is writed protected so even if the rootfs could be updated, we can't touch the kernel.
« Last Edit: March 25, 2019, 12:48:52 am by gameblabla »
⚠ WARNING ⚠
If you are using any of my forks, emulators or ports, you are being influenced by propaganda !

www123

  • Posts: 21
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #5 on: April 17, 2019, 07:41:16 am »
THANKS. I VERY LOOK FORWARD IT.

adventureFAN

  • Posts: 239
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #6 on: April 17, 2019, 09:25:45 am »


This issue can also happen on real GBAs with backlight mod and Nintendo DSes.
It is possible to add a color filter to ReGBA?
My Handhelds: PS Vita, PSP (1000), New 3DS, NDS lite, GBA SP, GB Micro,
LCL Pi-Boy 3A+, GPD XD (Old), PowKiddy X18, RG350, PlayGo, GKD350H.

Favorite: Odroid Go Advance

gameblabla (OP)

  • Posts: 1451
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #7 on: April 17, 2019, 11:12:49 am »
It is possible to add a color filter to ReGBA?
Yeah it would be possible but i'm not too familiar with that process nor how to get the de-saturation right...
⚠ WARNING ⚠
If you are using any of my forks, emulators or ports, you are being influenced by propaganda !

hutzero

  • Posts: 5
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #8 on: April 17, 2019, 02:35:41 pm »
In my opinion 2D accelerator is very necessary for RS-97 Plus because there are so many screen-tearing effect. Hardware framebuffer in kernel is the best way to go. I saw this issue in the new Bittboy too. I hope you will succeed it in the near future.

Fishcakes

  • Posts: 56
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #9 on: April 17, 2019, 04:11:50 pm »
As always gameblabla, thanks for taking the time to do this and giving us a general idea of whats to come.

Id still like to say that id love to see tv out and i know im not alone on that one. We already talked about it, but i figured id mention it here in the hope(however slim) that it is eventually added.

 Hope you and the other devs know how much we appreciate the hard work.

NingenJanai

  • Posts: 1
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #10 on: May 10, 2019, 10:11:25 am »
Temper screen scaling doesn't seem to work at all, can this be looked into?

gameblabla (OP)

  • Posts: 1451
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #11 on: May 10, 2019, 05:46:26 pm »
Temper screen scaling doesn't seem to work at all, can this be looked into?
It works but you need to toggle another option called Scale Width.
⚠ WARNING ⚠
If you are using any of my forks, emulators or ports, you are being influenced by propaganda !

exorio

  • Posts: 382
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #12 on: May 10, 2019, 06:55:44 pm »
SNES emulation definitely need more polishing. Mode 7 and SuperFX games runs faster in Useless Firmware.

It's still slow in Useless, but less worse than in RetroFW.

This alone made me choose Useless Firmware, apart from the native games like KETM and Falling Time or the old school shooter ports.

I do miss some of the better feature on RetroFW (like USB connection).

But keep in mind I'm not complaining. Both RetroFW and Useless are wonderful works. I can use either anytime.

Thanks for the awesome project!

gameblabla (OP)

  • Posts: 1451
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #13 on: May 10, 2019, 08:45:22 pm »
SNES emulation definitely need more polishing. Mode 7 and SuperFX games runs faster in Useless Firmware.
It's still slow in Useless, but less worse than in RetroFW.
If you are talking about DumbSNES, that one can run Mode7 games like F-zero much faster.
If not then it's probably because they did not profile the binary properly. I've been told that they mostly played nochip games & SA1 games but not SuperFX games, which explains why it's so slow.
He also did some other changes to the source code : they may or may not have backfired on performance.
No idea though... SNES emulation in general is a mess.
⚠ WARNING ⚠
If you are using any of my forks, emulators or ports, you are being influenced by propaganda !

HercTNT

  • Posts: 700
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #14 on: May 10, 2019, 08:50:53 pm »
SNES emulation definitely need more polishing. Mode 7 and SuperFX games runs faster in Useless Firmware.

It's still slow in Useless, but less worse than in RetroFW.

This alone made me choose Useless Firmware, apart from the native games like KETM and Falling Time or the old school shooter ports.

I do miss some of the better feature on RetroFW (like USB connection).

But keep in mind I'm not complaining. Both RetroFW and Useless are wonderful works. I can use either anytime.

Thanks for the awesome project!

This is not my expirience. For example Super Mario Kart runs as well if not faster in retrofw for me. I agree with you I like them both as both are very viable, but i don't notice slower performance.

exorio

  • Posts: 382
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #15 on: May 10, 2019, 09:00:27 pm »
If you are talking about DumbSNES, that one can run Mode7 games like F-zero much faster.
If not then it's probably because they did not profile the binary properly. I've been told that they mostly played nochip games & SA1 games but not SuperFX games, which explains why it's so slow.
He also did some other changes to the source code : they may or may not have backfired on performance.
No idea though... SNES emulation in general is a mess.

This is not my expirience. For example Super Mario Kart runs as well if not faster in retrofw for me. I agree with you I like them both as both are very viable, but i don't notice slower performance.

Huh. That's odd. Gonna flash RetroFW again and see what was the emulator and report here.

But I think there's only one emu on RetroFW?

There are two emus on Useless though, just like you said, PocketSNES and DumbSNES. PocketSNES runs great. Didn't touch DumbSNES.

I'm on LDK BTW.

exorio

  • Posts: 382
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #16 on: May 11, 2019, 03:33:57 am »
There's no dumbSNES in RetroFW, it's PocketSNES. Can't find any ipk too. I've collected all ipk from this forum.

At my device Mode 7 and Super FX games and are definitely faster on Useless, but still both don't run at full speed.

gameblabla (OP)

  • Posts: 1451
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #17 on: May 11, 2019, 04:27:50 am »
There's no dumbSNES in RetroFW, it's PocketSNES. Can't find any ipk too. I've collected all ipk from this forum.
At my device Mode 7 and Super FX games and are definitely faster on Useless, but still both don't run at full speed.
Yup, i haven't released any version of DumbSNES for RetroFW due to low compatibility. It's on Useless though.
I guess that they did not profile it properly. Maybe it's something i should look into but not right now...
⚠ WARNING ⚠
If you are using any of my forks, emulators or ports, you are being influenced by propaganda !

exorio

  • Posts: 382
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #18 on: May 11, 2019, 09:15:33 am »
Yup, i haven't released any version of DumbSNES for RetroFW due to low compatibility. It's on Useless though.
I guess that they did not profile it properly. Maybe it's something i should look into but not right now...

Yeah it's fine. I don't play mode 7 and super FX games anyway.

Some games do combine pure 2D with mode 7 like Run Saber and Contra though.

that got me thinking, just a suggestion;
it's better to focus on supporting mode 7 than Super FX
Mode 7 have wider libraries than Super FX (only 8 of them) I think
Mode 7 : https://en.wikipedia.org/wiki/Mode_7
Super FX : https://en.wikipedia.org/wiki/Super_FX


Apart from those, every other games are running perfect and I already got shit tons of them in this tiny device. lol.

Just want to report about it.

Again, thanks for the project!
« Last Edit: May 11, 2019, 09:55:01 pm by exorio »

slaanesh

  • Posts: 569
    • Slaanesh Dev
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #19 on: May 16, 2019, 12:50:59 am »
Some people had asked (mostly curiously) what improvements that can still be made, even theoretically.
Here's a wish list :

  • Support for the 2D accelerator inside of the JZ4760 (Vivante GC200)
The Vivante GC200 is a 2D accelerator that can rotate, resize, and accelerate 2D content.
Definitely not as useful as a 3D accelerator (Vivante refers to it as a compositing accelerator) but given that software rendering is expensive, this could be useful to accelerate the framebuffer.

@gameblabla: do you have any more details on what exactly the 2D acceleration can do?

Are the rotation angles arbitrary or 90 degree steps? What colorspace does it work in? Can it do color-mapping? Blitting? Transparency?


 

Post a new topic
Post a new topic