0% found this document useful (0 votes)
3 views2 pages

Cache Area

The document outlines the usage and methods for accessing the cache area in a spelling column, detailing four main functions: storing strings, converting bytes, copying input, and reordering strings. It provides a step-by-step guide on how to bypass null characters and manipulate strings within the cache area, including examples of storing and converting data. Additionally, it discusses the utility of using Ran# as a protective measure and marking sign during these operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views2 pages

Cache Area

The document outlines the usage and methods for accessing the cache area in a spelling column, detailing four main functions: storing strings, converting bytes, copying input, and reordering strings. It provides a step-by-step guide on how to bypass null characters and manipulate strings within the cache area, including examples of storing and converting data. Additionally, it discusses the utility of using Ran# as a protective measure and marking sign during these operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Cache Area for Spelling Column

Cache area has 4 main kinds of usage:


1. Store the last string you calculated (after pressing r or =);
2. Convert 2-byte into 1-byte like converters do (Like Ran#(FD18) to @(18));
3. Copy the string in input area;
4. (High-level) Change the order of the string.

Ideas & actions about how to get to the cache area:


Cache area is behind the input area, and a 00 away from the end of input area. So our
goal is to bypass the null char, the best choice is ⬜(19).
See how Math input works, for a math expression ends with @(1B), if the content in
it is null (as to say ⬜), when cursor before ⬜, press$, it will bypass the @(1B), and go to
the end of this expression. This is the special nature that ⬜ has.
Have 62 19 as well as Q(⬜ at the end of your string, Q( can be substituted by
anything that takes a byte.
Type numbers before Q(⬜ till you cannot type any more, $$o, you'll reach the
cache area.

Explanation:
2. If the string is long enough (if not add numbers before Q(⬜, I advise to make the
whole string has a length of 70), the inputting form in cache area will be overwriting,
which is useful for converting, like this (| shows the cursor, yellow shows the input area,
cyan shows the cache area).
34 35 36 62 19 20 20 20|FD 18 62 19 00 00 00 00
1 34 35 36 62 19 20 20 20 31|18 62 19 00 00 00 00
o 34 35 36 62 19 20 20 20|18 62 19 00 00 00 00 00
As seen above, the position of the 2-byte is not restricted, it can be anywhere (not
too far). As comparison, converters (like FDFD) needs the 2-byte be here: FD FD FD 18.
So it's not practical when you need many Is (Indirect characters, those cannot be input
directly but can be converted by converters) in different regions.
3. When storing the data, the string will duplicate in cache area to ensure after you
press AC after ERROR message you can still invoke things you input. Thus we have a
method to duplicate the string we already have.
rC$, Reach the cache area, delete all the numbers you input before, then the
2 strings are linked together.
4. Secret tools for a high-level speller, here we raise an example.
If we have F4F4 65 and 62 19, how should we get F489 65 F470?
First store, rC$
|F4 F4 65 62 19 00 00 00 ... 00 00 00 F4 F4 65 62 19 00 00 ...
Second convert, convert F4F4 to F489 (using LCM()
F4 89|65 62 19 00 00 00 ... 00 00 00 F4 F4 65 62 19 00 00 ...
Second reach, spam numbers, $$
F4 89 65 31 32 33 34 35 ... 62 19 00|F4 F4 65 62 19 00 00 ...

Written by pyridinephenol
Third o
F4 89 65 31 32 33 34 35 ... 62 19|F4 F4 65 62 19 00 00 00 ...
Fourth delete all the numbers before (DO NOT DELETE Neg((65)!)
F4 89 65 F4 F4 65|62 19 ... 00 00 00 00 00 00 00 00 00 00 ...
Then store again, and convert…
F4 89 65 F4 70|65 62 19 ... 00 00 00 00 00 00 00 00 00 00 ...
If there're more F4s and Us(Unavailbale characters, those can only be hacked by 3@s),
just do it repeatedly.
*. Useful skill about using Ran#:
Ran# can be used after the F4F4 to protect it, because if one single byte is after
F4F4, then it will…
F4 F4 60|80 90
o F4|80 90 00 00
But if a Ran# is behind it then the situation will be different…
F4 F4 FD 18 60|80 90
o F4 F4 FD 18|80 90 00
o F4 F4|80 90 00 00 00
In fact all 2-byte character can play this role, but the easiest to get is the Ran#.
And it can also be used as a marking sign.
Like if you have F4F4 65 67 and you want to get F470 65 F467, you should remember
in the delete-number step you need to stop behind Neg(, but you may delete too quickly
and delete the Neg(… Then your effort this time is in vain. And when you want to end
behind an F4 character it's also difficult to determine the finish place. So add a Ran# as a
marking sign is useful here.

Written by pyridinephenol

You might also like