Register

Prizm fx-CG50 announced for spring 2017

All news about Casiopeia, calculator games, development tools and community news will be posted here.
Junior Member
Posts: 4
Joined: Sat Apr 01, 2017 4:59 am
Calculators: None

Re: Prizm fx-CG50 announced for spring 2017

Postby parrotgeek1 » Sun Apr 02, 2017 5:45 pm

TeamFX wrote:
Could it be possible to port the OS from the emulator to a real calculator? How different is the emulator from real hardware?

Actually, I was stupid enough to try this yesterday, but all I got was "illegal code error" and no keys working...

CG50 is reduction consumption electricity than CG20, might the CPU process be changed?

I don't think so. This is unnecessary, too expensive and SuperH is already being phased out by Renesas.
The only software thing I have found is a very dark backlight setting (level 0) when the calculator is inactive.


How exactly did you get that OS onto the calculator? There is no public information about how to put a modified OS on it and fxremote doesn't work. You should share your tool with the community.

What address was the illegal code error at? I'll look at it in the Emulator dump. It must be using undefined instructions as traps for some hard to emulate functionality

Senior Member
Posts: 100
Joined: Sun Mar 24, 2013 12:01 pm
Calculators: None

Re: Prizm fx-CG50 announced for spring 2017

Postby TeamFX » Sun Apr 02, 2017 8:32 pm

How exactly did you get that OS onto the calculator? There is no public information about how to put a modified OS on it and fxremote doesn't work. You should share your tool with the community.

Modified OSupdateDLL, but you could also use a debugger and replace raw firmware data in memory.
WinDbg's ".readmem" command seems to do exactly that: https://msdn.microsoft.com/en-us/library/windows/hardware/ff564772(v=vs.85).aspx

What address was the illegal code error at? I'll look at it in the Emulator dump. It must be using undefined instructions as traps for some hard to emulate functionality

Target and PC were 0. But as I said, it is kinda stupid to run the emulator OS on a real machine. Some hardware settings and mappings are different. E.g., low-level key access involves ports P/M/N on the emulator whereas on a real calculator it is ports Z/M/N.

Junior Member
Posts: 4
Joined: Sat Apr 01, 2017 4:59 am
Calculators: None

Re: Prizm fx-CG50 announced for spring 2017

Postby parrotgeek1 » Sun Apr 02, 2017 8:40 pm

TeamFX wrote:
How exactly did you get that OS onto the calculator? There is no public information about how to put a modified OS on it and fxremote doesn't work. You should share your tool with the community.

Modified OSupdateDLL, but you could also use a debugger and replace raw firmware data in memory.
WinDbg's ".readmem" command seems to do exactly that: https://msdn.microsoft.com/en-us/library/windows/hardware/ff564772(v=vs.85).aspx

What address was the illegal code error at? I'll look at it in the Emulator dump. It must be using undefined instructions as traps for some hard to emulate functionality

Target and PC were 0. But as I said, it is kinda stupid to run the emulator OS on a real machine. Some hardware settings and mappings are different. E.g., low-level key access involves Ports P/M/N on the emulator whereas on a real calculator it is Ports Z/M/N.


How do you modify the OSupdateDLL? I only know​ how to EXTRACT the OS but not recompress it. I tried to decompile the extract_cg20_....exe from ti planet but I don't know enough assembly to understand what's going on. It seems to be zlib with extra Casio stuff added?


Do you know if anyone knows where the table of the names and icons of the built-in add ins is stored in the OS? And how to get that offset? I want to make a program which can edit the icons of the 2.0 firmware to match the new white ones. Basically I'm trying to patch OS 2.02 to be a fake OS 3.0 with the new visual style and overclock and stuff

Why do you think the emulator is so different from real Hardware? Do you have a list of the differences? Is this documentEd anywhere online?

Sorry for asking so many questions but almost none of this information is publicly available

Senior Member
Posts: 100
Joined: Sun Mar 24, 2013 12:01 pm
Calculators: None

Re: Prizm fx-CG50 announced for spring 2017

Postby TeamFX » Sun Apr 02, 2017 9:32 pm

How do you modify the OSupdateDLL? I only know​ how to EXTRACT the OS but not recompress it. I tried to decompile the extract_cg20_....exe from ti planet but I don't know enough assembly to understand what's going on. It seems to be zlib with extra Casio stuff added?

Older DLLs have integrated SZDD header files (from compress.exe, included in the ClassPad SDK), newer DLLs use zlib compressed data chunks.
Anyway, I don't want to open Pandora's box. So that is all I can tell.

Do you know if anyone knows where the table of the names and icons of the built-in add ins is stored in the OS?

You should ask Simon Lothar.

Why do you think the emulator is so different from real Hardware? Do you have a list of the differences? Is this documented anywhere online?

The emulator's *.dlm file contains some hardware info (includes pseudo settings/mappings). This emulator OS has many simplifications ("This feature is not available on this emulator") and hacks to make things detectable on the PC side (e.g., "F3:Import/Export" or key logging).
As far as I know, there are no related docs (not even offline).
Last edited by TeamFX on Mon Apr 03, 2017 2:44 pm, edited 1 time in total.

Member
User avatar
Posts: 25
Joined: Mon Oct 27, 2014 1:46 pm
Location: Japan
Calculators: Casio Cfx Series, Casio fx-9860G, Casio fx-9860 GII, Casio fx-9860 GII SD Power Graphic 2, Casio fx-CG 10, Casio fx-CG 20, Casio fx-CG 50

Re: Prizm fx-CG50 announced for spring 2017

Postby sentaro21 » Mon Apr 03, 2017 10:36 am

TeamFX wrote:
CG50 is reduction consumption electricity than CG20, might the CPU process be changed?

I don't think so. This is unnecessary, too expensive and SuperH is already being phased out by Renesas.
The only software thing I have found is a very dark backlight setting (level 0) when the calculator is inactive.

Thanks again. :D
If reduce around 0.5~1mA,
it is possible to extend battery life.

Senior Member
Posts: 100
Joined: Sun Mar 24, 2013 12:01 pm
Calculators: None

Re: Prizm fx-CG50 announced for spring 2017

Postby TeamFX » Tue Apr 04, 2017 1:44 pm

And this is the new fx-CG500:

Image

We also learn about a new fx-CG50 with blue back cover:
http://casioeducation.com/products/calculators/graphing

Too bad they are calling both models Prizm...

Senior Member
User avatar
Posts: 596
Joined: Sat Sep 15, 2012 6:59 am
Location: Krautland ****
Calculators: Casio fx-7400GII, Casio fx-7400GII (SH4), Casio fx-9750 G II, Casio fx-9750 G II (SH4), Casio fx-9860G, Casio fx-9860 G SD, Casio fx-9860G Slim, Casio fx-9860 GII SD, Casio fx-9860 GII SD Power Graphic 2, Casio Classpad 330 plus, Casio fx-CG 20, Casio Classpad fx-cp400, Casio fx-CG 50

Re: Prizm fx-CG50 announced for spring 2017

Postby SimonLothar » Tue Apr 04, 2017 6:20 pm

parrotgeek1 wrote:Do you know if anyone knows where the table of the names and icons of the built-in add ins is stored in the OS? And how to get that offset? I want to make a program which can edit the icons of the 2.0 firmware to match the new white ones. Basically I'm trying to patch OS 2.02 to be a fake OS 3.0 with the new visual style and overclock and stuff

We have discussed this topic here.

After a closer look, I found a way to get the pointer systematically (works for OS 3.00, too).
(EDIT: GetPoolValue)
build-in-table address: Show
Code: Select all
// the language is similar to C.
// find address of syscall 1e5b
   ea = Dword(Dword(0x8002007c) + 0x1e5b*4);
