STITLE /FCB DEFINITIONS/ **************************************** * FCB DEFINITIONS - MARCH 26, 1984 **************************************** FCBPOINTER EQU 0 FILE POINTER FCBNAME EQU 2 FILE NAME FCBEXT EQU 10 FILE NAME EXTENSION FCBDEVNO EQU 13 DEVICE NUMBER FCBSTATE EQU 14 STATE OF LAST OPERATION FCBTYPE EQU 15 FILE TYPE FCBGRAN EQU 16 CURRENT GRANULE FCBNEXTG EQU 17 NEXT GRANULE FCBTRACK EQU 18 TRACK NUMBER FCBSECTR EQU 19 CURRENT SECTOR FCBLSECT EQU 20 LAST SECTOR IN GRANULE FCBOPEN EQU 21 OPEN TYPE FCBINDEX EQU 22 INDEX INTO BUFFER FCBBUFSZ EQU 24 CURRENT BUFFER SIZE FCBLAST EQU 26 LAST SECTOR SIZE FCBTYPESIZE EQU 28 RECORD TYPE SIZE FCBBUFR EQU 30 BUFFER FCBBASESIZE EQU 286 BASE SIZE OF FCB FCBRECORD EQU 286 RECORD OFFSET SKIP **************************************** * FCBOPEN VALUE DEFINITION **************************************** FCBOPENREAD EQU $AA OPEN FOR SEQ READ FCBOPENWRITE EQU $CC OPEN FOR SEQ WRITE FCBOPENDIRCT EQU $BB OPEN FOR DIRECT ACC SKIP **************************************** * FCBSTATE VALUES **************************************** FCBSTOKAY EQU 0 SUCCESSFUL OPERATION FCBSTEOF EQU $FF END OF FILE FCBSTIOERR EQU $FE I/O ERROR FCBSTNOTFND EQU $FD FILE NOT FOUND FCBSTILLEGAL EQU $FC ILLEGAL OPERATION FCBSTFULL EQU $FB DEVICE FULL STITLE /INITIALIZATION/ **************************************** * * PASCAL INITIALIZATION CODE * **************************************** SKIP MAIN SKIP PSHS U,Y,X,DP,D,CC SAVE ALL REGS ORCC #$50 INHIBIT THINGS LBSR DFTDISKRESET RESET DISK CONTROLLER SKIP **************************************** * DETERMINE THE AMOUNT OF MEMORY **************************************** LDX #$7FFE+256 ASSUME 32K MODE LDB #4 B=BIT MASK CLR $FF1E SET RAM SIZE STROBE BITB $FF22 CHECK 64K JUMPER BNE MEMORYLOOP 1 => NOT 64K MODE STA $FFDF SET 64K MODE LDX #$FFFE X->64K TOP MEMORYLOOP LEAX -256,X TRY NEXT PAGE DOWN LDA 0,X GET MEMORY BYTE COMA REVERSE IT STA 0,X PUT IT BACK CMPA 0,X DID IT CHANGE? BNE MEMORYLOOP IF NOT, TRY NEXT SKIP **************************************** * SAVE BASIC'S INTERRUPT VECTORS **************************************** STS 0,X SAVE S AT TOP OF MEMORY TFR X,S INIT STACK LDD $72 GET WARM START VECTOR PSHS D SAVE ON STACK LDX #$0112 X->END OF VECTORS SAVEVECTOR LDD ,--X GET A WORD PSHS D SAVE ON STACK CMPX #$0100 SAVED ALL OF THEM? BHI SAVEVECTOR IF NOT, CONTINUE STS STACKSAVE,PCR SAVE STACK POINTER LEAX BOOTRESTART,PCR X->WARM START RTN STX $72 SET WARM START VECTOR SKIP **************************************** * SETUP NEW DISK VECTORS **************************************** LBSR DFTDISKVECTR SETUP DISK VECTORS ANDCC #$AF ENABLE INTERRUPTS EJECT **************************************** * SETUP PASCAL INPUT/OUTPUT FCB **************************************** LEAX DFTHEAPSTART+2,PCR X->HEAP AREA STX -2,X INITIALIZE HEAP LDX #FCBBASESIZE A=ALLOCATE SIZE FCBLOOP CLR ,-S ALLOCATE A BYTE LEAX -1,X ADJUST COUNT BNE FCBLOOP ALLOCATE IT ALL SKIP LEAX 0,S X->INPUT/OUTPUT FCB LDA #-3 A=SCREEN/KEYBOARD DEV # STA FCBDEVNO,X INSERT IN FCB LDA #FCBOPENWRITE GET OPEN INDICATOR STA FCBOPEN,X INDICATE OPENNED SKIP **************************************** * SETUP INITIAL FRAME AND START PROGRAM **************************************** PSHS X PUSH FCB ADDRESS LEAU -2,S ESTABLISH 1ST BASE PSHS U STATIC LINK TO SELF LBSR DFTPSCLMAIN BEGIN EXECUTION SKIP **************************************** * RESTORE BASIC'S INTERRUPT VECTORS **************************************** ORCC #$50 INHIBIT INTERRUPTS LBSR DFTDISKRESET RESET DISK CONTROLLER LEAS FCBBASESIZE+4,S S->SAVED VECTORS LDX #$0100 X->VECTOR AREA RESTOREVECTR PULS D GET BACK A WORD STD ,X++ RESTORE CMPX #$0112 DONE? BLO RESTOREVECTR DO ALL OF THEM PULS D GET WARM START VECTOR STD $72 RESTORE VECTOR SKIP **************************************** * RETURN TO BASIC **************************************** PULS X GET OLD STACK TFR X,S RESTORE STACK STA $FFDE SET 32K MODE ANDCC #$AF ENABLE INTERRUPTS PULS CC,D,DP,X,Y,U,PC RETURN TO BASIC STITLE /WARM START RESET/ **************************************** * WARM START RESET VECTOR **************************************** SKIP BOOTRESTART NOP MAKE BASIC HAPPY LDX #$0100 X->VECTOR AREA TFR S,Y SAVE CURRENT STACK LDS STACKSAVE,PCR RESTORE STACK CMPS #$8000-$14 STACK IN LOWER 32K? BLO WARMRESTORE IF SO, 32K MODE STA $FFDF NO, SET 64K MODE SKIP WARMRESTORE PULS D GET BACK A WORD STD ,X++ RESTORE CMPX #$0112 DONE? Bd& b# b%X$2d5ʺzjRB2"  "2BRjdb'obd45O1'Z&2dnodlO1c 4fd#]' & Z 52dndomg'ijO0 " l\jg&9hOf-)d,dd'4g0e15J&d92~hg'#\O00 ?1# j' 䦀Z&2b92~ojokfO1f1!fh'lk" &Z&2b9ok 4@fhd&1?&5@52fn56CS244@3d0&54@fhd1?& mf*lcO_ffmh*jcO_hh9ooofh=eh=fg=mb'O_c2inoomf*l䍨4O_hiihYIf%fli0&5d'O_cc'O_dd946oM*lO_aa f'14Z&b 4&a*@0 jd' b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIihj&ma'O_hh2b95b,52dn"9d9@d#* O_d9d b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdoCDEFT MACRO/6809 ASSEMBLER, V3.0 CFORMAT COMMANDS S03454F4A0354585403504745034844520346545203534B5003464C4C RCOMMANDNAMES0000 PA0000 0000 J"*FORMATSPOBJFORMAT BINEQU EXG EXT EXTA FCB FCC FDB INC INCA INCB JMP JSR LBCC LBCS LBEQ LBGE LBGT LBHI LBHS LBLE LBLO LBLS LBLT LBMI LBNE LBPL LBRA LBRN LBSR LBVC LBVS LDA LDB LDD LDS LDU LDX LDY LIST LEAS LEAU LEAX LEAY LIST LSL LSLA LSLB LSR LSRA LSRB MACRO MAIN MLST MUL NEG NEGA NEGB NOLISTNOMLSTNOP ORA ORB ORCC PSHS PSHU PUBLICPULS PULU RMB ROL ROLA ROLB ROR RORA RORB RTI RTS SBCA SBCB SETDP SEX SKIP STA STACK STB STD STITLESTS STU STX STY SUBA SUBB SUBD SWI SWI2 SWI3 SYNC TFR TITLE TST TSTA TSTB :HXGW$%',."$/%#-+&* !()O_CS< JZ L\$%',."$/%#-+&*!()2301HXDT=@P4657 IYFV;9??? M]     ! EXPRESSIONREGISTER OPRND RQ'D ADDR MODE DUPL SYMBLBAD RMB LABEL RQ'DPHASE BAD OPCODE PUBLC->EXT UNDEF SYM OPRND SIZE COPY NEST DUPL MACRO MAC SPACE MACRO NESTd0OZ&y&9So *L' L+  *'4E2d2jn *L& m'o ޮj11Z&fjd0 ' #Z&hj⦠'N ':'/& a a ,laj& *J'%+'-'O J'0+ . -&Pl 2b9 df9gd!'9m&og9ogd'9m&,  &lg9do'9o * L&m'  9d&''o4 1-& &2b95 2q40&<&7 ' ','1dod'ld& ' ',&O5502onf&A46 w2d52ob' 52dnd&&50n4&54 ' '5b&k& &{50ndb'0&2bd42d50nfdo&%& 'c$l 52dn4&_5 L+-m& *L' h_9  4@3bO_B*2BA4D AFO_46/2^5@Tf0db4652dnb0 O_4656n fdc'?$c_M' &1!J&]' 1 &Z 52dn 4v' > \+*m&533˦\'m *&_  o\') 5m5db'0&2bd42d50ndm&'o1f&1!&9d 465dOf9fd946M' 0&J&542|ocvv&7ĎROJbbI$blaa\'lcM'D$0'0/0] /$070,j+/@M& @Y& XM'\d^o,L&b%a& &s mc'vW&X"od2d5}+@9C@9vRZ&9^_ [ ] 0 \@0&9462~oƏoa1O_&voa& ja+g & 4X5 'A''! '/\'l9 m'1?j+ m'1?j  2b54' '& 'B %MM+ @-`-߈@ '5` `&% 큌% ``큌%CH'' &' 5d݈944"&P__DYja&5 & 5X 4590 0" 9  @ N9} ' j ;}*}} 'z & 0 @;46 464 1"(- @& & ~ I'K禆H&y&uJ1_ 0}H s PH&H&1?& !K瀷@ H&1?& K@  K H|'#dja' ~ oH4' dx 2b51?'H&9зH}H9".1?&9@4om&#1 '1 j&l -چ2a5-.+ 454S54G"-l'  C#54m&:l/ C"* OC#&'5 m&6{94'&#o -4oL51ojM*546Zm&1m& 1'L'1 Z&l -݆5 0Z&b15+,-o.o/C54&o 11' l)'lllJ*2a5 \'\94&o1 ,"'̍ 'č' 4\'LC/52a54'*54m&lm&O_-<54&m&#lm&1 . hm&+_J&Z,.N54&U'& m& ' 1g&6m&54610Z&oZ&b'_54&:O_m& m*5!!94"!!1?&P54oI/"%%j' "%l`&ا5 !ց" 9o9m& % $9$%9 V9Fj&9ց94&2~1OF<&٧ԧo䫈am' aaj&􍵠a'2b54&"U44j&2a<*_$M' 1j& Uo54&a1[4 134  ͺͶ4B50a0 2\54@3d2s4`2bCS]'2\50O4#&0O4T_&\O40O4J_&\O4%O4 _&\O4 O4_&\]'4Į42d2\52~4Į42d5RO_0vO0oOA'B'C&R4442fO_4R442f2\5sO4&4Į4Ґ2d2\5O_0˱OP0˥O4[_&\O4P0ˋO4]_&\]'gP44b2bPZP4Z.&Z4Z0A5070 ZZ 2bTO_4P500 O_TP4O_&4Į4Ѿ2d2\5P4&0O4,&sO_V0ʶOA&VB&V D&VV4O_'+44@2dD4V4X4T44@2f2\52~4Į42d5R-CS]'O4 &4Į42d2\5T4O_'%D444@2fO_4R44v2f2\5O4ɿO4R44J_'\]'/B4O_44@32f#O_4R442f2\5F4R444@2f2\5D4O_44@2fP4,g0,O4,&Q0O4-&P44-444@2j4O_4+444@m2j2\52~0442d5CS]'2\5O4&ȏCS]'4Į4M2dR4 44b2bR4O__'\O4;O4R4O__.\O4R4CS_/\]'9ȟ4T450C0 4R44u2f2\5f4T450 0 R4O_442f2\5O4_/\O4O4_,\]'4Į4/2d2\5O4]5'XI1?&X1]'4Į42d2\5R4O_&*Ǩ4X4T450F0 2\5R4CS_,\O4R4_/\O4T4O__&\]',74X4R4500 2\5R4_,\O4R4CS_/\]';ڃ4X4T450x0 O_4R442f2\5Ɵ4X4T450=0 R4O_442f2\54@3d04042b<Ŧ2\54@3d2~4 2bŔCS]'2\52~4Į42d5ZjCS]'4Į4(2d0ŚO4L&24Z4444b2b442fŪ4O_'4Į42dZ4}4y4b2bZZ4_,\O4Z4_/\]' 4Į4h2dZ4442f2\54@3d2z42b2~0[44C2d5O42~0Z44/2d5]'e[OXZOVX44V4'4Į42dX4]5'XI1?&4V4O_442f4Į4ʠ2d2\54@3d2}4%2bO_Z2~0Y442d5]'sYO&)0O4S&4Į4B2d.&&0éO4U&4Į42dZ4٪ZwZ4O_44%2f2\54@3d2~4Į42d5ÏÙ4O__'\O4ܪO4l4O__/\]'O_P4Į4ɀ2d2\54@3d2|LX2~4Į4'2d5ZX.0¼4&4Į442dX44044O__&\O44_&\]'X444Z50a0 CS]'!X444O_5010 ^4O_'4X4b2b]'K]' O_@ O_44 2dy*&44X4,ԻO4 ]' O_442d=/&5Ԍ4X4,55{O4ʪ]' O_44ڏ2dWDөCS]'2\5|O,&2\5c*'/'+'-& H[:O_44*2d2~42b5]' O4,&2\5 2\52\5%4@3dO_E2~Į4ո2b5CS]'2\5EOD&OO_}2~Į4z2b5]',ѡO4P& K F?A&%B&  lX&TY& <U&@$S&@ҭ P&ҕ2~Į4Ԓ2b5CSO4гO4C_'\]'4Į42d92~Į4I2b5O4rO4R_'\]' rC&V 2~Į42b5CSO4O4C_'\]'4Į42d4Į42dO_E2~Į4ӛ2b5]'LO4,';4Į4י2d2~Į4f2b5]'ύO4,&2\5 2\54@3d2~$XI00ZZ4-#4Z50Ы0 R4Z4]5'DV1?&50w0 4Z450V0 2\54@3dCO4D4CS_/\O4D4_,\O4Z4O__'\]' 4Į4f2d(!4D450Ͽ0 2\54@3d44B4]5'DV1?&50z0 ϶4B450X0 E]'ϕ4O__'\2\54@3dO_B0οOX&HY& 6U& @$S& `4Į4>2d2\54@3dH442d&a44F450~0 B0O4EO_&\O44O__&\]'2\5w&ow44F4450 0 B0ͬO4EO_&\O4B0͏O4EO_&\]'2\54Į442d2\54@3d40͘4D50ͅ0 2~0]44O_44@2h5W2~0N44 44@2h5CS]'2\52~0"442d5]':W09:L2~044N2d5]':*:&O'P 'H'@'8'0'(' ''' &I2~0)4@444@+2h5]' 9O4'442dZ0@O4 _&\O4Z4X_-\]' ZZ 04Z4(4044G2j04%44r2f0404F04F2b2\54@3d2~04_F&\O4]'2\52~0n442d5]'Fƃ44G4ﳃ44G0I_450IK0 2\5~4v.2\5id`YU4O__&\O404;44G80H04_E,\]' Z4Z-FZ444F0H04Z44F0Hu044FZZ 2b44F0HI040%4E2b44F4_50H(0 c44F`450H0 =62\54@3d04_D&\O4ﯪ]'2\52~0442d5]'6O' &2؃44E0G4'442d44E0GR44O_'442d 442d2\54@3d4O_.47.O_wqj0E44:2d0E404#4:04#49PAGEO_49#4499Į0E404O_49 44990E404O_49 449h9z0E4 449P9b0E4 44989J04B&0E4 44990E40X4O_4982~0E4462dO_'K04LIST FILE ERROR:O_482~0E446o2d48d8>CS04B2b2\54@3d2t4k.O_C0P4A2b]M44b2bZZ4,Z004Z40P4Į4C2h4ZC0P4 4Į4=2f014O4A04A\ 4Az0P4AM`O4Ai04A:2b2\54@3d2uAO4+&/CS]'2\5O_X]'0R4 @2bI3OO '8'0'(' '' '&2\5&t2~44b2d5XFO4X4_/\]'X04@E2bZX4Z.4X2bZZ 2b2\5 &.铃44A0C=0440R44BB2hK'' '&0R4 ?2b0440R44A2hg]'RQ34O_'XQ>]'NQO_0 Q2~4@D2b5W4k2b0R4 ?-2b Q0m4?2b2~4@ 2b5]' 4/2b 04>2b2\54@3d2~Z4Z.04 *** ERROR - >Z0nO4 4@60104>2bb4O_. 42b<0404O_444ޮ040#4O_44404>A2bZZ[2b2\54@3d4O_'0c44O_|2\54@3d2{42b0B440W44@B2h0c4EO4443S44?P0@04 44:0W4O_44/4EO4X.a2\54@3d2~C2~0c4412d5ZZ4O_'604OBJECT FILE ERROR:O_43Z443a3O_C2\54@3d2{ZB4Z.n4& Į42bS4O_&Į0c4S443%2bZ00440W4Į4>2hĮ0c40W4O_432bZZg2b2\54@3d2{Į4-2b0B440W4Į4>2hĮ0c4EO4420W4O_4222\54@3d]'C.}O&$42b0c4M442F2X&142b0c4C4420i4O_4252 &D4 44@2fVO44O__'\]'}44b2b44@32d]'Y444 2f84O_'X4442fL4n44@2f X44@2d2~4L2b52\54@3d2~BCS2O_O_O_O_b\014:02b2b0440W44:2h0c4PAO_4.0W4O_4. 0000O_4..z2~4r2b5]'0c44,`2d2\54@3d2<04 SYMBOL TABLE72bZ/4Z.Z449!0:04404492h04047f 472bZ4480:XX44&04047 X47H2bX44&04046P472bX44&04046D462bX44&04046R462b04046|A462b04 4412f04046RZ4]{d4PTD"&ߎ0C&r44"z0NrS0]-o0&0 ̧43~4@NPS2"5큌%5r55B%5큌%5r$n$DEFT MACRO/6809 ASSEMBLER, V3.0(C) 1984 DEFT SYSTEMS, INC.4@3d4]5'XI1?&CO4A/4CO44 4CO42\54@3d4O_0CO. O_CO_(0C2\54@3dO_0O4BO/0404T 4T32b 2\54@3d2}ZO_0O4Z.]Z0YYO4a_.\O4YO4z_-\]'Z4YO4ߤ500 ZZ 2b2\5j4@3d2~2~04Į4G2d5ZZ4O_& 3Į04 OPEN ERROR:O_4IZ44ITIO_2\54@3d22~4V2b4b2b44T55d0w44E2d044J&2d04014 4I80C4O_4I+2b`44L>2d04TITLE: O_4I2b0404@4H$G44K2d04 SOURCE FILE: O_4HH44K2d04044GG0c404ASMO_4E0c44@d2d[]'x44Kt2d04 OBJECT FILE: O_4H32b44KF2d04044GGG04Q'50c404OBJO_4D0c44@2d O_ [[]'S]'%0c4C44Gl04O_4GGq44J2d04 LIST FILE: O_4GX2b44Jk2d04044FlF(04P'.0E404LSTO_4C0E44@2d[[]'`2\54@3d4//4C500 2\54@3d4. 442d2\544Q^00404ASMO_4B2\54@3d2}24O_'304O2b4O[[O4%&4O404b2bYY4O__.\O4Y4 _-\]'60^40X4OY44P0V04O 2b0(40"4N%4O 2b0 404N[O4N2bJC[O4 O&O_4O_0O500 4 .O_+O_C2~44O߮0044B~2d5]'2~44O0044BI2d5YY4CS'504SOURCE FILE I/O ERRORO_4D\Y44CD:x4-2\5 aZZZ4X,Z4X4]5'DV1?&>04>44M0804L;&2\504>]44Mp0704L, >=X>1ZrO_EZ4X&-Z>04> 44M0704_K&\E2\54@3dE4.644L00404Ku&2\5 2bO_E2\54@3d2|0T4B4Į42fO_I0&O4 _&\O44_-\]'  4,2\50[X[O/'"&%0404Jn[O4J2bX [0~Z[O4 &8ZO4'O& ZO4"& 4ZO4[O_&\O44_,\]'x4,D44X4b2b,4X4b2bD04X4D404Į4I2j0404IV04IX[O4Iv2bI2\54@3d2O_O_O_O_O_O_O_0!4H2b0 4H2b04H2b0'4H2bO_O_0OXX4O__&\O40O4*_&\]'$0404H 4H2b:2\5:Z0O4 'E S8DF4BC39347686FBB7FF02B6FF00844027138608318DF474AE8DF469ACA127054A26F9860135F6347FA69DF458813F260AAE8DF4503001AF8DF44A8D3A10EF8DF478308DF44110EE848606EE8334404A26F93B308DF42486063540EF814A26F910EF8DF42210EE8DF450AE8DF417301FAF8DF4118D283BC608308DF40F318D SF41BEE812708A6C4A7A0863FA7C45A26F1BEFFFA867EA784318CB910AF0139C608308DF3E8318DF3F4EE812704A6A0A7C45A26F5863BA79FFFFA398E0400318DF4025FEE81EFA15C26F9308DF3EF8D23DC88ED8DF3E3398E0400318DF3E65FEEA1EF815C26F9308DF3A08D07EC8DF3C9DD88393426A684C607108EFFC68D16 SA601C603108EFFC08D0CB6FF228407AA02B7FF2235A634361F2144240230016F8431225A26F235B634368620A78DF8D1308DF8CD3101C6121700361F121F41860217 YDFTHEX 0000 SECE417006E262434103005318DF8B3C608170019EC62A31CA38DF36334061F41318DF8A7860217 YDFTHEX 0000 S351635B63436A680A7A05A26F935B63436A680A1A026035A26F735B63436308DF8861F12CC200BA7A017FFD810AE62A6A0A7802AFA847FA71FA6A0A78DF875ECA1ED8DF87010AF6235B63416308D YDEBUGTABLE 0000 SACE42519A38DF2FE25133004300D6D84270510A30124F53013AF621A0435963416308D YDEBUGTABLE 0004 S3005C60817FF93270A30086D8426F11CFB3596301BAF621A0435963416300417FF85301D6D84271417FF7C3410308DF802C60C17FF643510270420E81CFB359634163410300417FF5E308DF7E6C60C17FF482712AEE4EC022706308BAFE420E41CFB326235963510AF621A0435963436EC8DF231EE8DF22B17FF5A2618AF62 SAE032707AE5A17FF93270D11A35C2706EC5EEE5C20E31CFB35B634364F5FED8DF826A68DF7CD27766F8DF8181700A7308D006FC12D260917009C265E308D006BAF8DF812EC8DF7FD6F8DF7FBC14026096C8DF7F317007F26411700C3263C6D8DF7E527041F01EC84AD9DF7EAEC8DF7D5272C34068D6035062620308D0024C1 S2B27BE308D0025C12D27B6308D002AC12A27AE308D0030C12F27A61CFB35B61A0435B6E38DF7A2ED8DF79E393406EC8DF797A3E1ED8DF79139AE8DF78C341617 YDFTMULTIPLY 0000 SED8DF78339AE8DF77E341617 YDFTDIVIDE 0000 S3516AF8DF773393410E68DF768E18DF71327335CE78DF75D308DF708E6858601C12E271AC15F27168602C130250EC139230C8601C1412504C15A23028600ED8DF7341A0435904F5FED8DF72A1CFB35903436EC8DF720C127273EC1222742C1252724C12410270072C13C1027009BC13E102700F18102273D8101102700B61C SFB35B61A0435B617014526F34A2704EC842002E684EDE420EA17FF6C26E14F200E17FF6426D9340417FF5D350226D0EDE417FF5420CD6FE46F61C030E7E2EC615849ED6158495849E361EBE08900EDE417FF3526AE810227E120A86FE46F6117FF26269F8102270E81011026FF95C146102EFF8BC007C030E7E2EC61584958 S4958495849EAE0EDE420D517FEFB1701031026FF6B17FD961026FF64AF8DF66BEC01E38DF06FEDE4E30310A3E41027FF531F011600891700DB17FDE61026FF40AF8DF647A68DF5AB84C08100274A814034011F30E38DF59CED6135011027FF24ECF4EDE416FF1DAE8DF6201027FF11EC031027FF0BE301E38DF01A1F0117FE S891700911026FEF917FD45261FA68DF56384C081001026FEE8EC8DF558AE8DF5EBE301E38DEFEFEDE416FED9EC841027FECF308B17FD3E1026FEC6311910AFE4EC8DF5B51027FEBDC13E1026FEB716FFAD3420C620340617FE30262BE7E417FE29308DEF6B318DF1AF8101270481022605E76117FE14ECA1270D10A3E4270E SA6A03122308620EF1CFB326235A0A6A032621A0435A03436EC8DF55E273881012634318DF55910AF641F21CC200BA7A017FC12EC8DF5436FE2A6E4810C2704E7806CE417FDC52608810127ED810227E932611A0435B61CFB35B6 RDEBUGSTART 06AD PA0000 0000 101270481022605E76117FE14ECA1270D10A3E4270E SA6A03122308620EF1CFB326235A0A6A032621A0435A03436EC8DF55E2JPASDEBUG KDEBUGSTART CDEFT MACRO/6809 ASSEMBLER, V3.0 CDEBUGGER V3.0 D0064 D0001 D0001 D0001 D0001 D0002 D0002 D0002 D0002 D0002 D0001 D0001 D0001 D0010 D0008 D0012 D0002 D0002 D0002 S020000 D0002 D0002 D0200 S43430104E14120010501422001052144500105415820020561592002058155200205A150430205C153200205E15053010461564401048156430104A14230020469423102048942320204A942330204C942340204E9423502050942360205294237020549000008444953504C415920074D4F444946592005574F5244200542 S5954452006535452494E47085641524941424C4508535452494E473A2005464C4F415407464C4F41543A20084C454E4754483A200852454749535445520453544550034845580756414C55453A2006414444523A20055245473A2007434F554E543A20010D164552524F522C20434F4D4D414E442041424F52544544134252 S45414B504F494E545320434C45415245440009434F4D4D414E443A0D094556414C554154450D0320 D0002 S202020202020202020202020202020202020202020202020202020202020202020445203BB03BB0837077844570312032307DC09AF44420312032907DC09BD44530312032F07DC095644460312034807DC098744560312033607DC09CA44480312036D07DC0AEE444E03BB03BB07780AEE4D52031B035F07FC093B4D57031B S032307DC08854D42031B032907DC08AC4D53031B032F07DC08D34D46031B034807DC08F64D56031B033607DC0916434203BB03BB0B750778474F03BB03BB0B9507785354036803BB07BC0BB1545203BB03BB0AA00778555303BB03BB0B620778455603C603BB0A6B0778515503BB03BB0BCB0778000000003A2D3320202020 S20202020FD00010000000000CC0000000000000000 D0100 S13 D0004 D0001 D0008 D0001 D0004 S200C D000C D0001 D0002 S2F0C444546542044454255474745522056332E300D284329203139383420444546542053595354454D532C20494E432E D0051 D0001 D0001 D0001 D0001 D0002 D000C D0002 D0002 D0002 D0002 D0002 D0001 S0320202010EF8DF9F610EF8DF9B9328DF9B534FFC6128E0100318DF9C7A680A7A05A26F9DC72ED8DF9CC308D YDEBUGTABLE 0000 S1F10A384ED8DF9CBE302ED8DF989EC8DF9BCED8DF985A68DF9B6A78DF97F1705AB17047A170589308DFF098D7717013086FFA78DFEFBCC0440DD88308DFCA68D63CC0449DD888D6C308DFEE88D56A68DFF1281022DDA308DFCC4EC8DFF0710A3842708300A6D8427C720F3CC0440DD88EC028D21EC048D1D318DF8ADEC06AD SAB2606EC08ADAB27A8CC05E0DD88308DFC288D11209B3430318DF88E30AB8D0535B01A04393436E6802708A68017 YDFTSCREENOUT0000 S5A26F835B63436308DFD3817 YDFTREADKEYBD0000 SE688196F881930881E318DFE9AE7A0C1502304C650E73FA680A7A05A26F96A8DFE856F8DFED235B634108E04809F88308DFBBF8DB28DC0170694260AAE8DFEBCAF8DFECA1A04359034108E04609F88308DFB928D928DA0170674260AAE8DFE9CAF8DFEAC1A04359034108E04609F88308DFB7917FF7117FF7E1708D5260AAF S8DFE90A78DFE8E1A0435903410308DFB4D17FF5417FF611706352606EC8DFE5D1A0435903476338DF827318DFA6BEC23DD88ECA4308DFE5EED0117FF2BA6228102271734201F31318DFB7717 YDFTHEX 0000 S48A7A21F21352017FF10200EECC417049D308DFD7117FF023341334131256DA426BE35F6343610AE8DFE18308DFA9317FEE81702AE17FF85260F6D8DFD9C2709EDA110AF8DFDFC20E235B6343610AE8DFDF1308DFA7217FEC117028717FF5E260F6D8DFD752709E7A010AF8DFDD520E235B6343617026C308DFA6317FE9CAE S8DFDC1CC00FF318DFBDF343617 YDFTREADSTRG 0000 S17 YDFTREADLN 0000 S1A0435B63436170249308DFA4F17FE79AE8DFD9E318DFBBF343017 YDFTREADREAL 0000 S17 YDFTREADLN 0000 S1A0435B6343610AE8DFD87A68DFCE7843881101027FF63812827A8813027C78120102FFF7C1CFB35B6340617FEDE26126A8DFD622706ED9DFD5A2004E79DFD541A0435863436308DF9FA17FE1CE69DFD414F1F01CC0005318DFB5C343617 YDFTWRTINT 0000 S17 YDFTWRITELN 0000 S308DF9C617FDFFAE8DFD2417FDF81A0435B63436308DF9C117FDEB318DFB35AE8DFD0C343017 YDFTREALLOAD 0000 S108E00108EFFFF343017 YDFTWRTREAL 0000 S32621A0435B634368601A78DFC5186018D3035B634368601A78DFC434F8D2335B63436A68DFC388438811027E181202FEB81281027FF7881301027FFA335361601033436CC0001ED8DFCAEA68DFC1084078101260517FDBB2659CC04A0DD88308DF96517FD6CCC04ACDD88AE8DFC8CEC811F028D40ED8DF9B06DE4260D301E SC620ED8DF9A4E6801D1F02AF8DFC6D1F21CC000D318DFA89343617 YDFTWRTINT 0000 S3262308DF98517FD2DAE8DFC50301FAF8DFC4A2EBA1A0435B6812024028620C1202402C62039343617FDAE262CED8DF95C1F01CC0008318DFA4A343617 YDFTWRTINT 0000 S308DF94817FCF017 YDFTWRITELN 0000 SEC8DF94017027A308DFB4E17FCDF1A0435B63476860C3402CC0460DD88EC8DF5BFEE8DF5B9170259308DFB2D17FCBE1702DE2626AE03270EAE5A30041702A3308DFB2A17FCA7308DF8B617FCA011A35C2708EC5EEE5C6AE426CB32611A0435F63476CC0480DD888D4DCC04A0DD88860A3402308DFBA0318DF8CC860317 YDFTHEX 0000 S3125AE8DFB91860917 YDFTHEX 0000 S31A8141F138E0004ECC117FF39EDA1301F26F5EF8DFB758620308DF89FA78417FC416AE426C232611A0435F63436308DFB5A318DF887860217 YDFTHEX 0000 S8604308DF87BA78417FC1D0C8935B6347617015817 YDFTPOLLKEY 0000 S27FB308DFA9B17FC0835F634368608318DF4F88E0000AFA14A26FBCC0480DD88308DF81917FBEA1A0435B634321701258D748D4F26FA170100308DFA6417FBD117FC8A1A0435B23432170109AE8DFAE82E038E00018D4F8D2A27DB301F26F620D51700F1C6128E0100318DF4B6A6A0A7805A26F9EC8DF4BDDD72B7FFDE10ECDEFT MACRO/6809 ASSEMBLER, V3.0 CPASBOOT V3.0 M S347F1A5017 YDFTDISKRESET0000 S8E80FEC6047FFF1EF5FF222606B7FFDF8EFFFE3089FF00A68443A784A18426F310EF841F14DC7234068E0112EC8334068C010022F710EF8D007A308D004E9F7217 YDFTDISKVECTR0000 S1CAF308D YDFTHEAPSTART0002 SAF1E8E011E6FE2301F26FA30E486FDA70D86CCA788153410337E344017 YDFTPSCLMAIN 0000 S1A5017 YDFTDISKRESET0000 S32E901228E01003506ED818C011225F73506DD7235101F14B7FFDE1CAF35FF128E01001F4210EE8D001D118C7FEC2503B7FFDF3506ED818C011225F735109F721F24B7FFDE6E84 D0002 PA0000 0000 E6FE2301F26FA30E486FDA70D86CCA788153410337E344017 YDFTPSCLMAIN 0000 S1A5017 YDFTDISKRESET0000 S32E901228E01003506ED818C011225F73506DD7235101F14B7FFDE1CAF35FF128E01001F4210EE8D001D118C7FEC2503B7FFDF3506ED818C011225F735109F721F24B7FFDE6E84 D0002 PCDEFT PASCAL V3.3 CBRUCE RDFTPSCLMAIN 0000 S16000134403364327EAEC4EC19C30001ED19EC193089FABBE68B4F3406CC00201F025F10ACE127015C4F3406AEC4EC1934064F5F3089FABBE68B4F1F025F10ACE12C015CAAE0EAE05D27BEAEC4EC19ED5AAEC4EC193089FABBE68B4F3406CC00201F025F10ACE127015C4F3406AEC4EC1934064F5F3089FABBE68B4F1F025F S10ACE12D015CA4E0E4E05D10270002AEC4EC19C30001ED1920B8 F008C SAEC4EC193406EC5A10A3E1102C0003CC0001E7433089FABB3410EC5A3406AEC4EC193406EC5A3406EC62A3E1326234063089F8BB3410AEC4341017 YSTRINGCOPY 0000 S326A160004 F00A6 S4F5FE743AEC43089F8BB34108D010017 YDFTSTRSTRCPY0000 S3262 F00D9 S325C35C034403364327C4F5FAEC4ED194F5FED42327EAEC43089FED93410AEC4341017 YEOF 0000 S326435065D10270005327EAEC43089FED93410AEC4341017 YFILEERROR 0000 S32643506ED58EC583406CC00014353C3000110A3E110270006AEC430980234108D1615534F555243452046494C4520492F4F204552524F524F5F340617 YDFTWRTSTRG 0000 S17 YDFTWRITELN 0000 F0145 S325C35C0208D F011B SCC0001ED42AEC43089FED93410AEC43089FABB3410CC00FF340617 YDFTREADSTRG 0000 S17 YDFTREADLN 0000 S4F5FAEC43089FABBE68B4F3406CC00031F025F10ACE12E015C4F3406CC0001AEC43089FABBE68B4F3406CC002E1F025F10ACE126015CA4E0E4E05D10270007CC0001AEC4ED19327E341017FE20326235065D10270008CC0001ED584F5FAEC43089F8BBE68B4F3406EC5810A3E4102E0009EC58AEC43089F8BBE68B4F3406CC S00611F025F10ACE12E015C4F3406EC58AEC43089F8BBE68B4F3406CC007A1F025F10ACE12D015CA4E0E4E05D1027000AEC583406EC58AEC43089F8BBE68B4F3406CC00DFA4E0E4E01F023506AEC43089F8BB308B1F20E784 F0243 SEC58C30001ED582088 F0205 S3262CC0002ED5ACC00063406EC5A10A3E4102E000BAEC43089F8BB3410EC5A58495849308D YCOMMANDNAMES0000 S308B341017 YDFTSTRSTRCMP0000 S1026000CEC5AED42325C35C0 F02A6 SEC5AC30001ED5A20C9 F0289 S326216000D F01EA S4F5FAEC4ED19 F02BC F01D3 S325C35C03440336432E8ADCC0001AEC4E71B3089FCBB34108D010017 YDFTSTRSTRCPY0000 S3262AEC43089FBBB34108D010017 YDFTSTRSTRCPY0000 S32624F5FAEC4ED173089F9BB34108D0605202020202017 YDFTSTRSTRCPY0000 S3262AEC43098023410AEC4341017 YPAGE 0000 S3264AEC430980234108D1B1A53414D504C45205445585420464F524D41545445522056312E304F5F340617 YDFTWRTSTRG 0000 S3262CC00803406AEC4341017 YCURSOR 0000 S3264AEC430980234108D0E0D494E5055542046494C453A20204F5F340617 YDFTWRTSTRG 0000 S3262AEC4309802341030C8AB3410CC0050340617 YDFTREADSTRG 0000 S17 YDFTREADLN 0000 SAEC43089FED9341030C8AB34108D0403545854CHAR nINTEGER o BOOLEAN o'STRING oEo QREAL ocPTR ooTEXT onNIL ooTRUE o'FALSE o'INPUT onOUTPUT on^,QREAL ocPT%N (*********************************************** * * DEFT Pascal Version 3.0 * (C) Copyright 1984 DEFT Systems, Inc. * Standard Run-time Package * ************************************************) INTERFACE DFT_STANDARD; FUNCTION ENCODE (VAR ASCII : STRING) : INTEGER; PROCEDURE DECODE (NUMBER, SIZE : INTEGER; VAR ASCII : STRING); PROCEDURE HEX (ADDRESS : INTEGER; BYTECOUNT : INTEGER; VAR ASCII : STRING); PROCEDURE STRINGCOPY (VAR SOURCE : STRING; INDEX, LENGTH : INTEGER; VAR DESTINATION : STRING); PROCEDURE STRINGDELETE (VAR SOURCE : STRING; INDEX, LENGTH : INTEGER); PROCEDURE STRINGINSERT (VAR SOURCE : STRING; VAR DESTINATION : STRING; INDEX : INTEGER); FUNCTION STRINGPOS (VAR IMAGE, TARGET : STRING) : INTEGER; PROCEDURE MARK (VAR PTRVAR : PTR); PROCEDURE RELEASE (PTRVAR : PTR); FUNCTION MEMAVAIL : INTEGER; FUNCTION EOF (VAR FILEVAR : TEXT) : BOOLEAN; FUNCTION EOLN (VAR FILEVAR : TEXT) : BOOLEAN; PROCEDURE GET (VAR FILEVAR : TEXT); PROCEDURE PUT (VAR FILEVAR : TEXT); PROCEDURE PAGE (VAR FILEVAR : TEXT); FUNCTION FILEERROR (VAR FILEVAR : TEXT) : INTEGER; PROCEDURE CLOSE (VAR FILEVAR : TEXT); PROCEDURE CURSOR (POSITION : INTEGER); FUNCTION ENCODEREAL (VAR ASCII : STRING) : REAL; PROCEDURE DECODEREAL (VAR NUMBER : REAL; SIZE, FRACTION : INTEGER; VAR ASCII : STRING); FUNCTION SIN (RADIANS : REAL) : REAL; FUNCTION COS (RADIANS : REAL) : REAL; FUNCTION ARCTAN (TANGENT : REAL) : REAL; FUNCTION EXP (POWER : REAL) : REAL; FUNCTION LN (NUMBER : REAL) : REAL; FUNCTION SQRT (NUMBER : REAL) : REAL; FUNCTION SQR (NUMBER : REAL) : REAL; FUNCTION TRUNC (NUMBER : REAL) : INTEGER; FUNCTION ROUND (NUMBER : REAL) : INTEGER; END; %L ) : REAL; FUNCTION EXP (POWER : REAL) : REAL; FUNCTION LN (NUMBER : REAL) : REAL; FUNCTION SQRT (NUMBER : REAL) : Ro1 ,"'̍ 'č' 4\'LC/52a54'*54m&lm&O_-<54&m&#lm&1 . hm&+_J&Z,.N54&U'& m& ' 1&6m&54610Z&oZ&b'_54&:O_m& m*5!!94"!!1?&P54oI/"%%j' "%l`&ا5 !ց" 9o9m& % $9$%9 V9Fj&9ց94&2~1OF<&٧ԧo䫈am' aaj&􍵠a'2b54&"U44j&2a<*_$M' 1j& Uo54&a1[4 134  d& b# b%X$2d5ʺzjRB2"  "2BRj4P"&ߎ0C&r44"n0?rBbnPnP5큌%5r5ކUq5B.%5큌%5r$n}f'k}f+߶ffO0mO_46#4\e30'e3eE0O_40 *u00  O_4b0O_4We3n44+5 40tO_42 4O_040YO_40O_40TO_4l0*_O46讍\4Ǝm9 MAX SYMBOLS TOTAL ERRORS CODE SIZE UNUSED STACK RUNTIME STACK REQ SOURCE FILE:  OBJECT FILE: 0$l0O_46V0O_4Kh݈04t\1uh4m.& 1iRm.&݈l0X46:"1Lm'#zfk4a46܎km&1+݈l0&461m'fm4a46mm.&z݈l040s 'Y'N& 2bYzfl4&4݈"2b݈l~046mU1d' |dd9l0 O_46 ** FILE OPEN ERROR **LSTPASOBJ:-2DEFT PASCAL V3.3< DEFT PASCAL V3.3 (C) 1984 DEFT SYSTEMS, INC.) SOURCE: OBJECT: LIST: DEBUG? DIRECTIVE: PASCALIB/EXT46g0k$g4a46 g\+5߄546x10|' J&d 544dd%\" d R0Pg.'\&1gh4$$0461m' %&2 }d ddd|d54"d1?d?dzd5zd'"-'+'N'L' T'+E'WS'6C'9|f f zf |f ĶdJ9dJ1!dfg df &Z&\瀧Z& f9don&fĿg|f`eA dlm׆̷lm߆fpSe1e3gg/ fgfggAe3"95094@C2|^\ '  &&\[E&\&^\'\\-454&_ d,&&H45 ]&6|&/45&$)&.44 CO54&?e"&&1 & &O_n'.-O54W&1*&* &   + .O5S54 ò뎶e"&kX' &  ' &Qo'J䯨[O5e=Re= O_14e=5&e"& e=4e=e=54@C2zZe"'f'bd)'[e1^&O\[&Fd:' ,_&8 Ү\^\ \&ZZ0\#d;& O4Z5454@C2z^\&Z}P'&e10e1&Z&:&Z`& ' ^^\Zm&fZ'd:' ,&L (&C^&<\#\4e"5& U\#\)d&d;&Ҷe"'d)&O4\5454d('!e"&o&c 'b& &P5o醶e"&#&lOacd,'a\5Z)52b54w&Bb  &+[&&b.&/-2b54e"&& & &,& ,. -&, '..oE'-&ad(&Zt&!䬨&M.=-7.oE&n44:, &,)5 O55e"&& '& m & 9pO_*O994@C2z^\oZϮ^' &0\J&+&d(' pO_ l(!&e\0\ '&S\.'3-& ') "s&4oE' '' '\elZ^Z' ,& )^eG#eGҶ454@C2xoX^Z!k&c\YZZ\-' &Jn'Ad^&:Z^' mY& 6 ^ ylXO_^Ů\O&Z\Y'hoY O56454@C2z[\oZo^o_ & oE'!'''܁'&m[&d[&®\ ,\K\L&%lZ\\oE&n\'#'''ˎ wtqd,']n&OO\<&G^\]'>̌ 9d.&2Ǯ\e=4\e=5&^OZ\^^O4Z^\5454@C2z40e"'& ͤoEXj \&f&[^\Z &oE&LXO_Ӈ@ 2,<7^\Z&'XM&4^m& \  mX.VO5045 d0OZ&y&9Go *L' L+  2jn *L& m'o ޮj11Z&fjd0 ' #Z&hj⦠'N ':'/& a a ,laj& *J'%+'-'O J'0+ . -&Pl 2b9 do'9o * HL&m'  9d&s&50n4&54 ' '5b&?& &O50nfdo&%& 'c$l 52dn4&_5 L+-m& *L' b_9   4@3bO_B*2BA4D]AFO_46/2^5@Tf0db4652dnb0 O_4656n fdc'?$c_M' &1!J&]' 1 &Z 52dn 4v' > \+*m&533˦\'m *& Y  o\'# 5m546M' 0&J&5mf*lcO_ffmh*jcO_hh9ooofh=eh=fg=mb'O_c2inoomf*l䍨4O_hiihYIf%fli0&5d'O_cc'O_dd946oM*lO_aa f'14Z&b 4&a*@0 jd' b&me'-2e2a5gdhf946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIihj&ma'O_hh2b942|ocvv&7ĎROJbbI$blaa\'lcM'D$0'0/0] /$070,j+/@M& @Y& XM'\d^o,L&b%a& &s mc'vW&X"od2d5}+@9C@9vRZ&9^_ [ ] 0 \@0&9462~oƏoa1O_&voa& ja+g & 4X5 'A''! '/\'l9 m'1?j+ m'1?j  2b54' '& 'B %MM+ @-`-߈@ '5` `&% 큌% ``큌%CH'' &' 5d݈944"&P__DYja&5 & 5X 4590 0" 9  @ N9} ' j ;}*}} 'z & 0 @;46 464 1"(- @& & ~ I'K禆H&y&uJ1_ 0}H s PH&H&1?& !K瀷@ H&1?& K@  K H|'#dja' ~ oH4' dx 2b51?'H&9зH}H9".1?&9@4om&#1 x'1 j&l -چ2a5-.+ 454S54G"-l'  C#54m&:l/ C"* OC#&'5 m&6{94'&#o -4oL51ojM*546Zm&1m& 1'L'1 Z&l -݆5 0Z&b15+,-o.o/C54&o 11' l)'lllJ*2a5 \'\94&e"9(&+'*&+ *&+)&~6n$&8O_e#+0-ӁF.ρ9/A-ǀ0e#XIXIXIXIe#e"d ́.&* .'B4+850%9" *9e"e#e$ s5555 5e%d& }5'|5 .&!Ɓ.'h e" c& }5&z5 E&/ e"+'-&z50-9.054 =5 5}5'@5e%5'rJ&9ze!*v9d0-$9. }5'055' z5Ce*e*O94e"&0e#XIe#XIXIe#e#54e!d0+|e!)540,hiiiiJ&5450, 02Z$8&EoE"&=d)& e!<)d ,&"oE&O_^n'qZk)`ԍ6zp^d(& ^n' ܎pO_1+e&rd)'^n'&\^&?1 8&K-&.1n'!1oc'oE& 1[ 1vƶd)' ,&&O9!Vp^d(& <^n' ܎pO_71|x(j&&^d,&^9&d)'^n''&^&i1:O_&\ &Od:'O_\oE'\n' oc' do g&X\oc& d:' Bo E&61 1oE'1n'1ߥd)' ,&NO9DFTRESET DFTREWRITE DFTREADSTRG DFTREADCHAR DFTREADREAL DFTREADINT DFTREADLN DFTREADTYPE DFTWRTSTRG DFTWRTCHAR DFTWRTREAL DFTWRTINT DFTWRITELN DFTWRTTYPE 4@C2d;'e"'+''e"('H' ێe"'G"''Ɂ','('x1'N>'m.'g&'J'K'L'I'B'C'D' U45&0e5& &'e+O_>   :;nM&e5& & CnC&:ZX$&.ζe" &ZZ XX ZXݸI& ^ .)ݮ^&]&M& -&.oE'oc'\&\&^oTe"'jT-&p\t&V^mT'ۺ ۱ZX&Y^mT' ^mT'o '٣NVۂ V۶ZXܥޓ0Q وVn&ZX2&^VwZXfVVCd;'+&nVo\o]oSoRzO_~&\&LlSoR&\&PMd:'Pڈ40lR,&_ PzZXmR' 50jR&e"'$40ZXۺe" '  ZX40T50ەjS&"d&^ ',^&ԧU.\oE'Noc'3-''Ɓ'{&Ć&\i&&}\P&v q&goUO_q&^oE'n&hU UŶd+&lUܬ -k&&\&^m& mU& Q   4&\&\;ݰ ۮ^m&mU&9u99|e6ҧU[&,o ~&$]&&o h&U>' ܬJF(&&&! &x'qڮA^٧)aDFTNEW gVgg,`&P^ .I^ &0]&5M&2-&,g0g^턶d,'&GVg8 46q5e"' !46q5e"& d&6q9 ;&94f4*f oead-Z&^ aBa &B|b-5J a & eaH}5fe7e75 IDENTIFIERNUMBERCHARSTRING:=<><=>=..REAL SYNTAX ERROREXPR TYPE ERRORINVALID IDENTIFIERINVALID STATEMENTINVALID SIGNED TERMINVALID ORDINAL TYPEINVALID TYPE IDENTIFIERINVALID FACTORINVALID VARIABLE REFERENCEINVALID TYPE DECLARATION EXPECTING EXPECTING DUPLICATE SYMBOLUNDEFINED SYMBOLSYMBOL TABLE FULLINVALID CONSTANTCOPY NESTING TOO DEEPUNEXPECTED END OUT OF RANGE SKIPPING TO ;FILE OPEN ERRORSOURCE I/O ERROR OBJ I/O ERROR LABEL ERROR WITH ERRORUNEXPECTED EOFSTRING CONSTANT TOO BIG4 - ƀdZ&94&e='&e5%m ' G0e1#Be11e1e3#e3d Z&oJ&0 e5e=O5 5e=g4b'e=<'b0b 5e=O_)&O_95e=9O 9_9O_94e1n#(0e=' 'm&d_&\ &5ma& 540e1$O01P2POŽeafb>'ea 1! Gbex G e䦈$ ' & Ge ''& ' &&e䦈'M & m ' -3 .//*Hre7e7f4f ea5f0R'eE@; eaO0T1bO2b5 Z&940! 501&9L_0J&940b0e1$7e5&m+1 %"Z& ծb' "%Z& 2b'1\9UNDEFVARIABLE PARAMETER FUNC PARMVAR PARMFIELDCONSTANTTYPELABEL PROCEDUREFUNCTIONTYPE ARRAYFILERECORDSETPOINTR AUTOMATICSTATICEXTERNALPUBLIC** ERROR - UNDEFINED **STACK REQUIREMENTS:SYMBOL CLASS STRUCT ALLOC DATA TYPE VALUE LOW HIGH SIZE46f+zf*o1%;-&'0&0LA46 0wO_4 f0f4  1$0O_46  1$05O_46 0=O_4 2b7f1$0_&LO_46  1$m.'f 5PAGE ea 瀌f%9e"/& 4)5e"''8F'E'ف'd^'W4&& '59e+sj'e+fe+jhd0de1$e5"ꦈ' , & '6M&)oc'"o''(oE'n'o &J' d& @ &@45ۮdnO502b54 Z' '1>/Z+e ^/_1K0>,54@C2r^Rn'o'&O_&\^'n'o'&h\ 'i&oE'oc'e"&d[&&. [d\ O_&&\& & Ke"'d='e"' ' ^'ȯZ\&o'\^n'_e"'Z'O! 'Dd='6 <'+>' ^'O\o'&R^n&?R VT 3ZX\8&%^n&bRVT o'\O4\545 4@C2{^o[d+'-&2l[.^&oc'o &^[' ^['? ^&v^oE'm^ '&qd+'F{-'? No''oc'"o &?*d+'$;-'e"&$  d+' -&\ ^& O4^545 4@C2|^&^ 'd^oc'  *'N /'G Vo''/o &L/'Sc*'0|e"'&'6' 7'e"'&\ ^/& O4^545y d*& ^& 4@C2v^e"''>'.''Z'w '|9'=';'<':'3'M'#'8'jd@'ā['('; f^oE'e# ,n Ee#  *K oE / oc $^ &04)~5&% o ^oc&1oc^' ^'w ^O4^545(?&^&\o ' oc& )"&\ o &o' O_&_ O_&\C\ O_&\8\qo &zAn^(&h e"&U&VZ\X .@ Z\X#&6M&*]&%)v(g&o & ,[&o &)H&Ƨ\[0&o &]$\>' $& zo'&#Eo'^' &}\ Kd]'6\F&je" 'o  '\+&Ocd,&  ]5&.Z\X -'ρ' 'ʁ'' ήZ\X"&VW\XZ-'&+.oE'!oc'XmV& mW&  \ W+ R-'XmV& mW&  D \oc' &#   B\oE'oc'\o '.;0Z,oc&?ZO_5ﮮZ!Z,I&O_!&Z&ȮZ4(>&54&  &)/54 '&.O5e"5'A'?U4 4je"'t |4Ȧb&d(&& d,')S554"5&> 4&.d' 5094@C2ZO_}f'^e1\oe1Xe")'%''G'@#'K2'>'j.(' 46.m&lDRP5w&*4e+"5&d,'ef='&.2 & Ce"'=3&bV}&Z=&Se"&)^Ve!OoEe+3 &4V5oc&9Xe19e"&"&4=5&Se"' Ն Ά W&sZ#e_T'&)e"@'*'!' & T nT&]Vg&Rd,':i&DVXV \&T''˦& ^^0V# Xe1e"&e1X|e6m'Ze+RP&|ZX^}f''Z^O_eGeIeK,;ZeGeI,eI} ZZ45 e"&ze69;_'e"('' ɶd;&9O 4od+'-&je"'c'- '5&e#m'CSo .,a1! ]ne# Mma'Pm'e%e%e+4T5oc +&) &#oE'o 'oc&ma'm&o9m2a94@C2rVR&V&" Xo MԎ瑮X <Xe+e"4'm&@'Á*&XRRX 'L' 0j&2aze5Te1RX454R%& m+ '{5\&qX|e5j &E&d(&d;')e1TX '1:xX0&  ''&oE& 40m5092aX|e5e1TL0j&2aX0PXe+9e"&v\e1^oZo[e"&\~&ZVd,&L : ˮZ'aQ&\^Z, .X4 &2b oc5&&\l0e1%9X4  &0&0jb+B &  oc'䣈&  2c9DOIFINOFORTOANDDIVENDFORMODXORNOTSETVARCASEELSESTATICGOTO PROCEDURETHENTYPEEXITARRAYBEGINCONSTPUBLICUNTILWHILEDOWNTOWORDPACKEDINITIALREPEATFUNCTIONCHRFORWARDMODULELSLLSRCALLABSORDSUCCPREDODDBYTEPROGRAMEXTERNAL INTERFACEREADLNWRITEWRITELNFILERECORDLABELWITHREADNEWRESETREWRITESIZEOF,Cd 'de!߁A%^Z"Z dߎd|e!,0%9#_'߁A%Z#o5d&Z&\ & l0&ކe"2a9d0-9.9de" d:& +=&| $<&+='>&i  >&+=&V e"d+z9'&Ge"e!do+e''e!~$|e!  +K'&+D''߶e!J& de#\CLRACLRBENT LEASLEAUPSHSPULSRMB SWI TFR ,S++X,DXYUSUU,PCX46għg}g& 01|gA2~BAN4A||g*g2ce+0e+5S454 30 NIZ5C46A2z1b@F!):2f54}g',g540A1P@PP !546ex Z&bbe+e+e-54A1PD@|o$0P$eN546R=be9eMoeM546 46googe+1"e+546(2|B0f@h0 4J&4A'925460(5RDFTPSCLMAIN 0000}f'-1VO_46>>2b }f'1V4 >1Um.'f,q9}f&Ve"ee'f% ea4Ce+e-4'feio/?La20a&2b3-e+e-fg9e5Oea>e60>ede-? 9e?'"''4 4Ke?9e?J'9e?9e?9e?J'e?J'*9959j95@94@959425I943 e9'+ 'Z&e;'+$0N2>,1$O_e9e;9$0b>1$94&eMeA'[, eA']DDDDD>o'+.9-3.#-eA&eA@ #eA6 eAt 4eA 5ceM`eA94 O4AeMo&#$=g0>5&9}f'!l0?fľe+0e+19B 9O9_9e@e+9eM*ok9a9BEQ BGE BGT BLE BLT BNE BPL BRA BSR CMPDCMPYEQU INCBTFR TSTBD,Y&U !'A /M ,E -Q .I4-', D1N %.b01* oc& 1' oE&C134 I,5  RDFTSETCMP DFTREALCMP DFTSTRUCTCMPDFTSTRSTRCMP4u}n̬i5+35 ׆\qe?9-', 1 (.*y1s oc& c`1m oE&1y\9̣ee?9 E 94F5ee?9 E 9w%O_e5e?9&U 9'A 1/M ),E !-Q .I ae@ ]42a'\4e+- b.' ce+V b&-IbDe+eMU2boeMc5&-eBeBe+aJeBeMLBo$:ceMc52eB94]ye?5460dYe9eMoeMa~e@540exLB0b9mTUe@5*ADDDANDAANDBBEQ BNE BPL BSR CLR COMACOMBEORAEORBFCB FCC FDB FRB JSR LDB LDD LEAYLSLBLSRAORA ORB PULSROLARORBSTB STD SUBDTFR TSTATSTB,S+[,S++]DYA,BB,AD,Y*+8,-S40'e?9e?5JCv҆SzɆVo9% 'fQ5M*j+7 ̪6-9̤Z ^9̨~ 99Ύ5 eAO_$Ύe?e@9459G9V9̣re?9pe?9DFTMULTIPLY z9DFTDIVIDE c,9Xe?9re? e?9 9XI9 CDV -NΎn]U'b+891q eA&f-4919DFTSTRUCTMOV46o1h5DFTSTRCTLOADe!\_O4eM*+(oeMn2b946e!,de!'Z&/d51 O1w4&eMo5&eM92M'>9DFTSTRSTRCPYDFTSTRSTRAPPYM'e9DFTCHRSTRCPYDFTCHRSTRAPP1{91{q91qg91g] 1\R 1QGe?91B91:91291( 919eK eKeI-eI9eK +eK9DFTSETUNION DFTSETDIFF DFTSETINTER DFTSETINCLUDDFTSETCONTANDFTSETIN DFTSETELEMNTDFTSETRANGE DFTSETDEFINEDFTSETLOAD DFTSETSTORE 1qq`91sgV91u]L91wSB91yI91}A91991/ 91%9eKeKeI-eI9eK+eK9DFTREALADD DFTREALSUB DFTREALMUL DFTREALDIV DFTREALNEG DFTREALABS DFTINTTOREALDFTREALLOAD DFTREALSTORE̍n+I946e%e'e){e!do546or5CLRAFCC LDB LDD LEAXLEAYADDDRTS PSHSSEX STB STD LDX TFR UXD,XD,YX,DY,D4)Ke9m*' , &1& 4 @5 /54!؎!eD&!09e?@eAO?9e?+Oe@946@eDe5'*e@'"e@4eDeAO_!feDj&2aeD546^bd%cd546bd he?50'& &eDeD946Sb!Ȇ0ldƋ!fe@bdB546'!!G7b!Ȇ00Ƌ!0 !"#bd=eAO_e@e?546e9&OeD'.h'*0eDeA!beAdhRe@5he;eDeAh55ƍhe;'he+ Yhbe9eM,PCeMde5-'' &-!9!9-'' &!9!9465e?-'!e?&.o & !T|e?94xbA!Ȇ0цe?e@54b$!Ȇ00!Ȏ!e?e@546d;eAdq5X!!xe?e@946=!!]e?d 46'0heA!546}f'440f':Fd4P1"&ߎ0C&r44"z0Nr009o0&0 ̧43~4@NP02"5큌%5r55B%5큌%5r$n'(C) 1984 DEFT SYSTEMS, INC.4@3d]'4/\o0704`4`4Z4b2b0704;49474b2b44&2h^4,M407^04407J04444b2b44&m2h44b2b404060444&.2hO_vt2\54@3d2~b4X44&p2f5]' TM42b2~04&44&>2f5]'4O_O_2~444&2f5]'s4,4406500 0qO4 O&2~m444%t2f5CS]'0@05O4 O' (! 2\54@3d4r2b4O_'O_4CS_&\O405O4 O_&\]'04040q4u44$2hfdd4&LFD4O_& O_A :32\54@3d2~Z4Z.Z4 ZZ 2b2\54@3d2~D4DZO_0O4Z.'D4Z0O4?DDZZ 2b2\54@3d2w4l2b4{'0U4MARK02b*z]'0U4INS0y2b0U4REP0g2bO_40U44;2f44b2bSS4O_/OS4u04b2b440U442a2h40UO40450U0 S440U4422h0U40U4/T4/2b40U442f440U4412h0U40U4/L4/2b40U44O2f2\54@3d2x-ZX*4 .'4 &  4O_/O_4/4 4b2b 44b2b4 .4 Z4|&Xw2~Z4a44!y2f5]'2~Z0104X4K44!2h5VZ4(&2~04X444 2h5TZ4 &N44b2bTT4O__.\O4T4 _/\]'X4T4Z4VZOXT2~T4X4 44 2f5]'T4`TT Z4R& X4ZZX4 XX4&42b2\54@3d2|D4OZ]'D4BXA4X.=0$4O_5 4@5@O4O_' D4Z2\5XX 2bD4ZX4X.50$I4O_5 4@5@O4O_'2\5XX 2bI2\54@3dW4`,B4C4`4b2b.-4@/B44@ B42\54@3d2z444b2b440V44./2h0V40V4+C4+2b 40V442f440V44-2h0V40V4+LS+2b40V44_2fS4M4O4@442f6 &C^&C &C& C & C&C &w4442f4ߤA& C;B&C+C&CD&C E&CF&CG& CH&O_CI&CL&CM& CQ&CR&C|W&ClX&C\_&C^E^&C5 &C%&C &CCC2\54@3d2~O_JB4BZO_0O4Z.+Z0OB4Z442dZZ 2bB4O_0O4442f4 &2\5BZB4O_0O4Z.Z4 ZZ 2bO_Z4 _'\O4Z4D_/\]'W4&'Z4O_,ZZBBB4 @ 4 .0B442dZZZ4500 BBB4442fGO_4Z500 2\54@3d4O_&2\52~44w442f5]'2\542bV0*04G4[0*0404.4.4b2b442h4 4 0*b04 442h4Ӄ0*4O4 O'"4 50*0 O_42b4D2b2\54@3do4O__&\O4a4O__&\]'2\5C<848/,-4O_&42b 42b2\54@3d4&2\54.!4M2bO_O_4k2b'44b2b4 . 4A2b2\54@3d2~j4O_&2\5UZ4<2bF4Z_'\O4644_-\]' 42b4 4b2b4Z2b2\54@3d2B   !"#$%&()*+,-/012345689:<>AERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRREDITOR BIN PPASCAL BINLINKER BIN'PASCALIBEXTRUNTIME LIB./PASBOOT 64K PASBOOT OBJ DEBUGGERLIBASSEMBLEBIN LIB BIN7FORMAT PAS;FORMAT2 PAS=FORMATSPASM?IFORMATSPOBJFORMAT TXT@kPASBOOT ASMMAKE32K BASC~4&2\5Z4Z2b4Z_'\O44_-\]' 4T2b4 42b2\54@3d2~b4O_'Ԯ42bO_ZZ4_/\O434CS_'\]', 0'hO4 O&ZZ 4Z4b2b4CS&CSO_O_402bO_4L2b2\54@3dO_{}4q, 4$2b2\54@3d2~M4C'42bO_ZZ4_/\O42~444(2f5]',0&ZO4 O&ZZ 4ZҮ42bO_4m2b2\54@3d횃헮4Q2b2\54@3d42bO_qO_mCSm42bO_VLF42b2\54@3d2~42b$$2~0%444D2f542b2\54@3d2~4&9O_4 500 ծ4 2b4s2bO44_&\O40yO4 O_&\]'d4.2\52~H4H4B4b2b4'44A2f5CS]'2\54Z4Z-Z4Z4OZZ 2bZ4Z-&Z4Z0500 ZZ 2b450n0 v442ds4^2b2\54@3d2~]O4<42_&\]'`4&2\5 Z 4Z-&Z4Z0500 ZZ 2b4 500 꿮4 2bꔮ42bO_ꉮ4C2b2\54@3d4J2bO_4FILE:4f2f044442h42b2\54@3d22~0442d5ZZ4CS/sEZ440U44!b2h04 FILE ERROR0U42b42bO_40442f4442f42bO_E2\54@3d2042b0442d04&2\50d404i2b040M4 O_42~0442d5]'2\54k2b4444b2bȃ0!)040!044402hO_2~0442d5O4תCS]'04044S2~O_0O4G444b2b44K2f5CS]'@42bO_4 CACHE FULL4 2f4442f]0040 .04O_0O44b2h4O_0O܃4 500 2~044?2d5\44b2b004004442h4(!O_42b42b2\54@3d2ޮ4S2b044d2d048&2\50404 O_4I2~044o2d5]'2\52~D4B442f5]'O_D0O4 O'04D0500 DD 2~D4B44C2f5]' 4D4B4b2b4b2bO_4500 0404O_4j2~0442d5]'BDDD 044;2d2\54@3d2~4u44 2f5]'*yO_\d]42b42b2\54@3d2~/4%&2\5% 4O__&\O40O4 O_&\]'c2~4444 2f5]'/42b䰃O_䗮4"2b4L2b ~w^tZj4Z.&Z4Z0H50>0 ZZ 2b2~0'414/44 2h5Z2\54@3d4O__'\O44O__,\]'4`2b42b2\54@3d2~444 2f5]'24 500 㖮4=2b2\5l4@3d2|4'LCXZ4Z./X0O4Z0]O'2\5XXZZ 2bO_C2\54@3d24^2b4X42bO_40442f04444s2hO_0OTT4O_& 42b2\5PO_R0C]'4F2bO_4TO:4d2f044442hO_0OR42bO_4COUNT:4!2f0414Z2b044442h2~0442d5PP4/ 4%2b2\54T4b2bVP4O__,\O42~X4T444 2f5O42~V4R4X44 r2f5]'O_Z2~4@2b5]'ZX0O4 O&ZZXXX0nO4O_&\O4X4V_&\]' X4V'%C]'X4T004X004V4X4b2b44@2hV004V4R004V4X4b2b442h004X004R442hX4RX#4R4T4b2b  X4TXX4ZZ42bO_4m2bZX44b2b߹߳4u2bPPߝ4T4b2bV42b2\54@3dO_CO& 42b& 4e2b & 42b & 462b& 42b& 42bu& 4p2ba& 4;2bM& 4C2b9& 4x2b%&FIND:O_442fC2\5A4@3d2~ގ44Į42f5]'0444Į4N2h"0044A4Į42h2\54@3d42b0j040^0444b2b4Į42h2~ݿ44Į42f5]'ݣݝݗ4ݫ4b2b݅O_݅݉2~u4k4Į42f5]' e^Į42b2\54@3d2O_[2@0:O_4O_500 U4q2b42b2~42b5T2~4^2b5]'*>O '''&[[]'O4'ܦ4ܢY܆4܆W2~Y4W442f5]'(WYl4hWLZJTJUW4Y4b2b>:4O_'GO & 4@2b0& 4@2b&04Y4W442hٮ42b2\54@3d2|0ڌ442d044&2d44 b2d04DEFT EDIT V3.0O_4  44 22d040(4O_4'44 2d04INITIALIZE ? (Y) O_42b040X440X4NX'0X4nI'0Z40644b2bڹO_ڵO_ڱO_ڭڮO_ڬO_ڠO_ږO_ڒO_ږ~ڏO_ڍڊO_ڃO_|0ڔ42b0ڟ4u2b0_4g2b42b4ސ2b2\54@3d4@a2b]'2~4@2b5l2~4@x2b5]'sXO& 4@2b\& 4@2bJ & 4@2b8&CHANGE:44@2f& 4@P2b& 4@g2b& 4@2b&14@پ2b0h4O_4?44@E2h044@2d2\5 & 4@2b& 4@@2b&4@U2bk & 4@2bY&044@U2d2\5>&O_4@2b&&4@2b0ح4O_4؄44@2hc2\54@j0h1!f% $'54@jhf% $'5hfd\Z' & * '`%` @$@Z&禀 & Z'`Z&hj9oifd$li9oifd#li9fd'0 &1!f&h9d0OZ&y&9So *L' L+  *'4E2d2jn *L& m'o ޮj11Z&fjd0 ' #Z&hj⦠'N ':'/& a a ,laj& *J'%+'-'O J'0+ . -&Pl 2b9 df9gd!'9m&og9ogd'9m&,  &lg9do'9o * L&m'  9d&''o4 1-& &2b95 2q40&<&7 ' ','1dod'ld& ' ',&O5502onf&A46 w2d52ob' 52dnd&&50n4&54 ' '5b&k& &{50ndb'0&2bd42d50nfdo&%& 'c$l 52dn4&_5 L+-m& *L' h_9  4@3bO_B*2BA4D AFO_46/2^5@Tf0db4652dnb0 O_4656n fdc'?$c_M' &1!J&]' 1 &Z 52dn 4v' > \+*m&533˦\'m *&_  o\') 5m5db'0&2bd42d50ndm&'o1f&1!&9d 465dOf9fd946M' 0&J&542|ocvv&7ĎROJbbI$blaa\'lcM'D$0'0/0] /$070,j+/@M& @Y& XM'\d^o,L&b%a& &s mc'vW&X"od2d5}+@9C@9vRZ&9^_ [ ] 0 \@0&9462~oƏoa1O_&voa& ja+g & 4X5 'A''! '/\'l9 m'1?j+ m'1?j  2b54' '& 'B %MM+ @-`-߈@ '5` `&% 큌% ``큌%CH'' &' 5d݈944"&P__DYja&5 & 5X 4590 0" 9  @ N9} ' j ;}*}} 'z & 0 @;46 464 1"(- @& & ~ I'K禆H&y&uJ1_ 0}H s PH&H&1?& !K瀷@ H&1?& K@  K H|'#dja' ~ oH4' dx 2b51?'H&9зH}H9".1?&9@4om&#1 '1 j&l -چ2a5-.+ 454S54G"-l'  C#54m&:l/ C"* OC#&'5 m&6{94'&#o -4oL51ojM*546Zm&1m& 1'L'1 Z&l -݆5 0Z&b15+,-o.o/C54&o 11' l)'lllJ*2a5 \'\94&o1 ,"'̍ 'č' 4\'LC/52a54'*54m&lm&O_-<54&m&#lm&1 . hm&+_J&Z,.N54&U'& m& ' 1g&6m&54610Z&oZ&b'_54&:O_m& m*5!!94"!!1?&P54oI/"%%j' "%l`&ا5 !ց" 9o9m& % $9$%9 V9Fj&9ց94&2~1OF<&٧ԧo䫈am' aaj&􍵠a'2b54&"U44j&2a<*_$M' 1j& Uo54&a1[4 134  d& b# b%X$2d5ʺzjRB2"  "2BRjdb'obd45O1'Z&2dnodlO1c 4fd#]' & Z 52dndomg'ijO0 " l\jg&9hOf-)d,dd'4g0e15J&d92~hg'#\O00 ?1# j' 䦀Z&2b92~ojokfO1f1!fh'lk" &Z&2b9ok 4@fhd&1?&5@52fn56CS244@3d0&54@fhd1?& mf*lcO_ffmh*jcO_hh9ooofh=eh=fg=mb'O_c2inoomf*l䍨4O_hiihYIf%fli0&5d'O_cc'O_dd946oM*lO_aa f'14Z&b 4&a*@0 jd' b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIihj&ma'O_hh2b95b,52dn"9d9@d#* O_d9d b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIih:z4P*"&ߎ0C&r44"z0Nr*00:,o0&0 ̧43~4@NP*2"5큌%5r55B%5큌%5r$n'DEFT LINKER VERSION 3.1(C) 1984 DEFT SYSTEMS, INC.4@3d04D2\54@3d2~044+2d5CS]'@040D44-?,CO_0%O4O_O'2\5 O_O_C2\54@3d2|]'47,044.k2d440X44592h040Y4 4-d0e4!4-VPAGEO_4-H0X4O_4-=-'04 O_4-&-04 O_4-,O_L0404O_4,,1*2\54@3d"0442d0404O_4,,2\54@3d20ȫ4042042 IN 1443r0.0412b0ȫ44v2d2\54@3dCO40_.\O4CO49_-\]'CO4DGCO4A_.\O4CO4F_-\]'CO474b2bDO_D2\54@3d20B440U443r2h040410U41 2b0442d2\54@3d44O_0O,O_ES2~0uO442d]5'XI1?&42~\0KO442d5E2\54@3d2~2~0[44f2d5]'>2~0Z44P2d5]'(E[O4]5'XI1?&4ZO2\5]'6+**** HEX WORD PARM MISSING IN OBJECT RECORD42dO_EO_2\54@3dO_E2~044'2dO_&E704 OPEN ERROR:O_4* 2~044'2d4))2\54@3d2~O_Z4Z.k04Z02gO44)2b2~044'P2dO_')*** BINARY FILE I/O ERROR42d2\5ZZ 2b2\54@3d2|044 40z44/2jEXxZZ4X,Z4X4]5'DV1?&MI4 4/0z0404.&+!04_'\O4CE2\54 4/0z0404.6/ XZEO_EZ4X&UZ4 4/H0z040n4-&'z0u4_'\O4CE2\54@3d2}O_EO_0*O4 /3$#*** SYMBOL MISSING IN OBJECT RECORD42d2\52~44F2d5]'}B4&2\5ԃ04'N404500 焍*** DUPLICATE - 42d2\5Qg4^.(*** SYMBOL TABLE FULL - 4D2d2\5/*&4O__&\O44 4-0z0404_,F/\]'Z4Z-Z4 4-]0z04Z4 4-D0z04+2bZXI4ZXI0@50@0 Z4Z0F50;0 ZZd2b!4 4,0z0404+2b4B500 كXI4O_50@0 B4'"2~XI0@044K2d5YE2\54@3d2~O_YO_TKO_=O_5O_0dFO_BO_>O_O_4O_&2\54@3d42.JĮ04*** UNABLE TO ADD OBJECT FILEO_4$04O_4$$uO_244+bĮ0.0404)2b2\54@3d20@442d044$2d0404 4$ 0 4O_4#2b`44'2dۮ04ORIGIN4#2b04044""04)W'2~044+2d57m44&2d0444##K04#A}{uoO_k44&L2d04 LIST FILE:4# 2b04044"0!04('<0404LSTO_42~044g2d5]'Z04"O_44%2d04 BINARY FILE:4"b2b04044!!A04''40404BINO_42~0442d5]'g0444"2f04!44$2d04 PASCAL? (Y)4!2b04044  04N'7')04n'&'PASBOOT4@2d04 DEBUGGER? (Y)4!=2b04044 ` 04N&'c04n&'R" DEBUGGER/LIB4@ 2d04YDEBUGSTART 0000&52b2~442d544#2d04OBJ NAMES FILE:4 2b04044_04&'30404LNKO_42~0442d5O_]']'F040441044@2d2~0442d5CS04 OBJECT FILE:42b0404404%/& O_^0404OBJO_42~0442d5]' 044@]2d2~0442d5CS8]' RUNTIME/LIB4@2d2\54@3d2zO_450V0 4O_50V0 44b2b40V044O2f40V04472f040V4O_4t2bO_2\54@3d2O_4500 4500 O_400442f9400442f]'~0!4 YDEBUGSTART #E2b2~O_44i2d5]') XI0@40044I2f$*** INVALID DEBUG MODULE42d0404O_4^2b044A2dzCS]'*** NO MAIN ENTRY4?2d 4E2d=]'PIC4-2dNON-PIC42dORIGIN 442fLAST ADDR ڃ442fMAIN ENTRY 442f 42dTOTAL SIZE 44b2b442fSTACK REQUIRED n44_2fTOTAL MEMORY 84G4432f 42d,4 4044#2h04 TOTAL ERRORS!$04!&2b0442d0404O_4u]'044d2d2\54@3d4 500 0~4Į4q2d2\54@3dc]'+*** DUPLICATE MAIN IGNOREDĮ4%2d+#$2\54@3d*** INVALID OBJECT RECORDĮ42d04Į42d2\54@3d4B4B2\54@3dB2~04Į4x2d5442d2\54@3d2~O_lve44!345Į0>0 <44! 4O_5Į0@0 44 45Į0B0 44 4C5Į0C0 2\54@3dO_0O4 '#*** INVALID MARKERĮ42d0O4P&(p44 >45Į0B0 a2~04Į42d5F4<32~44߮Į0@04Į42d52\54@3d2tك44Į0CO4O_&A粃4445Į0C0 焍 * LIBRARY *Į42d]'L MODULE ORIGIN 4Į4a2f MODULE SIZE (4Į4:2f0+4440P4Į42jO_2~Į42b5CS]'2\50O4K&:2~4Į402d5]'!Ѓ04&0O4K'zO4h42_.\]'1*** MAX OBJECT COUNT EXCEEDEDĮ4$2dO_]'Z4Z-JZ44ʮĮ0.04Z44Į0.044oZZ 2b囃44iĮ0.040P42b442d0P4*4[44)Į0.042b0P4Į4=2d02~Į42b5]'0O4J&2\5 2\54@3d2y440.0442d04440.04OBJO_4!O_44@2dO_U2~42b5]'nO40vO4J_&\]' 4@e2b =]'U0>OB&44@G2drC& 4@{2b`F&2~0Y442d5XBM& 4@z2b0P& 4@2bX'Y&#2~44x2d5X 44@2dA&2~O_44N2d5XR&L2~44/2d5]'2uXI4jXI0@4V50@0 yD&$2~0Y442d5]' Y44@"2dML&44@/2d6S&'2~0[44!2d5]'44@2d 4@2b2~0442dCS'%*** OBJECT FILE I/O ERROR4U2dP0044]5'DV1?&40V4]5'DV1?&,%*** MODULE TOO BIG42dU]'H MODULE ORIGIN V442f MODULE SIZE 442f2\54@3d4B500 pisl2\54@3dB4N004Į42f74,64+2\54@3d2~2~0Z4Į42d5]'Z4442dO_2\54@3d2~O_Z2~O_4Į4F2d5]' 2~0Z4Į42d5]'Z4ÃXIĮ0@Zᬃ044O_&B4O_'O_^B4O_&O_H*** UNDEFINED - Į4O2dZ4B4b2b442d2\54@3dO_444Į0>'*** phase errorĮ42d2\54@3d2w0߫4440S4Į422j}4u/l447Į0.040S4&wA44Į0CO4& Į42b42b2~Į42b5]'0O4K'2\5 2~Į4\2b5]'0O4J&2\5 2\54@3d2y04ވ44V0.04OBJO_4 4@`2b2~42b5]'`=O40EO4J_&\]' 4@q2b ]'B0OB&']'?44@R2d 44@C2d D&A2~0Z442d5]'(VZ4V.O_44@2dVV 2bF&E2~0V44W2d5]',a4V44b2b4V00442fsL& 4@2baS&'2~0U44q2d5]'UO44@n2d 2X&O_44@2dY&444@2dh2~044 <2dCS'%*** OBJECT FILE I/O ERROR4z2d4e2b2\54@3d2o4g4b2b4O_00442fD4@4b2b40044ޥ2fZ 4Z.4Z44Ʈ0B50Y0 Z440>4۾4b2b4ۤ0!0442fZ44a0@4s400442fW4LO_X4X.&64X4 500 XX 2bX04Z44ٮ0.049:4a2b 4:500 X0O4:_'\O4X0O4/_'\]'-ڑ4X4X0500 XX d4YZZK2bI4O_500 3,64"*42b2\54@3d2蠍 42d SYMBOL TABLE42d 42d0ȧ42b4.`؃XI0@0440Ȟ4452hڲ0ڭ44O_& AȝRȝځ0|44O_' DȜ ȜP0K44O_'UȜ0Ȟ4****=2b0ȧ40ȧ4.0Ȟ40 4NȝO4EȜO4< 444 40z04 2bO_0ȧO4FO.0ȧ44~2d0ȧ42bن2b0ȧ44S2d2\54@3d24@2b4@2b#4- 4@2b ]'0 4YDEBUGTABLE 0000+2b2~44@2d5]'XI450@0 ש4 4|4ҍDEBUG TABLES SIZE 44@܍2fx4l0n4YDFTHEAPSTART0000 2b2~O_44@޴2d5CS]'22~44@2d5]'7XI4 50@0 ]'2\54@2b4.4@+2bָֿ 2bֲ]'4@52b4@2b4@2b2\5d0OZ&y&90 0" 9  @ N9} ' j ;}*}} 'z & 0 @;46 464 1"(- @& & ~ I'K禆H&y&uJ1_ 0}H s PH&H&1?& !K瀷@ H&1?& K@  K H|'#dja' ~ oH4' dx 2b51?'H&9зH}H9".1?&9@4om&#1 '1 j&l -چ2a5-.+ 454S54G"-l'  C#54m&:l/ C"* OC#&'5 m&6{94'&#o -4oL51ojM*546Zm&1m& 1'L'1 Z&l -݆5 0Z&b15+,-o.o/C54&o 11' l)'lllJ*2a5 \'\94&o1 ,"'̍ 'č' 4\'LC/52a54'*54m&lm&O_-<54&m&#lm&1 . hm&+_J&Z,.N5So *L' L+  d'4E2d2jn *L& #m'o ޮj11Z&fjd0 ' #Z&hj⦠'N ':'/& a a ,laj& *J'%+'-'O J'0+ . -&Pl 2b9 df9gd!'9m&og9ogd'9m&,  &lg9do'9o *XL&m'9d&''o4 1-& &2b95 2q40&<&7 ' ','1dod'ld& ' ',&O5502onf&A46 r2d52ob' 52dnd&&50n4&54 ' '5b&k& &{50ndb'0&2bd42d50nfdo&%& 'c$l 52dn4&_5 L+-m& *L' h_9+  4@3bO_B*2BA4DAFO_46/2^5@Tf0db4652dnb0 O_4656n fdc'?$c_M' &1!J&]' 1 &Z 52dn 4v' > \+*m&533˦\'m *&Z  o\') 5m5db'0&2bd42d50ndm&'o1f&1!&9d 465dOf9fd946M' 0&J&542|ocvv&7ĎROJbbI$blaa\'lcM'D$0'0/0] /$070,j+/@M& @Y& XM'\d^o,L&b%a& &s mc'vW&X"od2d5}+@9C@9vRZ&9^_ [ ] 0 \@0&9462~oƏoa1O_&voa& ja+g & 4X5 'A''! '/\'l9 m'1?j+ m'1?j  2b54' '& 'B %MM+ @-`-߈@ '5` `&% 큌% ``큌%CH'' &' 5d݈944"&P__DYja&5 & 5X 4594&U'& m& ' 1l&6m&54610Z&oZ&b'_54&:O_m& m*5!!94"!!1?&P54oI/"%%j' "%l`&ا5 !ց" 9o9m& % $9$%9 V9Fj&9ց94&2~1OF<&٧ԧo䫈am' aaj&􍵠a'2b54&"U44j&2a<*_$M' 1j& Uo54&a1[4 134  d& b# b%X$2d5ʺzjRB2"  "2BRjdb'obd45O1'Z&2dnodlO1c 4fd#]' & Z 52dndomg'ijO0 " l\jg&9hOf-)d,dd'4g0e15J&d92~hg'#\O00 ?1# j' 䦀Z&2b92~ojokfO1f1!fh'lk" &Z&2b9ok 4@fhd&1?&5@52fn56CS244@3d0&54@fhd1?& mf*lcO_ffmh*jcO_hh9ooofh=eh=fg=mb'O_c2inoomf*l䍨4O_hiihYIf%fli0&5d'O_cc'O_dd946oM*lO_aa f'14Z&b 4&a*@0 jd' b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIihj&ma'O_hh2b95b,52dn"9d9@d#* O_d9 b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdoJPASMATHP KTRUNC KROUND CDEFT PASCAL V3.3 CPASMATHP V3.3 RTRUNC 0000 S34403364327730423410CC000834064F5F340630533410AEC4341017 YDECODEREAL 0000 S326A327E30533410AEC4341017 YENCODE 0000 S32643506ED49325C35C0 RROUND 0037 S344033643042341017 YDFTREALLOAD 0000 S8D0600000000000017 YDFTREALLOAD 0000 S17 YDFTREALCMP 0000 S102F0001327E3042341017 YDFTREALLOAD 0000 S8D0600500000000017 YDFTREALLOAD 0000 S17 YDFTREALSUB 0000 SAEC434108D8F32693506ED49160002 F0052 S327E3042341017 YDFTREALLOAD 0000 S8D0600500000000017 YDFTREALLOAD 0000 S17 YDFTREALADD 0000 SAEC4341017FF6832693506ED49 F0078 S325C35C0 PP004B 0000 JPASMATH KARCTAN KCOS KEXP KLN KSIN KSQR KSQRT CDEFT MACRO/6809 ASSEMBLER, V3.0 CPASMATH V3.0 S002500000000005000000000001666666667003333333333007500000000011570796327048214381390700242007797108276704170300281605223708241341702100162831853070AFD68479391207E4850942160FF16111701807F3420963810FF54279132807F7245719650FF89802395400011093241308014283980 S800019999912108033333331600110000000000B7C46371524377D24166676257E11544999397E50139294607F19597696807F68089371690020699586590053938296660111712552140120346786770126509491290123025851250110000000000043429447590C0A100466877089181398528008329815505587604661 S76000711197440008620995200000539990857148477760000000415552000008332400000000272000000008218000000000160000000008117917594690C06122640230885442867500005161042727384590490000004218700000083820125000003312428571483121500000002486000000082202500000001900000 S00008145000000000130000000008110986122890C013237876081812630774316012152451713811775772663011479810553811248590154011070220132809364426155008427983539807901234568007901234568808888888889011333333333802876820724344033643278304934103042341017 YDFTREALLOAD 0000 S308DFE23341017 YDFTREALLOAD 0000 S17 YDFTREALADD 0000 S2011344033643278304934103042341017 YDFTREALLOAD 0000 S8D60308DFE27341017 YDFTREALLOAD 0000 S17 YDFTREALDIV 0000 S17 YDFTREALFRACT0000 S17 YDFTREALNEG 0000 S308DFDD2341017 YDFTREALLOAD 0000 S17 YDFTREALADD 0000 SA6E4A7542A10308DFDC6341017 YDFTREALLOAD 0000 S17 YDFTREALADD 0000 S6DE42B0317 YDFTREALNEG 0000 S308DFDAD341017 YDFTREALLOAD 0000 S17 YDFTREALADD 0000 S6D542A0317 YDFTREALNEG 0000 S318D0006308DFDBA202C17 YDFTREALMUL 0000 S8D1417 YDFTREALSTORE0000 S325C35C06F58A6622A06847FA7626358396D5827FB16 YDFTREALNEG 0000 S10AF56A680A759AF5A16001AA680A759AF5A10AF5630E4341017 YDFTREALLOAD 0000 S30E4341017 YDFTREALLOAD 0000 S17 YDFTREALMUL 0000 S30D8FA341017 YDFTREALLOAD 0000 S3067341017 YDFTREALLOAD 0000 S17 YDFTREALMUL 0000 SEC5AC30006ED5A30D8FA341017 YDFTREALLOAD 0000 S17 YDFTREALADD 0000 S6A5926E017 YDFTREALMUL 0000 SEC5AC30006ED5A30D8FA341017 YDFTREALLOAD 0000 S17 YDFTREALADD 0000 S6ED8F634403364327830493410A642484D2E103042341017 YDFTREALLOAD 0000 S17FF6C318DFF5C2023308DFD08341017 YDFTREALLOAD 0000 S308DFD6D341017 YDFTREALLOAD 0000 S3042341017 YDFTREALLOAD 0000 S17FF4A17 YDFTREALDIV 0000 S318D0007308DFD1016FF5C17 YDFTREALMUL 0000 S17 YDFTREALSUB 0000 S16FF2A344033643278304934103042341017 YDFTREALLOAD 0000 S308DFD87341017 YDFTREALLOAD 0000 S17 YDFTREALMUL 0000 SA6E44881042E2B8D3F813E2E2581C02D30A75417 YDFTREALFRACT0000 S318D0007308DFD1216FF09A6E4847FAB54847FA7E417 YDFTREALSTORE0000 S325C35C0863FA7E4CC9999ED61ED63ED6520EA6FE4CC000020F14FE662585D2F1AA66344444444C002270BC60A3D3404A664840FABE06D622A014039344033643278304934103042341017 YDFTREALLOAD 0000 SECE42BC25D27BF108301102606EC6227B5E6616FE4308DFCF1318DFC12C1222514308DFD3A318DFC0CC1462508308DFD83318DFC06AF54342017 YDFTREALLOAD 0000 S17 YDFTREALSUB 0000 S318D0005AE5416FE67E64258571D340617 YDFTINTTOREAL0000 S308DFCA2341017 YDFTREALLOAD 0000 S17 YDFTREALMUL 0000 S17 YDFTREALADD 0000 S17 YDFTREALSTORE0000 S325C35C0327916FF59344033643278304934106FE2327A6FE2327A3042341017 YDFTREALLOAD 0000 S341017FF643269308DFB98341017 YDFTREALLOAD 0000 S17 YDFTREALMUL 0000 S341017FECA326917 YDFTREALSTORE0000 S325C35C0344033643278304934103042341017 YDFTREALLOAD 0000 S3042341017 YDFTREALLOAD 0000 S17 YDFTREALMUL 0000 S17 YDFTREALSTORE0000 S325C35C0 RARCTAN 02F2 RCOS 01E6 REXP 0345 RLN 03CC RSIN 0205 RSQR 0484 RSQRT 044A PA0000 0000 JPASREAL KDECODEREAL KDFTDECODERL KDFTINTTOREAL KDFTREADREAL KDFTREALABS KDFTREALADD KDFTREALCMP KDFTREALDIV KDFTREALFRACT KDFTREALLOAD KDFTREALMUL KDFTREALNEG KDFTREALSTORE KDFTREALSUB KDFTWRTREAL KENCODEREAL CDEFT MACRO/6809 ASSEMBLER, V3.0 CPASREAL V3.1 S35306FE2EC243406EC223406ECA434066E8410AE6935103506EDA13506EDA13506EDA132636E84AE6417 YDFTREADFIELD0000 S26141F41ECE8113406327934161702A832648DD2326F35306E84344033624F5FA3442A2232EB6FE21F413146EC44342610AE42343617033C326A10AE4D1F414F5F343617 YDFTWRTSTRG 0000 S325E35403510326B6E846D632706A6628880A76239A662847FA76239A662484D2F07306217006020F3393510344086096FE24A26FB1F436E84304231C8148607E680E7A04A26F930C81417008432493540351032676E843436300731271CFEC606A682A9A219A7A45A26F635B63436300731271A01C60686998900A082ABA2 S19A7A45A26F235B63402A6848001250228028880A7843502340286046806690569046903690269014A26F135823402A6848B01250228028880A7843502340286046401660266036604660566064A26F135823416860630016D8026084A26F96FF8023596AE62A60184F026F68D9A20F4A64D48473402A6C8144847A0E0271D S2D0A810C102CFF41304D200C40304D810C102CFF2830C8148D944A26FB30C8148D8C304D8D8839A6628880A76217FEFC8DBF304D31C814A6C814A84D2B0617FF1816FF058D0A23028D1917FF2216FEF93436300131218606E680E1A026034A26F735B6343686073402E684A6A4E7A0A7806AE426F4326135B631693062A684 SA8A42A06A684A1A4201E6D842A021E12A6A4483402A68448A1E0260C8DB3270825048601200286803510326E6E8417FE7C304D17FF09A6C814A84D8480A742A6C814AB4D847FAA42A7423142860CE6C81AC40F270A304D17FE806AC81A20EF4A1027FE5830C81417FED5304217FED020DD17FE39304DEC842605CC4010ED84 S17FEBD30C81417FEB7314D17FF44240317FE78A6C814A84D8480A742A6C814A04D4C847FAA42A74231C814860C304D17FE3F24046C4820F517FE204A1027FDFD30C81417FE55304217FE5020E03530327934103062CC0006E7801E2017 YDFTDECIMAL 0000 S30623279341617000E32643069C6073502A7805A26F939327A6F636F646F616FE4860CA765306C6F8410AE6AE6A0E7628D75812027FA812B2708812D26068680A7848D638D6C26086DE427F66C6320F2812E260E8D518D5A26086DE426F66A6320F2814526258D3F812B2706812D26046A618D3381302D1381392E0F8030E6 S643402860A3DEBE0E76420E7A6646D61270140AB63847FAA84A784A665270617FD9B4A26FA3266396A642B03A6A039326220D981302D1C81392E186D67271480301F89EA62E762270A6A6717FD6FAA06A7064F39AE6A10AE64A669E667A7A03476340632771F434D2F52A6844847A747A748EC01ED41EC03ED43EC05ED456D S4A2B048D492036A64980072D34810B2F02860BA74AA6498004A7498601A7488D2D6A47CC452B6D472A04C62D6047EDA1E647862F4CC00A2CFBCB3AEDA4324B35F610AE4FC62AE7A06A4926FA20EFC620A6494A6D482F034CA0488002A04A2DE12705E7A04A26FB6DD80D2A02C62DE7A030C4A6482F088D22C62EE7A02017CC S302EEDA16D48270E6D4A270EA7A06A4A27086C482BF6A64A8D01394D2F10E60154545454CA30E7A017FC944A26ED39 RDECODEREAL 03A0 RDFTDECODERL 03AB RDFTINTTOREAL02BB RDFTREADREAL 0027 RDFTREALABS 0087 RDFTREALADD 019D RDFTREALCMP 01E9 RDFTREALDIV 0260 RDFTREALFRACT008E RDFTREALLOAD 0000 RDFTREALMUL 021D RDFTREALNEG 007C RDFTREALSTORE0012 RDFTREALSUB 0197 RDFTWRTREAL 0046 RENCODEREAL 02E4 PA0000 0000 JPASDISK KDFTCLOSEDSK KDFTDISKREAD KDFTDISKRESET KDFTDISKVECTR KDFTDISKWRITE KDFTRDNXTDSK KDFTREWRTDSK KDFTSRCHDIR KDFTWRITEDSK CDEFT MACRO/6809 ASSEMBLER, V3.0 CPASDISK 5/18/84 V3.2 S308D001BBF010A308D0022BF010D397F09827F09857FFF407F098617014E397D09822708BE0983AF6A7F09823B7DFF032A187DFF027D098527107A0985260BB609868430B70986B7FF403B343686802004343686A0C60534067F0985A60D318D0122A6A68A28E68812C1162D028A10F60986B70986B7FF40C508260A108E00 S001700FC1700F91700D31026009F108E097EA60DE6A6F7FF49E18812271DE68812F7FF4BE7A68617B7FF481E881E881700AB2679851826751700C1A68813B7FF4A318D005F10BF098330881E108E00007DFF48B609868A80B70986E6E47309821A50F7FF481E881E88C1802617C602F5FF482606313F26F72021F6FF4BE780 SB7FF4020F6C602F5FF482606313F26F7200AE680F7FF4BB7FF4020F67F09821CAF8D4B20091CAFB6FF48847C2723AE6486FEA70E6A612719108E097EA60D6FA68603B7FF488D178D3485101027FF0C86FEAE64A70E8678B70985326235B6108E0000313F2708B6FF48850126F53986D0B7FF481E881E887DFF48868039108E S222E313F26FC390102044034166FE28611A788128603A7881317FEB26D0E26238608A7E431881E860B17 YDFTEQUALNAME0000 S271931A8206AE426F46C8813A68813810C2DDA86FDA70E32613596A62DA78811EC2EED881AA62BA70F20EC34068D11A68811A788108B1EE686E788118D13358634028602A788138611A7881217FE5335823406A6881047A78812A6881081222D036C8812840127028609A788138B09A78814A6881181432308840FAB8813A7 S8814358634066D0E263A6C8813A68813A188142F0BA688118143222A8D8E20E617FE00CC0100ED88184FED8816A6881181432310A68813A188142608EC881AED88182702358686FFA70E20F88D0A6D0E26058D3617FF7B39340617FF03A60E270881FD26236F0E201FA62D34026FA417FDB717FF4C350431881EA6A56FA56A SA51F894D2AF517FDA1358634368D5A6D0E26318611A788128603A7881317FD846D0E2620C60831881EA6A427194C271631A8205A26F36C8813A68813810C2DDD86FDA70E35B6C60B3002A680A7A05A26F9AE623135A60FA72BE72CA68810A72D6F2E6F2F17FD4335B6342617FED46FE2862031881E8D3127206CE4ABE48D29 S27186CE46CE46CE4A0E44A2AE986FBA70E326135A6E68810A7A5A78810C6C9E78811E7A617FD0420E8E6A65C27058A01E6A65C39342617FE8A6FE231881EA6881081202C088D2227CC8D0C20068D0827C48D1627C020B63406E6A65C27074C81432FF635863261358434068DBC27F680032AF8358634066D0E261D6C881317 SFCAA6D0E26134F5FED8818A68813A188142D0617FF9F17FE3C358634266D0E26236C881317FC85A6881317FE176D0E261331881E80092E028B098AC0E68810A7A517FC68A60F17FD9A6D0E2611A72B5F4A26015AE72CEC8818ED2E17FC4E35A6 RDFTCLOSEDSK 03C0 RDFTDISKREAD 004B RDFTDISKRESET000F RDFTDISKVECTR0000 RDFTDISKWRITE0051 RDFTRDNXTDSK 022C RDFTREWRTDSK 0274 RDFTSRCHDIR 0188 RDFTWRITEDSK 039B PA0000 0000 JPASIO KCLOSE KDFTCLOSE KDFTEQUALNAME KDFTREADCHAR KDFTREADFIELD KDFTREADINT KDFTREADLN KDFTREADSTRG KDFTREADTYPE KDFTRESET KDFTREWRITE KDFTWRITELN KDFTWRTCHAR KDFTWRTINT KDFTWRTSTRG KDFTWRTTYPE KEOF KEOLN KFILEERROR KFILETYPE KGET KPAGE KPUT KSETFILETYPE CDEFT MACRO/6809 ASSEMBLER, V3.0 CPASIO V3.1 S8D536F8815A60D2A134C102700094C2B1186FCA70E201C17 YDFTRESETTAPE0000 S200617 YDFTSRCHDIR 0000 S1702BE86AAA78815EC881C27073416170145326410AEE4326A6EA4170018A60D2A084C260F17 YDFTREWRTTAPE0000 S200A17 YDFTREWRTDSK 0000 S6D0E27036F881520DEAE6A1F123189011E10AF81C61A318D0084A6A0A7805A26F910AE66AE6AEC64ED881C300AE6A0270DC1032302C603A6A0A7805A26F910AE68AE6A8602A7E2A6A0A7E2274EA6A081202718813A271A812F2606860AA761200AE661C10D2C04A7856C616AE426DE202AA6E44A2725E6A0C12B2707C12D27 S034F20074A27151F98E6A0C0302B0DC1032E09812D260150AE6CE70D32623920202020202020202020200000010000000000CC000000000000AE64E60E1DED66398601A767AE64E60E1701212703E70E396D0E26026F67396F67AE64E60E1701032703E70E39EC881610A388182D046D0E2609C3001EA68B810D26026C6739 SAE646F0EA6881581CC270586FCA70E396F8815A60D102A YDFTCLOSEDSK 0000 S4C260F6D88192705C60117 YDFTWRITETAPE0000 SC6FF17 YDFTWRITETAPE0000 S39AE641700BD262786FCA70E10AE881C271D6F0E34203189011E10AF8417012D260BA7A0ECE4830001EDE426F0326239352032713430170081263C17010F2637812027F7810D27F3812C27EF31646FA0E664C10F2704A7A06C641700F0261581202708810D2704812C26E5EC8816830001ED88164F35903530326F6EA4AE66 S8DAF261C1F41343617 YENCODE 0000 S32643506326FAE628C00012705EDF8042003E7F804351032646E84AE648D11260817009F2603A7F8021700B035306E843406EC881C261335063406A60EE60DC1FD270BE68815C1AA270286FCA70E3586AE628DDC26088D6B2604810D26F817007B35306E84AE6410AE62EC881C271EEDE33089011EA680A7A0ECE4830001ED SE426F33262AE64341617FEEC326435306E84AE6610AE646FA08D96261F8D25261B810D270EE6F804E16324F1A7A06CF80420EAEC8816830001ED88168D1F351032646E8434068D1A2611EC8816C30001ED8816C3001DA68BA7E45F3586A60D4C2B18EC881610A388182D0E6D0E260BA60D2A084C270A17 YDFTREADKEYBD0000 S5F3917 YDFTRDNXTDSK 0000 S20E217 YDFTREADTAPE 0000 S20DD344033624F5FA3422A1A32EBEC421F4134041F02EC4417 YDFTDECIMAL 0000 S1F4110AE464F5F34368D2F325E354016005410AE6630648601A784EC6234368D19351632646E8410AE62308D000A4F5F34368D0635366E84010DAE6610AE64A6A0E6632707E03F2403A6635F4D27098D1C261331214A26F75D270B318D000D8D0C26035A20F2351032646E84203476E60D5C2B37A6881581CC270686FCA70E S20396D0E2637EC881833881E33CBA6A4A7C45CE78819270F6D0D2A1FC1FF261BC60117 YDFTWRITETAPE0000 S201417 YDFTWRITEDSK 0000 S200F1212A6A45C270517 YDFTSCREENOUT0000 S200317 YDFTRS232OUT 0000 S4F4F351635E0AE6410AE62EC881C271EEDE33089011EA6A0A780ECE4830001EDE426F33262AE643416170006326435306E84AE646D0E261E86FCA70EEC881C27156F0E3189011E10AF8417FF662607312183000126F43910AE648E000CCC0001343617FEF33586AE64E60F4FED6639AE66EC64E70F3934364D270B3002E680 SE1A026034A26F735B6 RCLOSE 014A RDFTCLOSE 014C RDFTEQUALNAME044C RDFTREADCHAR 021A RDFTREADFIELD01A5 RDFTREADINT 01F2 RDFTREADLN 024F RDFTREADSTRG 0290 RDFTREADTYPE 0264 RDFTRESET 0000 RDFTREWRITE 003A RDFTWRITELN 0343 RDFTWRTCHAR 032E RDFTWRTINT 0303 RDFTWRTSTRG 0356 RDFTWRTTYPE 03DC REOF 010C REOLN 0123 RFILEERROR 0104 RFILETYPE 043D RGET 0176 RPAGE 042D RPUT 0408 RSETFILETYPE 0445 PA0000 0000 JPASKEYBD KCURSOR KDFTDELAY KDFTPOLLKEY KDFTREADKEYBD KDFTRS232OUT KDFTSCREENOUT CDEFT MACRO/6809 ASSEMBLER, V3.0 CPASKEYBD V3.0 S3416327C6F63DC76830001DD762606CC00371700C48E01524F4AA7E4A762A6624910240080A7626CE4170091A761A884A484E661E7805C27E56C634D27E0C6F8CB084424FB308D00B1EBE42730C11A2F1F308D005DC1202F24308D0037C1302C1C8D6AC12B2F0288404D2619CB102015CA408D59BA011A260CCA202008588D S4D27015CE685E7648E045E17006F86FF8D2C4C2611A6628D25A1612609C112261973011A20126D632708DC76108302572606CC02581700226F6432643596B7FF02B6FF008A807DFF022B028A4039867FB7FF02B6FF0043844039DD7686FFC6088E0152A7805A26FB395E5F0A5B0815095D202030120D0D0C5C03034013301F S26FC393436327E6F0EC68FE7E46F6131881E4F5FED8816ED8818A6E48B10810F2602869FA7E48D766F6117FED5260A6A612BF786088D6720E181032603 B S20EA340286088D583502810D27418108271781152721810C272FE688195C27BCA7A06C88198D3920B36D881927AE313F6A88198D2B20A56D88191027FF9E313F6A881986088D1920EE86FFA70E860DA7A08D0DEC8818C30001ED8818326235B634169E888108271F810D2726810C27428120254D4D2B0C81402D0681602D04 S84DF8840A78020158C040027358660A782200A8660A7801F10C51F26F69F888C0600251E8E0400EC8820ED818C05E025F620038E0400CC60609F88ED818C05FF25F97FFF02B6FF004348271017FDF6270B8113260717FDED27FB20F53596EC648401C30400DD88393416C6083405F6FF22C40126F91A508D1C5F8D1B5F4459 S8D166A6126F78D0E3505A6E4810D26049E978D0A3596C60158F7FF209E95341017FE9F351017FE9A39 RCURSOR 0219 RDFTDELAY 00FC RDFTPOLLKEY 0000 RDFTREADKEYBD0101 RDFTRS232OUT 0223 RDFTSCREENOUT019C PA0000 0000 JPASNDISK KDFTCLOSEDSK KDFTRDNXTDSK KDFTREWRTDSK KDFTSRCHDIR KDFTWRITEDSK CDEFT MACRO/6809 ASSEMBLER, V3.0 CPASNDISK V3.0 S340286FCA70E3582 RDFTCLOSEDSK 0000 RDFTRDNXTDSK 0000 RDFTREWRTDSK 0000 RDFTSRCHDIR 0000 RDFTWRITEDSK 0000 PA0000 0000 JPASCASST KDFTREADTAPE KDFTRESETTAPE KDFTREWRTTAPE KDFTWRITETAPE CDEFT MACRO/6809 ASSEMBLER, V3.0 CPASCASST V3.0 S34268D55A60E270481FF26206D881026F1A6028120270A860831881E17 YDFTEQUALNAME0000 S26E18D366D0E260586AAA7881535A6343631881ECC000FED8818C6083002A680A7A05A26F9C6076FA05A26FBAE62CCFFFFED88275F17010235B634068D268D3A1700B68D144F5FED88166D0E26096D88102A0486FFA70E3586B6FF2184F7B7FF211CAF393422B6FF218A08B7FF21108E0000313F26FC1A5035A234066F8811 S8D498D2F22108D2525106A8811A6881181A0271420EA8D1522E88D1725E86C8811A68811806026D8A7881235860F818D1E20040F818D21D681C1182203C10A396F8811390F816D881226098D1025FC8D0C24FC398D0724FC8D0325FC390C81F6FF2056398608A788148D07466A881426F8398DD0D68112C113393426327E31 S881E4F8DEE46813C26F98DD9A788108DD4A788196F8818A7E4AB8810A7616DE4270C8DC1A7A0AB61A7616AE426F48DB5A061270286FEA70E326235A63426E7881017FF22CC559034048D346AE426FA3261863C8D2A5FA688108D24A688198D1F4D270C31881EA6A08D156A881926F71F988D0C86558D0817FEE16F881835A6 S3426EBE4E761318D005B3420318D00333420C601A68811B7FF2010AEE4E564260CA6A0B7FF2010AC6223F6200AA6A1B7FF2010AC6225F6A6A0A788115824D5326435A68292AABACADAEAF2FAFAFAF2EADACABAAA927A6A52423222120A0202020A12223242526A RDFTREADTAPE 0059 RDFTRESETTAPE0000 RDFTREWRTTAPE002E RDFTWRITETAPE0159 PA0000 0000 JPASSTRNG KDFTCHRSTRAPP KDFTCHRSTRCPY KDFTSTRSTRAPP KDFTSTRSTRCMP KDFTSTRSTRCPY KSTRINGCOPY KSTRINGDELETE KSTRINGINSERT KSTRINGPOS CDEFT MACRO/6809 ASSEMBLER, V3.0 CPASSTRNG V3.0 S10AE6410AC62271F6FA4AE6210AE64E6A43404EB84E7A035044F31ABE6802707A680A7A05A26F9AEE432646E846FF80410AE646CA4E6A44F31ABA663A7A420E73406AE6610AE64E6A0E1802302E61F5D2709A6A0A18026095A20F4A6F804A1F806351632646E8410AE646FA06D672718E669AE6A4F308BE1F80A220CA680A7 SA06CF8045C6A6726EF39AE68E6844FA3662D29C3000110A3642C02ED64A36427133404EC67308BEC65318B3502E6A0E7804A26F9E6F808A364E7F80839327E10AE68E6672706E1A42303E6A45C4F30ABAFE4E6A030ABEBF80AE73F31ABACE42306A682A7A220F6AE6AE680270A10AEE4A680A7A05A26F9326239327E6F6A6F S6B10AE66E6A44F31AB10AFE410AE66312110AF66AE68E68027106C6B10ACE4220CA680A1A026E55A26F23262396F6B20F9 RDFTCHRSTRAPP0030 RDFTCHRSTRCPY002D RDFTSTRSTRAPP000A RDFTSTRSTRCMP0040 RDFTSTRSTRCPY0000 RSTRINGCOPY 0067 RSTRINGDELETE0089 RSTRINGINSERT00BC RSTRINGPOS 00F9 PA0000 0000 JPASSET KDFTSETCMP KDFTSETCONTAN KDFTSETDEFINE KDFTSETDIFF KDFTSETELEMNT KDFTSETIN KDFTSETINCLUD KDFTSETINTER KDFTSETLOAD KDFTSETRANGE KDFTSETSTORE KDFTSETUNION CDEFT MACRO/6809 ASSEMBLER, V3.0 CPASSET V3.0 S4D2619340454545430853504C4073404C6016AE42B035820F93261395F39ECE82230628DDBE4842702C601351032E8226E84EC6230648DC8EA84E784351032626E84EC6410A362220C30668DB3EA84E7846C6526ED351032646E843510C6206FE25A26FB6E848D10A684AAA0A7805A26F7351032E8206E84C62030E8243164 S398DF6A684A4A0A7805A26F720E48DE9A6A043A484A7805A26F620D68DDBA684A4A0A18026075A26F5C60120015F351032E8406E848DC21E1220E38DBCA6A0A18026EB5A26F720E63530C62031A5A6A234025A26F96E843510C62010AEE53502A7A05A26F932626E84 RDFTSETCMP 00BA RDFTSETCONTAN00B4 RDFTSETDEFINE005B RDFTSETDIFF 008D RDFTSETELEMNT0032 RDFTSETIN 001E RDFTSETINCLUD009B RDFTSETINTER 0080 RDFTSETLOAD 00C7 RDFTSETRANGE 0042 RDFTSETSTORE 00D6 RDFTSETUNION 0066 PA0000 0000 JPASRUNTM KDECODE KDFTDECIMAL KDFTDIVIDE KDFTHEX KDFTMULTIPLY KDFTNEW KDFTSTRCTLOAD KDFTSTRUCTCMP KDFTSTRUCTMOV KENCODE KHEX KMARK KMEMAVAIL KRELEASE CDEFT MACRO/6809 ASSEMBLER, V3.0 CPASRUNTM V3.0 S3440EE66AE6810AE64A6C0A1802604313F26F63540351032666E8435361E014353C3000132EB3410344033641F01A6A0A7C0300126F835C03440EE66AE6810AE64A6C0A780313F26F820C86D662A086C634F5FA366ED666D682A086A634F5FA368ED68396FE26FE28DE16FE2A666E6683DEDE4A665E6683DEBE4E7E4A666E6 S673DEBE4E7E46D6227064F5FA3E4EDE4ECE4AE6332696E846FE26FE26D662A026CE48DA834108E00104F5F68696968594910A3662504A3666C69301F26ED3510ED64A6E027064F5FA363ED63A6E027064F5FA364ED643934366FE24D2A086CE44F5FA361ED618620E66627313404A7805A26FB10AE62CC000A34268D9BA661 S2A01408B30A782CC000AEDE46A64270CEC6226E86D652704862DA7823265326135B6E667AE64E780EC6810AE668DA939AE6810AE64EC6658495849E366C3000144565AE7A0A6678D013934366FE24D271FE684545454548D1CE680C40F8D164A270EE6E4C8FFE7E426E7C620E7A020E13261353639CA30C1392F02CB07E7A0 S396F666F67AE64A6806FE2A7E22740A680812026066AE426F62034812D26046A61201C80302B1E8109221AA7E2EC695849ED6958495849E369EBE08900ED68A6806AE426DE6D6127064F5FA368ED68326239EC8D YDFTHEAPSTART0000 SEDF804E362ED8D YDFTHEAPSTART0000 S351032646E84EC8D YDFTHEAPSTART0000 SEDF80439EC64ED8D YDFTHEAPSTART0000 S391F40830064A38D YDFTHEAPSTART0000 S23072A07CC7FFF20024F5FED6439 RDECODE 0120 RDFTDECIMAL 00D6 RDFTDIVIDE 0097 RDFTHEX 0148 RDFTMULTIPLY 0064 RDFTNEW 01CF RDFTSTRCTLOAD001B RDFTSTRUCTCMP0000 RDFTSTRUCTMOV0038 RENCODE 017E RHEX 012E RMARK 01E2 RMEMAVAIL 01F1 RRELEASE 01EA PA0000 0000 0120 RDFTDECIMAL 00D6 RDFTDIVIDE 0097 RDFTHEX 0148 RDFTMULTIPLY 0064 RDFTNEW 01CF RDFTSTRCTLOAD001B RDFTSTRUCTCMP0000 RDFTSTRUCTMOV0038 RENCODE 017E RHEX 012E RMARK 01E2 R4Pu" ߎ0C&r44"z0Nr#0Fo0&0 ̧43~4@NP2"5큌%5r55B%5큌%5r$n sDEFT LIB VERSION 1.0(C) 1984 DEFT SYSTEMS, INC.4@3dO_E2~0442dO_&E704 OPEN ERROR:O_42~044j2d4_2\54@3d04FILE IS NOT OBJECT OR LIBRARYO_4ycO_62\54@3dO_C084054O_4K52~0844 2dO_'8C504I/O ERROR ON NEW LIBRARYO_42\54@3d2~0V44 2d5CS]'|0V405446CO_05O4O_O';05O4xA4Z4R+CS]' 42b2\5bO_6O_C2\54@3d2044 2d0442d0404 404O_42b5[O_7`442d04 OLD LIBRARY:42b04044  2~044 A2d5]'2\504&'}O_[0V404LIBO_4 2~0V4412d5]'E2~4>2b5]'305O4J&77[ 4I2b[]'04 O_[442d04 NEW LIBRARY:4 2b04044  2~044 >2d5]'2\504#'108404LIBO_4 62~084422d5[[]'S04 O_5O_vO_t7]'04DELETE SECTION:4 2b04044  2~044 y2d5]'2\504^&2\5vvv4 4s0x04042bv42&R2\54@3d0404O_4 D NOT COPIEDO_4 / 2~432b5]'05O4J&2\5 2\54@3d2~IZB4Z./Z4 400404p&2\5ZZ 2bO_I2\54@3dttt4 4n0:04042b0404O_4 Y COPIEDO_4 H 2054J4042b6]'D2~42b5]'2\52~42b5]'05O4J&2\5 2\54@3d2w6]'`054440S442j2~0x40S4v442h5]'0S44 2d 0S442d 2~0V442dCS'504I/O ERROR ON OLD LIBRARYO_4  52\5q4@3d2wO_EĮ04:-3O_4ʮĮ04SECTION NAME (O_4 04O_4 ): O_4 2bĮ040S442~Į04Į442d5]'2\50S4&0S4042b2~Į0:40S4Įt44>2h5]'Į040S4O_4  IS A DUPLICATE SECTIONO_4Į04 NEW NAME: O_42bĮ040S442~Į04Į4`2d5]'2\50S4F&0S4042b)040S42bE2\54@3d2wĮ6]'X054440S4Į42j2~0S442d5]'0S4Į4p2d0S4Į42d 2~Į0V4Į42dCS':Į04I/O ERROR ON OBJ/LIB FILEO_4Į52\54@3d2Ӯ04:-3O_4^Y04ADD OBJECT FILE:4S2b04044w304_'\O42~0442d5CS]'10V404OBJO_42~0V442d5YY]'Q04_r&\O42~044_2d5]'O_C2\5C2~42b5]'#05O4J& 4@2b2\504042bO_ZZZZ4O_0O_,\O4Z4_,\O4Z0O4/4:4]'O_4Z500 2~044@2d5]'ttt4 40:04042b054J4042b2~42b5]'2\56]'05O4A_&\O405O4R_&\]'E4K5050 O_4 5050 2~4r2b5]'2\52~42b56\2~0V44V2dCS'104I/O ERROR ON OBJ/LIB FILEO_4mW2\50V404OBJO_42~4S2b5]'2~42b5]'2\5 2~0V442dCS'-04I/O ERROR ON OBJ/LIB FILEO_42\54@3d29O_54@~2b5]'2\57]'4@2b2~4@2b5O45CS]' 0844@a2d2\5d0OZ&y&9So *L' L+  *'4E2d2jn *L& m'o ޮj11Z&fjd0 ' #Z&hj⦠'N ':'/& a a ,laj& *J'%+'-'O J'0+ . -&Pl 2b9 df9gd!'9m&og9ogd'9m&,  &lg9do'9o * L&m'  9d&''o4 1-& &2b95 2q40&<&7 ' ','1dod'ld& ' ',&O5502onf&A46_2d52ob' 52dnd&&50n4&54 ' '5b&k& &{50ndb'0&2bd42d50nfdo&%& 'c$l 52dn4&_5 L+-m& *L' h_9  4@3bO_B*2BA4D AFO_46/2^5@Tf0db4652dnb0 O_4656n fdc'?$c_M' &1!J&]' 1 &Z 52dn 4v' > \+*m&533˦\'m *&_  o\') 5m5db'0&2bd42d50ndm&'o1f&1!&9d 465dOf9fd946M' 0&J&542|ocvv&7ĎROJbbI$blaa\'lcM'D$0'0/0] /$070,j+/@M& @Y& XM'\d^o,L&b%a& &s mc'vW&X"od2d5}+@9C@9vRZ&9^_ [ ] 0 \@0&9462~oƏoa1O_&voa& ja+g & 4X5 'A''! '/\'l9 m'1?j+ m'1?j  2b54' '& 'B %MM+ @-`-߈@ '5` `&% 큌% ``큌%CH'' &' 5d݈944"&P__DYja&5 & 5X 4590 0" 9  @ N9} ' j ;}*}} 'z & 0 @;46 464 1"(- @& & ~ I'K禆H&y&uJ1_ 0}H s PH&H&1?& !K瀷@ H&1?& K@  K H|'#dja' ~ oH4' dx 2b51?'H&9зH}H9".1?&9@4om&#1 '1 j&l -چ2a5-.+ 454S54G"-l'  C#54m&:l/ C"* OC#&'5 m&6{94'&#o -4oL51ojM*546Zm&1m& 1'L'1 Z&l -݆5 0Z&b15+,-o.o/C54&o 11' l)'lllJ*2a5 \'\94&o1 ,"'̍ 'č' 4\'LC/52a54'*54m&lm&O_-<54&m&#lm&1 . hm&+_J&Z,.N54&U'& m& ' 1g&6m&54610Z&oZ&b'_54&:O_m& m*5!!94"!!1?&P54oI/"%%j' "%l`&ا5 !ց" 9o9m& % $9$%9 V9Fj&9ց94&2~1OF<&٧ԧo䫈am' aaj&􍵠a'2b54&"U44j&2a<*_$M' 1j& Uo54&a1[4 134  d& b# b%X$2d5ʺzjRB2"  "2BRjdb'obd45O1'Z&2dnodlO1c 4fd#]' & Z 52dndomg'ijO0 " l\jg&9hOf-)d,dd'4g0e15J&d92~hg'#\O00 ?1# j' 䦀Z&2b92~ojokfO1f1!fh'lk" &Z&2b9ok M&4TTT054j+X 2a9_9"0b'52"nb0d52bndb" 0fle&52dn5 oZ&nZ&52 n 0$1d9Z& 馠CZ& ֍ۦ&Z& _52@n ㍼&Z& 50 14Z&n5 5Z&2bn4@fhd&1?&5@52fn56CS244@3d0&54@fhd1?& mf*lcO_ffmh*jcO_hh9ooofh=eh=fg=mb'O_c2inoomf*l䍨4O_hiihYIf%fli0&5d'O_cc'O_dd946oM*lO_aa f'14Z&b 4&a*@0 jd' b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIihj&ma'O_hh2b95b,52dn"9d9@d#* O_d9 b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2%S Data Definitions (*********************************************************** * * Program to format text into document form * * This program reads lines of text and commands from an * input text file and creates an output text file formatted * according to the commands imbedded in the input text. * * DEFT Systems, Inc. grants to each purchaser of DEFT Pascal * and DEFT Pascal Workbench an unrestricted license to the * following source code known as FORMAT. * ***********************************************************) PROGRAM Format (Input, Output); VAR Fill : Boolean; SymbolEnd, LineCount : integer; InText, OutText : Text; Header, Footer, InLine, OutLine, Symbol : string(255); %SGet Next Symbol (*********************************************************** * * NextSymbol Routine * ***********************************************************) FUNCTION NextSymbol : Boolean; VAR SymbolStart : Integer; BEGIN REPEAT SymbolEnd := SUCC(SymbolEnd) UNTIL (InLine[SymbolEnd]<>' ') OR (SymbolEnd>ORD(InLine[0])); SymbolStart := SymbolEnd; WHILE (InLine[SymbolEnd] <> ' ') AND (SymbolEnd <= ORD(InLine[0])) DO SymbolEnd := SUCC(SymbolEnd); IF SymbolEnd > SymbolStart THEN BEGIN NextSymbol := true; StringCopy (InLine, SymbolStart, SymbolEnd-SymbolStart, Symbol); END ELSE BEGIN NextSymbol := False; Symbol := ''; END; END; %SRead Next Input Line (*********************************************************** * * ReadNextLine Routine * ***********************************************************) FUNCTION ReadNextLine : Integer; VAR EXTERNAL CommandNames : ARRAY[0..6] OF String (3); VAR Commandnbr, i : Integer; BEGIN SymbolEnd := 0; ReadNextLine := 0; WHILE Eof (InText) DO BEGIN i := FileError (InText); IF i <> -1 THEN WRITELN ('SOURCE FILE I/O ERROR'); EXIT; END; ReadNextLine := 1; READLN (InText, InLine); IF (ORD (InLine[0])>=3) AND (inline[1]='.') THEN BEGIN SymbolEnd := 1; IF NextSymbol THEN BEGIN FOR i := 1 TO ORD (Symbol[0]) DO IF (Symbol[i] >= 'a') AND (Symbol[i] <= 'z') THEN Symbol[i] := CHR(ORD(Symbol[i]) AND $DF); FOR Commandnbr := 2 TO 6 DO IF Symbol = CommandNames[CommandNbr] THEN BEGIN ReadNextLine := ORD(Commandnbr); EXIT; END; END ELSE SymbolEnd := 0; END; END; %SInitialization (*********************************************************** * * Initialize Format * ***********************************************************) PROCEDURE Initialize; VAR Prompt : String; I : Integer; BEGIN Fill := True; Header := ''; Footer := ''; LineCount := 0; OutLine := ' '; Page; WRITE ('SAMPLE TEXT FORMATTER V1.0'); Cursor (128); WRITE ('INPUT FILE: '); READLN (Prompt); Reset (InText, Prompt, 'TXT'); WRITE ('OUTPUT FILE: '); READLN (Prompt); Rewrite (OutText, Prompt, 'LST'); END; %SEndPage (*********************************************************** * * EndPage Routines * ***********************************************************) PROCEDURE EndPage; VAR i : Integer; lastline : string; BEGIN IF LineCount = 0 THEN EXIT; FOR i := LineCount TO 55 + 3 DO WRITELN (OutText); IF footer <> '' THEN BEGIN lastline := ''; FOR I := 1 TO ((75 + 5 -ORD(footer[0])) DIV 2) DO lastline := lastline + ' '; lastline := lastline + footer; END ELSE lastline := ''; WRITE (OutText, LastLine); WRITELN (OutText); LineCount := 0; END; %SOutline Utilities (*********************************************************** * * WriteLine Routine * ***********************************************************) PROCEDURE WriteLine; VAR I : Integer; PROCEDURE NewPage; VAR NewPageline : string (255); i : 1..4; BEGIN IF Header <> '' THEN BEGIN NewPageline := ''; FOR I := 1 TO ((75 + 5 -ORD(Header[0])) DIV 2) DO NewPageline := NewPageline + ' '; NewPageline := NewPageline + Header; END ELSE NewPageline := ''; Page (OutText); WRITELN (OutText, NewPageline); FOR i := 1 TO 4 DO WRITELN (OutText); LineCount := 5; END; BEGIN IF LineCount = 0 THEN NewPage; WRITELN (OutText, OutLine); OutLine := ' '; LineCount := SUCC (LineCount); IF LineCount > 55 THEN EndPage; END; %C FORMAT2 line); FOR i := 1 TO 4 DO WRITELN (OutText); Line %SFill Output Line (*********************************************************** * * FillOutput Routine * ***********************************************************) PROCEDURE FillOutput; VAR i, spacing : Integer; PROCEDURE AdjustLine; VAR STATIC Frontward : Boolean; VAR Endstring, Add, Direction : integer; BEGIN Add := 75 - ORD (OutLine[0]); WHILE Add > 0 DO BEGIN IF Frontward THEN BEGIN i := 6; Endstring := ORD (OutLine[0]); Direction := 1; END ELSE BEGIN i := ORD (OutLine[0]); Endstring := 6; Direction := -1; END; REPEAT WHILE (OutLine[i] <> ' ') AND (i <> Endstring) DO i := i + Direction; IF i <> Endstring THEN BEGIN StringInsert (' ', OutLine, i); Add := PRED(add); WHILE (OutLine[i] = ' ') AND (i <> Endstring) DO i := i + Direction; END; UNTIL (i = Endstring) OR (add = 0); END; IF Frontward THEN Frontward := False ELSE Frontward := True; END; BEGIN WHILE NextSymbol DO BEGIN IF Symbol <> '' THEN BEGIN IF ORD (OutLine[0]) = 5 THEN spacing := 0 ELSE IF OutLine[ORD (OutLine[0])] = '.' then spacing := 2 ELSE spacing := 1; IF (ORD (OutLine[0]) + ORD (Symbol[0]) + spacing) > 75 THEN BEGIN AdjustLine; WriteLine; spacing := 0; END; FOR i := 1 TO spacing DO OutLine := OutLine + ' '; OutLine := OutLine + Symbol; END; END; END; %E (*********************************************************** * * NoFillOutput Routine * ***********************************************************) PROCEDURE NoFillOutput; BEGIN IF ORD (OutLine[0]) <> 5 THEN WriteLine; OutLine := OutLine + InLine; WriteLine; END; %SCommands (*********************************************************** * * StringComnd Routine * ***********************************************************) PROCEDURE StringComnd(VAR target : string); VAR i, j : Integer; BEGIN i := 5; WHILE (InLine[i]=' ') AND (i<=ORD (InLine[0])) DO i := SUCC(i); StringCopy (InLine, i, 75, Target); END; (*********************************************************** * * Skip Command * ***********************************************************) PROCEDURE Skip; VAR i, Count : integer; BEGIN IF ORD(OutLine[0]) <> 5 THEN WriteLine; Count := 1; IF NextSymbol THEN BEGIN IF ORD(OutLine[0]) <> 5 THEN WriteLine; Count := Encode (Symbol); OutLine := ' '; END; FOR i := 1 TO Count DO WriteLine; END; %E (*********************************************************** * * NewPageComnd Routine * ***********************************************************) PROCEDURE NewPageComnd; BEGIN IF ORD (OutLine[0]) <> 5 THEN WriteLine; EndPage; END; (*********************************************************** * * Fill Command * ***********************************************************) PROCEDURE FillCommand; BEGIN IF NextSymbol THEN CASE Symbol[1] OF '+' : Fill := True; '-' : Fill := False END; END; %SMain Routine (*********************************************************** * * Main Routine * ***********************************************************) BEGIN Initialize; WHILE True DO BEGIN CASE ReadNextLine OF 0 : BEGIN NewPageComnd; Close (OutText); EXIT; END; 1 : IF fill THEN FillOutput ELSE NoFillOutput; 2 : NewPageComnd; 3 : StringComnd (Header); 4 : StringComnd (Footer); 5 : Skip; 6 : FillCommand END; END; END. ose (OutText); EXIT; END; 1 : IF fi************************************************ * * FORMAT COMMAND NAMES * ************************************************ SKIP COMMANDNAMES EQU * PUBLIC COMMANDNAMES SKIP FCB 3 FCC /EOJ/ FCB 3 FCC /TXT/ FCB 3 FCC /PGE/ FCB 3 FCC /HDR/ FCB 3 FCC /FTR/ FCB 3 FCC /SKP/ FCB 3 FCC /FLL/ END MES * ************************************************ SKIP COMMANDNAMES EQU * PUBLIC COMMANDNAMES SKIP FCB 3 FCC /EOJ/ FCB 3 FCC /TXT/ FCB 3 FCC /PGE/ FCB 3 FCC.hdr FORMAT, A Text Processing Example Program .ftr DEFT Systems, Inc. INTRODUCTION .skp FORMAT is a text processing program which produces a document from text contained in an ASCII file such as that produced by DEFT Edit. The text includes embedded commands that direct how the text is to be formatted. These commands include things like specifying what header should be printed at the top of each page, etc. .skp To produce a document, you create a text file that contains the text that you want in the resulting document. You then structure the resulting document by entering commands at the proper points in the text. These points occur where you want a new page to start, a new paragraph to start, etc. You then LOADM and EXEC the FORMAT program and use the text file that you created as input to the program. .skp FORMAT will then take the text from the ASCII file a word at a time until it has enough to create a finished output line. Once it has enough words, FORMAT then adds enough spaces to right justify the line and outputs it to the output file. As FORMAT encounters commands in the text, it may "break" the text by printing a partially full printline and then perform the function required by the command. .pge GENERAL COMMANDS .skp All commands are recognized by FORMAT by having a period (.) in the first column of a line. The command is a three character abreviation which immediately follows the period. The commands supported are as follows: .skp 2 .FLL (Fill On or Off) .skp This command is used to turn the fill mode on and off. Fill mode is the mode in which output printlines are constructed a word at a time from input lines. When this mode is off, the input lines are used as is as output lines. This command causes a "break" when switching from fill on to fill off. .skp You indicate which way to want the fill mode to be set with a + or - parameter. Example: .skp .fll - .fll - (turns fill mode off) .skp .fll + (turns fill mode on) .fll + .skp 2 .FTR (Footer) .skp Specifies the string that should be printed at the bottom of each page. The string of characters starting with the first non-blank character after the .FTR is used as the footer string. .skp .fll - .FTR This is the Footer .fll + .skp 2 .HDR (Header) .skp Specifies the string that should be printed at the top of each page. The string of characters starting with the first non-blank character after the .HDR is used as the header string. .skp .fll - .HDR This is the Header .fll + .pge .PGE (New Page) .skp This forces a "break" to occur and then the remainder of the page is filled with blank lines. Subsequent text will appear on the following page of the document. .PGE will NOT cause a blank page to be printed if it is encountered while already beginning a new page. .skp 2 .SKP (Skip a Line) .skp Specifies that one or more blank lines should be output at this point in the document. If a numeric parameter is present, then that is the number of blank lines that are output. If there is no parameter, then one blank line is output. .skp .fll - .SKP (outputs 1 blank line) .skp .SKP 3 (outputs 3 blank lines) .fll + ent. If a numeric parameter is present, then that is the number of blank lines that are output. If there is no parameter, then one blank line is ouLO WARMRESTORE DO ALL OF THEM SKIP PULS X GET WARM START VECTOR STX $72 RESTORE VECTOR TFR Y,S RESTORE STACK STA $FFDE SET 32K MODE JMP 0,X DO WARM START SKIP **************************************** * PASBOOT DATA AREAS **************************************** SKIP STACKSAVE RMB 2 STACK POINTER SAVE SKIP DFTPSCLMAIN EXT DFTHEAPSTART EXT DFTDISKRESET EXT DFTDISKVECTR EXT END JMP 0,X DO WARM START SKIP **************************************** * PASBOOT DATA AREAS ********************? "PASBOOT/OBJ""PASBOOT/64K":"PASBOOT/32K""PASBOOT/OBJ"tM"PASCAL":24126,32:M"PASCAL",5000,28754,24108M"EDITOR":6518,32:M"EDITOR",6500,21417,6500(M"LINKER":5018,32:M"LINKER",5000,19969,50002M"ASSEMBLE":6518,32:M"ASSEMBLE",6500,30430,6500"PASBOOT/64K":"PASBOOT/32K""PASBOOT/OBJ"tM"PASCAL":24126,32:M"PASCAL",5000,28754,24108M"EDITOR":6518,32:M"EDITOR",6500,21417,6500(M"LINKER":5018,32:M"LINKER",5000,19969,50002M"ASSEMBLE":6518,32:M"ASSEMBL