View Full Version : Flash Calculator (First Flash application made for Cowon D2 :)
Hi!
I'm presenting you probably the first flash application ever made for Cowon D2 [laugh]
It is a Flash scientific calculator specially made for D2, this program is still in alpha stage si I please you to excuse me any bugs, report them, suggest new features and don't redistribute it for now :)
http://img519.imageshack.us/img519/5336/previewrb8.png http://img519.imageshack.us/img519/9128/preview2zn4.png
http://img519.imageshack.us/img519/5791/preview3fs4.png http://img519.imageshack.us/img519/5620/preview4fh1.png
You can chengae between the simple/scientific modes by clicking the button in the lower right corner....
How do you like the design? Have you found any bugs? Are you interested in new features?
Current version: 0.5
thnx for any comments,
Philip Seyfi, fs-studio.eu (http://fs-studio.eu/)
________
Weed Vaporizer (http://weedvaporizer.info/)
could you share the code of this calculator? i'd like to see how to make flash stuff in flashlite. so far i've benn into flash only, not flashlite.
Hi Philip!
Congrats !! nice one. Yeah ... you could do a dual calculator: Cientific / Basic by just pressing a button ! Again: Nice work !
Now we must wait until Cowon places .net framework inside the D2 ;) so I can code some apps myself heheh
I would love to see the source for the calc too :) I never got into flash, but it should be a good moment right now :) I could code my very own apps inside my cowon D2 !!!! I am wondering: Can u save ANYTHING inside the cowon ? Or it has no save / load functions ? That would open even some comercial apps light into the cowon D2 !
Thnx for your comments!
2stabb: If I'll simplify it... Flash Lite 2.1 = Flash Player 7... Nearly anything that should work in FP7 will work in FLP2.1 as well :)
2sigmax: Nice idea! I'll make a scientific/simple button to change between the two modes...
About the saving feature... It is supported on iRiver CLix but not on the D2... viz. my post: http://iaudiophile.net/forums/showthread.php?t=15132
I hope they'll support it in the final FW
I'll probably release the source code under (cc) when I'll release the final version :)
P.S.: Another idea... Would you like some sound played on button click? It wouldn't be obtrusive... just to say you that you just clicked the button :)
________
Vaporizer review (http://vaporizer.org/)
sanguine
06-03-2007, 10:42
Really nice calculater you programmed there. [thumbsup]
You could also make an options button where you can choose between scientific/simple and an option for sound on/off
so everyone can be happy [laugh]
New version!!!
- new "simple" mode to use without a stylus :)
- file renamed to "Calculator.swf"
- new click sound
- new about screen (click the (c) notice)
2sanguine: thnx :) I am quite limited on screen space and so have decided not to include the "sound on/off" button at least for now...
________
Ford falcon cobra specifications (http://www.ford-wiki.com/wiki/Ford_Falcon_Cobra)
Simplyblue
06-03-2007, 11:33
New version!!!
- new "simple" mode to use without a stylus :)
- file renamed to "Calculator.swf"
- new click sound
- new about screen (click the (c) notice)
2sanguine: thnx :) I am quite limited on screen space and so have decided not to include the "sound on/off" button at least for now...
Looks great! Sigh now I can't wait for a 2.xx version of this firmware to come out.
How about a small speaker icon on the bottom right and move the simple/scientific buttons to the bottom left?
First bug report!!!
in the about screen it says:
"Flash calculator for CowoM D2" instead of CowoN D2..
jjejeje, hope they`re all that easy!
--
Great work selfip!!
I`d really like to look at the source code when you release it
2Simplyblue: Nice idea :) I'll do it like this... the only problem is that it'll be a bit small... but you can always use your stylus :)
2red5: thnx ;) I'll correct it in the next update =D
________
Cheap Vaporizers (http://vaporizers.net/vaporizers)
sanguine
06-03-2007, 11:54
okay, heres a bug i've found: The comma button and the x^3 button don't seem to work anymore.
And another suggestion: in simple mode, switch the button x^3 with the button 1/x .
thnx... It is a known problem :( The coma, pi, elog and probably some other buttons as well do work on my PC but not on D2 :/ I'm trying to fix it...
P.A.: Actually x? is x^y... I'll jsut forgot to change the symblo =D
________
Michigan Marijuana Dispensary (http://michigan.dispensaries.org/)
seifip:
good work a man!
every good stuff is a very appreciated-thanks!
sanguine
06-03-2007, 12:24
thnx... It is a known problem :( The coma, pi, elog and probably some other buttons as well do work on my PC but not on D2 :/ I'm trying to fix it...
P.A.: Actually x³ is x^y... I'll jsut forgot to change the symblo =D
oh,okay x^y works [biggrin]
but still the comma button doesn't work for me, even on the pc.
great calc so far seifip [yes]
plz put logarithms in ur calc would be excellent for me :)
Version 0.3 released!
- sound on/off button
- x? symbol changed to ^
- some improvements in the "." functionality (still not perfect but now it works at least sometimes :)
- CowoM changed to CowoN (About screen)
- version number added (About screen - upper right corner)
________
VOLCANO VAPORIZER REVIEW (http://vaporizer.org/reviews/volcano)
add a "SHIFT" like button to access more functions (just like the real calculators)
just like this:
http://www.edumedia-sciences.com/a207_l2-scientific-calculator.html
sanguine
06-03-2007, 14:03
another little spelling mistake: sisnde instead of simple when in simple mode [smile]
and a bug: when you are in scientific mode and you turn off the sound then switch in simple mode the sound is on again, but the snd button looks like its turned off
2sanguine: thnx :) I'll correct both for the next release
2kbzona: I'll think about both of your suggestion :) thnx
________
Buy Easy Vape Vaporizer (http://vaporizer.org/reviews/easy-vape)
Important: Version 0.4 released
This is an important release correcting most of the bugs presented in earlier versions. If everything goes OK I'll start adding new features in v0.5
- "." works fine now
- correct value for pi
- correct value for elog
- "sisnde" changed to "simple"
- other bugfixes
________
How To Roll Blunts (http://howtorollablunt.net/)
calcheese
06-03-2007, 15:22
i already posted a scientific calculator in http://iaudiophile.net/forums/showthread.php?t=15120
but i admit this one looks nicer! excellent work dude!
sanguine
06-03-2007, 15:29
okay its getting better every time seifip [laugh]
just found another bug: In the scientific mode you can "spam" the comma button and then the calculater makes a dot everytime you click the button. (this bug doesn't exist in simple mode though)
€: oh and you also can set the comma even before you enter a number. (this minor bug exists in both modes)
hope i don't torture you too much with all my little complaints :D
2calcheese: Sry, I didn't notice it :( Thnx
2sanguine: Not at all! Thnx for all of your comments!!! I will correct the first bug in the next version. The second one isn't really a bug :) If you have a scientific calculator... try entering .5x2 - it'll give you 1... You can use .x instead of 0.x in most advanced calculators and programming languages
________
DIGITAL VAPORIZER (http://vaporshop.com)
seifip, I would rather have 3 modes:
SIMPLE, NORMAL and SCIENTIFIC
Normal and scientific are the modes you already done... but SIMPLE would be, the 0 thru 9 digits, -+*/ equal, decimal separator, and clear. This would prolly let you make buttons real big .. most of the time I need simple calculations and surely I think most people would trade math functions for bigger buttons anytime :) Anyway that is my opinion only :) regards and nice work !!
james.miller
06-03-2007, 18:27
lol real nice:)
Next version will include some new features including the Shift button :0 Stay tuned!
New features prepared for the next release: rand, exp, n!, atan, log, dms and more!
________
Honda RC series specifications (http://www.honda-wiki.org/wiki/Honda_RC_series)
nowyoucanlaugh
06-03-2007, 20:58
I know this is a lot to ask, but possibly, in the future you can aim to include a graphing utility
The way things are going, we could have TI-83 functionality on our D2 and my recent purchase after having my TI stolen could become a waste! Selfip, seems like this is keeping you quite busy...maybe some assistance would help (I'm no good with flash, but I'm sure some others are...)
Maxwell Smart
06-04-2007, 03:28
Awesome work, selfip! I look forward to trying it out when Flash support gets out of beta! [smile]
I'd like to second the request that you place this under a copyleft. Can I urge you to dual-license under the GNU GPL and a CC license?
Also, I have a question: I don't know too much about Flash Lite, but I'm wondering how one goes about accessing main memory and the mounted filesystems. Of course there is supposed to be "sandboxing" (from what I have read), but I'm curious to know what the real limitations are.
The underlying firmware OS must be multitasking judging by what I've seen, so I'm curious about the possibilities for fork(), malloc(), free(), stat(), and the like. For example, how much memory can you successfully request from the OS?
If you couldn't tell, I'm a Unix/Linux systems-programmer type.
Err.... 2.1 - 0.9 = 12 in normal mode
2.1 - 0.9 = 2091 in scientific mode
??
Same problem as the other calculator posted in another thread. Cannot handle decimal places. Wonder why ?
The layout however looks good so if this can be rectified it will be great.
Thanks.
I would like a file browser kind of flash utility which will give me the following details when selected for a file in the browser mode :
Codec, length of clip in minutes:seconds, file size, file date.
Is this possible ?
2nowyoucanlaugh: Hi! I will think about that when I'll finish the simple & scientific version :)
2Maxwell Smart: thnx! I know Clix is capable of much more for now (File saving, Quit button, Many informations like battery life, CPU, RAM etc...). D2 isn't capable of all this at least for now... I really hope they'll add these functionalities in the future version of the firmware
2yezdi: This is a real problem with Flash Lite :/ Everything works fine on PC (just try to run the swf in your browser...) but when I lounch it at my D2 anything that has something to do with decimal numbers is totally screwed up :/ I will try to ask someone about this...
Check out my answer to Maxwell Smart...
________
Cb1000R (http://www.honda-wiki.org/wiki/Honda_CB1000R)
2yezdi: This is a real problem with Flash Lite :/ Everything works fine on PC (just try to run the swf in your browser...) but when I lounch it at my D2 anything that has something to do with decimal numbers is totally screwed up :/ I will try to ask someone about this...
Check out my answer to Maxwell Smart...
Maybe the flash virtual machine on D2 doesn't support floating point yet and so all math operations are integer only.
ManchesterBaby
06-04-2007, 14:00
Maybe the flash virtual machine on D2 doesn't support floating point yet and so all math operations are integer only.
If so you can always emulate floating point operations with integers using bitwise logical operations and shifts. Even that might be over the top for a calculator however!
I've been looking at programming this flash stuff. All i've worked out so far is that flash is a load of crap! Why couldn't cowon have put a java vm on it instead? That would have been much more useful... and there's an even greater library of existing games (mostly for phones etc) than there is for flash!
Ah well!
2punit: You are probably right... I have seen similar problems on other forums and it was always beacuse of that :( Do you have any idea how to correct it?
2ManchesterBaby: Flash is much better than Java, AS3 is an extremely powerful language. The only problem is Flash Lite :/
P.S.: You would have the same problem with Java ;) The hardware is the same
________
Cs1X (http://www.yamaha-tech.com/wiki/Yamaha_CS1x)
A useful feature would be for the equal sign to repeat the last operation if typed twice:
ie:
2*2= will show 4 and pressing = will show 8 :)
(I'm updating the flash-pack with your version 0.4 and the tetris and HoleInOne and the other calculator from other threads soon!)
(as for flash being better than java i would disagree and say they have different objectives ;-)
2R-R: I'll probably add it for the next version... The only problem is that without resolving the floating point problem all the calculator will be useles :/ But I'll release the 0.5 version anyway...
________
Sex Tube (http://www.fucktube.com/)
0.5 released! This time a feature release...
- Shift button in Scientific mode giving access to more functions
- n! (Factorial)
- atan
- random
- mod (Modulo)
- % now works correctly
- pressing = several times reapplies your last action. ex.: [5]+[5][=][=] = 15
Important: The problem with floating point is still there! This is still an alpha. Please don't redistribute the program to the wider audience!
________
A Engine (http://www.toyota-wiki.com/wiki/Toyota_A_engine)
2punit: You are probably right... I have seen similar problems on other forums and it was always beacuse of that :( Do you have any idea how to correct it?
I don't think there is a way this can be corrected except for writing your own floating point emulation or wait for Cowon to add floating point support. Just to clarify, in scientific mode do your functions like logarithms, atan etc work? If there is no floating point support then even these functions should not work.
On a different note, if somebody finds a way to flash the D2 with custom firmware then it would open up a whole host of possibilities. From what I read about the processor in D2, it might even have a Java Virtual Machine decode engine in it. [shocked]
Now if only I could lay my hands on the telechips manual.
ManchesterBaby
06-05-2007, 06:57
On a different note, if somebody finds a way to flash the D2 with custom firmware then it would open up a whole host of possibilities. From what I read about the processor in D2, it might even have a Java Virtual Machine decode engine in it. [shocked]
Now if only I could lay my hands on the telechips manual.
It's just an ARM processor. You are correct: some models of these (with a J in the name e.g. ARM926EJ) have the ability to execute java bytecode directly (http://www.arm.com/products/esd/jazelle_home.html). This is intended to accelerate java execution on the portable devices (mainly mobile phones) that ARM processors quite frequently find themselves inside!
Opening up the D2 by loading custom firmware on is the best thing that could ever happen to the D2! Not having any documentation for the main chip sure makes it hard, however you can always play about with the existing firmware to see how it behaves. That wouldn't be a bad starting point... (i've had a quick look using an ARM simulator but unfortunately don't really have the time to do it properly)
It's just an ARM processor. You are correct: some models of these (with a J in the name e.g. ARM926EJ) have the ability to execute java bytecode directly (http://www.arm.com/products/esd/jazelle_home.html). This is intended to accelerate java execution on the portable devices (mainly mobile phones) that ARM processors quite frequently find themselves inside!
Opening up the D2 by loading custom firmware on is the best thing that could ever happen to the D2! Not having any documentation for the main chip sure makes it hard, however you can always play about with the existing firmware to see how it behaves. That wouldn't be a bad starting point... (i've had a quick look using an ARM simulator but unfortunately don't really have the time to do it properly)
Could you please point me to a good ARM simulator? I tried looking for some tools to help me understand what's going on but didn't have much luck (maybe I don't know the right thing to search for).
As for it being just an ARM processor you are right. But there are important differences - its a dual processor IC - ARM926EJ-S and ARM946E-S. This probably implies there is a master slave configuration at work. Also there are a multitude of peripheral devices supported - LCD, Touchscreen, SD card interface, USB interface, etc. Without the manual all the information about interfacing will have to be guessed from the firmware. Although not impossible (I hope) it is a very long and arduous task.
But yeah it would really help if you could point me to a decent ARM simulator. Would appreciate a ton. You just might have your wish of having a JVM interface.
2punit: I thought that it is a hardware problem and not a firmware problem that could be corrected by Cowon... If it is the second case I hope they'll read this thread =D
P.S.: How can I write my own floating point emulation? thnx
________
Ford Eucd Platform (http://www.ford-wiki.com/wiki/Ford_EUCD_platform)
This is Fantastic seifip!
I guess I'll be using my d2 as a calc for now on ! ;*) this should really turn some heads.
One request if it isn't to much trouble for you. The Equal and clear buttons... On most calculators the equal button is in the lower right corner of the numbers and this has become a natural area for me to press for it. The clear on the other hand is normaly placed up above. I erased my calculation a couple of times while testing it just because of my inability to adapt to the button configuation.
Again! Great Job! Thank You!!!
2punit: I thought that it is a hardware problem and not a firmware problem that could be corrected by Cowon... If it is the second case I hope they'll read this thread =D
P.S.: How can I write my own floating point emulation? thnx
I wouldn't really call it a hardware problem. From studying the hardware specs it seems that there is no floating point hardware on the d2 (I could be wrong).
But even without the floating point hardware it is possible to do floating point operations if there is a floating point library available in the underlying system.
If that is also not possible, then you'd have to write the logic for performing floating point operations yourself. e.g. if the user enters 10.5 + 11.3 = 21.8 then basically you'd have to add them as integers and then decide where to place the decimal point in the output.
Similarly with other operations... The way to think of it would be - given only integer operations, how would you do floating point (i.e. fractional arithmatic)?
Having said that, I would like to help. But a lack of d2 (still awaiting delivery) and knowledge of ActionScript hinders me.
2HueMann: thnx :) Nice to hear your compliments... Don't firget about the floating point problem through... P.S.: I'll think about the button placement...
2punit: Thnx for all your help :) In what language do you program? ActionScript is very similar to Java, JavaScript etc. as it is an ECMAScript lannguage so I can easilly translate it from these languages. I should be as well able to translat from C++ P.S.: I'ms sure you'll love your D2 ;)
________
Honda Mt250 (http://www.cyclechaos.com/wiki/Honda_MT250)
http://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
If this can be of any help in the float calculation in integer land problem :-)
ManchesterBaby
06-05-2007, 18:06
Could you please point me to a good ARM simulator? I tried looking for some tools to help me understand what's going on but didn't have much luck (maybe I don't know the right thing to search for).
I'm not sure really. I'm sure open source ones exist (i've heard people mention them in the past but i can't really remember). If i find one i'll point you in the right direction. A quick google brings up 'skyeye', not tried it so don't know if it's any use. Give it a go! At the moment i'm just using one that i wrote myself (for analysing code as part of my phd) but it's hardly what i'd call "decent"! (it's a mess basically as i've just hacked analysis stuff onto it for the past couple of years - i'm quite frankly amazed it still works!) When i've finished and have time (in a few months hopefully) i might remove all that stuff and open source it, but it's still incomplete as far as a full simulator goes (it doesn't support Thumb for a start, though to be fair i didn't notice any thumb code in the firmware file i looked at anyway)
As for it being just an ARM processor you are right. But there are important differences - its a dual processor IC - ARM926EJ-S and ARM946E-S. This probably implies there is a master slave configuration at work. Also there are a multitude of peripheral devices supported - LCD, Touchscreen, SD card interface, USB interface, etc. Without the manual all the information about interfacing will have to be guessed from the firmware. Although not impossible (I hope) it is a very long and arduous task.
Yeah there's two ARM cores - i suspect they're fairly independent - it's not an SMP setup that's for sure! All the other stuff is probably just memory mapped I/O, like you say not impossible but a faff to work out.
Aaaaanyway, this is all getting a little off topic, especially as this thread appears to have migrated to the new flash sub-forum. Maybe we should start a "hacking the D2's firmware" thread, heh...
Maybe we should start a "hacking the D2's firmware" thread, heh...
Not until someone figures out how exactly the firmware is protected.
Not until someone figures out how exactly the firmware is protected.
Apologies for continuing the hijack...
What do you mean protected? Has somebody tried to modify the firmware and load it up - say by modifying a user visible screen text? Do you have a pointer to the relevant discussion?
Earlier today I was trying to understand the firmware binary and made some headway with the help of a person on rockbox irc. Would like to connect and share info with others on the same boat.
Maxwell Smart
06-06-2007, 01:18
Apologies for continuing the hijack...
What do you mean protected? Has somebody tried to modify the firmware and load it up - say by modifying a user visible screen text? Do you have a pointer to the relevant discussion?
MaxSt himself has hacked up the resource (_rs) and font (_font) files.
Earlier today I was trying to understand the firmware binary and made some headway with the help of a person on rockbox irc. Would like to connect and share info with others on the same boat.
Keep talking, please. [smile]
Maxwell Smart
06-06-2007, 01:42
Huh. The firmware doesn't even seem to be encrypted. Running "strings" on 3.50b's 0/d2N.bin turns up some stuff.
This is just the first 20% of the file, with what looked like false positives (probably ARM opcodes that happen to fall within printable ASCII) stripped out.
Some of this won't make much sense to non-programmers. The %-happy things are C format strings.
Ver:0071|
RECORD
RECORD
RECORD
PICTURES
SYSTEM
MUSIC
VIDEO
TEXT
LINEIN
VOICE
BRWS_DeleteFile: uiFileIdx=%d, uiFolderIdx=%d
LINEIN
VOICE
VIDEO
TEXT
PICTURES
RECORD
SYSTEM
MUSIC
VIDEO
PICTURES
TEXT
RECORD
RECORD
VOICE
LINEIN
NAND2
NAND3
NAND4
D2_EXT
MMC2
MMC3
MMC4
_FILEDB.CFG
F.O.L.D.E.R.L.I.S.T.
F.I.L.E.L.I.S.T.
C.W.F.O.L.D.E.R.L.I.S.T.
N.A.M.E.L.I.S.T.
\SYSTEM
PARAM.CFG
cover.jpg
UMS
NON UMS
MTP Connected
MTP PLAYBACK
ROM SIZE BIG
**ERROR**
ERASE
RETRY
Complete!
Start
File System
Fail
Succeed
mmc_basic.c
[%s,%d] Rsp TO
[%s,%d] DRsp Timeout
[%s|%d] CRsp Timeout
[%s|%d] Rsp Crc
image/jpeg
image/jpg
AUDIO : %d
AUDIO_OPEN_DECODE: ulTime=%d
AUDIO_OPEN_DECODE: AudioMsg->ulTargetTime=%d
[TCCDemux:%d] Disk Full!! (%d)
DEMUX : %d
DB VIDEO : %d
[pMP3_DEC_ADS.c:%d] Check Close Codec
TDAB*.MP2
TDMB*.TES
Start DMB Record [%s]
DMB Record Memory alloc fail (%d)
No Music
No Video
VOICE
LINEIN
No File
UI_DRV_PowerDown==>%d
BIDLE: g_menu_vars.g_musicResumeSec=%d
g_menu_vars.g_rec_linein_volume==>%d
%d Sec
Always
4 PAL
NTSC
%d Min
user :[hour : %d][minute : %d]
Cycle
Once
Daily
Duration
Always
%d min
Year
Month
Date
%d MB
GREEN
BLUE
NTSC
%d%%
Always
%d Sec
%d k
Off
startObj==>%d || %d
Obj ===>%d
g_Current_ID ==>%d songtitle ==>%d
g_menu_vars.g_timer_WakeUpMode==%d
UI_Event_MoviePlay: UI_DRV_GetTotalMusicFileNum() =%d
%3d%%
%2d sec
UI_Event_Set_TextBMKId : g_Current_ID : %d, g_CurrentObj : %d
cur mode =>%d
day ==>%d
temp_offset ==>%d
RTC year : %d month : %d day : %d
User year : %d month : %d day : %d
RTC dd : %d h: %d m :%d
USER dd : %d h: %d m :%d
H:%d
M:%d
temp_offset 1 =%d
temp_offset 2 =%d
%02d %d.%02dMhz
%02d None
start -->%d
g_CurrentObj ==>%d
[direct seek] cur_time = %d, dest_time = %d
Loading
%04d.%02d.%02d
%s %02d:%02d:%02d
Readonly
UI_NAVI_DeleteFile: curTime=%d
UI_NAVI_DeleteFile: curBasicMode=%d
3 UI_NAVI_DeleteFolder: %s
111+(38 * ( i -5))+corr=>%d
Temp_Eq[%d] =%d || %d
[BSAC] mem alloc OGGHeap [0x%x]
[BSAC] mem free OGGHeap [0x%x]
/SYSMEM
/NonCache
[main.c] Cachable memory pool from [0x%x] size=[0x%x]
[main.c] Non-Cachable memory pool from [0x%x] size=[0x%x]
FWDN
BROWSER
AUDIO
VIDEO
SIMAGE
DEMUX
SYNC
H_DECODE
CHANNEL
DATASERVICE
DEMON Q
AUDIO Q
VIDEO Q
DEMUX Q
JPEG Q
SL Q
TSD Q
DMB Q
MUSICAM
SEM DEM
SEM AUD
SEM VID
SEM JPEG
SEM DMA
SEM FCA
SEM CMS
SEM_SYNC
SEM_HD
SEM CAP
SEM SCO
SEM FCB
SEM EFF
SEM RDO
SEM_CHN
FRONT_S
BB_I2C
SEMA
Interrupt_Evt
SCORE_HISR
DAB_IRQ
GPSBDMA_IRQ
I2C_HISR
[MAIN.c:%d] Memory Allocation Error!!
HISR_LCD
TCCTimer
KeyTimer
Codec Structure Memory Allocation Error
start
mount
File System
Device
Can't format
7 Succeed
Mount
\SYSTEM
iAUDIO 320x240C
DB 8@-
PARAM.CFG
USER.WIF
[pJPEGDEC.c:%d] We don't support!! (0x%08X)
0123456789
ulSampleRate=%d
FileName : %s
\Lyrics
ENRC*.WMA
VORC*.WMA
FMRC*.WMA
\SYSTEM
Radio.ini
[FM]
S%d=%d
N%d=%s
SYSTEM
MASS_PROT_CheckCommand:0x01
WMA Windows Media(tm) Audio
0123456789abcdef
0123456789ABCDEF
Album
ALBUM
album
Artist
ARTIST
artist
Title
TITLE
title
x-album
x-artist
SIMAGE : %d
[DEMON] HeaderDecodeOK - ReqID Not Match![R=%d,C=%d]
BSAC
ADSI
LYRICSBEGIN
APETAGEX
[BSAC] mem alloc stBSAC [0x%x]
[BSAC] mem free stBSAC [0x%x]
[BSAC] mem alloc BSAC_instance [0x%x]
[BSAC] mem free BSAC_instance [0x%x]
[HISR_GPSB_Handler:%d] Buffer Full!!
[SL_DecodeHeader] TS Error Count = %d
[TCCSyncLayerTask.c:%d] Memory Allocation Error!!
[SL_DecodeHeader] Data Pkt ContCnt Skip %d
[SL_DecodeHeader] Not found 0x47, cnt=%d
SYNC : %d
[SLTask] mem alloc ptrAudioBuffer [0x%x]
[SLTask] mem alloc ptrVideoBuffer [0x%x]
[SLTask] Audio : ReqSize[%d] Max[%d] Avg[%d]
[SLTask] Video : ReqSize[%d] Max[%d] Avg[%d]
0x%x
[SLTask] mem free ptrAudioBuffer [0x%x]
[SLTask] mem free ptrVideoBuffer [0x%x]
[wmv parse] mem alloc ptrAudioBuffer [0x%x]
[wmv parse] mem alloc ptrVideoBuffer [0x%x]
[wmv parse] mem alloc gpWmvBuf [0x%x]
[wmv parse]Header Parsing Error %d
[wmv parse] mem free ptrAudioBuffer [0x%x]
[wmv parse] mem free ptrVideoBuffer [0x%x]
[wmv parse] mem free gpWmvBuf [0x%x]
[Header:%d] Always Cleared Channel Info!!
[MPEG4Audio] mem alloc stMP3 [0x%x]
[MPEG4Audio] mem alloc MP3_instance [0x%x]
[MPEG4Audio] mem alloc MP3_scratch [0x%x]
[MPEG4Audio] mem alloc MP3_streambuffer [0x%x]
[MPEG4Audio] mem free stMP3 [0x%x]
[MPEG4Audio] mem free sMP3_instance [0x%x]
[MPEG4Audio] mem free sMP3_scratch [0x%x]
[MPEG4Audio] mem free sMP3_streambuf [0x%x]
00dc01wbNew Vidx=%d
New Franemum=%d
H264
SPS
PPS
[pH264Dec:%d] mem alloc pInstanceDataBuffer [0x%08x]
[pH264Dec:%d] mem free pInstanceDataBuffer [0x%08x]
[pH264Dec:%d] mem alloc pRBSPBuffer pRBSPBuffer [0x%08x]
[H264DEC] ERROR : Frame Type [%d]
[pH264Dec:%d] mem free pRBSPBuffer [0x%08x]
hr!KOREA
SEOUL
!No Channel Scanned
Adjust your Antenna
or Move to Open Area
No Service
CHANNEL %02d
DMB Channel Scan
!%02d
jA ``
(kA ,kA \
kA \
kA >@-
[AACP] mem alloc pstAAC [0x%x]
[AACP] Error At EAACPlusCodecOpen= %d
[AACP] FrameSize=%d, Ch=%d
[AACP] FrameSize=%d, ChannelNumber=%d
[AACP] Error : 0x%8X
[AACP] mem free pstAAC [0x%x]
WMV_P4SPortableReq error => wma_avg_bitrate : %d
WMV_P4SPortableReq error =>: wma_ch_num : %d
WMV_P4SPortableReq error => wma_codec_id : %d
WMV_P4SPortableReq error => wma_max_bitrate : %d
WMV_P4SPortableReq error => wma_sampling_rate : %d
WMV_P4SPortableReq error => wmv_avg_bitrate : %d
WMV_P4SPortableReq error => wmv_codec_id : %d
WMV_P4SPortableReq error => wmv_codec_profile : %d
WMV_P4SPortableReq error => wmv_color_depth : %d
WMV_P4SPortableReq error => wmv_frame_rate : %d
WMV_P4SPortableReq error => wmv_max_bitrate : %d
WMV_P4SPortableReq error => wmv_width_x : %d
WMV_P4SPortableReq error => wmv_height_y : %d
]A WMA Windows Media(tm) Audio
[wmv] memory alloc FrameReadBuffer (0x%x)
[WMV] GetFifo ERROR : %d
4 PushFifo : %x, PopFifoReference : %x
[WMV] PushFifo ERROR : %d
D\A
TAG
LYRICSBEGIN
APETAGEX
[pLocalH264Dec:%d] mem alloc pucH264EncodedData [0x%08x]
[pLocalH264Dec:%d] mem alloc pInstanceDataBuffer [0x%08x]
]A [pLocalH264Dec:%d] mem free pInstanceDataBuffer [0x%08x]
[pLocalH264Dec:%d] mem alloc pRBSPBuffer pRBSPBuffer [0x%08x]
[H264DEC] ERROR : SPS or PPS [%d]
4 t]A [H264DEC] ERROR : Frame Type [%d]
[pLocalH264Dec:%d] mem free pRBSPBuffer [0x%08x]
[pLocalH264Dec:%d] mem free pucH264EncodedData [0x%08x]
BB [MEM]%s(%d): Illegal pointer acquired
I2C SEMA
LCD SEMA
3 [AUD DRV] mem free ptrPCMDataBuffer [0x%x]
[AUD DRV] mem alloc ptrPCMDataBuffer [0x%x]
Succeed
UnMount
Fail
*** MUSICAM SR: %d, BR : %d
[TccDMBDb.c:%d] No Ensemble!!
[TccDMBDb.c:%d] Fail to find Ensemble!!
[DMBDB_GetEnsembleTree:%d] ERROR!!
[DMBDB_GetEnsembleTree] EId=0x%04X. Label=[%s]
[DMBDB_MakeSvcEnt:%d] SubCh Find Fail!!
[TccDMBDb.c:%d] Fail to find Service!!
[TccDMBDb.c:%d] Fail to find SubChannel!!
DMBDB_CmpEnsembleInfo
[%s:%d] %d %d
[%s:%d] %s %s
DMBDB_CmpServiceInfo
DMBDB_SubChannelInfo
[%s:%d]
%02x
[DMBDB_OnReconfiguration:%d] ERROR!!
[DMBDB_OnReconfiguration:%d] Not Exist Previous Ensemble ID!!
[DMBDB_OnReconfiguration:%d] Not Exist Previous Service ID!!
[DMBDB_OnReconfiguration:%d] Not Exist Previous Channel ID!!
[DMBDB_OnReconfiguration:%d] Diffent Channel Type!!
[DMBDB_OnReconfiguration:%d] Not Same BitRate!!
[DMBDB_OnReconfiguration:%d] Seamless Service!!
[TccDMBDb.c:%d] Fail!!
3 Sector Erase 0x%08x
[TccDMBDb.c:%d] Nor Init Fail!!
[TccDMBDb.c:%d] Memory Allocation Error!!
[TccDMBDb.c:%d] Wrong Ensemble Information!!(%d)
[TccDMBDb.c:%d] Wrong Service Information!!(%d)
[DMBDB_RestoreFromNOR:%d] ERROR!!
\SYSTEM
[TccDMBDb.c:%d] Error!!
DMBDB.CFG
[TccDMBDb.c:%d] Error Create File!!
[TccDMBDb.c:%d] Error Open Dir!!
[TccDMBDb.c:%d] Error Open File!!
[DMBDB_RestoreFromFile:%d] ERROR!!
[dmbIO_BB_I2C_Read] Error 0x%02X, 0x%02X, %d
[dmbIO_BB_I2C_Write] Error 0x%02X, 0x%02X
[dmbIO_RF_I2C_Read] Error 0x%02X, 0x%02X, %d
[dmbIO_RF_I2C_Write] Error 0x%02X, 0x%02X
[DMB_AutoScanStop] Number of Ensemble : %d
[dmb_BBSetEnsemble:%d] %d %d
[DMB_CheckScanStatus]BB_SYNC_NO_SIGNAL, PrevStage : %d
[Dmb.c:%d] Reconfiguration Occurred!!
maxBufSize : %d, packetSize : %d
[DAB_CodecDecode:%d] Error!
H x %02d, %x
DAB Ch %d -> %d
[pMP2Dec_DAB.c:%d] Error!!!
CRC %02d, %x
Photoshop
Exif
FWDN MODE
Open failed (%s), -%d
Open Success (%s), %d
FWDN
TDC file Get count = %d
SubCore Test Program
Arg1=%d, Arg2=%d, return value = %d
[DMB_TSH_Init] 0x%08X 0x%08X 0x%08X
TCCAPI_SF.c
%x, %x
D2N.BIN
D2N_FONT.BIN
D2N_rs.bin
ZERO
FWDN
GANG
Store_HPVdB=%d, JetEffect_AdjustVolume(Store_HPVdB)=%d
%d.%02d
[%04d/%04d]
[%05d/%05d]
[%02d/%02d]
|!USB Connected
!Disconnected
preset mode ==>%d
CH %.2d
~!%.1d
%.2d
highlight ==>%d
FLAC MetadataCallBack type %d %d %d
min block size : %d
max block size : %d
min frame size : %d
max frame size : %d
sample rate : %d
channels : %d
bits / sample : %d
tot samples : %d
size : %d
ALBUM
Album
album
ARTIST
Artist
artist
TITLE
Title
title
FLAC init done %d
guwDecFailCount : %d
gpFLAC : %x, sizeof(tFLAC) : %x
outbuf : %x, FLAC_OUTPUT_BUF_SIZE : %x
gaucAdDecoderInBuf : %x, FLAC_DECODER_BUF_SIZE : %x
FLAC
cue sheet must have at least one track (the lead-out)
CD-DA cue sheet must have a lead-out track number 170 (0xAA)
cue sheet may not have a track number 0
CD-DA cue sheet track number must be 1-99 or 170
cue sheet track must have at least one index point
cue sheet track's first index number must be 0 or 1
cue sheet track index numbers must increase by 1
decoder : %x, sizeof(FLAC__StreamDecoder) : %x
flac -> size = %x, channels = %x
n7 ;
data = %d
gTScurrItemNumber[gTScurrItemIndex] ==%d
[COWON D2]
0E21
0800
\SYSTEM
%04d-%02d-%02d
RIFFAVI movi00db01wb00dc
n7 [Avidec:%d] Size Error!! (%d:%d)
[Avidec:%d] Memory Alloc Error!!
BSACADSIH264SPS PPS 8@-
JPEGMEM
%ld%c
APE
MAC
Artist
Album
Title
APETAGEX
RIFF
WAVE
fmt
data
%s %03d:
+--------------------+
| Supported Commands |
%04d : %s %s
%08X :
%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c
%04x %04x %04x %04x %04x %04x %04x %04x
%08x %08x %08x %08x
USAGE: dm [b|h|w] [start] [length]
[%08X] = %02X |
[%08X] = %04X |
[%08X] = %08X |
USAGE: wm [b|h|w] [start]
3 D8
MR-NEXT : OP(%d), NEXT_LBA(0x%x)
MR-START : 0x%x (%d)
MW-NEXT: OP(%d), NEXT_LBA(0x%x)
MR: 0x%x (%d)
MR-NEXT: OP(%d), NEXT_LBA(0x%x)
SR : 0x%x (%d)
MR : 0x%x (%d)
MW-START: 0x%x (%d)
WriteMulti : 0x%x (%d)
SW : 0x%x (%d)
MW : 0x%x (%d)
7 hH
TC_MEDIA
TCC78X NAND
FAT12
FAT32
FAT16
EVENT
SEM 0
TC_MEDIA
TCC78X NAND
01wb
00dc
LISTmovi
idx1
LIST
INFOISFT
AVI Container-v0.0.1
TES Container-v0.0.1
(C)Telechips Inc....
EMIT
ANYD
TNVE
TNVE
UEUQ
UEUQ
AMES
AMES
AMES
KSAT
CSAT
RSIH
KSATRSIH
KSAT
OREZ
Image Too Large
No Memory
**ERROR**
ZERO
FWDN
GANG
7 Image Too Large
No Memory
**ERROR**
NAND Firmware 1
Check CRC
Fail to
NAND Firmware 2
NAND Firmware
Upgrade
7 Image Too Large
No Memory
**ERROR**
Image Too Large
No Memory
**ERROR**
ZERO
FWDN
GANG
OREZ
RxSize=%x
Diff Error at %d
Offset=(%d,%d)
RFC2630
aes128cbc
Combined
Separate
1.3.4
SSE;AES128CBC;
MIN;GID;
BDLX
XsYnCdRm
MaDRM_{6FAFCD03-A7EF-451c-8137-A68741C9B491}
MADRMCONTENT
DOMAINNAME
REQURL
SKIPOFFSET
1.03.01
XDRMINFO.SYS
MALICENSE
COUNT
PERMISSION
DURATION
WHEN
DURATIONWITHDATE
SUBSCRIPTION
PACKKEY
TCCMSCDEBUGHEAD
SEGMMRK
WMV3
WMV2WMV3WMVAWVC1WMVPWMS2M4S2MP4SMP43MP42MPG4
IYUVI420
YV12YUY2<*
UYVY
YVYU
WMCDec_BadPacketHeader-Vpath
test----------------------------------------
[wmc]test1------------------------------------------------
WMCDec_BadPacketHeader -Apath
MEDIA
ZERO
FWDN
GANG
TNFTLDEBUGCOMMAND
RRaA
rrAa
Error %d: %s
LISTavih@B
strhstrfXVIDRIFFAVI hdrlstrl
xvidvids
audsD
ANYD
TNVE
TRAP
UEUQ
AMES
KSAT
RSIH
KSAT
8@-
EMIT
USBC(
/USBS0@-
/8@-
Control/Bulk
Control/Bulk/Interrupt
Unknown
Reduced Block Commands (RBC)
8020i
QIC-157
8070i
Transparent SCSI
Uniform Floppy Interface (UFI)
p@-
TAG
LYRICSBEGIN
APETAGEX
ADIF
4pg3
encryption-method
padding
plaintextlen
hlen
rights-issuer
content-name
content-description
content-vendor
icon-uri
eTarget
eCEK
cidType
dMethod
eValue
Usage-Control
Time-Not-After
Allowable-Services
eAuthCode
Meta-Container
encoding
aes128ecb
aes128cbc
aes128cfb1
%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x
time-not-after
allowable-services
%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x
min
dinfo.sys
&
"
<
>
DURATIONWITHDATE
STARTDATE="
DURATION
SUBSCRIPTION
BEGINDATE="
ENDDATE="
MAL
DRM
vorbis
TRAP
SYSTEM H
Somebody let me know if they recongize a unique string from a GNU GPL'ed library. [devil]
Huh. The firmware doesn't even seem to be encrypted. Running "strings" on 3.50b's 0/d2N.bin turns up some stuff.
This is just the first 20% of the file, with what looked like false positives (probably ARM opcodes that happen to fall within printable ASCII) stripped out.
Some of this won't make much sense to non-programmers. The %-happy things are C format strings.
<snipped strings>
Somebody let me know if they recongize a unique string from a GNU GPL'ed library. [devil]
Exactly, seems like an unencrypted ARM binary. I already did the strings experiment. Also using arm-elf-objdump seemed to be spitting out valid ARM code. This was performed by linuxstb on #rockbox since I don't have a working ARM toolchain on my laptop.
Also there seems to be some sort of header in the binaries - specially the ones in folder "0" and "1". Also the d2N.bin in "0" from firmwares 2.41, 2.45 and 3.50 are identical. Which explains the upgrade procedure not requiring "0" binary to be used for firmware versions > 2.41.
As for the firmware binary, the first 16 bytes seems like a magic number. They are same in all the d2N.bin I looked at. The 4 bytes starting from offest 10h (0 based) is the size of file in little-endian format.
The actual data seems to start from 60h. There seems to be some unused space in the header represented by the zeros before 60h.
All this leaves 8 bytes (offset 18h-1fh) which vary between the d2N.bin - possibly dependent on the file contents, a checksum/hash maybe. In order to find out if that is the case, we need to find a string which shows up in the UI and change a character. And then try upgrading with the modified d2N.bin. If the upgrade goes through then no checksum. If it doesn't then we need to hunt for the checksum and the algorithm used to generate it.
Now since I am still awaiting the delivery of my D2 I have no way of doing the string modification experiment. Would it be too much to ask you do try that?
In the meanwhile I am going to try and see if I can write a program to verify checksum theory since that is about all I can do.
Another observation made of the strings in the firmware, some strings, e.g. "Pure virtual fn called", are repeated in the firmware. Which makes me think that there are more than one file packed in the firmware. But don't know how to verify it for now.
I did some string searches on google from the ones found in d2N.bin. I think the flac strings are from xiph.org. Though I didn't verify that in great depth. Most other strings didn't really return anything useful.
*Whew* Your turn.
ps: and maybe "Hacking the firmware.." thread is a good idea. Save me the trouble of locating this one (I am a n00b at using forums).
2punit: Thnx for all your help :) In what language do you program? ActionScript is very similar to Java, JavaScript etc. as it is an ECMAScript lannguage so I can easilly translate it from these languages. I should be as well able to translat from C++ P.S.: I'ms sure you'll love your D2 ;)
I mostly use C, C++ and Java. But don't have experience with implementing floating point algorithms.
But before you go ahead with the implementation, you should wait for the non-beta release of the firmware. They might just decide to add floating point support.
And another of my hope is that somebody is able to figure out how to modify the firmware itself. That opens up a lot more possibilities.
In the meanwhile I am trying to read a bit of ActionScript to see what kind of language it is (specially the one that works on Flashlite 2.1).
2punit: I suggest you to learn ActionScript 3 as it will be very similar to Java for you and much easier to understand :) Additionally it will be much more useful than AS2 in the future...
________
Xxx (http://www.fucktube.com/)
The 4 bytes starting from offest 10h (0 based) is the size of file in little-endian format.
No, the size of the file is at 1Ch-1Fh.
All this leaves 8 bytes (offset 18h-1fh) which vary between the d2N.bin
No, it's 10h-13h and 18h-1Bh. That's the checksums.
Maxwell Smart
06-06-2007, 12:28
Exactly, seems like an unencrypted ARM binary. I already did the strings experiment. Also using arm-elf-objdump seemed to be spitting out valid ARM code. This was performed by linuxstb on #rockbox since I don't have a working ARM toolchain on my laptop.
Awesome. I don't have an ARM toolchain on any of my boxen, so I'm glad to know someone's already objdumped the firmware.
Also there seems to be some sort of header in the binaries - specially the ones in folder "0" and "1". Also the d2N.bin in "0" from firmwares 2.41, 2.45 and 3.50 are identical. Which explains the upgrade procedure not requiring "0" binary to be used for firmware versions > 2.41.
Aye.
As for the firmware binary, the first 16 bytes seems like a magic number. They are same in all the d2N.bin I looked at. The 4 bytes starting from offest 10h (0 based) is the size of file in little-endian format.
Yeah, ARM is little-endian, IIRC, so that's the storage format you'd expect for a typical 32-bit int.
The actual data seems to start from 60h. There seems to be some unused space in the header represented by the zeros before 60h.
I'd guess this an artifact of the archiver they're using.
All this leaves 8 bytes (offset 18h-1fh) which vary between the d2N.bin - possibly dependent on the file contents, a checksum/hash maybe. In order to find out if that is the case, we need to find a string which shows up in the UI and change a character. And then try upgrading with the modified d2N.bin. If the upgrade goes through then no checksum. If it doesn't then we need to hunt for the checksum and the algorithm used to generate it.
Only 64 bits, eh? Every secure checksum I know of is longer than this; MD5 is 128 bits, and the SHA family don't get any shorter than 160 bits.
Might just be CRC-64.
Now since I am still awaiting the delivery of my D2 I have no way of doing the string modification experiment. Would it be too much to ask you do try that?
Let me mull it over; I'm not sure I want to risk bricking my D2.
Another possibility would be to zero out what we think is the checksum, and see if the firmware still loads, right?
In the meanwhile I am going to try and see if I can write a program to verify checksum theory since that is about all I can do.
Cool.
Another observation made of the strings in the firmware, some strings, e.g. "Pure virtual fn called", are repeated in the firmware. Which makes me think that there are more than one file packed in the firmware. But don't know how to verify it for now.
I think that is a good null hypothesis. I think the days of embedded devices running one monolithic binary are over.
I did some string searches on google from the ones found in d2N.bin. I think the flac strings are from xiph.org. Though I didn't verify that in great depth. Most other strings didn't really return anything useful.
They probably use the standard libFLAC since it's fixed-point and doesn't subject them to copyleft.
Given the Engrish in a lot of the messages, I'm going to assume they're the product of in-house development.
*Whew* Your turn.
ps: and maybe "Hacking the firmware.." thread is a good idea. Save me the trouble of locating this one (I am a n00b at using forums).
Yeah; if I grow a big enough pair to try the checksum/string experiment, I'll migrate back to the Firmware sub-forum.
No, the size of the file is at 1Ch-1Fh.
No, it's 10h-13h and 18h-1Bh. That's the checksums.
Ok this is weird. Seems like the hex editor on the laptop was reversing the order in 16 byte chunks. But most likely this is my fault as it was my first day with the tool (0xED (Mac)).
On my linux box the addresses pan out with what you've got.
btw, how do you know 10h-13h, and 18hh-1Bh is checksum? Or is that a guess?
Awesome. I don't have an ARM toolchain on any of my boxen, so I'm glad to know someone's already objdumped the firmware.
To be honest I don't either. But am going to get one on my linux box now.
I'd guess this an artifact of the archiver they're using.
Only 64 bits, eh? Every secure checksum I know of is longer than this; MD5 is 128 bits, and the SHA family don't get any shorter than 160 bits.
Might just be CRC-64.
I was hoping that it is a simple checksum. We'll know better soon.
Let me mull it over; I'm not sure I want to risk bricking my D2.
I've read a thread on this forum where somebody had the recovery drivers. You might want to try there. As for me, I contacted a person on rockbox forums who offered the drivers if somebody wanted to do a port. I am awaiting his reply.
Another possibility would be to zero out what we think is the checksum, and see if the firmware still loads, right?
Right.
Yeah; if I grow a big enough pair to try the checksum/string experiment, I'll migrate back to the Firmware sub-forum.
Good luck with that. Let me know how it goes.
btw, how do you know 10h-13h, and 18h-1Bh is checksum? Or is that a guess?
It's a guess, but I think it's a good guess.
Need some sort of ARM debugger to figure out the algorithm, I think.
It's a guess, but I think it's a good guess.
Need some sort of ARM debugger to figure out the algorithm, I think.
I don't get it. How is an ARM debugger going to help you figure out the algorithm?
Most likely the software on the D2 performing the upgrade is responsible for verifying the checksum of the new firmware. And my guess is that piece of code is not in the firmware itself but a non-flashable part of the D2.
Even if the code is in the firmware binary, how will you know what part of the binary to look at? We still don't have any information on the structure and organization of the firmware apart from the initial progress with the header.
Even if the code is in the firmware binary,
I hope it's there
how will you know what part of the binary to look at?
Well, maybe debug from the beginning, or maybe around the place where strings "D2N.BIN" and "D2N_FONT.BIN" are found.
edwardlotz
06-07-2007, 21:01
I think I am missing something. I can't find how to quit the program ...the only way is power off the unit.
Is there a way to do this that I am missing?
Simplyblue
06-07-2007, 21:07
I think I am missing something. I can't find how to quit the program ...the only way is power off the unit.
Is there a way to do this that I am missing?
Hit the 'M' button on top of your unit.
Hit the 'M' button on top of your unit.
exactly.... that is for ALL flash apps/games, it`s the only way to end them
r_HIV...there's a known problem with decimal points on the calculator. read the 1st 3 pages (but im sure its on pg 2 & 3). its mentioned on those pages and the problems about it. author of this calculator knows about it.
Wow! I like the calculator very much!
I have another sci. calc. now :)
Hi,
first, please excuse my bad english.
I have tested the calculator on my PC (unfortunately I don't own a D2 yet).
I like the calculator. If I sometime own a D2 (I hope it will be soon) I want to use the program. But there are some problems:
I press [1][+][2][x][3][=] I expect the result 7 but the calculator shows 6
Nice to have:
Next calculation after pressing [=] without pressing [C]. At the moment, you have to press [C] after a calculation. If you don't press [C], the result of the first calculation is still on the display and the next number is added:
e.g.: [1][+][1][=] the display shows "2" If you now press [1], the display shows "21".
But if you now press [=] the calculator add the 1 of the first calculation and the display shows "22"
After pressing [C] there ist still some numbers in the memory. If you first press [C] and then press [+][1] the display don't shows 1 but something different. The "+1" is added to the last (ceared) result.
If you first start the program and then press [+][1][=] the display shows nothing!
I've tested the calculator (only the "simple" mode) with the Internet Explorer7. (Maybe this could be the problem?)
IMHO the layout ist not very useful. I would like this Layout:
[7] [8] [9] [x2] [%] [C]
[4] [5] [6] [x] [/] [C]
[1] [2] [3] [+] [-] [V]
[+-] [0] [.] [ = ] [^]
Bratzzo
2Bratzzo: thnx for you comment :) I know there are some problems and many possibilities to improve it but sadly I won't continue it's development before the floating points libraries will be added to the D2 by Cowon :( If anyone is interested in a standalone version of this calculator (an exe file, but without borders etc, similar to a widget) I could continue it's development for desktop...
________
Hawaii Dispensaries (http://hawaii.dispensaries.org/)
This is awesome!! A brilliant way to turn a cool multimedia player into a fully functional device =D
2Bratzzo: thnx for you comment :) I know there are some problems and many possibilities to improve it but sadly I won't continue it's development before the floating points libraries will be added to the D2 by Cowon :( If anyone is interested in a standalone version of this calculator (an exe file, but without borders etc, similar to a widget) I could continue it's development for desktop...
I had a brief look at flash programming and think that there won't be too much trouble implementing simple arithmatic operations (+, -, * and maybe /) for floating point numbers.
I am not good at UI and stuff but would like to have a working calculator on the D2. Would you be interested in collaborating on this?
2punit: I'll be glad if you could help me :) (and would surely write you in the credits) DO you have some IM?
Would it be possible to make this also with scientific functions or is it too hard to impliment?
________
Dc Marijuana Dispensary (http://dc.dispensaries.org/)
2punit: I'll be glad if you could help me :) (and would surely write you in the credits) DO you have some IM?
Would it be possible to make this also with scientific functions or is it too hard to impliment?
I'll send you my contact info in a private message.
About scientific functions, lets do this one step at a time starting with the simpler operations.
Did you get my contact info seifip?
I'm not sure whether this calculator supports decimal fraction so here's a simple one that does! For those who are interested i attatch the *.fla file as well.
To be clear, it's not an invention of mine :]
buggers1
07-18-2007, 03:12
This calculator uses floating-point numbers as well, so it won`t help in any way.
I'm not sure whether this calculator supports decimal fraction so here's a simple one that does! For those who are interested i attatch the *.fla file as well.
To be clear, it's not an invention of mine :]
This calculator uses floating-point numbers as well, so it won`t help in any way.
i tested it on my D2 and this new calculator works - you can do 10 / 3 and you will get 3>3333
awesome thanks Veget!
I think it's possible to create a simple calculator (+, -, *, /) without floating point numbers. I'm not a genius in flash programming but maybe I'll give it a try
thor2007
07-22-2007, 06:19
Hi,
I tried to script a calculator in flash too.
I figured out some interessting things, maybe not stated yet.
It is possible to calculate with fp-numbers and the d2 does it correctly.
But the d2 can't convert the fp-number with a fraction part correctly to a String. I wrote a workaround which is suiteable for common cases, with the limitation of a fixed number of positions after the dot.
Also there seem to be a problem with the Math.round function. It rounds a fp-number only to a 32bit integer, with the limited range -2147483648..2147483647. Lesser/higher fp-numbers the function will clip it to the min/max values.
Its better to write an own algorithm for rounding fp-numbers with the Math.floor function (this seems to work correctly on numbers higher than 2^31-1 and lesser than -2^31).
greets
That is a cool discovery. Great going thor!
So with a little more work the original calculator posted by Seifip should be able to do corrent floating point operations too.
Now if only he is around to read this thread. Haven't seen him around here in the last few weeks.
thor2007
07-23-2007, 14:02
thx...
Now I managed to upload a working example of my very simple calculator (only with rudimentary functions), which calculate with fp and max. 5 positions after the dot rounding the values mathematical correctly.
Numbers beyond +/-9999999999 will occur an softerror, because i don't have implemented a converting function to string and back to fp for exp-representation yet.
a question of own interest:
How is it possible to use dynamic text objects with right-alligned string content on the d2?
Hi!
I'm here :) I'll read through all of your comments and try to fix the current floating point problem ASAP ;)
Philip Seyfi, fs-studio.eu
________
Buy herbalaire vaporizer (http://www.vaporshop.com/herbalaire-vaporizer.html)
So should we be waiting for a .06 release with FP working for simple operations?
No... Cowon decided to program their own proprietary calculators instead of providing the required libraries to flash lite devs and the further improvement of my Calculator is useles. :)
________
VAPOR (http://vaporizer.org/)
man.dovvn
09-04-2007, 02:32
but to fix the FP problem, split the numbers into 2 strings, integer and fraction. add the length of the fractions, do an integer multiplication and pad the number with leading zeros until it's the length of both fractions put together.
And those proprietary calculators are in X.51(b)?
2man.dovvn: thnx, maybe I'll need it in the future :)
2Paul133: yep
________
Mercury Montego (http://www.ford-wiki.com/wiki/Mercury_Montego)
in_flames
10-06-2007, 12:32
I will try it
is it possible to implement a equation grapher alias function plotter in this calculator?
vBulletin® v3.8.7, Copyright ©2000-2013, vBulletin Solutions, Inc.