Users browsing this thread: 1 Guest(s)
ASM Tasks

#4
Posts: 763
Threads: 83
Thanks Received: 55
Thanks Given: 7
Joined: Apr 2015
Reputation: 22
Status
Obliviscence
(09-20-2016, 09:48 PM)Madsiur Wrote: I can make a code proof of concept of two functional sprite sheet added and two portraits. I could also work on properties shifting, using the dummied entries for vanilla guests $0E and $0F.

For equipment, we'll need to find two equip bits on the item data. I could work on that too. Finally I suggest we scrap the already scrapped Summon command for a brand new one. Other things should come to my mind by looking each points in the code. I'll come up with a more relevant input this weekend.

P.S. Count me out (for now) for OAM, I know nothing in the domain but I'm interested in almost all the other points you've mentioned.

There's a fair number of unused bits on equipment, tho I'm not sure many of them get automatically loaded into battle, so you may need to write a function that calls the equipment, then retrieves the bit to handle functions that need to check for Imp gear and heavy gear. The great part about equippable gear bits is that if we put Iris and our new character properties at $0E and $0F in place of Banon and Leo, and unlock the equip menu, the bits will already work. No extra ASM required. This really should be a quick fix.

Moving Leo and Banon's properties will cause a few actor assignment fixes to be needed in the event script, and Leo's battle event where Kefka... ahem... does him in... changed to the properties IDs as battle events use properties ID rather than actor or sprite.

(09-21-2016, 03:37 AM)m06 Wrote: I'll see what I can figure out of the shop OAM to begin with..

Here's what I have on the OAM data (you might want to copy this into a text document):
Code:
D8/E917: Pointers to pointers! used to make calling simple since different characters have different length OAM data
45 E9 - Terra
57 E9 - Locke
69 E9 - Cyan
7B E9 - Shadow
8D E9 - Edgar
9F E9 - Sabin
B1 E9 - Celes
C3 E9 - Strago
D5 E9 - Relm
E7 E9 - Setzer
F9 E9 - Mog
0B EA - Gau
1D EA - Gogo
2F EA - Umaro
41 EA - Soldier
44 EA - Imp
47 EA - Leo
4A EA - Bannon
4D EA - Esper Terra
50 EA - Merchant
53 EA - Ghost
56 EA - Kefka
59 EA - Soldier 2

OAM pointers for various things:
(im guessing they are the various instances called, shop menues, save, etc...)
(byte 3?)
D8/E945 - Terra
5C EA 10 - Save Screen
5C EA 10 - Pary Select
5C EA FF - Unknown/Unused
5C EA 10 - Shop
65 EA 10 - Shop Fanfare
5C EA FF - Unknown/Unused

D8/E957 - Locke
Locke
6E EA 10 - Save Screen
6E EA 10 - Party Select
6E EA FF - Unknown/Unused
6E EA 10 - Shop
77 EA 10 - Shop Fanfare
6E EA FF - Unknown/Unused

D8/E969 - Cyan
80 EA 10 - Save Screen
80 EA 10 - Pary Select
80 EA FF - Unknown/Unused
80 EA 10 - Shop
89 EA 10 - Shop Fanfare
80 EA FF - Unknown/Unused

D8/E97B - Shadow
92 EA 10 - Save Screen
92 EA 10 - Pary Select
92 EA FF - Unknown/Unused
92 EA 10 - Shop
9B EA 10 - Shop Fanfare
92 EA FF - Unknown/Unused

D8/E98D - Edgar
A4 EA 10 - Save Screen
A4 EA 10 - Pary Select
A4 EA FF - Unknown/Unused
A4 EA 10 - Shop
AD EA 10 - Shop Fanfare
A4 EA FF - Unknown/Unused

D8/E99F - Sabin
B6 EA 10 - Save Screen
B6 EA 10 - Pary Select
B6 EA FF - Unknown/Unused
B6 EA 10 - Shop
BF EA 10 - Shop Fanfare
B6 EA FF - Unknown/Unused

D8/E9B1 - Celes
C8 EA 10 - Save Screen
C8 EA 10 - Pary Select
C8 EA FF - Unknown/Unused
C8 EA 10 - Shop
D1 EA 10 - Shop Fanfare
C8 EA FF - Unknown/Unused

D8/E9C3 - Strago
DA EA 10 - Save Screen
DA EA 10 - Pary Select
DA EA FF - Unknown/Unused
DA EA 10 - Shop
E3 EA 10 - Shop Fanfare
DA EA FF - Unknown/Unused

D8/E9D5 - Relm
EC EA 10 - Save Screen
EC EA 10 - Pary Select
EC EA FF - Unknown/Unused
EC EA 10 - Shop
F5 EA 10 - Shop Fanfare
EC EA FF - Unknown/Unused

D8/E9E7 - Setzer
FE EA 10 - Save Screen
FE EA 10 - Pary Select
FE EA FF - Unknown/Unused
FE EA 10 - Shop
07 EB 10 - Shop Fanfare
FE EA FF - Unknown/Unused

D8/E9F9 - Mog
10 EB 10 - Save Screen
10 EB 10 - Pary Select
10 EB FF - Unknown/Unused
10 EB 10 - Shop
19 EB 10 - Shop Fanfare
10 EB FF - Unknown/Unused

D8/EA0B - Gau
22 EB 10 - Save Screen
22 EB 10 - Pary Select
22 EB FF - Unknown/Unused
22 EB 10 - Shop
2B EB 10 - Shop Fanfare
22 EB FF - Unknown/Unused

D8/EA1D - Gogo
34 EB 10 - Save Screen
34 EB 10 - Pary Select
34 EB FF - Unknown/Unused
34 EB 10 - Shop
3D EB 10 - Shop Fanfare
34 EB FF - Unknown/Unused

D8/EA2F - Umaro
46 EB 10 - Save Screen
46 EB 10 - Pary Select
46 EB FF - Unknown/Unused
46 EB 10 - Shop
4F EB 10 - Shop Fanfare
46 EB FF - Unknown/Unused

D8/EA41 - Soldier
58 EB FE - Save Screen

D8/EA44 - Imp
61 EB FE - Save Screen

D8/EA47 - Leo
6A EB FE - Save Screen

D8/EA4A - Bannon
73 EB FE - Save Screen

D8/EA4D - Esper Terra
7C EB FE - Save Screen

D8/EA50 - Merchant
85 EB FE - Save Screen

D8/EA53 - Ghost
8E EB FE - Save Screen

D8/EA56 - Kefka
97 EB FE - Save Screen

D8/EA59 - Soldier 2
A0 EB FE - Save Screen


Terra
D8/EA5C - Standing
02 80 01 00 39 80 11 02 39
D8/EA65 - Fanfare
02 80 00 04 39 80 10 06 39
Locke
D8/EA6E - Standing
D8/EA77 - Fanfare
02 80 01 08 37 80 11 0A 37 02 80 00 0C 37 80 10 0E 37
Cyan
D8/EA80 - Standing
D8/EA99 - Fanfare
02 80 01 20 3D 80 11 22 3D 02 80 00 24 3D 80 10 26 3D
Shadow
D8/EA92 - Standing
D8/EA9B - Fanfare
02 80 01 28 3D 80 11 2A 3D 02 80 00 2C 3D 80 10 2E 3D
Edgar
D8/EAA4 - Standing
D8/EAAD - Fanfare
02 80 01 40 35 80 11 42 35 02 80 00 44 35 80 10 46 35
Sabin
D8/EAB6 - Standing
D8/EABF - Fanfare
02 80 01 48 35 80 11 4A 35 02 80 00 4C 35 80 10 4E 35
Celes
D8/EAC8 - Standing
D8/EAD1 - Fanfare
02 80 01 60 35 80 11 62 35 02 80 00 64 35 80 10 66 35
Strago
D8/EADA - Standing
D8/EAE3 - Fanfare
02 80 01 68 3B 80 11 6A 3B 02 80 00 6C 3B 80 10 6E 3B
Relm
D8/EAEC - Standing
D8/EAF5 - Fanfare
02 80 01 80 3B 80 11 82 3B 02 80 00 84 3B 80 10 86 3B
Setzer
D8/EAFE - Standing
D8/EB07 - Fanfare
02 80 01 88 3D 80 11 8A 3D 02 80 00 8C 3D 80 10 8E 3D
Mog
D8/EB10 - Standing
D8/EB19 - Fanfare
02 80 01 A0 3F 80 11 A2 3F 02 80 00 A4 3F 80 10 A6 3F
Gau
D8/EB22 - Standing
D8/EB2B - Fanfare
02 80 01 A8 3B 80 11 AA 3B 02 80 00 AC 3B 80 10 AE 3B
Gogo
D8/EB34 - Standing
D8/EB3D - Fanfare
02 80 01 C0 3B 80 11 C2 3B 02 80 00 C4 3B 80 10 C6 3B
Umaro
D8/EB46 - Standing
D8/EB4F - Fanfare
02 80 01 C8 3F 80 11 CA 3F 02 80 00 CC 3F 80 10 CE 3F
Soldier
D8/EB58 - Standing
02 80 01 E0 37 80 11 E2 37
Imp
D8/EB61 - Standing
02 80 01 E8 35 80 11 EA 35
Leo
D8/EB6A - Standing
02 80 01 04 35 80 11 06 35
Bannon
D8/EB73 - Standing
02 80 01 0C 3B 80 11 0E 3B
Esper Terra
D8/EB7C - Standing
02 80 01 24 39 80 11 26 39
Merchant
D8/EB85 - Standing
02 80 01 2C 37 80 11 2E 37
Ghost
D8/EB8E - Standing
02 80 01 44 35 80 11 46 35
Kefka
D8/EB97 - Standing
02 80 01 4C 39 80 11 4E 39
Soldier 2
D8/EBA0 - Standing
02 80 01 E0 35 80 11 E2 35


