Text Format

The codepage used is Shift-JIS. Also has some commands for text.

This one is quite specific. It has some functions like \x00 or \y00 that needs to be known.

\c?? - Color
\d??? - Print value from memory (half-width)
\D??? - Print value from memory (full-width)
\i - Go back to the start of the line.
\m? - Separate letter (? for space between letters)
\n - Next line.
\s??? - Print text string from memory address, and then continue.
\w?? - Speed
\x?? - X Shift (every 8 pixels)
\y?? - Y Shift (every 8 pixels?)

Item/Schedule Format

Header

(Schedule ID Header)
$00 : Schedule ID
$01 : Number of Schedule Datas (Goes to RAM $13BC)
$02-04 : Unused.
(Schedule Data Header)
$05 : ?
$06 : Number of Items/Scheduled Programs (Goes to RAM $13BA)
$07 : SHOP NAME (Shift-JIS) [Max Size 21 bytes]
$1C : Size of Text when it says to Enter or not.
(If $1C = 00.)
$1D : Data Type (#$00 = Schedule Data; #$01 = Item Data)
$1E : Activate a Building/Tower
$1F-$21 : Unknown
$22 : Character on Screen.
$23-$27 : Unknown.

Item

Offset - Size - Description
$0000 - 20 - Item Name
$0014 - 2 - Data Size (must be #$79, since this is fixed)
$0016 - 37 - Item Description
$003B - 71 - Item Use
             (Mostly is just a text.)
$0082 - 12 - Price (Shift-JIS)
             Format is like that: "000000000000"
             For 155G, it should be "000000000155".
$008E - 1 - "Item has Infinite Uses?" flag
            If it's #$00, Item can be used one time.
            It it's #$01, Item has infinite uses.
$008F - 28 - Unknown.

Schedule

Offset - Size - Description
$0000 - 1 - Program ID
$0001 - 1 - Must not have bit 0 set.
$0002 - 20 - Program Name
$0016 - 2 - Description Size
$0018 - ? - Description

(After the Description)

$0000 - 2 - Data Chunk ID (Goes to RAM $7E13E3)
$0002 - 2 - Data Block ID (Goes to RAM $7E13E5)
$0004 - 3 - 24-bit Size of Download (Big Endian)
$000A - 1 - Settings
             #$01: More Text.
             #$04: This program is hidden from Recieve Program menu.
$000B - 1 - If this byte = #$08 then BS-X asks if you want to continue.
$000C - 1 - This byte is about where to put it (#$04 = PSRAM, #$08 or #$0C = Data Pack)
            (For some reason, #$08 manages to crash bsnes-bsx.)
$000F - 1 - Month
$0010 - 1 - Day
$0011 - 3 - Time Data (Big Endian)
            Bits Format:
            HHHHHMMM MMMHHHHH MMMMMM00
            As HH:MM~HH:MM.
$001A - (End of Data)

Building/Tower Activation Value

#$00 = Robot Tower
#$01 = News Wall
#$02 = Broadcast Station
#$03 = Burger Shop
#$04 = Police Box
#$05 = Calculator Building
#$06 = Beach House (Shop)
#$07 = Stadium
#$08 = Convenience Center (Shop)
#$09 = Girls School
#$0A = Game Factory
#$0B = Department Store
#$0C = Game Museum
#$0D = Abacus Building
#$0E = Tofu Hall
#$0F = Event Plaza
#$10 = Bagpotamia Temple
#$11 = Celebrity House
#$12 = Private House
#$13 = Telephone Booth
#$14 = Sewerage (Shop)
#$3D = ??? Kinda crashes the game when you try to make text appear.
#$3E = Same as #$3D.