1// From https://problemkaputt.github.io/fullsnes.htm#snesapumaincpucommunicationport 2#[rustfmt::skip] 3pub const SPC700_BOOT_ROM: &[u8; 64] = &[ 4 // MOV X, $EF 5 0xCD, 0xEF, 6 // MOV SP, X 7 0xBD, 8 // MOV A, $00 9 0xE8, 0x00, 10 // MOV (X), A 11 0xC6, 12 // DEC X 13 0x1D, 14 // BNE -4 15 0xD0, 0xFC, 16 // MOV ($F4), $AA 17 0x8F, 0xAA, 0xF4, 18 // MOV ($F5), $BB 19 0x8F, 0xBB, 0xF5, 20 // CMP ($F4), $CC 21 0x78, 0xCC, 0xF4, 22 // BNE -5 23 0xD0, 0xFB, 24 // BRA 25 25 0x2F, 0x19, 26 // MOV Y, ($F4) 27 0xEB, 0xF4, 28 // BNE -4 29 0xD0, 0xFC, 30 // CMP Y, ($F4) 31 0x7E, 0xF4, 32 // BNE 11 33 0xD0, 0x0B, 34 // MOV A, ($F5) 35 0xE4, 0xF5, 36 // MOV ($F4), Y 37 0xCB, 0xF4, 38 // MOV (($00)+Y), A 39 0xD7, 0x00, 40 // INC Y 41 0xFC, 42 // BNE -13 43 0xD0, 0xF3, 44 // INC ($01) 45 0xAB, 0x01, 46 // BPL -17 47 0x10, 0xEF, 48 // CMP Y, ($F4) 49 0x7E, 0xF4, 50 // BPL -21 51 0x10, 0xEB, 52 // MOVW YA, ($F6) 53 0xBA, 0xF6, 54 // MOVW ($00), YA 55 0xDA, 0x00, 56 // MOVW YA, ($F4) 57 0xBA, 0xF4, 58 // MOV ($F4), A 59 0xC4, 0xF4, 60 // MOV A, Y 61 0xDD, 62 // MOV X, A 63 0x5D, 64 // BNE -37 65 0xD0, 0xDB, 66 // JMP ($0000+X) 67 0x1F, 0x00, 0x00, 68 // Reset vector ($FFC0) 69 0xC0, 0xFF, 70];