Author Topic: Casio Prizm documentation  (Read 240185 times)

0 Members and 1 Guest are viewing this topic.

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Casio Prizm documentation
« Reply #240 on: January 14, 2011, 08:58:22 pm »
I was recently working on disassembling the conversion app and got almost the same code. Just a few different registers.
Code: [Select]
MOV.L    R15,@-R16      ;Seems to operate similar to the Push instruction 
STS.L    PR,@-R16       ;adress to return to after program is finised running might be stored here
ADD      $FC, R16
MOV.L    R4,@R16
MOV.L    @($07*4,PC),R4
JSR      @R3            ;delayed branch, execute next instruction then jump, stores PC in PR so it might work like a call.
MOV      R5,R15
I just wish I knew what was stored in the registers when execution began.

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 #241 on: January 14, 2011, 10:04:02 pm »
Z80, there's no R16 and the registers are zero indexed  ;)

Also, JSR is short for Jump to SubRoutine. It's essentially the same as Call in z80, in terms of functionality at least.
« Last Edit: January 14, 2011, 10:05:54 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 #242 on: January 14, 2011, 10:16:59 pm »
Z80, there's no R16 and the registers are zero indexed  ;)

Also, JSR is short for Jump to SubRoutine. It's essentially the same as Call in z80, in terms of functionality at least.
Whoops. I must have messed up on my hex conversion. I think I might of started counting 1 so just decrement everything.

Edit: Also do you think that STS.L PR,@-R15 is the instruction that stores the return adress
« Last Edit: January 14, 2011, 10:19:08 pm 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 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 #243 on: January 14, 2011, 10:27:09 pm »
Yep. STS.L PR,@–R15 stores R15-4 -> R15 and stores PR->R15
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Casio Prizm documentation
« Reply #244 on: January 14, 2011, 10:28:05 pm »
PR holds the return address (minus 4) after a subroutine is called. That instruction saves it to the stack so more subroutines can be called.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Casio Prizm documentation
« Reply #245 on: January 15, 2011, 12:29:33 am »
PR holds the return address (minus 4) after a subroutine is called. That instruction saves it to the stack so more subroutines can be called.
So on the SH3 there is no actual SP, you just have to use one of the registers.

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 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 documentation
« Reply #246 on: January 16, 2011, 04:38:16 pm »
Nice! Should make it easier for people to learn SH3 assembly :D

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Casio Prizm documentation
« Reply #247 on: January 16, 2011, 04:39:54 pm »
Nice! Should make it easier for people to learn SH3 assembly :D
Yeah, not at all.  The simple instruction set usually makes it a little bit harder.  Especially when people are used to pushing and popping stuff all over the place.

Just my $.02 though.

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 documentation
« Reply #248 on: January 16, 2011, 04:42:07 pm »
Oh, well, I don't know, I thought letting people know about the instruction set would actually help them, especially that they don't have to code in machine/hex code. X.x

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Casio Prizm documentation
« Reply #249 on: January 17, 2011, 02:38:47 am »
I'm really not sure how popular asm coding for the Prizm will be. z80 asm is considered complex by many and that is probaly the easiest of all assembly languages. SH3 assembly will have even fewer users than z80. Once some libraries are written for the Prizm most programming will be done in either C or some version of Axe.
« Last Edit: January 17, 2011, 02:39:40 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 jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Casio Prizm documentation
« Reply #250 on: January 17, 2011, 10:27:11 am »
I'm really not sure how popular asm coding for the Prizm will be. z80 asm is considered complex by many and that is probaly the easiest of all assembly languages. SH3 assembly will have even fewer users than z80. Once some libraries are written for the Prizm most programming will be done in either C or some version of Axe.

But, for the few of us that know assembly pretty well in SH3, or have the ability to learn it we could write something like 83 asm in 28 days.  I'm thinking Casio Prizm asm in 9001 days?

Offline JosJuice

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1344
  • Rating: +66/-14
    • View Profile
Re: Casio Prizm documentation
« Reply #251 on: January 17, 2011, 10:29:46 am »
I'm really not sure how popular asm coding for the Prizm will be. z80 asm is considered complex by many and that is probaly the easiest of all assembly languages. SH3 assembly will have even fewer users than z80. Once some libraries are written for the Prizm most programming will be done in either C or some version of Axe.

But, for the few of us that know assembly pretty well in SH3, or have the ability to learn it we could write something like 83 asm in 28 days.  I'm thinking Casio Prizm asm in 9001 days?
I wonder if it would take 9001 days to write, as well... Then it would almost take 25 years!
« Last Edit: January 17, 2011, 10:30:23 am by JosJuice »

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 documentation
« Reply #252 on: January 20, 2011, 12:16:56 am »
I'm really not sure how popular asm coding for the Prizm will be. z80 asm is considered complex by many and that is probaly the easiest of all assembly languages. SH3 assembly will have even fewer users than z80. Once some libraries are written for the Prizm most programming will be done in either C or some version of Axe.
Yeah I think this is why we need such language. Notice how most 68K programs were made in C. After TIGCC came out almost everyone switched from BASIC and ASM. On the z80 series now most people program in Axe.

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Casio Prizm documentation
« Reply #253 on: January 20, 2011, 12:24:06 am »
For me I could never really get used to Axe. There is something about asm that I really enjoy. But when it comes to large projects on the Prizm I will have no choice, but to move to another language.

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 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 documentation
« Reply #254 on: January 20, 2011, 12:28:08 am »
Yeah it depends of people really. Some people prefer lower level stuff and its freedom. I myself couldn't stand looking at the cryptic code x.x

Anyway right now I didn't do a lot of Prizm stuff yet. As for now I was filming myself launching WabbitEmu.exe on my computer from my Casio Prizm storage memory.