[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: XYENC/XYDEC v0.95 release



Reply to note from wbass@xxxxxxxx Sat, 31 Jan 2009 12:26:01 -0700 (MST)

Hmmm, I'm posting the helper frames again, this time without the
screen shot. For some reason, the encoding is getting corrupted
during e-mail transmission when the attachment is present, but not
when I leave it off. Strange.

'%--_XYENCode_start--
'0 checksum 6F9A820D
~~~~'^'^For_XYWWWEB.INF'.'^'^{xyenc,xydec}'^{xyf
mt,xyfmt2,xytog,xyrun,ifei2}'^{xyenc50,xydec50,xyrun50}'^'^~XYENCode_Helper_Frames_for_XyWrite_IV~_--_C.L.Dist
efano_rev._1/31/09'^Encode,_Decode,_Format_and_Execute_XPL_usi
ng_Wally_Bass'`s_Amazing_XYENCode_and_XYDECode_Programs'^'^Wal
ly_Bass'`s_XYENCode_utility_(XYENC.COM)_translates_XPL_program
s_into_pure_Ascii,_for_viewing_in_any_text_editor_or_for_trans
mission_by_e-mail._Its_companion,_XYDECode_(XYDEC.COM),_return
s_an_encoded_program_to_the_original_XPL._White_space_and_XyWr
ite_formatting_can_be_added_to_XYENCoded_programs_to_create_a_
structured_listing_that_makes_XPL_easier_to_read_and_debug_--_
yet_decoding_will_be_unaffected._Because_they'`re_blazingly_fa
st,_these_assembly_language_utilities_can_be_tightly_integrate
d_with_XyWrite'`s_command_line_(CMline),_as_exemplified_by_the
_routines_described_below.'^'^~Required_External_Progra
ms~'^Download_Wally_Bass'`s_XYENCode_and_XYDECode_packa
ge_here'.'^~I~~'JM2.ViewURL'Q2~>http'.//basspad.com/xywrite/~'^As_
of_this_writing_(1/31/09),_the_current_version_was_v0.95_(xyen
c095.zip)',_download_the_latest_available_version.'^Situate_XY
ENC.COM_and_XYDEC.COM_in_the_directory_that_contains_~
'^~'^~CMline_Usage~_(all_commands_l
aunched_with_)'^-------------------------------------
--------------'^XYENC____XYENCode_current_file_or_DeFined_bloc
k'^XYENC/___Same_as_XYENC,_except_omit_'`'/--'-XYENCode'-start
_and'^___________'`'/--'-XYENCode'-end_delimiters'^XYDEC____XY
DECode_current_file,_DeFined_block_or_code_bounded_by_'`'/--'-
XYENCode'-start_and_'`'/--'-XYENCode'-end_delimiters'^XYFMT___
_2-Way_Toggle_XPL|Formatted_XYENCode_(entire_file_only)'^XYFMT
2___2-Way_Toggle_to_add|remove_(non-decodable)_embedded_IV_com
mands_to|from_formatted_code_listing_(not_usually_needed_becau
se_called_by_frame_XYFMT)'^XYTOG____3-Way_Toggle_XPL|Raw_XYENC
ode|Formatted_XYENCode_(entire_file_only)'^XYRUN____Run_(execu
te)_XYENCoded_file_or_DeFined_block'^IFEI2____Test_XPL_code_fo
r_balanced_IF_and_EndIf_statements,_with_option_to_display_str
uctured_XYENCoded_listing_(entire_file_only)'^'^Note_1'._Frame
names_XYENC_and_XYENC/_accept_valid_XYENC.COM_arguments.'^~Examples'.'^XYENC_45_C___Specify_45-char_line_width_
and_perform_checksum_after_encoding'^XYENC_L______Bypass_encod
ing_of_low-order_Ascii_characters'^XYENC_H______Bypass_encodin
g_of_high-order_Ascii_characters'^XYENC/_B_____Bypass_encoding
_of_both_low-and_high-order_Ascii_characters',_omit_'-start_an
d_'-end_boundaries'^~'^Note_2'._If_no_line_width_is_speci
fied,_frame_XYENC*_supplies_a_width_of_65.'^'^Note_3'._As_a_ru
le,_frame_XYENC_removes_the_":'?Z"_EOF_code,_if_present,_from_
XYENCoded_output._(The_sole_exception_is_when_the_XYENC_CMline
_includes_the_"C"_argument,_which_instructs_XYENC.COM_to_gener
ate_a_CRC32_checksum_token_for_the_encoded_file',_if_the_EOF_i
s_removed_in_this_instance,_the_checksum_value_generated_by_XY
DEC.COM_on_decoding_will_disagree_with_the_encoded_value,_caus
ing_an_error_report.)_Removing_the_EOF_code_avoids_problems_wh
en_decoding_material_that_has_been_assembled_from_multiple_XyW
rite_files,_each_terminating_with_an_EOF_marker._See_~C
omments_and_Warnings_concerning_End_of_File_(EOF)_Markers~,_in_the_XYENC_User_Guide_(xyenc-ug.txt_or_xyenc-ug.htm,_in
cluded_in_the_XYENC_zip_archive).'^'^Note_4'._In_order_to_enha
nce_the_readability_of_formatted_(a/k/a_"cooked")_XYENCode,_fr
ame_XYFMT_hides_some_XYENCode_tokens_in_embedded_'≪IV]_'≫for
matting_deltas_(the_right_bracket,_"]",_in_the_embedded_comman
d_"marks"_it_as_one_supplied_by_frame_XYFMT)._As_a_result,_the
_formatted_code_produced_by_XYFMT_is_"overcooked"_--_i.e.,_it_
is_NOT_directly_decodable,_at_the_DOS_prompt,_with_XYDEC.COM_(
although_it_~is~_decodable_with_XYDEC,_
XYFMT,_or_XYTOG)._Within_the_confines_of_XyW
rite_IV_this_is_not_at_all_an_issue,_but_if_you_want_to_share_
"overcooked"_code_with_users_outside_of_Xy4,_modifications_are
_required._Issuing'^__XYFMT2_(note_the_"2"_in_the_com
mand)'^reverses_and_removes_the_IV_commands,_rendering_output_
once_again_fully_decodable._See_also_Note_5,_below.'^'^Note_5'.
_To_include_formatted_code_(whether_"cooked"_or_"overcooked")_
in_the_message_body_of_an_e-mail,_you_must_first_re-encode_it_
to_pure_Ascii_with_XYENC.'^'^Note_6'._In_rare_instanc
es,_XYFMT_may_produce_unexpected_results_(a/k/a_garbage)_when_
attempting_to_format_XPL._If_this_happens,_RECAll_your_file_(R
ECA)_and_issue_XYTOG_twice_(once_to_encode,_
a_second_time_to_format),_or_XYENC/_followed_by_XYFMT
._Either_of_these_latter_methods_~will~
_work.'^'^~XPL_Usage~'^---------'^~XYENC5
0_and_XYDEC50'._XYENCode_or_XYDECode_the_string_in_Save/Get_50
~'^Examples'.'^'≪SV50,'BC'≫'JM2.xyenc50'Q2',*',_S/G_5
0_has_"'`BC"'^'≪SV50,'`BC'≫'JM2.xydec50'Q2',*',_S/G_50_has_"
'BC"'^'^~XYRUN50'._RUN_XYENCoded_XPL_in_Save/Get_50~'^Example'.'^'≪SV50,'`BCHello,'-World'≫'JM2.xyrun50'Q2',
*','^(Decodes_"'`BCHello,'-World"_to_"'BCHello,_World",_then_e
xecutes_it)'^'^~XYRUN50'._CMline_Programming~'^X
YRUN50_can_also_execute_XYENCoded_XPL_from_the_CMline._This_is
_useful_for_commands_that_include_hard-to-handle_characters.'^
Example'.'^SEarch_for_1-byte_Ascii-8_(impossible_to_put_on_the
_CMline_in_1-byte_form'|)'.'^XYRUN50_'`BXse'-|:'?H|'`Q2'^'^Any_of_the_CMline_routines_above_can_be_called_as_a_chil
d_process_within_an_XPL_program._For_example'.'^'YD'DP'JM2.xyd
ec'Q2',*',_XYDECode_paragraph_under_cursor'^'YD'DL'≪SV50,'≫'JM
2.xyenc/'Q2',*',_XYENCode_line_under_cursor'^Note_that_on_a_ca
ll_to_XYENC,_S/G_50_must_either_be_empty_or_contain_a_valid_XY
ENC.COM_argument'|'^'^~'^For_use_by_RENUMBER.PM'.'^Renumb
er_all_XYENCode_helper_frames_in_PACK_mode,'^with_OPTIONs_list
ed_below'.'^'^XYENC*,XYDEC'^Default_S/G_range_=_01-07',_50'^FR
EEZE_50'^'^XYFMT'^Default_S/G_range_=_01-08',_49-50'^FREEZE_49
-50'^'^XYTOG'^No_S/Gs_used'^'^XYRUN'^Default_S/G_range_=_01-04
',_50'^FREEZE_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_XPL
_contained_in_S/G_50_[CLD_1/25/09]'^~B~<1~>~~<
EI~>~~>~)~>~~>
'JM2.GetPath'Q2~+"\"~>~+~+"
.IN"~>'BXsa_'/01,~'Q2'BXwt'Q2~+~+"
.OUT"~>'BXernv_~'Q2'BXwt'Q2~~~="E
N"~>~~'BXdos/nv/x/z_/c_~XY~.COM_
._~<~'Q2~~'BXexist_~'Q2
~)~>~~'BXp'Q2~'BXernv_~'Q2
'BXwt'Q2~<0~>~~>'JM2.SV50'Q2'BXe
rnv_~'Q2'BXwt'Q2~~="ENC"~>~+"~N
("~>~~~~~'FF
'BXrun_~'Q2~B'^'^{{5xyenc*,xydec}}_XYENCode|XYDECode_(D
F_block_or_entire_file)_[CLD_rev.1/26/09]'^~B~==1~>
'BXes_1'Q2'DX~~)~>~
~~="/"~>~~~>~~~~="ENC"~>~)~>~~~<1~>~+"_65"~>~
~~'DZ~<1~>'YD~~~~="DEC"~>'XP'BXch/1__;~)~>'JM2.xyfmt2'Q2~'LB'BXse__~start--'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_~<0~>._~out<~<
PV07~>in~~~in_~out~_~'Q2
'BXwt'Q2~~'BXexist_~out'Q2~)~>~~'BXp'Q2~'GT'DO'FF'DX~~="E
NC"&~<1~>~+"start--'^'^"+~+"'-'-e
nd--'^"~>~~'LU'LU~~~>'BXme_~

out'Q2'BXwt'Q2'BXernv_~in'Q2'BXwt'Q2'BXernv_~out'Q2'BXwt'Q2~)~="ENC"&"C"~{~<0~>~~<>8~>'TG~~~~>'BXseba__'?Z'Q2~)&~==~-2~> 'RC'RC~~~~~>'JM2.ReJuMP'Q2'DO'FF ~~~~~B'^'^{{5xyrun}}_Run_XYENCo ded_XPL_(file_or_DF_block)_[CLD_1/26/09]'^~B'BXes_1'Q2'DX'DZ~< IF~<0~>~~~~>~ ~>'JM2.GetPath'Q2~+"\"~>~+"XYRUN.I N"~>~+"XYRUN.PM"~>~<1~>~ <1~>~~>~~~~>~~<0&"\"~{~ <0~>~~>~~+"\"~>~< EI~>~+~~>~~~="_"~>~~~~>~~~~<>1~>~~~'DE'BXsad/nv_~'Q2 'BXwait'Q2~'BXernv_~'Q2'BXwait'Q2'BXdos/nv/x/z_/c _~xydec.com_~_~'Q2'BXwait'Q2~~'BXexist_~'Q2~)~>~~'BXp 'Q2~~==(~+"XYRUN.IN")~>'BXernv_~ 'Q2'BXwait'Q2~'DO'FF'BXrun_~_~'Q2~B'^'^{{5x ytog}}_XYENCode_3-way_toggle'._XPL|Raw'-ENCode|Formatted'-ENCo de_[CLD_rev.1/27/09]'^~B~==1~>'TF'DX'XP'BXch/1__;~< _;~<'Q2~)~>'BXch/1__;~~> ~'JM2.xyenc/'Q2~~~'BXch/1__'?<_'?<'Q2~< IF@not(~)~>'BXch/1__;~~>'JM2.xyfm t'Q2~~~'JM2.xydec'Q2~~~~B '^'^{{5xyfmt2}}_Apply|Remove_extra_(non-XYDECodable)_formattin g_to|from_XYENCode_structured_listing_[CLD_rev.1/31/09]'^~B'XP 'TF~'BXch/1_~252;~~>~< SV52,'`^~252;~|'-~252;~_|;~'`~252;~< MDBO;~>;~|',;~~252;~;~|'.;X~252 ;~;X|~>~~~~~~>'BXch_~252~~252'Q2'BXwt'Q2~~~~~~252'`^|;~_~252 '-|;~;~~252;~'`|;~;~ ~252',;~|;~;X~252'.;X|~>~~B'^'^{{5xyfmt }}_Toggle_XPL|formatted_XYENCode_[CLD_rev.1/31/09]'^~B~==1~>'BXes_1'Q2'DX'XP'TF~',*','^',*',_Toggle_cod e'^~~~~+"AE"~>',*','^'BXch/1__;~'`_;~'`'Q2~)~>',*','^'BX{ch/1__'BX_'BX}'Q2~~>~'BX ch/1__;~)~>'JM2.xyfmt2'Q2~'JM 2.xydec'Q2~~~',*','^'BXch/1__~_~'Q2 ~)~>',*','^'BX{ch/1__'BX_'BX}'Q2~~>~~~',*','^'BX{ch/1__'BX_'BX}'Q2~)~>~< LBb~>~'JM2.xyenc/'Q2~~',*','^'BXch/1__'BC_'BC 'Q2~)~>~~',*','^'BXch/1__;~<_;~<'Q2~< IF@not(~)~>',*','^'BXch/1__;~'`_;~'`'Q2~< IF~~>~~~',*','^',*','^~'DX~~~~~~~~~~~~~ ~~~~~>~< GT02~>'TF',*','^'BXch__'`?_;~:'?'Q2'BXwt'Q2',*',_<==_ Critical_change',_do_not_remove'|'^'BXch__;~['Q2'BXwt'Q2',*','^ 'BXch_~252'?'BXch_ ~252;~[;~['?)~>'BXwt'Q2~< GLd~>~',*','^'BXch_~252'?~252;~['?~252'Q2'BXw t'Q2',*','^~'BXch_~252;~[;~['?~252;~['?~252'Q2 ~)~>'BXwt'Q2~~',*','^'BXch_~252'?~252'?;~[~252'Q2'BXwt'Q2',*','^'BXch_~252'?;~[;~[ ~252'?;~[~252'Q2'BXwt'Q2',*','^~'BXch__;~[;~[;~)~>'BXwt'Q2~~',*','^'BXc h_~252;NDI;~>;~[~252;NDI;~>~252'Q2',*','^'BXch_~252'`;A;X~252; ~'`;A;X_;~~252'Q2'BXwt'Q2',*','^'BXch_~252'`@; A~252;~'`@;A_;~~252'Q2'BXwt'Q2',*','^'BXch_~252 '`#;A~252;~'`#;A_;~~252'Q2'BXwt'Q2',*','^'BXch _~252'`$;A~252;~'`$;A_;~~252'Q2'BXwt'Q2',*','^ 'BXch_~252'`&;A~252;~'`&;A_;~~252'Q2'BXwt'Q2', *','^'BXch_~252'`≪~252;~'`≪_;~~252'Q2'BXwt'Q2 ',*','^'BXch_~252'`≫~252;~'`≫_;~~252'Q2'BXwt 'Q2',*','^'BXch_~252'`*;X~252;~'`*;X_;~~252'Q2 'BXwt'Q2',*','^'BXch_~252'?~252;~'?;~< MDNM;~>~252'Q2'BXwt'Q2',*','^'BXch_~252'?~252;~ '?;~~252'Q2'BXwt'Q2',*','^'BXch_~252'? ~252;~'?;~~252'Q2'BXwt'Q2',*','^'BXch_ ~252'?~252;~'?;~~252'Q2'BXwt'Q2',* ','^'BXch_~252'?~252;~'?;~~252'Q2 'BXwt'Q2',*','^'BXch_~252;~['?>;~~252'?>;~;~[~252 'Q2'BXwt'Q2',*','^'BXch__'`^_'`^;~['Q2'BXwt'Q2',*','^~'BX ch__'`^;~[;~[_'`^;~['Q2~)~>'BXwt'Q2~~ ',*','^'BXch_~252'?'BXch_~252;~[;~['?)~> ~~'BXwt'Q2',*','^'BXch_~252;~'?'?'? '?;~~252'?;~;~[~252'Q2'BXwt'Q2',*', '^'BXch__;~[,_,'Q2'BXwt'Q2',*','^'BXch_~252;~'`BX~252; ~[;~'`BX~252'Q2'BXwt'Q2',*','^'BXch_~252;~[;~[;~'`BX~252;~[;~'`BX~252'Q2'BXwt'Q2',*','^'BXch_~252;~< MDBO;~>'`BC~252;~[;~'`BC~252'Q2'BXwt'Q2',*','^'BXch_~252 ;~[;~[;~'`BC~252;~[;~'`BC~252'Q2'BXwt'Q2',*','^ 'BXch_~252'`Q2_;~~252'`Q2_;~;~[~252'Q2'BXwt'Q2 ',*','^'BXch_~252'`Q2_;~;~[;~[~252'`Q2_;~;~[~252 'Q2'BXwt'Q2',*','^'BXch_~252'`XC_;~~252'`XC_;~ ;~[~252'Q2'BXwt'Q2',*','^'BXch_~252'`XC_;~;~[;~[~252'` XC_;~;~[~252'Q2'BXwt'Q2',*','^'BXch_~252;~;~[; ~[~252;~;~[~252'Q2'BXwt'Q2',*','^',*',_Low|High_code-t o-3-byter_translation_table'^',*',_None_for'._0,_174-175_(hand led_below),_253-255'^~~< SV03,~252~>',*','^~~~~~~>',*','^'TF'BXcha_)~)'Q2'BXwt'Q2 ~~',*','^'TF~~3DI,~3DI'Q2'CR~>~~~',*','^~~<1~>~~~'BX se__'?'Q2~)~>'DF'CL'DF~'YD'CR',*','^~)=="F"~>~+1~>~+1~>~~~',*','^~-1~> ~-1~>~<0~>~~>~<====_****EXTRA_"+~+"EndIf:~>_HERE'|****~ ~>~~~+1~>~<1~>~~~>~~',*','^'BXseb__'?<'Q2 ~~'BXse__'?>'Q2~~',*','^'TF'BXch__'? <_~'Q2'BXwt'Q2'BXch__'?>_:~>'Q2'BXwt'Q2',*','^'BXch__', ;~[_','Q2'BXwt'Q2',*','^'BXch_~252',;X~252',;~;X;~~252'Q2'BXwt'Q2',*','^'BXch_~252'`;X;X_;~;~[:',*:', ~252'`;X;X_;~:',*:',~252'Q2'BXwt'Q2',*','^'BXch_~252:~> ;~[:',*:',~252:~>:',*:',~252'Q2'BXwt'Q2',*','^'JM2.xyfmt2'Q2'WG ~<9~>'MK~'TF'JM2.ReJuMP'Q2'DO'FF~ ~~~~~< IF~<5~>~~~~ +"_&_"~>~~+~~>~~ +~~>~~~~~~~B'^ '^{{5ifei2}}_Check_for_balanced_IF|HF...EI_pairs_in_XPL_code_[ CLD_1/30/09]'^~B~==1~>'BXes_1'Q2'YD'XD'YD'XP'TF'DX ~~~~~~~~~="No"~>~~+"_"~>~~'BXse__;~'Q2~)~>'DF'CL'DF~'YD'CR~)=="F"~>~< SX01,~+1~>~+1~>~~~-1~>~-1~>~<0~>~~+1~>~<1~>~~~>~~ ~~'TF'DO'FF~~+~~~~+"IF"~>~< EI~>~~~="IF"~>~+"_&_E xtra_"~>~~+"EI"~>~~~ +"Nesting"~>~+~+"'._View_structured_list? _(y|N)"~>'JM2.ReJuMP'Q2'JM2.RK'.01'Q2~)=="Y"~> 'BCXYDEC_decodes_to_original'GT~'JM2.xyenc/'Q2'JM2.xyf mt'Q2~~~~~~~B'^'^{{5S V50}}_SaVe_file_contents_to_S/G_50_(S/G_50_in_&_out'._d'.\path \filename_in',_file_contents_out)_[CLD_1/18/09]'^~B~'BXexist_~'Q2~)~>~<0~>~~>'JM2.UsurpB'Q2~<0~> ~+",~>~~+"~>~>"~>~ 'BXldpm_~,~'Q2'BXwt'Q2~+"~>+""""~>~<0~>'BXremove_"+~+"'Q2~~< SX"+~+",~~>"~>~~~>~~~+",50"~>'JM2.ldnb'Q2~~~~~B'^'^~Z '%--_XYENCode___end-- -- Carl Distefano cld@xxxxxxxx