by CrookedPoe at 12-29-2017, 09:01 AM
My intention for this post is to, over a period of time, compile my knowledge of N64 Zelda Display Lists into a guide that hopefully, everyone can understand. This is by no means a display list porting tutorial, but for anyone wishing to learn how to do that, this should prove to be valuable information. Keep in mind that I will update this over a period of time--I'm not writing everything at once. Without further delay: Zelda 64 Display Lists!

I should start with a simple definition for what a "F3DZEX" is. 

Quote:The N64's Reality Co-Processor (specifically, the RSP component) is reprogrammable, allowing developers to add extra/custom functionality to the Co-processor. Microcode (sometimes appearing as "ucode", standing for μcode) is thus the set of instructions that can be loaded/executed on the RSP.

F3DZEX is nothing more than one of these microcodes. It stands for "Fast 3D Zelda Extended".

Quote:F3DZEX is a 3D based graphics microcode, and the primary graphics microcode used by the Zelda 64 engine. F3DZEX is based off of the F3DEX2 microcode, and actually shares the same graphics binary interface.

G[raphics] B[inary] I[nterface] is a collection of 64 bit commands which instruct both the RSP and the RDP units.

There are no major differences between 2.06H and 2.08J of the F3DZEX microcode

The above quotes are taken from the cloudmodding wiki.

Next what a display list is. Think of it as a packet of information--instructions, if you will. The game reads these instructions to figure out how to process model and texture data. Said list of instructions is sure to include what model data and what texture data they are relevant to. It's a very specific format.

