Reply to note from wbass@xxxxxxxx Thu, 22 Jan 2009 16:24:51 - 0700 (MST) Here's the full suite of XYENCode|DECode helper frames for U2, with documentation. Substantially revised and expanded; discard all earlier versions and use these. Of course, these routines may have to be revised further if Wally releases a new version of his programs with a different command-line syntax. If he does, I will. In the meantime, these work well with the current release (v0.94). (They're not affected by the bug that Harry discovered the other day.) '%--_XYENCode_start-- ~~ ~ ~ '^'^For_XYWWWEB.INF'.'^'^{xyenc,xyde c,xyrun,xyfmt,xytog,ifei2}'^{xyencl,xyench,xyenclh}'^{xyenc5 0,xydec50,xyrun50}'^'^XYENCode_Helper_Frames_for_XyWrite_IV_ --_C.L.Distefano_rev._1/23/09'^Encode,_Decode,_Format_and_Ex ecute_XPL_using_Wally_Bass'`s_Amazing_XYENCode_and_XYDECode_ Programs'^'^Wally_Bass'`s_XYENCode_utility_(XYENC.COM)_trans lates_XPL_programs_into_pure_Ascii,_for_viewing_in_any_text_ editor_or_for_transmission_by_e-mail._Its_companion,_XYDECod e_(XYDEC.COM),_returns_an_encoded_program_to_the_original_XP L._White_space_and_XyWrite_formatting_can_be_added_to_XYENCo ded_programs_to_create_a_structured_listing_that_makes_XPL_e asier_to_read_and_debug_--_all_without_affecting_decoding._B ecause_they'`re_blazingly_fast,_these_assembly_language_util ities_can_be_tightly_integrated_with_XyWrite'`s_command_line _(CMline),_as_exemplified_by_the_routines_described_below.'^ '^~ Required_External_Programs~ '^Download_Wally _Bass'`s_XYENCode_and_XYDECode_package_here'.'^~I~ ~ 'JM2.ViewURL'Q2~>h ttp'.//basspad.com/xywrite/~ '^As_of_this_writing,_the _current_version_was_v0.94_(xyenc094.zip)',_download_the_lat est_available_version.'^Situate_XYENC.COM_and_XYDEC.COM_in_t he_directory_that_contains_~ '^~ '^~ CMline_Usage~ _(all_commands_launched_with_ )'^---------------------------------------------------'^XYEN C______XYENCode_current_file_or_DeFined_block'^XYENC/_____Sa me_as_XYENC,_except_omit_'`'/--'-XYENCode'-start_and____'`'/ --'-XYENCode'-end_delimiters'^XYENCL__)__Same_as_XYENC,_exce pt_bypass_encoding_of_low-,_high-,'^XYENCH__>___or_both_low- _and_high-order_Ascii_characters'^XYENCLH_)___(XYENCL.COM,_X YENCH.COM,_XYENCLH.COM_required)'^XYDEC______XYDECode_curren t_file,_DeFined_block_or_code_bounded_by_'`'/--'-XYENCode'-s tart_and_'`'/--'-XYENCode'-end_delimiters'^XYFMT____2-Way_To ggle_XPL|Formatted_XYENCode_(entire_file_only)'^XYTOG____3-W ay_Toggle_XPL|Raw_XYENCode|Formatted_XYENCode_(entire_file_o nly)'^XYRUN____Run_(execute)_XYENCoded_file_or_DeFined_block '^IFEI2____Test_XPL_code_for_balanced_IF_and_EndIf_statement s,_with_option_to_display_structured_XYENCoded_listing_(enti re_file_only)'^~ '^~ XPL_Usage~ '^---------'^ XYENCode_or_XYDECode_string_contents_of_Save/Get_50'^'≪SV50 ,'BC'≫'JM2.xyenc50'Q2',*',_S/G_50_has_"'`BC"'^'≪SV50,'`BC'≫ 'JM2.xydec50'Q2',*',_S/G_50_has_"'BC"'^'^RUN_XYENCoded_XPL_i n_Save/Get_50'.'^'≪SV50,'`BCHello,'-World'≫'JM2.xyrun50'Q2 ',*',_Decodes_"'`BCHello,'-World"_to_"'BCHello,_World",_then _executes_it'^'^Additionally,_the_CMline_routines_above_can_ be_called_as_a_child_process_within_an_XPL_program._For_exam ple'.'^'YD'DL'JM2.xyenc/'Q2',*',_XYENCode_line_under_cursor'^ '^~ '^For_use_by_RENUMBER.PM'.'^Renumber_all_XYENCode_he lper_frames_in_PACK_mode,'^with_OPTIONs_listed_below'.'^'^XY ENC*,XYDEC'^Default_S/G_range_=_01-06',_50'^FREEZE_50'^'^XYF MT'^Default_S/G_range_=_01-08',_49-50'^FREEZE_49-50'^'^XYTOG '^No_S/Gs_used'^'^XYRUN'^Default_S/G_range_=_01-04',_50'^FRE EZE_50'^'^XYENC50,XYDEC50,XYRUN50'^Default_S/G_range_=_01-04 ',_50'^FREEZE_50'^LEFT$(1)'.__'/'^'^IFEI2'^Default_S/G_range _=_01-05',_50',_96'^FREEZE_50_96'^LEFT$_(1)'.__RK'.'^~ '^-~I-~I-~I-~I-~I-~I-~I-~I-~I-'^~ '^'^For_XYWWWEB.U2'.'^ '^{{5xyenc50,xydec50,xyrun50}}_Encode|Decode|RUN_XYENCoded_X PL_contained_in_S/G_50_[CLD_1/18/09]'^~B~ ~>~ )~>~~>'JM2.GetPath'Q2~ +"\"~>~ +~ +".IN"~>'BXsa_'/01,~< PV03~>'Q2'BXwt'Q2~ +~ +".OUT"~>'BXernv_~< PV01~>'Q2'BXwt'Q2~ ~ ~="EN"~>~ ~ 'BXdos/nv/x/z_/c_~ XY~ .COM_._~ <~ 'Q2~
~ 'BXexist_~ 'Q2~ )~>~ ~ 'BXp'Q2~ 'BXernv_~ 'Q2'BXwt'Q2 ~ <0~>~ ~>'JM2.SV50'Q2'BXernv_~< PV01~>'Q2'BXwt'Q2~ ~="ENC"~>~ +"~N("~> ~ ~ ~ ~ ~ 'FF'BX run_~ 'Q2~B'^'^{{5xyenc*,xydec}}_XYENCode|XYDECode_(DF _block_or_entire_file)_[CLD_rev.1/21/09]'^~B~ ==1 ~>'BXes_1'Q2'DX~ ~ )~>~ ~ ~="/"~>~ ~ ~>~ ~< SV03,'`'/--'-XYENCode'-~>'DZ~ <1~>'YD~ ~ ~ ~="DEC"~>'XP'LB'BXse__~ star t--'Q2~ )~>'LB~ ~ '-'-end--'Q2~>~ ~ ~ 'DF~ 'DF~ ~ ~>'JM2.GetPath'Q2~ +"\"+~ +"."~> 'DE'BXsad/nv_~ in'Q2~ ~>~ ~ ~ 'BXwt'Q2'DN'BXernv_~ out'Q2'BXwt'Q2'BX dos/nv/x/z_/c_~ com_._~ out<~ in'Q2'BXwt'Q2 ~ ~ 'BXexist_~ out'Q2~ )~> ~ ~ 'BXp'Q2~ 'GT'DO'FF'DX~ ~="ENC"&~< VA|02~><1~>~ +"start--'^'^"+~ +"'-'-end-- '^"~>~ ~ 'LU'LU~ ~ ~>'BXme_~ out'Q2'BXwt'Q2'BXernv_~ out'Q2'BXwt'Q2~ )~="ENC"~>~ ~ <>8~>'TG~ ~ ~ ~>'BXseba__'?Z'Q2~ ) &~ ==~ -2~>'RC'RC~ ~ ~ ~ ~>'JM2.ReJuMP'Q2'DO'FF~ ~ ~ ~ ~B '^'^{{5xyrun}}_Run_XYENCoded_XPL_(file_or_DF_block)_[CLD_1/1 1/09]'^~B'BXes_1'Q2'DX'DZ~ <0~>~ ~ ~ ~>~~>'JM2.GetPath'Q2~ +"\"~>~ +"XYRUN.IN"~>~ +"XYRUN.P M"~>~ <1~>~ <1~>~ ~>~ ~ ~ ~>~ ~ <0&"\"~{~ <0~>~ ~> ~ ~ +"\"~>~ ~ + ~ ~>~ ~ ~="_"~>~ ~ ~ ~>~ ~ ~ ~ <>1~>~< PRNo_file~>~ ~ 'DE'BXsad/nv_~ 'Q2'BXwait'Q2~ 'BXernv_~ 'Q2'BXwait'Q2'BXdos/nv/x/z_/c_~ xy dec.com_~ _~ 'Q2'BXwait'Q2~ ~ 'BX exist_~ 'Q2~ )~>~ ~ 'BXp'Q2~ ~ ==(~ +"XYRUN.IN")~>'BXernv_~ 'Q2'BX wait'Q2~ 'DO'FF'BXrun_~ _~ 'Q2~B'^'^{{5xytog }}_XYENCode_3-way_toggle'._XPL|Raw'-ENCode|Formatted'-ENCode _[CLD_rev.1/23/09]'^~B~ ==1~>'TF'BXch/1__'?<_'?<'Q2 ~ )~>'BXch/1__;~<_;~<'Q2~ ~>~ 'JM2 .xyfmt'Q2~ ~ ~ 'BXch/1__;~ '`_;~ '` 'Q2~ )~>'BX{ch/1__'BX_'BX}'Q2~ ~>~ ~ ~ 'JM2.xyenc/'Q2~ ~ ~ ~B'^'^{{5 xyfmt}}_Toggle_XPL|formatted_XYENCode_[CLD_rev.1/23/09]'^~B~< IF~ ==1~>'BXes_1'Q2'DX'XP'TF~ ',*','^',*',_To ggle_code'^~ ~ ~ ~ +"AE"~>',*','^'BXch/1__;~ '`_;~ '`'Q2~ )~>',*','^'BX{ch/1__'BX_'BX}'Q2~ ~>~ 'JM2.xydec'Q2~ ~ ~ ',*','^'BXch/1__~ _~ 'Q2~ )~>',*','^'BX{ch/1__'BX_'BX}'Q2 ~ ~>~ ~ ~ ',*','^'BX{ch/1__'BX_'BX}'Q2~< IF@not(~ )~>~ 'JM2.xyenc/'Q2~ ~ ',*','^'BX ch/1__'BC_'BC'Q2~ )~>~ ~ ',*','^'BXch/ 1__;~<_;~<'Q2~ )~>',*','^'BXch/1__;~ '`_ ;~ '`'Q2~ ~>~ ~ ~ ',*','^',*','^ ~ 'DX~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~