Homebrew [Release] PicoDrive for 3DS

D

Deleted User

Guest
The O3DS has enough CPU Power to run the Sega CD games at an acceptable framerate.
Sonic CD works fine on my 2DS running Picodrive 0.93. There is something wrong with your setting or iso file.
 

able

Well-Known Member
Newcomer
Joined
Jun 22, 2018
Messages
69
Trophies
0
Age
32
XP
172
Country
United States
The O3DS has enough CPU Power to run the Sega CD games at an acceptable framerate.
Sonic CD works fine on my 2DS running Picodrive 0.93. There is something wrong with your setting or iso file.
i was using a fork of picodrive, which had a bug in it. its up and running now, thanks though.
 
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,942
Country
United States
In my mind, I refer to this emulator as "PickleDrive"
Boku no PicoDrive. :creep:

***

Thanks again to @able for discovering the Sega CD bios bug in the alternative PicoDrive emulator! After testing by both @able and @Vulpes-Vulpeos, a fixed release has been posted. If you used a previous copy of this fork downloaded 10/3/2018 or before, please reinstall whichever you used. Both the previous *.3dsx and the *cia versions have this bug.

It's Q&A time.

What caused your PicoDrive fork to crash when trying to play Sega CD games?
During the coloring process that created this fork, there was an edit mistake on a 3 byte value that was part of the Sega CD bios subroutine.

Using the *.3dsx version of PicoDrive for example, I edited the A7 97 00 found at offset 0x892F8 as seen here.
Mis_edit.png

The significance of this 3 byte value is that it's the endian of 0097A7, or the RGB value of this particular green.

This is the same green in some of the panels in Bubble's emulators like this:

green.png


When editing those green panels to purple or 5960FB (Endian: FB 60 59), I made the mistake of editing that subroutine which so happened to contain the same 3 byte hex values for that green.


Why was this mistake made in the first place? Why didn't you know it wasn't a green panel?

Because this specific green has values of A7 97 00, the program IDA Pro has a hard time distinguishing those 3 bytes as such. An ARM Little-endian scan did not determine that trailing 00 as part of the A7 97 and instead saw it as background 00 or null.

I only later found out I missed 28 green panels for the controller options and emulator settings during the edits for the other non-green panels with a sweep check. Unlike the snes9x emulator where only 4 inputs control all the green panels, virtuanes/picodrive/temperpce emulators tailor almost each green panel with its own individual input. There was a bit of guesswork in what each was.

Another quirk about PicoDrive was that there were 29 offsets that had the values of A7 97 00. During my pre-launch testing, I couldn't figure out what that 0x892F8 pointed to as there weren't any panels that had a corresponding purple color change.

Because I wasn't familiar of Sega CD games at the time (the not growing up playing with SEGA stuff will do that), the only games I tested were standard Genesis/MegaDrive *.bin roms. Since the bug wasn't seen or caught, my [wrong] conclusion of what that offset was, was that it was a (maybe?) transitional buffer frame when opening and closing the green panel.


What about the other three alternative emulators? Were they affected with a similar BIOS bug?
- The snes9x_3ds doesn't use an external BIOS.

- I can personally verify that the red edition virtuanes_3ds works with disksys.rom after playing the original Super Mario Bros 2 (Japan).fds or better known as Super Mario Bros - The Lost Level in the NES VC release.

- After solving a naming scheme issue, the orange edition temperpce_3ds was found to work with Star Parodia using a specific Japanese syscard3.pce.
Also, @able took the time to verify that the red virtuanes and orange temperpce bios work on his end.

And?
If you're a stickler when it comes to details, the forked *.3dsx builds internally retained their original Bubble *.smdh icons. Re-releases of all four emulators were posted with the correction.

Pico_icon_bubble.png
Pico_icon_vulpes.png
 
Last edited by TurdPooCharger,

able

Well-Known Member
Newcomer
Joined
Jun 22, 2018
Messages
69
Trophies
0
Age
32
XP
172
Country
United States
Boku no PicoDrive. :creep:

***

Thanks again to @able for discovering the Sega CD bios bug in the alternative PicoDrive emulator! After testing by both @able and @Vulpes-Vulpeos, a fixed release has been posted. If you used a previous copy of this fork downloaded 10/3/2018 or before, please reinstall whichever you used. Both the previous *.3dsx and the *cia versions have this bug.

It's Q&A time.

What caused your PicoDrive fork to crash when trying to play Sega CD games?
During the coloring process that created this fork, there was an edit mistake on a 3 byte value that was part of the Sega CD bios subroutine.

Using the *.3dsx version of PicoDrive for example, I edited the A7 97 00 found at offset 0x892F8 as seen here.
Mis_edit.png

The significance of this 3 byte value is that it's the endian of 0097A7, or the RGB value of this particular green.

This is the same green in some of the panels in Bubble's emulators like this:

green.png


When editing those green panels to purple or 5960FB (Endian: FB 60 59), I made the mistake of editing that subroutine which so happened to contain the same 3 byte hex values for that green.


Why was this mistake made in the first place? Why didn't you know it wasn't a green panel?

Because this specific green has values of A7 97 00, the program IDA Pro has a hard time distinguishing those 3 bytes as such. An ARM Little-endian scan did not determine that trailing 00 as part of the A7 97 and instead saw it as background 00 or null.

I only later found out I missed 28 green panels for the controller options and emulator settings during the edits for the other non-green panels with a sweep check. Unlike the snes9x emulator where only 4 inputs control all the green panels, virtuanes/picodrive/temperpce emulators tailor almost each green panel with its own individual input. There was a bit of guesswork in what each was.

Another quirk about PicoDrive was that there were 29 offsets that had the values of A7 97 00. During my pre-launch testing, I couldn't figure out what that 0x892F8 pointed to as there weren't any panels that had a corresponding purple color change.

Because I wasn't familiar of Sega CD games at the time (the not growing up playing with SEGA stuff will do that), the only games I tested were standard Genesis/MegaDrive *.bin roms. Since the bug wasn't seen or caught, my [wrong] conclusion of what that offset was, was that it was a (maybe?) transitional buffer frame when opening and closing the green panel.


What about the other three alternative emulators? Were they affected with a similar BIOS bug?
- The snes9x_3ds doesn't use an external BIOS.

- I can personally verify that the red edition virtuanes_3ds works with disksys.rom after playing the original Super Mario Bros 2 (Japan).fds or better known as Super Mario Bros - The Lost Level in the NES VC release.

- After solving a naming scheme issue, the orange edition temperpce_3ds was found to work with Star Parodia using a specific Japanese syscard3.pce.
Also, @able took the time to verify that the red virtuanes and orange temperpce bios work on his end.

And?
If you're a stickler when it comes to details, the forked *.3dsx builds internally retained their original Bubble *.smdh icons. Re-releases of all four emulators were posted with the correction.

Pico_icon_bubble.png
Pico_icon_vulpes.png
woo!, thanks for taking the time to fix these, they look great. also, ive became somewhat of a pro at using the bios on all of bubbles emus, and turdpoo's forks, so ill be popping in every now and again to see if anyone needs help getting these running. on an o2ds, i have full speed (60fps) running on:
all virtuanes famicom disk system games
all tg16 super cd and pc engine games, currently playing fx unit yuki and ys and they run great!
all sega cd games, currently playing road rash, sonic cd, and nba jam. on all of these ive tested english/jap/pal bios (where applicable anyways).

tl;dr: everything should be running 60fps, at least it does on my o2ds 11.9 etc. glad i could help!
 
  • Like
Reactions: TurdPooCharger

xy1154

Well-Known Member
Newcomer
Joined
Feb 4, 2015
Messages
46
Trophies
0
Age
29
Location
Somewhere
XP
138
Country
Switzerland
With this emulator I was able to experience such titles like Monster World 4, and Castlevania Bloodlines. Thank you for your hard work!
 

luigismentor

Well-Known Member
Newcomer
Joined
Apr 26, 2016
Messages
73
Trophies
0
Age
28
XP
818
Country
United States
I'm having problems with the fan translation for Phantasy Star. Despite being a Japanese ROM, the music played is from the American version. The game plays decently enough, but the save menu is completely garbled (both in-game and in the title screen). And if I load an earlier save, all I get is a mess of random tiles, much like Glitch City from the Pokemon games. I'm using an O3DS, and I'm using v0.94 of the emulator. Does anyone know what I'm doing wrong?
 
Last edited by luigismentor,
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,942
Country
United States
I'm having problems with the fan translation for Phantasy Star. Despite being a Japanese ROM, the music played is from the American version (and slightly distorted, at that). The game plays decently enough, but the save menu is completely garbled (both in-game and in the title screen). And if I load an earlier save, all I get is a mess of random tiles, much like Glitch City from the Pokemon games. I'm using an O3DS, and I'm using v0.94 of the emulator. Does anyone know what I'm doing wrong?

Is this the game you're trying to play?
Are you patching the correct rom?
  • Phantasy Star (J) [!].sms (512 KB - 6605D36A)
 

FateForWindows

Well-Known Member
Member
Joined
Feb 8, 2017
Messages
1,123
Trophies
0
Age
26
XP
1,726
Country
United States
I'm having problems with the fan translation for Phantasy Star. Despite being a Japanese ROM, the music played is from the American version (and slightly distorted, at that). The game plays decently enough, but the save menu is completely garbled (both in-game and in the title screen). And if I load an earlier save, all I get is a mess of random tiles, much like Glitch City from the Pokemon games. I'm using an O3DS, and I'm using v0.94 of the emulator. Does anyone know what I'm doing wrong?
Did you make sure the ROM was the Japanese one beforehand? Did you test it?
 

able

Well-Known Member
Newcomer
Joined
Jun 22, 2018
Messages
69
Trophies
0
Age
32
XP
172
Country
United States
I'm having problems with the fan translation for Phantasy Star. Despite being a Japanese ROM, the music played is from the American version (and slightly distorted, at that). The game plays decently enough, but the save menu is completely garbled (both in-game and in the title screen). And if I load an earlier save, all I get is a mess of random tiles, much like Glitch City from the Pokemon games. I'm using an O3DS, and I'm using v0.94 of the emulator. Does anyone know what I'm doing wrong?
try to run it on your computer emulator first. then report back with results
 

luigismentor

Well-Known Member
Newcomer
Joined
Apr 26, 2016
Messages
73
Trophies
0
Age
28
XP
818
Country
United States
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,942
Country
United States
Yes, that's the translation I'm using. And yes, I confirmed that I was using the correct ROM.

Tested on the Fusion emulator. The problems I mentioned were not present.

Hey, was this the text garbling you saw trying to save the game with the (B) or (A) buttons? It's not just you. The other menu options appear fine (at the onset of the game).

Edit 1 - The problem also happens on the Phantasy Star (UE) (V1.3) [!].sms (512 KB - 00BEF1D7) official English version.

Edit 2 - I tried the English patched version on the ApprenticeMinusDS v0.4.0 emulator using a R4i Gold 3DS RTS flashcart. The menu appears fine and saves correctly. Graphics are a bit fuzzy.


Phantasia-Star-JPN.png
Phantasia-Star-Eng-Patch.png
 
Last edited by TurdPooCharger,

luigismentor

Well-Known Member
Newcomer
Joined
Apr 26, 2016
Messages
73
Trophies
0
Age
28
XP
818
Country
United States
Hey, was this the text garbling you saw trying to save the game with the (B) or (A) buttons? It's not just you. The other menu options appear fine (at the onset of the game).

Edit 1 - The problem also happens on the Phantasy Star (UE) (V1.3) [!].sms (512 KB - 00BEF1D7) official English version.

Edit 2 - I tried the English patched version on the ApprenticeMinusDS v0.4.0 emulator using a R4i Gold 3DS RTS flashcart. The menu appears fine and saves correctly. Graphics are a bit fuzzy.


Phantasia-Star-JPN.png
Phantasia-Star-Eng-Patch.png
Yes! That's it! So, it's a problem with the emulator, then?
 
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,942
Country
United States
Yes! That's it! So, it's a problem with the emulator, then?
Yah, it's the PicoDrive emulator . I checked RetroArch v.1.7.5 using the PicoDrive core and the bug present there, too. Luckily for you, the Genesis Plus GX appears fine.

Edit 1 - If you want pixel perfect resolution in RetroArch:
  • Aspect Ratio: Custom
  • Custom Aspect Ratio X: Pos72
  • Custom Aspect Ratio Y: Pos24
  • Custom Aspect Ratio Width: 256 (1x)
  • Custom Aspect Ratio Height: 192 (1x)
Edit 2 - Erhm, nvm. There's a green bar on the left side in the Genesis Plus GX core. Yah, I think that fan translation patch used retains the official English soundtrack. I see what you mean as the JPN version sounds so much cooler.

Edit 3 - There's a way to force the FM audio track in the English patched version.
With Programmer's Notepad, open retroarch/retroarch-core-options.cfg and change this line:
Code:
genesis_plus_gx_ym2413 = "auto"
to
Code:
genesis_plus_gx_ym2413 = "enabled"

Edit 4 - Okay, so that left, green vertical bar is present in RetroArch (Windows and 3DS) for PicoDrive, Genesis Plus GX, and Gearsystem cores. I tried the Fusion v3.64 emulator, and it's also there.

Phantasy-Star-J-181025-013806.png


Edit 5 - If you want to use your Circle Pad as a d-pad. Play the game and click on the screen to access Quick Menu. Go to the clock icon and find the entry for your game. In the Controls setting:
  • User 1 Analog to Digital: Left Analog
Edit 6: There's a way to hide the bottom screen that logs your frames and stuff by tapping it several times until it disappears.

Edit 7: Dead center might actually be be X: 73 and Y: 25

Edit 8: Nope, X: 72 and Y: 24 are dead center. I screenshot and checked in Photoshop. Just use your eyeball center if true center looks off.
 
Last edited by TurdPooCharger,
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,942
Country
United States
Also don't forget to enable the "integer scale" option.

Dude! that's so much easier than scrolling left/right to get to 256x192! * Once Integer scale's set, custom aspect ratio choices will default to multipliers, and the top screen centers automatically.

Found out that the bottom touch screen has area inputs. Top half will hide or show the FPS, etc and bottom half brings up RetroArch menu.
 
Last edited by TurdPooCharger,

Raging-Lion

Active Member
Newcomer
Joined
Jun 21, 2016
Messages
40
Trophies
0
Age
42
XP
170
Country
United States
I'm having one issue and not sure if its a bug in the emulator or I did some wrong?

When you go to load games, it won't load them all, only a few...
I have 1,436 games in there but it will only load from A to S (half way through the S'es)
They not zipped or anything, the emulator just refuse to load them. I guess the emulator has a limit on how many games it can display?
 

Shadow#1

Wii, 3DS Softmod & Dumpster Diving Expert
Member
Joined
Nov 21, 2005
Messages
12,341
Trophies
2
XP
7,983
Country
United States
I'm having one issue and not sure if its a bug in the emulator or I did some wrong?

When you go to load games, it won't load them all, only a few...
I have 1,436 games in there but it will only load from A to S (half way through the S'es)
They not zipped or anything, the emulator just refuse to load them. I guess the emulator has a limit on how many games it can display?
Split roms up by folders #-Z
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • ZeroT21 @ ZeroT21:
    it wasn't a question, it was fact
  • BigOnYa @ BigOnYa:
    He said he had 3 different doctors apt this week, so he prob there. Something about gerbal extraction, I don't know.
    +1
  • ZeroT21 @ ZeroT21:
    bored, guess i'll spread more democracy
  • LeoTCK @ LeoTCK:
    @K3Nv2 one more time you say such bs to @BakerMan and I'll smack you across the whole planet
  • K3Nv2 @ K3Nv2:
    Make sure you smack my booty daddy
    +1
  • LeoTCK @ LeoTCK:
    telling him that my partner is luke...does he look like someone with such big ne
    eds?
  • LeoTCK @ LeoTCK:
    do you really think I could stand living with someone like luke?
  • LeoTCK @ LeoTCK:
    I suppose luke has "special needs" but he's not my partner, did you just say that to piss me off again?
  • LeoTCK @ LeoTCK:
    besides I had bigger worries today
  • LeoTCK @ LeoTCK:
    but what do you know about that, you won't believe me anyways
  • K3Nv2 @ K3Nv2:
    @BigOnYa can answer that
  • BigOnYa @ BigOnYa:
    BigOnYa already left the chat
  • K3Nv2 @ K3Nv2:
    Biginya
  • BigOnYa @ BigOnYa:
    Auto correct got me, I'm on my tablet, i need to turn that shit off
  • K3Nv2 @ K3Nv2:
    With other tabs open you perv
  • BigOnYa @ BigOnYa:
    I'm actually in my shed, bout to cut 2-3 acres of grass, my back yard.
  • K3Nv2 @ K3Nv2:
    I use to have a guy for that thanks richard
  • BigOnYa @ BigOnYa:
    I use my tablet to stream to a bluetooth speaker when in shed. iHeartRadio, FlyNation
  • K3Nv2 @ K3Nv2:
    While the victims are being buried
  • K3Nv2 @ K3Nv2:
    Grave shovel
  • BigOnYa @ BigOnYa:
    Nuh those goto the edge of the property (maybe just on the other side of)
  • K3Nv2 @ K3Nv2:
    On the neighbors side
    +1
  • BigOnYa @ BigOnYa:
    Yup, by the weird smelly green bushy looking plants.
    K3Nv2 @ K3Nv2: https://www.the-sun.com/news/10907833/self-checkout-complaints-new-target-dollar-general-policies...