Throughout this tutorial, I will refer to these instructions in two ways: Their internal opcode name (What they're called in the software development kit) and what we as a modding community have learned to refer to them as. 

In the first section of this tutorial, you will learn how to locate a binary (when I say binary, I mean "raw hex data") display list within a file, yes, by using a hex editor. The most surefire way is to look for the end of one.

See to the opcode G_ENDDL (G for "Graphics" and "ENDDL" for "End Display List"). This is otherwise known as a "DF Command". In hexadecimal, it looks like this: 
Code:
DF 00 00 00 00 00 00 00
All instructions are exactly eight bytes (0x08 bytes, or 64 bits) long.
I'm making an assumption here that your hex editor is aligned to sixteen-byte (0x10) strings. This would place out G_ENDDL instruction under either column 00 or column 08. If you've found one of these, then congratulations! You've taken the first step to understanding F3DZEX. You've (probably) found the end of a display list.
Finding the beginning of a display list, programmatically, is a little trickier. Technically, display lists can "start" with almost any instruction. Most commonly, you'll see them start with the following opcodes: G_MTX, G_DL, G_RDPPIPESYNC, and G_TEXTURE. (0xDA, 0xDE, 0xE7, or 0xD7 commands, respectively.) Most of the time, especially in Ocarina of Time, you will see display lists start with G_RDPPIPESYNC (0xE7 Commands), but that does not explicitly mark the start of a display list and it would do you well to remember that.
Anyway, to find the beginning of a display list, you basically just have to work your way backward from the DF command you found earlier until you see one of those instructions. I'll refer to object_sk2.zobj for this example.
The first proper DF command you will find starts at 0x5718 in object_sk2.zobj. Working your way backward you will find that the start of this display list is at 0x53D0 and in this case, it happens to be an E7 command. You can tell that this is the start of the display list because the eight bytes before it doesn't look anything like a display list opcode. 
Code:
00 BB FF DD 00 00 78 FF <- Is not valid display list data, it's most likely vertex data which
we will get into later.
Congratulations. You've found your very first display list. We can define it as such:
Start: 0x53D0
End: (0x5718 + 0x08) (0x5720) ; We add eight because the DF command is eight bytes long.
We will refer to this as display list 0x0053D0 in object_sk2.zobj for future reference. 
Next: Breaking this down into its basic components.
by Airikita at 12-26-2017, 10:47 AM
[Image: 6Ybk0LujTIXChSv-oEalPGcQHk6JOB2ht_P6M3OC...lrH-yLlFLQ]

Hello everyone! Welcome to the official thread of ZEY, this will be the place for main updates, and later the project will be upgraded when more progress is made...

So the story...

Link has defeated Ganondorf, and returned to his time... with Navi gone, he is all alone. Without even knowing young princess Zelda that well (other than seeing her in the garden shortly before Impa rode off), when Link returned the later events never occured (sequel to OOT)...

As a result, something has happened to Zelda, but Link is unaware, already struggling with the reality of not being a real Kokiri after all that time questing, and then returning he was no longer under threat of curse without Ganondorf with the Kokiris, and neither were the Kokiris either...

In that sense, still being a child Link has to deal with the reality of growing up. Enter mid-life crisis, and constant nightmares, Link deludes himself in dreams and reality unaware of what is going on in his world anymore. That being said, Link hears a call from Zelda, who wants Link to find her and even holds a secret for Link... to share a secret where he can live in a land forever young (yes, the Peter Pan trope).

Of course, in Link's delirium, he meets an odd creature... Unicat. She's not very useful, but also not as irritating as Navi. Unsure if Unicat is even real or not, Link... well, accepts her. However, even though Navi was annoying, Link still misses her, and the companionship from Unicat is estranged but reluctantly appreciated by Link.

So then Link quests onward again in search of Zelda...

--------------------------------------------------------------------------------------------------------

Credit:
~** Flotonic for Hylian Toolbox assistance **~~** CloudMax for ASM notes (HUD and Pause Screen hacks) **~

~** Jason777 (for his Warp Portal hack) **~
~** Killgore52 and /Zel/ for custom Maps (ALTTP) **~

[[[[[[ TEXTURES ]]]]]]

~** Aeroblast43o9 for a new custom bow icon design (later customized for magic arrows too) **~

~** MelonSpeedruns for some textures (items) **~

~** Spire for Concept assistance and Koneho Garden map (Map Concepts also) **~
~** XenoWars for Jujini map **~

 ~** FGUG2021 for item icon concepts (for magic arrows) **~

~** Medallion textures by Shockman25 **~

Special Thanks to:

~** xDaniel and Nova for Sharp Ocarina and tools for modeling **~

~** CloudMax for some notes **~
- Menu Color HUD -
- Free Equipment selection movement (with changes made after) -

~** Sanguinetti for some ideas **~

~** Xu_Yuan (Three_Pendants) for his ideas **~

~** HeavyZ for suggestions and ideas **~


~** Petrie911’s Ocarina notes on song note composition **~

~** ZZConveter+ZZPlayas Blender tools : Dr.Disco, CrookedPoe, CDi-Fails, and Ideka **~
by sairugoth at 12-25-2017, 03:33 PM
So far, it looks like a can of popcorn; but I'm going over to my aunts in a bit and I'll see what else I got there.
by sairugoth at 12-22-2017, 02:30 AM
I'm really in to "Hunter x Hunter" right now but, currently I'd have to say its "My Hero Academia".
[Image: 27441?size=1600x600&region=US]
This anime is just bursting with emotion and energy and I freaking love it. One of the best I've seen in years. If you haven't seen it, go watch it; its good.


Whats your favorite anime?
by /Zel/ at 12-15-2017, 03:25 AM
Since this new forum was released I figured I might as well contribute something. Lately I have been making Sketchup Renders of some of my models, so I figured I might as well share them here. Tell me what you think!

3D Tower of Hera:
[Image: Render_2.png]
[Image: Render.png]

Light Shrine (Name not final)
[Image: Render_3.png]
[Image: Render_4.png]
by GodsTurf at 12-13-2017, 12:08 AM
THREAD SUBJECT:
[Image: 3sDOrNs.jpg]
[Image: 4CQXDA3.png]
The ring around your profile icon is mishapen when the aspect ratio is abnormal.


KEYWORDS: Bug, Profile, Icon, Chrome, Silk, Mobile, Window, Windows

PLATFORM: Chrome on Windows, Silk on Mobile

MODE: Any


URL: All

SEVERITY: D

FREQUENCY: Always

DESCRIPTION:
It appears to occur when the window width is a certain degree thin. The bug appears to be unrelated to the window height. This bug does not occur in any form when the window is wider than normal.

RESULTS:
Results appear to be purely aesthetic, no functional bug appears to be present.
by Spire at 12-11-2017, 11:00 AM
KEYWORDS: UI , Text , Attachments , Attached , Files , Overlap , Thumbnail , Post , File

PLATFORM: Chrome
MODE: Thread
URL: Any
SEVERITY: C
FREQUENCY: Always

DESCRIPTION:
When viewing a post that contains an attachment(s), the text 'Attached Files' overlaps 'Thumbnails', but is otherwise functional.

STEPS:
1. Open Chrome
2. Navigate to thread with Attachments at Hylian Modding
3. Observe issue within post(s) of interest

RESULTS:
Overlapping text exists in Posts with Attachments.

EXPECTED:
No text overlaps unless intended.

NOTES:
  • Screenshots attached.
by Spire at 12-11-2017, 09:35 AM
Hello, and welcome to Bug Reporting. If ever you encounter a glitch/error on the site, that is a Bug - and if you feel inclined, if any-where or by any-way, please document it here. Below is an ever-growing outline of how to properly document and report a bug. There is no guarantee we can fix anything or everything, but I'm sure we can fix some things along the way. This is a learning process in growing a new community from the persistent and mutual passions presented in our parallel projects.



THREAD SUBJECT: The Summary of the Bug, separated in parts is composed of "Issue Category - Cause/Effect or Effect/Cause", i.e. "Member List / UI - Page 4 does not show Avatars".

KEYWORDS: Characteristics or elements of the Bug, useful when searching for bugs if and when we find numerous, and there most likely will in the instance of us releasing new themes and such without deep testing, i.e. "Member , List , UI , Avatar , Display , Load , Missing. Be efficient in your use of words by selecting those that best describe the issue and thus, require the least amount thereof -- however, unless you are being intentionally disruptive by adding an incredible amount of keywords that makes this one bug surface in most searches, then adding more than a few keywords is o-kay.

PLATFORM: Your browser and optionally your OS and device.

MODE: The type of page you are on

URL: The URL(s) of the problematic page(s). If it is a universal issue, 'Any' or 'All'.

SEVERITY:
M: M is for MegaBug. A MegaBug is one of two things: a problem so massive with site operation, you probably won't even be able to report it, but even more importantly: Legal — This is of utmost importance. We are treading a fine line by modding existing Zelda games as-is, so, if you see something on the site that even seems illegal, bug it. We'll look into it and if we decide that it is, shall remove it.
A: Crash/Freeze/Loss of Total Control/Inoperability/Oblivion
B: Functional Errors: Accessibility, Unresponsive Options/Controls, Attachment/File/Download Errors, etc.
C: Graphical/Audio Errors & Errors in Official Announcements/Posts (if you see one we didn't catch, please report it!—and by official, that doesn't mean everything Staff Members write)
D: The tiniest things. Like, if a pixel in a graphic is off.

FREQUENCY:
Always | Often | Sometimes | Rarely | Can't Reproduce; use your discretion for the values thereof.

DESCRIPTION:
Describe what the bug is. Save the method. Use this field to list attributes however you feel are needed.

STEPS:
List the steps in a columned numerical list, detailing exactly how to reproduce the bug beginning with the URL.

RESULTS:
Describe the results of the bug, including the effect(s) it has on the site.

EXPECTED:
Describe what you expect to happen when you perform the action that triggers the bug.

NOTES:
Any additional information may be input here, typically bulleted, but add it as you please. Attachments appear as small thumbnails so it's easy to overlook them, as such, if you have attached something to the bug, please write something to the effect of 'Screenshot attached'. And keep the files as small as possible without diminishing the evidence. Feel free to draw on the images in order to highlight errors; bright, neon colors work well when boxing fields, pointing arrows, and writing notes.



Here is a template for the Bug Format. The more you write, the more you'll remember:

Code:
KEYWORDS:
PLATFORM:
MODE:
URL:
SEVERITY:
FREQUENCY:

DESCRIPTION:


STEPS:


RESULTS:


EXPECTED:


NOTES:

...

And that's it! If you have any questions, please ask. Happy hunting,
Spire


[Image: latest?cb=20100328014204]
by Spire at 12-11-2017, 08:08 AM
KEYWORDS: UI , Quick , Edit , Post , Highlight , Scroll , Refresh , Page
PLATFORM: Chrome
MODE: Thread
URL: Any
SEVERITY: B
FREQUENCY: Often

DESCRIPTION:
When Quick-Editing a post, the UI can totally lock up, requiring you to wait for one of three things to happen:
  • It remains locked, requires refresh.
  • It opens the Quick Edit window and displays 'Loading...'
  • It resolves itself.
STEPS:
1. Open Chrome
2. Navigate to hylianmodding.com
3. Open a thread
4. Post a comment in said thread
5. Select the Edit Button in bottom-right corner of post estate
6. Select Quick Edit
7. Observe the bar highlights, the cursor sticks and/or that scrolling or any interaction with page is inoperable
8. Refresh page/close tab

RESULTS:
While browsing Hylian Modding in Chrome, clicking 'Quick Edit' on a post can lock up the UI, requiring a refresh of the page.

EXPECTED:
Selecting Quick Edit does not lock up the UI.

NOTES:
  • Screenshot attached.
by Psi-Hate at 12-11-2017, 04:17 AM
This mini mod is simply something I've had untouched for about half a year. Essentially it's a proof of concept dungeon using the birds-eye-view camera. It's short, but it's a decently put together concept demo made within a few days. 

Setting it up

Go to CloudMax' Rom Patcher and drag your clean OoT Debug ROM and the supplied .txt patch. The website will patch the ROM and will have you automatically download the updated ROM. Simply run the ROM in an emulator of your choice (make sure you set RAM to 8mb!). 

Playing it

Select File 1 and go to Spot 117. Enjoy!

Screenshots

Enjoy!
Welcome, Guest
You have to register before you can post on our site.
Username/Email:

Password


Login
Search Forums

Forum Statistics
Members: 239
Latest member: Crownjo
Forum threads: 53
Forum posts: 129
Online Users
There are currently 6 online users.
0 Member(s) | 6 Guest(s)