Homebrew [Release] PicoDrive for 3DS

ShadowOne333

QVID PRO QVO
Editorial Team
Joined
Jan 17, 2013
Messages
12,214
Trophies
2
XP
34,186
Country
Mexico
I think, at this point, bubble doesn't want the global frameskip thing to be implemented. It's time to give up on that.
What frameskip?
I wasn't talking about frameskip, but rather a global configuration for the whole emu settings instead of having the app create one per game.
I didn't even talk about adding it to the main app, but making a custom build for myself by compiling it from source with the changes, I just wanted to make sure the changes I thought were needed are indeed the correct code lines to make said changes.
 
  • Like
Reactions: wicksand420

DominoBright

Well-Known Member
Member
Joined
Sep 21, 2009
Messages
315
Trophies
1
Age
41
XP
2,527
Country
United States
What frameskip?
I wasn't talking about frameskip, but rather a global configuration for the whole emu settings instead of having the app create one per game.
I didn't even talk about adding it to the main app, but making a custom build for myself by compiling it from source with the changes, I just wanted to make sure the changes I thought were needed are indeed the correct code lines to make said changes.
Frameskip is among those settings, right?

Even though this build is for your personal use, I feel I should say something. I know very little about coding, so I'm not sure if you have it covered or not, but if your code lacks the ability to check settings that you want for specific games (check game cfg, if not found check global cfg), it's a pain to change the global settings each time you want to try those games, then change them back for different ones. Or maybe you don't have anything that would need different settings to run well, in which case, you'd be good to go. It would still be nice if the option was there. I'm pointing this out because, after trying GBA ROMs on mGBA, I prefer to have per-game settings.
 
Last edited by DominoBright,

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
Hey @bubble2k16 I have one question.
I want to make custom builds for myself of your emulator that basically handles only one global configuration file for each emu, while avoiding all of the individual per-game/ROM configuration files.
I wanted to ask you if I only need to make the following change:

Code:
bool impl3dsReadWriteSettingsByGame(bool writeMode)
{
bool success = config3dsOpenFile(file3dsReplaceFilenameExtension(romFileNameFullPath, ".cfg"), writeMode);
if (!success)
return false;

config3dsReadWriteInt32("#v1\n", NULL, 0, 0);
config3dsReadWriteInt32("# Do not modify this file or risk losing your settings.\n", NULL, 0, 0);

// set default values first.
if (!writeMode)
{
settings3DS.PaletteFix = 0;
settings3DS.SRAMSaveInterval = 0;
}

Change the line

to basically this:

(same thing for ./virtuanes, etc)

I know I might have to change all the %s.cfg mentions and perhaps the carthw.cfg as well, but I wanted to make sure first which instances are the ones which create/read from the .cfg with the ROM name in it specifically.

Oh also, I am still not sure what line of code is the one which reads from the ROM.cfg files to change those as well.

Any help would be greatly appreciated. :)

Oops, I think I forgot to reply you. Been busy messing with the ym2612 emulation inside PicoDrive. :P

To answer your question: you can’t really change the file name in the impl3dsReadWriteSettingsByGame.

Instead you have to move the config3dsReadWrite lines from impl3dsReadWriteSettingsByGame to impl3dsReadWriteSettingsGlobal.
 

ShadowOne333

QVID PRO QVO
Editorial Team
Joined
Jan 17, 2013
Messages
12,214
Trophies
2
XP
34,186
Country
Mexico
Oops, I think I forgot to reply you. Been busy messing with the ym2612 emulation inside PicoDrive. :P

To answer your question: you can’t really change the file name in the impl3dsReadWriteSettingsByGame.

Instead you have to move the config3dsReadWrite lines from impl3dsReadWriteSettingsByGame to impl3dsReadWriteSettingsGlobal.
Gotcha!
Thanks for the tip :)
I will try to compile the custom build tomorrow.
 
  • Like
Reactions: wicksand420

MKKhanzo

Well-Known Member
Member
Joined
Oct 8, 2013
Messages
273
Trophies
1
Age
43
XP
732
Country
United States
@bubble2k16 I have been getting a BLAST of fun out of Picodrive for O3ds, just wanted to ask, would it be feasible an input recording stuff? So I can hit playback and record with a camera the screen?
 
  • Like
Reactions: bubble2k16
D

Deleted User

Guest
Oops, I think I forgot to reply you. Been busy messing with the ym2612 emulation inside PicoDrive. :P

To answer your question: you can’t really change the file name in the impl3dsReadWriteSettingsByGame.

Instead you have to move the config3dsReadWrite lines from impl3dsReadWriteSettingsByGame to impl3dsReadWriteSettingsGlobal.
Say bubble, do you plan to release a update this Week?
I´m asking, because I would prefer to wait for the next update to release first and then test Genesis/Megadrive games for the wiki.:)
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
Say bubble, do you plan to release a update this Week?
I´m asking, because I would prefer to wait for the next update to release first and then test Genesis/Megadrive games for the wiki.:)

I have only just completed making the dynarec in 32x work but I am still grappling with the sound issue in 32x games... weird problem. Once I fix that and do a more thorough test I will do a release. Maybe sometime next week?

--------------------- MERGED ---------------------------

@bubble2k16 I have been getting a BLAST of fun out of Picodrive for O3ds, just wanted to ask, would it be feasible an input recording stuff? So I can hit playback and record with a camera the screen?

Do you mean recording a movie? Hmm probably not.
 
D

Deleted User

Guest
I have only just completed making the dynarec in 32x work but I am still grappling with the sound issue in 32x games... weird problem. Once I fix that and do a more thorough test I will do a release. Maybe sometime next week?

--------------------- MERGED ---------------------------



Do you mean recording a movie? Hmm probably not.
No problem, take your time.:) I will wait for the next release and test VirtuaNes in the meantime.
 

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,632
Trophies
3
Age
24
XP
21,073
Country
United States
Does it not support isos as I tried to load Sonic CD but it said it wouldn't load it....
OP said:
CD-ROM BIOS

1. If you have the CD ROM BIOS, place them in the /3ds/picodrive_3ds/bios folder.
2. They must be named:
- bios_CD_U.bin,
- bios_CD_J.bin,
- bios_CD_E.bin,
for the respective regions.
3. You can place all three BIOS in the /3ds/picodrive_3ds/bios folder.
 
  • Like
Reactions: slaphappygamer

Vague Rant

Deceptively cute
Member
Joined
Aug 7, 2008
Messages
2,464
Trophies
2
Location
Melbourne
Website
vaguerant.tumblr.com
XP
3,316
Country
My Mega-CD games are all bin/cue, but PicoDrive 3DS seems to interpret that "bin" to mean that they're standard MD ROMs and throws an error saying "Hmm... unable to load ROM." @bubble2k16, is there any chance of the emulator somehow checking the difference between .bin cartridge dumps and .bin disc dumps? In most cases, probably as simple as checking for a same-named .cue file in the same directory.
 

wicksand420

Well-Known Member
Member
Joined
Nov 13, 2016
Messages
2,787
Trophies
1
Age
39
XP
2,296
Country
United States
My Mega-CD games are all bin/cue, but PicoDrive 3DS seems to interpret that "bin" to mean that they're standard MD ROMs and throws an error saying "Hmm... unable to load ROM." @bubble2k16, is there any chance of the emulator somehow checking the difference between .bin cartridge dumps and .bin disc dumps? In most cases, probably as simple as checking for a same-named .cue file in the same directory.
you need the bios for sega cd in SD:/3ds/picodrive_3ds/bios
 
Last edited by wicksand420,

Vague Rant

Deceptively cute
Member
Joined
Aug 7, 2008
Messages
2,464
Trophies
2
Location
Melbourne
Website
vaguerant.tumblr.com
XP
3,316
Country
you need the bios fro sega cd in SD:/3ds/picodrive_3ds/bios
Thanks, this solved it. I'm not sure hardcoded directory structures are the best option for something like this, though. A lot of other apps are able to find their needed files using relative paths. Personally, I had /3ds/Emulators/picodrive_3ds/bios because all my emulators are in their own directory. Except, now, PicoDrive, which I'll have to keep bare in /3ds since it won't find its BIOS files otherwise.
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
Putting up v0.93 for download:

v0.93 Release Notes:

- Fixes a sound bug that plays the previous sound from a CD-ROM game when you load up an SMS ROM.
- Re-ordered region priority to US, JP, EU.
- Added support for .32x extensions and 32X games.
(but some games like Virtual Fighter, Virtual Racing Deluxe cause the emulator to crash, just like the RetroArch versions)
- Fixed ASM version of the 32X rendering routines to prevent crashing, and Blackthorne games.
- Fixed the frame-rate bug that is not consistent with the frame-rate selected in the menu.
- Enabled 32X / SVP dynarec when running in CIA mode and the necessary custom firmware is available.
- Sets the default mapping for Sega MD's X, Y, Z buttons.
- Fixed a read-ahead library bug that previous caused small ISO games to boot to the CD player.
- Fixed minor sound emulation issues and improved sound sync.
- Fixed YM2612 timer bug.
- Implemented more aggressive optimzation of the YM2612 assembly emulation. Less skipping in some games on the Old 3DS.
- Fixed playing PWM samples by deducting the DC offset of the waveform (CSND is unable to reliably play samples with a significant DC offset)

