Homebrew The State of 16-Bit Emulation on the DS/DSi

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
431
Trophies
1
XP
2,912
Country
United States
So as a follow-up to The State of 8-Bit Emulation on the DS/DSI post I made... here is the 16-bit counterpart.

I only spent time with 3 emulators: JenesisDS, SNEmulDS, and NEODS.

Unfortunately, there were problems across the board on all three. Let's take a dive in...

JenesisDS showed a lot of promise. The wiki for compatibility showed mostly green and the first game I played on it (Gleylancer... a fantastic Japanese Shmup) worked well enough. Speed was good! Seems to run at 60FPS which is solid. Sound was good - but I noticed that the screen resolution was really difficult to overcome. They do so with the use of the L/R shoulder button to pan left/right... or you can "follow d-pad" where if you are pressing in one direction or the other it will pan in that direction - but for fast-paced shooters this is less than ideal as you are often barreling forward into an enemy when it the screen pans. The Genesis has a native screen resolution of 320x224 so it sucks both vertically (where the DS only has 192 pixel rows) and horizontally (where the DS has only 256 pixel columns). I'd like to have seen more scaling options presented... but it's still workable. Then I tried my 2nd game - the most beloved of shooters on the system... Thunderforce IV [aka Lightening Force (sic)]. It ran fine - even the multi-layered parallax scrolling was pretty good until the first boss encounter when the game froze. I tried again... got a bit further and the game froze again... this ROM works perfectly on my PC emulator. It's a big game - maybe it's not loading right because of that. Anyway, that was it - if my 2 fav games on the system are 50/50... it's probably not going to work for me.

SNEmulDS was a bit more disappointing. There are lots of layer issues with some things showing in front of others when it's not supposed to. This causes some real jarring issues in the Axelay and Space Megaforce. The sound was also a bit of a let-down... Chrono Trigger sounded scratchy and the music would sometimes lag and play over other sounds when it shouldn't... and then there were some serious screen glitches when trying to just get through the first few scenes of that legendary RPG. I also tried Earthbound and it was better - but not convincingly so. The menus are in Japanese - but I can work out katakana well enough to navigate - but that's still not a plus. Speed was hit and miss... some stuff ran fine and other games seemed to have much more slowdown than I remember. In the end, with the glitches, it's hard to imagine I'll be using this much in the future. I don't need my emulation (especially on the DS) to be perfect... but it has to stand up to some use and abuse!

NEODS was somewhat of a surprise. Not directly supported by TWL++ but it can be made to run in DSi mode. But even in normal DS mode on a flash cart, it has good speed... many games run 80% or better of full speed. Screen scaling is an issue - it doesn't always look great. And there are some screen glitches. Also, the rom sets for this are really picky - and old... so you have to really dig to find the right ones. Still... was fun playing some Pulsar and Magical Drop III even if it was a little glitchy. You can get it to run in TWL++ mode (with a google search) which adds full speed but comes at the cost of some serious screen glitches. Sadly, it's hard to recommend this one except for a handful of games that where the screen glitches aren't a deal-breaker.

Overall, the 8-bit emulators are much better on the DS/DSi than the 16-bit counterparts. Maybe it's just too little processing power - it's a shame that there wasn't broader development for the DSi where the 2x processor could get the job done. I don't think there is any active development on these 16-bit emulators but I'd love to be proven wrong! Also, if you know of any alternatives that are easy to setup and run on the DS... I'm all ears :)
 

Nikokaro

An aphorism a day to improve...my profile
Member
Joined
Feb 3, 2020
Messages
901
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
1,520
Country
Italy
Hi.:)
Congratulations on the love and dedication you are giving to the DS/DSi, these now obsolete and almost forgotten consoles. And thanks for keeping alive the interest and attention to this forum that, if it were not for you and a few others, would be dead and buried, and long forgotten.
:bow:
I would like to take this opportunity to ask you a question, even though it may not be related to your topic. Do you think it would be possible to emulate the Amiga 500, which as you know has very little RAM, if not on DS, at least on DSi?
Is it possible that it has never been made an attempt in this sense? What is your opinion as a developer?

Thanks.:wink:
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
431
Trophies
1
XP
2,912
Country
United States
Hey Niko,

Well, the Amiga is a bit more powerful than many of the best emulated systems on the DS. I think it could be done on a DSi.

Let's take a look... I never owned an Amiga so will have to google some stuff... back in a jiffy!

And I'm back!

Okay... so the memory is no problem. 512k or 1024k (1MB) is well within the reach of even the original DS. Memory is rarely the problem - except on the bigger SNES and Genesis games I think... and maybe NeoGeo. My XEGS-DS has a 1MB memory expansion option that works fine emulated on the older DS.

The floppy drive can be emulated easily enough - and it would still load faster on a DS than on a real Amiga.

But the CPU is where things start to break down... it's running 7.16MHz and it's a full blown Motorola 68000. To put it in perspective, most of the Atari emulators are running under 2MHz and even the SMS is under 4MHz.

But CPU speed alone is not the true test... it's usually the peripherals and bankswitching and other hardware "oddities" that make it difficult. I don't know the Amiga architecture so I can't be sure but I suspect it would be an uphill battle to get it to run right on an original DS. But it's just a guess.
 

CrashMidnick

Well-Known Member
Member
Joined
Jul 22, 2015
Messages
299
Trophies
0
Age
38
XP
1,223
Country
France
I can be wrong but SNES and Mega Drive is going to be hard even for the DSI (i.e. CATSFC for DSTWO needs 1-2 frame skips for most standard games and just cannot handle special chips games). SNEmulDS's accuracy is just a pain but some games are very playable : better than nothing ;)

About the Amiga, I grew up with this computer (and at the very beginning with the Amstrad CPC 6128). I emulate those 2 systems on pretty much every console since the Dreamcast, I think it would be a waste of time to try it on the DSi. This computer has got special chips and it is CPU demanding. For example, a Neo Geo is emulated way better on a Dreamcast than an Amiga. On top of that accuracy is low (special screen modes not supported, no HDD supports, no AGA, bad sound emulation...) but again, better than nothing. You can have a look at the emu, AFAIK it is less greedy Amiga emulator in terms of cpu usage : http://chui.dcemu.co.uk/uae4all.html
 

CoolMe

.. Days'd & con'fused ..
Member
Joined
Apr 16, 2019
Messages
691
Trophies
0
Age
26
XP
634
Country
United States
Only tried jEnesis here, launched Castle of Illusion and it had a weird screen resolution, and you had to manually position the vertical and horizontal lines to your liking which never looked quite right to me, other than that it was playable.
 
  • Like
Reactions: wavemotion

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
431
Trophies
1
XP
2,912
Country
United States
For sure DSx86 is a 16-bit emulator. The 8086 was a true 16-bit processor and 16-bit external data bus architecture. The 8088 was the cost-reduced version used in the first Intel-based PCs and that cut back and used an 8-bit external data bus but the CPU was still 16-bits.

We tend to get hung-up on bits of the CPU but it's mostly smoke and mirrors. It's really the full architecture that has to be emulated. A CPU by itself isn't useful - it won't produce sound and it won't produce video. So you can input some numbers, run some logic and output some results... The CPU needs peripherals to work - external bus interface, memory, communication channels, sound chips, video chips, etc. All that stuff can be just as complicated to emulate - in the case of the Atari 2600 the CPU is the least of the emulation issues - the real heavy lifting comes in emulation of the RIOT (timer chip and IO chip), TIA (television interface adapter for video and sound) and the special bank-switching needed on more complicated games.
 
Last edited by wavemotion,
  • Like
Reactions: Indy13 and banjo2

Ajlr

Well-Known Member
Member
Joined
Jun 16, 2020
Messages
156
Trophies
0
Age
15
XP
533
Country
Philippines
Are you thinking of working on these emulators or at least one or two of them? Amiga is probably hard to emulate due to the CPU.
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
1,762
Trophies
1
XP
2,158
Country
Canada
But the CPU is where things start to break down... it's running 7.16MHz and it's a full blown Motorola 68000. To put it in perspective, most of the Atari emulators are running under 2MHz and even the SMS is under 4MHz.
It is pointless trying to compare the clock speed of CPUs with completely different architectures and instruction sets.

