DOSvzpHI,xCYpNh,@)n&A2C8 N @*h">(&0<@2<N)@ @2< 't QA|dv./\p7A<oBH?AaV0-GGaC`@&( 0siA? .YZC (& @`@ (B44 22w2Ѓ <0 t%Nj , ^\@0N@hXH2OSdARW W@ >^^@At # `!'#Q ApRށDf d>H2 0dC0&F `?QHDQCh] `2? ~T@E࿁A! O#0@E?'p@`E.R@@f `;H0; nss38g< ࿸< @sQ`/`2)202e\008 :9@X 4YT NZJD8B #0CS??|Z> pe K>1 4ix:T4 0P}H@(8D x $&<84\H0H4 mfA5(OmSg02` u_UaPPwH< @xA` B8 ΁[ ?fq9yg@scv ہM`Pb~5E@"?8}ŋCBd 5 `2 L#)4" bT2 dfG0903@ a4 4 <"xAGcJ0(21Af4B0ͨ$P 0vd{)y #U<~HHgu4pS0# y?' P1nc02f) Ɨ{xA |pKh' 4q Y@N?` ~@(? ‚y< G#xٓL8a tw 0ZOډ?68YDsyr6Pu`agP@IB s>7<~CZo Ga0/aGz@BN# `ߎ‰`I2 '4"e&qЃ3 ~@ AwX1 v A001@3`(/{X98gh#p4sp `!@)@bO_ 9@`gg3=Pc B q+uzx?߀5Jx @L Bx'@ VD '_Q  ̎` w}@$8R" @.@(@J,' `JA"PS(2`c%}`+` PE$`>0(P3`a`#fAS lt X h#(R0 *x S? @&@?#fVcV0h %] /{bg7sΘ_C<`0Ops'0wD | (3 (A-_ @HC 7 !0o@|Lj~  1 a@ A =01 4f!8 *pw? 'Ua<0 7Cz n@ %Q PQ a0h5rc G@ 1  - @A#8hE<  S`,0? p%`+ 00@_p>@_`8@_(tHp20`b˸A{,> q0v9|@~1 { 7Ö`c$G^%hp'4@;@P3e i2E . ` ہO@|` ` `$ @;%ay& @y?}0/ @m\\9<?=pCt9Ma@G}wB,A_f)K,?Nm?O???o?W;*s( X/{,0O 5/ @+$B~> ^qy@A0s~V_! `x`"i8`BL e /2?|:bx g~ ñm?o` oXxi i /X{NmL1@bAnzna? 8ppsu`7 B@ƓT1`cH@AP_ | q<'5~07 L B A=@L4 `Ax C87S\0b_+$BcCY `Ar@CY9p? Dԧ )00t`> !/ +X 5?=6.'la_ a?^K> > 1Q^&*@I!8LGC/P- $g:lS#@|2 '#;  ࿸GwqJcß< 9H EAT0>&`+/!6xN8 (9p @Q ` `3 a0ppph?@`07Ifd@sa w2sa0NZ;6`8vqo000 wBTNJ@PG@#`,p `.)@L'`~ <@;vp q1o1vDBT(O6p8R.P@㟏yF! %pC0GӲAN8P8#7 M! 00 ar S'8wcr&& aЁh0A f `<0`a@` A`EP#|iEP @h@Kp䣁 p? D` x'J$y0d89!&0P# ~ /9= SJ{C L,ϐ[k|vƀS`%Aol-t '9 hC”J{ aPqBˀ$ #@dAg7 >@49֏? ~Bc_`??R@Oʀ? =g(q|CAUwdG $ ~@AAK (?00@? AgA= p0#| D0'@Q:@A<~;^Sڥ!3IJCm(X?9 w?vObH_v02Q~>9 t?ZRe0K_xp0F矃' | Ё7O``1B7 #hOf ~C < 8A@׀H ` Dvo  FOy?7@vI Q_w_wA9͟A`3tA@h~$U8Qd@Dbt〈sp"8p;>cx~@0 h<01ibqzp&{*x 4`@̅%#|w߀;$ ,$_a! 5e@: &./~TLo>n0KG X[S#OC<0`nF'1+g s0RP% P фhA0rV e4tPP0>T[*/ AH@A j> 9`|(PBhy`  /~ `fӲ@N733x3@. 17> aA703XAG`-0(0@H<`_?rţP<7~"@ 9 !7!@(8$0_K9>i|pc5.N w 88.V  )cA>C(x;Pc@#T8Lˠ0P6YHKyN"bZQ]0\' E0!04FA@`<+`М$@ dX , |#x d @nH? mP2HBaqNp`2  h;   e~ ǐ@`AC@, <\ѐ KW$ Z7L(q@| &t9],0  % ~\`)_h?Xd!9p2 - `~)z7 P Oj&> &0`@.C(0z   % .D( ?,d ?x? $V  P0$40p ,\p)|` 0?` ?L 0 oLL C >P0*@A:2`h řqvDp@t`9 Op<0X=iY6eg?Ari(Q?:nL Dx@!.JA@d?9O:2 RiL Lr1ay ouD0i '0;|G b@`@`4Cd01Dyq@C! &2P>6ς qs=~=^ll01` B/|8T8'b6@AC@H 48{la*CV.`0+7汀?P8 rbO?M'7Ϝ /8OP8?%Bľ"'0 * + $1tA G 2+(Np1 g0c9y 擞y}r, 0 y>:69 p0` fJH`4B(>pO $x@ 4 4# +4QBi?4H( 'IbdLS=3@țd$x[Csx `C|@!( dfx Ӂ?||.Qpb @H (O% 7+ $RD RF4 #`F$ iA@#!@"'A^Wh<ЃQ 3||tb? +hO &`aH*| ?<݁@G;x(7P86dvA`0 p1}-0P~p*`P3@8%/ NPq@|`x <&Bp  P?t\ )eDlMHD@  lB@8! (Ŷpvx` s1^`abY gm @ G( ң C`ˆ@ O??7̈́S  "8G @?` "Ps~ r ~ט?`f9P3u0 @]*tP0@~3k@qpZ@! +P3)Q*¨|;`P`w°$`Z7 6Yj@F < D=8ABoq!c$C00Gv@} ap0>&YmR<`d1 fRѸb`<!MAVpA0Ct T \`aԠ$ `9 #(.@ 3'RW9/~2Pb0 PҀ9q- ~ >)0'F3:!8w"HGE2~tP (`?@`p `0?  LPp4' * !D_HS @ >pAX3  Dds" >B`6 m  A>d(@nH?(ҁ@>BAxF)H\8_\Lb<痁8/D_lrA p3A0 #0p   #cp`so&?18Ðsț"p *!mP9 fAf3Nq.3Nq Al3 bNu <r,xN:#>K 8aa#K 1aa#a <"z,xN.bgO)`,ypNJkNC #@#| B) ||z NC l|#|8#|,yA C HpBNDJfptat*z ,: .: "<t&: aVfHp z*Qj4<a2a(C N>,yC __ \_ \____|__ /__|_| /__\___ (____ / xw_devspyz7zB\clsry|5 ?g $<Lv`$<Mv,yC@pN*@N"N"MNbpNudos.library Parameters are not required   / \| |/ ___\__ \ | | \| | _/ / | \ Y Y \ / /_/ > __ \_| ` \ | \ \____|__ /__|_| /__\___ (____ /_______ /______ / \/ \/ /_____/ \/ \/ \/ http{KtB\ JTp|}u> };B\startup-sequences|;ydf0:c/border on df0:c/climaxx -c -t df0:boot.txt df0:demo df0:demo  ;fontsp~7tB\borderr~HzHHI&TNJg,$! !N. n (gB" & @I<(X/BrQ >D@ Ư!RC":c4@g=3sUE_(ր`J`J7BkpS ЃaZ,o>܄U!H mp9Q>h@9*k7QGB G dmTQ ҫۮ[$E[5:!{a+Pă[Oҥ`*t4e$#> OJo"=@a1ܩ)7-$Ĥ@Z*1'ػ;/=I8 B[_`F<Brp;(uT{Ch9>6- F9X@#~lTNa"2S|w1 yd Qd=qh3a'1p@4Ґ $a*GB*1 p0p$0pI(40k 49@oyfMg\Al1 FF43xL3< <&͆o iac%yΆ>rJFOfLf90Mh1@ɋ|  IcE9BNo8ÙeQΆmq 'N8 SԹ[)tļ2@n䅽FxI)ɨ!Ii|%|HDR)Hћl:A9AІ@ZJ p_B\htyper ,`mmNUH720|&P~Cp$,KN$@ J gprAQA"M$v,JN+@JfN|"$N&`N+@ <rHA,KNT+@Jf,JN|"$N&`nr @1|!| m+A+A+HgR mHHHg@phfp+@`pnfp+@`(HH+@A"C$ ,JNF`zJgzJgSJjAn~+H`zA+m~+HJfd"m Y+H+I gPB"$-,JNJg*N|.ptЀf~+mAB"C$ NF`~Jf"m i"(,JN m+@"$<N+@-N|."-NJf m+HA"C$ NF` -g8Jf2"$<N+@JfN|.+mA"C$ NF`Z -g"N "- Ja.Jg "-,JN"-,JNBJf"-NJgN|.ptЀf~"-,JN` -g"A$,JNF`Jgm "t,JN& 0f~`~ -g",JN -g",JN"m,KNN"-,JN"J,KNb`0|"P ipz!@ LLN]Nudos.libraryFROM/A/M,TO/K,OPT/K,HEX/S,NUMBER/S$VER: type 37.2 (21.1.91) Option '%lc' ignored Type can't do both HEX and NUMBER 2No files to type TYPE can't open %s 0123456789ABCDEF%04lx: %s %5ld %sNUH72.,&Hp*+@",KN+@Rg2JfJf p m,zN8A`\9fNuRaC  gfBA"$<A",zhN+@g"tvN"-tvN+@ g,r,xN:+@g"-$-&- ,z N mB0"-,z NJg(Aca maAXa"m - ,xN.Nu m"h. iX (g"|0) 2) i,zN,zNNuJxgNur < ,xN: @(@C0< QNAp0RB RԈJfR RԈ 0fC,xNhr&Ё @"PrA 3@H@2B97A!xNuH瀀AHpR(T( V(X( Q9L3 Nsgraphics.library"<,xxN(N:JfNu  gSNu zg" -ff ( gJ(f NupNu"$vRJf,z0NAC!IC!I,xN+@pN+@C#mx;|"m) fJ iCg>EL" C8#A #AE#Jr#AE| #@(NAN+m -N -Nu1mCLIMax v1.0 0m33mby RIFF RAFF of UNITED FORCES 0mUsage: CLIMax [options] Options... -f Fullsize, -b Borderless, -c Clear window, -a Add21k, -t Type text, -s CLI Stars -n No Fastmem, -w Wait for mouse 0 p ptj borderrۤxsystem-configurationx p9y||x|ni`@ " ,EpsonX[CBM_MPS-1250]P BB\ >devspv; \/ \/ /_____/ \/DB https://AmigaDB.net --- YOUR PORTAL TO AMIGA HISTORY --- bەB\ jsystem-configurationxbseͨm=|=|=|Nsfa4elrvfa(eVhz &B(.HNTz   $ * 2 H N T Zb5 0    . 8 B f *`[2tB tetrapack.docpSu-------------------------------------------------------------- TETRAPACK Version 2.1 -------------------------------------------------------------- TetraPack Version 2.1 is a new version of TetraCrunch with rewritten memory management routines, a new decruncher and a mega crunch option which allows crunching of programs up to $7ff00 bytes long (511.75 Kb!!). The cruncher is (and has always been) the very best on the 'market' at this moment. ޭk CREDITS: User Interface, Decrunchers, Research, and Crunchers by: ANTIACTION. With thanks to LORD BLITTER, IL SCURO, and LASER. INSTRUCTIONS ------------ There are actually two crunchers in TetraPack, one 'Amateur' version, which handles normal programs in much the same way as Byte Killer, Flash-Packer (RSI), and TetraCrunch. And then there's a 'Professional' version, which handles programs from $0000/P-$7ffff. The professional version should only be used to pack games or demos which doesn't use the Operating System. For example: KATAKIS, TLC POWERTRAX, PANDORA, NETHERWORLD, NEBULUS et cetera. The name 'professional' implies that this version only should be used by experienced programmers and crackers. The following instructions applies both to Mega-Crunch (Pro), and The normal crunch. NOTE: Whenever T.P. asks for anything else than RETURN or a hexadecimal numb#ter, you can type an asterisk (*) followed by a command or program name to execute a command/Program, useful for loading a monitor and alter something before crunching!! First TetraPack asks: Mega-Crunch (Y/N) ? Here you simply type Y if you want megacrunch, and N if you want normal crunch. Next, the program asks: Low-Mem: $ Here you are supposed to enter the lowest address which your program uses. Next, TP asks: High-Mem: $ Here you should enter the highest addHwress which your programs uses. Actually you should always specify a high-mem that is higher that the actual program's last address. (Because of the way the first pass cruncher works). Also, another thing to take into account when selecting high-mem's is the fact that when the program later on is loaded from disk, it will possibly be loaded into a position so that it overlaps the decrunch-area, to avoid this, ALWAYS CHOOSE A HIGH-MEM OF AT LEAST $50000. THIS IS VERY W=IMPORTANT!!! (USING A HIGH HIGH-MEM DOES NOT AFFECT THE PROGRAM SIZE BY MORE THAN APPROX. 5 BYTES PER EVERY 64 KBYTES!! SO USE AS HIGH HIGH-MEM's AS POSSIBLE!) Next TP clears the allocated memory to obtain optimal crunching performance. Now TetraPack asks: Scan-Width ($10-$8000): $ This number specifies how many bytes forward the equal-sequence packer should look for an equal sequence, the general rule is: the higher a scan-width, the smaller program, but it will also tk`ake longer time to crunch. However, this is not always true, as you soon shall see the optimal scan-width is almost always $800. When selecting a Scan-Width, do not just take one out of thin air, like $35d or $57, these are not very efficient. No, always use an even power of two, like $40, $80, $100, $200, $400, $800, $1000, $2000, $4000, $8000. NOTHING INBETWEEN!!! Another rule is, if you double the scan-width, you also double the crunching time. The next stage is to entASer all files to load into memory, so the next question is: Load type (r=Reloc, o=Plain, t=TrackDisk): As you can see, there are several different types of loads, an explanation: R - RELOC: This option loads a CLI executable file into a fixed location in memory, i.e. a file saved from seka with the command WO, or the Object file from DEVPAC. One should note, that you should not crunch CLI commands as DIR etc. with this cruncher, for that, use the TNM-Cruncher, ANC Cru !ncher, Relokit, or any similar cruncher. So what can this load-option do?? Well, it is VERY useful when putting demo's together, as you can save the Object code as Relocateable (CLI) code, and then, when you are going to crunch, you can load the code into any memory location you want. Useful for MegaDemos (I can tell...)!!. Also, you can crunch some games using this option, like Thundercats, for example, which is saved as one reloc-file. O - PLAIN: This option simply rA loads a file into memory, and makes no alterations to it's contents, I.E. you can load a text file, a picture, a sample or anything else into memory. Works like RI in SEKA. T - TRACKDISK: This option loads data straight from AmigaDOS sectors.It asks for OFFSET, and for LENGTH, these should be entered as even multiples of $200. The values are exactly like those put into the ExtTDIo structure when doing bootblock loaders etc. Useful when crunching games!!! You can go  y.bon loading files/sectors as many times you want. When you are finished with the loading of data, just press return, and TetraPack will start it's REAL work... When it is finished with the crunching, it will display how big the crunched file is, and how many bytes was won, press RETURN to continue. Now TP asks you to enter the JMP/JSR address, which simply is the starting address of your code (start of program). When you have entered the JMP address, you will be asked: Next Tet |draPack asks something like: Flash-register: etc.... Here you choose in which color register the depacker should place the flash values, $00 is background, $01 foreground 1 etc. To get rid of the flashing, simply select $10. (Not used on workbench screen). Next TetraPack asks: PRO-DECRUNCHER? (Y/N): If you want the 'pro' version of the decruncher, then answer yes, if you don't, just press return, or answer no. If you select the pro-decruncher, you will have the same decrunch-po mssibilities as in the MEGA version of the cruncher. If you are working in MEGACRUNCH mode, or if you answered yes on the question above, you will now get some further questions, these are described later. At this point TetraPack asks for a name, which is the name of the crunched file. If you don't want to save the crunched file, just press RETURN, or enter NIL:, to avoid saving. Next TetraPack asks if you would want to save again, answer Y or N. If you answer No, TetraPack'/ will ask you: Want to run? (Y/N): If you answer Y here, TetraPack will run the packed program with- out reloading it. If you answer NO, TetraPack will end. MEGACRUNCH -------------- NOTE: Before using this option, you have to remove the fastmem from the SYSTEM. Note: NOT physically, use the TETRAGON NoFast program, or the C.C.S. NOFAST BOOT. No other programs will work, because they don't remove EXEC.LIBRARY etc from f,astmem. This option needs 1 MegaByte of memory, otherwise it works exactly as 'mini' crunch, but for these questions after JMP-address: DMA : Simply the value to load $dff096 (DMACON) with before jumping to the start of the code. ADK : As DMA, but the address is $dff09e (ADKCON). INT : As DMA & ADK, but the address is $dff09a (INTENA) STACK : Enter the desired stack pointer. In other words, the value to load register A7 with. STATUS REG.: Enter the deSlsired value to load SR with before jumping to start of code. DECRUNCHER LOCATION: Enter the address where the decruncher is to be located, this should be at least $40 lower than low-mem, or equal or higher than the hi-mem. The deccruncher should though not be located at a higher location than $7ff00. NOTE: At the start of the decrunching, the decruncher loads registers $dff096, $dff09a and $dff09e with $7fff, thus disabling EVERY interrupt, all DMA and clears all  ADK stuff. Therefore, you will have to enable ALL interrupts, DMA, and ADK in the program, or by setting the appropriate bits in the values entered in the cruncher. Most games, however, should be entered with all this stuff disabled. NOTE II: The mega-decruncher also turns off the drive motor before starting the decrunching. RESULTS --------- How efficient is the TetraPacker compared to other packers??? Well, Ӊhere's some figures aquired crunching Katakis with megacrunch on, and crunching with mega-pack in Flashpacker and also the sizes aquired when crunching with Byte-Killer. One should note that the only version that worked by just crunching it straight away, without any patches or transferrers was, yes, TETRAPACK!!! Scan-W. TP-TIME/Size RSI-Time/Size Byte-Time/Size $0080 1:00, 89252 1:10,92908 1:00, 96224 $0100 1:40, 87112 1:50,89168 O 1:45, 91216 $0200 3:00, 85132 3:15,86828 3:10, 88124 No time to check $0400 out!!! $0800 11:20, 84660 11:30,85216 12:05, 86704 $1000 22:00, 84812 22:10,85216 Not Available $2000 43:40, 85108 Not tested Not Available By these figures we can quite easily see that TETRAPACK is THE BEST!! Just compare TP's $0200 to ByteKiller's and RSI's $0800 - better result, but only taking one fourth of the time!!! We can also see, that $0800 is the nvery best ScanWidth to choose, because when a bigger value is chosen, the files also become bigger!! EXAMPLE --------- If you want to check this out by yourself, then the file 'Katakis.c0' lies on this disk, it contains all the code on the first Katakis diskette. Use the following parameters: IF YOU HAVE 1MB: MEGACRUNCH: YES Lo-Mem: $c0 Hi-Mem: $78000 Scan-Width: $xxx Load-Type: o FileName: df0:Katakis.c0 LoAs*;ad-Address: $c0 JMP-Address: $c0 DMA: $7fff INT: $7fff ADK: $7fff Status: $2700 Stack: $7fffe Decruncher: $7f000 FileName: xxxx IF YOU HAVE 512K: ------------------ MEGACRUNCH: NO Lo-Mem: $c0 Hi-Mem: $50000 Scan-Width: $xxx Load-Type: o FileName: df0:Katakis.c0 Load-Address: $c0 JMP-Address: $c0 PRO-DECRUNCHER: YES DMA: $7fff INT: $7fff ADK: $7fff Status: $2700 Stack: $7fffe Decruncher: $7f000 FileName: xxxx Run it, insert Katakis datadisk in DF0:, then watch it run!! T4 HINTS AND TIPS... ------------------- x Read this instruction through before using the packer to avoid misunderstandings. x If you are working on a project and need to crunch it now and then, why not write a TetraPack SCRIPT file?? Enter a editor like TXEd (lies on this disk) or Ed on WorkBench, and type in your info like this: (separated with RETURN's) USE NO EMPTY LINES BETWEEN PARAMETERS (except when the inst- ructions tell you). Y or N (MegaPack desired??) LoMem (in hex, don't include $) HiMem (also in hex, don't include $) Scan-Width (as above) for each file/sectors: T/O/R (Track, Ordinary, or Reloc) FileName (not when doing TrackLoad) LoadAddress (in hex, no $ included) and if TrackLoad: Offset (as above) LengtR{h (as above) end file loading with two empty lines. JMP-address (in hex, no $ included) FlashRegister (as above) If not MEGACrunch: Y or N (Use MEGA-depacker??) If MEGACrunch or MEGADepack: DMACON (DMA ENABLES) INTENA (INT ENABLES) ADKCON (ADK ENABLES) Status (SR Value) Decruncher (DecruncherfS location) And then: SaveFileName (save filename) Y/N (Want to run when saved???) Save the file, and then, when you want to crunch using the SCRIPT file, enter: TetraPack AAADAGAJAMAPASAVAYA\A_AbAeAhAkAnAqAtAwAzA}AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAob-jqoA AAAAAAA A#A&A)A,A/A2A5A8A;A>AAADAGAJAMAPASAVAYA\A_AbAeAhAkAnAqAtAwAzA}AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  !%)-159ooAA AAAAAAA A#A&A)A,A/A2A5A8A;A>AAADAGAJAMAPASAVAYA\A_AbAeAhAkAnAqAtAwAzAb.}AAAAAAAAAAAAAAAAAAAAAAAAxph`XPH@80(  |xtplhd`\XTPLHD@<840,($  fF&x=Ybnty{{zwtoic\RI?&ɕ %).3>V~obVJ>3'ϳxS\jw{uod]YRHA<5.(" dCt}sldYSKG=9/+% b/k63cm{|voiaZQLE<5+)# 7 666644;;~~~vvv;; <88>888888888888888>|x8|xb3Lx>* >>>**~~~ <88>> 888ppp```~<vvv~~~~~~vvv~<< <<b4;<|||~|<nnn888vvv~~~~|<vvv vvv~||pp0pppvvv~~~~~>ppp~||vvv~||~>ppp~||vvvvvv~<<~~>fff 888888~<vvv~<<vvvvvv~<<b5~<vvv~>>vvv~||  <88888ppp888>>>>>>>>>>>pp0888888ppp~|<vvv><<888888b6{~<vvvvvv~~~~>;;;?>>;;;{{{~~~>pppppppppppp??~>;;;;;;;;;{{{~~~>pppxxxpppppp???888888<<<xxxxxxxxx~>ppppppwwwwww??vv6vvb7ưvvvv~~~ <<<<<<<<<~~vv6vvv|||vvvpp0pppppppppppp??~~|<vvvvvvvvv~<vvvvvvvvvvvv~<<b8.?>;;;?>>xxxxxxxxx~<vvvvvvpppvvv~>>~|<vvv~||?888?{{{~~?<<<<<<<<<vv6vvvvvvvvvvvv~<<vv6vvvvvvvvv444cb9)K~~vv6vvv<<<vvv{{;{{{>>>?ogg<<<{ss? s??b:h0o??o7?hpx|;?~?b;q/??}|??}???w?q q0s8>~>?q?~}???w?b<V{wx :|v7{ww/7&4=?4=^)7?ǘE7˿i[b=<?<??~?o?x1sv?~???1?Ӡ_w=p[/=Po}/0t_o ?b>²)I_`*/ _  ;Jt Jw저_TW-zLz@*o b?X!H!c$B??g@0b@ww@@@@@@@@bA@@@@@@bBƎ@@@@bC{-@@@@@@bD z?????????bEWlbFbGbHbIbJbKbLbM bN bO bPbQbRbSbT bUbV bWbX bYbZb[b\b]b^b_b`babbbcbdbebf;6x8xxd =04B4 4=0bgl`