Register Home Forums Calendar File Area Video Area Member List FAQ
Console Scene

 
Console Scene Forums > Nintendo Wii > Hacking the Wii » YAOSM + SMG & Audio Fix


Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 11-30-2007, 11:43 PM
dCiSo's Avatar
Staff
 
Join Date: Oct 2007
Location: Here and there
Posts: 439
Thanks: 7
Thanked 80 Times in 13 Posts
Send a message via ICQ to dCiSo Send a message via MSN to dCiSo
Default YAOSM + SMG & Audio Fix

bell from WiiNewz.com has released his new version of YAOSM that includes all the features of the last version and has added the SMG Fix as well as the Audio Fix for Game Cube titles.


Due to the size of the code the only PICs that are currently are supported:

12F683
16F628/16F628A/16F648A
16F636/16F639
16F684
16F87/16F88

AS A SPECIAL PROMOTION CONSOLE-SCENE.INFO WILL BE GIVING AWAY FREE PIC16F628A & PIC16F648A CHIPS.

The chips will be shipped blank and you will be have to flash and program them yourself or find someone out there who offers free flashing to do it for you.


Quote:
Originally Posted by bell
Here is the full source for the mainloop with the audiofix in the right place in case other opensource chips would like to try it out:

Code:
 .macro bclr address bit
 .byte 0xF5, 0xD8 + \bit
 .word \address
.endm
 
_label1:
#                mov     (0x8336), D0        #D2A
                mov     (0x833E), D0        #D2B
                cmp     0, D0
                beq     _label3
                mov     (A2), D0
                cmp     0, D0
                bne     _label3
#                mov     D3, (0x8334)        #D2A
                mov     D3, (0x833C)        #D2B
                mov     1, D0
                mov     D0, (A3)
                mov     0xFFFF, D1
#                mov     0x8334, A0            #D2A
                mov     0x833c, A0            #D2B
                jsr     sub_94EC3
#                mov     (0x8334), D0        #D2A
                mov     (0x833C), D0        #D2B
                or      0x80, D0
#                mov     D0, (0x8334)        #D2A
                mov     D0, (0x833C)        #D2B
 
_label2:
#                Audiofix goes here
#                mov        (0x8334),d1            #D2A
                mov        (0x833C),d1            #D2B
                btst    68,d1
                beq        _label2b            #No fix
#                movbu    (0x8346),d1            #D2A
                movbu    (0x834E),d1            #D2B
                extxb    d1
                cmp    -127,d1
                bne    _label2b                #No fix
#                movbu    (0x85bc),d1            #D2A
                movbu    (0x85C6),d1            #D2B
                extxb    d1
                cmp    2,d1
                bne    _label2b                #No fix
                jsr    _audiofix                #Go to audiofix
                bra    _label1
_label2b:
                jsr     sub_851F1
                bra     _label1
 
_label3:
#                mov     D3, (0x8334)        #A
                mov     D3, (0x833C)        #B
                mov     1, D0
                mov     D0, (A3)
                mov     0xFFFF, D1
#                mov     0x8334, A0            #A
                mov     0x833C, A0            #B
                jsr     sub_94F61
#############################################################
                sub        d0,d0            #Clear d0
#                movbu    (0x8576),d0        #Read Mediabyte                    #A
                movbu    (0x8580),d0        #Read Mediabyte                    #B
                cmp        0x28,d0            #Does it need patching?
                beq        _patch38        #Yes?, then do it
                cmp        0x38,d0            #Is it a backup?
                bne        _done            #No?, then we're done here
#                movbu    (0x8308),d0        #Read DI        #A
                movbu    (0x8310),d0        #Read DI        #B
                cmp        0xA4,d0            #A4 command?
                bne        _done            #No?, then we're done
                mov        0x28,d0            #New mediabyte is 0x28
                bra        _patch_mediabyte #patchit
_patch38:
                mov        0x38,d0            #Restore mediabyte to 0x38
_patch_mediabyte:
#                movb    d0,(0x8576)        #Restore mediabyte                #A
                movb    d0,(0x8580)        #Restore mediabyte                #B
_done:                
#############################################################
#                mov     (0x8334), D0        #A
                mov     (0x833C), D0        #B
                and     0x532, D0
                cmp     0x20, D0
                bne     _label2
#                movbu   (0x8369), D0        #A
                movbu   (0x8371), D0        #B
                cmp     0, D0
                bne     _label4
                jmp     _label13
 
_label4:
#                mov     (0x85B8), D0        #A
                mov     (0x85C2), D0        #B
                cmp     4, D0
                beq     _label5
#                mov     (0x85B8), D0        #A
                mov     (0x85C2), D0        #B
                cmp     3, D0
                beq     _label5
                jmp     _label13
 
_label5:
#                movbu   (0x8308), D2        #A
                movbu   (0x8310), D2        #B
                movbu   (0x40030F), D0
                btst    0x10, D0
                beq     _label6
                mov     0x800, D0
#                mov     D0, (0x8330)        #A
                mov     D0, (0x8338)        #B
                mov     4, D0
#                mov     D0, (0x8332)        #A
                mov     D0, (0x833A)        #B
                jsr     sub_83E13
 
_label6:
                jsr     sub_83E03
#                bclr    (0x8368), 0        #A
                bclr    (0x8370), 0            #B
#                movbu   (0x8346), D0        #A
                movbu   (0x834E), D0        #B
                cmp     0, D0
                beq     _label7
#                movbu   (0x8346), D0        #A
                movbu   (0x834E), D0        #B
                cmp     0x13, D0
                bne     _label8
 
_label7:
#                mov     D3, (0x85B8)        #A
                mov     D3, (0x85C2)        #B
                bra     _label9
 
_label8:
                mov     1, D0
                mov     D0, (A2)
 
_label9:
#                movb    D3, (0x8369)        #A
                movb    D3, (0x8371)        #B
                mov     1, D0
                mov     0xFFDF, D1
                jsr     sub_952B0
#                movbu   (0x838C), D0        #A
                movbu   (0x8394), D0        #B
                cmp     0, D0
                beq     _label10
#                movb    D3, (0x838C)        #A
                movb    D3, (0x8394)        #B
                jsr     sub_9241E
 
_label10:
                mov     D2, A0
                cmp     0xA8, A0
                beq     _label11
                cmp     0xD0, A0
                beq     _label11
                cmp     0xA4, A0
                beq     _label11
                jmp     _label1
 
_label11:
                jsr     sub_838DC
#                movbu   (0x8368), D0        #A
                movbu   (0x8370), D0        #B
                btst    0x10, D0
                bne     _label12
                jmp     _label1
 
_label12:
                and     0xFFEF, D0
#                movb    D0, (0x8368)        #A
                movb    D0, (0x8370)        #B
                jsr     sub_89E6C
                jmp     _label1
 
_label13:
#                movb    D3, (0x8369)        #A
                movb    D3, (0x8371)        #B
                jmp     _label2
 
_audiofix:                                
                jsr    sub_85171
                jsr    sub_851a5
                mov    8,d0
#                mov    d0,(0x85a8)        #D2A
                mov    d0,(0x85b2)        #D2B
                mov    2,d0
                jsr    sub_8795
                mov    d0,d2
                jsr    sub_851aa
                jsr    sub_8517e
                mov    d2,d0
                rts    
 
sub_8786:
#                mov    (0x8418),a0        #D2A
                mov    (0x8420),a0        #D2B
                mov    (6,a0),d2
#                mov    (0x8428),d0        #A
                mov    (0x8430),d0        #B
                add    d2,d0
                sub    d1,d1
                jsr    sub_8736
                rts    
 
sub_8795:
                jsr    sub_840b5
#                mov    d0,(0x837a)        #D2A
                mov    d0,(0x8382)        #D2B
                cmp    0,d0
                bne    _label_87b9
                mov    5,d0
#                mov    d0,(0x85bc)        #D2A
                mov    d0,(0x85c6)        #D2B
                mov    2,d0
#                mov    d0,(0x85c6)        #D2A
                mov    d0,(0x85d0)        #D2B
                mov    9,d0
#                mov    d0,(0x85be)        #D2A
                mov    d0,(0x85c8)        #D2B
                sub    d0,d0
#                movb    d0,(0x8373)    #D2A
                movb    d0,(0x837b)    #D2B
                jsr    sub_8786
                sub    d0,d0
                rts
 
_label_87b9:
                mov    5,d0
#                mov    d0,(0x85bc)        #A
                mov    d0,(0x85c6)        #B
                mov    1,d0
#                mov    d0,(0x85c6)        #A
                mov    d0,(0x85d0)        #B
                mov    9,d0
                rts                        
 
sub_8730:
                jsr    sub_91e65
                rts    
 
sub_8736:
                add    -26,a3
                movx    d2,(10,a3)
                movx    d3,(14,a3)
                mov    a1,(18,a3)
                mov    a2,(22,a3)
                mov    d1,a2
                mov    d0,d3
                mov    1,d0
                movb    d0,(2,a3)
                mov    176,d0
                movb    d0,(1,a3)
                sub    d2,d2
                movb    d2,(a3)
                mov    a3,a0
                mov    1,d0
                jsr    sub_8730
                movb    d2,(2,a3)
                movb    d2,(a3)
                mov    a3,a0
                mov    1,d0
                jsr    sub_8730
                mov    d3,(2,a3)
                mov    a2,d0
                mov    d0,(4,a3)
                mov    2,d0
                movb    d0,(1,a3)
                mov    8,d0
                movb    d0,(a3)
                mov    4,d0
                mov    a3,a0
                jsr    sub_8730
                movx    (10,a3),d2
                movx    (14,a3),d3
                mov    (18,a3),a1
                mov    (22,a3),a2
                add    26,a3
                rts
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
The Following 9 Users Say Thank You to dCiSo For This Useful Post:
  #2 (permalink)  
Old 02-03-2008, 10:40 PM
Junior Member
 
Join Date: Feb 2008
Posts: 1
Thanks: 1
Thanked 0 Times in 0 Posts
Default

Heard you were giving away free PIC chips,
I've been trying to get my hand on a few as I was interested in modding my Wii with YAOSM.
Sent you a PM, Thanks in advanced.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




ModChipCentral.com

All times are GMT -5. The time now is 03:15 AM.
Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.