Author Topic: Casio prizm Mandelbrot explorer  (Read 12888 times)

0 Members and 2 Guests are viewing this topic.

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
Casio prizm Mandelbrot explorer
« on: August 22, 2014, 02:43:24 pm »
The Mandelbrot fractal is quite a sight.
Such wonder and amazement that can be found while viewing the Mandelbrot fractal can now be had on the Casio Prizm graphing calculator.
In addition this program can also be compiled for the PC assuming SDL is installed.
Just run make and it will be up and running.
There is very little difference in function between the PC version and the casio prizm version, the resolution is higher but that is it.

The controls are
Left, right, up, down moves the window in that direction
Menu key or ESC on the PC, exits to the menu or exits the program (PC)
F1 sets maximum iterations to 65535
F2 sets the maximum iterations to 224 (this is the default upon starting the program)
F3 toggles deep mode which is on by default. This means you can zoom in deeper with a slight performance hit.
I do not notice the difference
1 subtracts one from the maximum iterations
2 adds one to the maximum iterations
3 subtracts ten from the maximum iterations
4 adds ten to the maximum iterations
5 subtracts 100 from the maximum iterations
6 adds 100 to the maximum iterations
Shift zooms in
Alpha (ALT on PC) zooms out
Source code https://github.com/ComputerNerd/Mandelbrot-Casio-Prizm-Explorer
Binary https://github.com/ComputerNerd/Mandelbrot-Casio-Prizm-Explorer/blob/master/mandelbrot.g3a
Screen shots (from the PC version which gets very similar output differing only in resolution).