sprite arrangement, 9 bytes each, 2 sets for each character

(standing still, facing left)
D8/EA5C: tiles wide (2 for normal sprites, 3 for large [odin, tritoch, etc...])
D8/EA5D: X position of head tile
D8/EA5E: Y position of head tile
D8/EA5F: head tile ID (start of 4-byte block)
D8/EA60: palette and other things; palette uses (0000 1110) bits
D8/EA61: X position of foot tile
D8/EA62: Y position of foot tile
D8/EA63: foot tile ID (start of 4-byte block)
D8/EA64: palette and other things; palette uses (0000 1110) bits

("fanfare" pose, both arms up, facing left)
D8/EA65: tiles wide (2 for normal sprites, 3 for large [odin, tritoch, etc...])
D8/EA66: X position of head tile
D8/EA67: Y position of head tile
D8/EA68: head tile ID (start of 4-byte block)
D8/EA69: palette and other things; palette uses (0000 1110) bits
D8/EA6A: X position of foot tile
D8/EA6B: Y position of foot tile
D8/EA6C: foot tile ID (start of 4-byte block)
D8/EA6D: palette and other things; palette uses (0000 1110) bits

Palettes:
35 = 0
37 = 1
39 = 2
3B = 3
3D = 4
3F = 5


#$D8 loaded (possible bank pointers)
C3C26F
C3ED5D
C3C22F
C3B318
C37C0B
C3C0E2 - Shop menu Bank loaded
C3B213
C378BD
C376BC
C362C9
C33490
C3194c - Save menu



Upload actor sprites for shop
C3/6D79:    A00030      LDY #$3000     ; $6000
C3/6D7C:    8C1621      STY $2116      ; Set VRAM ptr
C3/6D7F:    64E3        STZ $E3        ; Actor slot: 1

Fork: Load both poses for two actors
C3/6D81:    A400        LDY $00        ; Tile slot: 1
C3/6D83:    E220        SEP #$20       ; 8-bit A
C3/6D85:    7B          TDC            ; Clear A
C3/6D86:    BB          TYX            ; Tile slot
C3/6D87:    BF076EC3    LDA $C36E07,X  ; GFX ptr index
C3/6D8B:    0A          ASL A          ; Double it
C3/6D8C:    AA          TAX            ; Index it
C3/6D8D:    C220        REP #$20       ; 16-bit A
C3/6D8F:    BF276EC3    LDA $C36E27,X  ; Tile's GFX ptr
C3/6D93:    C9FFFF      CMP #$FFFF     ; Blank tile?
C3/6D96:    F052        BEQ $6DEA      ; Blank if so
C3/6D98:    48          PHA            ; Save pointer
C3/6D99:    A9A016      LDA #$16A0     ; GFX struct size
C3/6D9C:    E220        SEP #$20       ; 8-bit A
C3/6D9E:    8D1B21      STA $211B      ; Set matrix A LB
C3/6DA1:    EB          XBA            ; Struct size HB
C3/6DA2:    8D1B21      STA $211B      ; Set matrix A HB
C3/6DA5:    A5E3        LDA $E3        ; Actor A's slot
C3/6DA7:    8D1C21      STA $211C      ; Set matrix B
C3/6DAA:    8D1C21      STA $211C      ; ...
C3/6DAD:    C220        REP #$20       ; 16-bit A
C3/6DAF:    68          PLA            ; Tile GFX ptr
C3/6DB0:    18          CLC            ; Prepare ADC
C3/6DB1:    6D3421      ADC $2134      ; Add product LBs
C3/6DB4:    85EB        STA $EB        ; Set source LBs
C3/6DB6:    E220        SEP #$20       ; 8-bit A
C3/6DB8:    AD3621      LDA $2136      ; Product HB
C3/6DBB:    69D5        ADC #$D5       ; Add base bank
C3/6DBD:    85ED        STA $ED        ; Set source HB
C3/6DBF:    C221        REP #$21       ; ...
C3/6DC1:    A5EB        LDA $EB        ; ...
C3/6DC3:    690000      ADC #$0000     ; ...
C3/6DC6:    85EB        STA $EB        ; ...
C3/6DC8:    E220        SEP #$20       ; ...
C3/6DCA:    A5ED        LDA $ED        ; ...
C3/6DCC:    6900        ADC #$00       ; ...
C3/6DCE:    85ED        STA $ED        ; ...
C3/6DD0:    C220        REP #$20       ; 16-bit A
C3/6DD2:    5A          PHY            ; Save tile slot
C3/6DD3:    20F86D      JSR $6DF8      ; Load tile's GFX
C3/6DD6:    7A          PLY            ; Tile slot
C3/6DD7:    C8          INY            ; Tile slot +1
C3/6DD8:    C02000      CPY #$0020     ; Done 32 tiles?
C3/6DDB:    D0A6        BNE $6D83      ; Loop if not

Fork: Handle next two actors
C3/6DDD:    E220        SEP #$20       ; 8-bit A
C3/6DDF:    E6E3        INC $E3        ; Actor slot +1
C3/6DE1:    E6E3        INC $E3        ; Actor slot +1
C3/6DE3:    A5E3        LDA $E3        ; Actor slot
C3/6DE5:    C910        CMP #$10       ; Handled 16?
C3/6DE7:    D098        BNE $6D81      ; Loop if not
C3/6DE9:    60          RTS

Fork: Create a blank tile
C3/6DEA:    A91000      LDA #$0010     ; Rows: 8
C3/6DED:    85E7        STA $E7        ; Set counter
C3/6DEF:    9C1821      STZ $2118      ; 8 px, 2 planes
C3/6DF2:    C6E7        DEC $E7        ; Counter -1
C3/6DF4:    D0F9        BNE $6DEF      ; Loop till zero
C3/6DF6:    80DF        BRA $6DD7      ; Do next tile

Upload current actor sprite tile for shop
C3/6DF8:    A400        LDY $00        ; Index: 0
C3/6DFA:    B7EB        LDA [$EB],Y    ; 8 px, 2 planes
C3/6DFC:    8D1821      STA $2118      ; Save in VRAM
C3/6DFF:    C8          INY            ; Index +1
C3/6E00:    C8          INY            ; Index +1
C3/6E01:    C02000      CPY #$0020     ; Done 8 rows?
C3/6E04:    D0F4        BNE $6DFA      ; Loop if not
C3/6E06:    60          RTS

Indexes for loading tiles from two shop actors
C3/6E07:    00          ; Actor1 X1,Y1 (hands down)
C3/6E08:    01          ; Actor1 X1,Y2 (hands down)
C3/6E09:    04          ; Actor1 X3,Y1 (hands down)
C3/6E0A:    05          ; Actor1 X3,Y2 (hands down)
C3/6E0B:    08          ; Actor1 X1,Y1 (hands up)
C3/6E0C:    09          ; Actor1 X1,Y2 (hands up)
C3/6E0D:    0C          ; Actor1 X3,Y1 (hands up)
C3/6E0E:    0D          ; Actor1 X3,Y2 (hands up)
C3/6E0F:    10          ; Actor2 X1,Y1 (hands down)
C3/6E10:    11          ; Actor2 X1,Y2 (hands down)
C3/6E11:    14          ; Actor2 X3,Y1 (hands down)
C3/6E12:    15          ; Actor2 X3,Y2 (hands down)
C3/6E13:    18          ; Actor2 X1,Y1 (hands up)
C3/6E14:    19          ; Actor2 X1,Y2 (hands up)
C3/6E15:    1C          ; Actor2 X3,Y1 (hands up)
C3/6E16:    1D          ; Actor2 X3,Y2 (hands up)
C3/6E17:    02          ; Actor1 X2,Y1 (hands down)
C3/6E18:    03          ; Actor1 X2,Y2 (hands down)
C3/6E19:    06          ; Actor1 X4,Y1 (hands down)
C3/6E1A:    07          ; Actor1 X4,Y2 (hands down)
C3/6E1B:    0A          ; Actor1 X2,Y1 (hands up)
C3/6E1C:    0B          ; Actor1 X2,Y2 (hands up)
C3/6E1D:    0E          ; Actor1 X4,Y1 (hands up)
C3/6E1E:    0F          ; Actor1 X4,Y2 (hands up)
C3/6E1F:    12          ; Actor2 X2,Y1 (hands down)
C3/6E20:    13          ; Actor2 X2,Y2 (hands down)
C3/6E21:    16          ; Actor2 X4,Y1 (hands down)
C3/6E22:    17          ; Actor2 X4,Y2 (hands down)
C3/6E23:    1A          ; Actor2 X2,Y1 (hands up)
C3/6E24:    1B          ; Actor2 X2,Y2 (hands up)
C3/6E25:    1E          ; Actor2 X4,Y1 (hands up)
C3/6E26:    1F          ; Actor2 X4,Y2 (hands up)

Tile graphics pointers for odd-numbered shop actors
C3/6E27:    C003        ; 1,1 (hands down)
C3/6E29:    E003        ; 1,2 (hands down)
C3/6E2B:    0005        ; 2,1 (hands down)
C3/6E2D:    2005        ; 2,2 (hands down)
C3/6E2F:    4005        ; 3,1 (hands down)
C3/6E31:    6005        ; 3,2 (hands down)
C3/6E33:    FFFF        ; 4,1 (hands down)
C3/6E35:    FFFF        ; 4,2 (hands down)
C3/6E37:    C003        ; 1,1 (hands up)
C3/6E39:    6006        ; 1,2 (hands up)
C3/6E3B:    8006        ; 2,1 (hands up)
C3/6E3D:    A006        ; 2,2 (hands up)
C3/6E3F:    C006        ; 3,1 (hands up)
C3/6E41:    E006        ; 3,2 (hands up)
C3/6E43:    FFFF        ; 4,1 (hands up)
C3/6E45:    FFFF        ; 4,2 (hands up)

Tile graphics pointers for even-numbered shop actors
C3/6E47:    601A        ; 1,1 (hands down)
C3/6E49:    801A        ; 1,2 (hands down)
C3/6E4B:    A01B        ; 2,1 (hands down)
C3/6E4D:    C01B        ; 2,2 (hands down)
C3/6E4F:    E01B        ; 3,1 (hands down)
C3/6E51:    001C        ; 3,2 (hands down)
C3/6E53:    FFFF        ; 4,1 (hands down)
C3/6E55:    FFFF        ; 4,2 (hands down)
C3/6E57:    601A        ; 1,1 (hands up)
C3/6E59:    001D        ; 1,2 (hands up)
C3/6E5B:    201D        ; 2,1 (hands up)
C3/6E5D:    401D        ; 2,2 (hands up)
C3/6E5F:    601D        ; 3,1 (hands up)
C3/6E61:    801D        ; 3,2 (hands up)
C3/6E63:    FFFF        ; 4,1 (hands up)
C3/6E65:    FFFF        ; 4,2 (hands up)
  Find
Quote  
[-] The following 2 users say Thank You to B-Run for this post:
  • DenVaktare (10-28-2017), m06 (12-19-2016)



Messages In This Thread
ASM Tasks - by B-Run - 09-20-2016, 01:18 PM
RE: ASM Tasks - by madsiur - 09-20-2016, 09:48 PM
RE: ASM Tasks - by m06 - 09-21-2016, 03:37 AM
RE: ASM Tasks - by B-Run - 09-21-2016, 07:58 AM
RE: ASM Tasks - by HatZen08 - 09-21-2016, 10:12 AM
RE: ASM Tasks - by B-Run - 09-21-2016, 10:31 AM
RE: ASM Tasks - by HatZen08 - 09-22-2016, 06:13 AM
RE: ASM Tasks - by B-Run - 09-22-2016, 08:32 AM
RE: ASM Tasks - by HatZen08 - 09-24-2016, 05:00 PM
RE: ASM Tasks - by Scorcher - 09-24-2016, 09:02 PM
RE: ASM Tasks - by HatZen08 - 09-24-2016, 09:50 PM
RE: ASM Tasks - by B-Run - 09-24-2016, 09:55 PM
RE: ASM Tasks - by B-Run - 09-26-2016, 08:09 AM
RE: ASM Tasks - by B-Run - 09-26-2016, 08:42 AM
RE: ASM Tasks - by HatZen08 - 09-26-2016, 03:35 PM
RE: ASM Tasks - by B-Run - 09-26-2016, 07:09 PM
RE: ASM Tasks - by HatZen08 - 09-27-2016, 04:49 PM
RE: ASM Tasks - by HatZen08 - 09-29-2016, 09:11 AM
RE: ASM Tasks - by B-Run - 09-29-2016, 09:51 AM
RE: ASM Tasks - by HatZen08 - 10-01-2016, 05:14 PM
RE: ASM Tasks - by B-Run - 10-01-2016, 06:42 PM
RE: ASM Tasks - by madsiur - 10-07-2016, 01:16 AM
RE: ASM Tasks - by madsiur - 10-07-2016, 07:37 AM
RE: ASM Tasks - by B-Run - 10-07-2016, 07:44 AM
RE: ASM Tasks - by madsiur - 10-07-2016, 08:14 AM
RE: ASM Tasks - by B-Run - 10-07-2016, 08:55 AM
RE: ASM Tasks - by madsiur - 10-07-2016, 04:05 PM
RE: ASM Tasks - by HatZen08 - 10-08-2016, 05:00 PM
RE: ASM Tasks - by madsiur - 10-14-2016, 02:28 PM
RE: ASM Tasks - by B-Run - 10-15-2016, 08:49 AM
RE: ASM Tasks - by madsiur - 10-15-2016, 10:20 AM
RE: ASM Tasks - by B-Run - 10-15-2016, 09:00 PM
RE: ASM Tasks - by madsiur - 10-16-2016, 02:25 PM
RE: ASM Tasks - by B-Run - 10-17-2016, 07:49 AM
RE: ASM Tasks - by madsiur - 10-20-2016, 03:10 AM
RE: ASM Tasks - by madsiur - 10-20-2016, 05:39 PM
RE: ASM Tasks - by Tenkarider - 10-20-2016, 07:11 PM
RE: ASM Tasks - by madsiur - 10-20-2016, 08:11 PM
RE: ASM Tasks - by madsiur - 10-25-2016, 01:23 AM
RE: ASM Tasks - by Tenkarider - 10-25-2016, 05:13 AM
RE: ASM Tasks - by madsiur - 10-25-2016, 06:58 AM
RE: ASM Tasks - by Tenkarider - 10-25-2016, 08:11 AM
RE: ASM Tasks - by madsiur - 10-25-2016, 08:47 AM
RE: ASM Tasks - by Tenkarider - 10-25-2016, 11:23 AM
RE: ASM Tasks - by m06 - 12-19-2016, 01:48 AM
RE: ASM Tasks - by B-Run - 12-19-2016, 08:53 AM
RE: ASM Tasks - by DenVaktare - 10-28-2017, 03:03 PM
RE: ASM Tasks - by Gi Nattak - 10-28-2017, 04:23 PM
RE: ASM Tasks - by Vanya - 10-31-2017, 03:19 PM
RE: ASM Tasks - by madsiur - 10-31-2017, 03:33 PM
RE: ASM Tasks - by B-Run - 11-02-2017, 07:08 PM
RE: ASM Tasks - by madsiur - 11-02-2017, 09:23 PM
RE: ASM Tasks - by B-Run - 11-25-2017, 01:52 PM
RE: ASM Tasks - by m06 - 12-04-2017, 01:35 AM
RE: ASM Tasks - by B-Run - 12-04-2017, 09:39 PM

Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite