Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - z80man

Pages: 1 ... 59 60 [61] 62
901
Casio Calculators / Re: Casio Prizm documentation
« on: December 30, 2010, 01:23:55 am »
Code: [Select]
16 FE FF FE B9 57 9F ; picture plot
16 FE FF F4 75 57 9F ; geometry
C2 FE FF FF 8E 03 4B ; conversion
I figured out part of the copy protection. First of the 2nd and 3rd bytes appear to always be FE anf FF, but thats pretty obvious. More interesting was if you subtract from the picture app's 4th, 5th, and 6th bytes by the geometry app's 4th, 5th and 6th you get the same difference of their file size not including the header. You will notice though that for the 4th, 5th and 6th that the conversion app has the greatest number and the geometry the smallest which may seem strange at first considering that the conversion app is the smallest and he geometry app is the smallest. Checking it over again I noticed that the bytes were written in inverse binary. As in the 1's became 0's and the 0's became 1's. So these bytes are just the file size written in inverse.

902
Casio Calculators / Re: Casio Prizm documentation
« on: December 30, 2010, 12:54:02 am »
As with previous casio calcs there is a seven byte copy protection at 0x000E, but I can't tell if anyone has cracked it yet. I believe its supposed to be some sort of checksum of the first 32 bytes of the header. Also these sven bytes are largely similar between the picture plot apps and the geometry apps, but not the conversion app
Code: [Select]
16 FE FF FE B9 57 9F ; picture plot
16 FE FF F4 75 57 9F ; geometry
C2 FE FF FF 8E 03 4B ; conversion

903
Humour and Jokes / Re: 500 Ways to Torture a programmer
« on: December 30, 2010, 12:13:06 am »
44. Force them to use their calc for math only

904
Introduce Yourself! / Re: Hi I'm Z80man
« on: December 29, 2010, 11:56:09 pm »
Also 98% of the time when programming, the numbers I'm using are integers

905
Introduce Yourself! / Re: Hi I'm Z80man
« on: December 29, 2010, 11:50:12 pm »
Btw, I don't quite understand how basic lacks integers?  Isn't that essential for a calc?
All math in basic is done with floating point variables which are much slower and take up more space

906
Miscellaneous / Re: What did you get for X-Mas?
« on: December 29, 2010, 11:35:13 pm »
Three programming books and a Casio Prizm

907
Introduce Yourself! / Re: Hi I'm Z80man
« on: December 29, 2010, 11:24:42 pm »
What I felt what was missing from basic were
1. grayscale support
2. the last row and column of the screen
3. turn off the run indicator (It's way to annoying)
4. integers
5. sound
6. turning screen on and off (I used this to make an asm program that made my teachers think they had deleted my ram)
7. pixel lines, not graph screen lines
8. crash the calc ( when wrong password is entered)
9. efficient memory storage
10. capability to run programs that require speed

908
Introduce Yourself! / Re: Hi I'm Z80man
« on: December 29, 2010, 09:00:54 pm »
I just recently started using Axe.
My two best basic programs were a slot machine game and a missile defence game. The missile defence game was very realistic with multiple enemies at varying speeds all at the same time, but ran way to slow for basic. I'm now porting it for axe.

909
Introduce Yourself! / Hi I'm Z80man
« on: December 29, 2010, 08:24:07 pm »
Hi I'm Z80man. I'm currently a sophmore in high school. Last year I got my first graphing calculator, a Ti-84+ SE. Within a few weeks I was making my first basic programs. As I got better I made more advanced programs. Eventually I became frustruated with the slow speed and lack of capability of basic. Thats when I was introduced to asm programming. I'm also fluent in the C/C++ langaunge too. This year for Christmas I got the Casio Prizm. As of now I'm trying to decode the header for apps. Other news about me is that I'm am an avid runner competing on both my school's cross country and track teams.

910
Casio Calculators / Re: Casio Prizm documentation
« on: December 28, 2010, 11:40:12 pm »
Does anyone know a good disassembler for the SH3

911
Casio Calculators / Re: Casio Prizm documentation
« on: December 27, 2010, 06:13:48 pm »
There needs to be a site like wikiti.brandonw.net/ but for casio calcs

912
Casio Calculators / Re: Casio Prizm documentation
« on: December 27, 2010, 05:33:41 pm »
New find. I believe this is a 32 bit number. At 0x002E on the geometry app is 000B1AA4 which just so happens to be the exact size of the program not including the header. On the conversion app I get 000001F8 also the size of the program not including the header.

913
Casio Calculators / Re: Casio Prizm documentation
« on: December 27, 2010, 05:14:33 pm »
It appears more than one checksum is used. After running a checksum-32 algorithim on the conversion app I got 0027DB. At 0x0020 in the code appears 0027D864. On the Geometry app the algorithim got a result of 014DD578 and at 0x0020 was 014DD1DC. So the checksum doesn't include the entire code. I can't figure out what part is left out though. For the geometry app the first part of the header is AA AC BD AF 90 88 9A 8D D3 FF FE FF FE FF 16 FE FF F4 75 57 9F 00 49 12 00 00 00 00 00 00 00 00 04 1D D1 DC 01 01 00 00 00 00 00 00 00 00 00 0B 1A A4 00 00 00 00 00 00 00 00 00 00 00 00 00 00

914
Casio Calculators / Re: Casio Prizm documentation
« on: December 27, 2010, 01:20:46 pm »
Yes there are two icons in the header one at 0x1000 and the other at 0x4000. The former is for when the cursor is off the icon and the latter is when it is on. How I figured out a modular sum checksum was used, Whenever I changed some data in the program I would keep track of how much much I added or subtracted from each byte and When I was done the net change must be at 0. eg. If there is a byte that reads $C0 and I change it $B0 then I must add $10 to another byte. So $60 becomes $70

915
Casio Calculators / Re: Casio Prizm documentation
« on: December 27, 2010, 04:40:54 am »
After changing some of the data you can see a change in the icon, but then the app becomes unrunnable. Any ideas why would be helpful.
The first 2 bytes in the headers are 0xAA and 0xAC, right? On the fx-9860, to disable the checksum you would change the first byte (0xAA) to 0xAC. Try and see if that works.
I tried changing the first byte from $AA to $AC, but the app is still not running.
What happens if the first byte of an unmodified app is changed to 0xAC?
ah ha!! I figured it out!!! ;D ;D ;D ;D The OS uses a modular sum checksum. So as long as I keep the sum of all the bytes added together the app will run. All we need to do now is find out where this sum is located that way we can start modifying some code. Also if you change the first byte to $AC the app does not run.

Pages: 1 ... 59 60 [61] 62