Also that 68k at 7.16 MHz is pretty much the same as the one in the Genesis/Mega Drive. And it's actually slower than the 68k used in the Neo Geo.

Do you think ScummVM and DSx86 can be categorized as 16-Bit emulators ?
ScummVM is an interpreter and not an emulator at all.
 
Last edited by Kwyjor,

plasturion

temporary hermit
Member
Joined
Aug 17, 2012
Messages
718
Trophies
1
Location
Tree
XP
2,140
Country
Poland
I think 68k can be emulated, there's styxDS emulator of atari ST that has 68k cpu on board, and some games run quite fast and fair playable, but generally it's slow. For Amiga it can be more difficult because amiga has special custom chipset componnents like Agnus, Paula, Denise and that require faster cpu, I wonder what speed can be achived on twice faster dsi.
 

Indy13

Well-Known Member
Member
Joined
Jan 26, 2017
Messages
215
Trophies
0
Age
42
XP
537
Country
France
ScummVM is an interpreter and not an emulator at all.

I totally agree with you, in reality, I was wondering about ScummVM compared to the quality of some games (like the latest Lucasarts or Westwood games) which can be compared to 16-bit games hence my question. But indeed, technically ScummVM is not an emulator.
 

Ajlr

Well-Known Member
Member
Joined
Jun 16, 2020
Messages
156
Trophies
0
Age
15
XP
533
Country
Philippines
I wonder how the layer issues in SnemulDS can be fixed without fiddling on the layers.

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

I also tried Earthbound and it was better - but not convincingly so. The menus are in Japanese - but I can work out katakana well enough to navigate - but that's still not a plus.
Is your ROM a Japanese version? Also for some reason, before a battle in Magicant, instead of the sound effect playing, it's crackles. It also crackles during battle and after battle.
 

Nikokaro

An aphorism a day to improve...my profile
Member
Joined
Feb 3, 2020
Messages
901
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
1,520
Country
Italy
@wavemotion Sorry to distract you from your new project. Since no one has mentioned it yet, I'll step forward: what do you think of the nec PC-9801, the famous japanese 16 bit PC of the eighties, with a processor speed of 5/8 MHz, expandable RAM up to 640kb, 640x400 graphic resolution: considering the first, older 3/4 models with these features, it can be emulated very well on DSi/DSi XL. But that someone wants to do it, I highly doubt it...Yet it is full of interesting and "particular" games of the genre Anime-Adventure and Dating Sim...hehe.
If someone could emulate it on DS/DSi (perhaps using the already available source code of Neko Project) would make a great gift to humanity and would deserve a memorial...

EMO_0057.gif
 
Last edited by Nikokaro,
  • Like
Reactions: Ajlr and banjo2

smf

Well-Known Member
Member
Joined
Feb 23, 2009
Messages
5,208
Trophies
1
XP
3,793
Country
United Kingdom
For Amiga it can be more difficult because amiga has special custom chipset componnents like Agnus, Paula, Denise and that require faster cpu, I wonder what speed can be achived on twice faster dsi.

Getting the blitter and copper running in sync when necessary and not slowing down the cpu emulation when not, is the main challenge.
Copper is basically a 3.5mhz cpu that can write to any of the custom chips and the blitter can be used for moving graphics and decoding mfm etc.

Quite a lot of software will start the blitter and not wait for it to finish, because it knows that the blitter will steal cycles from the cpu (if you are running out of chip ram). But also people wrote software that knows just how fast the blitter is, so they use the cpu to change data while the blitter is running.
 
  • Like
Reactions: banjo2

CrashMidnick

Well-Known Member
Member
Joined
Jul 22, 2015
Messages
299
Trophies
0
Age
38
XP
1,223
Country
France
I don't think I'd start with uae, of course writing an emulator from scratch for the ds/dsi is a lot of work too.

