Retro-Go: Emulator launcher with improved emulators

Post Reply
ducalex
Posts: 444
Joined: Sun May 19, 2019 3:29 am
languages_spoken: english, french
Has thanked: 81 times
Been thanked: 450 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by ducalex »

jd2000 wrote:
Sat Jan 07, 2023 5:15 am
Ordroid-Go has 16MB flash, is it technically possible to support bigger ROMs in the future?
Copying the ROM to flash allows some bigger ROMs to work (I've tried it) but:
- We're limited to 3MB ROMs because the esp32 can only map 4MB of flash at once and a few pages are used to map the app itself
- It increases the size of retro-go, which is wasted space to users who do not care about SNES but might want to flash other apps on their GO

The only way to properly run larger ROMs is to use memory banking (the GO has an extra 4MB of "hidden" RAM) but it absolutely destroys performance (at least for every implementation I could think of).

jd2000
Posts: 12
Joined: Fri Aug 12, 2022 11:41 am
languages_spoken: english
ODROIDs: Odroid-Go
Has thanked: 5 times
Been thanked: 0
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by jd2000 »

Thanks for the hard working and the clear explanation!
Since ESP32 can map up to 4MB flash, is it possible to support 3MB ROM instead of 2.5MB ROM?
I think it can cover most of SNES and MD games.(less than 24Mb)

ducalex
Posts: 444
Joined: Sun May 19, 2019 3:29 am
languages_spoken: english, french
Has thanked: 81 times
Been thanked: 450 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by ducalex »

Like I said it is possible and I have done it, but I don't think making retro-go releases 8MB is an acceptable trade-off. More users will want to have that flash space for other stuff than to play a handful of SNES games (poorly), I imagine.
These users thanked the author ducalex for the post:
alektronic (Mon Jan 09, 2023 1:03 am)

8xpdh
Posts: 7
Joined: Sun Mar 22, 2020 7:33 pm
languages_spoken: english
Has thanked: 0
Been thanked: 4 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by 8xpdh »

I've been following the development of the firmware since the beginning, and every few months I test it and I'm always thrilled that there are still people who give this handheld a little love.
with all the new features being added to the firmware (ports, wifi file manager, snes emulation etc) i often think how cool it would be to have a "minimal" version that only supported gb/gbc emulation and nothing else for purists like me.
I am aware that a stripped down version does not affect emulator performance. It's more about not having unnecessary features that take up memory or potentially complicate firmware maintenance.

Thank you for your years of dedication!

kelbot
Posts: 134
Joined: Thu Aug 29, 2019 12:05 pm
languages_spoken: english
ODROIDs: C2, HC2 x2, Go
Has thanked: 19 times
Been thanked: 7 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by kelbot »

In the menu you can hide tabs, so you could hide everything but GB/GBC and you would have what you want from an interface perspective. I don't think a minimalist version is great idea. Everyone cares about different systems so you'd have to do a bunch of different versions for each system. Also, if you only care about gb/gbc then the extra space used for the other systems really doesn't matter. It's just sitting there are aren't using it anyways. I would just hide all the tabs I don't use personally.
These users thanked the author kelbot for the post:
ducalex (Wed Jan 11, 2023 2:28 am)

ducalex
Posts: 444
Joined: Sun May 19, 2019 3:29 am
languages_spoken: english, french
Has thanked: 81 times
Been thanked: 450 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by ducalex »

Additionally if you want a single tab you can mix .gb and .gbc files in both /roms/gb and /roms/gbc folders. Just choose one and hide the other.

Disabling everything, including wifi, you could fit launcher+gb/gbc in 1MB instead of the current 4MB. But realistically there are not that many apps for the ODROID-GO out there, so the 3MB saved would probably go unused...

pceslayer
Posts: 6
Joined: Tue May 12, 2020 2:15 pm
languages_spoken: english
ODROIDs: Odroid Go and Odroid Go Advance
Has thanked: 1 time
Been thanked: 3 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by pceslayer »

@ducalex

I recently installed an internal Audio DAC so I could actually enjoy using the Odroid Go unmuted and I have been testing a lot of games on the latest build. I must say the audio for PC Engine has much much improved since the original implementation! I noticed though that the PC Engine emulator seems to be missing audio channels or drops them to keep the framerate stable? I'm not sure if this is due to a hardware limitation or a coding decision.

Just curious...

Thanks for your time and thank you for all the work you do on this!!!

kelbot
Posts: 134
Joined: Thu Aug 29, 2019 12:05 pm
languages_spoken: english
ODROIDs: C2, HC2 x2, Go
Has thanked: 19 times
Been thanked: 7 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by kelbot »

pceslayer wrote:
Sat Feb 18, 2023 4:27 am
@ducalex

I recently installed an internal Audio DAC so I could actually enjoy using the Odroid Go unmuted and I have been testing a lot of games on the latest build. I must say the audio for PC Engine has much much improved since the original implementation! I noticed though that the PC Engine emulator seems to be missing audio channels or drops them to keep the framerate stable? I'm not sure if this is due to a hardware limitation or a coding decision.

Just curious...

Thanks for your time and thank you for all the work you do on this!!!
Neat! I've been thinking about doing that for a long time as well but still haven't attempted it. Do you have any details on parts you used and how you did it?

ducalex
Posts: 444
Joined: Sun May 19, 2019 3:29 am
languages_spoken: english, french
Has thanked: 81 times
Been thanked: 450 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by ducalex »

pceslayer wrote:
Sat Feb 18, 2023 4:27 am
@ducalex

I recently installed an internal Audio DAC so I could actually enjoy using the Odroid Go unmuted and I have been testing a lot of games on the latest build. I must say the audio for PC Engine has much much improved since the original implementation! I noticed though that the PC Engine emulator seems to be missing audio channels or drops them to keep the framerate stable? I'm not sure if this is due to a hardware limitation or a coding decision.

Just curious...

Thanks for your time and thank you for all the work you do on this!!!
All channels are indeed emulated but the audio emulation can get out of sync due to lack of locking (especially when the cpu is struggling to keep up) and then weird things happen. Also the mixing isn't that great, I wouldn't be surprised if whole channels got cancelled out in some situations.

Can you give me a few easily reproducible examples where I could hear the difference clearly and work from that? Like maybe show me a youtube video of what it should sound like and then instructions or a save state to play that same part on the GO.

pceslayer
Posts: 6
Joined: Tue May 12, 2020 2:15 pm
languages_spoken: english
ODROIDs: Odroid Go and Odroid Go Advance
Has thanked: 1 time
Been thanked: 3 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by pceslayer »

Here is a video I whipped up of Aero Blasters for TurboGrafx-16. Video starts with what the game should sound like and then switches to what it sounds like in Retro-Go.

https://youtu.be/uTkW48_Qc4g

It definitely is missing some sound channels in the intro and during gameplay

I took a look at the source code and noticed the PC Engine emulator is set to stereo and has some different maths to calculate the right channel volume. I believe HuCard games are Mono due to the limitations of the HuCard pinout and CD is the only way to get Stereo out. Have you tried compiling with mono to see if it improves sound?

lordhardware
Posts: 206
Joined: Sat Sep 20, 2014 11:56 pm
languages_spoken: english
ODROIDs: U3
Odroid-W
Has thanked: 50 times
Been thanked: 27 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by lordhardware »

Hey ducalex,

just noticed some odd behaviour in the newest builds.

If you restore a savestate in gbc, it seems the RTC time is embedded to it does odd things when saving and restoring over and over.

Probably best to decouple that as the SRAM should be the point of truth.

ducalex
Posts: 444
Joined: Sun May 19, 2019 3:29 am
languages_spoken: english, french
Has thanked: 81 times
Been thanked: 450 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by ducalex »

pceslayer wrote:
Thu Feb 23, 2023 7:16 am
Here is a video I whipped up of Aero Blasters for TurboGrafx-16. Video starts with what the game should sound like and then switches to what it sounds like in Retro-Go.

https://youtu.be/uTkW48_Qc4g

It definitely is missing some sound channels in the intro and during gameplay
Thanks for the video, I'll start with the missing percussion :) .
pceslayer wrote:
Thu Feb 23, 2023 7:16 am
I took a look at the source code and noticed the PC Engine emulator is set to stereo and has some different maths to calculate the right channel volume. I believe HuCard games are Mono due to the limitations of the HuCard pinout and CD is the only way to get Stereo out. Have you tried compiling with mono to see if it improves sound?
The hucard mono pin is only used when the hucard has extra hardware to generate audio. I don't know any game that uses it and we don't emulate that at all. The everdrive uses it when running a cd game to feed back the cd audio for example (in which case the mono limitation is indeed a problem).

But that's as good a place to start as any, I'll double check that we're not just accidentally muting a channel because of balance.

ducalex
Posts: 444
Joined: Sun May 19, 2019 3:29 am
languages_spoken: english, french
Has thanked: 81 times
Been thanked: 450 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by ducalex »

lordhardware wrote:
Thu Feb 23, 2023 3:31 pm
Hey ducalex,
just noticed some odd behaviour in the newest builds.
If you restore a savestate in gbc, it seems the RTC time is embedded to it does odd things when saving and restoring over and over.
Probably best to decouple that as the SRAM should be the point of truth.
Currently the system clock takes precedence and the time saved in a savestate or sram file is ignored, otherwise things like NTP or I2C RTC wouldn't work.

I agree that savestate time should be respected if our system clock wasn't synced to anything recently but there's just no way to detect that for sure right now (at least not from inside the GBC emulator)...

lordhardware
Posts: 206
Joined: Sat Sep 20, 2014 11:56 pm
languages_spoken: english
ODROIDs: U3
Odroid-W
Has thanked: 50 times
Been thanked: 27 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by lordhardware »

i can get a video if youd like, it will respect it while playing a session but if you close a game and reopen it will adjust the system time to match the savestate time.
This does a lot of funky stuff, ive watched the date go from day "1" to day "73" between two openings of the same save.
Is there a possibility this is save overflow related?

i can supply the rom and savestates if it helps illustrating?

ducalex
Posts: 444
Joined: Sun May 19, 2019 3:29 am
languages_spoken: english, french
Has thanked: 81 times
Been thanked: 450 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by ducalex »

No need for a video, I understood the problem. I was just saying that I don't see an easy solution right now.

As a workaround, I've added an hidden setting to disable using the system time for the RTC so that it will always start with either 0 (new game) or the exact value from the save state or sram file.

Open /retro-go/config/gbc.json and gb.json and add this line right after the {:

Code: Select all

"SysTime": 0,
Download: currently building here https://github.com/ducalex/retro-go/act ... 4360561227
These users thanked the author ducalex for the post:
lordhardware (Mon Mar 13, 2023 11:03 am)

lordhardware
Posts: 206
Joined: Sat Sep 20, 2014 11:56 pm
languages_spoken: english
ODROIDs: U3
Odroid-W
Has thanked: 50 times
Been thanked: 27 times
Contact:

Re: Retro-Go: Emulator launcher with improved emulators

Post by lordhardware »

Thanks Ducalex :)

Post Reply

Return to “Game Emulators”

Who is online

Users browsing this forum: No registered users and 1 guest