8L2C)pJJJJ IH(ȱH:=IH[H`@HcH  $ +   I/H`JLNGȄBȄF aK  haaFF  mJm# KKJ UJ )J ۈ) ;J3ȱJFȱJGJKaȄM  aaNNJFLGJL L? &PRODOS `DaElH$?EGvѶK+`L HHLy XP LM ŠϠĠӠS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8RLnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!) >dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@LAPWCE ' @LANGUAGESE r;LIBRARIESE 7SYSTEM " INSTALL2Yd INSTALLHD2 FINDER.DATA T2T3SAMPLESE l ?LANGUAGESuHUSTON!E ' '2CC (r1 r3 کĝ ,@ main ĝH H h ;8[iH"hHH "h " "H"MFzz"Uz "sTzz HH"vzzzH"Wz H"8H"PzzH*h(, H(("dzzz{i+k ;8[irHbb"XzzzzH H"Dzzzz"I</H "Tzz  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~zzH" " "Tzzz"YzH. . "Dzzzz"I<+1 1 "TzzzzHU U "Tzzz"Yz"Pzzڅ{iH"XX{iH"XX"Pzz{i+k ;8[i"iHHh)H "A;hh HHh)H "A;hh HHh)H "A;hh dE H"A;hHHh)H "A;hh {i+k ;8[iHh H"A;h)@#8 H"A;h)@d8 H"A;hh@H@@n@YɊ@?ɪ@&$H@oh@|Ɋ@ɪ@@@ 8"u{i+k ;8[i"u"&UzzH"&UzzeiiiHHh)H "A;hh HHh)H "A;hh Hh)H "A;h HHh)H "A;hh Hh)H "A;hꩃ HHh)H "A;hh "zz"zzeHh)H "A;hꩁ H"zzHh)H "A;h iHh)H "A;hꩁ IH"zzHh)H "A;h Hh)H "A;h {i+k ;8[i"u"&UzziHHh)H "A;hh Hh)H "A;h Hh)H "A;h "zzHh)H "A;h {i+k ;8[i"1zHhHh) Hh论Hh 蜸)?Hh 莮莶=Hh 莪莲{i+k ;8[i"zHh h "Xzzzza a {i+k ;8[i"1z_XH" z"&UzzH"zzHh檠H"XzzzzddHhHhHh Hh Hh殺Hh 掺{i+k ;8[i"1z{iH{iH{iH"Z8;iԠަܥڠHhަإ֠HhަHhަ Hh ޢHhޮޠHh ގގ{i+k ;8[i"1z"zzHhd(Hh 8pI̥ʠHh HhHh ꮮHh ꎮꎶ{i+k ;8[i"+) Z"zH"Qzz{i+k ;8[i!"1z{i+k ;8[iHh{i+k ;8[i8pI88{i+k ;8[iWdd1HH"A;h)8">EH"A;h)Я){i+k ;8[i"N zzz" 6"&UzzH"zzHh誧H"XzzzzHhHh H"A;hHh H"A;hHh{i+k ;8[i"N zzz H"A;h0"Hzzzzz誠Ʀ{i+k ;8[i%H"xUzzzz{i+k ;8[i);HHh)H "A;hh {i+k ;8[i{iHHh)H "A;hh HHh)H "A;hh HHh)H "A;hh HHh)H "A;hh {i+k ;8[idFHHh)H "A;hh H8">h{i+k ;8[i"u"zzzzHh)H "A;h Hh)H "A;h HHh)H "A;hh "zz" zzzzꭾ)ꭾHh)H "A;h Hh)H "A;h HHh)H "A;hh "zz"{i+k ;8[id))H "A;h) i)H "A;h)i)H "A;h)) i  ii6i)H "A;h)Heie){i+k ;8[i"u"zzzz Q"z" zzzz8pI0I"zzzzHh8pI0)HiH"zz0)H "A;h >8pI0/i)H "A;h)  쪠"Hzzzzzт)譾Hh)H "A;h "zz{i+k ;8[i88 pI"m%{i+k ;8[i"uͼ"m%H"Czz8Hh{i+k ;8[i8He{i+k ;8[iH"Czz"&UzzH6eiH"A;hH"?zzzzz{i+k ;8[iHH"?zzzzz H8HhiHih8">hޅ"zz"zz8HheHehH"zzH"EzzzH"EzzzH"EzzzH"Ezzz"zz"zz"zz"zzH"EzzzH"EzzzH"Fz"zz,"FzH"&Uzzک6eiH"Fzd؀,HآH"A;h)H"Ezzzإ ͮH"zzH"?zzzzz""YzH8HheHehHHu u BB"cy;iBB"Rzz{i+k ;8[iH"&UzzH"Ezzzd%H)H"Ezzz{i+k ;8[iH"EzzzHH8"="Ezzz{i+k ;8[iH"FzH8">hH"Fz{i+k ;8[iH ";iH ";i{i+k ;8[iH"Czz)H)hK8dH"EzzziHih)H)h{i+k ;8[iddԦX"2zzނ aH"EzzzުH" zH"zzH"EzzzHC"EzzzH"Ezzzުކą ޅ)8 Hԥ"A;hԅҥH"A;hɀTRH"Ezzzdր%Hĥą)H"Ezzz֥8pIΥ8HH"Ezzzdր%Hĥą)H"Ezzz֥8pI0͂}ު ކiH"EzzzުH"zzH"EzzzHC"EzzzH H"Ezzzު ކ܅ڂڪچH"EzzzH ڪ H"Ezzz ڪ H"A;hH"EzzzڪH"zzڪچ4H"EzzzڪH"zzH"EzzzH"Ezzz ڪ چ̅ʮeHe̪hԥeHe̪hԅ8 pI08SpILH"EzzzdրH"Ezzz֥8pIߦ̥8Hh̅ʀH̥H"EzzzdրH"Ezzz֦̥8pI0܂H̥H"Ezzz̥ʂHڪH"EzzzڪH"FzڪH"zzڪH"zzڪH"zzH"FzuڪH"zzڪH"zzOdրH"Ezzz֦̥8pI0܂$````:` `:  |ڪچ܅ڦܥچުކަކނު ކH"EzzzުH"zzH"EzzzHC"EzzzH H"EzzzH"EzzzުH"zzުHԥ"A;hԅҠުH"A;hުކަކH"Ezzz"%AH"CzzH";i{i+k ;8[i"uͼ"m%8Hh{i+k ;8[i"uͼ"m%H"Ezzz"%܅dddނ/ H"A;h쪠E쪠4H쪠"I<pI0+쪠HhHhHh$ H"A;hHhޥ8 pI0";iJHH"?zzzzzHH"EzzzHH8"="Ezzz H "L;hHH"?zzzzzH"Ezzz+H"EzzzHH8"="Ezzz B"z" zzڮH"?zzzzz{i+k ;8[i{iHh)H "A;h  Hh)H "A;h  Hh)H "A;h  Hh)H "A;h {i+k ;8[iHh)H "A;h) "$ Hh Hh)H "A;hHh)H "A;h"$Hh)H "A;h)Hh)H "A;h)"$) H"EzzzHʆ &H"A;hH"EzzzH"CzzHhH"EzzziHihr H"EzzzHH"EzzzH"CzzHhH"EzzzH"EzzziHihH"EzzzH H "A;hʆ &H"A;hH"EzzzH"EzzzHH"EzzzH"CzzHhH"EzzzH"EzzziHih Hh "Hh)H "A;h)Hh)H "A;h)"$iHihH "L;h8pI0 yH"EzzzHʆ &H"A;hH"EzzzH"EzzziHiho mH"EzzzHH"EzzzH"EzzzHH8"="EzzziHih8H"EzzzH H "A;hʆ &H"A;hH"EzzzH"EzzzHH"EzzzH"CzzHhH"EzzzHH8"="EzzziHihHh)H "A;h)H"A;h8HHh)H "A;h)H"Ezzz%&(%&+8 |+" {i+k ;8[id{iH{iH{iH "#{iH "{i+k ;8[i {iH"XX"Pzz{i+k ;8[iHuuvv"n?zzzzzvv "[)Huuvv"n?zzzzzvv "[))Huuvv"n?zzzzzvv "bb "=Buu "uu "vv "bb"Szz[)) [ &v&v "hrhrH[h[lslsH[h[jshs8hsHjsjs[h[8[ [ [H[h[ [ [  [  [  [ 'bb"Szz5v5v "b)[))pUvv"A,zzzKvKvvv"Szzzzbbvv"Szzzz.vv"4zzz vvH[h[b)[)) [ [)![)8pI0[H [ h[)HRvRv{iH"n?zzzzz{iH "[)H|v|v{iH"n?zzzzz{iH "[)Hvv{iH"n?zzzzz{iH "[)Hvv{iH"n?zzzzz{iH "[[Hvv{iH"n?;i {iH "[[H "vv "[[H "vv "[[H "vv "[[H "vv "[[H"Pzz[[H"Pzz[[H"Pzz[[H"Pzz[["Zzz{i+k ;8[i"Yz{i+kk ;8[iyH "3zz"I<"z"1zG  `Hh H"A;hHh8H"A;h{i+k ;8[id+ H"A;hH"3zz̜{i+k ;8[iH H "hHÊÊ"Tzzz{i+k ;8[iH""H"Tzzz{i+k ;8[i ) )){i+k ;8[idd) )ܦ{i+k ;8[i! "1z{i+k ;8[iHh{i+k ;8[i"a4Hh{i+k ;8[i#"4zz{i+k ;8[iHh0HhЌ"o5zz"o5zzdd d"H>Hh<Hhꪠ3Hh{i+k ;8[i0"4z!HH ";i H"o5zz檠%檠^"zʧ}x8H e"-!"4z"-!ܦQ.HH"zzzzz檠HH"zzzzzܦ🐝HH"zzzzz"4z܀"zzܥA"]z@"zzz8iH"zzz"zzz8iH""zzz"zzJ"]zH<";i  {"4z"4z.H"zzzH"b zz檠ȭ!HH ";i N"-!"4z"-!,HH"zzzzz檠HH"zzzzz"-!ޮH"/z檠"4zJ"]zޮH *";i ޮH *";i 8 H""zzz(( "zzzz4"]z4"]zH<";i {i+kcck8kCCkk##kHIhIk H;[IIʩ FeIz+k H;[ jI I f  8 F F  I I zz+kH  8zzzz(k H;[2IIIIʀFf ee&IIzzzz+k H;[3II I I &&ff !  8  FfFf0II I I   zzzzzz+k8j Jk k H;[ !*8jf H;[ ! Jf  zz+k H;[ !  &  zz+k ;8[i$"iiե {i+k:HkHZZ / (cJ) 䘃hhhk ;[)      +;ik ;8[i֦څ؆ޅܩ{iԅ{iH"Sf;i  {i+k;iH H H "zzk ;8[i))8pIG3)%6H"BzzzzH"L;"A;hH"L;h)8pI0ʢH"I<pIH"L;hʢH"I<pI0@H"A;hHhH8)%Hh)H"Bzzzzb)W"Rzz)*)HhH"Bzzzz {i+k ;8[i8pIXHh )(8pI ؀{i+k ;8[i{iHf">Dzzzz{i+k ;8[i8pI0) Id)Md)>-) H"L;h ʀUH"Bzzzz8pIH"A;h{i+k ;8[i"WNH"L;i {i+k ;8[i8pI0"yzzm{iH"X`zz F6ꪠ">zzzzzH"yzz8pI0 "yzzH8{iH"X`zz {iH"X`zzHHH">hhhhfꪠ">zzzzH"yzz fLD{i+k ;8[i:8pI8HHihh ))H"bzzz{i+k ;8[id $iHih ff"]zzzzz  H H "h"Yz)^)"'))")"w8iH""YziHH몧"A;hh zu8iH""YziHH몧"A;hh ) )) x8iH""YziHH몧"A;hh ^8iH""YziH몧"A;h ) ) 䂕H" "iʆ & &H"Zzz 몧H hHh몧Q)DiHihHʆ & &H "A;hhHh8pIʆ & &H "A;hHh{i+k ;8[id)IH"I<0H"I<)D "nezzk H"L;h8pI0"&OzzH" e;i "I<H"L;h88H"A;hHhH "L;hH8pI08pI "Nzze8#)D"&Ozz H"A;h{i+k;iH H H "zzk ;8[io8 )>)+)+)b)b)J  E  .arwLM "Xzzz8pI0e)rHh Hh Hh{i+k ;8[i)/i8pIĢ{i+k ;8[iH "L;h8pI0 Hh8 pI{i+k ;8[iH"L;hHh)DH "L;hH8pI08pI "Nzz82pI+HH"}zzzz {i+k ;8[iQ)&Hh ө {i+k ;8[iA)Hh ٦H"L;h8 {i+k;iH H H "zzk ;8[i )7) "RzzH" }z8pI0)BHH""HhHh{i+k;iH "k ;8[i)#H"I<pIPH"I<-&iHh9H8Hhh {i+k ;8[i) q)S)HH"I</H"I<pI0 "&Ozz) {i+k ;8[i)Hh )Ӧ{i+k ;8[id"'`zzz{i+k ;8[i{i.."Sf;i ..) {i+k ;[ȗȗ+k ;8[iJHe5H"I<Hh:iJH(eH"I<pI0{i+k ;8[iiHih)H"L;h{i+k ;8[i `)H))#)H)8{i+k ;8[ibHJHhHhR{iHh'"XX)H"A;h)/8 pIť8  RH"A;hHH"A;h8Hhh 8pI0H<:hHh<:H"Pzz<:  "8 H<h:{i+k ;8[iJH$e9H"I<">z88HJJpI0 JH">{i+kh돓XhXhyXh{XhwX"XHXk ;8[iHh )Ӧ{i+k ;8[i{iH"X`zz iHhd{iH"~;i ,H誠"I<Hh{i+k ;8[iH ">hhhh"HHH ">hhhh{i+k ;8[i)H"Wz{i+k ;8[iH H "h {i+k;iH H H "zzk;8  ;iH "k ;8[iH ">hhhh"{i+k ;8[id..)vH.."I<P..H.."I<,.#..)D.."nezz.. ..H"L;h8pI0.."&Ozz}H" e;i "I<H"L;h.8.H.."A;hHh..H.. "L;hH.8pI0.8pI .."Nzze8\..iHih ..)D.."&Ozz H"A;h8{i+k ;8[i)H)|)8apI)8zpI) )iA8aH)8apI)8zpI) )iA8a5)3)){i+k ;8[i)g )IH"I< "zz)J!) "Rzzi8pI Hh)HHH"Yzzzz:8pI0Hih)C' ) )  {i+k ;8[i"~;i{i+k ;8[iL"yHL8";z88pI H88pI"yzz8pIA"t<PN"A;h "yzzdd]H8"t<PN"A;h<i"t<PN"A;"I<pI0"t<PN"A;"I<pILiHPNH"zzzz"yzzki"t<"A;hLiLHPhNHPNH"L;h8"<zz{i+k ;8[iHh" {i+k ;8[i "0yzzz{i+k ;8[i)RB H"I<pI0Hih ) )P"&Ozz)4)B {iHH"}zzzz) )IH"I<0H"I<)D "nezzx"&Ozz:8pI8HHihh ))H"bzzz) ){i+kdd")k ;8[iHh" {i+k ;8[i8pI5Hh ) ʨ{i+k ;8[i)!)) H"I< "zzH"I<^)DSH "L;hH8pI08pI "Nzz{i+k ;8[iJd)%H"L;hPePP[:8pI8HHihh ))H"bzzz_h)H)hhfLHNHhf8"<h &"A;VT"A;hHh NHhf8"<zzhfCH"L;he܅إ\8Dڂ08pI0؂*ҎҎwuՎՎwuXoxւ8pI0ܦi HihiHihHHHHH{i\H"?zzzzz{iXH{iZHi8pI0iHdb`^\";;iX ؎؎wu ڎڎwu ܎܎wu{iy)I )N))0Hh . ܅ր(Hh ֥8pI )п{iyZ8PP8pI0PIP HP8";hi0Hqsqsqh HP8";zPPâ{ip8HhHsq"I<pIZ8 pI+-Hqsqsqh ڢH"A;h))EeHqsqsqh !)Iގގ"Xzzzz"Xzzzz)H"qzH)H"qzH8";hePRA HP8";hi0HRRH"A;hh HP8";zPR8pI0"&UzzH"A;h@8pI0ܦi HihiHihHHHHH{i\H"?zzzzz{iXH{iZHdb`^\"s;iX 뎢뎆wu 펢펆wu wu{iy)I )N?8pI0e܀Hu)eZe8PpI܂ZPP8pI )0)Hh PP8pI08pI. ܅PPP8pIKZZ8pI )0)Hh {iy8pI0܀ ܦi HihiHihHHHHH{i\H"?zzzzz{iXH{iZH8pI0܀Hdb`^\";;i܅RT"&UzzPP8RpI0PRR8pI+R8H"A;h)0RȥZ8pIZ8pI R8܂R8Z܂1 y *iHihiHih y {iyiHihiHihiHihꪧ8pI0#"&UzzH"A;h1)ܥ8pIץiHihiHihꪧ8pI)8pI0")iH"A;hiH"A;hiHihV|Mt;lqi#si;loqitksiisEGXcdefgopsuxt">hh|t8pI0dإ8pI0d֦sqHu)u)HH"L;hPeeeH{ip"A;h"L;hR8R pIހRHeiޥ8RpI[:8pI7Hih ) )H"bzzzu)x:8pIFwuuwHHihh )wuuw)H"bzzz~إ8pI[:8pI7Hih0 )0)H"bzzzP8pI0P[:8pI8HHihh ))H"bzzz_zzzziPN$eH"I<pI0"Xzzz{iH"X`zzH H "h Hh  "Xzzz{iH"X`zzH H "h Hh  "Xzzz{iH"X`zzH H "h Hh  jHJHh Hh{i+k ;8[i8pI0"yzzv{iH"X`zz P ">zzH"yzz{i+k ;8[i8pI0"yzz{iH"X`zz ) "yzzn Hhꪠ">zzH"yzz H8{i+k ;8[i)HH"I<"yzzvRT11HThRTR'Hઠ"I<7iTRxeH"I<pI0@TRH8Hh"I<pI09ઠ">zzzzz8pI8.8RTTpIHh)@4)))d )d"yzz{i+k ;8[iHL8";z8d " }z8pI{i+k ;8[i"Tzz)Hh1^Hh)@ d6{iHfH">Dzzzz8pI H"I<H"ZzzHhH"I<Bd86dH"ZzzHhH"I<   H"A;h Hh HhfH">Dzzz8pI  {i+k ;8[i"Qzzi8pIͨ{i+k ;8[id   |tqa!iYQAQ1))9AyqIAA'+@BCDEFGHIKLMNPRSTWXZ̃,">hh|{i+k ;8[i8pI(Hh ɦ{i+k ;8[i)H"A;h))4)89pI0 )80)H"z8ai {i+k ;8[i8~pIw8opIh)IH"I<0H"I<)D "nezzH8";h)D)H"}zzzz2d()H"bzzzҥ8pI0PCH8";z3 ޠH"L;h8pI0/"&OzzHe8";zH8"zzzzz8H"A;hHhH "L;hH8pI08pI "Nzz8H"A;h{i+k ;8[i8pI0"yzz{iH"X`zz ) "yzzn Hhꪠ ">zzH"yzz H8{i+k ;8[i";i{i+k ;8[i";i{i+k ;8[idddd8H"hH"h8pI0-"ꪧ)H)hF""H H "h58 " "8<ꪧH⪧H+""⪧eHehޠ⪧eHehH"I< pI à⪧)H)h{i+k ;8[i8ApI8ZpI08{i+k ;8[i{i+k ;8[i{i+k ;8[i :8 pIh ߐߐߐ"XX H" {i+k ;8[i] 쪧"XX=Hh"XXzH"A;hHhPH"A;hHh& 쪧"XXHh 쪧Hh"XX 쪧"XXHhm 쪧Hh"XX*'ݍW᎚8f  |'{i+k ;8[i qH H " 8H"A;h) 22 "oH H " 8H"A;h) 44 " H"A;hHh {i+k ;8[i{i+k ;8[i) "XX[ Hh"XX ) H !) 8pI0Р ߐ HhHhߐߐ"XXA 8Hh oHohHh{i+k ;8[i3Hh& ͒Ӓ8f |ܒ{i+k ;8[iܥ{iH";i)AU";i_)o0?INLp)H"A;h {i+k ;8[i H"A;hHh {i+k ;8[i8pI066"ۙzzz66 8pI0})fHihHHihh : :[{i+k ;8[i{iH "{i+k ;8[i ߐ HhHhߐߐ"XX) L!) 8pI0ЭLdA 8Hh oHohHh{i+k ;8[i{i+k ;8[i))"];i  @ dL{i+k ;8[i8 )@I@>"Jzzzz+"PzzHh"XX"Pzz"Pzz"PzzHhHh"XX"Pzz"Pzz"PzzHh"XXd HŐhÐ"XX"Pzz ,_8d |HH@{i+k ;8[i "];i @"];i dR"];i ,!!"];i d@)@{iH"X`zz  @H%)H) @gf檠쪠">zzzz檠Hh 檠 Hh{i+k ;8[id8pIGH ""h Hh ) 28Hh ")) " ") " " "8JpIC " " "{i+k ;8[id"PzzHh"XX)ꂡ) ))) uHِhאՐՐ"XXN)CHhՐ"XXՐߐߐߐ"XXF) ) ːɐ"XXJHِhאՐՐ"XX!Hh"XX"PzzH{H H "h Hh Ր  H@{i+k VbYZbdtt|j̀̃ Ӈ 3579;=Nς  ')+-/13579;Lρ "31 Dv &/I^f'KFq0:[y0V^/6\x|f[|"ll'U;Hx$N{,Q,VArRj %GWi{ XemJz$0AueX*8`s)N)]r'Ng=;%G: B[%Y|N`nRu9Wf @ iO}RM\afkpSI~7GWm!Cmz +8iv~#_f b#:A-6X9b m>Y!q1*[? "1OWdn }.\~<,Rv*/6)tIJ'1"8[q  )CUkot9GMlLx (5>Vqx#Wu , =BSXty #;@^c 05K_fdu/4mr -5?DPU!&/8FK`e}L  DItyz@i#7o 4JO{  1PU[`1BGx <PTY_d $FLci6mqy2iw|5; =Bz`%8lq +/Y`oxM{@ 9X[} "%3:`hk  49`e{ 5J_y /4Z_  DI intw),58VY`c"@CJM 8;BE_bkn #3:=D >Clq8af 7ADGJM`c+.27MP^aps),\_qtRUcf14cf +.=@cf!*-03cf %(;>qteh ),;>MPbe =@KNRWux!$),:=BMPY @C 7f!O}rHu&Kl H&Nhe8 )Lbx(>z+\obņc5NL4Ri u%Rjȅ\Q N^n Gy\;j;pn.p$HCnX-}0Ai$Ru!Kx)No K)Qkh; &I_u+;w(Yr_†f2QI7Ul x(Ug Ņ_T QaqDvY8g8mk+9LIsx6" D,@ ~globals  BV? -̓ D,@ ~arrays Can't allocate SANE direct page dummy6Zmain dynamicstructfloat* dploc error too many parameters ****Compiler error***==RETURNstructfloat2I934#678h99:r:F<=asgn opasgn op? :|^&== or !=<, <=, >, or >=<< or >>+ or -* or /&-!~~++ or --++ or --ERROR.mmccNo input files specifiedAppleIIGS C CompilerV1.0Copyright Apple Computer Inc. and Megamax, Inc. 1986,1987All Rights Reservedmflags = %lx pflags = %lx LANG = %s gotoeditor = %d abortat1 = %d waittopress = %d orcapb.kflag = %d FNAME='%s' PARMS='%s' DFILE='%s' ...reading %s rError opening: %s .ROOT.A.?.=Translation complete - %d error(s) found. %d warning(s) found. %d line(s). Exita! 0PpXAN@ BTDbH KZh+(z"b@k`8x[{;B .DZp_FROMINT_FROMINT_FROMINT_FROMUNS_FROMLONG_FROMULONG_FROMFLOAT_FROMDBL_FROMCOMP _TOCHAR_TOUCHAR_TOINT_TOUNS_TOLONG_TOULONG_TOFLOAT_TODBL_TOCOMP   % , 4 = F M DOUBLEFLOATCOMPEX80Compiler error in emit_postOPCODE didn't know operation_IMUL_LMUL_LMUL_FNEG_LNEG_INCADDSUBEORORAAND_F_LMULDIVRSHIFTLSHIFT_I_F_L_ST_BLKMV_FCMP_FCPX_STRUCTCMP_LCOMP_BLKMV_CALLFUNC_toolErr_PUSHFRYMICHELTMP  wbcc: couldn't open temporary object file '%s' errno = %d wbcc: couldn't open object file '%s' errno = %d ~string...writing out segment %s. Segment length %d bytes ~globals ~globals~arrays ~arraysA$*DIQUYz "23QRSTUVWXYZ[\]^&"(.+375689:4D<0E; -=F     @> !#$%'((((((((((((*((((((((((((((((C)((,AB/21>>>>>>>>?>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?>((((((((((((*((((((((((((((((C(FFF########################### #  ! #"##autostaticexternregistertypedefcharshortintlongunsignedfloatdoublestructunionifelsewhiledoforswitchcasedefaultbreakcontinuereturngotosizeofdefineundefincludeifdefifndefendiflineasminlinesegmentpascalvoidextendedcompenum2/cincludeerrors.outUsage: %s file MegamaxAppleIIgsAPWWD65816K1_1_1_1 not in argument list are not compatibleWarning Error %s %d Error #Undefined error Press Key to continue__LINE____FILE__%drNumber of errors: Compiling %s r...reading %s 0/...reverting to %s append%s: Name expected after -D %s: Too many -D names %s: Name expected after -U %s: too many -I paths specified %s: Name expected after -I %s: Name expected after -S %s: Unknown switch -%c %s: too many source files specified / Q`APPLELIB my_exit(%d) before changing orcapb.lops = %x orcapb.lops & 3 = %x closing file closing asmfile unlinking asmfile gotoeditor unlinking asmfile start just before SET_LINFO orcapb.kflag = %d orcapb.merr = %x orcapb.merrf = %x orcapb.lops = %x orcapb.org = %lx END SFILE END DFILE END PARMS END ISTRING .....Error messages for Megamax C Compiler........Out of room (too many vars)Illegal characterIllegal preprocessor commandError in include commandInclude level cannot be > 6Error opening include file Error in defineToo many definesToo few params in macro callToo many params in macro callError in macro callError in numerical constantError in constant expressionError in struct or union defError in declarationError in parameter listExpected ';' missingExpected '}' missingExpected ')' missingExpected ']' missingError in function definitionExpected '(' missingIllegal statementExpected 'while' missingExpected ':' missingError in goto statementError in expressionRedefining Not a legal storage classRedefining a union tag as a structRedefining a struct tag as a unionOperands for Argument must be integerIllegal initializationExpected '{' missingCannot initialize unionUndefined Identifier: Array or pointer type expected before '['Left side of assignment not an lvalueArray index must be integer typeArgument for '*' must be pointerArg before '.' must be union or struct lvalueArg before '->' must be pointer to struct or unionFunction type expected before '('Bit field longer than unsigned sizeBit field for type other than unsignedConstant expression must be integerCase not in switch statementDefault not in switch statementMore than one default for switchIllegal breakIllegal continueAdding pointer to non-integerSubtracting pointer from non-pointerSubtracting pointers to things of different typeSubtracting weird thing from a pointerOperand not a left value for Illegal union or struct usageWrong number of initializersAddress of register variableCan't define function hereSyntax error in assembly codeInvalid opcodeInvalid addressing modeExpected comma missingLabel not defined: 'else' without matching 'if'expected string missingIllegal operation sizeUndefined or improperly used field: Structure or union can't contain selfRedefining Auto vars or constants only with this address modeError in line commandNo defines allowed in in-line assemblyError in #undefPointers do not point to same type objectBad tokenUnexpected semicolonAn ostrap must be of type functionMultiply defined label: Too many local variablesCan't cast a non-lval into an arrayDeclared argument String too longSyntax error in segment commandMissing endifMissing close of commentDefine recursively defined or too complexError writing output file (Disk full?)& before function or array name: ignoredBitfields not allowed in unionCan't take the address of a bitfieldDuplicate case in switchCan't pass a function as a parameterZero or negative subscriptnewline in string or char constantvoid type not allowed in expressionw.xJx\xyxxxxxxy&y:yVysyyyyyyyz.zCzUznzzzzzzz{){B{Y{n{{{{{|/|]|||||!}>}^}}}}}}~9~W~u~~~~~~&:Wo&M]ɀ2Bbpځ"G`ÂADCANDASLBCCBCSBEQBITBMIBNEBPLBRABRKBRLBVCBVSCLCCLDCLICLVCMPCOPCPXCPYDECDEXDEYEORINCINXINYJMLJMPJSLJSRLDALDXLDYLSRMVNMVPNOPORAPEAPEIPERPHAPHBPHDPHKPHPPHXPHYPLAPLBPLDPLPPLXPLYREPROLRORRTIRTLRTSSBCSECSEDSEISEPSTASTPSTXSTYSTZTAXTAYTCDTCSTDCTRBTSBTSCTSXTXATXSTXYTYATYXWAIWDMXBAXCEsw{ÄDŽ˄τӄׄۄ߄ #'+/37;?CGKOSW[_cgkosw{ÅDž˅υӅׅۅ߅ffPXPfPXfPX@ @ @f$PPXfPXPXffs P@PPPPP-DGot an error from NewHandle: %d Got an error from DisposHandle: %d ! _BINSRCHSYSFۖ=ݐЋSNOCxTSYSaŐoғ-+ 0123456789ABCDEF0123456789abcdef0x0X-+ INFNAN(000)-+ .console.console.console.null.stdin.stdout.stderr.console 8HSo{BYTEWRKS ((((( H +BBwH6YZ2I934#678h99:r: F<j .n Dr Zv pz ~              U Y  ]  a % e , i 4 m = q F u M w.xJx\xyxxxxx xy&y:yVysy#y'y+y/y3y7y;z?.zCCzGUzKnzOzSzWz[z_zczg{k){oB{sY{wn{{{{{{|/|]|||||!}>}^}}}}}Ã}ǃ~˃9~σW~Ӄu~׃~ۃ~߃~~~&:Wo &M]#'+ɀ/37;2?BCbGpKOSځW["_Gc`gkoÂsw{󅃄 #'+/3Ä7DŽ;˄?τCӄGׄKۄO߄SW[_cgkosw{ #'+/37;?CGKOÆSdžWˆ[φ_ӆc׆gۆk߆osw{󆃅 #'+/3Å7Dž;˅?υCӅGׅKۅO߅5ۖ9==AݐEЋMQUYx]eaiŐmoqғu:oH{][ ,@ parse [ ;8[i H8";hi0Hh H8";zƦ{i+k ;8[i{i H8";hi0Hh H8";zƩ "&UzzH"&UzzeiH"zz_ Hh )ӦHh )Ӧ{i+k ;8[i~7/&"1zxv~$Hh"vNxF&"1z|z$Hh"|z$Hh"1xvxv|zxv$"xv HhHhHh   HhiHhtr{i+k ;8[i~xv{i+k ;8[i5d["Y"A6"z"A6>"zBnlD"m"zxnlYYHnlhHhnlnl H"2zz"A6"z"s H"e!z"4"A6"dX"z{i+k ;8[i"A6 D"zq8pI&8H"A;h <Hdd"A;hH8H"A;hh 8 pI"A605"A6zzdd"xUzzzzV"z"A6{i+k ;8[i\87pI18;pI0!87\"A6{i+k ;8[iCD"R,*=nl1nl nl"A6`"jhb"A6DD"A6>"A6ZZ~"A6ZZm"A6>"A6:A"A6"B"A6 "A6<"A6DDF?"A6>"A6"="A6>"A6pp"A6"A6"A6  z"A6i"A6XZZLJ<=>?@AmBv]^_LH B@0.{i+k ;8[i/O"z"A6" "z\ "A6f"dz6L"z"  dzx b `H`hb(&0.Hh$"42iRHRhT6B`b42 42 <42HbH"vzzzzH" zzzzzA42H"Az) bH"vzzzzH" zzzzz)䪠 H"2zzb䪠 H"2zzP"APNdf/L88 H"A;h% H"A;hH誠"I<(ZZHhN8NN誠 "*誠HjhhHhjhHh誠 誠Hh(Hh N8N/誠HN"L;hNN8LpI002"zN8N8NNN8N8pI0 "[zz" z"1TH"4zdH"a zzf8 D"zzz""zzzeHE"zzz""zzzeHE"zzz""zzzeHE"zzz :"zzzQ"]z"]z"zzzM"]zfJV"]zE"zzz428pIS"]zE"zzz>"]zN8H" z @H"e!z H"e!z"4"A6/"z"A6f{i+k ;8[if($"+dHhˮ$"Z"A6 "z"A6"!3TRHzxh0 "z"A6"!3TRHzxhHTR8">hHzxh"z"A6$zxzx{i+k ;8[i/|"pntpnfXpn5dHpn"I<fUpn2dHpn"I<PpnHzxH"N zzzz)\ )#pn "zzxHpnhHhpnzx 0/$ Z ]zx`H`h$"%"h\!i"h$"%"# $" "  ="z{i+k ;8[izx  \N8HhN[H H"vzzzz" zz" zzzzz" zzzzzYI" zz H" zzzzz H" zzzzz{i+k ;8[i0W"A6"pnpnpnHzxH"N zzzz)\ )#pn "zzxHpnhHhpnzx ]zx`H`h$"%"h\!i"h$"%{i+k ;8[i"W: "A6"u{i+k ;8[i"dz"z/"z"A6{i+k ;8[iB" nl7nlB#nl "z"m"zxzxHhLHLh H"A;hzxHh"A60"A6;B{i+k ;8[i"A6?nl3nl"nljh"A6Z"*jhZZʠ Hh Hh6"m"zxHhzx"A62"A6d"m"ZZHzxhHhzx "A6$4"A6"!3TRHzxhTRiHihHzxh0"A63"zG"A6#"zZZjh{i+k ;8[i>:8F><CF8:D"A6D2"znlnl nl nl^Fnl "zFnl "znl"A6:nl.nl 檠 >"A6"*F  Hjhh@@Hjhh Hh @8pI "[zzjhD"m"F  HzxhzxjhHh"A6@><>2z"A6HhHhxz"dz";zxzxHhzx/ 0v/"A6"dz"A6xz";zxC檠zxHhzxHhzxwJ1><iHih><B@iHihB@JHh3"z><Hh>ʠ Hh >"A6>:8F><,*{i+k ;8[i1F\"z"A6"!3TR-"zTRHJmRHmTh"I<pIR>T6J1:8iHih:8><iHih><J3x"zx@8B0$" $" G"zF/8<@>B>BpI0 B@><J1?F\"z"zx."zJ1J:8iHih:8><iHih><:8HzxhzxzxF.:8m@HmBh:8><m@HmBh><{i+k ;8[i"A6"!3TRRT-"zTRHJmRHmTh"I<pI06J1:8iHih:8J><iHih><<<Hzx"I<@zxJTRHzxh:8HzxhJmRHmThJ{i+k ;8[i "$  (&npxz""zx$<<zxnp"z".$&zx0.Hh$"Ezx$"Hh(&0.Hh$"H"!zz0. 0. 40.$"H" zz:"zzxB@{i+k ;8[i ޠ {i+k ;8[i     O H 5 $ H "I<a,& F 3H"I<{i+k ;8[iP ަ""!zz 耦{i+k ;8[i H"!zz H8"t<hHh{i+k ;8[i"*"$jh(&$"&(&jhHhjh(&(&B@Hh(&{i+k ;8[i "A6""B@ "`"z<"A6"""z"A6 nlnlBHnl"I<nlzxnl,nlnlpnH"z@nlnlnlpnH"z"m"P>T"z"A6  UB@"A6zx"zx "z"`"z"A6d"A6 "!3RT "zT8RTTpI02"zTRTR"u;TR TR"A6 "`"z(&TR Hh {i+k ;8[i0.6 \""z$" $"z$""z"A6 e$"   ""zH"trzx Hh  zxHh"tr Hhtr$2"A6"=I3"z"A6"=IHbtrHh"F>zzzzz   Hh"&Bzzzzhzx`b  8 pI0  "(zz "(zz" B@ʠ Hh h0.{i+k ;8[i8pI ;"zA8pI0'8HhH"M ;i {i+k ;8[i 2d "A6dd)-8H"M ;i 8pI0;Hdd"A;h)H"M ;i  "H H")(zzzz#ʠHh Hh "A63 "z"A62?7 - 䪠 H8"t<h䪧ɠ H8"t<h"(zz0M/ H"I<pI0"A63 "(zz 9䪠H8"t<䪠H8"t<")(zzzzH8";heH8";zH "I<Lʠ Hh H8"t<hHh3"z"A6P 2d "A6;"z"-zz0b쪠M"A63?쪠쪠;"z"-zzHeꀖHH")(zzzz3 "z"A6N20"A6".zzzzz3"z"A6".zzzzz{i+k ;8[im,HHH".zzzzzdH"(zz{i+k ;8[iH8">h8{i+k ;8[iH""=IHtr  檠 g -#Htr쪠"I<0 檠H"=zzzz "zHtrH"zzztr檠 檠ޠ H"AzH"Az H "zzH"-zH檠"k;h8"g>"a;h'HH"M ;i ,H檠H"M ;i FHHHHHHH"m ;i5 PHi쪠H⪠H"\zzzH"M ;i %⪠H"M ;i  5⪠ު"u;Hhޠ⪠܅ڠHiܐ쪠Hު"A;ڪH"\zzzH"M ;i ""z""z"{i+k ;8[id"A66"W " "u35"<3"z"' "B{i+k ;8[iVV H"A;h{i+k ;8[iXX H"A;h{i+k ;8[iV{i+k ;8[iX{i+k ;8[i"A6"z"A6RHRhIH"&BzzzztrH"zz"Q4z"z"A6"<F "4z(RHRh"4z"4z"A6"<"4z{i+k ;8[i"A6"z"A6RHRhRHRh"~2z"J2z"4z0IH"&BzzzztrH"zz"Q4z"z"A6"<"4z"4z"2"2{i+k ;8[itrH"zztrH"zz"b zz{i+k ;8[i"zzz{i+k ;8[i "b zz{i+k ;8[iRHRhRHRhRHRh"~2z"J2z"A6"4z"<"4zG"z"A6"z"A6;"&BzzzztrH"zztrH" zzzz"4z"4z"z"A6/"z"A6"2"2{i+k ;8[iH""!Ctr{i+k ;8[i"zzz")zz{i+k ;8[i"A6"z"A6RHRhRHRhRHRhRHRh"~2z"J2z/"&Bzzzz/"z"A6dd/"5Hdd/"z"A6dd"5Hdd讀~xv"xv~"4z"4z"z"A6"<"4z"&Bzzzz8"4z"&Bzzzz"zz" zzzz"4zxv~"4z"2"2{i+k ;8[iRHRhRHRh"J2z"A6"z"A6"&Bzzzztr H" zz"4z"z"A6"<"37zz"%5"4z"2{i+k ;8[i0"z"A6"!3TR"-!RHRh"4z "4zzz1"z"A6"<{i+k ;8[iC"z"A6{i+k ;8[i2"z"-!1"z"A61"z"A6"<{i+k ;8[iV#V H"A;hH"4z3"z"A6/ "z"A6{i+k ;8[iX#X H"A;hH"4z4"z"A6/ "z"A6{i+k ;8[i"A6d/r"&Bzzzztr 428 pI08 mpI0c"=zzzzM /trtr  "z  /bH"vzzzHH"CHzzzzzNH"Az. H" zzbH"vzzzH"HzzzHH" zzfP"zfffP"zff/ "z"A6TH"4z{i+k ;8[i"A6 "zdd "*zzzz"A6/ "z"A6{i+k ;8[i2,B" b``b"1"A6b`""b$dd"zz"A6"A6"<8EpIE8PpI058E H"A;h">RY "s "A6@Z6/"A6("&Bzzzz/"z"A6{i+k ;8[iSEH 4H{i+k ;8[i 쪠  쪠8 pI08 pI0YH쪠"I<1 *  쪠 Hh XH 쪠"I<0 ) 쪠 Hhn"=zzzz4  )= "z  "z 쪠 Hh  "z  )=)?:"zb"z# 誠  䪠 D 䪠 H 誠 "I<  "z Hh"Az "Az, Hh  "z} HhY Hh6pp HhZZ Hh  {i+k ;8[i!AAAAA8 |A{i+k ;8[iAAAA8 |B{i+k ;8[iH""!CtrH"zzzd H"AzOW"zzJ4@ 6 ,"^Xzzzz"zz ")zz"-Qzzzz "R"{i+k ;8[i"F0tr"tr0trHh Htrh Hh Htrh tr"A6"Ftr  Hhtr tr Hhtr{i+k ;8[i"tr"tr HhHhtrtr ZZHtrh HhD  8pI0 詆 Hh8,8 &trHhJ&trHhtrHh1 trHh{i+k ;8[i"=I8$pI08. pItrtr'"z"tr$trHhtr Hhtr"A6"Ftr$trHh"F>zzzzz  H"Az Hh@   Hh  } 8'pI0"Vtr Hh( )   8pI 5"zdH쪧"I<?쪧H H"*Dzzzzz Hh Hh;8*pI"F>zzzzz"F>zzzzz  Hhtr{i+k ;8[i"vJtr"trHhtrtr"tr Hhtr1tr"A6"F1"ztrHh"A6"Ftr Hh"""F>zzzzz  Hh  tr{i+k ;8[i",K"nUtr"trHhtrtr"A6",Ktr HhZZ Hh tra{i+k ;8[i"K"nUtr"trtrHhtr"A6"Ktr HhZZ Hh tra{i+k ;8[i"Ltr"trtrHhtr"A6"Ltr Hh&&"F>zzzzztrj{i+k ;8[i"zzzzztrj{i+k ;8[i"Mtr"trtrHhtr"A6"Mtr Hh**"F>zzzzztrj{i+k ;8[i"rO _tr"trtrHhtr"A6"rOtr Hh,,"F>zzzzzZZ Hh tr H " HtrhHhtr Hh Htrh ZZHtrh Hhtrtr{i+k ;8[i" Q8pI0r8 pI_tr"trtrHhtr"A6" Qtr Hh55"F>zzzzzZZ Hh tr H " HtrhHhtr Hh Htrh ZZHtrh Hhtrtr}{i+k ;8[i"Q tr"trtrHhtr"A6"Qtr HhEE"F>zzzzztrb{i+k ;8[i"U tr"trtrHhtr"A6"Utr Hh    # NN"F>zzzzz b tr HhtrHh  8pI 5"zdH"I<?H H"*Dzzzzz Hh Hh  6"zq Hꪧ"I< 7"zmHꪧ"I<H HhꪧH"*Dzzzzz ZZ Hh8pI 8"z}H"I<?H H"*Dzzzzz Hh Hhtrj{i+k ;8[itr   :"zb"z{i+k ;8[i"-X8 pI08 pItr"trtrHhtr"A6"-X"Vtr HhUUH"F>zzzzztr={i+k ;8[itr 8pI0Ntr"Hh ZZ Hh{i+k ;8[i^f_[]P`H8<pI8D1pI*nlnl{i+k ;8[i^f_[]P`H87pI8D1pI*nlnl{i+k ;8[i"A6"Ww"dz"$  (&"e"$ 0.2$"(&0.Hh$"H"!zz"z"A6"-X"nUtr  ,  Hh " S"ztrHhHtrh tr Hhtrtr "Ybj9"GZ]"[V" ^O"W_H"`A"0a:"c3"Yb-+  !"#QL Z{i+k ;8[i"A6"-Xtr   )"ztr '""4Hh tr  Hh  w   Hh"\Htr h Hh {i+k ;8[i"A6"-Xtrtrtr5itrFtr 9tr \\ 9"z"zctr-tr) <"z"tr7 ]"z"\{i+k ;8[itr"5Hh"*jh  HjhhHhjhHhjh Hh {i+k ;8[i8pI0 ZZH pp8 +8pI0){i+k ;8[i"A6"-Xtr"u;Hh<HHHHH"RiH"?zzzzz 8 pI^^  "zStr" H"]zz HhHh6  {i+k ;8[i"A6"-Xtr 8 4pI-  ``  "z"Hh ZZ Hh {i+k ;8[i"A6"-Xtr%HIhIHhbb  "z 8pIdd  "zStr" H"]zz Hh!Hh  {i+k ;8[i"A6"-Xff tr 9"z 8 +pI$  "ztr"HhH H"]zz"I< Hh  Hh  {i+k ;8[i"g" ##oo tr 9"z 8 +pI$  "ztr"HhH H"]zz"I< Hh  Hh  " 23"A6{i+k ;8[i"A6d"A6"Wd"dz"$  (&"e"$ 0.2$"(&0.Hh$"H"!zz"z"A6"ꪠHhZZ HhZZ "!C"-Xtr  I  )  Hh' HhZZ HhZZ Hh"z"A6{i+k ;8[i   g"A6 "!3TRHB@8"t<hB@ "z"A6 "`"z(&TR Hh >"A6"e"z"A6B@"`"z"A6:$ "A6B@"e "`"z{i+k ;8[inltr" pp HhnlHihHhnlH"-zHihHhHh7{i+k ;8[id8pI0E8 pI2*"d)-"u;܅ڀ ܅8&8Hdd"A;h)L Hh\8/8pp HhZZ HhHhI Hh&H$H"H HHiH"?zzzzz悥ZZ Hhd)Hh4d)Hd) eʠHh悛 Hhd)Hd) HHd)8"g>Hd)8"g>h"A;h"A;h"A;hHh "z悃HDHdd"W zzzzDʠHhDD HhD"\trH 檠h Hh  檠 "A61"A6"!Ctr"z"A6nlnlZ"mBB"BzxnlީYYHnlhHhnl"nl Hh 檠H"Azz Hhtr  nl -nlʠHh#nlHh"A691ު ގ %"zު ޅ. "z""A6   " ","z  Hhf  Hh 檠 H"Az HhHh"A61"Ftr _"z Hh0L"A6"Ftr _"z Hh Hh򀬭"ztr"A6  檠ԅҠ ;Ҫ҆*HҪ"I<pI ppԅҀ ԅҦ"A6  >tr 檠 Hh"\tr!  &"z"Hh  Hh 檠 ؅" Hh֦ԥҠ HhҠ " Hh 檠ԥҠ HhҠ Hh"!Ctr ֪օHh 檠8pI("z"4ZZ Hhإ֠Hh ֪օG ֪օ Hh 檠 xx"[zz "z"A6 Vtr " 檠 4 檠 ~~ *"z"A6tr*"z> 檠 >"A6>,8lnnnl F"zK4  j    M  )$Anl Hh 檠 nlHi"A;hHh"f"A6  檠 "A6+"z 檠 4 檠 "A6+"z+> 檠 >"A6>,8lnnnl F"z"Hh4nl Hh 檠 nlHi"A;hHh"f"A67 w 檠Р 檠 Hh"\ТHtr h Hh "\{i+k ;8[i/H[h[44H[h[z,z,"TzzH[h[H[h[[["Yzz[[H"Pzz[[H"Pzz[[H"Pzz[[H"Pzz"PzzHh""Pzz[[)H)h[[)H)h[[)H)h[[)H)h[[)H)h[[)H)hdH H{i"A;hhHhH H{i"A;hhHh)"Xzzzz| ԖԔ"3zzz H{i"A;h򦖥Hh𦒥88 pI'iHih )p{iHԞ"8zzz"TzzH"1z"[zz"[zz"[zz"[zz[[H[[H"T;i HHH!!"T;i[)H[["Tzzz44nnBB"cy;idXi?H";hH$$"A;BB"cy;i BB"RzzHH";hH$$"A;"Dzzzz"I<2H";hH$$"A;"TzzzzH"1z[)t[[Hbb"Xzzzzb)[)bb"Szzzz[)bb"Szzzz[)31d$H{i6"A;h 朥8pIbb{iPH"Xzzzz{iPH"Szzzz{iPH"{bzz{iPH"dzz){iPH"&Uzz8H{iP"A;h 5 5)8ApIo5)8ZpI0]{iPH"&Uzz8H{iP"A;h).)5)8AH{i6"A;h /d/H{i6"A;h) 5 1 朥8pI31bb"SzzzzH";hH$$"A;[["Xzzzz[[Zoo"Xzzzzbb"TzzaH";hH$$"A;[["Xzzzz[[Zoo"Xzzzzbb"Tzz"uC" "A6DRXV`~ZZHBh@"[)) [ "O H"Qzz9JHBB"cyzzzzzHLHBB"cy;i J b "1z枥8pI0",C "[zzJ8 pIH"1z{i+k ;8[i"[zz:8pI:Hih) "^zz{i+kTw=ށ?PU-Rp $%6'3Mh*rÁ.bC/iځxr W " 8Q_sz06=BF Zu| 18QWp+T>Bx:ՁBF-F6D&vGIb#8GUFrHaU~r9x-+CGЁHUl: We0g(Ee,C]ŁO rE&S1n"^+20{6^ .=BQhl -^Y #4@Yq'827zJ 3CWg{ (2>Q\aev{ AFJtg8C\5I_~v_ Wq}15cr)1:4Tr7;w Z_cwU7ρ kFl*=B 6=AUZ,C[8T#Xr;h#8R 8i'pw*A38Cj />CHM 0?D~#5:X]| 5LQ`g~R+2Rat|^c w%Lj#LÁ&GLg΁ !LS"  !&,8FK_ejqv Ev Scm 1Zjz  &5MUmu &=z *:Djx'-9WtN 03:=@CFI[^ #2FVY\psvy"5C,AZcfknsv" %(7:IQTX]behkoty|' #&14=@GORVYfimp} *-36=@PSZ]jmx{px"2ITWcfr %(+.EJ^fq14=@GJUXgjqt@GJQT wz} 19 ~< "%nqDG{~ (@VZ %(=Ufk ]`nq 3Gbesv3GLRW]bhm "= #4_b  *t!&U (+ILn 6V (]oy5JMT1I %(258TW^ax/2be !$14U )-159_},49BILSjux BEeh~%-5@ )58brump >ASVl([^?Bn%irHK2 RUX[ 14?G`d |Xz 'D]u +\*[`} "(.dqwDJdj݁ 4ALaguNTkqK[} *G`x .?L'jS1TB,܈"Uf2Frk9>av Ret.'ffce rL;gzd~m21=>;2AY-^]z %+gntAGagځ 7>O^dr KQhnH,_Y ,@ codegen Y ;8[i1y y 9 0 ' "+48 |7{i+k ;8[i):!H H"vzzzz  {i+k ;8[i"\zzz{i+k ;8[iiH"A;hTH8">h H8">h-H" z ꪠ He₧8pI8!pI#"zzzoꪠ ꎜ "zz" zz  tctc |":zz0$"zzz4eH"A;h$"zzz{i+k ;8[i HHHH"zzzzzraH8"g>"A;hH">hH">h `jH"oz^H"/zRH"/zH"oz=H"/zH"/z( "[zzeht |{i+k ;8[i"zzzH"zz"{i+k ;8[i"zzH"oz{i+k ;8[i)H"ozH8"="oz{i+k ;8[iV@H"zzeH"oz{i+k ;8[i"zz"oz{i+k ;8[i"zz"/z{i+k ;8[i"zz"zzzzz{i+k ;8[i"zz";i{i+k ;8[i"zz"zzzzz{i+k ;8[i"zz"zzzzz{i+k ;8[i ";i{i+k ;8[i H"A;hH8"=h%z: dt L~ "[zzXyqnlj!h#r$A*\IlLe{i+k ;8[i{i+k ;8[i {i+k ;8[i{i+k ;8[i 8!pI8pI0 "{i+k ;8[i"-zz< 8pI0"zzzK"]z H"AzC  4"]z4"]z4"]z4"]z4"]z"HG"zzzH)"zzz{i+k ;8[i/"]zQ"]z"zz"zz#A"zz@"zz"/zL"]z"zzz"zM"]z{i+k ;8[iK"]zN"]z"]z"zz"/zM"]zV"]z6"]z{i+k ;8[i   {i+k ;8[i"zz "zz8 pIIH"*zzzz{i+k ;8[i8 pIIH"*zzzz{i+k ;8[i e^\"zzzE 0"zzz"zzz)"zzz92#"zzzK"]z "zzz"]z%#"zzz I B  H "A;hH "zzzzh"Az["Az " zz 1 HU U "A;hH "zzzz{i+k ;8[i8pI삉"zz"zz"zz"zz"zzt-"]z""zzz A"]z"]z  "zzzz" -*xd PL 8pI%8qpI0gH8">hH *"zzzH *"zzz A"]z"]z  "zzzz"f-iHG"zzzH8"=h/"zziH;"zzzH8"=hͭiH#"zzz *"zzz *"zzz A"]z"]z  "zzzz"f-01)! LO{i+k ;8[iޥe ުޅ֠ H"Az."-Qzzzz " zz H " zz"QBzzzzQ5O&""zzzz#"zzzz"-Qzzzz"=zz H"A;h"QBzzzz   "zzzz 8pI0W6  "zzzz8"(-S"]z"zzzJ"]z" -"zzz#"zzz6 "zz4V":zz8"-QzzzzHE"zzziHG"zzz "5zz wܥ RHRhIH"-Qzzzz"zz&8 pIH" zzzz"NPz: H"A;h ԥ" 2Хҥ" #ڠ  * ̀d̥d̥"-Qzzzz"QBzzzz"AzyH"?zz "]zA"]z"zH  ";i ("5zz ުޅH" zzP"7:zz ުޅȥ ȥ D"zzz"zzzz"-zzDRHRhΥ""zzzz"b zz"zzzz"4z"zzzz :"zzz "5zzW"-zz4 "5zz"(-"zz"IDzz" -RHRhΥ "5zz"C-̥"]z"zzzA"]z@"zzzE"zzzz"(-""zzzzF8!pIH8"="zzz"zzz"zzH8"=@"zzzJ"]zE"zzzz" -"f-g7`iĥi"QBzzzzIH"@Gz"zzz{i+k ;8[i RHRhIH"-Qzzzz"zz" zzzz誠H"-Qzzzz H誠 H" zzRH"4z"4zRHRh 誠H"-Qzzzz H 誠 H" zz"4z RHRh8pI08pI0"-Qzzzz"zz$8pI0H" zzzz"-Qzzzz"zz$8pI0H" zzzzRHRhI"-Qzzzz"zz$8pI0H" zzzz"-Qzzzz"zz$8pI0H" zzzz8 pIIH"4z"NPz{i+k ;8[i H"A;h{i+k ;8[iH41H"zzz HH"zzz H1 H"zzz H H"zzzH"zzz a8 pIy Ѕ΀  ЅΠΪΠHhHHHHhhhh Ѕ΀  ЅΠHHHHHiH"?zzzzzΠΪΠHh ΪΠ Hh Π ΪΠ Hh  7… H¥"t<h…H¥"<zz…H¥"<h…¥eHeh…¥8H循h…xH¥">h…`H¥"g>h…HEHEh5¥Hh…"¥%H%h…H¥"I<…H¥"I<…H¥"I<…H¥"I<…H¥"I<…aH¥"I<…?" 98Ph5Wy8  |¥X H8"t<hH8"<zzH8"<heHeh삸8Hh삤H8">h삌H8"g>htEHEhaHhN%H%h;H"I<pI0ʆH"I<pIʆH"I<pI0ʆ삸H"I< pIʆ삋H"I<ʆeH"I<ʆ?9oH u ! " D!D!D!5 D!8  |J!HhHh Hh  d H 5eeHehHheHiH ">hhhh5Hh HhaMoVHhHh4\@  HiH e"A;h"A;h8pIf8pI0Gi򦶥HhHhqI"u;LHIhI7ʆA !6L%HhHhu6JHHHHH"RiH"?zzzzzHh45&54ieiHiH ">hhhh  HhHhL)Hh)HhʠHhgHhP"ZiH"?zzzzz&#''(*(k(k(A(A(A(A(k(  |n(n 8 pI8pI  Hj j "A;h Hh{i+k ;8[i$ 檠 H" zz  8pI0= D"zzz HI"zzzz :"zzzC HI"zzzz"-zz HI"zzzz H"A;hw檠cH" zz;  * " 2"-zz 檠  D"zzz"zzzz"zzzz :"zzzFRHRh8"zzzz"b zz"zzzz"4zH""zzzz"b zz"zzzz"4z"zzzz""zzzz"]z"zzzA"]z@"zzzE"zzzzRHRh"b zz"zzzz"b zz"zzzz"4z"-Qzzzz{i+k ;8[i4"]z{i+k ;8[i-"]z{i+k ;8[i2"]z-"]z{i+k ;8[i4"]z8"]z{i+k ;8[i 8pI{i+k ;8[i ' 8pI 8pI{i+k ;8[i ) 8pI 8 pI{i+k ;8[i #8pI8 pI{i+k ;8[i8 H"A;h "2zz H"/zzzz 2 H H" zzb  : 0 H H" zzH"IDzz{i+k ;8[i&dS@KC);42(),-."-zz"^XzzzzB"QBzzzz"]z@A"]z"zzzzs"QBzzzz"(-"QBzzzz8"]ziHG"zzz"]z@A"]ziH"zzz"-zz"^Xzzzz"QBzzzz"]z@A"]z"9zzz'U"]z"zzzz"(-V"]z"zzzz"(-S"]z"zzzzJ"]z" -B g Z M @ 42(),-. >"QBzzzz"QBzzzz   ";i D"QBzzzz"C-"QBzzzz   ";i "f-{i+k ;8[id ޥ肅 7-"QBzzzzުH H"U zzzp  o ]  K  :8 s%W&'*+"-zz%  Hުކ"I<pI0g"QBzzzz8hH *"zzzH *"zzzH8">hH *"zzzH *"zzz48 H""zzzz-"]z8pI0{i+k ;8[i :{i؅֦إHi֥ؐhކުޠHh+{iH"Pzzzzz{i؅ւU{iH"tZzzzzz{i؅֦إHi֥ؐhކުޠHh/({iH"Lzzzzz{i؅֦إHi֥ؐhކުޠHhإֆ܅ڧڇ{i+k ;8[isiH"A;"A;h 8pI8 pI{i+k ;8[i='8pI8pI0{i+k ;8[i4H"7:zz{i+k ;8[ii[HeꭠiHI"zzzN"]z"]z"zzzHE"zzzl"zzH"";i HE"zzz"zzH"";i iHE"zzz":zze^""zzz"]zH"zzzHE"zzz"zzziH"zzz4H""zzzz"]z"zzzHE"zzzH""zzzz"zzz"zziHE"zzz{i+k ;8[ii^EHe#"zzzN"]z"]z"zzzF"zzH"";i "zzH#";i ":zzWiH#"zzz""zzz"]zH"zzz"zzz"]z&H""zzziH#"zzzS4LH""zzzz"]z"zzzH"?zzz{i+k ;8[i"zzzH"Bz/H#"zz""zzz"]zA"(-H""zz""zzz"zzJ"]z" -{i+k ;8[ii'*"zzzz*"zzzzpWHe *"zzz)N"]z"]z"zzz-"]z/"]zF"zzH *";i "zzH *";i j":zz[H""zzziH#"zzz"]z"zzz"zzz"]z"C-&iH+"zzzH+"zzz4H""zzzz"]z"zzzJ"]zH""zzzz"zzz"zz-"]z2"]z>H""zzzz"(-H""zzzz"(-{i+k ;8[i"-Qzzzz H H" zz{i+k ;8[i d jH"-Qzzzz"C-"-Qzzzz"?zz H *"zzz"G7&H"QBzzzz"IDzzH"^Xzzzz2"-QzzzzH"5zz"IDzzH"QBzzzzd"^Xzzzz."-zz "(-"-zz "C-"-Qzzzz" - "f-"IDzz{i+k ;8[i  D"zzzE"zzzz :"zzz7 ii"zzz-"]z-"]zH"QBzzzzH""zzzzH">hIH"zzziHE"zzz4"]z"@GziH)"zzzHE"zzzz4"]zE"zzzzj"?zz H"zH& &  ";i )"C-"?zz H *"zzz"G"9zzzHU"]z8H#"zzzH"zzzE"zzzW"]zc"zzzH"BzHG"zz"!"(-S"]zHE"zz"" -E"zzzz*'kDkDDDIFIFEEEE F FIF  |G{i+k ;8[i8MpIF8'pI 8Z"]z"zzz"zzLI8'pI 8Z"]z"zzz%"zz{i+k ;8[i* *  "zzzz4"]z4"]z4"]z4"]z8"]z{i+k ;8[i"C- *";i  *";i H *"zzz"G{i+k ;8[id+4"]zE"O;i i "";i #";i {i+k ;8[i8ܠ dؠ إ8pI0* HF F "A;h"-zz"Pzzo H8";e H. . "A;hU""zzzz"zzzz"b zz""zzzz"zzzzA"]z""zzzz@"zzzzRHRh֭RHRh"b zz""zzzz@"zzzz"4z"4z""zzzz@"zzzz:"zzz"4z"VNzz"NPz"-zz2"^Xzzzz"QBzzzz䂫"^Xzzzz7"QBzzzz HR R "A;ha HR R "A;h"QBzzzz-"]z"QBzzzz8"]zHG"zzzddހ A"]z@ަ"zzzzH"zzz"QBzzzz "C-"QBzzzz "C- ;1 1  "zzzz7 7  "zzzz m HR R "A;h 8H$"zzz= =  "zzzz0 HR R "A;hH H  "zzzz RHRh ( H^ ^ "A;hH"OzzzK H8";e H. . "A;h"VNzz"NPz{i+k ;8[iT"b zzW"b zz"b zz>RH"b zz"b zzRHR"4z"zzz"zzz "b zz"zzz"zzz"b zzRH"b zz"zzz"zzz"b zzRHR"4zr"b zz"zzz"zzz "b zz96fNfNfNOOfNOOOOOOsNNNNOXOO::: |O{i+k ;8[iIR) "b zz) "b zz) "b zz "b zzRHR"4z{i+k ;8[i""zzz "zzz"4z""zzz{i+k ;8[iH"^Xzzzz\ H"^Xzzzz@%  {i+k ;8[i"^Xzzzz "5zzU "Rzz> 0iH"-Qzzzz H"Az"R H"-Qzzzz H"A;hv H"/zzzzi"2zz\"BzzO")Izzz?"zzz/".zz"8RRRRbRRERrRR:: |R"zzzz{i+k ;8[id 9"]z{i+k ;8[i ddd΢dH ꪠ"I<0ꪠ̅ʠʅԠʅҠʅХШ֩dd *⪧Hh̦ Hh ޥ8pI0"(-"C- ڠ "Az i eڅ"-zzܥ&"-Qzzzz" zz"(-"7:zz< "-zz++"zzzz+"zzzzH(H8">hH *"zzzH *"zzzm5QH"-QzzzzH"?zz"-Qzzzz K"]zQ"]zA"]z@"zzzM"]z2"]z3"]z *"zzz"zz-"]z *"zzzO O  "zzzz9"]z9"]z9"]z9"]z9"]zB8pI0"(-/8pI "C-"Az " zzK"-Qzzzzꪠ!"=zzV V  "zzzz_#"zzz "zz"/z"oz"zzz""zzz` ` E"zzzz$"zzz "zz"oh8 pI0"dހ9"]ziޥ8pI7K"]zQ"]z"]z"zzzM"]zV"]z ޥ8pI0" -"f- i i  "zzzz{i+k ;8[i ":zzvj  )7   H {i+k79;=?PЁЂ,ώ  JLNPRTVXZ\^`bdfhjlnpׂ nprtvxz|~  "$&3ȂсCy%_p 6B&.6DUt|+#HR`j F FYhy0=L\6@GU_dq5Ahv_q Qeq (2LThu*9EK$0B]P\"3?d:Vю (4Pdy$=Ranz7RZu}{ 4GYhv%7FR_mu|N^v#> )o} 3JR^s},6CITZahs<4? JT`m~ +Fg $+MYs '4Jky '7C^m}%4csCVm.=JYiw΁ p !:~*=HPX`h| (=M`q28O(Ur .Lm#AMQ<_MS,-ˁ{HD\t@b{S)YkkFXi.OC=,,QB|5L/:hMPX^orx{~ x~   Ӓdd ""%"" FHT¥""{iH"Xzzzz""{iH"XzzzzHH";hH[["A;##{iH"n?;i8bRpIK##{iH"Xzzzz"zH{iH"Szzzz##{iH"Szzzznʆ & &H炢"A;hH{iH"Xzzzz H{iH"Szzzz{iH"Szzzz{iH{iH"Szzzz&#&#{iH"Szzzz{iHBB"cyzzzzBB"Rzzn(#(#BB"cyzzzz:8pI:Hih) "^zzeJZ{iHlsls"XzzzzH"CzzHjshhsH";hH[["A;hrhr"Xzzzz>#># J"1z{i+k ;8[iPNH"Jzzzz{i+k ;8[i.."Jzzzz{i+k ;8[i Htutu"A;h7H Htutu"A;hhHh "1z{i+k ;8[irupubrupurupuzuxuHhrupuHzuhxuHruhpu{i+k ;8[i Hlulu"A;h H|u|u"A;h88pI0d!"zHhe Hlulu"A;hHh H|u|u"A;h8Hi"A;h{i+k ;8[i0dHdd"A;h)-Hdd"A;h)H0e00)0{i+k ;8[ifd)fdjhfdfd"1zjhjhHhjhHhjhb`Hhjh Hh jhb`{i+k ;8[ib`Nb`b`fdHhb`fdb`{i+k ;8[itv"1zzx'vtzxvt vt{i+k ;8[i88pI R"z8B$8H8h HIkIk"A;h0xz "z0 Hhphp"A;hrp0 Hhphp"A;hzxHhrp HhBHdd"&UzzH"zzHh dd H"Xzzzz>B  {i+k ;8[i"1z "z0)? Hltlt"A;h Hltlt"A;hHhHhdd"&UzzH"zzHhddꪠH"Xzzzz{i+k ;8[i8H8h HIkIk"A;h{i+k ;8[i8:8 HIkIk"A;h Hhphp"A;hdd 쪠 쪠 Hh2 쪠H Hhphp"A;hhHhvt Hhvt{i+k ;8[i0 Hhphp"A;hdD7  0D(dd H"xUzzzzDd +dd H"xUzzzzo87pI*ddH"xUzzzz8H>(dd H"xUzzzz48RpI8XpI0d nl{i+k ;8[i"0)? Hltlt"A;hdn8PddH"xUzzzz{i+k ;8[i:8pI:Hih)H"^zz ^ :8pI:Hih)H"^zz H"Rzzz HHhHcc"A;hh  8pI0Hcc"A;h c)""1z{i+k ;8[iHhHcc"A;h)" {i+k ;8[i  H"A;hHHOO"A;h)e i H"A;h8pI0' i H"A;h8{i+k ;8[i  H"A;h))v8 pIc 2a"zHhHdd"A;h 4HHhHdd"A;hh )z"%80pI087 pIq80"%80pI#87pI0 m80"%80pI#87pI0 m80"%g  w o\g_ W:Hdd"A;h)20 \bfnprtnv"%8pI*HHhHdd"A;hh )"%). a)(HOO"A;h)"%"e H"A;h  8pIS8pIU"z N"z8(pI!Hdd"A;h I"H{i+k ;8[i<d)_?#?#dd"xUzzzzH#H#dd"xUzzzzd)L5ʎHQ#Q#dd"n?zzzzz>" d H";hH[["A;dd"Xzzzzdd"&Uzz:"" e'", nl7nl8Hdd"A;h)8ZpI8 L"Hdd"A;hL d)0d)8ZpI d)8 d)XHdd"A;h)8Z)pI"Hdd"A;h)8 Hdd"A;h)808 pI88pI0<8pI/H & & & &"A;h<8pI0pHdd"A;h)808 pI098pI,H & & &"A;h<8pIdpHdd"A;h)808 pI098pI,H "t<h"A;h<8pIdd"+zzzz<< "z{i+k ;8[i" "{i+k ;8[i."m5<"!3 d8pIc8pI0VHdd"A;hHHH";hH[["A;h"A;hh HH";hH[["A;h"A;h "m5_J"z.TR"m5{i+k ;8[i"PzzHuhu"u"Pzz'ʢHuu"I<{i+k ;8[i"m5 D"z>Hdd"A;hH8Hhoho"A;hh 8pI0 8pI8Hhoho"A;h "m5H"QzzHT#T#hoho"Dzzzz"I<hohoH";hH[["A;"Xzzzzhoho"zzK"O J%V#V#"zzJH"zH"[zz"1zhohoH[h[",C"1zhohoi#i#"Tzzzz" "m50. H[["A;h"z"1z{i+k ;8[id"VK"z" "A6.e"z"z"j" BB" (^d"%"<"m"zxzx2"0""z "_F5;e", nl29nl-nl2nli8pI0 H{i"A;h{i)H H{i"A;hh)H H{i"A;hh)H H{i"A;hh)H H{i"A;hh8pI0! H{i"A;h 8pI0! H{i"A;hdK8pI0<Hdd"A;h)H H{i"A;hh8pI" H{i"A;h"' B8pI"z H"1z Hhޅܢ{iHihHޥHiܥސhhœ."m5.{i+k ;8[i"Xzzzz/"4zzz )/"XzzzziHihH"Xzzzz{i+k ;8[iL)/CL )H"A;h))L)/{i+k ;8[iHw#w#H";hH[["A;"Dzzzz"I<U@H";hH[["A;y#y#BB"cy;i BB"Rzz" "m5{i+k ;8[i8pI""z"j8 H[["A;hHh8 H[["A;hddLL"Xzzzzdjd>78pI0*HHLL"A;hh "%HLL"A;h "%"G7LLH";hH[["A;"Xzzzz"|M)>H";hH[["A;LLMM";i "H";hH[["A;LL##";i "MH";hHMM"A;h)LH";hH[["A;LLH";hHMM"A;";i NH";hH[["A;LL8H";hH[["A;";i "r8pI0: H[["A;h H[["A;h"z "z"j{i+k ;8[i68pI=6 Hkk"A;h)8pI0668pI76 Hkk"A;h"%({i+k ;8[i68pI=6 Hkk"A;h)8pI0668pI76 Hkk"A;h1"%:{i+k ;8[i   ."%{i+k ;8[i d 6 Hkk"A;hHih)8pI0HihHh HihHh HihHh HihHh e$8pI08 pIHih)dHd)8"g>h"A;h"A;h"A;hTR "zRT "z"m5{i+k ;8[i"K,8 pI08 pIxTR"m5"K, TRH8"t<hTR;TRH8"<zzTRTRH8"<hTRd{i+k ;8[i". LTR"m5".mRHmThTR8RHThTR{i+k ;8[i"/ TTR"m5"/TRH8">hTRTRH8"g>hTR{i+k ;8[i"08pI08 pITR"m5"01TRH"I<pI0ʎTR/TRH"I<pIʎTRc.TRH"I<pI0ʎTR.TRH"I< pIʎTR{i+k ;8[i"0 qTR"m5"0)TRH"I<ʎTR'TRH"I<ʎTR|{i+k ;8[i"1TR"m5"R2-RH-ThTR{i+k ;8[i"R2TR"m5"2MRHMThTR{i+k ;8[i"2TR"m5"2 RH ThTR{i+k ;8[i"2TRF"m5"2TR1<"z"m5"2 TR{i+k ;8[i\" "m5{i+k ;8[i\."m5<"!3.< "zRT"z4zz _"m5{i+k ;8[i\"e"z4zz"m5{i+k ;8[i\"e"z4zz"m5{i+k ;8[iddd" "4h"xEUV\W\ FW#^8 pI"A6W"z 5K" "m5{i+k ;8[i"z4zz{i+k ;8[i68pI"'"e2:4"*z"#` 8pI0C"H"*z: :":4"*z"*z6ffHkhk"'{i+k ;8[i"m5V4658pI0 458pI0H"Qzz: H[["A;h H[["A;h^@H";hH[["A;##BB"cy;i BB"Rzz" "A6"p""+"^ "3"4}"F4v"N5o"3h"a##dd"xUzzzz""z20EFRSTUVWXL7R{i+k ;8[i,"3zzz~H"L;hHH";hHMM"A;"FBzzzzz##H";hHMM"A;"SzzzziHihg,H";hHMM"A;"Xzzzz{i+k ;8[iBHMM"Xzzzz/MM"4zzzJH H M ʆ & &H"A;hʆ & &H"A;h)-ʆ & &H"A;h))d H##"Tzzzz"1zʆ & &H"A;h8HhdiH"A;h)=kiH"A;h)EiH"A;hHHdd"A;hh iHdd"A;h 8pI H##"  Tzzzz"1zdH2";hH"A;hRPd1Hdd"A;hHRPPRh 8pIdH{i"A;h iH"A;h)=iH"A;"&UzzHH{i"A;hh H"A;hHH{i"A;hh )lH{i"A;h H{i"A;h1 H{i"A;h Hd";hH"A;hNLd=H{i"A;h)HNLHiLNNhh8pI)d H##"Tzzzz"1zʆ & &H"A;h8HhdgH2";hH"A;iHihH"xUzzzz*H2";hH"A;h 8pI H##"Tzzzz"1z)Yʆ & &H"A;h)HH$$"Tzzzzz"1zʆ & &H"A;h8HhiH"8zz )Yʆ & &H"A;h)HH3$3$"Tzzzzz"1zʆ & &H"A;h8HhiHdd"Xzzzzd>Hdd"A;hHHoo"A;hh 8 pI&Hoo"A;h 8 pI͂ʆ & &H"A;h)HHO$O$"Tzzzzz"1zE? :>??= :>???=A1DIPSUdipqsuA">hh|kA}( Hg$g$"Tzzzz"1zʆ & &H"A;hHH";hH$$"A;"Xzzzz8pI0$dM H"A;hHH";hHMM"A;"Xzzzz8pIMMFDaD)AFD"&Uzz8HFD"A;h)/$$FD"SzzzzFDHiDFFh8pI{i+k ;8[i\W"z8NPPPNH"Qzz{i+k ;8[i8NPPPNH"Qzzxv~HnuhluHruhpu|u~uHvuhtuHzuhxu(9(ʆ & &H"A;hHh((8 pIPh"2$$ 6NPD8VXtvb`fd@>JLZ\(-( Hhphp"A;hHh((8pIÜ(-( Hltlt"A;hHh((8?pIÜ*7(,*H*hH"A;hH,H,hHdd"A;hh )" "1z~|~|zx0 Hhphp"A;hrp0 Hhphp"A;hzxHhzxrp Hh*8,H"A;~|hHh~|(((8`pI0(@(H2";hH"A;h),H,H,hHdd"A;hh )"" (Hd";hH"A;hi H"1zHh Hh*THihH*ʆ &H "A;hh**8pI ((8pI0{i+k ;8[i{i+kuAAkmoqsuwy{}6*ÂZk5f R=6:I^vzt. &Aq "'3B]aos6QEI{\ =I$ED`<;@_c6;A\`ot-1EI^tx -FJipt !3;Ugo "+?C`6M NR^ryه@BFhx  3]gw0GUow|  +5]&@ERWmrzcnBj!`NuH ZClE/3b}*Gp< K #)K[aJh 2KR[hmxɁd 0_'Z 6Sd~ -?Ko -fvT{e{ 9tPy\Rbh6nm O[{Ila|']--2&6H /M`pt 1XNQTW^ay2TWZtw&)I;?8=o ,/\_nq *-dg{~  16Tq!>AM`pu,9G]m$FIV_gmv'.147:TW 0DPSadms,/  !$vy$7HSV Cx#~6G7?FIPewz  %(8>Aniny< j#8 3@DfilIn| '/7?]k!+LOR]d @m 9AL 03:| !&DY^xWgjqtz%(+KNTd{  ;>D #&TWgjor ADQTwz!$BEbel 14;NQXc%RY 4y "QYdgoYdlX N ADt>A~(58loru^adg jo8FNV`c,UXfilox{~ ;>NS} ,/2LO\_fiy} J 5Kr'Q$DRfl%2=]`ʁx$*< Ei'4:pNuu3nJ V\0h% -3Ej.9(_:+f"~UP5]<$\E 8Nu$N!AOci(/@`?g]KrE G&B},0qw$Dm9? XGe ;c}́{!'9 Hl*17sQxx6qMY_3k(#*0Bm}+6+\=.i{R"S8`?'_$ ,@ assembler  ;8[icc쮦)Hh Hh í譨"zcc쮦)Hh Hh {i+k ;8[i">"z5. 0( %"z%H%h @"z{i+k ;8[i"A6& "A6 "A6"{i+k ;8[i6"A6"J0OH"zz""A66"A6""A"~z"A6"A6"H"A60'"A6Y"~z"A6@0"A6X"~z*"A6>"z"A6gS"~zQ"A6"A60"A6Y"~z"A6>"zp"A6,O0?"A6X"~zT"A6<0"A6>"z "A6"- "A6 l I"zY "A60-"A6Y"~z"A6 h"0v"A6X"~z"A6@LY"~z"A6 )S"~z"A6J0-"A6X"~z"A6 n0Q"A6X"~z"A6(Y"~z"A6 @{i+k ;8[id)H"z d){i+k ;8[i8apI8zpI08 {i+k ;8[id   "A6, "A6 "A6">"zQ"!3TR)H)hHTR8">hTRH"I<,$8pI08pI{i+k ;8[inlnlHnl)nl "A67dnlnlnl)XnlHnl H"vzzzznlH" zzonl)@nlH" zznl nl"A6 "  0ddÈÈ"Xzzzzdd"A6 U "A6"!3"!3HTR"A;hTRTRHTR8">h{i+k ;8[inl >"A6 nl>.nlHe"A6 >{i+k ;8[i?"z{i+k ;8[i\dddd)))8ZpI)8 ХHe8"=h Hㅢ"A;hdd) )H)٧)H)8pI0)H) Xʆ &H"A;h)H){i+k ;8[i{iV"A62#"z"A635.ccHh )ӭ"b$dd"zz"A6"A6ۜ "3 Vd)H"zDd)H"zCd)d)H"z&dBLWL <"A6" 捖">"z0ƀ "  " D: "A6 HSS"A;hu  "zz(!HH"*zzz '&쭔H"zz" H"]zD) :) V3_/>"z/" "A6_"A6 .V{i+k<`|cGm|Ne .Ru<q}΁'Aj%ygo =IM_p@Or !Ea'6Z}!D7Re%Ax59?UyB #)-bwXl@bgjv&)/5=@IQTWZeh +9FQt} #,/5S\_b(147Viq=FIajm (14KTWfor*=EXi *-036BEhk-069?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ET.ROOT> MEMCPY.ROOT= MEMCMP.ROOT< MEMCHR.ROOT; MEMCCPY.ROOT: CTYPE.ROOT9 ATOL.ROOT8 ATIO.ROOT7ABS.ROOT6 UNGETC.ROOT5 SCANF.ROOT4REW.ROOT3 PUTS.ROOT2 PUTCHAR.ROOT1 GETW.ROOT0 GETS.ROOT/ GETCHAR.ROOT. FTELL.ROOT- FSEEK.ROOT, FREAD.ROOT+ FPUTS.ROOT* FPUTC.ROOT) FGETS.ROOT( FGETC.ROOT' CALLOC.ROOT& FPRINTF.ROOT% CSANELIB.ROOT$ CLIB.ROOT# FLIB.ROOT" SETJMP.ROOT!PTR.ROOT STRINGTOOL.ROOT SETBUF.ROOT PUTW.ROOT MALLOC.ROOT FWRITE.ROOT FOPEN.ROOT FLSBUF.ROOT FINDIOP.ROOT FINDBUF.ROOT FILBUF.ROOT FDOPEN.ROOT DATA.ROOT MATH.ROOT SHELL.ROOT TXTTOOL.ROOT PRODOS.ROOT MSCTOOL.ROOT LOADER.ROOT INTMATH.ROOT CQUIT.ROOT STACKMIN.ROOT NOTESEQ.ROOT DB.ROOT IOPTABLE.ROOT SYSUNIX.ROOT DEVSY.ROOT DEVCO.ROOT RUNTIME.ROOT MEMMGR.ROOTDEVHANDLER.ROOT DEVFS.ROOT BASICIO.ROOT`w%R;%4',O- @Ɉ;'GA%FGS4OI|WL_K~g%>+o(RHu#5b#P@%:`Fz-/QQĆx[@DZ@vY@X@W@V@" U@:@h%@B!%k .@6@0>@F@ޠN @V@|^@xwf@mn@Wv@L~J~ۜ@@+o _W*.CTzAv%:#@I)Hc%)5P.`nW_"'Xa-^9NB*kKHȯN_Z@@*t`$)kWsqyNfo,%1v%'%B4;T@#+'L#C#@p#7e'#/kM8@in>%I mUt^%@b%k?fo#x z%"%c,>?[DZv%.#l |xwmZv | {xwZv'09 B|KxwTZv]f-ox|Zv-Zv%r-Zv@uLZvZvV@%%Zvf{xw\#, 5%@>> bE LLUT@^%Bdm_@"v\@3[@N@A@sw@@u#@l@?@@@@w@m%*#yS%3%j9$##g,%85\?%[H}Q'XFX%<a#g#lq5cx$6w%#%8%!$$-#ZvmZvZv$#Zvޠ `3Zv%Zv/$8<k?%k=M#TV] dqP5d%&$ #=ll%$#v`^:h_K$N #[6d#%=#@{}T@4%b&#/6@@`GM?mT>4m[$4 aZ@Nh$ n$c t%`6##Bw%w2$v RH#"$- Cx%)%$ T@7aGg{ @@t Dy $  0 :\& }3 %8 {+= ҰB dJ eT \ da %/f %Rk Ys X{ W U Ey Av Y %B ۱ j N  $H O  [ %B  ] U M8 %B  %B   x$ Asw, %B4 < 8mfA %BI Q V >r^ %Bf %4n %v ?  _ #I 9g L V( Z () V 0V m @u < 1Y % %" %D # +c L %= ]+' L1 _l> !0F #P #JZ #0d )n Lx %33 IY  { %B n %4 @ 5 38\ < d 0 #l \3 #e %x %B  $ T %B% %B. 6 ? [O %BX %Ba j wu (} %B %B %A  %B %B $  %B %B %B $ %B %B R %B %B %B y /U$ %B- %B6 m< %BE %BN V %B_ {g @jo xz  ^ ] %T< @0 C m #k ; k   #* V"%;%7ZC2 ['"@/#6&E>%0FGT\H |dl@|yGetOutputDevicesetenvironmentsignnumfread _initIOPtablecfreescalbsprintfstrncmpstrrchrstrpbrkannuityfgetc _FROMFLOATscanf_STEX80tolower getprecision GetErrGlobalsstrcspn _1_FreeListfseektouppercreat~arrays~arrays~arrays~arrays~arrays~arrays~arrays~arrays~arrays nextextended~arrays~arrays~arrays~arrays~arrays~arrays~arrays~arrays~arrays~arraysstrncpyEXECUTElseekqs1SaveDB GetMouseClampcloseftellfcntlsrand setprecision _FROMULONGabortfopenfgets_exit setexceptionioctl GetOutGlobals_StdDevs~resultldexp LoadSegName_0saveptfputcfloor GetAbsClampqsexc _STRUCTCMPfrexpVERSIONerrno _initargcv_coCloseGET_VARwrite classfloat_coIoctlpower _50INFINITY_fsClose ReadTimeHexsetup_TOCOMPfputs_TOLONG_fsIoctlhypotSET_VAR_STCOMP _coReadLineabs_PUSHFR_faccessqsort nextdouble _coreIOExit_coWriteinfnan_findbuf_INCEX80GetLoc_syCloselogtan_fsWrite~string0~string0cos_0temp~string0~string0~string0~string0~string0~string1~string1STOP~string1~string1_syIoctl~string1~string2~string2_cleanup~string2~string2~string2~string3~string3_endopen_findiop~string3~string4~string4dup~string5sin~string5 InitialLoad~string6_0qseseofparam~string7~string8cvtexp~string9_lastbufREDIRECT_syWrite _4lineBuf_bufsync_xflsbufSTACKMINrelationp2cstrc2pstruseparamfpnumber_52PIGET_LANG~globals~globals~globals~globals~globals~globals~globals~globals~globals~globals~globals~globals~globalscompound_FROMDBL_addDevHandler classextendedgetround_BINSRCH_INCCOMPtesthalt RestoreDBcopysignSET_LANGcallocprocexit_FADD _2commandfscanf_ILSHIFT _5linePtrlog1setroundlog2_LADD_LLSHIFT_TOUCHAR ~string10 _0_SAGlbls ~string11 ~string12_IRSHIFT_TOFLOATmalloc ~string13 _0shellpbGetErrorDevice ~string14 ~string15_LRSHIFTmemchr gethaltvector_STFLOATfclosefdopen READ_INDEXED_getDevHandlersscanfexp1_LAND_FROMINTmemcmpexp2_FNEGGetInputDevice UnloadSeg_ctype ReadMouse_LNEG_FCMPungetc_TOULONG sethaltvector_FDIVfflush _mapOSerrnumberrewind_FROMUNSsetbuf _allocMemgetenvERRORmemsetmemcpy_IDIV_toint_LORA_LDIV testexception_FSUB_FCPXstrcat classdouble_LEORfwriteunlinkprintf_FMULsetjmp_LSUB_1_seamstrchripowerregX_IMULstringonexitstrlenqstexcstrcmp_LMUL_iob_RTInit GetInGlobalsfabsreadceil_RTExit DIRECTIONPDosIntfreeatanlogb_0float_0float_0float_0floatstrcpyrandmodf_1floatfmodacosstrtok _CALLFUNCstrtol_3floatSDivide_4float_4floatUDivideatofstrspn_5float_5float_6float_6floattanhasin_0randx_7float_7floatatoi_8float_8floatcosh_coRead_9floatdec2numnum2dec_1_installCleanup_9floatFWEntry _INCFLOATatol fileparamecvtsinhopenfcvtgets_IntEnv_1qscmp_fsReadgetw remainderstr2decdec2str GET_LINFOexit markparamrintLongMul pathparam WriteTimeHex_NewPtr _STDOUBLE _FROMCOMP _FROMLONG SET_LINFO openparam classcomp_growfiletable_syRead_48NaN _coFAccesssqrt_fsOpenputs _EqualStringputw _fsFAccess_1one __dataBank_TODBL nextfloat_10float_10floatatan2_doscan_20float_11float_filbuf_11float__LIB_VERSION___21float_12float_12float _6lineSizefaccess_22float_13floatpi_13float_23float_14float_LCOMP_51float_24float_15float_BLKMV_25float_16float _getIOPort_53float_26float_17float INIT_WILDCARDgetchar_27float_18floatretPC_28float_19float_flsbuf_49floatrealloc_dirrnd _syFAccesslmallocRestart LongDivide procentryCQuit_fixexceptions NEXT_WILDCARD StandAlone_TOINTmemccpyfreopen_wrtchk _INCDOUBLE_0decrecgetenvironmentsethalt_doprntputcharlongjmp_TOUNSfprintfrandomx WRITE_CONSOLE_uerrorstrncatsetvbuf _atrigcommon~1,>main faccess ;8[i"_faccess;i {i+k/,;main open ;8[i{iH" _getIOPort zz 8iHhd{iH"_faccess;i ,H誠"_LCOMPHh {i+k$,<main close ;8[i 8pI0"_uerrorzzv {iH" _getIOPort zz P' " _CALLFUNCzz H"_uerrorzz {i+kj,;main read ;8[i 8pI0"_uerrorzz {iH" _getIOPort zz ) "_uerrorzzn? Hhꪠ " _CALLFUNC zz H"_uerrorzz H8 {i+kk,<main write ;8[i 8pI0"_uerrorzz {iH" _getIOPort zz ) "_uerrorzzn? Hhꪠ" _CALLFUNC zz H"_uerrorzz H8 {i+k,<main ioctl ;8[i 8pI0"_uerrorzzm {iH" _getIOPort zz F6-ꪠ" _CALLFUNC zzzzz H"_uerrorzz 8pI0 "_uerrorzzH8{iH" _getIOPort zz  {iH" _getIOPortzzHHH"_BLKMV2hhhhfꪠ" _CALLFUNC zzzzH"_uerrorzz  fLioctlV {i+k5,Amain _fsFAccess ;8[i8 )@I@> "_fsOpenzzzz+"c2pstr zzH pathparamh pathparam pathparam pathparam"PDosInt"p2cstrzz"c2pstrzz"c2pstr zzH pathparamh pathparamH pathparamh pathparam pathparam pathparam"PDosInt"p2cstrzz"p2cstrzz"c2pstr zzH fileparamh fileparam fileparam fileparam"PDosIntd  fileparamH fileparam h fileparam fileparam fileparam"PDosInt"p2cstrzz  _fsFAccess> _fsFAccessQ _fsFAccess _fsFAccess _fsFAccess _fsFAccess88d | _fsFAccess=_toolErr_toolErrHH@ {i+k+z@,>main _fsOpen ;8[id"c2pstr zzH fileparamh fileparam fileparam fileparam"PDosInt_toolErr))  fileparam)) fileparam) uH openparamh openparam openparam openparam"PDosInt_toolErrN)C Heofparamheofparam openparameofparameofparameofparam"PDosInt_toolErr openparamuseparamuseparamuseparam"PDosInt_toolErrF) fileparam  fileparam)   fileparam fileparam fileparam fileparam fileparam fileparam"PDosInt_toolErrJH openparamh openparam openparam openparam"PDosInt_toolErr_toolErr!H pathparamh pathparam pathparam pathparam"PDosInt_toolErr"p2cstrzz_toolErr_toolErr H_toolErr{ H_ownerid H "_toolErr+h Hh  openparam%  H@ {i+k,?main _fsClose ;8[i% :8 pIh! useparamuseparamuseparam"PDosInt_toolErr_toolErr_toolErr H"_toolErr_toolErr_toolErr {i+k2,>main _fsRead ;8[i" useparam HuseparamhuseparamHuseparamhuseparamuseparamuseparam"PDosInt) Luseparam useparam !)  8pI0_toolErrLd_toolErrA 8useparam Huseparam h ouseparam Houseparam hHh {i+k,?main _fsWrite ;8[i)! eofparameofparameofparam"PDosInt_toolErr[!  markparameofparameofparamH markparamh markparam markparam markparam"PDosInt_toolErr_toolErr ) H !)  8pI0! useparam HuseparamhuseparamHuseparamhuseparamuseparamuseparam"PDosInt_toolErrA 8useparam Huseparam h ouseparam Houseparam hHh_toolErr_toolErr {i+k ,?main _fsIoctl ;8[i] % 쪧eofparameofparameofparam"PDosInt_toolErr= markparamH markparamh markparam markparam markparam"PDosInt_toolErrzH markparam markparam"_LADDhH markparamh markparamPHeofparameofparam"_LADDhH markparamh markparam& _fsIoctll_fsIoctl_fsIoctl_fsIoctl  |_fsIoctl_toolErr 8 markparameofparam  markparameofparam  markparameofparamapI0W!eofparameofparameofparam"PDosInt_toolErr markparam markparamHeofparamheofparameofparameofparam"PDosInt_toolErr markparam markparam"PDosInt_toolErr_toolErr markparam markparam Hh 쪧q " 쪧>! 쪧eofparameofparameofparam"PDosInteofparameofparam Hh! 쪧eofparamHeofparamheofparameofparameofparam"PDosInt! 쪧 markparam markparam markparam"PDosInt markparam markparam Hhm! 쪧 markparamH markparamh markparam markparam markparam"PDosInt*'_fsIoctl_fsIoctl_fsIoctl_fsIoctl _fsIoctl_fsIoctl_fsIoctl_fsIoctl@_fsIoctl_fsIoctl_fsIoctl8f  |_fsIoctlW_toolErr_toolErr_toolErr {i+kFA,>~arrays ~arrays pathparamC fileparamC openparamC useparamC markparamCeofparamC{,?main _faccess ;8[i )HH"_LCOMP "_uerrorzzv_IntEnv_IntEnv_StdDevs_StdDevsH_IntEnvh_IntEnv_IntEnv_IntEnv'Hઠ"_LCOMP7i_IntEnv_IntEnvxeH"_LCOMPpI0@_IntEnv_IntEnvH8Hh"_LCOMPpI09ઠ" _CALLFUNCzzzzz8pI8.8_IntEnv_IntEnv_IntEnvpIHh)@4 )))d )d"_uerrorzz {i+k,Emain _getDevHandler ;8[i 8pI 8pI"_uerrorzz{_IntEnv_IntEnv_StdDevs_StdDevsH_IntEnvh_IntEnv"_LMUL_IntEnv_IntEnv"_LADDhڅآHت"_LCOMP"_uerrorzz8 ت؇8تؠHh8 تؠHh8ت ؠHh8تؠHh8تؠHh {i+kH,Emain _addDevHandler ;8[i_IntEnv_IntEnv_StdDevs_StdDevsH_IntEnvh_IntEnv 8pI_IntEnv_IntEnvކHeސ܅'Hڪ"_LCOMP7i_IntEnv_IntEnvކxeސHܥ"_LCOMPpI0_IntEnv_IntEnvކxeސHܥ"_LCOMPpI0"_uerrorzzSF 8pI"_uerrorzz2"_LMUL_IntEnv_IntEnv"_LADDh܅ʠHh8Hh8 Hh8Hh 8Hh8Hh H_IntEnv_IntEnvHܥ"_LSUBh8"_LDIVzz {i+k]xA,>~arrays ~arrays_StdDevsCSYSF _fsFAccess_fsClose_fsRead_fsWrite_fsIoctlSNOC _coFAccess_coClose_coRead_coWrite_coIoctlTSYS _syFAccess_syClose_syRead_syWrite_syIoctl,Emain _growfiletable ;8[idddd8H"_toolErrhH"_toolErr h8pI0-"_toolErrꪧ)H)hF""_toolErrH_ownerid H "_toolErrh_toolErr58 "_toolErr "_toolErr8<%ꪧH⪧H+"_toolErr"_toolErr⪧eHeh⪧eHehH"_LCOMP pI ⪧)H)h {i+kT,>main _RTInit ;8[iretPCretPCH_IntEnv_IntEnvhHh StandAloneR {iH pathparamh pathparam' pathparam pathparam"PDosInt pathparam pathparam ) H pathparam pathparam"_LADDh)/8 pI 8  _0_SAGlbls4 RH pathparam pathparam"_LADDhHH _0_SAGlbls5 _0_SAGlbls5"_LADDh8Hhh 8pI0 _0_SAGlbls4 _0_SAGlbls4H_IntEnv_IntEnvhHh_IntEnv_IntEnvH"p2cstrzz_argc_IntEnv_IntEnv_argv_argv "_toolErr_argc_IntEnv_argv_argvH_IntEnvh_IntEnv {i+ki,=main getenv ;8[i StandAlone } j_IntEnv _IntEnv"malloc z="c2pstr zz"GET_VAR zzzz"p2cstrzz"p2cstr zzH_IntEnv h_IntEnv {i+k4,=main onexit ;8[i_IntEnv_IntEnve5H"_LCOMPHh:i_IntEnv_IntEnv(eH"_LCOMPpI0 {i+kg,;main exit ;8[i)H"_RTExitz{i+k,<main _exit ;8[i_IntEnv_IntEnv eHhi_IntEnv_IntEnv(eH"_LCOMPpI0)H"_RTExitz{i+k,>main _RTExit ;8[i_IntEnv_IntEnv$e9H"_LCOMP" _CALLFUNCz88_IntEnv_IntEnv_IntEnvpI0_retCode_IntEnv_IntEnv" _CALLFUNC{i+kU,Amain _initargcv ;8[id_argc  StandAlone$(iHih ~string0~string0" _EqualStringzzzzz StandAlone  StandAlone H_ownerid H "_toolErrh_toolErr"exitz)^_argc)"'))")"w8 iH"_toolErr_toolErr"exitziHH몧"_LADD hh zu8 iH"_toolErr_toolErr"exitziHH몧"_LADD hh  ) )) x8 iH"_toolErr_toolErr"exitziHH몧"_LADD hh ^8 iH"_toolErr_toolErr"exitziH몧"_LADDh )  ) H"_toolErr "_toolErr_argciʆ & &H"_NewPtrzz_argv_argv 몧H_argv_argv!hHh몧Q)D)iHihHʆ & &H_argv_argv"_LADDhhHh8_argcpI_argcʆ & &H_argv_argv"_LADDhHh {i+k#,<main retPC ;8[i_exit__exit_"longjmpzzz{i+kTA ,?~globals ~globals StandAloneC}A ,>~arrays ~arrays_IntEnvCHS _0_SAGlbls _0_SAGlbls  ~string0C BYTEWRKS _0_SAGlblsCDT,Amain _coFAccess ;8[i~string0~string0" _EqualString ;i  @ dL _coFAccess5 {i+k[,?main _coClose ;8[i {i+k<o@,Bmain _coReadLine ;8[id 8pIGH ""_toolErrh Hh ) 2,8Hh "_toolErr)) "_toolErr "_toolErr) "_toolErr "_toolErr "_toolErr8JpIC "_toolErr "_toolErr "_toolErr {i+kc,>main _coRead ;8[i _6lineSize8pI0 _4lineBuf _4lineBuf" _coReadLinezzz _6lineSize _4lineBuf _4lineBuf _5linePtr _5linePtr  _6lineSize8pI0} _5linePtr _5linePtr )f _5linePtr _5linePtrHi _5linePtr _5linePtr _5linePtrEhHHihh :  _6lineSize: _6lineSize[ {i+kM,?main _coWrite ;8[i$ q#H H "_toolErr 8H"_LADDh) ~string1~string1 "_toolErro#H H "_toolErr 8H"_LADDh) ~string2~string2 "_toolErr H"_LADDhHh {i+k[,?main _coIoctl ;8[i {i+keA,?~globals ~globals _6lineSizeC _5linePtrC A,>~arrays ~arrays~string0C .console~string1C ~string2C _4lineBufCz,Amain _syFAccess ;8[i~string0~string0" _EqualString ;i @~string1~string1" _EqualString ;i dR~string2~string2" _EqualString ;i ,~string3~string3" _EqualString ;i d@)@ {iH" _getIOPort zz  @H%)H) @g-f檠쪠" _CALLFUNC7zzzz檠Hh 檠 Hh {i+k[,?main _syClose ;8[i {i+kZ,>main _syRead ;8[i {i+kH,?main _syWrite ;8[i H"_LADDhHh {i+k^,?main _syIoctl ;8[i3Hh& _syIoctl_syIoctl._syIoctl48f |_syIoctl= {i+kA,>~arrays ~arrays~string0C.null~string1C.stdin~string2C.stdout~string3C.stderrx@,@main _mapOSerr ;8[id   |tq _mapOSerr _mapOSerr] _mapOSerr _mapOSerr _mapOSerre _mapOSerrU _mapOSerrM _mapOSerr= _mapOSerrM _mapOSerr- _mapOSerr% _mapOSerr% _mapOSerr _mapOSerr5 _mapOSerr= _mapOSerr _mapOSerru _mapOSerr _mapOSerr} _mapOSerrm _mapOSerrE _mapOSerr= _mapOSerr= _mapOSerr.'+@BCDEFGHIKLMNPRSTWXZ _mapOSerr _mapOSerr,"_BINSRCHhh| _mapOSerr {i+k*,>main _uerror ;8[i" _mapOSerrzerrno {i+kj#,<main creat ;8[i "openzzz {i+kL,<main lseek ;8[i{iHf"ioctl zzzz {i+kI,<main fcntl ;8[i'f"ioctlzzz"_uerrorzz Lfcntl$ {i+kj$,:main dup ;8[i "fcntlzzz {i+kn#,=main unlink ;8[i d"faccesszzz {i+kMA,?~globals ~globalserrnoCw#,Amain _getIOPort ;8[i_IntEnv" _initIOPtableH_IntEnv8"_IDIVz88pI H88pI"_uerrorzz 8pIA"_LMUL_IntEnv_IntEnv"_LADD h "_uerrorzzdd]H8"_LMUL_IntEnv_IntEnv"_LADDh<i"_LMUL_IntEnv_IntEnv"_LADD"_LCOMPpI0"_LMUL_IntEnv_IntEnv"_LADD"_LCOMPpI_IntEnviH_IntEnv_IntEnvH"_growfiletable zzzz"_uerrorzzki"_LMUL"_LADDh_IntEnvi_IntEnvH_IntEnvh_IntEnv H_IntEnv_IntEnvH"_LSUBh8"_LDIVzz {i+k@,Dmain _initIOPtable ;8[i_IntEnv "_growfiletablezzzzH_IntEnvh_IntEnv8_IntEnv  _IntEnv" _IntEnv"_IntEnv"_IntEnv H_IntEnv_IntEnvH6+"_toolErr_IntEnv_IntEnvG4-f" _CALLFUNCzzzzi_IntEnv_IntEnv$eH"_LCOMPpI0~string0~string0"openzzz{iH" _getIOPortzzH_ownerid H "_toolErrVh Hh  ~string1~string1"openzzz{iH" _getIOPortzzH_ownerid H "_toolErrVh Hh  ~string2~string2"openzzz{iH" _getIOPortzzH_ownerid H "_toolErrRh Hh   _coreIOExit _coreIOExitH_IntEnv_IntEnvh Hh {i+kD,Bmain _coreIOExit ;8[iH_IntEnv8"_IDIV z8d "closez8pI {i+kA,>~arrays ~arrays~string0C .console~string1C .console~string2C .console[,=main SaveDB __dataBankHhk/,=main GetLocHHH "_toolErrh~resulth~resulth~result~result~resultk@,?DIRECT STACKMINk,<main CQuit")k.,>main SDivide ;[HH "_toolErrh~resulth~result+~result~resultkM,Bmain InitialLoad ;[HHHHH   "_toolErrh~resulth~resulth~resulth~resulth~result+~result~resultk8,Bmain ReadTimeHexHHHH "_toolErrh~resulth~resulth~resulth~result~result~resultk>,>main PDosInth;h;h!h!h"_toolErr;H;k&,Cmain GetInGlobalsHH "_toolErrh~resulth~result~result~resultkX,@main GET_LINFO ;8[iH _0shellpb _0shellpb "_BLKMV hhhh" _0shellpb_toolErr _0shellpb _0shellpb HHH "_BLKMVhhhh{i+k>,@main SET_LINFO ;8[iH _0shellpb _0shellpb "_BLKMV hhhh" _0shellpb_toolErr{i+k,,?main GET_LANG ;8[i" _0shellpb_toolErr _0shellpb {i+k,,?main SET_LANG ;8[i _0shellpb" _0shellpb_toolErr{i+k,,<main ERROR ;8[i _0shellpb" _0shellpb_toolErr{i+kJ,Cmain READ_INDEXED ;8[iH _0shellpbh _0shellpbH _0shellpbh _0shellpb _0shellpb" _0shellpb_toolErr{i+kD,>main SET_VAR ;8[iH _0shellpbh _0shellpbH _0shellpbh _0shellpb" _0shellpb_toolErr{i+k;,Dmain INIT_WILDCARD ;8[iH _0shellpbh _0shellpb _0shellpb"  _0shellpb_toolErr{i+k; ,Dmain NEXT_WILDCARD ;8[iH _0shellpbh _0shellpb"  _0shellpb_toolErr {i+kD ,>main GET_VAR ;8[iH _0shellpbh _0shellpbH _0shellpbh _0shellpb"  _0shellpb_toolErr{i+k; ,>main EXECUTE ;8[i _0shellpbH _0shellpbh _0shellpb"  _0shellpb_toolErr{i+kL ,?main REDIRECT ;8[i _0shellpb _0shellpb&Hh" _0shellpb_toolErr{i+k2 ,@main DIRECTION ;8[i _0shellpb" _0shellpb_toolErr _0shellpb{i+k,,;main STOP ;8[i" _0shellpb_toolErr _0shellpb {i+k1,>main VERSION ;8[i" _0shellpb_toolErr _0shellpb _0shellpb {i+k,,Dmain WRITE_CONSOLE ;8[i _0shellpb" _0shellpb_toolErr{i+kR A,>~arrays ~arrays _0shellpbC Lt@,Emain _fixexceptions ;8[iHHHHH" classextendedzzzzz) " setexceptionzzz " setexceptionzzz_fixexceptionsB_fixexceptions2_fixexceptionsR8 |_fixexceptionsU{i+k]@,Cmain _atrigcommon ;8[i" testexceptionz""nanz"_PUSHFRHH"_STEX80zzzzz " setexceptionzzz"_fixexceptionszz"procexitz{i+k,;main asin ;8[i "fabszzzzz"_PUSHFR {iH"_STEX80" classextendedzzzzz:"_FADDh_3floath_3floath_3floath_3floath_3float_3float_3floatx {iH" procentryzz?"_FCPXp|?"_FSUB {iH"_STEX80zzzzz"_FMUL@"_FMUL"_FSUB {iH"_STEX80zzzzz="_FMUL?"_FSUB {iH"_STEX80zzzzz " setexceptionzzz"sqrtzzzzz"_PUSHFR "_FDIV"atanzzzzz"_PUSHFR {iH"_STEX80zzzzz{iH" _atrigcommonzzzh_3floath_3floath_3floath_3floath_3float_3float_3float {i+k.,;main acos ;8[i " classextendedzzzzz:"_FADDh_4floath_4floath_4floath_4floath_4float_4float_4float {iH" procentryzz?"_FADD?"_FSUB"_FDIV"sqrtzzzzz"_PUSHFR"atanzzzzz"_PUSHFR@"_FMUL {iH"_STEX80zzzzz{iH" _atrigcommonzzzh_4floath_4floath_4floath_4floath_4float_4float_4float {i+kF,<main atan2 ;8[i " classextended zzzzz(! " classextended zzzzz:"_FADDh_5floath_5floath_5floath_5floath_5float_5float_5floatu {iH" procentryzzH"pi"_PUSHFR?"_FMUL {iH"_STEX80zzzzz"_FDIV"fabszzzzz"_PUSHFR"atanzzzzz"_PUSHFR {iH"_STEX80 zzzzz" testexceptionz""nanz"_PUSHFR {iH"_STEX80zzzzz " setexceptionzzz"signnumzzzzz( "pi"_PUSHFR"_FSUB {iH"_STEX80zzzzz {iH"_fixexceptionszz"procexitz"copysign ;i"_PUSHFRh_5floath_5floath_5floath_5floath_5float_5float_5float {i+k^{@,>main _dirrnd ;8[i"getround"setround z"rintzzzzz"_PUSHFR {iH"_STEX80zzzzz"setround zh_6floath_6floath_6floath_6floath_6float_6float_6float {i+k Q,<main floor ;8[i"_dirrnd ;i "_PUSHFRh_7floath_7floath_7floath_7floath_7float_7float_7float {i+k Q,;main ceil ;8[i"_dirrnd ;i "_PUSHFRh_8floath_8floath_8floath_8floath_8float_8float_8float {i+k" ,;main fmod ;8[i{iH"fabszzzzz"_PUSHFR {iH"_STEX80 "fabszzzzz"_PUSHFR" remainder ;i"_PUSHFR {iH"_STEX80zzzzz"signnumzzzzz*"_FADD {iH"_STEX80zzzzz"copysign ;i"_PUSHFRh_9floath_9floath_9floath_9floath_9float_9float_9float {i+k]: ,<main hypot ;8[i " classextended zzzzz(! " classextended zzzzz:"_FADDh_10floath_10floath_10floath_10floath_10float_10float_10float {iH" procentry zz"fabszzzzz"_PUSHFR {iH"_STEX80 "fabszzzzz"_PUSHFR {iH"_STEX80"_FCPXpX{iH"_STEX80zzzzz{iH"_STEX80zzzzz{iH"_STEX80 zzzzzԅ"_FDIV {iH"_STEX80zzzzz"_FMUL?"_FADD"sqrtzzzzz"_PUSHFR {iH"_STEX80zzzzz" setexceptionzzz"_FMUL {iH"_STEX80zzzzz"procexit zh_10floath_10floath_10floath_10floath_10float_10float_10float {i+k< ,;main sinh ;8[i "fabszzzzz"_PUSHFR {iH"_STEX80" classextendedzzzzzC"_FADDh_11floath_11floath_11floath_11floath_11float_11float_11floatDsinh;sinh;sinhu  |sinhx {iH" procentryzz_1_seamH_1_seamH_1_seamH_1_seamH_1_seam H"_FCPXp "exp1zzzzz"_PUSHFR {iH"_STEX80zzzzz"inf"_PUSHFR "_FCMP^?"_FADD "_FDIV "_FADD?"_FMUL {iH"_STEX80zzzzz {iH"_fixexceptionszz"procexitz"copysign ;i"_PUSHFRh_11floath_11floath_11floath_11floath_11float_11float_11float {i+k ,;main cosh ;8[i {iH" procentry zz"fabszzzzz"_PUSHFR"expzzzzz"_PUSHFR?"_FMUL {iH"_STEX80zzzzz?"_FDIV "_FADD {iH"_STEX80zzzzz"procexit zh_12floath_12floath_12floath_12floath_12float_12float_12float {i+k ,;main tanh ;8[i "fabszzzzz"_PUSHFR {iH"_STEX80" classextendedzzzzzC"_FADDh_13floath_13floath_13floath_13floath_13float_13float_13float!tanh;tanh;tanhu  |tanhx {iH" procentryzz_1_seamH_1_seamH_1_seamH_1_seamH_1_seam H"_FCPXp}"_FMUL"exp1zzzzz"_PUSHFR {iH"_STEX80zzzzz@"_FADD "_FNEG"_FDIV {iH"_STEX80zzzzz {iH"_fixexceptionszz"procexitz"copysign ;i"_PUSHFRh_13floath_13floath_13floath_13floath_13float_13float_13float {i+kW A,?~globals ~globals_1_seamC $ ?nA,>~arrays ~arrays_3floatC _4floatC _5floatC _6floatC _7floatC _8floatC _9floatC _10floatC _11floatC _12floatC _13floatC \A,?~globals ~globals_lastbufC_iobA,>~arrays ~arrays_iobCBBT ,=main fdopen ;8[i H"_findiop"_LCOMP NHh Hh Hh)=  ? "lseekzzzz  LarwLfdopen )+ )+)  {i+kd,>main _filbuf ;8[i )g )IH"_LCOMP "_findbufzz )J_iob_iob! ) "fflushzzi8_lastbuf_lastbuf_lastbufpI!Hh)HHH"readzzzz:8pI0.Hih)C' ) )   {i+k*,?main _findbuf ;8[ierrno_toolErr_1_installCleanup_1_installCleanup_cleanup_cleanup"onexitzz )Hh1^Hh)@ d6{iHfH"ioctl zzzz8pI H"_LCOMP H"_NewPtr#zzHhH"_LCOMPBd86dH"_NewPtrzzHhH"_LCOMP    H"_LADD4h Hh HhfH"ioctl zzz8pI  errno_toolErr {i+kYA,?~globals ~globals_1_installCleanupCc,?main _findiop ;8[i_iob_iob )/i8_lastbuf_lastbuf_lastbufpI {i+kT,?main _cleanup ;8[i_iob_iob"fclosezzi8_lastbuf_lastbuf_lastbufpI {i+k_,=main fclose ;8[i   )7 ) "fflushzz H"close z8pI0 )BHH"_toolErr "_toolErrHh'Hh {i+k ,=main fflush ;8[i ) q )S )HH"_LCOMP/H"_LCOMPpI0 "_xflsbufzz )  {i+k,>main _flsbuf ;8[i )RB H"_LCOMPpI07Hih ) )P"_xflsbufzz)4 )B {iHH"writezzzz)  )IH"_LCOMP0H"_LCOMP )D "_wrtchkzzx"_xflsbufzz:8pI86HHihh ) )H"_flsbufzzz ) ) {i+kg,?main _xflsbuf ;8[iH"_LSUBhHh)DH "_LSUBhH8pI08pI "_bufsynczz82pI+HH"writezzzz  {i+km,>main _wrtchk ;8[i )! )) H"_LCOMP "_findbufzzH"_LCOMP^ )DS H "_LSUBhH8pI08pI "_bufsynczz {i+kl,?main _bufsync ;8[iH "_LSUB h8pI0 Hh8 pI {i+k/,<main fopen ;8[i"_findiop H"_endopen;i  {i+k7,>main freopen ;8[i"fclosezz"_endopen;i  {i+kY,?main _endopen ;8[ierrnoo8 )errno> )+ )+)b )b )J  E  .arwL_endopen "openzzz8pI0e)r>Hh Hh Hh {i+kw,=main fwrite ;8[i8~pIw8opIh )IH"_LCOMP0H"_LCOMP )D "_wrtchkzzH8"_IMUL h)D ) H"writezzzz2d(  )H"_flsbufzzz 8pI0PCH8"_IDIVz3 H"_LSUBh8pI0/"_xflsbufzzHe8"_IDIV zH8 "memcpy#zzzzz8H"_LADD(hHhH "_LSUBhH8pI08pI "_bufsynczz 8H"_LADDh {i+k,=main malloc ;8[id  ti)8JJJ8pI0/H H _1_FreeList _1_FreeList"_LADDh"_LCOMP(" _allocMem zz  H _1_FreeList _1_FreeList"_LADDh H _1_FreeList _1_FreeList"_LADD&hH H _1_FreeList _1_FreeList"_LADD+hhHh   )Z )U" )8(pI! )~string0~string0"abortzziHih {i+kS@,@main _allocMem ;8[i8OpIH iH"_NewPtr zz EZ  )H H _1_FreeList _1_FreeList"_LADDh"_LCOMP~string1~string1"abortzz8pI0iiH8H8"_ILSHIFTh HH8"_ILSHIFTheH"_NewPtr zz8, [ i8pI0 / H _1_FreeList _1_FreeList"_LADD hHhiH8"_ILSHIFThi8GpI@ H"_LADD/hHhU   Hh H _1_FreeList _1_FreeList"_LADDh H _1_FreeList _1_FreeList"_LADD&hH H _1_FreeList _1_FreeList"_LADD*hhHhZ  {i+k,;main free ;8[i~string2~string2"abortzz8Hh)Z )U" )8#pI )~string3~string3"abortzzW)>(Q  H"_toolErr "_toolErr#    H _1_FreeList _1_FreeList"_LADDh88>pI7Hh H _1_FreeList _1_FreeList"_LADDhHh_H誧"_LCOMP)H誧"_LCOMPpI 誧 誧HhHh {i+k,>main realloc ;8[i "malloczh8Hh)Z )U" )8)pI" )~string4~string4"abortzz )B@iHH"_toolErr "_toolErr_toolErrHH"_toolErr "_toolErrh8Hh' iH8"_ILSHIFThJM"malloc z, H"memcpy zzzzz"freezz {i+k=,>main lmalloc ;8[i8 H"mallocz8 r/iHih)H)hiHihH"_NewPtr zz$$Z  iHih {i+k%@,<main abort ;8[i~string5~string5"printfzzzz{i+k A,>~arrays ~arrays~string0C5Internal malloc abort -- Corrupt segment in FreeList~string1C,Internal malloc abort -- FreeList not empty~string2CAttempt to free a 0 pointer~string3C0Attempt to free an unallocated or corrupt block~string4C6Attempt to reallocate an unallocated or corrupt block~string5C%s _1_FreeListC$,;main putw ;8[i{i 8pIx:8pIF:HHihh )  )H"_flsbufzzzy )  {i+kC,=main setbuf ;8[i   H"setvbuf;i  {i+k(,>main setvbuf ;8[iH"_LCOMPD )9"fflushzzHH"_toolErr "_toolErr6)Hh"_findbufzz {i+kh,Cmain _EqualString ;8[i)H)|)8apI )8zpI) )iA8aH)8apI )8zpI) )iA8a5 )3)) {i+kl,=main c2pstr ;8[iA)Hh  H"_LSUB h8  {i+k|,=main p2cstr ;8[iQ)& H h   {i+kW,>main _NewPtr ;8[iH_ownerid H "_toolErr h  {i+k\,=main setjmp ;[ȗȗ+kv3,>main longjmp-;[[HH Z;[ȷȷ hhhz+kf(,<main _FADD(;iHi H " zzzzzkz<,<main _FSUB<;iH H "   zzzzzkf(,<main _FMUL(;iHi H " zzzzzkz<,<main _FDIV<;iH H "   zzzzzkR,<main _FNEG;iH "k<,<main _FCPX;iHi H "h_0temp;i_0tempH((8P8k<,<main _FCMP;iHi H "h_0temp;i_0tempH((8P8kf$,@main _STDOUBLE$;iH H H "zzke$ ,?main _STFLOAT$;iH H H "zzkd$ ,>main _STCOMP$;iH H H "zzkd$ ,>main _STEX80$;iH H H "zzk+ ,?main _FROMINT_0temp;8  _0temp_0temp;iH "k. ,?main _FROMUNS_0temp_0temp;8  _0temp_0temp;iH "k|9,Amain _FROMULONG9  ;iHH "k.,@main _FROMLONG_0temp_0temp;8  _0temp_0temp;iH "k.,Amain _FROMFLOAT_0temp_0temp;8  _0temp_0temp;iH "k<,?main _FROMDBL_0temp_0temp_0temp _0temp;8_0temp_0temp;iH "k<,@main _FROMCOMP_0temp_0temp_0temp _0temp;8_0temp_0temp;iH "kO,?main _TOUCHAR\_TOULONGL,=main _TOINT\_TOLONGM,=main _TOUNS\_TOULONGd,?main _TOULONG_0tempO_0temp ;iH_0temp_0temp_0temp_0temp!HH "  "@  " zzzzz_0temp_0tempk;,>main _TOLONG;iHH "_0temp_0temp " zzzzz_0temp_0tempk-,?main _TOFLOAT ;iH_0temp_0temp " zzzzz_0temp_0tempkb#,=main _TODBL#;iHH "zkc#,>main _TOCOMP#;iHH "zkY,Amain _INCDOUBLE _2commandHH_0temp_0temp  "_1one_1one_0temp_0temp _2command ڢ "_0temp_0temp H H "zzkY,@main _INCFLOAT _2commandHH_0temp_0temp  "_1one_1one_0temp_0temp _2command ڢ "_0temp_0temp H H "zzkY,?main _INCCOMP _2commandHH_0temp_0temp  "_1one_1one_0temp_0temp _2command ڢ "_0temp_0temp H H "zzk',?main _INCEX80_1one_1one H Hڢ "zzke%,>main _PUSHFR%;8  Z;iH "kxA ,?~globals ~globals_1oneC ?_0tempC _2commandCI ,<main _LADD cckI ,<main _LSUB 8kH ,<main _LEOR CCkH ,<main _LORA kH ,<main _LAND ##kP,<main _LNEG HIhIkE,<main _IMUL H;[II FeIz+k,<main _IDIV H;[ jI I f   8 F F  I I zz+k"o+ ,=main _LCOMPH  8 zzzz(k ,<main _LMUL H;[2 II IIFf ee&IIzzzz+k^ ,<main _LDIV H;[3 II  I I  &&ff !  8  FfFf0II I I   zzzzzz+k"u$ ,?main _IRSHIFT8j JkX ,?main _ILSHIFT kI,?main _LRSHIFT H;[ !*8jf H;[ ! Jf   zz+kq',?main _LLSHIFT H;[ !  &   zz+kZ,=main _BLKMV ;8[i $" ii {i+kJ,@main _CALLFUNC:HkF,?main _BINSRCHHZZ / ( cJ)   hhhk8,Amain _STRUCTCMP ;[)       +;ik7,>main num2dec ;8[i"{iH "_toolErr{i+k^,>main dec2num ;8[i{iH "_toolErr h_1floath_1floath_1floath_1floath_1float_1float_1float {i+k,>main dec2str ;8[i "_toolErr$ )HiHihH"strncpyzzzzz)H"_LADDh {i+k6,>main str2dec ;8[i! "_toolErr{i+k Z,;main fabs ;8[i{iH "_toolErr h_4floath_4floath_4floath_4floath_4float_4float_4float {i+k?,;main regXkH,@main remainder ;8[i#{iH{iH "_toolErr"regX 8pI0 )I)h_5floath_5floath_5floath_5floath_5float_5float_5float {i+k Z,;main sqrt ;8[i{iH "_toolErr h_6floath_6floath_6floath_6floath_6float_6float_6float {i+k Z ,;main rint ;8[i{iH "_toolErr h_7floath_7floath_7floath_7floath_7float_7float_7float {i+k \ ,<main scalb ;8[i{iH "_toolErr h_8floath_8floath_8floath_8floath_8float_8float_8float {i+k Z ,;main logb ;8[i{iH "_toolErr h_9floath_9floath_9floath_9floath_9float_9float_9float {i+kc ,?main copysign ;8[i#{iH{iH "_toolErr h_10floath_10floath_10floath_10floath_10float_10float_10float {i+kw ,@main nextfloat ;8[i{iH"_STFLOATzzzzz{iH"_STFLOAT'zzzzz{iH{iH "_toolErr" _FROMFLOATh_11floath_11floath_11floath_11floath_11float_11float_11float {i+k|,Amain nextdouble ;8[i{iH" _STDOUBLEzzzzz{iH" _STDOUBLE'zzzzz{iH{iH "_toolErr "_FROMDBLh_12floath_12floath_12floath_12floath_12float_12float_12float {i+k!c,Cmain nextextended ;8[i#{iH{iH "_toolErr h_13floath_13floath_13floath_13floath_13float_13float_13float {i+kZ,;main log2 ;8[i{iH "_toolErr h_14floath_14floath_14floath_14floath_14float_14float_14float {i+kZ,:main log ;8[i{iH "_toolErr h_15floath_15floath_15floath_15floath_15float_15float_15float {i+kZ,;main log1 ;8[i{iH "_toolErr h_16floath_16floath_16floath_16floath_16float_16float_16float {i+kZ,;main exp2 ;8[i{iH "_toolErr h_17floath_17floath_17floath_17floath_17float_17float_17float {i+kZ,:main exp ;8[i{iH "_toolErr h_18floath_18floath_18floath_18floath_18float_18float_18float {i+kZ,;main exp1 ;8[i{iH "_toolErr h_19floath_19floath_19floath_19floath_19float_19float_19float {i+kc,<main power ;8[i#{iH{iH "_toolErr h_20floath_20floath_20floath_20floath_20float_20float_20float {i+k\,=main ipower ;8[i{iH "_toolErr h_21floath_21floath_21floath_21floath_21float_21float_21float {i+k&l,?main compound ;8[i,{iH{iH{iH "_toolErr h_22floath_22floath_22floath_22floath_22float_22float_22float {i+k%l,>main annuity ;8[i,{iH{iH{iH "_toolErr h_23floath_23floath_23floath_23floath_23float_23float_23float {i+kZ,:main tan ;8[i{iH "_toolErr h_24floath_24floath_24floath_24floath_24float_24float_24float {i+kZ,:main sin ;8[i{iH "_toolErr h_25floath_25floath_25floath_25floath_25float_25float_25float {i+kZ,:main cos ;8[i{iH "_toolErr h_26floath_26floath_26floath_26floath_26float_26float_26float {i+kZ,;main atan ;8[i{iH "_toolErr h_27floath_27floath_27floath_27floath_27float_27float_27float {i+kd,>main randomx ;8[i "_toolErrHHHH_28floath_28floath_28floath_28floath_28float_28float_28float {i+kX,Amain classfloat ;8[i{iH"_STFLOATzzzzz{iH "_toolErr"regXi) {i+kX ,Bmain classdouble ;8[i{iH" _STDOUBLEzzzzz{iH "_toolErr"regXi) {i+kX!,@main classcomp ;8[i{iH"_STCOMPzzzzz{iH "_toolErr"regXi) {i+k<",Dmain classextended ;8[i{iH "_toolErr"regXi) {i+kO#,>main signnum ;8[i{iH "_toolErr"regX 8pI0 {i+k7$,Cmain setexception ;8[i N "_toolErr"regX H "_toolErr "_toolErr> IH "_toolErr"regX%H "_toolErr{i+kR%,Dmain testexception ;8[i "_toolErr"regX H% {i+k&,>main sethalt ;8[i / "_toolErr"regXH "_toolErr6IH "_toolErr"regX%H "_toolErr{i+kD',?main testhalt ;8[i "_toolErr"regX% {i+kQ(,?main setround ;8[i H8"_ILSHIFT "_toolErr"regX)?H "_toolErr{i+k9),?main getround ;8[iH "_toolErr"regX8"_IRSHIFTh) {i+kO*,Cmain setprecision ;8[i H "_toolErr"regX)?H "_toolErr{i+k9+,Cmain getprecision ;8[iH "_toolErr"regX)8"_IRSHIFTh {i+k{(,,Emain setenvironment ;8[i "_toolErr{i+k,-,Emain getenvironment ;8[i "_toolErr"regX{i+kB.,@main procentry ;8[i "_toolErr"regX "_toolErr{i+ku(/,?main procexit ;8[i "_toolErr{i+kY0,Dmain gethaltvector ")k|*1,Dmain sethaltvector ;8[i "_toolErr{i+k+2,?main relation ;8[i"_FCMP"_FCMPa"_FCPXp@"_FCPX0"_FCMP {i+kHp3,:main nan ;8[i_48NaN_48NaN )) _48NaN HHHH_49floath_49floath_49floath_49floath_49float_49float_49float {i+k%W4,:main inf ;8[i _50INFINITY _50INFINITYHHHH_51floath_51floath_51floath_51floath_51float_51float_51float {i+kW5,9main pi ;8[i_52PI_52PIHHHH_53floath_53floath_53floath_53floath_53float_53float_53float {i+k@A6,>~arrays ~arrays_48NaNC@ _50INFINITYC_52PIC5h!@_1floatC _4floatC _5floatC _6floatC _7floatC _8floatC _9floatC _10floatC _11floatC _12floatC _13floatC _14floatC _15floatC _16floatC _17floatC _18floatC _19floatC _20floatC _21floatC _22floatC _23floatC _24floatC _25floatC _26floatC _27floatC _28floatC _49floatC _51floatC _53floatC f,>main fprintf ;8[i{i errno, "_doprnt;i )  {i+k,=main calloc ;8[iH8"_LMUL h8pI"lmalloczzH"_IMULh"mallocz z,HiHih8Hh8"_LDIVzz H"_LCOMPpI0 Hih {i+kd,<main cfree ;8[i"freezz{i+k_,<main fgetc ;8[i:8pI0.Hih) "_filbufzz {i+kl,<main fgets ;8[i t8pI0S"_filbufzz `P,H8hHh8 pI!H H"memccpy ;i "_LCOMP H"_LSUBhH"_LADD$h8H"_LADD(hHhH "_LSUBhH8pI08pI "_bufsynczz888 pIz {i+kn,<main fputc ;8[i:8pI86HHihh ) )H"_flsbufzzz {i+k,<main fputs ;8[id)IH"_LCOMP0H"_LCOMP )D "_wrtchkzzk H"_LSUBh8pI0"_xflsbufzzH"memccpy ;i "_LCOMP H"_LSUBh88H"_LADD(hHhH "_LSUBhH8pI08pI "_bufsynczz e8# )D"_xflsbufzz H"_LADDh {i+k,~,<main fread ;8[i8pI8pI0EH8"_IMULh8pI0Y"_filbufzzHe8"_IDIV zH8,H8hHh!HH"memcpyzzzzz"_LADD$h8H"_LADD(hHhH "_LSUBhH8pI08pI "_bufsynczz 8 {i+kN,<main fseek ;8[i)) 8pIG3 )%6H"lseekzzzzH"_LSUB"_LADDhH"_LSUBh )8pI0ʢH"_LCOMPpIH"_LSUBhʢH"_LCOMPpI0@H"_LADD!hHhH8 )%%Hh) H"lseek zzzzb )W"fflush zz)**)Hh H"lseekzzzz  {i+kh,<main ftell ;8[i 8pI0 ) Id )M d)>- ) H"_LSUBh UH"lseekzzzz8pIH"_LADDh {i+ko,>main getchar ;8[i_iob:_iob 8pI:_iob_iob2Hih) _iob_iob"_filbufzz {i+kX,;main gets ;8[i _iob8 pIc_iob_iob"_filbufzz r_iob_iob*H8h_iobH_iobh_iobH _iob_iobH"memccpy ;i "_LCOMP H"_LSUBhH"_LADDh_iob8_iob H_iob_iob"_LADDhHh_iob_iobH_iob_iob "_LSUBhH_iob 8pI0_iob8pI _iob_iob"_bufsynczz8 Q {i+k,;main getw ;8[i{i 8pIb:8pI0.Hih) "_filbufzzH h  ) )  {i+k,~,>main putchar ;8[i_iob:_iob 8pIBH_iob_iob7Hihh )_iob_iob)H"_flsbufzzz {i+k,;main puts ;8[id_iob_iob)v H_iob_iob"_LCOMPP_iob_iobH_iob_iob"_LCOMP,_iob#_iob_iob )D_iob_iob"_wrtchkzz_iob_iob _iob_iobH"_LSUBh8pI0_iob_iob"_xflsbufzz}H"memccpy ;i "_LCOMP H"_LSUBh_iob8_iob H_iob_iob"_LADDhHh_iob_iobH_iob_iob "_LSUBhH_iob 8pI0_iob8pI _iob_iob"_bufsynczz e8\_iob_iob(iHih _iob_iob )D_iob_iob"_xflsbufzz H"_LADDh8 {i+kv,=main rewind ;8[i"fflushzzH"lseek7zzzzHh)) ){i+k;,<main scanf ;8[i{i_iob_iob"_doscan;i  {i+k9,=main fscanf ;8[i{i"_doscan;i  {i+k`,=main sscanf ;8[i#{i܅چ؅"strlenzzԩ{iH"_doscan;i  {i+k=,=main ungetc ;8[i )#H"_LCOMPpIPH"_LCOMP-&$iHh99H8Hhh  {i+kn,,:main abs ;8[i 8pII {i+k,;main atoi ;8[idd)    +-)80pI@ )89pI0.)HH 8"_IMUL he80I {i+k=,;main atol ;8[iddd)    +-)80pIR )89pI0@)H "_LMULh"_LADDh80Hh "_LNEG {i+kLA,>~arrays ~arrays_ctypeC         (((((                  H c,>main memccpy ;8[i 8pI5 Hh )   {i+k^,=main memchr ;8[i 8pI0)H)   {i+kt,=main memcmp ;8[i8G 8pI8)H)8 {i+kX,=main memcpy ;8[i  8pI( H h  {i+kH,=main memset ;8[i  8pI  {i+kF,<main qsort ;8[i_1qscmp_1qscmp_0qsesH"_IMUL hH"_LADD"qs1zzzz{i+kT@,:main qs1 ;8[i_0qses H"_LSUB hHH8"_IMUL"_IDIVzH"_IMULhإآH"_LADD"hޅܦH"_LSUBh8pIw _1qscmp_1qscmp " _CALLFUNC zzzz)H"_LSUB hH"qsexczzzz 8pI0H"_LADDhd8)pI0 ܮ_1qscmp_1qscmp " _CALLFUNC zzzz)Hޥ"_LADD hޅH"qsexczzzz8pI0UOHޥ"_LADD hޅH"qstexc;i H"_LADD h "qsexczzzzH"_LSUBhH"_LADDh?H"_LSUBh H"_LSUBhHޥH"_LSUBh8pI0)Hޥ"_LADD"qs1 zzzz) "qs1zzzzHޥ"_LADDhH"_LSUB hH"qstexc;i Hޥ"_LSUB hޅ܆= {i+kd@,<main qsexc ;8[i_0qses Hh  {i+k@,=main qstexc ;8[i_0qsesڦ)ܧHh Hh H h ڥЫ{i+kaA,?~globals ~globals_0qsesC_1qscmpCy,<main srand ;8[i_0randx_0randx{i+kR,;main rand ;8[i H_0randx_0randxAmN"_LMULhi90Hih_0randx_0randx8"_LRSHIFT h)H)h {i+kQA,?~globals ~globals_0randxCm,=main strcat ;8[i  ) Hh ) {i+kL,=main strchr ;8[i)H) )  {i+k,=main strcmp ;8[i ` )H) )#)H)8 {i+kN,=main strcpy ;8[i  Hh ) {i+kw,>main strcspn ;8[i >))H)))и H"_LSUBh {i+kR,=main strlen ;8[iiHih ) H"_LSUBh {i+k,>main strncat ;8[i  ) Hh ), 8pI0  {i+k,>main strncmp ;8[i  8pI? )H) )5 8pI0!)H)8 {i+k,>main strncpy ;8[i  8pIX Hh )( 8pI  {i+kl,>main strpbrk ;8[i))H)) )Я {i+kL,>main strrchr ;8[idd)H) ) {i+kw,=main strspn ;8[i >))H)))и H"_LSUBh {i+k,=main strtok ;8[i_0savept_0savept   "strspnzzzzH"_LADDh)GH"strpbrk zzzz"_LCOMP_0savept_0savept _0savept_0savept {i+kRA,?~globals ~globals_0saveptCE,=main strtol ;8[idd8pI8$ pI )H_ctype_ctype"_LADDh)))- )+?)0.)x )X  >7)0- )x )XiHih )H_ctype_ctype"_LADDh)) )H_ctype_ctype"_LADDh)) )80)H"tolowerzH e8a 8pI04HH8"_LMULh"_LSUBhO8Hh"_LNEG H8"_LMULh {i+k;,>main tolower ;8[i 8ApI8ZpI08 {i+k;,>main toupper ;8[i 8apI8zpI0i {i+kY,=main printf ;8[i{i_iob_iob "_doprnt ;i _iob_iob )  {i+kf,>main sprintf ;8[i:֦څ؆ޅܩ{iԅ{iH"_doprnt;i  {i+k@,?main fpnumber ;8[i_{i8P pIP:8pI0.Hih) "_filbufzz Hh 8pI0B0 d{iH{ikH{iH{iH"str2dec;iK {ikH"dec2numzz"_PUSHFR {iaH"_STEX80zzzzzPGiHihHhiHih誧igeca" _STDOUBLEzzzzzGiHihHhiHih誧igeca"_STCOMPzzzzzGiHihHhiHih誧igeca"_STEX80zzzzzkGiHihHhiHih誧igeca"_STFLOATzzzzzfpnumber fpnumber\fpnumberfpnumber8l |fpnumberRԑ"ungetczzzHh {i+k@,=main number ;8[i ddddܥ  /'idouxLnumber0:8pI0.Hih) "_filbufzz[:8pI0.Hih) "_filbufzznumbernumbernumbernumber8+ |numberM H_ctype_ctype"_LADDh))3 H_ctype_ctype"_LADDh)) H_ctype_ctype"_LADDh))0. H_ctype_ctype"_LADDh))7WH8إ8pI+آHܥH8"_LMULh"_LADDh܅^:8pI0.Hih) "_filbufzz 8pI$8 ܥ"_LNEG܅lIFiHihHhiHih檧ܥڠHhhB@ܥHiHihHhiHih檧h@@ܥHiHihHhiHih檧h"ungetczzzHh {i+k@,=main string ;8[i64iHihHhiHih䪧 ކ܅ڥc :8pI0.Hih) "_filbufzz|s& H_ctype_ctype"_LADDh))O[ H"_LADD h)( 8pI00!8)pI""ungetczzzHh ,c p "c2pstrzz {i+k>@,<main setup ;8[i d)^ H"memsetzzzz)]-)HH"_LADDhh )] -_ )]S"iHih)8pI0/8HiH"_LADD"memsetzzzz#HH"_LADD hh G {i+k,>main _doscan ;8[it)H_ctype_ctype"_LADDh)):8pI0.Hih) "_filbufzzH_ctype_ctype"_LADDh)) H"ungetczzz%)%z:8pI0.Hih) "_filbufzz P H"ungetczzzI2* t)t6 H 8"_IMULhu80)H_ctype_ctype"_LADDh))С lmn h)1[-H{iH"setup zzzz"_LCOMPH_ctype_ctype"_LADDh))l8Aiac[:8pI0.Hih) "_filbufzzH_ctype_ctype"_LADDh)) H"ungetczzzcs[ p6){iH{iHHHH"string;i|ef g- {iHHHH"fpnumber;i1&{iHHHHH"number;iu K {i+k6t,;main atof ;8[i#d{iH{iH{iH"str2dec;i{iH"dec2numzz"_PUSHFRh_0floath_0floath_0floath_0floath_0float_0float_0float {i+kP A,>~arrays ~arrays_0floatC @,:main cvt ;8[i ܥ_0decrec_0decrec{iH"num2dec ;i_0decrec)AU"cvt;i__0decrec_0decrec)o_0decrec0?INLcvts_0decrec_0decrec )H_0decrec_0decrec"_LADDh _0decrec_0decrec {i+k}8,;main ecvt ;8[i"cvt;i {i+k}8,;main fcvt ;8[i"cvt;i {i+kQ"A,>~arrays ~arrays_0decrecC",<main frexp ;8[i"_FCMP "_FROMINT* "logbzzzzz"_PUSHFR?"_FADD"_TOINTIH"scalb ;i "_PUSHFRh_0floath_0floath_0floath_0floath_0float_0float_0float {i+kP A,>~arrays ~arrays_0floatC 8x,<main ldexp ;8[i8pI 8pI0 "scalb ;i "_PUSHFRh_0floath_0floath_0floath_0floath_0float_0float_0float {i+kP A,>~arrays ~arrays_0floatC ,;main modf ;8[i {iH" procentryzz"setround z"rintzzzzz"_PUSHFRHH"_STEX80zzzzz" setexceptionzzz"procexit z" classextendedzzzzz)&HHHHH"_FSUB "copysign ;i"_PUSHFRh_0floath_0floath_0floath_0floath_0float_0float_0float {i+kP A,>~arrays ~arrays_0floatC q@,=main _toint ;8[i )H_ctype_ctype"_LADDh))4 )89pI0 )80)H"tolower z8ai  {i+k3,>main _doprnt ;8[iJd )% H"_LSUBhP ePP[:8pI86HHihh ) )H"_flsbufzzz_<PHPH"memcpyzzzzz"_LADDhHhP"fwrite;i  )  ʅ̅΅Ѕ)&! #+-*E1iHihiHihޥ8pI0 IY0d!80HH 8"_IMUL he)ڢH_ctype_ctype"_LADDh))д).)*.(iHihiHihPd!80HH 8"_IMUL he)ڢH_ctype_ctype"_LADDh))дdԧ)_doprnt_doprnt_doprnt_doprnt_doprnt_doprnt8h |_doprnt~string0~string0&wu p {ipsqօئ )Y N NN 8pI08 pIޅ0.iHihiHihꪧhfcd1/iHihiHihʆhf++iHihiHihhfdk8fhhpI00~string1~string1 wu8fhh hf"_LNEGhf ~string2~string2wu ~string3~string3wuX~string4~string4~string5~string5VT{i8fhhhf)H)hLHhf8"_LRSHIFT,h)H)hhfLHNHhf8"_LDIV h &"_LADDVT"_LADD hH"h NHhf8"_LDIVzzhfC H"_LSUB he܅إ\8D0 8pI0*~string6~string6wu~string7~string7wuXox 8pI0Gi HihiHihHHHHH{i\H"_STEX80zzzzz!{iXH{iZHi8pI0i Hdb`^\"ecvt ;iX ~string8~string8wu ~string9~string9wu  ~string10 ~string10wu{iy)I )N) )0Hh  . ܅( H h 8pI )п{iyZ8PP8pI0PIP HP8"_IDIVhi0Hqsqsqh HP8"_IDIVzPP{ip8HhHsq"_LCOMPpIZ8 pI+-Hqsqsqh ڢH_ctype_ctype"_LADDh))EeHqsqsqh !)I ~string11 ~string11"strcpyzzzz ~string12 ~string12"strcpyzzzz)H"_toint zH)H"_tointzH8"_IMULhePRA HP8"_IDIVhi0HRRH"_LADD hh  HP8"_IDIVzP R8pI0 "strlenzzH"_LADDh@ 8pI0Gi HihiHihHHHHH{i\H"_STEX80$zzzzz{iXH{iZHdb`^\"fcvt ;iX  ~string13 ~string13wu  ~string14 ~string14wu  ~string15 ~string15wu{iy)I )N?8pI0e Hu) eZe8PpIZPP8pI )0 )H h PP8pI08pI . ܅P PP8pIKZZ8pI )0 )H h  {iy 8pI0 Gi HihiHihHHHHH{i\H"_STEX80"zzzzz{iXH{iZH8pI0 Hdb`^\"ecvt;i܅RT"strlenzzPP8RpI0PR R8pI+R8H"_LADDh)0R Z8pIZ8pI R8R8Z1 y **iHihiHih y {iyiHih=iHihiHihꪧ8pI0#"strlenzzH"_LADDh1 ) ܥ8pI=iHihiHihꪧ8pI )8pI0")iH"_LADDhiH"_LADDhiHihV|M_doprntQ_doprnt_doprnt _doprntK_doprnt _doprnt;_doprnt_doprntg _doprnt _doprntC_doprnt _doprnt _doprnt;_doprntK_doprnt EGXcdefgopsux_doprntx_doprntx"_BINSRCHhh|_doprntZ 8pI0d 8pI0dsqHu) u) HH"_LSUB"hPeeeH{ip"_LADDh"_LSUB hR8R pIR Hei ޥ8RpI[:8pI75Hih ) )H"_flsbufzzzu)x:8pIFwuuw:HHihh ) wuuw )H"_flsbufzzz~ إ8pI[:8pI75Hih0 ) 0)H"_flsbufzzzP8pI0P[:8pI86HHihh ) )H"_flsbufzzz_<PHPH"memcpyzzzzz"_LADDhHhP"fwrite;i  ֥8pI[:8pI75Hih0 ) 0)H"_flsbufzzzq)x:8pIFsqqs:HHihh ) sqqs )H"_flsbufzzz~ ޥ8RpI[:8pI75Hih ) )H"_flsbufzzz: {i+kmHA,>~arrays ~arrays~string0C~string1C-~string2C+~string3C ~string4C0123456789ABCDEF~string5C0123456789abcdef~string6C0x~string7C0X~string8C-~string9C+ ~string10C ~string11CINF ~string12C NAN(000) ~string13C- ~string14C+ ~string15C aA,?~globals ~globals__LIB_VERSION__C~string0ZA,>~arrays ~arrays~string0CZCLIB Version 1.0 b8.1 Oct 2, 1987 Copyright APPLE COMPUTER, INC. 1987 All Rights ReservedH,@main RestoreDBHkOA,?~globals ~globals __dataBankN.,>main UDivide ;[HH "_toolErrh~resulth~result+~result~resultkD,>main LongMul ;[HHHH "_toolErrh~resulth~resulth~resulth~result+~result~resultkD,Amain LongDivide ;[HHHH "_toolErrh~resulth~resulth~resulth~result+~result~resultkG,>main Restart ;[HHHHH "_toolErrh~resulth~resulth~resulth~resulth~result+~result~resultkF,Bmain LoadSegName ;[HHHH   "_toolErrh~resulth~resulth~resulth~result+~result~resultk7,@main UnloadSeg ;[HHH "_toolErrh~resulth~resulth~result+~result~resultk/,@main ReadMouseHHH"_toolErrh~resulth~resulth~result~result~resultk8,Dmain GetMouseClampHHHH"_toolErrh~resulth~resulth~resulth~result~result~resultk8,Bmain GetAbsClampHHHH+"_toolErrh~resulth~resulth~resulth~result~result~resultkD,>main FWEntry ;[HHHH $"_toolErrh~resulth~resulth~resulth~result+~result~resultkE,Cmain WriteTimeHexhBhB ;[  HHH"_toolErr+hhhhhhBHBkLA,?~globals ~globals~resultN&,Dmain GetOutGlobalsHH "_toolErrh~resulth~result~result~resultk&,Dmain GetErrGlobalsHH "_toolErrh~resulth~result~result~resultk/,Emain GetInputDeviceHHH "_toolErrh~resulth~resulth~result~result~resultk/,Fmain GetOutputDeviceHHH "_toolErrh~resulth~resulth~result~result~resultk/,Emain GetErrorDeviceHHH "_toolErrh~resulth~resulth~result~result~resultk,?main __start0H _owneridH h_ownerid_cmdLine_cmdLine A,?main __start1 ;8[iH"_toolErr hH_owneridH "_toolErrh_1p_1p~string0~string0 "_toolErr_1p_1p "_cmdLine_cmdLineH" _initargcvzz"_RTInitzSTACKMINSTACKMIN_exit__exit_"setjmpzz_argv_argvH_argcH"mainzzzH"_RTExitz_ownerid H"_toolErr8qPathqPathqPathqPathqPathH"c2pstrzzqPathqPathHqRechqRecqFlagqRec_retCodeHqRecqRec"CQuitzzz {i+kA,?~globals ~globalsqFlagC_toolErrC_owneridC_argcC_argvC_retCodeCqPathC_cmdLineC_1pC.A,>~arrays ~arrays~string0C Can't allocate SANE direct page_exit_CqRecCCINCLUDEuHUSTON!خ' +'%ADB.H N U (DIALOG.H$خ% U 'EVENT.H2 خ%  &FONT.H? sخ& 5 )INTMATH.HJ خ& '*LINEEDIT.HV # U (LOADER.H` خ' ڮ' )LOCATOR.Hg خ' U (MEMORY.Hm خ' *MISCTOOL.Hw*Pخ' ޮ" 'PRINT.Hخ( U" (PRODOS.Hl+1&  1& /******************************************** ; File: adb.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __adb__ #define __adb__ #define cmndIncomplete 0x0910 /*error - Command not completed. */ #define cantSync 0x0911 /*error - Can't synchronize */ #define adbBusy 0x0982 /*error - Busy (command pending) */ #define devNotAtAddr 0x0983 /*error - Device not present at address */ #define srqListFull 0x0984 /*error - List full */ #define readModes 0x000A /*ReadKeyMicroData - */ #define readConfig 0x000B /*ReadKeyMicroData - */ #define readADBError 0x000C /*ReadKeyMicroData - */ #define readVersionNum 0x000D /*ReadKeyMicroData - */ #define readAvailCharSet 0x000E /*ReadKeyMicroData - */ #define readAvailLayout 0x000F /*ReadKeyMicroData - */ #define readMicroMem 0x0009 /*ReadKeyMicroMem - */ #define abort 0x0001 /*SendInfo - command */ #define resetKbd 0x0002 /*SendInfo - command */ #define flushKbd 0x0003 /*SendInfo - command */ #define setModes 0x0004 /*SendInfo - 2nd param is pointer to mode byte */ #define clearModes 0x0005 /*SendInfo - 2nd param is pointer to mode Byte */ #define setConfig 0x0006 /*SendInfo - 2nd param is pointer to SetConfigRec */ #define synch 0x0007 /*SendInfo - 2nd param is pointer to SynchRec */ #define writeMicroMem 0x0008 /*SendInfo - 2nd param is pointer to MicroControlMemRec */ #define resetSys 0x0010 /*SendInfo - command */ #define keyCode 0x0011 /*SendInfo - 2nd param is pointer to key code byte. */ #define resetADB 0x0040 /*SendInfo - command */ #define transmitADBBytes 0x0047 /*SendInfo - add number of bytes to this */ #define enableSRQ 0x0050 /*SendInfo - command - ADB address in low nibble */ #define flushADBDevBuf 0x0060 /*SendInfo - command - ADB address in low nibble */ #define disableSRQ 0x0070 /*SendInfo - command - ADB address in low nibble */ #define transmit2ADBBytes 0x0080 /*SendInfo - add ADB address to this */ #define listen 0x0080 /*SendInfo - adbCommand = listen + ( 16 * reg) + (adb address) */ #define talk 0x00C0 /*SendInfo - adbCommand = talk + ( 16 * reg) + (adb address) */ typedef struct ReadConfigRec { Byte rcRepeatDelay; /* ReadConfigRec - Output byte: Repeat Delay/Rate*/ Byte rcLayoutOrLang; /* ReadConfigRec - Output byte: Layout/Lang*/ Byte rcADBAddr; /* ReadConfigRec - Output byte: ADB address - keyboard and mouse.*/ } ReadConfigRec, *ReadConfigRecPtr ; typedef struct SetConfigRec { Byte scADBAddr; /* SetConfigRec - keyboard and mouse*/ Byte scLayoutOrLang; /* SetConfigRec - */ Byte scRepeatDelay; /* SetConfigRec - */ } SetConfigRec, *SetConfigRecPtr ; typedef struct SynchRec { Byte synchMode; /* SynchRec - */ Byte synchKybdMouseAddr; /* SynchRec - */ Byte synchLayoutOrLang; /* SynchRec - */ Byte synchRepeatDelay; /* SynchRec - */ } SynchRec, *SynchRecPtr ; typedef struct ScaleRec { Word xDivide; /* ScaleRec - */ Word yDivide; /* ScaleRec - */ Word xOffset; /* ScaleRec - */ Word yOffset; /* ScaleRec - */ Word xMultiply; /* ScaleRec - */ Word yMultiply; /* ScaleRec - */ } ScaleRec, *ScaleRecPtr ; extern pascal void ADBBootInit() inline(0x0109,dispatcher); /* ADB */ extern pascal void ADBStartUp() inline(0x0209,dispatcher); /* ADB */ extern pascal void ADBShutDown() inline(0x0309,dispatcher); /* ADB */ extern pascal Word ADBVersion() inline(0x0409,dispatcher); /* ADB */ extern pascal void ADBReset() inline(0x0509,dispatcher); /* ADB */ extern pascal Boolean ADBStatus() inline(0x0609,dispatcher); /* ADB */ extern pascal void AbsOff() inline(0x1009,dispatcher); /* ADB */ extern pascal void AbsOn() inline(0x0F09,dispatcher); /* ADB */ extern pascal void AsyncADBReceive() inline(0x0D09,dispatcher); /* ADB */ extern pascal void ClearSRQTable() inline(0x1609,dispatcher); /* ADB */ extern pascal void GetAbsScale() inline(0x1309,dispatcher); /* ADB */ extern pascal Word ReadAbs() inline(0x1109,dispatcher); /* ADB */ extern pascal void ReadKeyMicroData() inline(0x0A09,dispatcher); /* ADB */ extern pascal void ReadKeyMicroMem() inline(0x0B09,dispatcher); /* ADB */ extern pascal void SendInfo() inline(0x0909,dispatcher); /* ADB */ extern pascal void SetAbsScale() inline(0x1209,dispatcher); /* ADB */ extern pascal void SRQPoll() inline(0x1409,dispatcher); /* ADB */ extern pascal void SRQRemove() inline(0x1509,dispatcher); /* ADB */ extern pascal void SyncADBReceive() inline(0x0E09,dispatcher); /* ADB */ #endif /******************************************** ; File: Dialog.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __quickdraw__ #include #endif #ifndef __event__ #include #endif #ifndef __control__ #include #endif #ifndef __window__ #include #endif #ifndef __lineedit__ #include #endif #ifndef __dialog__ #define __dialog__ #d !"#$%&'()*+,-./0efine badItemType 0x150A /*error - */ #define newItemFailed 0x150B /*error - */ #define itemNotFound 0x150C /*error - */ #define notModalDialog 0x150D /*error - */ #define getInitView 0x0001 /*Command - */ #define getInitTotal 0x0002 /*Command - */ #define getInitValue 0x0003 /*Command - */ #define scrollLineUp 0x0004 /*Command - */ #define scrollLineDown 0x0005 /*Command - */ #define scrollPageUp 0x0006 /*Command - */ #define scrollPageDown 0x0007 /*Command - */ #define scrollThumb 0x0008 /*Command - */ #define buttonItem 0x000A /*Item Type - */ #define checkItem 0x000B /*Item Type - */ #define radioItem 0x000C /*Item Type - */ #define scrollBarItem 0x000D /*Item Type - */ #define userCtlItem 0x000E /*Item Type - */ #define statText 0x000F /*Item Type - */ #define longStatText 0x0010 /*Item Type - */ #define editLine 0x0011 /*Item Type - */ #define iconItem 0x0012 /*Item Type - */ #define picItem 0x0013 /*Item Type - */ #define userItem 0x0014 /*Item Type - */ #define userCtlItem2 0x0015 /*Item Type - */ #define longStatText2 0x0016 /*Item Type - */ #define itemDisable 0x8000 /*Item Type - */ #define minItemType 0x000A /*Item Type Range - */ #define maxItemType 0x0016 /*Item Type Range - */ #define ok 0x0001 /*ItemID - */ #define cancel 0x0002 /*ItemID - */ #define inButton 0x0002 /*ModalDialog2 - Part code */ #define inCheckBox 0x0003 /*ModalDialog2 - Part code */ #define inRadioButton 0x0004 /*ModalDialog2 - Part code */ #define inUpArrow 0x0005 /*ModalDialog2 - Part code */ #define inDownArrow 0x0006 /*ModalDialog2 - Part code */ #define inPageUp 0x0007 /*ModalDialog2 - Part code */ #define inPageDown 0x0008 /*ModalDialog2 - Part code */ #define inStatText 0x0009 /*ModalDialog2 - Part code */ #define inGrow 0x000A /*ModalDialog2 - Part code */ #define inEditLine 0x000B /*ModalDialog2 - Part code */ #define inUserItem 0x000C /*ModalDialog2 - Part code */ #define inLongStatText 0x000D /*ModalDialog2 - Part code */ #define inIconItem 0x000E /*ModalDialog2 - Part code */ #define inLongStatText2 0x000F /*ModalDialog2 - */ #define inThumb 0x0081 /*ModalDialog2 - Part code */ #define okDefault 0x0000 /*Stage Bit Vector - */ #define cancelDefault 0x0040 /*Stage Bit Vector - */ #define alertDrawn 0x0080 /*Stage Bit Vector - */ typedef struct ItemTemplate { Word itemID; /* ItemTemplate - */ Rect itemRect; /* ItemTemplate - */ Word itemType; /* ItemTemplate - */ Pointer itemDescr; /* ItemTemplate - */ Word itemValue; /* ItemTemplate - */ Word itemFlag; /* ItemTemplate - */ Pointer itemColor; /* pointer to appropreate ctl color table */ } ItemTemplate, *ItemTempPtr, **ItemTempHndl ; #ifndef atItemListLength #define atItemListLength 0x5 /*AlertTemplate - Default number of Item Templates */ #endif typedef struct AlertTemplate { Rect atBoundsRect; /* AlertTemplate - */ Word atAlertID; /* AlertTemplate - */ Byte atStage1; /* AlertTemplate - */ Byte atStage2; /* AlertTemplate - */ Byte atStage3; /* AlertTemplate - */ Byte atStage4; /* AlertTemplate - */ ItemTempPtr atItemList[atItemListLength]; /* AlertTemplate - Null terminated array*/ } AlertTemplate, *AlertTempPtr, **AlertTempHndl ; #ifndef dtItemListLength #define dtItemListLength 0x8 /*DialogTemplate - Default number of Item Templates */ #endif typedef struct DialogTemplate { Rect dtBoundsRect; /* DialogTemplate - */ Boolean dtVisible; /* DialogTemplate - */ Longint dtRefCon; /* DialogTemplate - */ ItemTempPtr dtItemList[dtItemListLength]; /* DialogTemplate - Null terminated array*/ } DialogTemplate, *DlgTempPtr ; typedef struct UserCtlItemPB { Longint defProcParm; /* UserCtlItemPB - */ Pointer titleParm; /* UserCtlItemPB - */ Word param2; /* UserCtlItemPB - */ Word param1; /* UserCtlItemPB - */ } UserCtlItemPB, *UserCtlItemPBPtr, **UserCtlItemPBHndl ; extern pascal void DialogBootInit() inline(0x0115,dispatcher); /* Dialog Manager */ extern pascal void DialogStartUp() inline(0x0215,dispatcher); /* Dialog Manager */ extern pascal void DialogShutDown() inline(0x0315,dispatcher); /* Dialog Manager */ extern pascal Word DialogVersion() inline(0x0415,dispatcher); /* Dialog Manager */ extern pascal void DialogReset() inline(0x0515,dispatcher); /* Dialog Manager */ extern pascal Boolean DialogStatus() inline(0x0615,dispatcher); /* Dialog Manager */ extern pascal Word Alert() inline(0x1715,dispatcher); /* Dialog Manager */ extern pascal Word CautionAlert() inline(0x1A15,dispatcher); /* Dialog Manager */ extern pascal void CloseDialog() inline(0x0C15,dispatcher); /* Dialog Manager */ extern pascal Boolean DefaultFilter() inline(0x3615,dispatcher); /* Dialog Manager */ extern pascal Boolean DialogSelect() inline(0x1115,dispatcher); /* Dialog Manager */ extern pascal void DisableDItem() inline(0x3915,dispatcher); /* Dialog Manager */ extern pascal void DlgCopy() inline(0x1315,dispatcher); /* Dialog Manager */ extern pascal void DlgCut() inline(0x1215,dispatcher); /* Dialog Manager */ extern pascal void DlgDelete() inline(0x1515,dispatcher); /* Dialog Manager */ extern pascal void DlgPaste() inline(0x1415,dispatcher); /* Dialog Manager */ extern pascal void DrawDialog() inline(0x1615,dispatcher); /* Dialog Manager */ extern pascal void EnableDItem() inline(0x3A15,dispatcher); /* Dialog Manager */ extern pascal void ErrorSound() inline(0x0915,dispatcher); /* Dialog Manager */ extern pascal Word FindDItem() inline(0x2415,dispatcher); /* Dialog Manager */ extern pascal Word GetAlertStage() inline(0x3415,dispatcher); /* Dialog Manager */ extern pascal CtlRecHndl GetControlDItem() inline(0x1E15,dispatcher); /* Dialog Manager */ extern pascal Word GetDefButton() inline(0x3715,dispatcher); /* Dialog Manager */ extern pascal void GetDItemBox() inline(0x2815,dispatcher); /* Dialog Manager */ extern pascal Word GetDItemType() inline(0x2615,dispatcher); /* Dialog Manager */ extern pascal Word GetDItemValue() inline(0x2E15,dispatcher); /* Dialog Manager */ extern pascal Word GetFirstDItem() inline(0x2A15,dispatcher); /* Dialog Manager */ extern pascal void GetIText() inline(0x1F15,dispatcher); /* Dialog Manager */ extern pascal void GetNewDItem() inline(0x3315,dispatcher); /* Dialog Manager */ extern pascal GrafPortPtr GetNewModalDialog() inline(0x3215,dispatcher); /* Dialog Manager */ extern pascal Word GetNextDItem() inline(0x2B15,dispatcher); /* Dialog Manager */ extern pascal void HideDItem() inline(0x2215,dispatcher); /* Dialog Manager */ extern pascal Boolean IsDialogEvent() inline(0x1015,dispatcher); /* Dialog Manager */ extern pascal Word ModalDialog() inline(0x0F15,dispatcher); /* Dialog Manager */ extern pascal LongWord ModalDialog2() inline(0x2C15,dispatcher); /* Dialog Manager */ extern pascal void NewDItem() inline(0x0D15,dispatcher); /* Dialog Manager */ extern pascal GrafPortPtr NewModalDialog() inline(0x0A15,dispatcher); /* Dialog Manager */ extern pascal GrafPortPtr NewModelessDialog() inline(0x0B15,dispatcher); /* Dialog Manager */ extern pascal Word NoteAlert() inline(0x1915,dispatcher); /* Dialog Manager */ extern pascal void ParamText() inline(0x1B15,dispatcher); /* Dialog Manager */ extern pascal void RemoveDItem() inline(0x0E15,dispatcher); /* Dialog Manager */ extern pascal void ResetAlertStage() inline(0x3515,dispatcher); /* Dialog Manager */ extern pascal void SelIText() inline(0x2115,dispatcher); /* Dialog Manager */ extern pascal void SelectIText() inline(0x2115,dispatcher); /* Dialog Manager */ extern pascal void SetDAFont() inline(0x1C15,dispatcher); /* Dialog Manager */ extern pascal void SetDefButton() inline(0x3815,dispatcher); /* Dialog Manager */ extern pascal void SetDItemBox() inline(0x2915,dispatcher); /* Dialog Manager */ extern pascal void SetDItemType() inline(0x2715,dispatcher); /* Dialog Manager */ extern pascal void SetDItemValue() inline(0x2F15,dispatcher); /* Dialog Manager */ extern pascal void SetIText() inline(0x2015,dispatcher); /* Dialog Manager */ extern pascal void ShowDItem() inline(0x2315,dispatcher); /* Dialog Manager */ extern pascal Word StopAlert() inline(0x1815,dispatcher); /* Dialog Manager */ extern pascal void UpdateDialog() inline(0x2515,dispatcher); /* Dialog Manager */ #endif /******************************************** ; ; File: Event.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __misctool__ #include #endif #ifndef __event__ #define __event__ #define emDupStrtUpErr 0x0601 /* error - duplicate EMStartup Call */ #define emResetErr 0x0602 /* error - can't reset error the Event Manager */ #define emNotActErr 0x0603 13456789:;<=/* error - event manager not active */ #define emBadEvtCodeErr 0x0604 /* error - illegal event code */ #define emBadBttnNoErr 0x0605 /* error - illegal button number */ #define emQSiz2LrgErr 0x0606 /* error - queue size too large */ #define emNoMemQueueErr 0x0607 /* error - not enough memory for queue */ #define emBadEvtQErr 0x0681 /* error - fatal sys error - event queue damaged */ #define emBadQHndlErr 0x0682 /* error - fatal sys error - queue handle damaged */ #define nullEvt 0x0000 /* Event Code - */ #define mouseDownEvt 0x0001 /* Event Code - */ #define mouseUpEvt 0x0002 /* Event Code - */ #define keyDownEvt 0x0003 /* Event Code - */ #define autoKeyEvt 0x0005 /* Event Code - */ #define updateEvt 0x0006 /* Event Code - */ #define activateEvt 0x0008 /* Event Code - */ #define switchEvt 0x0009 /* Event Code - */ #define deskAccEvt 0x000A /* Event Code - */ #define driverEvt 0x000B /* Event Code - */ #define app1Evt 0x000C /* Event Code - */ #define app2Evt 0x000D /* Event Code - */ #define app3Evt 0x000E /* Event Code - */ #define app4Evt 0x000F /* Event Code - */ #define mDownMask 0x0002 /* Event Masks - */ #define mUpMask 0x0004 /* Event Masks - */ #define keyDownMask 0x0008 /* Event Masks - */ #define autoKeyMask 0x0020 /* Event Masks - */ #define updateMask 0x0040 /* Event Masks - */ #define activeMask 0x0100 /* Event Masks - */ #define switchMask 0x0200 /* Event Masks - */ #define deskAccMask 0x0400 /* Event Masks - */ #define driverMask 0x0800 /* Event Masks - */ #define app1Mask 0x1000 /* Event Masks - */ #define app2Mask 0x2000 /* Event Masks - */ #define app3Mask 0x4000 /* Event Masks - */ #define app4Mask 0x8000 /* Event Masks - */ #define everyEvent 0xFFFF /* Event Masks - */ #define jcTickCount 0x00 /* Journal Code - TickCount call */ #define jcGetMouse 0x01 /* Journal Code - GetMouse call */ #define jcButton 0x02 /* Journal Code - Button call */ #define jcEvent 0x04 /* Journal Code - GetNextEvent and EventAvail calls */ #define activeFlag 0x0001 /* Modifier Flags - set if window being activated */ #define changeFlag 0x0002 /* Modifier Flags - set if active wind. changed state */ #define btn1State 0x0040 /* Modifier Flags - set if button 1 up */ #define btn0State 0x0080 /* Modifier Flags - set if button 0 up */ #define appleKey 0x0100 /* Modifier Flags - set if Apple key down */ #define shiftKey 0x0200 /* Modifier Flags - set if shift key down */ #define capsLock 0x0400 /* Modifier Flags - set if caps lock key down */ #define optionKey 0x0800 /* Modifier Flags - set if option key down */ #define controlKey 0x1000 /* Modifier Flags - set if Control key down */ #define keyPad 0x2000 /* Modifier Flags - set if keypress from key pad */ typedef struct EventRecord { Word what; /* EventRecord - event code*/ LongWord message; /* EventRecord - event message*/ LongWord when; /* EventRecord - ticks since startup*/ Point where; /* EventRecord - mouse location*/ Word modifiers; /* EventRecord - modifier flags*/ } EventRecord, *EventRecordPtr, **EventRecordHndl ; extern pascal void EMBootInit() inline(0x0106,dispatcher); /* Event Manager */ extern pascal void EMStartUp() inline(0x0206,dispatcher); /* Event Manager */ extern pascal void EMShutDown() inline(0x0306,dispatcher); /* Event Manager */ extern pascal Word EMVersion() inline(0x0406,dispatcher); /* Event Manager */ extern pascal void EMReset() inline(0x0506,dispatcher); /* Event Manager */ extern pascal Boolean EMStatus() inline(0x0606,dispatcher); /* Event Manager */ extern pascal Boolean Button() inline(0x0D06,dispatcher); /* Event Manager */ extern pascal Word DoWindows() inline(0x0906,dispatcher); /* Event Manager */ extern pascal Boolean EventAvail() inline(0x0B06,dispatcher); /* Event Manager */ extern pascal void FakeMouse() inline(0x1906,dispatcher); /* Event Manager */ extern pascal Word FlushEvents() inline(0x1506,dispatcher); /* Event Manager */ extern pascal LongWord GetCaretTime() inline(0x1206,dispatcher); /* Event Manager */ extern pascal LongWord GetDblTime() inline(0x1106,dispatcher); /* Event Manager */ extern pascal void GetMouse() inline(0x0C06,dispatcher); /* Event Manager */ extern pascal Boolean GetNextEvent() inline(0x0A06,dispatcher); /* Event Manager */ extern pascal Boolean GetOSEvent() inline(0x1606,dispatcher); /* Event Manager */ extern pascal Boolean OSEventAvail() inline(0x1706,dispatcher); /* Event Manager */ extern pascal Word PostEvent() inline(0x1406,dispatcher); /* Event Manager */ extern pascal void SetEventMask() inline(0x1806,dispatcher); /* Event Manager */ extern pascal void SetSwitch() inline(0x1306,dispatcher); /* Event Manager */ extern pascal Boolean StillDown() inline(0x0E06,dispatcher); /* Event Manager */ extern pascal LongWord TickCount() inline(0x1006,dispatcher); /* Event Manager */ extern pascal Boolean WaitMouseUp() inline(0x0F06,dispatcher); /* Event Manager */ #endif /******************************************** ; ; File: Font.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __quickdraw__ #include #endif #ifndef __font__ #define __font__ #define fmDupStartUpErr 0x1B01 /*error - duplicate FMStartUp call */ #define fmResetErr 0x1B02 /*error - can't reset the Font Manager */ #define fmNotActiveErr 0x1B03 /*error - Font Man>@ABCDEFGHager not active */ #define fmFamNotFndErr 0x1B04 /*error - family not found */ #define fmFontNtFndErr 0x1B05 /*error - font not found */ #define fmFontMemErr 0x1B06 /*error - font not in memory */ #define fmSysFontErr 0x1B07 /*error - system font cannot be purgeable */ #define fmBadFamNumErr 0x1B08 /*error - illegal family number */ #define fmBadSizeErr 0x1B09 /*error - illegal size */ #define fmBadNameErr 0x1B0A /*error - illegal name length */ #define fmMenuErr 0x1B0B /*error - fix font menu never called */ #define fmScaleSizeErr 0x1B0C /*error - scaled size of font exeeds limits */ #define newYork 0x0002 /*Family Number - */ #define geneva 0x0003 /*Family Number - */ #define monaco 0x0004 /*Family Number - */ #define venice 0x0005 /*Family Number - */ #define london 0x0006 /*Family Number - */ #define athens 0x0007 /*Family Number - */ #define sanFran 0x0008 /*Family Number - */ #define toronto 0x0009 /*Family Number - */ #define cairo 0x000B /*Family Number - */ #define losAngeles 0x000C /*Family Number - */ #define times 0x0014 /*Family Number - */ #define helvetica 0x0015 /*Family Number - */ #define courier 0x0016 /*Family Number - */ #define symbol 0x0017 /*Family Number - */ #define taliesin 0x0018 /*Family Number - */ #define shaston 0xFFFE /*Family Number - */ #define baseOnlyBit 0x0020 /*FamSpecBits - */ #define notBaseBit 0x0020 /*FamStatBits - */ #define memOnlyBit 0x0001 /*FontSpecBits - */ #define realOnlyBit 0x0002 /*FontSpecBits - */ #define anyFamBit 0x0004 /*FontSpecBits - */ #define anyStyleBit 0x0008 /*FontSpecBits - */ #define anySizeBit 0x0010 /*FontSpecBits - */ #define memBit 0x0001 /*FontStatBits - */ #define unrealBit 0x0002 /*FontStatBits - */ #define apFamBit 0x0004 /*FontStatBits - */ #define apVarBit 0x0008 /*FontStatBits - */ #define purgeBit 0x0010 /*FontStatBits - */ #define notDiskBit 0x0020 /*FontStatBits - */ #define notFoundBit 0x8000 /*FontStatBits - */ #define dontScaleBit 0x0001 /*Scale Word - */ typedef struct FontStatRec { FontID resultID; /* FontStatRec - */ Word resultStats; /* FontStatRec - */ } FontStatRec, *FontStatRecPtr, **FontStatRecHndl ; extern pascal void FMBootInit() inline(0x011B,dispatcher); /* Font Manager */ extern pascal void FMStartUp() inline(0x021B,dispatcher); /* Font Manager */ extern pascal void FMShutDown() inline(0x031B,dispatcher); /* Font Manager */ extern pascal Word FMVersion() inline(0x041B,dispatcher); /* Font Manager */ extern pascal void FMReset() inline(0x051B,dispatcher); /* Font Manager */ extern pascal Boolean FMStatus() inline(0x061B,dispatcher); /* Font Manager */ extern pascal void AddFamily() inline(0x0D1B,dispatcher); /* Font Manager */ extern pascal void AddFontVar() inline(0x141B,dispatcher); /* Font Manager */ extern pascal LongWord ChooseFont() inline(0x161B,dispatcher); /* Font Manager */ extern pascal Word CountFamilies() inline(0x091B,dispatcher); /* Font Manager */ extern pascal Word CountFonts() inline(0x101B,dispatcher); /* Font Manager */ extern pascal Word FamNum2ItemID() inline(0x1B1B,dispatcher); /* Font Manager */ extern pascal Word FindFamily() inline(0x0A1B,dispatcher); /* Font Manager */ extern pascal void FindFontStats() inline(0x111B,dispatcher); /* Font Manager */ extern pascal void FixFontMenu() inline(0x151B,dispatcher); /* Font Manager */ extern pascal LongWord FMGetCurFID() inline(0x1A1B,dispatcher); /* Font Manager */ extern pascal LongWord FMGetSysFID() inline(0x191B,dispatcher); /* Font Manager */ extern pascal void FMSetSysFont() inline(0x181B,dispatcher); /* Font Manager */ extern pascal Word GetFamInfo() inline(0x0B1B,dispatcher); /* Font Manager */ extern pascal Word GetFamNum() inline(0x0C1B,dispatcher); /* Font Manager */ extern pascal void InstallFont() inline(0x0E1B,dispatcher); /* Font Manager */ extern pascal Word ItemID2FamNum() inline(0x171B,dispatcher); /* Font Manager */ extern pascal void LoadFont() inline(0x121B,dispatcher); /* Font Manager */ extern pascal void LoadSysFont() inline(0x131B,dispatcher); /* Font Manager */ extern pascal void SetPurgeStat() inline(0x0F1B,dispatcher); /* Font Manager */ #endif /******************************************** ; File: IntMath.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __intmath__ #define __intmath__ #define imBadInptParam 0x0B01 /*error - bad input parameter */ #define imIllegalChar 0x0B02 /*error - Illegal character in string */ #define imOverflow 0x0B03 /*error - integer or long integer overflow */ #define imStrOverflow IKLMNOPQRST0x0B04 /*error - string overflow */ #define minLongint 0x80000000 /*Limit - minimum negative signed long integer */ #define minFrac 0x80000000 /*Limit - pinned value for negative Frac overflow */ #define minFixed 0x80000000 /*Limit - pinned value for negative Fixed overflow */ #define minInt 0x8000 /*Limit - minimum negative signed integer */ #define maxInt 0x7FFF /*Limit - maximum positive signed integer */ #define maxUInt 0xFFFF /*Limit - maximum unsigned integer */ #define maxLongint 0x7FFFFFFF /*Limit - maximum positive signed Longint */ #define maxFrac 0x7FFFFFFF /*Limit - pinned value for positive Frac overflow */ #define maxFixed 0x7FFFFFFF /*Limit - pinned value for positive Fixed overflow */ #define maxULong 0xFFFFFFFF /*Limit - maximum unsigned Long */ #define unsignedFlag 0x0000 /*SignedFlag - */ #define signedFlag 0x0001 /*SignedFlag - */ typedef struct LongDivRec { Longint quotient; /* LongDivRec - Quotient from LongDiv*/ Longint remainder; /* LongDivRec - remainder from LongDiv*/ } LongDivRec, *LongDivRecPtr ; typedef LongDivRec DivRec; /* for compatibility w/previous releases */ typedef struct LongMulRec { Longint lsResult; /* LongMulRec - Low Long of result*/ Longint msResult; /* LongMulRec - High long of result*/ } LongMulRec, *LongMulRecPtr ; typedef struct IntDivRec { Integer quotient; /* IntDivRec - quotient from SDivide*/ Integer remainder; /* IntDivRec - remainder from SDivide*/ } IntDivRec, *IntDevRecPtr ; typedef struct WordDivRec { Word quotient; /* WordDivRec - Quotient from UDivide*/ Word remainder; /* WordDivRec - remainder from UDivide*/ } WordDivRec, *WordDivRecPtr ; extern pascal void IMBootInit() inline(0x010B,dispatcher); /* Integer Math Tools */ extern pascal void IMStartUp() inline(0x020B,dispatcher); /* Integer Math Tools */ extern pascal void IMShutDown() inline(0x030B,dispatcher); /* Integer Math Tools */ extern pascal Word IMVersion() inline(0x040B,dispatcher); /* Integer Math Tools */ extern pascal void IMReset() inline(0x050B,dispatcher); /* Integer Math Tools */ extern pascal Boolean IMStatus() inline(0x060B,dispatcher); /* Integer Math Tools */ extern pascal Integer Dec2Int() inline(0x280B,dispatcher); /* Integer Math Tools */ extern pascal Longint Dec2Long() inline(0x290B,dispatcher); /* Integer Math Tools */ extern pascal Frac Fix2Frac() inline(0x1C0B,dispatcher); /* Integer Math Tools */ extern pascal Longint Fix2Long() inline(0x1B0B,dispatcher); /* Integer Math Tools */ extern pascal void Fix2X() inline(0x1E0B,dispatcher); /* Integer Math Tools */ extern pascal Fixed FixATan2() inline(0x170B,dispatcher); /* Integer Math Tools */ extern pascal Fixed FixDiv() inline(0x110B,dispatcher); /* Integer Math Tools */ extern pascal Fixed FixMul() inline(0x0F0B,dispatcher); /* Integer Math Tools */ extern pascal Fixed FixRatio() inline(0x0E0B,dispatcher); /* Integer Math Tools */ extern pascal Integer FixRound() inline(0x130B,dispatcher); /* Integer Math Tools */ extern pascal Fixed Frac2Fix() inline(0x1D0B,dispatcher); /* Integer Math Tools */ extern pascal void Frac2X() inline(0x1F0B,dispatcher); /* Integer Math Tools */ extern pascal Frac FracCos() inline(0x150B,dispatcher); /* Integer Math Tools */ extern pascal Frac FracDiv() inline(0x120B,dispatcher); /* Integer Math Tools */ extern pascal Frac FracMul() inline(0x100B,dispatcher); /* Integer Math Tools */ extern pascal Frac FracSin() inline(0x160B,dispatcher); /* Integer Math Tools */ extern pascal Frac FracSqrt() inline(0x140B,dispatcher); /* Integer Math Tools */ extern pascal Word Hex2Int() inline(0x240B,dispatcher); /* Integer Math Tools */ extern pascal LongWord Hex2Long() inline(0x250B,dispatcher); /* Integer Math Tools */ extern pascal LongWord HexIt() inline(0x2A0B,dispatcher); /* Integer Math Tools */ extern pascal Word HiWord() inline(0x180B,dispatcher); /* Integer Math Tools */ extern pascal void Int2Dec() inline(0x260B,dispatcher); /* Integer Math Tools */ extern pascal void Int2Hex() inline(0x220B,dispatcher); /* Integer Math Tools */ extern pascal void Long2Dec() inline(0x270B,dispatcher); /* Integer Math Tools */ extern pascal Fixed Long2Fix() inline(0x1A0B,dispatcher); /* Integer Math Tools */ extern pascal void Long2Hex() inline(0x230B,dispatcher); /* Integer Math Tools */ extern LongDivRec LongDivide(); extern LongMulRec LongMul(); extern pascal Word LoWord() inline(0x190B,dispatcher); /* Integer Math Tools */ extern pascal Longint Multiply() inline(0x090B,dispatcher); /* Integer Math Tools */ extern IntDivRec SDivide(); extern WordDivRec UDivide(); extern pascal Longint X2Fix() inline(0x200B,dispatcher); /* Integer Math Tools */ extern pascal Longint X2Frac() inline(0x210B,dispatcher); /* Integer Math Tools */ #endif /******************************************** ; File: LineEdit.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __quickdraw__ #include #endif #ifndef __event__ #include #endif #ifndef __lineedit__ #define __lineedit__ #define leDupStrtUpErr 0x1401 /*error - duplicate LEStartup call */ #define leResetErr 0x1402 /*error - can't reset Line Edit */ #definUWXYZ[\]^e leNotActiveErr 0x1403 /*error - Line Edit not active */ #define leScrapErr 0x1404 /*error - desk scrap too big to copy */ #define leJustLeft 0x0000 /*Justification - */ #define leJustCenter 0x0001 /*Justification - */ #define leJustFill 0x0002 /*Justification - */ #define leJustRight 0xFFFF /*Justification - */ typedef struct LERec { Handle leLineHandle; /* LERec - */ Word leLength; /* LERec - */ Word leMaxLength; /* LERec - */ Rect leDestRect; /* LERec - */ Rect leViewRect; /* LERec - */ GrafPortPtr lePort; /* LERec - */ Word leLineHite; /* LERec - */ Word leBaseHite; /* LERec - */ Word leSelStart; /* LERec - */ Word leSelEnd; /* LERec - */ Word leActFlg; /* LERec - */ Word leCarAct; /* LERec - */ Word leCarOn; /* LERec - */ LongWord leCarTime; /* LERec - */ VoidProcPtr leHiliteHook; /* LERec - */ VoidProcPtr leCaretHook; /* LERec - */ Word leJust ; /* LERec - */ } LERec, *LERecPtr, **LERecHndl ; extern pascal void LEBootInit() inline(0x0114,dispatcher); /* Line Edit */ extern pascal void LEStartUp() inline(0x0214,dispatcher); /* Line Edit */ extern pascal void LEShutDown() inline(0x0314,dispatcher); /* Line Edit */ extern pascal Word LEVersion() inline(0x0414,dispatcher); /* Line Edit */ extern pascal void LEReset() inline(0x0514,dispatcher); /* Line Edit */ extern pascal Boolean LEStatus() inline(0x0614,dispatcher); /* Line Edit */ extern pascal void LEActivate() inline(0x0F14,dispatcher); /* Line Edit */ extern pascal void LEClick() inline(0x0D14,dispatcher); /* Line Edit */ extern pascal void LECopy() inline(0x1314,dispatcher); /* Line Edit */ extern pascal void LECut() inline(0x1214,dispatcher); /* Line Edit */ extern pascal void LEDeactivate() inline(0x1014,dispatcher); /* Line Edit */ extern pascal void LEDelete() inline(0x1514,dispatcher); /* Line Edit */ extern pascal void LEDispose() inline(0x0A14,dispatcher); /* Line Edit */ extern pascal void LEFromScrap() inline(0x1914,dispatcher); /* Line Edit */ extern pascal Word LEGetScrapLen() inline(0x1C14,dispatcher); /* Line Edit */ extern pascal Handle LEGetTextHand() inline(0x2214,dispatcher); /* Line Edit */ extern pascal Word LEGetTextLen() inline(0x2314,dispatcher); /* Line Edit */ extern pascal void LEIdle() inline(0x0C14,dispatcher); /* Line Edit */ extern pascal void LEInsert() inline(0x1614,dispatcher); /* Line Edit */ extern pascal void LEKey() inline(0x1114,dispatcher); /* Line Edit */ extern pascal LERecHndl LENew() inline(0x0914,dispatcher); /* Line Edit */ extern pascal void LEPaste() inline(0x1414,dispatcher); /* Line Edit */ extern pascal Handle LEScrapHandle() inline(0x1B14,dispatcher); /* Line Edit */ extern pascal void LESetCaret() inline(0x1F14,dispatcher); /* Line Edit */ extern pascal void LESetHilite() inline(0x1E14,dispatcher); /* Line Edit */ extern pascal void LESetJust() inline(0x2114,dispatcher); /* Line Edit */ extern pascal void LESetScrapLen() inline(0x1D14,dispatcher); /* Line Edit */ extern pascal void LESetSelect() inline(0x0E14,dispatcher); /* Line Edit */ extern pascal void LESetText() inline(0x0B14,dispatcher); /* Line Edit */ extern pascal void LETextBox() inline(0x1814,dispatcher); /* Line Edit */ extern pascal void LETextBox2() inline(0x2014,dispatcher); /* Line Edit */ extern pascal void LEToScrap() inline(0x1A14,dispatcher); /* Line Edit */ extern pascal void LEUpdate() inline(0x1714,dispatcher); /* Line Edit */ #endif /******************************************** ; File: Loader.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __loader__ #define __loader__ #define idNotFound 0x1101 /*error - segment/application/entry not found */ #define idNotLoadFile 0x1104 /*error - file is not a load file */ #define idBusyErr 0x1105 /*error - system loader is busy */ #define idFilVersErr 0x_abcde1107 /*error - file version error */ #define idUserIDErr 0x1108 /*error - user ID error */ #define idSequenceErr 0x1109 /*error - segnum out of sequence */ #define idBadRecordErr 0x110A /*error - illegal load record found */ #define idForeignSegErr 0x110B /*error - segment is foreign */ typedef struct InitialLoadOutputRec { Word userID; /* InitialLoadOutputRec - */ Pointer startAddr; /* InitialLoadOutputRec - */ Word dPageAddr; /* InitialLoadOutputRec - */ Word buffSize; /* InitialLoadOutputRec - */ } InitialLoadOutputRec, *InitialLoadOutputRecPtr ; typedef InitialLoadOutputRec RestartOutRec, *RestartOutRecPtr; typedef struct LoadSegNameOut { Pointer segAddr; /* LoadSegNameOut - */ Word fileNum; /* LoadSegNameOut - */ Word segNum; /* LoadSegNameOut - */ } LoadSegNameOut, *LoadSegNameOutPtr ; typedef struct UnloadSegOutRec { Word userID; /* UnloadSegOutRec - */ Word fileNum; /* UnloadSegOutRec - */ Word segNum; /* UnloadSegOutRec - */ } UnloadSegOutRec, *UnloadSegOutRecPtr ; extern pascal void LoaderInitialization() inline(0x0111,dispatcher); /* Loader */ extern pascal void LoaderStartUp() inline(0x0211,dispatcher); /* Loader */ extern pascal void LoaderShutDown() inline(0x0311,dispatcher); /* Loader */ extern pascal Word LoaderVersion() inline(0x0411,dispatcher); /* Loader */ extern pascal void LoaderReset() inline(0x0511,dispatcher); /* Loader */ extern pascal Boolean LoaderStatus() inline(0x0611,dispatcher); /* Loader */ extern pascal void GetLoadSegInfo() inline(0x0F11,dispatcher); /* Loader */ extern pascal Word GetUserID() inline(0x1011,dispatcher); /* Loader */ extern InitialLoadOutputRec InitialLoad(); extern pascal Pointer LGetPathname() inline(0x1111,dispatcher); /* Loader */ extern LoadSegNameOut LoadSegName(); extern pascal Pointer LoadSegNum() inline(0x0B11,dispatcher); /* Loader */ extern RestartOutRec Restart(); extern UnloadSegOutRec UnloadSeg(); extern pascal void UnloadSegNum() inline(0x0C11,dispatcher); /* Loader */ extern pascal Word UserShutDown() inline(0x1211,dispatcher); /* Loader */ #endif /******************************************** ; File: Locator.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __locator__ #define __locator__ #define toolNotFoundErr 0x0001 /*error - */ #define funcNotFoundErr 0x0002 /*error - */ #define toolVersionErr 0x0110 /*error - */ #define sysStrtMtErr 0x0100 /*error - can't mount system startup volume */ #define mefhijkssNotFoundErr 0x0111 /*error - */ #define addMessage 0x0001 /*Message Center - */ #define getMessage 0x0002 /*Message Center - */ #define deleteMessage 0x0003 /*Message Center - */ #define FileInfoType 0x0001 /*MessageCenter - Message type parameter */ #define mvReturn 0x0001 /*TLMountVolume - like ok for dialogs */ #define mvEscape 0x0002 /*TLMountVolume - like cancel for dialogs */ #define sysTool 0x0000 /*Tool Set Spec - */ #define userTool 0x8000 /*Tool Set Spec - */ extern pascal void TLBootInit() inline(0x0101,dispatcher); /* Locator */ extern pascal void TLStartUp() inline(0x0201,dispatcher); /* Locator */ extern pascal void TLShutDown() inline(0x0301,dispatcher); /* Locator */ extern pascal Word TLVersion() inline(0x0401,dispatcher); /* Locator */ extern pascal void TLReset() inline(0x0501,dispatcher); /* Locator */ extern pascal Boolean TLStatus() inline(0x0601,dispatcher); /* Locator */ extern pascal Pointer GetFuncPtr() inline(0x0B01,dispatcher); /* Locator */ extern pascal Pointer GetTSPtr() inline(0x0901,dispatcher); /* Locator */ extern pascal Pointer GetWAP() inline(0x0C01,dispatcher); /* Locator */ extern pascal void LoadOneTool() inline(0x0F01,dispatcher); /* Locator */ extern pascal void LoadTools() inline(0x0E01,dispatcher); /* Locator */ extern pascal void MessageCenter() inline(0x1501,dispatcher); /* Locator */ extern pascal void RestoreTextState() inline(0x1401,dispatcher); /* Locator */ extern pascal Handle SaveTextState() inline(0x1301,dispatcher); /* Locator */ extern pascal void SetTSPtr() inline(0x0A01,dispatcher); /* Locator */ extern pascal void SetWAP() inline(0x0D01,dispatcher); /* Locator */ extern pascal Word TLMountVolume() inline(0x1101,dispatcher); /* Locator */ extern pascal Word TLTextMountVolume() inline(0x1201,dispatcher); /* Locator */ extern pascal void UnloadOneTool() inline(0x1001,dispatcher); /* Locator */ #endif /******************************************** ; File: Memory.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ char *memccpy(); char *memchr(); int memcmp(); char *memcpy(); char *memset(); #ifndef __types__ #include #endif #ifndef __memory__ #define __memory__ #define memErr 0x0201 /*error - unable to allocate block */ #define emptyErr 0x0202 /*error - illegal operation, empty handle */ #define notEmptyErr 0x0203 lnopqrstu /*error - an empty handle was expected for this operation */ #define lockErr 0x0204 /*error - illegal operation on a locked block */ #define purgeErr 0x0205 /*error - attempt to purge an unpurgable block */ #define handleErr 0x0206 /*error - an invalid handle was given */ #define idErr 0x0207 /*error - an invalid owner ID was given */ #define attrErr 0x0208 /*error - operation illegal on block with given attributes */ #define attrNoPurge 0x0000 /*Handle Attribute Bits - Not purgeable */ #define attrBank 0x0001 /*Handle Attribute Bits - fixed bank */ #define attrAddr 0x0002 /*Handle Attribute Bits - fixed address */ #define attrPage 0x0004 /*Handle Attribute Bits - page aligned */ #define attrNoSpec 0x0008 /*Handle Attribute Bits - may not use special memory */ #define attrNoCross 0x0010 /*Handle Attribute Bits - may not cross banks */ #define attrPurge1 0x0100 /*Handle Attribute Bits - Purge level 1 */ #define attrPurge2 0x0200 /*Handle Attribute Bits - Purge level 2 */ #define attrPurge3 0x0300 /*Handle Attribute Bits - Purge level 3 */ #define attrPurge 0x0300 /*Handle Attribute Bits - test or set both purge bits */ #define attrHandle 0x1000 /*Handle Attribute Bits - block of master pointers */ #define attrSystem 0x2000 /*Handle Attribute Bits - system handle */ #define attrFixed 0x4000 /*Handle Attribute Bits - not movable */ #define attrLocked 0x8000 /*Handle Attribute Bits - locked */ extern pascal void MMBootInit() inline(0x0102,dispatcher); /* Memory Manager */ extern pascal Word MMStartUp() inline(0x0202,dispatcher); /* Memory Manager */ extern pascal void MMShutDown() inline(0x0302,dispatcher); /* Memory Manager */ extern pascal Word MMVersion() inline(0x0402,dispatcher); /* Memory Manager */ extern pascal void MMReset() inline(0x0502,dispatcher); /* Memory Manager */ extern pascal Boolean MMStatus() inline(0x0602,dispatcher); /* Memory Manager */ extern pascal void BlockMove() inline(0x2B02,dispatcher); /* Memory Manager */ extern pascal void CheckHandle() inline(0x1E02,dispatcher); /* Memory Manager */ extern pascal void CompactMem() inline(0x1F02,dispatcher); /* Memory Manager */ extern pascal void DisposeAll() inline(0x1102,dispatcher); /* Memory Manager */ extern pascal void DisposeHandle() inline(0x1002,dispatcher); /* Memory Manager */ extern pascal Handle FindHandle() inline(0x1A02,dispatcher); /* Memory Manager */ extern pascal LongWord FreeMem() inline(0x1B02,dispatcher); /* Memory Manager */ extern pascal LongWord GetHandleSize() inline(0x1802,dispatcher); /* Memory Manager */ extern pascal void HandToHand() inline(0x2A02,dispatcher); /* Memory Manager */ extern pascal void HandToPtr() inline(0x2902,dispatcher); /* Memory Manager */ extern pascal void HLock() inline(0x2002,dispatcher); /* Memory Manager */ extern pascal void HLockAll() inline(0x2102,dispatcher); /* Memory Manager */ extern pascal void HUnlock() inline(0x2202,dispatcher); /* Memory Manager */ extern pascal void HUnlockAll() inline(0x2302,dispatcher); /* Memory Manager */ extern pascal LongWord MaxBlock() inline(0x1C02,dispatcher); /* Memory Manager */ extern pascal Handle NewHandle() inline(0x0902,dispatcher); /* Memory Manager */ extern pascal void PtrToHand() inline(0x2802,dispatcher); /* Memory Manager */ extern pascal void PurgeAll() inline(0x1302,dispatcher); /* Memory Manager */ extern pascal void PurgeHandle() inline(0x1202,dispatcher); /* Memory Manager */ extern pascal void ReallocHandle() inline(0x0A02,dispatcher); /* Memory Manager */ extern pascal void RestoreHandle() inline(0x0B02,dispatcher); /* Memory Manager */ extern pascal void SetHandleSize() inline(0x1902,dispatcher); /* Memory Manager */ extern pascal void SetPurge() inline(0x2402,dispatcher); /* Memory Manager */ extern pascal void SetPurgeAll() inline(0x2502,dispatcher); /* Memory Manager */ extern pascal LongWord TotalMem() inline(0x1D02,dispatcher); /* Memory Manager */ #endif /******************************************** ; File: MiscTool.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __misctool__ #define __misctool__ #define badInputErr 0x0301 /*error - bad input parameter */ #define noDevParamErr 0x0302 /*error - no device for input parameter */ #define taskInstlErr 0x0303 /*error - task already installed error */ #define noSigTaskErr 0xvxyz{|}~0304 /*error - no signature in task header */ #define queueDmgdErr 0x0305 /*error - queue has been damaged error */ #define taskNtFdErr 0x0306 /*error - task was not found error */ #define firmTaskErr 0x0307 /*error - firmware task was unsuccessful */ #define hbQueueBadErr 0x0308 /*error - heartbeat queue damaged */ #define unCnctdDevErr 0x0309 /*error - attempted to dispatch to unconnected device */ #define idTagNtAvlErr 0x030B /*error - ID tag not available */ #define pdosUnClmdIntErr 0x0001 /*System Fail - ProDOS unclaimed interrupt error */ #define divByZeroErr 0x0004 /*System Fail - divide by zero error */ #define pdosVCBErr 0x000A /*System Fail - ProDOS VCB unusable */ #define pdosFCBErr 0x000B /*System Fail - ProDOS FCB unusable */ #define pdosBlk0Err 0x000C /*System Fail - ProDOS block zero allocated illegally */ #define pdosIntShdwErr 0x000D /*System Fail - ProDOS interrupt w/ shadowing off */ #define segLoader1Err 0x0015 /*System Fail - segment loader error */ #define sPackage0Err 0x0017 /*System Fail - can't load a package */ #define package1Err 0x0018 /*System Fail - can't load a package */ #define package2Err 0x0019 /*System Fail - can't load a package */ #define package3Err 0x001A /*System Fail - can't load a package */ #define package4Err 0x001B /*System Fail - can't load a package */ #define package5Err 0x001C /*System Fail - can't load a package */ #define package6Err 0x001D /*System Fail - can't load a package */ #define package7Err 0x001E /*System Fail - can't load a package */ #define package8Err 0x0020 /*System Fail - can't load a package */ #define package9Err 0x0021 /*System Fail - can't load a package */ #define package10Err 0x0022 /*System Fail - can't load a package */ #define package11Err 0x0023 /*System Fail - can't load a package */ #define package12Err 0x0024 /*System Fail - can't load a package */ #define outOfMemErr 0x0025 /*System Fail - out of memory error */ #define segLoader2Err 0x0026 /*System Fail - segment loader error */ #define fMapTrshdErr 0x0027 /*System Fail - file map trashed */ #define stkOvrFlwErr 0x0028 /*System Fail - stack overflow error */ #define psInstDiskErr 0x0030 /*System Fail - Please Insert Disk (file manager alert) */ #define memMgr1Err 0x0032 /*System Fail - memory manager error */ #define memMgr2Err 0x0033 /*System Fail - memory manager error */ #define memMgr3Err 0x0034 /*System Fail - memory manager error */ #define memMgr4Err 0x0035 /*System Fail - memory manager error */ #define memMgr5Err 0x0036 /*System Fail - memory manager error */ #define memMgr6Err 0x0037 /*System Fail - memory manager error */ #define memMgr7Err 0x0038 /*System Fail - memory manager error */ #define memMgr8Err 0x0039 /*System Fail - memory manager error */ #define memMgr9Err 0x003A /*System Fail - memory manager error */ #define memMgr10Err 0x003B /*System Fail - memory manager error */ #define memMgr11Err 0x003C /*System Fail - memory manager error */ #define memMgr12Err 0x003D /*System Fail - memory manager error */ #define memMgr13Err 0x003E /*System Fail - memory manager error */ #define memMgr14Err 0x003F /*System Fail - memory manager error */ #define memMgr15Err 0x0040 /*System Fail - memory manager error */ #define memMgr16Err 0x0041 /*System Fail - memory manager error */ #define memMgr17Err 0x0042 /*System Fail - memory manager error */ #define memMgr18Err 0x0043 /*System Fail - memory manager error */ #define memMgr19Err 0x0044 /*System Fail - memory manager error */ #define memMgr20Err 0x0045 /*System Fail - memory manager error */ #define memMgr21Err 0x0046 /*System Fail - memory manager error */ #define memMgr22Err 0x0047 /*System Fail - memory manager error */ #define memMgr23Err 0x0048 /*System Fail - memory manager error */ #define memMgr24Err 0x0049 /*System Fail - memory manager error */ #define memMgr25Err 0x004A /*System Fail - memory manager error */ #define memMgr26Err 0x004B /*System Fail - memory manager error */ #define memMgr27Err 0x004C /*System Fail - memory manager error */ #define memMgr28Err 0x004D /*System Fail - memory manager error */ #define memMgr29Err 0x004E /*System Fail - memory manager error */ #define memMgr30Err 0x004F /*System Fail - memory manager error */ #define memMgr31Err 0x0050 /*System Fail - memory manager error */ #define memMgr32Err 0x0051 /*System Fail - memory manager error */ #define memMgr33Err 0x0052 /*System Fail - memory manager error */ #define memMgr34Err 0x0053 /*System Fail - memory manager error */ #define stupVolMntErr 0x0100 /* can't mount system start up vol */ #define p1PrntModem 0x0000 /*Battery Ram Parameter Ref Number - */ #define p1LineLnth 0x0001 /*Battery Ram Parameter Ref Number - */ #define p1DelLine 0x0002 /*Battery Ram Parameter Ref Number - */ #define p1AddLine 0x0003 /*Battery Ram Parameter Ref Number - */ #define p1Echo 0x0004 /*Battery Ram Parameter Ref Number - */ #define p1Buffer 0x0005 /*Battery Ram Parameter Ref Number - */ #define p1Baud 0x0006 /*Battery Ram Parameter Ref Number - */ #define p1DtStpBits 0x0007 /*Battery Ram Parameter Ref Number - */ #define p1Parity 0x0008 /*Battery Ram Parameter Ref Number - */ #define p1DCDHndShk 0x0009 /*Battery Ram Parameter Ref Number - */ #define p1DSRHndShk 0x000A /*Battery Ram Parameter Ref Number - */ #define p1XnfHndShk 0x000B /*Battery Ram Parameter Ref Number - */ #define p2PrntModem 0x000C /*Battery Ram Parameter Ref Number - */ #define p2LineLnth 0x000D /*Battery Ram Parameter Ref Number - */ #define p2DelLine 0x000E /*Battery Ram Parameter Ref Number - */ #define p2AddLine 0x000F /*Battery Ram Parameter Ref Number - */ #define p2Echo 0x0010 /*Battery Ram Parameter Ref Number - */ #define p2Buffer 0x0011 /*Battery Ram Parameter Ref Number - */ #define p2Baud 0x0012 /*Battery Ram Parameter Ref Number - */ #define p2DtStpBits 0x0013 /*Battery Ram Parameter Ref Number - */ #define p2Parity 0x0014 /*Battery Ram Parameter Ref Number - */ #define p2DCDHndShk 0x0015 /*Battery Ram Parameter Ref Number - */ #define p2DSRHndShk 0x0016 /*Battery Ram Parameter Ref Number - */ #define p2XnfHndShk 0x0017 /*Battery Ram Parameter Ref Number - */ #define dspColMono 0x0018 /*Battery Ram Parameter Ref Number - */ #define dsp40or80 0x0019 /*Battery Ram Parameter Ref Number - */ #define dspTxtColor 0x001A /*Battery Ram Parameter Ref Number - */ #define dspBckColor 0x001B /*Battery Ram Parameter Ref Number - */ #define dspBrdColor 0x001C /*Battery Ram Parameter Ref Number - */ #define hrtz50or60 0x001D /*Battery Ram Parameter Ref Number - */ #define userVolume 0x001E /*Battery Ram Parameter Ref Number - */ #define bellVolume 0x001F /*Battery Ram Parameter Ref Number - */ #define sysSpeed 0x0020 /*Battery Ram Parameter Ref Number - */ #define slt1intExt 0x0021 /*Battery Ram Parameter Ref Number - */ #define slt2intExt 0x0022 /*Battery Ram Parameter Ref Number - */ #define slt3intExt 0x0023 /*Battery Ram Parameter Ref Number - */ #define slt4intExt 0x0024 /*Battery Ram Parameter Ref Number - */ #define slt5intExt 0x0025 /*Battery Ram Parameter Ref Number - */ #define slt6intExt 0x0026 /*Battery Ram Parameter Ref Number - */ #define slt7intExt 0x0027 /*Battery Ram Parameter Ref Number - */ #define startupSlt 0x0028 /*Battery Ram Parameter Ref Number - */ #define txtDspLang 0x0029 /*Battery Ram Parameter Ref Number - */ #define kybdLang 0x002A /*Battery Ram Parameter Ref Number - */ #define kyBdBuffer 0x002B /*Battery Ram Parameter Ref Number - */ #define kyBdRepSpd 0x002C /*Battery Ram Parameter Ref Number - */ #define kyBdRepDel 0x002D /*Battery Ram Parameter Ref Number - */ #define dblClkTime 0x002E /*Battery Ram Parameter Ref Number - */ #define flashRate 0x002F /*Battery Ram Parameter Ref Number - */ #define shftCpsLCas 0x0030 /*Battery Ram Parameter Ref Number - */ #define fstSpDelKey 0x0031 /*Battery Ram Parameter Ref Number - */ #define dualSpeed 0x0032 /*Battery Ram Parameter Ref Number - */ #define hiMouseRes 0x0033 /*Battery Ram Parameter Ref Number - */ #define dateFormat 0x0034 /*Battery Ram Parameter Ref Number - */ #define clockFormat 0x0035 /*Battery Ram Parameter Ref Number - */ #define rdMinRam 0x0036 /*Battery Ram Parameter Ref Number - */ #define rdMaxRam 0x0037 /*Battery Ram Parameter Ref Number - */ #define langCount 0x0038 /*Battery Ram Parameter Ref Number - */ #define lang1 0x0039 /*Battery Ram Parameter Ref Number - */ #define lang2 0x003A /*Battery Ram Parameter Ref Number - */ #define lang3 0x003B /*Battery Ram Parameter Ref Number - */ #define lang4 0x003C /*Battery Ram Parameter Ref Number - */ #define lang5 0x003D /*Battery Ram Parameter Ref Number - */ #define lang6 0x003E /*Battery Ram Parameter Ref Number - */ #define lang7 0x003F /*Battery Ram Parameter Ref Number - */ #define lang8 0x0040 /*Battery Ram Parameter Ref Number - */ #define layoutCount 0x0041 /*Battery Ram Parameter Ref Number - */ #define layout1 0x0042 /*Battery Ram Parameter Ref Number - */ #define layout2 0x0043 /*Battery Ram Parameter Ref Number - */ #define layout3 0x0044 /*Battery Ram Parameter Ref Number - */ #define layout4 0x0045 /*Battery Ram Parameter Ref Number - */ #define layout5 0x0046 /*Battery Ram Parameter Ref Number - */ #define layout6 0x0047 /*Battery Ram Parameter Ref Number - */ #define layout7 0x0048 /*Battery Ram Parameter Ref Number - */ #define layout8 0x0049 /*Battery Ram Parameter Ref Number - */ #define layout9 0x004A /*Battery Ram Parameter Ref Number - */ #define layout10 0x004B /*Battery Ram Parameter Ref Number - */ #define layout11 0x004C /*Battery Ram Parameter Ref Number - */ #define layout12 0x004D /*Battery Ram Parameter Ref Number - */ #define layout13 0x004E /*Battery Ram Parameter Ref Number - */ #define layout14 0x004F /*Battery Ram Parameter Ref Number - */ #define layout15 0x0050 /*Battery Ram Parameter Ref Number - */ #define layout16 0x0051 /*Battery Ram Parameter Ref Number - */ #define aTalkNodeNo 0x0080 /*Battery Ram Parameter Ref Number - */ #define irqIntFlag 0x0000 /*GetAddr Param Ref No - */ #define irqDataReg 0x0001 /*GetAddr Param Ref No - */ #define irqSerial1 0x0002 /*GetAddr Param Ref No - */ #define irqSerial2 0x0003 /*GetAddr Param Ref No - */ #define irqAplTlkHi 0x0004 /*GetAddr Param Ref No - */ #define tickCnt 0x0005 /*GetAddr Param Ref No - */ #define irqVolume 0x0006 /*GetAddr Param Ref No - */ #define irqActive 0x0007 /*GetAddr Param Ref No - */ #define irqSndData 0x0008 /*GetAddr Param Ref No - */ #define brkVar 0x0009 /*GetAddr Param Ref No - */ #define evMgrData 0x000A /*GetAddr Param Ref No - */ #define mouseSlot 0x000B /*GetAddr Param Ref No - */ #define mouseClamps 0x000C /*GetAddr Param Ref No - */ #define absClamps 0x000D /*GetAddr Param Ref No - */ #define sccIntFlag 0x000E #define extVGCInt 0x1 /*Hardware Interrupt Status - Returned by GetIRQEnable */ #define scanLineInt 0x2 /*Hardware Interrupt Status - Returned by GetIRQEnable */ #define adbDataInt 0x4 /*Hardware Interrupt Status - Returned by GetIRQEnable */ #define oneSecInt 0x10 /*Hardware Interrupt Status - Returned by GetIRQEnable */ #define quartSecInt 0x20 /*Hardware Interrupt Status - Returned by GetIRQEnable */ #define vbInt 0x40 /*Hardware Interrupt Status - Returned by GetIRQEnable */ #define kbdInt 0x80 /*Hardware Interrupt Status - Returned by GetIRQEnable */ #define kybdEnable 0x0000 /*Interrupt Ref Number - Parameter to IntSource */ #define kybdDisable 0x0001 /*Interrupt Ref Number - Parameter to IntSource */ #define vblEnable 0x0002 /*Interrupt Ref Number - Parameter to IntSource */ #define vblDisable 0x0003 /*Interrupt Ref Number - Parameter to IntSource */ #define qSecEnable 0x0004 /*Interrupt Ref Number - Parameter to IntSource */ #define qSecDisable 0x0005 /*Interrupt Ref Number - Parameter to IntSource */ #define oSecEnable 0x0006 /*Interrupt Ref Number - Parameter to IntSource */ #define oSecDisable 0x0007 /*Interrupt Ref Number - Parameter to IntSource */ #define adbEnable 0x000A /*Interrupt Ref Number - Parameter to IntSource */ #define adbDisable 0x000B /*Interrupt Ref Number - Parameter to IntSource */ #define scLnEnable 0x000C /*Interrupt Ref Number - Parameter to IntSource */ #define scLnDisable 0x000D /*Interrupt Ref Number - Parameter to IntSource */ #define exVCGEnable 0x000E /*Interrupt Ref Number - Parameter to IntSource */ #define exVCGDisable 0x000F /*Interrupt Ref Number - Parameter to IntSource */ #define mouseOff 0x0000 /*Mouse Mode Value - */ #define transParnt 0x0001 /*Mouse Mode Value - (old name) */ #define transparent 0x0001 /*Mouse Mode Value - */ #define moveIntrpt 0x0003 /*Mouse Mode Value - */ #define bttnIntrpt 0x0005 /*Mouse Mode Value - */ #define bttnOrMove 0x0007 /*Mouse Mode Value - */ #define mouseOffVI 0x0008 /*Mouse Mode Value - */ #define transParntVI 0x0009 /*Mouse Mode Value - (old name) */ #define transparentVI 0x0009 /*Mouse Mode Value - */ #define moveIntrptVI 0x000B /*Mouse Mode Value - */ #define bttnIntrptVI 0x000D /*Mouse Mode Value - */ #define bttnOrMoveVI 0x000F /*Mouse Mode Value - */ #define toolLoc1 0x0000 /*Vector Ref Number - */ #define toolLoc2 0x0001 /*Vector Ref Number - */ #define usrTLoc1 0x0002 /*Vector Ref Number - */ #define usrTLoc2 0x0003 /*Vector Ref Number - */ #define intrptMgr 0x0004 /*Vector Ref Number - */ #define copMgr 0x0005 /*Vector Ref Number - */ #define abortMgr 0x0006 /*Vector Ref Number - */ #define sysFailMgr 0x0007 /*Vector Ref Number - */ #define aTalkIntHnd 0x0008 /*Vector Ref Number - */ #define sccIntHnd 0x0009 /*Vector Ref Number - */ #define scLnIntHnd 0x000A /*Vector Ref Number - */ #define sndIntHnd 0x000B /*Vector Ref Number - */ #define vblIntHnd 0x000C /*Vector Ref Number - */ #define mouseIntHnd 0x000D /*Vector Ref Number - */ #define qSecIntHnd 0x000E /*Vector Ref Number - */ #define kybdIntHnd 0x000F /*Vector Ref Number - */ #define adbRBIHnd 0x0010 /*Vector Ref Number - */ #define adbSRQHnd 0x0011 /*Vector Ref Number - */ #define deskAccHnd 0x0012 /*Vector Ref Number - */ #define flshBufHnd 0x0013 /*Vector Ref Number - */ #define kybdMicHnd 0x0014 /*Vector Ref Number - */ #define oneSecHnd 0x0015 /*Vector Ref Number - */ #define extVCGHnd 0x0016 /*Vector Ref Number - */ #define otherIntHnd 0x0017 /*Vector Ref Number - */ #define crsrUpdtHnd 0x0018 /*Vector Ref Number - */ #define incBsyFlag 0x0019 /*Vector Ref Number - */ #define decBsyFlag 0x001A /*Vector Ref Number - */ #define bellVector 0x001B /*Vector Ref Number - */ #define breakVector 0x001C /*Vector Ref Number - */ #define traceVector 0x001D /*Vector Ref Number - */ #define stepVector 0x001E /*Vector Ref Number - */ #define ctlYVector 0x0028 /*Vector Ref Number - */ #define proDOSVctr 0x002A /*Vector Ref Number - */ #define osVector 0x002B /*Vector Ref Number - */ #define msgPtrVctr 0x002C /*Vector Ref Number - */ #ifndef __prodos__ typedef struct TimeRec { Byte second; /* TimeRec - */ Byte minute; /* TimeRec - */ Byte hour; /* TimeRec - */ Byte year; /* TimeRec - */ Byte day; /* TimeRec - */ Byte month; /* TimeRec - */ Byte extra; /* TimeRec - */ Byte weekDay; /* TimeRec - */ } TimeRec, *TimeRecPtr, **TimeRecHndl ; #endif typedef struct MouseRec { Byte mouseMode; /* MouseRec - */ Byte mouseStatus; /* MouseRec - */ Word yPos; /* MouseRec - */ Word xPos; /* MouseRec - */ } MouseRec, *MouseRecPtr, **MouseRecHndl ; typedef struct ClampRec { Word yMaxClamp; /* ClampRec - */ Word yMinClamp; /* ClampRec - */ Word xMaxClamp; /* ClampRec - */ Word xMinClamp; /* ClampRec - */ } ClampRec, *ClampRecPtr, **ClampRecHndl ; typedef struct FWRec { Word yRegExit; /* FWRec - */ Word xRegExit; /* FWRec - */ Word aRegExit; /* FWRec - */ Word status; /* FWRec - */ } FWRec, *FWRecPtr, **FWRecHndl ; extern pascal void MTBootInit() inline(0x0103,dispatcher); /* Misc. Tools */ extern pascal void MTStartUp() inline(0x0203,dispatcher); /* Misc. Tools */ extern pascal void MTShutDown() inline(0x0303,dispatcher); /* Misc. Tools */ extern pascal Word MTVersion() inline(0x0403,dispatcher); /* Misc. Tools */ extern pascal void MTReset() inline(0x0503,dispatcher); /* Misc. Tools */ extern pascal Boolean MTStatus() inline(0x0603,dispatcher); /* Misc. Tools */ extern pascal void ClampMouse() inline(0x1C03,dispatcher); /* Misc. Tools */ extern pascal void ClearMouse() inline(0x1B03,dispatcher); /* Misc. Tools */ extern pascal void ClrHeartBeat() inline(0x1403,dispatcher); /* Misc. Tools */ extern pascal void DeleteID() inline(0x2103,dispatcher); /* Misc. Tools */ extern pascal void DelHeartBeat() inline(0x1303,dispatcher); /* Misc. Tools */ extern FWRec FWEntry(); extern ClampRec GetAbsClamp(); extern pascal Pointer GetAddr() inline(0x1603,dispatcher); /* Misc. Tools */ extern pascal Word GetIRQEnable() inline(0x2903,dispatcher); /* Misc. Tools */ extern ClampRec GetMouseClamp(); extern pascal Word GetNewID() inline(0x2003,dispatcher); /* Misc. Tools */ extern pascal LongWord GetTick() inline(0x2503,dispatcher); /* Misc. Tools */ extern pascal Pointer GetVector() inline(0x1103,dispatcher); /* Misc. Tools */ extern pascal void HomeMouse() inline(0x1A03,dispatcher); /* Misc. Tools */ extern pascal void InitMouse() inline(0x1803,dispatcher); /* Misc. Tools */ extern pascal void IntSource() inline(0x2303,dispatcher); /* Misc. Tools */ extern pascal Word Munger() inline(0x2803,dispatcher); /* Misc. Tools */ extern pascal Word PackBytes() inline(0x2603,dispatcher); /* Misc. Tools */ extern pascal void PosMouse() inline(0x1E03,dispatcher); /* Misc. Tools */ extern pascal void ReadAsciiTime() inline(0x0F03,dispatcher); /* Misc. Tools */ extern pascal Word ReadBParam() inline(0x0C03,dispatcher); /* Misc. Tools */ extern pascal void ReadBRam() inline(0x0A03,dispatcher); /* Misc. Tools */ extern MouseRec ReadMouse(); extern TimeRec ReadTimeHex(); extern pascal Word ServeMouse() inline(0x1F03,dispatcher); /* Misc. Tools */ extern pascal void SetAbsClamp() inline(0x2A03,dispatcher); /* Misc. Tools */ extern pascal void SetHeartBeat() inline(0x1203,dispatcher); /* Misc. Tools */ extern pascal void SetMouse() inline(0x1903,dispatcher); /* Misc. Tools */ extern pascal void SetVector() inline(0x1003,dispatcher); /* Misc. Tools */ extern pascal void StatusID() inline(0x2203,dispatcher); /* Misc. Tools */ extern pascal void SysBeep() inline(0x2C03,dispatcher); /* Misc. Tools */ extern pascal void SysFailMgr() inline(0x1503,dispatcher); /* Misc. Tools */ extern pascal Word UnPackBytes() inline(0x2703,dispatcher); /* Misc. Tools */ extern pascal void WriteBParam() inline(0x0B03,dispatcher); /* Misc. Tools */ extern pascal void WriteBRam() inline(0x0903,dispatcher); /* Misc. Tools */ extern pascal void WriteTimeHex(); #endif /******************************************** ; File: Print.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __quickdraw__ #include #endif #ifndef __event__ #include #endif #ifndef __control__ #include #endif #ifndef __window__ #include #endif #ifndef __dialog__ #include #endif #ifndef __print__ #define __print__ #define  memFullErr 0xFF80 /*errors - */ #define ioAbort 0xFFE5 /*errors - */ #define prAbort 0x0080 /*errors - */ #define missingDriver 0x1301 /* specified driver not in system/drivers */ #define portNotOn 0x1302 /* specified port not selected in ctl panel */ #define noPrintRecord 0x1303 /* no print record was given */ #define badLaserPrep 0x1304 /* laser prep in laser writer incompatible */ #define badLPFile 0x1305 /* laser prep in system/drivers incompatible */ #define papConnNotOpen 0x1306 /* cannot connect to laser writer */ #define papReadWriteErr 0x1307 /* apple talk PAPRead or PAPWrite error */ #define startUpAlreadyMade 0x1321 /* low level startup already made */ #define invalidCtlVal 0x1322 /* invalid control value has been spec'd */ #define reset 0x0001 /*LLDControl - Printer control value - reset printer */ #define formFeed 0x0002 /*LLDControl - Printer control value - form feed */ #define lineFeed 0x0003 /*LLDControl - Printer control value - line feed */ typedef struct PrInfoRec { Word iDev; /* PrInfoRec - reserved for internal use*/ Word iVRes; /* PrInfoRec - vertical resolution of printer*/ Word iHRes; /* PrInfoRec - horizontal resolution of printer*/ Rect rPage; /* PrInfoRec - defining page rectangle*/ } PrInfoRec, *PrInfoRecPtr, **PrInfoRecHndl ; typedef struct PrStyleRec { Word wDev; /* PrStyleRec - output quality information*/ Word internA[3]; /* PrStyleRec - for internal use*/ Word feed; /* PrStyleRec - paper feed type*/ Word paperType; /* PrStyleRec - paper type*/ Word crWidth; /* PrStyleRec - carriage Width for image writer or vertical sizing for lazer writer*/ Word reduction; /* PrStyleRec - % reduction, laser writer only*/ Word internB; /* PrStyleRec - for internal use*/ } PrStyleRec, *PrStyleRecPtr, **PrStyleRecHndl ; #define vSizing crWidth /* PrStyleRec - alternate field name */ typedef struct PrJobRec { Word iFstPage; /* PrJobRec - first page to print*/ Word iLstPage; /* PrJobRec - last page to print*/ Word iCopies; /* PrJobRec - number of copies*/ Byte bJDocLoop; /* PrJobRec - printing method*/ Byte fFromUser; /* PrJobRec - used internally*/ WordProcPtr pIdleProc; /* PrJobRec - background procedure*/ Pointer pFileName; /* PrJobRec - spool file name*/ Word iFileVol; /* PrJobRec - spool file volume reference number*/ Byte bFileVers; /* PrJobRec - spool file version number*/ Byte bJobX; /* PrJobRec - used internally*/ } PrJobRec, *PrJobRecPtr ; typedef struct PrRec { Word prVersion; /* PrRec - print manager version*/ PrInfoRec prInfo; /* PrRec - printer infomation subrecord*/ Rect rPaper; /* PrRec - Defining paper rectangle*/ PrStyleRec prStl; /* PrRec - style subrecord*/ Byte prInfoPT[14]; /* PrRec - reserved for internal use*/ Byte prXInfo[24]; /* PrRec - reserved for internal use*/ PrJobRec prJob; /* PrRec - job subrecord*/ Byte printX[38]; /* PrRec - reserved for future use*/ Word iReserved; /* PrRec - reserved for internal use*/ } PrRec, *PrRecPtr, **PrRecHndl ; typedef struct PrStatusRec { Word iTotPages; /* PrStatusRec - number of pages in spool file*/ Word iCurPage; /* PrStatusRec - page being printed*/ Word iTotCopies; /* PrStatusRec - number of copies requested*/ Word iCurCopy; /* PrStatusRec - copy being printed*/ Word iTotBands; /* PrStatusRec - reserved for internal use*/ Word iCurBand; /* PrStatusRec - reserved for internal use*/ Boolean fPgDirty; /* PrStatusRec - TRUE if started printing page*/ Word fImaging; /* PrStatusRec - reserved for internal use*/ PrRecHndl hPrint; /* PrStatusRec - handle of print record*/ GrafPortPtr pPrPort; /* PrStatusRec - pointer to grafport being use for printing*/ LongWord hPic; /* PrStatusRec - reserved for internal use*/ } PrStatusRec, *PrStatusRecPtr, **PrStatusRecHndl ; extern pascal void PMBootInit() inline(0x0113,dispatcher); /* Print */ extern pascal void PMStartUp() inline(0x0213,dispatcher); /* Print */ extern pascal void PMShutDown() inline(0x0313,dispatcher); /* Print */ extern pascal Word PMVersion() inline(0x0413,dispatcher); /* Print */ extern pascal void PMReset() inline(0x0513,dispatcher); /* Print */ extern pascal Boolean PMStatus() inline(0x0613,dispatcher); /* Print */ extern pascal void LLDBitMap() inline(0x1C13,dispatcher); /* Print */ extern pascal void LLDControl() inline(0x1B13,dispatcher); /* Print */ extern pascal void LLDShutDown() inline(0x1A13,dispatcher); /* Print */ extern pascal void LLDStartUp() inline(0x1913,dispatcher); /* Print */ extern pascal void LLDText() inline(0x1D13,dispatcher); /* Print */ extern pascal Boolean PrChoosePrinter() inline(0x1613,dispatcher); /* Print */ extern pascal Boolean PrChooser() inline(0x1613,dispatcher); /* Print */ extern pascal void PrCloseDoc() inline(0x0F13,dispatcher); /* Print */ extern pascal void PrClosePage() inline(0x1113,dispatcher); /* Print */ extern pascal void PrDefault() inline(0x0913,dispatcher); /* Print */ extern pascal Word PrDriverVer() inline(0x2313,dispatcher); /* Print */ extern pascal Word PrError() inline(0x1413,dispatcher); /* Print */ extern pascal Boolean PrJobDialog() inline(0x0C13,dispatcher); /* Print */ extern pascal GrafPortPtr PrOpenDoc() inline(0x0E13,dispatcher); /* Print */ extern pascal void PrOpenPage() inline(0x1013,dispatcher); /* Print */ extern pascal void PrPicFile() inline(0x1213,dispatcher); /* Print */ extern pascal void PrPixelMap() inline(0x0D13,dispatcher); /* Print */ extern pascal Word PrPortVer() inline(0x2413,dispatcher); /* Print */ extern pascal void PrSetError() inline(0x1513,dispatcher); /* Print */ extern pascal Boolean PrStlDialog() inline(0x0B13,dispatcher); /* Print */ extern pascal Boolean PrValidate() inline(0x0A13,dispatcher); /* Print */ #endif /******************************************** ; File: ProDos.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __prodos__ #define __prodos__ /* ProDOS errors */ #define invalidCallNum 0x01 /* error - invalid call number */ #define unclaimedIntErr 0x01 /* error - fatal error - unclaimed interrupt */ #define badPBlockPtr 0x05 /* error - call pointer out of bounds */ #define pdosActiveErr 0x06 /* error - ProDOS is active */ #define pdosBusyErr 0x07 /* error - ProDos is busy */ #define vcbUnusable 0x0A /* error - fatal error - VCB unusable */ #define fcbUnusable 0x0B /* error - fatal error - FCB unusable */ #define badBlockZero 0x0C /* error - fatal error - block zero allocated illegally */ #define shdwInterruptErr 0x0D /* error - fatal error - interrupt occured while I/O shadowing off */ #define devNotFound 0x10 /* error - device not found */ #define badDevRefNum 0x11 /* error - invalid device reference number */ #define osVersionErr 0x11 /* error - Wrong OS version */ #define badReqCode 0x20 /* error - invalid request code */ #define intTableFull 0x25 /* error - interrupt table full */ #define invalidOperation 0x26 /* error - invalid operation */ #define ioError 0x27 /* error - I/O error */ #define noDevConnect 0x28 /* error - no device connected */ #define writeProtectErr 0x2B /* error - write protect error */ #define diskSwitchErr 0x2E /* error - disk switched error */ #define badPathName 0x40 /* error - invalid pathname syntax */ #define fcbFullErr 0x42 /* error - FCB full error */ #define badFileRefNum 0x43 /* error - invalid file reference number */ #define pathNotFound 0x44 /* error - path not found */ #define volumeNotFound 0x45 /* error - volume not found */ #define fileNotFound 0x46 /* error - file not found */ #define dupFileName 0x47 /* error - duplicate file name */ #define volumeFullErr 0x48 /* error - volume full error */ #define dirFullErr 0x49 /* error - directory full error */ #define versionErr 0x4A /* error - version error (incompatible file format) */ #define badStoreType 0x4B /* error - unsupported (or incorrect) storage type */ #define eofEncountered 0x4C /* error - end-of-file encountered */ #define positionRangeErr 0x4D /* error - position out of range */ #define accessErr 0x4E /* error - access not allowed */ #define fileOpenErr 0x50 /* error - file is open */ #define dirDamaged 0x51 /* error - directory structure is damaged */ #define badVolType 0x52 /* error - unsupported volume type */ #define paramRangeErr 0x53 /* error - parameter out of range */ #define memoryFullErr 0x54 /* error - out of memory */ #define vcbFullErr 0x55 /* error - VCB full error */ #define dupVolumeErr 0x57 /* error - duplicate volume error */ #define notBlkDevErr 0x58 /* error - not a blocked device */ #define invalidLevel 0x59 /* error - invalid level */ #define blkNumRangeErr 0x5A /* error - block number out of range */ #define notSameVolErr 0x5B /* error - different volumes found on ChangePath call */ #define notExecSysFile 0x5C /* error - not an executable system file */ #define osUnavailable 0x5D /* error - Operating system unavailable*/ #define deallocateRamErr 0x5E /* error - Cannot deallocate /RAM */ #define stackOverflow 0x5F /* error - Return stack overflow */ #define dataUnavailable 0x60 /* error - Data unavailable */ /* ProDOS Interface */ #define P_READ_ENABLE 1 #define P_WRITE_ENABLE 2 #define P_DESTROY_ENABLE (1<<7) #define P_RENAME_ENABLE (1<<6) /* for ReadBlock, WriteBlock */ typedef struct BlockRec { Word blockDevNum; /* BlockRec - */ Ptr blockDataBuffer; /* BlockRec - */ Longint blockNum; /* BlockRec - */ } BlockRec, *BlockRecPtr, **BlockRecHndl; /* for GetDevNum */ typedef struct DevNumRec { Ptr devName; /* DevNumRec - */ Word devNum; /* DevNumRec - */ } DevNumRec, *DevNumRecPtr, **DevNumRecHndl; /* for SetEOF, GetEOF */ typedef struct EOFRec { Word eofRefNum; /* EOFRec - */ Longint eofPosition; /* EOFRec - */ } EOFRec, *EOFRecPtr, **EOFRecHndl; /* for Read, Write, Close, Flush */ typedef struct FileIORec { Word fileRefNum; /* FileIORec - */ Ptr dataBuffer; /* FileIORec - */ Longint requestCount; /* FileIORec - */ Longint transferCount; /* FileIORec - */ } FileIORec, *FileIORecPtr, **FileIORecHndl; /* for Create, SetFileInfo, GetFileInfo */ typedef struct FileRec { Ptr pathname; /* FileRec - */ Word fAccess; /* FileRec - */ Word fileType; /* FileRec - */ Longint auxType; /* FileRec - */ Word storageType; /* FileRec - */ Word createDate; /* FileRec - */ Word createTime; /* FileRec - */ Word modDate; /* FileRec - */ Word modTime; /* FileRec - */ Long blocksUsed; /* FileRec - */ } FileRec, *FileRecPtr, **FileRecHndl; /* for AllocInterrupt, DeallocInterrupt */ typedef struct InterruptRec { Word intNum; /* InterruptRec - */ Ptr intCode; /* InterruptRec - */ } InterruptRec, *InterruptRecPtr, **InterruptRecHndl; /* for SetLevel, GetLevel */ typedef struct LevelRec { Word level; /* LevelRec - */ } LevelRec, *LevelRecPtr, **LevelRecHndl; /* for SetMark, GetMark */ typedef struct MarkRec { Word markRefNum; /* MarkRec - */ Long position; /* MarkRec - */ } MarkRec, *MarkRecPtr, **MarkRecHndl; /* for NewLine */ typedef struct NewlineRec { Word newLRefNum; /* NewlineRec - */ Word enableMask; /* NewlineRec - */ Word newlineChar; /* NewlineRec - */ } NewlineRec, *NewlineRecPtr, **NewlineRecHndl; /* for Open */ typedef struct OpenRec { Word openRefNum; /* OpenRec - */ Ptr openPathname; /* OpenRec - */ Handle ioBuffer; /* OpenRec - */ } OpenRec, *OpenRecPtr, **OpenRecHndl; /* for Destroy, ChangePath, ClearBackupBit, GetPathname, GetBootVol */ typedef struct PathNameRec { Ptr pathname; /* PathNameRec - */ Ptr newPathname; /* PathNameRec - */ } PathNameRec, *PathNameRecPtr, **PathNameRecHndl; /* for SetPrefix, GetPrefix */ typedef struct PrefixRec { Word prefixNum; /* PrefixRec - */ Ptr prefix; /* PrefixRec - */ } PrefixRec, *PrefixRecPtr, **PrefixRecHndl; /* for GetVersion */ typedef struct VersionRec { Word version; /* VersionRec - */ } VersionRec, *VersionRecPtr, **VersionRecHndl; /* for Volume */ typedef struct VolumeRec { Ptr deviceName; /* VolumeRec - */ Ptr volName; /* VolumeRec - */ Long totalBlocks; /* VolumeRec - */ Long freeBlocks; /* VolumeRec - */ Word fileSysID; /* VolumeRec - */ } VolumeRec, *VolumeRecPtr, **VolumeRecHndl; /* for Format */ typedef struct FormatRec { Ptr devName; Ptr volName; word fileSysID; } FormatRec, *FormatRecPtr, **FormatRecHndl; /* for Erase_Disk */ typedef FormatRec EraseDiskRec, *EraseDiskRecPtr, **EraseDiskRecHndl; /* for Quit */ typedef struct QuitRec { Ptr quitPathname; word flags; } QuitRec, *QuitRecPtr, **QuitRecHndl; /* for DInfo */ typedef struct DInfoRec { Word devNum; Ptr devName; } DInfoRec, *DInfoRecPtr, **DInfoRecHndl; #ifndef __misctool__ typedef struct TimeRec { Byte second; /* TimeRec - */ Byte minute; /* TimeRec - */ Byte hour; /* TimeRec - */ Byte year; /* TimeRec - */ Byte day; /* TimeRec - */ Byte month; /* TimeRec - */ Byte extra; /* TimeRec - */ Byte weekDay; /* TimeRec - */ } TimeRec, *TimeRecPtr, **TimeRecHndl ; #endif typedef struct DirEntryRec { Word refNum; Word reserved; /* must be 0x0000 */ Word displacement; Ptr nameBuffer; Word entryNum; Word fileType; Long endOfFile; LongWord blockCount; TimeRec createTime; TimeRec modTime; Word access; LongWord auxType; Word fileSysID; } DirEntryRec, *DirEntryRecPtr, **DirEntryRecHndl; #define CREATE(pBlockPtr) (PDosInt(1,pBlockPtr)) #define DESTROY(pBlockPtr) (PDosInt(2,pBlockPtr)) #define CHANGE_PATH(pBlockPtr) (PDosInt(4,pBlockPtr)) #define SET_FILE_INFO(pBlockPtr) (PDosInt(5,pBlockPtr)) #define GET_FILE_INFO(pBlockPtr) (PDosInt(6,pBlockPtr)) #define VOLUME(pBlockPtr) (PDosInt(8,pBlockPtr)) #define SET_PREFIX(pBlockPtr) (PDosInt(9,pBlockPtr)) #define GET_PREFIX(pBlockPtr) (PDosInt(10,pBlockPtr)) #define CLEAR_BACKUP_BIT(pBlockPtr) (PDosInt(11,pBlockPtr)) #define OPEN(pBlockPtr) (PDosInt(16,pBlockPtr)) #define NEWLINE(pBlockPtr) (PDosInt(17,pBlockPtr)) #define READ(pBlockPtr) (PDosInt(18,pBlockPtr)) #define WRITE(pBlockPtr) (PDosInt(19,pBlockPtr)) #define CLOSE(pBlockPtr) (PDosInt(20,pBlockPtr)) #define FLUSH(pBlockPtr) (PDosInt(21,pBlockPtr)) #define SET_MARK(pBlockPtr) (PDosInt(22,pBlockPtr)) #define GET_MARK(pBlockPtr) (PDosInt(23,pBlockPtr)) #define SET_EOF(pBlockPtr) (PDosInt(24,pBlockPtr)) #define GET_EOF(pBlockPtr) (PDosInt(25,pBlockPtr)) #define SET_LEVEL(pBlockPtr) (PDosInt(26,pBlockPtr)) #define GET_LEVEL(pBlockPtr) (PDosInt(27,pBlockPtr)) #define GET_DIR_ENTRY(pBlockPtr) (PDosInt(28,pBlockPtr)) #define GET_DEV_NUM(pBlockPtr) (PDosInt(32,pBlockPtr)) #define GET_LAST_DEV(pBlockPtr) (PDosInt(33,pBlockPtr)) #define READ_BLOCK(pBlockPtr) (PDosInt(34,pBlockPtr)) #define WRITE_BLOCK(pBlockPtr) (PDosInt(35,pBlockPtr)) #define FORMAT(pBlockPtr) (PDosInt(36,pBlockPtr)) #define ERASE_DISK(pBlockPtr) (PDosInt(37,pBlockPtr)) #define GET_PATH_NAME(pBlockPtr) (PDosInt(39,pBlockPtr)) #define GET_BOOT_VOL(pBlockPtr) (PDosInt(40,pBlockPtr)) #define QUIT(pBlockPtr) (PDosInt(41,pBlockPtr)) #define GET_VERSION(pBlockPtr) (PDosInt(42,pBlockPtr)) #define D_INFO(pBlockPtr) (PDosInt(44,pBlockPtr)) #define ALLOC_INTERRUPT(pBlockPtr) (PDosInt(49,pBlockPtr)) #define DEALLOC_INTERRUPT(pBlockPtr) (PDosInt(50,pBlockPtr)) extern pascal void PDosInt(); #endif b+SCHEDULER.Hخ) خ)'SCRAP.HJخ) ڮ'SHELL.HJخ)  'SOUND.H pخ) U' )STDFILE.HZخ) ڮ*TEXTTOOL.H Sخ* 5) 'TYPES.Hخ* U; )CONTROL.HD$  U &DESK.H    &LIST.H N  *; &MENU.H  * 'QDAUX.H(  /+QUICKDRAW.H+8vl  U5 /******************************************** ; File: Scheduler.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __scheduler__ #define __scheduler__ extern pascal void SchBootInit() inline(0x0107,dispatcher); /* Scheduler */ extern pascal void SchStartUp() inline(0x0207,dispatcher); /* Scheduler */ extern pascal void SchShutDown() inline(0x0307,dispatcher); /* Scheduler */ extern pascal Word SchVersion() inline(0x0407,dispatcher); /* Scheduler */ extern pascal void SchReset() inline(0x0507,dispatcher); /* Scheduler */ extern pascal Boolean SchStatus() inline(0x0607,dispatcher); /* Scheduler */ extern pascal Boolean SchAddTask() inline(0x0907,dispatcher); /* Scheduler */ extern pascal void SchFlush() inline(0x0A07,dispatcher); /* Scheduler */ #endif/******************************************** ; File: Scrap.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __scrap__ #define __scrap__ #define badScrapType 0x1610 /*error - No scrap of this type. */ #define textScrap 0x0000 /*scrapType - */ #define picScrap 0x0001 /*scrapType - */ extern pascal void ScrapBootInit() inline(0x0116,dispatcher); /* Scrap Manager */ extern pascal void ScrapStartUp() inline(0x0216,dispatcher); /* Scrap Manager */ extern pascal void ScrapShutDown() inline(0x0316,dispatcher); /* Scrap Manager */ extern pascal Word ScrapVersion() inline(0x0416,dispatcher); /* Scrap Manager */ extern pascal void ScrapReset() inline(0x0516,dispatcher); /* Scrap Manager */ extern pascal Boolean ScrapStatus() inline(0x0616,dispatcher); /* Scrap Manager */ extern pascal void GetScrap() inline(0x0D16,dispatcher); /* Scrap Manager */ extern pascal Word GetScrapCount() inline(0x1216,dispatcher); /* Scrap Manager */ extern pascal Handle GetScrapHandle() inline(0x0E16,dispatcher); /* Scrap Manager */ extern pascal Pointer GetScrapPath() inline(0x1016,dispatcher); /* Scrap Manager */ extern pascal LongWord GetScrapSize() inline(0x0F16,dispatcher); /* Scrap Manager */ extern pascal Word GetScrapState() inline(0x1316,dispatcher); /* Scrap Manager */ extern pascal void LoadScrap() inline(0x0A16,dispatcher); /* Scrap Manager */ extern pascal void PutScrap() inline(0x0C16,dispatcher); /* Scrap Manager */ extern pascal void SetScrapPath() inline(0x1116,dispatcher); /* Scrap Manager */ extern pascal void UnloadScrap() inline(0x0916,dispatcher); /* Scrap Manager */ extern pascal void ZeroScrap() inline(0x0B16,dispatcher); /* Scrap Manager */ #endif /******************************************************** shell.h -- CPW interface for C Copyright Apple Computer and Megamax Inc. 1986, 1987 All rights reserved ********************************************************/ #ifndef __shell__ #define __shell__ /* GET/SET_ LINE_INFO parameter block */ typedef struct { char *sfile; /* address of source file name */ char *dfile; /* address of output file name */ char *parms; /* address of paramter list */ char *istring; /* address of language specific input string */ char merr; /* max error level allowed */ char merrf; /* max error level found */ char lops; /* operations flag */ char kflag; /* KEEP flag */ unsigned long mflags; /* set of letters selected with '-' */ unsigned long pflags; /* set of letters selected with '+' */ unsigned long org; /* abs start address of non-relloc load file */ } GetLInfoPB; extern void GET_LINFO(); extern void SET_LINFO(); extern unsigned int GET_LANG(); extern void SET_LANG(); extern void ERROR(); extern void READ_INDEXED(); extern void GET_VAR(); extern void SET_VAR(); extern void INIT_WILDCARD(); extern char *NEXT_WILDCARD(); extern void EXECUTE(); extern void REDIRECT(); extern void DIRECTION(); extern int STOP(); extern unsigned long VERSION(); extern void WRITE_CONSOLE(); #endif /******************************************** ; File: Sound.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __sound__ #define __sound__ #define noDOCFndErr 0x0810 /*error - no DOC chip found */ #define docAddrRngErr 0x0811 /*error - DOC address range error */ #define noSAppInitErr 0x0812 /*error - no SAppInit call made */ #define invalGenNumErr 0x0813 /*error - invalid generator number */ #define synthModeErr 0x0814 /*error - synthesizer mode error */ #define genBusyErr 0x0815 /*error - generator busy error */ #define mstrIRQNotAssgnErr 0x0817 /*error - master IRQ not assigned */ #define sndAlreadyStrtErr 0x0818 /*error - sound tools already started */ #define unclaimedSndIntErr 0x08FF /*error - unclaimed sound interrupt */ #define ffSynthMode 0x0001 /*channelGenMode - Free form synthesizer mode */ #define noteSynthMode 0x0002 /*channelGenMode - Note synthesizer mode. */ #define gen0off 0x0001 /*genMask - param to FFStopSound */ #define gen1off 0x0002 /*genMask - param to FFStopSound */ #define gen2off 0x0004 /*genMask - param to FFStopSound */ #define gen3off 0x0008 /*genMask - param to FFStopSound */ #define gen4off 0x0010 /*genMask - param to FFStopSound */ #define gen5off 0x0020 /*genMask - param to FFStopSound */ #define gen6off 0x0040 /*genMask - param to FFStopSound */ #define gen7off 0x0080 /*genMask - param to FFStopSound */ #define gen8off 0x0100 /*genMask - param to FFStopSound */ #define gen9off 0x0200 /*genMask - param to FFStopSound */ #define gen10off 0x0400 /*genMask - param to FFStopSound */ #define gen11off 0x0800 /*genMask - param to FFStopSound */ #define gen12off 0x1000 /*genMask - param to FFStopSound */ #define gen13off 0x2000 /*genMask - param to FFStopSound */ #define gen14off 0x4000 /*genMask - param to FFStopSound */ #define genAvail 0x0000 /*genStatus - Generator available status */ #define ffSynth 0x0100 /*genStatus - Free Form Synthesizer status */ #define noteSynth 0x0200 /*genStatus - Note Synthesizer status */ #define lastBlock 0x8000 /*genStatus - Last block of wave */ #define readRegister 0x00 /*Jump Table Offset - Read Register routine */ #define writeRegister 0x04 /*Jump Table Offset - Write Register routine */ #define readRam 0x08 /*Jump Table Offset - Read Ram routine */ #define writeRam 0x0C /*Jump Table Offset - Write Ram routine */ #define readNext 0x10 /*Jump Table Offset - Read Next routine */ #define writeNext 0x14 /*Jump Table Offset - Write Next routine */ #define oscTable 0x18 /*Jump Table Offset - Pointer to Oscillator table */ #define genTable 0x1C /*Jump Table Offset - Pointer to generator table */ #define gcbAddrTable 0x20 /*Jump Table Offset - Pointer to GCB address table */ #define disableInc 0x24 /*Jump Table Offset - Disable Increment routine */ typedef struct SoundParamBlock { Pointer waveStart; /* starting address of wave*/ Word waveSize; /* waveform size in pages*/ Word freqOffset; Word docBuffer; /* DOC buffer start address, low byte = 0*/ Word bufferSize; /* DOC buffer start address, low byte = 0*/ struct SoundParamBlock *nextWavePtr; /* Pointer to next wave's parameter block*/ Word volSetting; /* DOC volume setting. High byte = 0*/ } SoundParamBlock, *SoundPBPtr, **SoundPBHndl ; extern pascal void SoundBootInit() inline(0x0108,dispatcher); /* Sound */ extern pascal void SoundStartUp() inline(0x0208,dispatcher); /* Sound */ extern pascal void SoundShutDown() inline(0x0308,dispatcher); /* Sound */ extern pascal Word SoundVersion() inline(0x0408,dispatcher); /* Sound */ extern pascal void SoundReset() inline(0x0508,dispatcher); /* Sound */ extern pascal Boolean SoundToolStatus() inline(0x0608,dispatcher); /* Sound */ extern pascal Word FFGeneratorStatus() inline(0x1108,dispatcher); /* Sound */ extern pascal Boolean FFSoundDoneStatus() inline(0x1408,dispatcher); /* Sound */ extern pascal Word FFSoundStatus() inline(0x1008,dispatcher); /* Sound */ extern pascal void FFStartSound() inline(0x0E08,dispatcher); /* Sound */ extern pascal void FFStopSound() inline(0x0F08,dispatcher); /* Sound */ extern pascal Word GetSoundVolume() inline(0x0C08,dispatcher); /* Sound */ extern pascal Pointer GetTableAddress() inline(0x0B08,dispatcher); /* Sound */ extern pascal void ReadRamBlock() inline(0x0A08,dispatcher); /* Sound */ extern pascal void SetSoundMIRQV() inline(0x1208,dispatcher); /* Sound */ extern pascal void SetSoundVolume() inline(0x0D08,dispatcher); /* Sound */ extern pascal Pointer SetUserSoundIRQV() inline(0x1308,dispatcher); /* Sound */ extern pascal void WriteRamBlock() inline(0x0908,dispatcher); /* Sound */ #endif /******************************************** ; File: StdFile.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __stdfile__ #define __stdfile__ #define noDisplay 0x0000 /*filterProc result - file not to be displayed */ #define noSelect 0x0001 /*filterProc result - file displayed, but not selectable */ #define displaySelect 0x0002 /*filterProc result - file displayed and selectable */ typedef struct SFReplyRec { Boolean good; /* SFReplyRec - TRUE for open; FALSE for cancel*/ Word fileType; /* SFReplyRec - ProDOS file type*/ Word auxFileType; /* SFReplyRec - ProDOS aux file type*/ char filename[16]; /* SFReplyRec - Name of file in prefix 0*/ char fullPathname[129]; /* SFReplyRec - The full pathname of the selected file.*/ } SFReplyRec, *SFReplyRecPtr ; extern pascal void SFBootInit() inline(0x0117,dispatcher); /* Standard File */ extern pascal void SFStartUp() inline(0x0217,dispatcher); /* Standard File */ extern pascal void SFShutDown() inline(0x0317,dispatcher); /* Standard File */ extern pascal Word SFVersion() inline(0x0417,dispatcher); /* Standard File */ extern pascal void SFReset() inline(0x0517,dispatcher); /* Standard File */ extern pascal Boolean SFStatus() inline(0x0617,dispatcher); /* Standard File */ extern pascal void SFAllCaps() inline(0x0D17,dispatcher); /* Standard File */ extern pascal void SFGetFile() inline(0x0917,dispatcher); /* Standard File */ extern pascal void SFPGetFile() inline(0x0B17,dispatcher); /* Standard File */ extern pascal void SFPPutFile() inline(0x0C17,dispatcher); /* Standard File */ extern pascal void SFPutFile() inline(0x0A17,dispatcher); /* Standard File */ #endif /******************************************** ; File: TextTool.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __texttool__ #define __texttool__ #define badDevType 0x0C01 /*error - not implemented */ #define badDevNum 0x0C02 /*error - Illegal device number. */ #define badMode 0x0C03 /*error - Bad mode: illegal operation. */ #define unDefHW 0x0C04 /*error - Undefined hardware error */ #define lostDev 0x0C05 /*error - Lost device: Device no longer on line */ #define lostFile 0x0C06 /*error - File no longer in diskette directory */ #define badTitle 0x0C07 /*error - Illegal Filename */ #define noRoom 0x0C08 /*error - Insufficient space on specified diskette */ #define noDevice 0x0C09 /*error - Volume not online */ #define noFile 0x0C0A /*error - File not in specifiled directory */ #define dupFile 0x0C0B /*error - Filename already exists */ #define notClosed 0x0C0C /*error - Attempt to open an open file */ #define notOpen 0x0C0D /*error - Attempt to close closed file */ #define badFormat 0x0C0E /*error - error reading real or integer */ #define ringBuffOFlo 0x0C0F /*error - Chars arriving too fast */ #define writeProtected 0x0C10 /*error - */ #define devErr 0x0C40 /*error - Read or Write failed */ #define input 0x0000 /*deviceNum - */ #define output 0x0001 /*deviceNum - */ #define errorOutput 0x0002 /*deviceNum - */ #define basicType 0x0000 /*deviceType - */ #define pascalType 0x0001 /*deviceType - */ #define ramBased 0x0002 /*deviceType - */ #define noEcho 0x0000 /*echoFlag - */ #define echo 0x0001 /*echoFlag - */ typedef struct DeviceRec { LongWord ptrOrSlot; /* DeviceRec - slot number or jump table ptr*/ Word deviceType; /* DeviceRec - type of input device*/ } DeviceRec, *DeviceRecPtr, **DeviceRecHndl ; typedef struct TxtMaskRec { Word orMask; /* TxtMaskRec - */ Word andMask; /* TxtMaskRec - */ } TxtMaskRec, *TxtMaskRecPtr, **TxtMaskRecHndl ; extern pascal void TextBootInit() inline(0x010C,dispatcher); /* Text Tools */ extern pascal void TextStartUp() inline(0x020C,dispatcher); /* Text Tools */ extern pascal void TextShutDown() inline(0x030C,dispatcher); /* Text Tools */ extern pascal Word TextVersion() inline(0x040C,dispatcher); /* Text Tools */ extern pascal void TextReset() inline(0x050C,dispatcher); /* Text Tools */ extern pascal Boolean TextStatus() inline(0x060C,dispatcher); /* Text Tools */ extern pascal void CtlTextDev() inline(0x160C,dispatcher); /* Text Tools */ extern pascal void ErrWriteBlock() inline(0x1F0C,dispatcher); /* Text Tools */ extern pascal void ErrWriteChar() inline(0x190C,dispatcher); /* Text Tools */ extern pascal void ErrWriteCString() inline(0x210C,dispatcher); /* Text Tools */ extern pascal void ErrWriteLine() inline(0x1B0C,dispatcher); /* Text Tools */ extern pascal void ErrWriteString() inline(0x1D0C,dispatcher); /* Text Tools */ extern TxtMaskRec GetErrGlobals(); extern DeviceRec GetErrorDevice(); extern TxtMaskRec GetInGlobals(); extern DeviceRec GetInputDevice(); extern TxtMaskRec GetOutGlobals(); extern DeviceRec GetOutputDevice(); extern pascal void InitTextDev() inline(0x150C,dispatcher); /* Text Tools */ extern pascal Word ReadChar() inline(0x220C,dispatcher); /* Text Tools */ extern pascal Word ReadLine() inline(0x240C,dispatcher); /* Text Tools */ extern pascal void SetErrGlobals() inline(0x0B0C,dispatcher); /* Text Tools */ extern pascal void SetErrorDevice() inline(0x110C,dispatcher); /* Text Tools */ extern pascal void SetInGlobals() inline(0x090C,dispatcher); /* Text Tools */ extern pascal void SetInputDevice() inline(0x0F0C,dispatcher); /* Text Tools */ extern pascal void SetOutGlobals() inline(0x0A0C,dispatcher); /* Text Tools */ extern pascal void SetOutputDevice() inline(0x100C,dispatcher); /* Text Tools */ extern pascal void StatusTextDev() inline(0x170C,dispatcher); /* Text Tools */ extern pascal void TextReadBlock() inline(0x230C,dispatcher); /* Text Tools */ extern pascal void TextWriteBlock() inline(0x1E0C,dispatcher); /* Text Tools */ extern pascal void WriteChar() inline(0x180C,dispatcher); /* Text Tools */ extern pascal void WriteCString() inline(0x200C,dispatcher); /* Text Tools */ extern pascal void WriteLine() inline(0x1A0C,dispatcher); /* Text Tools */ extern pascal void WriteString() inline(0x1C0C,dispatcher); /* Text Tools */ #endif /******************************************** ; File: Types.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #define __types__ extern unsigned _ownerid; extern int _toolErr; #ifndef noError #define noError 0x0000 #endif #ifndef nil #define nil 0L #endif #ifndef NULL #define NULL 0L #endif #ifndef NIL #define NIL 0L #endif /* the tool locator dispatch location */ #define dispatcher 0xE10000 /* return type definitions */ typedef unsigned int Boolean, boolean, BOOLEAN ; #define FALSE 0 #define TRUE 1 #define true TRUE #define false FALSE typedef unsigned char Byte; typedef unsigned char byte; typedef unsigned int word; typedef unsigned int Word; typedef int integer; typedef int Integer; typedef long longint; typedef long Longint; typedef long Long; typedef unsigned long longword; typedef unsigned long Longword; typedef unsigned long LongWord; typedef unsigned long Dblword; /* retained for back compatibility */ typedef unsigned long DblWord; /* retained for back compatibility */ typedef char *ptr; typedef char *Ptr; typedef char *Pointer; typedef ptr *handle; typedef ptr *Handle; typedef long Fixed; typedef long Frac; typedef short OSErr; typedef extended *ExtendPtr; typedef long (*ProcPtr)(); /* retained for back compatibility */ typedef pascal void (*VoidProcPtr)(); typedef pascal Word (*WordProcPtr)(); typedef pascal LongWord (*LongProcPtr)(); typedef struct Rect { Integer v1; /* Rect - */ Integer h1; /* Rect - */ Integer v2; /* Rect - */ Integer h2; /* Rect - */ } Rect, *RectPtr, **RectHndl; typedef struct Point { Integer v; /* Point - */ Integer h; /* Point - */ } Point, *PointPtr, **PointHndl; #define String(size) struct { unsigned char length; unsigned char text[size]; } typedef String(255) Str255 , *StringPtr, **StringHandle; #endif /******************************************** ; File: Control.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __quickdraw__ #include #endif #ifndef __event__ #include #endif #ifndef __control__ #define __control__ #define wmNotStartedUp 0x1001 /* Window Mgr. not initialized */ #define noConstraint 0x0000 /*Axis Parameter - No constraint on movement. */ #define hAxisOnly 0x0001 /*Axis Parameter - Horizontal axis only. */ #define vAxisOnly 0x0002 /*Axis Parameter - Vertical axis only. */ #define simpRound 0x0000 /*CtlFlag - Simple button flag */ #define upFlag 0x0001 /*CtlFlag - Scroll bar flag. */ #define boldButton 0x0001 /*CtlFlag - Bold round cornered outlined button. */ #define simpBRound 0x0001 /*CtlFlag - Simple button flag */ #define downFlag 0x0002 /*CtlFlag - Scroll bar flag. */ #define simpSquare 0x0002 /*CtlFlag - Simple button flag */ #define simpDropSquare 0x0003 /*CtlFlag - Simple button flag */ #define leftFlag 0x0004 /*CtlFlag - Scroll bar flag. */ #define rightFlag 0x0008 /*CtlFlag - Scroll bar flag. */ #define dirScroll 0x0010 /*CtlFlag - Scroll bar flag. */ #define horScroll 0x0010 /*CtlFlag - Scroll bar flag. */ #define family 0x007F /*CtlFlag - Mask for radio button family number */ #define ctlInVis 0x0080 /*CtlFlag - invisible mask for any type of control */ #define simpleProc 0x00000000L /*CtlProc - */ #define checkProc 0x02000000L /*CtlProc - */ #define radioProc 0x04000000L /*CtlProc - */ #define scrollProc 0x06000000L /*CtlProc - */ #define growProc 0x08000000L /*CtlProc - */ #define drawCtl 0x0000 /*DefProc - Draw control command. */ #define calcCRect 0x0001 /*DefProc - Compute drag RECT command. */ #define testCtl 0x0002 /*DefProc - Hit test command. */ #define initCtl 0x0003 /*DefProc - Initialize command. */ #define dispCtl 0x0004 /*DefProc - Dispose command. */ #define posCtl 0x0005 /*DefProc - Move indicator command. */ #define thumbCtl 0x0006 /*DefProc - Compute drag parameters command. */ #define dragCtl 0x0007 /*DefProc - Drag command. */ #define autoTrack 0x0008 /*DefProc - Action command. */ #define newValue 0x0009 /*DefProc - Set new value command. */ #define setParams 0x000A /*DefProc - Set new parameters command. */ #define moveCtl 0x000B /*DefProc - Move command. */ #define recSize 0x000C /*DefProc - Return record size command. */ #define noHilite 0x0000 /*hiliteState - Param to HiliteControl */ #define inactiveHilite 0x00FF /*hiliteState - Param to HiliteControl */ #define noPart 0x0000 /*PartCode - */ #define simpleButton 0x0002 /*PartCode - */ #define checkBox 0x0003 /*PartCode - */ #define radioButton 0x0004 /*PartCode - */ #define upArrow 0x0005 /*PartCode - */ #define downArrow 0x0006 /*PartCode - */ #define pageUp 0x0007 /*PartCode - */ #define pageDown 0x0008 /*PartCode - */ #define growBox 0x000A /*PartCode - */ #define thumb 0x0081 /*PartCode - */ typedef struct BarColors { Word barOutline; /* BarColors - color for outlining bar, arrows, and thumb */ Word barNorArrow; /* BarColors - color of arrows when not highlighted */ Word barSelArrow; /* BarColors - color of arrows when highlighted */ Word barArrowBack; /* BarColors - color of arrow box's background */ Word barNorThumb; /* BarColors - color of thumb's background when not highlighted */ Word barSelThumb; /* BarColors - color of thumb's background when highlighted */ Word barPageRgn; /* BarColors - color and pattern page region: high byte - 1= dither, 0 = solid */ Word barInactive; /* BarColors - color of scroll bar's interior when inactive */ } BarColors, *BarColorsPtr, **BarColorsHndl ; typedef struct BoxColors { Word boxReserved; /* BoxColors - reserved */ Word boxNor; /* BoxColors - color of box when not checked */ Word boxSel; /* BoxColors - color of box when checked */ Word boxTitle; /* BoxColors - color of check box's title */ } BoxColors, *BoxColorsPtr, **BoxColorsHndl ; typedef struct BttnColors { Word bttnOutline; /* BttnColors - color of outline */ Word bttnNorBack; /* BttnColors - color of background when not selected */ Word bttnSelBack; /* BttnColors - color of background when selected */ Word bttnNorText; /* BttnColors - color of title's text when not selected */ Word bttnSelText; /* BttnColors - color of title's text when selected */ } BttnColors, *BttnColorsPtr, **BttnColorsHndl ; typedef struct RadioColors { Word radReserved; /* RadioColors - reserved */ Word radNor; /* RadioColors - color of radio button when off */ Word radSel; /* RadioColors - color of radio button when on */ Word radTitle; /* RadioColors - color of radio button's title text */ } RadioColors, *RadioColorsPtr, **RadioColorsHndl ; typedef struct CtlRec { struct CtlRec **ctlNext; /* CtlRec - Handle of next control. */ GrafPortPtr ctlOwner; /* CtlRec - Pointer to control's window. */ Rect ctlRect; /* CtlRec - Enclosing rectangle. */ Byte ctlFlag; /* CtlRec - Bit flags. */ Byte ctlHilite; /* CtlRec - Highlighted part. */ Integer ctlValue; /* CtlRec - Control's value. */ LongProcPtr ctlProc; /* CtlRec - Control's definition procedure. */ LongProcPtr ctlAction; /* CtlRec - Control's action procedure. */ Longint ctlData; /* CtlRec - Reserved for CtrlProc's use. */ Longint ctlRefCon; /* CtlRec - Reserved for application's use. */ Pointer ctlColor; /* CtlRec - Pointer to appropriate color table. */ } CtlRec, *CtlRecPtr, **CtlRecHndl ; typedef struct LimitBlk { Rect boundRect; /* LimitBlk - Drag bounds. */ Rect slopRect; /* LimitBlk - Cursor bounds. */ Word axisParam; /* LimitBlk - Movement constrains. */ Pointer dragPatt; /* LimitBlk - Pointer to 32 byte Pattern for drag outline. */ } LimitBlk, *LimitBlkPtr, **LimitBlkHndl ; extern pascal void CtlBootInit() inline(0x0110,dispatcher); /* Control */ extern pascal void CtlStartUp() inline(0x0210,dispatcher); /* Control */ extern pascal void CtlShutDown() inline(0x0310,dispatcher); /* Control */ extern pascal Word CtlVersion() inline(0x0410,dispatcher); /* Control */ extern pascal void CtlReset() inline(0x0510,dispatcher); /* Control */ extern pascal Boolean CtlStatus() inline(0x0610,dispatcher); /* Control */ extern pascal void CtlNewRes() inline(0x1210,dispatcher); /* Control */ extern pascal void DisposeControl() inline(0x0A10,dispatcher); /* Control */ extern pascal void DragControl() inline(0x1710,dispatcher); /* Control */ extern pascal LongWord DragRect() inline(0x1D10,dispatcher); /* Control */ extern pascal void DrawControls() inline(0x1010,dispatcher); /* Control */ extern pascal void DrawOneCtl() inline(0x2510,dispatcher); /* Control */ extern pascal void EraseControl() inline(0x2410,dispatcher); /* Control */ extern pascal Word FindControl() inline(0x1310,dispatcher); /* Control */ extern pascal LongProcPtr GetCtlAction() inline(0x2110,dispatcher); /* Control */ extern pascal Word GetCtlDPage() inline(0x1F10,dispatcher); /* Control */ extern pascal LongWord GetCtlParams() inline(0x1C10,dispatcher); /* Control */ extern pascal LongWord GetCtlRefCon() inline(0x2310,dispatcher); /* Control */ extern pascal Pointer GetCtlTitle() inline(0x0D10,dispatcher); /* Control */ extern pascal Word GetCtlValue() inline(0x1A10,dispatcher); /* Control */ extern pascal LongWord GrowSize() inline(0x1E10,dispatcher); /* Control */ extern pascal void HideControl() inline(0x0E10,dispatcher); /* Control */ extern pascal void HiliteControl() inline(0x1110,dispatcher); /* Control */ extern pascal void KillControls() inline(0x0B10,dispatcher); /* Control */ extern pascal void MoveControl() inline(0x1610,dispatcher); /* Control */ extern pascal CtlRecHndl NewControl() inline(0x0910,dispatcher); /* Control */ extern pascal void SetCtlAction() inline(0x2010,dispatcher); /* Control */ extern pascal FontHndl SetCtlIcons() inline(0x1810,dispatcher); /* Control */ extern pascal void SetCtlParams() inline(0x1B10,dispatcher); /* Control */ extern pascal void SetCtlRefCon() inline(0x2210,dispatcher); /* Control */ extern pascal void SetCtlTitle() inline(0x0C10,dispatcher); /* Control */ extern pascal void SetCtlValue() inline(0x1910,dispatcher); /* Control */ extern pascal void ShowControl() inline(0x0F10,dispatcher); /* Control */ extern pascal Word TestControl() inline(0x1410,dispatcher); /* Control */ extern pascal Word TrackControl() inline(0x1510,dispatcher); /* Control */ #endif /******************************************** ; ; File: Desk.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __event__ #include #endif #ifndef __desk__ #define __desk__ #define daNotFound 0x0510 /*error - desk accessory not found */ #define notSysWindow 0x0511 /*error - not the system window */ #define eventAction 0x0001 /*NDA action code - */ #define runAc tion 0x0002 /*NDA action code - */ #define undoAction 0x0005 /*NDA action code - */ #define cutAction 0x0006 /*NDA action code - */ #define copyAction 0x0007 /*NDA action code - */ #define pasteAction 0x0008 /*NDA action code - */ #define clearAction 0x0009 /*NDA action code - */ #define cursorAction 0x0003 /*NDAaction code - */ #define undo 0x0001 /*System Edit - edit type */ #define cut 0x0002 /*System Edit - edit type */ #define copy 0x0003 /*System Edit - edit type */ #define paste 0x0004 /*System Edit - edit type */ #define clear 0x0005 /*System Edit - edit type */ extern pascal void DeskBootInit() inline(0x0105,dispatcher); /* Desk */ extern pascal void DeskStartUp() inline(0x0205,dispatcher); /* Desk */ extern pascal void DeskShutDown() inline(0x0305,dispatcher); /* Desk */ extern pascal Word DeskVersion() inline(0x0405,dispatcher); /* Desk */ extern pascal void DeskReset() inline(0x0505,dispatcher); /* Desk */ extern pascal Boolean DeskStatus() inline(0x0605,dispatcher); /* Desk */ extern pascal void ChooseCDA() inline(0x1105,dispatcher); /* Desk */ extern pascal void CloseAllNDAs() inline(0x1D05,dispatcher); /* Desk */ extern pascal void CloseNDA() inline(0x1605,dispatcher); /* Desk */ extern pascal void CloseNDAByWinPtr() inline(0x1C05,dispatcher); /* Desk */ extern pascal void FixAppleMenu() inline(0x1E05,dispatcher); /* Desk */ extern pascal Pointer GetDAStrPtr() inline(0x1405,dispatcher); /* Desk */ extern pascal Word GetNumNDAs() inline(0x1B05,dispatcher); /* Desk */ extern pascal void InstallCDA() inline(0x0F05,dispatcher); /* Desk */ extern pascal void InstallNDA() inline(0x0E05,dispatcher); /* Desk */ extern pascal Word OpenNDA() inline(0x1505,dispatcher); /* Desk */ extern pascal void RestAll() inline(0x0C05,dispatcher); /* Desk */ extern pascal void RestScrn() inline(0x0A05,dispatcher); /* Desk */ extern pascal void SaveAll() inline(0x0B05,dispatcher); /* Desk */ extern pascal void SaveScrn() inline(0x0905,dispatcher); /* Desk */ extern pascal void SetDAStrPtr() inline(0x1305,dispatcher); /* Desk */ extern pascal void SystemClick() inline(0x1705,dispatcher); /* Desk */ extern pascal Boolean SystemEdit() inline(0x1805,dispatcher); /* Desk */ extern pascal Boolean SystemEvent() inline(0x1A05,dispatcher); /* Desk */ extern pascal void SystemTask() inline(0x1905,dispatcher); /* Desk */ #endif /******************************************** ; File: List.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __quickdraw__ #include #endif #ifndef __event__ #include #endif #ifndef __control__ #include #endif #ifndef __list__ #define __list__ #define cString 0x0001 /*ListType bit mask - null terminated string type */ #define LIST_STRG 0x0001 /*ListType bit mask - null terminated string type */ #define selectOnlyOne 0x0002 /*ListType bit mask - only one selection allowed */ #define LIST_SELECT 0x0002 /*ListType bit mask - single selection only */ #define memDisabled 0x40 /*memFlag - Sets member flag to disabled */ #define memSelected 0x80 /*memFlag - Sets member flag to selected */ typedef struct MemRec { Pointer memPtr; /* MemRec - Pointer to string, or custom */ Byte memFlag; /* MemRec - Bit Flag */ } MemRec, *MemRecPtr, **MemRecHndl ; typedef struct LColorTable { Word listFrameClr; /* LColorTable - Frame color */ Word listNorTextClr; /* LColorTable - Unhighlighted text color */ Word listSelTextClr; /* LColorTable - Highlighted text color */ Word listNorBackClr; /* LColorTable - Unhighlighted background color */ Word listSelBackClr; /* LColorTable - Highlighted backgraound color */ } LColorTable, *LColorTablePtr, **LColorTableHndl ; typedef struct ListCtlRec { CtlRecHndl ctlNext; /* ListCtlRec - Handle of Next Control */ GrafPortPtr ctlOwner; /* ListCtlRec - Window owner */ Rect ctlRect; /* ListCtlRec - Enclosing Rect */ Byte ctlFlag; /* ListCtlRec - Bit 7 visible, Bit 0 string type, Bit 1 multiple */ Byte ctlHilite; /* ListCtlRec - (not used) */ Word ctlValue; /* ListCtlRec - First member in display */ LongProcPtr ctlProc; /* ListCtlRec - Address of list definition procedure */ LongProcPtr ctlAction; /* ListCtlRec - Address of list action procedure */ LongWord ctlData; /* ListCtlRec - Low = view size, High = total members */ LongWord ctlRefCon; /* ListCtlRec - Not used */ LColorTablePtr ctlColor; /* ListCtlRec - Null for default colors */ VoidProcPtr ctlMemDraw; /* ListCtlRec - Address of routine to draw members */ Word ctlMemHeight; /* ListCtlRec - Member's Height in Pixels */ Word ctlMemSize; /* ListCtlRec - Bytes in member record */ MemRecPtr ctlList; /* ListCtlRec - Adress of first member record in array */ CtlRecHndl ctlListBar; /* ListCtlRec - Handle of list contrlo's scroll bar control */ } ListCtlRec, *ListCtlRecPtr, **ListCtlRecHndl ; typedef struct ListRec { Rect listRect; /* ListRec - Enclosing Rectangle */ Word listSize; /* ListRec - Number of List Members */ Word listView; /* ListRec - Max Viewable members */ Word listType; /* ListRec - Bit Flag */ Word listStart; /* ListRec - First member in view */ CtlRecHndl listCtl; /* ListRec - List control's handle */ VoidProcPtr listDraw; /* ListRec - Adress of Custum drawing routine */ Word listMemHeight; /* ListRec - Height of list members */ Word listMemSize; /* ListRec - Size of Member Records */ MemRecPtr listPointer; /* ListRec - Pointer to first element in MemRec[] */ LongWord listRefCon; /* ListRec - becomes Control's refCon */ BarColorsPtr listScrollClr; /* ListRec - Color table for list's scroll bar */ } ListRec, *ListRecPtr, **ListRecHndl ; extern pascal void ListBootInit() inline(0x011C,dispatcher); /* List */ extern pascal void ListStartup() inline(0x021C,dispatcher); /* List */ extern pascal void ListShutDown() inline(0x031C,dispatcher); /* List */ extern pascal Word ListVersion() inline(0x041C,dispatcher); /* List */ extern pascal void ListReset() inline(0x051C,dispatcher); /* List */ extern pascal Boolean ListStatus() inline(0x061C,dispatcher); /* List */ extern pascal ListCtlRecHndl CreateList() inline(0x091C,dispatcher); /* List */ extern pascal void DrawMember() inline(0x0C1C,dispatcher); /* List */ extern pascal LongProcPtr GetListDefProc() inline(0x0E1C,dispatcher); /* List */ extern pascal void NewList() inline(0x101C,dispatcher); /* List */ extern pascal MemRecPtr NextMember() inline(0x0B1C,dispatcher); /* List */ extern pascal MemRecPtr ResetMember() inline(0x0F1C,dispatcher); /* List */ extern pascal void SelectMember() inline(0x0D1C,dispatcher); /* List */ extern pascal void SortList() inline(0x0A1C,dispatcher); /* List */ #endif /******************************************** ; File: Menu.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __quickdraw__ #include #endif #ifndef __event__ #include #endif #ifndef __control__ #include #endif #ifndef __menu__ #define __menu__ #define mDrawMsg 0x0000 /*MenuDefProcCodes - */ #define mChooseMsg 0x0001 /*MenuDefProcCodes -  !"#$%& */ #define mSizeMsg 0x0002 /*MenuDefProcCodes - */ #define mDrawTitle 0x0003 /*MenuDefProcCodes - */ #define mDrawMItem 0x0004 /*MenuDefProcCodes - */ #define mGetMItemID 0x0005 /*MenuDefProcCodes - */ #define mInvis 0x0004 /*MenuFlag - */ #define mCustom 0x0010 /*MenuFlag - */ #define mXor 0x0020 /*MenuFlag - */ #define mSelected 0x0040 /*MenuFlag - */ #define mDisabled 0x0080 /*MenuFlag - */ #define customMenu 0x0010 /*MenuFlagMasks - */ #define xorMItemHilite 0x0020 /*MenuFlagMasks - */ #define xorTitleHilite 0x0020 /*MenuFlagMasks - */ #define underMItem 0x0040 /*MenuFlagMasks - */ #define disableItem 0x0080 /*MenuFlagMasks - */ #define disableMenu 0x0080 /*MenuFlagMasks - */ #define enableItem 0xFF7F /*MenuFlagMasks - */ #define enableMenu 0xFF7F /*MenuFlagMasks - */ #define noUnderMItem 0xFFBF /*MenuFlagMasks - */ #define colorMItemHilite 0xFFDF /*MenuFlagMasks - */ #define colorTitleHilite 0xFFDF /*MenuFlagMasks - */ #define colorReplace 0xFFDF /*MenuFlagMasks - */ #define standardMenu 0xFFEF /*MenuFlagMasks - */ typedef CtlRec MenuBarRec, *MenuBarRecPtr, **MenuBarRecHndl; typedef struct MenuRec { Word menuID; /* MenuRec - Menu's ID number. */ Word menuWidth; /* MenuRec - Width of menu. */ Word menuHeight; /* MenuRec - Height of menu. */ WordProcPtr menuProc; /* MenuRec - Menu's definition procedure. */ Byte menuFlag; /* MenuRec - Bit flags. */ Byte menuRes; /* MenuRec - */ Byte firstItem; /* MenuRec - */ Byte numOfItems; /* MenuRec - */ Word titleWidth; /* MenuRec - Width of menu's title. */ Pointer titleName; /* MenuRec - Menu's title. */ } MenuRec, *MenuRecPtr, **MenuRecHndl ; extern pascal void MenuBootInit() inline(0x010F,dispatcher); /* Menu */ extern pascal void MenuStartUp() inline(0x020F,dispatcher); /* Menu */ extern pascal void MenuShutDown() inline(0x030F,dispatcher); /* Menu */ extern pascal Word MenuVersion() inline(0x040F,dispatcher); /* Menu */ extern pascal void MenuReset() inline(0x050F,dispatcher); /* Menu */ extern pascal Boolean MenuStatus() inline(0x060F,dispatcher); /* Menu */ extern pascal void CalcMenuSize() inline(0x1C0F,dispatcher); /* Menu */ extern pascal void CheckMItem() inline(0x320F,dispatcher); /* Menu */ extern pascal Word CountMItems() inline(0x140F,dispatcher); /* Menu */ extern pascal void DeleteMenu() inline(0x0E0F,dispatcher); /* Menu */ extern pascal void DeleteMItem() inline(0x100F,dispatcher); /* Menu */ extern pascal void DisableMItem() inline(0x310F,dispatcher); /* Menu */ extern pascal void DisposeMenu() inline(0x2E0F,dispatcher); /* Menu */ extern pascal void DrawMenuBar() inline(0x2A0F,dispatcher); /* Menu */ extern pascal void EnableMItem() inline(0x300F,dispatcher); /* Menu */ extern pascal Word FixMenuBar() inline(0x130F,dispatcher); /* Menu */ extern pascal void FlashMenuBar() inline(0x0C0F,dispatcher); /* Menu */ extern pascal LongWord GetBarColors() inline(0x180F,dispatcher); /* Menu */ extern pascal CtlRecHndl GetMenuBar() inline(0x0A0F,dispatcher); /* Menu */ extern pascal Word GetMenuFlag() inline(0x200F,dispatcher); /* Menu */ extern pascal GrafPortPtr GetMenuMgrPort() inline(0x1B0F,dispatcher); /* Menu */ extern pascal Pointer GetMenuTitle() inline(0x220F,dispatcher); /* Menu */ extern pascal CtlRecHndl GetMHandle() inline(0x160F,dispatcher); /* Menu */ extern pascal Pointer GetMItem() inline(0x250F,dispatcher); /* Menu */ extern pascal Word GetMItemFlag() inline(0x270F,dispatcher); /* Menu */ extern pascal Word GetMItemMark() inline(0x340F,dispatcher); /* Menu */ extern pascal TextStyle GetMItemStyle() inline(0x360F,dispatcher); /* Menu */ extern pascal Word GetMTitleStart() inline(0x1A0F,dispatcher); /* Menu */ extern pascal Word GetMTitleWidth() inline(0x1E0F,dispatcher); /* Menu */ extern pascal CtlRecHndl GetSysBar() inline(0x110F,dispatcher); /* Menu */ extern pascal void HiliteMenu() inline(0x2C0F,dispatcher); /* Menu */ extern pascal void InitPalette() inline(0x2F0F,dispatcher); /* Menu */ extern pascal void InsertMenu() inline(0x0D0F,dispatcher); /* Menu */ extern pascal void InsertMItem() inline(0x0F0F,dispatcher); /* Menu */ extern pascal Word MenuGlobal() inline(0x230F,dispatcher); /* Menu */ extern pascal void MenuKey() inline(0x090F,dispatcher); /* Menu */ extern pascal void MenuNewRes() inline(0x290F,dispatcher); /* Menu */ extern pascal void MenuRefresh() inline(0x0B0F,dispatcher); /* Menu */ extern pascal void MenuSelect() inline(0x2B0F,dispatcher); /* Menu */ extern pascal CtlRecHndl NewMenu() inline(0x2D0F,dispatcher); /* Menu */ extern pascal CtlRecHndl NewMenuBar() inline(0x150F,dispatcher); /* Menu */ extern pascal void SetBarColors() inline(0x170F,dispatcher); /* Menu */ extern pascal void SetMenuBar() inline(0x390F,dispatcher); /* Menu */ extern pascal void SetMenuFlag() inline(0x1F0F,dispatcher); /* Menu */ extern pascal void SetMenuID() inline(0x370F,dispatcher); /* Menu */ extern pascal void SetMenuTitle() inline(0x210F,dispatcher); /* Menu */ extern pascal void SetMItem() inline(0x240F,dispatcher); /* Menu */ extern pascal void SetMItemBlink() inline(0x280F,dispatcher); /* Menu */ extern pascal void SetMItemFlag() inline(0x260F,dispatcher); /* Menu */ extern pascal void SetMItemID() inline(0x380F,dispatcher); /* Menu */ extern pascal void SetMItemMark() inline(0x330F,dispatcher); /* Menu */ extern pascal void SetMItemName() inline(0x3A0F,dispatcher); /* Menu */ extern pascal void SetMItemStyle() inline(0x350F,dispatcher); /* Menu */ extern pascal void SetMTitleStart() inline(0x190F,dispatcher); /* Menu */ extern pascal void SetMTitleWidth() inline(0x1D0F,dispatcher); /* Menu */ extern pascal void SetSysBar() inline(0x120F,dispatcher); /* Menu */ #endif /******************************************** ; File: QDAux.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __qdaux__ #define __qdaux__ extern pascal void QDAuxBootInit() inline(0x0112,dispatcher); /* QDAux */ extern pascal void QDAuxStartUp() inline(0x0212,dispatcher); /* QDAux */ extern pascal void QDAuxShutDown() inline(0x0312,dispatcher); /* QDAux */ extern pascal Word ') QDAuxVersion() inline(0x0412,dispatcher); /* QDAux */ extern pascal void QDAuxReset() inline(0x0512,dispatcher); /* QDAux */ extern pascal Boolean QDAuxStatus() inline(0x0612,dispatcher); /* QDAux */ extern pascal void CopyPixels() inline(0x0912,dispatcher); /* QDAux */ extern pascal void DrawIcon() inline(0x0B12,dispatcher); /* QDAux */ extern pascal void WaitCursor() inline(0x0A12,dispatcher); /* QDAux */ #endif /******************************************** ; File: QuickDraw.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __quickdraw__ #define __quickdraw__ #define alreadyInitialized 0x0401 /*error - Quickdraw already initialized */ #define cannotReset 0x0402 /*error - never used */ #define notInitialized 0x0403 /*error - Quickdraw not initialized */ #define screenReserved 0x041*,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a0 /*error - screen reserved */ #define badRect 0x0411 /*error - bad rectangle */ #define notEqualChunkiness 0x0420 /*error - Chunkiness is not equal */ #define rgnAlreadyOpen 0x0430 /*error - region is already open */ #define rgnNotOpen 0x0431 /*error - region is not open */ #define rgnScanOverflow 0x0432 /*error - region scan overflow */ #define rgnFull 0x0433 /*error - region is full */ #define polyAlreadyOpen 0x0440 /*error - poly is already open */ #define polyNotOpen 0x0441 /*error - poly is not open */ #define polyTooBig 0x0442 /*error - poly is too big */ #define badTableNum 0x0450 /*error - bad table number */ #define badColorNum 0x0451 /*error - bad color number */ #define badScanLine 0x0452 /*error - bad scan line */ #define notImplemented 0x04FF /*error - not implemented */ #define tsNumber 0x04 /* - */ #define table320 0x32 /*ColorData - (val=size) */ #define table640 0x32 /*ColorData - (val=size) */ #define maskSize 0x08 /*GrafPort - Mask Size (val=size) */ #define locSize 0x10 /*GrafPort - Loc Size (val=size) */ #define patsize 0x20 /*GrafPort - Pattern Size (val=size) */ #define pnStateSize 0x32 /*GrafPort - Pen State Size (Val=size) */ #define portSize 0xAA /*GrafPort - Size of GrafPort */ #define colorTable 0x0F /*AnSCBByte - Mask for SCB color table */ #define scbReserved 0x10 /*AnSCBByte - Mask for SCB reserved bit */ #define scbFill 0x20 /*AnSCBByte - Mask for SCB fill bit */ #define scbInterrupt 0x40 /*AnSCBByte - Mask for SCB interrupt bit */ #define scbColorMode 0x80 /*AnSCBByte - Mask for SCB color mode bit */ #define blueMask 0x000F /*ColorValue - Mask for Blue nibble */ #define greenMask 0x00F0 /*ColorValue - Mask for green nibble */ #define redMask 0x0F00 /*ColorValue - Mask for red nibble */ #define widMaxSize 0x0001 /*FontFlags - */ #define zeroSize 0x0002 /*FontFlags - */ #define black 0x000 /*MasterColors - These work in 320 and 640 mode */ #define blue 0x00F /*MasterColors - These work in 320 and 640 mode */ #define darkGreen320 0x080 /*MasterColors - These work in 320 mode */ #define green320 0x0E0 /*MasterColors - These work in 320 mode */ #define green640 0x0F0 /*MasterColors - These work in 640 mode */ #define lightBlue320 0x4DF /*MasterColors - These work in 320 mode */ #define purple320 0x72C /*MasterColors - These work in 320 mode */ #define darkGray320 0x777 /*MasterColors - These work in 320 mode */ #define periwinkleBlue320 0x78F /*MasterColors - These work in 320 mode */ #define brown320 0x841 /*MasterColors - These work in 320 mode */ #define lightGray320 0x0CCC /*MasterColors - These work in 320 mode */ #define red320 0x0D00 /*MasterColors - These work in 320 mode */ #define lilac320 0x0DAF /*MasterColors - These work in 320 mode */ #define red640 0x0F00 /*MasterColors - These work in 640 mode */ #define orange320 0x0F70 /*MasterColors - These work in 320 mode */ #define flesh320 0x0FA9 /*MasterColors - These work in 320 mode */ #define yellow 0x0FF0 /*MasterColors - These work in 320 and 640 mode */ #define white 0x0FFF /*MasterColors - These work in 320 and 640 mode */ #define modeCopy 0x0000 /*PenModeDATA - */ #define modeOR 0x0001 /*PenModeDATA - */ #define modeXOR 0x0002 /*PenModeDATA - */ #define modeBIC 0x0003 /*PenModeDATA - */ #define modeForeCopy 0x0004 /*PenModeDATA - */ #define modeForeOR 0x0005 /*PenModeDATA - */ #define modeForeXOR 0x0006 /*PenModeDATA - */ #define modeForeBIC 0x0007 /*PenModeDATA - */ #define modeNOT 0x8000 /*PenModeDATA - */ #define notCopy 0x8000 /*PenModeDATA - */ #define notOR 0x8001 /*PenModeDATA - */ #define notXOR 0x8002 /*PenModeDATA - */ #define notBIC 0x8003 /*PenModeDATA - */ #define notForeCOPY 0x8004 /*PenModeDATA - */ #define notForeOR 0x8005 /*PenModeDATA - */ #define notForeXOR 0x8006 /*PenModeDATA - */ #define notForeBIC 0x8007 /*PenModeDATA - */ #define mode320 0x0000 /*QDStartup - Argument to QDStartup */ #define mode640 0x0080 /*QDStartup - Argument to QDStartup */ #define boldMask 0x0001 /*TextStyle - Mask for bold bit */ #define italicMask 0x0002 /*TextStyle - Mask for italic bit */ #define underlineMask 0x0004 /*TextStyle - Mask for underline bit */ #define outlineMask 0x0008 /*TextStyle - Mask for outline bit */ #define shadowMask 0x0010 /*TextStyle - Mask for shadow bit */ typedef Word TextStyle; typedef Word ColorValue; typedef Byte AnSCBByte; typedef Handle RgnHandle; typedef Handle FontHandle; typedef unsigned char Pattern[32]; typedef unsigned char Mask[8]; typedef ColorValue ColorTable[16]; typedef struct FontID { Word famNum; /* FontID - */ Byte fontStyle; /* FontID - */ Byte fontSize; /* FontID - */ } FontID, *FontIDPtr, **FontIDHndl ; typedef struct Font { Word offseToMF; /* Font - fully defined front of the Font record. */ Word family; /* Font - */ TextStyle style; /* Font - */ Word size; /* Font - */ Word version; /* Font - */ Word fbrExtent; /* Font - */ } Font, *FontPtr, **FontHndl ; typedef struct FontGlobalsRecord { Word fgFontID; /* FontGlobalsRecord - currently 12 bytes long, but may be expanded */ TextStyle fgStyle; /* FontGlobalsRecord - */ Word fgSize; /* FontGlobalsRecord - */ Word fgVersion; /* FontGlobalsRecord - */ Word fgWidMax; /* FontGlobalsRecord - */ Word fgFBRExtent; /* FontGlobalsRecord - */ } FontGlobalsRecord, *FontGlobalsRecPtr, **FontGlobalsRecHndl ; typedef struct FontInfoRecord { Integer ascent; /* FontInfoRecord - */ Integer descent; /* FontInfoRecord - */ Integer widMax; /* FontInfoRecord - */ Integer leading; /* FontInfoRecord - */ } FontInfoRecord, *FontInfoRecPtr, **FontInfoRecHndl ; typedef struct RomFontRec { Word rfFamNum; /* RomFontRec - */ Word rfFamStyle; /* RomFontRec - */ Word rfSize; /* RomFontRec - */ FontHndl rfFontHandle; /* RomFontRec - */ Pointer rfNamePtr; /* RomFontRec - */ Word rfFBRExtent; /* RomFontRec - */ } RomFontRec, *RomFontRecPtr, **RomFontRecHndl ; typedef struct BufDimRec { Word maxWidth; /* BufDimRec - */ Word textBufHeight; /* BufDimRec - */ Word textBufferWords; /* BufDimRec - */ Word fontWidth; /* BufDimRec - */ } BufDimRec, *BufDimRecPtr, **BufDimRecHndl ; typedef struct LocInfo { Word portSCB; /* LocInfo - SCBByte in low byte */ Pointer ptrToPixImage; /* LocInfo - ImageRef */ Word width; /* LocInfo - Width */ Rect boundsRect; /* LocInfo - BoundsRect */ } LocInfo, *LocInfoPtr, **LocInfoHndl ; typedef struct QDProcs { VoidProcPtr stdText; /* QDProcs - */ VoidProcPtr stdLine; /* QDProcs - */ VoidProcPtr stdRect; /* QDProcs - */ VoidProcPtr stdRRect; /* QDProcs - */ VoidProcPtr stdOval; /* QDProcs - */ VoidProcPtr stdArc; /* QDProcs - */ VoidProcPtr stdPoly; /* QDProcs - */ VoidProcPtr stdRgn; /* QDProcs - */ VoidProcPtr stdPixels; /* QDProcs - */ VoidProcPtr stdComment; /* QDProcs - */ VoidProcPtr stdTxMeas; /* QDProcs - */ VoidProcPtr stdTxBnds; /* QDProcs - */ VoidProcPtr stdGetPic; /* QDProcs - */ VoidProcPtr stdPutPic; /* QDProcs - */ } QDProcs, *QDProcsPtr, **QDProcsHndl ; typedef struct PenState { Point psPnSize; /* PenState - */ Word psPnMode; /* PenState - */ Pattern psPnPat; /* PenState - */ Mask psPnMask; /* PenState - */ } PenState, *PenStatePtr, **PenStateHndl ; typedef struct GrafPort { LocInfo portInfo; /* GrafPort - */ Rect portRect; /* GrafPort - PortRect */ RgnHandle clipRgn; /* GrafPort - Clip Rgn. Pointer */ RgnHandle visRgn; /* GrafPort - Vis. Rgn. Pointer */ Pattern bkPat; /* GrafPort - BackGround Pattern */ Point pnLoc; /* GrafPort - Pen Location */ Point pnSize; /* GrafPort - Pen Size */ Word pnMode; /* GrafPort - Pen Mode */ Pattern pnPat; /* GrafPort - Pen Pattern */ Mask pnMask; /* GrafPort - Pen Mask */ Word pnVis; /* GrafPort - Pen Visable */ FontHndl fontHandle; /* GrafPort - */ FontID fontID; /* GrafPort - Font ID */ Word fontFlags; /* GrafPort - FontFlags */ Integer txSize; /* GrafPort - Text Size */ TextStyle txFace; /* GrafPort - Text Face */ Word txMode; /* GrafPort - Text Mode */ Fixed spExtra; /* GrafPort - Fixed Point Value */ Fixed chExtra; /* GrafPort - Fixed Point Value */ Word fgColor; /* GrafPort - ForeGround Color */ Word bgColor; /* GrafPort - BackGround Color */ Handle picSave; /* GrafPort - PicSave */ Handle rgnSave; /* GrafPort - RgnSave */ Handle polySave; /* GrafPort - PolySave */ QDProcsPtr grafProcs; /* GrafPort - */ Integer arcRot; /* GrafPort - ArcRot */ Longint userField; /* GrafPort - UserField */ Longint sysField; /* GrafPort - SysField */ } GrafPort, *GrafPortPtr, **GrafPortHndl ; typedef struct PaintParam { LocInfoPtr ptrToSourceLocInfo; /* PaintParam - */ LocInfoPtr ptrToDestLocInfo; /* PaintParam - */ Rect *ptrToSourceRect; /* PaintParam - */ Point *ptrToDestPoint; /* PaintParam - */ Word mode; /* PaintParam - */ Handle maskHandle; /* PaintParam - clip region */ } PaintParam, *PaintParamPtr, **PaintParamHndl ; extern pascal void QDBootInit() inline(0x0104,dispatcher); /* Quickdraw */ extern pascal void QDStartUp() inline(0x0204,dispatcher); /* Quickdraw */ extern pascal void QDShutDown() inline(0x0304,dispatcher); /* Quickdraw */ extern pascal Word QDVersion() inline(0x0404,dispatcher); /* Quickdraw */ extern pascal void QDReset() inline(0x0504,dispatcher); /* Quickdraw */ extern pascal Boolean QDStatus() inline(0x0604,dispatcher); /* Quickdraw */ extern pascal void AddPt() inline(0x8004,dispatcher); /* Quickdraw */ extern pascal void CharBounds() inline(0xAC04,dispatcher); /* Quickdraw */ extern pascal Integer CharWidth() inline(0xA804,dispatcher); /* Quickdraw */ extern pascal void ClearScreen() inline(0x1504,dispatcher); /* Quickdraw */ extern pascal void ClipRect() inline(0x2604,dispatcher); /* Quickdraw */ extern pascal void ClosePicture() inline(0xB904,dispatcher); /* Quickdraw */ extern pascal void ClosePoly() inline(0xC204,dispatcher); /* Quickdraw */ extern pascal void ClosePort() inline(0x1A04,dispatcher); /* Quickdraw */ extern pascal void CloseRgn() inline(0x6E04,dispatcher); /* Quickdraw */ extern pascal void CopyRgn() inline(0x6904,dispatcher); /* Quickdraw */ extern pascal void CStringBounds() inline(0xAE04,dispatcher); /* Quickdraw */ extern pascal Integer CStringWidth() inline(0xAA04,dispatcher); /* Quickdraw */ extern pascal void DiffRgn() inline(0x7304,dispatcher); /* Quickdraw */ extern pascal void DisposeRgn() inline(0x6804,dispatcher); /* Quickdraw */ extern pascal void DrawChar() inline(0xA404,dispatcher); /* Quickdraw */ extern pascal void DrawCString() inline(0xA604,dispatcher); /* Quickdraw */ extern pascal void DrawPicture() inline(0xBA04,dispatcher); /* Quickdraw */ extern pascal void DrawString() inline(0xA504,dispatcher); /* Quickdraw */ extern pascal void DrawText() inline(0xA704,dispatcher); /* Quickdraw */ extern pascal Boolean EmptyRect() inline(0x5204,dispatcher); /* Quickdraw */ extern pascal Boolean EmptyRgn() inline(0x7804,dispatcher); /* Quickdraw */ extern pascal Boolean EqualPt() inline(0x8304,dispatcher); /* Quickdraw */ extern pascal Boolean EqualRect() inline(0x5104,dispatcher); /* Quickdraw */ extern pascal Boolean EqualRgn() inline(0x7704,dispatcher); /* Quickdraw */ extern pascal void EraseArc() inline(0x6404,dispatcher); /* Quickdraw */ extern pascal void EraseOval() inline(0x5A04,dispatcher); /* Quickdraw */ extern pascal void ErasePoly() inline(0xBE04,dispatcher); /* Quickdraw */ extern pascal void EraseRect() inline(0x5504,dispatcher); /* Quickdraw */ extern pascal void EraseRgn() inline(0x7B04,dispatcher); /* Quickdraw */ extern pascal void EraseRRect() inline(0x5F04,dispatcher); /* Quickdraw */ extern pascal void FillArc() inline(0x6604,dispatcher); /* Quickdraw */ extern pascal void FillOval() inline(0x5C04,dispatcher); /* Quickdraw */ extern pascal void FillPoly() inline(0xC004,dispatcher); /* Quickdraw */ extern pascal void FillRect() inline(0x5704,dispatcher); /* Quickdraw */ extern pascal void FillRgn() inline(0x7D04,dispatcher); /* Quickdraw */ extern pascal void FillRRect() inline(0x6104,dispatcher); /* Quickdraw */ extern pascal void ForceBufDims() inline(0xCC04,dispatcher); /* Quickdraw */ extern pascal void FrameArc() inline(0x6204,dispatcher); /* Quickdraw */ extern pascal void FrameOval() inline(0x5804,dispatcher); /* Quickdraw */ extern pascal void FramePoly() inline(0xBC04,dispatcher); /* Quickdraw */ extern pascal void FrameRect() inline(0x5304,dispatcher); /* Quickdraw */ extern pascal void FrameRgn() inline(0x7904,dispatcher); /* Quickdraw */ extern pascal void FrameRRect() inline(0x5D04,dispatcher); /* Quickdraw */ extern pascal Pointer GetAddress() inline(0x0904,dispatcher); /* Quickdraw */ extern pascal Integer GetArcRot() inline(0xB104,dispatcher); /* Quickdraw */ extern pascal Word GetBackColor() inline(0xA304,dispatcher); /* Quickdraw */ extern pascal void GetBackPat() inline(0x3504,dispatcher); /* Quickdraw */ extern pascal Fixed GetCharExtra() inline(0xD504,dispatcher); /* Quickdraw */ extern pascal void GetClip() inline(0x2504,dispatcher); /* Quickdraw */ extern pascal RgnHandle GetClipHandle() inline(0xC704,dispatcher); /* Quickdraw */ extern pascal Word GetColorEntry() inline(0x1104,dispatcher); /* Quickdraw */ extern pascal void GetColorTable() inline(0x0F04,dispatcher); /* Quickdraw */ extern pascal Pointer GetCursorAdr() inline(0x8F04,dispatcher); /* Quickdraw */ extern pascal Word GetFGSize() inline(0xCF04,dispatcher); /* Quickdraw */ extern pascal FontHndl GetFont() inline(0x9504,dispatcher); /* Quickdraw */ extern pascal Word GetFontFlags() inline(0x9904,dispatcher); /* Quickdraw */ extern pascal void GetFontGlobals() inline(0x9704,dispatcher); /* Quickdraw */ extern pascal Long GetFontID() inline(0xD104,dispatcher); /* Quickdraw */ extern pascal void GetFontInfo() inline(0x9604,dispatcher); /* Quickdraw */ extern pascal Word GetFontLore() inline(0xD904,dispatcher); /* Quickdraw */ extern pascal Word GetForeColor() inline(0xA104,dispatcher); /* Quickdraw */ extern pascal QDProcsPtr GetGrafProcs() inline(0x4504,dispatcher); /* Quickdraw */ extern pascal Word GetMasterSCB() inline(0x1704,dispatcher); /* Quickdraw */ extern pascal void GetPen() inline(0x2904,dispatcher); /* Quickdraw */ extern pascal void GetPenMask() inline(0x3304,dispatcher); /* Quickdraw */ extern pascal Word GetPenMode() inline(0x2F04,dispatcher); /* Quickdraw */ extern pascal void GetPenPat() inline(0x3104,dispatcher); /* Quickdraw */ extern pascal void GetPenSize() inline(0x2D04,dispatcher); /* Quickdraw */ extern pascal void GetPenState() inline(0x2B04,dispatcher); /* Quickdraw */ extern pascal Longint GetPicSave() inline(0x3F04,dispatcher); /* Quickdraw */ extern pascal Word GetPixel() inline(0x8804,dispatcher); /* Quickdraw */ extern pascal LongWord GetPolySave() inline(0x4304,dispatcher); /* Quickdraw */ extern pascal GrafPortPtr GetPort() inline(0x1C04,dispatcher); /* Quickdraw */ extern pascal void GetPortLoc() inline(0x1E04,dispatcher); /* Quickdraw */ extern pascal void GetPortRect() inline(0x2004,dispatcher); /* Quickdraw */ extern pascal LongWord GetRgnSave() inline(0x4104,dispatcher); /* Quickdraw */ extern pascal void GetROMFont() inline(0xD804,dispatcher); /* Quickdraw */ extern pascal Word GetSCB() inline(0x1304,dispatcher); /* Quickdraw */ extern pascal Fixed GetSpaceExtra() inline(0x9F04,dispatcher); /* Quickdraw */ extern pascal Word GetStandardSCB() inline(0x0C04,dispatcher); /* Quickdraw */ extern pascal Longint GetSysField() inline(0x4904,dispatcher); /* Quickdraw */ extern pascal FontHndl GetSysFont() inline(0xB304,dispatcher); /* Quickdraw */ extern pascal TextStyle GetTextFace() inline(0x9B04,dispatcher); /* Quickdraw */ extern pascal Word GetTextMode() inline(0x9D04,dispatcher); /* Quickdraw */ extern pascal Integer GetTextSize() inline(0xD304,dispatcher); /* Quickdraw */ extern pascal Longint GetUserField() inline(0x4704,dispatcher); /* Quickdraw */ extern pascal RgnHandle GetVisHandle() inline(0xC904,dispatcher); /* Quickdraw */ extern pascal void GetVisRgn() inline(0xB504,dispatcher); /* Quickdraw */ extern pascal void GlobalToLocal() inline(0x8504,dispatcher); /* Quickdraw */ extern pascal void GrafOff() inline(0x0B04,dispatcher); /* Quickdraw */ extern pascal void GrafOn() inline(0x0A04,dispatcher); /* Quickdraw */ extern pascal void HideCursor() inline(0x9004,dispatcher); /* Quickdraw */ extern pascal void HidePen() inline(0x2704,dispatcher); /* Quickdraw */ extern pascal void InflateTextBuffer() inline(0xD704,dispatcher); /* Quickdraw */ extern pascal void InitColorTable() inline(0x0D04,dispatcher); /* Quickdraw */ extern pascal void InitCursor() inline(0xCA04,dispatcher); /* Quickdraw */ extern pascal void InitPort() inline(0x1904,dispatcher); /* Quickdraw */ extern pascal void InsetRect() inline(0x4C04,dispatcher); /* Quickdraw */ extern pascal void InsetRgn() inline(0x7004,dispatcher); /* Quickdraw */ extern pascal void InvertArc() inline(0x6504,dispatcher); /* Quickdraw */ extern pascal void InvertOval() inline(0x5B04,dispatcher); /* Quickdraw */ extern pascal void InvertPoly() inline(0xBF04,dispatcher); /* Quickdraw */ extern pascal void InvertRect() inline(0x5604,dispatcher); /* Quickdraw */ extern pascal void InvertRgn() inline(0x7C04,dispatcher); /* Quickdraw */ extern pascal void InvertRRect() inline(0x6004,dispatcher); /* Quickdraw */ extern pascal void KillPicture() inline(0xBB04,dispatcher); /* Quickdraw */ extern pascal void KillPoly() inline(0xC304,dispatcher); /* Quickdraw */ extern pascal void Line() inline(0x3D04,dispatcher); /* Quickdraw */ extern pascal void LineTo() inline(0x3C04,dispatcher); /* Quickdraw */ extern pascal void LocalToGlobal() inline(0x8404,dispatcher); /* Quickdraw */ extern pascal void MapPoly() inline(0xC504,dispatcher); /* Quickdraw */ extern pascal void MapPt() inline(0x8A04,dispatcher); /* Quickdraw */ extern pascal void MapRect() inline(0x8B04,dispatcher); /* Quickdraw */ extern pascal void MapRgn() inline(0x8C04,dispatcher); /* Quickdraw */ extern pascal void Move() inline(0x3B04,dispatcher); /* Quickdraw */ extern pascal void MovePortTo() inline(0x2204,dispatcher); /* Quickdraw */ extern pascal void MoveTo() inline(0x3A04,dispatcher); /* Quickdraw */ extern pascal RgnHandle NewRgn() inline(0x6704,dispatcher); /* Quickdraw */ extern pascal Boolean NotEmptyRect() inline(0x5204,dispatcher); /* Quickdraw */ extern pascal void ObscureCursor() inline(0x9204,dispatcher); /* Quickdraw */ extern pascal void OffsetPoly() inline(0xC404,dispatcher); /* Quickdraw */ extern pascal void OffsetRect() inline(0x4B04,dispatcher); /* Quickdraw */ extern pascal void OffsetRgn() inline(0x6F04,dispatcher); /* Quickdraw */ extern pascal Handle OpenPicture() inline(0xB704,dispatcher); /* Quickdraw */ extern pascal Handle OpenPoly() inline(0xC104,dispatcher); /* Quickdraw */ extern pascal void OpenPort() inline(0x1804,dispatcher); /* Quickdraw */ extern pascal void OpenRgn() inline(0x6D04,dispatcher); /* Quickdraw */ extern pascal void PaintArc() inline(0x6304,dispatcher); /* Quickdraw */ extern pascal void PaintOval() inline(0x5904,dispatcher); /* Quickdraw */ extern pascal void PaintPixels() inline(0x7F04,dispatcher); /* Quickdraw */ extern pascal void PaintPoly() inline(0xBD04,dispatcher); /* Quickdraw */ extern pascal void PaintRect() inline(0x5404,dispatcher); /* Quickdraw */ extern pascal void PaintRgn() inline(0x7A04,dispatcher); /* Quickdraw */ extern pascal void PaintRRect() inline(0x5E04,dispatcher); /* Quickdraw */ extern pascal void PenNormal() inline(0x3604,dispatcher); /* Quickdraw */ extern pascal void PicComment() inline(0xB804,dispatcher); /* Quickdraw */ extern pascal void PPToPort() inline(0xD604,dispatcher); /* Quickdraw */ extern pascal void Pt2Rect() inline(0x5004,dispatcher); /* Quickdraw */ extern pascal Boolean PtInRect() inline(0x4F04,dispatcher); /* Quickdraw */ extern pascal Boolean PtInRgn() inline(0x7504,dispatcher); /* Quickdraw */ extern pascal Integer Random() inline(0x8604,dispatcher); /* Quickdraw */ extern pascal Boolean RectInRgn() inline(0x7604,dispatcher); /* Quickdraw */ extern pascal void RectRgn() inline(0x6C04,dispatcher); /* Quickdraw */ extern pascal void RestoreBufDims() inline(0xCE04,dispatcher); /* Quickdraw */ extern pascal void SaveBufDims() inline(0xCD04,dispatcher); /* Quickdraw */ extern pascal void ScalePt() inline(0x8904,dispatcher); /* Quickdraw */ extern pascal void ScrollRect() inline(0x7E04,dispatcher); /* Quickdraw */ extern pascal Boolean SectRect() inline(0x4D04,dispatcher); /* Quickdraw */ extern pascal void SectRgn() inline(0x7104,dispatcher); /* Quickdraw */ extern pascal void SetAllSCBs() inline(0x1404,dispatcher); /* Quickdraw */ extern pascal void SetArcRot() inline(0xB004,dispatcher); /* Quickdraw */ extern pascal void SetBackColor() inline(0xA204,dispatcher); /* Quickdraw */ extern pascal void SetBackPat() inline(0x3404,dispatcher); /* Quickdraw */ extern pascal void SetBufDims() inline(0xCB04,dispatcher); /* Quickdraw */ extern pascal void SetCharExtra() inline(0xD404,dispatcher); /* Quickdraw */ extern pascal void SetClip() inline(0x2404,dispatcher); /* Quickdraw */ extern pascal void SetClipHandle() inline(0xC604,dispatcher); /* Quickdraw */ extern pascal void SetColorEntry() inline(0x1004,dispatcher); /* Quickdraw */ extern pascal void SetColorTable() inline(0x0E04,dispatcher); /* Quickdraw */ extern pascal void SetCursor() inline(0x8E04,dispatcher); /* Quickdraw */ extern pascal void SetEmptyRgn() inline(0x6A04,dispatcher); /* Quickdraw */ extern pascal void SetFont() inline(0x9404,dispatcher); /* Quickdraw */ extern pascal void SetFontFlags() inline(0x9804,dispatcher); /* Quickdraw */ extern pascal void SetFontID() inline(0xD004,dispatcher); /* Quickdraw */ extern pascal void SetForeColor() inline(0xA004,dispatcher); /* Quickdraw */ extern pascal void SetGrafProcs() inline(0x4404,dispatcher); /* Quickdraw */ extern pascal void SetIntUse() inline(0xB604,dispatcher); /* Quickdraw */ extern pascal void SetMasterSCB() inline(0x1604,dispatcher); /* Quickdraw */ extern pascal void SetOrigin() inline(0x2304,dispatcher); /* Quickdraw */ extern pascal void SetPenMask() inline(0x3204,dispatcher); /* Quickdraw */ extern pascal void SetPenMode() inline(0x2E04,dispatcher); /* Quickdraw */ extern pascal void SetPenPat() inline(0x3004,dispatcher); /* Quickdraw */ extern pascal void SetPenSize() inline(0x2C04,dispatcher); /* Quickdraw */ extern pascal void SetPenState() inline(0x2A04,dispatcher); /* Quickdraw */ extern pascal void SetPicSave() inline(0x3E04,dispatcher); /* Quickdraw */ extern pascal void SetPolySave() inline(0x4204,dispatcher); /* Quickdraw */ extern pascal void SetPort() inline(0x1B04,dispatcher); /* Quickdraw */ extern pascal void SetPortLoc() inline(0x1D04,dispatcher); /* Quickdraw */ extern pascal void SetPortRect() inline(0x1F04,dispatcher); /* Quickdraw */ extern pascal void SetPortSize() inline(0x2104,dispatcher); /* Quickdraw */ extern pascal void SetPt() inline(0x8204,dispatcher); /* Quickdraw */ extern pascal void SetRandSeed() inline(0x8704,dispatcher); /* Quickdraw */ extern pascal void SetRect() inline(0x4A04,dispatcher); /* Quickdraw */ extern pascal void SetRectRgn() inline(0x6B04,dispatcher); /* Quickdraw */ extern pascal void SetRgnSave() inline(0x4004,dispatcher); /* Quickdraw */ extern pascal void SetSCB() inline(0x1204,dispatcher); /* Quickdraw */ extern pascal void SetSolidBackPat() inline(0x3804,dispatcher); /* Quickdraw */ extern pascal void SetSolidPenPat() inline(0x3704,dispatcher); /* Quickdraw */ extern pascal void SetSpaceExtra() inline(0x9E04,dispatcher); /* Quickdraw */ extern pascal void SetStdProcs() inline(0x8D04,dispatcher); /* Quickdraw */ extern pascal void SetSysField() inline(0x4804,dispatcher); /* Quickdraw */ extern pascal void SetSysFont() inline(0xB204,dispatcher); /* Quickdraw */ extern pascal void SetTextFace() inline(0x9A04,dispatcher); /* Quickdraw */ extern pascal void SetTextMode() inline(0x9C04,dispatcher); /* Quickdraw */ extern pascal void SetTextSize() inline(0xD204,dispatcher); /* Quickdraw */ extern pascal void SetUserField() inline(0x4604,dispatcher); /* Quickdraw */ extern pascal void SetVisHandle() inline(0xC804,dispatcher); /* Quickdraw */ extern pascal void SetVisRgn() inline(0xB404,dispatcher); /* Quickdraw */ extern pascal void ShowCursor() inline(0x9104,dispatcher); /* Quickdraw */ extern pascal void ShowPen() inline(0x2804,dispatcher); /* Quickdraw */ extern pascal void SolidPattern() inline(0x3904,dispatcher); /* Quickdraw */ extern pascal void StringBounds() inline(0xAD04,dispatcher); /* Quickdraw */ extern pascal Integer StringWidth() inline(0xA904,dispatcher); /* Quickdraw */ extern pascal void SubPt() inline(0x8104,dispatcher); /* Quickdraw */ extern pascal void TextBounds() inline(0xAF04,dispatcher); /* Quickdraw */ extern pascal Integer TextWidth() inline(0xAB04,dispatcher); /* Quickdraw */ extern pascal void UnionRect() inline(0x4E04,dispatcher); /* Quickdraw */ extern pascal void UnionRgn() inline(0x7204,dispatcher); /* Quickdraw */ extern pascal void XorRgn() inline(0x7404,dispatcher); /* Quickdraw */ #endif (WINDOW.Hd <M' M'&SANE.H* m  )NOTESYN.H*   / )NOTESEQ.HN  N 'CTYPE.H~2  ~2 'ERRNO.H~4  ~4 'FCNTL.H~:  ~: STDLIB.H~;  ~; 'IOCTL.H2 2MATH.Hm  j'STDIO.H& ~  ~ (VALUES.Hm  fVARARGS.Hm  >/******************************************** ; File: Window.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __quickdraw__ #include #endif #ifndef __event__ #include #endif #ifndef __control__ #include #endif #ifndef __window__ #define __window__ #define paramLenErr 0x0E01 /*error - first word of parameter list is the wrong size */ #define cefghijklmnopqrstuvwxyz{|}~allocateErr 0x0E02 /*error - unable to allocate window record */ #define taskMaskErr 0x0E03 /*error - bits 12-15 are not clear in WmTaskMask field of WmTaskRec */ #define wNoConstraint 0x0000 /*Axis parameter - No constraint on movement. */ #define wHAxisOnly 0x0001 /*Axis parameter - Horizontal axis only. */ #define wVAxisOnly 0x0002 /*Axis parameter - Vertical axis only. */ #define FromDesk 0x00 /*Desktop Command - Subtract region from desktop */ #define ToDesk 0x1 /*Desktop Command - Add region to desktop */ #define GetDesktop 0x2 /*Desktop Command - Get Handle of Desktop region */ #define SetDesktop 0x3 /*Desktop Command - Set Handle of Desktop region */ #define GetDeskPat 0x4 /*Desktop command - Address of pattern or drawing routine */ #define SetDeskPat 0x5 /*Desktop command - Change Address of pattern or drawing routine */ #define GetVisDesktop 0x6 /*Desktop command - Get destop region less visible windows. */ #define BackGroundRgn 0x7 /*Desktop command - For drawing directly on desktop. */ #define toBottom -2L /*SendBehind value - To send window to bottom. */ #define topMost -1L /*SendBehind value - To make window top. */ #define bottomMost 0x0000L /*SendBehind value - To make window bottom. */ #define tmMenuKey 0x0001 /*Task Mask - */ #define tmUpdate 0x0002 /*Task Mask - */ #define tmFindW 0x0004 /*Task Mask - */ #define tmMenuSel 0x0008 /*Task Mask - */ #define tmOpenNDA 0x0010 /*Task Mask - */ #define tmSysClick 0x0020 /*Task Mask - */ #define tmDragW 0x0040 /*Task Mask - */ #define tmContent 0x0080 /*Task Mask - */ #define tmClose 0x0100 /*Task Mask - */ #define tmZoom 0x0200 /*Task Mask - */ #define tmGrow 0x0400 /*Task Mask - */ #define tmScroll 0x0800 /*Task Mask - */ #define tmSpecial 0x1000 /*Task Mask - */ #define tmCRedraw 0x2000 /*Task Mask - */ #define tmInactive 0x4000 /*Task Mask - */ #define tmInfo 0x8000 /*Task Mask - */ #define wNoHit 0x0000 /*TaskMaster codes - retained for back compatibility. */ #define inNull 0x0000 /*TaskMaster codes - retained for back compatibility */ #define inKey 0x0003 /*TaskMaster codes - retained for back compatibility */ #define inButtDwn 0x0001 /*TaskMaster codes - retained for back compatibility */ #define inUpdate 0x0006 /*TaskMaster codes - retained for back compatibility */ #define wInDesk 0x0010 /*TaskMaster codes - On Desktop */ #define wInMenuBar 0x0011 /*TaskMaster codes - On system menu bar */ #define wClickCalled 0x0012 /*TaskMaster codes - system click called */ #define wInContent 0x0013 /*TaskMaster codes - In content region */ #define wInDrag 0x0014 /*TaskMaster codes - In drag region */ #define wInGrow 0x0015 /*TaskMaster codes - In grow region, active window only */ #define wInGoAway 0x0016 /*TaskMaster codes - In go-away region, active window only */ #define wInZoom 0x0017 /*TaskMaster codes - In zoom region, active window only */ #define wInInfo 0x0018 /*TaskMaster codes - In information bar */ #define wInSpecial 0x0019 /*TaskMaster codes - Item ID selected was 250 - 255 */ #define wInDeskItem 0x001A /*TaskMaster codes - Item ID selected was 1 - 249 */ #define wInFrame 0x1B /*TaskMaster codes - in Frame, but not on anything else */ #define wInactMenu 0x1C /*TaskMaster codes - "selection" of inactive menu item */ #define wClosedNDA 0x001D /*TaskMaster codes - desk accessory closed */ #define wCalledSysEdit 0x001E /*TaskMaster codes - inactive menu item selected*/ #define wInSysWindow 0x8000 /*TaskMaster codes - hi bit set for system windows */ #define wDraw 0x00 /*VarCode - Draw window frame command. */ #define wHit 0x01 /*VarCode - Hit test command. */ #define wCalcRgns 0x02 /*VarCode - Compute regions command. */ #define wNew 0x03 /*VarCode - Initialization command. */ #define wDispose 0x04 /*VarCode - Dispose command. */ #define fHilited 0x0001 /*WFrame - Window is highlighted. */ #define fZoomed 0x0002 /*WFrame - Window is zoomed. */ #define fAllocated 0x0004 /*WFrame - Window record was allocated. */ #define fCtlTie 0x0008 /*WFrame - Window state tied to controls. */ #define fInfo 0x0010 /*WFrame - Window has an information bar. */ #define fVis 0x0020 /*WFrame - Window is visible. */ #define fQContent 0x0040 /*WFrame - */ #define fMove 0x0080 /*WFrame - Window is movable. */ #define fZoom 0x0100 /*WFrame - Window is zoomable. */ #define fFlex 0x0200 /*WFrame - */ #define fGrow 0x0400 /*WFrame - Window has grow box. */ #define fBScroll 0x0800 /*WFrame - Window has horizontal scroll bar. */ #define fRScroll 0x1000 /*WFrame - Window has vertical scroll bar. */ #define fAlert 0x2000 /*WFrame - */ #define fClose 0x4000 /*WFrame - Window has a close box. */ #define fTitle 0x8000 /*WFrame - Window has a title bar. */ #define windSize 0x145 /*WindRec - Size of WindRec. */ #define wmTaskRecSize 0x16 /*WmTaskRec - Size of WmTaskRec. */ typedef struct WindRec { GrafPortPtr wNext; /* WindRec - Pointer to next window Record. */ GrafPort port; /* WindRec - Window's port. */ Byte wPadding[16]; /* WindRec - Space for possible future expansion */ RgnHandle wStrucRgn; /* WindRec - Region of frame plus content. */ RgnHandle wContRgn; /* WindRec - Content region. */ RgnHandle wUpdateRgn; /* WindRec - Update region. */ CtlRecHndl wControls; /* WindRec - Window's control list. */ CtlRecHndl wFrameCtrls; /* WindRec - Window frame's control list. */ Word wFrame; /* WindRec - Bit flags. */ } WindRec, *WindRecPtr, **WindRecHndl ; typedef struct WindColor { Word frameColor; /* WindColor - Color of window frame. */ Word titleColor; /* WindColor - Color of title and bar. */ Word tBarColor; /* WindColor - Color/pattern of title bar. */ Word growColor; /* WindColor - Color of grow box. */ Word infoColor; /* WindColor - Color of information bar. */ } WindColor, *WindColorPtr, **WindColorHndl ; typedef struct ParamList { Word paramLength; /* ParamList - Parameter to NewWindow. */ Word wFrameBits; /* ParamList - Parameter to NewWindow. */ Pointer wTitle; /* ParamList - Parameter to NewWindow. */ LongWord wRefCon; /* ParamList - Parameter to NewWindow. */ Rect wZoom; /* ParamList - Parameter to NewWindow. */ WindColorPtr wColor; /* ParamList - Parameter to NewWindow. */ Integer wYOrigin; /* ParamList - Parameter to NewWindow. */ Integer wXOrigin; /* ParamList - Parameter to NewWindow. */ Word wDataH; /* ParamList - Parameter to NewWindow. */ Word wDataW; /* ParamList - Parameter to NewWindow. */ Word wMaxH; /* ParamList - Parameter to NewWindow. */ Word wMaxW; /* ParamList - Parameter to NewWindow. */ Word wScrollVer; /* ParamList - Parameter to NewWindow. */ Word wScrollHor; /* ParamList - Parameter to NewWindow. */ Word wPageVer; /* ParamList - Parameter to NewWindow. */ Word wPageHor; /* ParamList - Parameter to NewWindow. */ LongWord wInfoRefCon; /* ParamList - Parameter to NewWindow. */ Word wInfoHeight; /* ParamList - height of information bar */ LongProcPtr wFrameDefProc; /* ParamList - Parameter to NewWindow. */ VoidProcPtr wInfoDefProc; /* ParamList - Parameter to NewWindow. */ VoidProcPtr wContDefProc; /* ParamList - Parameter to NewWindow. */ Rect wPosition; /* ParamList - Parameter to NewWindow. */ GrafPortPtr wPlane; /* ParamList - Parameter to NewWindow. */ WindRecPtr wStorage; /* ParamList - Parameter to NewWindow. */ } ParamList, *ParamListPtr, **ParamListHndl ; typedef struct WmTaskRec { Word wmWhat; /* WmTaskRec - */ LongWord wmMessage; /* WmTaskRec - */ LongWord wmWhen; /* WmTaskRec - */ Point wmWhere; /* WmTaskRec - */ Word wmModifiers; /* WmTaskRec - */ LongWord wmTaskData; /* WmTaskRec - TaskMaster return value. */ LongWord wmTaskMask; /* WmTaskRec - TaskMaster feature mask. */ } WmTaskRec, *WmTaskRecPtr, **WmTaskRecHndl ; extern pascal void WindBootInit() inline(0x010E,dispatcher); /* Window */ extern pascal void WindStartUp() inline(0x020E,dispatcher); /* Window */ extern pascal void WindShutDown() inline(0x030E,dispatcher); /* Window */ extern pascal Word WindVersion() inline(0x040E,dispatcher); /* Window */ extern pascal void WindReset() inline(0x050E,dispatcher); /* Window */ extern pascal Boolean WindStatus() inline(0x060E,dispatcher); /* Window */ extern pascal void BeginUpdate() inline(0x1E0E,dispatcher); /* Window */ extern pascal void BringToFront() inline(0x240E,dispatcher); /* Window */ extern pascal Boolean CheckUpdate() inline(0x0A0E,dispatcher); /* Window */ extern pascal void CloseWindow() inline(0x0B0E,dispatcher); /* Window */ extern pascal Pointer Desktop() inline(0x0C0E,dispatcher); /* Window */ extern pascal void DragWindow() inline(0x1A0E,dispatcher); /* Window */ extern pascal void EndInfoDrawing() inline(0x510E,dispatcher); /* Window */ extern pascal void EndUpdate() inline(0x1F0E,dispatcher); /* Window */ extern pascal Word FindWindow() inline(0x170E,dispatcher); /* Window */ extern pascal GrafPortPtr FrontWindow() inline(0x150E,dispatcher); /* Window */ extern pascal VoidProcPtr GetContentDraw() inline(0x480E,dispatcher); /* Window */ extern pascal Long GetContentOrigin() inline(0x3E0E,dispatcher); /* Window */ extern pascal RgnHandle GetContentRgn() inline(0x2F0E,dispatcher); /* Window */ extern pascal LongWord GetDataSize() inline(0x400E,dispatcher); /* Window */ extern pascal LongProcPtr GetDefProc() inline(0x310E,dispatcher); /* Window */ extern pascal GrafPortPtr GetFirstWindow() inline(0x520E,dispatcher); /* Window */ extern pascal void GetFrameColor() inline(0x100E,dispatcher); /* Window */ extern pascal VoidProcPtr GetInfoDraw() inline(0x4A0E,dispatcher); /* Window */ extern pascal LongWord GetInfoRefCon() inline(0x350E,dispatcher); /* Window */ extern pascal LongWord GetMaxGrow() inline(0x420E,dispatcher); /* Window */ extern pascal GrafPortPtr GetNextWindow() inline(0x2A0E,dispatcher); /* Window */ extern pascal LongWord GetPage() inline(0x460E,dispatcher); /* Window */ extern pascal void GetRectInfo() inline(0x4F0E,dispatcher); /* Window */ extern pascal LongWord GetScroll() inline(0x440E,dispatcher); /* Window */ extern pascal RgnHandle GetStructRgn() inline(0x2E0E,dispatcher); /* Window */ extern pascal Boolean GetSysWFlag() inline(0x4C0E,dispatcher); /* Window */ extern pascal RgnHandle GetUpdateRgn() inline(0x300E,dispatcher); /* Window */ extern pascal CtlRecHndl GetWControls() inline(0x330E,dispatcher); /* Window */ extern pascal Word GetWFrame() inline(0x2C0E,dispatcher); /* Window */ extern pascal Word GetWKind() inline(0x2B0E,dispatcher); /* Window */ extern pascal GrafPortPtr GetWMgrPort() inline(0x200E,dispatcher); /* Window */ extern pascal LongWord GetWRefCon() inline(0x290E,dispatcher); /* Window */ extern pascal Pointer GetWTitle() inline(0x0E0E,dispatcher); /* Window */ extern pascal Rect *GetZoomRect() inline(0x370E,dispatcher); /* Window */ extern pascal LongWord GrowWindow() inline(0x1B0E,dispatcher); /* Window */ extern pascal void HideWindow() inline(0x120E,dispatcher); /* Window */ extern pascal void HiliteWindow() inline(0x220E,dispatcher); /* Window */ extern pascal void InvalRect() inline(0x3A0E,dispatcher); /* Window */ extern pascal void InvalRgn() inline(0x3B0E,dispatcher); /* Window */ extern pascal void MoveWindow() inline(0x190E,dispatcher); /* Window */ extern pascal GrafPortPtr NewWindow() inline(0x090E,dispatcher); /* Window */ extern pascal Long PinRect() inline(0x210E,dispatcher); /* Window */ extern pascal void RefreshDesktop() inline(0x390E,dispatcher); /* Window */ extern pascal void SelectWindow() inline(0x110E,dispatcher); /* Window */ extern pascal void SendBehind() inline(0x140E,dispatcher); /* Window */ extern pascal void SetContentDraw() inline(0x490E,dispatcher); /* Window */ extern pascal void SetContentOrigin() inline(0x3F0E,dispatcher); /* Window */ extern pascal void SetContentOrigin2() inline(0x570E,dispatcher); /* Window */ extern pascal void SetDataSize() inline(0x410E,dispatcher); /* Window */ extern pascal void SetDefProc() inline(0x320E,dispatcher); /* Window */ extern pascal void SetFrameColor() inline(0x0F0E,dispatcher); /* Window */ extern pascal void SetInfoDraw() inline(0x160E,dispatcher); /* Window */ extern pascal void SetInfoRefCon() inline(0x360E,dispatcher); /* Window */ extern pascal void SetMaxGrow() inline(0x430E,dispatcher); /* Window */ extern pascal void SetOriginMask() inline(0x340E,dispatcher); /* Window */ extern pascal void SetPage() inline(0x470E,dispatcher); /* Window */ extern pascal void SetScroll() inline(0x450E,dispatcher); /* Window */ extern pascal void SetSysWindow() inline(0x4B0E,dispatcher); /* Window */ extern pascal void SetWFrame() inline(0x2D0E,dispatcher); /* Window */ extern pascal FontHndl SetWindowIcons() inline(0x4E0E,dispatcher); /* Window */ extern pascal void SetWRefCon() inline(0x280E,dispatcher); /* Window */ extern pascal void SetWTitle() inline(0x0D0E,dispatcher); /* Window */ extern pascal void SetZoomRect() inline(0x380E,dispatcher); /* Window */ extern pascal void ShowHide() inline(0x230E,dispatcher); /* Window */ extern pascal void ShowWindow() inline(0x130E,dispatcher); /* Window */ extern pascal void SizeWindow() inline(0x1C0E,dispatcher); /* Window */ extern pascal void StartDrawing() inline(0x4D0E,dispatcher); /* Window */ extern pascal void StartInfoDrawing() inline(0x500E,dispatcher); /* Window */ extern pascal Word TaskMaster() inline(0x1D0E,dispatcher); /* Window */ extern pascal Boolean TrackGoAway() inline(0x180E,dispatcher); /* Window */ extern pascal Boolean TrackZoom() inline(0x260E,dispatcher); /* Window */ extern pascal void ValidRect() inline(0x3C0E,dispatcher); /* Window */ extern pascal void ValidRgn() inline(0x3D0E,dispatcher); /* Window */ extern pascal LongWord WindDragRect() inline(0x530E,dispatcher); /* Window */ extern pascal void WindNewRes() inline(0x250E,dispatcher); /* Window */ extern pascal Word WindowGlobal() inline(0x560E,dispatcher); /* Window */ extern pascal void ZoomWindow() inline(0x270E,dispatcher); /* Window */ #endif /* SANE.h - Standard Apple Numeric Environment C Interface to the Macintosh Libraries Copyright Apple Computer,Inc. 1985 - 1987 All rights reserved. */ #ifndef __types__ #include #endif #ifndef __SANE__ #define __SANE__ #define SIGDIGLEN 28 #define DECSTROUTLEN 80 #define FLOATDECIMAL 0 #define FIXEDDECIMAL 1 #define INVALID 1 #define UNDERFLOW 2 #define OVERFLOW 4 #define DIVBYZERO 8 #define INEXACT 16 #define GREATERTHAN 0 #define LESSTHAN 1 #define EQUALTO 2 #define UNORDERED 3 #define SNAN 0 #define QNAN 1 #define INFINITE 2 #define ZERONUM 3 #define NORMALNUM 4 #define DENORMALNUM 5 #define TONEAREST 0 #define UPWARD 1 #define DOWNWARD 2 #define TOWARDZERO 3 #define EXTPRECISION 0 #define DBLPRECISION 1 #define FLOATPRECISION 2 #define IEEEDEFAULTENV 0 typedef short exception; typedef short relop; typedef short numclass; typedef short rounddir; typedef short roundpre; typedef short environment; typedef struct decimal { short sgn; short exp; struct {unsigned char length,text[SIGDIGLEN],unused} sig; } decimal; typedef struct decform { short style; short digits; } decform; typedef void (*haltvector)(); extended dec2num(); extended fabs(); extended remainder(); extended sqrt(); extended rint(); extended scalb(); extended logb(); extended copysign(); extended nextfloat(); extended nextdouble(); extended nextextended(); extended log2(); extended log(); extended log1(); extended exp2(); extended exp(); extended exp1(); extended power(); extended ipower(); extended compound(); extended annuity(); extended tan(); extended sin(); extended cos(); extended atan(); extended randomx(); haltvector gethaltvector(); extended nan(); extended inf(); extended pi(); long testexception(); long testhalt(); extern pascal void SANEBootInit() inline(0x010A, dispatcher); extern pascal void SANEStartUp() inline(0x020A, dispatcher); extern pascal void SANEShutDown() inline(0x030A, dispatcher); extern pascal word SANEVersion() inline(0x040A, dispatcher); extern pascal void SANEBReset() inline(0x050A, dispatcher); extern pascal Boolean SANEStatus() inline(0x060A, dispatcher); extern pascal void SANEFP816() inline(0x090A, dispatcher); extern pascal void SANEDecStr816() inline(0x0A0A, dispatcher); extern pascal void SANEElems816() inline(0x0B0A, dispatcher); #endif /******************************************** ; File: NoteSyn.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __notesyn__ #define __notesyn__ #define nsAlreadyInit 0x1901 /* error - Note Syn already initialized */ #define nsSndNotInit 0x1902 /* error - Sound Tools not initialized */ #define nsNotAvail 0x1921 /* error - generator not available */ #define nsBadGenNum 0x1922 /* error - bad generator number */ #define nsNotInit 0x1923 /* error - Note Syn not initialized */ #define nsGenAlreadyOn 0x1924 /* error - generator already on */ typedef struct Envelope { Byte st1BkPt; /* Envelope - */ Word st1Increment; /* Envelope - */ Byte st2BkPt; /* Envelope - */ Word st2Increment; /* Envelope - */ Byte st3BkPt; /* Envelope - */ Word st3Increment; /* Envelope - */ Byte st4BkPt; /* Envelope - */ Word st4Increment; /* Envelope - */ Byte st5BkPt; /* Envelope - */ Word st5Increment; /* Envelope - */ Byte st6BkPt; /* Envelope - */ Word st6Increment; /* Envelope - */ Byte st7BkPt; /* Envelope - */ Word st7Increment; /* Envelope - */ Byte st8BkPt; /* Envelope - */ Word st8Increment; /* Envelope - */ } Envelope, *EnvelopePtr, **EnvelopeHndl; typedef struct Waveform { Byte wfTopKey; /* Waveform - */ Byte wfWaveAddress; /* Waveform - */ Byte wfWaveSize; /* Waveform - */ Byte wfDocMode; /* Waveform - */ Word wfRelPitch; /* Waveform - */ } Waveform, *WaveformPtr, **WaveformHndl; #ifndef aWCount #define aWCount 1 #endif #ifndef bWCount #define bWCount 1 #endif typedef struct Instrument { Envelope theEnvelope; /* Instrument - */ Byte releaseSegment; /* Instrument - */ Byte priorityIncrement; /* Instrument - */ Byte pitchBendRange; /* Instrument - */ Byte vibratoDepth; /* Instrument - */ Byte vibratoSpeed; /* Instrument - */ Byte inSpare; /* Instrument - */ Byte aWaveCount; /* Instrument - */ Byte bWaveCount; /* Instrument - */ Waveform aWaveList[aWCount]; Waveform bWaveList[bWCount]; } Instrument, *InstrumentPtr, **InstrumentHndl; extern pascal void NSBootInit() inline(0x0119, dispatcher); extern pascal void NSStartUp() inline(0x0219, dispatcher); extern pascal void NSShutDown() inline(0x0319, dispatcher); extern pascal Word NSVersion() inline(0x0419, dispatcher); extern pascal void NSReset() inline(0x0519, dispatcher); extern pascal Boolean NSStatus() inline(0x0619, dispatcher); extern pascal void AllNotesOff() inline(0x0D19, dispatcher); extern pascal Word AllocGen() inline(0x0919, dispatcher); extern pascal void DeallocGen() inline(0x0A19, dispatcher); extern pascal void NoteOff() inline(0x0C19, dispatcher); extern pascal void NoteOn() inline(0x0B19, dispatcher); #endif /******************************************** ; File: noteseq.h ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; ********************************************/ #ifndef __types__ #include #endif #ifndef __noteseq__ #define __noteseq__ typedef struct LocRec { Word curPhrase; /* LocRec - */ Word curPattern; /* LocRec - */ Word level; /* LocRec - */ } LocRec, *LocRecPtr, **LocRecHndl ; extern pascal void SeqBootInit() inline(0x011A,dispatcher); /* NoteSeq */ extern pascal void SeqStartUp() inline(0x021A,dispatcher); /* NoteSeq */ extern pascal void SeqShutDown() inline(0x031A,dispatcher); /* NoteSeq */ extern pascal Word SeqVersion() inline(0x041A,dispatcher); /* NoteSeq */ extern pascal void SeqReset() inline(0x051A,dispatcher); /* NoteSeq */ extern pascal Boolean SeqStatus() inline(0x061A,dispatcher); /* NoteSeq */ extern pascal void AllNotesOff() inline(0x0D1A,dispatcher); /* NoteSeq */ extern pascal Word ClearIncr() inline(0x0A1A,dispatcher); /* NoteSeq */ extern LocRec GetLoc(); extern pascal Word GetTimer() inline(0x0B1A,dispatcher); /* NoteSeq */ extern pascal void SetIncr() inline(0x091A,dispatcher); /* NoteSeq */ extern pascal void SetInstTable() inline(0x121A,dispatcher); /* NoteSeq */ extern pascal void SetTrkInfo() inline(0x0E1A,dispatcher); /* NoteSeq */ extern pascal void StartInts() inline(0x131A,dispatcher); /* NoteSeq */ extern pascal void StartSeq() inline(0x0F1A,dispatcher); /* NoteSeq */ extern pascal void StepSeq() inline(0x101A,dispatcher); /* NoteSeq */ extern pascal void StopInts() inline(0x141A,dispatcher); /* NoteSeq */ extern pascal void StopSeq() inline(0x111A,dispatcher); /* NoteSeq */ #endif /* ctype.h -- character types Copyright American Telephone & Telegraph Modified and used with permission, Apple Computer Inc. Copyright Apple Computer Inc. 1985, 1986, 1987 All rights reserved. */ #ifndef __CTYPE__ #define __CTYPE__ /* @(#)ctype.h 2.1 */ /* 3.0 SID # 1.2 */ #define _U 01 #define _L 02 #define _N 04 #define _S 010 #define _P 020 #define _C 040 #define _B 0100 #define _X 0200 extern char _ctype[]; #ifndef lint #define isalpha(c) ((_ctype+1)[c]&(_U|_L)) #define isupper(c) ((_ctype+1)[c]&_U) #define islower(c) ((_ctype+1)[c]&_L) #define isdigit(c) ((_ctype+1)[c]&_N) #define isxdigit(c) ((_ctype+1)[c]&_X) #define isalnum(c) ((_ctype+1)[c]&(_U|_L|_N)) #define isspace(c) ((_ctype+1)[c]&_S) #define ispunct(c) ((_ctype+1)[c]&_P) #define isprint(c) ((_ctype+1)[c]&(_P|_U|_L|_N|_B)) #define isgraph(c) ((_ctype+1)[c]&(_P|_U|_L|_N)) #define iscntrl(c) ((_ctype+1)[c]&_C) #define isascii(c) ((unsigned char)(c)<=0177) #define _toupper(c) ((c)-'a'+'A') #define _tolower(c) ((c)-'A'+'a') #define toascii(c) ((c)&0177) #endif # endif __CTYPE__ /* errno.h -- error return codes Copyright American Telephone & Telegraph Modified and used with permission, Apple Computer Inc. Copyright Apple Computer Inc. 1985, 1986, 1987 All rights reserved. */ #ifndef __ERRNO__ #define __ERRNO__ /* @(#)errno.h 2.1 */ /* 3.0 SID # 1.3 */ /* * Error codes */ extern int errno; #define EPERM 1 /* Permission Denied */ #define ENOENT 2 /* No such file or directory */ #define ENORSRC 3 /* No such Resource */ #define EINTR 4 /* interrupted system call */ #define EIO 5 /* I/O error */ #define ENXIO 6 /* No such device or address */ #define E2BIG 7 /* Insufficient space for return argument */ /* #define ENOEXEC 8 /* Exec format error */ #define EBADF 9 /* Bad file number */ /* #define ECHILD 10 /* No children */ /* #define EAGAIN 11 /* No more processes */ #define ENOMEM 12 /* Not enough core */ #define EACCES 13 /* Permission denied */ #define EFAULT 14 /* Bad address */ #define ENOTBLK 15 /* Block device required */ #define EBUSY 16 /* Mount device busy */ #define EEXIST 17 /* File exists */ #define EXDEV 18 /* Cross-device link */ #define ENODEV 19 /* No such device */ #define ENOTDIR 20 /* Not a directory */ #define EISDIR 21 /* Is a directory */ #define EINVAL 22 /* Invalid argument */ #define ENFILE 23 /* File table overflow */ #define EMFILE 24 /* Too many open files */ #define ENOTTY 25 /* Not a typewriter */ #define ETXTBSY 26 /* Text file busy */ #define EFBIG 27 /* File too large */ #define ENOSPC 28 /* No space left on device */ #define ESPIPE 29 /* Illegal seek */ #define EROFS 30 /* READ only file system */ #define EMLINK 31 /* Too many links */ /* #define EPIPE 32 /* Broken pipe */ #define EDOM 33 /* Math arg out of domain of func */ #define ERANGE 34 /* Math result not representable */ #endif __ERRNO__ /* * fcntl.h -- fAccess(), fcntl(), and open() mode flags * * Copyright American Telephone & Telegraph * Modified and used with permission, Apple Computer Inc. * Copyright Apple Computer Inc. 1985, 1986, 1987 * All rights reserved. */ #ifndef __FCNTL__ #define __FCNTL__ /* * fAccess() commands */ # define F_OPEN (('d'<<8)|00) /* 'd' => "directory" ops */ # define F_DELETE (('d'<<8)|01) # define F_RENAME (('d'<<8)|02) # define F_TYPE (('d'<<8)|03) # define F_AUX  (('d'<<8)|04) # define F_GTABINFO (('e'<<8)|00) /* 'e' => "editor" ops */ # define F_STABINFO (('e'<<8)|01) # define F_GFONTINFO (('e'<<8)|02) # define F_SFONTINFO (('e'<<8)|03) # define F_GPRINTREC (('e'<<8)|04) # define F_SPRINTREC (('e'<<8)|05) /* * Mode values accessible to open() */ # define O_RDONLY 0 /* Bits 0 and 1 are used internally */ # define O_WRONLY 1 /* Values 0..2 are historical */ # define O_RDWR 2 # define O_APPEND (1<<3) /* append (writes guaranteed at the end) */ # define O_RSRC (1<<4) /* OPEN the resource fork */ # define O_BINARY (1<<5) # define O_CREAT (1<<8) /* OPEN with file create */ # define O_TRUNC (1<<9) /* OPEN with truncation */ # define O_EXCL (1<<10) /* Exclusive open */ /* * fcntl() requests */ # define F_DUPFD 0 /* Duplicate fildes */ long lseek(); # endif __FCNTL__ /* stdlib.h * * Copyright Apple Computer, Inc. 1987 * All Rights Reserved */ int atoi(); long atol(); void exit(); void _exit(); char *getenv(); long strtol(); /* ioctl.h -- Device-handler-specific requests Copyright, Apple Computer Inc. (1985) All rights reserved. */ # ifndef __IOCTL__ # define __IOCTL__ /* * IO Control commands. * * IOCTLs which begin with "FIO" are controls which are general * control requests. They may be executed by the top-level * ioctl() procedure, or previewed by it before passing it on * to the driver xxIoctl()s. * * FIOLSEEK and FIODUPFD are for internal use only. */ # define FIOLSEEK (('f'<<8)|00) /* 3rd arg is a _SeekType (below) */ # define FIODUPFD (('f'<<8)|01) /* 3rd arg is min new fd number */ # define FIOINTERACTIVE (('f'<<8)|02) /* If device is interactive */ # define FIOBUFSIZE (('f'<<8)|03) /* Return optimal buffer size */ # define FIOFNAME (('f'<<8)|04) /* Return filename */ # define FIOREFNUM (('f'<<8)|05) /* Return fs refnum */ # define FIOSETEOF (('f'<<8)|06) /* Set file length */ # define FIOGETEOF (('f'<<8)|07) /* Get file length */ # define FIOSETMARK (('f'<<8)|08) /* Set current position */ # define FIOGETMARK (('f'<<8)|09) /* Get current position */ /* * Implementation of lseek() uses this as its 3rd argument. */ typedef struct { int posMode; long posOff; } _SeekType; /* * TTY stuff. */ # define TIOFLUSH (('t'<<8)|00) # define TIOSPORT (('t'<<8)|01) # define TIOGPORT (('t'<<8)|02) # endif __IOCTL__ /* math.h - math supplement to SANE Copyright Apple Computer, Inc. 1985 All rights reserved. */ #ifndef __MATH__ #define __MATH__ #ifndef __SANE__ #include #endif extended atof(),frexp(),ldexp(),modf(); #define log10(x) (log(x)/log(10.0)) #define pow(x,y) power(x,y) extended floor(),ceil(),fmod(); extended hypot(); extended sinh(),cosh(),tanh(); extended asin(),acos(),atan2(); char *ecvt(); char *fcvt(); #endif /* * stdio.h -- Standard C I/O Package * Modified for use with IIGS * * Copyright American Telephone & Telegraph * Used with permission, Apple Computer Inc. * Copyrignt Apple Computer Inc. 1985-1987 * All rights reserved. */ #ifndef __STDIO__ #define __STDIO__ #define _NFILE 20 #define BUFSIZ 1024 /* default file buffer size */ #define _LBFSIZ 100 /* Line buffer size */ typedef struct { int _cnt; unsigned char *_ptr; unsigned char *_base; unsigned char *_end; unsigned int _size; unsigned int _flag; unsigned int _file; } FILE; /* * 07-Sep-85, Hartwell: * _IOSYNC will synchronize input and output fp's, such that * a read() for an input fp with this bit set will first * fflush() all output fp's which have the _IOSYNC bit set. * _IOLBF simply declares that a fflush() occurs when a \n is written. */ #define _IOFBF 0 /* Pseudo-flag, default buffering style */ #define _IOREAD (1<<0) /* Current mode is for reading */ #define _IOWRT (1<<1) /* Current mode is for writing */ #define _IONBF (1<<2) /* no buffering */ #define _IOMYBUF (1<<3) /* buffer was allocated by stdio */ #define _IOEOF (1<<4) #define _IOERR (1<<5) #define _IOLBF (1<<6) /* fflush(iop) when a \n is written */ #define _IORW (1<<7) /* Enable read/write access */ #define _IOSYNC (1<<8) /* Input triggers fflush() to output fp's */ #ifndef NULL #define NULL 0L #endif #ifndef EOF #define EOF (-1) #endif #define stdin (&_iob[0]) #define stdout (&_iob[1]) #define stderr (&_iob[2]) /* * Hartwell: new structure components are * backwards-compatible with other stdio modules. */ #define _bufend(p) (p)->_end #define _bufsiz(p) (p)->_size #ifndef lint #define getc(p) (--(p)->_cnt >= 0 ? (int) *(p)->_ptr++ : _filbuf(p)) #define putc(x, p) (--(p)->_cnt >= 0 ? \ ((int) (*(p)->_ptr++ = (unsigned char) (x))) : \ _flsbuf((unsigned char) (x), (p))) #define getchar() getc(stdin) #define putchar(x) putc((x), stdout) #define clearerr(p) ((void) ((p)->_flag &= ~(_IOERR | _IOEOF))) #define feof(p) ((p)->_flag & _IOEOF) #define ferror(p) ((p)->_flag & _IOERR) #define fileno(p) (p)->_file #endif lint extern FILE _iob[_NFILE]; extern FILE *fopen(), *fdopen(), *freopen(); extern long ftell(); extern void rewind(), setbuf(); extern char *fgets(), *gets(); #endif __STDIO__ /* Values.h -- Numeric Values Copyright Apple Computer,Inc. 1985,1986 All rights reserved. */ #ifndef __VALUES__ #define __VALUES__ #ifndef __SANE__ #include #endif #define BITSPERBYTE 8 #define BITS(type) (BITSPERBYTE * (int)sizeof(type)) #define HIBITS ((short)(1<MALLOC.H6  STRING.H~  ~ STRINGS.H&  & (SIGNAL.HW  >/* * SetJmp.h * * Copyright 1986, Apple Computer * All rights reserved. */ typedef long jmp_buf[2]; int setjmp(); void longjmp(); /* * Copyright Apple Computer, Inc. 1987 * All rights reserved */ char *malloc(); char *realloc(); char *calloc(); void free(); void cfree(); char *lmalloc(); /* * Copyright Apple Computer Inc. 1987 * All rights reserved */ char *strcat(); char *strncat(); int strcmp(); int strncmp(); char *strcpy(); char *strncpy(); int strlen(); char *strchr(); char *strrchr(); char *strpbrk(); int strspn(); int strcspn(); char *strtok(); /* * strings.h -- String Conversions * * Copyright Apple Computer, Inc. 1985 - 1987 * All rights reserved. */ #ifndef __STRINGS__ #define __STRINGS__ char *p2cstr(); char *c2pstr(); #endif SYSTEMuHUSTON! ' 'LOGIN "'SYSCMND 24cc alias install execute install alias mu prefix 6 /apwu/utilities alias umu prefix 6 4/../utilities alias mc 6/domc alias umc 6/doumc mc echo you have the following aliases: alias prefix 3 work ; ; Apple IIgs Programmer's Workshop Command Table ; * C 42 comment character ALIAS C 40 ALINK C 3 link using script file ASM65816 *L 3 65816 assembler ASML C 1 assemble and link ASMLG C 2 assemble, link and execute ASSEMBLE C 3 assemble BREAK C 25 break from loop CANON *U  canonical spelling tool CAT C 4 catalog CATALOG C 4 catalog CC *L 10 APW C compiler CHANGE C 20 change language stamp CMPL C 1 compile and link CMPLG C 2 compile, link and execute COMMANDS C 35 read command table COMMENT C 42 null command for comments COMPACT *U compact load file COMPILE C 3 compile CONTINUE C 26 continue a loop COPY C 5 copy files/directories/disks CREATE C 6 create a subdirectory CRUNCH U combine object modules DEBUG U APW debugger DELETE C 7 delete a file DISABLE C 8 disable file attributes DUMPOBJ U object module dumper ECHO C 29 print from an exec file EDIT *C 9 edit a file ELSE C 31 part of an IF statement ENABLE C 10 enable file attributes END C 23 end an IF, FOR, or LOOP EQUAL *U file/directory comparison utility EXEC L 6 EXEC language EXECUTE C 38 EXEC with changes to local variables EXIT C 27 exit a loop EXPORT C 36 export a shell variable FILES *U expanded catalog display utility FILETYPE C 21 change the type of a file FOR C 22 for loop HELP C 11 online help HISTORY C 39 display last twenty commands IF C 30 conditional branch INIT U disk initializer INSTALL U install a distribution disk LINK C 12 link LINKED *L 9 linker LOOP C 24 loop statement MACGEN U generate a macro file MAKEBIN U convert load file to a binary file MAKELIB U librarian MOVE C 34 move files PREFIX C 14 set system prefix PRODOS L 0 ProDOS language QUIT C 15 exit from ORCA RENAME C 16 rename files RUN C 2 compile, link and execute SEARCH *U string search utility SET C 28 set a variable SHOW C 17 show system attributes TEXT L 1 Text file TYPE C 18 list a file to standard out UNALIAS C 41 UNSET C 37 delete a shell variable VERSION *U displays version of APW you are using * 2-floppy installation copy -c 5/linked {1}/languages/linked copy -c {1}/system/= 4/ echo "prefix 5 /apwc/languages; prefix 2 /apwc/libraries" > 4/../utilities/domc echo "prefix 5 4/../languages; prefix 2 4/../libraries" > 4/../utilities/doumc change 4/../utilities/domc exec change 4/../utilities/doumc exec execute 4/login commands 4/syscmnd * install onto a hard disk copy -c {1}/languages/= 4/../languages copy -c {1}/libraries/= 4/../libraries copy -c {1}/system/syscmnd 4/ commands 4/syscmnd ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; StackMin START Direct KIND $12 ds $1000 * this is the amt of stack END compile stackmin.asm data.asm init.cc bones.cc keep=$ link 2/start stackmin data init bones keep=bones filetype bones s16 SAMPLESuHUSTON!E ' 'BONESE i; DAVl UPSTRHe e BONESuHUSTON!E ' 'STACKMIN.ASMcMAKEzҮ. \(BONES.CC'6̮  e 'INIT.CC#Bݮ  -(DATA.ASM  ̮+ cSTACKMIN.ROOTG\,c DATA.ROOTI \,c DATA.AR\-c INIT.ROOTV \ c BONES.ROOTa\ c BONESq0\9c /*-------------------------------------------------------------------* | | BONES.CC | | Copyright Apple Computer, Inc. 1987 | All Rights Reserved | *-------------------------------------------------------------------*/ /*-------------------------------------------------------------------* | | First a word from our lawyers. | *-------------------------------------------------------------------*/ /*-------------------------------------------------------------------* | | This program and its derivatives are licensed only for | use on Apple computers. | | Works based on this program must contain and | conspicuously display this notice. | | This software is provided for your evaluation and to | assist you in developing software for the Apple IIGS | computer. | | This is not a distribution license. Distribution of | this and other Apple software requires a separate | license. Contact the Software Licensing Department of | Apple Computer, Inc. for details. | | DISCLAIMER OF WARRANTY | | THE SOFTWARE IS PROVIDED "AS IS" WITHOUT | WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, | WITH RESPECT TO ITS MERCHANTABILITY OR ITS FITNESS | FOR ANY PARTICULAR PURPOSE. THE ENTIRE RISK AS TO | THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH | YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU (AND | NOT APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE) | ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, | REPAIR OR CORRECTION. | | Apple does not warrant that the functions | contained in the Software will meet your requirements | or that the operation of the Software will be | uninterrupted or error free or that defects in the | Software will be corrected. | | SOME STATES DO NOT ALLOW THE EXCLUSION | OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY | NOT APPLY TO YOU. THIS WARRANTY GIVES YOU SPECIFIC | LEGAL RIGHTS AND YOU MAY ALSO HAVE OTHER RIGHTS | WHICH VARY FROM STATE TO STATE. | *-------------------------------------------------------------------*/ /*-------------------------------------------------------------------* | | What does it mean? Use Bones to help you develop Apple IIGS | applications, but not applications for Non-Apple machines. | | Bones demonstrates a number of the features of the Apple IIGS | tools. You can be copy it in part or whole to help you write | applications for the Apple IIGS. We've tried our best to make | these routines work but cannot guarentee that they will always | be right. Nor, do we claim that the way we do something is the | only correct way. | | Bones is written with readability in mind. There may be more | efficient (but more cryptic) C-language constructs to accomplish | many of Bones' tasks. | | >!< : This symbol is used thoughout this file to indicate potential | trouble spots due to differences in tool call/data struct spellings | in C versus Pascal. | | Version 1.0 26 Jun 87 Steven E. Glass & Ben Koning | *-------------------------------------------------------------------*/ #include /* Include the constant "#define"s, the data */ #include /* structure "typedef"s, and the function */ #include /* headers required. , , */ #include /* and are automatically inclu- */ #include /* ded by some of these include files. */ #define ScreenMode 0x80 /* 640 mode */ #define AppleMenuID 1 #define AboutItemID 256 #define FileMenuID 2 #define QuitItemID 257 #define EditMenuID 3 #define UndoID 250 #define CutID 251 #define CopyID 252 #define PasteID 253 #define ClearID 254 #define CloseWID 255 /* Not used */ boolean Done; WindRecPtr myWindPtr1, myWindPtr2, myWindPtr3; /*-------------------------------------------------------------* | | Declare the external variables. Upper case for compatibility | with assembler; C is case-sensitive. | *-------------------------------------------------------------*/ extern Ptr EditMenu, FileMenu, AppleMenu, AboutTemplate; extern ParamList WinBlock1, WinBlock2, WinBlock3; /*-------------------------------------------------------------------* | | External procedures and functions. | | We use two external procedures and functions. StartupTools | and ShutdownTools are the standard startup and shutdown routines | provided by Apple. They are used in function "main ()", below. | They do not need to be declared here; the C compiler will assume | that they are external, to be linked by the link editor. | *-------------------------------------------------------------------*/ /*-------------------------------------------------------------------* | | FixEditMenu | | This routine adjusts the edit menu depending on whether or not | the top window is a system window or a program window. Since | this program does not support any editing commands (cut, copy, | paste, etc.) we deactivate the edit menu when the program | window is active. Desk accessories expect that these menu | items will be available so we must activate the menu when | a desk accessory (system) window is active. | | This routine is called every time through the main event loop. | *-------------------------------------------------------------------*/ FixEditMenu () { int TheFlag; TheFlag = GetMenuFlag (EditMenuID) & 0x0080; if ( GetSysWFlag (FrontWindow ()) ) /* Top is system window */ if (TheFlag != 0) { SetMenuFlag (0xFF7F,EditMenuID); DrawMenuBar (); } else /* Top is program window */ if (TheFlag == 0) { SetMenuFlag (0x0080,EditMenuID); DrawMenuBar (); } } /* End of FixEditMenu */ /*-------------------------------------------------------------------* | | SetupMenus | | Inserts the menus and fixes the menu bar. All menu content | data is in the assembly language data. | *-------------------------------------------------------------------*/ SetUpMenus () { int Height; SetMTitleStart (10); /* Start pos. for leftmost menu */ InsertMenu (NewMenu (&EditMenu),0); /* Add Edit menu; note "&"s */ InsertMenu (NewMenu (&FileMenu),0); /* Add File menu */ InsertMenu (NewMenu (&AppleMenu),0); /* Add Apple menu with DA's */ FixAppleMenu (AppleMenuID); /* Add DAs to Apple menu */ Height = FixMenuBar (); /* Set sizes of menus */ DrawMenuBar (); /* Draw the menu bar! */ } /* End of SetUpMenus */ /*-------------------------------------------------------------------* | | SetDithColor >!< | | Routine to set colors in nibble fields using QuickDraw SetPenPat | call. Included in Pascal library but not in the C library; | therefore, we define our own version of it here. | *-------------------------------------------------------------------*/ SetDithColor (Nibble) { int i; static Pattern OurPattern; Nibble &= 0x000F; for (i = 0; i <= 31; i++) OurPattern [i] = Nibble | (Nibble << 4); SetPenPat (OurPattern); } /* * Drawing procedure for Window 1. This routine is addressed by * the window block record in the assembly language file. */ pascal DrawWin1 () { Rect r; int i; SetRect (& r,10,10,225,35); for(i = 1; i <= 10; i++) { SetDithColor(i); PaintRect(& r); OffsetRect(& r, 15, 15); } SetDithColor(0); } /*-------------------------------------------------------------------* | | DrawWin2 | | Drawing procedure for Window 2. This routine is addressed by | the window block record in the assembly language file. | *-------------------------------------------------------------------*/ pascal DrawWin2 () { int i; for (i = 1; i <= 10; i++) { MoveTo (i*11 + 20 , i*9 + 10); DrawCString ("Megamax APW C is Great!"); /* >!< "DrawString ()" for Pascal */ } } /*-------------------------------------------------------------------* | | DrawWin3 | | Drawing procedure for Window 3. This routine is addressed by | the window block record in the assembly language file. | *-------------------------------------------------------------------*/ pascal DrawWin3 () { int i; for (i = 1; i <= 10; i++) { MoveTo (i*11 + 20 , i*9 + 10); DrawCString ("This space for rent!"); /* >!< "DrawString ()" for Pascal */ } } /*-------------------------------------------------------------------* | | SetupWindows | | Opens windows using window block parameters in assembly language | file. | *-------------------------------------------------------------------*/ SetUpWindows () { myWindPtr1 = NewWindow (&WinBlock1); /* These are in UPPER case because */ myWindPtr2 = NewWindow (&WinBlock2); /* C is case-sensitive and the >!< */ myWindPtr3 = NewWindow (&WinBlock3); /* assembler produces upper case */ } /* labels by default. Note the "&"! */ /*-------------------------------------------------------------------* | | DoAboutItem | | Display the about dialog box using the template in the | assembly language file. | *-------------------------------------------------------------------*/ DoAboutItem () { GrafPortPtr AboutDialog; int itemHit; AboutDialog = GetNewModalDialog (&AboutTemplate); /* UPPER case! >!< */ /* Note the "&"! */ do itemHit = ModalDialog (nil); while (itemHit != 1); CloseDialog (AboutDialog); } /*-------------------------------------------------------------------* | | DoQuitItem | | Set the done flag to true when user selects to quit. | *-------------------------------------------------------------------*/ DoQuitItem () { Done = true; } /*-------------------------------------------------------------------* | | HandleMenu | | Handle menu selections from the user. | *-------------------------------------------------------------------*/ HandleMenu (TaskDATA) longint TaskDATA; { int ItemNum; int MenuNum; ItemNum = TaskDATA % 65536; /* Lo-order word is Item ID# */ MenuNum = TaskDATA >> 16; /* Hi-order word is Menu ID# */ if (ItemNum == AboutItemID) DoAboutItem (); else if (ItemNum == QuitItemID) DoQuitItem (); HiliteMenu (false,MenuNum); } /*-------------------------------------------------------------------* | | PlayWithIt | | This is main event loop. | *-------------------------------------------------------------------*/ PlayWithIt () { WmTaskRec Event; /* This would be "EventRecord" in Pascal >!< */ int TaskCode; Event.wmTaskMask = 0x1FFF; /* Allow TaskMaster to do everything */ Done = false; /* Initialize this global variable */ do { /* FixEditMenu (); */ TaskCode = TaskMaster (-1,&Event); /* Note the "&"! */ switch (TaskCode) { /* Event Manager Events defined in : */ case nullEvt: break; /* "NullEvent" for Pascal */ case mouseDownEvt: break; /* "mouseDown" */ case mouseUpEvt: break; /* "mouseUP" */ case keyDownEvt: break; /* "keyDown" >!< */ case autoKeyEvt: break; /* "autoKey" */ case updateEvt: break; /* "updateEvt" */ case activateEvt: break; /* "activateEvt" */ case switchEvt: break; /* "switchEvt" */ case deskAccEvt: break; /* "deskaccEvt" note "A"! */ /* Task Master Events defined in : */ case wInDesk: break; case wInMenuBar: HandleMenu (Event.wmTaskData); break; case wInContent: break; /* These are the same in */ case wInDrag: break; /* C and Pascal. */ case wInGrow: break; case wInGoAway: break; case wInZoom: break; case wInInfo: break; case wInFrame: break; } /* End of switch */ } /* End of do..while */ while (!Done); } /* End of PlayWithIt */ /*----------------------------------------------------------------* | | The main program | *----------------------------------------------------------------*/ main () { if (!STARTUPTOOLS (ScreenMode)) /* UPPER case b/c CASE was OFF */ { /* when STARTUPTOOLS was assembled */ SetUpMenus (); /* and C is case-sensitive. >!< */ SetUpWindows (); PlayWithIt (); } SHUTDOWNTOOLS (); } /*--------------------------------------------------------------------------* | | INIT.CC | | Copyright Apple Computer, Inc. 1987 | All Rights Reserved | | These are the standard tool loading and initialization / shutdown | routines for use from most programs employing menus, windows, etc. | | | | The following variables and functions are publicly accessible from | this program module: | | MyID Variable holding process ID of this program | ThisMode Variable  holding mode used to start QuickDraw | OrigPort Variable holding pointer to original port that | QuickDraw had when started up. | | STARTUPTOOLS (ModeToUse) Starts up the tools (initializing | word ModeToUse; QuickDraw with the specified mode) | and initializes the globals above. | | SHUTDOWNTOOLS () Shuts things down, undoing what was | done in STARTUPTOOLS. | | | | The following variables and functions are used internally by this module: | | ZPHandle Holds handle to memory that is used as direct | page for the tools. | ZPPtr Pointer to the direct page mentioned above. | | ReportError (DeathNum) Reports any errors obtained from tool startup | word DeathNum; with a System Death Manager call. | | MountBootDisk () Displays the mount boot volume "Psuedo-Dialog", | returning the button number pressed by the user. | | | | The following should be noted by those inspecting the code for this | C-language implementation of STARTUPTOOLS and SHUTDOWNTOOLS, for they | apply to APW C programming in general and were of particular impor- | tance in the debugging process: | | To ensure that the function STARTUPTOOLS does not return a nonzero | value to the calling program, the "return (0)" as the last statement | is required. | | In order to push the proper data types (char, word, long, etc) onto | the stack when calling a Toolbox function, it is sometimes necessary | to explicitly specify the data size by casting. For example, the | "QDStartUp" call needs a WORD to specify where in bank $00 its | zero/direct page space will be. The result of the expression with | the variable "ZPPtr", however, will be of type LONG. Thus, casting | is required to avoid stack corruption. Even when returning a zero | pointer, use "nil" or "NULL" as defined as a LONG in , | rather than just specifying "0", which will be pushed onto the stack | as a WORD. | | | | Version 1.0 7-Jul-87 Steven E. Glass & Ben Koning | *--------------------------------------------------------------------------*/ #include /* Menus on the menu bar */ /* Include constant, data */ #include /* Windows on the desk */ /* structure, and function */ #include /* Dialog Box on desktop */ /* header declarations. */ #include /* Additions to QD */ /* , , */ #include /* Sys death, mouse, etc.*/ /* , as well */ #include /* Desk Accessory srvice */ /* as are au- */ #include /* String data types */ /* tomatically included as */ #include /* AllCaps files, etc. */ /* per header file depen- */ #include /* Getting tool memory */ /* dencies. */ #include /* Getting char fonts */ #include /* Starting up PrintMgr */ #include /* Starting up LineEdit */ #include /* Finding/loading tools */ #include /* Converting hex->ascii */ #include /* Mnting sys disk, etc. */ word MyID; /* Global: Our Process ID */ word ThisMode; /* Global: QuickDraw SCB value */ GrafPortPtr OrigPort; /* Global: Ptr to inital QD Port */ handle ZPHandle; /* Local: Hdl to Direct Page store */ Ptr ZPPtr; /* Local: Ptr to Direct Page store */ /*--------------------------------------------------------------------------* | | word STARTUPTOOLS (ModeToUse) | word ModeToUse; | | This is a subroutine to load and start up all the tools an application | generally needs. This routine also gets the space in bank zero that | the tools use for direct page. The only time an error code other than | zero is returned is when the boot disk is not on line and the users | asks to "Cancel" rather than put it on line. | | Operation: | | 1. Start up the following: | Tool Locator; Memory Manager; Misc Tools; | QuickDraw; Event Manager | | 2. When these are running, the "One Moment Please" string is | displayed on the Super Hi-Res screen and LoadTools is called. | | QuickDraw and the Event Manager are started up first because | if the LoadTools call returns a VolNotFound error we need to | have the volume mounted. This is done with the TLMountVolume | call which requires both QuickDraw and the Event Manager to | be active. | | 3. Next, start up the following: | Window Manager; Control Manager; Menu Manager; | LineEdit; Dialog Manager | | 4. After these are initialized, we set up and draw the menu bar | and display a message to the user before we initialize the | reset (Standard File; Font Manager; QuickDraw Auxiliary; | Print Manager). | *--------------------------------------------------------------------------*/ STARTUPTOOLS (ModeToUse) word ModeToUse; /* Constant definitions for Direct Page use: */ #define DPForQuickDraw 0x0000 /* Needs 3 */ #define DPForEventMgr 0x0300 /* Needs 1 */ #define DPForCtlMgr 0x0400 /* Needs 1 */ #define DPForLineEdit 0x0500 /* Needs 1 */ #define DPForMenuMgr 0x0600 /* Needs 1 */ #define DPForStdFile 0x0700 /* Needs 1 */ #define DPForFontMgr 0x0800 /* Needs 1 */ #define DPForPrintMgr 0x0900 /* Needs 2 */ #define TotalDP 0x0B00 /* Total Direct Page storage */ { static struct { word Length; word Table [17*2]; } ToolTable = { 17, /* Length of this list - number of items */ 1,0x0101, /* Tool Locator */ 2,0x0101, /* Memory Manager */ 3,0x0101, /* Misc Tools */ 4,0x0101, /* QuickDraw II */ 5,0x0100, /* Desk Manager */ 6,0x0100, /* Event Manager */ 14,0x0103, /* Window Manager */ 15,0x0103, /* Menu Manager */ 16,0x0103, /* Control Manager */ 18,0x0100, /* QuickDraw Aux */ 19,0x0100, /* Print Manager */ 20,0x0100, /* Line Edit */ 21,0x0100, /* Dialog Manager */ 22,0x0102, /* Scrap Manager */ 23,0x0100, /* Standard File */ 27,0x0100, /* Font Manager */ 28,0x0100 /* List Manager */ }; /* Tool Locator data structure */ int ResultCode = 0; /* Error result code; assume all is well */ int DialogRes; /* Result of MountBootDisk dialog with user */ int MaxX; /* 640 or 320 mouse clamp for EventMgr? */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ TLStartUp (); /* Tool locator starts up first */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ MyID = MMStartUp (); /* Get our PID from the memory manager */ ReportError (1); /* Die if necessary; MMStartUp erred */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ MTStartUp (); /* Start Miscellaneous Tools */ ReportError (2); /* Die if necessary */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ ZPHandle = NewHandle ((long) TotalDP, (word) MyID, (word) attrBank + /* Get some Direct (Zero) */ attrPage + /* Page memory for tools! */ attrFixed + attrLocked, (long) 0); ReportError (3); /* Die if necessary */ ZPPtr = *ZPHandle; /* Both globals "ZPPtr" and "ZPHandle" are now set */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ QDStartUp ((word)(ZPPtr + DPForQuickDraw),ModeToUse,320,MyID); /* Start QD */ ReportError (4); /* Die? */ OrigPort = GetPort (); /* Save originally assigned GrafPort */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ if (ModeToUse != 0x0080) /* 640 or 320 mouse clamp? */ MaxX = 320; else MaxX = 640; EMStartUp ((word) (ZPPtr + DPForEventMgr) , 20,0,MaxX,0,200,MyID); /* Start EventManager */ ReportError (5); /* Die? */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ /* Put up a message string to tell the user that something is happening: */ MoveTo (20,20); SetBackColor (0); SetForeColor (0x0F); DrawCString ("One moment please..."); ShowCursor (); /* Display movable pointer */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ /* Load in the RAM-Based Tools from the currenly mounted disk: */ LoadAgain: LoadTools (&ToolTable); /* Attempt to load... */ ResultCode = _toolErr; if (ResultCode == volumeNotFound) /* "VolNotFound" elsewhere */ { DialogRes = MountBootDisk (); /* Display dialog box */ if (DialogRes == 1) /* Display dialog box */ goto LoadAgain; /* Retry if user said so */ else return (DialogRes); /* Else exit this function */ } if (ResultCode != 0) /* If we got a non-Volume- */ ReportError (6); /* Not-Found error, die. */ /* Here we are if there were no errors, and all RAM Tools are in! */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ QDAuxStartUp (); /* Start QD Auxiliary */ WaitCursor (); /* Show wristwatch cursor */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ WindStartUp (MyID); /* Start Window Manager */ ReportError (7); /* Die if error */ RefreshDesktop ((long) 0); /* Display the desktop */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ CtlStartUp (MyID , (word) (ZPPtr + DPForCtlMgr)); /* Start Control Mgr */ ReportError (8); /* Die if error */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ LEStartUp (MyID , (word) (ZPPtr + DPForLineEdit)); /* Start Line Editor */ ReportError (9); /* Die if error */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ DialogStartUp (MyID); /* Start Dialog Manager */ ReportError (10); /* Die if error */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ MenuStartUp (MyID , (word) (ZPPtr + DPForMenuMgr)); /* Start Menu Manager */ ReportError (11); /* Die if error */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ DeskStartUp (); /* Desc Acc. Manager */ ReportError (12); /* Die if error */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ SFStartUp (MyID , (word) (ZPPtr + DPForStdFile)); /* Start Std File Ops */ ReportError (13); /* Die if error */ SFAllCaps (0x8000); /* Filenames all caps */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ PMStartUp (MyID , (word) (ZPPtr + DPForPrintMgr)); /* Start Print Manager */ ReportError (14); /* Die if error */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ FMStartUp (MyID , (word) (ZPPtr + DPForFontMgr)); /* Start Font Manager */ ReportError (15); /* Die if error */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ InitCursor (); /* Reset to normal arrow cursor before leaving. */ /* At this point, we are all done and we return to the caller. */ return (ResultCode); /* Important to do this, otherwise nonzero returned! */ } /*--------------------------------------------------------------------------* | | SHUTDOWNTOOLS () | | Shuts down everything that was started in STARTUPTOOLS (). | *--------------------------------------------------------------------------*/ SHUTDOWNTOOLS () { /* Do this first so that the other tools are still active: */ DeskShutDown (); /* Desk Manager */ FMShutDown (); /* Font Manager */ PMShutDown (); /* Print Manager */ SFShutDown (); /* Standard File Manager */ DialogShutDown (); /* Dialog Manager */ LEShutDown (); /* Line Edit */ MenuShutDown (); /* Menu Manager */ WindShutDown (); /* Window Manager */ /* This is shut down after Window Manager because the Window Manager */ /* makes Control Manager calls at shutdown time! */ CtlShutDown (); /* Control Manager */ EMShutDown (); /* Event Manager */ QDAuxShutDown (); /* QuickDraw Auxiliary */ QDShutDown (); /* QuickDraw */ MTShutDown (); /* Miscellaneous Tools */ /* Now call Memory Manager to free up the direct page memory that we used: */ DisposeHandle (ZPHandle); MMShutDown (MyID); /* Memory Manager */ TLShutDown (); /* Tool Locator */ } /*--------------------------------------------------------------------------* | | ReportError (DeathNum) | word DeathNum; | | Causes a system death if the global variable "_toolErr", which is | always defined (in STARTUP.ROOT), is nonzero. The input "DeathNum" | is made part of the death message. If "_toolErr" is zero, then | this routine does nothing. | *--------------------------------------------------------------------------*/ ReportError (DeathNum) word DeathNum; { word ToolErrorSave = _toolErr; static char DeathMsg [] = "\pCould not handle error XXXX "; if (ToolErrorSave) /* Here we are if the tool error is nonzero */ { /* Add the hex-in-ascii number to the string: */ Int2Hex (DeathNum,(DeathMsg+24),4); /* Halt with our system death message string and tool error code: */ SysFailMgr (ToolErrorSave,DeathMsg); } } /*--------------------------------------------------------------------------* | | word MountBootDisk () | | Presents a dialog box instructing the user to mount a boot disk with | the RAM-Based Tools on it. The value returned from this procedure is | the button on which the user clicked; "1" means "OK", else "CANCEL". | *--------------------------------------------------------------------------*/ MountBootDisk () { static char PromptStr [] = "\pPlease insert the disk", OKStr [] = "\pOK", CancelStr [] = "\pShut Down", VolStr [256]; static PathNameRec GBVParams = { VolStr,NULL }; GET_BOOT_VOL (&GBVParams); TLMountVolume (35,30,PromptStr,VolStr,OKStr,CancelStr); } ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; objcase on DataDummy START copy 2/ainclude/e16.window copy 2/ainclude/e16.dialog END **************************************************************** * * Menu Data * **************************************************************** ~globals DATA ~globals kind $41 AppleMenuID equ 1 FileMenuID equ 2 EditMenuID equ 3 WindowsMenuID equ 4 Un doID equ 250 ; These next 6 are standard and CutID equ 251 ; required for DA support under CopyID equ 252 ; TaskMaster. PasteID equ 253 ClearID equ 254 CloseWID equ 255 AboutID equ 256 ; These are our own responsibility QuitID equ 257 Return equ 13 AppleMenu ENTRY dc c'>L@\XH',i'AppleMenuID',i1'RETURN' dc c' LAbout Bones...\VH',i'AboutID',i1'RETURN' dc c'.' FileMenu ENTRY dc c'>L File \H',i'FileMenuID',i1'RETURN' dc c' LQuit\*QqH',i'QuitID',i1'RETURN' dc c'.' EditMenu ENTRY dc c'>L Edit \DH',i'EditMenuID',i1'RETURN' dc c' LUndo\V*ZzH',i'UndoID',i1'RETURN' dc c' LCut\*XxH',i'CutID',i1'RETURN' dc c' LCopy\*CcH',i'CopyID',i1'RETURN' dc c' LPaste\V*VvH',i'PasteID',i1'RETURN' dc c' LClear\H',i'ClearID',i1'RETURN' **************************************************************** * * WindowData * **************************************************************** WinBlock1 ENTRY dc i2'Win1End-WinBlock1' dc i2'FTitle+FRScroll+FBScroll+FGrow+FZoom+FMove+FVis' dc i4'WinTitle1' Ptr to title dc i4'0' RefCon dc i2'0,0,0,0' Full Size (0= default) dc i4'0' Color Table Pointer dc i2'0' Vertical origin dc i2'0' Horizontal origin dc i2'200' Data Area Height dc i2'640' Data Area Width dc i2'200' Max Cont Height dc i2'640' Max Cont Width dc i2'4' Number of pixels to scroll vertically. dc i2'16' Number of pixels to scroll horizontally. dc i2'40' Number of pixels to page vertically. dc i2'160' Number of pixels to page horizontally. dc i4'0' Infomation bar text string. dc i2'0' Info bar height dc i4'0' DefProc. dc i4'0' Routine to draw info. bar. dc i4'DrawWin1' Routine to draw content. dc i2'30,30,100,240' Size/pos of content dc i4'$FFFFFFFF' Plane to put window up in. dc i4'0' Address for window record (0 to allocate) Win1End anop WinTitle1 dc i1'10',c' Window 1 ' WinBlock2 ENTRY dc i2'Win2End-WinBlock2' dc i2'FTitle+FRScroll+FBScroll+FGrow+FZoom+FMove+FVis' dc i4'WinTitle2' Ptr to title dc i4'0' RefCon dc i2'0,0,0,0' Full Size (0= default) dc i4'0' Color Table Pointer dc i2'0' Vertical origin dc i2'0' Horizontal origin dc i2'200' Data Area Height dc i2'640' Data Area Width dc i2'200' Max Cont Height dc i2'640' Max Cont Width dc i2'4' Number of pixels to scroll vertically. dc i2'16' Number of pixels to scroll horizontally. dc i2'40' Number of pixels to page vertically. dc i2'160' Number of pixels to page horizontally. dc i4'0' Infomation bar text string. dc i2'0' Info bar height dc i4'0' DefProc. dc i4'0' Routine to draw info. bar. dc i4'DrawWin2' Routine to draw content. dc i2'45,50,115,260' Size/pos of content dc i4'$FFFFFFFF' Plane to put window up in. dc i4'0' Address for window record (0 to allocate) Win2End anop WinTitle2 dc i1'10',c' Window 2 ' WinBlock3 ENTRY dc i2'Win3End-WinBlock3' dc i2'FTitle+FRScroll+FBScroll+FGrow+FZoom+FMove+FVis' dc i4'WinTitle3' Ptr to title dc i4'0' RefCon dc i2'0,0,0,0' Full Size (0= default) dc i4'0' Color Table Pointer dc i2'0' Vertical origin dc i2'0' Horizontal origin dc i2'200' Data Area Height dc i2'640' Data Area Width dc i2'200' Max Cont Height dc i2'640' Max Cont Width dc i2'4' Number of pixels to scroll vertically. dc i2'16' Number of pixels to scroll horizontally. dc i2'40' Number of pixels to page vertically. dc i2'160' Number of pixels to page horizontally. dc i4'0' Infomation bar text string. dc i2'0' Info bar height dc i4'0' DefProc. dc i4'0' Routine to draw info. bar. dc i4'DrawWin3' Routine to draw content. dc i2'60,70,130,280' Size/pos of content dc i4'$FFFFFFFF' Plane to put window up in. dc i4'0' Address for window record (0 to allocate) Win3End anop WinTitle3 dc i1'10',c' Window 3' AboutTemplate ENTRY AboutRect dc i'20,170,185,470' ; bounds rect dc i'$FFFF' ; visible dc i4'0' ; ref con dc i4'item1' dc i4'item2' dc i4'0000' item1 dc i2'1' ; id dc i2'143,220,00,00' ; bounds rect for button dc i2'ButtonItem' ; type dc i4'But1' ; item descreptor dc i2'00' ; item value dc i2'0' ; item flag dc i4'0' ; item color item2 dc i2'2' ; id dc i2'4,10,135,280' ; item bounding rect dc i2'LongStatText2+ItemDisable' ; type dc i4'AboutMsg' ; item descreptor dc i2'EndOfText-StartOfText' ; item value dc i2'0' ; item flag dc i4'0' ; item color AboutMsg anop StartOfText anop dc h'01',c'J',i'1' ; center dc h'01',c'S',i'$0008' ; Outline dc c'Bones',h'0D' dc h'01',c'S',i'$0000' ; plain dc h'0D' dc c'A skeleton program to demonstrate ' dc c'using the APPLE IIGS tool box.' dc h'0D 0D 0D' dc c'by' dc h'0D' dc c'Steven E. Glass & Ben Koning' dc h'0D' dc h'0D' dc c'Copyright Apple Computer, Inc.,',h'0D' dc c'1986-87, All Rights Reserved',h'0D' dc h'0D' dc c'v1.0 ' dc c'&SysDate' EndOfText anop But1 dc i1'2',c'OK' END ,@ MAIN <0H,+,% ,,% 0kF  ,@ DIRECT DAuHUSTON!V' '.IDLEHEADER.ASM e!c'CIDLE.C#"! !5 *USERIDLE.C6-! l &DB.ASMD<#$ MAKEF$ $ ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; objcase on ~globals data ~globals kind $41 dc i4'OpenIdle' dc i4'CloseIdle' dc i4'AsmIdle' ; AsmIdle ?? dc i4'Ignore' dc i2'20' dc i2'$FFFF' ; give me all events dc c' Apples \\H**' dc i1'0' _toolErr ENTRY dc i2'0' end AsmIdle start main phy phx ! pha jsl ActionIdle ply ply ply rtl end /********************************************************************* * * * "Apples" Idle Desk Accessory Sample * * * * July 1st, 1987 vB1.0 * * by Guillermo Ortiz * * Apple Computer, Inc. * * Developer T"$%&'()*+,-./01234echnical Suppor * * * * (c) Copyright 1987 Apple Computer, Inc. * * * * All rights reserved. * * * * This program and its derivatives are licensed only for * * use on Apple computers. * * * * Works based on this program must contain and * * conspicuously display this notice. * * * * This software is provided for your evaluation and to * * assist you in developing software for the Apple IIGS * * computer. * * * * This is not a distribution license. Distribution of * * this and other Apple software requires a separate * * license. Contact the Software Licensing Department of * * Apple Computer, Inc. for details. * * * * DISCLAIMER OF WARRANTY * * * * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT * * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, * * WITH RESPECT TO ITS MERCHANTABILITY OR ITS FITNESS * * FOR ANY PARTICULAR PURPOSE. THE ENTIRE RISK AS TO * * THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH * * YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU (AND * * NOT APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE) * * ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, * * REPAIR OR CORRECTION. * * * * Apple does not warrant that the functions * * contained in the Software will meet your requirements * * or that the operation of the Software will be * * uninterrupted or error free or that defects in the * * Software will be corrected. * * * * SOME STATES DO NOT ALLOW THE EXCLUSION * * OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY * * NOT APPLY TO YOU. THIS WARRANTY GIVES YOU SPECIFIC * * LEGAL RIGHTS AND YOU MAY ALSO HAVE OTHER RIGHTS * * WHICH VARY FROM STATE TO STATE. * * * *********************************************************************/ #include #include #include #include #include #include #include #include #include extern int _toolErr; int hasBeenOpened = 0; GrafPortPtr idleWind = 0; int quitflag = 0; /* set to 1 by action routine if its time to quit */ /* funtion to be called for InitDA and Time */ Ignore() {} typedef int (*pfi)(); /* pointer to a function returning int */ static jmp_buf orig_buf; int myId; /* change the following if you want more or less stack */ #define SANE_SIZ 512 #define STK_SIZ 2048 static int dummy_open() { ReallyOpen(); longjmp(orig_buf, 1); /* gets you back to POINT A */ } static int dummy_close() { ReallyClose(); idleWind = 0; longjmp(orig_buf, 1); /* gets you back to POINT A */ } static int dummy_action() { ReallyAction(); longjmp(orig_buf, 1); /* gets you back to POINT A */ } /* * do_work() implements: * change to the new stack, and set up the new SANE area. * Control is passed to the user routine via a longjmp(jb, 1), which * calls the 'dummy_XX' intermediate * procedure. The dummy procedure executes the 'real' procedure, and * then switches back to the original stack via a longjmp(orig_buf, 1) * After this latter longjmp, control is passed to the routine which * called do_work (it comes out of the preceding 'setjmp()' a second time) * control resumes at POINT A, and the stack is to the original value. * do_work() relies on how data is laid out inside a jmp_buf, * as implemented by setjmp() and longjmp() in the standard C library. */ #define SaneTOOL 10 do_work(newSane, stack, stack_size, address) char *newSane, *stack; unsigned int stack_size; pfi address; { long *jb; if(stack != NULL && newSane != NULL) { jb = (long *)(stack + stack_size - sizeof(jmp_buf)); #define STK_PTR_OFFSET 0 #define EMPTY_STACK 1 #define RET_ADR_OFFSET 4 *(int *)(((char *)jb) + STK_PTR_OFFSET) = (int)jb - EMPTY_STACK; *(long *)((char *)jb + RET_ADR_OFFSET) = ((long)address << 8); SANEStartUp((unsigned) newSane); longjmp(jb, 1); /* same as *address(), but changes stack */ } else { longjmp(orig_buf, 1); /* gets you back to POINT A */ } } /* allocate a block of zero-ed out memory in the stack bank, bank 0 * Note that we do this allocation call everytime we do OpenDA, CloseDA * and the action routines; action routines are called very frequently. * You may want to allocate some stack space and SANE space only in * the Open routine, and de-allocate this space in the Close routine. * But this means that you will keep that space until you do the Close. */ char ** alloc_stk(siz) unsigned siz; { #define PG_ZERO_LCKED (attrLocked+attrFixed+attrPage+attrBank) return NewHandle((long)siz, myId, PG_ZERO_LCKED, (char *)NULL); } DoProc(procp) pfi procp; { char **stack; char **sanebuf; char *oldSane; if(setjmp(orig_buf) == 0) { oldSane = GetWAP(sysTool,SaneTOOL); /* This is where we jump to the function actually doing something */ sanebuf = alloc_stk(SANE_SIZ); stack = alloc_stk(STK_SIZ); do_work(*sanebuf, *stack, STK_SIZ, procp); } else { /* POINT A: */ if (sanebuf) DisposeHandle(sanebuf); if (stack) DisposeHandle(stack); SetWAP(sysTool, SaneTOOL, oldSane); } } /* below this point in the program, we must be very careful about * managing the contents of the data bank register. We must save * it first, alter it to point to the ~globals segment (SaveDB() does this) * and then when we are done, call RestoreDB(). * Access to arrays and automatic (i.e. local) variables will work correctly * with ANY value of data bank register. */ pascal void CloseIdle() { int dbr; dbr = SaveDB(); if (hasBeenOpened) { hasBeenOpened = 0; DoProc(dummy_close); } DeleteID(myId); RestoreDB(dbr); } static int numevents = 0; pascal GrafPortPtr OpenIdle() { GrafPortPtr p; int dbr; dbr = SaveDB(); if (! hasBeenOpened) { hasBeenOpened = 1; quitflag = 0; myId = GetNewID(0x5000); /* 5000 means 'for desk acc' */ DoProc(dummy_open); numevents = 0; } p = idleWind; RestoreDB(dbr); return p; /* WARNING: at this point, DB is at a random value */ } /* but access to p will work OK; doesn't use DBR */ ActionIdle(a_reg, x_reg, y_reg) int a_reg, x_reg, y_reg; { int dbr; extern int ARetVal; int retval; extern int ActionCode; extern EventRecordPtr EventP; extern int MenuID; extern int ItemID; dbr = SaveDB(); if(hasBeenOpened && ! quitflag) { ActionCode = a_reg; EventP = (EventRecordPtr) ((y_reg * 0x10000 ) + x_reg ); MenuID = x_reg; ItemID = y_reg; DoProc(dummy_action); if(quitflag) { CloseNDAByWinPtr(idleWind); } } retval = ARetVal; RestoreDB(dbr); return retval;/* use retval because cant access ARetVal after RestoreDB() */ } /* * Copyright Apple Computer, Inc. 1987 * All Rights Reserved */ /* #define NDA 111 for Desk Accessories */ #include #include #include #include #include #include static ParamList WindParams = { sizeof(WindParams), /* Record size */ fVis+fAllocated+fAlert,/* Frame */ 0L, /* Ptr to title */ 0L, 5789:;<=>?@ABG /* RefCon */ 0,0,0,0, /* Full size ( 0 --> default)*/ 0L, /* Color Table Ptr */ 0, /* Vertical Origin */ 0, /* Horizontal Origin */ 0, /* Data area hight */ 0, /* Data area width */ 0, /* Max cont height */ 0, /* max cont width */ 0, /* pixels to scroll vert */ 0, /* pixels to scroll horz */ 0, /* pixels to page vert */ 0, /* pixels to page horz */ 0L, /* info bar string */ 0, /* info bar height */ 0L, /* def proc ptr */ 0L, /* info bar def proc */ 0L, /* Content def proc */ { 0, 0,200,640} , /* size/pos of content */ (GrafPortPtr) -1L, /* plane of window */ 0L}; /* Wind Rec add */ extern GrafPortPtr idleWind; static RgnHandle origRgn; #define borderPtr (ptr)0xE1C034 static char oldBorder; ReallyOpen() { RgnHandle oldRgn, tmpRgn; oldRgn = (RgnHandle) Desktop(GetDesktop, (Pointer)0); origRgn = NewRgn(); CopyRgn(oldRgn, origRgn); tmpRgn = NewRgn(); WindParams.wPosition.h2 = ((GetMasterSCB() & 0x80) ? 640 : 320); RectRgn(tmpRgn, &WindParams.wPosition); Desktop(ToDesk, tmpRgn); DisposeRgn(tmpRgn); idleWind = NewWindow(&WindParams); if (_toolErr) SysFailMgr(_toolErr,0L); SetSysWindow(idleWind); oldBorder = *borderPtr; *borderPtr = black; } ReallyClose() { *borderPtr = oldBorder; CloseWindow(idleWind); CopyRgn(origRgn, Desktop(GetDesktop, (Pointer)0)); DrawMenuBar(); DisposeRgn(origRgn); } int ActionCode; int MenuID; int ItemID; EventRecordPtr EventP; int ARetVal; extern int quitflag; ReallyAction() { GrafPortPtr savePort; int newX,newY; static char AppleIcon640[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0, 0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0, 0x0f,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x8f,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x88,0x8f,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x88,0x88,0x8f,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x88,0x88,0xff,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0x88,0x88,0x88,0xff,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0x88,0x88,0x8f,0xff,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0x88,0x88,0xff,0xff,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xff,0xf8,0x88,0x8f,0xff,0x88,0xff,0x88,0x88,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xf8,0x88,0x88,0x88,0x8f,0xff,0x88,0x88,0x88,0x88,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x8f,0xf0,0xf0, 0x0f,0x0f,0xfe,0xee,0xee,0xee,0xee,0xee,0xee,0xee,0xee,0xee,0xef,0xff,0xf0,0xf0, 0x0f,0x0f,0xfe,0xee,0xee,0xee,0xee,0xee,0xee,0xee,0xee,0xee,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xfe,0xee,0xee,0xee,0xee,0xee,0xee,0xee,0xee,0xef,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xf6,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x6f,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xf6,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x6f,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xf6,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x6f,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xf4,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xf4,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x4f,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x4f,0xf0,0xf0, 0x0f,0x0f,0xff,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5f,0xf0,0xf0, 0x0f,0x0f,0xff,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5f,0xf0,0xf0, 0x0f,0x0f,0xff,0xf5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xf1,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xff,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x1f,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xff,0xf1,0x11,0x11,0x1f,0xff,0x11,0x11,0x11,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xff,0xf1,0x11,0x11,0xff,0xff,0xf1,0x11,0x11,0xff,0xff,0xf0,0xf0, 0x0f,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xf0, 0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0, 0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static LocInfo IconSrc = { 0x80, /* 640 mode */ AppleIcon640, 16, 0,0,0x22,0x40 }; static char BlackPat[32]; /* all zeroes == black */ switch(ActionCode) { default: break; case runAction: savePort=GetPort(); SetPort(idleWind); #define XSpan 145 #define YSpan 168 newX = (((unsigned)Random() % XSpan) << 2); newY = (unsigned)Random() % YSpan; PPToPort(&IconSrc, & IconSrc.boundsRect, newX, newY, 0); SetPort(savePort); break; case eventAction: switch(EventP->what) { case updateEvt: BeginUpdate(idleWind); FillRect(& WindParams.wPosition, BlackPat); EndUpdate(idleWind); break; case mouseDownEvt: case mouseUpEvt: case keyDownEvt: quitflag = 1; break; default: ; File:DB.Asm ; ; ; Copyright Apple Computer, Inc. 1986, 1987 ; All Rights Reserved ; 65816 ON OBJCASE ON SaveDB START main phb lda #^__dataBank ; high word of anything in ~globals will do pha plb pla rtl END RestoreDB START main lda 4,s pha plb plb rtl END ~globals DATA ~globals KIND $CE41 __dataBank ENTRY ds 1 END set keepname $ compile db.asm compile idleheader.asm compile cidle.c compile useridle.c link idleheader cidle useridle db keep=idle filetype idle nda break; } break; } } UPSTRuHUSTON!e ' ''SAMPLECJd e* H'SAMPLEAMd'dH/* Convert all characters taken from standard input to uppercase */ /* and write the result to standard output. */ /* ... */ /* NOTE: Control-@ terminates the input */ #include #define MAXLEN 1024 extern void UPSTR(); char *gets(); main(argc,argv) int argc; char *argv[]; { char str[MAXLEN]; while (gets(str) != NULL) { UPSTR(str); printf("%s\n", str);IK } return 0; } LONGA ON set Assembler to 16-bit accumulator mode UPSTR START start of object segment LDA 4,S get string address (lower 2 bytes) STA $AA stor into direct page LDA 6,S get string address (lower 2 bytes) STA $AC store into direct page LOOP SEP #$20 set processor to 8-bit accumulator mode LONLNOPGA OFF set Assembler to 8-bit accumulator mode LDA [$AA] get next byte in string BEQ FINISH if 0, end of string CMP #$61 is character < 'a' ($61) ? BCC ITERATE if so, go to next character CMP #$7B is character >'z' ($7A) ? BCS ITERATE if so, go to next character SEC convert the character to uppercase by SBC #$20 subtracting $20 STA [$AA] store character back in string ITERATE REP #$20 set processor to 16-bit accumulator LONGA ON set Assembler to 16-bit accumulator CLC increment string address by 1 LDA $AA ADC #1 STA $AA BCC LOOP if carry gets set, you just crossed bank INC $AC boundaries so you increment bank BRA LOOP get next character FINISH REP #$20 set processor to 16-bit accumulator mode LONGA ON set Assembler to 16-bit accumulator mode RTL return to C routine END end of object segment ,>Direct STACK1K,>Direct STACK1K,>Direct STACK1K,>Direct STACK1K,>Direct STACK1K,>Direct STACK1K,>Direct STACK1K,>Direct STACK1K,>Direct STACK2K,>Direct STACK2K,>Direct STACK2K,>Direct STACK2K,>Direct STACK2K,>Direct STACK2K,>Direct STACK2K,>Direct STACK2K,>Direct STACK4K,>Direct STACK4K,>Direct STACK4K,>Direct STACK4K,>Direct STACK4K,>Direct STACK4K,>Direct STACK4K,>Direct STACK4K ,>Direct STACK8K,>Direct STACK8K,>Direct STACK8K,>Direct STACK8K,>Direct STACK8K,>Direct STACK8K,>Direct STACK8K,>Direct STACK8K@@,?Direct STACK16K,?Direct STACK16K,?Direct STACK16K,?Direct STACK16K,?Direct STACK16K,?Direct STACK16K,?Direct STACK16K,?Direct STACK16K/* * Signal.h -- sigset(), sighold(), sigrelease(), sigpause() * * Copyright 1985,1986 Apple Computer * All rights reserved. */ # ifndef __SIGNAL__ # define __SIGNAL__ typedef unsigned SignalMap; typedef int SignalHandler(); # define NSIG (sizeof(SignalMap) * 8 /*bits*/) # define SIGKILL 0x0001 /* A "sure" kill, cannot be held or ignored. */ # define SIGINT 0x0002 /* User Interrupt, typically CMD-. */ # define SIGUPDATE 0x0004 /* Not implementeVXYd yet */ # define SIGADDRERR 0x0008 /* Illegal address error */ # define SIGALLSIGS ((SignalMap) -1) /* * Signal Managment functions */ extern SignalHandler * sigset(/*SignalMap sigMap, SignalHandler *newHandler*/); extern int _sig_dfl(/*SignalMap signo, SignalMap sigState, SignalMap sigEnabled*/); extern SignalMap sighold(/*SignalMap sigMap*/); extern void sigrelease(/*SignalMap sigMap, SignalMap prevEnabled*/); extern void sigpause(/*SignalMap sigMap*/); /* * Special parameters to sigset() * Ignoring a signal will set its handler to NIL */ # define SIG_IGN ((SignalHandler *) 0) # define SIG_DFL _sig_dfl # endif __SIGNAL__