diff --git a/src/cartridge.rs b/src/cartridge.rs index 628cded..264392f 100644 --- a/src/cartridge.rs +++ b/src/cartridge.rs @@ -38,7 +38,7 @@ impl Cartridge { match cartridge_type { 0x00 => None, 0x01 => Some(MBC1), - _ => fail!("unsupported cartridge type: 0x{:02X}", cartridge_type) + _ => panic!("unsupported cartridge type: 0x{:02X}", cartridge_type) }; let rom_size = header[0x48]; @@ -48,7 +48,7 @@ impl Cartridge { 0x52 => 72, 0x53 => 80, 0x54 => 96, - _ => fail!("unsupported ROM size: 0x{:02X}", rom_size), + _ => panic!("unsupported ROM size: 0x{:02X}", rom_size), }; let mut rom_banks = Vec::with_capacity(rom_bank_count); @@ -62,7 +62,7 @@ impl Cartridge { let ram_size = header[0x49]; if ram_size != 0x00 { - fail!("unsupported RAM size: 0x{:02X}", ram_size); + panic!("unsupported RAM size: 0x{:02X}", ram_size); } let cart = Cartridge { diff --git a/src/cpu.rs b/src/cpu.rs index d03e04f..663ef2b 100644 --- a/src/cpu.rs +++ b/src/cpu.rs @@ -176,7 +176,7 @@ impl Addr8 { _ => () } } - _ => fail!("invalid addressing mode for 8-bit store") + _ => panic!("invalid addressing mode for 8-bit store") } } } @@ -209,7 +209,7 @@ impl Addr16 { match *self { Ind16(addr) => cpu.mem.storew(addr, val), Reg16Dir(r) => r.store(cpu, val), - _ => fail!("invalid addressing mode for 16-bit store") + _ => panic!("invalid addressing mode for 16-bit store") } } } @@ -329,7 +329,7 @@ fn decode_addr(code: u8) -> Addr8 { 0x05 => Reg8Dir(L), 0x06 => Reg16Ind8(HL), 0x07 => Reg8Dir(A), - _ => fail!("logic error"), + _ => panic!("logic error"), } } @@ -472,7 +472,7 @@ pub fn decode>(d: &mut D) -> R { d.res((extra >> 3) & 0b111, addr), 0xc0...0xf8 => d.set((extra >> 3) & 0b111, addr), - _ => fail!("logic error") + _ => panic!("logic error") } } 0xcc => { let imm = fetchw(d); d.call(CondZ, Imm16(imm)) } @@ -687,7 +687,7 @@ impl Decoder for Cpu { } fn stop(&mut self, val: u8) -> u8 { - //fail!("instruction not implemented: stop") + //panic!("instruction not implemented: stop") 4 } @@ -1149,6 +1149,6 @@ impl Decoder for Cpu { // Undefined/illegal fn undef(&mut self, opcode: u8) -> u8 { - fail!("illegal instruction: {:02X}", opcode) + panic!("illegal instruction: {:02X}", opcode) } } diff --git a/src/interrupt.rs b/src/interrupt.rs index f5e1887..5745262 100644 --- a/src/interrupt.rs +++ b/src/interrupt.rs @@ -32,7 +32,7 @@ impl mem::Mem for InterruptCtrl { match addr { 0xff0f => self.flag, 0xffff => self.enable, - _ => fail!("invalid interrupt register"), + _ => panic!("invalid interrupt register"), } } @@ -40,7 +40,7 @@ impl mem::Mem for InterruptCtrl { match addr { 0xff0f => self.flag = val, 0xffff => self.enable = val, - _ => fail!("invalid interrupt register"), + _ => panic!("invalid interrupt register"), } } } diff --git a/src/joypad.rs b/src/joypad.rs index 9915e81..074b7ca 100644 --- a/src/joypad.rs +++ b/src/joypad.rs @@ -91,7 +91,7 @@ impl Joypad { impl mem::Mem for Joypad { fn loadb(&mut self, addr: u16) -> u8 { if addr != 0xff00 { - fail!("invalid joypad register"); + panic!("invalid joypad register"); } self.p1 @@ -99,7 +99,7 @@ impl mem::Mem for Joypad { fn storeb(&mut self, addr: u16, val: u8) { if addr != 0xff00 { - fail!("invalid joypad register"); + panic!("invalid joypad register"); } self.p1 = (val & SELECT_MASK) | (self.p1 & !SELECT_MASK); diff --git a/src/main.rs b/src/main.rs index 7d94307..627dd49 100644 --- a/src/main.rs +++ b/src/main.rs @@ -105,7 +105,7 @@ impl VideoOut { window_height, sdl2::video::RESIZABLE) { Ok(renderer) => renderer, - Err(err) => fail!("Failed to create renderer: {}", err) + Err(err) => panic!("Failed to create renderer: {}", err) }; let texture = match renderer.create_texture(sdl2::pixels::ARGB8888, @@ -113,7 +113,7 @@ impl VideoOut { video::SCREEN_WIDTH as int, video::SCREEN_HEIGHT as int) { Ok(texture) => texture, - Err(err) => fail!("Failed to create texture: {}", err), + Err(err) => panic!("Failed to create texture: {}", err), }; VideoOut { renderer: box renderer, texture: box texture } @@ -172,7 +172,7 @@ fn main() { let mut cart = match cartridge::Cartridge::from_path(&Path::new(path.as_slice())) { Ok(cart) => box cart, - Err(e) => fail!("I/O error: {}", e), + Err(e) => panic!("I/O error: {}", e), }; if disassemble { diff --git a/src/ram.rs b/src/ram.rs index 2bb0d4f..ce72ff9 100644 --- a/src/ram.rs +++ b/src/ram.rs @@ -18,7 +18,7 @@ impl WorkRam { 0xc000...0xdfff => addr - 0xc000, // WRAM 0xe000...0xfdff => addr - 0xe000, // WRAM echo 0xff80...0xfffe => addr - 0xff80 + 0x2000, // HRAM - _ => fail!("invalid WRAM address: 0x{:04X}", addr), + _ => panic!("invalid WRAM address: 0x{:04X}", addr), } } } diff --git a/src/serial.rs b/src/serial.rs index 4f5fa67..8f26915 100644 --- a/src/serial.rs +++ b/src/serial.rs @@ -24,7 +24,7 @@ impl<'a> mem::Mem for SerialIO<'a> { match addr { 0xff01 => self.data, 0xff02 => self.control, - _ => fail!("invalid serial I/O register"), + _ => panic!("invalid serial I/O register"), } } @@ -48,7 +48,7 @@ impl<'a> mem::Mem for SerialIO<'a> { self.control &= !SERIAL_TRANSFER_FLAG; } } - _ => fail!("invalid serial I/O register"), + _ => panic!("invalid serial I/O register"), } } } diff --git a/src/timer.rs b/src/timer.rs index b192dbc..41f04c6 100644 --- a/src/timer.rs +++ b/src/timer.rs @@ -67,7 +67,7 @@ impl mem::Mem for Timer { 0xff05 => self.tima, // TIMA register 0xff06 => self.tma, // TMA register 0xff07 => self.tac, // TAC register - _ => fail!("invalid timer register"), + _ => panic!("invalid timer register"), } } @@ -77,7 +77,7 @@ impl mem::Mem for Timer { 0xff05 => self.tima = val, // TODO: is this correct? 0xff06 => self.tma = val, 0xff07 => { self.tac = val; self.tima_cycles_mod = 0 }, - _ => fail!("invalid timer register"), + _ => panic!("invalid timer register"), } } } diff --git a/src/video.rs b/src/video.rs index 0657eea..9e24624 100644 --- a/src/video.rs +++ b/src/video.rs @@ -362,7 +362,7 @@ impl mem::Mem for Video { 0xff49 => self.obp1, 0xff4a => self.wy, 0xff4b => self.wx, - _ => fail!("invalid video address: ${:04X}", addr), + _ => panic!("invalid video address: ${:04X}", addr), } } @@ -384,7 +384,7 @@ impl mem::Mem for Video { 0xff49 => self.obp1 = val, 0xff4a => self.wy = val, 0xff4b => self.wx = val, - _ => fail!("invalid video address: ${:04X}", addr), + _ => panic!("invalid video address: ${:04X}", addr), } } }