All Screens (title, naming screen etc)

Page 1 of 2 1, 2  Next

Go down

All Screens (title, naming screen etc) Empty All Screens (title, naming screen etc)

Post by Puzzledude Mon 9 Sep 2013 - 16:53

ALTTP,
TITLESCREEN AND OTHER SCREENS IN HEX CODE

small (fixed)
01. 65D6D, (FD) to 65E69, = 07. LOAD LIST
02. 65E6A, (E0) to 65F49, = 08. LOAD SCREEN
03. 65F4A, (FD) to 66046, = 09. ERASE LIST
04. 66047, (AD) to 660F3, = 10. COPY LIST
05. 660F4, (85) to 66178, = 11. DESTINATION LIST

big (with pointers, can be realocated, can be expanded)
06. 66179, (45B) to 665D3, = 01. TITLE SCREEN
07. 665D4, (B1) to 66684, = 03. PLAYER SELECT
08. 66685, (E9) to 6676D, = 05. ERASE SCREEN
09. 6676E, (51) to 667BE, = 04. COPY SCREEN
10. 667BF, (5BB) to 66D79, = 02. NAMING SCREEN

special (map screen)
11. 75A9C, (294) to 75D2F, = 06. MAP SCREEN



*all screens (no map) = 65D6D, (100D) to 66D79
-------------------




Complex partial POINTERS only for main screens (06. to 11.) are at 137D.

137D, (19) to 1395

string
79 1B BF D4 6E 85 9C (10 10)
E1 02 E7 E5 E7 E6 DA (00 00)
0C 00 0C 0C 0C 0C 0E

reading vertically (from bottom upwards)
0C E1 79 = 66179 = 01. TITLE SCREEN
00 02 1B = /
0C E7 BF = 667BF = 02. NAMING SCREEN
0C E5 D4 = 665D4 = 03. PLAYER SELECT
0C E7 6E = 6676E = 04. COPY SCREEN
0C E6 85 = 66685 = 05. ERASE SCREEN
0E DA 9C = 75A9C = 06. MAP SCREEN

When repointed, file size must be 1FFFFF!
When repointed, not compatible to HM.


Last edited by Trovsky on Fri 6 Jan 2017 - 16:53; edited 2 times in total (Reason for editing : any reason why you blanked this comment out?)
Puzzledude
Puzzledude

All Screens (title, naming screen etc) Image213

Since : 2012-06-20

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Puzzledude Mon 9 Sep 2013 - 16:55

RESETING ALL SCREENS to ALTTP! (new location is at 200000)
(assuming you are using the same gfx for screens)

pointers (for main screens only)
137D, (block= 19), to 1395, new code
00 1B 00 00 00 00 00 10 10 80 02 90 A0 B0 C0 D0 00 00 40 00 40 40 40 40 40


data, code for small screens (no pointers)
65D6D,
61 29 00 25 E7 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 61 49 00 25 F7 18 91 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 61 A9 00 25 E8 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 61 C9 00 25 F8 18 91 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 62 29 00 25 E9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 62 49 00 25 F9 18 91 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 FF 10 42 00 27 89 35 8A 35 8B 35 8C 35 8B 35 8C 35 8B 35 8C 35 8B 35 8C 35 8B 35 8C 35 8B 35 8C 35 8B 35 8C 35 8B 35 8C 35 8A 75 89 75 10 62 00 03 99 35 9A 35 10 64 40 1E 7F 34 10 74 00 03 9A 75 99 75 10 82 00 03 A9 35 AA 35 10 84 40 1E 7F 34 10 94 00 03 AA 75 A9 75 10 A2 00 27 9D 35 AD 35 9B 35 9C 35 9B 35 9C 35 9B 35 9C 35 9B 35 9C 35 9B 35 9C 35 9B 35 9C 35 9B 35 9C 35 9B 35 9C 35 AD 75 9D 75 10 C2 00 27 AB 35 AC 35 AB 35 AC 35 AB 35 AC 35 AB 35 AC 35 AB 35 AC 35 AB 35 AC 35 AB 35 AC 35 AB 35 AC 35 AB 35 AC 35 AB 75 AC 75 10 E2 00 01 83 35 10 E3 40 32 85 35 10 FD 00 01 84 35 11 02 C0 22 86 35 11 1D C0 22 96 35 13 42 00 01 93 35 13 43 40 32 95 35 13 5D 00 01 94 35 61 A7 00 25 E7 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 61 C7 00 25 F7 18 91 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 62 07 00 25 E8 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 62 27 00 25 F8 18 91 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 62 67 00 25 E9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 62 87 00 25 F9 18 91 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 FF 61 04 00 15 85 18 26 18 07 18 AF 18 02 18 07 18 6F 18 86 18 A9 18 A9 18 A9 18 61 24 00 15 95 18 36 18 17 18 BF 18 12 18 17 18 7F 18 96 18 A9 18 A9 18 A9 18 61 67 00 0F E7 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 61 87 00 0F F7 18 91 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 61 C7 00 0F E8 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 61 E7 00 0F F8 18 91 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 62 27 00 0F E9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 62 47 00 0F F9 18 91 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 FF 61 51 00 15 85 18 23 18 0E 18 A9 18 26 18 07 18 AF 18 02 18 07 18 6F 18 86 18 61 71 00 15 95 18 33 18 1E 18 B9 18 36 18 17 18 BF 18 12 18 17 18 7F 18 96 18 61 B4 00 0F A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 61 D4 00 0F A9 18 91 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 62 14 00 0F A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 62 34 00 0F A9 18 91 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 FF



data, code for MAIN screens (pointers to 200000)
200000, title screen
11 0B 00 19 68 1D 69 1D 6A 1D 6B 1D 5D 1D 5E 1D 30 1C 31 1C 32 1C 33 1C 34 1C 35 1C 36 1C 11 2B 00 19 78 1D 79 1D 7A 1D 7B 1D 37 1C 38 1C 39 1C 3A 1C 3B 1C 3C 1C 3D 1C 3E 1C 3F 1C 11 46 00 25 F7 18 00 19 01 19 02 19 03 19 04 19 05 19 05 19 06 19 05 19 07 19 07 59 05 19 08 19 09 19 0A 19 0B 19 0C 19 F0 1C 11 66 00 23 0D 19 0E 19 F9 18 0F 39 10 19 11 19 12 19 13 19 14 19 15 19 FA 18 FA 58 16 19 17 19 18 19 FB 18 19 19 1A 19 11 86 00 23 F8 18 5F 19 1B 39 1C 39 1D 19 1E 19 1F 19 20 19 21 19 22 19 5F 19 5F 19 23 19 24 19 25 19 26 19 27 19 28 19 11 A8 00 1F 29 39 2A 39 2B 19 1E 19 2C 19 2D 19 38 19 22 19 5F 19 5F 19 23 19 FC 18 2E 19 2F 19 30 19 31 19 11 C7 00 23 32 19 33 39 34 39 5F 19 1E 19 1F 19 36 19 37 19 22 19 5F 19 39 19 23 19 24 99 3A 19 3B 19 3C 19 3D 19 3E 19 11 E7 00 23 3F 19 40 39 41 39 5F 19 42 19 43 19 44 19 45 19 46 19 47 19 48 19 49 19 4A 19 4B 19 4C 19 4D 19 4E 19 4F 19 12 06 00 25 FD 18 50 19 51 39 F9 98 52 19 53 19 54 19 54 19 55 19 54 19 54 19 56 19 54 19 57 19 58 19 59 19 5A 19 5B 19 5C 19 12 26 00 2B F1 18 F2 18 F3 18 F4 18 F5 18 F6 18 60 1D 61 1D 62 1D 63 1D 64 1D 65 1D 66 1D 67 1D 68 1D 69 1D 6A 1D 6B 1D 6C 1D 6D 1D 6E 1D 6F 1D 12 4C 00 1F 70 1D 71 1D 72 1D 73 1D 74 1D 75 1D 76 1D 77 1D 78 1D 79 1D 7A 1D 7B 1D 7C 1D 7D 1D 7E 1D 7F 1D 00 80 41 BE BD 10 01 65 40 2A BE 10 01 88 40 24 BF 10 02 28 40 24 BF 90 02 45 40 2A BE 90 02 6A 40 1A BD 90 01 40 00 13 B3 11 B4 11 B4 51 B3 51 BD 10 BD 10 B3 11 B4 11 B4 51 B3 51 01 58 00 05 B3 11 B4 11 B4 51 01 60 00 09 B0 10 B1 10 B2 10 B3 10 B4 10 01 80 00 0F B5 10 B6 10 B7 10 B8 10 B9 10 BA 10 BB 10 BC 10 01 A0 00 35 C9 09 CA 09 C9 09 CA 09 C9 09 CA 09 C9 09 CA 09 FF 09 E7 09 E8 09 E7 09 E8 09 E7 09 E8 09 E7 09 E8 09 E7 09 E8 09 E7 09 E8 09 E7 09 E8 09 E7 09 E8 09 E7 09 E8 09 01 C0 00 35 D9 09 DA 09 D9 09 DA 09 D9 09 DA 09 D9 09 DA 09 D9 09 DA 09 D9 09 DA 09 D9 09 DA 09 D9 09 DA 09 D9 09 DA 09 D9 09 DA 09 D9 09 DA 09 D9 09 DA 09 D9 09 DA 09 D9 09 01 E0 00 35 B1 0D B2 0D B1 0D B2 0D B1 0D B2 0D B1 0D B2 0D B1 0D B2 0D B1 0D B2 0D B1 0D B2 0D B1 0D B2 0D B1 0D B2 0D B1 0D B2 0D B1 0D B2 0D B1 0D B2 0D B1 0D B2 0D B1 0D 02 00 00 35 C9 8D CA 8D C9 8D CA 8D C9 8D CA 8D C9 8D CA 8D FF 8D E7 8D E8 8D E7 8D E8 8D E7 8D E8 8D E7 8D E8 8D E7 8D E8 8D E7 8D E8 8D E7 8D E8 8D E7 8D E8 8D E7 8D E8 8D 02 20 00 0F B5 90 B6 90 B7 90 B8 90 B9 90 BA 90 BB 90 BC 90 02 40 00 09 B0 90 B1 90 B2 90 B3 90 B4 90 02 60 00 13 B3 91 B4 91 B4 D1 B3 D1 BD 90 BD 90 B3 91 B4 91 B4 D1 B3 D1 02 78 00 05 B3 91 B4 91 B4 D1 02 80 00 35 F0 11 F1 11 F0 11 F1 11 F0 11 F1 11 F0 11 F1 11 F0 11 F1 11 F0 11 F1 11 F0 11 F1 11 F0 11 F1 11 F0 11 F1 11 F0 11 F1 11 F0 11 F1 11 F0 11 F1 11 F0 11 F1 11 F0 11 02 A0 00 35 F2 11 F3 11 F2 11 F3 11 F2 11 F3 11 F2 11 F3 11 F2 11 F3 11 F2 11 F3 11 F2 11 F3 11 F2 11 F3 11 F2 11 F3 11 F2 11 F3 11 F2 11 F3 11 F2 11 F3 11 F2 11 F3 11 F2 11 01 3B 80 19 F6 15 F4 15 CB 15 DB 15 DB 15 DB 15 DB 15 DB 15 EB 15 FB 15 FD 15 FD 15 FD 15 01 3C 80 19 F7 15 F5 15 DC 15 DC 15 DC 15 DC 15 DC 15 DC 15 B0 15 FC 15 FE 15 FE 15 FE 15 01 3D 80 19 F8 15 CD 15 DD 15 DD 15 DD 15 DD 15 DD 15 DD 15 CC 15 ED 15 BD 14 BD 14 FE 15 00 9E 80 23 F6 15 F4 15 CB 15 DB 15 E9 15 F9 15 CE 15 DE 15 DE 15 DE 15 DE 15 DE 15 DE 15 CC 15 EE 15 BD 14 BD 14 BD 14 00 9F 80 23 F7 15 F5 15 DC 15 DC 15 EA 15 FA 15 CF 15 DF 15 DF 15 DF 15 DF 15 DF 15 DF 15 CC 15 EF 15 BD 14 BD 14 BD 14 FF


201000, naming screen
10 A4 40 2A 7F 14 10 C4 40 2A 7F 14 11 63 40 18 7F 14 11 83 40 18 7F 14 11 A3 40 18 7F 14 11 E3 40 32 7F 14 12 03 40 32 7F 14 12 23 40 32 7F 14 12 43 40 32 7F 14 12 63 40 32 7F 14 12 83 40 32 7F 14 12 A3 40 32 7F 14 12 C3 40 32 7F 14 12 E3 40 32 7F 14 13 03 40 32 7F 14 10 82 00 33 89 15 8A 15 8B 15 8C 15 8B 15 8C 15 8B 15 8C 15 8B 15 8C 15 8B 15 8C 15 8B 15 8C 15 8B 15 8C 15 8B 15 8C 15 8B 15 8C 15 8B 15 8C 15 8B 15 8C 15 8A 55 89 55 10 A2 00 03 99 15 9A 15 10 BA 00 03 9A 55 99 55 10 C2 00 03 A9 15 AA 15 10 DA 00 03 9A 55 99 55 10 E2 00 33 9D 15 AD 15 9B 15 9C 15 9B 15 9C 15 9B 15 9C 15 9B 15 9C 15 9B 15 9C 15 9B 15 9C 15 9B 15 9C 15 9B 15 9C 15 9B 15 9C 15 9B 15 9C 15 9B 15 9C 15 AD 55 9D 55 11 02 00 33 AB 15 AC 15 AB 15 AC 15 AB 15 AC 15 AB 15 AC 15 AB 15 AC 15 AB 15 AC 15 AB 15 AC 15 AB 15 AC 15 AB 15 AC 15 AB 15 AC 15 AB 15 AC 15 AB 15 AC 15 AB 15 AC 15 11 42 00 1D 87 15 88 15 87 15 88 15 87 15 88 15 87 15 88 15 87 15 88 15 87 15 88 15 87 15 88 15 87 15 11 62 80 1B AF 15 A7 15 AF 15 A7 15 AF 15 A7 15 AF 15 A7 15 AF 15 A7 15 AF 15 A7 15 AF 15 A7 15 11 70 80 05 A8 15 AE 15 A8 15 11 C3 00 35 88 15 98 15 88 15 98 15 88 15 98 15 88 15 98 15 88 15 98 15 88 15 98 15 88 15 98 15 88 15 87 15 88 15 87 15 88 15 87 15 88 15 87 15 88 15 87 15 88 15 87 15 88 15 11 FD 80 13 A8 15 AE 15 A8 15 AE 15 A8 15 AE 15 A8 15 AE 15 A8 15 AE 15 13 22 00 37 97 15 98 15 97 15 98 15 97 15 98 15 97 15 98 15 97 15 98 15 97 15 98 15 97 15 98 15 97 15 98 15 97 15 98 15 97 15 98 15 97 15 98 15 97 15 98 15 97 15 98 15 97 15 98 15 11 F0 C0 12 8D 15 60 A4 00 2B A9 18 21 18 04 18 06 18 AF 18 22 18 23 18 04 18 21 18 A9 18 A9 18 28 18 0E 18 24 18 21 18 A9 18 A9 18 0D 18 00 18 0C 18 04 18 A9 18 60 C4 00 2B A9 18 31 18 14 18 16 18 BF 18 32 18 33 18 14 18 31 18 A9 18 A9 18 38 18 1E 18 34 18 31 18 A9 18 A9 18 1D 18 10 18 1C 18 14 18 A9 18 62 02 00 39 00 18 A9 18 01 18 A9 18 02 18 A9 18 03 18 A9 18 04 18 A9 18 05 18 A9 18 06 18 A9 18 07 18 A9 18 AF 18 A9 18 09 18 A9 18 A9 18 A9 18 A9 18 A9 18 2A 18 A9 18 2B 18 A9 18 2C 18 62 22 00 39 10 18 A9 18 11 18 A9 18 12 18 A9 18 13 18 A9 18 14 18 A9 18 15 18 A9 18 16 18 A9 18 17 18 A9 18 BF 18 A9 18 19 18 A9 18 A9 18 A9 18 A9 18 A9 18 3A 18 A9 18 3B 18 A9 18 3C 18 62 42 00 39 0A 18 A9 18 0B 18 A9 18 0C 18 A9 18 0D 18 A9 18 0E 18 A9 18 0F 18 A9 18 20 18 A9 18 21 18 A9 18 22 18 A9 18 23 18 A9 18 A9 18 A9 18 A9 18 A9 18 44 18 A9 18 AF 18 A9 18 46 18 62 62 00 39 1A 18 A9 18 1B 18 A9 18 1C 18 A9 18 1D 18 A9 18 1E 18 A9 18 1F 18 A9 18 30 18 A9 18 31 18 A9 18 32 18 A9 18 33 18 A9 18 A9 18 A9 18 A9 18 A9 18 54 18 A9 18 BF 18 A9 18 56 18 62 82 00 39 24 18 A9 18 25 18 A9 18 26 18 A9 18 27 18 A9 18 28 18 A9 18 29 18 A9 18 80 18 A9 18 81 18 A9 18 82 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 4E 18 A9 18 4F 18 A9 18 60 18 62 A2 00 39 34 18 A9 18 35 18 A9 18 36 18 A9 18 37 18 A9 18 38 18 A9 18 39 18 A9 18 90 18 A9 18 91 18 A9 18 92 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 5E 18 A9 18 5F 18 A9 18 70 18 62 CC 00 11 AA 18 A9 18 84 18 A9 18 A9 18 A9 18 04 18 0D 18 03 18 62 EC 00 11 BA 18 A9 18 94 18 A9 18 A9 18 A9 18 14 18 1D 18 13 18 66 00 00 35 2D 18 A9 18 2E 18 A9 18 2F 18 A9 18 40 18 A9 18 41 18 A9 18 C0 18 A9 18 43 18 A9 18 A9 18 A9 18 A9 18 A9 18 E6 18 A9 18 E7 18 A9 18 E8 18 A9 18 E9 18 A9 18 EA 18 66 20 00 35 3D 18 A9 18 3E 18 A9 18 3F 18 A9 18 50 18 A9 18 51 18 A9 18 D0 18 A9 18 53 18 A9 18 A9 18 A9 18 A9 18 A9 18 F6 18 A9 18 F7 18 A9 18 F8 18 A9 18 F9 18 A9 18 FA 18 66 40 00 35 47 18 A9 18 48 18 A9 18 49 18 A9 18 4A 18 A9 18 4B 18 A9 18 4C 18 A9 18 4D 18 A9 18 A9 18 A9 18 A9 18 A9 18 EB 18 A9 18 EC 18 A9 18 ED 18 A9 18 EE 18 A9 18 EF 18 66 60 00 35 57 18 A9 18 58 18 A9 18 59 18 A9 18 5A 18 A9 18 5B 18 A9 18 5C 18 A9 18 5D 18 A9 18 A9 18 A9 18 A9 18 A9 18 FB 18 A9 18 FC 18 A9 18 FD 18 A9 18 FE 18 A9 18 FF 18 66 80 00 31 61 18 A9 18 62 18 A9 18 63 18 A9 18 80 18 A9 18 81 18 A9 18 82 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 C1 18 A9 18 6F 18 A9 18 85 18 A9 18 86 18 66 A0 00 31 71 18 A9 18 72 18 A9 18 73 18 A9 18 90 18 A9 18 91 18 A9 18 92 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 A9 18 D1 18 A9 18 7F 18 A9 18 95 18 A9 18 96 18 66 C4 00 2D AA 18 A9 18 84 18 A9 18 A9 18 A9 18 04 18 0D 18 03 18 A9 18 A9 18 A9 18 A9 18 A9 18 AA 18 A9 18 84 18 A9 18 A9 18 A9 18 04 18 0D 18 03 18 66 E4 00 2D BA 18 A9 18 94 18 A9 18 A9 18 A9 18 14 18 1D 18 13 18 A9 18 A9 18 A9 18 A9 18 A9 18 BA 18 A9 18 94 18 A9 18 A9 18 A9 18 14 18 1D 18 13 18 FF


