Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Panic Restaurant/Tutorials: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
(Added tutorial for reading the ROM object batches.) |
||
Line 74: | Line 74: | ||
|111 || style="background:#4C4C4C;color:#FFFFFF" | '''4C4C4C''' || style="background:#818181" | '''818181''' || style="background:#BFBFBF" | '''BFBFBF''' | |111 || style="background:#4C4C4C;color:#FFFFFF" | '''4C4C4C''' || style="background:#818181" | '''818181''' || style="background:#BFBFBF" | '''BFBFBF''' | ||
|} | |} | ||
==Reading the ROM's Batches of Objects (0x01401C/583, 0x0145CC/853)== | |||
Each object is 4 bytes long. | |||
* 1st byte is the X position. | |||
* 2nd byte is the Y position. | |||
* 3rd byte is the [[Panic_Restaurant:Notes#Object_Type_List|object's type]]. | |||
* 4th byte is miscellaneous, depending on the object's type (usually used for defining which way it's facing). | |||
For how X/Y are read: | |||
{| border="1" align="center" cellpadding="4" cellspacing="0" style="margin: 0 0 1em 1em; background: #f7f8ff; border: 1px #8888cc solid; border-collapse: collapse; font-size: 95%" | |||
|- style=background:#ccccff | |||
!'''ROM's Value''' || '''RAM's X/Y 2''' || '''RAM's X/Y 1''' | |||
|- | |||
| 0xAB || 0x0A || 0xB0 | |||
|} | |||
Batches are split into stages; that is, the segments can only be used in specific stages. The second batch is split into checkpoints (from entering doors or bonus minigames) as well. | |||
{| border="1" align="center" cellpadding="4" cellspacing="0" style="margin: 0 0 1em 1em; background: #f7f8ff; border: 1px #8888cc solid; border-collapse: collapse; font-size: 95%" | |||
|- style=background:#ccccff | |||
!'''ROM''' || '''Stage''' || '''Checkpoint''' | |||
|- | |||
| 0x01401C/83 || 1 || Any | |||
|- | |||
| 0x014084/14F || 2 || Any | |||
|- | |||
| 0x014150/207 || 3 || Any | |||
|- | |||
| 0x014208/317 || 4 || Any | |||
|- | |||
| 0x014318/41F || 5 || Any | |||
|- | |||
| 0x014420/583 || 6 || Any | |||
|- | |||
| 0x0145CC/D7 || 1 || 0 | |||
|- | |||
| 0x0145D8/E3 || || 1 | |||
|- | |||
| 0x0145E4/F3 || || 2 | |||
|- | |||
| 0x0145F4/607 || 2 || 0 | |||
|- | |||
| 0x014608/2F || || 1 | |||
|- | |||
| 0x014630/47 || || 2 | |||
|- | |||
| 0x014648/53 || || 3 | |||
|- | |||
| 0x01465/F || 3 || 0 | |||
|- | |||
| 0x014660/93 || || 1 | |||
|- | |||
| 0x014694/AB || || 2 | |||
|- | |||
| 0x0146AC/D7 || || 3 | |||
|- | |||
| 0x0146D8/E3 || || 4 | |||
|- | |||
| 0x0146E4/F3 || 4 || 0 | |||
|- | |||
| 0x0146F4/F || || 1 | |||
|- | |||
| 0x014700/17 || || 2 | |||
|- | |||
| 0x014718/27 || || 3 | |||
|- | |||
| 0x014728/33 || || 4 | |||
|- | |||
| 0x014734/47 || || 5 | |||
|- | |||
| 0x014748/6F || 5 || 0 | |||
|- | |||
| 0x014770/9B || || 1 | |||
|- | |||
| 0x01479C/A7 || || 2 | |||
|- | |||
| 0x0147A8/C3 || || 3 | |||
|- | |||
| 0x0147C4/CF || || 4 | |||
|- | |||
| 0x0147D0/E3 || 6 || 0 | |||
|- | |||
| 0x0147E4/F7 || || 1 | |||
|- | |||
| 0x0147F8/803 || || 2 | |||
|- | |||
| 0x014804/1B || || 3 | |||
|- | |||
| 0x01481C/2B || || 4 | |||
|- | |||
| 0x01482C/3F || || 5; Cutscene | |||
|- | |||
| 0x014840/53 || || 6 | |||
|} | |||
===Example Object=== | |||
* ROM: 0x01433C/F | |||
* Only in Stage 5, but can be used with any checkpoint. | |||
* 1st Byte: 0x32; X2 is 0x03, and X1 is 0x20. | |||
* 2nd Byte: 0x0C; Y2 is 0x00, and Y1 is 0xC0. | |||
* 3rd Byte: 0x09; object type is Pizza. | |||
* 4th Byte: 0x01; causes the object to face right. | |||
{{Internal Data|game=Panic Restaurant}} | {{Internal Data|game=Panic Restaurant}} |
Revision as of 01:28, 17 September 2016
The following article is a Tutorial for Panic Restaurant.
Input Explanation
The value is in binary.
Bit Location | Input |
---|---|
0000000x | Right |
000000x0 | Left |
00000x00 | Down |
0000x000 | Up |
000x0000 | Start |
00x00000 | Select |
0x000000 | B |
x0000000 | A |
Example: Holding Right, B, and A will give 11000001 (or 0xC1).
PPU Type Explanation
The value is in binary.
Bit Location | Function |
---|---|
0000000x | Disable Color Blend |
000000x0 | Extend BG to Left |
00000x00 | (Doesn't do anything) |
0000x000 | Render BG (Background) |
000x0000 | Render OBJ (Object) |
00x00000 | Red Color Overlay |
0x000000 | Green Color Overlay |
x0000000 | Blue Color Overlay |
Example: 011 01 010 (00101010, or 2A in hexadecimal) will add a yellow color overlay, rendering non-objects (such as the background and the HUD), as well extending the background to the left.
PPU Color Overlay List
Value | Color 1 | Color 2 | Color 3 |
---|---|---|---|
000 | 666666 | ADADAD | FFFFFF |
001 | 7E5D4B | D69E80 | FFE9BD |
010 | 506E59 | 89BB98 | CAFFE0 |
011 | 676342 | B0A970 | FFF9A6 |
100 | 5C6882 | 9CB1DC | E6FFFF |
101 | 685C63 | B09DA9 | FFE7F9 |
110 | 4B640A | 80AA11 | BCFB19 |
111 | 4C4C4C | 818181 | BFBFBF |
Reading the ROM's Batches of Objects (0x01401C/583, 0x0145CC/853)
Each object is 4 bytes long.
- 1st byte is the X position.
- 2nd byte is the Y position.
- 3rd byte is the object's type.
- 4th byte is miscellaneous, depending on the object's type (usually used for defining which way it's facing).
For how X/Y are read:
ROM's Value | RAM's X/Y 2 | RAM's X/Y 1 |
---|---|---|
0xAB | 0x0A | 0xB0 |
Batches are split into stages; that is, the segments can only be used in specific stages. The second batch is split into checkpoints (from entering doors or bonus minigames) as well.
ROM | Stage | Checkpoint |
---|---|---|
0x01401C/83 | 1 | Any |
0x014084/14F | 2 | Any |
0x014150/207 | 3 | Any |
0x014208/317 | 4 | Any |
0x014318/41F | 5 | Any |
0x014420/583 | 6 | Any |
0x0145CC/D7 | 1 | 0 |
0x0145D8/E3 | 1 | |
0x0145E4/F3 | 2 | |
0x0145F4/607 | 2 | 0 |
0x014608/2F | 1 | |
0x014630/47 | 2 | |
0x014648/53 | 3 | |
0x01465/F | 3 | 0 |
0x014660/93 | 1 | |
0x014694/AB | 2 | |
0x0146AC/D7 | 3 | |
0x0146D8/E3 | 4 | |
0x0146E4/F3 | 4 | 0 |
0x0146F4/F | 1 | |
0x014700/17 | 2 | |
0x014718/27 | 3 | |
0x014728/33 | 4 | |
0x014734/47 | 5 | |
0x014748/6F | 5 | 0 |
0x014770/9B | 1 | |
0x01479C/A7 | 2 | |
0x0147A8/C3 | 3 | |
0x0147C4/CF | 4 | |
0x0147D0/E3 | 6 | 0 |
0x0147E4/F7 | 1 | |
0x0147F8/803 | 2 | |
0x014804/1B | 3 | |
0x01481C/2B | 4 | |
0x01482C/3F | 5; Cutscene | |
0x014840/53 | 6 |
Example Object
- ROM: 0x01433C/F
- Only in Stage 5, but can be used with any checkpoint.
- 1st Byte: 0x32; X2 is 0x03, and X1 is 0x20.
- 2nd Byte: 0x0C; Y2 is 0x00, and Y1 is 0xC0.
- 3rd Byte: 0x09; object type is Pizza.
- 4th Byte: 0x01; causes the object to face right.
Internal Data for Panic Restaurant
| |
---|---|