Author Topic: Casio Prizm documentation  (Read 235825 times)

0 Members and 3 Guests are viewing this topic.

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Casio Prizm documentation
« Reply #285 on: January 25, 2011, 10:33:57 pm »
Do you know if it causes your program to crash or if those instructions are just ignored.

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 #286 on: January 25, 2011, 10:34:50 pm »
I was wrong. Give me a second to post some example code.

Okay, you can access physical memory if bit 1 of the MMUCR is reset. Use this:

Code: [Select]
D101
FFFFFFE0
D201
00000000
6123
0009

Code: [Select]
D101
FFFFFFE0
D201
00000000
2219
0009

Those *should* reset the register to eliminate virtual memory mapping.
« Last Edit: January 25, 2011, 10:41:09 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 #287 on: January 25, 2011, 10:50:47 pm »
With all code you have to run just to get a simple program to work, Asm programing for the Prizm won't be very popular. We need to get some sort of C complier soon.

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 #288 on: January 25, 2011, 10:52:20 pm »
Oh, I forgot to mention run one *OR* the other, not both. It's redundant. But we already have a C compiler  ;)
∂²Ψ    -(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 #289 on: January 25, 2011, 10:54:11 pm »
Well, I'm assuming that it will be easier once we get some program to set up the routines and such.

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Casio Prizm documentation
« Reply #290 on: January 25, 2011, 10:55:20 pm »
Oh, I forgot to mention run one *OR* the other, not both. It's redundant. But we already have a C compiler  ;)
I mean more like a community made one. Perhaps one with libraries designed around the Prizm. Axe is a must also. It would nedd to compile programs designed for the Ti-83+ though.

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 #291 on: January 25, 2011, 10:58:27 pm »
I'd settle for an Assembler right now, let alone a compiler, not that I would use anything objected oriented :P
∂²Ψ    -(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 #292 on: January 25, 2011, 11:51:53 pm »
An assembler shouldn't be too hard. It would be just like Scout's disssasmbler, but in reverse.  ;)

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 #293 on: January 25, 2011, 11:52:44 pm »
Macros are difficult to handle. But a basic assembler should be simple.
∂²Ψ    -(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 #294 on: January 26, 2011, 11:12:40 pm »
GCC says hi. Seriously, I don't know why we'd consider writing a C compiler from scratch when we have a maintained open-source one already. (It also includes an assembler of course)
"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 #295 on: January 27, 2011, 12:14:38 am »
GCC says hi. Seriously, I don't know why we'd consider writing a C compiler from scratch when we have a maintained open-source one already. (It also includes an assembler of course)
Okay a probaly should of thought of that earlier, but writing extensive libraires for the Prizm involving, graphics routines, linking protocols, input and output, memory management and the file system will be required to boost development.

And sorry everyone about the delayed app signer. I have a lot of work I need to do first and I will try to get that out as soon as possible.
« Last Edit: January 27, 2011, 12:14:58 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 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 #296 on: January 27, 2011, 07:45:59 am »
Whoever decided that one of the things they didn't need to include in the SH3 processor were LD commands deserves a lot of things that I won't mention. I'm almost done debugging the relative loads... an hour and a half later for six instructions.



Okay, here's the code. It should set the processor to 3x its normal speed, but my BASIC test program in unaffected. Any ideas why? Also, the memory areas close to 0x0000 0000h all appear to be write locked. They're not boot code though, because that's at 0xA000 0000h.

Spoiler For Spoiler:
Code: [Select]
0009
0009
0009
D806
D906
DA07
9B10
9C10
9D0D
2AC1
29B1
28D1
0009
0009
000B
0009
FFFF
FF80
FFFF
FF84
FFFF
FF86
0009
0300
5A7A
A565

Code: [Select]
00300000: NOP
00300002: NOP
00300004: NOP
00300006: MOV.L @($06*4+PC),R8 = #FFFFFF80
00300008: MOV.L @($06*4+PC),R9 = #FFFFFF84
0030000A: MOV.L @($07*4+PC),R10 = #FFFFFF86
0030000C: MOV.W @($10*2+PC),R11 = #FFFF5A7A
0030000E: MOV.W @($10*2+PC),R12 = #FFFFA565
00300010: MOV.W @($0D*2+PC),R13 = #FFFF0300
00300012: MOV.W R12,@R10 => A565 = [FFFFFF86]
00300014: MOV.W R11,@R9 => 5A7A = [FFFFFF84]
00300016: MOV.W R13,@R8 => 0300 = [FFFFFF80]
00300018: NOP
0030001A: NOP
0030001C: RTS
0030001E: NOP
00300020: .data ffffff80 dword ref:300006
00300024: .data ffffff84 dword ref:300008
00300028: .data ffffff86 dword ref:30000A
0030002C: NOP
0030002E: 0300
00300030: 5A7A
00300032: A565
« Last Edit: January 27, 2011, 08:27:10 am by Qwerty.55 »
∂²Ψ    -(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 #297 on: January 27, 2011, 06:36:38 pm »
Whoever decided that one of the things they didn't need to include in the SH3 processor were LD commands deserves a lot of things that I won't mention. I'm almost done debugging the relative loads... an hour and a half later for six instructions.



Okay, here's the code. It should set the processor to 3x its normal speed, but my BASIC test program in unaffected. Any ideas why? Also, the memory areas close to 0x0000 0000h all appear to be write locked. They're not boot code though, because that's at 0xA000 0000h.

Spoiler For Spoiler:
Code: [Select]
0009
0009
0009
D806
D906
DA07
9B10
9C10
9D0D
2AC1
29B1
28D1
0009
0009
000B
0009
FFFF
FF80
FFFF
FF84
FFFF
FF86
0009
0300
5A7A
A565

Code: [Select]
00300000: NOP
00300002: NOP
00300004: NOP
00300006: MOV.L @($06*4+PC),R8 = #FFFFFF80
00300008: MOV.L @($06*4+PC),R9 = #FFFFFF84
0030000A: MOV.L @($07*4+PC),R10 = #FFFFFF86
0030000C: MOV.W @($10*2+PC),R11 = #FFFF5A7A
0030000E: MOV.W @($10*2+PC),R12 = #FFFFA565
00300010: MOV.W @($0D*2+PC),R13 = #FFFF0300
00300012: MOV.W R12,@R10 => A565 = [FFFFFF86]
00300014: MOV.W R11,@R9 => 5A7A = [FFFFFF84]
00300016: MOV.W R13,@R8 => 0300 = [FFFFFF80]
00300018: NOP
0030001A: NOP
0030001C: RTS
0030001E: NOP
00300020: .data ffffff80 dword ref:300006
00300024: .data ffffff84 dword ref:300008
00300028: .data ffffff86 dword ref:30000A
0030002C: NOP
0030002E: 0300
00300030: 5A7A
00300032: A565
I would almost guarantee that the parser changes the calc speed before running it, especially if the OS changes the speed at any time in the OS.

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 #298 on: January 27, 2011, 06:38:13 pm »
That sucks  :'(

Changing the speed is dangerous and slow, so they would be idiots to change it every time the parser is run.
∂²Ψ    -(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 #299 on: January 27, 2011, 06:40:33 pm »
Didn't I hear something about the apps being able to request a clock speed in the header? Might have been on an earlier casio calc, though.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman