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

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
908
Trophies
1
XP
7,258
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

Lost philosopher... searching for a way out...
Member
Joined
Feb 3, 2020
Messages
2,158
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
6,683
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
908
Trophies
1
XP
7,258
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
720
Trophies
0
Age
41
XP
2,801
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

That's the way she goes..
Member
Joined
Apr 16, 2019
Messages
7,362
Trophies
1
Age
29
XP
32,346
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
908
Trophies
1
XP
7,258
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,

Ajlr

Well-Known Member
Member
Joined
Jun 16, 2020
Messages
185
Trophies
0
Age
17
XP
826
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
4,221
Trophies
1
XP
4,384
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
1,184
Trophies
2
Location
Tree
XP
3,461
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
591
Trophies
0
Age
45
XP
1,249
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
185
Trophies
0
Age
17
XP
826
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

Lost philosopher... searching for a way out...
Member
Joined
Feb 3, 2020
Messages
2,158
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
6,683
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
6,638
Trophies
2
XP
5,834
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
720
Trophies
0
Age
41
XP
2,801
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.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Veho @ Veho:
    Mkay.
  • Veho @ Veho:
    I just ordered another package from China just to spite you.
  • SylverReZ @ SylverReZ:
    Communism lol
  • SylverReZ @ SylverReZ:
    OUR products
  • The Real Jdbye @ The Real Jdbye:
    @LeoTCK actually good quality products are dying out because they can't compete with dropshipped chinese crap
    +2
  • BakerMan @ BakerMan:
    @LeoTCK is your partner the sascrotch or smth?
  • Xdqwerty @ Xdqwerty:
    Good morning
  • Xdqwerty @ Xdqwerty:
    Out of nowhere I got several scars on my forearm and part of my arm and it really itches.
  • AdRoz78 @ AdRoz78:
    Hey, I bought a modchip today and it says "New 2040plus" in the top left corner. Is this a legit chip or was I scammed?
  • Veho @ Veho:
    @AdRoz78 start a thread and post a photo of the chip.
    +2
  • Xdqwerty @ Xdqwerty:
    Yawn
  • S @ salazarcosplay:
    and good morning everyone
    +1
  • K3Nv2 @ K3Nv2:
    @BakerMan, his partner is Luke
  • Sicklyboy @ Sicklyboy:
    Sup nerds
    +1
  • Flame @ Flame:
    oh hi, Sickly
  • K3Nv2 @ K3Nv2:
    Oh hi flame
  • S @ salazarcosplay:
    @K3Nv2 what was your ps4 situation
  • S @ salazarcosplay:
    did you always have a ps4 you never updated
  • S @ salazarcosplay:
    or were you able to get new ps4 tracking it \
    as soon as the hack was announced
  • S @ salazarcosplay:
    or did you have to find a used one with the lower firm ware that was not updated
  • K3Nv2 @ K3Nv2:
    I got this ps4 at launch and never updated since 9.0
  • K3Nv2 @ K3Nv2:
    You got a good chance of buying a used one and asking the seller how often they used or even ask for a Pic of fw and telling them not to update
    K3Nv2 @ K3Nv2: You got a good chance of buying a used one and asking the seller how often they used or even ask...