1) What RAM pages can I use within programs without having any bad consequences?Even numbered pages are execution protected by default, so executing code here will crash your calc. That said, you can definitely store data. On the calcs with USBs, page 83h has some data that should be preserved or restored in the first 128 bytes. Just remember that any OS routines that interact with memory or variables expect the right pages to be there.
2) When an appvar is less than 16kb and is archived, will it all be on the same ROM page?No, you can't expect this. Variables won't cross sector boundaries (groups of four RAM pages), but they may cross pages.
3) Can you interface with headphones beyond simply sending them signals with the ring and the tip? If so, how?I don't know what you mean by this, sorry :| If you want to use headphones, you have to interact directly with port 0.
If you overwrite the data at the start of page $83, will bcall(_fillAppBaseTable) fix that?1) What RAM pages can I use within programs without having any bad consequences?Even numbered pages are execution protected by default, so executing code here will crash your calc. That said, you can definitely store data. On the calcs with USBs, page 83h has some data that should be preserved or restored in the first 128 bytes. Just remember that any OS routines that interact with memory or variables expect the right pages to be there.
Ram Pages (http://wikiti.brandonw.net/index.php?title=83Plus:OS:Ram_Pages) (WikiTI)
I looked for a while, and the most info I could find/understand on output to headphones was that you have to use bits 0 and 1 of port 0 (the tip and the ring), and switch them between set and reset at a desired note's frequency (e.g. 440Hz for A4). I thought that for more high quality sound than simply beeps, you send a full byte at a time to the headphones, but after looking at the source code for TruSound, I realize that that was wrong.3) Can you interface with headphones beyond simply sending them signals with the ring and the tip? If so, how?I don't know what you mean by this, sorry :| If you want to use headphones, you have to interact directly with port 0.
What do you mean by the edit buffer? Edit buffers can be fairly complicated to work with.I don't mean the text shadow, but the place the tokens that you type in are stored. I want to work with hooks to change things. My current plan is to make an app that supports double-clicking of certain keys to access the [2nd] function of that key (e.g. double clicking [^] puts the pi token).
Holy heck that is clever! So all you'd need a token hook, RawKeyHook, and parser hook.I can't tell if you are being sarcastic. Given how much trouble I always have when trying to use more than one hook at a time, I suspect you are laughing at me.