Author Topic: Decimals and Basic  (Read 4860 times)

0 Members and 1 Guest are viewing this topic.

Offline leafy

  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1554
  • Rating: +475/-97
  • Seizon senryakuuuu!
    • View Profile
    • keff.me
Decimals and Basic
« on: January 23, 2011, 02:37:42 am »
Is it even possible to calculate decimals using Axe? And if it's not, can you run BASIC programs within Axe?
In-progress: Graviter (...)

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Decimals and Basic
« Reply #1 on: January 23, 2011, 02:38:51 am »
If you want to be technical, you can do decimals in Axe, but it's essentially just inline Assembly code. The same goes for calling BASIC programs, unless you want to use a Doors CS lib.

What do you need decimals for anyway?
« Last Edit: January 23, 2011, 02:39:37 am by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline leafy

  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1554
  • Rating: +475/-97
  • Seizon senryakuuuu!
    • View Profile
    • keff.me
Re: Decimals and Basic
« Reply #2 on: January 23, 2011, 02:39:58 am »
So how could you use Asm to load a BASIC program?
In-progress: Graviter (...)

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4689
  • Rating: +718/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Decimals and Basic
« Reply #3 on: January 23, 2011, 02:40:16 am »
Herm well you could but you would need to write your own math routines and algorithms (at least to my knowledge). And to run BASIC programs... I believe you can do that with a simple hex code, but I don't know the code off the top of my head
o.O

Now I got ninja'd...

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Decimals and Basic
« Reply #4 on: January 23, 2011, 02:41:58 am »
The only time I see decimals in a program is if it is a math program and in that case the speed of axe is not needed.

Edit: Xeda getting ninja'd caused me to get ninja'd
« Last Edit: January 23, 2011, 02:43:17 am by z80man »

List of stuff I need to do before September:
1. Finish the Emulator of the Casio Prizm (in active development)
2. Finish the the SH3 asm IDE/assembler/linker program (in active development)
3. Create a partial Java virtual machine  for the Prizm (not started)
4. Create Axe for the Prizm with an Axe legacy mode (in planning phase)
5. Develop a large set of C and asm libraries for the Prizm (some progress)
6. Create an emulator of the 83+ for the Prizm (not started)
7. Create a well polished game that showcases the ability of the Casio Prizm (not started)

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Decimals and Basic
« Reply #5 on: January 23, 2011, 02:42:22 am »
It is *kinda* possible to have decimals using whats known as fixed point notation.  for instance, if you wanted to store 1.5 in axe, instead of storing 1.5 to A (which is impossible), you would store 15 to A, and whenever you wanted to use it, divide by 10.  for example, if you wanted a sprite with two decimal points of precision, you could do something like this:

500->A   //5 into A
300->B   //3 into B
Pt-On(A/100,B/100,Pic1

The sprite will display at the correct location :) Now, i used x10 and x100 to make it easier to see, but you can just as easily use any number you want, based on the precision you need.  The larger the number, the more precision.  I always use x256 because dividing by 256 in axe is super fast :)  Just a word of caution though, since you are gaining more precision in one area, you have to lose it in another.  While you gain more decimals, your maximum number that you can represent is decreased.

Offline leafy

  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1554
  • Rating: +475/-97
  • Seizon senryakuuuu!
    • View Profile
    • keff.me
Re: Decimals and Basic
« Reply #6 on: January 23, 2011, 02:42:50 am »
Yeah, I think linking to BASiC might be easier - but where is this hex code you speak of? :D
In-progress: Graviter (...)

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Decimals and Basic
« Reply #7 on: January 23, 2011, 02:43:44 am »
You could always use Bcall(_ParsInp) to call a BASIC program. It's EF9B4A in hex, courtesy of Kerm.
« Last Edit: January 23, 2011, 02:47:18 am by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Decimals and Basic
« Reply #8 on: January 23, 2011, 02:45:00 am »
How much precision do you need?  What are you trying to do?

Offline leafy

  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1554
  • Rating: +475/-97
  • Seizon senryakuuuu!
    • View Profile
    • keff.me
Re: Decimals and Basic
« Reply #9 on: January 23, 2011, 02:47:00 am »
I'm making a statistics toolkit - I made one in BASIC but the menus were way too slow so I switched the interface to Axe.

If you had a prgmLINREG, how would you use Bcall(_ParsInp) to start it?
« Last Edit: January 23, 2011, 02:50:51 am by Builderboy »
In-progress: Graviter (...)

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Decimals and Basic
« Reply #10 on: January 23, 2011, 02:48:23 am »
Fixed point might be best for that. You could always use the Menu( function for BASIC though.

As for the arguments for ParsInp, it's really complex. I'll try to find some documentation for you though.
« Last Edit: January 23, 2011, 02:49:06 am by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline leafy

  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1554
  • Rating: +475/-97
  • Seizon senryakuuuu!
    • View Profile
    • keff.me
Re: Decimals and Basic
« Reply #11 on: January 23, 2011, 02:49:05 am »
The Menu( didn't have scrolling, which is really what I wanted.
I still need to know how to call a BASIC program from Axe.
In-progress: Graviter (...)

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Decimals and Basic
« Reply #12 on: January 23, 2011, 02:49:56 am »
Ok for a statistic toolkit I would definitely recomend Basic 100%, what types of menus were you using that were too slow?  Its likely that you could merely code your menu's a different way to make them faster instead of using Axe, which would be a lot harder for what you want to do.  However, if you want to continue to use axe, that works too, although I know of no way to start basic programs from inside an assembly program

and also just try to keep an eye on the double posting ;)

Offline leafy

  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1554
  • Rating: +475/-97
  • Seizon senryakuuuu!
    • View Profile
    • keff.me
Re: Decimals and Basic
« Reply #13 on: January 23, 2011, 02:59:01 am »
Well what I'm doing doesn't require that much precision - it's just a bunch of definitions and a couple of programs.
I decided to do this since Zstats was really arbitrary in its definitions and didn't help much on tests and stuff.
In-progress: Graviter (...)

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Decimals and Basic
« Reply #14 on: January 23, 2011, 03:03:54 am »
If that's it, then don't go to the trouble of interfacing Axe and BASIC. I can't even find the documentation to tell you haw complex it is.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