202000, player select
60 65 00 1B 0F 18 0B 18 00 18 28 18 04 18 21 18 A9 18 A9 18 22 18 04 18 0B 18 04 18 02 18 23 18 60 85 00 1B 1F 18 1B 18 10 18 38 18 14 18 31 18 B9 18 B9 18 32 18 14 18 1B 18 14 18 12 18 33 18 62 C6 00 17 02 18 0E 18 0F 18 28 18 A9 18 A9 18 0F 18 0B 18 00 18 28 18 04 18 21 18 62 E6 00 17 12 18 1E 18 1F 18 38 18 A9 18 A9 18 1F 18 1B 18 10 18 38 18 14 18 31 18 63 06 00 17 04 18 21 18 00 18 22 18 04 18 A9 18 0F 18 0B 18 00 18 28 18 04 18 21 18 63 26 00 17 14 18 31 18 10 18 32 18 14 18 A9 18 1F 18 1B 18 10 18 38 18 14 18 31 18 FF


203000, copy screen
60 65 00 17 02 18 0E 18 0F 18 28 18 A9 18 A9 18 0F 18 0B 18 00 18 28 18 04 18 21 18 60 85 00 17 12 18 1E 18 1F 18 38 18 A9 18 A9 18 1F 18 1B 18 10 18 38 18 14 18 31 18 63 06 00 07 20 18 24 18 AF 18 23 18 63 26 00 07 30 18 34 18 BF 18 33 18 FF


204000, erase screen
60 65 00 17 04 18 21 18 00 18 22 18 04 18 A9 18 0F 18 0B 18 00 18 28 18 04 18 21 18 60 85 00 17 14 18 31 18 10 18 32 18 14 18 A9 18 1F 18 1B 18 10 18 38 18 14 18 31 18 61 04 00 2F 26 18 07 18 AF 18 02 18 07 18 A9 18 0F 18 0B 18 00 18 28 18 04 18 21 18 A9 18 03 18 0E 18 A9 18 28 18 0E 18 24 18 A9 18 26 18 00 18 0D 18 23 18 61 24 00 2F 36 18 17 18 BF 18 12 18 17 18 A9 18 1F 18 1B 18 10 18 38 18 14 18 31 18 A9 18 13 18 1E 18 A9 18 38 18 1E 18 34 18 A9 18 36 18 10 18 1D 18 33 18 61 44 00 13 23 18 0E 18 A9 18 04 18 21 18 00 18 22 18 04 18 A9 18 6F 18 61 64 00 13 33 18 1E 18 A9 18 14 18 31 18 10 18 32 18 14 18 A9 18 7F 18 63 06 00 07 20 18 24 18 AF 18 23 18 63 26 00 07 30 18 34 18 BF 18 33 18 FF


205000, map screen
60 42 00 01 00 21 60 43 40 0E 01 21 60 4B 00 01 00 61 60 62 C0 2E 10 21 60 6B C0 2E 10 61 63 62 00 01 00 A1 63 63 40 0E 01 A1 63 6B 00 01 00 E1 60 84 00 0B 02 21 03 21 04 21 05 21 06 21 07 21 60 A4 00 0B 12 21 13 21 14 21 15 21 16 21 17 21 60 4E 00 01 00 21 60 4F 40 1A 01 21 60 5D 00 01 00 61 60 6E C0 2E 10 21 60 7D C0 2E 10 61 63 6E 00 01 00 A1 63 6F 40 1A 01 A1 63 7D 00 01 00 E1 60 00 40 7E 11 21 63 80 41 3E 11 21 60 00 C0 3E 11 21 60 01 C0 3E 11 21 60 0C C0 3E 11 21 60 0D C0 3E 11 21 60 1E C0 3E 11 21 60 1F C0 3E 11 21 10 91 C0 12 12 0B 10 92 00 13 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 10 B3 00 11 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 10 D2 00 13 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 10 F3 00 11 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 11 12 00 13 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 11 33 00 11 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 11 52 00 13 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 11 73 00 11 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 11 92 00 13 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 11 B3 00 11 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 11 D2 40 12 06 0B 12 11 C0 12 12 0B 12 12 00 13 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 12 33 00 11 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 12 52 00 13 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 12 73 00 11 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 12 92 00 13 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 12 B3 00 11 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 12 D2 00 13 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 12 F3 00 11 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 13 12 00 13 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 06 0B 30 0B 13 33 00 11 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 00 0B 12 0B 13 52 40 12 06 0B FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF


FILE SIZE MUST BE 2FFFFF!!

No longer compatible to Hyrule Magic.


Last edited by Trovsky on Fri 6 Jan 2017 - 16:54; edited 2 times in total (Reason for editing : any reason why you blanked your post out?)
Puzzledude
Puzzledude

All Screens (title, naming screen etc) Image213

Since : 2012-06-20

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by scawful Mon 9 Sep 2013 - 18:46

Is this with or without a header?
scawful
scawful

All Screens (title, naming screen etc) Image211

Since : 2013-07-04

http://zeniea.com

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by SunGodPortal Wed 14 Dec 2016 - 20:36

What happened to the data on this page? Was it in a now broken image link or something?
SunGodPortal
SunGodPortal

All Screens (title, naming screen etc) Image213

Since : 2015-01-26

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by qwertymodo Wed 14 Dec 2016 - 21:29

There's a lot of threads in this sub with missing data. The Vital Hex Addresses thread is missing a bunch too.
qwertymodo
qwertymodo

All Screens (title, naming screen etc) Image212

Since : 2014-10-21

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by SunGodPortal Wed 14 Dec 2016 - 21:45

I'd like to start addressing these problems soon. Not only do the links need to be fixed, but I think a lot of this stuff needs to be better organized. I think this site is due for an overhaul in general.
SunGodPortal
SunGodPortal

All Screens (title, naming screen etc) Image213

Since : 2015-01-26

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Mr.x Mon 9 Jan 2017 - 15:17

I suppose I'll move the conversation from another thread to here, eh?

Puzzledude wrote:
@Puzzledude: You seem to have (supposedly) deleted most of the content on the topic I linked. I restored the content. Is that okay?
Sure. As I remember correctly, I wanted to bring the data to one document, instead of it being a forum post message, but never got around doing so. A lot has also been lost due to my dropbox crash (which resulted in a lot of download links not working).

For what it's worth, I am currently coding the menu screen editor for Zeldix Magic based on Puzzledude's documentation. I'm coding it so that it can handle changed pointers and expansion.
This is great. That's why I published all that data in the first place. I also decoded pointers for main screens only, and specially the title screen data needs to be repointed, since the custom title screens can have a lot more data than what the original had.
Puzzledude wrote:
For what it's worth, the main screen pointers for the original, unnmodified ROM seem to vary from the pointers in your guide.
Yes, I just noticed that.

However the location of pointers seems to be the same, but the code is different.
Code at 137D is:
6D 1B BF A8 3C 56 9C 10 10
DD 02 E7 E2 E6 E4 DA 00 00
0C 00 0C 0C 0C 0C 0E

Try to save once with HM and you'll see this code gets overwritten with new code. So my guide has what HM does uppon the first save, ie a slight reallocation of the code. Yet pointer location is the same, so is the code for actual screens. But in unmodified rom the title screen is at 0C DD 6D= 65D6D, for instance.

Mr.x
Fluteboy
Fluteboy

Since : 2014-04-10

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Mr.x Mon 9 Jan 2017 - 15:20

So I'm curious how to signify the ending of the menu data. It appears each screen is one after another so the start of one signifies the end of the other, but what signifies the ending of the last one?

Mr.x
Fluteboy
Fluteboy

Since : 2014-04-10

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Puzzledude Mon 9 Jan 2017 - 16:00

Trovsky wrote:So I'm curious how to signify the ending of the menu data. It appears each screen is one after another so the start of one signifies the end of the other, but what signifies the ending of the last one?
Every screen ends with an FF byte, which is telling the game where to stop reading.

The screens don't have to follow each other.
Example:
60 65 00 1B 0F 18 0B 18 00 18 28 18 04 18 21 18 A9 18 A9 18 22 18 04 18 0B 18 04 18 02 18 23 18 60 85 00 1B 1F 18 1B 18 10 18 38 18 14 18 31 18 B9 18 B9 18 32 18 14 18 1B 18 14 18 12 18 33 18 62 C6 00 17 02 18 0E 18 0F 18 28 18 A9 18 A9 18 0F 18 0B 18 00 18 28 18 04 18 21 18 62 E6 00 17 12 18 1E 18 1F 18 38 18 A9 18 A9 18 1F 18 1B 18 10 18 38 18 14 18 31 18 63 06 00 17 04 18 21 18 00 18 22 18 04 18 A9 18 0F 18 0B 18 00 18 28 18 04 18 21 18 63 26 00 17 14 18 31 18 10 18 32 18 14 18 A9 18 1F 18 1B 18 10 18 38 18 14 18 31 18 FF



Also, further examination of the title screen brought me to the conclusion how the elements on the title screen work. 6 bytes minimum if you insert one single pixel-square element. First 2 bytes are location, starting with 00, going to FF and then onward 01 00 to 01 FF etc end of screen is somewhere at 03 70. next 2 bytes are 00 01, this is probably the length of the element. And finally the gfx to be loaded. 2 banks: from 00 to FF. Followed by the byte for pals. But if 2nd bank is used for loading gfx, a +1 gets written to the pal byte (so this is then bit vise). Pal seem to rise by 04. So 00 is pal 0, if pal 1, then byte is 04 etc.
If the element is expanded byte 03 and 04 are rising, and the gfx-pal dueal byte gets as many double bytes, as many gfx dots are in the element. For instance 4 dots, are then 8 bytes.

You can also learn more using HM and the comparisment with the hex editor.

But note: for some reason some newly inserted elements can not be read by snes9x emulator - and this will appear glitched in real hardware as well (so called PW title screen glitch). Not sure why this is happening, as PW has the title screen done correctly, from the perspective of hex and HM.
Puzzledude
Puzzledude

All Screens (title, naming screen etc) Image213

