Author Topic: Casio Prizm documentation  (Read 217192 times)

0 Members and 3 Guests are viewing this topic.

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Casio Prizm documentation
« Reply #105 on: December 27, 2010, 07:41:26 pm »
That's no fun. I can set up a wikidot site pretty easily. I did a fairly basic one for otcalc.wikidot.com.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Casio Prizm documentation
« Reply #106 on: December 27, 2010, 10:54:59 pm »
Otherwise it could maybe be put in a topic, but that might get hard to read eventually. I could host a wiki on my other webspace, though, if you don't want to setup a wikidot.

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: Casio Prizm documentation
« Reply #107 on: December 27, 2010, 11:28:59 pm »
This is pure speculation, but it would appear that the Prizm has 61 KB of RAM. If you calculate the bytes, that works out to an address of F400. The hex surrounding that address is:

Code: [Select]
...
0000F3A0:  73 8E 73 8E 7B CF 73 8E 73 8E 7B CF 73 8E 73 8E
0000F3B0:  0D 0A 7B CF 73 8E 73 8E 7B CF 73 8E 73 8E 7B CF
0000F3C0:  73 8E 0D 0A 73 8E 7B CF 73 8E 73 8E 7B CF 73 8E
0000F3D0:  73 8E 73 8E 0D 0A 7B CF 73 8E 73 8E 7B CF 73 8E
0000F3E0:  73 8E 73 8E 73 8E 0D 0A 7B CF 73 8E 73 8E 73 8E
0000F3F0:  7B CF 73 8E 73 8E 73 8E 0D 0A 73 8E 73 8E 73 8E
0000F400:  73 8E 6B 4D 42 2E 21 2E 2E 2E 0D 0A 2E 2E 2E 2E
0000F410:  2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 0D 0A 2E 2E
0000F420:  2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 0D 0A
0000F430:  2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E
0000F440:  0D 0A 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E
0000F450:  2E 2E 0D 0A 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E
0000F460:  2E 2E 2E 2E 0D 0A 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E
...


That may not be very clear, so here's the ASCII equivalent:

