home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
SUBMIT
/
IFSKIP21.LBR
/
IFSKIP.DQC
/
IFSKIP.DOC
Wrap
Text File
|
2000-06-30
|
15KB
|
341 lines
DOCUMENTATION FOR //IF.COM AND //SKIP.COM
82/06/10 Reformatted 85/10/20
Modifications 86/10/16 by C.B. Falconer (versions 2.1)
Thσ $$$.SU┬ filσ i≤ expecteΣ t∩ bσ founΣ oε drivσ A¼á use≥ 0«á JO┬ 1.╡ anΣ ì
CCP½á 2.▒ place/usσ i⌠ froφ there«á Fo≥ usσ oε othe≥ thaε use≥ areß ░á yo⌡ ì
should be running CCP+ and do any cancellation of jobs with:
era a0:$$$$$$.sub (CCP+ will parse this)
(the double $'s represent $ to JOB/SUBMIT)
Modifications 85/10/20 by C.B. Falconer (versions set to 2.0 from 1.0)
//I╞á wil∞á functioε witΦ system≤ tha⌠ d∩ no⌠ upshif⌠ commanΣá line≤á (e.g« ì
CCPLU╙ witΦ thσ UPñ commanΣ executed)«á //SKI╨ consider≤ thσ ";ó a≤ aε eo∞ ì
marker¼á s∩ tha⌠ command≤ caε havσ trailinτ commen⌠ areas¼á e.g:
"//ski≡ 3╗ this is a comment"
------------------------------------------------------------------
//I╞ i≤ ß prograφ t∩ tes⌠ variou≤ condition≤ froφ withiε ß CP/═ SUBMI╘ filσ ì
anΣá theεá eithe≥á ski≡ thσ nex⌠ linσ iε thσ submi⌠á file¼á o≥á executσá i⌠ ì
normally¼á dependinτá oεá thσ result≤ oµ thσ tests«á //I╞ caε tes⌠ fo≥á thσ ì
presencσá o≥á absencσá oµ onσ o≥ morσ files¼á tes⌠ ßá filσá fo≥á emptiness¼ ì
comparσá tw∩ filespec≤ fo≥ equality¼á tes⌠ Submi⌠ parameter≤á fo≥á expecteΣ ì
syntax¼ tes⌠ thσ defaul⌠ drive¼ anΣ more.
Wheεá combineΣ witΦ thσ //SKI╨ prograφ thσ powe≥ oµ //I╞ caε bσ expandeΣ t∩ ì
conditionall∙á executσá entirσá block≤ oµ line≤á withiεá thσá Submi⌠á file« ì
IF...THEN...ELS┼á structure≤ caε bσ easil∙ implementeΣ withiε Submi⌠á file≤ ì
dependinτ upoε thσ parameter≤ supplied¼ o≥ thσ statu≤ oµ file≤ oε thσ disk≤ ì
wheε thσ jobstreaφ i≤ submitted.
THE //IF COMMAND:
Syntax:
(Square brackets indicate optional parameters)
//IF [parm1 [parm2]] [:options]
where:
..---!----!---------------------------------------------------------------R
..---!---------------------------------------------------------------R
<parm1╛ i≤ ß standarΣ CP/═ filσ referencσ eithe≥ entereΣ literally¼ o≥ ì
ááááásupplieΣá b∙á Submi⌠ paramete≥ substitution«á Thσ synta°á i≤á thσ ì
ááááánorma∞ D:FILENAME.EX╘ form«á Iµ eithe≥ Filenamσ o≥ Extensioε arσ ì
áááááno⌠ entereΣ the∙ defaul⌠ t∩ blanks«á Iµ thσ Drivσ i≤ no⌠ entered¼ ì
áááááthσá curren⌠ drivσ i≤ assumed«á Iµ thσ namσ o≥ extensioεá contaiε ì
áááááquestioε marδ (?⌐ o≥ asterisδ (*⌐ characters¼á thσ filσ referencσ ì
ááááái≤ saiΣ t∩ bσ ambiguous« Otherwisσ i⌠ i≤ unambiguous.
<parm2╛á i≤á aε optiona∞ seconΣ filespeπ useΣ b∙ somσ oµá thσá option≤ ìèááááádescribeΣ below« Thσ default≤ arσ thσ samσ a≤ fo≥ parm1.
<options╛ i≤ ß strinτ oµ single-characte≥ option≤ witΦ n∩á interveninτ ì
áááááo≥á trailinτ blanks«á Thσ optioε lis⌠ mus⌠ bσ separateΣ froφá thσ ì
áááááprecedinτ parameter≤ b∙ a⌠ leas⌠ onσ blank¼ anΣ mus⌠ alway≤ begiε ì
áááááwitΦá ß coloε (:⌐ t∩ identif∙ i⌠ a≤ thσ optioε list¼á anΣ preven⌠ ì
ááááái⌠á froφá beinτ confuseΣ witΦ parm▒ o≥ parm▓ iµ onσ o≥á botΦá arσ ì
áááááomitted«á Thσ entirσ optioε lis⌠ ma∙ als∩ bσ omitted¼á iε whicΦ ì
ááááácasσ thσ identifyinτ coloε shoulΣ no⌠ bσ entered« Thσ orderinτ oµ ì
áááááthσ option≤ withiε thσ lis⌠ i≤ no⌠ significant.
..---!----!---------------------------------------------------------------R
Thσá optioεá lis⌠ i≤ reall∙ ß se⌠ oµ test≤ t∩ bσ performeΣ upoεá thσá firs⌠ ì
parameter¼á parm1«á (Parm▒ i≤ assumeΣ t∩ bσ thσ namσ oµ ß file¼á bu⌠ ma∙ iε ì
fac⌠ bσ an∙ tex⌠ a⌠ all¼á a≤ lonτ a≤ i⌠ conform≤ t∩ thσ synta° fo≥ ßá valiΣ ì
filσ reference.⌐ Iµ thσ test≤ arσ passed¼á thσ //I╞ commanΣ doe≤ nothinτ a⌠ ì
all¼ anΣ thσ nex⌠ linσ iε thσ submi⌠ filσ i≤ processeΣ normally.
Iµá however¼á an∙á oµ thσ specifieΣ optioε test≤ fails¼á thσá //I╞á commanΣ ì
modifie≤á thσ submi⌠ contro∞ filσ (A:$$$.SUB⌐ t∩ ski≡ ove≥ thσ nex⌠ commanΣ ì
iε thσ file«á CommanΣ processinτ theε continue≤ witΦ thσ linσ afte≥ thσ onσ ì
whicΦ wa≤ skipped¼á iµ any«á Iµ tw∩ mutuall∙ exclusivσ option≤ arσ includeΣ ì
iε thσ optioε list¼ thσ followinτ linσ wil∞ neve≥ bσ executed.
Explanation of option characters:
..---!---------------------------------------------------------------R
A Ambiguous║á Truσ iµ parm▒ i≤ aε ambiguou≤ filσá reference«á Falsσ ì
áááááotherwise«á Thσá ┴ optioε doe≤ no⌠ tes⌠ t∩ seσ iµ ß filσ o≥ file≤ ì
áááááexists«á Fo≥á examplσá thσ paramete≥ *.AS═ wil∞ pas≤ thσá ┴á tes⌠ ì
áááááregardles≤ oµ whethe≥ therσ arσ an∙ .AS═ file≤ oε thσ disk.
U Unambiguous║á Truσá iµá parm▒ i≤ aε unambiguou≤á filσá reference« ì
áááááFalsσ otherwise.
P Present║á Truσá iµá a⌠ leas⌠ onσ filσ exist≤á whicΦá matche≤á thσ ì
áááááspecificatioεá giveε iε parm1«á Parm▒ ma∙ bσ ambiguou≤ (unles≤ oµ ì
ááááácoursσ thσ ╒ optioε appear≤ iε thσ list)
M Missing║á Truσ iµ therσ exist≤ n∩ filσ whicΦ matche≤ thσ specifiì
ááááácatioε giveε iε parm1« Parm▒ ma∙ bσ ambiguous.
C Contents║á Truσá iµ thσ filσ referenceΣ b∙ parm▒ exist≤ anΣá conì
ááááátain≤á a⌠á leas⌠ onσ recorΣ (sector)«á Iµ Parm▒ i≤ ambiguou≤á thσ ì
ááááátes⌠ fails.
E Empty║á Truσ iµ thσ filσ referenceΣ b∙ parm▒ exist≤ iε thσ direcì
ááááátor∙ bu⌠ contain≤ n∩ data« Iµ Parm▒ i≤ ambiguou≤ thσ tes⌠ fails.
D Drivσ substitution║á Thi≤ optioε i≤ no⌠ reall∙ ß test¼ anΣ canno⌠ ì
áááááfai∞ a≤ such«á I⌠ cause≤ whateve≥ drivσ ha≤ beeε entereΣ iε parm▓ ì
ááááát∩ bσ moveΣ int∩ parm▒ beforσ an∙ testinτ i≤ donσ oεá parm1«á Fo≥ ì
áááááexamplσá iµ parm▒ werσ A:TEST.FI╠ anΣ parm▓ werσ B║á al∞ thσá reì
ááááámaininτá option≤ woulΣ trea⌠ parm▒ a≤ iµ i⌠ haΣ beeεá B:TEST.FIL« ì
áááááIµá parm▓ i≤ blank¼á o≥ doe≤ no⌠ contaiε ß drivσ spec¼á parm▒á i≤ ì
ááááámodifieΣ t∩ removσ an∙ explici⌠ drivσ spec«á Parm▒ theε refer≤ t∩ ìèáááááthσ defaul⌠ drive« Notσ agaiε tha⌠ thσ orde≥ oµ thσ option≤ make≤ ì
ááááán∩á differencσ t∩ thσ program«á Thσ ─ optioε i≤ alway≤á performeΣ ì
ááááábeforσá an∙á othe≥á tests¼á eveε iµ i⌠ occur≤ a⌠ thσ enΣá oµá thσ ì
áááááoptioε list.
..---!----!---------------------------------------------------------------R
..---!---------------------------------------------------------------R
Thσá followinτá threσ option≤ arσ matchinτ tests«á The∙ matcΦá portion≤á oµ ì
parm▒ agains⌠ thσ correspondinτ portion≤ of parm2.
0 Matche≤ thσ drivespeπ portion≤ oµ parm▒ anΣ parm2« Test≤ truσ iµ ì
áááááthσ samσ drivσ i≤ referreΣ t∩ b∙ both«á Notσ tha⌠ iµ onσ oµá thσ ì
ááááádrive≤ i≤ explici⌠ anΣ thσ othe≥ i≤ defaulted¼ thσ tes⌠ wil∞ pas≤ ì
áááááo≥á no⌠ dependinτ upoε whethe≥ thσ explici⌠ drivσ i≤ iε fac⌠á thσ ì
ááááácurren⌠ defaul⌠ drive«á Iµ botΦ parm▒ anΣ parm▓ arσ missing¼ thi≤ ì
ááááátes⌠á wil∞á pass¼á sincσ botΦ parameter≤ refe≥ b∙ defaul⌠ t∩á thσ ì
ááááácurren⌠ drive.
1 Matche≤á thσ filenamσ portioε oµ parm▒ anΣ parm2«á Test≤ truσá iµ ì
áááááthσ filename≤ matcΦ o≥ arσ botΦ missing« Iµ eithe≥ o≥ botΦ oµ thσ ì
áááááfilename≤ arσ ambiguous¼á thσ ambiguou≤ character≤ arσ considereΣ ì
ááááát∩ matcΦ thσ correspondinτ portioε oµ thσ othe≥ name« Fo≥ examplσ ì
áááááiµá parm▓á i≤ ¬ thi≤ tes⌠ wil∞ alway≤ pass«á Notσ tha⌠á onl∙á thσ ì
áááááfirs⌠ ╕ character≤ oµ thσ name≤ arσ tested.
2 Matche≤ thσ extensioε (filetype⌐ portioε oµ parm▒ anΣ parm2« Samσ ì
áááááa≤á optioεá ▒á excep⌠ tha⌠ onl∙ thσ threσá character≤á afte≥á thσ ì
áááááperioΣ oµ eacΦ paramete≥ arσ tested.
No optioεá list║á Iµá thσ optioε lis⌠ i≤ omitteΣá entirely¼á thσá //I╞ ì
ááááácommanΣ merel∙ test≤ t∩ seσ iµ anythinτ wa≤ entereΣ followinτ thσ ì
áááááworΣá //I╞ oε thσ commanΣ line«á Iµ thσ remainde≥ oµá thσá linσ ì
ááááá(afte≥á Submi⌠ paramete≥ substitution⌐ i≤ blank¼á thσ tes⌠ fails« ì
áááááIµ an∙ non-blanδ characte≥ appear≤ oε thσ line¼á thσ tes⌠ passes« ì
áááááFo≥ examplσ thσ line
//IF $1
test≤á t∩á seσ iµ paramete≥ numbe≥ $▒ wa≤ defineΣ oεá thσá Submi⌠ ì
ááááácommanΣ line«á Iµ i⌠ wa≤ not¼ thσ linσ afte≥ substitutioε become≤ ì
ááááájus⌠ "//I╞ "¼ anΣ thσ tes⌠ fails.
..---!----!---------------------------------------------------------------R
..---!---------------------------------------------------------------R
Error Messages:
Thσá followinτá erro≥ message≤ indicatσ fata∞ error≤á iεá processing«á Thσ ì
remainde≥ oµ thσ submi⌠ filσ i≤ no⌠ processed¼á anΣ contro∞ return≤ t∩á thσ ì
console.
Option "X" not valid....CANCELED
┴á characte≥á appear≤á iε thσ optioε lis⌠ whicΦ i≤ no⌠á onσá oµá thosσ ì
defineΣ above.
Error accessing .SUB file....CANCELED
Thσ filσ A:$$$.SU┬ coulΣ no⌠ bσ found¼á o≥ coulΣ no⌠ bσ closed¼ b∙ thσ ìè//I╞á program«á Thi≤á erro≥ caε als∩ occu≥ iµ //I╞ i≤ ruε froφ thσá consolσ ì
rathe≥ thaε withiε ß submi⌠ file¼á o≥ iµ //I╞ i≤ thσ las⌠ linσ iε ßá submi⌠ ì
file╗ i.e« therσ i≤ n∩ nex⌠ linσ t∩ ski≡ wheε ß tes⌠ fails.
THE //SKIP COMMAND:
Thσá ski≡ commanΣ i≤ useΣ t∩ unconditionall∙ ski≡ ove≥ an∙ numbe≥ oµá line≤ ì
withiε ß Submi⌠ file« Normall∙ i⌠ i≤ useΣ a≤ thσ linσ immediatel∙ followinτ ì
aεá //I╞á command«á Iεá thi≤ wa∙ thσ testinτ capabilitie≤ oµá //I╞á caεá bσ ì
extendeΣá t∩á appl∙ t∩ morσ thaε onσ linσ oµ thσ file«á //SKI╨ caε als∩á bσ ì
useΣ t∩ implemen⌠ IF...THEN...ELS┼ structure≤ withiε Submi⌠ files.
Syntax: (Square brackets indicate optional parameter.)
//SKIP [number]
..---!----!---------------------------------------------------------------R
..---!---------------------------------------------------------------R
where:
<number╛á i≤ ß decima∞ intege≥ iε thσ rangσ 0-12╖ whicΦ indicate≤á thσ ì
ááááánumbe≥ oµ line≤ iε thσ submi⌠ filσ t∩ bσ skipped« Iµ omitted¼ thσ ì
ááááánumbe≥ ▒ i≤ assumed« Thσ numbe≥ mus⌠ bσ separateΣ froφ thσ //SKI╨ ì
ááááácommanΣá b∙á a⌠ leas⌠ onσ space¼á anΣ ma∙ no⌠ havσá an∙á trailinτ ì
áááááspaces.
//Ski≡ operate≤ b∙ evaluatinτ thσ argumen⌠ and¼ iµ i⌠ i≤ greate≥ thaε zero¼ ì
modifyinτá thσá filσ A:$$$.SU┬ t∩ causσ thσ systeφ t∩ ignorσ thσá indicateΣ ì
numbe≥ oµ lines« Iµ thσ argumen⌠ i≤ 0¼ //SKI╨ doe≤ nothinτ a⌠ all.
Error Messages:
Thσá followinτá erro≥ message≤ indicatσ fata∞ error≤á iεá processing«á Thσ ì
remainde≥ oµ thσ submi⌠ filσ i≤ no⌠ processed¼á anΣ contro∞ return≤ t∩á thσ ì
console.
Error accessing .SUB file....CANCELED
Thσ filσ A:$$$.SU┬ coulΣ no⌠ bσ found¼á o≥ coulΣ no⌠ bσ closed¼ b∙ thσ ì
//SKI╨ program«á Thi≤ erro≥ caε als∩ occu≥ iµ //SKI╨ i≤ typeΣ directl∙ froφ ì
thσ consolσ rather than within a submit file.
//SKIP argument not numeric....CANCELLED
Thσ <number╛ paramete≥ contain≤ character≤ othe≥ thaε ░ t∩ 9.
//SKIP argument exceeds file size....CANCELLED
Aεá attemp⌠ wa≤ madσ t∩ ski≡ ove≥ morσ line≤ thaε therσ arσá remaininτ ì
iε thσ A:$$$.SU┬ file.
USAGE EXAMPLES:
èExamplσ 1║á Thσ followinτ Submi⌠ filσ wil∞ assemblσ anΣ loaΣ ß sourcσ file« ì
Thσ filσ namσ i≤ indicateΣ a≤ thσ firs⌠ parameter«á Iµ thσ seconΣ paramete≥ ì
i≤ EDIT¼á thσ filσ wil∞ firs⌠ bσ edited«á Somσ erro≥ checkinτ i≤ done« Notσ ì
thσá usσá oµá line≤ beginninτ witΦ ß semicoloε t∩ suppl∙á message≤á t∩á thσ ì
operator«á CP/═á treat≤á sucΦ line≤ a≤ comments«á Thσ linσ number≤ arσá fo≥ ì
referencσ purposes¼ anΣ arσ no⌠ par⌠ oµ the file.
[1] //IF $1 :U2
[2] //SKIP 2
[3] ;PARAMETER 1 NOT VALID
[4] ERA A:$$$$$$.SUB (use A0:$$$$$$.SUB with CCP+)
[5] //IF EDIT $2 :U012
[6] ED $1.ASM
[7] //IF $1.ASM :C
[8] ASM $1
[9] //IF $1.HEX :C
[10] LOAD $1
Notes:
Linσá 1║á Test≤ tha⌠ paramete≥ ▒ i≤ unambiguou≤ anΣ ha≤ ß filetypσá oµ ì
al∞á blanks«á Paramete≥á ▓ i≤ missing¼á anΣ i≤ treateΣ a≤á blank≤á fo≥á thσ ì
comparison.
Linσ 2║ Iµ thσ tes⌠ i≤ passed¼ line≤ │ anΣ ┤ arσ skipped.
Linσ 3║ Thσ operato≥ i≤ informeΣ oµ aε erro≥ condition
Linσ 4║á Thσ submi⌠ filσ i≤ aborteΣ b∙ erasinτ A:$$$.SUB« Sincσ ñ i≤ ß ì
specia∞á characte≥á t∩ SUBMIT¼á eacΦ onσ mus⌠ bσ representeΣ b∙ tw∩ iεá thσ ì
sourcσ file.
Linσá 5║á Thσ seconΣ paramete≥ i≤ testeΣ t∩ seσ iµ i⌠ i≤ equa∞ t∩á thσ ì
worΣá "EDIT"«á Thσ ░ anΣ ▓ option≤ arσ extrß insurancσ tha⌠ thσá drivσá anΣ ì
filetypσ arσ blank.
Linσá 6║á Iµ thσ tes⌠ i≤ passeΣ thσ filσ i≤ editeΣ witΦ ß filetypσá oµ ì
.ASM.
Linσá 7║á Thσ filσ i≤ testeΣ t∩ seσ iµ i⌠ contain≤ data«á Thi≤á help≤ ì
insurσ tha⌠ thσ edito≥ terminateΣ normally.
Linσ 8║ Iµ thσ tes⌠ i≤ passed¼ thσ filσ i≤ assembled.
Linσá 9║á Thσ .HE╪ filσ i≤ testeΣ fo≥ content≤ t∩ hel≡ insurσ tha⌠ thσ ì
assemble≥ terminateΣ normally.
Linσ 10║á Iµ thσ .HE╪ filσ i≤ present¼ thσ filσ i≤ LOADeΣ t∩ producσ ß ì
.CO═ file.
Examplσ 2║á Thσ followinτ i≤ ß skeletoε examplσ oµ ho≈ //I╞ anΣ //SKI╨á caε ì
bσ useΣ t∩ forφ aε IF....THEN....ELSE structure.
<-------------------------------------->
<--------- prior submit lines --------->
<-------------------------------------->è//IF <aaaa> <bbbb> :<test>
//SKIP m
<-------------------------------------->
<---- m-1 lines to be executed--------->
<---- if test is FALSE ---------------->
<-------------------------------------->
//SKIP n
<-------------------------------------->
<---- n lines to be executed ---------->
<---- if test is TRUE------------------>
<-------------------------------------->
<---- remainder of submit file to ----->
<---- be executed unconditionally ----->
<-------------------------------------->
Notes:
Thσá //I╞ conditioε test≤ whateve≥ combinatioε oµ option≤ i≤á desired« ì
Iµá thσá condition≤ arσ no⌠ met¼á thσ //SKI╨ immediatel∙ belo≈ i≤á no⌠á exì
ecuted«á Instead¼ contro∞ passe≤ througΦ t∩ thσ line≤ t∩ bσ executeΣ iµ thσ ì
tes⌠á i≤á false¼á iεá effec⌠ thσ ELS┼ section«á Thσ las⌠ linσ oµá thσá ELS┼ ì
sectioε i≤ anothe≥ //SKI╨ whicΦ skip≤ pas⌠ thσ THE╬ sectioε (thosσ line≤ t∩ ì
bσ executeΣ iµ thσ tes⌠ i≤ true⌐ anΣ execute≤ thσ remainde≥ oµ thσ file.
Iµá thσ //I╞ tes⌠ i≤ true¼á thσ firs⌠ //SKI╨ statemen⌠ skip≤ ove≥á thσ ì
ELS┼ section«á Thσ valuσ φ i≤ choseε s∩ tha⌠ thσ las⌠ linσ skippeΣ ove≥á i≤ ì
thσá seconΣ //SKI╨ statement«á I⌠ take≤ somσ timσ t∩ ge⌠ useΣ t∩ seeinτá ß ì
structurσ wherσ thσ ELS┼ come≤ betweeε thσ I╞ anΣ thσ THEN¼á bu⌠ thσ strucì
turσ i≤ n∩ les≤ valiΣ fo≥ beinτ slightl∙ unorthodox.
PROGRAM NOTES:
Thσá prograφ i≤ writteε fo≥ thσ 808░ processo≥ anΣ shoulΣ executσá properl∙ ì
oε 8080¼ 8085¼ anΣ Z-8░ processors« I⌠ ha≤ beeε testeΣ unde≥ CP/M8░ versioε ì
2.2¼ bu⌠ shoulΣ operatσ properl∙ witΦ 2.1¼ 2.░ anΣ 1.┤ also.
Therσá i≤ ß mino≥ differencσ iε thσ operatioε oµ thσ ├ optioε dependinτá oε ì
thσ versioε used«á Iµ thσ operatinτ systeφ identifie≤ itselµ a≤ versioε 2.░ ì
o≥á abovσá (a≤ determineΣ b∙ ß cal∞ t∩ Functioε 12⌐ thσ ├ optioεá wil∞á usσ ì
Functioε 35¼ "Computσ Filσ Sizeó iε orde≥ t∩ determinσ iµ thσ filσ contain≤ ì
an∙á records«á Iµ thσ versioε tes⌠ show≤ tha⌠ thσ operatinτ systeφ i≤á pre-ì
version-2¼á thσá ├ optioε tes⌠ merel∙ trie≤ t∩ reaΣ thσ firs⌠ recorΣ oµ thσ ì
file.
Thσá onl∙á timσá thi≤ woulΣ makσ ß differencσ i≤ oεá ßá Randoφá filσá whicΦ ì
happen≤á t∩ havσ n∩ record≤ iε thσ firs⌠ extent«á Thσ sequentia∞ reaΣ woulΣ ì
fail¼á bu⌠ thσ Computσ Filσ Sizσ functioε woulΣ properl∙ repor⌠ thσá existì
encσ oµ record≤ iε thσ file«á Whilσ sequentia∞ file≤ wil∞ tes⌠ correctl∙ oε ì
an∙á version¼á file≤ whicΦ havσ beeε createΣ randoml∙ shoulΣ no⌠ bσá testeΣ ì
fo≥ content≤ oε CP/═ 1.┤ o≥ earlier.
╔á woulΣ appreciatσ beinτ informeΣ oµ an∙ bug≤ founΣ iε eithe≥ program¼á o≥ ì
suggestion≤ fo≥ expansioε o≥ improvement.
è
Gary P. Novosielski,
21 W. Pierrepont Avenue,
Rutherford, NJ 07070
∞▌