LnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!)TABLE INFORMATIONCI4Current date is Hd*Bƣed on U.  P ? Apple //X @{BB@6bBB@ijpbZb ԳԳ@dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@L$< $ \ &PASCALSYUSERPROGINITIALIGETCMD UCSDFILE EXTFILEMEXTFILEMš]6W.TEXTת .CODEתš!!Ȅ!!P!x!P ( >ˡ 뚹  צ`&Ꟛ צ.CODE$.BACKׯצ.ASCIaF*:˄/˄&ڲ#áצ:áD6>,ת(.Ä !á צ[š!!!(4צ4848@צ/44צ:.Í4šצ/44š>444ȓ4.484854צ/46444ȩ4å.ˍo˩4ń\88P.TEXTׯ74צ:4*å#Í%Í4ōM4á@4Pá/á *á?@%áΪ@:ץ44ȡAá+#Ó4צ/ˍ4@תP4á7\5P6ת@ת,š[ץ44š7]ץ114á7g14š^743355 5073331é731é14Ä3*á74147Í4!ץ44á4" ,Í ˫T \$ á (ȡ*龫 ȡazȄaA3>,ء4ت /6: á :@4 @ A P @6d2& |" "%: ˡ J#鿥  &'azȄaAB%Type to continue% " ġ2 2fj <32 &ˡ 2 26!ˡ 2Rˡ 2=˄+&ȡ   ,á- .ت/S# /أ d-, P# /أd-, I# /أ -.@0! áצ IO error # / d-צ Exec err # /d-.  !"#$%&'()*+,-./0123456789:>?@O^^PROTOTYPE RUNTIME SYSTEM.PASCALš#ńW   0  𓍡ńȄ (˫/ ˡ   Í wˡ ˡ ! ˡ(  ,  & "ë 넡6 & Í< š˄ u 8 ÍáN áEF > 섡/ F >"ˡFFFFF>N >=" "ˡ v  á ń# Ȅ ꚹ~á^"Ä<7=+ > ˍ >  BFF >"ˡFFTFPd= šš > "ˡ "Lá"  që   N "ˡ  )á á áˡ  šá áK<"á83 ɻ  X\Hب&̂(ʂ( ʂ(ʂ(ʂ($ʂ(̂)ʂ)!&ʂ)ʂ)ʂ($ʂ($ĻD<ꓡ"á삫ûš > "ˡ˫   ɡĻ2꓄ > >"ˡ ꄓr<Lá > "á=ˡ땏ˡ 3ء #צ ۂ #ء >  >݂"ˡ ޕ݂ނɡ  <Ąɡ낫š ꓡ š땫@ >'@ ;> )#%0ë>>@@@| V  )šá4?š?VP>:+>P:X;髁@@@˄@#@ˡ @@#>@@ O@ ˡ? @ ?>@ > ? @ ?>쓡 @ ?>@ > á@ > :@ >:@ >:![L&á'횩)ˡ8 >#> \ˡآآآ*:UU šC+P VVPVU _aaO@á ( ˄ ë 9:ץaššë 铄˄dS79P7 a(7 آآ-? :آ&آ#> ?  ڢڢצڢ ڢ  آأأآآآ 9Pš8P8>뫀 8a a:a aa>ʁ@ צ" ˄ Ʉ8>ʁ@"ؚ"álʁ@&ʁ@ > "áVʁ@ ʁ@"Ä:ʁ@铡-@ ʁ@ >ʁ@ @>ʁ@ @>ʁ@{ 7( آڢآآ"٢ڢ٣ PSYSTEMPW\PIj 8́@́AƁAa@ƁAǐƁAP:ץaá:/Pa8ʁ@ >"á"ʁ@ˡ ʁ@ʁ@ʁ@ צʁ@ ʁ@á áÄڡɡá ɡ 럚肚`諁6"  >  >b) á إaaġ00000תȡ  ڕ0ق ꫀ𩀄򩀄"7ũ  @š& "ˡ鿩/ȡšš  > ; ɡ'áצ-32768 ` 逫-ġ@00ń0ˡ ɡc ȡꫀZš "1諀멀ȡ!E ʃE ʃE  ʃEʃD̃EʃEʃEʃEʃEʃEʃEʃEʃE  ʃE 4$Ƃ+̂dʂdȡ+٤ ̂eʂeתʂeʂeܣʃDܢʃD%ܢ% ʃD>ʃDʃD+ >&?̃DʃDʃDʃDʃD%̃E ʃEʃEʃEʃEʃE ʃEʃE ʃ٢ š٢ ٢٢ 4$  ؗ(/  ؗ(Ƃ+ ƃ*SYSTEM.MISCINFOתPƃ"á̃DܢʃDʃDܢʃD(7SYSPASCAL/RUNSYS.TEXT*:>tZt^+ZJtZt^+Z |LPRt^DEVO/SYSPASCALtJJ|r;t^JJ;t^; ~UUxS ^!SECommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,*No user programתP4text? [C Compiling... ~UUkUSYSPASCAL/RUNSYS.CODE:JJzׯ{ y@צ>>  OQSUWY[] ''A>zˡ@*B;̀̀آA'ʀˡBʀáʀá>??>D;TPVvP jLV~ &"#n####&XHv4  R: thd z  `"B$>"z>@t!-ǀ@? ? צPEz>ׯ{ y@צ>>  OQSUWY[] ''A>zˡ@*B;̀̀آA'ʀˡBʀáʀá>??>D;T ,+z>>"ȡ{ˡo!צError # . closing FILE or DEVICE opened by last program$>"z>@t!-ǀ@? ? צPE š:X fˡ ؞!؟?!? ?ˡMx?š3ġ  ?w?v?ádt J~*!ˡ !蟚dt*ńȄ4šáRתPńȄ ,ń.áš蕿@šQȡ2é000+-Í-ë0^ 000á'3á 000 {]\ ȡ3"#쾿 > 9dá. 6áá:00áQP 0á0 뾿 9šš > | á1á3  ] |Nš  Ȅ٤ ̂d ʂdʂd >ʂd׷ړ ؞&"ڡؿʂdá ʂd ʂd.áʂdʂdʂd ˻عcʂdצCONSOLEjʂdSYSTERMתYʂdצGRAPHICHʂdPRINTERת7ʂdצREMIN(ʂdREMOUTתk\M B3&ʂddʂdضáSʂdšJ?ʂd1Ƃ;צ*SYSTEM.STARTUP.P1 Ƃ;P צPGתPˡǀ?P:ײP)@$$1v*ƁP!1Execution aborted. Put in system disk and reboot.Td ءPšP T6ˡ!PPƂ/ƂPƂ̂iƂiƂPƂiƁǠƂiP?̂e?>ʂe?>"ˡ$Unable to open ̂iv̂jʂjʂj1ʂj ʂj 1> 1Ɓ1ƀƀƀ ired library files are not present 3L?Required intrinsic(s) not available (possible bad library file)X PުPvƁnPvƁΪPƂ;PƂ;ƂƁƂgƂf̂dƂPʂd צP:Ƃá:+3w w+w+b43  n 4ńV54̂.5ʂ.ȡ;5575) ʂ 5554 Ƃצ*SYSTEM.LIBRARYPxƂ ʂx+3:-Error: RequȡIP  ٲ7)؞7)ؿ؂پ$áڸ444Z ȡ+ؾaġ +ز+ؾ $ 2تPww"á\w++L+IÄ)++LIBRARY FILES:ׯ w  " تP"á 3 Gצ&Warning: Cannot open the library file + <+צ Warning: צ is not usedR پ$ò$ÄZ11خu تP"á T n$2$ $š$$צ.CODE $$ š$$ צ:š/:n@A$P.LIBTPZ ȡ6ݤˡ&ޢ`ݤۼޢݤ> Xأأ أ > ,11ȡd1d1ٲ ٲ  ٗ 1!&ءdt >? ? ޢ ȡڤ ˡpݢڤ?Xܢ0ۤ ݢ`ڤáޣ!ݢ`ڤˡ  ޣ ר d't!צPΦתP22>  pq%sy!{P{ %צSystem re-initialized& j28h4rP  צCONSOLE:(#צSYSTERM:(>z ë0???JanFebMarAprMayJunJulAugSepOctNovDec?????????ר d't!צPΦתP22>  pq%sy!{P{ %צSystem re-initialized& j28h4 צCONSOLE:(#צSYSTERM:(>z ë0???JanFebMarAprMayJunJulAugSepOctNovDec?????????$  wx55ȡ"5555vu *?    H2צ*צ:צ??"?[צ0Bצ0tצ0,Vb& |"̂iƂiƂPƂiƁǠƂiP?̂e?>ʂe?>"ˡ$Unable to open ̂iv̂jʂjʂj1ʂj ʂj 1> 1Ɓ1ƀƀƀ ( ́ ́ ʁ ʁ צ ʁ ʁ ˄ʁ @˄ʁ ˄3 ʁ ! ʁ Þ"Ä  = &)ʁ á ʁ   "ń,ʁ !  ʁ ޾ٳ ا?ǀǓ ا?ǀ:1!&ÍXÍc(ÍEÍ QáG'á@=+á3@á)Fá Gá Há >z? ؚ21!$4YP>3$M l 0 nL T "&"ˡ.&"ˡ$  " áP$ނ š: -Ʉ  $ $ $šš$%&$۞$$ۂۂەߓf%%&"ˡ|ɡ& & "ˡN$ߡá4 á,á"$࣡ $ $šš&$۞$$ۂۂە R%%&"ˡ.&"ˡ$  " áP$ނ š: - ݓۤ ۤ Äݓ š ۤ  ɍX ޚ "ˡ8ˡޚ   dܓڢڢ   "ġ$ނ#˄ɡۤ  dáߢ  dá ߢ &ޣ˄ ߢ  ߢ ۤ ߢޣ"ߢ ޣ#ޢ ޢۤ ޢ á٢á( ת$&(0!    š ڪ 0ޢߢšáޢޣߢ  dޣ"ޢ#ޣ$)ޣߢ  dÍÍޢ  ܓۤ ۤ Äܓۤ  dÄÍߢۢڤ   ڪP44444444"ߚ44 4 4!4"d4$4% 4#44#4á74-4& 4&44&4T ڢڢ& ڢ&ڣڣڢ$ڢڣ"ڢÄڢá     á ۢڤ š sá ŶÄ)ڤ ܢɡ ڶá  á ġMáš6 ܂ۻݪ d ( ڣ"ڣ١ڢڣڢ#ڣ$ڣáڣ$ڣ#š ڢ#ڣ$ڣ%fڢ%ڢ١ڢ&ڣ$ڣ$ ڢ&ڣڣڢÄڣ% ܣġ ۤ ٤ ڨ ܢܣ*@ٕ۶š ڸ۸۶ š۸ ڸ:   ȡQ  ȡ   ȡ? ȡ  ġܡ=" áܡ ܓצ $  ޓ(ݤ ߢܯߢ  d˯7 H ۣȡڤ  ۣ צۣۢ0H dō (ܓ(*(ܡ )*) *)* ܓ)ת) (!($IKPz(  Íܡ  , Ąܓ"á    (( )(á (((ܡ( **(( *Ä(*Ä**Ȅ*Ą*MȄ*)v*ȡO(ۤ +++ō++ɍ+ ō+ ȍ+ 5٪P,6YتPš  ȡ޾ *:Í#Í*á ޾:ˍ צ:P?P#áL۾ ݏ۾0 4ޕ P5:Ä:P.áš: צ/˄5ȡ0ƀƀP̀ʀȡ0ܾaġ 00ܾ 87CONSOLE1:7SYSTERM2:7GRAPHIC3:7PRINTER6:5REMIN7:6REMOUT8ת802Ȅ&0á݂0 4 6ȡ4 0.  á{@H?hhhhhhjWȑ jȑ(!Hh0?H&h*0HH`?  hh *h < L+*(" B?  hh * <` hhL&ȑ`W CL& hʈL&fi` hhHj*H*HHL&SOS-PARAM-TABLE߻5޻5ݻ5ܻ56; ; ;  <  3 5=(=2hx? ?"? ? ?  . /202hh%hh%HH`%ʎ%HHXWɡ?#X?#XW?"XWš?#X?#XW?"X?"W?"?#VVVU2 R2 ػ%2تP3+&+2T'á  ܚ2"  P ٨ ب5 5#0á-=?#?"?#?"?"?"002 ,٪PتPZ,PƀPZ3ƀ3ZƀU$UáVV?"ɡYV?"YB?#V,á?#VZ,,ZYYV?#VVY,W?"Wǐš ?"VUiV, ;?  ō> ? 0*2 )2ܪP/ۻ0/ٻ1 23/3"32\ 6۪Pá? ?"11ǐȡs. .ٻ..3P33? 223.20;> > ;>c> 0Ʉ  廹> ō> 0 0,?? 19 c? ??á>0 ;? ?,2-2ȡ ނ0ō>- >>+2ȡ09ō>0 ˡ c> >>0Ʉ廹> ٪P3-, ,á55תآ1آ 0 5 6633 ȡ 6363 dȡ 6 3 65 4/ á5  5 -5 ---525 ˡ 5. 5.2,2h  ػ!2 jڝ?"ɡ6?#?#ھá?#٧?#ڝ?"ٕ?"ڕ?"?J=á=2áˡL2" ۝?"ܓ?#۾á ?#ܡ$?#RšR?#ئתPVdá;<:PP#PC/š:7צ:P; ./Ad ?3 1ˡI á+ݢˡڦתRáצ!צ2ڧ? š ǀڧ?ǀǀ Ǔš@:צ!á צ!P$;ئ00000תP  0ڂȡ۾0Ʉ< R<87  áG:/ |77áBš2@/áf9šoá+ھ.á ھ/á 2á9&á9á  áán8ڧ? á 6ȡ/ݾ!á ݾ /P޾ /P 5RR3ۂɄݓVá(۾'ۂ@n ȑL54)&#!  L?  hhhh * <Ű 깷LCB1.-,*)&# ^?  hhL  ?  hhhh * <hhʰ 쭷ȑLED<:520.-+*)$ f?  hh * <hhL'&$"<?  hhhhHH * <İ ȑjȑ*ȑLedbROLJI |?  hh왺procedure Pascal_Seg ( Desir_Addr: p_addr; Len: real; Id: m_byte; :var Seg_Name: handle ); procedure Video_Seg ( Domain_Size: integer; var Seg_Name: handle );   {-------Locking Memory Segments-----------------}  procedure Lock_Seg ( Segure Alloc_Seg ( Desir_Len: real; Id: m_byte; var Return_Len: real; :var Seg_Name: handle ); :'')PBBINTEGER xxtREAL  S  {-------Initialization and Termination----------}  procedure Open_Memory ( NewOpen: boolean; Domain_Size, Segments: integer; :var Ret_Size, Ret_Segs: integer );  procedure Close_Memory;  {-------Memory Allocation-----------------------} proced Record :Address: x_addr; :Len: real; :Id: m_byte; :Relocation: m_byte 8end; ( (error_rec= packed Record :Unit_Number: m_byte; :Proc_Number: m_byte; :Err_Number: m_byte; :Severity: Warn..Fatal; 8end; 8 ( const Null_handle= 0; (Warn= 1; (Fatal= 127;   type handle= integer; (m_byte= 0..255; (p_addr= integer; ( (x_addr= Record 8 TwoByte: integer; :Extend: m_byte; 8end; ( (seg_rec= ;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~/&'gg&)bf` Vim sHMEMORYMARASTERCORASTERCORASTERFORASTERFOAPPLESTULONGINTIPASCALIO lrǰȑHH`0&# L? zD<F`"tL>nRJRl: * ( 2  R     6&>@). Calls the SOS routine GET_MARK.}  :?  hhҰ L0? hhhh Ӱ HHL#6?e ?hhhhhhưȑHH`# D?hhhhhhhh   * <L*?   d *hhhhL#"!6?   * <L*?   * <b L%$:?   * <c L%$j** * <LedbVRQPONMLKJIHFDCA>963?  hhhhhhꍴ0 ȩhh * <Ȱ ȩLa`XMJ0-*('& ~? * <LGF=:43-,+*%" f?   d *hhhhL#"!6?  hhhhϰ j쭳j*쭲L=<40.-,% V?  hhhh왺_Name: handle ); procedure Unlock_Seg ( Seg_Name: handle );   {-------Releasing Memory------------------------}  procedure Release_Seg ( Seg_Name: handle ); {-------Inquiries-------------------------------} procedure Seg_Info ( Seg_Name: handle; var Info: seg_rec );  procedure Handle_x_addr ( Seg_Name: handle; var Address: x_addr );  function RootHandle: handle;  function NextHandle: handle;  function Get_p_addr ( var Name ): p_addr;  procedure Get_x_addr ( var Name; w%L w%L   L8戭 138 L ; ;L     w%L w%L  w%L 8 ( )L&  8∭ 8  *p      %    ('ˡ ˡ*(ܟá!C#B[2" h,h-hhhhhhhhhhȑ% J& w%L w%L *L  w%~ *u  ~1GG [|) %      )>* G š % '۟˄á   ܢܢ ܢ áظ٢ ؚe $ š(ġ$#&%ˡ  &&' &(ۨڨ@GGG H ?! š( á   6 J#   ˄!G G  C| /!/ !@ !GGG F G X/? @ @ GG6ڳAڳBسLA :/ۨڨ?Pá ɡPá ɡG VG----------------}  function Error_Flag: boolean; function Fatal_Error: boolean; procedure Set_Error ( Error: error_rec ); procedure Get_Error ( var Error: error_rec );  procedure Clear_Error;  {-------Version Control-------------------------} function Mem_Version: real;  implementation E ure Seg_FillByte ( Seg: handle; Offset, LenBytes: real; Value: m_byte );   {-------Consolidating Free Space----------------}   procedure Crunch;   {-------Error Handling--------------------------}  function Error_Flag: boolean; function Fatal_Error: boolean; procedure Set_Error ( Error: error_rec ); procedure Get_Error ( var Error: error_rec );  procedure Clear_Error;  {-------Version Control---------------------:Destin_Seg: handle; Destin_Offset, :LenBytes: real );  procedure Seg_FillByte ( Seg: handle; Offset, LenBytes: real; Value: m_byte );   {-------Consolidating Free Space----------------}   procedure Crunch;   {-------Error Handling---------- var Address: x_addr );  {-------Copying and Filling Memory--------------} procedure Gen_Copy ( Source, Destination: x_addr; LenBytes: real ); procedure Seg_Copy ( Source_Seg: handle; Source_Offset: real;  ȩȩȩ  e 8mm 8逅Llmm 8逅LL$&&  w%%) %-H,H`A`C`B%`M  MLJLL`<:86428逍vwLwwumguvmhv8逍vwLwwJ K 8v  wpH tI 8 sqpL(w&L%v%L%u$nqL2j2i2kkmiklmjl8逍lmLommkmiklmjl ; !: LL; `h%"NL?.+*%jgbSh,h-h@"hA" J& %L  w%L^ "LQ  / B"LQ  /L^nopqrghtwrmgusmhvhh U hh J&%L  w%L) LL LȥL w%L w%ȑ-H,H`< = !  = +< *('L `: ; ! &+%#$]cd  w%L=  w%L=efLEefeȭf-H,H`\ZG&  tqnmjifb${Hh,h-hhhhhhh,h-hhhYhZ J&%L  w%L=< = ! < *= + w% = $%ߥ&ɀ٩cYdndnc(d'c w%L=$[8'c'(d($mc$%md% 8逅%&L&&$mc$%md% 8逅%&L&&  /  w%L=[\jb]OGB4/,)|ngf=:41#lhZ80P9LA98~}ytLI=:7\W 4t`$0`$`&&&`ffffff` @ & * 8f '8醅 8&&& &F fff   `  ` F fff 0 && & f j f`RPC@=%7 22 ȥ!L`5 6 9  !  )I102ȱ022031" #! 8` ! 1 e02 e10$ "!#0213` "!#0213* +! ! 1 e02 e10$('*+'( 8 `> ? ! > ? 8c ( b '*+'( 8b c  `5 6 9 Lj e 1 e2 eEFL< = ! *< += L 8 w%   IJ !ȥȥȥ  LCd e LS KLȥL< w%L w%d e LS ȑ-H,H`> ? ! > ?  8;*+ 1 e2 eGȱHH G𶐴(L'LL$8'E'(F(   Lee 8逅Lee 8逅L68EF iLW8EF iLxyvsP h,h-hhhhhJhKhhhhhh U LL NHMH-H,H`FD JH;85/nh,h-hhhhhChDhhhh E Fd % J&L  w%L7 < = ! EF 8< *= +{xwtnod@?:*)ZY& CB;32)h,h-L % J&j d q  ~ ѭ21 2 7   w%-H,H`E`@`vutonmldME=-(~{xuspmjg^[ZYXWVSPK?9876543210/.-,+*)('&%$#"!   }gdaZYXWROHGFEDC?:,$  |8逍lmLmmmtLlsLkrono LYL^poLqnL= < < = ! nL &wL%vL$uL'e(fo /Lz'e(e z / LYzPee 8逅Lee 8逅Lxy LYL^+L*LLQoL^z< = !  &m$e'k%e(l8逍lmLmmke'kle(l8逍lmL<mmmtLClsLCkrLCge''he(( z'(n'me' Uses {$u *memory/memory.man.code } Memory_Manager; const S_Black= 0; S_Magenta= 1; S_DarkBlue= 2; S_Lavender= 3; S_DarkGreen= 4; S_Grey1= 5; S_MediumBlue= 6; S_LightBlue= ( $020 (  ; ; Zero the head nodes first ; (ldy #1f ;Be sure to leave node 0 alone (lda #0  $005 sta @Xaddr0,y (dey (cpy #7 (bne $005 ( (ldy #0e ;Allocated segs (lda A"?<Ph,h-hh%)%-H,H`2%)%`  !!!!!""b$"%%xBL&#&B4#BP T#P$T%ztF :4>&f /*;No $010 lda GrafSeg,y (sta @Xaddr0,y (dey (bpl $010-H,H`64)%9Th,h-hhhhH%H-H,H`*h,h-hh) NN-H,H`NMOP Q`C?.-,)lh,h- J&% )<=8 ȑ) ȑ-H,H`% " w%L^  B"LY) e) L^ w%L^ w%-H,H`WD90)#pnhed_[VRQ@:4 h,h-h@"hA"=$ J&%L#2h,h-hhhh J&-H,H` h,h-hhh@hA J&@ȭA)ȥȩ64-H,H`9632Ph,h-hhhh> ? !  # d3  # d" (H'H #m# ##m##L]HH-H,H`? + > *``XI'wtqpoe^XMLKJIH94h,h-h@"hA"e J&%L  w%L^,H`> ? !  ('> *? +L``: ; !  &&%$: *; +L``   l%743.#}v]Xxh,h-hhhh> ? !  (H'H53 %L  w%LO " w%LO$ȥ%ȥ&-H,H`(PNMJ@;72rh,h-hhhh J& %L  w%L  w%L$ȥ%ȥ&ȩ)ȩ  L'(  ȥȥȥ )ȩL w%-H^hhhhhhhh U hh J&%L  w%LɁ)Lk欫L̫HH`zZROJ41.* h,h-hhh@"hA" J&Ɂ)LxeeɁ)L.Ү `meG/,){xG-*)$   w%L  w%LɁ)LɁ)L HH`ɀ Ɇ0L` LG&ڬLLeemjif^]\[ZYXUTSPONKID=60+&{+(.   W0-*)}|{%&&hhhhhh hhhh J&%L  w%L U >;:983-*)(&%$#"!~}|yxwtsronk_^]ZWVSP<930-*'$!{srqpo(mf( z'(  / LYzL^ee 8逅Lee 8逅Lxy zL^ee 8逅Lee 8逅L= L^+L*L w%L^ w%-H,H`]WK 7; S_Brown= 8; S_Orange= 9; S_Grey2= 10; S_Pink= 11; S_Green= 12; S_Yellow= 13; S_Aqua= 14; S_White= 15; Type screencolor = integer; gmode = ( BW280, CP280, BW560, COL140, BitMap, NibbleMap ); linearMap = BitMap..NibbleMap; gpage = integer; { 1..3 for Screen modes } pmode = ( Store, Overlay, Invert, Erase, :NegStore, NegOverlay, N {-------Text Primitives-----------------} procedure R_Char ( Ch: char ); procedure R_String ( TextString: string ); procedure R_LF ( Rows: real );  {-------Solid Fill Primitives-----------} procedure Fill_Vport; procedure Fill_Re-----Line Drawing Attributes---------} procedure Pen_Color ( Color: screencolor ); procedure Pen_Mode ( Mode: pmode );  {-------Pen Inquiries-------------------} function G_Pen_X: real; function G_Pen_Y: real; ( X,Y: real ); procedure R_Move_To ( dX,dY: real ); procedure R_Line_To ( dX,dY: real ); procedure R_Dot_At ( dX,dY: real ); procedure FrameRect ( Bounds: rect ); procedure P_Gon ( Nvertices: integer; var Vertices );  {--  {-------Setting the Viewport------------} procedure Max_Vport; procedure Vport ( Bounds: rect );  {-------Line Drawing Primitives---------} procedure Move_To ( X,Y: real ); procedure Line_To ( X,Y: real ); procedure Dot_At procedure Current_Map ( Map: pixelmap ); procedure Grafix_Mode ( Mode: gmode ); procedure Grafix_Page ( Page: gpage );  {-------Screen Video Control------------} procedure Grafix_On; procedure Text_On; procedure Screen_Off; procedure Screen_On; pixelmap; Cur_RState: rcore_state;  {-------Initialization and Termination--} procedure Open_RCore ( Mode: gmode; Pages: gpage ); procedure Close_RCore;  {-------Directing Graphical Output------} ment } C_Grafix_On: boolean; { Current Video on/off } C_CharSize: point; { Current Character Size } end; var ScreenMap: pixelmap; Null_Map: lor; { Current Fill Color } C_Mask_Select: screencolor; { Current Mask Selector } C_Fixed_Pattern: boolean; { Current Fixed Pattern } C_Align: point; { Current Pattern align C_PixelMap: pixelmap; { Current PixelMap } C_Pen_Mode: pmode; { Current Pen Mode } C_Pen_Color: screencolor; { Current Pen Color } C_Fill_Color: screenco{ rectangular bounds of PixelMap } MapMode: gmode; { graphics mode } MapPage: gpage; { graphics page } end; rcore_state = record lmap = record MapPntr: handle; { pixelmap identifier (integer) } MaxSize: point; { MaxSize.h is the width } { MaxSize.v is the height } Bounds: rect; } y: real; { y pen position } end; rect = record BotLeft: point; TopRight: point end; pixe h: integer; { horizontal pixel position } v: integer { vertical pixel position } end; rpoint = record x: real; { x pen position egInvert, NegErase ); point = record :'')PBBINTEGER x mREAL moCct ( Bounds: rect ); procedure Fill_Row ( X,Y: real; Npixels: integer ); procedure Fill_Column ( X,Y: real; Npixels: integer );  {-------Solid Fill Attributes-----------} procedure Fill_Color ( Color: screencolor ); {-------Inverting-----------------------}  procedure Invert_Rect ( Bounds: rect );   {-------Pattern Fill--------------------} procedure Solid_Mask ( Mask: pixelmap ); procedure Pattern_Rect ( Pixel_Pattern: pixelmap ); procedure Tile_Rect ( Pixel_Pattern: pixel1Mȡ2M*>.ɡۚښښۚNڨ٨/ N N N Nɍ)N+ۨ ڨ (DHH@,6(FG&O4%/ۚݢٚݢښݢؚ  )*G&*L/ȡ1Lȡ2Lݢݢٕݢؕ B*/ەܕ-0,/قۢ؂ۢقۢ؂,-.G&.M/.ب "D H>"ب #D '  H' ' ?' 8#$G&$Kڨ $Dȡ1Kȡ2K'  H' )' ?' N$ ٨ ب %D HH ?,تP/.,+0+0ȡ+'$++., +^T/ȡM'&á#'&'//'$'%0'//JI'&"/FáGG^/'%ب/يڊ ۊڊۊ܊ي܊يڊ/F  /JG/ /ۚܚ&H/á @š//CA''' '3 FG'3TA'/ e Load_RState ( State: rcore_state );   {-------Version Control-----------------} function RCore_Version: real;  implementation E eam ); procedure Get_Column ( X,Y: real; Npixels: integer; var scan_column: bytestream );  {-------Saving and Loading the Screen---} procedure Save_Screen ( FileName: string ); procedure Load_Screen ( FileName: string );  {-------State Records-------------------} procedure Initial_RState; procedure Save_RState ( var State: rcore_state ); procedurw ( X,Y: real; Npixels: integer; var scan_row: bytestream );  procedure Set_Column ( X,Y: real; Npixels: integer; var scan_column: bytestream ); procedure Get_Column ( X,Y: real; Npixels: integer; var scan_column: bytestream );  {-------Savi {-------Pixel Primitives----------------} procedure Set_Pixel ( X,Y: real; Color: screencolor ); function Get_Pixel ( X,Y: real): screencolor;  procedure Set_Row ( X,Y: real; Npixels: integer; var scan_row: bytestream ); procedure Get_RoxelMap; Width, Height: integer; MapKind: linearMap ); procedure Pascal_Map ( var NewMap: pixelMap; Address: p_addr; :Width, Height: integer; MapKind: linearMap ); procedure Release_Map ( var Map: pixelMap ); r R: rect; HCenter, VCenter: integer); procedure Offset_Rect ( var R: rect; dH, dV: integer ); procedure Size_Rect ( var R: rect; Width, Height: integer );  {-------PixelMap Memory Allocation------} procedure Alloc_XMap ( var NewMap: pit,Right,Bottom,Top: integer ); procedure Set_Center_Rect ( var R: rect; HCenter, VCenter, Width, Height: integer); procedure Sect_Rect ( SrcRectA,SrcRectB: rect; var DstRect: rect ); procedure Center_Rect ( va {-------Mask building-------------------} procedure Build_Mask ( Map, Mask: pixelMap; NumValues: integer; var Values: bytestream );  {-------Rectangle manipulation----------} procedure Set_Bounds_Rect ( var R: rect; Lefmap; Width,Height: integer); procedure Pattern_Mask ( Pixel_Pattern, Mask: pixelmap );  {-------Pattern Fill Attributes---------} procedure Mask_Select ( Selector: screenColor ); procedure Align_Pattern ( Fixed: boolean; dH, dV: integer ); ب /ٝ'ˡ( HB/O/O'ˡ'ˡ ' ^/''''ǿ)'' '' ''''' '!'"'#'$'%'<f:ب/'3<G&<' I' 'ˡ'ˡ'ˡ 'ˡ&'&r</'3;G&;ا' ;/G&/P/ȡ1Pȡ2Pع    ?ُ? //) ޚښٚX xAhhhhhh A _B9Y:Y;YYBY @Y0Y?Y/Y>Y.Y=Y-Y& (58?Y/Y(@Y0Y)8=Y-Y,>Y.Y-?Y/Y.@Y0A =mXLUXX UXLUX`yxidYXUPG>5 ' uX xAhhhhhh A _B1Y2Y3Y4Yhhhh A _B-Y.Y/Y0YHHgXLOA`ihWVSPMJ=<9630+&'uNMLKBA@?>'uX xAhhhhHHgXLOA =tXLOA LU` (J >"#'Y(Y%Y&Y C%Y&Y C`[wrda\ZEB?<;0-,'!uX xAhhhhHHgXLOA WtXLO`ZYJ/}lPC@='uX xAgXLOA RmXLRXX RXLRXXXX'YX(YX%YX&Y CX%YX&Y C`w`_\SRQPO\X aX q` [Xȑ`kjiheb^\YXUTSRQPONMLIDA' uX xAhhhhHHgXLOAk XXtX (J /LOAtXLOAks X ` mmX 䭾 IDCBA< 'uX xAhhhhHH0LOA\XL\X) }XXMjX^X)`X bX O` \Xȑ`cbIHGF>=;:63.+' uX xAhhhhHH0LOA[XL[X)]X:]X)_X}X ~XX) }XX[X[X\X(`$' uXx  (`$' uX xA XX `.'uX xAhhhhHH0LOAwoiXjX = iX) WPXWQX _` wȑ`VT"g_LKJ~:~'uXgXLOAx) @eX)J,P,QJ,R,SfX,TLJ,U,W @(  `#ihcT9|'uXx) @)J,P,QJ,R,SJ,T,U,V( `Q\' uXx)ߍ) t LlXTlXNXnXXXXXΠX J XmXXXmXXXήXέXXXXX  t 8fX eX\yX\zX\{X\|X`zyrkjeb_\[ZYXWVUTSMFEDC>;:7521.$N'uX xAhhhhHHgXLOAmXLOA hX LOAfXfXlX~lXX.X XXLmXXXX .X  XXL8XXXX8XXXX T` XmX` eXȩȭfXȩmX ``$V>spaDA)&hhhHHnXLOAhXLv\ j\ LOAhXgXeXmX fXʊ eX.\X"\XF\X:\X . XX ^\X ~eX CXYXDXZX+XSX,XTX7XVX8XWX WWLLOAX LOAXeXmXgXXXXXX1/?==/ צY-/Y?Y.0Y@Y/DY4YCY3YBY2YAY1Y& (58CY3Y*DY4Y+8AY1Y0BY2Y1CY3Y2DY4Y3L83YCY*4YDY+81YAY02YBY13YCY24YDY3)+.(*((.)/*2+3.Y2Y-Y1Y-1,0&  (Ly( ) *+,-./0123-Y.Y ) II ) 1Y2YL81Y2Y&L* + ()0123,-./1Y2Y ) II ) -Y.YL8-Y.Y& L LKba)'%uX xAhhhXhXhXhXhhh Yh Yh Yh YhhHHgXLOAXX" MXtXLOA" MYtXLOA X0L"-LOA @ (J L   X0 YYY Y $ p L | =` C $ 0 L L{ Y%Y&Y'Y(Y C tR  OXX   LCY YYY8XXYY'Y(Y'YL`S +*$"  |ysnifeJ;6+ `''uX xAhhhqXhrXhoXhpXhsXhHHgXLOA sXȩSX`MLFDB@>832/% l'"uX xAhhhXhXhXhXhhHHgXLOAX" Y*X,LOAtXLOA L' (J L" '( +YYYEC@?:410-'hhhhHH`'uX xAhhhXhXhXhXhhHHgXLOAX Y*X,LOAtXLOA`UTNLJH=83-,'$!x'&uX xAhhhhHHgXLOA0LOAkX ȩ`K````^XTI?4+  :'hhhhHH9uX xALOAeX.LOA  L  1 8fX eX    L + L`ed[ZSRONMLJutca^]ZYVUREC@?<;874/'hhhhHH8uX xALOAeX.LOA ; 68fX eX  -@"'%F H OA` @@@ @@@@ @``` ``Ye9Y2Ye:Y3Ye;Y4Ye'uX xAhhhhhhHHtXgXLOA LOA` A _B-Y.Y/Y0Y-YEY.YFY/YGY0YHY A _B1YyxutpolkhgdcBA>=tqhc\UNJ;`_JIHGFEDCBA@?>=<;:9876543210'uX xAhhhhhh A _B1Y2Y3Y4Yhhhh A _B-Y.Y/Y0YHHgXLOA()*+F'f&f%f$&(e$()e%)*e&*+e'+֥($)%*&+'`FNkjfea]TLKsml[ZWTQNA@=:74/*)!   0  K)Y+Y?Y%Y@Y&YCY'YDY(Y5Y-Y6Y.Y7Y/Y8Y0Y9Y1Y:Y2Y;Y3Y ~ { x g e @ = : 7 1 , ' $ #           ~}|l;}|{zyxwvurolhgdc_^[Z87430+ Yjչ\r]\\Y` Y Y0Y1Y2Y3F3f2 e0e10&1m Ym Y,Y0eLy `$  ?% jvsO _\RJ|Z e0e10&1mXmX,X0eL,`YBdYYmY0LsY8Y8mYLYYY*fffFL YY*ff&L YYi#Y\r]\\Y`YjL."+LX0LXXXXX^X~XXX8XXXX0W8XXXX0@0LX05X0(X03ݶXXݵX*X0)ݸXXݷX X`$%"#& '()tX`XXX*fffFXX0X1X2X3F3f28LXeYXeYXeYYeYY!YY"Y#Y$Y`"XX XX`XUL*LXiL"+L"\X.\X:\XF\XX^\XR\XXL.X0LXXXXX^X~XXXXXL$  e(!e)()(L+()$ p"e&#e'LO&'LLmoXmpXmqXmrXsXLee8()ee8&'eeL8LeeLL%Y&Y$ p 'Y(Y`'Y(Y` !"#Xe(XXe)XXe&XXe'X$ Xe XXe!XXXX$ pXe"XXe#XXXX`8YXXYXXXX8YXXYYXXXXXXXX8YYYYLL`X0 tR RMjX^X)`X bX LOX`/Y%Y0Y&Y3Y'Y4Y(Y%Y&Y'Y(Y8XXXX8XXXXeeee` eXY0fXY(XX YY @ `$ 0 %Y&YOA?Y@YCYDY DOY>L8XX8   XXee m?Y m@Y8?Y?Y@Y@Y DOY8?YX@YX8    %Y&Y'Y(Y C`XbX^X  H )MjX^X)`X bX+Y)Y OX)Y)YͦX)Y+YL;`XbX^X`mj[WSO?:4! UTPL{hdMGEA@<;:6521  5Z%Y+Y&Y,YN,Yn+Yn)YeXN)Y)Y+YHmXMlX'Y\r] yX zXh`(Yj'Yjܹ\r] {X |Xh`XX0X1'Y2(Y3F3f2 e0e10&1mXmXm,Yh`OY@Y0ͨX ?YͧXOY@YͬXfjf` $,0()*+!++**))(('8(&)&*&+&,&-&.&//. -,,,--..//8& &!&"&# в.$/%` `/Y%Y0Y&Y3Y'Y4Y(YmX+&Y*Y%Y8X*Y*Y8mX)Y+YL8醅:&&&0 (Ffff8`eɀ`8逅ɀ   `*&8 Ffff0 &&&H@H?H`DB)%!Z'hhhhHH)nXgX)`HAAAȭuXh ȑ`AAA)`hhhhhhHHHH`hhhhhhHHH`&*&8f) )L)i 'hh A _B-Y.Y/Y0YgX,/Y?Y0Y@Y3YCY4YDY DHOY C XXLLOAhHHHH`~qpmjgdc`_^]\[ZYXTQPJ'hhhuXhvXHH xA` "'h?h@hhhhH) AȱAȱC&Y'Y(Y C`XbX)MjX)`X bX dX+Y OX`XbX`}qmie[WV:6|yxwso>'3uX xAhhhhhhhhhh A _B1Y2Y3Y4Yhh'uX xA-Y.Y/Y0Y BLA#"!:'uX xA1Y2Y3Y4Y BLA#"!:'2uX xAhhhhhhhh A _Bhhhh A _BHHgXLOA?Y@YCYDY DOYQ%YCY8CYDY9DY DOY*8CYXDYX8   XCYXDY4%Y5&YCY'YDY(Y C   RX`^Za`IH10!   *32.-,('$#3H'uX xAhhh h hhhh A _B67hhhh A _B45HHgXLOA4?Y5@Y6CY7DY DOY1L38X6X78   X6X7 m6CY m7DY8 %Y&Y'Y(Y C`XbX^X  : )MjX^X)`X bX+Y)Y OX'Y(Y 2DL;`XbX^X`wt_\MIEA1,&UTPL~smZV?97hhhhh h hhhh A _Bhhhh A _BHHgXLOA?Y@YCYDY DOY>L8XX8   XXee mCY mDY8CYCYDYDY DOY8CYXDYX8   HgXLOA?Y@YCYDY DOYLXX %Y&Y'Y(Y C  $+Y XX 'Y(Y 2DL`yuqhd`\(  qpebaF'6uX xA%Y&Y C RX`~fbKGON76 )'7uX xAhhhhh h hhhh A _Bhhhh A _BH'uX xAhhh h hhhh A _B hhhh A _BHHgXLOA?Y@YCY DY DOY1L8XX8   XX m?Y m@Y8?Y!?Y@Y"@Y DOY X?YX@Y'Y (Y?Y%Y@Y&Y C ?YͫXOYDY0ͪX CYͩX OY OY`DYͮX CYͭX OY OY` /Y?Y0Y@Y3YCY4YDY OYMY5Y=Y6Y>Y7Y?Y8Y@Y9YAY:YBY;YCYY.Y?Y/Y@Y0YAY1YBY2YCY3YDY4YNY^OY5Y6Y7Y8Y9Y:Y;YY7Y?Y8Y@Y9YAY:YBY;YCY 0!ͮX$ͭX  Ь Х=Y>Y?Y@YAYBYCYDYL 3e e!e"e#e$e%e&e'` 38 !"8$$%%&&''#0'SL'0LLR0@ͨX;ͧX2 0#ͪXͩX  м еLW0!ͬXAͫX6 0#ͪXͩX  д ЭLW0HͨXCͧX: 0!ͮX$=  =  Δ Γ 2DЩХ`& "Q QLII = Q = Q Δ Γ 2DШФ` H ,6Hj hȰ ȭ ޢHj h Δ Γ  h ` 2DL H 0:Hj \hȰIIȱIIڢHj \h Δ Γ  h ` 2DLz D& 16 1 Δ Γ 2Dн` =.  Δ (  Uses {$u *memory/mem.unit.code } Memory_Manager, ({$u *rcore/rcore.unit.code } Raster_Core;  type #FontRec= packed Record 1FontKind: MByte; { raster (0) or vector (1) } 2Spacing: MByte; { monospaced (0) or proportional (1) } 1MaxWidth:  !"""""""##$$$$$$%%%%%%%%%<96'Z[]]"^^_aab!`!@@.1.>Z[[v\*AAP(&-L+!"JZnZ,[^v^^]^<_~]?V@h__ `H` ORt$)OdP`,a`$F$vSR`E`\CDD,GHN^Q2TfTTTUU"WL]aaY&R r'hhhhHHaȱaȱaaaaɁ)LJaaa`OKGFC@! x'hhhghHH `g`&&&mlmmijk   Ȅ ` jdbID l a ^ Z W @ 6 3 2 ( # "  m S N K J 7 .       XZ  . y z 9 ] ifc`]WTPMIDA=::::::::10/.-,$!   z 3    W J 0 + ( '  } | o b _ ; 4 / , +         ~wtsmga^YSOLGA>9+*)('&   ~}|tqn((((((((((((((((((((((((((                  ]DLU]"f*n3w;"*3;DLU]fnw000((((((((( @@@ @@@ @@@@@@ @``` @@@@ @@@ @```@``` @@@@@PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP(((((( /?O_o~|xp`@??~|xp`@~|xp`@~|xp`@????~|xp`@~|xp`@??"3DUfw"3DUfw*;L]n"Df*Ln3Uw;(,048<@@@@@@@@ (08@HPX`hpxpqrstuvwxyz{|}~/?O_o/?O_o~~~~~~~~acegikmoqsuwy{}?_?_?_?_||||}}}}~~~~CGKOSW[_cgkosw{????????xxyyzz{{||}}~~'/7?GOW_gow @߿ 0@P`p  @~}{wo_? @ @~}{wo_?~}{wo_?  0@P`p 0@P`p  @` @` @` @`  $"//HPXlrD\(8HGmz YcvLLLLXx  2Dн` QLI=. Q Δ Γ 2D` > L =s S & > L =r R L Δ Γ 2DШФ`I I ILH I Δ Γ 2Dок`MByte; { maximum character printing width } 2FHeight: MByte; { height of all characters in font } 1BaseLine: MByte; 2Version: MByte; 1FontName: string[19]; 0MinOffset: integer; { minimum offset for pen } 3Ascent: MByte; 2Descent: MByte; 2Leading: integer; { number of lines to leave blank between Flines of text } .BitMapWidth: integer; { total bitmap width of font map } 0DLocation: integer; { location of dummy character in bitmap } 1DBBWidth: MByte; { bounding box width of dummy character }%Please hit carriage return to exit...R\&=/Aצצ9RasterFont version not compatible with RasterCore versionhhhhšM"$&"/+ \  á  b/&(ڪP/-.-.ȡ---ا(VD/? تP&&  /)/ /[-ˡ[/ &1/ / ١ZL// ˡ[ ا .تP/.&,&+0+0ȡ+š &++.,& 3^^/4// >/ 2>33ˡ3 K@/>@1// 14// >/ @>1/.<-8B[L&// hB -_.`a8c<@>1/Li0B:/ 2:033ˡ3 `ȡǘLȡVNצYYYLšP[LɡQ[\ɡR^]ɡSL^ɡT]ö^ÄU٪P,-.2B L1/D4,// ,/,6/ 6233ˡ3 C2ˡ23ö3˄ 3 ,ˡ,/ ˡ:ˡ/ .ˡ./ -ˡ-/ BˡB&1 |C4// // 233ˡ 3 J3KˡWKɲKōZL/ ڳڳp(@ڳ@@ڳ ڳڳ@ **ٻ+ػ+*/* / /L/dle: handle ); procedure Raster_String ( TextString: string ); procedure Raster_Char ( Ch: char );  procedure Raster_LF ( Rows: real ); procedure R_TextExtent ( TextString: string; var Width, Height: integer); function R_Font_Version: real;  implementation E nd; { of Record }   var CurFontHandle: Handle; (CurFont: FontRec; %  procedure Open_Font ( FileName: string; var FontHandle: handle ); procedure Close_Font ( FontHandle: handle ); procedure Select_Font ( FontHandle: handle ); procedure Raster_String ( TextString: string ); procedure Raster_Char ( Ch: char );  procedure Raster_LF ( Rows: real ); procedure R_TextExtent ( TextString: string; var Width, Height: integer); function R_Font_Version: real; ecord of font bitmap } +end; { of Record }   var CurFontHandle: Handle; (CurFont: FontRec; %  procedure Open_Font ( FileName: string; var FontHandle: handle ); procedure Close_Font ( FontHandle: handle ); procedure Select_Font ( FontHan { Current character location in bitmap } .CharBBWidth: MByte; { Current character bounding box width } /CharOffset: MByte; { Current character offset } 0CharWidth: MByte; { Current character printing width } 2FontMap: PixelMap;{ map descriptor r1OWHandle: handle; { points to address of offset/width table } 0LocHandle: handle; { points to address of location table } 4OWTab: XAddr; { address of offset/width table } 1Location: XAddr; { address of location table } + CharLoc: integer; 2DOffset: MByte; { offset of dummy character } 3DWidth: MByte; { printing width of dummy character } :'')PBBINTEGER xnCREAL hhhhhhHHȱȱVW PȑXȑ`U`\,+*!thhhhhhHH+ %ȑ`*` :hhhhhhhhhhHHȱȱZ[\]^ Tȑ`Y`.+*'$#xhhhhHHV W ,X ȱY ȱZ X Y Z Ɂ)LTX Y Z 0[ ȱ\ ȱ] [ \ ] Ɂ)L[ \ ] "^ ȱ_ $` a &b %c `e*)eLL`pMK hh hhHH`'6hh  ;C hhȥ ߥHH`  87M9\hhhh᭙0:0D0  !"#$%&'()*+0123456789:;@ABCDEFGHIJKPQRSTUVWXYZ[`abcdefghijkp@=97)('%#  zhh ?hh)HH`*c<`&&&e?L' hhh)?hȼhhhhHH`hhhhWV) ) 02@*P"`pL&&&LFfFfFfFfHH`P.AUDIO,d`hXȑhhWȑhhHH`_`O?/!hhhhhh9.:.;.<0(0(099JH;HHH`Z310/$ Thh   MyMz { | y z {U|HH`A<62,('&% `hh hhhhhhh)h' 1H)/HHH`,d+`,+#Lhhhhhhh)h) YH)U)HHH` !<hhi )n YhhV)ȑhhU)ȑhUE hxNIL :pMAXINT |RRKBYTESTREWORDSTRE .WOR 0BN DY  P  V  STA READ!PROCEDURE SOUND(PITCH,DURATION,VOLUME: INTEGER); !PROCEDURE DATE(VAR D: DSTR8); !PROCEDURE TIMEOFDAY(VAR T: TSTR6); !PROCEDURE CLOCKINFO(VAR YR,MON,DAY,DAYOFWK,HR,MIN,SEC,THOU: INTEGER); !PROCEDURE SETTIME(T: SSTR18); !  IMPLEMENATION E TRUE hxNIL :pMAXINT |RRKBYTESTREWORDSTRE .WOR 0BN DY  P  V  STA READPRbRINTEGER R CREAL $X CHAR 6b BOOLEAN fhe STRING P TEXT $vMEINTERACTL|ouINPUT xvSTOUTPUT bv KEYBOARDv0FALSE hTRYPRESS: BOOLEAN; !FUNCTION RANDOM: INTEGER; !PROCEDURE RANDOMIZE; !PROCEDURE NOTE(PITCH,DURATION: INTEGER); !Copyright (C) 1980 Apple Computer] ;Clear the Buffer 0LDA #16. 'b'b)Rb  !TYPE "DSTR8=STRING [8]; "TSTR6=STRING [6]; "SSTR18=STRING [18]; " !FUNCTION PADDLE(SELECT: INTEGER): INTEGER; !FUNCTION BUTTON(SELECT: INTEGER): BOOLEAN; !PROCEDURE JOYSTICK(SELECT: INTEGER; VAR X,Y: INTEGER; VAR B0,B1: BOOLEAN); !FUNCTION KE$(B-( MBYTE -+6(#iPADDR *)GeXADDR (ntTWOBYTE z(z(EXTEND 6(d(SEGREC L+,)wiADDRESS (((LEN (((ID 6((RELOCATI6((ERRORRECL**)$!)1 ȱ"ȱ#8" "#!#`8 "!#`("  ~}|{xwvuts+> V v: 4  jd E~_\XSOJGB=hhh)hHH ` p$(%#4ȭ687`4 ȭ!6"8$7%`) %  qr80bHH`' <<EBi[ZXGFD@2  FdhFd  P  V  STA READ $ "TYPE DECMAX = INTEGER[36]; STUNT = RECORD CASE INTEGER OF 12:(W2:INTEGER[4]); 13:(W3:INTEGER[8]); 14:(W4:INTEGER[12]); 15:(W5:INTEGER[16]); 16:(W6:INTEGER[20]); 17:(W7:INTEGER[24]); 18:(W8:INTEGER[28]); 19:(W9:INTEGER[32]); 110:(W10:IɄɡ& 8ݍ á ބݍݍܓ܄>ۢۢۢۢۢNۢۢۢܕ( trToNum(VAR decstr: string; poweroften: integer ): real;  procedure NumToStr( r: real; fixed: boolean; placecount: integer; 4var s: string; var expon: integer );  IMPLEMENTATION E and: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,) PROCEDURE FSEEK(VAR F: FIB; RECNUM: INTEGER); PROCEDURE FREADREAL(VAR F: FIB; VAR X: REAL); PROCEDURE FWRITEREAL(VAR F: FIB; xx: REAL; e1, e2: INTEGER); FUNCTION SUPER_MOD(A,B : INTEGER) : INTEGER; FUNCTION SUPER_DIV(A,B : INTEGER) : INTEGER;  function Shhƀ 0ȑƀ0hJJJJ 0ȑ) 0ȑƀĆLOL,3-'~{vvvvvvvvvvvZTNlb3 `\[TOG@;:3(  T[Fc= YP12 &%& FTYP13 &%& FT ei|ʽ 8襁i}ƅ|L,hƀhhh8hohlhXhhhFffff80)ƅܥ#FfII懥HHL,LGhhhhhƀhh-Ȅʈƅ})H揥>ʈƅ ~擥  抦|ɥ8包~ƅLII懩&&u`hh HHHHHL,}ʈƅFyʈƅ}ʈƍƎƋƊЌإL2d|e~28ʈƅyʈƅƉ` _LWŁ|}ƅLwE||怦}ʚH恺8倅偪ƅ  ILL, _LwLL,E0LL _Lw ILL,ELL _LwEe8刅刪ʈʈݒ&~ƀLV~HHL,~HH~HHHHHHL,~ʈƅFHHHH恥HL,0~}ʈƅ0I愊iʈؚH恥LŁ|} ƅLw ~~8ʭ==` 5l 5 l 5lhzh{hƁhhhƁ}eʆƀƀ|ʊe~8偅z{lzhhhhhh8冐 0 h HHHL,LGIL,h hBCʈ _.ł( Ł|} ŀ}|z Z   :    ( tV8$@hvhwhhxylxh:vwlv8<<+-Í-۲0ݡߑ ع       &  * عteVG8  )   uh[NA4'á NTEGER[36]) /END; ' " "PROCEDURE FREADDEC(VAR F: FIB; VAR D: STUNT; L: INTEGER); "PROCEDURE FWRITEDEC(VAR F: FIB; D: DECMAX; RLENG: INTEGER); "  IMPLEMENTATION L E ^JECommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, šڢۑڢ.!ɡܢڕܢښ $"ڢܢۢڢ`` ڢ 2#آڢ٢آ*$آڢ٢آ(%آڢ٢آ(&آڢ٢آ&'ڢڢá ޡ?šڢڢ'ޡڢڢڢ~ڢ n( ȡ ۞$(@ $( $( ۡ#š #ȡ š)  ȡ0ˡ š  *ݡ W~ ٦***תP(š_ۡɡڑ ɡá0PÄ,ߡצ-QP<ˡ;,ɡ#??P?0Q?P>>.P>8??P?8U?P/ؑ>,>Nš N>>š3=>?=?ȡ#@@P@צ0Q@P==ȡ5=?=?ȡ#ˡ/14 ڡؼáڡؼZš0áۀ š ۀ*ByO7>zS8ȡ ȄPšPMšM/(<<<0Eá4+á4-á4.1.Ǹ ɡ ۏ01ۑ+-4.L0Ná=;á/Ä ڡؼ1A3N3'Ä!4' Ä1./-+á -á0Ná1. 2 .á0Eáa4.12,ɡ1.0آ  "10ˍ8,ɡ 1ɡؿ 0ÄL2٢10ˡ103آ1 41á?˄??&@ۂ"ˡu??š???#?$???$?#ń ?#?$?ۚ?$ܚ?AAA?AˡA  5~ 09Ȅ.!~Ȅ/azōaA??@ɡ??"@?Ä?á?????,? >"Má? > >? >á @@@ Ą @ ?ˡ\?%,?%???&@?"% ,    ݂܂F  -    ޏݏ@܏ޏ@ݏ܏ޏݏ܏܏ ݏ ܏- +$&!&%š#$ە##š##$"$##ɡ#"ɡ2ݓ&&Í&&&á&"&!)&%&&Í&&"&!)$%&&!!$$#ȡ!ˡ ء##ȡ''0'Q'Pˡǀġg/  ( ǀ > *ڨ ɡ(MMMM܏M܏T+ܨ ء '$' \)  ɡ-Í á ܑ ) '!Í ) % ɡ    ~ɡ  ~"h hhhhhhhhHHHHHH`(0 2) l` 0 2) l` 0 2) l` 0 2) l` hhhhhh404)@ 4) HHHH`:hhhhhhH50HHH`*hhhh LHH`4hhhhhhhhhhhhhhhhȑ**ȩȑ&HHHH` Align_Pattern9When the program 'beeps' you must press to continue.צPress to continue.../&d///7צUnable to ope Tile_Rect, and Pattern_Mask,צ=The program also demonstrates the effects of the pattern fillattribute routines:צ Mask_Select, andצ 7This demo program demonstrates the visual effect of theצpattern fill routines.צThese routines are: Solid_Mask,צ Pattern_Rect,@nccgTPIXELMA v :2D"\.< z 048VID K6ANU8HVIDS ZA\A!8H@DIRRANGEA~AA8MTID CAAN8HFULLID VJAA8H HH`7hhhhhhhh訪 H & *HHH`6hhhhhhhhHHHH`&hhhhhheȑȦ0+L4-I8i  L6i0i0HH`.`4j rXJF8IȱjE Ȅ橀إHH`zhhhhhhhhhh[ȱ)uD*&**u&L&*** ʈHH5qjȑHHHH`\hhhhhhhh  0<Ȱ& u E   ؠ ) JJJJ 0ȑ ) 0ȑᘠHH`hhhhhhR0H*v  u&&v&E& &詀&L&&ť&&ʈHH`o'hhhhhhhhhhhh bL)5Ffeyumꩀ5JA1SKQL51QF55(5ȱ0 fLfJJJi䨩ȩ50,8 &5&  6 F5L L5HH`~u$hhhhhhhhhh訪 横 Ji&&0 fL]fJJJi&&⠊hhhhhhhhhhhh&FffHHHHHH`Phhhhhh⨥HH`,hhhhhhhhhh訪 横v E 詀 vE 詀  Ljn Memory ManagerU Ret_Dynamic=   Ret_Segs=  &/4צUnable to open RasterCore/&&& & &&&/&&&ȡ!& &&& & &/ &&)&ġ!&.&&'&&ǥ& צMask&ǯ& &"(ǥ& Pattern&(ǯ& &#_ǥ& masked&_(TRECTS  le is exhausted } # #while not eof( infile ) do &begin )readln( infile, buffer ); )writeln( output, buffer ); &end; #close( infile ); # #{ wait until the user hits a key on thF$83T34PEMOUT8#writ)  HELLO.TEXT"ˡBצ.File HELLO.TEXT not found; unable to continue. (*P*Press any key to continue.S menu.maker_SIGSTART 9(Answer the following question 'y' if you're not sure...)צ)Do you want to close the Memory Manager? // /!(. rHlL 6 צ"Is this a new MemoryManager open? ,d//Open_Memory error: צRetDynamic (in pages) =  צ RetSegs=  צ!Please press to continue... oom for the /// SIG. Side One: TRIXELMAP Demo Side Two: MASK Demo NOTE: You must boot Side One of disk 3GRX-07 to run the other demos! WAP /// SIG PD LIBRARY PDS Name: Raster Graphics Demos Disk ID#: 3GRX-09 Bootable? Not Bootable Our third demo disk designed to demonstrate Raster Graphics Tool Kit and the 3D Modeling Tool Kit (PD Disks 3GRX-05 and 3GRX-06). Compiled by Dr. Al Bl& &%Zd& צmask&KZ& inverted&_n& && &%&&Z& צtiling&d& --&$ & (8,8)&& floating&& &' --&$& --&$P & צ(8,8)&P& צfixed&P& &' --&$& --&$&/&'//'&/8-ǯ& &"(ǥ& Pattern&(ǯ& &#_ǥ& masked&_ǯ& &%Zd& צmask&KZ& inverted&_n& && &%&&Z& צtiling&d& --&$ & (8,8)&& floating&& &' --&$& --&$P @dccg:á *ǀ ::á  :Jǀȡ:6ǀ:"ǀ:"_mMENUMAKECONSOLEISOSCATAL '&,(&` && & && d2d&) צ$SetBoundsRect (aRect,100,200,50,100)  KK&-OffsetRect ( aRect, 75, 75)   }K&.צSizeRect ( aRect, 125, 75) & ddKK&*צ#SetCenterRect (aRect,100,100,75,75)  KK&,צCenterRect ( aRect, 75, 75 ) & K}ǯ&)צ$SetBoundsRect (aRect,75,225,125,175)  }KǴ&)"SetBoundsRect(bRect,25,125,75,180)  &+צSectRect( aRect, bRect, cRect)&/&'//pen RasterCore/&&& & && d2d&) צ$SetBoundsRect (aRect,100,200,50,100)  KK&-OffsetRect ( aRect, 75, 75)   }K&.צSizeRect ( aRect, 125, 75) & ddKK&*צ#SetCenterRect (aRect,10ƀ& & &0&<8/&d///7Unable to open Memory ManagerSצ Ret_Dynamic=   Ret_Segs=  &/4Unable to o0&;& ء&&&CP lP ƀP ƀP ̀ƀצ BotLeft= ( ƀCZƀ,[ƀlǫƀ)Ǭƀצ TopRight= (Ǹƀƀƀצ,ƀƀƀ)ƀPƀ'$('%&)ƀ &-&& Press to continue...^'2ȡ2& '&'2ȡ2& '& J \تP+'$('%&)+ &-+& & &Z4٨צ Set_Center_Rect,צ Sect_Rect,צ Center_Rect,צ Offset_Rect, andצ Size_Rect.צ9When the program 'beeps' you must press to continue.?This demo program shows how the rectangle manipulation routinesצ9can be used to create and modify the Rect data structure.These routines are:צ Set_Bounds_Rect,تP++š+:T(تP:R تP++ȡ.ǀǀ+:+:TX تP++ȡ,ǀǀ+:+:TV ǀǀؿǀٿ:< ǀáǀ ǀ:F ǀǀؿ:0 ǀ:"ǀU_UTfצ Code  Text צ Ascii | Font kצ Catalog Z 3EZP WP I2n_P ED "$&(*,.0Iצ ????   OWAP /// Pascal Menu Maker OS : צ Interp : צ User : (ǀ ȡ/:)áȡȡقڂ     W T U TUPUUTKTPiPצ.25KTPKPצ.50KTP-Pצ.75KTPcG+^  R 2 Hצ Memory Map to continue צ Total Ram : צ In Use : צ Sƀ:-;ƀƀMצ Oƀ ƀaצ:bƀ ƀt:#ئ תPdȡڛ݆0݆ݏ ڛ0Ȅ ڛ ܹxPצ.00á  Íá & 11ȡ3+:+ ń = )P;bL٪ 0 啂 ƀƀצ-צ'???JanFebMarAprMayJunJulAugSepOctNovDecƀn$  ޢޢޢ    :á :$DƁ: (.xR:.:˲#'ˍ:L:ˡ 2  ȡ'ُ$ɲ˄n$  ޢޢޢ    :á :$DƁ: (öLÍ:.:˲#'ˍ:L:ˡ 2  ȡ'ُ$ɲ˄   dh:áT:á@ZZZZvب: ת  .CONSOLEת ::ˡO7Error opening the output device, terminating execution.ǀǀǀǀ:Px&rnN*:á* 0   dh:áT쥃:á@ZZZZvب: ת  .CONSOLEת ::ˡO݂ݕ܂ܕš ۶šɡ ڶɡٶšضɡٶضĄ۶ȄڶĄv 0٪PتP:á>쥃:á* 0 :"ǀ:"ɡɡOšOšǀǀǀڿǀۿǀǀǀڕǀە ǀڕە : /Press for HELP; to exit  Washington Apple Pi, Ltd. < % *ȡ) 5  ٛ/áإ: ˡ+צ%Error synchronizing Pascal-SOS prefixV  צ  ?Menu Maker v1.0 Help ScreenצPress to continue...   ' Use the arrow keys to highlight a fileצ! and press to select it. . Action taken depends on selectedƂ\cƂ\/Press for next page; to quit.-+: Y. P̂[Z+:á+[,:á+.Z(YYYXš YZ.+. +:ZZMX ,تPX[ò[[Í*ڲ[,:ö,Ä[[[á2[[ PɄ  [[Oە [[ [[ܞ[܂[ۂتPOWXOÔ\Ƃ\Listing Text File: ng ASCII File: [d[צ/Press for next page; to quit.-+:+ : . PYZ+.W,:Z4.,YYYXš YZ.+.W,: +:ZZMd ܚ ÍBD+XتP  ++Running program: +a+ O צ=When program finishes, enter X to restart MENU.MAKER  تPOWXOO[[Listi "$&(*,.02468:<>@BDFHJLNRTVXZ\^`bdfhjlnrtvxz|~ "ˡ+)$ )$  "$&*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~  ;V   , ")$ ۹ܓɡšɄ 5 P  )$  {P< ..Parent.. >ׯ     )ˡ/ Error in directory processing@ 8)$ ,,< ..Parent.. >ת,, +,+,ȡ2+ + +, )+$ ++ٓ ؛/á إ ؕ  Error setting new prefix[ lتP ++ P+צ/Q+ǡ+P  Error setting new prefix`ڪPצ/áR,ت á   Pˡ*        ÍX09צExit MENU MAKER? % Press to exit Menu Maker צ% Press to return to the menu  xxצ in drive x= )Zx v wwȡ`v Hxxצ x= )axצ is off-line.nxš      áá+ ááצ"Program written by Tom Bartkiewicz F ڥ P FVolumes On-Lineצ8Press to select a new volume, to exit. wwȡ= )   : ádv צ/    ts and displays the file.צ/-----------------------------------------------  צS displays system memory map   +V displays, selects available block devices-   ? displays this information  file's type.& Code : Runs the selected program.. Font : Downloads the font to the console.- Catalog : Sets the prefix to the directory.צ Ascii : Displays the file.צ Text : Displays the file.צ* 3EZP WP : FormaOO\\צ Listing /// E-Z Pieces WP File: \p\/Press for next page; to quit..+: / PYZ+,:á +[,:Z[ɡ+:+/[,:/,,-\-\ġZ/- ɡH/-/-7/-./- % " $/---YYYXš YZ/*[áYYYXš YZ +[,: +:ZZM&#b&ˡ2צSOS i/o error # bJzz:@تP-+:++,:+:X:تP ̂+Ƃ+Downloading Font: Ƃ+bƂ+ + V(:  )$ ])$ )$ x)$ i)$ Z)$ H)$ 92dWJ AB "$&(*,.0FO:((:282x"   $ :. @تP-+:++,:+:X:تP ̂+Ƃ+Downloading Font: Ƃ+bƂ+ + V(:  )$ ]