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 - Leviathan Mist

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 »
Submissions / Re: FF3us - 255 hours on timer
« on: May 09, 2016, 01:35:24 AM »
2 weeks later and I still haven't done it, I know. Been swamped and generally unmotivated. Not sure when I will pick this up, but assassin pretty much laid it out for you if you want to manually insert the fix along with his patch. If anyone else wants to take it on, you're welcome to - if not, I'll do it when my schedule opens up and I'm not feeling so drained by life. Sorry again.

Submissions / Re: FF3us - 255 hours on timer
« on: April 27, 2016, 12:01:38 AM »
Sorry for lack of updates guys, I completely forgot about this. I'll put it together this weekend.

Submissions / Re: FF3us - 255 hours on timer
« on: March 30, 2016, 04:21:09 AM »
sounds good.  but if it requires me to do anything, it'll probably wait until after April 15th.  i haven't started doing my taxes yet, so i'll be very busy the next 2 weeks.

That's funny, I'm actually a certified tax preparer. But no, I can create the patch, but I would just be using your code instead of the original, and crediting you for your portion of it.

Submissions / Re: FF3us - 255 hours on timer
« on: March 30, 2016, 04:07:23 AM »
also, with no C2 modifications in your patch, you aren't capping the in-battle Step Mine cost.  see near the end of Function C2/5551.
Wow, you're right. I completely forgot that battles use a different routine to determine MP cost, and that's important. It almost seems moot to cap it in the original game though, while leaving this bug intact. This patch looks like it should go hand-in-hand with yours. How about we co-author a patch for this that includes both the bugfix and the overflow fix?

won't the FFs break things after C3/F0A1 returns?  you might want those NOPs after all.

When I tested it, I didn't run into any problems. You're probably right though, nothing good ever comes out of being lazy/sloppy with code.

Submissions / Re: FF3us - 255 hours on timer
« on: March 30, 2016, 03:27:19 AM »
I was under the assumption that your MP digit fix patch would simply work with the MP overflow fix.

Here's an overview of the code I used in these patches. The code modified is under the section listed to determine MP cost for a given spell.
(Credit: Co-opted C3 disassembly document by
Imzogelmo, Lenophis, assassin, Dragonsbrethren, Novalia Spirit )

Code right before that which is modified:
Code: [Select]
Determine the MP cost to a given spell
C3/510D: 48      PHA            (save current spell)
C3/510E: 20F550  JSR $50F5      (A = A * 14)
C3/5111: AE3421  LDX $2134      (X product of previous JSR)
C3/5114: BFC56AC4 LDA $C46AC5,X  (magic data, MP cost)
C3/5118: 85E0    STA $E0        (store MP cost)
C3/511A: 68      PLA            (get current spell)
C3/511B: C999    CMP #$99       (is the current spell Step Mine?)
C3/511D: D00F    BNE $512E      (branch if not)

The original code:
Code: [Select]
C3/511F: AD1B02  LDA $021B
C3/5122: 0A      ASL A          (* 2)
C3/5123: 85E0    STA $E0        (save as new MP cost)
C3/5125: AD1C02  LDA $021C
C3/5128: C91E    CMP #$1E
C3/512A: 9002    BCC $512E
C3/512C: E6E0    INC $E0        (add 1 to MP cost)

