// Copyright 2008-2009 Segher Boessenkool // This code is licensed to you under the terms of the GNU GPL, version 2; // see file COPYING or http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt #define XSTR(x) #x #define ISTR(x) XSTR(x) .section .start,"ax" // Uninteresting stuff. .incbin "head.b" // "Link". This is displayed on the load menu, so make it nice. 0: .ascii ISTR(NAME) .fill 17 - (. - 0b) // "Epona". Hungry horse eats the stack. .fill 0xe8,1,'3' // The return address on the stack. .long start // Align things properly -- there's code after this. .fill 7,1,'S' .balign 4,0 start: // Set up a stack frame. lis 1,0x8080 ; li 0,0 ; stwu 0,-64(1) // Pass the address we are called from, to determine region. mflr 3 // Go for it! b main