Author Topic: What would benefit prizm programmers and users?  (Read 5471 times)

0 Members and 2 Guests are viewing this topic.

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
What would benefit prizm programmers and users?
« on: September 03, 2014, 11:04:44 pm »
I have noticed that prizm development overall appears to be infrequent and comprised of a few developers and is not something that is done as much as, say TI calculator development at-least the ones were TI somewhat lets you control the device you purchased. I understand that they have a larger market share (not due to technical superiority) but I am still surprised in the lack of prizm development as, (I find anyways) that it is an easy platform to develop for. So I am wondering what do prizm developers want? Already we have good documentation on the prizm wiki, example code, libfxcg which is getting better almost on a daily basis and GCC support the sh4 target so it is easy to compile programs. I am wondering if there are any prizm users here who would have liked to make a prizm program but had issues doing such? These issues may have since been resolved or be something that I can resolve. I can say right now that after I do some smaller projects for the prizm I plan to work on a larger project. I think it will be a port of TuxMath but I am not sure if that is the right direction to take. I want to make something that will make a large positive impact on the community and I am not sure what to do. I am wondering what will really bring interest in the platform. I wonder what do the prizm users want to see?

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: What would benefit prizm programmers and users?
« Reply #1 on: September 03, 2014, 11:05:21 pm »
Axe Parser and xLIBC. xLIBC first, probably, assuming the PRIZM has parser hooks.
« Last Edit: September 03, 2014, 11:12:42 pm by DJ Omnimaga »

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
Re: What would benefit prizm programmers and users?
« Reply #2 on: September 03, 2014, 11:09:43 pm »
You know I have though of doing this. What made me lose interest in the idea is when I started reading the specs for the language I found out that the user can put z80 asm directly in the program which is specific to TI hardware. So I would pretty much end up writing a TI emulator. Or I could make it so that sh4 assembly could be entered instead and just display an error if it is z80 assembly. How many axe programs use assembly?
Edit: noticed you added xLibc this is for TI calculators, not the prizm. An Axe parser may be a more viable option to create.
« Last Edit: September 03, 2014, 11:17:25 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: What would benefit prizm programmers and users?
« Reply #3 on: September 03, 2014, 11:19:58 pm »
Well, early versions of Axe actually lacked ASM and Axiom support and we could still do pretty interesting games. So basically supporting inline ASM wouldn't be necessary. I guess in the future you could add SH4 ASM support, though. Axe became "mature" around version 0.2.0, so I guess commands from 0.2.x could be the first being supported in general.

I don't know which Axe program use ASM, unfortunately, but an example of Axe program not using a single line of assembly would be this. This game runs at 6 MHz with parallax scrolling, yet it still manages to not lag. The only problem is that Axe code is about 1.5 times larger than its BASIC counterpart, since it's compiled.


EDIT: And yeah I added xLIBC. If the PRIZM supports parser hooks, this could be an alternative until Axe is made, since it could simply be an add-in enhancing Casio BASIC by just 2 or 3 commands (sprites, for example), but on the 83+ there was another xLIB and when Axe arrived it pretty much led to xLIB's demise (most BASIC coders back then decided to move to Axe programming). So xLIBC would be just a temporarily solution in case Axe Prizm took several years to develop.


Another idea I just got, if the PRIZM supports parser hooks, is an add-in that replaces the behavior of existing sketch commands to get rid of the 0.3 second delay when drawing stuff.
« Last Edit: September 03, 2014, 11:23:41 pm by DJ Omnimaga »

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
Re: What would benefit prizm programmers and users?
« Reply #4 on: September 03, 2014, 11:26:23 pm »
First of all Casio BASIC is not the same as TI basic (I have never looked at TI basic but I believe they are the same), Also the fact that a language is compiled or not does not affect the size of the source code. I do see your justification for having a Casio Axe as instantly many programs become available for the Prizm with no effort. I would consider pure axe programs that don't run to be a bug. I have also considered just making a TI emulator. It would certainly prove Casio to be the superior calculator as it can run TI programs whereas TI calculator cannot run Casio Prizm programs.

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: What would benefit prizm programmers and users?
« Reply #5 on: September 03, 2014, 11:34:11 pm »
Well it depends, because if you take Axe source code then compare its compiled format, the result is much larger. Axe uses TI-BASIC tokens/commands so each of them takes 1 byte of space, but its compiled, machine code form might be larger simply because in machine code clearing the screen isn't done in 1 byte of code like in TI-83+ BASIC. But again, Casio calcs might be different (I think each keystroke character is 2 bytes instead of 1, right?) so I guess it would depend how well the Axe compiler is coded.

And yeah it would be best to keep the Axe language syntax as similar to the TI version as possible. Of course commands like Output() would be replaced with Locate and many others would change, but someone could just write a batch script that converts 83+ Axe source to PRIZM Axe source by renaming commands.

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
Re: What would benefit prizm programmers and users?
« Reply #6 on: September 03, 2014, 11:46:12 pm »
Ok now I understand you. I though you meant because Axe is compiled that means the source code is larger. Well what is larger is that there is a binary file. I was planning on making an Axe JIT. What I mean by that is when the program is launched it is compiled to ram or I was considering writing an interpreter. Also there will be no need to replace stuff. This will be a separate program if I do it. I do not think there is an hooks support for basic programs. Yes I will make Axe extensions but like I said before assuming no z80 assembly if an already writing for latest syntax Axe program does not run it would be a bug unless they are abusing a bug in another Axe implementation. I will not implement work around for programs that expect a bug in said compiler if there are any programs like this.

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: What would benefit prizm programmers and users?
« Reply #7 on: September 04, 2014, 12:59:19 am »
An interpreter could work too, although my concern was speed. Interpreters tend to be slower than compiled programs sometimes, especially on a 58 MHz calculator. Using its own editor might not necessarily be a good idea unless it works almost identically to the BASIC one (although I think using smaller fonts so that you can see more text at once on the screen would be better), though, otherwise the language might suffer the same fate as BBC BASIC 83+ (awesome language, but just because of how the editor worked, nobody used it).


Otherwise, a good idea could be a computer editor, but then we face the issue that is the lack of a public domain PRIZM emulator, so for people who have expired copies of fx-cg10 manager (assuming Axe would even run in it) they would have to constantly transfer computer-edited Axe programs to their calculator to test them.



By the way, a new PRIZM emulator that runs at normal calc speed and has a debugger would be another nice program idea.

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
Re: What would benefit prizm programmers and users?
« Reply #8 on: September 04, 2014, 11:53:37 pm »
Well that is why I considered compiling the program to ram before running. Also TI calculators have such weak hardware that I think an interpreter on the casio prizm would be faster than what you would get on say TI-83 or TI-84. Do not be surprised if I write this and Axe programs run faster. Also for editor I would have a built in editor however the users could upload programs to the calculator also. Also the editor can be made normal. Why do you think I would make a strange one? My idea was to have an axe specific buttons that the user could press to quickly write code on the calculator. For example if the user presses F1 which selects the category Conditional statments they would see commenly used conditional statment stuff so then they simply press the function key again to select what they need.

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: What would benefit prizm programmers and users?
« Reply #9 on: September 05, 2014, 12:45:21 am »
YEah I definitively think that an Axe PRIZM interpreter would be much faster than the Axe compiled 84+ programs. Of course some stuff might not be as fast such as a parallax scrolling version of Super Sonic Ball because the PRIZM screen contains much more data to draw than the 84+SE screen, but still, speed would be enough to convince people to use the language.

As for the editor I was just mentionning because I know what happened with BBC Basic 83+, although I doubt you would go to such extreme extent. But just having a standard editor being too different than the official BASIC one is sometimes enough to make some people unable to get used to it (in my case, it took 11 years before I finally get used to programming 84+ BASIC games on a computer instead of on-calc.)

Offline ProgrammerNerd

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +9/-2
    • View Profile
Re: What would benefit prizm programmers and users?
« Reply #10 on: September 05, 2014, 07:35:40 pm »
I don't think that will be an issue (the casio prizm screen having more pixels).

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: What would benefit prizm programmers and users?
« Reply #11 on: September 10, 2014, 11:26:15 pm »
Yeah my main concern was that the 84+CSE only gets about 4 images per second in pure assembly when you fill the entire screen with one color and the calc runs at 15 MHz, and the PRIZM runs at 58 by default. Of course there are other factors too like screen drivers and VRAM I guess, though.