DSFlash (SWF Player)
I made a quick port of GPLflash to DS.
Sound is disabled, BTW. Overall, this could be probably used for simple animations.
Here is a NDS with a sample movie: sbemail58_swf.nds
(Credit for the movie goes to: http://www.homestarrunner.com)
Source code is in the ZIP file:
February 10th, 2006 at 9:28 pm
Holy crap, YES. Thankyou! I’ve been waiting so long for a Flash player!
February 11th, 2006 at 1:46 pm
Impressive.. if it suport touchscreen.. it may be a very nice way to grow homebrew scene..
how is the Action Script?? and suport to sound??
Greeeeat Work !!!
February 12th, 2006 at 9:13 am
Good Job!!
How can i put mine flash video into it?
Thank!
February 12th, 2006 at 9:47 am
Is it supposed to have sound? I have none. Maybe it’s because I’m using a flash cart.
February 13th, 2006 at 4:08 am
Dude, it says sound is DISABLED right in the blog post.
Sound is disabled, BTW.
February 13th, 2006 at 1:06 pm
Uhm i cant put my flashs with the sourcecode on my DS, because i dont know anything about programming for DS(cpp), so how about adding a file-system to load the *.swf?
please add sound-support!
Overall: the best homebrew program(after Scumm VM )
February 13th, 2006 at 9:05 pm
Sorry, I feel like a complete idiot. I guess I was a bit excited.
February 15th, 2006 at 11:37 am
lol
dont read blogs like children’s books. looking only at the pictures xD
February 17th, 2006 at 5:27 am
Sweet, cant wait to get sound on it, Great work man. Keep on rockin
February 24th, 2006 at 2:38 pm
umm.. how do we supposed to watch our flash movies? do you have a read me that tells you how or something,.. i needs to know. cause all i have been doing is converting my flash movies to avi, and mpeg format, and i dont like that (sometimes triple-double-quadriple the size limit, ex: 3 mb = 207 mb+) but take your time, i can wait, do it when your redy.
February 26th, 2006 at 3:35 am
COOOOOL!!!
well.. maybe there will be an upgrade for the player.. (with sound support? )
we are counting on you Natrium42! 😀 (hope he is going to do it :P)
February 28th, 2006 at 10:52 am
[…] F player for the DS. Natrium42 has put together DSFlash, which is a basic Flash Player based on GPLflash. There’s no sound, and no in […]
March 1st, 2006 at 2:41 am
What is the simplest way to compile it with our own flash movies?
March 1st, 2006 at 9:55 am
Why don’t use the flash 7 SDK ?
July 7th, 2006 at 3:50 am
Is something goes wrong with the makefiles? It cannot be compiled! sometimes it tries to access the Folder c:\Projects\NDS\GameSWF\
July 30th, 2006 at 10:12 pm
To compile your own video into this, simply grab your swf movie, rename it to swf.bin, and copy it into the arm9/data/ folder, then compile.
August 5th, 2006 at 1:26 am
Quick Flash Player is a stand-alone flash player that enables Flash Users to quickly browse the SWF files. Quick Flash Player offers a variety of playback capabilities including full screen mode. A seek bar has been provided to navigate SWF files very easily.
August 19th, 2006 at 11:50 am
how do you put this on the nintendo ds
August 19th, 2006 at 11:51 am
how do you put this on the nintendo ds
August 25th, 2006 at 8:50 am
I cant put my flash on this… can some1 help me??!?!?!?!
September 5th, 2006 at 9:04 pm
thanks for your link about the simple movie, and i just want to know how do you make the quick port of GPLflash to DS?
December 6th, 2006 at 10:50 pm
This looks pretty dang cool, but you should add some sound capabilities, along with FLV support. I’m not sure if this supports FLV files or not, as I haven’t actually tested this, but that would be a great idea, because FLV files can be a huge amount smaller than the full MPG file, thus making for an easier portability of lengthy video files.
Once again, sound AND FLV support would be really freakin’ cool.
January 20th, 2007 at 10:11 am
I can’t get the source code to compile on devkitpro v19! What’s wrong?
January 20th, 2007 at 10:35 am
Lots of undefined references to Unwind_sjlj_Register/UnRegister/Resume. Is it because I have v19 instead of v18, or am I missing a library?
And TreLantana, flv is an entirely different thing from Flash, I believe. It takes a whole lot of processing power to decode. Not saying it’s not impossible, but until then just use Moonshell, Mediacoder and BatchDPG.
January 20th, 2007 at 11:46 pm
@Max
You probably need to compile the libraries before you compile the main program. As far as I remember, I didn’t set up the makefiles to do that automatically.
January 21st, 2007 at 5:14 pm
XD! Works great now! libflash had a few little problems, but I used the help provided here:
http://www.fourmilab.ch/fourmilog/archives/2006-05/000699.html
The Demented Cartoon Movie didn’t fit, so I used the shapemorph thing you included. Why is it called shapemorph when it just flashes a triangle?
Now time to brush up on my programming skills and give this baby sound and FAT loading.
January 28th, 2007 at 5:03 pm
Is there any readme file for this? I would really like to know how to compile and play .swf files on my ds!
February 12th, 2007 at 8:35 pm
What do i compile, and what libraries do i need?
February 18th, 2007 at 11:36 pm
hey ummmmmm it dosent work. i have a datel max 4gb on my dsl and when i open it it comes up with a weard fuzzy orange black thing can you tell me what is wrong plz and thank you
February 26th, 2007 at 9:09 am
Software is big work . We need flexibility
in s/w developement .
———————–
Put 144 pin ARM7 on GBA cart + 2MB SRAM and SD card …
And OTG-FS-USB .
————————
Now we have 2 ways to do anything .
I can develope s/w on both NDS and external
144 pin ARM .
——————
Pass thru to I.D.E. HDD , allowing both to access
100 MB HDD and SD card .
Its nice to be able to do things more than one
way .
April 22nd, 2007 at 12:54 pm
Doesnt anyone wants to pick this up and continue it? Its open source so i hope someone would
May 13th, 2007 at 8:05 am
hhm.. I’ve compiled libjpeg, and libzlib, but when compiling libflash i get the following error (using devkitpro 1.4.2):
libflash/matrix.h:36: error: extra qualification ‘Matrix::’ on member ‘getX’
libflash/matrix.h:42: error: extra qualification ‘Matrix::’ on member ‘getY’
make[1]: *** [adpcm.o] Error 1
make: *** [build] Error 2
….any clues?
May 13th, 2007 at 10:15 am
Ah, sorry for not researching properly before wanking about the error Max actually provided some of the solution above.
To get it to compile with devkitpro 1.4.2, do the following:
libflash/matrix.h:36: remove ‘Matrix::’
libflash/matrix.h:42: remove ‘Matrix::’
libflash/graphic16.h:27: remove ‘GraphicDevice16::’
libflash/graphic24.h:27: remove ‘GraphicDevice24::’
libflash/graphic32.h:27: remove ‘GraphicDevice32::’
arm9/source/dsflash.cpp:65: change POWER_CR to REG_POWERCNT
June 23rd, 2007 at 7:35 pm
I tried your precompiled version with both swf.bin and a normal swf file it didn’t show anything but blurry motionless lines
June 29th, 2007 at 1:42 pm
how do you even get it onto your ds
July 17th, 2007 at 11:12 am
ok, I was wondering so you can instal flash on your ds? is this somewhat like adobe flash player? I’m confused or something.
July 18th, 2007 at 6:59 pm
wow y doesnt the ds have sound? i think that that’s retarded!
October 20th, 2007 at 8:55 am
i got the Moonshell operating system for my DS.
where do I put the Flash?
do i put it with the DS games or make a separate folder?
October 28th, 2007 at 8:01 am
I’ve tryed what Peter Boné said, with PALib from 060917 and DevkitARM release 19b (on intel os x) and it comiples fine but the video isn’t playing right, it just flashes the triangle really quick. Please, what could be wrong?
Tnx
October 30th, 2007 at 10:51 pm
How do u put it on your ds?
November 8th, 2007 at 9:57 pm
there are several flash games on the homestar runner site. with a bit of touch screen support and a way to map the pc keyboard to the ds’s control buttons it would be possible to play these games. i don’t know if gplflash supports the scripting tho. stinkoman would be a fun game to port over tho.
December 1st, 2007 at 1:31 pm
It’s a start- I was able to get as far as getting an image to display.
Even so, my devkit install didn’t play so nicely with this.
gcc kept fussing about IPC->curtime. I grepped around my devkit sources and found it was now IPC->time.curtime.
It would also seem that the IPC->heartbeat is now gone. I got it to compile by simply commenting out line 84 in template.c, but I think this prevents the movie from playing. (some sort of progress meter, maybe?)
I also noticed the sound code from the sources. If that works, that’s a nice improvment
Now the only problem is adding fat support so you don’t have to recompile every time you want to watch a different video. There may have to be a size limit on the swf file, though…
Overall, great work! However, some updates to the code to support more modern devkits would certainly be welcomed
December 20th, 2007 at 7:12 pm
natrium42, are you planning on teaching your player to access .SWF files external to the .NDS ROM executable?
I’m assuming GPLFlash is compatible with only the older Flash, maybe Flash 4 (full screen)?
Have you interacted with the DragonMinded.com folks? This would be a great helper app to their DSOrganize browser.
http://www.GameLaw.ORG
February 22nd, 2008 at 6:08 pm
Does it work for Nintendo DS Browser?
March 17th, 2008 at 6:09 am
..I Dont rly understand soo,what can i do differently w/ this?..play flash games online on me DS,youtube vid?? i dont rly know 😛
March 22nd, 2008 at 12:42 pm
ok its on my CycloDS. just the whole folder in the root directory. what the hell do i do now? lol a readme wud b gr8, all i can do is get a flashing triangle
April 18th, 2008 at 8:25 pm
How do you compile videos??????
July 14th, 2008 at 12:31 am
[root@localhost lib]# make
make[1]: Entering directory `/home/kudo/nxp/PR9.0/swf/libflash-0.4.10/lib’
/bin/sh ../libtool –mode=compile mipsel-linux-g++ -DPACKAGE=\”libflash\” -DVERSION=\”0.4.10\” -I. -I. -I/opt/gtkdfb-mipsel/include -I../lib -O3 -Wall -fno-rtti -fno-exceptions -g3 -c flash.cc
mipsel-linux-g++ -DPACKAGE=\”libflash\” -DVERSION=\”0.4.10\” -I. -I. -I/opt/gtkdfb-mipsel/include -I../lib -O3 -Wall -fno-rtti -fno-exceptions -g3 -c flash.cc -fPIC -DPIC -o flash.lo
swf.h:199: error: previous declaration of ‘int shape_size’ with ‘C++’ linkage
flash.cc:266: error: conflicts with new declaration with ‘C’ linkage
swf.h:199: error: previous declaration of ‘int shape_nb’ with ‘C++’ linkage
flash.cc:266: error: conflicts with new declaration with ‘C’ linkage
swf.h:199: error: previous declaration of ‘int shaperecord_size’ with ‘C++’ linkage
flash.cc:266: error: conflicts with new declaration with ‘C’ linkage
swf.h:199: error: previous declaration of ‘int shaperecord_nb’ with ‘C++’ linkage
flash.cc:266: error: conflicts with new declaration with ‘C’ linkage
swf.h:199: error: previous declaration of ‘int style_size’ with ‘C++’ linkage
flash.cc:266: error: conflicts with new declaration with ‘C’ linkage
swf.h:199: error: previous declaration of ‘int style_nb’ with ‘C++’ linkage
flash.cc:266: error: conflicts with new declaration with ‘C’ linkage
make[1]: *** [flash.lo] Error 1
make[1]: Leaving directory `/home/kudo/nxp/PR9.0/swf/libflash-0.4.10/lib’
July 23rd, 2008 at 10:51 am
it would be very useful to know whether to put the whole, uncompressed archive on the flash cartridge, only some files, some files in certain folders or what.
there is NO documentation, and i do not plan on spending days trying every copmbination under the sun.
Lots of people have already asked this, and it would remove a lot of posts from your blog.
please upload some instructions.
July 23rd, 2008 at 12:14 pm
Why should I make any instructions? It’s for developers *only* and they can read the source code just fine. This is nowhere near a state where it would be useful to users at this point. Sorry to disappoint…
August 29th, 2008 at 8:53 pm
Like other here i understand it and we want to know how much time w need to wait until next version self-compil of this sorry but i dont talk to much english, tougth i undestand wath you say..
I understand the code bu i dont like the idea to work in a program that much
December 19th, 2008 at 11:43 am
HOLY SH1T O_o A FLASHPLAYER ? Wait , that was only in my dreamzz … 2006 ? AND I NEVER SEARCHED THIS B4 !! When I gat my M3 Linker that was my first Idea !!! OMG I never searched about thizz … Wowie
January 6th, 2009 at 5:08 pm
I’m not able to open or see any of my flash files. I see only a triangle who’s flashing. What can I do?
February 21st, 2009 at 5:30 am
ok i have no idea about this flash thing, i put it on my ds and… yeah all i saw was like some triangle that was blury, any ideas on how i can actually play flash or at least select a flash file on this program?
February 21st, 2009 at 5:32 am
i just noticed the time it was released lol its been like 3 years no im wondering if theres an updated version of this yet?
February 23rd, 2009 at 6:02 am
ok i have no idea about this flash thing, i put it on my ds and… yeah all i saw was like some triangle that was blury, any ideas on how i can actually play flash or at least select a flash file on this program?
March 20th, 2009 at 12:54 am
Do i have to compile it or can I just use the .nds file????
March 27th, 2009 at 2:00 pm
sigh…. another useless ds homebrew project that has potential but falls WAY short. Too bad there’s (insert sarcasm here) NOT TOO MANY OF THESE!
April 3rd, 2009 at 9:26 am
i just see a triangle??
how is this possible?
and how to solve it?
April 4th, 2009 at 11:29 am
@dwsf No i dont think there is an updated version yet
BTW, can anyone tell me exactly what to do to add my own flash movies to it? i tried to compile but got the error mentioned half a dozen times above. There was something mentioned about compiling libraries first, what libraries, and how do i do that?
August 20th, 2009 at 11:59 pm
since you say that only developers know how to read the source code and program swf files into the flash player why not save us people who dont know how to the disapointment of not being able to do it by making a screen recording of how to make the swf file play on the program to the point where it goes on the ds post it on youtube or make it an animated gif or something
show what needs to be done so you can have it ready to play the file , it would be a big help for that and understanding devkit ,
August 21st, 2009 at 9:51 am
I have no idea what you said since I ran out of breath reading your comment.
September 22nd, 2009 at 8:27 pm
make a screen recording of you turning a swf file into a nds file to show other people how to do it as well
October 5th, 2009 at 11:18 pm
how do you get the flash player onto your ds
December 16th, 2009 at 4:07 pm
Can this play flash games?
Sorry if im being dumb. xD
January 1st, 2010 at 2:09 pm
I’ve got an error when i compile it (Lastest Devkitpro, palib) :
c:/DSFlash/arm7/source/template.c: In function ‘startSound':
c:/DSFlash/arm7/source/template.c:27: error: ‘SOUND_8BIT’ undeclared (first use
in this function)
c:/DSFlash/arm7/source/template.c:27: error: (Each undeclared identifier is repo
rted only once
c:/DSFlash/arm7/source/template.c:27: error: for each function it appears in.)
c:/DSFlash/arm7/source/template.c:27: error: ‘SOUND_16BIT’ undeclared (first use
in this function)
c:/DSFlash/arm7/source/template.c: In function ‘VblankHandler':
c:/DSFlash/arm7/source/template.c:49: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:49: error: ‘TransferRegion’ has no member name
d ‘curtime’
c:/DSFlash/arm7/source/template.c:61: error: too few arguments to function ‘touc
hReadXY’
c:/DSFlash/arm7/source/template.c:63: error: ‘touchPosition’ has no member named
‘x’
c:/DSFlash/arm7/source/template.c:64: error: ‘touchPosition’ has no member named
‘y’
c:/DSFlash/arm7/source/template.c:84: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:84: error: ‘TransferRegion’ has no member name
d ‘heartbeat’
c:/DSFlash/arm7/source/template.c:85: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:86: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:87: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:88: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:89: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:90: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:91: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:92: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:92: error: ‘TransferRegion’ has no member name
d ‘battery’
c:/DSFlash/arm7/source/template.c:93: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:93: error: ‘TransferRegion’ has no member name
d ‘aux’
c:/DSFlash/arm7/source/template.c:96: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:96: error: ‘TransferRegion’ has no member name
d ‘curtime’
c:/DSFlash/arm7/source/template.c:99: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:99: error: ‘TransferRegion’ has no member name
d ‘temperature’
c:/DSFlash/arm7/source/template.c:100: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:100: error: ‘TransferRegion’ has no member nam
ed ‘tdiode1′
c:/DSFlash/arm7/source/template.c:101: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:101: error: ‘TransferRegion’ has no member nam
ed ‘tdiode2′
c:/DSFlash/arm7/source/template.c:105: error: ‘TransferSound’ undeclared (first
use in this function)
c:/DSFlash/arm7/source/template.c:105: error: ‘snd’ undeclared (first use in thi
s function)
c:/DSFlash/arm7/source/template.c:105: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:105: error: ‘TransferRegion’ has no member nam
ed ‘soundData’
c:/DSFlash/arm7/source/template.c:106: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:106: error: ‘TransferRegion’ has no member nam
ed ‘soundData’
c:/DSFlash/arm7/source/template.c:49: warning: unused variable ‘ct’
c:/DSFlash/arm7/source/template.c: In function ‘main':
c:/DSFlash/arm7/source/template.c:129: warning: implicit declaration of function
‘powerON’
c:/DSFlash/arm7/source/template.c:130: error: ‘SOUND_CR’ undeclared (first use i
n this function)
c:/DSFlash/arm7/source/template.c:131: warning: ‘getIPC’ is deprecated (declared
at c:/devkitPro/libnds/include/nds/ipc.h:64)
c:/DSFlash/arm7/source/template.c:131: error: ‘TransferRegion’ has no member nam
ed ‘soundData’
make[2]: *** [template.o] Error 1
make[1]: *** [build] Error 2
make[1]: Leaving directory `/c/DSFlash/arm7′
make: *** [arm7/DSFlash.elf] Error 2
January 1st, 2010 at 4:04 pm
> Lastest Devkitpro, palib
There’s your problem
January 2nd, 2010 at 2:24 am
wo kann ich den flash player downloaden?
January 14th, 2010 at 12:03 pm
But what must i download, if i cannot use the lastest devkit and palib?
January 31st, 2010 at 6:54 am
I’ve got a good suggestion:
There is a new Flash card, iPlayer, with a extra 16MB RAM, and a few others.
Maybe you can run it perfectly on this?
March 7th, 2010 at 9:18 pm
Stop your whinging of “no sound” and “it doesn’t work” IF it doesn’t do the things you want it to do, fix it yourself, add things, fix stuff, remove stuff. stop depending on other people to do stuff for you.
April 18th, 2010 at 6:39 pm
remember that you can use the palib function play sound to play the audio of the swf file when the video starts, simply convert it to an mp3 with a converter