Path: utzoo!attcan!uunet!ncrlnk!ncrcae!PEDEV!rogerson From: rogerson@PEDEV.Columbia.NCR.COM (rogerson) Newsgroups: comp.windows.ms Subject: Source code to Palette Changer for the 1000 Keywords: SDK,Microsoft Windows,source,Palette,colors,Tandy 1000 Message-ID: <2342@PEDEV.Columbia.NCR.COM> Date: 10 Jan 89 16:07:14 GMT Organization: NCR Corp., Engineering & Manufacturing - Columbia, SC Lines: 323 Here is the source code to the Palette Changer and Palette Control programs posted before this message. Although these programs are only meant for a Tandy 1000, they are still good examples (I hope) to learn from. They use the following features of Windows: - Reading and writting to WIN.INI file - Painting on a dialog box - Using a CreateDialog to manage a main Window ( Like HexCalc in _Programming Windows_ ) - Painting an Icon You should only have to remove one function call to get this program to run on non-Tandy 1000 computers. In fact it may run as is, but who knows what the Change Palette Bios call I used does on other computers. Palette Changer is also interesting because it is probably one of the shortest useful Windows program there is. This program was entirely developed on a Tandy 1000A. The documentation for this program is not in this archieve, but in the archieve with the Compiled versions. Viel Glueck! -----Dale Rogerson----- [ This file is uuencoded and ZOOed. To use this file you must first uudecode it to get the file 'pal-src.zoo'. The ZOO program can the be use to unarchieve it. ] !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! begin 600 pal-src.zoo M6D]/(#(N,# @07)C:&EV92X: #F?*E(DR7PM180\P0)12)$C])5$ MT1".42'%$Y*)8,)M'XF F@PQD":"&'5X9)R#+5%WQ(%50*$?%O%IR"$4(8J' M1!),$$$:#:BQ"$(-JX&00PT"3D2@$P8B")P),&!H41)$$/&%$$MLJ")P%%KH M!H9"4"<%8[X)405@OWT7'A68.?<$B592-\2)*9:XX1,=DH8#:3*<5IH-#]8( M5($')FA"##Y>!*20CA4A89)T7$A:DU\\2=@34E)I7IB45%2)7J(IFDE:#3E VB9; \*I MHX(S9#K1G9PB(441>B(9JI\9!FIJH:D>NNJ7BKH*P@VCK3FK197&"9P0)JA% MAE&Z\JK?9]>!JB23I0Z*K*KA,=LJ"(SF$"$(,T0:PZ2TVA@8%E34IBL(O/)% M'Q5HNBA#K"#(X&(-.%!JJYS%<27''/O.&^.$PXY:[)@=?BCFB"6J>Z0-,48; M0PSRQD!CO6_B:*T(0I0UQAK[\KMI9D$,L82XHI)KK+FHHDL=EDVFRN6J& ^= M+IA'WA!C# 3/X.*\"JM\:\MUE!&SS$)F5D6P%(]+ZLY1]JSLT0QU M-:]#9!%$WL)Z76S?I_Z-J,>"AQRMVM-6Y':"4MAT-=:!WQ7P?*S;@90\. M@@UJ@BYIU)8"UT0811T71K>;-A'$$>YAN;K.F)\[MI>!FRUXTP2SG;C4"0J1 MW!UT:YKU@5=0WG7.7R?_^N;-R^XN:3.LC;CHBHL =QAY/&[WDUD<'[[KFB]; M_M(P%&Y[#*YI6_N($ 8YK $$[XL?:7:U*2(4B7[VNQS^D@6[=8WL:02C@;S6 M5ROJ 8<)='!!2]A0M4SQB@E4T!K7^+2W(DH0:YB$I2HA"4NP0-:U (";W:D)15# MBD0CJI>(*,"C=,CH9@R#&,4PQC&0\>1DK!,:P1"F,T'X3$U+4SL9H(:7@@N@ M%)[2@2%+76H/_\)$,HN,CK@H'0GPL$-:5KP+A',(9!T2,,8 M,#0;\13O.NT$08R>!H-()6RJW%R9":YJA.2T 4-<3631-&;0C\E*1CZ%5QXQ M4E41U/.>9QSDIOAI&3:RD'593&=XHHFH=6XIK4"%U]D.YR:J#K ,9@A#'=@ M3L4*"9E&"$(54&A+(VX1B4>J06!GL-; 2J\MA14FAH!DS,J!KUBH/6= 1_D% MR@XT:)?MJSM?-=NU;1.W[1O"4,9@R=T289Q#**=OW2AB H(.F# @S;]BP>7,GC9LS((B4,>,S9IHW;N: ./EP!)FA/FTZ>7*$2)(A M0: T"3)ER92F3XFZD?K$2A(I5*H$8;*D2)8A3X@4^:K *=2Q(*8Z&=)D[I0@ M1^:"O4MV2I8I?:E(N4K7KEBR1*0$N6)$0*%-6'22)Y"5._?RD"7";PI\(24)E*Y3C M$Z<.89($BI G0:00@9Y\B)0BG^(4XT\<6*^;NO@Z(L707U$RGG- MB8,82<(DM/O;R371VU98W#<5;44XL5]_!B+H1(/?'9'$>@V:-AL33%3X1!6J M-0@:%LT5H=A5#5[QT7^9)<=;>D9,(:)M*<9WFG$HCI;<$D$XH402("F@4A-E MN%''2D2*5!!%?!'%=%514%)$,-<#0HT '25'&'!H%E09&;P EQ!MX M@(!$&6$\)<=*;N D1QMAT'&4&P2H=RI)!)-"+%&?GQ7) (.52=HTZ'I%2#DE#(T&2R235%SQA+$@ M^"J#H+=^0042WQ7;*PPS4(OK$]H5(<6V-'C[!11!]*8H1;[6X"B12KDY4TT@ MA"''EB#X-*]-08CQ!JQCEFGG>\)6VY\1Z[(+@PWF+G8$$@E+Y.L-[YXZJ5*K MDM'JJ[$FM12M!"_[A1!,!#'$$G_^:B[)56A;40S(FEM?$0FF/*VR@PZ118[& MPMPMSM5^QVO*Y0+-Y%:!L1<$13"[:_3(LUWA1,H,/UU?$%GT# /%3Q.AJV19 M,PT##N8FRK++$L&<0]E4S%SSHC"SK3//3,>0;*T%,YFHT'_&<#/>(B>*=(*> MI1W#SX /FD41&.KV<@Q%)UZMB$#%@ M:*<-PK;=W2!D@-_;^[=#T4^<4)'RA,E6[MZW"@U#)\T8[E,0"V$29,@2*46, MAAMX,]0% @TX? <<",(1)X(5LLV1QAMN8.<"#/#U1@-X-,!@5P[@F1=1@Z:) M8!P<>#;@ MJ*-O"PZ1WGKMO5=;;R+,5]]]=N7WQ7[]+='88T70"-X-">9(((_!^;@5$:F! M4 0;=% (@A1OQ";'2&X820,-=OD68IE,GI?F<"72<,,,(#2Q$AL@3$&''&6$ MT<:<9+B@)Y\/+8D#H&@RJ*8(3)2!ATYGQ.E&EAW)D ,,-\APJ5XP8+IIGYT> MP5YF0CR!Q59'%.%$$D5P)]&P\<6 :0SBT8BI##8LR,2G[/4JQ13I"3ML1,66 M&<,,F,Z0VT.UW@I%KKN*4,<<9;BAFK77=M?;#3@B"UX.RS8K* C/$KK53B:% M448(4!1!1!%6A"!'G1%2:.0-QW*[8YF=#FP$9E,@(405&*6WU1-+L-MN;S5\ M&T,-F-:@+::'?4%%$$((=EF33[+GG@C<)4$$$5]89 05=E5)!WWVX8>8SCQC MA^,,X,D ,0TPJR>SE"#8C+,421R!1-$^ XUEHT,7L;->,Y2)]'=+-^0K$669 MI%16**'V55@ND,'&&0UI$!#2!B>0H ?Z/Q M $ I(R@ $=\&4BPH,&#"!,J7'BP@8(1#D> F$BQ(@@H8=B4H4.G#(@6 M()J$65/&2!J-$2,R7,FRY),/FC,.*P^2B5" @F M29Q0^1)$RI$I'X_,N?/Q29@Y'Z_(^*@%CL>R0<=D1>RB#)XR88O>]*JFJE$R M9\YFT%$/7W)*&CIHAJ:9 P+.[3-R/(/(0Q+$&)OF:]Y$B1TET)+F MW[ ).F/_@%X M)$]0I&%&$61K4ID!&=E-%'&9]2QN&FG=,S( M1HTW:I4CJ3WV=VJJ,L0P0Z]PPJHED^3!EP2%;F!(%EKDEKN06@*- -P8;-1! M!DH\_#>'"VCXD.ZZ[;X+ @]ST$$&&VF(0:^]"JB[6KXHB=#22S&50:\(]Q[L M+KQW_ C@O/5BV"^4::;7(@ASZ!$$'' XX1E*6W0!0@\@*'Q5PR* L(- 0F3! MT5/[+:QG&3,K4//-/NTGYWQR](S$%4X0\10:=_C7YY]S]+SQGBG^/!T(3I1Q MA\X-;U%#%U+3P7'5-E_]Q+)..3TK2EE%5?GGF:6Q>1N?5@3[ MNN*PKRX%IS#Y1#G2H6.N.>>>^RXZZ:8+9,<;:>2'I(;7I8T2",\G/1SJJH.0 M0L_;=P^GG'#D$80]Z"B+3I("T 2*5_H8C6< M6*F/?0)\GWIP(C[\]6]M#Q370 IBK@Z:"UT*$(@#7]>XU?6G"5DB'^ R)[;5 ME&$X:+A1&>P0N!:>9#AL@$/(AM &,C !."\$@1MX2(8IH % *=@-$OA&!+]5 M9(4;GL&P(4_@"$J0@&RD$X0H@ MX$.34FD%5A+!E5< I"?] \IYY= ,;J C&2)'$98)DYBZY,DGV;#(>8U!#$-@ MPQR*@(?-A*$B+(.!':&RS&:ZX)G"I*8UL0D";2:S(MT,)11M.+YB@F"=5]SF M4]*)L6_1RI18JP(35G?.0_*2F>H<0DFZ(I2>L(P)B"*#0+D2%/+E;:GK3:#:3I^-C6F/>D#AIY8PY/"TX6.?*(P3^JD MSD3I5E5"P5MO"#*1D0RIPX'!<("ZSXSN!GQTJ. <_3.<+E:A" ,H4:9YC0_ M 8IE1X )$=APAB3(I UZ%28+)$J$+PAA"4>0 A$B6Y$UWN& =U"A:(5(1-=F M](ET<]'=_+2&DV:6#IOM[&=#RU@0D-9&06@I%6Y+D3S1X6F 0L%O@^O98,9!AO4P :VJV_B)%2B&H(DS$%* M5#I#>>=P7O$NEG)+Y8;9PT(,- 6$ W5= V*+@G;EE MPW#<("4[;"<-7IG#CJ<@$SBH#XYQFUO==B"1W9R1QVGP\9*"W.$G$[D,1DZF M?"GBMA01X7.J!0$9[C"TH&R!!BICV1Y 9SMCZ*D_L[&84P#G/>RXGG=E<:$0/Q]$@0#15^A!7BB!!"%*HPA20 M\$XAR*$T:$@F$B9*$31,-)FL' (5)D(G.B3SC!))0S+G<$0YT X.:2C#269= M:]JI! Z5GHBI/X)9S0Y!KSEFK6!@$LU<:VEY=4)VW89C@E8K>R*XUC5*6(:" M5KO@4#%YPV="XNU?4^4%0NSQCX.<3$&1+PTGA0&3X1K4='V23$8",#+\F];CI4/66L0I.I19#GJ=* O&_/ MI*$+7>VGOS]-ZY/F MZ25U>H(8U*#K+45\"# \.!JNS9-?N[/<;S!R3+-]$A"H 3POKD;K@SL+T&[ MA6? R\F'X^V7M&DXOV9!H$=<>ZYBRO"!'*P+ RB)SD MT?YXR;]>\J&C0>49_Y*(*;*\ERRR#!.5MHM@.-&LMWB#,'8("-N7'_C)CWYA MR ,*IF"2^#I$_FM:=K*6E"$6",&2'90MBLJ"?0A"1-$]\(!!"$J)CW,V#$"KC1T/Y,\-MG(,@!"Q# R#P M ^4$ G41 ^L#%>V'$3V@39CS(MQA&C'!)+HB!^\B!_?W%/GW;?S'>>NG@#<' M?TY0!VT@!CEA);IG$^B5@3ZQ@6)P?BSA$G, >^KW@2#0?@^'@A:F@BAA)@/" M@CT1*SA@ X:&!TM!;=.'A&>0=2&V&Q]&>[5W+K<6C'UYHA34(@L:%( =6!RCQ)/EA!K?Q&2SE!"[04DD0*.%E M<[<'?M4W$5'5A3 !/BO#,HX%64<2?A5Q-L.$A66P!3"09B#P6\UB!N&U* ZU M5']U,L/A,FP R+ 9S(%83S!B.*S!3$@B91X&Y;X$IAX8YK85#W5B0L3 Z$H M$3%P*:2XB&CCB%L@ ZH($Y5XB9L'BWXEBT'DB3)PBTJA3;M($:;HBS,0C(G% MBL1HU%!Z)D>6HD=,XDN%XD2!YCI)8 M@!=Y=Q61,XX8;VGH*NTG=G6R.S$HD0^I44+3D!/!,BTYD6!3$3G)=27'DSD( MA P9/X87>"A0E(.E->*3@.WG! A4E!69-2GFDS*F42RR'A54E*9#$3BX>[4R M!:Q1!J>!@EP9EG%"%'DC!6%0)F\@!)7"%\35.=F%6JHU6D106JBC6D4@!8)) MF("Y6LE$$[JV!G:)EWH9;F[0EXEI6H0T!$MPF5> !$G $4K7;S98BB?9-109 M4]F5F4M@=R[V!:[YFK 9F[(YF[19F[9YF[$9ENAC/(B#/"4$ K)3*1''6A7%R4::K6'8WTAR!3,166'2A@G-E9!E2AB!-Q'@)Y!4WP!7A(!420!!BA M&#K0*TKF(NQ).\4&7)Q57:#U3L$548/Y!1EA!*OVC'^38_\)=5MRHM0U7"Q* MG,;UHE*0!$> !#-:DA1!8G+P%2APB)%U)!:*$AB*7,H5HJ*)EC<'D,P# @"# M&MS!<$+T!EL"',!)*9;"A962($EA&M8U(/2)&KO#DT[I$T)0!E7E!@6DA2T* M B:@0QE4I1-1!)"3)72 ISZZI]S1I'XJ$1KB( 4')67PP%42!PB'WJ*ISJJ3(!JB/*!K>Z)30*)J=J,;$E=\0*H%(' JP::9K* M$TBJI$S:>13QI-61H4/P!$W0!$Q$I7 25=[Y&3W ,A+U!*L) A0*%8!*!OB% M*\.Y7KN*J=/:@C!18DMJKZ4J$?B(,T^B-Y#QK]5*/F4E'9'UA"J FPS;L [[ ML%^@FV5X/"3D.,LC@?-:G-C97\E)GFW G"K6!L\91]%)?0I G;J3'Q#:7]L) M.B!0KN!).EKJL3W#22SLCCQ?1/1KN;Q M=MNJH87!H1XZ.D<@KA+TF)$)9)/)ER7KHJ4U!4%@!;+!M5\P&X>C3U0@MEX+ MMJMEI!/A7- U!PFWH]:5L3_:M5\K&U1QK#.YLSW[L_EAB)AZD^]YZ?A\UO-@J:,=KMVK;O,[KF'5Y MEUB[EUY!J/1Z7&D;MB*2J,X+%<=%MF_!!&=;MU^0OFO;KU]ENWW+DX#[6.J7 ME%LR((N[);_BN/N;'W$ZFM<;!L0;O!7*M.];!&4KO][;NN +F>*;E^1;F3UZ MOB]JOZ'9OLX;P1,\OR01(I:)1HUH$Y !05:!0>*H,G4.E"0&!]1$3D4.<'I:KLARJ3\17 0.0,L:DU M&%4@1SE5!\FT@P75$SOD!G9 !WII!L17O%PVM Z:!H%":-%K,$^3JL87XHQ6%.G QH0Y\RGV%0FO >WU<0U>$ JD,0S54O3[1 MNV>@*WB@5S74B:DLS[>XA5KZRN%,IN[<$[_BEI&#SBZ$ N#L)ZG\SSQ1Q=CR MKU"ACV7@P)2+D+ 5.7^,S!N+G"_KL83L&6E'S#[1S%\P!*P4!!Q1S3QQ8:=1 M!^E(!U.0!_TR++?\QT8<:&.)$S/]3K>#%'>?1 M4S3LN&$R)F6R)3H\7P@B59[)G0;ML0/6OJ?K*M<KKB@M:%YYBC0ID9(8E$1#W5 1U15TWHY(W%!AW>#]P (I48WC!,K+ MO&1\!@;-SW[RX>XMO QLQ:@+P1]\M^7]55?0(3(QC"]! M9!UR$\:HC9S(C2X!BFB-VX)V'8B" O(MD9#8!MQ#5^'0O> MBF6@XSS2X^^8C+48BLTMPD8>!DANE;Z8BDVN!T/@R\!^ MCEF^&5ONCLA(BRZQC$-.Y)BM$F2>Y!H)C&F^YD_NYG ^Y2),YU<>7EK.XWJ^ MC9[HC7\.Z$@RYF7^E2C)Y'V%Z&W^YLW(Z.WKZ#A^YSLNO9/^XR(@CSD!YO>= MUII.Z%V#9H?.YE ^ZG+.$WX7E8)'ZS(Q'&:YXD$3L"Z.)-MK6HLYXR$-XZ7E M&(U],>%ZP4[;&^M/G]HH4Y&W01YG:=!_#',N5*';6M6L3> M$Q=\M1I,F9:Y[I:37:!SF"Q NNW.$VGYF#9LB=;9E)(KPNS=4#]EYDJ>WCL3 M>V/\[ADLX)6YA:FYUYMY7)WYF45PZ9C>$P4O%*@)[JJYZS-I[ JZ?LDN!*IY M[3QQ\DSP6"I?$6D5 &"^?K=,^!%G -S6/WRAQ7+:T\Q*1[. Z&)L?]%E/!3)/\UU/O_*+ M\SH_]L1']G=N7$S!2Q% M!4/ :00^\L-KI"*MR52@\G-:IW4_'-$J \3]KJ^OS[)/W?8-%2(]&P7Z M!%:OVU"P)G0@"M2!ZQ#(WLSYJVX!"W-!!2"&P[:$RBM8%$U9$9.+%L@Z5LCJ M:"++2#DTRL6D.LR'T0 ! =RGQ/T" M /R#W*?$_0(!"B< %HF G$A+"!@A$.1X"82+$B""AAV Q! MB8!@DL0)E2]!I!R9XO'(G#L>GX29X_&*#(]:X)3A2=.F4 4RRP(M@Z?,SIX_ M;^8DZ],FF3)FAE)DD\;-&AH@7CAY4H3NS\!!F.B(88,%",>.Y_ 5<\*&BA<&#"!,J7,BP MH<,6 D%(G$BQHL6)4((P&8+DB(LA B."@,(FS)@R(.B@23,'!!PY;\[("=,& M1!HW*=&@9/(D"!$0;^2 D%+%"8@Y9<;02?,&YQLS.57QA8PD&?>$670D>%37)41H8 H',6==^"U M 21ZD<$@@H42Q0#"9V?B%ZA^,?@) J""PK155X@CKHJ(:2:>IVJ#;Z:)XRO)H:#+)FFN>F>\Z0:Z"[%EIJHL R MJNIY>$,;@=.U%'&WH)18=A0_P5&$I(6[RT&!"; M1_6>:?07-,]%&E(1QURX(2"$1I-4<2\22^N@ 8! =RGQ/T" >PK "]*@ )Q(;,;%$ ME@$ /< ! <&%L8VAG+F1E9@ M+0H ?X8. M $ I(R@ '>T&$BPH,&#"!,J7-A P0X04((P&8+DB LB18R :/.&3!TV94"0 M*6,FC9LT=-*\<0.B)$@0**Z8)//FSAP0=LK(F:/238J& A<*'4HT8<.&3H(T M*0*BJ=.G$,.P&8+F3$.,4X9(20*%2I(G3IZ>@"*U#!TZ(:F&<7-&9\LW4#$@,$71 N80U* (%(6A)0W;7>NU)L#1XX3#:=0J2($JN435Y(X MD4S911$L12 K&/($HV6H39Y8*1)$"),B5X-0"7+Z:>K5K5^#:%*%B5)$ 0"DC* &R@02'"@P8((#RI,R% AB(<0(T:LUJRB MQ8L8,VK(<@B:,FS-EY!AU.11ET: =,4Y=J0#F5:-6HLY)LQ-$ M#!KCJU89C)LG;I:A7)W,P^U6NZN$*9U)&3RVS]#9R0+$E"$@R) ###?( M )\@LD7T7<1(:,<1[PT%QQ1Q%6(VH16093<$44XD401&3'W4')US%&&&S4] M>)&(:RDX$D3;2?$$AU),\803[\'XD!NOC1%&&2% 400115@10F1BE87@810^ MY&!6$3JI8D=1MHBA8!9F2=65)E$SY9=@5N1+08LU!H(63SSQ6!ACK!$&5"", ML1,=8=CF&!UHX*17'7*,@9.<9."T'PAXXH1433?E-*=/0)UVJ%(",>447H]% M-ED;CIGQAE2%?G:;:#&0EM9IK;WV1FRSU79;;KOU]IMB>0KT:*(Z\<2H:;<= M19=2.37U5%1QOM$&'&G0Y!YD=UW:6:ZXC5%'&R?220=9V85QF4!D--93&F+4 M<9-[83@&11!,A$J:"V@^X0)+ I7I6+JF]=;MR9)PB:GI=;?OP6 M6\8<.A24$AR[)AI1"R@U$<8:91@A,+^;ZIH4K8O^Y"+"%Y?A AH0,7Q2GF$$ M*I49 F^!FJ%RQR[T^3*B++-Q!@@BFU0KG79:-O ;?/H)0LNVI3'M3IE6 MG.U,=[EHH1AOX#'PS$JY,$;(*"VV% A[]FEOH(2^83'-BMJJL4$'SS0&&C=+ ME'-)#D.,,DT42S7K4K[B]?+:9[C0\MYL6[TP2@!V+32@@HK=Z=V]3AH5F?MF M.\>VW1Z=W1MF$+JOX5_C9*8890#,1AIM&%V&>X-RZ&$1N+I7XHDUK:N UB82 M>H?8MFDJ1QMA6 ["?6L[SG4>DY>!*0A-U0L"Z">"4*\0.:!!;\G"2)S; MX70@@);LVI6GR^BN#/V! DW"A1/<@, -ZP-!'> 0OI)QCVM \UK80)"''((@ M?#X"BA"$,(7Z@>!V=6"#>R;#/H%L$%<]1-'OV% [.?&$3;/)W@?SLI.9L$$T MNKMA A'WFR!0\0W]&0N/NJ> -IQJ-J_+B_DRAR8_;XPC*<#H2G*>!YS.>&+P;+#69X MW6/*(#Z:C% !4[#D#9OUK&CUCEH*/ JYS 4#=*6I;JMLS!C84"=H245][%.@ M[GAGN5,6P0UJ>$,>0E"0%CC3F7.AB7.LDR0W/-.9 M% 0 #