Homebrew jEnesisDS Question

Skyline969

MENUdo Afficionado
OP
Member
Joined
Nov 18, 2008
Messages
2,209
Trophies
0
Age
31
Location
Saskatchewan
Website
Visit site
XP
508
Country
Canada
Is there an option I can change so I don't have to press L or R to scroll around the screen? I'd prefer it if the entire view was just there so I don't have to worry about scrolling to look for enemies in certain games.
 

Another World

Emulate the Planet!
Former Staff
Joined
Jan 3, 2008
Messages
10,578
Trophies
0
Age
46
Location
From Where???
Website
wiki.gbatemp.net
XP
5,372
Country
Colombia
its a limitation of the way the emu is coded. you have to sacrifice something to get better speeds, horiziontal scailing was that thing.

QUOTE said:
I am sorry if this answer will be a bit longer, but i am a tiny bit
annoyed by the scaling question.
It's not your fault, you don't know how much i get bugged with it,
although it is stated in the readme and i answered it probably a hundred
times in different message boards already, but i will do so again:

It is not just something to consider, to implement or not. jEnesisDS
has a hardware renderer unlike PicodriveDS, Lameboy and also the 0.4a
version of jEnesisDS (which had filtered scaling), which all have a
software renderer.
It is quite easy to scale with a software renderer, because you render
your created framebuffer, basically a bitmap to one of the backgrounds
and then scale it in hardware. Software scaling is really slow. AND all
this cannot easily be done in my hardware renderer. The DS has 4
independant background layers, just 2 of which can be scaled in hardware.
jEnesisDS needs all 4 of them to display the Genesis'backgrounds though,
and they all need to be in the same mode. The only possibility to do
that, is having them all in a text mode, that doesnt allow scaling. As
the graphics are directly converted to DS format, there is also no way
to scale individual elements. Of course it is technically possible, if
you can live with a 1fps emu?
Software rendering is also dead slow. The very optimized ARM asm
software renderer of jEnesisDS 0.4a could do 25-30fps maximum. That was
without sound and Z80 core.
On an average PC emulator, the rendering needs maybe 50-70% of CPU time
of the whole emu.

There are maybe possibilities, which are very complicated and not
obvious, involve using the 3D hardware, screen capturing, doing sprite
tricks to display parts of the backgrounds on them, etc.
Maybe you can understand though, that this is not my top priority
besides eliminating slowdowns, improving the sound, and supporting larger
games.

Anyway. Cheers,
Stephan

-another world
 

granville

GBAtemp Goat
Member
Joined
Aug 24, 2007
Messages
5,077
Trophies
1
Age
34
Location
Orlando, Florida
XP
2,716
Country
United States
If you want full scaling, you'll have to live through about half the speed and no sound.

As for this emulator's life, Lordus seems to have disappeared off the face of the internet. He hasn't posted in months.

If you do want a Genesis emulator on DS with scaling, you can get either PicoDriveDS or the 0.4a version of JenesisDS. Both work pretty much the same. Here's the 0.4 version:

http://library.dev-scene.com/index.php?dir...sisDS_v0.4a.zip

the software version of the emu is the one you'll want to use to get scaling. It's slow and without sound.
 

Skyline969

MENUdo Afficionado
OP
Member
Joined
Nov 18, 2008
Messages
2,209
Trophies
0
Age
31
Location
Saskatchewan
Website
Visit site
XP
508
Country
Canada
Crap... sacrifice speed and sound for scaling? Forget that!
tongue.gif
 

DanTheManMS

aka Ricochet Otter
Member
Joined
Jun 2, 2007
Messages
4,449
Trophies
1
Age
32
Location
Georgia
XP
714
Country
United States
Right, in essence there are two possible ways for emulators to work on the DS. The first is called software rendering, and in this mode, the DS has to figure out exactly what the screen should look like each frame and then paint it to the screen pixel by pixel. This is how an emulator for the PC would work, and since the image is created in memory, you can modify it however you want before painting it to the screen, whether that be scaling or applying a filter or whatever. The problem is that it takes a lot of CPU time to first calculate what the screen should look like, and then even more to manually update every pixel on the screen 60 times per second. This is why frameskip helps - if it doesn't have to update the DS screen for every frame of Genesis emulation, it can spend more time on emulating the Genesis CPU itself.

However, the DS (being a video game machine) has dedicated 2D hardware and special modes that let it plot sprites and backgrounds and tiles to the screen very very quickly. Thus, what jEnesisDS does is act as a translator between the Genesis's "draw stuff" commands and the DS's "draw stuff" commands without bothering to figure out what the entire screen is supposed to look like. Since the Genesis's video hardware and the DS's 2D hardware are not identical, translating between the two is a bit difficult to manage, and that's why you get graphical glitches on occasion, and why some of the more complicated effects cannot be emulated properly. Also, because you're directly mapping tiles and other graphics to the screen, you cannot scale horizontally. The reason you can scale vertically is because the 2D hardware keeps track of which row it's drawing to, and so you can simply skip a row here or there to squish the image vertically. The same cannot be done horizontally simply due to the way the hardware works.

With hardware emulation, you can reduce the amount of CPU time spent drawing to the screen to less than 10%, which is why you don't see frameskip implemented, as it would have very little effect. jEnesisDS uses the extra time it gains by using hardware emulation to emulate the audio engine and maintain full speed during gameplay.
 

mc_B3oWoLF

Well-Known Member
Member
Joined
Jun 12, 2008
Messages
195
Trophies
0
Age
35
Location
Russian Federation
Website
mc-b3owolf.narod.ru
XP
143
Country
Serbia, Republic of
And what about "heavy" roms?)))
Could anyone (Lordus has been off-line for a long time, so i hope anyone else could help)) somehow add the "RAM expansion" support so that jEnesisDS became able to run such magnificent games as MK3U (Mortal Kombat [4] 3: Ultimate) and others?
 

mc_B3oWoLF

Well-Known Member
Member
Joined
Jun 12, 2008
Messages
195
Trophies
0
Age
35
Location
Russian Federation
Website
mc-b3owolf.narod.ru
XP
143
Country
Serbia, Republic of
granville said:
We can't add anything since only Lordus has the source code.
frown.gif
That's a pity!
I hope, Lordus will come on-line some day and add the support od additional RAM!
(Or, at least, will upload the sources)

QUOTE(mysticwaterfall @ Feb 4 2009, 12:43 AM) Ultimate Mortal Kombat for the DS is the same as UMK3, if not better.
I can't fully agree with you..
Yes, UMK DS is great, but still it isn't the original genesis MK3 Ultimate...
by the way, not only MK3U doesn't work
smile.gif

There are other large roms too and I guess many people would be happy to be able to start "phat" roms)))
 

DanTheManMS

aka Ricochet Otter
Member
Joined
Jun 2, 2007
Messages
4,449
Trophies
1
Age
32
Location
Georgia
XP
714
Country
United States
...I have no idea what math you're trying to suggest there, but regardless, you cannot cut out columns of pixels when using a hardware renderer. It's just not possible with the way the emulator works.
 

You may also like...

General chit-chat
Help Users
    K3N1 @ K3N1: https://youtube.com/shorts/5_yMwLMHhjc?feature=share