The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 895 - File: showthread.php PHP 7.3.33 (Linux)
File Line Function
/showthread.php 895 errorHandler->error




Users browsing this thread: 1 Guest(s)
Slot ability modification

#1
Posts: 3,971
Threads: 279
Thanks Received: 237
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
Well I didn't knew where to put that info so I decieded to make a thread about. So from the updated C2 and C1 here are some interesting routine for anyone who would like to mess with setzer's slots:

This is the routine for the 3 slots but part some of those calculations are repeated previously for slot 1 and slot 2 and I don't know why yet:

Code:
Main routine?

C1/7FB6:    AD917B      LDA $7B91
C1/7FB9:    F031        BEQ $7FEC
C1/7FBB:    AD8C7B      LDA $7B8C        (Load slot 1 reel position/value)
C1/7FBE:    20E77E      JSR $7EE7        (Convert slot 1 value to symbol value)
C1/7FC1:    8536        STA $36        (save Slot 1 symbol value)
C1/7FC3:    AD8D7B      LDA $7B8D        (Load slot 2 reel position/value)
C1/7FC6:    20F27E      JSR $7EF2        (Convert slot 2 value to symbol value)
C1/7FC9:    8537        STA $37        (save Slot 2 symbol value)
C1/7FCB:    AD8E7B      LDA $7B8E        (Load slot 3 reel position/value)
C1/7FCE:    20FD7E      JSR $7EFD        (Convert slot 3 value to symbol value)
C1/7FD1:    8538        STA $38        (save Slot 3 symbol value)
C1/7FD3:    22A3B4C2    JSR $C2B4A3    (Calculate the value of the slots result)
C1/7FD7:    48          PHA             
C1/7FD8:    20566D      JSR $6D56
C1/7FDB:    68          PLA
C1/7FDC:    99B02B      STA $2BB0,Y
C1/7FDF:    ADCA62      LDA $62CA
C1/7FE2:    99AE2B      STA $2BAE,Y
C1/7FE5:    EE807B      INC $7B80
C1/7FE8:    EECB7B      INC $7BCB
C1/7FEB:    60          RTS

This is where the slot value is calculated:

Code:
C1/7EE7:    4A          LSR A            
C1/7EE8:    4A          LSR A
C1/7EE9:    4A          LSR A
C1/7EEA:    4A          LSR A
C1/7EEB:    0A          ASL A
C1/7EEC:    AA          TAX
C1/7EED:    BF00A8C2    LDA $C2A800,X    (Slot 1 Conversion data?)
C1/7EF1:    60          RTS

C1/7EF2:    4A          LSR A
C1/7EF3:    4A          LSR A
C1/7EF4:    4A          LSR A
C1/7EF5:    4A          LSR A
C1/7EF6:    0A          ASL A
C1/7EF7:    AA          TAX
C1/7EF8:    BF20A8C2    LDA $C2A820,X    (Slot 2 Conversion data?)
C1/7EFC:    60          RTS

C1/7EFD:    4A          LSR A
C1/7EFE:    4A          LSR A
C1/7EFF:    4A          LSR A
C1/7F00:    4A          LSR A
C1/7F01:    0A          ASL A
C1/7F02:    AA          TAX
C1/7F03:    BF40A8C2    LDA $C2A840,X    (Slot 3 Conversion data?)
C1/7F07:    60          RTS

This is where the conversion is done:

Code:
(Slot Reel 1 conversion data - get a slot value based on the reel's current position)
(Note the game scrolls backwards from the starting 7 symbol, so we begin
with C2/A800, then work our way up from the bottom at C2/A81E, and repeat.)
C2/A800: 00 00  (7)
C2/A802: 04 00  (Chocobo)
C2/A804: 05 00  (Diamond)
C2/A806: 03 00  (Ship)
C2/A808: 04 00  (Chocobo)
C2/A80A: 05 00  (Diamond)
C2/A80C: 02 00  (Bar)
C2/A80E: 05 00  (Diamond)
C2/A810: 01 00  (Dragon)
C2/A812: 04 00  (Chocobo)
C2/A814: 05 00  (Diamond)
C2/A816: 03 00  (Ship)
C2/A818: 05 00  (Diamond)
C2/A81A: 02 00  (Bar)
C2/A81C: 03 00  (Ship)
C2/A81E: 01 00  (Dragon)

(Slot Reel 2 conversion data - get a slot value based on the reel's current position)
(Note the game scrolls backwards from the starting 7 symbol, so we begin
with C2/A820, then work our way up from the bottom at C2/A83E, and repeat.)
C2/A820: 00 00  (7)
C2/A822: 04 00  (Chocobo)
C2/A824: 01 00  (Dragon)
C2/A826: 05 00  (Diamond)
C2/A828: 03 00  (Ship)
C2/A82A: 04 00  (Chocobo)
C2/A82C: 01 00  (Dragon)
C2/A82E: 05 00  (Diamond)
C2/A830: 04 00  (Chocobo)
C2/A832: 03 00  (Ship)
C2/A834: 02 00  (Bar)
C2/A836: 05 00  (Diamond)
C2/A838: 04 00  (Chocobo)
C2/A83A: 03 00  (Ship)
C2/A83C: 02 00  (Bar)
C2/A83E: 05 00  (Diamond)

(Slot Reel 3 conversion data - get a slot value based on the reel's current position)
(Note the game scrolls backwards from the starting 7 symbol, so we begin
with C2/A840, then work our way up from the bottom at C2/A85E, and repeat.)
C2/A840: 00 00  (7)
C2/A842: 01 00  (Dragon)
C2/A844: 03 00  (Ship)
C2/A846: 04 00  (Chocobo)
C2/A848: 02 00  (Bar)
C2/A84A: 05 00  (Diamond)
C2/A84C: 04 00  (Chocobo)
C2/A84E: 03 00  (Ship)
C2/A850: 01 00  (Dragon)
C2/A852: 05 00  (Diamond)
C2/A854: 04 00  (Chocobo)
C2/A856: 03 00  (Ship)
C2/A858: 02 00  (Bar)
C2/A85A: 05 00  (Diamond)
C2/A85C: 04 00  (Chocobo)
C2/A85E: 05 00  (Diamond)

And this is where the 3 slots result is calculated:

Code:
(Return a value based on our 3 slot results: 0 for 7-7-Bar, 7 when we don't
have three matching symbols [Lagomorph], or Symbol value + 1 when we have
a matching triplet)

C2/B4A3: A5 36        LDA $36     (get slot 1 [aka reel 1] symbol)
C2/B4A5: C5 37        CMP $37     (compare to slot 2 symbol)
C2/B4A7: D0 06        BNE $B4AF   (branch if they don't match)
C2/B4A9: C5 38        CMP $38     (if they do, compare to slot 3 symbol)
C2/B4AB: D0 02        BNE $B4AF   (branch if that is different)
C2/B4AD: 1A           INC         (if they're all the same, just return
                                   the symbol value + 1)
C2/B4AE: 6B           RTL


C2/B4AF: 05 37        ORA $37
C2/B4B1: D0 08        BNE $B4BB   (branch if either slot 1 or 2 isn't "7")
C2/B4B3: A5 38        LDA $38     (only reach here if Slot 1 and 2 are both "7")
C2/B4B5: C9 02        CMP #$02
C2/B4B7: D0 02        BNE $B4BB   (branch if slot 3 isn't "Bar")
C2/B4B9: 7B           TDC         (if it is, return 0)
C2/B4BA: 6B           RTL

There are way to change those values to change the odds I'm pretty sure but I don't have a proper technique to suggest yet. I'll try to experiment with those routine when I get sometimes.

But the main reason of this thread, and I haven't seen that info elsewhere on the site, is the spell numbers related to slot attacks. I helped someone on the site to swap 7-Flush and calling a random esper. You can swap/change any of the followings and theoratically you can assign other spells, blitz, lores or any magic from 00 to FF. The actual spells assigned match the order in the magic list. So in a perfect world by setting the slot ability to Sabin, you could do his blitz with the slots...I haven't tested such a thing however...

Code:
(Data - spell numbers for Slot attacks)

C2/4E4A: 94   (L.5 Doom -- used by Joker Doom)
C2/4E4B: 94   (L.5 Doom -- used by Joker Doom)
C2/4E4C: 43   (Bahamut)
C2/4E4D: FF   (Nothing -- used by Triple Bar?)
C2/4E4E: 80   (H-Bomb)
C2/4E4F: 7F   (Chocobop)
C2/4E50: 81   (7-Flush)
C2/4E51: FE   (Lagomorph)

I haven't found where the selected spell is loaded but I will continue my researches. Thanks to Assasin for updating the comments in C2 more or less recently (I think...)
  Find
Quote  



Messages In This Thread
Slot ability modification - by madsiur - 02-17-2012, 12:41 PM
RE: Slot ability modification - by m06 - 02-17-2012, 12:59 PM
RE: Slot ability modification - by Fire Storm - 02-17-2012, 01:31 PM
RE: Slot ability modification - by madsiur - 02-17-2012, 08:39 PM
RE: Slot ability modification - by SSJ Rick - 02-17-2012, 03:33 PM
RE: Slot ability modification - by Fire Storm - 02-17-2012, 08:09 PM
RE: Slot ability modification - by SSJ Rick - 02-17-2012, 08:23 PM

Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite