Author Topic: Fullrene  (Read 42772 times)

0 Members and 1 Guest are viewing this topic.

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Fullrene
« Reply #75 on: November 10, 2013, 03:32:13 am »
Asm(prgmFULLTEST) ran fine, exited fine and didn't mess with the free ARC display. So I guess it worked.

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1594
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: Fullrene
« Reply #76 on: November 10, 2013, 01:11:53 pm »
Asm(prgmFULLTEST) ran fine, exited fine and didn't mess with the free ARC display. So I guess it worked.

Well, that means the problem isn't FULLRENE and is somehow the way you are compiling it.
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Fullrene
« Reply #77 on: November 10, 2013, 03:07:04 pm »
I updated my Axe version from 1.2.1a to 1.2.2 ... now the resulting 15k MirageOS program that uses FullRene doesn't even run properly ... It does run indeed, but all pointers are messed up, and it still crashes on exit (using classic Return, not Returnr).
EDIT : I finally remembered that Axe 1.2.2 moved the A-θ variables buffer to $90D3, which area I used in my program. Oh well.
I had no more success with Return, and using Returnr made MirageOS angry, so I had to use Asm(CDB940) as a return instruction to skip the Fullrene custom exit point ($409B is MirageOS's call _quitToShell). And it finally works :D

It would be nice if I could simply use Return though.
« Last Edit: November 10, 2013, 04:44:58 pm by Matrefeytontias »

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Fullrene
« Reply #78 on: March 04, 2014, 06:44:00 am »
Bump,

Worms went over 8192 bytes too, so I tried using it. Well, on my (as always) TI-83+.fr 2010 edition, it still runs well and crashes on exit (with MirageOS, still). I did Fcdf() at the very start and just Return, and it crashes. I again had to use Asm(CDB940).

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Fullrene
« Reply #79 on: March 05, 2014, 06:10:24 am »
Bump again,

Apparently, not closing the RAM page causes the calc not to detect TI-Connect. I only have to force the OS closing the page with a manual RAM clear and everything works again. Would it be possible to have a separate program closing the page for us that would be to be ran outside of MirageOS ?

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1594
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: Fullrene
« Reply #80 on: March 12, 2014, 03:03:42 pm »
Quote

Bump again,


Apparently, not closing the RAM page causes the calc not to detect TI-Connect. I only have to force the OS closing the page with a manual RAM clear and everything works again. Would it be possible to have a separate program closing the page for us that would be to be ran outside of MirageOS ?


What do you mean by closing the ram page? Do you mean making C000 non-executable again? I feel like if I made that program, it's just going to crash for you.
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Fullrene
« Reply #81 on: March 13, 2014, 03:02:04 am »
Yes I mean making $C000-$FFFF non-executable. Apparently TI-Connect only wants it this way. And well, we can't know until we try.

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1594
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: Fullrene
« Reply #82 on: March 13, 2014, 09:16:52 pm »
Here you.
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Fullrene
« Reply #83 on: November 09, 2014, 04:30:55 am »
Btw, is there a copy of this routine available for assembly programmers? I'm not exactly sure what to do with the source in the first post, for example what are all the REP_NEXT macros? I've been able to get around the C000 limit on the 84+/SE, but haven't figured out how to get around it on the 83+BE.

Offline Runer112

  • Moderator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Fullrene
« Reply #84 on: November 09, 2014, 11:25:29 am »
Just ignore all the REP_NEXT macros. They're markers to signal to the Axiom system that the next instruction references an address that needs to be linked up at compile time.

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Fullrene
« Reply #85 on: November 10, 2014, 03:26:45 am »
Thanks, i just tested it out on my 83+ and it works, but exiting the program crashes the calc. It exits just fine on the 83+SE, though.

Offline Runer112

  • Moderator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Fullrene
« Reply #86 on: November 10, 2014, 12:55:04 pm »
If I recall, there was at least one bug that occurred on real 83+ hardware but not in any emulator, and it could never successfully be pinpointed and solved. You may be running into that bug. Or, perhaps code flow isn't still working quite right due to the translation from its Axiom form, which you might be able to solve by debugging it in an emulator.

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Fullrene
« Reply #87 on: November 10, 2014, 06:58:59 pm »
I've followed it in a debugger and it  works just fine or seems to at least on TilEm. It also works fine on the 83+SE, but running it on the real hardware for the 83+ (or at least mine) causes it to crash upon exit.

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Fullrene
« Reply #88 on: November 10, 2014, 07:10:59 pm »
Don't bother trying, it's a Fullrene bug that was never fixed. I had exactly the same problem with IkarugaX, my workaround was to just return from the program without going through Fullrene's exit handler.

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Fullrene
« Reply #89 on: November 10, 2014, 10:43:54 pm »
Does that have any other side effects other than not reopening the $C000 protection? It seems to work ok for the 15mhz calcs, so for the meantime i'll just add a check  for those. I'll read up on the ports over at WikiTI and see if i can figure out what exactly the code's doing.