MrAccident: "Calling shops with control codes is actually a fairly simple procedure. The basic format is this:

EXAMPLE:
[04 E2 00 08    00 05 E2 00 02]
WHAT IT DOES:
[04 E2 00] sets a flag determining which store will be called.
[08    00] displays the text at $C5DECB, which is the text format for the shop. (i.e. whether or not the shopkeeper give you the option of buying or selling)
[05 E2 00] cancels the flag set in the first part of the code. If you set a new event flag instead of cancelling the old one, you can get some freaky effects, like having a shop mutate into a different shop the second time you use it.

There are two shop text formats I have documented so far:
CB DE C5 00 ($C5DECB)
This is used for most shops. Shopkeeper says first line and gives you the Buy/Sell option, then says something after you make either selection.
B1 DF C5 00 ($C5DFB1)
Says a couple lines and goes directly to the Buy window. doesn't give you the option of selling anything. Will say something if you buy nothing."

Flag (Format)
-----------------------------------------------------------------------
                           E2 00 (CB DE C5 00)
                           Onett drugstore, guy on right

                            E3 00 (CB DE C5 00)
                            Onett drugstore, guy on left

                            E4 00 (B1 DF C5 00)
                            Onett Burger Shop

                            E5 00 (B1 DF C5 00)
                            Another burger shop, same as above

                            E6 00 (B1 DF C5 00)
                            Onett Bakery

                            E7 00 (B1 DF C5 00)
                            Yet another burger shop

                            E8 00 (B1 DF C5 00)
                            Bakery again

                            E9 00 (CB DE C5 00)
                            Store in Twoson dept. store (weapons, etc.)

                            EA 00 (CB DE C5 00)
                            Store in Twoson dept. store (Teddy Bear)