øA slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=390;area=showposts;start=75 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexa71d.html slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=390 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexa71d.html.z x büg^ ÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ °U Ëã OK text/html ISO-8859-1 gzip 0|Ö Ëã ÿÿÿÿÿÿÿÿ Tue, 10 Mar 2020 21:01:46 GMT 0ó° °® 0® P® €§² ð® büg^ ÿÿÿÿÿÿÿÿ. Ëã
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

1 byte per character
00 - space
01 - e
02 - t
03 - a
04 - o
05 - n
06 - s
07 - r
08 - i
09 - h
0a - l
0b - .
0c - d
0d - . (terminator?)
0e - u
0f - m
10 - g
11 - y
12 - c
13 - w
14 - f
15 - p
16 - !
17 - b
18 - :
19 - k
1a - '
1b - ,
1c - v
1d - T
1e - I
1f - S
20 - C
21 - G
22 - W
23 - ?
24 - F
25 - L
26 - -
27 - B
28 - P
29 - M
2a - K
2b - H
2C - A
2D - D
2e - E
2f - R
30 - x
31 - O
32 - Y
33 - N
34 - z
35 - j
36 - q
37 - 1
38 - V
39 - U
3a - 2
3b - X
3c - J
3d - * (?)
3e - "
3f - 0
40 - 3
41 - Z
42 - 4
43 - 5
44 - Q
45 - 6
46 - 8
47 - 7
48 - %
49 - 9
4a - +
4b - ;
4c - /
4e - space
4f - &
50 - (
51 - )
52 - =
53 - .
54 - ..
55 - japanese period
56 - -
57 -
58 -
59 -
5a -
5b -
5c -
5d -
5e -
5f -
60 -
61 -
62 -
63 -
64 -
65 -
66 -
67 -
68 -
69 -
6a -
6b -
6c -
6d -
6e -
6f -
So looking through the documentation. It looks like Mode 1 uses one 4-color BG and two 16-color BGs... how are the palettes allocated in Mode 1?Excellent observations, m8!
I assume sprites get 8 palettes regardless of mode? Would that mean, then, that in Mode 1 there are eight 4-color palettes for BG3 and six 16-color palettes shared by BG1 and BG2?
Uh-oh... This is going to be a problem for this project.Let me ask you something:
In FFIV, every character portrait and every PC battle sprite has a dedicated palette. So to use every palette I was planning to use, that would be a minimum of 16 palettes (11 portraits + 5 battle sprites). That means that hardware limitations will definitely prevent me from using the method I had originally intended for this project.
$2121: Address for accessing CGRAM (1b/W). This register selects the word location (byte address * 2)
$2122: Data write to CGRAM (1b/W)
$213B: Data read from CGRAM (1b/R)
[i]*Since read/write return only 1 bite, you need 2 consecutive operations to get the whole color (16bits)[/i]
I guess this somehow makes the data easier or faster for the SNES to interpret? You don't have to explain why or how that is - it's probably deeper than I need to go.My speculation is - hardware. Usually by doing this weird for us things, they organize memory ... like a Bit-Plane in one memory chip. Then you can assign different processors to work on different chip memory simultaneously without interfering (internal multitasking).
This isn't really a hard no, but it's definitely difficult enough to be a soft no.Hehe very soft indeed :D
Tile in Decimal: Same Tile in Binary (4bit):
00 01 02 03 04 05 06 07 0000 0001 0010 0011 0100 0101 0110 0111
08 09 10 11 12 13 14 15 1000 1001 1010 1011 1100 1101 1110 1111
00 01 02 03 04 05 06 07 0000 0001 0010 0011 0100 0101 0110 0111
08 09 10 11 12 13 14 15 ---\ 1000 1001 1010 1011 1100 1101 1110 1111
00 01 02 03 04 05 06 07 ---/ 0000 0001 0010 0011 0100 0101 0110 0111
08 09 10 11 12 13 14 15 1000 1001 1010 1011 1100 1101 1110 1111
00 01 02 03 04 05 06 07 0000 0001 0010 0011 0100 0101 0110 0111
08 09 10 11 12 13 14 15 1000 1001 1010 1011 1100 1101 1110 1111
Bit-Plane 0: Bit-Plane 1: Bit-Plane 2: Bit-Plane 3:
0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
p - Bit-Plane, pX - Bit-Plane X
r - row, rX - row X
pX:rY - a byte value made by the 8 bits of a row Y in Bit-Plane X
p0:r0 p1:r0 p0:r1 p1:r1 p0:r2 p1:r2 p0:r3 p1:r3 p0:r4 p1:r4 p0:r5 p1:r5 p0:r6 p1:r6 p0:r7 p1:r7
p2:r0 p3:r0 p2:r1 p3:r1 p2:r2 p3:r2 p2:r3 p3:r3 p2:r4 p3:r4 p2:r5 p3:r5 p2:r6 p3:r6 p2:r7 p3:r7
55 33 XX XX XX XX XX XX XX XX XX XX XX XX XX XX
0F 00 XX XX XX XX XX XX XX XX XX XX XX XX XX XX
3) I don't know if it's really important for me to know, since there are graphics viewing and editing programsPretty much NO. Manipulating the individual pixels of a Tile is used mainly for creating special effects. In my observations, Square were a little bit lazy and were doing only effects trough manipulating PPU registers (easy and fast). The other case is for creating Tiles on the fly (trough code) - a library of functions that can manipulate Tiles, like Plot(TileID, X, Y, Color). In FF4, probably the only occasion of manipulating Tiles is the conversion of 3bb -> 4bpp.
Bit 0-9 - Tile ID (000h-3FFh)
Bit 10-12 - Palette ID (0-7)
Bit 13 - BG Priority (0=Lower, 1=Higher)
Bit 14 - X-Flip (0=Normal, 1=Mirror horizontally)
Bit 15 - Y-Flip (0=Normal, 1=Mirror vertically)$212C - control which layer is visible or not
$2105 - tilesize for each leayer
$2107-$210A - set layer's base address in VRAM and its size. For now we all work with 32x32
Bit 0-9 - Tile ID (000h-3FFh)
Bit 10-12 - Palette ID (0-7)
Bit 13 - BG Priority (0=Lower, 1=Higher)
Bit 14 - X-Flip (0=Normal, 1=Mirror horizontally)
Bit 15 - Y-Flip (0=Normal, 1=Mirror vertically)