Yes that would be the best way, not sure that someone will spend time on it though...
DSTWO is another option for the Amiga but unfortunately not much devs were interrested in this flashcard. There is a build of UAE4ALL on DS Linux and it seems to work fine, However I never tested it myself.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Real Jdbye @ The Real Jdbye:
    really have to buy the top end model to get a tv that doesnt have any of those compromises and that would've had more dimming zones too but i am not made o money
    Gift
  • The Real Jdbye @ The Real Jdbye:
    @Julie_Pilgrim "very bright" is essentially pure white
    Gift
  • The Real Jdbye @ The Real Jdbye:
    pure white doesn't show up all that much it's mainly when looking at a bright sky
    Gift
  • The Real Jdbye @ The Real Jdbye:
    and if the clouds in the sky have slightly less definition to them because i turned on the contrast enhancer who cares
    Gift
  • The Real Jdbye @ The Real Jdbye:
    that's not important
    Gift
  • The Real Jdbye @ The Real Jdbye:
    i can't tell the difference
    Gift
  • The Real Jdbye @ The Real Jdbye:
    but i can certainly tell the difference with black crush if i'm watching a scifi movie and i can't see wtf is going on
    Gift
  • SG854 @ SG854:
    Human vision is logarithmic, it's not linear. And nits doesn't tell the whole story of perceived brightness. OLED'S look brighter then LCD's even when both are set to the same nit values because of the higher contrast ratio on OLED's
    Gift
  • SG854 @ SG854:
    OLED's have a 3D look
    Gift
  • kenenthk @ kenenthk:
    Charging port is more likely to fry up or battery fail before the display tbh lol
    Gift
  • The Real Jdbye @ The Real Jdbye:
    "And nits doesn't tell the whole story of perceived brightness" it's not about perceived brightness it's about all HDR content in TV and movies being mastered for 1000 nits so it doesn't look right with anything lower, it's also about dynamic range
    Gift
  • The Real Jdbye @ The Real Jdbye:
    "OLED's have a 3D look" no they don't lol
    Gift
  • SG854 @ SG854:
    As an owner of a OLED and you saying that you never seen an OLED I think I know what I'm talking about lol. I'm not talking about 3D as in 3D glasses. I'm talking about depth and pop in the picture
    Gift
  • kenenthk @ kenenthk:
    I mean to be fair og vitas are still kicking and not many have suffered from pixel bleed and they're going on nearly 10 years
    Gift
  • SG854 @ SG854:
    OLED's can get away with a lower peak brightness and still provide punchy HDR because of their contrast ratio. Like I said human vision is logarithmic. The higher the peak brightness the diminishing returns in perceived brightness.
    Gift
  • kenenthk @ kenenthk:
    Just get 5 years enjoyment out of it until Nintendy releases something and everyone forgets about switch games lol
    Gift
  • SG854 @ SG854:
    @The Real Jdbye Oleds hit around 750 nits nowadays. The difference between a 1000 nit and a 750 nit isn't huge. It's only about a 4% increase in perceived brightness. Not huge at all. You'll need at least 2000 nit displays to notice a bigger difference.
    Gift
  • SG854 @ SG854:
    Read this thread it explains it. 1000 nits is not a huge jump from 750 the LG OLEDs can hit. As I said human vision is non linear.
    +2
    Gift
  • Gift
  • mr_switch @ mr_switch:
    Not exactly 3D but the colors does pops out more
    Gift
  • mr_switch @ mr_switch:
    I just want a true dark mode theme
    for OLED Switch
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    yeah honestly i hate how the only two switch theme options are blinding holy light of god or grey
    Gift
  • El_Doot @ El_Doot:
    Kill eyes OR bore eyes to death
    +1
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    switch dark mode is ok i just wish it was a bit darker
    Gift
  • F @ Forseenink3938:
    Can anyone here please help me on how to use TickCrypt 2.0?
    Gift
    F @ Forseenink3938: Can anyone here please help me on how to use TickCrypt 2.0?