Users browsing this thread: 1 Guest(s)
The colosseum, temporary character , FF6LE and graphics change

#8
Posts: 831
Threads: 41
Thanks Received: 16
Thanks Given: 12
Joined: Nov 2009
Reputation: 18
Status
None
(10-30-2011, 07:42 PM)Madsiur Wrote: On a another subject for my new WOB collosseum I found that:

Code:
Colliseum: Determine prize and monster based on item bet
C3/B22C:    7B          TDC
C3/B22D:    AD0502      LDA $0205       (item bet)
C3/B230:    C220        REP #$20      (16 bit memory/accum.)
C3/B232:    0A          ASL A
C3/B233:    0A          ASL A
C3/B234:    AA          TAX
C3/B235:    E220        SEP #$20      (8 bit memory/accum.)
C3/B237:    BF00B6DF    LDA $DFB600,X  (monster to face)
C3/B23B:    8D0602      STA $0206
C3/B23E:    BF02B6DF    LDA $DFB602,X  (item to win)
C3/B242:    8D0702      STA $0207
C3/B245:    BF03B6DF    LDA $DFB603,X  (mask item to win)
C3/B249:    8D0902      STA $0209
C3/B24C:    60          RTS
According to what you show, and if I'm right, there are 4 bytes used when handling things in the colloseum: Starting at DFB600, the first two bytes are for the check for the monster you'll fight. The third byte corresponds to the item you'll win; and the last is to mask the item.

DFB600 is where the game goes and checks for the monster you'll fight.
DFB602 is where the item you'll win is stored.

(10-30-2011, 07:42 PM)Madsiur Wrote: You have to create a subroutine similar to this one and the game would branch to that subroutine if a certain bit is set/clear depending if you are before of after the start of the WOR. I don't know how you write that in assembly but I think it's possible...
Sounds like you're on the right track Laugh. I'll support yo as long as I can, but keep in mind that my assembly knowledge is limited, restricted to simple things like loading addresses, comparing, jumping, jumping to subroutines, return to subroutines, and loading and storing numbers in the accumulator.
EDIT: There's some other code that calls the subroutine at C3/B22C that you posted: The code at C3/AF46 is calling the subroutine at C3/B22C.