Code: [Select]
...
0000F3A0  sŽsŽ{ÏsŽsŽ{ÏsŽsŽ
0000F3B0  {ÏsŽsŽ{ÏsŽsŽ{ÏsŽ
0000F3C0  sŽ{ÏsŽsŽ{ÏsŽsŽsŽ
0000F3D0  {ÏsŽsŽ{ÏsŽsŽsŽsŽ
0000F3E0  {ÏsŽsŽsŽ{ÏsŽsŽsŽ
0000F3F0  sŽsŽsŽsŽkMB.!...
0000F400  ................
0000F410  ................
0000F420  ................
0000F430  ................
0000F440  ................
0000F450  ................
0000F460  ................
...
« Last Edit: December 27, 2010, 11:33:27 pm by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Casio Prizm documentation
« Reply #108 on: December 28, 2010, 01:53:56 am »
Yeah they say on their site it has 61 KB of user RAM. Are we sure that it's not just user RAM though? Maybe there's much more for the screen and other stuff.

Offline uberspire

  • LV3 Member (Next: 100)
  • ***
  • Posts: 61
  • Rating: +57/-0
    • View Profile
    • Uberspire
Re: Casio Prizm documentation
« Reply #109 on: December 28, 2010, 02:24:34 am »
@z80man: On the fx-9860G, the addins and the OS used a similar checksum. IIRC, the checksum for the addins on the fx-9860G was simply a sum of some 32 bytes in the header. For reference, here are the specs of the fx-9860G header: http://www.casiocalc.org?s=&showtopic=2622&view=findpost&p=36912. For the OS, it was just a sum of all the bytes in the OS placed into a 4 byte integer at the end of the OS image.

Yeah they say on their site it has 61 KB of user RAM. Are we sure that it's not just user RAM though?
Yes, you have 61KB of storage for your BASIC programs.

Some bad news:
Quote
Thank you for sending e-mail.

Also we appreciate for your running of a website for Casio scientific
calculators.
However we regret to say that Casio has no schedule for releasing a SDK for Prism
as for now.

This attractive model, developed as new education equipment, we are suggesting
new function and specification which were not able to achieved by previous
graph function.

Especially Picture Plot Function, it is favored so much, we are going to spread
more useful functions in our website contents as needed.
We would highly appreciate for your effectively usage and continued patronage
of our products.

Best regards
I guess they really don't have plans for a SDK. This came directly from their headquarters in Japan.

But if the header format get cracked, we'll be able to run our own custom code on the Prizm and we can figure out how to program it ourselves.
« Last Edit: December 28, 2010, 02:25:44 am by kucalc »

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: Casio Prizm documentation
« Reply #110 on: December 28, 2010, 02:38:25 am »
Kucalc, thanks for linking that. I have the .g3p file format on my end and the first fourteen bytes of the header are almost identical except for one byte.

.g1a files:

AA AC BD AF 90 88 9A 8D 0C FF EF FF EF FF

.g3p files:

AA AC BD AF 90 88 9A 8d 82 FF EF FF EF FF

This header is the same for all of the 20 or so picture files that I have checked, so it's constant.
« Last Edit: December 28, 2010, 02:40:45 am by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline JosJuice

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1344
  • Rating: +66/-14
    • View Profile
Re: Casio Prizm documentation
« Reply #111 on: December 28, 2010, 08:06:58 am »
Has anyone been able to successfully run a modified add-in on the Prizm yet? I can't really understand if the checksum(s) have been figured out already...

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Casio Prizm documentation
« Reply #112 on: December 28, 2010, 05:58:19 pm »
We've been able to come close, I think.
For a .g3a file:
AA AC BD AF 90 88 9A 8D D3 FF FE FF

Let's see:
0Ch=0000 1010b=.g1a
82h=1000 0010b=.g3p
D3h=1101 0011b=.g3a

And what are each of those file formats for? This probably means that they are an identification byte.  I don't think they randomly did constants if they are identification files, though. I think that each bit might mean something. In other words, it might be both an identifier, and a flag for that type.

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: Casio Prizm documentation
« Reply #113 on: December 28, 2010, 06:30:46 pm »
.g1a: fx-9860 add-in.
.g3p: fx-CG10/20 picture file.
.g3b: fx-CG10/20 animation file.
.g3a: fx-CG10/20 add-in.

.g3b:
AA AC BD AF 90 88 9A 8D 82 FF EF FF

Same as the .g3p header, which means that the byte doesn't directly translate to a specific filetype. It might relate to how the OS should run it, though. The .g3b format is basically a series of images one after another.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Casio Prizm documentation
« Reply #114 on: December 28, 2010, 06:35:55 pm »
Or that they have the same identification byte. Maybe it's the app that should run it, or something.

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: Casio Prizm documentation
« Reply #115 on: December 28, 2010, 06:38:51 pm »
That's basically what I was saying  :P

« Last Edit: December 28, 2010, 06:39:13 pm by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Casio Prizm documentation
« Reply #116 on: December 28, 2010, 11:40:12 pm »
Does anyone know a good disassembler for the SH3

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 AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Casio Prizm documentation
« Reply #117 on: December 29, 2010, 12:00:52 am »
I'm currently working with the KPIT GNU tools. You have to register to use them, but they're free.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Casio Prizm documentation
« Reply #118 on: December 29, 2010, 02:15:58 pm »
That's basically what I was saying  :P
Oops, sorry. How many other file types are there? What happens if you change the 82 to a 2? or try changing the 82 to C.

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: Casio Prizm documentation
« Reply #119 on: December 29, 2010, 05:33:45 pm »
There are 15 file types:

.g1m
.g1m
.g2m
.g3m
.g1r
.g2r
Data files
.g1e
.g2e
.g3e
E-activity files
.g3aAdd-ins
.g3lAdd-ins and menus
.g3pPicture files
.g3bAnimation files
.bmpScreenshot picture file
.txtText file
.csvCSV file (Matrix, list, or spreadsheet)
« Last Edit: December 29, 2010, 05:59:11 pm by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