[Coco] Re: Gadgets

L. Curtis Boyle curtisboyle at sasktel.net
Wed Apr 6 02:36:11 EDT 2005


On Wed, 06 Apr 2005 01:08:42 +0200, Torsten Dittel <Torsten at Dittel.info>  
wrote:

> bill gordon wrote:
>
>> Well, I found a poke (POKE 282,0-sets keyboard to lowercase, POKE
>> 282,255-resets to uppercase).  So, I tried it. I must have a  
>> non-standard
>> machine.  (CoCo3, part #26-3334, Serial # 1119186 ), because all I get  
>> is
>> inverse screen.
>
> This POKE is just "emulating" the result of the SHIFT+0 key stroke.
>
> POKE &HFF22,(PEEK(&HFF22) OR 16)
>
> will turn the lowercase on, but the OK-prompt will reset it again. It  
> only works in a programm, try:
>
> 10 CLS
> 20 FOR I = 32 TO 255: PRINT CHR$ (I); : NEXT
> 30 POKE &HFF22,(PEEK(&HFF22) OR 16)
> 40 GOTO 40
>
> (you can obmit the spaces)
>
> Pressing "BREAK" will return to "normal" mode.
>
> On the CoCo2 there was a POKE 359,57 to keep the mode "idle" even while  
> at the OK-prompt, but this is quite dangerous with Disk Basic (forgot  
> why). Or if you e.g. use SOUND 1,1 it will play forever because you're  
> disabling a RAM hook which is timing the sound's duration. POKE 359,126  
> will return to normal behaviour.

     POKE 359,57 changes the BASIC PRINT hook to just do an RTS; in other  
words, it disables the print hook. This is dangerous because any PRINT I/O  
(PRINT #x, which could be disk files, cassette files, and the printer) is  
NOT going to be done normally, since the routine to handle that is being  
entirely skipped. You can re-enable it again (if you want to just  
temporarily change the screen), by doing a POKE 359,&H7E, which re-enables  
the JSR to the PRINT hook routine.
     A proper patch would fix BASIC itself to leave the $FF22 memory  
location alone, to whatever the user set it to.
L. Curtis Boyle



More information about the Coco mailing list