Author Topic: Casio Prizm documentation  (Read 219126 times)

0 Members and 1 Guest are viewing this topic.

Offline JosJuice

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1344
  • Rating: +66/-14
    • View Profile
Re: Casio Prizm documentation
« Reply #225 on: January 09, 2011, 02:20:54 am »
Did you just manage to run code? O.O
Or is that just the "checksum is wrong" error screen? If you have actually managed to run code, then this is epic...

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Casio Prizm documentation
« Reply #226 on: January 09, 2011, 02:47:42 am »
Did you just manage to run code? O.O
Or is that just the "checksum is wrong" error screen? If you have actually managed to run code, then this is epic...
Yes this was code. I used an existing app as my base and modified to run Qwerty's program without changing the checksum.

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 #227 on: January 09, 2011, 01:56:56 pm »
Wait, so to get the checksums to run, you modified the rest of the app to fit the checksum? Great job :D

By the way, if anyone wants to start learning the machine code, here's the instruction manual. The instruction code in each description is the binary.
∂²Ψ    -(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 #228 on: January 09, 2011, 04:02:07 pm »
Wait, so to get the checksums to run, you modified the rest of the app to fit the checksum? Great job :D

By the way, if anyone wants to start learning the machine code, here's the instruction manual. The instruction code in each description is the binary.
Thanks for the link, I'll look over it.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Casio Prizm documentation
« Reply #229 on: January 10, 2011, 01:01:02 am »
This is awesome! O.O
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Casio Prizm documentation
« Reply #230 on: January 10, 2011, 08:08:34 am »
Wow, this is really sweet guys! =)

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Casio Prizm documentation
« Reply #231 on: January 11, 2011, 10:34:57 pm »
Until we get the checksums cracked (I'm still working on those) we can still have limited app development.  It  turns out he crc checksum is only of a few bytes, I believe the modular checksum and a few other bytes. This means that apps can be created as long as they have the same checksum of a previous written app. This can be done by making edits to the menu icon section of the header to correspond to changes made to the code. Depending on how much free time I have this weekend (final exams next week) I might be able to write a program to convert machine code into an app with the proper checksum. I will also try to convert the code for the conversion app into asm because it is the shortest. It will take some time because the app still has over 200 lines of code that I wil need to write out. Hopefully disassembling it will reveal how apps are called by the OS allowing us to write programs that don't try to kill our calcs.  :-\

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 #232 on: January 12, 2011, 01:32:31 pm »
Er, causing a full system reboot wasn't intentional. I think there's a way to cause the system to wait for a manual reset by changing a bit in the FRQCR register write, but I'll wait until I get my own Prizm to test it. We also need to understand the Prizm's I/O before we can do much. It's not much use to have to crash the Prizm or write all of user RAM to find the driver RAM to do I/O.
∂²Ψ    -(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 #233 on: January 12, 2011, 06:41:42 pm »
And that's hoping it is ram-based.  I'll be extremely happy if I find that the lcd is ram-based.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Casio Prizm documentation
« Reply #234 on: January 12, 2011, 11:44:47 pm »
Nice z80man, I'm looking forward for this. :)

Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

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 #235 on: January 14, 2011, 12:58:24 pm »
I've attached the hex equates every Assembly command recognized by the Prizm. I also tested them by disassembling part of the Geometry add-in, which is set at 0000F600 in Prizm-OS. The first fourteen bytes work out to this:
Code: [Select]
MOV.L R14,@–R15
STS.L PR,@–R15
ADD $FC,R15
MOV.L R4,@R15
MOV.L @($07*4+PC),R3
JSR @R3
MOV R14, R5

A cursory glance through the hex also appears to reveal a Sleep instruction (0x001Bh) at offset 000A46C. If that is correct, then it means that add-ins operate in privileged mode, which basically means that any executable code in an add-in has system level control.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline JosJuice

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1344
  • Rating: +66/-14
    • View Profile
Re: Casio Prizm documentation
« Reply #236 on: January 14, 2011, 01:03:35 pm »
Um, the txt file is just a bunch of garbage when opened in Notepad... (Except for some parts)

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 #237 on: January 14, 2011, 01:05:05 pm »
Try opening it in unicode format.  :)

Here's the ANSI format if you can't.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline JosJuice

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1344
  • Rating: +66/-14
    • View Profile
Re: Casio Prizm documentation
« Reply #238 on: January 14, 2011, 01:07:13 pm »
Thanks! This will probably be useful... Now I just need to figure out what every command does :P

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 #239 on: January 14, 2011, 01:08:57 pm »
As you can see, I got through describing 17 of the arithmetic commands, then I went to work on my cage match entry  :P
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