#[allow(dead_code)]
pub fn triangle_only_nrom_128() -> Vec<u8> {
let mut rom = Vec::with_capacity(16 + 16 * 1024);
rom.extend_from_slice(b"NES\x1A");
rom.push(1); rom.push(0); rom.push(0x00); rom.push(0x00); rom.extend_from_slice(&[0u8; 8]);
let mut prg = vec![0xEAu8; 16 * 1024];
let program: [u8; 33] = [
0x78, 0xD8, 0xA2, 0xFF, 0x9A, 0xA9, 0x40, 0x8D, 0x17, 0x40, 0xA9, 0x04, 0x8D, 0x15, 0x40, 0xA9, 0xFF, 0x8D, 0x08, 0x40, 0xA9, 0x7E, 0x8D, 0x0A, 0x40, 0xA9, 0x00, 0x8D, 0x0B, 0x40, 0x4C, 0x1C, 0xC0, ];
prg[0..program.len()].copy_from_slice(&program);
let vector_base = prg.len() - 6;
prg[vector_base] = 0x00;
prg[vector_base + 1] = 0xC0;
prg[vector_base + 2] = 0x00;
prg[vector_base + 3] = 0xC0;
prg[vector_base + 4] = 0x00;
prg[vector_base + 5] = 0xC0;
rom.extend_from_slice(&prg);
rom
}
#[allow(dead_code)]
pub fn pulse1_only_nrom_128() -> Vec<u8> {
let mut rom = Vec::with_capacity(16 + 16 * 1024);
rom.extend_from_slice(b"NES\x1A");
rom.push(1); rom.push(0); rom.push(0x00); rom.push(0x00); rom.extend_from_slice(&[0u8; 8]);
let mut prg = vec![0xEAu8; 16 * 1024];
let program: [u8; 33] = [
0x78, 0xD8, 0xA2, 0xFF, 0x9A, 0xA9, 0x40, 0x8D, 0x17, 0x40, 0xA9, 0x01, 0x8D, 0x15, 0x40, 0xA9, 0xBF, 0x8D, 0x00, 0x40, 0xA9, 0xFD, 0x8D, 0x02, 0x40, 0xA9, 0x00, 0x8D, 0x03, 0x40, 0x4C, 0x20, 0xC0, ];
prg[0..program.len()].copy_from_slice(&program);
let vector_base = prg.len() - 6;
prg[vector_base] = 0x00;
prg[vector_base + 1] = 0xC0;
prg[vector_base + 2] = 0x00;
prg[vector_base + 3] = 0xC0;
prg[vector_base + 4] = 0x00;
prg[vector_base + 5] = 0xC0;
rom.extend_from_slice(&prg);
rom
}
#[allow(dead_code)]
pub fn pulse2_only_nrom_128() -> Vec<u8> {
let mut rom = Vec::with_capacity(16 + 16 * 1024);
rom.extend_from_slice(b"NES\x1A");
rom.push(1); rom.push(0); rom.push(0x00); rom.push(0x00); rom.extend_from_slice(&[0u8; 8]);
let mut prg = vec![0xEAu8; 16 * 1024];
let program: [u8; 33] = [
0x78, 0xD8, 0xA2, 0xFF, 0x9A, 0xA9, 0x40, 0x8D, 0x17, 0x40, 0xA9, 0x02, 0x8D, 0x15, 0x40, 0xA9, 0xBF, 0x8D, 0x04, 0x40, 0xA9, 0xFD, 0x8D, 0x06, 0x40, 0xA9, 0x00, 0x8D, 0x07, 0x40, 0x4C, 0x20, 0xC0, ];
prg[0..program.len()].copy_from_slice(&program);
let vector_base = prg.len() - 6;
prg[vector_base] = 0x00;
prg[vector_base + 1] = 0xC0;
prg[vector_base + 2] = 0x00;
prg[vector_base + 3] = 0xC0;
prg[vector_base + 4] = 0x00;
prg[vector_base + 5] = 0xC0;
rom.extend_from_slice(&prg);
rom
}
#[allow(dead_code)]
pub fn noise_only_nrom_128() -> Vec<u8> {
let mut rom = Vec::with_capacity(16 + 16 * 1024);
rom.extend_from_slice(b"NES\x1A");
rom.push(1); rom.push(0); rom.push(0x00); rom.push(0x00); rom.extend_from_slice(&[0u8; 8]);
let mut prg = vec![0xEAu8; 16 * 1024];
let program: [u8; 33] = [
0x78, 0xD8, 0xA2, 0xFF, 0x9A, 0xA9, 0x40, 0x8D, 0x17, 0x40, 0xA9, 0x08, 0x8D, 0x15, 0x40, 0xA9, 0xBF, 0x8D, 0x0C, 0x40, 0xA9, 0x0F, 0x8D, 0x0E, 0x40, 0xA9, 0x00, 0x8D, 0x0F, 0x40, 0x4C, 0x20, 0xC0, ];
prg[0..program.len()].copy_from_slice(&program);
let vector_base = prg.len() - 6;
prg[vector_base] = 0x00;
prg[vector_base + 1] = 0xC0;
prg[vector_base + 2] = 0x00;
prg[vector_base + 3] = 0xC0;
prg[vector_base + 4] = 0x00;
prg[vector_base + 5] = 0xC0;
rom.extend_from_slice(&prg);
rom
}