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 - bsl

Pages: 1 ... 7 8 [9] 10 11
121
Other Calculators / Re: My new useless Nspire
« on: February 06, 2011, 11:53:22 am »
It might be possible to use the exploit to patch boot2 in RAM and force it to accept a production OS. Much safer than trying to change boot1/boot2 in flash.
..... Or accept anything else - like a Linux kernel   ;D  ;D  ;D

122
Casio Calculators / Re: PRIZM Disassembler
« on: February 05, 2011, 12:32:51 pm »
bsl, your disassembler doesn't support output files larger than 128 MB. I found it out the hard way :P
I would not believe everthing it dissasembles beyond a certain output size.
Its a simple linear top-down disassembler, which means it will do things it should't - like
disassembling data instead of leaving it as data.
You have to disassemble small blocks instead and identify subroutines.
I will think of some way to make this easier.....
I have yet to finish the rest of the transfer instructions, up till now I put in enough just too look at add-ins

123
Other Calculators / Re: My new useless Nspire
« on: February 02, 2011, 06:20:52 pm »
Try a simpler protocol than USB - RS232 !!!
Try setting up a "null modem cable" type of connection between the CAS+ and this calculator
Gnd -> Gnd
Rx -> TX
Tx -> Rx

You only need three wires , 6 solder connections - much easier than making an RS 232 adapter
Code: [Select]
CAS+   other calc

 GND -----GND


 Rx\     / Rx
    \   /
     \ /
      X
     / \
    /   \
 TX/     \ Tx

124
Other Calculators / Re: My new useless Nspire
« on: February 02, 2011, 05:53:48 pm »
Try connecting one of your CAS+ calculators to it to see if it will transfer the OS ??

125
Casio Calculators / Re: Casio Prizm documentation
« on: January 24, 2011, 04:19:26 pm »
Try putting NOP's after branch instructions so that the program runs as expected:

00007020: ADD R12,R15
00007022: DT R13
00007024: nop
00007026: BF $700C
00007028: nop
0000702a: DT R15
0000702c: nop
0000702e: BF $702A
00007030: nop
00007022: RTS
00007024: nop
00007026: 0000 ?
00007028: 0000 ?

The instruction right after rts, bf,... is typically executed first.
So recode and recalc the checksum.

126
Casio Calculators / Re: PRIZM Disassembler
« on: January 23, 2011, 12:06:49 am »
Here is version 003 of the CLI SH3 disassembler.
Added more of the necessary code references, for the purposes here.
Added command line options(-s (start),-e (end),-p (sets pc at the start)):
Default values:
-p=300000 program counter setting
-s=7000    file start disassembly  at 7000
-e=eof      end dissassembly at end of file

So the default :
C:\>sh3_disass_003.py -s 7000 -p 300000 Geometry.g3a  > Geometry.S
is the same as
C:\>sh3_disass_003.py  Geometry.g3a  > Geometry.S

If you dont want the crc check(4 bytes) at the end of the file you use:
:\>Prizm>sh3_disass_003.py -e -4 Geometry.g3a > Geometry.S

Also added some register bookkeeping.
I am speculating here: if you know the fx9860g ROM syscalls you already know the Prizm syscalls:
Prizm     80020070
fx9860g 80010070

I added comments to syscalls in the disassembler:
Code: [Select]
0038D110: MOV.L @($01*4+PC),R2 = #80020070
0038D112: MOV.L @($02*4+PC),R0 = #00001E56
0038D114: JMP @R2 = #80020070 ; syscall(1E56)
0038D116: NOP
0038D118: .data 80020070 dword ref:38D110
0038D11C: .data 00001e56 dword ref:38D112
0038D120:                ;code ref:370C38
0038D120: MOV.L @($01*4+PC),R2 = #80020070
0038D122: MOV.L @($02*4+PC),R0 = #0000015E
0038D124: JMP @R2 = #80020070 ; syscall(15E)
0038D126: NOP
0038D128: .data 80020070 dword ref:38D120
0038D12C: .data 0000015e dword ref:38D122
0038D130:                ;code ref:355C10
0038D130: MOV.L @($01*4+PC),R2 = #80020070
0038D132: MOV.L @($02*4+PC),R0 = #00000168
0038D134: JMP @R2 = #80020070 ; syscall(168)
0038D136: NOP

127
Casio Calculators / Re: PRIZM Disassembler
« on: January 19, 2011, 01:42:35 am »
I am not sure you can use RTS to get back to the OS.
Disassemble the small Conv.g3a - there is only one RTS (at $7068) and its the applications subroutine.
Also as a note it makes sense that application file offset 0x7000 in memory has the PC value of 0x300000
then the program subroutine addresses match. The OS calls seem to be at > 0x80000000 .
The only reason I left out the register values in the disassembler is that I did not know there initial values.
Now it looks like I will include them in the next version.

128
Casio Calculators / Re: PRIZM Disassembler
« on: January 17, 2011, 10:50:49 pm »
Here is version 002 of the command line disassembler.
Fixed the data transfer and branch instructions, also included data and code references during
disassemby, thanks to python's dictionary [or hash in perl].
To disassemble a whole file: c:\> sh3_disass.py Geometry.g3a  7000 >  Geometry.S
To disassemble in a range:   c:\> sh3_disass.py Geometry.g3a  7000 7100 >  Geometry_7000_7100.S
Here is an example of the output:
Code: [Select]
00007000: MOV.L R14,@-R15
00007002: STS.L PR,@-R15
00007004: ADD $FC,R15
00007006: MOV.L R4,@R15
00007008: MOV.L @($07*4+PC),R3 = #00300034
0000700A: JSR @R3
0000700C: MOV R5, R14
0000700E: MOV.L @($07*4+PC),R1 = #0038DF00
00007010: MOV $01, R6
00007012: MOV $00, R4
00007014: JSR @R1
00007016: MOV R6, R5
00007018: MOV.L @($05*4+PC),R7 = #0033767C
0000701A: EXTU.W R14,R5
0000701C: MOV.L @R15,R4
0000701E: ADD $04,R15
00007020: LDS.L @R15+,PR
00007022: JMP @R7
00007024: MOV.L @R15+,R14
00007026: 0000 ?
00007028: .data 00300034 dword ref:7008
0000702C: .data 0038df00 dword ref:700E
00007030: .data 0033767c dword ref:7018
00007034: MOV.L @($0D*4+PC),R7 = #0038FE4C
00007036: MOV $00, R6
00007038: MOV.L @($0D*4+PC),R4 = #0038FE50
0000703A: BRA $7042
0000703C: MOV.L @R7,R2
0000703E: MOV.L R6,@R2
00007040: ADD $04,R2
00007042:                 ;code ref: 703A
00007042: MOV.L @R4,R5
00007044: CMP/HS R5,R2

129
Casio Calculators / Re: PRIZM Disassembler
« on: January 17, 2011, 02:08:39 am »
Sorry about multiple posts ahead of time, if there are any. I'm just going to lump everything together in one post:
1) BSL, I think there's a problem with branch adresses in your disassembler. It keeps jumping to the middle of Longwords.
Yes, I know - I am fixing that now: Both the data movement and branch instructions, the rest look good.
I may add data references so that the disassembler skips over this as data.
I might add more command line options too.

130
TI-Nspire / Re: Java on the TI-Nspire?
« on: January 16, 2011, 08:20:09 pm »
Nice find Goplat !!!!
I was looking into that possibility a year ago before Ndless came out.
I though I read in the ARM docs somewhere that Jazelle was superceded with something else -
that could run byte code from other interpreted languages - its been a while
I have to go over the documentation again.
EDIT: Jazelle's successor : ThumbEE

131
Casio Calculators / Re: Casio Prizm - Kind of hiring patient person
« on: January 16, 2011, 04:20:30 pm »
Double Edit: Can you get it to write the output to a text file? It's not very easy to read when it's scrolling.
Dump to  a file for now: c:\> sh3_disass.py file.g3a 7020 7140 > file.S
Then use a text editor to scroll through the results.
I am fixing up the branching and data movement instructions, that were not reporting correctly.

132
Casio Calculators / Re: Casio Prizm - Kind of hiring patient person
« on: January 15, 2011, 11:40:46 pm »
Here is a command line SH3 disassember in python I wrote in just a little over a day.
It may have a few mistakes, but its a start.
Code: [Select]
c:\> sh3_disass.py Geometry.g3a  7000 7020 > Geometry.S

c:\> type Geometry.S
00007000: MOV.L R14,@-R15
00007002: STS.L PR,@-R15
00007004: ADD $FC,R15
00007006: MOV.L R4,@R15
00007008: MOV.L @($07*4+PC),R3 = 6563D705
0000700A: JSR @R3
0000700C: MOV R5, R14
0000700E: MOV.L @($07*4+PC),R1 = 64F27F04
00007010: MOV $01, R6
00007012: MOV $00, R4
00007014: JSR @R1

133
Ndless / Re: Ndless 2.0 for TI-Nspire Clickpad/Touchpad
« on: January 02, 2011, 11:23:27 pm »
Now I feel there are still two main features to be added before moving to the beta-testing phase:

  • Compatibility with the Touchpad arrows: According to Goplat the hardware interface is not simple, I'm not sure how to add this. Should a function that implement the protocol be added to libndls? Could it have the same signature as isKeyPressed() for the migration of existing program to be transparent? Or should we move instead to OS functions, if they exist?
  • A simple console: it would integrate with programs through stdin and stdout/stderr (replacing the default RS232 interface), to make ports of non-TI-Nspire programs easier. There would be a prompt, the keyboard would be used to type in strings, echo-ed on the screen. stdout/stderr would be displayed on the scrolling screen.
    I may also create a simple shell with history and auto-completion of file names to make possible the execution of command-line tools with arguments.
I too had the console idea going back to when bwang wanted to print text to the screen.
I think it will be discovered later a redirection of stdout to the screen, and stdin to the keypad is
already in the Nspire software, its hard to imagine an Nspire developer at TI working on OS1.0 CAS+
not doing this to test his development.
Any way its a good idea, making console programs portable.
There is one critical part missing in it  !!
A default system Font .
Now that I have better access through RS232 on the emulator I can explore
the existing Font table better than a few months ago. Maybe I will choose the Ariel Font as default ?
A graphical Hello World !!! program should'nt be much bigger than the RS232 version.

134
Other Calculators / Re: Let's hack Nspire Boot1
« on: January 02, 2011, 10:17:07 am »
Here is the source for dumping boot1 for Ndless 1.1
It works !!!!!

135
News / Re: Ndless 1.3, 1.4 & updates on nspire_emu
« on: December 31, 2010, 04:39:55 pm »
You can Download those versions for free at Ti-bank , thats fine by me.

EDIT - I will likely update Ndless 1.3 /1.4 again once ExtendeD figures out the problems with Ndless 2.0
and if they are relevent to OS1.3/1.4. They will have the same Syscalls list.
Meanwhile I have been trying to find more standard library functions, which is hard to tell between
propriety functions and standard ones.

Pages: 1 ... 7 8 [9] 10 11