Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!unmvax!pprg.unm.edu!hc!ames!lll-winken!uunet!mcvax!unido!uklirb!incas!mdoerr From: mdoerr@incas.UUCP (Michael Doerr) Newsgroups: comp.sys.atari.st Subject: Turbo C is real: Graphics Demo (src & bin) Message-ID: <1548@incas.UUCP> Date: 27 Jan 89 16:28:37 GMT Organization: University of Kaiserslautern, W-Germany Lines: 207 In order to wet the appetite of non-European news readers for Turbo C I'm posting a nice little graphics hack that runs in all display modes of the ST. In order to achieve maximum speed this demo uses its own private Bresenham line drawer and writes directly to the physical screen. The code is so fast that no assembly language subroutines are needed. The uuencoded ARC file contains the source code of the demo program and a compiled .TTP version. Look at the source for further docs. I've left symbols in the binary file, so that curious minds (with a suitable disassembler) can have a look at the generated code. table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 beztwist.arc M&@A"15I45TE35"Y# #_.1$ $8, @J3C18A ,+U0D$%-&#YT[:>;0<3$Fa M08P;+::4@=,"!XX&"E2HP*@Q 9&$<-B$R0-BSILV94 <3$@GC9LS(,;4$9-Fa M# @A!=.4D1.SCAP[9>:XX"AP"IHW=^:4A%.F#!D0;\S$?$,FY9DR;G:&H>,4a MA!B2=-"DI.)3S!L00Z:V@9.&S>2-GC5*$84&$8<,&Q P0B$D9,&Q!0J<%6\P(AQA,LQA*N"X$'GC5 T/CI_#IV2a MAT(R;-*(<8%:M1O0=42+.".'3AZFIT5P5C"BJAF7*9U48<(D 0H4=MZD>:HBa M!0@83%)T-HX. 2#3TB1P!B#T14BC6Q\T488(>9A)!X_$L#&86??0@2a M$*040^*Q!0U=-+GFD'F\&6>:&6X8!GUI (7E345HD4014GQ)''=9)1!@## Da M$! (;KV45U0@&)%$ER#$44<9FY:WV:%C(I> $4P$044",\BP7:A9H17A@DP4a MD8"J"JQZ7*)")$'%%!O68&MW_ 41ZX8HQ# :#S?I.H5VH-Z:4K"Q?B$#L<;Ra M@"P*N>Z*7@K,KJ= 0 F0(4<8=ZB(' K,:D241^/>H1>DW9DAQTD@P"&=&_6Aa M4*2\)R7Y!;]M6%=:O??F6V1I_I:60F8"53%'2D),B!4:8;1Q@E(KIB0NN2[!a MM-<9=*415ALBBHP&")\%AA*^>ZT[8(&(A4&&N$$I1>-:A6V5QF%ZN?&42QG7a M^R0=+;WD @@H&,$C'2&D^RE&XY&!T<;E9HQ" H&=P=).6G+Y1'DNF?$&"QAMa M."<(^\[;1HAG*PDPV0J8_820:'^!L*MT*ZDP1O=9J%_66_/$GW\ ED1@4V[(a M.3>;(%3%AF1?(-EX&8^'\44>(::LXIAT9'Y;BFZ90<<7=<"A.-TTUH%OB&2Pa M%&)49CQ,1Y. *\3UBTS$.-63AM:V\W0%W709V6.('I)AO(]XX@N"&2*=a M8>B%CD-.4@\@Z'U6"]G_JW:3:4CU7/66XP$"]@=O7S? UB$+@W5]ATLYY.9Ca MWP+YD5_GG07]KHA3Z[O4%_;E.;_[37I#[@27P ',UUX%YZD^,?DYHH1?\E<79Ia MRM(*4Q*_(1;Q.DA\@^IB&$7ZZ;!6?B/ RQ!WO@3,T =KQ H(5E VYZ @@?12a M @8MP0@;8 D\X$/0$ #Z^CQC1WZ4 J:5+P=]!G#R5#PQ@E9M.0^HDG"N9)RD;B$V9;D$$__PF5a M%#ETH/HIZ$41EU&%,M1GRT-B.A/CE"^T\YT1%1]%02 #Z^AGI/J,P48!ZM%Na M@I0 !;T03A&J4WJ>5'D?+1LZ68B&-+@T*.Z,&SQE6B.>D#(&]SSH%F"PTXZFa M%*9 9@:/ND#(_[TH*-M3.Q@J#\MBI6+8'4L9%,RV314MB^8a MY9QG/17:Q*Z M*O$Y4\EZD5FD15FL7TA%J4:TMO64;6L=6W9\)J PR(-NSWPa MJRGUPUC]P/:X>^RC#R(9E)^"MY2;[&1MLX@1O X'7 31@T[D@"ZBK(L([5*)a M6'I"$YO@1+]R3[%7AO1"a MF9'!L"8J.FEJ&R*;,2@\+&<8-00$"%a M =,(7_/JBYCQI12*198@6'$9.MWR%+R<#%I%V"P,7% #$%!,*9".V^;*'%QVEK!L141]]M#SFO*4>:FN*D^AD9[=P&<0V&$OFU+*P*B&0W1Ea MYFD*B!I&\KO?JVT)4RK0(-P2\*27H,W"D()2]K!=;9C@(,ERV;J--a M!B$R=Q[0'6YOSR#=VL[##)C5MPN9VPXQD!R^,>=K&>A;!ORVPPST/8, ING>a M8X #N.V0<'8S' [O)K.5FF3N-DPG&M_;%Y@,^a M\'Y[LF"48:QF I8U74BNQS)H:B]I3N\RI_0%G,/E0J!%8V/U:(0TR$$A-SK)a MG[G2.+.7@4\\ PI]Z#+HL%](X/5#VU^X9\H=W+W@"]S[MIMD!W_[#P^OY#L,a M_*Z?PD-QW><9?)KPG?=O1[[O=X_!XXW%O3PL_IDBUV.AL9)VG+%=[J7A"8%,a MHQ0@4V4^6/[LIR[T\93X%7SB@T["C84]O,/2\9$OO/GT*/ \M&^"4Q$->FF a M>Z3I'@ZO[/W ?Z_YX.?[]P4__E]K'UL9-%\\"?]+[PU/_.ISC_*_![CVK<-]a M]!X1] 1X5-EYS1=^^[DP#$X#S1LC\9S3:.==,6%"5P9$9W0N8$C$E4:/LF5Za M01]UL!=+IA9KEQ(RH (X%R)B4!A15Q]D\ 9!X08G4!]$QA4\T0;S@09'DX 7a M DXB(T[RM!A!1'LK!0-1)8,L) ,UJ!]+E1(UD(,$L(,@< ,Z<$UUY3\/9RPKa MX&OAMP,#$5A- H0QX(- : -#B'-&V'#!MX1-:"7>9(,I,0-2N%(T4(5%V'N[a MEX70QX1TQ86S-"9N!5=8 T,^D3CTU7%4)1H591U6:#\X%W(8(CY6R .DI5Y;137O$C0 0V$PD'50, .R5S9E\RA2$!23EA(<9FL^a MFa MQ%K)LBM)4HF@E"U3$")X\!?'J"Q)PHR+A(RI)';Z85LL%#^/$@1%F!#PT19]a M41IG01-G$"(F41(BUB?3D1)!YQ-NAB]OD "M^"@' 6,S,6/LR!@>9:@1),@:98X26XK&7$Ba M>4;VA48C%Q<)8!1(41(GH7+)GPR;AXB9PPCIU B>[.20J@%IIA#LQ,B-5Q4L:XD8Aa MH@8AL@8A0H=IU&W4]@9O@'+V VY#1$:?ET8[!)F5:1.M15/.]239Z3];(1WBa M:9E;H%/3.%5(@YXHARQ856[8J9WG\7YVB#2:J5A^X5S=J9ZED0;M&9H:-8W-a M(S8N %O8 P5HD =S( ;IA"Y-(A%85E8H\!U,$"(Z&E.]5)QHT$N4"13XC](D 1?@ 5?T 1!@ 7Z@Z-*a MLJ/8TZ-?D 5!.J1%^J+LI11)ZJ-04"I.4 13\*0,6D. )$)!,Z5?,#QL,@5?a M 6$\@5,L"5%H*5OX *%6(9(,Z#E:2P_\#PB41\Z4"FE0@6.9!E#("R9ID>8a MQJ8,,1C9!*;(*053$'G\J9R\PZ,^FJB+RCV-NH9V]80KA1+*8Z.IV:8Z>B3^a MTP1%0 0_VJ1$JEJ2@BCVB2JI,*J2G>J-0*A(?$JJC6J96BJ6$RJ4A!#K=a MP:JW*J9$0*9F*@5HJJ:$^J96XC\H(*=&! )U.J!YB@(*22JFD@(OT$BPA&G;a M^J>Q0J@XJOF2JE/Z83&M%+K]%1S$%OEJ?62@4O<)2"ZJV!ZJ> "JZ&ZE (&[#E"B.*>JY*a M554QNZ_M*EGORH9I8AQO2 =Q%1AT,(?[>49I$DU(4QFNA3(2Y 1^EP8KL +Ga MR1);D 9=X )[TA*1=7OPQ[1@E"9QX#\F@ *P20=;U07QJ1]QP$%;RV+^PY_0a MA$PHL%JW!P*KA2S,A[=3:TUMZP-NL@;]A#U2$)AM@"X@4 )+^Z+XZI%8I3]_a M6R>"ZS^%ZS,G@;B*ZZ(,^J^.FZ()@!@86;D=>+C6<54U8!W<A0*Ma MBWRPVZBS*U'-B[NPBQ[Z0P:2Z[O4>2%W>2$OUQ8I8;;Y25C6A*/SA#W-])0Ya M@9()8 (JN2%_ZR9GE;* ZI&8)BTA$KEIVZWUFX3WFY2%%+_OV4_T&ROVJ[+Xa MFRD<5"=%5<"9YK\(#,#PRT%NHE'\:\ 0#*@)K+\6[, 'K,$2G "S$\7_, La M&RWLIK\D[,$9C,*>JP:V5*3,6AE)*).*"[5E,[;84[9G>[5JZX=N)#Y_^[9 a M45X8\J+G&[;4-5?K&Y7N.Y5U),#S>\(F_+_YN\#[R\)4C+]13,$#7,(?C,)7a M[ ,,3,!4',9%P,4![,4=?,8MG,8IC,5MS*UOK,83#+@)!<9U',=DG,=:_+_3a MF !W*<)NRR==&[MHE !*6[>8Y'=YRTB.W+S^]^U/6F!(29T*S#%:#?"&5C +ZB\D_9=^1(:XW9PAQBM>"%V"P+$2[KY7))+++P+C;BFB[I!6,W,a MV\_6\;P_%;VU&UZWF]&Z:]$1;;SW64C"K+T;;5TF#<^_6\]C%Q,4(]"[@TP'a MK8,X&[J&B[E:5Z@YXE"#A,B"7,^/0H B4\X>0A)K4 8D 60UTQ6M*%%"<&@*a ML14H\"). "M%P"W9EIY>FT;=^S=R* >(\9UW"1H(0D5:5%=)4U0N5%10 *4+a M !&#*( # 3O#@ #& T "PP!L 2 ,4#(3@8* ; L/'@ #)B*D!3X0@J!2a M18J0)RV&@. !B0 ($&;>R $1A$H0*4E:3*$" E(!*678E DSIPR(+H!B2a M @0.'""$J&03Q@V9DTG6&5SV8430$B0('D!T8! BP\8#V= E ;CXHP&"1C.6* 1@(H08GP>^/,Da M3,03VE.$2, 61=D_?D).T0$Q)4@9#K1"D,$G) 6 ,W+,(A>!A^2-->E %#a M[D4"\4CT_",CHBX+$$^JB% 0^\'+=#T4 0( . M"P(0$\"G&%a MA4K: Z0QR##H8X!)#,E@A80X0U0X@ A33#R, #( #8\8 Q )B3!@P!V% a MF3H,($,!D@C1)29"T$! C H@ , 1A#!@XP$*&$$@5,\:D*D9\@ !@]\(,#,a M$&<8$ AX!H!!0#*@\D' IIU^JJ2HI"K)AP"H>@J> *S.RD< J!(02!1@")!,a M%#@\>88-4[RAI!)!M&& -$*(@P2/TA2!PP4$!ILC-D1(0TROSBH!A!D _$,(a M#C(:@*VV,*P)0$7_T '%$TQ\ P >3M0!X0?PO?,/-R0@80( + 3PPH4@N+ Aa M%"(8R\0DP+R0A%TH'(!)(" 82T0D#2.A%PD;(D%)( ,# $'"@C'L<%\5 P!$a M),&\H#$&0A0!PH8,B"" $[H@<*)@&V(@ @$X(T"""!]( L@+0D$- 8X'X".C"^81+78%)2-C=: H!# a MTE(4L:a M<+"J00$:AQ"'_\1V)L]A01P)C!T6J"$("@( "M0X!#D$\0(!R)"&-J2!#C52M:1"%Z6(&D2>&5@&("' (!!a M#J84 "I5F;=CN#)OB#/ *Z$PHUK>4@2Y%( <,,!+7P+SE0.P"QX&<*E5WH>9a M ' F!%Y)@%CFC9JT# L;(E+74*@FXGX9>I>^0!Q/H!''O"%(RCA"&8@@!^,B0!?Y T!9A" '_X! P,\= >'&(A-a MG0%5J0* JE;%JE:YZM49A76L97UH#](* "D8@1=Y(T ;P@6(@2J@!D0H% Q8a MD,IU,#1O:FP8 &3 6 .L(PG2@"Q-7Q &C"6 >M0 C4T*XP>+E9)CH6&9B5+a MV4)=-K-%;5EG&2N T(ZVJ,)H+0)>J]E@P( "J5TM[W"V#V$PT4Z<:>@: \&/a M0B$!"("4 0#.@5D@_"T)]X !3PKLC/800AF5$!K'<#;V'+VM)9];%$ERUW0a MBI:T/6PM 5@'!7>^&N%O;]^)6M_2EZ6_S&]GAZF(?*F"B1V$) 2$8a M87A\R"L0CD"/@^#COOXUL(/]!R! < %@& DA_S"#%?IH#\8R X]]a M9$=;IUK5JV9UJV#HZE?O^H\^0L/,!QE @D8;0.),\2WJM:=3$ 6@U&-QA@B_4ZP<#^$%]a M@# $?0" "Q"(C1(@$(.!K,$>J/:,!1"3@&H'P @20,$__B$+Q+3@"L+H5+L!a ML(*LPN8,(I! #'PJBP&(00/0",*]*:!O?ON; 0\]U$,73@0PF$,) B =$8" a M@P_8X /U @(D$@ ,FVA< H ( "0>( %(*$#D!@" #B!A !Q @@(HMP'+:?!Ra MD1, " C 7 ,0@! "Y'SC/T= S@^2 +XW.@\;RCB 12P 8TP $/@$ $)# !"E3 A? 0 8TL $.=, #^ J!"$;0Q:!Va M_>MA'WO9SY[VM;?][7&?>Q<+00( J*%TL\"@$)00B,,3(1"%1\+BA6 &$9 @a M )(_L1D4 (Q@D !C@=$O8C1%B%T?G^?#_WH@R'YTPLB]:6KEPB 4/C0,][Qa MD,?\Y,W@@LCOW@& " :JGTN"!*B^#L,'@N2##P,!!#_YQ3\^2T0 @.0C(0B>a MH<,#I!<-0 ($6000&&F$8CN%^ZGa MS,V<$#P#W;]>+_!^B $T_&=_^!> E!$!3E" _Y=_ & >C4$9!;" (,0 #7@0a M"O %4T ':S %:: '90 .@>93;1 &:> &!T$ HA!H]?$%1B '95 &0< &;+""a M"+$@98 ':4 '*6B#@I:!0L 34! &G!0*@6867Q &< '*6B$"+$ [$ 556$La M"$$*1^@-7Q $=% $.D@'5F"%3P@.+I@&;# %>3 '7WB$Y$ % 4 S&'1D<%.4@'4U &9S %>H@ ?(@'?@B(@IB"(G(5;HB(>@@!a M1,"(?QB(>D@!0C 'L@!1$ '80 %=/!H *"'( %4@$%a M@@#0U 'H@#0] &9, $)U@&SU@2@!"$/3&$9U &-P4 PO5#10H$)%@BETPK@A$T8.&1 ,$X*@DP=.F3D@%#X<\\;-G(1Na MZ&"D\R9CFH=IW(" \T9.0C%IV*2AZ&*@BA<#!U*T2*:,F01U/*8YXZ;,1C0-a M$PC)0J7(#IT5C?H$*I2H41!ST+2DD^#*$RE$GBK8*=4,B*!SAA9]R*;CF01,a MGC@Y(G;@B)YF4I8!(20)E2E?H!21\F5ITP0X[.+5R]^>+G(LL0+0Q:AT["#1INL_ID^#X%-U5a MJ"21V_LNYJ()D"0)S"2(DR)3*%_."U_^%RQ?-)&$$PG L)]>\7?P!>D0015""1 HH!M@@a M""U4J""&3H"P @@QI+"AC1Y^@40121S1XHL6RH@%C4!^.*".//I(XF(4^B<9a M$8]UQL2 123 Q4!(S@=%??=- 8(*0*:X8HL@O-#89I!]<:64)2+HGVN[Y8="a M#"#PP .08]J'GY0;)M!$$430)VA^HTWY'H>')KI@A@8Z:J*AB/ZGY(,1%AIIa MD (26&F=\'WZ88.4Y3 BJ7M]JB:++J+@JI),SAHJE#W^:*J01!H9ZZX@UIJIa MDSGNF*NEC'UZ99:$;7F?EV#*FFF@99X)PJPJPMKFF\S*"1N=5$*:*9Y?Z[#&QN&YL8L?Q+LM9a MLUQ"J\"+]U*+G[452XS$MIIU.^>/]Y(KA;E]_EGSNE,0J@ :"%1725-4+E!2a M2@!44 R 1@P,"I+4- PJ7-"A Z>! A=,0&QI<01$"R9=#/8P2&?,a :'#IAY-!Q\<:@"HH6Z9!ADT:,"Y)B#!H$&@"!a a end ====================================================================== Michael "The Turtle" Doerr %% /-------\ %% CS Department (FB Informatik) % o o % University of Kaiserslautern -{ o o o }==O D-6750 Kaiserslautern (West Germany) % o o % uucp: ...!uunet!unido!uklirb!mdoerr %% \-------/ %%