/*! * Dialogs Manager v4.9.3 * https://github.com/kobizz/dialogs-manager * * Copyright Kobi Zaltzberg * Released under the MIT license * https://github.com/kobizz/dialogs-manager/blob/master/LICENSE.txt */ (function($, global) { 'use strict'; /* * Dialog Manager */ var DialogsManager = { widgetsTypes: {}, createWidgetType: function(typeName, properties, Parent) { if (!Parent) { Parent = this.Widget; } var WidgetType = function() { Parent.apply(this, arguments); }; var prototype = WidgetType.prototype = new Parent(typeName); prototype.types = prototype.types.concat([typeName]); $.extend(prototype, properties); prototype.constructor = WidgetType; WidgetType.extend = function(typeName, properties) { return DialogsManager.createWidgetType(typeName, properties, WidgetType); }; return WidgetType; }, addWidgetType: function(typeName, properties, Parent) { if (properties && properties.prototype instanceof this.Widget) { return this.widgetsTypes[typeName] = properties; } return this.widgetsTypes[typeName] = this.createWidgetType(typeName, properties, Parent); }, getWidgetType: function(widgetType) { return this.widgetsTypes[widgetType]; } }; /* * Dialog Manager instances constructor */ DialogsManager.Instance = function() { var self = this, elements = {}, settings = {}; var initElements = function() { elements.body = $('body'); }; var initSettings = function(options) { var defaultSettings = { classPrefix: 'dialog', effects: { show: 'fadeIn', hide: 'fadeOut' } }; $.extend(settings, defaultSettings, options); }; this.createWidget = function(widgetType, properties) { var WidgetTypeConstructor = DialogsManager.getWidgetType(widgetType), widget = new WidgetTypeConstructor(widgetType); properties = properties || {}; widget.init(self, properties); return widget; }; this.getSettings = function(property) { if (property) { return settings[property]; } return Object.create(settings); }; this.init = function(settings) { initSettings(settings); initElements(); return self; }; self.init(); }; /* * Widget types constructor */ DialogsManager.Widget = function(widgetName) { var self = this, settings = {}, events = {}, elements = {}, hideTimeOut = 0, baseClosureMethods = ['refreshPosition']; var bindEvents = function() { var windows = [elements.window]; if (elements.iframe) { windows.push(jQuery(elements.iframe[0].contentWindow)); } windows.forEach(function(window) { if (settings.hide.onEscKeyPress) { window.on('keyup', onWindowKeyUp); } if (settings.hide.onOutsideClick) { window[0].addEventListener('click', hideOnOutsideClick, true); } if (settings.hide.onOutsideContextMenu) { window[0].addEventListener('contextmenu', hideOnOutsideClick, true); } if (settings.position.autoRefresh) { window.on('resize', self.refreshPosition); } }); if (settings.hide.onClick || settings.hide.onBackgroundClick) { elements.widget.on('click', hideOnClick); } }; var callEffect = function(intent, params) { var effect = settings.effects[intent], $widget = elements.widget; if ('function' === typeof effect) { effect.apply($widget, params); } else { if ($widget[effect]) { $widget[effect].apply($widget, params); } else { throw 'Reference Error: The effect ' + effect + ' not found'; } } }; var ensureClosureMethods = function() { var closureMethodsNames = baseClosureMethods.concat(self.getClosureMethods()); $.each(closureMethodsNames, function() { var methodName = this, oldMethod = self[methodName]; self[methodName] = function() { oldMethod.apply(self, arguments); }; }); }; var fixIframePosition = function(position) { if (! position.my) { return; } var horizontalOffsetRegex = /left|right/, extraOffsetRegex = /([+-]\d+)?$/, iframeOffset = elements.iframe.offset(), iframeWindow = elements.iframe[0].contentWindow, myParts = position.my.split(' '), fixedParts = []; if (myParts.length === 1) { if (horizontalOffsetRegex.test(myParts[0])) { myParts.push('center'); } else { myParts.unshift('center'); } } myParts.forEach(function(part, index) { var fixedPart = part.replace(extraOffsetRegex, function(partOffset) { partOffset = +partOffset || 0; if (! index) { partOffset += iframeOffset.left - iframeWindow.scrollX; } else { partOffset += iframeOffset.top - iframeWindow.scrollY; } if (partOffset >= 0) { partOffset = '+' + partOffset; } return partOffset; }); fixedParts.push(fixedPart); }); position.my = fixedParts.join(' '); }; var hideOnClick = function(event) { if (isContextMenuClickEvent(event)) { return; } if (settings.hide.onClick) { if ($(event.target).closest(settings.selectors.preventClose).length) { return; } } else if (event.target !== this) { return; } self.hide(); }; var isIgnoredTarget = function(event) { if (! settings.hide.ignore) { return false; } return !! $(event.target).closest(settings.hide.ignore).length; }; var hideOnOutsideClick = function(event) { if (isContextMenuClickEvent(event) || $(event.target).closest(elements.widget).length || isIgnoredTarget(event)) { return; } self.hide(); }; var initElements = function() { self.addElement('widget'); self.addElement('header'); self.addElement('message'); self.addElement('window', window); self.addElement('body', document.body); self.addElement('container', settings.container); if (settings.iframe) { self.addElement('iframe', settings.iframe); } if (settings.closeButton) { if ( settings.closeButtonClass ) { // Backwards compatibility settings.closeButtonOptions.iconClass = settings.closeButtonClass; } const $button = $('', settings.closeButtonOptions.attributes), $buttonIcon = $(settings.closeButtonOptions.iconElement).addClass(settings.closeButtonOptions.iconClass); $button.append($buttonIcon); self.addElement('closeButton', $button); } var id = self.getSettings('id'); if (id) { self.setID(id); } var classes = []; $.each(self.types, function() { classes.push(settings.classes.globalPrefix + '-type-' + this); }); classes.push(self.getSettings('className')); elements.widget .addClass(classes.join(' ')) .attr({ 'aria-modal': true, 'role': 'document', 'tabindex': 0, }); }; var initSettings = function(parent, userSettings) { var parentSettings = $.extend(true, {}, parent.getSettings()); settings = { headerMessage: '', message: '', effects: parentSettings.effects, classes: { globalPrefix: parentSettings.classPrefix, prefix: parentSettings.classPrefix + '-' + widgetName, preventScroll: parentSettings.classPrefix + '-prevent-scroll', }, selectors: { preventClose: '.' + parentSettings.classPrefix + '-prevent-close', }, container: 'body', preventScroll: false, iframe: null, closeButton: false, closeButtonOptions: { iconClass: parentSettings.classPrefix + '-close-button-icon', attributes: { role: 'button', 'tabindex': 0, 'aria-label': 'Close', href: '#', }, iconElement: '', }, position: { element: 'widget', my: 'center', at: 'center', enable: true, autoRefresh: false, }, hide: { auto: false, autoDelay: 5000, onClick: false, onOutsideClick: true, onOutsideContextMenu: false, onBackgroundClick: true, onEscKeyPress: true, ignore: '', }, }; $.extend(true, settings, self.getDefaultSettings(), userSettings); initSettingsEvents(); }; var initSettingsEvents = function() { $.each(settings, function(settingKey) { var eventName = settingKey.match(/^on([A-Z].*)/); if (!eventName) { return; } eventName = eventName[1].charAt(0).toLowerCase() + eventName[1].slice(1); self.on(eventName, this); }); }; var isContextMenuClickEvent = function(event) { // Firefox fires `click` event on every `contextmenu` event. return event.type === 'click' && event.button === 2; }; var normalizeClassName = function(name) { return name.replace(/([a-z])([A-Z])/g, function() { return arguments[1] + '-' + arguments[2].toLowerCase(); }); }; var onWindowKeyUp = function(event) { var ESC_KEY = 27, keyCode = event.which; if (ESC_KEY === keyCode) { self.hide(); } }; var unbindEvents = function() { var windows = [elements.window]; if (elements.iframe) { windows.push(jQuery(elements.iframe[0].contentWindow)); } windows.forEach(function(window) { if (settings.hide.onEscKeyPress) { window.off('keyup', onWindowKeyUp); } if (settings.hide.onOutsideClick) { window[0].removeEventListener('click', hideOnOutsideClick, true); } if (settings.hide.onOutsideContextMenu) { window[0].removeEventListener('contextmenu', hideOnOutsideClick, true); } if (settings.position.autoRefresh) { window.off('resize', self.refreshPosition); } }); if (settings.hide.onClick || settings.hide.onBackgroundClick) { elements.widget.off('click', hideOnClick); } }; this.addElement = function(name, element, classes) { var $newElement = elements[name] = $(element || '
'), normalizedName = normalizeClassName(name); classes = classes ? classes + ' ' : ''; classes += settings.classes.globalPrefix + '-' + normalizedName; classes += ' ' + settings.classes.prefix + '-' + normalizedName; $newElement.addClass(classes); return $newElement; }; this.destroy = function() { unbindEvents(); elements.widget.remove(); self.trigger('destroy'); return self; }; this.getElements = function(item) { return item ? elements[item] : elements; }; this.getSettings = function(setting) { var copy = Object.create(settings); if (setting) { return copy[setting]; } return copy; }; this.hide = function() { if (! self.isVisible()) { return; } clearTimeout(hideTimeOut); callEffect('hide', arguments); unbindEvents(); if (settings.preventScroll) { self.getElements('body').removeClass(settings.classes.preventScroll); } self.trigger('hide'); return self; }; this.init = function(parent, properties) { if (!(parent instanceof DialogsManager.Instance)) { throw 'The ' + self.widgetName + ' must to be initialized from an instance of DialogsManager.Instance'; } ensureClosureMethods(); self.trigger('init', properties); initSettings(parent, properties); initElements(); self.buildWidget(); self.attachEvents(); self.trigger('ready'); return self; }; this.isVisible = function() { return elements.widget.is(':visible'); }; this.on = function(eventName, callback) { if ('object' === typeof eventName) { $.each(eventName, function(singleEventName) { self.on(singleEventName, this); }); return self; } var eventNames = eventName.split(' '); eventNames.forEach(function(singleEventName) { if (!events[singleEventName]) { events[singleEventName] = []; } events[singleEventName].push(callback); }); return self; }; this.off = function(eventName, callback) { if (! events[ eventName ]) { return self; } if (! callback) { delete events[eventName]; return self; } var callbackIndex = events[eventName].indexOf(callback); if (-1 !== callbackIndex) { events[eventName].splice(callbackIndex, 1); } return self; }; this.refreshPosition = function() { if (! settings.position.enable) { return; } var position = $.extend({}, settings.position); if (elements[position.of]) { position.of = elements[position.of]; } if (! position.of) { position.of = window; } if (settings.iframe) { fixIframePosition(position); } elements[position.element].position(position); }; this.setID = function(id) { elements.widget.attr('id', id); return self; }; this.setHeaderMessage = function(message) { self.getElements('header').html(message); return self; }; this.setMessage = function(message) { elements.message.html(message); return self; }; this.setSettings = function(key, value) { if (jQuery.isPlainObject(value)) { $.extend(true, settings[key], value); } else { settings[key] = value; } return self; }; this.show = function() { clearTimeout(hideTimeOut); elements.widget.appendTo(elements.container).hide(); callEffect('show', arguments); self.refreshPosition(); if (settings.hide.auto) { hideTimeOut = setTimeout(self.hide, settings.hide.autoDelay); } bindEvents(); if (settings.preventScroll) { self.getElements('body').addClass(settings.classes.preventScroll); } self.trigger('show'); return self; }; this.trigger = function(eventName, params) { var methodName = 'on' + eventName[0].toUpperCase() + eventName.slice(1); if (self[methodName]) { self[methodName](params); } var callbacks = events[eventName]; if (!callbacks) { return; } $.each(callbacks, function(index, callback) { callback.call(self, params); }); return self; }; }; DialogsManager.Widget.prototype.types = []; // Inheritable widget methods DialogsManager.Widget.prototype.buildWidget = function() { var elements = this.getElements(), settings = this.getSettings(); elements.widget.append(elements.header, elements.message); this.setHeaderMessage(settings.headerMessage); this.setMessage(settings.message); if (this.getSettings('closeButton')) { elements.widget.prepend(elements.closeButton); } }; DialogsManager.Widget.prototype.attachEvents = function() { var self = this; if (self.getSettings('closeButton')) { self.getElements('closeButton').on('click', function(event) { event.preventDefault(); self.hide(); }); } }; DialogsManager.Widget.prototype.getDefaultSettings = function() { return {}; }; DialogsManager.Widget.prototype.getClosureMethods = function() { return []; }; DialogsManager.Widget.prototype.onHide = function() { }; DialogsManager.Widget.prototype.onShow = function() { }; DialogsManager.Widget.prototype.onInit = function() { }; DialogsManager.Widget.prototype.onReady = function() { }; DialogsManager.widgetsTypes.simple = DialogsManager.Widget; DialogsManager.addWidgetType('buttons', { activeKeyUp: function(event) { var TAB_KEY = 9; if (event.which === TAB_KEY) { event.preventDefault(); } if (this.hotKeys[event.which]) { this.hotKeys[event.which](this); } }, activeKeyDown: function(event) { if (!this.focusedButton) { return; } var TAB_KEY = 9; if (event.which === TAB_KEY) { event.preventDefault(); var currentButtonIndex = this.focusedButton.index(), nextButtonIndex; if (event.shiftKey) { nextButtonIndex = currentButtonIndex - 1; if (nextButtonIndex < 0) { nextButtonIndex = this.buttons.length - 1; } } else { nextButtonIndex = currentButtonIndex + 1; if (nextButtonIndex >= this.buttons.length) { nextButtonIndex = 0; } } this.focusedButton = this.buttons[nextButtonIndex].trigger('focus'); } }, addButton: function(options) { var self = this, settings = self.getSettings(), buttonSettings = jQuery.extend(settings.button, options); var classes = options.classes ? options.classes + ' ' : ''; classes += settings.classes.globalPrefix + '-button'; var $button = self.addElement(options.name, $('<' + buttonSettings.tag + '>').html(options.text), classes); self.buttons.push($button); var buttonFn = function() { if (settings.hide.onButtonClick) { self.hide(); } if ('function' === typeof options.callback) { options.callback.call(this, self); } }; $button.on('click', buttonFn); if (options.hotKey) { this.hotKeys[options.hotKey] = buttonFn; } this.getElements('buttonsWrapper').append($button); if (options.focus) { this.focusedButton = $button; } return self; }, bindHotKeys: function() { this.getElements('window').on({ keyup: this.activeKeyUp, keydown: this.activeKeyDown }); }, buildWidget: function() { DialogsManager.Widget.prototype.buildWidget.apply(this, arguments); var $buttonsWrapper = this.addElement('buttonsWrapper'); this.getElements('widget').append($buttonsWrapper); }, getClosureMethods: function() { return [ 'activeKeyUp', 'activeKeyDown' ]; }, getDefaultSettings: function() { return { hide: { onButtonClick: true }, button: { tag: 'button' } }; }, onHide: function() { this.unbindHotKeys(); }, onInit: function() { this.buttons = []; this.hotKeys = {}; this.focusedButton = null; }, onShow: function() { this.bindHotKeys(); if (!this.focusedButton) { this.focusedButton = this.buttons[0]; } if (this.focusedButton) { this.focusedButton.trigger('focus'); } }, unbindHotKeys: function() { this.getElements('window').off({ keyup: this.activeKeyUp, keydown: this.activeKeyDown }); } }); DialogsManager.addWidgetType('lightbox', DialogsManager.getWidgetType('buttons').extend('lightbox', { getDefaultSettings: function() { var settings = DialogsManager.getWidgetType('buttons').prototype.getDefaultSettings.apply(this, arguments); return $.extend(true, settings, { contentWidth: 'auto', contentHeight: 'auto', position: { element: 'widgetContent', of: 'widget', autoRefresh: true } }); }, buildWidget: function() { DialogsManager.getWidgetType('buttons').prototype.buildWidget.apply(this, arguments); var $widgetContent = this.addElement('widgetContent'), elements = this.getElements(); $widgetContent.append(elements.header, elements.message, elements.buttonsWrapper); elements.widget.html($widgetContent); if (elements.closeButton) { $widgetContent.prepend(elements.closeButton); } }, onReady: function() { var elements = this.getElements(), settings = this.getSettings(); if ('auto' !== settings.contentWidth) { elements.message.width(settings.contentWidth); } if ('auto' !== settings.contentHeight) { elements.message.height(settings.contentHeight); } } })); DialogsManager.addWidgetType('confirm', DialogsManager.getWidgetType('lightbox').extend('confirm', { onReady: function() { DialogsManager.getWidgetType('lightbox').prototype.onReady.apply(this, arguments); var strings = this.getSettings('strings'), isDefaultCancel = this.getSettings('defaultOption') === 'cancel'; this.addButton({ name: 'cancel', text: strings.cancel, callback: function(widget) { widget.trigger('cancel'); }, focus: isDefaultCancel }); this.addButton({ name: 'ok', text: strings.confirm, callback: function(widget) { widget.trigger('confirm'); }, focus: !isDefaultCancel }); }, getDefaultSettings: function() { var settings = DialogsManager.getWidgetType('lightbox').prototype.getDefaultSettings.apply(this, arguments); settings.strings = { confirm: 'OK', cancel: 'Cancel' }; settings.defaultOption = 'cancel'; return settings; } })); DialogsManager.addWidgetType('alert', DialogsManager.getWidgetType('lightbox').extend('alert', { onReady: function() { DialogsManager.getWidgetType('lightbox').prototype.onReady.apply(this, arguments); var strings = this.getSettings('strings'); this.addButton({ name: 'ok', text: strings.confirm, callback: function(widget) { widget.trigger('confirm'); } }); }, getDefaultSettings: function() { var settings = DialogsManager.getWidgetType('lightbox').prototype.getDefaultSettings.apply(this, arguments); settings.strings = { confirm: 'OK' }; return settings; } })); // Exporting the DialogsManager variable to global global.DialogsManager = DialogsManager; })( typeof jQuery !== 'undefined' ? jQuery : typeof require === 'function' && require('jquery'), (typeof module !== 'undefined' && typeof module.exports !== 'undefined') ? module.exports : window ); {"id":7380,"date":"2023-05-13T12:21:27","date_gmt":"2023-05-13T12:21:27","guid":{"rendered":"https:\/\/weeklypostgazette.com\/?p=7380"},"modified":"2023-05-13T12:21:27","modified_gmt":"2023-05-13T12:21:27","slug":"how-to-play-your-favorite-nintendo-ds-games-on-pc","status":"publish","type":"post","link":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/","title":{"rendered":"How to Play Your Favorite Nintendo DS Games on PC"},"content":{"rendered":"

Are you a fan of classic Nintendo DS games but don’t have the console anymore? Or do you simply prefer playing games on your PC? Don’t worry; you can still enjoy your favorite Nintendo DS games by using an emulator. Here are some of the best Nintendo DS emulators that you can use to play your favorite games on your PC.<\/p>\n

Desmume Emulator<\/h2>\n

Desmume is one of the most popular Nintendo DS emulators<\/a> out there. It is an open-source emulator that is compatible with Windows, Mac, and Linux operating systems. It offers various features such as save states, cheat support, and customizable controls. Desmume is user-friendly and has a high compatibility rate with most DS games.<\/p>\n

MelonDS Emulator<\/h2>\n

MelonDS is another great emulator for playing Nintendo DS games on your PC. It is also an open-source emulator that offers features such as save states, cheat support, and multiple language support. MelonDS is known for its high performance and accuracy, which makes it a favorite among gamers.<\/p>\n

OpenEmu Emulator<\/h2>\n

OpenEmu is a multi-console emulator that supports various platforms such as Nintendo DS, Game Boy Advance, and many others. It offers a user-friendly interface and a wide range of features such as save states, cheat support, and customizable controls. OpenEmu is compatible with Mac operating systems only.<\/p>\n

RetroArch Emulator<\/h2>\n

RetroArch is an all-in-one emulator that supports various platforms such as Nintendo DS, Game Boy Advance, and many others. It offers features such as save states, cheat support, and customizable controls. RetroArch is compatible with Windows, Mac, and Linux operating systems.<\/p>\n

Conclusion<\/h3>\n

These are some of the best Nintendo DS emulators that you can use to play your favorite games on your PC. Each emulator offers unique features, so choose the one that best suits your needs. With the help of an emulator, you can relive your childhood memories and enjoy playing your favorite Nintendo DS games on your PC.<\/p>\n","protected":false},"excerpt":{"rendered":"

Are you a fan of classic Nintendo DS games but don’t have the console anymore? Or do you simply prefer playing games on your PC? Don’t worry; you can still enjoy your favorite Nintendo DS games by using an emulator. Here are some of the best Nintendo DS emulators that you can use to play […]<\/p>\n","protected":false},"author":2,"featured_media":7381,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,13,22,31],"tags":[4059,4056,4060,4058,4061,4057],"class_list":["post-7380","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-game","category-gaming","category-news","category-technology","tag-best-nintendo-ds-emulator","tag-nintendo-ds-emulator","tag-nintendo-ds-emulator-android","tag-nintendo-ds-emulator-ios","tag-nintendo-ds-emulator-mac","tag-nintendo-ds-emulator-pc"],"yoast_head":"\nHow to Play Your Favorite Nintendo DS Games on PC<\/title>\n<meta name=\"description\" content=\"These are some of the best Nintendo DS emulators that you can use to play your favorite games on your PC. Each emulator offers unique feature\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Play Your Favorite Nintendo DS Games on PC\" \/>\n<meta property=\"og:description\" content=\"These are some of the best Nintendo DS emulators that you can use to play your favorite games on your PC. Each emulator offers unique feature\" \/>\n<meta property=\"og:url\" content=\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/\" \/>\n<meta property=\"og:site_name\" content=\"Weekly Post Gazette\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-13T12:21:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/How-to-Play-Your-Favorite-Nintendo-DS-Games-on-PC.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"alvina aly\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"alvina aly\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/\"},\"author\":{\"name\":\"alvina aly\",\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/person\/3afbee783b25021574f5b216f2dc4b2d\"},\"headline\":\"How to Play Your Favorite Nintendo DS Games on PC\",\"datePublished\":\"2023-05-13T12:21:27+00:00\",\"dateModified\":\"2023-05-13T12:21:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/\"},\"wordCount\":327,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/weeklypostgazette.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/How-to-Play-Your-Favorite-Nintendo-DS-Games-on-PC.jpg\",\"keywords\":[\"best nintendo ds emulator\",\"nintendo ds emulator\",\"nintendo ds emulator android\",\"nintendo ds emulator ios\",\"nintendo ds emulator mac\",\"nintendo ds emulator pc\"],\"articleSection\":[\"Game\",\"Gaming\",\"News\",\"Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/\",\"url\":\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/\",\"name\":\"How to Play Your Favorite Nintendo DS Games on PC\",\"isPartOf\":{\"@id\":\"https:\/\/weeklypostgazette.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/How-to-Play-Your-Favorite-Nintendo-DS-Games-on-PC.jpg\",\"datePublished\":\"2023-05-13T12:21:27+00:00\",\"dateModified\":\"2023-05-13T12:21:27+00:00\",\"description\":\"These are some of the best Nintendo DS emulators that you can use to play your favorite games on your PC. Each emulator offers unique feature\",\"breadcrumb\":{\"@id\":\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#primaryimage\",\"url\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/How-to-Play-Your-Favorite-Nintendo-DS-Games-on-PC.jpg\",\"contentUrl\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/How-to-Play-Your-Favorite-Nintendo-DS-Games-on-PC.jpg\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/weeklypostgazette.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Play Your Favorite Nintendo DS Games on PC\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/weeklypostgazette.com\/#website\",\"url\":\"https:\/\/weeklypostgazette.com\/\",\"name\":\"Weekly Post Gazette\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/weeklypostgazette.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/weeklypostgazette.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/weeklypostgazette.com\/#organization\",\"name\":\"Weekly Post Gazette\",\"url\":\"https:\/\/weeklypostgazette.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/weekly-post-gazette-logo.png\",\"contentUrl\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/weekly-post-gazette-logo.png\",\"width\":170,\"height\":45,\"caption\":\"Weekly Post Gazette\"},\"image\":{\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/person\/3afbee783b25021574f5b216f2dc4b2d\",\"name\":\"alvina aly\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/650c85462aa1167b92dd7a3af340f9cd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/650c85462aa1167b92dd7a3af340f9cd?s=96&d=mm&r=g\",\"caption\":\"alvina aly\"},\"sameAs\":[\"https:\/\/weeklypostgazette.com\/\"],\"url\":\"https:\/\/weeklypostgazette.com\/author\/alvina\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Play Your Favorite Nintendo DS Games on PC","description":"These are some of the best Nintendo DS emulators that you can use to play your favorite games on your PC. Each emulator offers unique feature","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/","og_locale":"en_US","og_type":"article","og_title":"How to Play Your Favorite Nintendo DS Games on PC","og_description":"These are some of the best Nintendo DS emulators that you can use to play your favorite games on your PC. Each emulator offers unique feature","og_url":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/","og_site_name":"Weekly Post Gazette","article_published_time":"2023-05-13T12:21:27+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/How-to-Play-Your-Favorite-Nintendo-DS-Games-on-PC.jpg","type":"image\/jpeg"}],"author":"alvina aly","twitter_card":"summary_large_image","twitter_misc":{"Written by":"alvina aly","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#article","isPartOf":{"@id":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/"},"author":{"name":"alvina aly","@id":"https:\/\/weeklypostgazette.com\/#\/schema\/person\/3afbee783b25021574f5b216f2dc4b2d"},"headline":"How to Play Your Favorite Nintendo DS Games on PC","datePublished":"2023-05-13T12:21:27+00:00","dateModified":"2023-05-13T12:21:27+00:00","mainEntityOfPage":{"@id":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/"},"wordCount":327,"commentCount":0,"publisher":{"@id":"https:\/\/weeklypostgazette.com\/#organization"},"image":{"@id":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#primaryimage"},"thumbnailUrl":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/How-to-Play-Your-Favorite-Nintendo-DS-Games-on-PC.jpg","keywords":["best nintendo ds emulator","nintendo ds emulator","nintendo ds emulator android","nintendo ds emulator ios","nintendo ds emulator mac","nintendo ds emulator pc"],"articleSection":["Game","Gaming","News","Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/","url":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/","name":"How to Play Your Favorite Nintendo DS Games on PC","isPartOf":{"@id":"https:\/\/weeklypostgazette.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#primaryimage"},"image":{"@id":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#primaryimage"},"thumbnailUrl":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/How-to-Play-Your-Favorite-Nintendo-DS-Games-on-PC.jpg","datePublished":"2023-05-13T12:21:27+00:00","dateModified":"2023-05-13T12:21:27+00:00","description":"These are some of the best Nintendo DS emulators that you can use to play your favorite games on your PC. Each emulator offers unique feature","breadcrumb":{"@id":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#primaryimage","url":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/How-to-Play-Your-Favorite-Nintendo-DS-Games-on-PC.jpg","contentUrl":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/How-to-Play-Your-Favorite-Nintendo-DS-Games-on-PC.jpg","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/weeklypostgazette.com\/how-to-play-your-favorite-nintendo-ds-games-on-pc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/weeklypostgazette.com\/"},{"@type":"ListItem","position":2,"name":"How to Play Your Favorite Nintendo DS Games on PC"}]},{"@type":"WebSite","@id":"https:\/\/weeklypostgazette.com\/#website","url":"https:\/\/weeklypostgazette.com\/","name":"Weekly Post Gazette","description":"","publisher":{"@id":"https:\/\/weeklypostgazette.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/weeklypostgazette.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/weeklypostgazette.com\/#organization","name":"Weekly Post Gazette","url":"https:\/\/weeklypostgazette.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/weeklypostgazette.com\/#\/schema\/logo\/image\/","url":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/weekly-post-gazette-logo.png","contentUrl":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/weekly-post-gazette-logo.png","width":170,"height":45,"caption":"Weekly Post Gazette"},"image":{"@id":"https:\/\/weeklypostgazette.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/weeklypostgazette.com\/#\/schema\/person\/3afbee783b25021574f5b216f2dc4b2d","name":"alvina aly","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/weeklypostgazette.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/650c85462aa1167b92dd7a3af340f9cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/650c85462aa1167b92dd7a3af340f9cd?s=96&d=mm&r=g","caption":"alvina aly"},"sameAs":["https:\/\/weeklypostgazette.com\/"],"url":"https:\/\/weeklypostgazette.com\/author\/alvina\/"}]}},"_links":{"self":[{"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/posts\/7380"}],"collection":[{"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/comments?post=7380"}],"version-history":[{"count":0,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/posts\/7380\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/media\/7381"}],"wp:attachment":[{"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/media?parent=7380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/categories?post=7380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/tags?post=7380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}