Omnimaga

Calculator Community => TI Calculators => ASM => Topic started by: Hot_Dog on January 09, 2013, 06:36:37 am

Title: FlashToRAM on Ti-84+ BE?
Post by: Hot_Dog on January 09, 2013, 06:36:37 am
Are there any Flash pages on the TI-84+ that B_CALL _FlashToRAM won't work on?  Is there a workaround?
Title: Re: FlashToRAM on Ti-84+ BE?
Post by: thepenguin77 on January 10, 2013, 03:01:42 pm
Nope, _flashToRam will work on any page. (However, it won't go over $1F on the 83+BE and $3E on the 84+BE)

Also, to save you the trouble of waiting for a reply, this kind of thing isn't too hard to figure out. I looked at a disassembly to get the answer, but an easy way to do it would be to just debug _flashToRam with wabbitemu and watch what happens to the value of A. Something like "cp $7E" would be a clear giveaway that it is not going to work on a specific page (_writeFlash has this restriction).
Title: Re: FlashToRAM on Ti-84+ BE?
Post by: DrDnar on January 10, 2013, 04:05:23 pm
FlashToRam has the quirk that on the TI-83+SE/TI-84+SE, it can read from RAM pages 80h-87h, but not on the TI-84+ non-SE. However, on all models you can use it to copy from regular memory in the 8000h-FFFFh region. See also the Wiki page (http://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:5017).
Title: Re: FlashToRAM on Ti-84+ BE?
Post by: thepenguin77 on January 11, 2013, 09:10:41 pm
FlashToRam has the quirk that on the TI-83+SE/TI-84+SE, it can read from RAM pages 80h-87h, but not on the TI-84+ non-SE. However, on all models you can use it to copy from regular memory in the 8000h-FFFFh region. See also the Wiki page (http://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:5017).

True. Also, you can tell _flashToRam to read ram from the $8000-$FFFF region and it will. At this point, it doesn't even matter what you set as the page to read from since it's not going to change the page swapped into $8000 or $C000. You could even use _flashToRam as a horrible replacement for ldir.