Users browsing this thread: 1 Guest(s)
Differences by Emulator

#1
Posts: 453
Threads: 45
Thanks Received: 195
Thanks Given: 116
Joined: Feb 2017
Reputation: 23
Status
None
Yesterday, after over 20 years on ZSNES, I decided to finally see what they hype was all about for BSNES. I loaded the game that I was most familiar with... my hack... so that I could tell the differences right away. First off, WOW is it smooth and crisp.

The second thing I noticed was that my class names, for whatever reason, weren't working on BSNES. It worked for the first 8 profiles, but repeated from there. So, for example Relm was listed as Terra's class (Sorceress), Setzer as Locke's (Adventurer), and so on. Curiously, all of the Moogles were given Cyan's class (Retainer), and Biggs/Wedge had Locke's. Here is what it looks like:
https://imgur.com/a/oCWsE3p

What I am confused on is why it would display one way for one emulator, and another way on a different one. I know that BSNES claims to be the most accurate emulator out there, so it makes me worried about what this will look like on real hardware. I have worked very hard to make all of my changes on an unexpanded rom so that it can be used with Everdrives and Repro Carts. Does anyone have an Everdrive that they could use to check? You just need to get to the point in the game where you have control. If Biggs/Wedge are listed as "Soldier", everything's good. If they're listed as "Adventurer", then we have a problem. The patch can be found here: https://www.ff6hacking.com/forums/thread-3574.html


The code that I'm using is a modification of MetroidQuest's code.
Code:
C3/F091:  C2 20         REP #S20        (16 bit memory)
C3/F093:  B9 00 00      LDA $0000,Y     (load actor number plus next byte)
C3/F096:  29 FF 00      AND #$00FF      (leave only actor number)
C3/F099:  E2 20         SEP #$20        (8 bit memory)
C3/F09B:  18            CLC
C3/F09C:  C9 10         CMP #$10
C3/F09E:  90 2A         BCC $F0CA       (branch if actor 00 to 0F) (Main Actors)
C3/F0A0:  C9 12         CMP #$12
C3/F0A2:  90 24         BCC $F0C8       (branch if actor 10 or 11) (Ghosts)
C3/F0A4:  C9 20         CMP #$20
C3/F0A6:  90 1C         BCC $F0C4       (Branch if actor 12 to 1F) (Moogles)
C3/F0A8:  C9 22         CMP #$22
C3/F0AA:  90 14         BCC $F0C0       (Branch if actor 20 to 21) (Biggs and Wedge)
C3/F0AC:  C9 23         CMP #$23
C3/F0AE:  90 0C         BCC $F0BC       (Branch if actor 22) (Banon 1)
C3/F0B0:  C9 24         CMP #$24
C3/F0B2:  90 04         BCC $F0B8       (Branch if actor 23) (Banon 2)
C3/F0B4:  A9 14         LDA #$14        (if not load "Freelancer" class name)
C3/F0B6:  80 12         BRA $F0CA
C3/F0B8:  A9 13         LDA #$13        (load "Paladin" class name)
C3/F0BA:  80 0E         BRA $F0CA
C3/F0BC:  A9 12         LDA #$12        (load "Mediator" class name)
C3/F0BE:  80 0A         BRA $F0CA
C3/F0C0:  A9 11         LDA #$11        (load "Soldier" class name)
C3/F0C2:  80 06         BRA $F0CA
C3/F0C4:  A9 0A         LDA #$0A        (load "Moogle" class name)
C3/F0C6:  80 02         BRA $F0CA
C3/F0C8:  A9 10         LDA #$10        (load "Ghost" class name)        
C3/F0CA:  8D 02 42      STA $4202
C3/F0CC:  A9 0C         LDA #$0C        (12 = class name length)
C3/F0CE:  A8            TAY             (store for future loop)    
C3/F0D0:  8D 03 42      STA $4203       (multiply by 12)
C3/F0D2:  EA            NOP
C3/F0D4:  EA            NOP
C3/F0D6:  AD 16 42      LDA $4216       (result of multiplication)
C3/F0D8:  AA            TAX
C3/F0DA:  BF 00 F1 C3   LDA $C3F100,X   (load class name letter)
C3/F0DC:  8D 80 21      STA $2180       (write letter)
C3/F0DE:  E8            INX             (next letter)
C3/F0E0:  88            DEY             (decrement loop)
C3/F0E2:  F0 02         BEQ $F0CE       (exit if we reached 12 letters)    
C3/F0E4:  80 F3         BRA $F0C1       (if not, branch to next letter)    
C3/F0E6:  9C 80 21      STZ $2180       (next String)
C3/F0E8:  4C D9 7F      JMP $7FD9       (jump to general text drawing routine)


Projects:
Divergent Paths: The 3 Scenarios (Completed) - a redo of the 3 scenarios in the original game that gives equal time to each group. Meant to be a basis for future mods.
FFVI: Divergent Paths (In Progress) - a hack built off of the 3 scenarios that changes other events in the same, such as making Leo permanently recruitable, bringing Banon's story closure, and adding 1 more secret character.
  Find
Quote  

#2
Posts: 180
Threads: 1
Thanks Received: 68
Thanks Given: 20
Joined: Oct 2015
Reputation: 18
Status
None
psst:
http://www.romhacking.net/forum/index.ph...#msg410463
(read the next few posts.)

Code:
C3/F0D0:  8D 03 42      STA $4203       (multiply by 12)
C3/F0D2:  EA            NOP
C3/F0D4:  EA            NOP
C3/F0D6:  AD 16 42      LDA $4216       (result of multiplication)

because your instructions' addresses don't match up with their sizes, instead just being 2 bytes apart, i can't tell whether you indeed have a mere 2 NOPs here, or more.  go for 4, though 3 will probably technically be safe.
Quote  
[-] The following 1 user says Thank You to assassin for this post:
  • PowerPanda (03-29-2021)

#3
Posts: 453
Threads: 45
Thanks Received: 195
Thanks Given: 116
Joined: Feb 2017
Reputation: 23
Status
None
That fixed it. I had actually removed the NOPs to maximize space and efficiency, because I thought they were useless. I put 4 of them back in, and the issue resolved itself. You are amazing.


Projects:
Divergent Paths: The 3 Scenarios (Completed) - a redo of the 3 scenarios in the original game that gives equal time to each group. Meant to be a basis for future mods.
FFVI: Divergent Paths (In Progress) - a hack built off of the 3 scenarios that changes other events in the same, such as making Leo permanently recruitable, bringing Banon's story closure, and adding 1 more secret character.
  Find
Quote  

#4
Posts: 191
Threads: 3
Thanks Received: 22
Thanks Given: 133
Joined: May 2013
Reputation: 0
Status
None
I have an Everdrive and a Super UFO 8, do you still need real hardware testing even tho you got a fix?



  Find
Quote  

#5
Posts: 453
Threads: 45
Thanks Received: 195
Thanks Given: 116
Joined: Feb 2017
Reputation: 23
Status
None
(03-31-2021, 09:24 AM)Warrax Wrote: I have an Everdrive and a Super UFO 8, do you still need real hardware testing even tho you got a fix?

I would like to do that with my fixed version, yes. I have a couple more things to do, and then I'll be posting v0.91 with a handful of bugfixes.


Projects:
Divergent Paths: The 3 Scenarios (Completed) - a redo of the 3 scenarios in the original game that gives equal time to each group. Meant to be a basis for future mods.
FFVI: Divergent Paths (In Progress) - a hack built off of the 3 scenarios that changes other events in the same, such as making Leo permanently recruitable, bringing Banon's story closure, and adding 1 more secret character.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite