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

Re: CLIP's test of virtue -- and memory immunization ?



Reply to note from Harry Binswanger  Fri, 10 Dec
2004 22:38:54 -0500

> I'm not sure what an XPL library is (unless you mean
> incorporating into U2).

Yes, of course, U2.

> I saved a ton of memory by not using LDSGT XY4.SGT in
> STARTUP.INT (or anywhere else). Anyone who is using LDSGT
> should cease and desist.

Yes indeed. What I did, a long time ago, was to create a U2 frame
named after each ordinary Save/Get (0-9, A-Z) and move the code or
text from each Save/Get to the corresponding U2 frame. For
example, a program loaded to Save/Get A (executed with @A in the
keyboard file) is moved to a U2 frame named "@A". The KBD file
assignment for Alt-A is changed from 30=@A to 30=NOJM(,2,.,@,A,).
Once you do this for all ordinary S/Gs, you can REMOVE them from
memory and forego loading them at startup, and save "a ton of
memory" in the process. There is no downside -- none whatsoever.

Here's a routine, MOVE2U2.PM, that speeds the transition. It
creates a U2 frame for each ordinary Save/Get; if the S/G has
content, it is ported to the U2 frame. Run the program once,
follow the instructions, and you're in business.

XPLeNCODE v2.0
b-gin [UNTITLED]
;*; MOVE2U2.PM -- C.L. Distefano 12/11/04[cr|lf];*; Create U2
 frames to run programs or put text saved to[cr|lf];*;  "ord
inary" Save/Gets (0-9|A-Z)[cr|lf];*; [cr|lf];*; Usage:[cr|lf]
;*; Save this code to a file (e.g., MOVE2U2.PM) and run it on
ce:[cr|lf];*; RUN MOVE2U2.PM[cr|lf];*;[cr|lf];*; MErge
 the result into U2 and issue LOADHELP to reload U2.
[cr|lf];*; Also, do the following:[cr|lf];*;[cr|lf];*; Change
 KBD file assignments for ordinary Save/Gets to[cr|lf];*; the
ir cognate U2 framenames. For example, change[cr|lf];*;[cr|l
f];*;  30=@A[cr|lf];*; to[cr|lf];*;  30=NOJM(,2,.,@,A,)[c
r|lf];*;[cr|lf];*; Remove ordinary Save/Gets to free up memor
y:[cr|lf];*; REMOVE x, where x is any Save/Get 0-9|A-Z
 with content[cr|lf];*; [cr|lf];*; Edit STARTUP.INT to preven
t loading of ordinary S/Gs at startup[cr|lf];*; Disable any l
ine that loads a .SGT file or that LDPMs a file to[cr|lf];*;{032}
an ordinary S/G[cr|lf];*;[cr|lf];*; Programs loaded to "amper
sand" S/Gs (&0-&9|&A-&Z) can be relocated[cr|lf];*; to U2 in{032}
similar fashion, but code must be moved manually, by[cr|lf];*
; MErging each LDPMed file to the corresponding U2 frame[cr|l
f];*;[cr|lf]{<}SX01,0+{<}VA$WA{>}{>}{<}IF{<}PV01{>}<1{>}{<}PR
No window{>}{<}EX{>}{<}EI{>}{<}SX01,"[BX_]func #"+{<}IS01{>}+
"[Q2_][BX_]ne/100[Q2_]"{>}{<}SV02,[255+128+002]{>}{<}SV03,{12
8}{>}{<}XS02,03,,03,04{>}{<}SU02,{<}SV03,{>}{<}SX05,"{<}VA!"+
{<}IS06{>}+"{>}"{>}{<}SX05,{<}PV05{>}{>}{<}IF{<}PV05{>}<255{>
}{<}SX07,"{<}SX03,{<}IS"+{<}IS06{>}+"{>}{>}"{>}{<}PV07{>}{<}S
V07,{>}{<}IF{<}PV05{>}<1{>}{<}SX03,"{<}SV01,"+{<}IS03{>}+"{>}
{<}GT01{>}"{>}{<}EI{>}{<}EI{>}{>}{<}SV08,{027}X{>}{<}LBa{>}{<
}SV09,0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ{>}{<}LBb{>}{<}IF{<
}VA|09{>}>0{>}{<}SV07,{>}{<}XS09,08,,06,07{>}{<}SX09,{<}IS07{
>}{>}{<}GT02{>}{<}SX06,"{"+"{;5@"+{<}IS06{>}+"}"+"}[cr|lf]
"+{<}IS04{>}+{<}IS03{>}+{<}IS04{>}+"[cr|lf][cr|lf]"{>}{<}IF{<
}VA|01{>}>0{>}{<}PV01{>}{<}SV01,{>}{<}EI{>}{<}GT06{>}{<}SV06,
{>}{<}GLb{>}{<}EI{>}[TF_]{<}PRDone - MErge into U2 and issue{032}
LOADHELP{>}{<}EX{>}[cr|lf][cr|lf]
-nd
XPLeNCODE

> BX ldpm c:\xy\macro.pgm,&m
>
> I have 8 such LPDM lines,

That's eight more than you need. Why not move those programs into
U2 as well?

> BTW, looking afresh at my STARTUP.INT, I see I have it set S/G
> 400 to 0. Does anyone recall if this was what S/G 400 was used
> for?

It's not used by the Jumbo U2, if that's what you're asking.

--
Carl Distefano
cld@xxxxxxxx