123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- [Image]
- SNES Screen Format
- [Image]
- SNES GRAPHICS INFO FILE V1.0
- ----------------------------
- By DAX on 28/2/93
- This is a short text file on how the data for the gfx on the SNES are
- set up..
- Everything is based around an 8x8 pixel 'Tile' and thinking in terms of
- tiles makes the whole thing a lot easier.
- 4 Colour mode - 2 Bitplanes
- ---------------------------
- If you split the screen into 8x8 pixel tiles, the order of the graphics data
- is tile 0,1,2,3,4 etc.(with tile 0 being the first, and 1 being the one on
- the right of it.)
- Then for each tile, the data is stored as shown below.
- 00 01 02 03 04 05 06 07
- 10 11 12 13 14 15 16 17 Each number representing one pixel in
- 20 21 22 23 24 25 26 27 the 8x8 tile.
- 30 31 32 33 34 35 36 37
- 40 41 42 43 44 45 46 47
- 50 51 52 53 54 55 56 57
- 60 61 62 63 64 65 66 67
- 70 71 72 73 74 75 76 77
- The data is stored in the SNES binary in the following format.
- Bitplane 0 .. Line 00-07 (One Byte)
- Line 10-17
- Line 20-27
- Line 30-37
- Line 40-47
- Line 50-57
- Line 60-67
- Line 70-77
- then Bitplane 1 .. Line 00-07
- Line 10-17
- Line 20-27
- Line 30-37
- Line 40-47
- Line 50-57
- Line 60-67
- Line 70-77
- then comes the data for the next tile (the one on the right).etc.
- 16 Colour - 4 Bitplanes
- -----------------------
- The data for this mode is stored in the same format, with one main change.
- The data is stored in the format
- Bitplane 0 .. Line 00-07
- |
- Line 70-77
- Bitplane 1 .. Line 00-07
- |
- Line 70-77
- Bitplane 2 .. Line 00-07
- |
- Line 70-77
- Bitplane 3 .. Line 00-07
- |
- Line 70-77
- then the data for the next tile.
- 256 Colour - 8 Bitplanes
- ------------------------
- This is simply an expansion of the 4 and 16 colour modes.
- Bitplane 0 .. Line 00-07
- |
- Line 70-77
- Bitplane 1 .. Line 00-07
- |
- Line 70-77
- Bitplane 2 .. Line 00-07
- |
- Line 70-77
- Bitplane 3 .. Line 00-07
- |
- Line 70-77
- Bitplane 4 .. Line 00-07
- |
- Line 70-77
- Bitplane 5 .. Line 00-07
- |
- Line 70-77
- Bitplane 6 .. Line 00-07
- |
- Line 70-77
- Bitplane 7 .. Line 00-07
- |
- Line 70-77
- then the data for the next tile.
- 256 Colours - Mode 7 format
- ---------------------------
- This has some very major differences to the other graphics data formats
- there are two mode7 modes, normal and EXTBG, the data is stored in the
- same way in both, apart from in EXTBG the Bitplane 7 value will be a
- priority bit for the pixel, which cuts the colours down to 128.
- Each byte of 'graphics data' is actually the colour value for that pixel
- on the screen, so if the value is 64, then the colour of that pixel will
- be the contents of colour register 64.
- The data is stored in VRAM differently to the other modes, with the tile
- numbers, and the graphics data 'interleaved', starting at $0000 in VRAM,
- with alternate bytes containing one byte of tile, one byte of gfx - this
- is shown below.
- Word of VRAM. HI LO
- Bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
- content |------------------------------||------------------------------|
- Graphics data(CHAR DATA) Tile number(NAME)
- Because of the storing of 16 bit data in reverse format (LO-HI) this means
- that if you set the VRAM addr to $0.the first byte written should be the
- tile name for that position on screen and the second byte should be the first
- byte of the Mode7 graphics data.if the VRAM addr is set to $1 the first byte
- written will be the tile name for that position on scr, and the second byte
- should be the second byte of the mode7 graphics data.
- ETC
- In mode7 you can only have a maximum of 256 tiles, because of the fact that
- the mode7 data only takes up the first half of VRAM(32k) you can only have 16k
- of graphics data which is 256 tiles of 8x8 with 256 colours.
- This is quite a limitation, but can be used quite effectively.
- The tile numbers are stored in a format according to a 128x128 tile screen
- so tile 128($80) would be the tile below 0($0) on the screen, and so on.
- so VRAM addr $0 is the top left tile, and $1 is the one on the right of it
- $80 is the one on the left side, one row down.
- the graphics data is stored based on an 8x8 tile again.
- but slightly different.
- Each byte(pixel) is stored so...
- Bit number Contents
- 0 Bitplane 0 pixel value
- 1 Bitplane 1 pixel value
- 2 Bitplane 2 pixel value
- 3 Bitplane 3 pixel value
- 4 Bitplane 4 pixel value
- 5 Bitplane 5 pixel value
- 6 Bitplane 6 pixel value
- 7 Bitplane 7 pixel value /
- (EXTBG mode - Priority value)
- The data is then stored in the sequence
- 00,01,02,03,04,05,06,07
- 10,11,12,13,14,15,16,16 (Look at diagram at start of file
- | | | for explanation)
- 70,71,72,73,74,75,76,77
- with one byte for each position(pixel), according to the 8x8 tile format,
- with one tile after another.
- ---------------------------------------------------------------------------
- I hope this text file helps those of you having trouble converting graphics
- for use on the SNES, I have been asked a few times recently for this info
- so I decided to type up this short text file on it.
- Hopefully it should explain it!
- [Image]
- © 1996 Damaged Cybernetics
- [Image]
|