Join us on Discord!
You can help CodeWalrus stay online by donating here.

Calculator Strange Behavior

Started by ACagliano, January 20, 2016, 01:46:01 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ACagliano

For a while, I have been working on a Yatzee game for the calculator. Testing it in the emulator produced some weird results, namely graphics issues, and crashes. Upon most careful observation, I noticed that at some point, the value of HL was not changing. Even an instruction like ld hl,Address would leave HL unchanged and pointing to $0000. This was causing a great deal of other issues, including executing from that address and writing to it. At one point, this even caused the program to execute my jmptbl label as code, not as data.

Thinking that this might be an emulator issue, against my better judgement I decided to run the program on my calculator (yes, I do dumb things sometimes). Ever since then, I have had weird issues with sending files to and from my calculator. It worked once more since, but every other time, sending a program or app of any kind yields "Serious communication error has occurred" in TI Data Editor. The calculator shows up in the aforementioned program, but I cannot view anything on the device or send a file to it. TILP cannot even detect the calculator present. Using the TI-OS Restore program works fine to send a new OS to the calculator, but my connectivity issues persist.

What the heck is going on? Could I have damaged something else critical to the transfer? Is my computer's port not working? The calculators? But I would think that a hardware issue would mean I can't send a new OS either.

I've enclosed the program I ran on the calc here.
  • Calculators owned: TI-84+ CE

Dream of Omnimaga

Hm strange. I don't know ASM, but could you have hit the flash memory or changed some ports by accident? I also forgot if there are any program that can check if your certificate is still valid.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

ACagliano

If any of those are true, what steps can I take to fix it? A full reset/OS reinstall isnt correcting it.
  • Calculators owned: TI-84+ CE

Dream of Omnimaga

Could you share the source code of your prigram? That said, not many people on CW do ASM so it might be better to ask on multiple forums. Maybe @tr1p1ea might be able to help? I hope that your calculator is safe, though.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

tr1p1ea

I was wondering how you were coming to the conclusion regarding HL=$0000? Are you using a debugger (which emulator if so)?

Also do you utilise any interrupts in your program?

I'd be happy to take a look for you.

(Also love Yatzee :)).

ACagliano

Quote from: tr1p1ea on January 20, 2016, 09:11:05 PM
I was wondering how you were coming to the conclusion regarding HL=$0000? Are you using a debugger (which emulator if so)?

Also do you utilise any interrupts in your program?

I'd be happy to take a look for you.

(Also love Yatzee :)).

Debugger, Windows version of WabbitEmu, run via Wine on OSX. I had the debugger up and noticed HL = $0000 and not changing.
No interrupts occur in the program. The source is here: http://pastebin.com/F4NG7Tgf
  • Calculators owned: TI-84+ CE

Dream of Omnimaga

Oh, by the way you know that WabbitEmu emulation is not as accurate as TilEm and jsTIfied, right? Because if you mostly test on WabbitEmu and take its emulation behavior for granted, then that could explain why you have troubles running your game on a real calculator. The emulator usually does the job well, but it's always better to try in multiple emulators from time to time, in case.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Powered by EzPortal