home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / MOU_ROUT.ZIP / PAGEFLIP.PAS < prev    next >
Mailbox/MIME Entity  |  1990-05-08  |  4.6 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: Mailbox/MIME Entity (archive/mbox).

You can browse this item here: PAGEFLIP.PAS

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Mailbox/MIME Entity (archive/mbox) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
100% dexvert Pascal/Delphi Source File (text/pas) magic Supported
1% dexvert TheDraw Pascal screen Image (image/theDrawPascalScreenImage) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file Mailbox text, 1st line "From usc!snorkelwacker!ira.uka.de!news Tue May 8 12:02:49 PDT 1990" default
99% file data default
100% TrID E-Mail message (Var. 2) default
100% perlTextCheck Likely Text (Perl) default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime application/mbox default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 20 75 73 63 | 21 73 6e 6f 72 6b 65 6c |From usc|!snorkel|
|00000010| 77 61 63 6b 65 72 21 69 | 72 61 2e 75 6b 61 2e 64 |wacker!i|ra.uka.d|
|00000020| 65 21 6e 65 77 73 20 54 | 75 65 20 4d 61 79 20 20 |e!news T|ue May |
|00000030| 38 20 31 32 3a 30 32 3a | 34 39 20 50 44 54 20 31 |8 12:02:|49 PDT 1|
|00000040| 39 39 30 0a 41 72 74 69 | 63 6c 65 20 32 36 33 37 |990.Arti|cle 2637|
|00000050| 20 6f 66 20 63 6f 6d 70 | 2e 6c 61 6e 67 2e 70 61 | of comp|.lang.pa|
|00000060| 73 63 61 6c 3a 0a 50 61 | 74 68 3a 20 6a 61 72 74 |scal:.Pa|th: jart|
|00000070| 68 75 72 21 75 73 63 21 | 73 6e 6f 72 6b 65 6c 77 |hur!usc!|snorkelw|
|00000080| 61 63 6b 65 72 21 69 72 | 61 2e 75 6b 61 2e 64 65 |acker!ir|a.uka.de|
|00000090| 21 6e 65 77 73 0a 3e 46 | 72 6f 6d 3a 20 73 5f 72 |!news.>F|rom: s_r|
|000000a0| 6f 68 72 62 61 63 68 65 | 72 0a 4e 65 77 73 67 72 |ohrbache|r.Newsgr|
|000000b0| 6f 75 70 73 3a 20 63 6f | 6d 70 2e 6c 61 6e 67 2e |oups: co|mp.lang.|
|000000c0| 70 61 73 63 61 6c 0a 53 | 75 62 6a 65 63 74 3a 20 |pascal.S|ubject: |
|000000d0| 52 65 3a 20 66 6c 69 63 | 6b 65 72 2d 66 72 65 65 |Re: flic|ker-free|
|000000e0| 20 61 6e 69 6d 61 74 69 | 6f 6e 20 77 69 74 68 20 | animati|on with |
|000000f0| 54 50 0a 4d 65 73 73 61 | 67 65 2d 49 44 3a 20 3c |TP.Messa|ge-ID: <|
|00000100| 39 30 2e 31 32 37 2e 31 | 33 3a 32 37 3a 35 35 40 |90.127.1|3:27:55@|
|00000110| 69 72 61 2e 75 6b 61 2e | 64 65 3e 0a 44 61 74 65 |ira.uka.|de>.Date|
|00000120| 3a 20 37 20 4d 61 79 20 | 39 30 20 32 30 3a 32 34 |: 7 May |90 20:24|
|00000130| 3a 32 37 20 47 4d 54 0a | 53 65 6e 64 65 72 3a 20 |:27 GMT.|Sender: |
|00000140| 6e 65 77 73 40 69 72 61 | 2e 75 6b 61 2e 64 65 20 |news@ira|.uka.de |
|00000150| 28 55 53 45 4e 45 54 20 | 4e 65 77 73 20 53 79 73 |(USENET |News Sys|
|00000160| 74 65 6d 29 0a 52 65 70 | 6c 79 2d 54 6f 3a 20 73 |tem).Rep|ly-To: s|
|00000170| 5f 72 6f 68 72 62 61 63 | 68 65 72 0a 4f 72 67 61 |_rohrbac|her.Orga|
|00000180| 6e 69 7a 61 74 69 6f 6e | 3a 20 55 6e 69 76 65 72 |nization|: Univer|
|00000190| 73 69 74 79 20 6f 66 20 | 4b 61 72 6c 73 72 75 68 |sity of |Karlsruh|
|000001a0| 65 2c 20 46 52 47 0a 4c | 69 6e 65 73 3a 20 39 36 |e, FRG.L|ines: 96|
|000001b0| 0a 0a 53 6f 6d 65 20 64 | 61 79 73 20 61 67 6f 2c |..Some d|ays ago,|
|000001c0| 20 6f 6e 65 20 6f 66 20 | 79 6f 75 20 61 73 6b 65 | one of |you aske|
|000001d0| 64 20 66 6f 72 20 61 20 | 73 6f 6c 75 74 69 6f 6e |d for a |solution|
|000001e0| 20 74 6f 20 64 6f 20 66 | 61 73 74 20 66 6c 69 63 | to do f|ast flic|
|000001f0| 6b 65 72 2d 66 72 65 65 | 0a 61 6e 69 6d 61 74 69 |ker-free|.animati|
|00000200| 6f 6e 20 69 6e 20 54 75 | 72 62 6f 50 61 73 63 61 |on in Tu|rboPasca|
|00000210| 6c 2e 20 49 20 6d 79 73 | 65 6c 66 20 68 61 64 20 |l. I mys|elf had |
|00000220| 74 68 65 20 73 61 6d 65 | 20 70 72 6f 62 6c 65 6d |the same| problem|
|00000230| 20 61 6e 64 20 63 69 72 | 63 75 6d 76 65 6e 74 65 | and cir|cumvente|
|00000240| 64 20 69 74 20 62 79 0a | 61 20 73 69 6d 70 6c 65 |d it by.|a simple|
|00000250| 20 74 65 63 68 6e 69 71 | 75 65 20 63 61 6c 6c 65 | techniq|ue calle|
|00000260| 64 20 22 70 61 67 65 2d | 66 6c 69 70 70 69 6e 67 |d "page-|flipping|
|00000270| 22 3a 20 6e 65 61 72 6c | 79 20 65 76 65 72 79 20 |": nearl|y every |
|00000280| 67 72 61 70 68 69 63 20 | 63 61 72 64 20 68 61 73 |graphic |card has|
|00000290| 20 32 0a 69 6e 64 65 70 | 65 6e 64 65 6e 74 20 67 | 2.indep|endent g|
|000002a0| 72 61 70 68 69 63 20 70 | 61 67 65 73 2c 20 73 6f |raphic p|ages, so|
|000002b0| 20 69 74 20 69 73 20 70 | 6f 73 73 69 62 6c 65 20 | it is p|ossible |
|000002c0| 74 6f 20 64 72 61 77 20 | 61 74 20 6f 6e 65 20 70 |to draw |at one p|
|000002d0| 61 67 65 20 77 68 69 6c | 65 20 73 68 6f 77 69 6e |age whil|e showin|
|000002e0| 67 0a 74 68 65 20 6f 74 | 68 65 72 2e 20 49 66 20 |g.the ot|her. If |
|000002f0| 74 68 65 20 22 62 61 63 | 6b 67 72 6f 75 6e 64 22 |the "bac|kground"|
|00000300| 20 70 61 67 65 20 69 73 | 20 66 69 6e 69 73 68 65 | page is| finishe|
|00000310| 64 2c 20 79 6f 75 20 6a | 75 73 74 20 22 66 6c 69 |d, you j|ust "fli|
|00000320| 70 22 20 74 68 65 20 70 | 61 67 65 73 3a 0a 74 68 |p" the p|ages:.th|
|00000330| 75 73 2c 20 61 74 20 61 | 6e 79 20 74 69 6d 65 20 |us, at a|ny time |
|00000340| 61 6c 6c 20 61 63 74 69 | 6f 6e 73 20 74 61 6b 65 |all acti|ons take|
|00000350| 20 70 6c 61 63 65 20 69 | 6e 20 74 68 65 20 62 61 | place i|n the ba|
|00000360| 63 6b 67 72 6f 75 6e 64 | 20 61 6e 64 20 79 6f 75 |ckground| and you|
|00000370| 20 67 65 74 20 61 20 73 | 6d 6f 6f 74 68 0a 61 6e | get a s|mooth.an|
|00000380| 69 6d 61 74 69 6f 6e 21 | 0a 49 6e 20 54 50 2c 20 |imation!|.In TP, |
|00000390| 79 6f 75 20 63 68 6f 6f | 73 65 20 74 68 65 20 76 |you choo|se the v|
|000003a0| 69 73 69 62 6c 65 20 70 | 61 67 65 20 77 69 74 68 |isible p|age with|
|000003b0| 20 22 53 65 74 56 69 73 | 75 61 6c 50 61 67 65 22 | "SetVis|ualPage"|
|000003c0| 20 61 6e 64 20 74 68 65 | 20 77 6f 72 6b 69 6e 67 | and the| working|
|000003d0| 20 70 61 67 65 0a 77 69 | 74 68 20 22 53 65 74 41 | page.wi|th "SetA|
|000003e0| 63 74 69 76 65 50 61 67 | 65 22 2e 20 2d 20 54 61 |ctivePag|e". - Ta|
|000003f0| 6b 65 20 74 68 65 20 66 | 6f 6c 6c 6f 77 69 6e 67 |ke the f|ollowing|
|00000400| 20 70 72 6f 67 72 61 6d | 20 61 73 20 61 6e 20 65 | program| as an e|
|00000410| 78 61 6d 70 6c 65 3a 20 | 69 74 20 61 6e 69 6d 61 |xample: |it anima|
|00000420| 74 65 73 20 61 0a 68 61 | 74 63 68 65 64 20 73 71 |tes a.ha|tched sq|
|00000430| 75 61 72 65 2c 20 65 69 | 74 68 65 72 20 77 69 74 |uare, ei|ther wit|
|00000440| 68 20 6f 72 20 77 69 74 | 68 6f 75 74 20 70 61 67 |h or wit|hout pag|
|00000450| 65 2d 66 6c 69 70 70 69 | 6e 67 20 28 61 64 61 70 |e-flippi|ng (adap|
|00000460| 74 20 70 72 6f 63 2e 20 | 22 49 6e 69 74 69 61 6c |t proc. |"Initial|
|00000470| 69 7a 65 22 0a 69 66 20 | 79 6f 75 20 68 61 76 65 |ize".if |you have|
|00000480| 20 61 20 48 65 72 63 75 | 6c 65 73 20 69 6e 73 74 | a Hercu|les inst|
|00000490| 65 61 64 20 6f 66 20 61 | 6e 20 45 47 41 2f 56 47 |ead of a|n EGA/VG|
|000004a0| 41 29 3a 0a 0a 50 52 4f | 47 52 41 4d 20 70 61 67 |A):..PRO|GRAM pag|
|000004b0| 65 5f 66 6c 69 70 70 69 | 6e 67 5f 64 65 6d 6f 3b |e_flippi|ng_demo;|
|000004c0| 20 7b 62 79 20 4b 61 69 | 20 52 6f 68 72 62 61 63 | {by Kai| Rohrbac|
|000004d0| 68 65 72 2c 20 54 50 20 | 35 2e 30 2c 20 34 2f 32 |her, TP |5.0, 4/2|
|000004e0| 35 2f 39 30 7d 0a 55 53 | 45 53 20 43 72 74 2c 47 |5/90}.US|ES Crt,G|
|000004f0| 72 61 70 68 3b 0a 43 4f | 4e 53 54 20 73 65 65 69 |raph;.CO|NST seei|
|00000500| 6e 67 5f 70 61 67 65 3a | 57 6f 72 64 3d 30 3b 20 |ng_page:|Word=0; |
|00000510| 7b 6e 75 6d 62 65 72 20 | 6f 66 20 61 63 74 75 61 |{number |of actua|
|00000520| 6c 20 73 65 65 6e 20 70 | 61 67 65 7d 0a 56 41 52 |l seen p|age}.VAR|
|00000530| 20 47 72 61 70 68 44 72 | 69 76 65 72 2c 47 72 61 | GraphDr|iver,Gra|
|00000540| 70 68 4d 6f 64 65 2c 78 | 2c 79 2c 78 6f 6c 64 2c |phMode,x|,y,xold,|
|00000550| 79 6f 6c 64 2c 78 74 65 | 6d 70 2c 79 74 65 6d 70 |yold,xte|mp,ytemp|
|00000560| 3a 49 6e 74 65 67 65 72 | 3b 0a 20 20 20 20 53 70 |:Integer|;. Sp|
|00000570| 72 69 74 65 3a 50 6f 69 | 6e 74 65 72 3b 20 7b 70 |rite:Poi|nter; {p|
|00000580| 6f 69 6e 74 65 72 20 74 | 6f 20 73 70 72 69 74 65 |ointer t|o sprite|
|00000590| 2d 64 61 74 61 7d 0a 20 | 20 20 20 63 68 3a 63 68 |-data}. | ch:ch|
|000005a0| 61 72 3b 0a 20 20 20 20 | 57 49 54 48 5f 50 41 47 |ar;. |WITH_PAG|
|000005b0| 45 5f 46 4c 49 50 50 49 | 4e 47 3a 42 6f 6f 6c 65 |E_FLIPPI|NG:Boole|
|000005c0| 61 6e 3b 20 7b 64 65 6d | 6f 6e 73 74 72 61 74 69 |an; {dem|onstrati|
|000005d0| 6f 6e 20 6d 6f 64 65 7d | 0a 0a 50 52 4f 43 45 44 |on mode}|..PROCED|
|000005e0| 55 52 45 20 49 6e 69 74 | 69 61 6c 69 7a 65 3b 20 |URE Init|ialize; |
|000005f0| 7b 73 65 74 20 61 6e 79 | 20 67 72 61 70 68 69 63 |{set any| graphic|
|00000600| 2d 6d 6f 64 65 20 77 69 | 74 68 20 32 20 70 61 67 |-mode wi|th 2 pag|
|00000610| 65 73 3b 20 68 65 72 65 | 20 45 47 41 7d 0a 42 45 |es; here| EGA}.BE|
|00000620| 47 49 4e 0a 20 47 72 61 | 70 68 44 72 69 76 65 72 |GIN. Gra|phDriver|
|00000630| 3a 3d 45 47 41 3b 20 47 | 72 61 70 68 4d 6f 64 65 |:=EGA; G|raphMode|
|00000640| 3a 3d 45 47 41 48 69 3b | 0a 20 49 6e 69 74 47 72 |:=EGAHi;|. InitGr|
|00000650| 61 70 68 28 47 72 61 70 | 68 44 72 69 76 65 72 2c |aph(Grap|hDriver,|
|00000660| 47 72 61 70 68 4d 6f 64 | 65 2c 27 27 29 3b 0a 20 |GraphMod|e,'');. |
|00000670| 49 46 20 47 72 61 70 68 | 52 65 73 75 6c 74 3c 3e |IF Graph|Result<>|
|00000680| 67 72 4f 4b 20 54 48 45 | 4e 20 42 45 47 49 4e 20 |grOK THE|N BEGIN |
|00000690| 57 72 69 74 65 6c 6e 28 | 27 4e 6f 20 45 47 41 21 |Writeln(|'No EGA!|
|000006a0| 27 29 3b 20 48 61 6c 74 | 28 31 29 20 45 4e 44 3b |'); Halt|(1) END;|
|000006b0| 0a 45 4e 44 3b 0a 0a 50 | 52 4f 43 45 44 55 52 45 |.END;..P|ROCEDURE|
|000006c0| 20 69 6e 69 74 69 61 6c | 69 7a 65 5f 66 6c 69 70 | initial|ize_flip|
|000006d0| 3b 20 7b 63 6c 65 61 72 | 20 70 61 67 65 73 3b 20 |; {clear| pages; |
|000006e0| 73 68 6f 77 20 6f 6e 65 | 2c 20 77 6f 72 6b 20 6f |show one|, work o|
|000006f0| 6e 20 74 68 65 20 6f 74 | 68 65 72 7d 0a 42 45 47 |n the ot|her}.BEG|
|00000700| 49 4e 0a 20 73 65 74 61 | 63 74 69 76 65 70 61 67 |IN. seta|ctivepag|
|00000710| 65 28 30 29 3b 20 63 6c | 65 61 72 64 65 76 69 63 |e(0); cl|eardevic|
|00000720| 65 3b 0a 20 6f 75 74 74 | 65 78 74 78 79 28 31 30 |e;. outt|extxy(10|
|00000730| 30 2c 30 2c 27 50 61 67 | 65 20 30 20 2d 20 55 73 |0,0,'Pag|e 0 - Us|
|00000740| 65 20 49 2c 4a 2c 4b 2c | 4d 2c 20 51 3d 51 75 69 |e I,J,K,|M, Q=Qui|
|00000750| 74 27 29 3b 0a 20 73 65 | 74 61 63 74 69 76 65 70 |t');. se|tactivep|
|00000760| 61 67 65 28 31 29 3b 20 | 63 6c 65 61 72 64 65 76 |age(1); |cleardev|
|00000770| 69 63 65 3b 0a 20 6f 75 | 74 74 65 78 74 78 79 28 |ice;. ou|ttextxy(|
|00000780| 31 30 30 2c 30 2c 27 50 | 61 67 65 20 31 20 2d 20 |100,0,'P|age 1 - |
|00000790| 55 73 65 20 49 2c 4a 2c | 4b 2c 4d 2c 20 51 3d 51 |Use I,J,|K,M, Q=Q|
|000007a0| 75 69 74 27 29 3b 0a 20 | 73 65 74 61 63 74 69 76 |uit');. |setactiv|
|000007b0| 65 70 61 67 65 28 31 2d | 73 65 65 69 6e 67 5f 70 |epage(1-|seeing_p|
|000007c0| 61 67 65 29 3b 20 73 65 | 74 76 69 73 75 61 6c 70 |age); se|tvisualp|
|000007d0| 61 67 65 28 73 65 65 69 | 6e 67 5f 70 61 67 65 29 |age(seei|ng_page)|
|000007e0| 0a 45 4e 44 3b 0a 0a 50 | 52 4f 43 45 44 55 52 45 |.END;..P|ROCEDURE|
|000007f0| 20 66 6c 69 70 3b 20 7b | 65 78 63 68 61 6e 67 65 | flip; {|exchange|
|00000800| 20 61 63 74 69 76 65 20 | 26 20 76 69 73 69 62 6c | active |& visibl|
|00000810| 65 20 70 61 67 65 7d 0a | 42 45 47 49 4e 0a 20 73 |e page}.|BEGIN. s|
|00000820| 65 74 61 63 74 69 76 65 | 70 61 67 65 28 73 65 65 |etactive|page(see|
|00000830| 69 6e 67 5f 70 61 67 65 | 29 3b 20 73 65 65 69 6e |ing_page|); seein|
|00000840| 67 5f 70 61 67 65 3a 3d | 31 2d 73 65 65 69 6e 67 |g_page:=|1-seeing|
|00000850| 5f 70 61 67 65 3b 0a 20 | 73 65 74 76 69 73 75 61 |_page;. |setvisua|
|00000860| 6c 70 61 67 65 28 73 65 | 65 69 6e 67 5f 70 61 67 |lpage(se|eing_pag|
|00000870| 65 29 3b 0a 45 4e 44 3b | 0a 0a 50 52 4f 43 45 44 |e);.END;|..PROCED|
|00000880| 55 52 45 20 75 70 64 61 | 74 65 5f 73 70 72 69 74 |URE upda|te_sprit|
|00000890| 65 3b 20 7b 77 6f 72 6b | 73 20 74 6f 74 61 6c 6c |e; {work|s totall|
|000008a0| 79 20 6f 6e 20 62 61 63 | 6b 67 72 6f 75 6e 64 20 |y on bac|kground |
|000008b0| 70 61 67 65 21 7d 0a 42 | 45 47 49 4e 0a 20 49 46 |page!}.B|EGIN. IF|
|000008c0| 20 28 78 6f 6c 64 3c 3e | 2d 31 29 20 41 4e 44 20 | (xold<>|-1) AND |
|000008d0| 28 79 6f 6c 64 3c 3e 2d | 31 29 20 54 48 45 4e 20 |(yold<>-|1) THEN |
|000008e0| 50 75 74 49 6d 61 67 65 | 28 78 6f 6c 64 2c 79 6f |PutImage|(xold,yo|
|000008f0| 6c 64 2c 73 70 72 69 74 | 65 5e 2c 58 4f 52 70 75 |ld,sprit|e^,XORpu|
|00000900| 74 29 3b 0a 20 50 75 74 | 49 6d 61 67 65 28 78 2c |t);. Put|Image(x,|
|00000910| 79 2c 73 70 72 69 74 65 | 5e 2c 58 4f 52 70 75 74 |y,sprite|^,XORput|
|00000920| 29 0a 45 4e 44 3b 0a 0a | 42 45 47 49 4e 20 7b 6d |).END;..|BEGIN {m|
|00000930| 61 69 6e 7d 0a 20 57 72 | 69 74 65 28 27 57 69 74 |ain}. Wr|ite('Wit|
|00000940| 68 20 28 31 29 20 6f 72 | 20 77 69 74 68 6f 75 74 |h (1) or| without|
|00000950| 20 28 32 29 20 70 61 67 | 65 66 6c 69 70 70 69 6e | (2) pag|eflippin|
|00000960| 67 3f 20 27 29 3b 0a 20 | 52 45 50 45 41 54 20 63 |g? ');. |REPEAT c|
|00000970| 68 3a 3d 55 70 43 61 73 | 65 28 72 65 61 64 6b 65 |h:=UpCas|e(readke|
|00000980| 79 29 20 55 4e 54 49 4c | 20 63 68 20 69 6e 20 5b |y) UNTIL| ch in [|
|00000990| 27 31 27 2c 27 32 27 5d | 3b 0a 20 57 49 54 48 5f |'1','2']|;. WITH_|
|000009a0| 50 41 47 45 5f 46 4c 49 | 50 50 49 4e 47 3a 3d 63 |PAGE_FLI|PPING:=c|
|000009b0| 68 3d 27 31 27 3b 20 7b | 73 65 74 20 6d 6f 64 65 |h='1'; {|set mode|
|000009c0| 7d 0a 20 49 6e 69 74 69 | 61 6c 69 7a 65 3b 0a 20 |}. Initi|alize;. |
|000009d0| 7b 67 65 6e 65 72 61 74 | 65 20 73 70 72 69 74 65 |{generat|e sprite|
|000009e0| 20 61 6e 64 20 73 61 76 | 65 20 69 74 20 6f 6e 20 | and sav|e it on |
|000009f0| 54 50 27 73 20 73 74 61 | 63 6b 3a 7d 0a 20 72 65 |TP's sta|ck:}. re|
|00000a00| 63 74 61 6e 67 6c 65 28 | 30 2c 30 2c 35 30 2c 35 |ctangle(|0,0,50,5|
|00000a10| 30 29 3b 20 73 65 74 46 | 69 6c 6c 53 74 79 6c 65 |0); setF|illStyle|
|00000a20| 28 48 61 74 63 68 66 69 | 6c 6c 2c 77 68 69 74 65 |(Hatchfi|ll,white|
|00000a30| 29 3b 0a 20 46 6c 6f 6f | 64 46 69 6c 6c 28 31 2c |);. Floo|dFill(1,|
|00000a40| 31 2c 77 68 69 74 65 29 | 3b 20 47 65 74 4d 65 6d |1,white)|; GetMem|
|00000a50| 28 73 70 72 69 74 65 2c | 49 6d 61 67 65 53 69 7a |(sprite,|ImageSiz|
|00000a60| 65 28 30 2c 30 2c 35 30 | 2c 35 30 29 29 3b 0a 20 |e(0,0,50|,50));. |
|00000a70| 47 65 74 49 6d 61 67 65 | 28 30 2c 30 2c 35 30 2c |GetImage|(0,0,50,|
|00000a80| 35 30 2c 73 70 72 69 74 | 65 5e 29 3b 20 63 6c 65 |50,sprit|e^); cle|
|00000a90| 61 72 64 65 76 69 63 65 | 3b 0a 20 6f 75 74 74 65 |ardevice|;. outte|
|00000aa0| 78 74 78 79 28 30 2c 30 | 2c 27 55 73 65 20 49 2c |xtxy(0,0|,'Use I,|
|00000ab0| 4a 2c 4b 2c 4d 2c 20 51 | 3d 51 75 69 74 27 29 3b |J,K,M, Q|=Quit');|
|00000ac0| 0a 20 49 46 20 57 49 54 | 48 5f 50 41 47 45 5f 46 |. IF WIT|H_PAGE_F|
|00000ad0| 4c 49 50 50 49 4e 47 20 | 54 48 45 4e 20 69 6e 69 |LIPPING |THEN ini|
|00000ae0| 74 69 61 6c 69 7a 65 5f | 66 6c 69 70 3b 0a 20 78 |tialize_|flip;. x|
|00000af0| 6f 6c 64 3a 3d 2d 31 3b | 20 79 6f 6c 64 3a 3d 2d |old:=-1;| yold:=-|
|00000b00| 31 3b 20 78 74 65 6d 70 | 3a 3d 2d 31 3b 20 79 74 |1; xtemp|:=-1; yt|
|00000b10| 65 6d 70 3a 3d 2d 31 3b | 20 7b 2d 31 3d 66 6c 61 |emp:=-1;| {-1=fla|
|00000b20| 67 3a 20 27 63 75 72 72 | 65 6e 74 6c 79 20 6e 6f |g: 'curr|ently no|
|00000b30| 74 20 75 73 65 64 27 7d | 0a 20 78 3a 3d 31 30 30 |t used'}|. x:=100|
|00000b40| 3b 20 79 3a 3d 31 30 30 | 3b 20 7b 73 74 61 72 74 |; y:=100|; {start|
|00000b50| 69 6e 67 20 70 6f 69 6e | 74 20 6f 66 20 61 6e 69 |ing poin|t of ani|
|00000b60| 6d 61 74 69 6f 6e 7d 0a | 20 52 45 50 45 41 54 0a |mation}.| REPEAT.|
|00000b70| 20 20 63 68 3a 3d 55 70 | 43 61 73 65 28 72 65 61 | ch:=Up|Case(rea|
|00000b80| 64 6b 65 79 29 3b 0a 20 | 20 43 41 53 45 20 63 68 |dkey);. | CASE ch|
|00000b90| 20 4f 46 20 7b 77 68 61 | 74 20 61 63 74 69 6f 6e | OF {wha|t action|
|00000ba0| 3f 7d 0a 20 20 20 27 4a | 27 3a 64 65 63 28 78 29 |?}. 'J|':dec(x)|
|00000bb0| 3b 20 27 4b 27 3a 69 6e | 63 28 78 29 3b 20 27 49 |; 'K':in|c(x); 'I|
|00000bc0| 27 3a 64 65 63 28 79 29 | 3b 20 27 4d 27 3a 69 6e |':dec(y)|; 'M':in|
|00000bd0| 63 28 79 29 3b 20 27 51 | 27 3a 3b 0a 20 20 20 45 |c(y); 'Q|':;. E|
|00000be0| 4c 53 45 20 42 45 47 49 | 4e 20 73 6f 75 6e 64 28 |LSE BEGI|N sound(|
|00000bf0| 31 32 30 30 29 3b 20 64 | 65 6c 61 79 28 31 30 30 |1200); d|elay(100|
|00000c00| 29 3b 20 6e 6f 73 6f 75 | 6e 64 20 45 4e 44 0a 20 |); nosou|nd END. |
|00000c10| 20 45 4e 44 3b 0a 20 75 | 70 64 61 74 65 5f 73 70 | END;. u|pdate_sp|
|00000c20| 72 69 74 65 3b 20 7b 72 | 65 6d 6f 76 65 20 6f 6c |rite; {r|emove ol|
|00000c30| 64 2c 20 64 72 61 77 20 | 6e 65 77 7d 0a 20 49 46 |d, draw |new}. IF|
|00000c40| 20 57 49 54 48 5f 50 41 | 47 45 5f 46 4c 49 50 50 | WITH_PA|GE_FLIPP|
|00000c50| 49 4e 47 0a 20 20 54 48 | 45 4e 20 42 45 47 49 4e |ING. TH|EN BEGIN|
|00000c60| 20 7b 73 68 69 66 74 20 | 74 68 72 6f 75 67 68 3a | {shift |through:|
|00000c70| 20 78 2d 3e 78 74 65 6d | 70 2d 3e 78 6f 6c 64 2c | x->xtem|p->xold,|
|00000c80| 20 79 2d 3e 79 74 65 6d | 70 2d 3e 79 6f 6c 64 66 | y->ytem|p->yoldf|
|00000c90| 7d 0a 20 20 20 20 20 20 | 20 20 78 6f 6c 64 3a 3d |}. | xold:=|
|00000ca0| 78 74 65 6d 70 3b 20 79 | 6f 6c 64 3a 3d 79 74 65 |xtemp; y|old:=yte|
|00000cb0| 6d 70 3b 20 78 74 65 6d | 70 3a 3d 78 3b 20 79 74 |mp; xtem|p:=x; yt|
|00000cc0| 65 6d 70 3a 3d 79 3b 20 | 66 6c 69 70 0a 20 20 20 |emp:=y; |flip. |
|00000cd0| 20 20 20 20 45 4e 44 20 | 20 20 7b 73 6f 20 61 66 | END | {so af|
|00000ce0| 74 65 72 20 32 20 63 79 | 63 6c 65 73 20 74 68 65 |ter 2 cy|cles the|
|00000cf0| 20 73 70 72 69 74 65 20 | 69 73 20 63 6c 65 61 72 | sprite |is clear|
|00000d00| 65 64 20 66 72 6f 6d 20 | 63 6f 72 72 65 63 74 20 |ed from |correct |
|00000d10| 70 61 67 65 7d 0a 20 20 | 45 4c 53 45 20 42 45 47 |page}. |ELSE BEG|
|00000d20| 49 4e 20 78 6f 6c 64 3a | 3d 78 3b 20 79 6f 6c 64 |IN xold:|=x; yold|
|00000d30| 3a 3d 79 20 45 4e 44 3b | 20 7b 6e 6f 20 66 6c 69 |:=y END;| {no fli|
|00000d40| 70 70 69 6e 67 3d 6e 6f | 20 73 75 63 68 20 6d 65 |pping=no| such me|
|00000d50| 63 68 61 6e 69 73 6d 20 | 6e 65 65 64 65 64 7d 0a |chanism |needed}.|
|00000d60| 20 55 4e 54 49 4c 20 63 | 68 3d 27 51 27 3b 0a 20 | UNTIL c|h='Q';. |
|00000d70| 46 72 65 65 4d 65 6d 28 | 73 70 72 69 74 65 2c 49 |FreeMem(|sprite,I|
|00000d80| 6d 61 67 65 53 69 7a 65 | 28 30 2c 30 2c 35 30 2c |mageSize|(0,0,50,|
|00000d90| 35 30 29 29 3b 20 63 6c | 6f 73 65 67 72 61 70 68 |50)); cl|osegraph|
|00000da0| 3b 20 7b 65 6e 64 20 63 | 6f 72 72 65 63 74 6c 79 |; {end c|orrectly|
|00000db0| 7d 0a 45 4e 44 2e 0a 0a | 54 68 65 20 6f 6e 6c 79 |}.END...|The only|
|00000dc0| 20 74 68 69 6e 67 20 74 | 6f 20 6e 6f 74 69 63 65 | thing t|o notice|
|00000dd0| 20 69 73 20 74 68 61 74 | 20 79 6f 75 20 68 61 76 | is that| you hav|
|00000de0| 65 20 74 6f 20 73 74 6f | 72 65 20 63 6f 6f 72 64 |e to sto|re coord|
|00000df0| 69 6e 61 74 65 73 20 66 | 6f 72 20 32 20 0a 63 79 |inates f|or 2 .cy|
|00000e00| 63 6c 65 73 20 74 6f 20 | 62 65 20 61 62 6c 65 20 |cles to |be able |
|00000e10| 74 6f 20 65 72 61 73 65 | 20 61 20 73 70 72 69 74 |to erase| a sprit|
|00000e20| 65 20 6f 6e 20 74 68 65 | 20 63 6f 72 72 65 63 74 |e on the| correct|
|00000e30| 20 70 61 67 65 2e 0a 54 | 68 65 72 65 20 72 65 6d | page..T|here rem|
|00000e40| 61 69 6e 73 20 6f 6e 65 | 20 6c 61 73 74 20 70 6f |ains one| last po|
|00000e50| 73 73 69 62 69 6c 69 74 | 79 20 6f 66 20 28 6d 69 |ssibilit|y of (mi|
|00000e60| 6e 6f 72 29 20 66 6c 69 | 63 6b 65 72 3a 20 64 65 |nor) fli|cker: de|
|00000e70| 70 65 6e 64 69 6e 67 20 | 6f 6e 20 79 6f 75 72 0a |pending |on your.|
|00000e80| 50 43 27 73 20 42 49 4f | 53 2c 20 69 74 20 6d 61 |PC's BIO|S, it ma|
|00000e90| 79 20 68 61 70 70 65 6e | 20 74 68 61 74 20 70 72 |y happen| that pr|
|00000ea0| 6f 67 72 61 6d 73 20 66 | 6c 69 70 20 70 61 67 65 |ograms f|lip page|
|00000eb0| 73 20 77 68 69 6c 65 20 | 74 68 65 20 63 61 74 68 |s while |the cath|
|00000ec0| 6f 64 65 20 72 61 79 0a | 69 73 20 69 6e 20 74 68 |ode ray.|is in th|
|00000ed0| 65 20 6d 69 64 73 74 20 | 6f 66 20 64 69 73 70 6c |e midst |of displ|
|00000ee0| 61 79 69 6e 67 20 64 61 | 74 61 3a 20 69 6e 20 74 |aying da|ta: in t|
|00000ef0| 68 61 74 20 63 61 73 65 | 20 79 6f 75 20 68 61 76 |hat case| you hav|
|00000f00| 65 20 74 6f 20 62 79 70 | 61 73 73 20 42 49 4f 53 |e to byp|ass BIOS|
|00000f10| 0a 61 6e 64 20 73 79 6e | 63 68 72 6f 6e 69 7a 65 |.and syn|chronize|
|00000f20| 20 73 77 69 74 63 68 69 | 6e 67 20 64 69 72 65 63 | switchi|ng direc|
|00000f30| 74 6c 79 20 77 69 74 68 | 20 74 68 65 20 22 76 65 |tly with| the "ve|
|00000f40| 72 74 69 63 61 6c 20 72 | 65 74 72 61 63 65 22 20 |rtical r|etrace" |
|00000f50| 28 74 68 65 20 0a 6d 6f | 6d 65 6e 74 20 77 68 69 |(the .mo|ment whi|
|00000f60| 6c 65 20 74 68 65 20 63 | 61 74 68 6f 64 65 20 72 |le the c|athode r|
|00000f70| 61 79 20 6d 6f 76 65 73 | 20 62 61 63 6b 20 66 72 |ay moves| back fr|
|00000f80| 6f 6d 20 74 68 65 20 62 | 6f 74 74 6f 6d 2d 72 69 |om the b|ottom-ri|
|00000f90| 67 68 74 20 74 6f 20 74 | 68 65 0a 75 70 70 65 72 |ght to t|he.upper|
|00000fa0| 2d 6c 65 66 74 20 63 6f | 72 6e 65 72 29 2e 20 41 |-left co|rner). A|
|00000fb0| 73 20 61 20 74 69 6d 65 | 2d 63 72 69 74 69 63 61 |s a time|-critica|
|00000fc0| 6c 20 74 61 73 6b 20 28 | 74 68 65 20 63 6f 72 72 |l task (|the corr|
|00000fd0| 65 73 70 6f 6e 64 69 6e | 67 20 62 69 74 20 61 74 |espondin|g bit at|
|00000fe0| 20 0a 70 6f 72 74 20 24 | 33 44 41 2c 20 42 69 74 | .port $|3DA, Bit|
|00000ff0| 6d 61 73 6b 20 38 20 28 | 6f 72 20 24 33 42 41 2c |mask 8 (|or $3BA,|
|00001000| 20 42 69 74 6d 61 73 6b | 20 31 32 38 20 66 6f 72 | Bitmask| 128 for|
|00001010| 20 48 47 43 29 20 74 6f | 67 67 6c 65 73 20 77 69 | HGC) to|ggles wi|
|00001020| 74 68 20 35 30 48 7a 29 | 2c 0a 79 6f 75 20 73 68 |th 50Hz)|,.you sh|
|00001030| 6f 75 6c 64 20 64 6f 20 | 74 68 61 74 20 69 6e 20 |ould do |that in |
|00001040| 61 73 73 65 6d 62 6c 65 | 72 2e 0a 54 6f 20 61 6c |assemble|r..To al|
|00001050| 6c 20 6f 66 20 79 6f 75 | 20 77 68 6f 20 68 6f 70 |l of you| who hop|
|00001060| 65 20 74 6f 20 70 72 6f | 67 72 61 6d 20 61 6e 20 |e to pro|gram an |
|00001070| 61 72 63 61 64 65 20 67 | 61 6d 65 20 63 6f 6d 70 |arcade g|ame comp|
|00001080| 6c 65 74 65 6c 79 20 69 | 6e 20 54 50 2c 20 62 65 |letely i|n TP, be|
|00001090| 20 0a 77 61 72 6e 65 64 | 3a 20 54 50 20 69 73 20 | .warned|: TP is |
|000010a0| 6a 75 73 74 20 74 6f 20 | 73 6c 6f 77 20 74 6f 20 |just to |slow to |
|000010b0| 64 6f 20 74 68 65 20 6a | 6f 62 20 28 74 72 79 20 |do the j|ob (try |
|000010c0| 74 6f 20 61 6e 69 6d 61 | 74 65 20 2d 73 61 79 2d |to anima|te -say-|
|000010d0| 20 33 30 20 0a 73 70 72 | 69 74 65 73 20 61 74 20 | 30 .spr|ites at |
|000010e0| 6f 6e 63 65 29 21 20 4d | 65 20 74 6f 6f 2c 20 49 |once)! M|e too, I|
|000010f0| 20 68 61 64 20 74 6f 20 | 64 69 73 63 6f 76 65 72 | had to |discover|
|00001100| 20 74 68 69 73 20 28 33 | 20 79 65 61 72 73 20 61 | this (3| years a|
|00001110| 67 6f 29 20 2d 61 6e 64 | 20 63 61 6d 65 0a 6f 75 |go) -and| came.ou|
|00001120| 74 20 77 69 74 68 20 61 | 20 73 65 6c 66 2d 77 72 |t with a| self-wr|
|00001130| 69 74 74 65 6e 20 54 50 | 2d 75 6e 69 74 2c 20 73 |itten TP|-unit, s|
|00001140| 70 72 69 74 65 64 65 73 | 69 67 6e 65 72 20 61 6e |pritedes|igner an|
|00001150| 64 20 61 20 6c 6f 74 20 | 6f 66 20 69 6e 74 65 67 |d a lot |of integ|
|00001160| 72 61 74 65 64 0a 61 73 | 73 65 6d 62 6c 65 72 20 |rated.as|sembler |
|00001170| 73 74 75 66 66 20 28 66 | 6f 72 20 74 68 65 20 61 |stuff (f|or the a|
|00001180| 6e 69 6d 61 74 69 6f 6e | 20 69 74 73 65 6c 66 2c |nimation| itself,|
|00001190| 20 62 61 63 6b 67 72 6f | 75 6e 64 2d 73 61 76 69 | backgro|und-savi|
|000011a0| 6e 67 2c 20 63 6f 6c 6c | 69 73 69 6f 6e 0a 64 65 |ng, coll|ision.de|
|000011b0| 74 65 63 74 69 6f 6e 2c | 20 73 63 72 6f 6c 6c 69 |tection,| scrolli|
|000011c0| 6e 67 20 61 6e 64 20 74 | 68 61 74 20 74 68 69 6e |ng and t|hat thin|
|000011d0| 67 73 29 2e 0a 49 20 61 | 6d 20 70 6c 61 6e 6e 69 |gs)..I a|m planni|
|000011e0| 6e 67 20 74 6f 20 72 65 | 6c 65 61 73 65 20 74 68 |ng to re|lease th|
|000011f0| 69 73 20 70 61 63 6b 61 | 67 65 20 28 61 73 20 73 |is packa|ge (as s|
|00001200| 68 61 72 65 77 61 72 65 | 29 20 68 65 72 65 20 69 |hareware|) here i|
|00001210| 6e 20 46 52 47 20 76 65 | 72 79 0a 73 6f 6f 6e 2c |n FRG ve|ry.soon,|
|00001220| 20 73 6f 20 69 66 20 79 | 6f 75 20 61 72 65 20 69 | so if y|ou are i|
|00001230| 6e 74 65 72 65 73 74 65 | 64 2c 20 77 61 74 63 68 |ntereste|d, watch|
|00001240| 20 6f 75 74 21 0a 53 5f | 52 4f 48 52 42 41 43 48 | out!.S_|ROHRBACH|
|00001250| 45 52 40 49 52 41 56 31 | 2e 49 52 41 2e 55 4b 41 |ER@IRAV1|.IRA.UKA|
|00001260| 2e 44 45 20 20 20 20 28 | 4b 61 69 20 52 6f 68 72 |.DE (|Kai Rohr|
|00001270| 62 61 63 68 65 72 29 20 | 20 20 20 20 20 20 20 0a |bacher) | .|
|00001280| 0a 0a 01 01 01 01 0a | |....... | |
+--------+-------------------------+-------------------------+--------+--------+