Anyways if you have any bug report(s), feature request(s), pull request(s), patch(es) or whatever relates to this I would be happy to hear about them.
« Last Edit: August 22, 2014, 10:42:28 pm by ProgrammerNerd »

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Casio prizm Mandelbrot explorer
« Reply #1 on: August 22, 2014, 03:14:18 pm »
Those look pretty impressive! I can't wait to try this on my calc to see how fast it renders :)

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
Re: Casio prizm Mandelbrot explorer
« Reply #2 on: August 22, 2014, 05:30:01 pm »
Well yes you did point out that an old version of mine is fast http://www.omnimaga.org/casio-prizm/(prizm-c)-mandelbrot-set/15/
However this should be even faster. Also if you are wondering it did not take me that long (since the time of the my previous post) to come up with a new version, I just forgot about the project and decided to improve it today thus bringing a better explorer.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Casio prizm Mandelbrot explorer
« Reply #3 on: August 23, 2014, 09:56:37 am »
Ah right I forgot about that one. Prizm dev on Omni is rare so a lot of the stuff that happened was a while ago plus I don't always use my prizm often. :P

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
Re: Casio prizm Mandelbrot explorer
« Reply #4 on: August 23, 2014, 04:06:22 pm »
Yes I know prizm dev in general rare not just here it seems. I find it easy to program for so I am not sure why that is the case.
Anyways if you get a chance tell me how well this program works for you.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Casio prizm Mandelbrot explorer
« Reply #5 on: September 26, 2014, 12:28:13 am »
I think it's because the majority of people who use advanced Casio calcs are in France, but in France, the PRIZM is considered as too expensive, so most people go for a 9860GII series model. Another issue is that most calculator programmers prefer BASIC because they find ASM/C too hard or different (or prefer languages that can be coded directly on the calc between classes or when commuting) and sadly, PRIZM BASIC is incredibly slow to draw stuff compared to 9860Gii BASIC (although home/math screen text is fast enough). A port of Axe that can be coded on-calc might help, since it revived TI-84+ programming in 2010, but it is not guaranted. Axe 84+ helped bridging the gap between BASIC and ASM/C (and even helped some BASIC programmers transition towards ASM).

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
Re: Casio prizm Mandelbrot explorer
« Reply #6 on: September 30, 2014, 05:20:22 pm »
Really I could never understand why people like BASIC so much. Yes it is nice for quickly getting something done when you don't have a PC with you but I would not use it for anything serious such as a game. Yes Prizm BASIC is too slow.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Casio prizm Mandelbrot explorer
« Reply #7 on: September 30, 2014, 11:21:48 pm »
Some people use it simply because even after getting help and learning ASM/C thoroughly, they just don't get it. They usually don't use it because they like it, but rather because they like programming for calcs. It's made much worse with the PRIZM by the fact it's impossible to test an ASM/C program using an emulator (unless you're very lucky but even then it will not run at accurate speed), so when debugging, the user has to send his program to his calc over and over.

If ASM/C were much easier to get used to (especially ASM) when it comes to calculators, then there would be far more PRIZM ASM/C coders than there is now, same for Z80 ASM coders. Look at Axe Parser: Omnimaga used to be almost entirely BASIC programming. The second Axe 0.0.5 came out, it almost completely replaced BASIC as TI-83+ language of choice. It's because Axe syntax for simpler stuff looks almost identical to TI-BASIC, but the language has most stuff that ASM can do, including speed. There are even former BASIC programmers who switched to Axe then learned ASM, but despite knowing ASM well enough to make games, they switched back to Axe because they don't feel comfortable using lower-level languages.


Source: 13 years of experience in the TI/Casio community and three failed attempts at learning Z80 ASM.

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
Re: Casio prizm Mandelbrot explorer
« Reply #8 on: October 02, 2014, 06:46:27 pm »
If they don't get it they are doing something wrong. Also the emulator is not all that bad.

Offline Ivoah

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +3/-0
    • View Profile
    • Codinghobbit
Re: Casio prizm Mandelbrot explorer
« Reply #9 on: October 02, 2014, 07:12:06 pm »
This program won't compile on mac, I got this error:
Code: [Select]
ivo@Mr-Mini-2 ~/Desktop/Mandelbrot-Casio-Prizm-Explorer $ make
cc -Wall -Wextra -Isrc -O3 -flto -DPC -fmerge-all-constants -fsingle-precision-constant -s -Wl,--gc-sections -pipe -c src/main.c -o src/main.o
clang: error: unknown argument: '-fsingle-precision-constant'
clang: warning: -Wl,--gc-sections: 'linker' input unused
make: *** [src/main.o] Error 1
ivo@Mr-Mini-2 ~/Desktop/Mandelbrot-Casio-Prizm-Explorer $
http://codinghobbit.no-ip.org
My Calcs:
TI-86 (now broken) $2
TI SR-56 - $0
TI-Nspire CX CAS - $152
TI-84+ Silver Edition - $56
TI-84+ Silver Edition - $0
TI-85 - $0
TI-73 Explorer VS - $10
ViewScreen - $3

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Casio prizm Mandelbrot explorer
« Reply #10 on: October 02, 2014, 11:24:16 pm »
If they don't get it they are doing something wrong. Also the emulator is not all that bad.

The following are disallowed on the Omnimaga forums in any topic at any time.
Flaming, flooding, intolerance, and provocative comments.
I'm not gonna argue further because I saw your true colors now. There are sites on which you can lash at users of specific programming languages, people who are different and be narrow-minded. Omnimaga is not one and it will remain open to users of any programming language and free of reprimands for using said languages.

As for the emulator, there were reports about some programs running much slower in it than on the real calc and vice-versa. Hence why WabbitEmu or jsTIfied for the PRIZM was often suggested.
« Last Edit: October 03, 2014, 04:34:00 am by DJ Omnimaga »

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Casio prizm Mandelbrot explorer
« Reply #11 on: October 03, 2014, 04:32:22 pm »
If they don't get it they are doing something wrong. Also the emulator is not all that bad.

Please keep in mind that not everyone has the same capabilities when it comes to programming or learning things. While ASM or C might be easy for you, someone else may have a hard time with it or not be able to grasp it at all.

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
Re: Casio prizm Mandelbrot explorer
« Reply #12 on: October 04, 2014, 12:31:33 am »
Wow I did not expect that reaction. I apologize. That post was not meant to be ad hominem and I should have presented it in a more respectable manner and backed it up with a well constructed argument. First of all I when I replied to the post I did not notice that you (DJ Omnimaga) have mentioned your personal experience. That is not why I said that. The reason why I said that was because I do not doubt anyone's theoretical ability to learn even assembly. You have ran a nice website and been a part of the community for a long time further enhancing my belief in your capability. I think the issue is that people may be mislead by others into doing something wrong. I do believe that if anyone puts their mind to it they can do it and how they do it does affect the success of if they get it done. I do not think one who has trouble grasping a certain programming language is in any way inferior to those that do and understand that some people will not get it using one stagey and will have to pick another. I remember when I first started learning C it was a very long time ago so details are faded but I do recall for some concepts having to read multiple articles until I understood it. There is nothing wrong with not being able to grasp a concept. The doing it wrong part is thinking that, that one article you read is the best explanation in existence and just banging your head against the article trying to learn solely from it. Also I do admit some narrow mindness. When I wrote that post I thought that people have a similar philosophy on handling "your doing it wrong" as I do. If someone told me that I was doing something wrong I would like to learn more about why they feel that way. I would then analyze their viewpoint and consider if I should act based on what I learned. For example when I started programming I had an insistence to use the smallest variable type possible despite programming for a 32-bit CPU (only use smallest for 8 bit CPU) when it is actually bad. For example using unsigned char for a loop. Instead I should just use unsigned. I then read about this and upon discovering that I was wrong I did some tests and found out that yes I was doing it wrong and if someone would have told me that I would have tested their claim and see if they are correct and if so I would have acted upon it. Also another example, one would say that I struggled with Spanish and say that English is the only language I speak. You know why because I was doing it wrong and I knew it but did nothing. Instead even now I just write stuff about how I sucked at Spanish but what I should do is take action. Instead of just starting at a list of words I should have memorized roots and prefixes and suffixes.  If someone disagrees with the way I perceived to be better than my terrible habits and they tell me that I am still doing it wrong. I would not get angry at them. I would learn from them. What you should get out of this post is that the reason I said what I said was because I believe in you and your ability and I do not in any way think poorly of you. Also about being told that they are wrong has another advantage the person who told the other one they are wrong may learn something too. For example lets say that someone told me I should create duplicate code comments. For example they tell me that I should do
Code: [Select]
unsigned i=123;//set i to 123
I tell them why doing such is bad as it is nothing more than duplicated code and then they hear my argument and then they learn something and break a habit which they evidently feel strongly about as they were willing to correct other people and by telling the corrector why they are wrong you are doing a good service to the people by removing some confusion and deception from the world. I am very glad that people here took a stance that my post was unacceptable and in doing I was able to have the opportune to correct my mistake instead of just leaving people offended. Speaking of which I do hope this post made things only better and in no way worse

Also Ivoah the CFLAGS that are causing you errors are specific to gcc you can remove them and the program will still run.

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Casio prizm Mandelbrot explorer
« Reply #13 on: October 04, 2014, 01:38:15 am »
Thank you for clarifying what you meant. Beautiful post. :) There did use to exist some elitism based on language preference (on both sides). That's one of the reasons Omnimaga exists today; to have a place that is free of discrimination and hostility. The calc hobbyist community doesn't really have that problem these days, at least for the most part. I am very glad that you don't feel that way either.

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
Re: Casio prizm Mandelbrot explorer
« Reply #14 on: October 04, 2014, 09:37:22 am »
I am glad this ended well and I am glad that people told me that I was wrong for that post instead of just walking away felling offended.