Some Coco users may wonder why the MC-10 seems to be able to use the alternate screen colours so much more easily than the Coco. Allen Huffman has a post about the difficulties of accessing these other screen modes on the Coco over on the Vintage is the New Old site.
The TRS-80 MC-10 doesn't automatically switch back to the Green screen like the Coco does. If you POKE49151,64 you get the orange mode and you stay in that mode until you POKE49151,0 or use the SOUND command. This has enabled me to make a fair number of games using these alternate screens (see the above for a few examples). I have a bunch of Basic routines that allow me to use the alternate color sets without having to resort to hardware modifications.
The first trick I use is a routine for printing reverse video easily on the MC-10. Here's my latest version:
0 DIMC1,C2,M$,MC:M=16384:GOTO10
7 C1=(PEEK(17024)AND1)*256+PEEK(17025)-1+M:FORC2=1TOLEN(M$):C3=ASC(MID$(M$,C2)):POKEC1+C2,C3-(C3AND64):NEXT:?@C1-M+C2,:RETURN
10 PRINT:INPUT M$:GOSUB7:GOTO10
0 CLS0:CLEAR260,36762:DIMC2,C3,C4,M,CC,ZZ,VP,M$,I$,K$,W$:M=16384:M$="O"+"K":W$=CHR$(127):GOSUB15:GOTO105 FORCC=1TO16:GOSUB6:NEXT:PRINT@.,;:RETURN6 PRINT@511,W$;:POKEM+479,32:RETURN10 GOSUB5:PRINT@480,;:M$="HELLO WORLD!":GOSUB7:PRINT@0,;:END15 FORCC=0TO103:POKE36762+CC,PEEK(64022+CC):NEXT:DATA49,49,60,55,5416 FORCC=0TO4:READC2:POKE36762+CC,C2:NEXT:POKE36855,32:POKE17033,143:POKE17034,154:POKE17032,126:RETURN17 FORN=1TO2500:NEXTN:RETURN
0 CLEAR200:DIMC1,C2,C3,M,M$:M=16384:GOSUB8:GOTO107 C1=(PEEK(17024)AND1)*256+PEEK(17025)-1+M:FORC2=1TOLEN(M$):C3=ASC(MID$(M$,C2)):POKEC1+C2,C3+64*(C3>63):NEXT:?@C1-M+C2,:RETURN8 C1=20000:FORC2=0TO4:READC3:POKEC1+C2,C3:NEXT:DATA198,32,126,251,21425 EXEC20000:PRINT@32*7+5,;:M$="SOME REVERSE VIDEO FUN! ":GOSUB730 M$=INKEY$:IFM$=""THEN3040 GOSUB10050 GOTO30100 FORC2=33TO63:POKE 20001,C2:EXEC 20000:NEXT110 RETURN120 REM C1=36858 FOR 16K PACK130 REM ANDERS CARLSSON 2020
I now have a porting goal!
ReplyDeleteNice.
ReplyDelete