https://github.com/bubble2k16/picodrive_3ds/releases/download/v0.93/picodrive_3ds-v0.93.zip


Feedback and comments welcome.

--------------------- MERGED ---------------------------

Thanks, this solved it. I'm not sure hardcoded directory structures are the best option for something like this, though. A lot of other apps are able to find their needed files using relative paths. Personally, I had /3ds/Emulators/picodrive_3ds/bios because all my emulators are in their own directory. Except, now, PicoDrive, which I'll have to keep bare in /3ds since it won't find its BIOS files otherwise.

Well, this caters to the CIA version, whose relative folder is always in the root of the SD card. So I thought I might as well keep the BIOS in a fixed folder. And furthermore, I always thought that the HBL prefers that the 3dsx files exists in the same folder name as its file name, no?
 

PvD79

Active Member
Newcomer
Joined
Jan 13, 2018
Messages
41
Trophies
0
Age
44
XP
2,082
Country
United States
I cant seem to get the 32x roms to load. I do have the bios for 32x, although a web search says they are not needed for picodrive? Im not sure if they are named correctly if they are indeed needed. All roms I attempted to run just give me a black screen and freeze. I then have to reset the 3ds. Genesis and sega cd still run fine. Any suggestions? Thanks as always @bubble2k16 !!!
 

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,632
Trophies
3
Age
24
XP
21,073
Country
United States
I cant seem to get the 32x roms to load. I do have the bios for 32x, although a web search says they are not needed for picodrive? Im not sure if they are named correctly if they are indeed needed. All roms I attempted to run just give me a black screen and freeze. I then have to reset the 3ds. Genesis and sega cd still run fine. Any suggestions? Thanks as always @bubble2k16 !!!
I think 32X only works on the CIA version.
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
I cant seem to get the 32x roms to load. I do have the bios for 32x, although a web search says they are not needed for picodrive? Im not sure if they are named correctly if they are indeed needed. All roms I attempted to run just give me a black screen and freeze. I then have to reset the 3ds. Genesis and sega cd still run fine. Any suggestions? Thanks as always @bubble2k16 !!!

Are you using an old 3DS or a new 3DS? 32X games shouldn't freeze the emulator... whether you are using the 3DSX or the CIA versions. Obviously the 3DSX version will run very slowly, and it's worse on an old 3DS.

32X games will only play well on a new 3DS launched the CIA version of PicoDrive. :)
 
D

Deleted User

Guest
Putting up v0.93 for download:

v0.93 Release Notes:

- Fixes a sound bug that plays the previous sound from a CD-ROM game when you load up an SMS ROM.
- Re-ordered region priority to US, JP, EU.
- Added support for .32x extensions and 32X games.
(but some games like Virtual Fighter, Virtual Racing Deluxe cause the emulator to crash, just like the RetroArch versions)
- Fixed ASM version of the 32X rendering routines to prevent crashing, and Blackthorne games.
- Fixed the frame-rate bug that is not consistent with the frame-rate selected in the menu.
- Enabled 32X / SVP dynarec when running in CIA mode and the necessary custom firmware is available.
- Sets the default mapping for Sega MD's X, Y, Z buttons.
- Fixed a read-ahead library bug that previous caused small ISO games to boot to the CD player.
- Fixed minor sound emulation issues and improved sound sync.
- Fixed YM2612 timer bug.
- Implemented more aggressive optimzation of the YM2612 assembly emulation. Less skipping in some games on the Old 3DS.
- Fixed playing PWM samples by deducting the DC offset of the waveform (CSND is unable to reliably play samples with a significant DC offset)

https://github.com/bubble2k16/picodrive_3ds/releases/download/v0.93/picodrive_3ds-v0.93.zip


Feedback and comments welcome.

--------------------- MERGED ---------------------------



Well, this caters to the CIA version, whose relative folder is always in the root of the SD card. So I thought I might as well keep the BIOS in a fixed folder. And furthermore, I always thought that the HBL prefers that the 3dsx files exists in the same folder name as its file name, no?
Thank you for the next update.:) I will soon begin to test games for the wiki.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: @K3Nv2, Lol K3N1.