Since : 2012-06-20

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by qwertymodo Mon 9 Jan 2017 - 16:05

My guess on the glitch would be VBLANK/DMA timing, but ikari would be the one to ask.
qwertymodo
qwertymodo

All Screens (title, naming screen etc) Image212

Since : 2014-10-21

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Conn Tue 10 Jan 2017 - 3:23

I remember that sometimes there are weird glitches appearing in snes9x and sd2snes (not zsnes) that I fixed through addind some NOPs (ea opcodes) to the vram transfer code. Dunno whether this is the case here. Sometimes when incrementing a 2 byte write to (I think it was) $2116 is not supported by sd2snes/bsnes, but worked on zsnes.

If this is still a problem I can try looking into it, but would need a rom/patch.
Conn
Conn

All Screens (title, naming screen etc) Image212

Since : 2013-06-30

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Puzzledude Tue 10 Jan 2017 - 18:59

I examined this.
Original rom is behaving differently than the rom saved once with HM. All decoded pointers at 137D do not corespond to the actul data location (same do though). 3rd pointer for instance points to a wrong location in the middle of the code - so obviously this is wrong.

Now you do it vice versa. We can examine the actual code, as the beginning is easy= at 65D6D. Then you go to each FF. Now you see the data for all screens and where it begins. Then you find the actual pointers (which might be difficult since all 3 bytes which make an address might be separated). Some of them actually match, with the old strategy like the first pointer 0C DD 6D. But all simply don't match for some reason.

You might want to anlyse the original and then the original saved once with HM and tell the program to do the same, as it seems this adoptation will fix the locations and pointers to actually be read from 13D7 as described (note: original non saved game has this more complex/different).
Puzzledude
Puzzledude

All Screens (title, naming screen etc) Image213

Since : 2012-06-20

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Mr.x Tue 10 Jan 2017 - 20:50

Okay, so the pointers in the Hyrule Magic rom and original behave the same, it was just a logical error. Thanks for the help.

Mr.x
Fluteboy
Fluteboy

Since : 2014-04-10

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Puzzledude Wed 11 Jan 2017 - 9:15

Trovsky wrote:Okay, so the pointers in the Hyrule Magic rom and original behave the same, it was just a logical error. Thanks for the help.
Ok, Trovsky, I also decoded the Original ROM (before you save it with HM) and this is how the the screen data is handled (I also found secondary 2 byte pointers, thus all screens have now been decoded and pointers found):


Original ROM (before saved with HM)


pointers at 137D
are read vertically from
bottom upward, if there are 9, 9, 7 bytes in 3 rows

6D 1B BF A8 3C 56 9C 10 10
DD 02 E7 E2 E6 E4 DA 00 00
0C 00 0C 0C 0C 0C 0E


we can thus get 7 pointers
----------------------------------



Original ROM (before saved with HM)

SCREEN DATA CRONOLOGICALLY

65D6D, (data block length is 225): (pointer 0C DD 6D, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "title screen" bg1, ends with FF


65F92, (data block length is AE): (no pointer)
is "title screen" bg2, ends with FF


66040, (data block length is 188): (no pointer)
is "title screen" bg2, ends with FF
---


661C8, (data block length is E0): (pointer C8 E1, at 64E5F= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "player select screen" bg1, does not end with FF, ends with 35, ie where the global pointer definition points= 662A8, so it ends with 662A7


0662A8, (data block length is B1): (pointer 0C E2 A8, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "player select screen" bg3 upper, ends with FF


66359, (data block length is FD): (no pointer)
is "player select screen" bg3 lower, ends with FF
---

66456, (data block length is E9): (pointer 0C 54 E6, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "erase player screen" bg3, ends with FF


6653F, (data block length is FD): (no pointer)
is "erase player screen" bg1, ends with FF
---


6663C, (data block length is 51): (pointer 0C E6 3C, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "copy player screen" bg3, ends with FF


6668D, (data block length is AD): (pointer 8D E6, at 65148= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "copy player screen" bg1, ends with FF
---


6673A, (data block length is 85): (pointer 3A E7, at 65292= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "sub copy player screen" bg3, ends with FF
ie when you copy 1 player game file to other, a small quadrant appears
---


667BF, (data block length is 4E9): (pointer 0C E7 BF, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "naming screen" bg1, ends with FF



66CA8, (data block length is D2): (no pointers)
is "naming screen" bg3, ends with FF




66D7A, Nintendo logo location (so end of screens is 66D79)

so end of screens is 66D79


All screens are thus from 65D6D to 66D79.
Or 65D6D while the data block is 100D.
--------------------------------------------



Special pointers from 137D:
===========================
6D 1B BF A8 3C 56 9C 10 10
DD 02 E7 E2 E6 E4 DA 00 00
0C 00 0C 0C 0C 0C 0E


0C DD 6D , = 065D6D, data block length is 225= known pointer= "title screen" bg1
00 02 1B , = / nothing
0C E7 BF , = 0667BF, data block length is 4E9= known pointer= "naming screen" bg1
0C E2 A8 , = 0662A8, data block length is E0= known pointer= "player select screen" bg3 upper
0C E6 3C , = 06663C, data block length is 51= known pointer= "copy player screen" bg3
0C E4 56 , = 066456, data block length is E9= known pointer= "erase player screen" bg3
0E DA 9C*, = 075A9C, unknown pointer (found later as "map screen" when you press the X button indoors)


Analysing unknown pointers:
0E DA 9C*, = 075A9C

075A9C, (data block length is 2A4)
is "map screen" when you press the X button indoors
Puzzledude
Puzzledude

All Screens (title, naming screen etc) Image213

Since : 2012-06-20

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Mr.x Wed 11 Jan 2017 - 12:14

Thanks. This information will be utilized.

Mr.x
Fluteboy
Fluteboy

Since : 2014-04-10

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Puzzledude Wed 11 Jan 2017 - 12:33

Trovsky wrote:Thanks. This information will be utilized.
Nice.

By the way; this is now fully decoded screens for both original unsaved rom and saved once with HM (before 5 pointers were not listed, yet 2 more are defined, only 3 code-starts don't have pointers, since they are a continuation):

I hope you can add this to the Wiki yourself, I'll just post it here:


ALL SCREENS DATA
FOR THE ORIGINAL UNSAVED ROM
(final updated version)


Original ROM (before saved with HM)


pointers at 137D
are read vertically from
bottom upward, if there are 9, 9, 7 bytes in 3 rows

6D 1B BF A8 3C 56 9C 10 10
DD 02 E7 E2 E6 E4 DA 00 00
0C 00 0C 0C 0C 0C 0E


we can thus get 7 pointers
----------------------------------



Original ROM (before saved with HM)

SCREEN DATA CRONOLOGICALLY

65D6D, (data block length is 225): (pointer 0C DD 6D, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "title screen" bg1, ends with FF


65F92, (data block length is AE): (no pointers)
is "title screen" bg2, ends with FF


66040, (data block length is 188): (no pointers)
is "title screen" bg2, ends with FF
---


661C8, (data block length is E0): (pointer C8 E1, at 64E5F= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "player select screen" bg1, does not end with FF, ends with 35, ie where the global pointer definition points= 662A8, so it ends with 662A7


0662A8, (data block length is B1): (pointer 0C E2 A8, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "player select screen" bg3 upper, ends with FF


66359, (data block length is FD): (pointer should be 59 E3, but it is -1= 58 E3, at 64ED0= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "player select screen" bg3 lower, ends with FF
---

66456, (data block length is E9): (pointer 0C 54 E6, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "erase player screen" bg3, ends with FF


6653F, (data block length is FD): (pointer should be 3F E5, but it is -1= 3E E5, at 654C0= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "erase player screen" bg1, ends with FF
---


6663C, (data block length is 51): (pointer 0C E6 3C, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "copy player screen" bg3, ends with FF


6668D, (data block length is AD): (pointer 8D E6, at 65148= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "copy player screen" bg1, ends with FF
---


6673A, (data block length is 85): (pointer 3A E7, at 65292= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "sub copy player screen" bg3, ends with FF
ie when you copy 1 player game file to other, a small quadrant appears
---


667BF, (data block length is 4E9): (pointer 0C E7 BF, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "naming screen" bg1, ends with FF



66CA8, (data block length is D2): (no pointers)
is "naming screen" bg3, ends with FF




66D7A, Nintendo logo location (so end of screens is 66D79)

so end of screens is 66D79


All screens are thus from 65D6D to 66D79.
Or 65D6D while the data block is 100D.
--------------------------------------------



Special pointers from 137D:
===========================
6D 1B BF A8 3C 56 9C 10 10
DD 02 E7 E2 E6 E4 DA 00 00
0C 00 0C 0C 0C 0C 0E


0C DD 6D , = 065D6D, data block length is 225= known pointer= "title screen" bg1
00 02 1B , = / nothing
0C E7 BF , = 0667BF, data block length is 4E9= known pointer= "naming screen" bg1
0C E2 A8 , = 0662A8, data block length is E0= known pointer= "player select screen" bg3 upper
0C E6 3C , = 06663C, data block length is 51= known pointer= "copy player screen" bg3
0C E4 56 , = 066456, data block length is E9= known pointer= "erase player screen" bg3
0E DA 9C*, = 075A9C, unknown pointer (found later as "map screen" when you press the X button indoors)


Analysing unknown pointers:
0E DA 9C*, = 075A9C

075A9C, (data block length is 2A4)
is "map screen" when you press the X button indoors

Puzzledude
Puzzledude

All Screens (title, naming screen etc) Image213

Since : 2012-06-20

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Puzzledude Wed 11 Jan 2017 - 12:36

ALL SCREENS DATA
FOR THE ROM, SAVED ONCE WITH HYRULE MAGIC
(final updated version)

PS, it is the same thing, only HM moved the data around, all pointers remain on place


Saved ROM (already saved with HM)


pointers at 137D
are read vertically from
bottom upward, if there are 9, 9, 7 bytes in 3 rows

79 1B BF D4 6E 85 9C 10 10
E1 02 E7 E5 E7 E6 DA 00 00
0C 00 0C 0C 0C 0C 0E

we can thus get 7 pointers
--------------------------



Saved ROM (already saved with HM)

SCREEN DATA CRONOLOGICALLY


65D6D, (data block length is FD): (pointer should be 6D DD, but it is -1= 6C DD, at 64ED0= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "player select screen" bg3 lower, ends with FF
---

65E6A, (data block length is E0): (pointer 6A DE, at 64E5F= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "player select screen" bg1, does not end with FF, ends with 35)


65F4A, (data block length is FD): (pointer should be 4A DF, but it is -1= 49 DF, at 654C0= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "erase player screen" bg1, ends with FF


66047, (data block length is AD): (pointer 47 E0, at 65148= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "copy player screen" bg1, ends with FF


660F4, (data block length is 85): (pointer F4 E0, at 65292= 2 byte pointer (0C missing, pointer is local, bytes not separate)
is "sub copy player screen" bg3, ends with FF
ie when you copy 1 player game file to other, a small quadrant appears
---

66179, (data block length is 225): (pointer 0C E1 79, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "title screen" bg1, ends with FF


6639E, (data block length is AE): (no pointers)
is "title screen" bg2, ends with FF


6644C, (data block length is 188): (no pointers)
is "title screen" bg2, ends with FF
---


665D4, (data block length is B1): (pointer 0C E5 D4, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "player select screen" bg3 upper, ends with FF


66685, (data block length is E9): (pointer 0C E6 85, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "erase player screen" bg3, ends with FF


6676E, (data block length is 51): (pointer 0C E7 6E, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "copy player screen" bg3, ends with FF


667BF, (data block length is 4E9): (pointer 0C E7 BF, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "naming screen" bg1, ends with FF
ie "on place" with the original unsaved rom


66CA8, (data block length is D2): (no pointers)
is "naming screen" bg3, ends with FF


66D7A, Nintendo logo location (so end of screens is 66D79)

so end of screens is 66D79



All screens are thus from 65D6D to 66D79.
Or 65D6D while the data block is 100D.
--------------------------------------------



Special pointers from 137D:
===========================
79 1B BF D4 6E 85 9C 10 10
E1 02 E7 E5 E7 E6 DA 00 00
0C 00 0C 0C 0C 0C 0E


0C E1 79 , 066179, (data block length is 225): known pointer, is "title screen" bg1
00 02 1B , /
0C E7 BF , 0667BF, (data block length is 4E9): known pointer, is "naming screen" bg1
0C E5 D4 , 0665D4, (data block length is B1): is "player select screen" bg3 upper
0C E7 6E , 06676E, (data block length is 51): is "copy player screen" bg3
0C E6 85 , 066685, (data block length is E9): is "erase player screen" bg3
0E DA 9C , 075A9C, unknown pointer (found later as "map screen" when you press the X button indoors)


Analysing unknown pointers:
0E DA 9C, = 075A9C

075A9C, (data block length is 2A4)
is "map screen" when you press the X button indoors

Puzzledude
Puzzledude

All Screens (title, naming screen etc) Image213

Since : 2012-06-20

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Puzzledude Wed 11 Jan 2017 - 12:42

As you can see, what Hyrule Magic did, was that it moved the data around, mainly it wanted to "bring together" all the data for bg1 and all the data for bg3, allocating the title screen, while leaving the naming screen and map screen on place.

But the original game has it better: it focuses on the screen type and lists all bgs first, then moves onto the new screen in an exact order, untill all screen are covered.

Note: the length of screen can be shorter or longer. For instance my GoT title screen has a lot more data then the ALTTP title screen.

Puzzledude
Puzzledude

All Screens (title, naming screen etc) Image213

Since : 2012-06-20

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Mr.x Wed 11 Jan 2017 - 12:55

Seems rather odd and unnecessary, much like of Hyrule Magic's modifications to the ROM.

I am noticing that the screen labeled as "nothing" translates into a negative decimal value, obviously unused. I suppose I can add this into the program in case someone wants to use the extra pointer for whatever reason.

Anyway, thanks. Very Happy

Mr.x
Fluteboy
Fluteboy

Since : 2014-04-10

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Mr.x Wed 11 Jan 2017 - 14:22

The documentation has been added to the wiki. Enjoy.

http://alttp.run/hacking/index.php?title=Miscellaneous:Menu_screens

Mr.x
Fluteboy
Fluteboy

Since : 2014-04-10

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Mr.x Thu 12 Jan 2017 - 13:24

While coding, I noticed a typo. Instead of:

66456, (data block length is E9): (pointer 0C 54 E6, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "erase player screen" bg3, ends with FF

It should be:

66456, (data block length is E9): (pointer 0C 56 E4, at 137D= 3 byte pointer, pointer is global, each byte separate)
is "erase player screen" bg3, ends with FF

Also I noticed while coding that using certain byte values as delimiters weren't exactly reliable, are you for certain that bytes 0xFF and 0x35 are really delimiters?

Mr.x
Fluteboy
Fluteboy

Since : 2014-04-10

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Puzzledude Thu 12 Jan 2017 - 13:50

66456, (data block length is E9): (pointer 0C 56 E4)
That's true.


Also I noticed while coding that using certain byte values as delimiters weren't exactly reliable, are you for certain that bytes 0xFF and 0x35 are really delimiters?
It is much more complex.
The only logical thing is that the 3rd FF after the first pointer of the title screen is the end of the code for the title screen. The "internal" 2 FF are either end of the bg1 and start of bg2, or they are in fact a byte which controls the gfx loading at the very end, so not a delimeter of any kind at all, not even between BGs.
Not sure how the game sees this difference, since the FF could also be the loading coordinate, like for instance B3 followed by a pal in a 2 byte definition of the loading of the gfx onto the screen.

The same thing for the player select screen.

The erase player screen should be obvious: first FF is the end of bg3, then comes bg1, 2nd FF ends the code for this screen. But again the first FF is not a delimeter for the global data for this screen. Again not sure how the game sees this difference between the FF which is bg swap and FF which is end of the entire screen.

The same for copy player screen. Additional code is for the small square copy to.

And then again the same for naming screen. First FF after pointer is end of bg3, then bg1, 2nd FF is end of this screen.

Not sure about byte 35.
Puzzledude
Puzzledude

All Screens (title, naming screen etc) Image213

Since : 2012-06-20

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Mr.x Thu 12 Jan 2017 - 14:10

Yes, the issue is that I do not know how to tell the difference between a byte value that's part of the coordinate system and an byte value that's at the end. Basically, I need to have a way to signify when I stop reading.

Perhaps is should be clear when I start data structuring? I would assume that there are certain places where the ROM expects to see coordinate values and other places where it does not. For the music engine, a sound effect signifies that the next X number of bytes are arguments that would otherwise be interpreted as notes, so perhaps the same concept is applied here?

In any case, thanks for the help. I did implement background layers. I suggest you check out the newest version of the program.

Mr.x
Fluteboy
Fluteboy

Since : 2014-04-10

Back to top Go down

All Screens (title, naming screen etc) Empty Re: All Screens (title, naming screen etc)

Post by Puzzledude Thu 12 Jan 2017 - 14:27

Yes, the issue is that I do not know how to tell the difference between a byte value that's part of the coordinate system and an byte value that's at the end. Basically, I need to have a way to signify when I stop reading.
I've now decoded how to handle the title screen.
The game starts reading where the pointer at 137D is pointing, in this case 0C DD 6D, which is 65D6D.
But now keep on reading, even if FF, since I confirmed the first FF is a gfx load and so is the second, both are one pixel of the mountain one actual mountain, other in the water (mirrored in water). So both FF are not delimeters.
So the game/program should be reading on normally, not acception FF as end of reading but as gfx load.

The game then knows the end by the pointer at 64E5F, this now points to 661C8. So the game now knows: stop reading title screen one byte before, at 661C7, which is indeed an FF byte, so in this case do not load gfx.

So this should fix the title screen.

And yes, if you programed to end at first FF, the title screen will be blanked after that mountain tile.

Puzzledude
Puzzledude

All Screens (title, naming screen etc) Image213

Since : 2012-06-20

Back to top Go down

Page 1 of 2 1, 2  Next

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum