Giter VIP home page Giter VIP logo

nitroswan's Introduction

NitroSwan V0.6.5

This is a Bandai WonderSwan (Color/Crystal) & Benesse PocketChallenge V2 emulator for the Nintendo DS(i)/3DS.

How to use

  1. Create a folder named "nitroswan" in either the root of your flash card or in the data folder. This is where settings and save files end up.
  2. Now put game/bios files into a folder where you have (WonderSwan) roms, max 768 files per folder, filenames must not be longer than 127 chars. You can use zip-files (as long as they use the deflate compression). CAUTION! Games that require SLOT-2 RAM can not be used with zip-files!
  3. Depending on your flashcart you might have to DLDI patch the emulator.

The save files should be compatible with most other WonderSwan emulators.

When the emulator starts, you can either press L+R or tap on the screen to open up the menu. Now you can use the cross or touchscreen to navigate the menus, A or double tap to select an option, B or the top of the screen to go back a step.

To select between the tabs use R & L or the touchscreen.

Hold Start while starting a game to enter the boot rom settings, the internal EEPROM is saved when saving settings.

Since the DS/DS Lite only has 4MB of RAM you will need a SLOT-2/GBA cart with RAM to play games larger than 2MB.

Menu

File

  • Load Game: Select a game to load.
  • Load State: Load a previously saved state of the currently running game.
  • Save State: Save a state of the currently running game.
  • Load NVRAM: Load non volatile ram (EEPROM/SRAM) for the currently running game.
  • Save NVRAM: Save non volatile ram (EEPROM/SRAM) for the currently running game.
  • Load Patch: Apply an IPS patch to the currectly loaded rom.
  • Save Settings: Save the current settings (and internal EEPROM).
  • Reset Game: Reset the currently running game.

Options

  • Controller:

    • Autofire: Select if you want autofire.
    • Controller: 2P start a 2 player game.
    • Swap A/B: Swap which NDS button is mapped to which WS button.
    • Alternate layout: See Controls.
  • Display:

    • Gamma: Lets you change the gamma ("brightness").
    • Contrast: Lets you change the contrast.
    • B&W Palette: Here you can select the palette for B & W games.
  • Machine:

    • Machine: Select the emulated machine.
    • Select WS Bios: Load a real WS Bios.
    • Select WS Color Bios: Load a real WS Color Bios.
    • Select WS Crystal Bios: Load a real WS Crystal Bios.
    • Import Internal EEPROM: Load a special internal EEPROM.
    • Clear Internal EEPROM: Reset internal EEPROM.
    • Headphones: Select whether heaphones are connected or not.
    • Cpu speed hacks: Allow speed hacks.
  • Settings:

    • Speed: Switch between speed modes.
      • Normal: Game runs at its normal speed.
      • 200%: Game runs at double speed.
      • Max: Games can run up to 4 times normal speed (might change).
      • 50%: Game runs at half speed.
    • Allow Refresh Change: Allow the Wonderswan to change NDS refresh rate.
    • Autoload State: Toggle Savestate autoloading. Automagically load the savestate associated with the selected game.
    • Autoload NVRAM: Toggle EEPROM/SRAM autoloading. Automagically load the EEPROM/SRAM associated with the selected game.
    • Autosave Settings: This will save settings when leaving menu if any changes are made.
    • Autopause Game: Toggle if the game should pause when opening the menu.
    • Powersave 2nd Screen: If graphics/light should be turned off for the GUI screen when menu is not active.
    • Emulator on Bottom: Select if top or bottom screen should be used for emulator, when menu is active emulator screen is allways on top.
    • Autosleep: Doesn't work.
  • Debug:

    • Debug Output: Show FPS and logged text.
    • Disable Foreground: Turn on/off foreground rendering.
    • Disable Background: Turn on/off background rendering.
    • Disable Sprites: Turn on/off sprite rendering.
    • Disable Windows: Turn on/off window effects.
    • Step Frame: Emulate one frame.

About

Some info about the emulator and game...

Controls

WonderSwan

Start is mapped to WS Start.
Select is mapped to WS Sound.
In horizontal games the d-pad is mapped to WS X1-X4. A & B buttons are mapped to WS A & B.
Holding L or R maps the dpad to WS Y1-Y4.

In vertical games the d-pad is mapped to WS Y1-Y4. A, B, X & Y are mapped to WS X1-X4.

In alternate layout it is the same as normal horizontal, except L, R, X & Y are
mapped to WS Y1-Y4. To open the menu use L+Select.

Pocket Challenge V2

Dpad is mapped to up, down, left & right.
L is mapped to Escape.
R & X is mapped to View.
A is mapped to Clear.
B is mapped to Circle.
Y is mapped to Pass.

Games

There are 3 games that I know of that has serious problems.

  • Beatmania: Game is too large even for the DSi. Can be used with a 16MB SLOT-2 card.
  • Chou Denki Card Game: You need to initialize NVRAM, this is the last item on the first page (初期化).
  • Mahjong Touryuumon, speed too fast.

There are a couple of games that have visual glitches.

  • Dicing Knight. shadows are in front of player.
  • Digimon - Anode Tamer & Cathode Tamer, missing background gradient in battles.
  • Final Fantasy, sprites show in dialog windows.
  • Final Lap 2000, incorrect road colors.
  • Final Lap Special - GT & Formula Machine, incorrect road colors.
  • From TV Animation One Piece - Grand Battle Swan Colosseum, incorrect sky color.
  • Makaimura, first boss sprites are glitchy, gargoyles in intro should not show up on the right.
  • Rockman & Forte - Mirai Kara no Chousensha, no background fade in intro.
  • Romancing Sa-Ga, sprites overlap text boxes.
  • Sorobang, needs all 1024 tiles in 4color mode.
  • WonderSwan Color BIOS, needs all 1024 tiles in 4color mode.

Credits

Huge thanks to Loopy for the incredible PocketNES, without it this emu would probably never have been made.
Thanks to:
Ed Mandy (Flavor) for WonderSwan info & flashcart. https://www.flashmasta.com
Koyote for WonderSwan info.
Alex Marshall (trap15) for WonderSwan info. http://daifukkat.su/docs/wsman/
Guy Perfect for WonderSwan info http://perfectkiosk.net/stsws.html
asie for info and inspiration.
Godzil for the boot rom stubs. https://github.com/Godzil/NewOswan
lidnariq for RTC info.
plasturion for some BnW palettes.
Dwedit for help and inspiration with a lot of things. https://www.dwedit.org

Fredrik Ahlström

X/Twitter @TheRealFluBBa

https://www.github.com/FluBBaOfWard

nitroswan's People

Contributors

flubbaofward avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

nitroswan's Issues

Rewrite cpu core in asm.

  1. Move variables to asm.
  2. Rewrite execution loop.
  3. Rewrite select opcodes.
    4. After all opcodes are asm, remove execution loop.

Image of console(s) on the menu screen.

Images of the 3 different console variants for the menu screen on the NDS.
Size is 256x192 but I guess the width is the limiting size here.
Preferably 16 colors.

Kurupara crashes.

Kurupara crashes at title screen because it enables LineCompareIRQ which is set to line 0.

Licensing?

I would highly suggest releasing your emulators under an open source license, if you're okay with it. Thank you so much for your work on all of these amazing projects!

Add banked SRAM emulation.

Add banked SRAM emulation for "Dicing Knight." & "Judgement Silversword Rebirth Edition".
Needs to be 256kB or 512kB?
Use NDS VRAM?

[Homebrew] Character bank issue in Atop The Witch's Tower WS

Game download, tested on NitroSwan 0.5.0.

To reproduce, start game, press START, then move in any direction to unpause the player. You will see a message box pop up with white text, whereas on Ares and real hardware the text is yellow.

From a programmer perspective, the difference that is being shown here is that the text is yellow if using tiles 512-767, and white if using tiles 0-255; that is, my suspicion is that there's an issue with the implementation of bit 13 (character bank) in the 2bpp color mode.

Fix controls for Pocket Challenge V2

WonderSwan PocketChallenge V2
y1 clear
y2 (always held)
y3 circle
y4 pass
x1 view
x2 (always held)
x3 escape
x4 rightLatch
(unconnected) leftLatch
start (always held)
a down
b up

"unconnected" means this bit in the control pad register is not wired to a physical button, so it's always 0 and cannot be pressed.

"always held" means this bit in the control pad register is not wired to a physical button, it's always 1 and cannot be un-pressed.

extensions: "pc2", "pcv2"

system: Benesse - Pocket Challenge V2

pass and clear
question: Which is on the left? which one is on the right?
answer: "pass→circle→clear"

image254

Tonpuusou not starting

After pressing start and selecting one of the three options the game freeze, though the music is still playing.

Add border to game screen.

Add border for game screen.
3 different version, one for each console variant?
game area is 224x144 centered on the NDS screen (eg 24pixels border on top and bottom, 16pixels border on both sides).
Might want to take LCD icons into consideration as well (8 pixels on the bottom for WonderSwan & 8 pixels on the right side for SW Color and Crystal).

touchscreen buttons

Press Select to display/hide virtual buttons
wonderswan: vertical, horizontal
pocket challenge v2

Add key mappings.

Add key mappings for Y1-Y4, both vertical and horizontal.
Add default key mappings for vertical games.
Automatically switch between horizontal and vertical key mappings.

[Feature Request] Fullscreen on n3DS XL

Emulator ist working great, even through my version (bundled into the ds-mode-thingie) seems ancient 0.4.1.

SaGa works great anf I don't mind the Text Box Bug, but I would love to disable the border art and use the full screen.😊

File is too large!

I've been using Mr. Flubba emulators so long since I got myself a Nintendo DS, and don't matter what I try to do, never managed to run ROMs above 2mb on nitroswan. There's a way to fix it? Or I am just being fool for doing something wrong and I didn't noticed yet? 😅
Thanks in advance and keep up the good job! 👍
Edit: it's regarding Makai Toushi SaGa original and English translation both ain't run without the "file too large!" message.

Greetings, D.Q

Handle palette change for each scan line.

Digimon - Anode Tamer & Cathode Tamer, missing background gradient in battles.
Final Lap 2000, incorrect road colors.
Final Lap Special - GT & Formula Machine, incorrect road colors.
From TV Animation One Piece - Grand Battle Swan Colosseum, incorrect sky color.
Rockman & Forte - Mirai Kara no Chousensha, no background fade in intro.

Ultraman crashes.

Ultraman crashes if watching through the whole intro before starting.

Magical Drop playfield flickers.

Playfield changes x position every other frame. Turning off HBlank interrupt stops the flickering but the playfield ends up in the wrong position.

Compile fails if following change is not applied

diff --git a/source/FileHandling.c b/source/FileHandling.c
index 9a7ef84..121577a 100644
--- a/source/FileHandling.c
+++ b/source/FileHandling.c
@@ -11,7 +11,7 @@
#include "Shared/EmuMenu.h"
#include "Shared/EmuSettings.h"
#include "Shared/FileHelper.h"
-#include "Shared/unzip/unzipnds.h"
+#include "Shared/Unzip/unzipnds.h"
#include "Shared/AsmExtra.h"
#include "Main.h"
#include "Gui.h"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.