øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=390;area=showposts;start=90e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index8b98.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=390e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index8b98.html.zxcüg^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿȰUˆÃOKtext/htmlISO-8859-1gzip@øÕˆÃÿÿÿÿÿÿÿÿTue, 10 Mar 2020 21:01:46 GMT0ó°° ®0®P®€§²ð®büg^ÿÿÿÿÿÿÿÿ¶&ˆÃ Show Posts - Squall

Show Posts

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.


Messages - Squall

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 »
91
General Discussion / Re: RHDN Currently Down
« on: November 24, 2017, 10:15:08 AM »
hehe, I didn't know there is abbreviation for me, thank you, I'm flattered  :laugh:

92
First is the blue window. You can see pretty much all register include PPUs. From there we can learn the mode, the layers,... but you need a good 'help'. I will suggest this

Although we have the full info, and we can check the ASM code, its a little bit hard to get info, its more for a reference. Click on 'Screen Viwer', the last tab is 'info'. This is where the info from registers is made in a human form :D

1. Always the first things to check in is mode: here is 0. If you check the doc I linked above, you will see that in that mode we have 4 layers (Backgrounds/BG) all of them 2bpp or 4 colors. This mode is good for simple graphic or heavy on text. Also its important to note screen size: 256x224
2. Second is layers (backgrounds) - you will see that only BG1 and BG4 are visible, the other two - not. 'tile base' is where in the VRAM is the address of tiles, 'tilemap base' is the actual layer content.  I will suggest to click on 'screen' tab and play with layers visibility. Its crucial to understand what element in what layer goes and why!!! In 'layers' tab you can preview each leayer individually, examine what tiles compose the image (just move the mouse over preview).
3. Same way check sprites - in 'info' section about their properties, and in 'layers|sprites' - preview

*Some interesting conclusions:
- although mode 0 is quite limited of colors, trough sprite layer you can add some colors to the screen (since sprite layer is always 4bb or 16 colors). I think it will work fine for your PHS idea: - character that need to be moved will be Sprites, and you can use the screen to show some of their stats
- Its seems to me that whoever has made this, instead of defining a char as a Sprite he/she have defined each tile as Sprite ... I don't see the point of doing it that way ... logically you should have only 4 sprites (1 for the pointer, 2 for the chars and 1 for portrait)
- by knowing ID of tiles, you may try to check the code for LDA/x/y ID and pinpoint 'the drawing' on the screen

93
General Discussion / Re: RHDN Currently Down
« on: November 24, 2017, 03:46:08 AM »
Hey BZ, what TL;DR mean?

94
Please don't alter the $2101, just read the value written there, particularly bits 5-7 (sets Sprite size).
Post the code here, so we can delve in details. Keep in mind that reading/writing to video could be auto-incremented. So even if you have initial value in the address ($2116), if you have some read/writes ($2118/$2139) after initialization and the code you are looking, the address has been already changed! Besides as I said the transfer could be done trough DMA/HDMA ... it all depends.

You know what? Lets do something else:
 - Download vSNES (the tool I've talk about)
 - Make sure you use zSNES as emulator. Load the ROM and when the namingway screen pops up - make a savestate
 - Send me or attach here that savestate
* You can check for yourself many things in vSNES - like what mode you use, layers, tiles, sprites,...

95
Patience, patience my young padwan :D

OK since you are so eager ... its hard to tell is it a sprite or layer. If you see:
STA $2101 ; bits 5-7 contain the dimension of a sprite  1-mean 32x32 sprite build by 8x8 tiles
Then for sure it uses sprites. Keep in mind that regardless, you image 32x32 is build by 4x4 tiles, each 8x8 pixels, not 16x16 pixels

Quote
B) that's not where I want my 32x32 images to appear, so I'll need to find and change the assembly that designates the x,y location of the image(s) in question.
if you see instructions like STA $2118 - that is writing to video memory. If you see reading like LDA $2139 - that is reading from video. $2116 is the address in the video that you read/write. All addresses are 16 bit and are used to set/get values for small things. For large usually DMA/HDMA is used.

To change where X,Y you must convert X,Y in video memory address and then write it in $2116. If you want to change x+1, the address must be increased by 2. Also x+1 mean 8 pixels to the right :D

96
Quote
is the current mode then already defined?
Yes, its defined. Pretty much if you see something on the screen - a mode is set. So if you want to use it and edit - you must find what mode that is. I had a tool - you make a save-state and then load it in that tool - it can tell you plenty of things about PPU.
But its not written in stone ... you can use another mode if you prefer, but most likely it will be a LOT of work.

Quote
Wait - is it plausible that I could hack the code that normally is used to display the 32x32 Namingway image in order to display the character portraits that I want?
Sure you can easily change the 32x32 image to whatever you want - you need to change the building tiles (that include palette, maybe some attributes)

Quote
I'm not really sure how I apply that knowledge when writing ASM to actually display an image, but maybe you just haven't gotten to that part yet?
Hehe displaying an image is the cherry of the cake, it require many things to know (take into account). We will come there ... soon :D

P.S. If I use terms that you not know, or you have some intuitive understanding - we can go in details.
As hacker you usually try to hack - edit things. But if you have the full picture in mind you can discard what have been done and make it from the scratch. This will give you all the freedom to do what you want the way you want it :D

97
Quote
I'm not against reading up in order to learn what I need to know, but if you could direct me to the proper resources, that would be awesome.
This document is good. The problem is (as with most of the documents I've read) it is good to use as reference (Help) rather step by step tutorial.

OK lets forget all technical details and start from a scratch:

I. Mode
Modern or old all graphic system use a mode in which to display whatever we see on the screen. Some cards have only 1 mode, but most, more then 1. Think of SNES PPU as a graphic card that you plug in your computer.

1. So what is a video mode? Its a sum of number of characteristics:
- Resolution: usually defined in pixels - how long and wide is our screen (in pixels)
- Max number of colors that could be simultaneously seen on the screen
- BPP: Bits per pixels - how many bits we need to define the color of the screen
- Video Memory: the mode dictate how to interpret the memory in order to compose the screen
- many other things like layers, buffers, graphical objects (like Sprites), ...

2. Types of Modes:
2.1. Depend on how video memory is interpreted.
- Bit-planes - the video memory contain the color for each pixel. Modern cards use primary 1 plane of bits, which is very easy to ASM. Unfortunately almost all of the old cards use more then 1 plane to organize bits for a pixels. I'm sure there was a hardware need for that, but its quite complicated to manage this in ASM. For now I'm not going to delve in this, but will mention that SNES uses 4 planes.
- Tile based - the main video memory contain index of a tile rather raw pixels. That s pretty much as text mode in DOS/Linux - the video memory contain ASCII (or other pages) index of letters and there is a separate place that hold the definition of each letter. In SNES is the same but is called Tile.

2.2. Depending on how color is stored:
 - True Color - each color contain the necessary bits for R/G/B components. In SNES its 5-5-5 - meaning 5 bits for each component
 - Palette based - each color is an index into predefined palette of colors (defined in their absolute RGB value)

 :edit:
3 OK that was theory, what about some examples?
Mode is more abstract, so not many operation could be done:
- We can set desired mode (0..7). Usually this is one of the first things in the initialization code.
- Normal resolution is 256x240 (PAL) or 256x224 (NTSC) with 50/60Hz. We can't set the frequency, but we can read it. We can set V resolution.
Code: [Select]
$2105 (W): bit 2-0  BG Screen Mode
$2133 (W): bit 2 - BG V-Direction Display (0=224 Lines, 1=239 Lines) (for NTSC/PAL)
$213F (R): bit 4 - Frame Rate  (0=NTSC/60Hz, 1=PAL/50Hz)

* In SNES Mode 0-6 are all Tile based, Mode 7 is bit-planes. All modes use palettes to designate the color.
** For specifics like resolution and BPP better check documents.


So what do you think that for a start? Is it easy to chew or is too technical? Do we need to delve in more or thats enough? Next will be layer, palette, tile, ,...

98
Indeed, sometimes too complicated :D

I wonder, since you are going to work intensively with graphic, do you know the Prerequisites ?
I know it may sound awkward, but if you know the basics, then you can more easily understand the code. If not don't hesitate to ask questions.

It took me couple of days reading SNES PPU's document, reading examples, before I can say I know all the Prerequisites.  The truth is, if it wasn't for a simple explanation of samurai_goroh on how palettes were stored internally it could take me loooong time ... Its really crucial to understand how things work internally, then you will understand why the ASM code looks so complicated :)

99
Quote
I might create a second set of location map data, so that towns might be slightly different when you revisit them. I'm not exactly sure how I would use this, but it creates a lot of possibilities
Yes, while reading what you try to accomplish, I think that way will be easiest, yet giving you much more freedom. The reason for that is:
 - you don't need code to change things on the fly.
 - also changing with code could be quite limiting too (from authors perspective), because you must code to see the results. Its like creating a picture on the fly - its always easier, convenient and better to paint it with a good edit tool :)
 - if you need more the 2 periods, you can use more then 1 copy
FF5 uses this trick for places that permanently change - like meteor hitting an island and it vanish - 2 different maps with before and after meteor's hit.

P.S. What is 'Namingway screen'?

100
Hey chillyfeez, since you can expand the ROM now, and the first post seems outdated, maybe some kind of update info will give more light on whats going on :D
- What is your goal (of the project)
- What is current state
- What are you working atm...

101
As a regular player - I would prefer 2. It will be natural thing from my current experience.

Just in general thoughts:
- abusing things is OK. To abuse - you must understand well how things works and order them for your benefits. The fact that you understand and are clever enough to use in your advantage is enough for me to be rewarded with some easy tricks.
- 5 is easily abused as 1
- 3 and 5 seems too complicate to make any justice to program.
- a possible 4: variations of 2 - get the highest or the lowest level of the party

My personal advice - pick one that is easy to make (luckily 2 seems simple enough). When all things are done and you still think: "this is a wrong" - implement another option, just don't stop and waste time for it (now) :D

102
All done, TYVM chillyfeez!
952 Attack - very impressive! Personally I don't see why it was consider OP - no AoE, no upgradable skills.

P.S. Do you keep your account in Telegram? I tryed to reach you there (so we don't flood this thread) but it says: Deleted Account

103
Whoever is the most developed :D

104
Rank 112 ... woah you really did spent sometime with the game :D
I just hope you didn't spend money on it too :P

Ahh Orlandeau ... like 2-3 months before I stopped, there was constantly: Orlandeau is coming ... SOON. He is the OP on JP. ou should consider yourself lucky ... Before Orlandeau, Noctis was the last OP, I tried so hard to get it without luck :(
Anyway is it ok to add me as friend? My ID is 130.643.482, nick Squall. I could use a well developed char  :laugh:
BTW I play on PC trough Nox, not on phone or real Android device, but that should not be a problem.

105
Hehe I 've played FFBE before, then stopped because its too demanding. Recently I started again but with slow paste :) Funny this week is FF4 but I think only monsters from it ... Currently I hit rank 60 with Lightning, Refia, Luneth, Cecil, Dark Fina and Exdeath as my top chars (I stopped when Dark Fina debuted). What about you?

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 »