NitroSwan - A WonderSwan emulator for NDS

placebo_yue

Well-Known Member
Member
Joined
Aug 7, 2019
Messages
739
Trophies
0
Age
33
XP
1,264
Country
Argentina
Haven't found another way to share files so here's a wetransfer with all the files (minus the bios) on my nitroswan folder. Perhaps the rest of these are also useful somehow, if not, the game that failed was almost certainly "digimon tag tamers (english)"

https://we.tl/t-LGJzc99jcj

nevermind im dumb here's the attachment
 

Attachments

  • swan.zip
    119.6 KB · Views: 84

FluBBa

Well-Known Member
OP
Member
Joined
Jan 16, 2004
Messages
232
Trophies
2
Age
49
Website
www.ndsretro.com
XP
2,373
Country
Finally new release of NitroSwan! I've been working on this almost everyday since the last release, though a lot of time has been spent writing tests for the WonderSwan, this will hopefully make other WS emulators better as well.
If you want to test this out on your PC use melonDS as that can run the DS @75Hz.
  • 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.
https://github.com/FluBBaOfWard/NitroSwan/releases/tag/v0.5.0
 
Last edited by FluBBa,

Cris1997XX

Well-Known Member
Member
Joined
Oct 31, 2021
Messages
470
Trophies
0
Age
23
XP
1,262
Country
Italy
Finally new release of NitroSwan! I've been working on this almost everyday since the last release, though a lot of time has been spent writing tests for the WonderSwan, this will hopefully make other WS emulators better as well.
If you want to test this out on your PC use melonDS as that can run the DS @75Hz.
  • 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.
https://github.com/FluBBaOfWard/NitroSwan/releases/tag/v0.5.0
FUCK YEAHHH!!!
Post automatically merged:

Just gave the latest version a try, every game I played had the PCM samples working corrently. Now I can finally call this emulator one of the best on DS :D
 
Last edited by Cris1997XX,

plasturion

temporary hermit
Member
Joined
Aug 17, 2012
Messages
1,216
Trophies
2
Location
Tree
XP
3,508
Country
Poland
Omg, PCM sounds! Card Captor Sakura Bgm's is so rich and seems just in time now, so delightful... Yasss!

...and apparantly I found a glitch, when intro is displayed second time, screen freeze while a book is disappearing... bgm slows down for about 10 seconds, after that it unfreeze and everything is back to normal. That's a minor thing i noticed, just reporting. In previous versions it doesn't freeze. Anyway coloring B&W games works? When I change settings Display -> B&W Palette to any other setting nothing happens for me on my R4 card, I think this setting never worked for me.

Big Thanks again! This project is simply amazing, great to see it's still improving, nice Surprise!
 

placebo_yue

Well-Known Member
Member
Joined
Aug 7, 2019
Messages
739
Trophies
0
Age
33
XP
1,264
Country
Argentina
new version is flawless as expected from mr flubba.
Only feedback i can give is: have you considered a setting to turn off the borders? and perhaps scaling of the image? if scaling compromises performance i'd take just turning off the borders.
Also, the palette setting sorta breaks color games if you change the setting, maybe it should be turned off on color games? i can also... just not press it lol. But maybe it's easy to implement

edit: i'm still having issues with loading savestates, as we discussed it might be some incompatibility because those have some data carried over from older versions (although i did overwrite the saved states with this version, and the previous one) where are those files stored? so i can go, nuke everything and start from scratch?

edit2: the palette setting doesnt seem to work on monochrome games? and swapping it like crazy on a color game crashed the emulator for me. I swaped once or twice and the game ran, then i went back and changed colors like 8 times very fast, went back to the game and got graphical glitches + stuck. I don't see why anyone would need to change palettes so much and so fast, but perhaps it's something to look into.

hope this is helpful and not annoying.
 
Last edited by placebo_yue,

wavemotion

Benign Geek
Member
Joined
Nov 23, 2020
Messages
917
Trophies
1
XP
7,357
Country
United States
Hey @FluBBa - just wanted to share that I’m 3 hours into Final Fantasy I on Nitroswan and it’s behaved perfectly. Sound is excellent and speed perfect.

CEEDBCE2-DFF7-42B8-BACD-216EAE3A2E9A.jpeg
 

plasturion

temporary hermit
Member
Joined
Aug 17, 2012
Messages
1,216
Trophies
2
Location
Tree
XP
3,508
Country
Poland
I hope I'm not annoying too, but I builded v.5.1 which seems to have updated sphinx to v2.1 to fix a noise channel, cardcaptor sakura seems to work ok now... but I wonder if the sounds effects were better previously. In example during Dragonball intro one channel has higher pitched sample i guess. In compare to example how intro should sounds (let say on youtube) sphinx v2.0 seems to be more correct in PCM/soundchip playback. Maybe there's no perfect solution here, idk i can always opt for rollback. ; ) I'm guessing there's some kind of autodetect method what type of noise game is using PCM or chiptune. Maybe there's something not implemented yet and will be in next release, I'm just curious about changes so I'm just reporting what i noticed. I guess it's for all the games, Ganso Jajamaru, Glocal hexcite has lack of noise sounds with sphinx v2.1. I'll just wait for release.
 
Last edited by plasturion,
  • Like
Reactions: CrashMidnick

wavemotion

Benign Geek
Member
Joined
Nov 23, 2020
Messages
917
Trophies
1
XP
7,357
Country
United States
10 hours into Final Fantasy I - playing just brilliantly! Colors and visuals seem perfect - I find it much less washed out than the GBA ports. Sound is clean and deep. Amazing to be emulating a game from 2000 on a system from 2004.

A few minor issues I'd bring up:

Save and Load state aren't always perfect. Sometimes when loading back a Saved State the screen is garbled - sprites are in wrong places. This corrects if I move off screen and into town or go from town to the overworld... This is minor on FF1 as the NVRAM is fine for saving game states anyway.

I'm using actual WS and WSC bios files and when using real BIOS files I'm finding that the sound always starts muted and I have to hit Select to restore the sound level. This did not happen when I didn't use BIOS files. Maybe I just need to save my system configuration somehow... but I couldn't figure it out (yes, I tired 'Save Settings' after bumping the volume up using SELECT).

Lastly, FF1 uses a lot of the Y1-Y4 buttons and my hand gets a little cramped using the left shoulder button. Could we have either the L or R buttons map the WonderSwan to Y1-Y4? I find it more comfortable to hold the right (R) shoulder button to map in Y1-Y4.

Thanks for considering these - and keep up the good work!!
 

FluBBa

Well-Known Member
OP
Member
Joined
Jan 16, 2004
Messages
232
Trophies
2
Age
49
Website
www.ndsretro.com
XP
2,373
Country
Either hold Start button when booting WonderSwan or use the Menu option "Clear Internal EEPROM" to get max volume by default.
Post automatically merged:

Omg, PCM sounds! Card Captor Sakura Bgm's is so rich and seems just in time now, so delightful... Yasss!

...and apparantly I found a glitch, when intro is displayed second time, screen freeze while a book is disappearing... bgm slows down for about 10 seconds, after that it unfreeze and everything is back to normal. That's a minor thing i noticed, just reporting. In previous versions it doesn't freeze. Anyway coloring B&W games works? When I change settings Display -> B&W Palette to any other setting nothing happens for me on my R4 card, I think this setting never worked for me.

Big Thanks again! This project is simply amazing, great to see it's still improving, nice Surprise!
Can you try the latest commit? I fixed the way noise mode/taps are changed, should be more like real HW.
 
Last edited by FluBBa,

plasturion

temporary hermit
Member
Joined
Aug 17, 2012
Messages
1,216
Trophies
2
Location
Tree
XP
3,508
Country
Poland
Hi, I'm lurker wanderer again...

I see that changing palette is working now, colorset very similar to WasabiDS emulator.
I understand that's very similar effect with modding B&W dot matrix with polarizer or backlight.
The effect is cool, but I wonder if the contrast is not too low, kinda lack of white...
I liked the way how the Neo Geo Pocket DS emu colorized B&W games.
White is always white, black is black, and colors between are nice and juicy.
It looks more how the color TFT display is able to do, and contrast seems to be better.

Thanks anyway.
 
Last edited by plasturion,
  • Like
Reactions: CrashMidnick

plasturion

temporary hermit
Member
Joined
Aug 17, 2012
Messages
1,216
Trophies
2
Location
Tree
XP
3,508
Country
Poland
...ok so I did a thing that can replace some colors...
Here's nitroswan palette, It's neat however lacks of white a bit
redOrg2.png

...and here's an example what I wanted to get, with the same contrast and gamma...
redMod2.png


...and added mixed blue-green palette like gameboy color do, but green seems to be brighter than blue
so both have different tonal levels, It could be tune better but somtimes looks quite fine...
ganso.png
ccs2.png


Here's palette generator i did, simplified a bit, maybe colors are too vibrant now, but somehow I like this settings too...
I hope you don't mind, just sharing for those who would like to change or modify... or for compare... or to add to settings.
C:
#include <stdio.h>
int i,R,G,B; //--- R here as Red but only in first iteration, more like main color, G and B are contr-pair
printRGBval(int a){
    switch(a){
        case 0: printf("0x%02X,0x%02X,0x%02X",R,G,B); break;
        case 1: printf("0x%02X,0x%02X,0x%02X",B,R,G); break;
        case 2: printf("0x%02X,0x%02X,0x%02X",G,B,R); break;
        case 3: (i%3)? printf("0x%02X,0x%02X,0x%02X",B,R,G):printf("0x%02X,0x%02X,0x%02X",G,B,R);break;
        case 4: (i%3)? printf("0x%02X,0x%02X,0x%02X",G,B,R):printf("0x%02X,0x%02X,0x%02X",B,R,G);break;
    }
}
main(){
    int x;
    for(x=0;x<5;x++){
        switch(x){
            case 0: printf(";@ Red");break;
            case 1: printf(";@ Green");break;
            case 2: printf(";@ Blue");break;
            case 3: printf(";@ Green-Blue1");break;//GBC Green-Blue alike
            case 4: printf(";@ Green-Blue2");break;
        }
        for(i=0; i<8 ;i++){
            (i%4)? printf(", ") : printf("\n\t.byte ");
            R = 255-i*4;
            G = B = (256/8*(8-i))-1;
            printRGBval(x);
        }
        for(i=0;i<8;i++){
            (i%4)? printf(", ") : printf("\n\t.byte ");
            G = B = (7-i)*4;
            R = 256/8*(7-i);
            printRGBval(x);
        }
        printf("\n");
    }
}
------------------
and below palette based on previous color settings (from neogeo pocket), now seems more pastel
and more equal tone balanced. Screenshot examples with the same green and blue mix method...
puyo.png
ganso.png

Code:
;@ Classic
    .byte 0xFF,0xFF,0xFF, 0xF6,0xEE,0xD4, 0xEE,0xDD,0xAA, 0xE5,0xCC,0x99
    .byte 0xDD,0xBB,0x88, 0xCC,0xAA,0x6E, 0xBB,0x99,0x55, 0xA4,0x82,0x3E
    .byte 0xAF,0x8D,0x49, 0x99,0x77,0x33, 0x88,0x66,0x22, 0x77,0x55,0x11
    .byte 0x5D,0x44,0x08, 0x44,0x33,0x00, 0x22,0x19,0x00, 0x00,0x00,0x00
;@ Red
    .byte 0xFF,0xFF,0xFF, 0xFF,0xE5,0xE5, 0xFF,0xCC,0xCC, 0xFF,0xB2,0xB2
    .byte 0xFF,0x99,0x99, 0xFF,0x77,0x77, 0xFF,0x55,0x55, 0xE8,0x27,0x27
    .byte 0xF3,0x3D,0x3D, 0xDD,0x11,0x11, 0xBB,0x08,0x08, 0x99,0x00,0x00
    .byte 0x7F,0x00,0x00, 0x66,0x00,0x00, 0x33,0x00,0x00, 0x00,0x00,0x00
;@ Green
    .byte 0xFF,0xFF,0xFF, 0xDD,0xFF,0xDD, 0xBB,0xFF,0xBB, 0x99,0xFF,0x99
    .byte 0x77,0xFF,0x77, 0x55,0xEE,0x55, 0x33,0xDD,0x33, 0x11,0xC6,0x11
    .byte 0x22,0xD1,0x22, 0x00,0xBB,0x00, 0x00,0xA1,0x00, 0x00,0x88,0x00
    .byte 0x00,0x6E,0x00, 0x00,0x55,0x00, 0x00,0x2A,0x00, 0x00,0x00,0x00
;@ Blue
    .byte 0xFF,0xFF,0xFF, 0xE5,0xE5,0xFF, 0xCC,0xCC,0xFF, 0xBB,0xBB,0xFF
    .byte 0xAA,0xAA,0xFF, 0x99,0x99,0xFF, 0x88,0x88,0xFF, 0x66,0x66,0xF3
    .byte 0x77,0x77,0xF8, 0x55,0x55,0xEE, 0x3B,0x3B,0xD4, 0x22,0x22,0xBB
    .byte 0x11,0x11,0x99, 0x00,0x00,0x77, 0x00,0x00,0x3B, 0x00,0x00,0x00
;@ Green-Blue
    .byte 0xFF,0xFF,0xFF, 0xDD,0xFF,0xDD, 0xBB,0xFF,0xBB, 0xBB,0xBB,0xFF
    .byte 0x77,0xFF,0x77, 0x55,0xEE,0x55, 0x88,0x88,0xFF, 0x11,0xC6,0x11
    .byte 0x77,0x77,0xF8, 0x00,0xBB,0x00, 0x00,0xA1,0x00, 0x22,0x22,0xBB
    .byte 0x00,0x6E,0x00, 0x00,0x55,0x00, 0x00,0x00,0x3B, 0x00,0x00,0x00
;@ Blue-Green
    .byte 0xFF,0xFF,0xFF, 0xE5,0xE5,0xFF, 0xCC,0xCC,0xFF, 0x99,0xFF,0x99
    .byte 0xAA,0xAA,0xFF, 0x99,0x99,0xFF, 0x33,0xDD,0x33, 0x66,0x66,0xF3
    .byte 0x22,0xD1,0x22, 0x55,0x55,0xEE, 0x3B,0x3B,0xD4, 0x00,0x88,0x00
    .byte 0x11,0x11,0x99, 0x00,0x00,0x77, 0x00,0x2A,0x00, 0x00,0x00,0x00

--------
Example of dedicated custom color palette preset
puyo1.png
puyo2.png
puyo4.png

Code:
;@ Puyo Puyo Tsu
    .byte 0xFF,0xFF,0xFF, 0xF6,0xEE,0xD4, 0xEE,0xDD,0xAA, 0xD8,0xCC,0xC0
    .byte 0xDD,0xBB,0x88, 0xFF,0x99,0x35, 0xFD,0xAF,0x07, 0xDA,0x6C,0x00
    .byte 0xAF,0x8D,0x49, 0x16,0xB8,0x1E, 0xAA,0x24,0x00, 0x3C,0x4E,0xAA
    .byte 0x5D,0x44,0x08, 0x44,0x33,0x00, 0x22,0x19,0x00, 0x00,0x00,0x00
 
Last edited by plasturion,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: By then I'll have some little mini pc anyway