// find first bsr target 0xB___
   ea2 = -1;
   while (1){
// check for bsr opcode
      if ( ( Word( ea ) & 0xF000 ) == 0xB000 ){
// found bsr
// calculate the bsr target address
         if ( ( Word( ea ) & 0x0800 ) == 0x800 )   ea2 = ea + ( ( (Word( ea ) & 0xFFF) - 0x1000) ) * 2;
         else    ea2 = ea + ( Word( ea ) & 0x07FF ) * 2 + 4;
         break;
      }
      ea = ea + 2;
   }
   if ( ea2 != -1 ){
// now search the first mov.l, which addresses an address inside the OS
      ea = ea2;
      while ( 1 ){
         if ( ( Byte( ea ) & 0xF0 ) == 0xD0 ){
            ea1 = GetPoolValue( ea );
            if ( ea1 >= 0x80000000 && ea1 < 0x80B60000 ){
// found!
               break;
            }
         }
         ea = ea + 2;
      }
   }

//
static GetPoolValue( base ){
auto ea;
   ea = base + Byte( base+1 ) * 4;
   ea = ( ea+4 ) & ~3;
   return ( Dword( ea ) );
}
I'll be back!

Member
Posts: 38
Joined: Wed Jul 24, 2013 3:33 am
Calculators: Casio fx-7400GII (SH4), Casio fx-9750 G II (SH4), Casio fx-9860 GII SD, Casio Classpad 330, Casio Classpad fx-cp400, Casio fx-CG 50

Re: Prizm fx-CG50 announced for spring 2017

Postby critor » Wed Apr 05, 2017 10:59 pm

Hi, I've now got a real Graph 90+E (let's say fx-CG50).


It seems we have several add-in compatibility issues.

CGDoom doesn't work for example, although I have the 3MiB doom.wad file at the root of my storage :
Image Image

Game Boy games on Prizoop are randomly (but often) freezing, always at the same states :
https://tiplanet.org/forum/viewtopic.ph ... 30#p215109

OpenJazz Jack Rabbit doesn't work, but this was to be expected :
Image


Unless I've been extremely unlucky by just trying the most complex and only problematic add-ins, I think we should start some kind of an add-in compatibility list somewhere, and then contact the developers, or try to fix things if the original developers aren't with us anymore.

Member
Posts: 38
Joined: Wed Jul 24, 2013 3:33 am
Calculators: Casio fx-7400GII (SH4), Casio fx-9750 G II (SH4), Casio fx-9860 GII SD, Casio Classpad 330, Casio Classpad fx-cp400, Casio fx-CG 50

Re: Prizm fx-CG50 announced for spring 2017

Postby critor » Thu Apr 06, 2017 11:16 pm

Ok, most 3rd party fx-CG10/20 add-ins are broken.

I've posted a first list, grouped by anomalies :
https://tiplanet.org/forum/viewtopic.php?f=24&t=19815

Senior Member
User avatar
Posts: 596
Joined: Sat Sep 15, 2012 6:59 am
Location: Krautland ****
Calculators: Casio fx-7400GII, Casio fx-7400GII (SH4), Casio fx-9750 G II, Casio fx-9750 G II (SH4), Casio fx-9860G, Casio fx-9860 G SD, Casio fx-9860G Slim, Casio fx-9860 GII SD, Casio fx-9860 GII SD Power Graphic 2, Casio Classpad 330 plus, Casio fx-CG 20, Casio Classpad fx-cp400, Casio fx-CG 50

Re: Prizm fx-CG50 announced for spring 2017

Postby SimonLothar » Sat Apr 08, 2017 5:47 pm

The fx-CG50 OS is very similar to the fx-CG20 OSes. I am a bit disappointed. Looks as if there are no secrets to unravel.
Apart from the RAM-address there seem to be no grave differences.
INSIGHT, NOTEVIEW, FARGOAL and even a relatively complicated UBC-tool work well (OK, I wrongly used 0x88000000 at one point in FARGOAL, but that could be mended fast).
I opened a 4 MiB file with NOTEVIEW without a problem.
The OS reports a FAT16 file system as with the predecessors.
Fine thng is that the fx-CG50 is at least two times faster. USB mounts and unmounts very fast.
I'll be back!

PreviousNext

Return to News & Announcements

Who is online

Users browsing this forum: No registered users and 4 guests