Why is that if you open a 8xp 8xk 8xs 8xi etc. and resave it, will no longer work? I tried it multiple times with Wabbitemu, jsTIfied, and TI Connect CE. Obviously these programs are reading some kind of metadata about the file, and telling it not to use it.

What I want to know is why these programs do this and how I can trick them to accept files that have been edited/saved in notepad.

I understand that if I edited a file like this, it probably won't work afterward, but that isn't my concern right now. I just want to get the file into an emulator which I can't do even if all I have done is open it in notepad, hit ctrl+S, and exit.
My guess is just like you said: There's some kind of format with the files and once you edit them, it throws the format off. If you want to edit .8xp's, I would suggest this site's SourceCoder, or for an offline solution, TokensIDE. Both allow you to edit and save your programs on a computer. Pick whichever seems to suit your needs!
Deoxal1 wrote:
Why is that if you open a 8xp 8xk 8xs 8xi etc. and resave it, will no longer work? I tried it multiple times with Wabbitemu, jsTIfied, and TI Connect CE. Obviously these programs are reading some kind of metadata about the file, and telling it not to use it.

What I want to know is why these programs do this and how I can trick them to accept files that have been edited/saved in notepad.

I understand that if I edited a file like this, it probably won't work afterward, but that isn't my concern right now. I just want to get the file into an emulator which I can't do even if all I have done is open it in notepad, hit ctrl+S, and exit.

Notepad is a text editor. When you open the file in notepad, it reads the binary data in the file as if it was a Unicode text file. When you save it, it writes the text back into binary form. However, the original and saved binary forms are likely be different because:
1)The original binary data may have contained illegal Unicode sequences that got ignored when the file was being opened by notepad.
2) it may have saved using a different Unicode encoding, or ASCII encoding.
3) notepad might have saved with "windows style" line endings, which would add extra bytes in some places.

If you want to edit binary files, use a Hex Editor. Do note that if you edit the .8x file with a hex editor, you would still have to modify the internal checksum, which is used to test if the file is "corrupted".
I assume you are using this on a CE when you mention Ti Connect CE. Just use the built in program editor they provide. Its not the best, but it has the CE tokens, which iirc, TokenIDE does not.

Also, lets all petition Github to add .8xp and .8xv support! We want to view Github calc files.
LAX18 wrote:
I assume you are using this on a CE when you mention Ti Connect CE. Just use the built in program editor they provide. Its not the best, but it has the CE tokens, which iirc, TokenIDE does not.

Also, lets all petition Github to add .8xp and .8xv support! We want to view Github calc files.


I have a 84+ but since I am working with Wabbitemu/jsTIfied, I can work with any calculator I want. TI connect CE works for several calculators as gives it you access to several token sets.

I asked this question trying to understand how these file formats work. One day I'd like to write an assembler for the calculator or other low level programs.

I am not having technical issues with any of the programs I listed. In other words this post is purely academic.
123outerme wrote:
My guess is just like you said: There's some kind of format with the files and once you edit them, it throws the format off. If you want to edit .8xp's, I would suggest this site's SourceCoder, or for an offline solution, TokensIDE. Both allow you to edit and save your programs on a computer. Pick whichever seems to suit your needs!


I want to understand how these files work and not just .8xp.
Deoxal1 wrote:
123outerme wrote:
My guess is just like you said: There's some kind of format with the files and once you edit them, it throws the format off. If you want to edit .8xp's, I would suggest this site's SourceCoder, or for an offline solution, TokensIDE. Both allow you to edit and save your programs on a computer. Pick whichever seems to suit your needs!


I want to understand how these files work and not just .8xp.

http://merthsoft.com/linkguide/ti83+/fformat.html
Once again don't use a text editor to edit them.
c4ooo wrote:

http://merthsoft.com/linkguide/ti83+/fformat.html
Once again don't use a text editor to edit them.


By illegal unicode sequences do you mean these ""? Also I checked the file size before and after I saved it and it was the same, 77 bytes, which is the same as the character count thankfully. Which means its just the encoding which is ANSI.

Final two things: Can you recommend a hex editor and How do you change the checksum?

PS: Thanks for the help
HxD is a good hex editor iirc.
A checksum is a sum of all the "data" bytes modulated by 0xFFFF. When editing files, if you remove a byte in the data, subtract the bytes value from the checksum, if you add a byte, add the byte's value to the checksum.
Use Sublime Text! It has a built in hex editor and is a multiuse editor.
c4ooo wrote:
HxD is a good hex editor iirc.
A checksum is a sum of all the "data" bytes modulated by 0xFFFF. When editing files, if you remove a byte in the data, subtract the bytes value from the checksum, if you add a byte, add the byte's value to the checksum.


What do you mean by "modulated by 0xFFFF"? I'm familar with hex and addresses, but I've also seen some stuff about using either 2's complement or 1's complement with the checksum.
Calculate the checksum using: checksum = ((checksum + byte) mod 0x10000) 🌞
Deoxal1 wrote:
c4ooo wrote:
HxD is a good hex editor iirc.
A checksum is a sum of all the "data" bytes modulated by 0xFFFF. When editing files, if you remove a byte in the data, subtract the bytes value from the checksum, if you add a byte, add the byte's value to the checksum.


What do you mean by "modulated by 0xFFFF"? I'm familar with hex and addresses, but I've also seen some stuff about using either 2's complement or 1's complement with the checksum.

I meant "bitwise and 0xFFFF", although mateoC's "modulate 0x10000" works too. Both of these operations these "chop off" all but the lowest 16 bits of a number.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement