More actions
No edit summary |
|||
(20 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
|description=WonderSwan emulator for Nintendo DS. | |description=WonderSwan emulator for Nintendo DS. | ||
|author=Fredrik Ahlström (FluBBa) | |author=Fredrik Ahlström (FluBBa) | ||
|lastupdated= | |lastupdated=2024/09/19 | ||
|type=Handheld | |type=Handheld | ||
|version=0. | |version=0.6.6 | ||
|license=Mixed | |license=Mixed | ||
|download=https://dlhb.gamebrew.org/ | |download=https://dlhb.gamebrew.org/dshomebrew2/nitroswan.7z | ||
|website=https://github.com/FluBBaOfWard/NitroSwan | |website=https://github.com/FluBBaOfWard/NitroSwan | ||
|source=https://github.com/FluBBaOfWard/NitroSwan | |source=https://github.com/FluBBaOfWard/NitroSwan | ||
Line 18: | Line 18: | ||
Next put your games and bios files into a folder (stub version for the bootrom will be used if that is not found). | Next put your games and bios files into a folder (stub version for the bootrom will be used if that is not found). | ||
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: SLOT-2 RAM can not be used with zip-files. | |||
Depending on your flashcart you might have to [[DLDI]] patch the emulator. | Depending on your flashcart you might have to [[DLDI]] patch the emulator. | ||
Line 26: | Line 28: | ||
===Menu=== | ===Menu=== | ||
'''File:''' | '''File:''' | ||
* Load Game - Select a game to load. | * Load Game- Select a game to load. | ||
* Load State - Load a previously saved state of the currently running game. | * Load State - Load a previously saved state of the currently running game. | ||
* Save State - Save a 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 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 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). | * Save Settings - Save the current settings (and internal EEPROM). | ||
* Reset Game - Reset the currently running game. | * Reset Game - Reset the currently running game. | ||
Line 39: | Line 42: | ||
* Controller - 2P start a 2 player game. | * Controller - 2P start a 2 player game. | ||
* Swap A/B - Swap which NDS button is mapped to which WS button. | * Swap A/B - Swap which NDS button is mapped to which WS button. | ||
* Alternate layout - See Controls. | |||
'''Display:''' | '''Display:''' | ||
Line 56: | Line 60: | ||
'''Settings:''' | '''Settings:''' | ||
* Speed - Switch between speed modes | * Speed - Switch between speed modes (Normal, 200%, 50%, Max). | ||
* Allow Refresh Change - Allow the Wonderswan to change NDS refresh rate. | |||
* | |||
* Autoload State - Toggle Savestate autoloading. Automagically load the savestate associated with the current game. | * Autoload State - Toggle Savestate autoloading. Automagically load the savestate associated with the current game. | ||
* Autoload NVRAM - Toggle EEPROM/SRAM autoloading. Automagically load the EEPROM/SRAM associated with the current game. | * Autoload NVRAM - Toggle EEPROM/SRAM autoloading. Automagically load the EEPROM/SRAM associated with the current game. | ||
Line 77: | Line 78: | ||
==Controls== | ==Controls== | ||
L+Select - Open menu | |||
Start - WS Start | Start - WS Start | ||
Line 94: | Line 97: | ||
A/B/X/Y - WS X1-X4 | A/B/X/Y - WS X1-X4 | ||
'''Alternate layout:''' | |||
D-Pad - WS X1-X4 | |||
A/B - WS A/B | |||
L/R/X/Y - Maps to WS Y1-Y4 | |||
'''Pocket Challenge V2:''' | |||
D-Pad - Up/Down/Left/Right | |||
L - Escape | |||
R/X - View | |||
A - Clear | |||
B - Circle | |||
Y - Pass | |||
==Media== | ==Media== | ||
'''NitroSwan ( | '''Testing NitroSwan DS V0.5.2 - 2023 Update (Wonderswan Emulator for Nintendo DS / 3DS)''' ([https://www.youtube.com/watch?v=ljKEa36KJgQ Mr^Burns - Obscure Games & Software Tester]) <br> | ||
<youtube> | <youtube>ljKEa36KJgQ</youtube> | ||
==Known issues== | ==Known issues== | ||
Please see https://github.com/FluBBaOfWard/NitroSwan/blob/main/README.md#games | |||
==Changelog== | |||
'''V0.6.6 2024/09/19''' | |||
* Added some support for WonderWitch. | |||
* Added saving of machine setting. | |||
* Added SwanCrystal border. | |||
* Fixed LCD icons palette when switching machine. | |||
* Fixed some small bugs in the DMA. | |||
* Fixed cpu prefix handling. | |||
* Optimized some opcodes. | |||
'''V0.6.5 2024/07/25''' | |||
* Added saving of joypad layout. | |||
* Added extra RAM on 3DS. | |||
* Fixed cache bug in tile map rendering. | |||
* Fixed repeating sound DMA. | |||
* Fixed HyperVoice scaling/mode. | |||
* Fixed EEPROM handling a bit. | |||
* Fixed Quit Emulator when started from TWiLight. | |||
'''V0.6.4 2023/10/25''' | |||
* Added alternate joypad layout. | |||
* Fixed unsigned mul on ASWAN. | |||
* Fixed immediate mul. | |||
* Fixed 32/16 division. | |||
* Fixed IO register differences between mono/color mode. | |||
* Optimized 16-bit signed mul. | |||
'''V0.6.3 2023/09/24''' | |||
* Fixed value of SP when running without boot rom. | |||
* Fixed boot rom behavior for PCV2. | |||
* Fixed SLOT-2 RAM support for EZ-Flash 3-In-1. | |||
* Optimized IO port writing. | |||
* Optimized some opcodes. | |||
* Tweaked EEPROM handling. | |||
'''V0.6.2 2023/09/03''' | |||
* Added SLOT-2 RAM support. | |||
* Added IPS patch functionality. | |||
* Added power on/off ability. | |||
* Fixed correct frame-rate without "Allow Refresh Change". | |||
* Fixed sound mixing. | |||
* Optimized mapper writing. | |||
'''V0.6.0 2023/08/05''' | |||
* Added per line emulation of Display Control register. | |||
* Added per line emulation of FG Window register. | |||
* Added per line emulation of Map Address register. | |||
* Added differences for the 2 cart mappers. | |||
* Optimized tile map rendering. | |||
* Optimized cpu core. | |||
'''V0.5.2 2023/04/22''' | |||
* Fixed controls for PCV2. | |||
* Fixed WS sound levels. | |||
* Fixed WS sound icon. | |||
* Fixed save state. | |||
* Added more BnW palettes. | |||
'''V0.5.1 2023/03/10''' | |||
* Fixed noise calculation. | |||
* Fixed BnW palettes. | |||
* Added setting for border. | |||
'''V0.5.0 2023/03/01''' | |||
* Fixed reset of mapper registers. | |||
* Fixed loading of roms that are not power of 2. | |||
* Fixed timing of several opcodes. | |||
* Fixed timing of interrupts. | |||
* Fixed timing of address calculations. | |||
* Fixed some cpu opcodes. | |||
* Fixed interrupt handling. | |||
* Fixed timers. | |||
* Fixed sweep on sound channel 3. | |||
* Fixed noise feedback selection. | |||
* Fixed sound sample playback. | |||
* Optimized cpu core a bit. | |||
* Added support for serial port interrupts. | |||
* Added support for battery low. | |||
* Added new debug menu. | |||
* Linked NDS battery to WS battery. | |||
* Better menu traversing. | |||
'''V0.4.1 2022/08/15''' | |||
* Fixed background for PCV2 mode. | |||
* WS refresh rate can control NDS refresh rate. | |||
'''V0.4.0 2022/08/11''' | |||
''' | |||
* Fixed flag calculation for most opcodes. | * Fixed flag calculation for most opcodes. | ||
* Fixed emulation of undefined opcodes. | * Fixed emulation of undefined opcodes. | ||
Line 114: | Line 219: | ||
* Mute Ch2 when playing samples. | * Mute Ch2 when playing samples. | ||
''' | '''V0.3.6 2022/04/20''' | ||
* Fixed sound DMA a bit. | * Fixed sound DMA a bit. | ||
* Added savestates. | * Added savestates. | ||
* Added sound button (Select). | * Added sound button (Select). | ||
''' | '''V0.3.5 2022/03/09''' | ||
* Added RTC emulation. | * Added RTC emulation. | ||
* Added a border to emu screen. | * Added a border to emu screen. | ||
Line 126: | Line 231: | ||
* Optimized PC/IP handling in cpu core. | * Optimized PC/IP handling in cpu core. | ||
''' | '''V0.3.0 2022/02/10''' | ||
* Added banked SRAM emulation. | * Added banked SRAM emulation. | ||
* Fixed zip decompression buffer size. | * Fixed zip decompression buffer size. | ||
Line 134: | Line 239: | ||
* Optimized opcodes. | * Optimized opcodes. | ||
''' | '''V0.2.0 2022/01/20''' | ||
* Completed the rewrite of the cpu core in ARM asm. | * Completed the rewrite of the cpu core in ARM asm. | ||
Line 173: | Line 278: | ||
* GitHub - https://github.com/FluBBaOfWard/NitroSwan | * GitHub - https://github.com/FluBBaOfWard/NitroSwan | ||
* GBAtemp - https://gbatemp.net/threads/nitroswan-a-wonderswan-emulator-for-nds.604718 | * GBAtemp - https://gbatemp.net/threads/nitroswan-a-wonderswan-emulator-for-nds.604718 | ||
Latest revision as of 01:56, 22 September 2024
NitroSwan DS | |
---|---|
General | |
Author | Fredrik Ahlström (FluBBa) |
Type | Handheld |
Version | 0.6.6 |
License | Mixed |
Last Updated | 2024/09/19 |
Links | |
Download | |
Website | |
Source | |
This is a Bandai WonderSwan (Color/Crystal) & PocketChallenge V2 emulator for the Nintendo DS.
Installation
Create a folder named nitroswan in either the root of your flash card or in the data folder. This is where the settings and save files are stored.
Next put your games and bios files into a folder (stub version for the bootrom will be used if that is not found).
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: SLOT-2 RAM can not be used with zip-files.
Depending on your flashcart you might have to DLDI patch the emulator.
The save files should be compatible with most other WonderSwan emulators.
User guide
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:
- Mono Palette - Here you can select the palette for B & W games.
- Gamma - Lets you change the gamma ("brightness").
Machine Settings:
- 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.
- Cpu speed hacks - Allow speed hacks.
- Change Battery - Change to a new main battery (AA/LR6).
- Language - Japanese and English.
Settings:
- Speed - Switch between speed modes (Normal, 200%, 50%, Max).
- Allow Refresh Change - Allow the Wonderswan to change NDS refresh rate.
- Autoload State - Toggle Savestate autoloading. Automagically load the savestate associated with the current game.
- Autoload NVRAM - Toggle EEPROM/SRAM autoloading. Automagically load the EEPROM/SRAM associated with the current 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.
- Step Frame - Emulate one frame.
Controls
L+Select - Open menu
Start - WS Start
Select - WS Sound
In horizontal games:
D-Pad - WS X1-X4
A/B - WS A/B
Holding L+D-Pad - Maps the D-Pad to WS Y1-Y4
In vertical games:
D-Pad - WS Y1-Y4
A/B/X/Y - WS X1-X4
Alternate layout:
D-Pad - WS X1-X4
A/B - WS A/B
L/R/X/Y - Maps to WS Y1-Y4
Pocket Challenge V2:
D-Pad - Up/Down/Left/Right
L - Escape
R/X - View
A - Clear
B - Circle
Y - Pass
Media
Testing NitroSwan DS V0.5.2 - 2023 Update (Wonderswan Emulator for Nintendo DS / 3DS) (Mr^Burns - Obscure Games & Software Tester)
Known issues
Please see https://github.com/FluBBaOfWard/NitroSwan/blob/main/README.md#games
Changelog
V0.6.6 2024/09/19
- Added some support for WonderWitch.
- Added saving of machine setting.
- Added SwanCrystal border.
- Fixed LCD icons palette when switching machine.
- Fixed some small bugs in the DMA.
- Fixed cpu prefix handling.
- Optimized some opcodes.
V0.6.5 2024/07/25
- Added saving of joypad layout.
- Added extra RAM on 3DS.
- Fixed cache bug in tile map rendering.
- Fixed repeating sound DMA.
- Fixed HyperVoice scaling/mode.
- Fixed EEPROM handling a bit.
- Fixed Quit Emulator when started from TWiLight.
V0.6.4 2023/10/25
- Added alternate joypad layout.
- Fixed unsigned mul on ASWAN.
- Fixed immediate mul.
- Fixed 32/16 division.
- Fixed IO register differences between mono/color mode.
- Optimized 16-bit signed mul.
V0.6.3 2023/09/24
- Fixed value of SP when running without boot rom.
- Fixed boot rom behavior for PCV2.
- Fixed SLOT-2 RAM support for EZ-Flash 3-In-1.
- Optimized IO port writing.
- Optimized some opcodes.
- Tweaked EEPROM handling.
V0.6.2 2023/09/03
- Added SLOT-2 RAM support.
- Added IPS patch functionality.
- Added power on/off ability.
- Fixed correct frame-rate without "Allow Refresh Change".
- Fixed sound mixing.
- Optimized mapper writing.
V0.6.0 2023/08/05
- Added per line emulation of Display Control register.
- Added per line emulation of FG Window register.
- Added per line emulation of Map Address register.
- Added differences for the 2 cart mappers.
- Optimized tile map rendering.
- Optimized cpu core.
V0.5.2 2023/04/22
- Fixed controls for PCV2.
- Fixed WS sound levels.
- Fixed WS sound icon.
- Fixed save state.
- Added more BnW palettes.
V0.5.1 2023/03/10
- Fixed noise calculation.
- Fixed BnW palettes.
- Added setting for border.
V0.5.0 2023/03/01
- Fixed reset of mapper registers.
- Fixed loading of roms that are not power of 2.
- Fixed timing of several opcodes.
- Fixed timing of interrupts.
- Fixed timing of address calculations.
- Fixed some cpu opcodes.
- Fixed interrupt handling.
- Fixed timers.
- Fixed sweep on sound channel 3.
- Fixed noise feedback selection.
- Fixed sound sample playback.
- Optimized cpu core a bit.
- Added support for serial port interrupts.
- Added support for battery low.
- Added new debug menu.
- Linked NDS battery to WS battery.
- Better menu traversing.
V0.4.1 2022/08/15
- Fixed background for PCV2 mode.
- WS refresh rate can control NDS refresh rate.
V0.4.0 2022/08/11
- Fixed flag calculation for most opcodes.
- Fixed emulation of undefined opcodes.
- Fixed settings to disable Bg,Fg & Spr.
- Fixed default sound volume on WSC/SC.
- Optimized the cpu core.
- Tweaked behaviour of timers.
- Mute Ch2 when playing samples.
V0.3.6 2022/04/20
- Fixed sound DMA a bit.
- Added savestates.
- Added sound button (Select).
V0.3.5 2022/03/09
- Added RTC emulation.
- Added a border to emu screen.
- Better mapping of input.
- Optimized graphic redraw.
- Optimized PC/IP handling in cpu core.
V0.3.0 2022/02/10
- Added banked SRAM emulation.
- Fixed zip decompression buffer size.
- Optimized cycle counting.
- Optimized Program Counter.
- Optimized memory access.
- Optimized opcodes.
V0.2.0 2022/01/20
- Completed the rewrite of the cpu core in ARM asm.
V0.1.3 2022/01/09
- Rewrote parts of the cpu core in asm.
V0.1.2 2021/12/18
- Backgrounds works.
- Sprites works.
- Mono mode works.
- Fixed Interrupts and Timers.
- Added EEPROM emulation.
- Added loading of bootrom for both WS & WSC.
- Added loading/saving of sram/eeprom.
- Added sound.
- Fixed interrupt routine in CPU.
V0.1.1 2021/10/17
- Started port to Nintendo DS & devkitPro.
V0.1.0 2006/07/28
- Initial release.
V0.0.0 2006/07/23
- Started Coding.
Credits
Huge thanks to Loopy for the incredible PocketNES.
Thanks to:
- Flavor & Koyote for WonderSwan info.
- Godzil for the boot rom stubs.
- lidnariq for RTC info.
- Dwedit for help and inspiration with a lot of things.
External links
- Author's Twitter - https://twitter.com/therealflubba
- GitHub - https://github.com/FluBBaOfWard/NitroSwan
- GBAtemp - https://gbatemp.net/threads/nitroswan-a-wonderswan-emulator-for-nds.604718