Code:
Colliseum setup?
C3/AF46:    202CB2      JSR $B22C      (Determine prize and monster based on item bet)
C3/AF49:    AD0602      LDA $0206      (Monster to fight)
C3/AF4C:    8D0242      STA $4202
C3/AF4F:    A905        LDA #$05
C3/AF51:    8D0342      STA $4203
C3/AF54:    A01050      LDY #$5010
C3/AF57:    8C1621      STY $2116
C3/AF5A:    EA          NOP
C3/AF5B:    EA          NOP
C3/AF5C:    AE1642      LDX $4216
C3/AF5F:    BF0070D2    LDA $D27000,X  (Monster visual specs, byte 1)
C3/AF63:    85E7        STA $E7
C3/AF65:    BF0170D2    LDA $D27001,X  (Monster visual specs, byte 2)
C3/AF69:    85E8        STA $E8
C3/AF6B:    BF0270D2    LDA $D27002,X  (Monster visual specs, byte 3)
C3/AF6F:    85F2        STA $F2
C3/AF71:    BF0370D2    LDA $D27003,X  (Monster visual specs, byte 4)
C3/AF75:    85F1        STA $F1
C3/AF77:    BF0470D2    LDA $D27004,X  (Monster visual specs, byte 5)
C3/AF7B:    85E9        STA $E9
C3/AF7D:    A5E8        LDA $E8
C3/AF7F:    3004        BMI $AF85
C3/AF81:    64FF        STZ $FF
C3/AF83:    8008        BRA $AF8D
C3/AF85:    A901        LDA #$01
C3/AF87:    85FF        STA $FF
C3/AF89:    A980        LDA #$80
C3/AF8B:    14E8        TRB $E8
C3/AF8D:    A9E9        LDA #$E9
C3/AF8F:    85F7        STA $F7
C3/AF91:    C220        REP #$20      (16 bit memory/accum.)
C3/AF93:    A90070      LDA #$7000
C3/AF96:    85F5        STA $F5
C3/AF98:    A5E7        LDA $E7
C3/AF9A:    85F9        STA $F9
C3/AF9C:    64FB        STZ $FB
C3/AF9E:    06F9        ASL $F9
C3/AFA0:    26FB        ROL $FB
C3/AFA2:    06F9        ASL $F9
C3/AFA4:    26FB        ROL $FB
C3/AFA6:    06F9        ASL $F9
C3/AFA8:    26FB        ROL $FB
C3/AFAA:    18          CLC
C3/AFAB:    A5F9        LDA $F9
C3/AFAD:    65F5        ADC $F5
C3/AFAF:    85F5        STA $F5
C3/AFB1:    A5FB        LDA $FB
C3/AFB3:    65F7        ADC $F7
C3/AFB5:    85F7        STA $F7
C3/AFB7:    A600        LDX $00
C3/AFB9:    E220        SEP #$20      (8 bit memory/accum.)
C3/AFBB:    A5F2        LDA $F2
C3/AFBD:    3009        BMI $AFC8
C3/AFBF:    A020A8      LDY #$A820
C3/AFC2:    84E3        STY $E3
C3/AFC4:    A908        LDA #$08
C3/AFC6:    8007        BRA $AFCF
C3/AFC8:    A022A8      LDY #$A822
C3/AFCB:    84E3        STY $E3
C3/AFCD:    A920        LDA #$20
C3/AFCF:    85E6        STA $E6
C3/AFD1:    8599        STA $99
C3/AFD3:    A9D2        LDA #$D2
C3/AFD5:    85E5        STA $E5
C3/AFD7:    A5F2        LDA $F2
C3/AFD9:    2940        AND #$40
C3/AFDB:    2A          ROL A
C3/AFDC:    2A          ROL A
C3/AFDD:    2A          ROL A
C3/AFDE:    85EA        STA $EA
C3/AFE0:    A5F2        LDA $F2
C3/AFE2:    3009        BMI $AFED
C3/AFE4:    C220        REP #$20      (16 bit memory/accum.)
C3/AFE6:    A5E9        LDA $E9
C3/AFE8:    0A          ASL A
C3/AFE9:    0A          ASL A
C3/AFEA:    0A          ASL A
C3/AFEB:    8009        BRA $AFF6
C3/AFED:    C220        REP #$20      (16 bit memory/accum.)
C3/AFEF:    A5E9        LDA $E9
C3/AFF1:    0A          ASL A
C3/AFF2:    0A          ASL A
C3/AFF3:    0A          ASL A
C3/AFF4:    0A          ASL A
C3/AFF5:    0A          ASL A
C3/AFF6:    18          CLC
C3/AFF7:    67E3        ADC [$E3]
C3/AFF9:    85E0        STA $E0
C3/AFFB:    E220        SEP #$20      (8 bit memory/accum.)
C3/AFFD:    A9D2        LDA #$D2
C3/AFFF:    85E2        STA $E2
C3/B001:    A00800      LDY #$0008
C3/B004:    DA          PHX
C3/B005:    7B          TDC
C3/B006:    A5E6        LDA $E6
C3/B008:    AA          TAX
C3/B009:    A7E0        LDA [$E0]
C3/B00B:    9F889D7E    STA $7E9D88,X
C3/B00F:    FA          PLX
C3/B010:    18          CLC
C3/B011:    5A          PHY
C3/B012:    2A          ROL A
C3/B013:    48          PHA
C3/B014:    9005        BCC $B01B
C3/B016:    201EB1      JSR $B11E
C3/B019:    8003        BRA $B01E
C3/B01B:    200AB1      JSR $B10A
C3/B01E:    68          PLA
C3/B01F:    7A          PLY
C3/B020:    88          DEY
C3/B021:    D0ED        BNE $B010
C3/B023:    C220        REP #$20      (16 bit memory/accum.)
C3/B025:    E6E0        INC $E0
C3/B027:    E220        SEP #$20      (8 bit memory/accum.)
C3/B029:    C6E6        DEC $E6
C3/B02B:    D0D4        BNE $B001
C3/B02D:    2033B0      JSR $B033
C3/B030:    4C5AB1      JMP $B15A
Quote  



Messages In This Thread
RE: The colosseum, temporary character , FF6LE and graphics change - by Angelo26 - 10-30-2011, 09:51 PM

Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite