HP Forums
Really really fast BASIC handheld - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: Not HP Calculators (/forum-7.html)
+--- Forum: Not quite HP Calculators - but related (/forum-8.html)
+--- Thread: Really really fast BASIC handheld (/thread-12144.html)

Pages: 1 2 3


RE: Really really fast BASIC handheld - Stevetuc - 05-12-2020 08:40 AM

(05-12-2020 07:58 AM)Stevetuc Wrote:  
Quote:There's a Python 3 interpreter for 3DS XL or 2DS XL that includes the entire Python standard library including math, cmath, etc.

https://github.com/vbe0201/3DS.py

There is a port of the Numworks calculator to 3DS or 2DS on Github
https://github.com/numworks/epsilon/pull/1528

This also brings Python in a more accessible way if the port is working well . Ill load the .3dsx onto my N3DS XL and give it a try.

I have it running on my N3DS XL

There is a bug that the alpha keys cannot be selected( the mode deselects almost immediately)
However the calculator seems to work and the python mandelbrot example runs
mandelbrot(100) takes 39secs to run[attachment=8441]


RE: Really really fast BASIC handheld - berndpr - 03-08-2021 01:10 AM

Hi Stevetuc,

has you jailbreak the 3ds for Python?

Sorry, for my question, but I still using the Nintendo store with the 3ds and I don't want to lose this connection.

Do you know, if you can still using the Nintendo store with the homebrew launcher?

Thank you for your help in advance.

Bye Berndpr


RE: Really really fast BASIC handheld - Dave Britten - 03-08-2021 01:29 AM

(03-08-2021 01:10 AM)berndpr Wrote:  Hi Stevetuc,

has you jailbreak the 3ds for Python?

Sorry, for my question, but I still using the Nintendo store with the 3ds and I don't want to lose this connection.

Do you know, if you can still using the Nintendo store with the homebrew launcher?

Thank you for your help in advance.

Bye Berndpr

You definitely can use the eshop and online multiplayer with a hacked 3DS - I do! There are some precautions you should take to prevent getting banned, though. (Don't use cheats when playing games online, disable the "share data with Nintendo" option and also the option that lets friends see what you're playing, possibly disable SpotPass).


RE: Really really fast BASIC handheld - berndpr - 03-08-2021 08:22 PM

Dear Dave,

Thank you for your quick answer.

Bye
Berndpr


RE: Really really fast BASIC handheld - berndpr - 03-08-2021 08:50 PM

Dear Steve,

Quote:mandelbrot(100) takes 39secs to run

Is it right, the parameter 100 is the max iterations?

I have tried this with SmileBasic 3 on my new 2DSXL and got 11.97 seconds.
My program based with all parameter except iterations on the Python app from numworks. Numworks is using 20 iterations on youtube.
Yes, I have a numworks. This is the reason I'm come up with the idea to compare SmileBasic 3 on 2DSXL with other calculators.

I knew, Python is not the fastest language, but it interesting to see that this Basic with this program seems 3 times faster as Python. But this python is still fast.
There some runtime compare videos with Python on different calculators.

Bye
berndpr


RE: Really really fast BASIC handheld - berndpr - 03-08-2021 08:54 PM

Dear Steve,

Quote:mandelbrot(100) takes 39secs to run

Is it right, the parameter 100 is the max iterations?

I have tried this with SmileBasic 3 on my new 2DSXL and got 11.97 seconds.
My program based with all parameter except iterations on the Python app from numworks. Numworks is using 20 iterations on youtube.
Yes, I have a numworks. This is the reason I'm come up with the idea to compare SmileBasic 3 on 2DSXL with other calculators.

I knew, Python is not the fastest language, but it interesting to see that this Basic with this program seems 3 times faster as Python. But this python is still fast.
There some runtime compare videos with Python on different calcu

Bye
berndpr


RE: Really really fast BASIC handheld - berndpr - 03-08-2021 09:26 PM

Hello,

Because I'm curious, I bought SmileBasic 4 for the Nintendo switch.

And I don't like the new version. Especially the editor is using a tiny font on the switch screen. It's really hard to distinguish a "0" and a "8", because the zero has a nearly horizontal line inside.

But I tried to use the 8 queen benchmark test with exactly the same BASIC code on my switch witn the first hardware revision.

By 1000 repeated loop, I got

Switch 1. HW version with Smilebasic 4:
2.67 seconds without docking station
2.93 seconds with docking station

new DSXL with SmileBasic 3:
11.98 seconds.

The switch is only 4 times faster as a new 2DSXL.
I thought it should be more.

And the switch was in the docking station slower!

Maybe because of the higher resolution in the docking station, but the program shows 2 text lines at the start and 2 text lines at the end.

I think I still using the 2DS, because my 2DS fits in my shirt pocket, my switch definitly not.

Bye
berndpr


RE: Really really fast BASIC handheld - Dave Britten - 03-08-2021 10:00 PM

(03-08-2021 09:26 PM)berndpr Wrote:  But I tried to use the 8 queen benchmark test with exactly the same BASIC code on my switch witn the first hardware revision.

By 1000 repeated loop, I got

Switch 1. HW version with Smilebasic 4:
2.67 seconds without docking station
2.93 seconds with docking station

new DSXL with SmileBasic 3:
11.98 seconds.

The switch is only 4 times faster as a new 2DSXL.
I thought it should be more.

And the switch was in the docking station slower!

The speed difference between the two machines seems reasonable. The New 2DS/3DS XL CPU can run at 800 MHz, and the Switch CPU speed is 1020 MHz, whether docked or undocked. The Switch, of course, uses a much newer generation of ARM cores - Cortex A57 and A53 cores vs. the older ARM 11. And presumably the actual BASIC interpreter is only single-threaded, meaning it would only be running on one of the eight cores in the Switch, and one of the four cores in the 3DS, making the core-count difference largely irrelevant.

I'm not really sure why there would be such a measurable difference between docked and undocked performance in the Switch, though, particularly why it would be slower when docked. More CPU time needed to handle the higher GPU and memory bus speeds maybe?


RE: Really really fast BASIC handheld - Stevetuc - 03-09-2021 10:49 AM

(03-08-2021 08:54 PM)berndpr Wrote:  Dear Steve,

Quote:mandelbrot(100) takes 39secs to run

Is it right, the parameter 100 is the max iterations?

I have tried this with SmileBasic 3 on my new 2DSXL and got 11.97 seconds.
My program based with all parameter except iterations on the Python app from numworks. Numworks is using 20 iterations on youtube.
【..】

Bye
berndpr

Yes, that's my understanding. I tried mandelbrot(20) for the numworks app on the 3dsxl and obtained 18sec.

As an aside, as well as the port of Epsilon to the 2ds/3ds which I linked earlier in this thread, there is now a port of Omega( the third party firmware for numworks)
https://getomega.dev/

[Image: Screenshot-20210309-105859-Samsung-Internet.jpg]

This port also brings an RPN app to the 3ds!
[Image: 20210309-112852.jpg]


RE: Really really fast BASIC handheld - berndpr - 03-10-2021 03:57 AM

Dear Steve,

and thank you for your answer again.

Because I own a numworks I know Omega.

But I'm not sure, I should use the 3DS jailbreaker, because my firmware version is now 11.14.0-46E and the decription for installing is for 11.13.

I know, Nintendo is trying to fix this hole of the DS OS and you must update the 3DS, if you want to get games from the store.

If I loose the store, I have really big problem, because I have a very big SD card (I think 64 Gbyte) with millions of blocks and more than 200 games. The DS is my favorate game console, too, more then PS4, switch and the older ones.

Some years ago, my old 3DSXL had a hardware failure and I have to bought a new 2DS. It was really hard to switch to the new 2DS, because the games are assiociated with the hardware. I had to download all games again, after the Nintendo support released it for my new 2DS.

Please can you tell me which firmware version has your 3DS?

For you info: SmileBasic can use more than a thread, because you can start some independent processes. But the 8 queen problem can only a single thread.

First I thought numworks on a DS is cool, but after rethinking maybe I'm not a Python man. My first high languages were Basic and Fortran (very Basic like) and until now, I never stopped using Basic.

The memory to store Python programs at numworks is really small. I can only input some little functions and that is it. Do you can store new python programs/functions on your SD card?

Have nice day!
Berndpr


RE: Really really fast BASIC handheld - Stevetuc - 03-10-2021 07:51 AM

(03-10-2021 03:57 AM)berndpr Wrote:  Dear Steve,

[..]

But I'm not sure, I should use the 3DS jailbreaker, because my firmware version is now 11.14.0-46E and the decription for installing is for 11.13.

I know, Nintendo is trying to fix this hole of the DS OS and you must update the 3DS, if you want to get games from the store.

[..]

Please can you tell me which firmware version has your 3DS?

[..]

The memory to store Python programs at numworks is really small. I can only input some little functions and that is it. Do you can store new python programs/functions on your SD card?

Have nice day!
Berndpr

I have different use model for my 3dsxl. I bought with the intention of running homebrew and smilebasic, and now epsilon and omega.
So I have stayed on 11.13.0-45E
Both the Omega and epsilon simulators are self contained. They inherit the 32kb memory limitation. Maybe that could be tweaked by modifying the simulator source on github and recompiling.
k_pythonHeapSize = 32768 is defined here:
https://github.com/numworks/epsilon/blob/11ef4bd99692aa1e45bdb57539a2eec8506552cb/apps/code/app.h
Just noticed It was changed to 100000 in sept 2020 update in the Omega repository:
https://github.com/Omega-Numworks/Omega/commit/befcfd10b7dbd30f464a8666f557c86e25fc6a4f#diff-9e9e383469e88e18321cf95caeeff6833a8626c26fc62db3f826aa84ca6c0351://
[Image: 20210310-074303.jpg]


RE: Really really fast BASIC handheld - Dave Britten - 03-10-2021 12:45 PM

(03-10-2021 03:57 AM)berndpr Wrote:  But I'm not sure, I should use the 3DS jailbreaker, because my firmware version is now 11.14.0-46E and the decription for installing is for 11.13.

According to this guide, 11.14.0 is supported:

https://3ds.hacks.guide/


RE: Really really fast BASIC handheld - Stevetuc - 03-19-2021 10:29 AM

(03-09-2021 10:49 AM)Stevetuc Wrote:  
(03-08-2021 08:54 PM)berndpr Wrote:  Dear Steve,


Is it right, the parameter 100 is the max iterations?

I have tried this with SmileBasic 3 on my new 2DSXL and got 11.97 seconds.
My program based with all parameter except iterations on the Python app from numworks. Numworks is using 20 iterations on youtube.
【..】

Bye
berndpr

Yes, that's my understanding. I tried mandelbrot(20) for the numworks app on the 3dsxl and obtained 18sec.

As an aside, as well as the port of Epsilon to the 2ds/3ds which I linked earlier in this thread, there is now a port of Omega( the third party firmware for numworks)
https://getomega.dev/

An update on the timings . The above 18secs was obtained using Omega 1.20.3
There is a bug in 1.21.0 and 1.22.0 that causes mandelbrot to run verrrry slowly. It takes around 40 mins!
Details are here:
https://github.com/Omega-Numworks/Omega/issues/503