0L0ӱ ( 7t "&Error: No DOS(0 )0 / 0/(0/)00ֹ/ / Ȅ`l%0  1 1%7x0 1 1 18H 1(哅h k1 y0L0l00DEH B VL0@   Y0`0.` a000. 08&.` 0mm 8 L1ƕƔ 1擥`  (MAIN  Z2X32D DOSX( RDBASIC COM U / AUTOBAT COM U7*"KIX COMT")LS W"LSL W7 QCAT W/LIB W. -yGRDEMO X#;KSIERPINS X5cFRACTAL X DIAMOND XSLINES X67'CUBE X&GRDEMO PA X(! SIERPINSPA X2 FRACTAL PA X#HlDIAMOND PA X3TLINES PA XgCUBE PA XGRDEMO1 TXTX 1GRDEMO2 TXTXGRDEMO3 TXTX6MAKE BATX( GR X+ /FULLSCR  W: -FULLSCR COM GR X+ GRAPHICSH W,DRAWTO P W&FILLTO P W.GRAPHICSP X"FLINE P W 6bLOCATE P W;PLOT P WPOSITIONP W72SETCOLORP  U9TEXTMODEP X0W;FULLSCR AS  W 8STARTUP BAT U29hRESET BAT U3CRD W+derh. 25 1/srechts equ 0 ;Rechter Rand 0links equ 39 ;Linker Rand 39;System Labellmargn equ $52 ;Linker Bilds.randrmargn equ $53 ;Rechter Bilds.randbrkky equ $0236 ;Jumpv. Break Tasteshflok equ $02be ;Shift Lock Flagcolor1 equ $02c5 ;Schriftfarbecolor2 equ $02c6 ;Hintergrungfarbecolor4 equ $02c8 ;Randfarbekrpdel equ $02d9 ;Tastenwied. Waitkeyrep equ $02da ;Tastenwied. Speed;Programm org $2000 dw $ffff dw start dw end-1start lda #wait sta krpdel lda #speed sta keyrep lda #rechts sta lmargn lda #links sta rmargn ifeq dos lda #0 ;Kleinschrift else lda #64 ;Grossschrift endif sta shflok lda #col2*16+lum1 sta color1 lda #col2*16+lum2 sta color2 lda #col4*16+lum4 sta color4 ifeq dos jmp ($236) ;Return to KIX else rts ;Return to Dos endifend equ *FULLSCRRDBASIC D8:AUTOBAT RESET.BATTYPE GRDEMO1.TXTPAUSETYPE GRDEMO2.TXTPAUSETYPE GRDEMO3.TXTPAUSEKIXcrd d1:fullscrgFULLSCRTYPE GRDEMO1.TXTPAUSETYPE GRDEMO2.TXTPAUSETYPE GRDEMO3.TXTPAUSEKIXcrd d1:fullscrgrdemoPR) TPӊ  TPD6DPEPH BLVInternal BASIC is not enabled` i? ɛ'|DPEL'PNo Drive Number Specified iP iP Š" )Q Q Q R~ Q 8 2 32Q2ȱ2QQ2 Qӊ) Ӡ$YQHQ`MAIN L0@;RAM-DISK"_!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^~S28$HHH өH*HHllhhh@HHLH|)ӝtI)MӍ|hh`HH||)thh(`44DEPH BLV `)`` '4 4 4Ȣ4 4LI4 4 w4 4x '4 44X 4) ~`8 '4 4 4L4L4Error: Not an XL/XE Computer.4.4t5} SpartaDOS Ver 3.2d 17-Feb-86 Copyright (C) 1986 by ICD, Inc. 4.4 4 4G)@}҅  EEF E x4 d5 d5" #   c5  M c5 , W5 4LL4 L LLHEi ȱEi `|40 `` 7 YL\ 2BHG H-G H ةHhJ \hBL\`@B 442@3Y45245324 `L1( (ҩmi:; < =x:23454 Μ ,  w ,P lνе X0`234 5` P21 ,350 2 9 4 2 9 LD1 9)ҢL1,350 &2 4 2 1`08` S< ACE,0ɋ8` `ύ&'0`e1i1`,07 ,ߍҩҭҍ )  `_ҩҩ,,,8`H)ҩh `#,ҍ ҩ(ҥA,ҩҩ`jj)?j)`Ң`H?ʎ @  0h ``@@B,~-32@3452453c24` ɔ FNot SpartaDOS disketteLɢ FDisk fullLɪ FFile not foundLɣ FIllegal wildcard in nameLɘ FNot binary fileLɤ FFile erase protectedLɕ FNot version II disketteLɩ FDisk write lockedLɖ FDirectory not foundLɀ FBreak AbortLɐ% FWrite protected or bad sectorLɥ FFile name errorLɨ FFunction not supportedLɧ FCan't delete fileLɗ FFile existsL` w  w(0   0a Y©ÍYh   N Y©  NΟ`L 8L`@D , ̍̍)̝BJJJJJ ̝D̝E0 KJ)̝JJJ)̝H̝I D@   Ϭ,0),~  FError -- L`(),! *+  -"#$./0_@ @CA똩)*K HJJJJ 9h) 0:iLhWhXWXͭ LNͭXHWH`, Nnn ͠H͎͌͢ͽ `Mܩ,0 N ͭO` P..*N  . 0PH0  ʩ `$%` Π vAG) ..ܭ` 7`  7`L @ ύ  ύ 乀` Ω* #* Z 0DLϠ ̠ ̭0L0f 0  LϮ Lϭ  /A ̠ LL~υCυD. yϠC  y 婛蝀`ȹ  ` ̢0 8̽ H̽I̠0 (ʢ 0L *)L* *M @ L ( `L(= # , 魗  筙`( L#() LLL I0   䍠 e , ʎi 0L CL] 0G   KQ;`) x뭤B L  ,  ,)ߍ "LLL  ,] 0 # K ح)  "L  밻) 멀 "L` ,L  Ld͙Lj魗  Lj$H0Ld88A e , s eECFD8  8  9L H ,C]Dah LꭖCD L譔  魙8L LL$H0 s ,LxECFD  鬙 9L謓CCC)` L_CC C`C`C`  EFL뭔 K`8mi` /L9 Z"C X `L ꭔ C8 CDC}TCȱC}UC`  eCCD`  _C``Ipi ͟? x0,)C) `II  08` CL # , 魗 `1@R H0>h0   * HH 0hh`hh,L L { P*)0 0*`*)& K9:*$+0;QG` {!*B sﭟͻͼ/ P {0*)((a,,,L ) *)  I0 , *)  I  0 I  K 䍝 ,) *I *c 0L U*) 0 @`L,0 K) MﭝI $ 0 zz  G L  Z v #(> sL L,0`H hɛ ,'L0,L P*H * {0h*L04*  0 )L Lq * { M {0Y) *LJ, -* { M {0 ,  ,) LkL, LLLL: * {, (] 0 # K M {0 LL8*  * 0I LL,H ) ") čɍҍ)*LB 0 ͠E 0)  0  63# ͌;QL   ͩ: ͭ ͩ: ͭ ͩa p ͩmLͭ ͩ- ͭ ͩ- ͭ L͢$ ` 6(ȭ(Ȣ(((ȭ(ȭ(` ȱCL,~LL # wL ʈ`1N@ 1!@1S@@8` v P  > Ȣ L >(ȩ(` (H(h `*$/ȱ$Aȩ *$$ `2Kd}j #H 0K 08}  )L ,08J mHh 8Jm , 3m L  8 L iL?EF,L譞)  #T 0N 0   Q 0` >$H s L)L  CȭC _ 1 /͓ hL\ s)H   EF 묓 hL\ KL\FА֐#eCCD$H0CELW `abcdefghijklmnopqrstuvwxyz{|}~EC$H _8m䍖L ``H譞=L `   hC̓ _`LK8EmEF8m䍚 W 0`8`8`CȱC`CȱC`  hCD ` / ?䭒,06/O)͒/?}` &O`)8O,0, } ,0} 8,0 8JHjmChmD`H)h)/ ?  &CD8 ` ` i͓ L?CC, CȭC CȭC _L 3 `),)   C&̓ͬ L,L   X,}T}U` .C   I1CC`   CC,0  L4L@ٯ` N j  ,0 z` _)8j`m K`, HJjhj`, H**hJ`_/]^/` 0 `y"U a ې;ݒ- ;m ; - ;  ]!K`Z6<` 2 @ ɛ  `  8)ɀɛ ȹ`COPLOASAVAPPENCWERASRENAMCREDIDELDICARUPRINTYPDIDIRMEPAUSVERIFBOOCHKDSPROTECUNPROTECLOCUNLOCXDIAINI?DIBASITIMDATTKE,,,,L̩` FFormat: Are you sure? )_H hY L W,P` 7l FNo cartridge` ̭8 F Volume:  ͭ   0ͩ   0 F͛Bytes/sector: 0 F͛ Total bytes:  l F͛ Bytes free:  lͭ ( F͛ Write lock: ,!0 FOFFL FONL  , ̠ 0  BLL `LX  ΍ 7 PL\l FPress any key to continue L FMemlo: $ 0ͭ 0 F Memhi: $ 0ͭ 0ͩL ̠ ̠L M)MӍӌj E L ̭O NF FParameter ErrorL` *L *L  FCurrent date is   F͛Enter new date: - 3_ɛX KJLL  FCurrent time is  F͛Enter new time: : 3 ɛ F`ɛ )_PAϩ, mJ  J JLO WMJ`:8`M {)pM mM iM {`ȹ 0:`8`L ` 7 VL\ 7 L\%H$H`LPLI L2 X  UD1:autorun.sysstartup.batQ*.*.COM.BATD1:Volume: Directory: FREE SECTORS LI z)͒}` Q`1͞QL > 9A5ʊJ 3j245Ӫ) ӠRWPӠ`24Ӡ420PPPQPPQP~PQRRRR R`8RR RmRȱmRLIR R mRLaR R RmRmRLqRRRRRRRRRi RL!RRR` R R`Q~Q~Q $ !  c#L!No Diskdrive SpecifiedA8{4)ߍ:1:09L!u c#L!Invailid Disk  % L ɛ L ɛ  L ` ɛ#!Ƚɛ!H hɛHh` L"\!\"\#`X@ԩ67آ %#iWE:  .# %# LR % 򺢀  #0ɛ% !lDO Sl ::#)ߍ Һ0 ( ɺHE Һ0L( ɺ Һ0L(H ɺ Һ0 ( ɺh=Ɉɪɥ- MHJJJJOh)PiBi L`!DEHIB V[cŰűΥQDE V0BDE8尝H屝IHI V0 ɺlH ɺL6"hhhhXL B V`BDEJK V`H BHIh V`DE BHI V`BDEHI V`Error Code - Bad Load FileFile Not FoundFile Name ErrorNot a Load FileInvailid Device0123456789ABCDEFrdemoPP`PS% DPELP i0P i1P DPELP! ɛxH)өLhXԩDPEPH BLVNo file specifiedStart Batch File -- Installed** TDLINE -- Not SpartaDOS 2.5+!! ɛ i  i!lptD D81:Ӣ 3sjBDqEK J VqpL%q \sqȌq}Kyan PascalCopyright (C) 1986 byKyan Software, Inc.San Francisco, CA 94123Enter Command line ortype "menu" for help:E: qL"jqjrjs`X@ԩ67آ 3siWE:  ɤN[nɪHJJJJ;&8"h);&9"i+i" %"LW#ERROR CODE - Wrong number of argumentsNon existent deviceFile Name ErrorTrashed DiskNo Files SpecifiedInvalid Redirection FileFile Not Found % L"ɛ L"ɛ  L"`%8#ɛ#!Ƚɛ!H8#hɛHh` ?#L"#$%`X@ԩ67آ e%iWE:  n% e% ?#LR % 򺢀  #0ɛ% !lDO Sl ::#)ߍ Һ0 ( ɺHE Һ0L( ɺ Һ0L(H ɺ Һ0 ( ɺh=Ɉɪɥ- MHJJJJOh)PiBi L#DEHIB V[cŰűΥQDE V0BDE8尝H屝IHI V0 ɺlH ɺLv$hhhhXL B V`BDEJK V`H BHIh V`DE BHI V`BDEHI V`Error Code - Bad Load FileFile Not FoundFile Name ErrorNot a Load FileInvailid Device0123456789ABCDEF  ޻LL^L1LpLǓLΓL}LRL}LLķLLLLLLLLLLfLiL]L:LOL]LɟLLLLLL{LLΑLLLğLLLpLwLLeLFLSL`LmLzLLzLL"LDLLLLϒL1LKLLLL LL~LLBL~LOLOL=L]LL۸LLRLLLТLݢLLLLLL~LFLţLңLbLvL^L4L LLȳLALL L7LߣLLLuLTL@LLL LqLFLLLCLLθLL*LL*LLaLL*LQLL(ʩ`ʩ` L"`X@ԩ67آ ŏiWE:  Ώ ŏ LR % 򺢀  #0ɛ% !lDO Sl ::#)ߍ Һ0 ( ɺHE Һ0L( ɺ Һ0L(H ɺ Һ0 ( ɺh=Ɉɪɥ- MHJJJJOh)PiBi LDEHIB V[cŰűΥQDE V0BDE8尝H屝IHI V0 ɺlH ɺL֎hhhhXL B V`BDEJK V`H BHIh V`DE BHI V`BDEHI V`Error Code - Bad Load FileFile Not FoundFile Name ErrorNot a Load FileInvailid Device0123456789ABCDEFH ʧh:ɛ ȱ:La {8 Ĕ񩛝L8PL`)`uuPL`5``8咅哅`Œ哰L`II唐`hhlee8`ee8ȱ`eeHHHȱh ʧ```hhlŒȱHȱhL ʧ`eei`eeiȱi``ʠ`ʠȱ`ܻݻ`ee`eeʠ`eeʠȱ`hhhhHH8咅哅ȥȥȥ`eeʥ`p0``Lp`0`Lᔠ`8PL`I`)LL` L8`ʕ`8PL`ee`eeȵ``` Lii`PI`0PI`PI`0PI`ȑiiܻݻ»`H h rs c 5L : 5 5`ܻ ݻC c8 `U cܻݻ l`stop at address $ stop at line ȱ 5`˕ו &:Tcase index errorarray index error input error file not open range errorarithmetic overflowpathname too long end of filecannot dispose heap overflowtoo many open filescannot read from "output"cannot write to "input"ݴLݴL 0 5ץ 0 5` d' ĖLĖHJJJJ ͖h) 0:iL5`H 5hH Ė 5h Z cL:G[s͗旧& - error codenon-existent devicedevice or file not opendevice timeoutdisk drive # errortoo many open disk files disk fullfatal disk I/O errorinternal file # mismatchfile name error file lockedinvalid disk commanddirectory fullfile not foundŻHHŻ hh`ʵ` ߘ&&& ee楒 ` ߘ&&&8厥叐厅叅挈 ` ߘ&&&Ŏ叐 厅叅ߥLE 8包卅 8厅叅` 8包卅`ʱ` 葒`hihiHHʱ`I ` j ` j ` j ` j `ə!əL   ݜ(`LLLL`I EL|8 |8 "8 |` '8 |LP 8I `mmM ) JJJJ  ` ' P`LM @  @ ߢ` P қ`mmmmmmm`8`........................`NnnnnnnNnnnnnnNnnnnnnNnnnnnn` 򺨽򺘝`Lᔭ) 'ii`` қ8`8!8陰L8  `) )8)) )8)``ʹ` 8咅哅&eeeإ) 0JJJJ 0) 0JJJJ 0) 00Ȅ8嗨 - Ɨ Ɨ` /Lᔠ  LN+- /L 0L :L HH&&&&hehee&&)eee8咩哩唐, / Џ 8咅哅ʥ` /  L LᔅFf uu6` LL LL LL LL LL LLU) i) `` i`) ``Lw)sLX&0\&0Vee0G&0A)ee00&&&Ɣ) 8咅哅i`Lᔠ i8`襕ŕ ƕLĕ` L ` /Lᔠ  LѠ .e+- 0: V l /LL         ݡ*L?L? ) L? ) L?L?L? m )mL?` L9- 8m8 mح- 򺑌` /  L9`>` LL LL LL LL LL LLю``` /Lʠ `Œ ƒL{ `ʵ LpLpTRUEFALSEʵLRʵL f)  Lɟ ` 4ɻ 몭LLʠ` :` 4ɻ 몭LL ɻLʠ `ɻ `  L `e ֥) 8咅哅eePLᔵ) 8咅哅dLᔥ m ` ֥) 8i`` ɞ` f )  `r`  !"#$%&'()0123456789@ABCDEFGHIPQRSTUVWXY`abcdefghipqrstuvwxy)JJJe)e`Lᔵ8 G 8唕 / ) - . ƔE +)- JJJJ 0 ) 0 i`ɚLᔵLᔵ8 / ֥) . Lצ 禩0 .  Ɣ00 LǦƔ0 Lצi`eȵ) ĕ L) - `) 0 666666`HHʠȱhh {ʠȱ `HHʵȱhh {ʠȱ `ȱ葔Ēʠȱ `  ɻ} 5` `ȱ`łȱ僰٠ȱ 5Lҧ 4 ɻ ` 4 ɻ `襆ɻ`ɻ`HȱhLᔠņȱŇ` ` 4ɻ 5`H BDEHȱI VLۖh`H@i LᔩBDȱEJKJ VLۖh` ^ ʥ ` ^ ᨠ ` ʩ 4ȥȭ ȩȭ»» `ȱņȱŇؠȱ 5`H ŏhiiA ^ʩ ^` 8喅嗅&eeeة&&ƕ 8` RɻL    !"#$%&'()*+,H hɛ `` LᔊHBDEHȱI VhLۖ `ɛ `hihiHHȱʠȱ`hihiHHȱȵ`hhiiHHȱʱ`hhiiHHȱ葎`)` ֥挥 `)挥 `Ll EE) uE)ߍE E J ] ] ɟ)uI u E J M E M U M ] U ] ɭ e e e m  m m m m m ٭ m ѭ m e e Mu`08Y&SX1ffffff33332v1A&#"uW1d!)2PQG`GF2877bwPqu EE)ߍE E f ɟ Ϋv v i ]v) u ] n ]LѬW2g ee) ue)ߍev e ѯ m ѯ e ev e ٯ m= e n n e e ev e e m  m m m m  m  m e e vI v !v )v 1v 9 Mu`gC2Vs Pui$'C&rb$'DI6y79@("`yvVB xdP#YuYW2gqU) L e e Ϋvvivwiwe el e me)el8vvww e n n e x x x  ܱ Ա ̱ ı x v i `"wfhhXce0% )Qg1r8!67AP%e'738!S"ur2&Ih'@y%%`C!2GP  ) n mL ) v z ѯ` ~ ɟ Ϋv v i ] ɟ i M M U M ] U ] m m m  m   n   v) w0 L] v Ƴ } `hXceTd(FHPX@)V(26FQd)w @ f"wfh`) L e e Ϋvvivwiwe el e  e n θ٭v)#vivwiw w8nwnv v `Bp#`p"wfhhihiHH擥ђȱHȱhLƴ8ȱȱ` Ē /L ` /`擥Œ`iipȱkeeȑȑeeŃ  LᔥŊȥȥȥiiȑ`iiœ@Œ6eeȱȥ8唑ȱ啑Lŕ ŔȱLȱLU8ȱј Lᔈј Lᔠі іȱLȱȥqȥqј?ј7ȱȱqȱq`qȥqŒȱœȱqȱq``舱ʕ`ۻڻ 4 H ŏBDȱE JK VLۖڻ ۻ1BDEHȱI VLۖڻۻLh` I5 ` ʕ` Ui LL JJJ )ei"%LLʱ` ]L 5 `  ` I5 i LLJJJ)e` I5i LL襔Œ)JJJ)eŔLT` !葒 ` @ʩÕ 4ûȭĻ Lmm8ͻL 8iiŒ哐iûĻ:.ɛȱ:#ȑĒȩ`a {8 Ē`Lᔠ ûĻtȩeȩmȩpȥJJJJiaȥ)iaȥJJJJiaȥ)iaȩ`./0123456789: x& 1 *6 7y&  !jL:! G ! 4 ! !D E BHI VL BD!EHI V08!!H!!I!D!E V0 `BD!EJK V` B V`error loading pascal libraryD8:lib h F F 5)`0)ߑ FLk h!  ! L!K:  Lk h   F  5 FLk h j!" L>"}  ") ) }`" L"㩠ɠ㮩  "( ( }" L"㩠  "( ( } t" L#Dieses Demo ist in Kyan Pascal ge-  "" " } t># LH#schrieben.  "  } tm# L#ierpinski Kurve  "  } t# L#ractal Tree  "  } t֠# L#iamond  "  } t$ L $ines  "  } t.$ L3$ube  "  } tX$ L]$nde  "  } t$ L$Deine Wahl  "  } t  8 ! 58 ! 5  錩S  ˌF  ˌD  ˌL  ˌC  ˌ ьR& L F  8 F OS  nz% Lh% Lp%sierpins &LR& F OF  n% L% L%fractal &LR& F OD  n% Lՠ% L%diamond &LR& F OL  n& L & L&lines &LR& F OC  nM& L?& LC&cube &LR& I E  n " L Lk<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab@JS 1@*6@7KS  JjL:A @G @A @4 @A @!D@E BHI VL@BDAEHI V08AAHAAIADAE V0 @`BDAEJK V` B V`error loading pascal libraryD8:lib h F  8Р F OLk hHT UȱV` BHI Vh Lk hHT UȱV`B JK Vh Lk h ) Hą )eh Lk hH` B V@j `BoDBEK)I J VLS:hLk hH` B Vj `BӝDBEK)I J VhLkS: h   O F O 8   O F O 8  O 8  O 8   8 A Lk h F F O 8 F O  nϠC L  F O 8  8 BLE F O  nD L  F O 8  F O 8 BLE F O  n^D L  8  F O 8 BLE F O  nD L  F O 8  F O 8 BLE F O  nD L  F O 8  8 BLE F O  nBE L  F O 8  F O 8 BLE F O  nE L  8  F O 8 BLE F O  nנE L  F O 8  F O 8 BLE I Lk h F O  G L  F O   8 E   8  O 8 hC  F O   8 G  8    O  8 hC  F O   8 I   8  O 8 hC  F O   8 ELk h F O  FH L  F O   8 G   8  O 8 hC  F O   8 MH   8    O  8 hC  F O   8 E   8  O 8 hC  F O   8 GLk h F O  {I L  F O   8 MH   8  O 8 hC  F O   8 I   8    O  8 hC  F O   8 G   8  O 8 hC  F O   8 MHLk h F O  J L  F O   8 I   8  O 8 hC  F O   8 E   8    O  8 hC  F O   8 MH   8  O 8 hC  F O   8 ILk h   8   8   8 A   8  8   8 A   8  8   8 ApK LK}頠  ") ) }K LK㩠ɠ㮩  "( ( }L L-L㩠  "( ( } tRL LtLDieses Demo ist in Kyan Pascal ge-  "" " } tL LLschrieben.  "  } tȠL LLDie Sierpinski Kurve ist vierfach re-  "& & } tM L9Mcursiv (d.H. vier Unterprogramme rufen  "& & } t^M LMsich gegenseitig [ A ruft B, B ruft A]  "& & } tM LMauf. Die ist in FORTH realiesier-  "' ' } tM LNbar. In Basic, Turbo Basic und Assem-  "% % } t?N LeNbler benoetigt man kompiezierte Tricks  "& & } tN LNum dies zu programieren.  "  } tǠN LNZum Starten und Beendendruecken.  "( ( } t8 A  s O L    8 B   8   8   8 A   8  8   8 A   8  8   8 A     8   8 @      8        O 8   O  8   O  O  8   O   8   O  O 8   O 8   O 8  O 8  O 8   8 VA  O 8 E   8  O 8 hC  O 8 G   8  O 8 hC  O 8 MH   8  O 8 hC  O 8 I   8  O 8 hC  O  nnP L8 A  sgR L {B   8   8   8 A   8  8   8 A   8  8   8 A7S L=Sgrdemo &Lkdefghijklmnopqrstuvwxyz{|}~@N 1@*6@7N  GjL:A @G @A @4 @A @!D@E BHI VL@BDAEHI V08AAHAAIADAE V0 @`BDAEJK V` B V`error loading pascal libraryD8:lib h F  8Р F OLk hHT UȱV` BHI Vh Lk hHT UȱV`B JK Vh Lk h ) Hą )eh Lk hH` B V@j `BoDBEK)I J VLS:hLk hH` B Vj `BӝDBEK)I J VhLkS:7 h/ FQ F JA F J Y A b M' FI F J9 F J Y A b M栋 A F JQ F J \ Mޠ 9 F JI F J \ M F6 7 F O   I J AP _ M F6 7 F O I J AP _ M F栋  J F J b M Fޠ  J F J b M Q F J S 8 I F J G \ S 8   8 VA / F J S 8 ' F J G \ S 8   8 A7 F O  F L / F J M ' F J M  F J F J A9i& y _ F J ABC2` _ \ _/ F J Y M  F J F J A9i& y _ F J ABC2` _ Y _' F J Y M 7 F O  8 B / F J M ' F J M  F J F J A9i& y _ F J ABC2` _ Y _/ F J Y M  F J F J A9i& y _ F J ABC2` _ \ _' F J Y M 7 F O  8 BYLkѠ h   8   8   8 A   8   8   8 A   8   8   8 AG LG}堠  ") ) }H L-H㩠ɠ㮩  "( ( }OH LwH㩠  "( ( } tH LHDieses Demo ist in Kyan Pascal ge-  "" " } tH LHschrieben.  "  } tI L8IDer Fractal Tree ist einfach Recursiv  "& & } t]I LI(d.H ein Unterprogramm ruft sich selbst  "' ' } tI LIimmer wieder auf) und verwendet Fliess-  "' ' } tI LJkomma Zahlen. Daher ist er in Assember  "& & } t@J LgJoder FORTH realisierbar. In Basic  "' ' } tJ LJoder Turbo Basic ist er nur sehr schwer  "' ' } tؠJ LJzu programieren.  "  } t K L5KZum Starten und Beendendruecken.  "( ( } t8 A  sPK L    8 B   8   8   8 A   8   8   8 A   8   8   8 A6   I A M  II唰LM456   O I A 6   I J _ M45 LL ?  A G b M   A G b M  J M A M  J M   J M   8 B8 A  sŠM L {B   8   8   8 A   8   8   8 A   8   8   8 AN LNgrdemo &ѠLk@K 1@*6@7K  EjL:A @G @A @4 @A @!D@E BHI VL@BDAEHI V08AAHAAIADAE V0 @`BDAEJK V` B V`error loading pascal libraryD8:lib h F  8Р F OLk hHT UȱV` BHI Vh Lk hHT UȱV`B JK Vh Lk h ) Hą )eh Lk hH` B V@j `BoDBEK)I J VLS:hLk hH` B Vj `BӝDBEK)I J VhLkS: h F O  E L F F O   8 F O 8  F O F O 8   8 VA F O F O 8  F O 8   8 A F O 8  F O F O  8   8 A F O F O  8  F O 8   8 A F O 8  F O F O 8   8 A F O F O 8  F O 8  F O 8 B F O F O  8  F O 8  F O 8 B F O 8  F O F O  8  F O 8 B F O 8  F O F O 8  F O 8 B Lk h   8  8   8 A   8  8   8 A   8   8   8 AyF LF}䠠  ") ) }ĠF LF㩠ɠ㮩  "( ( }G L6G㩠  "( ( } t[G L}GDieses Demo ist in Kyan Pascal ge-  "" " } tG LGschrieben.  "  } tѠG LGDer Diamond ist einfach recursiv (d.H  "& & } tH L=Hein Unterprogramm ruft sich immer  "! ! } tbH LHwieder selbst auf). Er ist in Basic,  "$ $ } tH LHTurbo Basic und Assember nur schwer zu  "& & } tH LIProgramieren.  "  } t(I LPIZum Starten und Beendendruecken.  "( ( } t8 A  skI L    8 B   8  8   8 A   8  8   8 A   8   8   8 A @    8    8    8 B8 A  sJ L {B   8  8   8 A   8  8   8 A   8   8   8 ApK LvKgrdemo &Lk@RR 1@*6@7SR  4CjL:A @G @A @4 @A @!D@E BHI VL@BDAEHI V08AAHAAIADAE V0 @`BDAEJK V` B V`error loading pascal libraryD8:lib h Ҡȩ F F O F O   D G b 4 8 F O Lk h F  8Р F OLk hHT UȱV` BHI Vh Lk hHT UȱV`B JK Vh Lk h ) Hą )eh Lk hH` B V@j `B͝DBEK)I J VLS:hLk hH` B Vj `B1DCEK)I J VhLkS:Ӡ h   8  8  8 7B   8  8   8 7B   8  8   8 7BC LD}ح󠠠  ") ) }8D L`D㩠ɠ㮩  "( ( }D LD㩠  "( ( } tϠD LDDieses Demo ist in Kyan Pascal ge-  "" " } tE L Eschrieben.  "  } tEE LiEDie QX-Linien werden mit DrawTo ge-  "$ $ } tE LEzeichnet. Eine beschleunigung waehre  "$ $ } tנE LEdurch Benutzung eigener schneller Line-  "' ' } t#F LGFroutienen in Assember moeglich. Dann  "$ $ } tlF LFwaehre das Programm aber nicht mehr auf  "' ' } tF LFandere Rechner uebertragbar.  "  } tF L"GZum Starten und Beendendruecken.  "( ( } t8 ~A  s=G L    8 wB   8  8  8 7B   8  8   8 7B   8  8   8 7B蠋   I6uu?  8蠋   I6uu詿  8蠋   I6uu?  8蠋   I6uu詿  8  II唰L[J45:; :  O I6uu   88 A   8 :  O I6uu 蠋 :  O I6uu Od   88 A2  8:4;5 :;LEI8   86   8>   8  II唰LM23:;<  :  O I6uu O :  O I6uu O 8<  O蠋 :  O I6uu O L L< 蠋 :  O I6uu O   :  O I6uu O  :  O I6uu O  8 :  O I6uu :  O I6uu O 8<  O  \M L< <  O 8 :  O I6uu :  O I6uu O 8 :  O I6uu<  O 8:2;3 :;LJ>  O  O L @ 6  O I  I6uu O 8 @ 6  O I   I6uu O 8  8 A @ 6  O I   I6uu O 8 @ 6  O I   I6uu O 8  8 A6 6  O    q 8@ 8  O  q I  e8 8  O    q 8   I6uu O 8   I6uu O 8   8 A   I6uu O 8   I6uu O 8   8 A> >  O  88 ~A  s>  O  n UJ L8 ~A  soQ L B   8  8  8 7B   8  8   8 7B   8  8   8 7B?R LERgrdemo &ӠLk@6g 1@*6@77g  5^jL:A @G @A @4 @A @!D@E BHI VL@BDAEHI V08AAHAAIADAE V0 @`BDAEJK V` B V`error loading pascal libraryD8:lib h F  8Р F OLk hHT UȱV` BHI Vh Lk hHT UȱV`B JK Vh Lk h ) Hą )eh Lk hH` B V@j `BoDBEK)I J VLS:hLk hH` B Vj `BӝDBEK)I J VhLkS: h  II唰LD 2 2 FP  F O8 I J M F  F O8 I J MP  F O8 I  F J AxRA _ F J A "` _ \ M  F O8 I  F J AxRA _ F J A "` _ Y M  Ԍ  @LCLk h  II唰LGF 2 2 F  F O8 I J M F  F O8 I J M  F O8 I  F J AxRA _ F J A "` _ \ M  F O8 I  F J AxRA _ F J A "` _ Y M  Ԍ  @LDLk h  II唰LH 2 2 F  F O8 I J M FP  F O8 I J M  F O8 I  F J AxRA _ F J A "` _ \ MP  F O8 I  F J AxRA _ F J A "` _ Y M  Ԍ  @LFLk h  II唰LyO 2 2  F O8  I  I6uu O 8  F O8  I   I6uu O 8  8 VA  F O8  I   I6uu O 8  F O8  I   I6uu O 8  8 A  F O8  I  I6uu 蠋  F O8  I6uu O8 I6uu O 8  F O8  I   I6uu 蠋  F O8  I6uu O8 I6uu O 8  F O8  I   I6uu Р  F O8  I6uu O8 I6uu O 8  F O8  I   I6uu Р  F O8  I6uu O8 I6uu O 8  F O8  I  I6uu O 8  F O8  I   I6uu O 8   8 VA  F O8  I   I6uu O 8  F O8  I   I6uu O 8   8 A  Ԍ  @LLH Lk h  II唰LjQ 2 2 F A A  F O8 I J \ b M  F O8 I6uu詐  F O8 I J F J _  J Y S 8  F O8 I6uuP  F O8 I J F J _x  J Y S 8  Ԍ  @LOLk h  8 I  J V MP  8 I  J M  8 I  J M  8 I  J MP  8 I  J M  8 I  J M  8 I  J MP  8 I  J V M  8 I  J M  8 I  J V MP  8 I  J V M  8 I  J M  8 I  J V MP  8 I  J M  8 I  J V M  8 I  J MP  8 I  J M  8 I  J V M  8 I  J MP  8 I  J V M  8 I  J V M  8 I  J V MP  8 I  J V M  8 I  J V MLk h蠋  8  I6uu  8Р  8  I6uu  8蠋  8  I6uu  8Р  8  I6uu  8蠋  8  I6uu  8Р  8  I6uu  8蠋  8  I6uu  8Р  8  I6uu  8蠋  8  I6uu  8Р  8  I6uu  8蠋  8  I6uu  8Р  8  I6uu  8蠋  8  I6uu  8Р  8  I6uu  8蠋  8  I6uu  8Р  8  I6uu  8蠋  8  I6uu  8Р  8  I6uu  8蠋  8  I6uu  8Р  8  I6uu  8蠋  8  I6uu  8Р  8  I6uu  8蠋  8  I6uu  8Р  8  I6uu  8Lk h   8   8   8 A   8   8   8 A   8  8   8 A^ L_}     젠  ") ) }9_ La_㩠ɠ㮩  "( ( }_ L_㩠  "( ( } tР_ L_Dieses Demo ist in Kyan Pascal ge-  "" " } t` L!`schrieben.  "  } tF` Lm`Der Wuerfel wird fuer jede Drehung neu  "' ' } t` L`in Flieskomma berechnet. Intressanter-  "& & } tݠ` Laweise ist diese Berechnung schneller  "$ $ } t&a LLaals das Neuzeichnen. Dies lieg aber am  "& & } tqa LaDrawTo und nicht am Pascal. Er ist in  "% % } ta LaAssember oder FORTH realieserbar  "& & } tb L,bund in Basic waehre er extrem langsam-  "& & } tQb Lubmer. Nur in Turbo Basic waehre eine  "$ $ } tb Lbprogrammierung sinnvoll.  "  } tנb LbZum Starten und Beendendruecken.  "( ( } t8 A  sc L    8 B   8   8   8 A   8   8   8 A   8  8   8 A       D M @    D Mx     D M  II唰L}ersvw  II唰Lbepqtu詐 v  O8  I t  O I6uu  8tpuq tuLdvrws vwLd qQ yW  II唰Lenovw D NFvnwo vwLev   8 B O Hv v  O  88 A  sv  O}  n Ue L8 A  sSf L {B   8   8   8 A   8   8   8 A   8  8   8 A#g L)ggrdemo &Lkprogram grdemo(input,output);var ch:char;#i lib>getkey.v#i lib>upper.f#i lib>getkey.fbegin openkey; repeat write('}'); write('㩠ɠ'); writeln('㩠'); writeln('Dieses Demo ist in Kyan Pascal ge-'); writeln('schrieben.'); writeln('ierpinski Kurve'); writeln('ractal Tree'); writeln('iamond'); writeln('ines'); writeln('ube'); writeln('nde'); writeln('Deine Wahl'); ch:=upper(getkey); if ch in ['S','F','D','L','C'] then case ch of 'S':chain('sierpins'); 'F':chain('fractal'); 'D':chain('diamond'); 'L':chain('lines'); 'C':chain('cube') end until ch='E'end. !"#$%&'()*+,-./01#i gr>graphics.hprogram sierpinski(input,output);#i lib>inline.hconst tiefe =5; maxX =320; maxY =192; breite=128;var altx , alty , x0 , y0 , i , h :integer;#i lib>consol.f#i gr>plot.p#i gr>drawto.p#i gr>setcolor.p#i gr>graphics.p#i gr>textmode.pprocedure line(richtung,laenge:integer); procedure lineR(x,y:integer); begin altx:=altx+x; alty:=alty+y; drawto(altx,alty,1); end; begin case richtung of 0:lineR(+laenge, 0 ); 1:lineR(+laenge,+laenge); 2:lineR( 0 ,+laenge); 3:lineR(-laenge,+laenge); 4:lineR(-laenge, 0 ); 5:lineR(-laenge,-laenge); 6:lineR( 0 ,-laenge); 7:lineR(+laenge,-laenge) end end;procedure A(k:integer); forward;procedure B(k:integer); forward;procedure C(k:integer); forward;procedure D(k:integer); forward;procedure A; begin if k>0 then begin A(k-1); line(7,h); B(k-1); line(0,2*h); D(k-1); line(1,h); A(k-1) end end;procedure B; begin if k>0 then begin B(k-1); line(5,h); C(k-1); line(6,2*h); A(k-1); line(7,h); B(k-1) end end;procedure C; begin if k>0 then begin C(k-1); line(3,h); D(k-1); line(4,2*h); B(k-1); line(5,h); C(k-1) end end;procedure D; begin if k>0 then begin D(k-1); line(1,h); A(k-1); line(2,2*h); C(k-1); line(3,h); D(k-1) end end;begin setcolor(2,3,1); setcolor(1,0,7); setcolor(4,12,3); write('}頠'); write('㩠ɠ'); writeln('㩠'); writeln('Dieses Demo ist in Kyan Pascal ge-'); writeln('schrieben.'); writeln('Die Sierpinski Kurve ist vierfach re-'); writeln('cursiv (d.H. vier Unterprogramme rufen'); writeln('sich gegenseitig [ A ruft B, B ruft A]'); writeln('auf. Die ist in FORTH realiesier-'); writeln('bar. In Basic, Turbo Basic und Assem-'); writeln('bler benoetigt man kompiezierte Tricks'); writeln('um dies zu programieren.'); writeln('Zum Starten und Beendendruecken.'); repeat until consol<>7; graphics(8+16); setcolor(2,3,1); setcolor(1,0,7); setcolor(4,12,3); h :=breite div 4; i :=0; x0:=(maxX-1) div 2; y0:=(maxY-1) div 2 +h; repeat i :=i+1; x0 :=x0-h; h :=h div 2; y0 :=y0+h; altX:=x0; altY:=y0; plot(altX,altY,1); A(i); line(7,h); B(i); line(5,h); C(i); line(3,h); D(i); line(1,h); until(i=tiefe); repeat until consol<>7; textmode; setcolor(2,3,1); setcolor(1,0,7); setcolor(4,12,3); chain('grdemo');end.3456789:;<=>?@ABCDEFG#i gr>graphics.hprogram FractalTree;#i lib>inline.hconst xScaler =1.0; yScaler =1.0; SplitAngle =20.0; SplitProportion=0.22; cosphi =0.939692620791; sinphi =0.342020143326; maxlevel =13; maxtab =20; Xmax =319; Ymax =191;var i :integer; mx , my , dx , dy : real; tab : array [0..maxtab] of real;#i lib>consol.f#i gr>plot.p#i gr>drawto.p#i gr>setcolor.p#i gr>graphics.p#i gr>textmode.pprocedure split(sx, sy, ex, ey:real; level:integer ); var midx , midy , oldlen , newlen , costheta, sintheta: real; i : integer; begin midx :=(sx+ex)/2.0; midy :=(sy+ey)/2.0; dx :=ex-sx; dy :=ey-sy; oldlen :=tab[level-1]*150.0 ; newlen :=tab[level] *150.0; costheta:=dx/oldlen; sintheta:=dy/oldlen; Plot (trunc(sx ),trunc(ymax-sy ),1); drawto(trunc(midx),trunc(ymax-midy),1); if level < maxlevel then begin split(midx, midy ,newlen*(costheta*cosphi- sintheta*sinphi)+midx ,newlen*(sintheta*cosphi+ costheta*sinphi)+midy ,level+1); split(midx, midy ,newlen*(costheta*cosphi+ sintheta*sinphi)+midx ,newlen*(sintheta*cosphi- costheta*sinphi)+midy ,level+1); end; end;begin setcolor(2,8,1); setcolor(1,8,7); setcolor(4,1,5); write('}堠'); write('㩠ɠ'); writeln('㩠'); writeln('Dieses Demo ist in Kyan Pascal ge-'); writeln('schrieben.'); writeln('Der Fractal Tree ist einfach Recursiv'); writeln('(d.H ein Unterprogramm ruft sich selbst'); writeln('immer wieder auf) und verwendet Fliess-'); writeln('komma Zahlen. Daher ist er in Assember'); writeln('oder FORTH realisierbar. In Basic'); writeln('oder Turbo Basic ist er nur sehr schwer'); writeln('zu programieren.'); writeln('Zum Starten und Beendendruecken.'); repeat until consol<>7; graphics(8+16); setcolor(2,8,1); setcolor(1,8,7); setcolor(4,1,5); tab[0]:=3.0; for i := 1 to maxtab do tab[i]:=SplitProportion*tab[0]; mx := Xmax / 2.0; my := Ymax / 2.0; split(mx, 0.0, mx, my, 1); repeat until consol<>7; textmode; setcolor(2,8,1); setcolor(1,8,7); setcolor(4,1,5); chain('grdemo');end.IJKLMNOPQRS#i gr>graphics.hprogram Diamond;#i lib>inline.hconst maxX=320; maxY=192; m =6;#i lib>consol.f#i gr>plot.p#i gr>drawto.p#i gr>setcolor.p#i gr>graphics.p#i gr>textmode.pprocedure D(x,y,s:integer); begin if s >= m then begin s := s DIV 2; plot (x , y+s,1); drawto(x+s, y ,1); drawto(x , y-s,1); drawto(x-s, y ,1); drawto(x , y+s,1); D(x+s, y, s); D(x-s, y, s); D(x, y-s, s); D(x, y+s, s); end end;begin setcolor(2,12,1); setcolor(1,12,7); setcolor(4,3,4); write('}䠠'); write('㩠ɠ'); writeln('㩠'); writeln('Dieses Demo ist in Kyan Pascal ge-'); writeln('schrieben.'); writeln('Der Diamond ist einfach recursiv (d.H'); writeln('ein Unterprogramm ruft sich immer'); writeln('wieder selbst auf). Er ist in Basic,'); writeln('Turbo Basic und Assember nur schwer zu'); writeln('Programieren.'); writeln('Zum Starten und Beendendruecken.'); repeat until consol<>7; graphics(8+16); setcolor(2,12,1); setcolor(1,12,7); setcolor(4,3,4); D (MaxX div 2, MaxY div 2, MaxY div 2); repeat until consol<>7; textmode; setcolor(2,12,1); setcolor(1,12,7); setcolor(4,3,4); chain('grdemo');end.UVWXYZ[\]^_`abcdef#i gr>graphics.hprogram Lines;#i lib>inline.hconst maxLines =20; maxLines_1 =19; maxDrawLines =500; maxX =319; maxY =191; type LineDescr = array [0..3] of integer;var Ball, Vel, max : LineDescr; Lines : array [0..maxLines] of LineDescr; index, t, i, new, old : integer;#i lib>rnd.f#i lib>consol.f#i gr>plot.p#i gr>drawto.p#i gr>setcolor.p#i gr>graphics.p#i gr>textmode.p begin setcolor(2,0,0); setcolor(1,0,7); setcolor(4,0,7); write('}ح󠠠'); write('㩠ɠ'); writeln('㩠'); writeln('Dieses Demo ist in Kyan Pascal ge-'); writeln('schrieben.'); writeln('Die QX-Linien werden mit DrawTo ge-'); writeln('zeichnet. Eine beschleunigung waehre'); writeln('durch Benutzung eigener schneller Line-'); writeln('routienen in Assember moeglich. Dann'); writeln('waehre das Programm aber nicht mehr auf'); writeln('andere Rechner uebertragbar. '); writeln('Zum Starten und Beendendruecken.'); repeat until consol<>7; graphics(8+16); setcolor(2,0,0); setcolor(1,0,7); setcolor(4,0,7); max[0]:=maxX; max[1]:=maxY; max[2]:=maxX; max[3]:=maxY; for i := 0 to 3 do begin Vel[i] :=rnd(16)-8; Ball[i]:=rnd(max[i]-100)+50; end; new := 0; old := 0; index :=0; repeat for i := 0 to 3 do begin t:=Ball[i]+Vel[i]; if t>=max[i] then begin t :=max[i]*2 - Vel[i] - Ball[i]; Vel[i]:=-Vel[i]; end; if t<0 then begin t:=-t; Vel[i]:=-Vel[i]; end; Ball[i]:=t; end; if (index>=maxLines) then begin plot (lines[old,0], lines[old,1],0); drawto(lines[old,2], lines[old,3],0); old:=(old+1) mod maxLines; end; Lines[new MOD maxLines]:=Ball; new:=(new+1) mod maxLines; Plot (ball[0], ball[1],1); drawto(ball[2], ball[3],1); index:=index+1; until (consol<>7) or (index=MaxDrawLines); repeat until consol<>7; textmode; setcolor(2,0,0); setcolor(1,0,7); setcolor(4,0,7); chain('grdemo');end.hijklmnopqrstuvwxyz{|}~#i gr>graphics.hprogram cube;#i lib>inline.hconst Linien =12; Ecken =8; distanz =2000.0; sinphi =0.195090322016; cosphi =0.980785280411; maxX =320; maxY =192;type LinienSegment=array [0..3] of integer;var start, Ende : array [1..Linien] of integer; x, y, z : array [1..Ecken] of real; x2d, y2d : array [1..Ecken] of integer; Alt : array [1..Linien] of LinienSegment; Laenge , Add_X , Add_Y : real ; c, d : integer;#i lib>consol.f#i gr>plot.p#i gr>drawto.p#i gr>setcolor.p#i gr>graphics.p#i gr>textmode.p procedure XRotation; var i :integer; tempY, tempZ:real; begin for i := 1 to Ecken do begin tempY:=y[i]; tempZ:=z[i]; y[i] :=tempY*cosphi - tempZ*sinphi; z[i] :=tempZ*cosphi + tempY*sinphi; end; end;procedure YRotation; var i :integer; tempX, tempZ:real; begin for i := 1 to Ecken do begin tempX:=x[i]; tempZ:=z[i]; x[i] :=tempX*cosphi - tempZ*sinphi; z[i] :=tempZ*cosphi + tempX*sinphi; end; end;procedure ZRotation; var i :integer; tempX, tempY:real; begin for i := 1 to Ecken do begin tempX:=x[i]; tempY:=y[i]; x[i] :=tempX*cosphi - tempY*sinphi; y[i] :=tempY*cosphi + tempX*sinphi; end; end;procedure Zeichne_Wuerfel; var i : integer; d : boolean; begin for i := 1 to Linien do begin plot (Alt[i,0],Alt[i,1],0); drawto(Alt[i,2],Alt[i,3],0); Alt[i,0]:=x2d[start[i]]; Alt[i,1]:=y2d[start[i]]; Alt[i,2]:=x2d[Ende[i]]; Alt[i,3]:=y2d[Ende[i]]; plot (Alt[i,0],Alt[i,1],1); drawto(Alt[i,2],Alt[i,3],1); end; end;procedure Wandle_3D_2D; var i:integer; f:real; begin for i := 1 to Ecken do begin f := 1000.0 / (distanz-z[i]); x2d[i]:=TRUNC(x[i]*f + Add_X); y2d[i]:=TRUNC(y[i]*f + Add_Y); end; end;procedure SetzePunkte; begin x[1]:=-Laenge; y[1]:= Laenge; z[1]:= Laenge; x[2]:= Laenge; y[2]:= Laenge; z[2]:= Laenge; x[3]:= Laenge; y[3]:=-Laenge; z[3]:= Laenge; x[4]:=-Laenge; y[4]:=-Laenge; z[4]:= Laenge; x[5]:=-Laenge; y[5]:= Laenge; z[5]:=-Laenge; x[6]:= Laenge; y[6]:= Laenge; z[6]:=-Laenge; x[7]:= Laenge; y[7]:=-Laenge; z[7]:=-Laenge; x[8]:=-Laenge; y[8]:=-Laenge; z[8]:=-Laenge; end;procedure SetzeLinien; begin start[ 1]:=1; Ende[ 1]:=2; start[ 2]:=2; Ende[ 2]:=3; start[ 3]:=3; Ende[ 3]:=4; start[ 4]:=4; Ende[ 4]:=1; start[ 5]:=1; Ende[ 5]:=5; start[ 6]:=2; Ende[ 6]:=6; start[ 7]:=3; Ende[ 7]:=7; start[ 8]:=4; Ende[ 8]:=8; start[ 9]:=5; Ende[ 9]:=6; start[10]:=6; Ende[10]:=7; start[11]:=7; Ende[11]:=8; start[12]:=8; Ende[12]:=5; end;begin setcolor(2,4,1); setcolor(1,4,6); setcolor(4,0,4); write('}젠'); write('㩠ɠ'); writeln('㩠'); writeln('Dieses Demo ist in Kyan Pascal ge-'); writeln('schrieben.'); writeln('Der Wuerfel wird fuer jede Drehung neu'); writeln('in Flieskomma berechnet. Intressanter-'); writeln('weise ist diese Berechnung schneller'); writeln('als das Neuzeichnen. Dies lieg aber am'); writeln('DrawTo und nicht am Pascal. Er ist in'); writeln('Assember oder FORTH realieserbar'); writeln('und in Basic waehre er extrem langsam-'); writeln('mer. Nur in Turbo Basic waehre eine '); writeln('programmierung sinnvoll.'); writeln('Zum Starten und Beendendruecken.'); repeat until consol<>7; graphics(8+16); setcolor(2,4,1); setcolor(1,4,6); setcolor(4,0,4); Laenge:=maxY DIV 2 - 10; Add_X :=maxX DIV 2; Add_Y :=maxY DIV 2; for c := 1 to Linien do for d := 0 to 3 do Alt[c,d]:=0; SetzePunkte; SetzeLinien; for c:=1 to 2 do begin YRotation; ZRotation; end; c:=0; repeat XRotation; Wandle_3D_2D; Zeichne_Wuerfel; c:=c+1 until (consol<>7) or (c=125); repeat until consol<>7; textmode; setcolor(2,4,1); setcolor(1,4,6); setcolor(4,0,4); chain('grdemo');end.}Hallo,Willkommen zum Kyan Pascal GraphicDemo.Dieses Demo ist urspruenglich mit TDIModula 2 auf einem ST geschrieben.Ich habe es, mehr aus Spass, inST:Pascal plus V2.02 umgeschrieben.Dann kam mir die Idee es doch auchauf dem XE zu implemieren. Ich ueber-trug die Source Texte ueber Schnitt-stelle zum XE und brauchte dann nurnoch kleine Aenderungen vorzunehmen.Hier kam mir zu gute das Pascal imgegesantz zu BASIC weitgehen genormtist.}Dieses Demo ist also nicht nur eineDemonstration von Kyan Pascal sondernauch eine der Uebertragbarkeit vonPascal Programmen von einem Recher zumanderen.Mit Basic waehre es bestimmt nicht soeinfach gewesen (selbest bei TurboBasic und GFA Basic die von dem selbenProgramierer stammen) und mit Assemberwaehre es keine uebertragung sondernein Neuprogramieren geworden.Auserdem zeige ich die Leistungsfaehig-keit eines DOS mit CLI. Ich brauche naemlich keine weiteren Programme zumstarten der Demos, fuellen der Ramdiskoder anzeigen dieses Textes.}also viel spass mit dem Demo.ACHTUNG!!!Auf der Rueckseite ist eine RAMDISKversion. Martin KrischikD7:copy *.pa D2:grdemo>D8:PASCALFULLSCRcdsk1 d7:pc sierpins.pa -o sierpinspc fractal.pa -o fractalpc diamond.pa -o diamondpc lines.pa -o linespc cube.pa -o cubepc grdemo.pa -o grdemoDOScopy * D2:grdemo>#a_origin equ $4000#procedure drawto(horiz,vert,color:integer);begin#a TXA PHA LDY #7 LDA (_SP),Y STA $54 LDY #9 LDA (_SP),Y STA $55 INY LDA (_SP),Y STA $56 LDY #5 LDA (_SP),Y STA $2FB LDX #$60 LDA #$11 STA $342,X LDA #$0C STA $34A,X LDA #0 STA $34B,X JSR $E456 PLA TAX#END;procedure fillto(horiz,vert,color:integer);begin#a TXA PHA LDY #7 LDA (_SP),Y STA $54 LDY #9 LDA (_SP),Y STA $55 INY LDA (_SP),Y STA $56 LDY #5 LDA (_SP),Y STA $2FD LDX #$60 LDA #$12 STA $342,X LDA #$0C STA $34A,X LDA #0 STA $34B,X JSR $E456 PLA TAX#END;procedure graphics(mode:integer);begin#a TXA PHA LDX #$60 LDA #$0C STA $342,X JSR $E456 LDA #>$4000 STA $2E5 LDA #<$4000 STA $2E6 sta $6a ;Hier war mal ein Fehler LDA #>$2000 STA $E LDA #<$2000 STA $F LDX #$60 LDA #$03 ;OPEN STA $342,X LDA #>FILEN STA $344,X LDA #1 then ps:=sf*(abs(xl/yl)); if ps>0 then begin repeat xp:=round(xs+x); yp:=round((st*x)+ys); plot(xp,yp,cl); x:=x+ps until x>=xl; end else begin repeat xp:=round(xs+x); yp:=round((st*x)+ys); plot(xp,yp,cl); x:=x+ps until x<=xl; end;end;procedure locate(horiz,vert:integer;var color:integer);begin#a TXA PHA LDY #5 LDA (_SP),Y STA _T INY LDA (_SP),Y STA _T+1 LDY #7 LDA (_SP),Y STA $54 LDY #9 LDA (_SP),Y STA $55 INY LDA (_SP),Y STA $56 LDX #$60 LDA #$07 STA $342,X LDA #0 STA $348,X STA $349,X JSR $E456 LDY #0 STA (_T),Y TYA INY STA (_T),Y PLA TAX#END;procedure plot(horiz,vert,color:integer);begin#a TXA PHA LDY #7 LDA (_SP),Y STA $54 LDY #9 LDA (_SP),Y STA $55 INY LDA (_SP),Y STA $56 LDX #$60 LDA #$0B STA $342,X LDA #0 STA $348,X STA $349,X LDY #5 LDA (_SP),Y JSR $E456 PLA TAX#END; procedure position(horiz,vert:integer);begin#a LDY #5 LDA (_SP),Y STA $54 LDY #7 LDA (_SP),Y STA $55 INY LDA (_SP),Y STA $56#END;procedure setcolor(reg,color,lum:integer);begin#a LDY #5 LDA (_SP),Y ASL A AND #$0E STA _T LDY #7 LDA (_SP),Y ASL A ASL A ASL A ASL A ORA _T PHA LDA #>$2C4 STA _T LDA #<$2C4 STA _T+1 LDY #9 LDA (_SP),Y AND #$07 CLC ADC _T STA _T PLA LDY #0 STA (_T),Y#END;procedure textmode; begin#a TXA PHA LDX #$60 LDA #$0C STA $342,X JSR $E456 LDA #>$C000 STA $2E5 LDA #<$C000 STA $2E6 sta $6a ;Hier war mal ein Fehler LDA #>$2000 STA $E LDA #<$2000 STA $F LDX #$60 LDA #$03 ;OPEN STA $342,X LDA #>tfn STA $344,X LDA #0 dann fuer DOS ;Assemblieren, sonst ;fuer KIX Assemblieren;Dos File: as fullscr.as -o fullscr.com;Kix File: as fullscr.as -o fullscr.;Parameterlum1 equ 06 ;Schrift Helllum2 equ 00 ;Hintergrund Dunkelcol2 equ 08 ;Farbe Blaulum4 equ 04 ;Randhellig. Mittelcol4 equ 00 ;Randfarbe Grauwait equ 16 ;Warte 0.32 sspeed equ 2 ;Wie