On Mon, 16 Feb 2004 09:23:29 +0100, Oliver Schmidt wrote: > Hi, > > I'd like to use the MouseText characters in my (assembly language) > application. I've read the Mouse TechNote #6 but unfortunately there > are still open questions: > > 1. How do I detect if MouseText is generally available? The TechNote > states that it is available on "enhanced" //e's and obove. But what > does "enhanced" mean in that respective? A //e with an enhanced 80 col > board? If that's true, than I could deduct that having 128k means > having MouseText. Is that correct? An enhanced IIe is a IIe with a 65c02 and the "enhanced" ROM version. Early Apple IIe's could be upgraded via enhancement kit that consisted of a new CPU and new ROMs (and an "enhanced" sticker). You need to identify the machine you are running on. If you are running on an enhanced IIe, a IIc, or IIgs, then you can use mousetext. You can look at Apple II Miscellaneous Tech Note #7 for information on identifying which Apple II model your program is running on. If you are using ProDOS, you can look at the MACHID byte in the system global page instead. I forget the exact location, but it is described on page 96 of the ProDOS technical reference. Lastly, a lot of programs don't do any check at all. They simply use mousetext and if the computer doesn't support it, too bad. > 2. How do I detect if MouseText is currently active? Simply checking > for an 80 col display seems to be wrong because MouseText is also > active after switching back to 40 col display with Ctrl-Q. The //c > TechNote #2 calls this "leaving the 80-column firmware active". Bit > how do I know if it is active, if it was already at the time my > application was run? One way is to simply set the video firmware how you wish. Of course this might cause a problem for the system once your application has quit, but it's not an uncommon method nonetheless. Apart from that, there is (at least on the IIe) a video firmware mode byte at $4FB that is used by the video firmware to keep track of video settings. One of the bits keeps track of whether mousetext is active or not. You can find a description of this mode byte at the beginning of the listing of the 80 column firmware in the IIe technical reference manual. > 3. For some MouseText characters I find it hard to imagine how they > are intended to be used. Is there some doc available online that > explains them? Or applications that make (heavy) use of them (the best > for me would be a .dsk file) ? I think the best way is to look at applications that make heavy use of them. Shrinkit uses a lot of mouse text, as does Proterm 3, in both cases as textual GUI elements. > Thanks in advance for your time to review (and hopefully answer) my > questions, Oliver Hi Sheldon, first of all thanks for your very details reply :-) >An enhanced IIe is a IIe with a 65c02 and the "enhanced" ROM version. >Early Apple IIe's could be upgraded via enhancement kit that consisted >of a new CPU and new ROMs (and an "enhanced" sticker). Okay... >You need to identify the machine you are running on. If you are running >on an enhanced IIe, a IIc, or IIgs, then you can use mousetext. You >can look at Apple II Miscellaneous Tech Note #7 for information on >identifying which Apple II model your program is running on. Thanks, I knew that tech note already but to be true I just didn't notice that there was a "Apple IIe (enhanced)" mentioned - basically exactly what I was looking for... >If you are using ProDOS, you can look at the MACHID byte in the system >global page instead. I forget the exact location, but it is described >on page 96 of the ProDOS technical reference. Unfortunately ProDOS doesn't seem to differentiate between a //e and an enhanced //e - at least according to both the ProDOS tech ref and 'Beneath Apple ProDOS'. But what's written in the tech note mentioned above makes me think that it is as easy as: MouseText = (0xFBB3 == 0x06 && 0xFBC0 != 0xEA); >Lastly, a lot of programs don't do any check at all. They simply use >mousetext and if the computer doesn't support it, too bad. Surely not the way to go for me ;-) >One way is to simply set the video firmware how you wish. Of course >this might cause a problem for the system once your application has >quit, but it's not an uncommon method nonetheless. Surely... >Apart from that, there is (at least on the IIe) a video firmware >mode byte at $4FB that is used by the video firmware to keep track of >video settings. One of the bits keeps track of whether mousetext is >active or not. You can find a description of this mode byte at the >beginning of the listing of the 80 column firmware in the IIe technical >reference manual. Sounds very promising, but I don't have that manual - and didn't find it online (for free). Where I can download it? >I think the best way is to look at applications that make heavy >use of them. Shrinkit uses a lot of mouse text, Okay, I looked at ShrinkIt 3.4but it doesn't use the more interesting MouseText characters. >as does Proterm 3, >in both cases as textual GUI elements. The only thing I found concerning ProTerm 3.1 were two files pt31dem525a.shk resp. pt31dem525b.shk. As far as I understand Nulib is supposed to be able to extract disk images from these files. I downloaded nulib324.zip but it gives me errors on both files. It would be great to get them as .dsk files... Thanks again, Oliver