My modified code:
Code: [Select]
C3/511F: 20A1F0 JSR $F0A1 (Jump to new subroutine)
I simply moved this code down to an area where I would have more space for it. From C3/5122 to C3/512D, I emptied the code/replaced each byte with FF. (Could have done a bunch of NOP's here, but I was too lazy to do anything but just hold down the F key.)

Here's the actual important part of the new code (this one is for the 255 MP patch):
Code: [Select]
C3/F0A1: AD1B02 LDA $021B (Load hours)
C3/F0A4: C980 CMP #$80 (Are hours 128 or greater?)
C3/F0A6: 9005 BCC $F0AD (Branch to $F0AD if no)
C3/F0A8: A9FF LDA #$FF (Set MP cost to 255)
C3/F0AA: 85E0 STA $E0 (Store 255 as Step Mine MP cost)
C3/F0AC: 60 RTS (Return)
C3/F0AD: 0A      ASL A           (Multiply hours played by 2)
C3/F0AE: 85E0    STA $E0         (save this amount as new MP cost for Step Mine)
C3/F0B0: AD1C02  LDA $021C (load minutes)
C3/F0B3: C91E    CMP #$1E (Are minutes 30 or higher?)
C3/F0B5: 9002    BCC $F0B9 (Branch to $F0B9 if not)
C3/F0B7: E6E0    INC $E0         (add 1 to MP cost of Step Mine)
C3/F0B9: 60 RTS (Return)

The only changes between this and the 199 patch are the value at C3/F0A5 (64 instead of 80), and the value at C3/F0A9 (C7 instead of FF)

Submissions / Re: FF3us - 255 hours on timer
« on: March 29, 2016, 11:52:40 PM »
I know this is an old thread, but I've been testing this and I've discovered that it interferes with the MP cost for Step Mine. MP costs for spells in general are 8-bit values, so without this patch, since the maximum time would be 99:59, the max MP cost for Step Mine would be 199. With this patch, the maximum time is 255:59, so in theory the max MP cost would be 511; however, this is no longer an 8-bit value. It's now a 9-bit value, but the top bit gets lost. As a result, for anyone who has played for 128 hours, Step Mine now has a cost of 0 when it should be 256.

Thanks for bringing this to my attention. I have attached some patches to fix this. From the readme:

What is this?

In Final Fantasy III (US) there is a skill called Step Mine. This skill does damage based
on your total number of steps, and costs MP based on the total time played. I had created
a patch for the game that expands the timer to allow for up to 255 hours of gameplay to
be recorded. It was then brought to my attention, by 13375K31C43R, that this had an
adverse effect on Step Mine's MP cost. Since hours capped at 99, no rollover check was
put in place. At 128 hours, Step Mine's MP cost rolled over to 0. These patches will fix
this behavior when using my 255 hours patch.

The 199 patch will cap Step Mine MP cost at 199 (which was the natural maximum when hours
were capped at 99 - this is equivalent behavior to the original game and the choice for
purists who still want an expanded timer counter). It will cap at 199 when the timer
reaches 99:30, and will not go any higher when the hours go over 100.

The 255 patch will cap Step Mine's MP cost at 255. This will happen when the timer
reaches 127:30. It will not go any higher, nor will it roll over.

Edit: Apparently the patch isn't quite done yet. It fixes the MP cost in the menu, but not in battle. I'll work on the battle portion tomorrow.

General Discussion / Re: Notice of (personal) downtime
« on: January 08, 2015, 03:11:21 AM »
Ah, that sucks. I'll try not to burn down the shiny new forum in your absence.

Well I was gonna burn it down anyway. Looks like I "mist" my opportunity   :isuck:

Gaming Discussion / Re: FF6 - Magicite item RNG
« on: December 25, 2014, 05:14:44 PM »
Alright, thanks for the info. I guess my goal of eliminating all forced exp won't come to fruition, but maybe I can still work it so that I gain no forced levels aside from through level-averaging. I'll be doing some testing on this over the next week.

Gaming Discussion / FF6 - Magicite item RNG
« on: December 24, 2014, 03:47:27 PM »
I'm just curious if the RNG for the Magicite item is predictable, or can be controlled in a non-TAS manner. I'm testing out some new LLG/experience-burning strats and would like to raise my chance of the Magicite item casting Palidor by knowing the RNG. Is this even feasible?

EDIT: The strategy that will be used involves poisoning all enemies, muddling a character about to use the Magicite item, hoping Magicite randomly chooses Palidor, and sending all enemies up into the air to be killed by poison - thus eliminating the experience gain from them. I'm attempting to use this for the Mag Roader battles, and for potential inescapable battles on the Floating Continent.

Gaming Discussion / Re: For Sale: Sega Virtua Stick Pro HSS-0130
« on: July 12, 2014, 10:12:58 PM »
Looks cool, wish I could afford to bid $100+ on it :P

I have a fight stick already though, wouldn't need that other than for the authentic retro feel, and even if I bought it, I wouldn't wanna ruin it by using it much :P shame since I could actually go down there from Portland and pick it up myself. Lemme know if you have any interesting NES/SNES stuff for sale though.

Submissions / Re: FF3us - 255 hours on timer
« on: March 08, 2014, 05:04:56 PM »
I had an interesting idea, to convert the hours/minutes timer into a days counter. However, it would require that I increase the maximum variable for the frames counter from 60 to 240. I know there are subroutines all over the place which pull the frames variable, and I'm curious if anyone knows of any potential issues that might arise if this variable is expanded.

The plan would be as follows:

Set maximum frame count to 240.
Set maximum "seconds" variable (which now increments every 4 seconds) to 216.
Set maximum "minutes" variable (which now increments every 864 seconds) to 100.
Set maximum "hours" variable (which now increments every 86400 seconds) to 255.

This would allow the timer to continue for 255 days before it caps out. The display timer would now show "Days" - which would show how many days, rounded to the nearest hundredth, you've been playing.

The only foreseeable issue with this is with the frame counter - I know there are at least a few formulas that use the frame counter, and assume it to be 1-60.

Game Modification Station / Re: FF6 Improvement Project
« on: October 02, 2013, 06:41:22 PM »
I don't know if you've been keeping an eye out here, but there's a simple patch that you might be interested in which raises the maximum hours on the timer from 99 to 255.

Slick News / Re: A call for help
« on: July 16, 2013, 07:33:04 AM »
eh, I may be able to help you, not like I have anything better to do right now

Submissions / Re: FF3us - 255 hours on timer
« on: June 05, 2013, 05:24:41 PM »
 :wtf: were they thinking?

Submissions / Re: FF3us - 255 hours on timer
« on: June 04, 2013, 12:02:37 PM »
Is it possible to show the seconds?  :D

That is indeed possible, and would be relatively easy provided you had enough space. The area for the menu timer that would need to be modified is here (courtesy of the co-opted C3 Bank Disassembly doc):

Code: [Select]
C3/326C: AD8811  LDA $1188
C3/326F: 8910    BIT #$10
C3/3271: F016    BEQ $3289
C3/3273: AC8911  LDY $1189      (is $1189 the elapsed time in seconds?)
C3/3276: 20B232  JSR $32B2      (if so, this gives minutes)
C3/3279: 20B232  JSR $32B2      (and this would give hours)
C3/327C: A5E7    LDA $E7        (load A with hours)
C3/327E: 8D6318  STA $1863      (put hours in $1863)
C3/3281: AD1642  LDA $4216      (remainder is excess minutes)
C3/3284: 8D6418  STA $1864      (put that in $1864)
C3/3287: 800C    BRA $3295
C3/3289: AC1B02  LDY $021B      (Hours and minutes)
C3/328C: 8C6318  STY $1863      (store in SRAM)
C3/328F: AD1D02  LDA $021D      (Seconds amd frames)
C3/3292: 8D6518  STA $1865      (store in SRAM)
C3/3295: A920    LDA #$20
C3/3297: 8529    STA $29        (set text color to white)
C3/3299: AD6318  LDA $1863      (hours)
C3/329C: 20E004  JSR $04E0      (convert leading 0's to spaces)
C3/329F: A2FB7C  LDX #$7CFB     (The position, I believe)
C3/32A2: 20B604  JSR $04B6      (2 digits to display)
C3/32A5: AD6418  LDA $1864      (minutes)
C3/32A8: 20F904  JSR $04F9      (convert minutes to a displayable format)
C3/32AB: A2017D  LDX #$7D01
C3/32AE: 20B604  JSR $04B6      (JMP fool!, 2 digits to display)
C3/32B1: 60      RTS

You'd need to add the function for seconds display right before the RTS at C3/32B1. You'd also need to resize the timer window, and reposition hours and minutes. Here's how I would change it:

Code: [Select]
LDA $1863     
JSR $04E0     
LDX #$7CF5     (This will move the Hours counter 3 spaces to the left)
JSR $04C0      (This will change the counter from a 2-digit display to a 3-digit display)
LDA $1864     
JSR $04F9      (convert minutes to a displayable format)
LDX #$7CFB (This will move the minutes counter 3 spaces to the left)
JSR $04B6
LDA $1865 (seconds)
JSR $04F9 (convert to displayable format)
LDX #$7D01 (place where the minutes counter used to go)
JSR $04B6 (limit to 2 digits)

I'm not sure how this would affect the timer during timed events, such as catching Ultros in the opera house or the floating continent escape. There's a process which converts the timer from hours/minutes to minutes/seconds, but I can't remember where it's at.

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 »